From cfcba3e59e7fd0cdae6d47cc598a40897e02c9a7 Mon Sep 17 00:00:00 2001
From: RlxChap2 <133292635+RlxChap2@users.noreply.github.com>
Date: Sun, 4 Oct 2026 23:32:14 +0300
Subject: [PATCH] docs: align API reference with SDK 2.0.0
---
.github/workflows/docs.yml | 48 +-
CHANGELOG.md | 10 +
README.md | 93 +-
examples/search.mjs | 43 +-
locales/ar/api-reference/ayat/all.mdx | 2 +-
.../ar/api-reference/ayat/get-by-number.mdx | 2 +-
.../api-reference/ayat/get-by-surah-aya.mdx | 2 +-
locales/ar/api-reference/ayat/search.mdx | 16 +-
locales/ar/api-reference/azkar/categories.mdx | 2 +-
locales/ar/api-reference/azkar/category.mdx | 2 +-
locales/ar/api-reference/azkar/random.mdx | 2 +-
locales/ar/api-reference/azkar/search.mdx | 16 +-
locales/ar/api-reference/hadith/book.mdx | 6 +-
locales/ar/api-reference/hadith/books.mdx | 4 +-
locales/ar/api-reference/hadith/get.mdx | 2 +-
locales/ar/api-reference/hadith/random.mdx | 4 +-
.../ar/api-reference/hijri/from-gregorian.mdx | 4 +-
.../ar/api-reference/hijri/to-gregorian.mdx | 4 +-
locales/ar/api-reference/hijri/today.mdx | 4 +-
locales/ar/api-reference/meta/catalogue.mdx | 2 +-
locales/ar/api-reference/meta/health.mdx | 2 +-
locales/ar/api-reference/meta/metrics.mdx | 2 +-
locales/ar/api-reference/meta/ready.mdx | 2 +-
locales/ar/api-reference/prayer/times.mdx | 12 +-
locales/ar/api-reference/qibla/direction.mdx | 2 +-
locales/ar/api-reference/reciters/audio.mdx | 14 +-
locales/ar/api-reference/reciters/get.mdx | 4 +-
locales/ar/api-reference/reciters/list.mdx | 4 +-
locales/ar/api-reference/reciters/search.mdx | 2 +-
locales/ar/api-reference/surah/get.mdx | 2 +-
locales/ar/api-reference/surah/list.mdx | 4 +-
locales/ar/api-reference/surah/search.mdx | 2 +-
locales/ar/api-reference/tafsir/aya.mdx | 4 +-
locales/ar/api-reference/tafsir/editions.mdx | 4 +-
locales/ar/api-reference/tafsir/surah.mdx | 4 +-
locales/ar/concepts/arabic-search.mdx | 2 +-
locales/ar/concepts/architecture.mdx | 8 +-
locales/ar/concepts/caching.mdx | 9 +-
locales/ar/concepts/errors.mdx | 2 +-
locales/ar/concepts/fallback.mdx | 66 +-
locales/ar/concepts/rate-limit.mdx | 2 +-
locales/ar/contributing.mdx | 2 +-
locales/ar/guides/audio.mdx | 22 +-
locales/ar/guides/maintenance.mdx | 2 +-
locales/ar/guides/operations.mdx | 2 +-
locales/ar/guides/self-hosting.mdx | 61 +-
locales/ar/guides/source-status.mdx | 28 +-
locales/ar/guides/troubleshooting.mdx | 27 +-
locales/ar/introduction.mdx | 2 +-
locales/ar/openapi.yaml | 255 +-
locales/ar/quickstart.mdx | 6 +-
locales/ar/sdk/configuration.mdx | 41 +-
locales/ar/sdk/errors.mdx | 2 +-
locales/ar/sdk/overview.mdx | 48 +-
locales/ar/sdk/resources.mdx | 14 +-
locales/ar/sdk/search.mdx | 77 +-
locales/en/api-reference/ayat/all.mdx | 2 +-
.../en/api-reference/ayat/get-by-number.mdx | 2 +-
.../api-reference/ayat/get-by-surah-aya.mdx | 2 +-
locales/en/api-reference/ayat/search.mdx | 16 +-
locales/en/api-reference/azkar/categories.mdx | 2 +-
locales/en/api-reference/azkar/category.mdx | 2 +-
locales/en/api-reference/azkar/random.mdx | 2 +-
locales/en/api-reference/azkar/search.mdx | 16 +-
locales/en/api-reference/hadith/book.mdx | 6 +-
locales/en/api-reference/hadith/books.mdx | 4 +-
locales/en/api-reference/hadith/get.mdx | 2 +-
locales/en/api-reference/hadith/random.mdx | 4 +-
.../en/api-reference/hijri/from-gregorian.mdx | 4 +-
.../en/api-reference/hijri/to-gregorian.mdx | 4 +-
locales/en/api-reference/hijri/today.mdx | 4 +-
locales/en/api-reference/meta/catalogue.mdx | 2 +-
locales/en/api-reference/meta/health.mdx | 2 +-
locales/en/api-reference/meta/metrics.mdx | 2 +-
locales/en/api-reference/meta/ready.mdx | 2 +-
locales/en/api-reference/prayer/times.mdx | 12 +-
locales/en/api-reference/qibla/direction.mdx | 2 +-
locales/en/api-reference/reciters/audio.mdx | 14 +-
locales/en/api-reference/reciters/get.mdx | 4 +-
locales/en/api-reference/reciters/list.mdx | 4 +-
locales/en/api-reference/reciters/search.mdx | 2 +-
locales/en/api-reference/surah/get.mdx | 2 +-
locales/en/api-reference/surah/list.mdx | 4 +-
locales/en/api-reference/surah/search.mdx | 2 +-
locales/en/api-reference/tafsir/aya.mdx | 4 +-
locales/en/api-reference/tafsir/editions.mdx | 4 +-
locales/en/api-reference/tafsir/surah.mdx | 4 +-
locales/en/concepts/arabic-search.mdx | 2 +-
locales/en/concepts/architecture.mdx | 8 +-
locales/en/concepts/caching.mdx | 9 +-
locales/en/concepts/errors.mdx | 2 +-
locales/en/concepts/fallback.mdx | 66 +-
locales/en/concepts/rate-limit.mdx | 2 +-
locales/en/guides/audio.mdx | 22 +-
locales/en/guides/maintenance.mdx | 2 +-
locales/en/guides/operations.mdx | 2 +-
locales/en/guides/self-hosting.mdx | 61 +-
locales/en/guides/source-status.mdx | 30 +-
locales/en/guides/troubleshooting.mdx | 25 +-
locales/en/introduction.mdx | 2 +-
locales/en/openapi.yaml | 255 +-
locales/en/quickstart.mdx | 6 +-
locales/en/sdk/configuration.mdx | 41 +-
locales/en/sdk/errors.mdx | 2 +-
locales/en/sdk/overview.mdx | 46 +-
locales/en/sdk/resources.mdx | 14 +-
locales/en/sdk/search.mdx | 77 +-
package.json | 72 +-
...tch => @mintlify__link-rot@3.0.1414.patch} | 3 +-
pnpm-lock.yaml | 15784 ++++++++--------
pnpm-workspace.yaml | 10 +-
scripts/api-catalog.mjs | 1794 +-
scripts/api-schemas.mjs | 178 +-
scripts/check-api.mjs | 300 +
scripts/check-docs.mjs | 61 +-
scripts/check-source.mjs | 32 +-
scripts/generate-api.mjs | 28 +-
scripts/generate-index.mjs | 26 +-
scripts/locales.mjs | 3 +-
scripts/search.test.mjs | 70 +-
scripts/source-digest.mjs | 21 +
sources.lock.json | 15 +-
122 files changed, 10475 insertions(+), 9744 deletions(-)
create mode 100644 CHANGELOG.md
rename patches/{@mintlify__link-rot@3.0.1334.patch => @mintlify__link-rot@3.0.1414.patch} (72%)
create mode 100644 scripts/check-api.mjs
create mode 100644 scripts/source-digest.mjs
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index a33f5ac..c19491e 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -1,24 +1,32 @@
name: Documentation checks
on:
- pull_request:
- push:
- branches: [main]
+ pull_request:
+ push:
+ branches: [main]
permissions:
- contents: read
+ contents: read
jobs:
- validate:
- strategy:
- matrix:
- os: [ubuntu-latest, windows-latest]
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v4
- - uses: pnpm/action-setup@v4
- - uses: actions/setup-node@v4
- with:
- node-version: 24
- cache: pnpm
- - run: pnpm install --frozen-lockfile
- - run: pnpm check
- - run: pnpm build
- - run: pnpm broken-links
+ validate:
+ strategy:
+ matrix:
+ os: [ubuntu-latest, windows-latest]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v7
+ - uses: pnpm/action-setup@v6
+ - uses: actions/setup-node@v7
+ with:
+ node-version: 24
+ cache: pnpm
+ - run: pnpm install --frozen-lockfile
+ - run: pnpm check
+ - run: pnpm build
+ - run: pnpm broken-links
+ - uses: actions/checkout@v7
+ with:
+ repository: BonyanOSS/Bonyan-API
+ ref: c851b1a610c5169d3bffd822ed68886338ea3067
+ path: work/api
+ - run: pnpm --dir work/api install --frozen-lockfile
+ - run: pnpm --dir work/api build
+ - run: pnpm check:api work/api
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..4415808
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,10 @@
+# Changelog
+
+## 1.1.0 - 2026-10-04
+
+- Align English and Arabic endpoint descriptions, response schemas and examples with API commit c851b1a, package 2.1.0 and OpenAPI contract 3.0.0.
+- Document SDK 2.0.0: fixed search decoding, moshaf selection, prayer timezone, normalized types, validation and per-request cancellation.
+- Replace outdated provider, cache, audio, calendar, hadith-range and deployment guidance. Document native Cloudflare Workers and Node 24 API hosting.
+- Add checks for all 31 SDK operations against both HTTP adapters and both OpenAPI locales, including local fallback and error behavior.
+- Validate against published SDK 2.0.0, with its merged source revision and registry distribution integrity recorded.
+- Update compatible Mintlify, parser and YAML dependencies, pnpm and CI actions. Retain React 19.2.3 and TypeScript 6.0.3 for CLI/compiler compatibility.
diff --git a/README.md b/README.md
index 9301c5b..53ad364 100644
--- a/README.md
+++ b/README.md
@@ -1,53 +1,25 @@
# Bonyan documentation
-English and Arabic documentation for Bonyan API and its JavaScript/TypeScript SDK. The Mintlify site contains 31 HTTP operations per language.
+English and Arabic Mintlify documentation for Bonyan API and its JavaScript/TypeScript SDK. Docs 1.1.0 covers all 31 HTTP operations per language.
-## Run locally
+Reviewed API: `c851b1a610c5169d3bffd822ed68886338ea3067`. The API package is 2.1.0 while its OpenAPI and changelog label the normalized contract 3.0.0. Both labels are preserved in `sources.lock.json`; the generated reference describes the actual controllers.
-Use Node.js 22 or later and the pnpm version declared in package.json.
+Docs install the published SDK 2.0.0 from npm. The source revision and SHA-256, registry tarball URL and integrity are recorded in sources.lock.json; pnpm-lock.yaml pins the installed distribution.
+
+## Run
+
+Use Node.js 22.12 or later and pnpm 11.22.0, as declared in package.json.
```bash
pnpm install --frozen-lockfile
pnpm dev
```
-Open the URL printed by the CLI. English starts at `/locales/en/introduction`; Arabic at `/locales/ar/introduction`.
-
-The local search dialog requires an authenticated Mintlify session (`pnpm exec mintlify login`). Page rendering, navigation and the API playground work without that session. Check hosted search after deploying through the connected Mintlify project.
-
-## Structure
-
-```text
-locales/
- en/ English documentation
- api-reference/ API index and endpoint pages by module (generated)
- concepts/ Architecture, responses, search, caching, fallback, limits
- guides/ Integration, hosting, operations, maintenance
- sdk/ SDK guides and generated method table
- openapi.yaml English OpenAPI (generated)
- ar/ Identical structure, translated into Arabic
-assets/ Supplied brand asset
-examples/search.mjs Tested search compatibility helper
-patches/ Pinned Mintlify Windows path correction
-scripts/
- api-catalog.mjs Endpoint metadata in both languages
- api-schemas.mjs Response contracts and field descriptions
- generate-api.mjs OpenAPI and endpoint generation
- generate-index.mjs API indexes and SDK method tables
- check-docs.mjs MDX, links, languages, schemas, SDK examples
- check-source.mjs Source revisions and GET route parity
- search.test.mjs Compatibility and error-path tests
-.github/workflows/docs.yml CI validation
-docs.json Theme, language navigation, legacy redirects
-sources.lock.json Reviewed source commits and package versions
-styles.css Arabic text direction, code isolation and diagram overflow
-```
+Open the CLI's preview URL. English starts at `/locales/en/introduction` and Arabic at `/locales/ar/introduction`. Local search requires `pnpm exec mintlify login`; page rendering, navigation and the playground do not require that session. Verify hosted search after publication.
-Published pages belong in a language directory. Every page must appear once in navigation and have a matching translation. Do not keep duplicate root-level guides.
+## Edit and check
-## Edit and verify
-
-Edit ordinary MDX guides in both languages. For endpoint changes, edit `scripts/api-catalog.mjs` and `scripts/api-schemas.mjs`, then regenerate:
+Edit ordinary MDX guides in both languages. Update `scripts/api-catalog.mjs` for endpoint parameters and bilingual descriptions, and `scripts/api-schemas.mjs` for response contracts. Then run:
```bash
pnpm generate
@@ -56,40 +28,39 @@ pnpm build
pnpm broken-links
```
-`pnpm check` verifies generated-file drift, OpenAPI 3.1, MDX compilation, internal links, redirects, language parity, TypeScript SDK examples and the search helper. `pnpm build` is Mintlify build validation, not standalone HTML export. Preview layout changes in both languages.
-
-`patches/` fixes a Windows path-separator mismatch in `@mintlify/link-rot` 3.0.1334 that otherwise marks valid nested links as broken. Keep the patch and lockfile together; remove the patch only after a newer CLI passes `pnpm broken-links` on Windows. React and React DOM are pinned to the same version to satisfy the CLI's rendering peers. The remaining deprecated packages are transitive CLI dependencies.
+`check` detects generated-file drift, validates both OpenAPI documents, compiles MDX, checks navigation/links/redirects and language parity, type-checks SDK examples, and tests the search example against the published SDK. `build` runs Mintlify validation, without exporting standalone HTML.
-For documentation-only installs, `pnpm install --frozen-lockfile --ignore-scripts --no-optional` skips optional native tools that these checks and the preview do not need.
+Build the reviewed API checkout, then verify real API controllers against the published SDK and both translated schemas:
```bash
+pnpm --dir /path/to/Bonyan-API build
+pnpm check:api /path/to/Bonyan-API
node scripts/check-source.mjs /path/to/Bonyan-API /path/to/bonyan-sdk-js
```
-This command expects the revisions in `sources.lock.json`. Review changed controllers, services and types before updating the lock. Do not claim a hosted deployment uses an exact commit unless the deployment exposes it.
-
-## Platform decision
+`check:api` exercises every SDK operation against Fastify and the Worker entrypoint with synthetic upstream fixtures. It also checks local fallbacks, sparse hadith numbering and error propagation. It performs no live provider requests. CI builds the pinned API revision on Linux and Windows before running this check.
-Reviewed 7 September 2026. **Keep Mintlify.** The project already uses it, and it supports Arabic language navigation, RTL and OpenAPI request builders. Replacing the platform would not fix inaccurate source contracts. [Mintlify internationalization](https://www.mintlify.com/docs/guides/internationalization), [OpenAPI setup](https://www.mintlify.com/docs/api-playground/openapi-setup).
+The source check verifies the API revision and package version, SDK revision, source digest/version and installed package integrity and GET route parity. It detects unreviewed source changes; update the lock only after reviewing and testing them.
-| Option | Project assessment |
-| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Mintlify | Selected: existing hosting workflow, language navigation, RTL and OpenAPI rendering. Translations live in this repository. |
-| Docusaurus | Suitable if independently hosted static documentation becomes a requirement. It supports i18n and RTL. Migration adds theme, search, hosting and API-reference integration work. |
-| nodejs/doc-kit | Uses API-shaped Markdown and a generator pipeline. The reviewed docs demonstrate multiple outputs. I did not establish an equivalent ready-to-use Arabic/RTL plus OpenAPI request-builder workflow, so it is not the selected target. |
-
-Sources: [Docusaurus i18n](https://docusaurus.io/docs/i18n/introduction), [doc-kit](https://doc-kit.nodejs.org/). Migration-effort estimates are project-specific judgments, not claims that alternatives cannot support these features.
-
-## Known source differences
+## Structure
-The public API uses `https://api.bonyanoss.org`, without the old `/bonyan-api/v1` prefix. SDK 1.0.2 has a search-envelope mismatch; `examples/search.mjs` avoids it. Public tafsir IDs differ from upstream IDs. See [source status](locales/en/guides/source-status.mdx) and [Arabic source status](locales/ar/guides/source-status.mdx).
+| Path | Purpose |
+| --- | --- |
+| `locales/en`, `locales/ar` | Translated guides, SDK reference and generated API pages/specifications. |
+| `scripts/api-catalog.mjs`, `scripts/api-schemas.mjs` | Source metadata for generated contracts. |
+| `scripts/generate-*.mjs` | API pages, OpenAPI and method tables. |
+| `scripts/check-*.mjs` | Documentation, source and API integration checks. |
+| `scripts/source-digest.mjs` | Portable source/archive fingerprinting. |
+| `examples/search.mjs` | Tested application helper using SDK search directly. |
+| `sources.lock.json` | Reviewed revisions, versions and hashes. |
+| `docs.json`, `styles.css` | Existing theme, bilingual navigation, redirects and RTL styling. |
-The conduct policy has no configured private reporting contact. A maintainer needs to provide one; no address is invented here.
+Published pages need a translation and exactly one navigation entry. Preview layout changes in both languages. Keep API JSON keys and SDK names unchanged in translations.
-## Publish
+## Tool compatibility
-Review and merge through the existing documentation repository workflow. Keep the current Mintlify project connected to this repository. The rework does not publish a deployment or change DNS. Legacy page URLs redirect through `docs.json`.
+Mintlify is updated to 4.2.981. React and React DOM remain 19.2.3 to match its CLI renderer; 19.3.0 caused an invalid-hook error. pnpm remains on the updated 11.22.0 line because Mintlify rejects pnpm 12's multi-document lockfile. TypeScript remains 6.0.3 because checks use its JavaScript compiler API, which the current TypeScript 7 package does not expose. The remaining deprecated packages belong to the CLI's transitive dependencies.
-## العربية
+The Windows path correction now targets `@mintlify/link-rot` 3.0.1414. Without it, the updated checker incorrectly reports valid nested links as broken. Keep the patch and lockfile together; remove it only when a newer checker passes on Windows.
-المحتوى العربي في `locales/ar/` وله بنية `locales/en/` نفسها. عدّل الأدلة باللغتين، أو عدّل بيانات API المشتركة ثم شغّل `pnpm generate`. افحص باستخدام `pnpm check` و`pnpm build` و`pnpm broken-links`. راجع [دليل الصيانة](locales/ar/guides/maintenance.mdx) لمعرفة مصدر كل ملف وخطوات تحديث الترجمة.
+See [English source status](locales/en/guides/source-status.mdx) and [Arabic source status](locales/ar/guides/source-status.mdx).
diff --git a/examples/search.mjs b/examples/search.mjs
index 0d8b191..1b49294 100644
--- a/examples/search.mjs
+++ b/examples/search.mjs
@@ -1,48 +1,19 @@
-import { BonyanApiError, BonyanRequestError } from "@bonyanoss/bonyan-api";
+import { BonyanClient, ValidationError } from "@bonyanoss/bonyan-api";
-// Compatibility helper for the flat search envelope returned by API 2.0.0.
+// Application helper using the supported SDK search methods.
export async function searchContent(
resource,
text,
{
limit = 10,
baseUrl = "https://api.bonyanoss.org",
- fetch: fetchFn = globalThis.fetch,
+ fetch = globalThis.fetch,
signal = AbortSignal.timeout(45000),
} = {},
) {
- if (!["ayat", "azkar"].includes(resource))
- throw new TypeError("resource must be ayat or azkar");
- const maximum = resource === "ayat" ? 500 : 200;
- if (!Number.isInteger(limit) || limit < 1 || limit > maximum)
- throw new RangeError("Invalid limit");
- if (typeof text !== "string" || !/[\u0621-\u064A]/u.test(text))
- throw new TypeError("Use an Arabic query");
- const url = new URL(baseUrl.replace(/\/+$/, "") + "/" + resource + "/search");
- url.searchParams.set("text", text);
- url.searchParams.set("limit", String(limit));
- let response;
- try {
- response = await fetchFn(url, {
- signal,
- headers: { Accept: "application/json" },
- });
- } catch (error) {
- throw BonyanRequestError.from(error);
+ if (!["ayat", "azkar"].includes(resource)) {
+ throw new ValidationError("resource must be ayat or azkar", "resource");
}
- const body = await response.json().catch(() => null);
- if (!response.ok)
- throw BonyanApiError.fromResponse(
- response.status,
- body,
- response.statusText,
- );
- if (
- body?.success !== true ||
- !Array.isArray(body.data) ||
- !Number.isInteger(body.total)
- ) {
- throw new BonyanRequestError("Unexpected search response", body);
- }
- return { total: body.total, results: body.data };
+ const client = new BonyanClient({ baseUrl, fetch, timeoutMs: 45000, retry: 0 });
+ return client[resource].search(text, { limit }, { signal });
}
diff --git a/locales/ar/api-reference/ayat/all.mdx b/locales/ar/api-reference/ayat/all.mdx
index a3717de..7d0b2ba 100644
--- a/locales/ar/api-reference/ayat/all.mdx
+++ b/locales/ar/api-reference/ayat/all.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/ar/api-reference/ayat/get-by-number.mdx b/locales/ar/api-reference/ayat/get-by-number.mdx
index b009f32..9948159 100644
--- a/locales/ar/api-reference/ayat/get-by-number.mdx
+++ b/locales/ar/api-reference/ayat/get-by-number.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/ar/api-reference/ayat/get-by-surah-aya.mdx b/locales/ar/api-reference/ayat/get-by-surah-aya.mdx
index 9753ab0..8b88926 100644
--- a/locales/ar/api-reference/ayat/get-by-surah-aya.mdx
+++ b/locales/ar/api-reference/ayat/get-by-surah-aya.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/ar/api-reference/ayat/search.mdx b/locales/ar/api-reference/ayat/search.mdx
index 14e3ae6..b664a78 100644
--- a/locales/ar/api-reference/ayat/search.mdx
+++ b/locales/ar/api-reference/ayat/search.mdx
@@ -1,13 +1,9 @@
---
title: "البحث في نص القرآن"
-description: "يعيد {success, total, data: [...]}. يحسب total النتائج المعادة بعد تطبيق الحد، وليس جميع التطابقات في القرآن."
+description: "يعيد {success, total, data: [...]}؛ total هو عدد النتائج المعادة بعد limit. كل نتيجة تحتوي apiName."
openapi: "locales/ar/openapi.yaml GET /ayat/search"
---
-
-توجد مشكلة في فك الاستجابة داخل client.ayat.search() في SDK 1.0.2. استخدم مثال fetch هنا أو الدالة البديلة في دليل SDK.
-
-
## مثال الطلب
@@ -28,6 +24,14 @@ const body = await response.json();
console.log(body);
```
+```ts SDK
+import { BonyanClient } from '@bonyanoss/bonyan-api';
+
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const result = await client.ayat.search('الرحمن', { limit: 10 });
+console.log(result);
+```
+
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/ar/api-reference/azkar/categories.mdx b/locales/ar/api-reference/azkar/categories.mdx
index 2d38429..3487b6c 100644
--- a/locales/ar/api-reference/azkar/categories.mdx
+++ b/locales/ar/api-reference/azkar/categories.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/ar/api-reference/azkar/category.mdx b/locales/ar/api-reference/azkar/category.mdx
index c281dd9..ba96b38 100644
--- a/locales/ar/api-reference/azkar/category.mdx
+++ b/locales/ar/api-reference/azkar/category.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/ar/api-reference/azkar/random.mdx b/locales/ar/api-reference/azkar/random.mdx
index 31cdc58..98ec9f2 100644
--- a/locales/ar/api-reference/azkar/random.mdx
+++ b/locales/ar/api-reference/azkar/random.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/ar/api-reference/azkar/search.mdx b/locales/ar/api-reference/azkar/search.mdx
index 7d407dd..82d80d2 100644
--- a/locales/ar/api-reference/azkar/search.mdx
+++ b/locales/ar/api-reference/azkar/search.mdx
@@ -1,13 +1,9 @@
---
title: "البحث في الأذكار"
-description: "يعيد {success, total, data: [...]} مع التصنيف والذكر لكل نتيجة. total هو عدد النتائج المعادة بعد تطبيق limit."
+description: "يعيد {success, total, data: [...]}؛ كل نتيجة تحتوي category وitem وapiName. عدم وجود نتائج يعيد 404."
openapi: "locales/ar/openapi.yaml GET /azkar/search"
---
-
-توجد مشكلة في فك الاستجابة داخل client.azkar.search() في SDK 1.0.2. استخدم fetch أو الدالة البديلة في دليل SDK.
-
-
## مثال الطلب
@@ -28,6 +24,14 @@ const body = await response.json();
console.log(body);
```
+```ts SDK
+import { BonyanClient } from '@bonyanoss/bonyan-api';
+
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const result = await client.azkar.search('الله', { limit: 10 });
+console.log(result);
+```
+
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/ar/api-reference/hadith/book.mdx b/locales/ar/api-reference/hadith/book.mdx
index f09e9ce..441fb44 100644
--- a/locales/ar/api-reference/hadith/book.mdx
+++ b/locales/ar/api-reference/hadith/book.mdx
@@ -1,11 +1,11 @@
---
title: "نطاق أحاديث"
-description: "يعيد book وavailable وhadiths داخل data. طرفا النطاق مشمولان؛ from الافتراضي 1 وto الافتراضي from + 29."
+description: "يعيد book وavailable وhadiths داخل data. النطاق شامل طرفيه؛ from الافتراضي 1 وto الافتراضي from+29. يقبل 300 رقم حديث كحد أقصى."
openapi: "locales/ar/openapi.yaml GET /hadith/{book}"
---
-يرفض API حاليًا to - from > 300، فيقبل 301 عنصرًا عند شمول الطرفين. يرفض SDK 1.0.2 أكثر من 300 عند إرسال الطرفين. استخدم 300 أو أقل للتوافق. قد يعيد النطاق الفارغ 200 مع hadiths: [].
+قد تحتوي الأرقام على فجوات. قد يعيد النطاق أحاديث أقل أو مصفوفة فارغة. available هو عدد الأحاديث المخزنة، فلا تستخدمه حدًا أعلى لأرقام البحث. الكتب المجهولة تعيد 404.
## مثال الطلب
@@ -38,4 +38,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/ar/api-reference/hadith/books.mdx b/locales/ar/api-reference/hadith/books.mdx
index 6c245d3..a01fbe8 100644
--- a/locales/ar/api-reference/hadith/books.mdx
+++ b/locales/ar/api-reference/hadith/books.mdx
@@ -1,6 +1,6 @@
---
title: "كتب الحديث"
-description: "يعيد معرّفات الكتب وأسماءها وأعداد الأحاديث من المصدر المستخدم. استخرج المعرّفات هنا بدل افتراض قائمة ثابتة."
+description: "يعرض الكتب التسعة المدعومة من بيانات محلية موثقة. يحسب available الأحاديث المخزنة فعليًا، ولا يمثل أكبر رقم حديث."
openapi: "locales/ar/openapi.yaml GET /hadith"
---
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/ar/api-reference/hadith/get.mdx b/locales/ar/api-reference/hadith/get.mdx
index 842db33..b34c648 100644
--- a/locales/ar/api-reference/hadith/get.mdx
+++ b/locales/ar/api-reference/hadith/get.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/ar/api-reference/hadith/random.mdx b/locales/ar/api-reference/hadith/random.mdx
index 54102a9..78bd984 100644
--- a/locales/ar/api-reference/hadith/random.mdx
+++ b/locales/ar/api-reference/hadith/random.mdx
@@ -1,6 +1,6 @@
---
title: "حديث عشوائي"
-description: "يختار كتابًا ثم رقم حديث وفق العدد المتاح. يمكن تقييد الكتاب. تحتوي النتيجة book وhadith."
+description: "يختار حديثًا مخزنًا فعليًا من الكتاب المختار، فلا تؤدي فجوات الترقيم إلى نتيجة عشوائية فارغة. يمكن تقييد الاختيار بمعرّف كتاب."
openapi: "locales/ar/openapi.yaml GET /hadith/random"
---
@@ -32,4 +32,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/ar/api-reference/hijri/from-gregorian.mdx b/locales/ar/api-reference/hijri/from-gregorian.mdx
index 38e8f98..ee7c6d9 100644
--- a/locales/ar/api-reference/hijri/from-gregorian.mdx
+++ b/locales/ar/api-reference/hijri/from-gregorian.mdx
@@ -1,6 +1,6 @@
---
title: "من الميلادي إلى الهجري"
-description: "يعيد تمثيل التاريخ بالتقويمين. Aladhan هو المصدر الوحيد المضبوط."
+description: "يعيد التقويمين وحقل calendar=islamic-umalqura. تُطابق نتيجة Aladhan UAQ مع تحويل Intl المحلي، الذي يُستخدم أيضًا مصدرًا بديلًا."
openapi: "locales/ar/openapi.yaml GET /hijri/from-gregorian"
---
@@ -32,4 +32,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hijri/hijri.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hijri/hijri.controller.ts)
diff --git a/locales/ar/api-reference/hijri/to-gregorian.mdx b/locales/ar/api-reference/hijri/to-gregorian.mdx
index 4f60efe..7e287c6 100644
--- a/locales/ar/api-reference/hijri/to-gregorian.mdx
+++ b/locales/ar/api-reference/hijri/to-gregorian.mdx
@@ -1,6 +1,6 @@
---
title: "من الهجري إلى الميلادي"
-description: "يحوّل تاريخًا هجريًا مطلوبًا. تأتي أسماء الأشهر وأيام الأسبوع من المصدر."
+description: "يحوّل تاريخًا هجريًا مطلوبًا بتقويم islamic-umalqura. يتحقق من اليوم 1..30 والشهر 1..12 والسنة 1..2400 قبل طلب المصدر."
openapi: "locales/ar/openapi.yaml GET /hijri/to-gregorian"
---
@@ -32,4 +32,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hijri/hijri.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hijri/hijri.controller.ts)
diff --git a/locales/ar/api-reference/hijri/today.mdx b/locales/ar/api-reference/hijri/today.mdx
index aeb13c4..24cb667 100644
--- a/locales/ar/api-reference/hijri/today.mdx
+++ b/locales/ar/api-reference/hijri/today.mdx
@@ -1,6 +1,6 @@
---
title: "تاريخ اليوم بالتقويمين"
-description: "يحوّل تاريخ خادم API الميلادي الحالي عبر Aladhan. لا يستخدم المنطقة الزمنية للمتصفح."
+description: "يحوّل تاريخ خادم API بتقويم islamic-umalqura الثابت. لا يستخدم منطقة المتصفح الزمنية."
openapi: "locales/ar/openapi.yaml GET /hijri/today"
---
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hijri/hijri.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hijri/hijri.controller.ts)
diff --git a/locales/ar/api-reference/meta/catalogue.mdx b/locales/ar/api-reference/meta/catalogue.mdx
index 7d2ab2f..a1e6989 100644
--- a/locales/ar/api-reference/meta/catalogue.mdx
+++ b/locales/ar/api-reference/meta/catalogue.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/ar/api-reference/meta/health.mdx b/locales/ar/api-reference/meta/health.mdx
index 6b3ddb9..6a966fc 100644
--- a/locales/ar/api-reference/meta/health.mdx
+++ b/locales/ar/api-reference/meta/health.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/ar/api-reference/meta/metrics.mdx b/locales/ar/api-reference/meta/metrics.mdx
index 69ba7a4..b8944f2 100644
--- a/locales/ar/api-reference/meta/metrics.mdx
+++ b/locales/ar/api-reference/meta/metrics.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/ar/api-reference/meta/ready.mdx b/locales/ar/api-reference/meta/ready.mdx
index 474d94e..9b8d760 100644
--- a/locales/ar/api-reference/meta/ready.mdx
+++ b/locales/ar/api-reference/meta/ready.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/ar/api-reference/prayer/times.mdx b/locales/ar/api-reference/prayer/times.mdx
index 88bf8cc..e58485e 100644
--- a/locales/ar/api-reference/prayer/times.mdx
+++ b/locales/ar/api-reference/prayer/times.mdx
@@ -1,11 +1,11 @@
---
title: "مواقيت الصلاة"
-description: "أرسل latitude وlongitude أو city وcountry. عند إرسال الزوجين، تُجرّب إحداثيات Aladhan قبل البحث باسم المدينة."
+description: "أرسل latitude وlongitude أوcity وcountry. الإحداثيات لها الأولوية عند إرسال الاثنين. طريقة الحساب الافتراضية 4 والمنطقة الزمنية UTC، وتعيد سبعة أوقات بصيغة HH:mm."
openapi: "locales/ar/openapi.yaml GET /prayer/times"
---
-يتاح بديل pray.zone لطلبات الإحداثيات بتاريخ اليوم على خادم API فقط. لا يستقبل method وقد يحذف method وcoordinates من النتيجة. افحص apiName قبل افتراض ثبات طريقة الحساب. يتحقق هذا المتحكم من كون الإحداثيات أرقامًا دون فرض حدودها الجغرافية؛ يفرض SDK الحدود.
+طرق الحساب المدعومة: 1 و2 و3 و4 و5 و9 و10 و11. يتطلب بديل adhan المحلي إحداثيات ويحافظ على التاريخ والطريقة والمنطقة الزمنية. لا يوجد تحويل محلي لأسماء المدن إلى إحداثيات؛ تعذر المصدر يعيد 503. قد يغيب hijri في النتيجة المحلية.
## مثال الطلب
@@ -17,7 +17,8 @@ curl --fail-with-body --get 'https://api.bonyanoss.org/prayer/times' \
--data-urlencode 'date=01-01-2026' \
--data-urlencode 'latitude=21.4225' \
--data-urlencode 'longitude=39.8262' \
- --data-urlencode 'method=4'
+ --data-urlencode 'method=4' \
+ --data-urlencode 'timezone=Asia/Riyadh'
```
```js JavaScript
@@ -26,6 +27,7 @@ url.searchParams.set("date", "01-01-2026");
url.searchParams.set("latitude", "21.4225");
url.searchParams.set("longitude", "39.8262");
url.searchParams.set("method", "4");
+url.searchParams.set("timezone", "Asia/Riyadh");
const response = await fetch(url, { signal: AbortSignal.timeout(45000) });
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const body = await response.json();
@@ -36,10 +38,10 @@ console.log(body);
import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
-const result = await client.prayer.getTimes({ latitude: 21.4225, longitude: 39.8262, method: 4 });
+const result = await client.prayer.getTimes({ latitude: 21.4225, longitude: 39.8262, method: 4, timezone: 'Asia/Riyadh' });
console.log(result);
```
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/prayer/prayer.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/prayer/prayer.controller.ts)
diff --git a/locales/ar/api-reference/qibla/direction.mdx b/locales/ar/api-reference/qibla/direction.mdx
index c96a858..c3248ed 100644
--- a/locales/ar/api-reference/qibla/direction.mdx
+++ b/locales/ar/api-reference/qibla/direction.mdx
@@ -38,4 +38,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/qibla/qibla.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/qibla/qibla.controller.ts)
diff --git a/locales/ar/api-reference/reciters/audio.mdx b/locales/ar/api-reference/reciters/audio.mdx
index 72048a0..5961cd6 100644
--- a/locales/ar/api-reference/reciters/audio.mdx
+++ b/locales/ar/api-reference/reciters/audio.mdx
@@ -1,11 +1,11 @@
---
title: "رابط صوت السورة"
-description: "ينشئ الرابط من خادم أول مصحف ورقم السورة بثلاث خانات. يعيد JSON وليس بثًا صوتيًا."
+description: "يختار مصحفًا يغطي السورة، مع تفضيل حفص المرتل عند حذف moshaf. يفحص الصوت بطلب HEAD قبل إعادة رابط JSON وبيانات المصحف."
openapi: "locales/ar/openapi.yaml GET /reciters/{id}/surah/{surah}"
---
-لا يتحقق API من وجود ملف MP3. قد يفتقد قارئ من quran.com بيانات المصحف فتُعاد 404. اختر قارئًا له moshaf قبل طلب الصوت.
+moshaf هو معرّف مصحف من فهرس القارئ. عدم تغطية السورة يعيد 404؛ فشل مصادر الصوت المتاحة يعيد 503. يقتصر بديل Quran.com على مصاحف حفص المرتلة ذات المطابقة الموثقة.
## مثال الطلب
@@ -13,11 +13,13 @@ openapi: "locales/ar/openapi.yaml GET /reciters/{id}/surah/{surah}"
```bash cURL
-curl --fail-with-body 'https://api.bonyanoss.org/reciters/1/surah/1'
+curl --fail-with-body --get 'https://api.bonyanoss.org/reciters/123/surah/1' \
+ --data-urlencode 'moshaf=7'
```
```js JavaScript
-const url = new URL("https://api.bonyanoss.org/reciters/1/surah/1");
+const url = new URL("https://api.bonyanoss.org/reciters/123/surah/1");
+url.searchParams.set("moshaf", "7");
const response = await fetch(url, { signal: AbortSignal.timeout(45000) });
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const body = await response.json();
@@ -28,10 +30,10 @@ console.log(body);
import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
-const result = await client.reciters.getSurah(1, 1);
+const result = await client.reciters.getSurah(123, 1, { moshaf: 7 });
console.log(result);
```
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/ar/api-reference/reciters/get.mdx b/locales/ar/api-reference/reciters/get.mdx
index 69ccc8a..d1d13a9 100644
--- a/locales/ar/api-reference/reciters/get.mdx
+++ b/locales/ar/api-reference/reciters/get.mdx
@@ -1,6 +1,6 @@
---
title: "بيانات قارئ"
-description: "يبحث عن المعرّف في فهرس المصدر المخزّن حاليًا."
+description: "يبحث بمعرّف قارئ ثابت من mp3quran في الفهرس الحالي أو النسخة المحلية."
openapi: "locales/ar/openapi.yaml GET /reciters/{id}"
---
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/ar/api-reference/reciters/list.mdx b/locales/ar/api-reference/reciters/list.mdx
index 5683b66..954b83b 100644
--- a/locales/ar/api-reference/reciters/list.mdx
+++ b/locales/ar/api-reference/reciters/list.mdx
@@ -1,6 +1,6 @@
---
title: "قائمة القراء"
-description: "يعيد القراء داخل data.reciters. قد يحذف المصدر البديل المصاحف وبيانات خادم الصوت."
+description: "يعيد القراء داخل data.reciters. لكل قارئ مصاحف moshaf تحتوي surahList وrewayaId وtype. تحافظ النسخة المحلية على المعرّفات والمصاحف عند تعذر المصدر."
openapi: "locales/ar/openapi.yaml GET /reciters"
---
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/ar/api-reference/reciters/search.mdx b/locales/ar/api-reference/reciters/search.mdx
index e6a885a..7cb0a88 100644
--- a/locales/ar/api-reference/reciters/search.mdx
+++ b/locales/ar/api-reference/reciters/search.mdx
@@ -32,4 +32,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/ar/api-reference/surah/get.mdx b/locales/ar/api-reference/surah/get.mdx
index fd9be79..8d339be 100644
--- a/locales/ar/api-reference/surah/get.mdx
+++ b/locales/ar/api-reference/surah/get.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/surah/surah.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/surah/surah.controller.ts)
diff --git a/locales/ar/api-reference/surah/list.mdx b/locales/ar/api-reference/surah/list.mdx
index c64e779..d32b999 100644
--- a/locales/ar/api-reference/surah/list.mdx
+++ b/locales/ar/api-reference/surah/list.mdx
@@ -1,6 +1,6 @@
---
title: "قائمة السور"
-description: "يعيد فهرس السور داخل data.surah. يحتوي أسماء وبيانات السور دون نص الآيات."
+description: "يعيد فهرس السور الـ114 كاملًا بأسماء عربية ثابتة وحقل makkia مطلوب."
openapi: "locales/ar/openapi.yaml GET /surah"
---
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/surah/surah.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/surah/surah.controller.ts)
diff --git a/locales/ar/api-reference/surah/search.mdx b/locales/ar/api-reference/surah/search.mdx
index 0d8b73e..bbd0a58 100644
--- a/locales/ar/api-reference/surah/search.mdx
+++ b/locales/ar/api-reference/surah/search.mdx
@@ -32,4 +32,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/surah/surah.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/surah/surah.controller.ts)
diff --git a/locales/ar/api-reference/tafsir/aya.mdx b/locales/ar/api-reference/tafsir/aya.mdx
index ee90b7d..1d4c645 100644
--- a/locales/ar/api-reference/tafsir/aya.mdx
+++ b/locales/ar/api-reference/tafsir/aya.mdx
@@ -1,6 +1,6 @@
---
title: "تفسير آية"
-description: "يعيد كائن تفسير واحد. لنسخة muyassar مصدران، ولكل نسخة أخرى مصدر واحد."
+description: "يعيد عنصر تفسير واحدًا. يدعم muyassar وsaadi فقط؛ النسخ غير المدعومة تعيد 400 قبل طلب المصدر."
openapi: "locales/ar/openapi.yaml GET /tafsir/{edition}/{surah}/{aya}"
---
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/tafsir/tafsir.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/tafsir/tafsir.controller.ts)
diff --git a/locales/ar/api-reference/tafsir/editions.mdx b/locales/ar/api-reference/tafsir/editions.mdx
index cd70dea..408e5f6 100644
--- a/locales/ar/api-reference/tafsir/editions.mdx
+++ b/locales/ar/api-reference/tafsir/editions.mdx
@@ -1,6 +1,6 @@
---
title: "نسخ التفسير"
-description: "يعرض معرّفات نسخ التفسير الخمس وأسماءها العربية. الفهرس محلي ولا يفحص توفر المصادر."
+description: "يعرض معرّفي التفسير المدعومين: muyassar وsaadi. الفهرس محلي ولا يفحص توفر المصادر."
openapi: "locales/ar/openapi.yaml GET /tafsir"
---
@@ -30,4 +30,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/tafsir/tafsir.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/tafsir/tafsir.controller.ts)
diff --git a/locales/ar/api-reference/tafsir/surah.mdx b/locales/ar/api-reference/tafsir/surah.mdx
index cba6d09..7b1a227 100644
--- a/locales/ar/api-reference/tafsir/surah.mdx
+++ b/locales/ar/api-reference/tafsir/surah.mdx
@@ -1,6 +1,6 @@
---
title: "تفسير سورة"
-description: "يعيد مصفوفة حتى عند تحديد آية واحدة بالمعامل aya. حقل edition المعاد يستخدم معرّف المصدر."
+description: "يعيد مصفوفة TafsirItem حتى مع مرشح aya الاختياري. حقل edition هو المعرّف العام muyassar أوsaadi في جميع المصادر."
openapi: "locales/ar/openapi.yaml GET /tafsir/{edition}/{surah}"
---
@@ -32,4 +32,4 @@ console.log(result);
-[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/tafsir/tafsir.controller.ts)
+[الاستجابات والأخطاء](/locales/ar/concepts/errors) · [دليل SDK](/locales/ar/sdk/overview) · [كود المسار](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/tafsir/tafsir.controller.ts)
diff --git a/locales/ar/concepts/arabic-search.mdx b/locales/ar/concepts/arabic-search.mdx
index 7690f86..7c27707 100644
--- a/locales/ar/concepts/arabic-search.mdx
+++ b/locales/ar/concepts/arabic-search.mdx
@@ -31,4 +31,4 @@ console.log(body.total, body.data);
```
-يضبط الخادم حد بحث الآيات بين 1 و500، وبحث الأذكار بين 1 و200، بافتراضي 50. الصفر أو الحد غير القابل للتحليل يستخدم 50 أيضًا. يتحقق SDK من الحدود بشكل أشد. البحث بلا تطابق يعيد 404 بدل مصفوفة نجاح فارغة.
+يقبل الخادم وSDK حدود بحث الآيات 1..500 والأذكار 1..200، مع قيمة افتراضية للخادم 50. تُرفض القيم الصفرية والكسرية وغير القابلة للتحليل أو الخارجة عن النطاق. البحث بلا تطابق يعيد 404 بدل مصفوفة نجاح فارغة.
diff --git a/locales/ar/concepts/architecture.mdx b/locales/ar/concepts/architecture.mdx
index 94874f5..7ede1f7 100644
--- a/locales/ar/concepts/architecture.mdx
+++ b/locales/ar/concepts/architecture.mdx
@@ -3,13 +3,13 @@ title: "كيف يعمل API"
description: "تدفق الطلب وتحويل بيانات المصادر وحدود البدائل."
---
-Bonyan API خادم مبني على Fastify. تتحقق وحدات المحتوى التسع من الطلبات، وتجلب البيانات الخارجية، وتخزّن النتائج، وتعيد أشكال JSON الخاصة بكل وحدة. تصف مسارات التشغيل الأربعة حالة العملية نفسها.
+يعمل Bonyan API عبر Fastify على Node.js ومحول Fetch أصلي على Cloudflare Workers. يسجّل المحولان نفس المتحكمات عبر src/http/routes.ts. تتحقق وحدات المحتوى التسع من الطلبات، وتجلب البيانات الخارجية، وتخزّن النتائج، وتعيد أشكال JSON الخاصة بكل وحدة. تصف مسارات التشغيل الأربعة حالة العملية نفسها.
## طلب محتوى
```mermaid
flowchart TD
- A["تطبيقك: HTTP أو SDK"] --> B["Fastify: حد الطلبات والمسار"]
+ A["تطبيقك: HTTP أو SDK"] --> B["محول HTTP: حد الطلبات والمسار"]
B --> C{"المدخلات صالحة؟"}
C -->|لا| X["400"]
C -->|نعم| D{"كاش صالح؟"}
@@ -32,8 +32,8 @@ flowchart TD
| الكاش | مشاركة التحميل الجاري وحفظ النتائج الناجحة في الذاكرة. |
| مكتبة العميل | التحقق من بعض المعاملات وإرسال طلبات GET وفك الاستجابة. |
-تعمل الخدمة دون قاعدة بيانات. الكاش والمقاييس خاصان بعملية واحدة ويُصفّران عند إعادة تشغيلها. لا تشارك النسخ المتعددة هذه الحالة.
+تعمل الخدمة دون قاعدة بيانات. الكاش والمقاييس خاصان بعملية أو عزل Worker، ويُصفّران عند استبداله. لا تشارك النسخ هذه الحالة. يقتصر توحيد التحميل الجاري في Worker على سياق الطلب.
## ما الذي يحافظ عليه البديل؟
-يحوّل API بيانات المصادر إلى مجموعة حقول مشتركة. لكن تغيير المصدر قد يغيّر الحقول الاختيارية والمعرّفات والأسماء وعرض النص وتفاصيل حساب الصلاة. اقرأ [سلوك البدائل](/locales/ar/concepts/fallback) قبل الاعتماد على حقل اختياري.
+يحوّل API بيانات المصادر إلى مجموعة حقول مشتركة. تتحقق المحولات من بيانات المصدر وتحافظ على الهويات الثابتة وإعدادات الحساب. قد تختلف البيانات الاختيارية وطريقة عرض النص. اقرأ [سلوك البدائل](/locales/ar/concepts/fallback) قبل الاعتماد على حقل اختياري.
diff --git a/locales/ar/concepts/caching.mdx b/locales/ar/concepts/caching.mdx
index 0f95ba9..c665640 100644
--- a/locales/ar/concepts/caching.mdx
+++ b/locales/ar/concepts/caching.mdx
@@ -3,18 +3,19 @@ title: "التخزين المؤقت"
description: "مدة تخزين كل وحدة وما يحدث عند غياب النتيجة."
---
-يخزّن API نتائج الخدمات الناجحة في Map داخل الذاكرة. تشارك الطلبات المتزامنة للمفتاح غير المخزّن عملية تحميل واحدة. لا تُحفظ عمليات التحميل الفاشلة كعناصر ناجحة.
+يخزّن API نتائج الخدمات الناجحة في Map داخل الذاكرة. تشارك طلبات Node.js للمفتاح غير المخزن عملية تحميل واحدة. يقتصر توحيد التحميل الجاري في Worker على سياق الطلب. لا تُحفظ عمليات التحميل الفاشلة كعناصر ناجحة.
| البيانات | مدة الصلاحية | ما يتضمنه مفتاح الكاش |
| --- | --- | --- |
| فهرس السور | 12 ساعة | مفتاح مشترك واحد |
| القرآن كاملًا | 24 ساعة | مفتاح مشترك واحد |
| القراء | ساعة | مفتاح مشترك واحد |
+| رابط الصوت المفحوص | 15 دقيقة | القارئ والمصحف والسورة |
| الأذكار | 24 ساعة | مفتاح مشترك واحد |
| التفسير | 24 ساعة | النسخة والسورة والآية الاختيارية |
-| فهرس كتب الحديث | 24 ساعة | مفتاح مشترك واحد |
-| نطاق الحديث | 12 ساعة | الكتاب وfrom وto |
-| مواقيت الصلاة | ساعة | التاريخ والإحداثيات والمدينة والدولة والطريقة |
+| فهرس كتب الحديث | بيانات محلية، دون تحميل كاش | لا يوجد |
+| كتاب الحديث الكامل المستخدم في النطاق والجلب والعشوائي | 12 ساعة | معرّف الكتاب |
+| مواقيت الصلاة | ساعة | التاريخ والإحداثيات والمدينة والدولة والطريقة والمنطقة الزمنية |
| تحويل التاريخ الهجري | 7 أيام | اتجاه التحويل والتاريخ |
| القبلة | 30 يومًا | الإحداثيات |
diff --git a/locales/ar/concepts/errors.mdx b/locales/ar/concepts/errors.mdx
index d2c83d1..543ce0a 100644
--- a/locales/ar/concepts/errors.mdx
+++ b/locales/ar/concepts/errors.mdx
@@ -39,6 +39,6 @@ description: "غلاف النجاح وأعداد نتائج البحث والأ
| 503 | `ALL_SOURCES_FAILED` | أعد المحاولة بعد انتظار محدود أو اعرض عدم التوفر المؤقت. |
| 500 | `INTERNAL_SERVER_ERROR` | سجّل معرّف الطلب وأبلغ عن خطوات تكرار المشكلة. |
-تستخدم بعض حالات 503 المباشرة، مثل تعذر جلب حديث عشوائي، الرمز `INTERNAL_SERVER_ERROR` حاليًا. تعامل مع حالة HTTP إلى جانب الرمز. قد يتحول معرّف كتاب مجهول إلى 503 بعد فشل المصادر بدل 404. وقد يعيد البروكسي أخطاء بصيغة غير JSON.
+تستخدم بعض حالات 503 المباشرة، مثل تعذر جلب حديث عشوائي، الرمز `INTERNAL_SERVER_ERROR` حاليًا. تعامل مع حالة HTTP إلى جانب الرمز. يعيد معرّف كتاب مجهول 404 قبل طلب المحتوى. وقد يعيد البروكسي أخطاء بصيغة غير JSON.
يوفر SDK الحقول `status` و`code` و`requestId` و`retryAfterMs` ضمن `BonyanApiError`. راجع [أخطاء SDK](/locales/ar/sdk/errors).
diff --git a/locales/ar/concepts/fallback.mdx b/locales/ar/concepts/fallback.mdx
index b8b80b2..be87419 100644
--- a/locales/ar/concepts/fallback.mdx
+++ b/locales/ar/concepts/fallback.mdx
@@ -1,53 +1,23 @@
---
-title: "المصادر البديلة"
-description: "الوحدات التي لها مصدر بديل والتفاصيل التي قد تتغير."
+title: "المصادر البديلة والتحقق"
+description: "ترتيب المصادر والعقود المحفوظة عند الانتقال بينها."
---
-تُجرّب المصادر بالترتيب عند غياب كاش صالح. تجربة البدائل سلوك داخل الخادم، وتختلف عن إعادة المحاولة في SDK.
+تُجرب المصادر بالتتابع عند غياب الكاش. تتحقق المحولات من التغطية والهوية والحقول المطلوبة قبل قبول البيانات؛ النتيجة الفارغة أو غير الصالحة تؤدي لتجربة المصدر التالي. فشل جميع المصادر يعيد 503. إعادة المحاولة في SDK تكرر طلب API وهي مستقلة عن هذا السلوك.
-| الوحدة | ترتيب المصادر وحدودها |
+| الوحدة | ترتيب المصادر |
| --- | --- |
-| السور | mp3quran.net ثم alquran.cloud ثم quran.com. |
-| الآيات | alquran.cloud ثم بيانات fawazahmed0 عبر jsDelivr. |
-| القراء | mp3quran.net ثم quran.com. لا يوفر الأخير خوادم صوت المصاحف. |
-| التفسير | muyassar: من alquran.cloud ثم quranenc.com. وjalalayn وwaseet وqurtubi: من alquran.cloud فقط. وsaadi: من quranenc.com فقط. |
-| الأذكار | نسخة مثبتة من بيانات nawafalqari ثم hisnmuslim.com. |
-| الحديث | hadith.gading.dev ثم بيانات sutanlab عبر jsDelivr. |
-| الصلاة | إحداثيات Aladhan ثم مدينته إذا أُرسلت، ثم pray.zone للإحداثيات بتاريخ اليوم فقط. |
-| الهجري | Aladhan فقط. |
-| القبلة | Aladhan ثم حساب محلي على الدائرة العظمى. |
-
-## مثال: غياب كاش السور
-
-```mermaid
-%%{init: {"sequence": {"actorMargin": 24, "width": 100, "diagramMarginX": 8, "mirrorActors": false, "wrap": true}}}%%
-sequenceDiagram
- participant C as العميل
- participant A as Bonyan API
- participant P as المصدر الأول
- participant F as المصدر البديل
- C->>A: GET /surah
- Note over A: كاش مفقود أو منتهي
- A->>P: طلب البيانات
- alt فشل المصدر الأول
- A->>F: تجربة المصدر التالي
- alt البديل يعيد نتيجة
- F-->>A: بيانات المصدر
- A-->>C: 200 JSON
- else فشل جميع المحاولات
- A-->>C: 503 JSON
- end
- else المصدر الأول يعيد نتيجة
- P-->>A: بيانات المصدر
- A-->>C: 200 JSON
- end
-```
-
-
-تستخدم دالة HTTP المشتركة مهلة 8 ثوانٍ ما لم تُستبدل. تستخدم طلبات القرآن كاملًا 20 ثانية لكل مصدر، وتستخدم الخدمات الأخرى بين 8 و15 ثانية. قد تستغرق المحاولات المتتابعة أكثر من مهلة SDK الافتراضية البالغة 10 ثوانٍ.
-
-لا تعمم التعامل مع النتائج الفارغة. ترفض بعض خدمات الفهارس المصفوفات الفارغة، لكن بعضها يعيد نتيجة فارغة إذا أعادت جميع المصادر فراغًا دون رمي خطأ. يستخدم الحديث والتفسير حلقات خاصة ولا يطبّقان فحص فراغ مشتركًا شاملًا.
-
-## الحقول التي تحتاج فحصًا
-
-استخدم `apiName` لنسب البيانات إلى مصدرها وتشخيص المشاكل. معرّفات القراء خاصة بالمصدر، وقد تغيب بيانات الصوت بعد تبديله. يستخدم `edition` في استجابة التفسير معرّف المصدر. قد يحذف بديل الصلاة الطريقة والإحداثيات ولا يرسل طريقة Aladhan المختارة إلى pray.zone. ثبات شكل JSON لا يضمن تطابق المحتوى أو إعدادات الحساب.
+| السور | mp3quran.net ثم alquran.cloud ثم quran.com ثم البيانات المحلية الثابتة. |
+| الآيات | alquran.cloud ثم نسخة fawazahmed0 المثبتة عبر jsDelivr ثم quran.com. |
+| فهرس القراء | mp3quran.net ثم النسخة المحلية التي تحافظ على المعرّفات والمصاحف. |
+| الصوت | رابط mp3quran المفحوص، ثم تسجيل Quran.com المطابق عند وجود ربط موثق. |
+| التفسير | muyassar: alquran.cloud ثم quranenc.com ثم quran.com ثم مرآة spa5k المثبتة. saadi: quran.com ثم مرآة spa5k. |
+| الأذكار | نسخة rn0x/hisn_almuslim_json المثبتة عبر jsDelivr ثم GitHub الخام. |
+| الحديث | فهرس كتب محلي؛ المحتوى من نسخة gadingnst المثبتة عبر jsDelivr ثم GitHub الخام. |
+| الصلاة | Aladhan ثم adhan محلي للإحداثيات. طلب المدينة وحده لا يملك بديلًا محليًا. |
+| الهجري | Aladhan UAQ مع مطابقته لتحويل islamic-umalqura المحلي، ثم Intl محلي. |
+| القبلة | Aladhan ثم حساب الاتجاه محليًا. |
+
+استخدم apiName لمعرفة المصدر. تحافظ البدائل المدعومة على أسماء السور الثابتة وهويات القراء ومعرّفات التفسير العامة وتاريخ الصلاة وطريقتها ومنطقتها الزمنية وتقويم أم القرى. تبقى الحقول الاختيارية اختيارية: مصدر الأذكار الحالي يوفر النص دون عدد التكرار أو المرجع، وقد تحذف الصلاة المحلية hijri.
+
+مهلة الاتصال الافتراضية 8 ثوان، وقد تصل إلى 30 ثانية لكتاب حديث. قد يتجاوز تعدد المصادر والصفحات مهلة SDK الافتراضية البالغة 10 ثوان للمحاولة. اختر مهلة مناسبة للتحميل الأول واستخدم الإلغاء لتحديد مدة العملية كاملة.
diff --git a/locales/ar/concepts/rate-limit.mdx b/locales/ar/concepts/rate-limit.mdx
index e813ba7..b1b7db3 100644
--- a/locales/ar/concepts/rate-limit.mdx
+++ b/locales/ar/concepts/rate-limit.mdx
@@ -7,7 +7,7 @@ description: "احسب ميزانية الطلبات واضبط إعادة ال
تعامل مع HTTP 429 كطلب للانتظار. التزم بترويسة `Retry-After` عند وجودها. لا تكرر 400 أو404 دون تغيير الإدخال. حتى الطلب الذي يجد نتيجته في الكاش يُحسب كطلب وارد إلى API.
-يعيد SDK 1.0.2 محاولة HTTP 429 وHTTP 5xx وأخطاء الشبكة والمهلة. تسمح القيمة الافتراضية `retry: 3` بأربع محاولات إجمالًا. دون `Retry-After` تكون فترات الانتظار 100 ثم 200 ثم 400 مللي ثانية، مع إضافة عشوائية بين 0 و99 مللي ثانية. تتقدم ترويسة الانتظار على هذه الفترات إذا توفرت.
+يعيد SDK 2.0.0 محاولة HTTP 429 وHTTP 5xx وأخطاء الشبكة والمهلة. تسمح القيمة الافتراضية `retry: 3` بأربع محاولات إجمالًا. دون `Retry-After` تكون فترات الانتظار 100 ثم 200 ثم 400 مللي ثانية، مع إضافة عشوائية بين 0 و99 مللي ثانية. تتقدم ترويسة الانتظار على هذه الفترات إذا توفرت.
استخدم سياسة واحدة لإعادة المحاولة في تطبيقك. إضافة حلقة إعادة محاولة حول SDK تضاعف المحاولات. المهلة تخص كل محاولة وليست سقفًا زمنيًا للعملية كاملة.
diff --git a/locales/ar/contributing.mdx b/locales/ar/contributing.mdx
index 5047fc7..3abd287 100644
--- a/locales/ar/contributing.mdx
+++ b/locales/ar/contributing.mdx
@@ -7,6 +7,6 @@ description: "اختر المستودع وأرفق دليلًا يمكن تكر
لتصحيح التوثيق، اذكر الصفحة والطلب أو الدالة والسلوك المتوقع والكود أو الاستجابة التي تدعم التغيير. حدّث الصفحتين الإنجليزية والعربية معًا. راجع [صيانة التوثيق](/locales/ar/guides/maintenance).
-لتغييرات الكود، أنشئ fork وفرعًا محدد الغرض واتبع تعليمات المساهمة والاختبارات في المستودع نفسه. عند إضافة مصدر، حافظ على حقول استجابة الوحدة واختبر مسار الفشل إلى جانب المصدر الأساسي. تغطي MIT الكود؛ راجع شروط المحتوى الخارجي بشكل منفصل قبل إعادة توزيع البيانات أوالصوت.
+لتغييرات الكود، أنشئ fork وفرعًا محدد الغرض واتبع تعليمات المساهمة والاختبارات في المستودع نفسه. عند إضافة مصدر، حافظ على حقول استجابة الوحدة واختبر مسار الفشل إلى جانب المصدر الأساسي. تغطي MIT الكود؛ راجع شروط المحتوى الخارجي بشكل منفصل قبل إعادة توزيع البيانات أو الصوت.
اتبع [دليل سلوك المجتمع](/locales/ar/code-of-conduct). لا تضع بيانات خاصة في البلاغات العامة.
diff --git a/locales/ar/guides/audio.mdx b/locales/ar/guides/audio.mdx
index 9bb1d44..47f8250 100644
--- a/locales/ar/guides/audio.mdx
+++ b/locales/ar/guides/audio.mdx
@@ -1,23 +1,23 @@
---
-title: "تشغيل تلاوة"
-description: "اختر قارئًا لديه بيانات صوت قبل طلب الرابط."
+title: "تشغيل مصحف مختار"
+description: "اختيار مصحف يغطي السورة والرواية المطلوبة."
---
-اجلب فهرس القراء واختر عنصرًا يحتوي خادمًا لأول مصحف. لا تفترض أن معرّف قارئ ثابت يعني الشخص نفسه عبر المصادر.
+يحافظ فهرس القراء على معرّفات mp3quran عند استخدام النسخة المحلية. لكل قارئ مصاحف moshaf تحتوي surahList وrewayaId وtype. اختر مصحفًا يغطي السورة ويلائم الرواية المطلوبة.
```ts
import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const surah = 1;
const reciters = await client.reciters.list();
-const reciter = reciters.find(item => item.moshaf?.[0]?.server);
-if (!reciter) throw new Error('No audio-enabled reciter is available');
-const result = await client.reciters.getSurah(reciter.id, 1);
-console.log(result.reciter, result.audio);
+const reciter = reciters.find(item => item.moshaf.some(m => m.surahList.includes(surah)));
+if (!reciter) throw new Error('No recording covers this surah');
+const recording = reciter.moshaf.find(m => m.surahList.includes(surah))!;
+const result = await client.reciters.getSurah(reciter.id, surah, { moshaf: recording.id });
+console.log(result.audio, result.moshafId, result.rewayaId, result.apiName);
```
-اضبط `src` لعنصر صوت HTML على الرابط المعاد في `audio` واعرض أدوات التشغيل. يعيد API نفسه JSON، بينما ينزّل المتصفح MP3 من المصدر. تعامل مع حدث الخطأ لعنصر الصوت وأتح للمستخدم اختيار قارئ آخر.
+عند حذف moshaf يفضّل API حفص المرتل الذي يغطي السورة، ثم مصحفًا آخر يغطيها. يفحص الرابط بطلب HEAD ويرفض الصوت غير المتاح. يقتصر بديل Quran.com على التسجيلات الموثقة لنفس القارئ والرواية والأسلوب.
-يستخدم المسار أول مصحف فقط. لا يوجد معامل عام لاختيار المصحف. ينشئ `server + paddedSurah + '.mp3'` دون التحقق من الملف أو السور المتاحة في المصحف. لذلك قد ينجح طلب API ويفشل طلب MP3.
-
-قد تغيب خوادم الصوت عندما يوفر بديل quran.com الفهرس. اعرض حالة عدم توفر بدل اختراع رابط صوت. راجع [مسار الصوت](/locales/ar/api-reference/reciters/audio).
+عدم وجود مصحف مطابق يعيد 404. فشل جميع مصادر الصوت المتاحة يعيد 503. يُخزن الفحص الناجح 15 دقيقة؛ قد يفشل التشغيل لاحقًا. ضع رابط audio في عنصر صوت HTML وأظهر أدوات التشغيل وتعامل مع حدث الخطأ. يعيد API بيانات JSON ويحمل المتصفح الصوت من المصدر. [المسار](/locales/ar/api-reference/reciters/audio).
diff --git a/locales/ar/guides/maintenance.mdx b/locales/ar/guides/maintenance.mdx
index d31a73f..3a9f9ce 100644
--- a/locales/ar/guides/maintenance.mdx
+++ b/locales/ar/guides/maintenance.mdx
@@ -27,7 +27,7 @@ pnpm build
pnpm broken-links
```
-يتحقق أمر الفحص من ملفي OpenAPI، ويترجم MDX، ويفحص الروابط الداخلية وتكافؤ اللغات، ويفحص أنواع أمثلة SDK، ويختبر دالة البحث باستجابات تمثيلية. لا يثبت توفر مصادر المحتوى الخارجية دائمًا.
+يتحقق أمر الفحص من ملفي OpenAPI، ويترجم MDX، ويفحص الروابط الداخلية وتكافؤ اللغات، ويفحص أنواع أمثلة SDK، ويختبر دالة البحث باستجابات تمثيلية. شغّل `pnpm check:api /path/to/built/Bonyan-API` لاختبار كل دوال SDK عبر متحكمات Fastify وWorker الفعلية بمصادر اختبار. لا يثبت ذلك توفر المصادر الحية.
لتغييرات المصادر، شغّل `node scripts/check-source.mjs /path/to/Bonyan-API /path/to/bonyan-sdk-js` على النسخ المسحوبة. راجع المتحكمات والخدمات والأنواع المتغيرة قبل تحديث ملف التثبيت. حافظ على تطابق بنية المسارات في الإنجليزية والعربية، وترجم الشرح مع إبقاء مفاتيح JSON وأسماء الدوال كما هي.
diff --git a/locales/ar/guides/operations.mdx b/locales/ar/guides/operations.mdx
index 301a117..89dcbe3 100644
--- a/locales/ar/guides/operations.mdx
+++ b/locales/ar/guides/operations.mdx
@@ -20,6 +20,6 @@ description: "فسّر الفحوص والعدادات وأخطاء المصاد
| bonyan_api_upstream_failures_total | محاولات المصادر الفاشلة بالوسمين نفسيهما. |
| bonyan_api_upstream_duration_ms_sum | مجموع مدد الطلبات المقاسة بالمللي ثانية. |
-قيم result هي `ok` و`http_error` و`error`. تقيس دالة HTTP المدة حول fetch، وليس تحليل JSON كاملًا أو زمن العميل من البداية للنهاية. مجموع المدد ليس مدرجًا تكراريًا ولا يكفي لحساب مئينات زمن الاستجابة. تتصفّر العدادات مع العملية، وتظهر سلاسل المصادر بعد حدوث الطلبات.
+قيم result هي `ok` و`http_error` و`error`. تقيس دالة HTTP مدة الطلب، وتشمل فك JSON في fetchJson، لكنها لا تشمل تحويل المتحكم أو زمن العميل من البداية للنهاية. مجموع المدد ليس مدرجًا تكراريًا ولا يكفي لحساب مئينات زمن الاستجابة. تتصفّر العدادات مع العملية، وتظهر سلاسل المصادر بعد حدوث الطلبات.
عند 503، سجّل المسار والحالة ومعرّف الطلب، ثم افحص تحذيرات الخادم وعدادات المصادر. أبقِ طلبات المراقبة ضمن الميزانية المضبوطة. لا يتضمن هذا المرجع ضمان توفر منشورًا.
diff --git a/locales/ar/guides/self-hosting.mdx b/locales/ar/guides/self-hosting.mdx
index 688d499..6f4e18f 100644
--- a/locales/ar/guides/self-hosting.mdx
+++ b/locales/ar/guides/self-hosting.mdx
@@ -1,11 +1,11 @@
---
title: "استضافة API ذاتيًا"
-description: "شغّل نسخة Bonyan API واضبطها وتحقق منها."
+description: "التشغيل على Node.js أو Docker أو Cloudflare Workers."
---
-استخدم Node.js 22 أو أحدث لإعداد محلي جديد. يستخدم مستودع API حاليًا pnpm 10.33.4. تحتاج طلبات المحتوى اتصال HTTPS صادرًا إلى مصادر البيانات المضبوطة. لا يضبط هذا الخادم قاعدة بيانات أو مفتاح API للمصادر.
+متطلب خادم API هو Node.js 24 (`>=24 <25`)، ومدير الحزم pnpm 10.33.4. يستخدم SDK والوثائق إعداداتهما الخاصة. لا يحتاج الخادم قاعدة بيانات أو مفتاح API للمصادر، ويحتاج اتصال HTTPS صادرًا للمحتوى الخارجي.
-## التطوير المحلي
+## التشغيل المحلي
```bash
git clone https://github.com/BonyanOSS/Bonyan-API.git
@@ -16,36 +16,7 @@ pnpm install --frozen-lockfile
pnpm dev
```
-لتغيير الافتراضيات، انسخ `.env.example` إلى `.env` قبل التشغيل: باستخدام `cp .env.example .env` على Unix أو `Copy-Item .env.example .env` في PowerShell.
-
-الرابط المحلي `http://localhost:3000`. لا يسجّل التطبيق بادئة `/bonyan-api/v1`؛ أضف البادئة واحذفها في بوابتك فقط إذا كان النشر يحتاجها.
-
-## الإعدادات
-
-```dotenv
-PORT=3000
-HOST=0.0.0.0
-RATE_LIMIT_MAX=120
-RATE_LIMIT_WINDOW=1 minute
-CORS_ORIGIN=*
-TRUST_PROXY=false
-LOG_LEVEL=info
-CACHE_MAX_ENTRIES=1000
-```
-
-
-| المتغير | التأثير |
-| --- | --- |
-| PORT / HOST | منفذ الاستماع وعنوان الربط. استخدم 127.0.0.1 للاستماع محليًا فقط. |
-| RATE_LIMIT_MAX / RATE_LIMIT_WINDOW | ميزانية الطلبات العامة لكل IP ونافذتها. |
-| CORS_ORIGIN | يسمح `*` أو`true` بعكس النطاقات؛ وإلا فقائمة نطاقات مفصولة بفواصل. هذا الإعداد ليس مصادقة. |
-| TRUST_PROXY | تفعّل القيمة المطابقة `true` الثقة بالبروكسي. فعّلها فقط خلف بروكسي موثوق مضبوط بشكل صحيح. |
-| LOG_LEVEL | مستوى سجلات Fastify، افتراضيًا info. |
-| CACHE_MAX_ENTRIES | أقصى عدد لعناصر الكاش داخل العملية، افتراضيًا 1000. |
-
-قد تضبط بيئة التشغيل `NODE_ENV`، لكن منطق إعداد الخادم نفسه لا يتفرع بحسبه. استخدم قيمًا رقمية موجبة للإعدادات الرقمية.
-
-## البناء والتشغيل
+انسخ .env.example إلى .env قبل التشغيل: cp على Unix أو Copy-Item في PowerShell. الرابط المحلي http://localhost:3000 دون بادئة إصدار. المتغيرات PORT وHOST للاستماع، وRATE_LIMIT_MAX وRATE_LIMIT_WINDOW لميزانية الطلبات، وCORS_ORIGIN لقائمة النطاقات، وTRUST_PROXY لثقة البروكسي، وLOG_LEVEL للسجلات، وCACHE_MAX_ENTRIES لسعة الكاش. يفعّل TRUST_PROXY النص true فقط؛ استخدمه خلف بروكسي موثوق.
```bash
pnpm lint:check
@@ -54,15 +25,25 @@ pnpm build
pnpm start
```
-يتضمن المستودع Dockerfile. ابنِ الصورة باستخدام `docker build -t bonyan-api .`، ثم شغّل `docker run --rm -p 3000:3000 --env-file .env bonyan-api`. يستخدم Dockerfile المرفق Node 20 حاليًا؛ هذا اختيار صورة المستودع وليس متطلب تشغيل SDK.
+## Docker
-## تحقق من النشر
+يستخدم Dockerfile صورة Node 24 Alpine ويشغّل dist/server.js. لاختباره:
```bash
-curl --fail-with-body http://localhost:3000/health
-curl --fail-with-body http://localhost:3000/ready
-curl --fail-with-body http://localhost:3000/tafsir
-curl --fail-with-body 'http://localhost:3000/surah/1'
+docker build -t bonyan-api .
+docker run --rm -p 3000:3000 --env-file .env bonyan-api
```
-لا تثبت الطلبات الثلاثة الأولى الاتصال بالمصادر. يختبر طلب السورة مصدر محتوى أو الكاش الموجود. اقرأ `/metrics` كنص؛ وتخضع الصحة والجاهزية والمقاييس لحدود الطلبات أيضًا. راجع [التشغيل والمراقبة](/locales/ar/guides/operations).
+## Cloudflare Workers
+
+يستخدم النشر src/worker.ts بمحول Fetch أصلي وعلم nodejs_compat، دون Fastify داخل Worker ودون حاوية. يضبط wrangler.toml تاريخ التوافق 2026-10-04 والنطاق المخصص api.bonyanoss.org، مع preview_urls=true وworkers_dev=false. إعدادات البيئة في Worker تمر عبر bindings؛ لا تستمع PORT وHOST إلى منفذ داخله.
+
+```bash
+pnpm cloudflare:check
+pnpm cloudflare:startup
+pnpm deploy:cloudflare
+```
+
+يختبر الأمر الأول حزمة النشر دون نشر، ويختبر الثاني بدء Worker عبر /health و/ready و/tafsir. أمر deploy يتطلب حساب Cloudflare ونطاقًا مهيأ. تحذف هجرة v2 فئة الحاوية القديمة؛ أبقِ سجل الهجرات للنشر القائم.
+
+فحوص /health و/ready لا تتصل بالمصادر. أضف طلب محتوى عند اختبار توفرها، واقرأ /metrics كنص. الكاش والحدود خاصان بكل عملية أو عزل Worker. راجع [التشغيل](/locales/ar/guides/operations).
diff --git a/locales/ar/guides/source-status.mdx b/locales/ar/guides/source-status.mdx
index 1491a92..4d84de6 100644
--- a/locales/ar/guides/source-status.mdx
+++ b/locales/ar/guides/source-status.mdx
@@ -1,27 +1,19 @@
---
title: "المصادر والتوافق"
-description: "النسخ المراجعة وسلوك النشر والفروق المعروفة في التنفيذ."
+description: "نسخة API المراجعة وإصدار SDK المنشور."
---
-رُوجع هذا التوثيق في 7 سبتمبر 2026 مقابل:
+تمت المراجعة في 4 أكتوبر 2026.
-| المصدر | الإصدار | النسخة الثابتة |
+| المصدر | الإصدار | دليل المراجعة |
| --- | --- | --- |
-| Bonyan API | 2.0.0 | [e76bc4e](https://github.com/BonyanOSS/Bonyan-API/tree/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4) |
-| مكتبة JavaScript | 1.0.2 | [068e23c](https://github.com/BonyanOSS/bonyan-sdk-js/tree/068e23cdbaeed8095a99c753b75412897905dd8a) |
+| حزمة API | 2.1.0 | [c851b1a](https://github.com/BonyanOSS/Bonyan-API/tree/c851b1a) |
+| عقد OpenAPI | 3.0.0 | العقود الجديدة في OpenAPI وسجل تغييرات API. |
+| SDK | 2.0.0 | [667e5b0](https://github.com/BonyanOSS/bonyan-sdk-js/tree/667e5b0)، وإصدار npm وبصمة الحزمة. |
+| الوثائق | 1.1.0 | عقود مولدة باللغتين وفحوص تكامل. |
-استجاب المساران العامان `/health` و`/ready` عند أصل النطاق أثناء المراجعة. لا يعرضان نسخة الكود، لذلك لا يدّعي التوثيق تطابق النشر مع commit المستودع تمامًا. إصدار الحزمة 2.0.0 لا يعني وجود بادئة URL باسم `/v2`.
+تختلف تسمية الحزمة 2.1.0 عن تسمية العقد 3.0.0 في مستودع API الحالي. تحفظ الوثائق التسميتين وتصف المتحكمات الفعلية عند c851b1a. لا تضيف أي منهما بادئة للمسار. لا تكشف فحوص الخدمة العامة عن كوميت، فلا تثبت مطابقة النسخة المنشورة لهذا المصدر.
-## الفروق المعروفة
+إصدار SDK 2.0.0 منشور على npm من الكوميت المدمج 667e5b0. تثبّت الوثائق نفس الإصدار. تحفظ sources.lock.json بصمة المصدر وبصمة الحزمة في السجل، ويثبّت pnpm-lock.yaml الأرشيف المستخدم.
-| المجال | السلوك الحالي |
-| --- | --- |
-| بحث SDK | يتوقع SDK غلاف بحث متداخلًا، والخادم يعيد غلافًا مسطحًا. استخدم [الدالة البديلة](/locales/ar/sdk/search). |
-| معرّفات التفسير | المعرّفات العامة هي `muyassar` و`jalalayn` و`saadi` و`waseet` و`qurtubi`. تستخدم قيمة edition المعادة معرّف المصدر. |
-| أنواع التفسير | يعلن SDK أن forSurah قد يعيد كائنًا أو مصفوفة؛ يعيد متحكم API هذا مصفوفة حتى مع استعلام aya. |
-| نطاق الحديث | يقبل API فرقًا مقداره 300، أي 301 عنصرًا مع شمول الطرفين. يتحقق SDK من حد 300 عنصر عند إرسال الطرفين. |
-| لغة البحث | قد تصبح الاستعلامات اللاتينية فقط فارغة بعد التطبيع. لا يدعم المتحكم ادعاء البحث الإنجليزي أو التقريبي. |
-| بديل الصلاة | يستخدم pray.zone لطلبات الإحداثيات بتاريخ اليوم فقط ولا يرسل method. |
-| الجاهزية | تعرض حالة العملية والكاش، لا جاهزية المصادر. |
-
-هذه نتائج مراجعة للتوثيق وليست إصلاحات في مستودعي API أوSDK. تصف ملفات OpenAPI المتحكمات والأنواع المراجعة، وتُصان هنا لأن المواصفة الحالية في مستودع API لا تفصّل مخططات الاستجابة.
+يصلح التحديث فك غلاف البحث ويطابق أنواع الاستجابات ويضيف moshaf وtimezone وإلغاء الطلب لكل دالة. يدعم التفسير muyassar وsaadi فقط. يقبل نطاق الحديث 300 رقم شامل الطرفين، وقد يحتوي الترقيم على فجوات. راجع [الهجرة](/locales/ar/sdk/overview) و[الصيانة](/locales/ar/guides/maintenance).
diff --git a/locales/ar/guides/troubleshooting.mdx b/locales/ar/guides/troubleshooting.mdx
index 2790dea..77f0c8b 100644
--- a/locales/ar/guides/troubleshooting.mdx
+++ b/locales/ar/guides/troubleshooting.mdx
@@ -1,19 +1,20 @@
---
title: "حل المشاكل"
-description: "شخّص فشل الطلبات دون تخمين شكل الاستجابة."
+description: "تمييز أخطاء الإعداد والمصادر والتشغيل."
---
-| العَرَض | الفحص والإجراء |
+| المشكلة | التحقق والإجراء |
| --- | --- |
-| كل الطلبات العامة تعيد 404 | استخدم `https://api.bonyanoss.org` واحذف البادئة القديمة `/bonyan-api/v1`. |
-| التفسير يعيد 400 | اجلب معرّفات النسخ من `/tafsir`. استخدم `muyassar` في المسار وليس `ar.muyassar`. |
-| بحث SDK يعيد حقول undefined | استخدم [دالة البحث البديلة](/locales/ar/sdk/search) مع SDK 1.0.2. |
-| البحث الإنجليزي يعيد بيانات غير مقصودة | أرسل نصًا عربيًا. قد تتحول الحروف اللاتينية فقط إلى تطابق فارغ. |
-| الصوت يعيد 404 | اختر قارئًا لديه خادم لأول مصحف. قد يفتقده فهرس المصدر البديل. |
-| رابط الصوت موجود لكن التشغيل يفشل | افحص طلب MP3 نفسه؛ ينشئ API الرابط فقط. |
-| تنتهي مهلة طلب المحتوى | زد مهلة المحاولة للتحميل دون كاش، وتجنب مضاعفة حلقات إعادة المحاولة. |
-| طريقة الصلاة غائبة | افحص apiName؛ بديل pray.zone لا يستقبل طريقة Aladhan. |
-| الصحة ناجحة والمحتوى يفشل | افحص مسار محتوى وأخطاء المصادر. فحص الصحة لا يتصل بالمصادر. |
-| كتاب الحديث يعيد 503 | طابق معرّف الكتاب مع الفهرس الحالي قبل افتراض التعطل. |
+| كل الطلبات 404 | استخدم https://api.bonyanoss.org دون بادئة /bonyan-api/v1. |
+| التفسير 400 | استخدم muyassar أو saadi؛ استخرج القائمة من /tafsir. |
+| بحث SDK يعيد undefined | حدّث إلى الإصدار 2.0.0؛ راجع دليل التثبيت. |
+| البحث الإنجليزي يطابق نتائج غير مقصودة | استخدم نصًا عربيًا ذا معنى؛ قد يصبح الاستعلام اللاتيني فارغًا بعد التطبيع. |
+| الصوت 404 | تحقق من ملكية moshaf للقارئ وتغطية surahList للسورة. |
+| الصوت 503 | فشل فحص HEAD لدى جميع المصادر المتاحة. |
+| فشل تشغيل رابط ناجح | افحص طلب الصوت في المتصفح؛ قد تغير المصدر بعد فحص API. |
+| توقيت الصلاة غير متوقع | افحص timezone وmethod؛ الافتراضي UTC والطريقة 4. |
+| الصلاة باسم مدينة 503 | المصدر غير متاح؛ جرب إحداثيات لتفعيل الحساب المحلي. |
+| الكتاب 404 | تحقق من معرّف الكتاب؛ وقد تكون فجوة الترقيم سبب غياب حديث. |
+| health ناجح والمحتوى يفشل | health لا يفحص المصادر؛ افحص المسار ومعرّف الطلب والمقاييس. |
-عند الإبلاغ عن مشكلة، أرفق المسار والاستعلام والحالة ومعرّف الطلب ونسخة SDK ومثالًا صغيرًا. حدد هل استخدمت الخدمة العامة أم خادمك. أبلغ عن مشاكل API في [Bonyan-API](https://github.com/BonyanOSS/Bonyan-API/issues)، ومشاكل SDK في [bonyan-sdk-js](https://github.com/BonyanOSS/bonyan-sdk-js/issues)، وتصحيحات التوثيق في [docs](https://github.com/BonyanOSS/docs/issues).
+أرفق المسار والمعاملات وحالة HTTP ومعرّف الطلب وإصدار SDK ومثالًا مختصرًا عند الإبلاغ. راجع [تثبيت SDK](/locales/ar/sdk/overview).
diff --git a/locales/ar/introduction.mdx b/locales/ar/introduction.mdx
index 1482206..b5e3aae 100644
--- a/locales/ar/introduction.mdx
+++ b/locales/ar/introduction.mdx
@@ -26,4 +26,4 @@ description: "القرآن والمحتوى الإسلامي عبر HTTP API و
استخدم قائمة اللغات لتغيير لغة التوثيق والتنقل. تبقى المسارات وأسماء دوال SDK ومفاتيح JSON كما هي. اختيار الإنجليزية في التوثيق **لا يترجم** نص القرآن أو التفسير أو الحديث. لا يوجد معامل عام باسم `lang` في API.
-يغطي التوثيق كود API بإصدار 2.0.0 وSDK بإصدار 1.0.2. راجع [نسخ المصادر والفروق المعروفة](/locales/ar/guides/source-status).
+يغطي التوثيق حزمة API بإصدار 2.1.0 (عقد OpenAPI بإصدار 3.0.0) وإصدار SDK 2.0.0. راجع [نسخ المصادر والفروق المعروفة](/locales/ar/guides/source-status).
diff --git a/locales/ar/openapi.yaml b/locales/ar/openapi.yaml
index 97a2aed..78ee107 100644
--- a/locales/ar/openapi.yaml
+++ b/locales/ar/openapi.yaml
@@ -2,12 +2,12 @@
openapi: 3.1.0
info:
title: Bonyan API
- version: 2.0.0
+ version: 3.0.0
description: واجهة HTTP للقرآن والتفسير والقراء والأذكار والحديث ومواقيت الصلاة والتقويم والقبلة. لغة التوثيق لا تغيّر لغة المحتوى.
license:
name: MIT
identifier: MIT
- x-source-revision: e76bc4e114f2f174bc93d0c7f90b163f0721a9f4
+ x-source-revision: c851b1a610c5169d3bffd822ed68886338ea3067
servers:
- url: https://api.bonyanoss.org
description: الخدمة العامة
@@ -149,7 +149,7 @@ paths:
tags:
- surah
summary: قائمة السور
- description: يعيد فهرس السور داخل data.surah. يحتوي أسماء وبيانات السور دون نص الآيات.
+ description: يعيد فهرس السور الـ114 كاملًا بأسماء عربية ثابتة وحقل makkia مطلوب.
parameters: []
responses:
"200":
@@ -419,7 +419,7 @@ paths:
type: integer
minimum: 1
example: 1
- description: رقم الآية داخل السورة. النتيجة الفارغة تعيد 404؛ وقد يعيد رفض مصادر التفسير 503 عند فشل جميع المصادر المضبوطة.
+ description: رقم آية موجب داخل السورة. الآية غير الموجودة تعيد 404.
responses:
"200":
description: نجاح
@@ -468,10 +468,7 @@ paths:
tags:
- ayat
summary: البحث في نص القرآن
- description: |-
- يعيد {success, total, data: [...]}. يحسب total النتائج المعادة بعد تطبيق الحد، وليس جميع التطابقات في القرآن.
-
- توجد مشكلة في فك الاستجابة داخل client.ayat.search() في SDK 1.0.2. استخدم مثال fetch هنا أو الدالة البديلة في دليل SDK.
+ description: "يعيد {success, total, data: [...]}؛ total هو عدد النتائج المعادة بعد limit. كل نتيجة تحتوي apiName."
parameters:
- name: text
in: query
@@ -490,7 +487,7 @@ paths:
minimum: 1
maximum: 500
example: 10
- description: حد النتائج وليس ترقيم صفحات. يضبطه الخادم بين 1 و500؛ الصفر أو القيمة غير القابلة للتحليل تعود إلى 50.
+ description: الحد الأقصى للنتائج. القيمة الافتراضية 50؛ القيم غير الصالحة تعيد 400.
responses:
"200":
description: نجاح
@@ -539,7 +536,7 @@ paths:
tags:
- reciters
summary: قائمة القراء
- description: يعيد القراء داخل data.reciters. قد يحذف المصدر البديل المصاحف وبيانات خادم الصوت.
+ description: يعيد القراء داخل data.reciters. لكل قارئ مصاحف moshaf تحتوي surahList وrewayaId وtype. تحافظ النسخة المحلية على المعرّفات والمصاحف عند تعذر المصدر.
parameters: []
responses:
"200":
@@ -577,15 +574,16 @@ paths:
tags:
- reciters
summary: بيانات قارئ
- description: يبحث عن المعرّف في فهرس المصدر المخزّن حاليًا.
+ description: يبحث بمعرّف قارئ ثابت من mp3quran في الفهرس الحالي أو النسخة المحلية.
parameters:
- name: id
in: path
required: true
schema:
type: integer
+ minimum: 1
example: 1
- description: المعرّف الذي يعيده فهرس القراء. المعرّفات مرتبطة بالمصدر.
+ description: معرّف القارئ من mp3quran، محفوظ في النسخة المحلية.
responses:
"200":
description: نجاح
@@ -693,17 +691,18 @@ paths:
- reciters
summary: رابط صوت السورة
description: |-
- ينشئ الرابط من خادم أول مصحف ورقم السورة بثلاث خانات. يعيد JSON وليس بثًا صوتيًا.
+ يختار مصحفًا يغطي السورة، مع تفضيل حفص المرتل عند حذف moshaf. يفحص الصوت بطلب HEAD قبل إعادة رابط JSON وبيانات المصحف.
- لا يتحقق API من وجود ملف MP3. قد يفتقد قارئ من quran.com بيانات المصحف فتُعاد 404. اختر قارئًا له moshaf قبل طلب الصوت.
+ moshaf هو معرّف مصحف من فهرس القارئ. عدم تغطية السورة يعيد 404؛ فشل مصادر الصوت المتاحة يعيد 503. يقتصر بديل Quran.com على مصاحف حفص المرتلة ذات المطابقة الموثقة.
parameters:
- name: id
in: path
required: true
schema:
type: integer
- example: 1
- description: المعرّف الذي يعيده فهرس القراء. المعرّفات مرتبطة بالمصدر.
+ minimum: 1
+ example: 123
+ description: معرّف القارئ من mp3quran، محفوظ في النسخة المحلية.
- name: surah
in: path
required: true
@@ -713,6 +712,14 @@ paths:
maximum: 114
example: 1
description: رقم السورة من 1 إلى 114.
+ - name: moshaf
+ in: query
+ required: false
+ schema:
+ type: integer
+ minimum: 1
+ example: 7
+ description: معرّف مصحف اختياري تابع لهذا القارئ.
responses:
"200":
description: نجاح
@@ -761,7 +768,7 @@ paths:
tags:
- tafsir
summary: نسخ التفسير
- description: يعرض معرّفات نسخ التفسير الخمس وأسماءها العربية. الفهرس محلي ولا يفحص توفر المصادر.
+ description: "يعرض معرّفي التفسير المدعومين: muyassar وsaadi. الفهرس محلي ولا يفحص توفر المصادر."
parameters: []
responses:
"200":
@@ -793,7 +800,7 @@ paths:
tags:
- tafsir
summary: تفسير سورة
- description: يعيد مصفوفة حتى عند تحديد آية واحدة بالمعامل aya. حقل edition المعاد يستخدم معرّف المصدر.
+ description: يعيد مصفوفة TafsirItem حتى مع مرشح aya الاختياري. حقل edition هو المعرّف العام muyassar أوsaadi في جميع المصادر.
parameters:
- name: edition
in: path
@@ -802,10 +809,7 @@ paths:
type: string
enum:
- muyassar
- - jalalayn
- saadi
- - waseet
- - qurtubi
example: muyassar
description: معرّف النسخة من GET /tafsir. استخدم muyassar وليس ar.muyassar.
- name: surah
@@ -824,7 +828,7 @@ paths:
type: integer
minimum: 1
example: 1
- description: آية اختيارية داخل السورة. تبقى الاستجابة مصفوفة.
+ description: رقم آية موجب داخل السورة. الآية غير الموجودة تعيد 404.
responses:
"200":
description: نجاح
@@ -873,7 +877,7 @@ paths:
tags:
- tafsir
summary: تفسير آية
- description: يعيد كائن تفسير واحد. لنسخة muyassar مصدران، ولكل نسخة أخرى مصدر واحد.
+ description: يعيد عنصر تفسير واحدًا. يدعم muyassar وsaadi فقط؛ النسخ غير المدعومة تعيد 400 قبل طلب المصدر.
parameters:
- name: edition
in: path
@@ -882,10 +886,7 @@ paths:
type: string
enum:
- muyassar
- - jalalayn
- saadi
- - waseet
- - qurtubi
example: muyassar
description: معرّف النسخة من GET /tafsir. استخدم muyassar وليس ar.muyassar.
- name: surah
@@ -904,7 +905,7 @@ paths:
type: integer
minimum: 1
example: 1
- description: رقم الآية داخل السورة. النتيجة الفارغة تعيد 404؛ وقد يعيد رفض مصادر التفسير 503 عند فشل جميع المصادر المضبوطة.
+ description: رقم آية موجب داخل السورة. الآية غير الموجودة تعيد 404.
responses:
"200":
description: نجاح
@@ -1049,10 +1050,7 @@ paths:
tags:
- azkar
summary: البحث في الأذكار
- description: |-
- يعيد {success, total, data: [...]} مع التصنيف والذكر لكل نتيجة. total هو عدد النتائج المعادة بعد تطبيق limit.
-
- توجد مشكلة في فك الاستجابة داخل client.azkar.search() في SDK 1.0.2. استخدم fetch أو الدالة البديلة في دليل SDK.
+ description: "يعيد {success, total, data: [...]}؛ كل نتيجة تحتوي category وitem وapiName. عدم وجود نتائج يعيد 404."
parameters:
- name: text
in: query
@@ -1071,7 +1069,7 @@ paths:
minimum: 1
maximum: 200
example: 10
- description: حد النتائج وليس ترقيم صفحات. يضبطه الخادم بين 1 و200؛ الصفر أو القيمة غير القابلة للتحليل تعود إلى 50.
+ description: الحد الأقصى للنتائج. القيمة الافتراضية 50؛ القيم غير الصالحة تعيد 400.
responses:
"200":
description: نجاح
@@ -1164,7 +1162,7 @@ paths:
tags:
- hadith
summary: كتب الحديث
- description: يعيد معرّفات الكتب وأسماءها وأعداد الأحاديث من المصدر المستخدم. استخرج المعرّفات هنا بدل افتراض قائمة ثابتة.
+ description: يعرض الكتب التسعة المدعومة من بيانات محلية موثقة. يحسب available الأحاديث المخزنة فعليًا، ولا يمثل أكبر رقم حديث.
parameters: []
responses:
"200":
@@ -1203,9 +1201,9 @@ paths:
- hadith
summary: نطاق أحاديث
description: |-
- يعيد book وavailable وhadiths داخل data. طرفا النطاق مشمولان؛ from الافتراضي 1 وto الافتراضي from + 29.
+ يعيد book وavailable وhadiths داخل data. النطاق شامل طرفيه؛ from الافتراضي 1 وto الافتراضي from+29. يقبل 300 رقم حديث كحد أقصى.
- يرفض API حاليًا to - from > 300، فيقبل 301 عنصرًا عند شمول الطرفين. يرفض SDK 1.0.2 أكثر من 300 عند إرسال الطرفين. استخدم 300 أو أقل للتوافق. قد يعيد النطاق الفارغ 200 مع hadiths: [].
+ قد تحتوي الأرقام على فجوات. قد يعيد النطاق أحاديث أقل أو مصفوفة فارغة. available هو عدد الأحاديث المخزنة، فلا تستخدمه حدًا أعلى لأرقام البحث. الكتب المجهولة تعيد 404.
parameters:
- name: book
in: path
@@ -1214,7 +1212,7 @@ paths:
type: string
minLength: 1
example: bukhari
- description: معرّف الكتاب من GET /hadith. قد يعيد المعرّف المجهول 503 إذا رفضه المصدران.
+ description: معرّف الكتاب من GET /hadith. المعرّف المجهول يعيد 404.
- name: from
in: query
required: false
@@ -1245,6 +1243,12 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/Error"
+ "404":
+ description: لم يوجد العنصر أو التطابق المطلوب.
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
"429":
description: تجاوز حد الطلبات. التزم بترويسة Retry-After عند وجودها.
headers:
@@ -1283,7 +1287,7 @@ paths:
type: string
minLength: 1
example: bukhari
- description: معرّف الكتاب من GET /hadith. قد يعيد المعرّف المجهول 503 إذا رفضه المصدران.
+ description: معرّف الكتاب من GET /hadith. المعرّف المجهول يعيد 404.
- name: number
in: path
required: true
@@ -1340,7 +1344,7 @@ paths:
tags:
- hadith
summary: حديث عشوائي
- description: يختار كتابًا ثم رقم حديث وفق العدد المتاح. يمكن تقييد الكتاب. تحتوي النتيجة book وhadith.
+ description: يختار حديثًا مخزنًا فعليًا من الكتاب المختار، فلا تؤدي فجوات الترقيم إلى نتيجة عشوائية فارغة. يمكن تقييد الاختيار بمعرّف كتاب.
parameters:
- name: book
in: query
@@ -1348,7 +1352,7 @@ paths:
schema:
type: string
example: bukhari
- description: معرّف كتاب مطابق اختياري. المعرّف المجهول يعيد 404.
+ description: معرّف الكتاب من GET /hadith. المعرّف المجهول يعيد 404.
responses:
"200":
description: نجاح
@@ -1392,9 +1396,9 @@ paths:
- prayer
summary: مواقيت الصلاة
description: |-
- أرسل latitude وlongitude أو city وcountry. عند إرسال الزوجين، تُجرّب إحداثيات Aladhan قبل البحث باسم المدينة.
+ أرسل latitude وlongitude أوcity وcountry. الإحداثيات لها الأولوية عند إرسال الاثنين. طريقة الحساب الافتراضية 4 والمنطقة الزمنية UTC، وتعيد سبعة أوقات بصيغة HH:mm.
- يتاح بديل pray.zone لطلبات الإحداثيات بتاريخ اليوم على خادم API فقط. لا يستقبل method وقد يحذف method وcoordinates من النتيجة. افحص apiName قبل افتراض ثبات طريقة الحساب. يتحقق هذا المتحكم من كون الإحداثيات أرقامًا دون فرض حدودها الجغرافية؛ يفرض SDK الحدود.
+ طرق الحساب المدعومة: 1 و2 و3 و4 و5 و9 و10 و11. يتطلب بديل adhan المحلي إحداثيات ويحافظ على التاريخ والطريقة والمنطقة الزمنية. لا يوجد تحويل محلي لأسماء المدن إلى إحداثيات؛ تعذر المصدر يعيد 503. قد يغيب hijri في النتيجة المحلية.
parameters:
- name: date
in: query
@@ -1403,12 +1407,14 @@ paths:
type: string
pattern: ^\d{2}-\d{2}-\d{4}$
example: 01-01-2026
- description: تاريخ ميلادي بصيغة DD-MM-YYYY. عند حذفه أو تركه فارغًا يستخدم تاريخ خادم API الحالي. التحقق من الصيغة فقط، وليس صحة اليوم في التقويم.
+ description: تاريخ بصيغة DD-MM-YYYY. يجب أن يكون تاريخًا ميلاديًا صحيحًا بسنة لا تقل عن 1000. عند حذفه أو تركه فارغًا يستخدم تاريخ خادم API.
- name: latitude
in: query
required: false
schema:
type: number
+ minimum: -90
+ maximum: 90
example: 21.4225
description: خط العرض بالدرجات العشرية؛ أرسله مع خط الطول.
- name: longitude
@@ -1416,6 +1422,8 @@ paths:
required: false
schema:
type: number
+ minimum: -180
+ maximum: 180
example: 39.8262
description: خط الطول بالدرجات العشرية؛ أرسله مع خط العرض.
- name: city
@@ -1437,8 +1445,26 @@ paths:
required: false
schema:
type: integer
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 9
+ - 10
+ - 11
+ default: 4
example: 4
- description: معرّف طريقة الحساب لدى Aladhan. عند حذفه يستخدم المصدر افتراضيه.
+ description: طريقة الحساب المدعومة. القيمة الافتراضية 4 هي أم القرى.
+ - name: timezone
+ in: query
+ required: false
+ schema:
+ type: string
+ default: UTC
+ example: Asia/Riyadh
+ description: منطقة زمنية من IANA لتنسيق الأوقات بصيغة HH:mm.
responses:
"200":
description: نجاح
@@ -1481,7 +1507,7 @@ paths:
tags:
- hijri
summary: تاريخ اليوم بالتقويمين
- description: يحوّل تاريخ خادم API الميلادي الحالي عبر Aladhan. لا يستخدم المنطقة الزمنية للمتصفح.
+ description: يحوّل تاريخ خادم API بتقويم islamic-umalqura الثابت. لا يستخدم منطقة المتصفح الزمنية.
parameters: []
responses:
"200":
@@ -1519,7 +1545,7 @@ paths:
tags:
- hijri
summary: من الميلادي إلى الهجري
- description: يعيد تمثيل التاريخ بالتقويمين. Aladhan هو المصدر الوحيد المضبوط.
+ description: يعيد التقويمين وحقل calendar=islamic-umalqura. تُطابق نتيجة Aladhan UAQ مع تحويل Intl المحلي، الذي يُستخدم أيضًا مصدرًا بديلًا.
parameters:
- name: date
in: query
@@ -1528,7 +1554,7 @@ paths:
type: string
pattern: ^\d{2}-\d{2}-\d{4}$
example: 01-01-2026
- description: تاريخ ميلادي بصيغة DD-MM-YYYY. عند حذفه أو تركه فارغًا يستخدم تاريخ خادم API الحالي. التحقق من الصيغة فقط، وليس صحة اليوم في التقويم.
+ description: تاريخ بصيغة DD-MM-YYYY. يجب أن يكون تاريخًا ميلاديًا صحيحًا بسنة لا تقل عن 1000. عند حذفه أو تركه فارغًا يستخدم تاريخ خادم API.
responses:
"200":
description: نجاح
@@ -1571,7 +1597,7 @@ paths:
tags:
- hijri
summary: من الهجري إلى الميلادي
- description: يحوّل تاريخًا هجريًا مطلوبًا. تأتي أسماء الأشهر وأيام الأسبوع من المصدر.
+ description: يحوّل تاريخًا هجريًا مطلوبًا بتقويم islamic-umalqura. يتحقق من اليوم 1..30 والشهر 1..12 والسنة 1..2400 قبل طلب المصدر.
parameters:
- name: date
in: query
@@ -1580,7 +1606,7 @@ paths:
type: string
pattern: ^\d{2}-\d{2}-\d{4}$
example: 01-09-1447
- description: تاريخ هجري بصيغة DD-MM-YYYY. مطلوب. التحقق من الصيغة فقط، وليس صحة اليوم في التقويم.
+ description: تاريخ بصيغة DD-MM-YYYY. اليوم الهجري 1..30 والشهر 1..12 والسنة 1..2400.
responses:
"200":
description: نجاح
@@ -1806,6 +1832,7 @@ components:
required:
- id
- name
+ - makkia
- apiName
properties:
id:
@@ -1818,7 +1845,7 @@ components:
description: اسم السورة من المصدر.
makkia:
type: boolean
- description: هل السورة مكية، إذا وفر المصدر القيمة.
+ description: هل السورة مكية.
apiName:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
@@ -1826,6 +1853,7 @@ components:
- mp3quran.net
- alquran.cloud
- quran.com
+ - local
Aya:
type: object
required:
@@ -1866,12 +1894,14 @@ components:
enum:
- alquran.cloud
- cdn.jsdelivr.net/fawazahmed0/quran-api
+ - quran.com
AyaLookup:
type: object
required:
- surahNumber
- surahName
- aya
+ - apiName
properties:
surahNumber:
type: integer
@@ -1881,12 +1911,22 @@ components:
description: اسم السورة.
aya:
$ref: "#/components/schemas/Aya"
+ apiName:
+ type: string
+ description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
+ enum:
+ - alquran.cloud
+ - cdn.jsdelivr.net/fawazahmed0/quran-api
+ - quran.com
Moshaf:
type: object
required:
- id
- name
- server
+ - surahList
+ - rewayaId
+ - type
properties:
id:
type: integer
@@ -1898,11 +1938,24 @@ components:
type: string
description: الرابط الأساسي لخادم الصوت.
format: uri
+ surahList:
+ type: array
+ items:
+ type: integer
+ minimum: 1
+ maximum: 114
+ rewayaId:
+ type: integer
+ description: معرّف الرواية.
+ type:
+ type: integer
+ description: نوع التسجيل؛ 11 للمرتل.
Reciter:
type: object
required:
- id
- name
+ - moshaf
- apiName
properties:
id:
@@ -1918,23 +1971,21 @@ components:
type: array
items:
$ref: "#/components/schemas/Moshaf"
- style:
- type:
- - string
- - "null"
- description: أسلوب التلاوة إذا توفر.
apiName:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- mp3quran.net
- - quran.com
+ - local
ReciterAudio:
type: object
required:
- reciter
- surah
- audio
+ - moshafId
+ - rewayaId
+ - apiName
properties:
reciter:
type: string
@@ -1944,8 +1995,20 @@ components:
description: رقم السورة.
audio:
type: string
- description: رابط MP3 منشأ؛ لا يجري التحقق من وجود الملف.
+ description: رابط صوت جرى فحصه بطلب HEAD قبل التخزين؛ قد يفشل التشغيل لاحقًا.
format: uri
+ moshafId:
+ type: integer
+ description: معرّف المصحف المختار.
+ rewayaId:
+ type: integer
+ description: معرّف الرواية المختارة.
+ apiName:
+ type: string
+ description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
+ enum:
+ - mp3quran.net
+ - quran.com
TafsirEdition:
type: object
required:
@@ -1957,10 +2020,7 @@ components:
description: معرّف النسخة العام المقبول في المسار.
enum:
- muyassar
- - jalalayn
- saadi
- - waseet
- - qurtubi
label:
type: string
description: اسم النسخة بالعربية.
@@ -1984,13 +2044,18 @@ components:
description: نص المصدر كما يعيده API. لغة التوثيق لا تترجم المحتوى.
edition:
type: string
- description: معرّف النسخة لدى المصدر مثل ar.muyassar أو arabic_moyassar. يختلف عن المعرّف العام في المسار.
+ description: معرّف النسخة العام، ثابت عبر المصادر.
+ enum:
+ - muyassar
+ - saadi
apiName:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- alquran.cloud
- quranenc.com
+ - quran.com
+ - cdn.jsdelivr.net/spa5k/tafsir_api
AzkarCategorySummary:
type: object
required:
@@ -2008,8 +2073,8 @@ components:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- - github.com/nawafalqari
- - hisnmuslim.com
+ - cdn.jsdelivr.net/rn0x/hisn_almuslim_json
+ - raw.githubusercontent.com/rn0x/hisn_almuslim_json
AzkarItem:
type: object
required:
@@ -2052,19 +2117,26 @@ components:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- - github.com/nawafalqari
- - hisnmuslim.com
+ - cdn.jsdelivr.net/rn0x/hisn_almuslim_json
+ - raw.githubusercontent.com/rn0x/hisn_almuslim_json
AzkarPick:
type: object
required:
- category
- item
+ - apiName
properties:
category:
type: string
description: اسم التصنيف.
item:
$ref: "#/components/schemas/AzkarItem"
+ apiName:
+ type: string
+ description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
+ enum:
+ - cdn.jsdelivr.net/rn0x/hisn_almuslim_json
+ - raw.githubusercontent.com/rn0x/hisn_almuslim_json
HadithBook:
type: object
required:
@@ -2081,13 +2153,14 @@ components:
description: اسم الكتاب.
available:
type: integer
- description: عدد الأحاديث الذي يذكره المصدر.
+ description: عدد الأحاديث الفعلية، ولا يمثل أكبر رقم عند وجود فجوات في الترقيم.
apiName:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- - hadith.gading.dev
- - cdn.jsdelivr.net/sutanlab/hadith-api
+ - cdn.jsdelivr.net/gadingnst/hadith-api
+ - raw.githubusercontent.com/gadingnst/hadith-api
+ - local
Hadith:
type: object
required:
@@ -2109,8 +2182,9 @@ components:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- - hadith.gading.dev
- - cdn.jsdelivr.net/sutanlab/hadith-api
+ - cdn.jsdelivr.net/gadingnst/hadith-api
+ - raw.githubusercontent.com/gadingnst/hadith-api
+ - local
HadithRange:
type: object
required:
@@ -2132,38 +2206,41 @@ components:
type: object
required:
- Fajr
+ - Sunrise
- Dhuhr
- Asr
+ - Sunset
- Maghrib
- Isha
properties:
Fajr:
type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
+ description: وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Sunrise:
type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
+ description: وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Dhuhr:
type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
+ description: وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Asr:
type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
+ description: وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Sunset:
type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
+ description: وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Maghrib:
type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
+ description: وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Isha:
type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
- Imsak:
- type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
- Midnight:
- type: string
- description: وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.
+ description: وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Coordinates:
type: object
required:
@@ -2181,6 +2258,9 @@ components:
required:
- date
- timings
+ - timezone
+ - method
+ - coordinates
- apiName
properties:
date:
@@ -2196,17 +2276,21 @@ components:
description: اسم طريقة الحساب إذا توفر.
coordinates:
$ref: "#/components/schemas/Coordinates"
+ timezone:
+ type: string
+ description: منطقة IANA الزمنية؛ الافتراضي UTC.
apiName:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- aladhan.com
- - pray.zone
+ - local
HijriDate:
type: object
required:
- hijri
- gregorian
+ - calendar
- apiName
properties:
hijri:
@@ -2261,11 +2345,16 @@ components:
year:
type: string
description: السنة كنص.
+ calendar:
+ type: string
+ description: تقويم أم القرى الثابت.
+ const: islamic-umalqura
apiName:
type: string
description: المصدر الذي أعاد هذه النتيجة. قد تختلف الحقول الاختيارية حسب المصدر.
enum:
- aladhan.com
+ - local
Qibla:
type: object
required:
diff --git a/locales/ar/quickstart.mdx b/locales/ar/quickstart.mdx
index 1385551..3daec05 100644
--- a/locales/ar/quickstart.mdx
+++ b/locales/ar/quickstart.mdx
@@ -30,10 +30,10 @@ console.log(body.data.aya.text);
## 3. استخدم SDK في Node.js
-استخدم Node.js 22 أو أحدث وملف ESM مثل `example.mjs`.
+استخدم Node.js 22.12 أو أحدث وملف ESM مثل `example.mjs`.
```bash
-npm install @bonyanoss/bonyan-api@1.0.2
+npm install ./bonyanoss-bonyan-api-2.0.0.tgz
```
@@ -45,6 +45,8 @@ const result = await client.ayat.getById(1);
console.log(result.aya.text);
```
+ثبّت @bonyanoss/bonyan-api@2.0.0 من npm. راجع [تثبيت SDK](/locales/ar/sdk/overview).
+
يفك SDK غلاف النجاح، لذا استخدم `result.aya.text` دون `result.data`.
## 4. تعامل مع الفشل
diff --git a/locales/ar/sdk/configuration.mdx b/locales/ar/sdk/configuration.mdx
index afa2f50..f39aa21 100644
--- a/locales/ar/sdk/configuration.mdx
+++ b/locales/ar/sdk/configuration.mdx
@@ -1,33 +1,32 @@
---
-title: "إعداد العميل"
-description: "الرابط الأساسي والمهلة والمحاولات والترويسات وfetch المخصص."
+title: "إعداد العميل والطلبات"
+description: "الرابط والمهلة والمحاولات والترويسات وإلغاء الطلب."
---
```ts
import { BonyanClient } from '@bonyanoss/bonyan-api';
-const client = new BonyanClient({
- baseUrl: 'https://api.bonyanoss.org',
- timeoutMs: 45000,
- retry: 1,
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const controller = new AbortController();
+const pending = client.ayat.search('الله', { limit: 10 }, {
+ signal: controller.signal,
+ timeoutMs: 20000,
headers: { 'X-Application': 'my-app' },
- fetch: globalThis.fetch.bind(globalThis),
});
-console.log(await client.health());
+controller.abort();
+await pending.catch(console.error);
+console.log(await client.health({ timeoutMs: 2000 }));
```
+| الخيار | الافتراضي |
+| --- | --- |
+| baseUrl | https://api.bonyanoss.org |
+| timeoutMs | 10000 |
+| retry | 3 |
+| headers | Accept: application/json |
+| fetch | globalThis.fetch |
+| userAgent | غير محدد |
-| الخيار | الافتراضي | المعنى |
-| --- | --- | --- |
-| `baseUrl` | `https://api.bonyanoss.org` | النطاق وبادئة النشر إن وجدت؛ تُحذف الشرطات المائلة الأخيرة. |
-| `timeoutMs` | `10000` | مهلة كل محاولة بالمللي ثانية. |
-| `retry` | `3` | المحاولات الإضافية بعد الطلب الأول. استخدم عددًا صحيحًا غير سالب؛ الصفر يعطّل الإعادة. |
-| `headers` | `Accept: application/json` | ترويسات إضافية تُدمج فوق الافتراضيات. |
-| `fetch` | fetch العام | بديل بتوقيع fetch القياسي للاختبارات أو التحكم بالنقل. |
-| `userAgent` | غير مضبوط | ترويسة User-Agent اختيارية؛ يختلف سلوكها بحسب المتصفح. |
+تقبل كل دالة BonyanRequestOptions في المعامل الأخير: signal وtimeoutMs وheaders. إذا كانت للدالة خيارات مثل limit أو moshaf، أرسلها أولًا. تقبل timeoutMs عددًا صحيحًا موجبًا حتى 2147483647، وتقبل retry عددًا صحيحًا غير سالب. تطبق المهلة لكل محاولة؛ استخدم signal لتحديد مهلة للعملية كاملة. الإلغاء يوقف الطلب الجاري وانتظار إعادة المحاولة، والإشارة الملغاة مسبقًا تمنع fetch.
-إذا كانت بوابتك تستخدم بادئة مسار، ضمّن البادئة كاملة في `baseUrl`. يضيف SDK مسارات الموارد بعدها. النشر العام الذي راجعناه لا يحتاج بادئة.
-
-لا تعرض دوال الموارد خيارات مهلة أو ترويسات أو AbortSignal لكل استدعاء في الإصدار 1.0.2. توجد هذه الخيارات في عميل HTTP الداخلي لكنها ليست جزءًا من دوال الموارد المصدّرة. استخدم عملاء منفصلين لسياسات المهل المختلفة، أو fetch عند الحاجة إلى إلغاء طلب بعينه.
-
-لا يوفر SDK كاش للاستجابات أو تدفق مصادقة أو تحققًا وقت التشغيل من كل حقل معاد. تصف أنواع TypeScript البيانات المتوقعة؛ تحقق من الحقول التي يعتمد عليها تطبيقك.
+تُدمج أسماء الترويسات دون حساسية لحالة الأحرف. يمكن أن يحتوي baseUrl بادئة بوابة؛ تُحذف الشرطات المائلة النهائية وتُلحق مسارات الموارد. سلوك User-Agent في المتصفح يعتمد على المنصة. لا يخزن SDK الاستجابات ولا يتحقق من كل حقل وقت التشغيل؛ يرفض غلاف النجاح أو البحث غير الصالح.
diff --git a/locales/ar/sdk/errors.mdx b/locales/ar/sdk/errors.mdx
index 6456c7c..d986e1b 100644
--- a/locales/ar/sdk/errors.mdx
+++ b/locales/ar/sdk/errors.mdx
@@ -33,6 +33,6 @@ try {
تصدّر الحزمة أيضًا دوال فحص الأنواع `isValidationError` و`isBonyanApiError` و`isBonyanRequestError`. قد يغيب رمز الخطأ أو معرّف الطلب عندما يصدر الخطأ عن بروكسي.
-التحقق من الإدخال أشد من بعض متحكمات API: يحدد SDK رقم الآية داخل السورة بين 1 و286، ويفرض حدود الإحداثيات، ويحدد نطاق الحديث الصريح بـ300 عنصر. قد يعيد الخادم 404 أو503 حتى إذا اجتاز الإدخال تحقق SDK.
+يشمل التحقق صحة التاريخ الميلادي وحدود التاريخ الهجري وطرق الصلاة ومناطقها الزمنية ونسخ التفسير والإحداثيات ونطاق الحديث الشامل بحدوده الافتراضية. يحدد SDK رقم الآية داخل السورة بين 1 و286. قد يعيد الخادم 404 أو503 حتى إذا اجتاز الإدخال تحقق SDK.
راجع [سلوك إعادة المحاولة](/locales/ar/concepts/rate-limit). تجنب إضافة حلقة إعادة محاولة تلقائية حول SDK دون احتساب محاولاته الحالية.
diff --git a/locales/ar/sdk/overview.mdx b/locales/ar/sdk/overview.mdx
index 06358ce..b0eca3f 100644
--- a/locales/ar/sdk/overview.mdx
+++ b/locales/ar/sdk/overview.mdx
@@ -1,49 +1,31 @@
---
-title: "مكتبة JavaScript وTypeScript"
-description: "ثبّت SDK 1.0.2 وافهم القيم التي تعيدها دواله."
+title: "SDK لـ JavaScript وTypeScript"
+description: "استخدام الإصدار 2.0.0 والهجرة من 1.0.2."
---
-اسم الحزمة الرسمية `@bonyanoss/bonyan-api`. تدعم ESM وCommonJS، وتضم أنواع TypeScript، وتحدد Node.js 22 أو أحدث كمتطلب. تحتاج تطبيقات المتصفح واجهات fetch وAbortController وURL؛ استخدم أداة تجميع تطبيقك.
+الحزمة الرسمية @bonyanoss/bonyan-api تدعم ESM وCommonJS وتحتوي أنواع TypeScript. تتطلب Node.js 22.12 أو أحدث. يمكن لتطبيقات المتصفح استخدام مجمع حزم وواجهات fetch وURL وAbortController.
+
+إصدار SDK 2.0.0 متوفر على npm. تتحقق الوثائق من الأمثلة والتكامل مع API باستخدام نفس الإصدار المنشور.
```bash
-npm install @bonyanoss/bonyan-api@1.0.2
+npm install @bonyanoss/bonyan-api@2.0.0
```
```ts
-import { BonyanClient, createBonyanClient } from '@bonyanoss/bonyan-api';
+import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
-const surahs = await client.surah.list();
-console.log(surahs[0]?.name);
-
-const local = createBonyanClient({ baseUrl: 'http://localhost:3000' });
-console.log(await local.health());
+const { total, results } = await client.ayat.search('الرحمن', { limit: 10 });
+console.log(total, results[0]?.aya.text, results[0]?.apiName);
+const azkar = await client.azkar.search('الله', { limit: 10 });
+console.log(azkar.results[0]?.category, azkar.results[0]?.apiName);
```
-تعادل `createBonyanClient(options)` الاستدعاء `new BonyanClient(options)`. أعد استخدام عميل واحد لكل إعداد.
-
-## القيم المعادة
-
-تفك معظم دوال الموارد الغلاف `{ success, data }`. وتستخرج دوال القوائم المصفوفة أيضًا: تعيد `surah.list()` المصفوفة الموجودة في `data.surah`، وتعيد `reciters.list()` قيمة `data.reciters`. لا تضف وصولًا آخر إلى `.data`.
-
-تعيد دوال التشغيل كائن JSON الخام، وتعيد `metrics()` نصًا. لا ترسل أي دالة طلب كتابة.
+تعيد دوال المحتوى data مباشرة، ودوال القوائم مصفوفة. يعيد البحث `{ total, results }`. تعيد دوال التشغيل كائن JSON مباشرًا وmetrics نصًا. createBonyanClient(options) يكافئ new BonyanClient(options).
-
-في الإصدار 1.0.2 تتوقع `ayat.search()` و`azkar.search()` غلافًا مختلفًا عن API الحالي. لذلك قد تحتوي النتيجة على حقول undefined وقت التشغيل رغم أنواع TypeScript. استخدم [دالة البحث البديلة](/locales/ar/sdk/search) حتى إصلاح عدم التطابق في الحزمة.
-
-
-## CommonJS
-
-```js
-const { BonyanClient } = require('@bonyanoss/bonyan-api');
-
-async function main() {
- const client = new BonyanClient();
- console.log(await client.health());
-}
-main().catch(console.error);
-```
+## الهجرة من 1.0.2
+أزل دالة البحث البديلة. استخدم muyassar أو saadi للتفسير؛ forSurah يعيد مصفوفة دائمًا. حدّث الأنواع التي تنشئها يدويًا لتشمل حقول المصحف والمصدر والمنطقة الزمنية والتقويم المطلوبة. حُذفت style وImsak وMidnight من العقد. بعض قيم apiName القديمة لم تعد مصادر مدعومة. اختيار moshaf وtimezone وخيارات الطلب إضافات اختيارية.
-تابع إلى [الإعدادات](/locales/ar/sdk/configuration) أو [مرجع الدوال](/locales/ar/sdk/resources) أو [التعامل مع الأخطاء](/locales/ar/sdk/errors).
+[مرجع الدوال](/locales/ar/sdk/resources) · [الأخطاء](/locales/ar/sdk/errors) · [المصادر والإصدارات](/locales/ar/guides/source-status)
diff --git a/locales/ar/sdk/resources.mdx b/locales/ar/sdk/resources.mdx
index 5ca3019..acdf093 100644
--- a/locales/ar/sdk/resources.mdx
+++ b/locales/ar/sdk/resources.mdx
@@ -5,11 +5,7 @@ description: "دوال الموارد والتواقيع والأنواع الم
جميع الدوال أدناه تُستدعى على `client` وتعيد Promise بالنوع المذكور. يشير `?` إلى معامل أو خيار اختياري؛ التواقيع في الجدول مختصرة وليست كودًا للنسخ.
-الأرقام أعداد JavaScript؛ الأسماء والنصوص ومعرّفات الكتب والنسخ نصوص. التاريخ بصيغة `DD-MM-YYYY`. تقبل prayer.getTimes زوج إحداثيات أو مدينة ودولة، مع date وmethod اختياريين.
-
-
-بحث ayat وazkar في الإصدار 1.0.2 لا يطابق غلاف API الحالي. لا تعتمد على النوع المعلن دون استخدام الدالة البديلة. [بديل البحث](/locales/ar/sdk/search).
-
+الأرقام أعداد JavaScript؛ الأسماء والنصوص ومعرّفات الكتب والنسخ نصوص. التاريخ بصيغة `DD-MM-YYYY`. تقبل prayer.getTimes زوج إحداثيات أو مدينة ودولة، مع date وmethod وtimezone اختياريين. تقبل كل دالة خيارات نقل اختيارية في المعامل الأخير.
## تشغيل الخدمة
@@ -44,14 +40,14 @@ description: "دوال الموارد والتواقيع والأنواع الم
| `reciters.list()` | `Reciter[]` | [`GET /reciters`](/locales/ar/api-reference/reciters/list) |
| `reciters.getById(id)` | `Reciter` | [`GET /reciters/{id}`](/locales/ar/api-reference/reciters/get) |
| `reciters.search(name)` | `Reciter[]` | [`GET /reciters/search`](/locales/ar/api-reference/reciters/search) |
-| `reciters.getSurah(reciterId, surah)` | `ReciterAudio` | [`GET /reciters/{id}/surah/{surah}`](/locales/ar/api-reference/reciters/audio) |
+| `reciters.getSurah(reciterId, surah, { moshaf? }?)` | `ReciterAudio` | [`GET /reciters/{id}/surah/{surah}`](/locales/ar/api-reference/reciters/audio) |
## التفسير
| الدالة | نوع النتيجة | HTTP |
| --- | --- | --- |
| `tafsir.listEditions()` | `TafsirEdition[]` | [`GET /tafsir`](/locales/ar/api-reference/tafsir/editions) |
-| `tafsir.forSurah(edition, surah, { aya? }?)` | `TafsirItem[] \| TafsirItem` | [`GET /tafsir/{edition}/{surah}`](/locales/ar/api-reference/tafsir/surah) |
+| `tafsir.forSurah(edition, surah, { aya? }?)` | `TafsirItem[]` | [`GET /tafsir/{edition}/{surah}`](/locales/ar/api-reference/tafsir/surah) |
| `tafsir.forAya(edition, surah, aya)` | `TafsirItem` | [`GET /tafsir/{edition}/{surah}/{aya}`](/locales/ar/api-reference/tafsir/aya) |
## الأذكار
@@ -61,7 +57,7 @@ description: "دوال الموارد والتواقيع والأنواع الم
| `azkar.listCategories()` | `AzkarCategorySummary[]` | [`GET /azkar`](/locales/ar/api-reference/azkar/categories) |
| `azkar.getByCategory(category)` | `AzkarCategory` | [`GET /azkar/{category}`](/locales/ar/api-reference/azkar/category) |
| `azkar.search(text, { limit? }?)` | `AzkarSearchResult` | [`GET /azkar/search`](/locales/ar/api-reference/azkar/search) |
-| `azkar.random()` | `{ category: string; item: AzkarItem }` | [`GET /azkar/random`](/locales/ar/api-reference/azkar/random) |
+| `azkar.random()` | `AzkarSearchHit` | [`GET /azkar/random`](/locales/ar/api-reference/azkar/random) |
## الحديث
@@ -92,4 +88,4 @@ description: "دوال الموارد والتواقيع والأنواع الم
| --- | --- | --- |
| `qibla.getDirection(latitude, longitude)` | `QiblaInfo` | [`GET /qibla`](/locales/ar/api-reference/qibla/direction) |
-تعيد forSurah في هذا API مصفوفة دائمًا؛ تعريف SDK أوسع. تعيد دوال القوائم المصفوفة المستخرجة من الغلاف، وتعاد بيانات التشغيل مباشرة. استخدم [مرجع المسار](/locales/ar/api-reference/overview) لمعرفة الحدود وحالات الفشل.
+تعيد forSurah مصفوفة دائمًا، ويطابق نوع SDK هذا السلوك. تعيد دوال القوائم المصفوفة المستخرجة من الغلاف، وتعاد بيانات التشغيل مباشرة. استخدم [مرجع المسار](/locales/ar/api-reference/overview) لمعرفة الحدود وحالات الفشل.
diff --git a/locales/ar/sdk/search.mdx b/locales/ar/sdk/search.mdx
index 2659168..2c48da4 100644
--- a/locales/ar/sdk/search.mdx
+++ b/locales/ar/sdk/search.mdx
@@ -1,71 +1,44 @@
---
-title: "توافق البحث"
-description: "دالة بحث تعمل مع API 2.0.0 وSDK 1.0.2."
+title: "البحث باستخدام SDK"
+description: "استجابات البحث وعدد النتائج وحالة عدم وجود تطابق."
---
-يعيد API الشكل `{ success: true, total, data: [...] }`. في SDK 1.0.2 يفك موردا البحث `data` أولًا، ثم يحاولان قراءة `total` و`data` من المصفوفة الناتجة. لذلك قد تتحول استجابة HTTP الناجحة إلى `{ total: undefined, results: undefined }`.
+يحافظ SDK 2.0.0 على استجابة API بالشكل `{ success: true, total, data: [...] }` ويعيد `{ total, results }`. استخدم دوال الموارد مباشرة؛ لم تعد الدالة البديلة الخاصة بالإصدار 1.0.2 مطلوبة.
-احفظ الدالة التالية في `search.mjs`. تستخدم fetch مباشرة وتحافظ على فئات أخطاء SDK. ترسل طلبًا واحدًا دون إعادة تلقائية؛ وتبقى 404 خطأ وليست قائمة فارغة.
+```ts
+import { BonyanClient } from '@bonyanoss/bonyan-api';
+
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const { total, results } = await client.ayat.search('الرحمن', { limit: 10 });
+console.log(total, results[0]?.aya.text, results[0]?.apiName);
+const azkar = await client.azkar.search('الله', { limit: 10 });
+console.log(azkar.results[0]?.category, azkar.results[0]?.apiName);
+```
+
+الحد الافتراضي 50. يقبل بحث الآيات 1..500 وبحث الأذكار 1..200. يحسب total النتائج المعادة بعد الحد، ولا يمثل عدد التطابقات في المحتوى كله. لا يوجد ترقيم صفحات. عدم وجود نتائج يعيد HTTP 404 من خلال BonyanApiError. تحتوي النتائج apiName؛ ونتائج الأذكار تحتوي category وitem.
+
+تقبل كل دالة خيارات النقل في المعامل الأخير. راجع [الإعدادات](/locales/ar/sdk/configuration) لاستخدام signal وtimeoutMs وheaders، و[البحث بالعربية](/locales/ar/concepts/arabic-search) لفهم التطبيع.
+
+مثال دالة تطبيق تستخدم SDK مباشرة، دون فك غلاف مخصص:
```js
-import { BonyanApiError, BonyanRequestError } from "@bonyanoss/bonyan-api";
+import { BonyanClient, ValidationError } from "@bonyanoss/bonyan-api";
-// Compatibility helper for the flat search envelope returned by API 2.0.0.
+// Application helper using the supported SDK search methods.
export async function searchContent(
resource,
text,
{
limit = 10,
baseUrl = "https://api.bonyanoss.org",
- fetch: fetchFn = globalThis.fetch,
+ fetch = globalThis.fetch,
signal = AbortSignal.timeout(45000),
} = {},
) {
- if (!["ayat", "azkar"].includes(resource))
- throw new TypeError("resource must be ayat or azkar");
- const maximum = resource === "ayat" ? 500 : 200;
- if (!Number.isInteger(limit) || limit < 1 || limit > maximum)
- throw new RangeError("Invalid limit");
- if (typeof text !== "string" || !/[\u0621-\u064A]/u.test(text))
- throw new TypeError("Use an Arabic query");
- const url = new URL(baseUrl.replace(/\/+$/, "") + "/" + resource + "/search");
- url.searchParams.set("text", text);
- url.searchParams.set("limit", String(limit));
- let response;
- try {
- response = await fetchFn(url, {
- signal,
- headers: { Accept: "application/json" },
- });
- } catch (error) {
- throw BonyanRequestError.from(error);
- }
- const body = await response.json().catch(() => null);
- if (!response.ok)
- throw BonyanApiError.fromResponse(
- response.status,
- body,
- response.statusText,
- );
- if (
- body?.success !== true ||
- !Array.isArray(body.data) ||
- !Number.isInteger(body.total)
- ) {
- throw new BonyanRequestError("Unexpected search response", body);
+ if (!["ayat", "azkar"].includes(resource)) {
+ throw new ValidationError("resource must be ayat or azkar", "resource");
}
- return { total: body.total, results: body.data };
+ const client = new BonyanClient({ baseUrl, fetch, timeoutMs: 45000, retry: 0 });
+ return client[resource].search(text, { limit }, { signal });
}
```
-
-
-```js
-import { searchContent } from './search.mjs';
-
-const { total, results } = await searchContent('ayat', 'الرحمن', { limit: 10 });
-console.log(total, results[0]?.aya.text);
-```
-
-أرسل `'azkar'` للبحث في الأذكار. تحتوي نتائجه `category` و`item`. تحافظ الدالة على بادئة الرابط في الاستضافة الذاتية وتقبل AbortSignal. تحويل الخطأ فيها لا يملأ `retryAfterMs`؛ إذا أضفت إعادة محاولة فاستخدم سياسة نقل تقرأ Retry-After.
-
-هذه دالة توافق موثّقة وليست تعديلًا للحزمة المنشورة. أعد فحص الحزمة قبل حذفها. [نسخ المصادر](/locales/ar/guides/source-status).
diff --git a/locales/en/api-reference/ayat/all.mdx b/locales/en/api-reference/ayat/all.mdx
index ca38902..a218c47 100644
--- a/locales/en/api-reference/ayat/all.mdx
+++ b/locales/en/api-reference/ayat/all.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/en/api-reference/ayat/get-by-number.mdx b/locales/en/api-reference/ayat/get-by-number.mdx
index 0c09a90..4a22d4c 100644
--- a/locales/en/api-reference/ayat/get-by-number.mdx
+++ b/locales/en/api-reference/ayat/get-by-number.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/en/api-reference/ayat/get-by-surah-aya.mdx b/locales/en/api-reference/ayat/get-by-surah-aya.mdx
index 70b7e13..abf462d 100644
--- a/locales/en/api-reference/ayat/get-by-surah-aya.mdx
+++ b/locales/en/api-reference/ayat/get-by-surah-aya.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/en/api-reference/ayat/search.mdx b/locales/en/api-reference/ayat/search.mdx
index 9fee800..3ec9e9b 100644
--- a/locales/en/api-reference/ayat/search.mdx
+++ b/locales/en/api-reference/ayat/search.mdx
@@ -1,13 +1,9 @@
---
title: "Search Quran text"
-description: "Returns {success, total, data: [...]}. total counts returned matches after the limit, not all matches in the Quran."
+description: "Returns {success, total, data: [...]}. total counts returned matches after limit. Each hit includes apiName."
openapi: "locales/en/openapi.yaml GET /ayat/search"
---
-
-SDK 1.0.2 has an envelope mismatch in client.ayat.search(). Use the fetch example here or the compatibility helper in the SDK guide.
-
-
## Request example
@@ -28,6 +24,14 @@ const body = await response.json();
console.log(body);
```
+```ts SDK
+import { BonyanClient } from '@bonyanoss/bonyan-api';
+
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const result = await client.ayat.search('الرحمن', { limit: 10 });
+console.log(result);
+```
+
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/ayat/ayat.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/ayat/ayat.controller.ts)
diff --git a/locales/en/api-reference/azkar/categories.mdx b/locales/en/api-reference/azkar/categories.mdx
index 1e14513..e33a134 100644
--- a/locales/en/api-reference/azkar/categories.mdx
+++ b/locales/en/api-reference/azkar/categories.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/en/api-reference/azkar/category.mdx b/locales/en/api-reference/azkar/category.mdx
index b18669f..6da6f0a 100644
--- a/locales/en/api-reference/azkar/category.mdx
+++ b/locales/en/api-reference/azkar/category.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/en/api-reference/azkar/random.mdx b/locales/en/api-reference/azkar/random.mdx
index 745137a..a55d7b9 100644
--- a/locales/en/api-reference/azkar/random.mdx
+++ b/locales/en/api-reference/azkar/random.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/en/api-reference/azkar/search.mdx b/locales/en/api-reference/azkar/search.mdx
index 6b2f7e0..09a4fc8 100644
--- a/locales/en/api-reference/azkar/search.mdx
+++ b/locales/en/api-reference/azkar/search.mdx
@@ -1,13 +1,9 @@
---
title: "Search azkar text"
-description: "Returns {success, total, data: [...]}, with category and item for each hit. total is the number returned, capped by limit."
+description: "Returns {success, total, data: [...]}; each hit includes category, item and apiName. No matches returns 404."
openapi: "locales/en/openapi.yaml GET /azkar/search"
---
-
-SDK 1.0.2 has an envelope mismatch in client.azkar.search(). Use fetch or the compatibility helper in the SDK guide.
-
-
## Request example
@@ -28,6 +24,14 @@ const body = await response.json();
console.log(body);
```
+```ts SDK
+import { BonyanClient } from '@bonyanoss/bonyan-api';
+
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const result = await client.azkar.search('الله', { limit: 10 });
+console.log(result);
+```
+
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/azkar/azkar.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/azkar/azkar.controller.ts)
diff --git a/locales/en/api-reference/hadith/book.mdx b/locales/en/api-reference/hadith/book.mdx
index b4e0a7d..f600ca5 100644
--- a/locales/en/api-reference/hadith/book.mdx
+++ b/locales/en/api-reference/hadith/book.mdx
@@ -1,11 +1,11 @@
---
title: "Hadith range"
-description: "Returns book, available and hadiths inside data. Both range endpoints are inclusive; omitted from defaults to 1 and omitted to defaults to from + 29."
+description: "Returns book, available and hadiths inside data. Inclusive range defaults to from=1 and to=from+29; at most 300 requested numbers are accepted."
openapi: "locales/en/openapi.yaml GET /hadith/{book}"
---
-The API currently rejects to - from > 300, so it accepts 301 inclusive items. SDK 1.0.2 rejects more than 300 when both bounds are supplied. Use 300 or fewer for compatibility. An empty range can return 200 with hadiths: [].
+Numbering may contain gaps. A range can return fewer narrations or an empty array. available is the count of stored narrations, so it is not a bound for lookup numbers. Unknown books return 404.
## Request example
@@ -38,4 +38,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/en/api-reference/hadith/books.mdx b/locales/en/api-reference/hadith/books.mdx
index c3be811..4f43601 100644
--- a/locales/en/api-reference/hadith/books.mdx
+++ b/locales/en/api-reference/hadith/books.mdx
@@ -1,6 +1,6 @@
---
title: "Hadith books"
-description: "Returns book IDs, names and available counts from the active provider. Discover IDs here instead of assuming a fixed list."
+description: "Lists nine supported books from verified local metadata. available counts actual stored narrations, not the maximum hadith number."
openapi: "locales/en/openapi.yaml GET /hadith"
---
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/en/api-reference/hadith/get.mdx b/locales/en/api-reference/hadith/get.mdx
index da84e13..779ad4f 100644
--- a/locales/en/api-reference/hadith/get.mdx
+++ b/locales/en/api-reference/hadith/get.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/en/api-reference/hadith/random.mdx b/locales/en/api-reference/hadith/random.mdx
index 4f01678..93efad0 100644
--- a/locales/en/api-reference/hadith/random.mdx
+++ b/locales/en/api-reference/hadith/random.mdx
@@ -1,6 +1,6 @@
---
title: "Random hadith"
-description: "Picks a book, then a number from its available count. Optionally restrict the book. The result contains book and hadith."
+description: "Samples an actual stored narration from a selected book, so numbering gaps cannot produce an empty random result. Optionally restrict by book ID."
openapi: "locales/en/openapi.yaml GET /hadith/random"
---
@@ -32,4 +32,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hadith/hadith.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hadith/hadith.controller.ts)
diff --git a/locales/en/api-reference/hijri/from-gregorian.mdx b/locales/en/api-reference/hijri/from-gregorian.mdx
index 4c5d229..6501f2b 100644
--- a/locales/en/api-reference/hijri/from-gregorian.mdx
+++ b/locales/en/api-reference/hijri/from-gregorian.mdx
@@ -1,6 +1,6 @@
---
title: "Gregorian to Hijri"
-description: "Returns both calendar representations. Aladhan is the only configured source."
+description: "Returns both calendars and calendar=islamic-umalqura. Aladhan UAQ is validated against the local Intl conversion; local conversion is the fallback."
openapi: "locales/en/openapi.yaml GET /hijri/from-gregorian"
---
@@ -32,4 +32,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hijri/hijri.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hijri/hijri.controller.ts)
diff --git a/locales/en/api-reference/hijri/to-gregorian.mdx b/locales/en/api-reference/hijri/to-gregorian.mdx
index fb75be2..417563d 100644
--- a/locales/en/api-reference/hijri/to-gregorian.mdx
+++ b/locales/en/api-reference/hijri/to-gregorian.mdx
@@ -1,6 +1,6 @@
---
title: "Hijri to Gregorian"
-description: "Converts a required Hijri date. Returned month and weekday names come from the provider."
+description: "Converts a required Hijri date using islamic-umalqura. Validates day 1..30, month 1..12 and year 1..2400 before fetching."
openapi: "locales/en/openapi.yaml GET /hijri/to-gregorian"
---
@@ -32,4 +32,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hijri/hijri.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hijri/hijri.controller.ts)
diff --git a/locales/en/api-reference/hijri/today.mdx b/locales/en/api-reference/hijri/today.mdx
index 5122132..e9c6fd0 100644
--- a/locales/en/api-reference/hijri/today.mdx
+++ b/locales/en/api-reference/hijri/today.mdx
@@ -1,6 +1,6 @@
---
title: "Today in both calendars"
-description: "Converts the API server’s current Gregorian date through Aladhan. It does not use the browser’s timezone."
+description: "Converts the API server date using the fixed islamic-umalqura calendar. It does not use the browser timezone."
openapi: "locales/en/openapi.yaml GET /hijri/today"
---
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/hijri/hijri.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/hijri/hijri.controller.ts)
diff --git a/locales/en/api-reference/meta/catalogue.mdx b/locales/en/api-reference/meta/catalogue.mdx
index 8a8a153..6a4afb9 100644
--- a/locales/en/api-reference/meta/catalogue.mdx
+++ b/locales/en/api-reference/meta/catalogue.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/en/api-reference/meta/health.mdx b/locales/en/api-reference/meta/health.mdx
index b523659..35926a2 100644
--- a/locales/en/api-reference/meta/health.mdx
+++ b/locales/en/api-reference/meta/health.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/en/api-reference/meta/metrics.mdx b/locales/en/api-reference/meta/metrics.mdx
index 0d0e392..1da06f4 100644
--- a/locales/en/api-reference/meta/metrics.mdx
+++ b/locales/en/api-reference/meta/metrics.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/en/api-reference/meta/ready.mdx b/locales/en/api-reference/meta/ready.mdx
index 554ce1d..68f6e6a 100644
--- a/locales/en/api-reference/meta/ready.mdx
+++ b/locales/en/api-reference/meta/ready.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/server.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/app.ts)
diff --git a/locales/en/api-reference/prayer/times.mdx b/locales/en/api-reference/prayer/times.mdx
index ad0673c..9cf2abe 100644
--- a/locales/en/api-reference/prayer/times.mdx
+++ b/locales/en/api-reference/prayer/times.mdx
@@ -1,11 +1,11 @@
---
title: "Prayer times"
-description: "Provide latitude + longitude or city + country. With both pairs, Aladhan coordinates are tried before Aladhan city lookup."
+description: "Provide latitude+longitude or city+country. Coordinates take precedence when both are supplied. Uses method 4 and timezone UTC by default and returns seven HH:mm timings."
openapi: "locales/en/openapi.yaml GET /prayer/times"
---
-pray.zone fallback is available only for coordinate requests dated today on the API server. It does not receive method, and may omit method and coordinates. Inspect apiName before assuming identical calculation settings. This controller validates numeric coordinates but does not enforce geographic bounds; SDK validation does.
+Supported methods: 1, 2, 3, 4, 5, 9, 10, 11. The local adhan fallback requires coordinates and preserves the date, method and timezone. City-only requests have no local geocoder; unavailable providers return 503. hijri may be absent in local results.
## Request example
@@ -17,7 +17,8 @@ curl --fail-with-body --get 'https://api.bonyanoss.org/prayer/times' \
--data-urlencode 'date=01-01-2026' \
--data-urlencode 'latitude=21.4225' \
--data-urlencode 'longitude=39.8262' \
- --data-urlencode 'method=4'
+ --data-urlencode 'method=4' \
+ --data-urlencode 'timezone=Asia/Riyadh'
```
```js JavaScript
@@ -26,6 +27,7 @@ url.searchParams.set("date", "01-01-2026");
url.searchParams.set("latitude", "21.4225");
url.searchParams.set("longitude", "39.8262");
url.searchParams.set("method", "4");
+url.searchParams.set("timezone", "Asia/Riyadh");
const response = await fetch(url, { signal: AbortSignal.timeout(45000) });
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const body = await response.json();
@@ -36,10 +38,10 @@ console.log(body);
import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
-const result = await client.prayer.getTimes({ latitude: 21.4225, longitude: 39.8262, method: 4 });
+const result = await client.prayer.getTimes({ latitude: 21.4225, longitude: 39.8262, method: 4, timezone: 'Asia/Riyadh' });
console.log(result);
```
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/prayer/prayer.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/prayer/prayer.controller.ts)
diff --git a/locales/en/api-reference/qibla/direction.mdx b/locales/en/api-reference/qibla/direction.mdx
index 1e95dad..c87f435 100644
--- a/locales/en/api-reference/qibla/direction.mdx
+++ b/locales/en/api-reference/qibla/direction.mdx
@@ -38,4 +38,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/qibla/qibla.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/qibla/qibla.controller.ts)
diff --git a/locales/en/api-reference/reciters/audio.mdx b/locales/en/api-reference/reciters/audio.mdx
index 6623002..00a37c5 100644
--- a/locales/en/api-reference/reciters/audio.mdx
+++ b/locales/en/api-reference/reciters/audio.mdx
@@ -1,11 +1,11 @@
---
title: "Surah audio URL"
-description: "Builds a URL from the first moshaf server and a three-digit surah number. Returns JSON, not an audio stream."
+description: "Selects a recording covering the surah, preferring Hafs murattal when moshaf is omitted. Verifies the audio with HEAD before returning a JSON URL and recording metadata."
openapi: "locales/en/openapi.yaml GET /reciters/{id}/surah/{surah}"
---
-The API does not verify that the MP3 exists. A reciter from quran.com may have no moshaf, causing 404. Discover a reciter with moshaf before requesting audio.
+moshaf is a recording ID from the reciter catalogue. Missing recording coverage returns 404; failure of all eligible audio providers returns 503. Quran.com fallback is restricted to verified matching Hafs murattal recordings.
## Request example
@@ -13,11 +13,13 @@ The API does not verify that the MP3 exists. A reciter from quran.com may have n
```bash cURL
-curl --fail-with-body 'https://api.bonyanoss.org/reciters/1/surah/1'
+curl --fail-with-body --get 'https://api.bonyanoss.org/reciters/123/surah/1' \
+ --data-urlencode 'moshaf=7'
```
```js JavaScript
-const url = new URL("https://api.bonyanoss.org/reciters/1/surah/1");
+const url = new URL("https://api.bonyanoss.org/reciters/123/surah/1");
+url.searchParams.set("moshaf", "7");
const response = await fetch(url, { signal: AbortSignal.timeout(45000) });
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const body = await response.json();
@@ -28,10 +30,10 @@ console.log(body);
import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
-const result = await client.reciters.getSurah(1, 1);
+const result = await client.reciters.getSurah(123, 1, { moshaf: 7 });
console.log(result);
```
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/en/api-reference/reciters/get.mdx b/locales/en/api-reference/reciters/get.mdx
index 3164454..3f389b6 100644
--- a/locales/en/api-reference/reciters/get.mdx
+++ b/locales/en/api-reference/reciters/get.mdx
@@ -1,6 +1,6 @@
---
title: "Get a reciter"
-description: "Looks up an ID in the currently cached provider catalogue."
+description: "Looks up a stable mp3quran reciter ID in the current catalogue or local snapshot."
openapi: "locales/en/openapi.yaml GET /reciters/{id}"
---
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/en/api-reference/reciters/list.mdx b/locales/en/api-reference/reciters/list.mdx
index 78a17ae..621780b 100644
--- a/locales/en/api-reference/reciters/list.mdx
+++ b/locales/en/api-reference/reciters/list.mdx
@@ -1,6 +1,6 @@
---
title: "List reciters"
-description: "Returns reciters in data.reciters. The fallback provider may omit moshaf and audio-server information."
+description: "Returns normalized reciters in data.reciters. Each reciter has moshaf recordings with surahList, rewayaId and type. The local snapshot preserves IDs and recordings on failover."
openapi: "locales/en/openapi.yaml GET /reciters"
---
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/en/api-reference/reciters/search.mdx b/locales/en/api-reference/reciters/search.mdx
index 17f6fbf..5b304db 100644
--- a/locales/en/api-reference/reciters/search.mdx
+++ b/locales/en/api-reference/reciters/search.mdx
@@ -32,4 +32,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/reciters/reciters.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/reciters/reciters.controller.ts)
diff --git a/locales/en/api-reference/surah/get.mdx b/locales/en/api-reference/surah/get.mdx
index ae4c57d..849d3e2 100644
--- a/locales/en/api-reference/surah/get.mdx
+++ b/locales/en/api-reference/surah/get.mdx
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/surah/surah.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/surah/surah.controller.ts)
diff --git a/locales/en/api-reference/surah/list.mdx b/locales/en/api-reference/surah/list.mdx
index 0c8810a..7472891 100644
--- a/locales/en/api-reference/surah/list.mdx
+++ b/locales/en/api-reference/surah/list.mdx
@@ -1,6 +1,6 @@
---
title: "List surahs"
-description: "Returns the chapter catalogue in data.surah. This endpoint returns names and metadata, not verse text."
+description: "Returns the complete canonical 114-surah catalogue, with stable Arabic names and required makkia."
openapi: "locales/en/openapi.yaml GET /surah"
---
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/surah/surah.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/surah/surah.controller.ts)
diff --git a/locales/en/api-reference/surah/search.mdx b/locales/en/api-reference/surah/search.mdx
index b96a157..4140c3e 100644
--- a/locales/en/api-reference/surah/search.mdx
+++ b/locales/en/api-reference/surah/search.mdx
@@ -32,4 +32,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/surah/surah.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/surah/surah.controller.ts)
diff --git a/locales/en/api-reference/tafsir/aya.mdx b/locales/en/api-reference/tafsir/aya.mdx
index bbb8184..f443c08 100644
--- a/locales/en/api-reference/tafsir/aya.mdx
+++ b/locales/en/api-reference/tafsir/aya.mdx
@@ -1,6 +1,6 @@
---
title: "Tafsir for an aya"
-description: "Returns one tafsir object. muyassar can use two sources; the other configured editions each have one source."
+description: "Returns one tafsir item. Only muyassar and saadi are supported; unavailable editions return 400 before any provider request."
openapi: "locales/en/openapi.yaml GET /tafsir/{edition}/{surah}/{aya}"
---
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/tafsir/tafsir.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/tafsir/tafsir.controller.ts)
diff --git a/locales/en/api-reference/tafsir/editions.mdx b/locales/en/api-reference/tafsir/editions.mdx
index f956afd..1a08d43 100644
--- a/locales/en/api-reference/tafsir/editions.mdx
+++ b/locales/en/api-reference/tafsir/editions.mdx
@@ -1,6 +1,6 @@
---
title: "Tafsir editions"
-description: "Lists the five configured public edition IDs and Arabic labels. The catalogue is local; it does not test provider availability."
+description: "Lists the two supported public edition IDs: muyassar and saadi. The local catalogue does not test provider availability."
openapi: "locales/en/openapi.yaml GET /tafsir"
---
@@ -30,4 +30,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/tafsir/tafsir.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/tafsir/tafsir.controller.ts)
diff --git a/locales/en/api-reference/tafsir/surah.mdx b/locales/en/api-reference/tafsir/surah.mdx
index e82652c..c53a18d 100644
--- a/locales/en/api-reference/tafsir/surah.mdx
+++ b/locales/en/api-reference/tafsir/surah.mdx
@@ -1,6 +1,6 @@
---
title: "Tafsir for a surah"
-description: "Returns an array, including when the optional aya filter selects one verse. Returned edition is a provider-specific ID."
+description: "Returns a TafsirItem array, even with the optional aya filter. edition is the public ID muyassar or saadi across all sources."
openapi: "locales/en/openapi.yaml GET /tafsir/{edition}/{surah}"
---
@@ -32,4 +32,4 @@ console.log(result);
-[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4/src/modules/tafsir/tafsir.controller.ts)
+[Responses and errors](/locales/en/concepts/errors) · [SDK guide](/locales/en/sdk/overview) · [Route implementation](https://github.com/BonyanOSS/Bonyan-API/blob/c851b1a610c5169d3bffd822ed68886338ea3067/src/modules/tafsir/tafsir.controller.ts)
diff --git a/locales/en/concepts/arabic-search.mdx b/locales/en/concepts/arabic-search.mdx
index 7117cfd..32319b2 100644
--- a/locales/en/concepts/arabic-search.mdx
+++ b/locales/en/concepts/arabic-search.mdx
@@ -31,4 +31,4 @@ console.log(body.total, body.data);
```
-The server clamps verse search to 1..500 and azkar search to 1..200, with a default of 50. Zero or an unparsable limit also uses 50. The SDK validates limits more strictly. A search with no match returns 404 rather than an empty success array.
+The server and SDK accept limits 1..500 for ayat and 1..200 for azkar, with a server default of 50. Zero, fractional, unparsable or out-of-range limits are rejected. A search with no match returns 404 rather than an empty success array.
diff --git a/locales/en/concepts/architecture.mdx b/locales/en/concepts/architecture.mdx
index 7b55589..8a652f1 100644
--- a/locales/en/concepts/architecture.mdx
+++ b/locales/en/concepts/architecture.mdx
@@ -3,13 +3,13 @@ title: "How the API works"
description: "Request flow, source mapping and the limits of provider fallback."
---
-Bonyan API is a Fastify server. Its nine content modules validate requests, fetch external data, cache results and return module-specific JSON shapes. The four operational routes report on the process itself.
+Bonyan API runs through Fastify on Node.js and a native Fetch adapter on Cloudflare Workers. Both register the same controllers through src/http/routes.ts. Its nine content modules validate requests, fetch external data, cache results and return module-specific JSON shapes. The four operational routes report on the process itself.
## A content request
```mermaid
flowchart TD
- A["Your app: HTTP or SDK"] --> B["Fastify: rate limit and route"]
+ A["Your app: HTTP or SDK"] --> B["HTTP adapter: rate limit and route"]
B --> C{"Valid input?"}
C -->|No| X["400"]
C -->|Yes| D{"Fresh cache?"}
@@ -32,8 +32,8 @@ The diagram shows the common path. Not every module validates inputs, checks emp
| Cache | Share in-flight loads and retain successful results in memory. |
| Client SDK | Validate selected arguments, send GET requests and unwrap responses. |
-The service runs without a database. Cache contents and metrics belong to one process and reset when it restarts. Multiple replicas do not share that state.
+The service runs without a database. Cache contents and metrics belong to one process or Worker isolate and reset when it is replaced. Replicas and isolates do not share that state. Worker in-flight cache deduplication is scoped to each request context.
## What fallback preserves
-The API maps provider payloads to a common set of fields. A source change can still affect optional fields, IDs, names, text presentation and prayer calculation details. Read [fallback behavior](/locales/en/concepts/fallback) before depending on an optional field.
+The API maps provider payloads to a common set of fields. Adapters preserve canonical identities and calculation settings while checking provider data. Optional metadata and source text presentation can still differ. Read [fallback behavior](/locales/en/concepts/fallback) before depending on an optional field.
diff --git a/locales/en/concepts/caching.mdx b/locales/en/concepts/caching.mdx
index 0c6ac2c..c178a06 100644
--- a/locales/en/concepts/caching.mdx
+++ b/locales/en/concepts/caching.mdx
@@ -3,18 +3,19 @@ title: "Caching"
description: "Per-process cache lifetimes and what happens on a miss."
---
-The API stores successful service results in an in-memory Map. Concurrent requests for the same uncached key share one loader. Failed loads are not stored as successful entries.
+The API stores successful service results in an in-memory Map. Node.js requests for the same uncached key share one loader. Worker in-flight deduplication stays within a request context. Failed loads are not stored as successful entries.
| Data | TTL | Cache key includes |
| --- | --- | --- |
| Surah catalogue | 12 hours | One shared key |
| Full Quran | 24 hours | One shared key |
| Reciters | 1 hour | One shared key |
+| Verified audio URL | 15 minutes | Reciter, recording, surah |
| Azkar | 24 hours | One shared key |
| Tafsir | 24 hours | Edition, surah, optional aya |
-| Hadith book catalogue | 24 hours | One shared key |
-| Hadith range | 12 hours | Book, from, to |
-| Prayer times | 1 hour | Date, coordinates, city, country, method |
+| Hadith book catalogue | Local metadata, no cache load | None |
+| Full hadith book used by ranges/lookups/random | 12 hours | Book ID |
+| Prayer times | 1 hour | Date, coordinates, city, country, method, timezone |
| Hijri conversion | 7 days | Direction and date |
| Qibla | 30 days | Coordinates |
diff --git a/locales/en/concepts/errors.mdx b/locales/en/concepts/errors.mdx
index bef5009..e19c3bc 100644
--- a/locales/en/concepts/errors.mdx
+++ b/locales/en/concepts/errors.mdx
@@ -39,6 +39,6 @@ This is an illustrative 400 response; request IDs change for each request.
| 503 | `ALL_SOURCES_FAILED` | Retry with a bounded delay or show temporary unavailability. |
| 500 | `INTERNAL_SERVER_ERROR` | Record the request ID and report a reproducible failure. |
-Some explicit 503 branches, such as an unavailable random hadith, currently use `INTERNAL_SERVER_ERROR`. Handle HTTP status as well as the code. An unknown hadith book can become 503 after upstream failures instead of 404. Reverse proxies can return their own non-JSON errors.
+Some explicit 503 branches, such as an unavailable random hadith, currently use `INTERNAL_SERVER_ERROR`. Handle HTTP status as well as the code. Unknown hadith book IDs return 404 before requesting content. Reverse proxies can return their own non-JSON errors.
The SDK exposes `status`, `code`, `requestId` and `retryAfterMs` on `BonyanApiError`. See [SDK errors](/locales/en/sdk/errors).
diff --git a/locales/en/concepts/fallback.mdx b/locales/en/concepts/fallback.mdx
index 40bedbb..18eeab2 100644
--- a/locales/en/concepts/fallback.mdx
+++ b/locales/en/concepts/fallback.mdx
@@ -1,53 +1,23 @@
---
-title: "Provider fallback"
-description: "Which modules have another source and which details can change."
+title: "Validated provider fallback"
+description: "Source order and the contracts preserved on failover."
---
-Providers are attempted in order on a cache miss. Fallback is a server-side behavior, separate from SDK retries.
+Sources run sequentially on a cache miss. The adapters validate coverage, identity and required fields before accepting data; empty or malformed results cause the next source to be tried. Exhausted sources return 503. SDK retries repeat the API request and are separate from this server behavior.
-| Module | Source order and limits |
+| Module | Source order |
| --- | --- |
-| Surah | mp3quran.net, alquran.cloud, quran.com. |
-| Ayat | alquran.cloud, then the fawazahmed0 Quran dataset through jsDelivr. |
-| Reciters | mp3quran.net, then quran.com. The latter lacks moshaf audio servers. |
-| Tafsir | muyassar: alquran.cloud then quranenc.com. jalalayn, waseet and qurtubi: alquran.cloud only. saadi: quranenc.com only. |
-| Azkar | Pinned nawafalqari dataset, then hisnmuslim.com. |
-| Hadith | hadith.gading.dev, then sutanlab dataset through jsDelivr. |
-| Prayer | Aladhan coordinates, Aladhan city if supplied, then pray.zone only for coordinates dated today. |
-| Hijri | Aladhan only. |
-| Qibla | Aladhan, then local great-circle calculation. |
-
-## Example: a surah cache miss
-
-```mermaid
-%%{init: {"sequence": {"actorMargin": 24, "width": 100, "diagramMarginX": 8, "mirrorActors": false, "wrap": true}}}%%
-sequenceDiagram
- participant C as Client
- participant A as Bonyan API
- participant P as First provider
- participant F as Fallback provider
- C->>A: GET /surah
- Note over A: Cache missing or expired
- A->>P: Request data
- alt First provider fails
- A->>F: Try next provider
- alt Fallback returns data
- F-->>A: Provider data
- A-->>C: 200 JSON
- else All attempts fail
- A-->>C: 503 JSON
- end
- else First provider returns data
- P-->>A: Provider data
- A-->>C: 200 JSON
- end
-```
-
-
-The shared HTTP helper uses an 8-second timeout unless overridden. Full-Quran requests use 20 seconds per source; other services use 8..15 seconds. Multiple attempts can outlast the SDK's 10-second default.
-
-Do not generalize empty-result handling. Several catalogue services reject empty arrays, but some return an empty result if all providers return empty without throwing. Hadith and tafsir use their own loops and do not apply a universal shared emptiness test.
-
-## Fields to inspect
-
-Use `apiName` for source attribution and diagnostics. Reciter IDs are source-specific; audio metadata can disappear after a source switch. Tafsir `edition` uses provider identifiers in responses. Prayer fallback can omit method/coordinates and does not forward the chosen Aladhan method to pray.zone. A fixed JSON shape does not guarantee identical content or calculation settings.
+| Surah | mp3quran.net, alquran.cloud, quran.com, local canonical metadata. |
+| Ayat | alquran.cloud, pinned fawazahmed0 dataset through jsDelivr, quran.com. |
+| Reciter catalogue | mp3quran.net, bundled local snapshot preserving IDs and recordings. |
+| Reciter audio | Verified mp3quran URL, then matching Quran.com recording where mapped. |
+| Tafsir | muyassar: alquran.cloud, quranenc.com, quran.com, pinned spa5k mirror. saadi: quran.com, pinned spa5k mirror. |
+| Azkar | Pinned rn0x/hisn_almuslim_json dataset through jsDelivr, then raw GitHub. |
+| Hadith | Local book catalogue; content from pinned gadingnst dataset through jsDelivr, then raw GitHub. |
+| Prayer | Aladhan, then local adhan for coordinates. City-only requests have no local fallback. |
+| Hijri | Aladhan UAQ validated against local islamic-umalqura conversion, then local Intl. |
+| Qibla | Aladhan, then local bearing calculation. |
+
+Read apiName for provenance. Canonical surah names, reciter identities, public tafsir IDs, prayer date/method/timezone and the Umm al-Qura calendar are preserved across supported fallbacks. Optional fields remain optional: the current azkar corpus supplies text without repetition counts or references; local prayer results may omit hijri.
+
+The shared fetch timeout defaults to 8 seconds, with overrides up to 30 seconds for hadith books. Sequential fallbacks and paginated provider reads can exceed the SDK default 10-second attempt timeout. Choose a timeout appropriate to cold loads and use cancellation for a total deadline.
diff --git a/locales/en/concepts/rate-limit.mdx b/locales/en/concepts/rate-limit.mdx
index 7fafe8e..2cb4e60 100644
--- a/locales/en/concepts/rate-limit.mdx
+++ b/locales/en/concepts/rate-limit.mdx
@@ -7,7 +7,7 @@ The server defaults to 120 requests per IP in a one-minute window. `RATE_LIMIT_M
Treat an HTTP 429 as a request to wait. Respect `Retry-After` when present. Do not retry 400 or 404 unchanged. A cache hit still consumes an incoming API request.
-SDK 1.0.2 retries HTTP 429, HTTP 5xx and network/timeout errors. Its default `retry: 3` allows four total attempts. Without `Retry-After`, retry delays are 100, 200 and 400 milliseconds plus 0..99 milliseconds of jitter. A provided retry header overrides this backoff.
+SDK 2.0.0 retries HTTP 429, HTTP 5xx and network/timeout errors. Its default `retry: 3` allows four total attempts. Without `Retry-After`, retry delays are 100, 200 and 400 milliseconds plus 0..99 milliseconds of jitter. A provided retry header overrides this backoff.
Use one retry policy in your application. Wrapping SDK calls in another retry loop multiplies attempts. The timeout is per attempt and is not a total operation deadline.
diff --git a/locales/en/guides/audio.mdx b/locales/en/guides/audio.mdx
index 8c1c11b..028ac27 100644
--- a/locales/en/guides/audio.mdx
+++ b/locales/en/guides/audio.mdx
@@ -1,23 +1,23 @@
---
-title: "Play a recitation"
-description: "Discover a reciter with audio metadata before requesting a URL."
+title: "Play a selected recording"
+description: "Choose a moshaf with the required surah and narration."
---
-Fetch the reciter catalogue and choose an entry with a first moshaf server. Do not assume that a hard-coded reciter ID means the same person across providers.
+The reciter catalogue preserves mp3quran IDs in its local fallback. Every reciter has normalized moshaf recordings containing surahList, rewayaId and type. Select a recording that covers the surah and matches your desired narration.
```ts
import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const surah = 1;
const reciters = await client.reciters.list();
-const reciter = reciters.find(item => item.moshaf?.[0]?.server);
-if (!reciter) throw new Error('No audio-enabled reciter is available');
-const result = await client.reciters.getSurah(reciter.id, 1);
-console.log(result.reciter, result.audio);
+const reciter = reciters.find(item => item.moshaf.some(m => m.surahList.includes(surah)));
+if (!reciter) throw new Error('No recording covers this surah');
+const recording = reciter.moshaf.find(m => m.surahList.includes(surah))!;
+const result = await client.reciters.getSurah(reciter.id, surah, { moshaf: recording.id });
+console.log(result.audio, result.moshafId, result.rewayaId, result.apiName);
```
-Set an HTML audio element's `src` to the returned `audio` URL and show playback controls. The API itself returns JSON; the browser downloads the MP3 from the provider. Handle the audio element's error event and allow the user to choose another reciter.
+Without moshaf, the API prefers Hafs murattal covering the surah, then another covering recording. It verifies URLs with HEAD and rejects unavailable audio. Quran.com fallback is restricted to verified recordings of the same reciter, narration and style.
-The endpoint uses the first moshaf only. There is no public moshaf selector parameter. It constructs `server + paddedSurah + '.mp3'` and does not check the file or the moshaf's surah coverage. A successful API call can still lead to a failed MP3 request.
-
-When the quran.com fallback supplies the catalogue, audio servers may be absent. Show an unavailable state instead of inventing an audio URL. See [audio endpoint](/locales/en/api-reference/reciters/audio).
+No matching recording returns 404. Failure of all eligible audio sources returns 503. A successful check is cached for 15 minutes; playback can still fail later. Set the returned audio URL on an HTML audio element, show controls and handle its error event. The API returns JSON; the browser loads audio from the provider. [Endpoint](/locales/en/api-reference/reciters/audio).
diff --git a/locales/en/guides/maintenance.mdx b/locales/en/guides/maintenance.mdx
index 9e9b303..479f07c 100644
--- a/locales/en/guides/maintenance.mdx
+++ b/locales/en/guides/maintenance.mdx
@@ -27,7 +27,7 @@ pnpm build
pnpm broken-links
```
-The check command validates both OpenAPI documents, compiles MDX, checks internal links and language parity, type-checks SDK code blocks and exercises the search helper with representative responses. It does not prove that external content providers are always available.
+The check command validates both OpenAPI documents, compiles MDX, checks internal links and language parity, type-checks SDK code blocks and exercises the search helper with representative responses. Run `pnpm check:api /path/to/built/Bonyan-API` to test all SDK operations against the real Fastify and Worker controllers with synthetic upstreams. It does not prove live provider availability.
For source changes, run `node scripts/check-source.mjs /path/to/Bonyan-API /path/to/bonyan-sdk-js` against the checked-out revisions. Review changed controllers, services and types before updating the lock. Keep English and Arabic route structures identical, translate explanatory text, and preserve JSON keys and method names.
diff --git a/locales/en/guides/operations.mdx b/locales/en/guides/operations.mdx
index 01d1dfc..9b9e2e6 100644
--- a/locales/en/guides/operations.mdx
+++ b/locales/en/guides/operations.mdx
@@ -20,6 +20,6 @@ Use a low-frequency content request in addition to probes when you need to monit
| bonyan_api_upstream_failures_total | Failed provider attempts with the same labels. |
| bonyan_api_upstream_duration_ms_sum | Sum of measured request durations in milliseconds. |
-Result labels are `ok`, `http_error` and `error`. Duration is measured by the HTTP helper around fetch, not full JSON parsing or end-to-end client latency. The duration sum is not a histogram and cannot provide latency percentiles. Counters reset with the process; provider series appear after requests occur.
+Result labels are `ok`, `http_error` and `error`. Duration is measured by the HTTP helper around fetch, including JSON decoding for fetchJson, but excluding controller mapping and end-to-end client latency. The duration sum is not a histogram and cannot provide latency percentiles. Counters reset with the process; provider series appear after requests occur.
For a 503, log the HTTP route, status and request ID, then inspect server warnings and upstream counters. Keep monitoring requests inside the configured rate budget. There is no published availability guarantee in this reference.
diff --git a/locales/en/guides/self-hosting.mdx b/locales/en/guides/self-hosting.mdx
index e329bf7..827a927 100644
--- a/locales/en/guides/self-hosting.mdx
+++ b/locales/en/guides/self-hosting.mdx
@@ -1,11 +1,11 @@
---
title: "Self-host the API"
-description: "Run, configure and verify a Bonyan API instance."
+description: "Run with Node.js, Docker or native Cloudflare Workers."
---
-Use Node.js 22 or later for a new local setup. The API repository currently uses pnpm 10.33.4. Outbound HTTPS access to the configured data providers is required for content requests. No database or provider API key is configured by this server.
+The API server requires Node.js 24 (`>=24 <25`) and pnpm 10.33.4. The SDK and docs use their own package settings. The server needs no database or provider API key, and needs outbound HTTPS for external content.
-## Local development
+## Local server
```bash
git clone https://github.com/BonyanOSS/Bonyan-API.git
@@ -16,36 +16,7 @@ pnpm install --frozen-lockfile
pnpm dev
```
-To override defaults, copy `.env.example` to `.env` before starting: `cp .env.example .env` on Unix, or `Copy-Item .env.example .env` in PowerShell.
-
-The local base URL is `http://localhost:3000`. The application does not register `/bonyan-api/v1`; add and strip a prefix at your own gateway only if your deployment needs it.
-
-## Configuration
-
-```dotenv
-PORT=3000
-HOST=0.0.0.0
-RATE_LIMIT_MAX=120
-RATE_LIMIT_WINDOW=1 minute
-CORS_ORIGIN=*
-TRUST_PROXY=false
-LOG_LEVEL=info
-CACHE_MAX_ENTRIES=1000
-```
-
-
-| Variable | Effect |
-| --- | --- |
-| PORT / HOST | Listener port and bind address. Use 127.0.0.1 for a loopback-only listener. |
-| RATE_LIMIT_MAX / RATE_LIMIT_WINDOW | Global per-IP request budget and window. |
-| CORS_ORIGIN | `*` or `true` allows reflected origins; otherwise a comma-separated origin list. This setting is not authentication. |
-| TRUST_PROXY | Only the exact value `true` enables proxy trust. Enable it only behind a trusted, correctly configured proxy. |
-| LOG_LEVEL | Fastify logger level, default info. |
-| CACHE_MAX_ENTRIES | Maximum in-process cache entries, default 1000. |
-
-`NODE_ENV` may be set by the runtime; the server's own configuration logic does not branch on it. Keep positive numeric values for the numeric settings.
-
-## Build and run
+Copy .env.example to .env before starting using cp on Unix or Copy-Item in PowerShell. The local URL is http://localhost:3000 without a version prefix. PORT/HOST configure the listener; RATE_LIMIT_MAX/RATE_LIMIT_WINDOW configure the budget; CORS_ORIGIN lists allowed origins; TRUST_PROXY controls proxy trust; LOG_LEVEL controls logging; CACHE_MAX_ENTRIES controls cache capacity. Only literal true enables TRUST_PROXY; use it behind a trusted proxy.
```bash
pnpm lint:check
@@ -54,15 +25,25 @@ pnpm build
pnpm start
```
-The repository includes a Dockerfile. Build with `docker build -t bonyan-api .`, then run `docker run --rm -p 3000:3000 --env-file .env bonyan-api`. The supplied Dockerfile currently uses Node 20; that is the repository's image choice, not the SDK's runtime requirement.
+## Docker
-## Verify deployment
+The Dockerfile uses Node 24 Alpine and starts dist/server.js. To test it:
```bash
-curl --fail-with-body http://localhost:3000/health
-curl --fail-with-body http://localhost:3000/ready
-curl --fail-with-body http://localhost:3000/tafsir
-curl --fail-with-body 'http://localhost:3000/surah/1'
+docker build -t bonyan-api .
+docker run --rm -p 3000:3000 --env-file .env bonyan-api
```
-The first three requests do not prove provider connectivity. The surah request exercises a content provider or existing cache. Scrape `/metrics` as text; health, readiness and metrics are also subject to rate limits. See [operations](/locales/en/guides/operations).
+## Cloudflare Workers
+
+Deployment uses src/worker.ts with a native Fetch adapter and nodejs_compat, without a container. wrangler.toml sets compatibility date 2026-10-04 and custom domain api.bonyanoss.org, with preview_urls=true and workers_dev=false. Worker environment values come through bindings; PORT and HOST do not create a listener there.
+
+```bash
+pnpm cloudflare:check
+pnpm cloudflare:startup
+pnpm deploy:cloudflare
+```
+
+The first command checks the bundle without deploying; the second checks Worker startup through /health, /ready and /tafsir. Deploy requires a configured Cloudflare account/domain. The v2 migration removes the old container class; preserve the migration history for existing deployments.
+
+Health and readiness do not contact providers. Include a content request when checking availability and read /metrics as text. Cache and limits belong to each process or Worker isolate. See [operations](/locales/en/guides/operations).
diff --git a/locales/en/guides/source-status.mdx b/locales/en/guides/source-status.mdx
index de9ca3c..b86cee2 100644
--- a/locales/en/guides/source-status.mdx
+++ b/locales/en/guides/source-status.mdx
@@ -1,27 +1,19 @@
---
title: "Sources and compatibility"
-description: "Reviewed revisions, hosted behavior and known implementation differences."
+description: "Reviewed API commit and published SDK release."
---
-This documentation was reviewed on 7 September 2026 against:
+Reviewed on 4 October 2026.
-| Source | Version | Immutable revision |
-| --- | --- | --- |
-| Bonyan API | 2.0.0 | [e76bc4e](https://github.com/BonyanOSS/Bonyan-API/tree/e76bc4e114f2f174bc93d0c7f90b163f0721a9f4) |
-| JavaScript SDK | 1.0.2 | [068e23c](https://github.com/BonyanOSS/bonyan-sdk-js/tree/068e23cdbaeed8095a99c753b75412897905dd8a) |
-
-The hosted `/health` and `/ready` routes responded at the root origin during the review. They do not expose a source revision, so these docs do not claim that the deployment matches the repository commit exactly. The package version 2.0.0 is not a `/v2` URL prefix.
+| Source | Version | Review evidence |
+| --- | --- |
+| API package | 2.1.0 | [c851b1a](https://github.com/BonyanOSS/Bonyan-API/tree/c851b1a) |
+| API OpenAPI contract | 3.0.0 | Breaking contracts described in API CHANGELOG and OpenAPI. |
+| SDK | 2.0.0 | [667e5b0](https://github.com/BonyanOSS/bonyan-sdk-js/tree/667e5b0), npm release and distribution integrity. |
+| Docs | 1.1.0 | Bilingual generated contracts and integration checks. |
-## Known differences
+API package 2.1.0 and contract 3.0.0 are different labels in the current repository. These docs preserve both and describe the actual controllers at c851b1a. Neither label adds a URL prefix. The hosted probes do not expose a commit, so repository compatibility does not establish the live deployment revision.
-| Area | Current behavior |
-| --- | --- |
-| SDK search | The SDK expects a nested search envelope; the server returns a flat one. Use [the adapter](/locales/en/sdk/search). |
-| Tafsir IDs | Public IDs are `muyassar`, `jalalayn`, `saadi`, `waseet` and `qurtubi`. Response edition values are provider IDs. |
-| Tafsir types | SDK forSurah declares an object-or-array union; this API controller returns an array, even with the aya query. |
-| Hadith range | API accepts a difference of 300, meaning 301 inclusive items. SDK checks a 300-item maximum when both bounds are present. |
-| Search language | Latin-only queries can normalize to empty. English/fuzzy search claims are not supported by the controller. |
-| Prayer fallback | pray.zone is used only for today's coordinate requests and does not receive method. |
-| Readiness | Reports process and cache state, not upstream readiness. |
+SDK 2.0.0 is published on npm from merged commit 667e5b0. The docs install this exact release. sources.lock.json records the reviewed source hash and registry distribution integrity; pnpm-lock.yaml pins the installed archive.
-These are documentation findings, not fixes to the API or SDK repositories. The OpenAPI files describe the reviewed controllers and types; they are maintained here because the API repository's current specification omits detailed response schemas.
+The update fixes flat search decoding, aligns normalized response types, adds moshaf and timezone options, and makes transport cancellation available on every method. Only muyassar and saadi are supported. Hadith ranges accept 300 inclusive numbers; gaps are allowed. See [migration](/locales/en/sdk/overview) and [maintenance](/locales/en/guides/maintenance).
diff --git a/locales/en/guides/troubleshooting.mdx b/locales/en/guides/troubleshooting.mdx
index 535375e..af8c252 100644
--- a/locales/en/guides/troubleshooting.mdx
+++ b/locales/en/guides/troubleshooting.mdx
@@ -1,19 +1,20 @@
---
title: "Troubleshooting"
-description: "Diagnose failed requests without guessing at response shapes."
+description: "Identify configuration, provider and playback failures."
---
| Symptom | Check and action |
| --- | --- |
-| Every hosted request returns 404 | Use `https://api.bonyanoss.org`; remove the old `/bonyan-api/v1` prefix. |
-| Tafsir returns 400 | Get edition IDs from `/tafsir`. Use `muyassar`, not `ar.muyassar`, in the path. |
-| SDK search gives undefined fields | Apply the [search helper](/locales/en/sdk/search) for SDK 1.0.2. |
-| English search returns unrelated data | Submit Arabic text. Latin-only strings can normalize to an empty match. |
-| Audio returns 404 | Choose a reciter with a first moshaf server. The fallback catalogue may omit it. |
-| Audio URL exists but playback fails | Inspect the MP3 request itself; the API only constructs the URL. |
-| Content request times out | Increase the per-attempt timeout for cold cache loads; avoid multiplying retry loops. |
-| Prayer method is absent | Inspect apiName; pray.zone fallback does not forward the Aladhan method. |
-| Health is green but content fails | Probe a content route and inspect provider errors. Health does not contact providers. |
-| Hadith book returns 503 | Check the book ID against the current catalogue before assuming an outage. |
+| Every request returns 404 | Use https://api.bonyanoss.org without /bonyan-api/v1. |
+| Tafsir returns 400 | Use muyassar or saadi; discover IDs through /tafsir. |
+| SDK search gives undefined fields | Upgrade to 2.0.0; see installation guidance. |
+| English search matches unrelated entries | Use meaningful Arabic; Latin-only input can normalize to empty. |
+| Audio returns 404 | Check that moshaf belongs to the reciter and surahList covers the surah. |
+| Audio returns 503 | All eligible sources failed the HEAD check. |
+| A successful audio URL fails playback | Inspect the browser audio request; availability can change after API verification. |
+| Prayer time seems wrong | Inspect timezone and method; defaults are UTC and method 4. |
+| City prayer request returns 503 | The provider is unavailable; use coordinates for local calculation. |
+| Hadith returns 404 | Verify the book ID; numbering gaps can explain missing narrations. |
+| Health succeeds but content fails | Health does not probe providers; inspect the route, request ID and metrics. |
-When reporting an issue, include the route and query, status, request ID, SDK version and a minimal example. State whether you used the hosted service or your own server. Report API issues in [Bonyan-API](https://github.com/BonyanOSS/Bonyan-API/issues), SDK issues in [bonyan-sdk-js](https://github.com/BonyanOSS/bonyan-sdk-js/issues), and documentation corrections in [docs](https://github.com/BonyanOSS/docs/issues).
+Include the route/query, HTTP status, request ID, SDK version and a minimal example when reporting an issue. See [SDK installation](/locales/en/sdk/overview).
diff --git a/locales/en/introduction.mdx b/locales/en/introduction.mdx
index 0816c60..a056eda 100644
--- a/locales/en/introduction.mdx
+++ b/locales/en/introduction.mdx
@@ -26,4 +26,4 @@ The public base URL is `https://api.bonyanoss.org`. These routes require no API
Use the language selector to switch the documentation and navigation. API paths, SDK method names and JSON keys stay the same. Choosing English documentation does **not** translate Quran text, tafsir or hadith. The API has no general `lang` query parameter.
-These docs cover API source version 2.0.0 and SDK 1.0.2. See [source revisions and known differences](/locales/en/guides/source-status).
+These docs cover API package 2.1.0 (OpenAPI contract 3.0.0) and SDK 2.0.0. See [source revisions and known differences](/locales/en/guides/source-status).
diff --git a/locales/en/openapi.yaml b/locales/en/openapi.yaml
index 4dc2c97..165fb64 100644
--- a/locales/en/openapi.yaml
+++ b/locales/en/openapi.yaml
@@ -2,12 +2,12 @@
openapi: 3.1.0
info:
title: Bonyan API
- version: 2.0.0
+ version: 3.0.0
description: HTTP API for Quran, tafsir, reciters, azkar, hadith, prayer times, calendars and Qibla. Documentation language does not change content language.
license:
name: MIT
identifier: MIT
- x-source-revision: e76bc4e114f2f174bc93d0c7f90b163f0721a9f4
+ x-source-revision: c851b1a610c5169d3bffd822ed68886338ea3067
servers:
- url: https://api.bonyanoss.org
description: Hosted API
@@ -149,7 +149,7 @@ paths:
tags:
- surah
summary: List surahs
- description: Returns the chapter catalogue in data.surah. This endpoint returns names and metadata, not verse text.
+ description: Returns the complete canonical 114-surah catalogue, with stable Arabic names and required makkia.
parameters: []
responses:
"200":
@@ -419,7 +419,7 @@ paths:
type: integer
minimum: 1
example: 1
- description: Verse number within the surah. An empty lookup returns 404; tafsir provider rejection can instead produce 503 when every configured source fails.
+ description: Positive verse number within the surah. A nonexistent verse returns 404.
responses:
"200":
description: Success
@@ -468,10 +468,7 @@ paths:
tags:
- ayat
summary: Search Quran text
- description: |-
- Returns {success, total, data: [...]}. total counts returned matches after the limit, not all matches in the Quran.
-
- SDK 1.0.2 has an envelope mismatch in client.ayat.search(). Use the fetch example here or the compatibility helper in the SDK guide.
+ description: "Returns {success, total, data: [...]}. total counts returned matches after limit. Each hit includes apiName."
parameters:
- name: text
in: query
@@ -490,7 +487,7 @@ paths:
minimum: 1
maximum: 500
example: 10
- description: Result cap, not pagination. The server clamps to 1..500; zero or an unparsable value falls back to 50.
+ description: Maximum returned matches. Omitted uses 50; invalid values return 400.
responses:
"200":
description: Success
@@ -539,7 +536,7 @@ paths:
tags:
- reciters
summary: List reciters
- description: Returns reciters in data.reciters. The fallback provider may omit moshaf and audio-server information.
+ description: Returns normalized reciters in data.reciters. Each reciter has moshaf recordings with surahList, rewayaId and type. The local snapshot preserves IDs and recordings on failover.
parameters: []
responses:
"200":
@@ -577,15 +574,16 @@ paths:
tags:
- reciters
summary: Get a reciter
- description: Looks up an ID in the currently cached provider catalogue.
+ description: Looks up a stable mp3quran reciter ID in the current catalogue or local snapshot.
parameters:
- name: id
in: path
required: true
schema:
type: integer
+ minimum: 1
example: 1
- description: ID returned by the reciter catalogue. IDs depend on the provider.
+ description: Stable mp3quran reciter ID, preserved in the local snapshot.
responses:
"200":
description: Success
@@ -693,17 +691,18 @@ paths:
- reciters
summary: Surah audio URL
description: |-
- Builds a URL from the first moshaf server and a three-digit surah number. Returns JSON, not an audio stream.
+ Selects a recording covering the surah, preferring Hafs murattal when moshaf is omitted. Verifies the audio with HEAD before returning a JSON URL and recording metadata.
- The API does not verify that the MP3 exists. A reciter from quran.com may have no moshaf, causing 404. Discover a reciter with moshaf before requesting audio.
+ moshaf is a recording ID from the reciter catalogue. Missing recording coverage returns 404; failure of all eligible audio providers returns 503. Quran.com fallback is restricted to verified matching Hafs murattal recordings.
parameters:
- name: id
in: path
required: true
schema:
type: integer
- example: 1
- description: ID returned by the reciter catalogue. IDs depend on the provider.
+ minimum: 1
+ example: 123
+ description: Stable mp3quran reciter ID, preserved in the local snapshot.
- name: surah
in: path
required: true
@@ -713,6 +712,14 @@ paths:
maximum: 114
example: 1
description: Surah number, 1 through 114.
+ - name: moshaf
+ in: query
+ required: false
+ schema:
+ type: integer
+ minimum: 1
+ example: 7
+ description: Optional recording ID owned by this reciter.
responses:
"200":
description: Success
@@ -761,7 +768,7 @@ paths:
tags:
- tafsir
summary: Tafsir editions
- description: Lists the five configured public edition IDs and Arabic labels. The catalogue is local; it does not test provider availability.
+ description: "Lists the two supported public edition IDs: muyassar and saadi. The local catalogue does not test provider availability."
parameters: []
responses:
"200":
@@ -793,7 +800,7 @@ paths:
tags:
- tafsir
summary: Tafsir for a surah
- description: Returns an array, including when the optional aya filter selects one verse. Returned edition is a provider-specific ID.
+ description: Returns a TafsirItem array, even with the optional aya filter. edition is the public ID muyassar or saadi across all sources.
parameters:
- name: edition
in: path
@@ -802,10 +809,7 @@ paths:
type: string
enum:
- muyassar
- - jalalayn
- saadi
- - waseet
- - qurtubi
example: muyassar
description: Public edition ID from GET /tafsir. Use muyassar, not ar.muyassar.
- name: surah
@@ -824,7 +828,7 @@ paths:
type: integer
minimum: 1
example: 1
- description: Optional verse within the surah. The response remains an array.
+ description: Positive verse number within the surah. A nonexistent verse returns 404.
responses:
"200":
description: Success
@@ -873,7 +877,7 @@ paths:
tags:
- tafsir
summary: Tafsir for an aya
- description: Returns one tafsir object. muyassar can use two sources; the other configured editions each have one source.
+ description: Returns one tafsir item. Only muyassar and saadi are supported; unavailable editions return 400 before any provider request.
parameters:
- name: edition
in: path
@@ -882,10 +886,7 @@ paths:
type: string
enum:
- muyassar
- - jalalayn
- saadi
- - waseet
- - qurtubi
example: muyassar
description: Public edition ID from GET /tafsir. Use muyassar, not ar.muyassar.
- name: surah
@@ -904,7 +905,7 @@ paths:
type: integer
minimum: 1
example: 1
- description: Verse number within the surah. An empty lookup returns 404; tafsir provider rejection can instead produce 503 when every configured source fails.
+ description: Positive verse number within the surah. A nonexistent verse returns 404.
responses:
"200":
description: Success
@@ -1049,10 +1050,7 @@ paths:
tags:
- azkar
summary: Search azkar text
- description: |-
- Returns {success, total, data: [...]}, with category and item for each hit. total is the number returned, capped by limit.
-
- SDK 1.0.2 has an envelope mismatch in client.azkar.search(). Use fetch or the compatibility helper in the SDK guide.
+ description: "Returns {success, total, data: [...]}; each hit includes category, item and apiName. No matches returns 404."
parameters:
- name: text
in: query
@@ -1071,7 +1069,7 @@ paths:
minimum: 1
maximum: 200
example: 10
- description: Result cap, not pagination. The server clamps to 1..200; zero or an unparsable value falls back to 50.
+ description: Maximum returned matches. Omitted uses 50; invalid values return 400.
responses:
"200":
description: Success
@@ -1164,7 +1162,7 @@ paths:
tags:
- hadith
summary: Hadith books
- description: Returns book IDs, names and available counts from the active provider. Discover IDs here instead of assuming a fixed list.
+ description: Lists nine supported books from verified local metadata. available counts actual stored narrations, not the maximum hadith number.
parameters: []
responses:
"200":
@@ -1203,9 +1201,9 @@ paths:
- hadith
summary: Hadith range
description: |-
- Returns book, available and hadiths inside data. Both range endpoints are inclusive; omitted from defaults to 1 and omitted to defaults to from + 29.
+ Returns book, available and hadiths inside data. Inclusive range defaults to from=1 and to=from+29; at most 300 requested numbers are accepted.
- The API currently rejects to - from > 300, so it accepts 301 inclusive items. SDK 1.0.2 rejects more than 300 when both bounds are supplied. Use 300 or fewer for compatibility. An empty range can return 200 with hadiths: [].
+ Numbering may contain gaps. A range can return fewer narrations or an empty array. available is the count of stored narrations, so it is not a bound for lookup numbers. Unknown books return 404.
parameters:
- name: book
in: path
@@ -1214,7 +1212,7 @@ paths:
type: string
minLength: 1
example: bukhari
- description: Book ID from GET /hadith. Unknown IDs can return 503 when both providers reject them.
+ description: Book ID from GET /hadith. Unknown IDs return 404.
- name: from
in: query
required: false
@@ -1245,6 +1243,12 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/Error"
+ "404":
+ description: Requested item or matching result was not found.
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
"429":
description: Request rate exceeded. Respect Retry-After when present.
headers:
@@ -1283,7 +1287,7 @@ paths:
type: string
minLength: 1
example: bukhari
- description: Book ID from GET /hadith. Unknown IDs can return 503 when both providers reject them.
+ description: Book ID from GET /hadith. Unknown IDs return 404.
- name: number
in: path
required: true
@@ -1340,7 +1344,7 @@ paths:
tags:
- hadith
summary: Random hadith
- description: Picks a book, then a number from its available count. Optionally restrict the book. The result contains book and hadith.
+ description: Samples an actual stored narration from a selected book, so numbering gaps cannot produce an empty random result. Optionally restrict by book ID.
parameters:
- name: book
in: query
@@ -1348,7 +1352,7 @@ paths:
schema:
type: string
example: bukhari
- description: Optional exact book ID. An unknown ID returns 404.
+ description: Book ID from GET /hadith. Unknown IDs return 404.
responses:
"200":
description: Success
@@ -1392,9 +1396,9 @@ paths:
- prayer
summary: Prayer times
description: |-
- Provide latitude + longitude or city + country. With both pairs, Aladhan coordinates are tried before Aladhan city lookup.
+ Provide latitude+longitude or city+country. Coordinates take precedence when both are supplied. Uses method 4 and timezone UTC by default and returns seven HH:mm timings.
- pray.zone fallback is available only for coordinate requests dated today on the API server. It does not receive method, and may omit method and coordinates. Inspect apiName before assuming identical calculation settings. This controller validates numeric coordinates but does not enforce geographic bounds; SDK validation does.
+ Supported methods: 1, 2, 3, 4, 5, 9, 10, 11. The local adhan fallback requires coordinates and preserves the date, method and timezone. City-only requests have no local geocoder; unavailable providers return 503. hijri may be absent in local results.
parameters:
- name: date
in: query
@@ -1403,12 +1407,14 @@ paths:
type: string
pattern: ^\d{2}-\d{2}-\d{4}$
example: 01-01-2026
- description: Gregorian date in DD-MM-YYYY. Omitted or blank uses the API server’s current date. Validation checks the format, not calendar validity.
+ description: Date in DD-MM-YYYY. Must be a real Gregorian date with year at least 1000. Omitted or blank uses the API server date.
- name: latitude
in: query
required: false
schema:
type: number
+ minimum: -90
+ maximum: 90
example: 21.4225
description: Latitude in decimal degrees; provide it together with longitude.
- name: longitude
@@ -1416,6 +1422,8 @@ paths:
required: false
schema:
type: number
+ minimum: -180
+ maximum: 180
example: 39.8262
description: Longitude in decimal degrees; provide it together with latitude.
- name: city
@@ -1437,8 +1445,26 @@ paths:
required: false
schema:
type: integer
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 9
+ - 10
+ - 11
+ default: 4
example: 4
- description: Aladhan calculation method ID. Omitted uses the provider default.
+ description: Supported calculation method. Default 4 is Umm al-Qura.
+ - name: timezone
+ in: query
+ required: false
+ schema:
+ type: string
+ default: UTC
+ example: Asia/Riyadh
+ description: IANA timezone for HH:mm output.
responses:
"200":
description: Success
@@ -1481,7 +1507,7 @@ paths:
tags:
- hijri
summary: Today in both calendars
- description: Converts the API server’s current Gregorian date through Aladhan. It does not use the browser’s timezone.
+ description: Converts the API server date using the fixed islamic-umalqura calendar. It does not use the browser timezone.
parameters: []
responses:
"200":
@@ -1519,7 +1545,7 @@ paths:
tags:
- hijri
summary: Gregorian to Hijri
- description: Returns both calendar representations. Aladhan is the only configured source.
+ description: Returns both calendars and calendar=islamic-umalqura. Aladhan UAQ is validated against the local Intl conversion; local conversion is the fallback.
parameters:
- name: date
in: query
@@ -1528,7 +1554,7 @@ paths:
type: string
pattern: ^\d{2}-\d{2}-\d{4}$
example: 01-01-2026
- description: Gregorian date in DD-MM-YYYY. Omitted or blank uses the API server’s current date. Validation checks the format, not calendar validity.
+ description: Date in DD-MM-YYYY. Must be a real Gregorian date with year at least 1000. Omitted or blank uses the API server date.
responses:
"200":
description: Success
@@ -1571,7 +1597,7 @@ paths:
tags:
- hijri
summary: Hijri to Gregorian
- description: Converts a required Hijri date. Returned month and weekday names come from the provider.
+ description: Converts a required Hijri date using islamic-umalqura. Validates day 1..30, month 1..12 and year 1..2400 before fetching.
parameters:
- name: date
in: query
@@ -1580,7 +1606,7 @@ paths:
type: string
pattern: ^\d{2}-\d{2}-\d{4}$
example: 01-09-1447
- description: Hijri date in DD-MM-YYYY. Required. Validation checks the format, not calendar validity.
+ description: Date in DD-MM-YYYY. Hijri day 1..30, month 1..12, year 1..2400.
responses:
"200":
description: Success
@@ -1806,6 +1832,7 @@ components:
required:
- id
- name
+ - makkia
- apiName
properties:
id:
@@ -1818,7 +1845,7 @@ components:
description: Surah name from the provider.
makkia:
type: boolean
- description: Whether the surah is Meccan, when supplied.
+ description: Whether the surah is Meccan.
apiName:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
@@ -1826,6 +1853,7 @@ components:
- mp3quran.net
- alquran.cloud
- quran.com
+ - local
Aya:
type: object
required:
@@ -1866,12 +1894,14 @@ components:
enum:
- alquran.cloud
- cdn.jsdelivr.net/fawazahmed0/quran-api
+ - quran.com
AyaLookup:
type: object
required:
- surahNumber
- surahName
- aya
+ - apiName
properties:
surahNumber:
type: integer
@@ -1881,12 +1911,22 @@ components:
description: Surah name.
aya:
$ref: "#/components/schemas/Aya"
+ apiName:
+ type: string
+ description: Provider that supplied this result. Optional fields may vary by provider.
+ enum:
+ - alquran.cloud
+ - cdn.jsdelivr.net/fawazahmed0/quran-api
+ - quran.com
Moshaf:
type: object
required:
- id
- name
- server
+ - surahList
+ - rewayaId
+ - type
properties:
id:
type: integer
@@ -1898,11 +1938,24 @@ components:
type: string
description: Base audio-server URL.
format: uri
+ surahList:
+ type: array
+ items:
+ type: integer
+ minimum: 1
+ maximum: 114
+ rewayaId:
+ type: integer
+ description: Narration ID.
+ type:
+ type: integer
+ description: Recording type ID; 11 denotes murattal.
Reciter:
type: object
required:
- id
- name
+ - moshaf
- apiName
properties:
id:
@@ -1918,23 +1971,21 @@ components:
type: array
items:
$ref: "#/components/schemas/Moshaf"
- style:
- type:
- - string
- - "null"
- description: Recitation style, when provided.
apiName:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- mp3quran.net
- - quran.com
+ - local
ReciterAudio:
type: object
required:
- reciter
- surah
- audio
+ - moshafId
+ - rewayaId
+ - apiName
properties:
reciter:
type: string
@@ -1944,8 +1995,20 @@ components:
description: Surah number.
audio:
type: string
- description: Constructed MP3 URL; file availability is not checked.
+ description: Audio URL verified with HEAD before caching; later playback can still fail.
format: uri
+ moshafId:
+ type: integer
+ description: Selected recording ID.
+ rewayaId:
+ type: integer
+ description: Selected narration ID.
+ apiName:
+ type: string
+ description: Provider that supplied this result. Optional fields may vary by provider.
+ enum:
+ - mp3quran.net
+ - quran.com
TafsirEdition:
type: object
required:
@@ -1957,10 +2020,7 @@ components:
description: Public edition key accepted in paths.
enum:
- muyassar
- - jalalayn
- saadi
- - waseet
- - qurtubi
label:
type: string
description: Arabic edition name.
@@ -1984,13 +2044,18 @@ components:
description: Source text as returned by the API. Documentation language does not translate content.
edition:
type: string
- description: Provider edition ID, for example ar.muyassar or arabic_moyassar. This differs from the public path ID.
+ description: Public edition ID, stable across providers.
+ enum:
+ - muyassar
+ - saadi
apiName:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- alquran.cloud
- quranenc.com
+ - quran.com
+ - cdn.jsdelivr.net/spa5k/tafsir_api
AzkarCategorySummary:
type: object
required:
@@ -2008,8 +2073,8 @@ components:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- - github.com/nawafalqari
- - hisnmuslim.com
+ - cdn.jsdelivr.net/rn0x/hisn_almuslim_json
+ - raw.githubusercontent.com/rn0x/hisn_almuslim_json
AzkarItem:
type: object
required:
@@ -2052,19 +2117,26 @@ components:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- - github.com/nawafalqari
- - hisnmuslim.com
+ - cdn.jsdelivr.net/rn0x/hisn_almuslim_json
+ - raw.githubusercontent.com/rn0x/hisn_almuslim_json
AzkarPick:
type: object
required:
- category
- item
+ - apiName
properties:
category:
type: string
description: Category name.
item:
$ref: "#/components/schemas/AzkarItem"
+ apiName:
+ type: string
+ description: Provider that supplied this result. Optional fields may vary by provider.
+ enum:
+ - cdn.jsdelivr.net/rn0x/hisn_almuslim_json
+ - raw.githubusercontent.com/rn0x/hisn_almuslim_json
HadithBook:
type: object
required:
@@ -2081,13 +2153,14 @@ components:
description: Book name.
available:
type: integer
- description: Provider-reported number of narrations.
+ description: Count of actual narrations; not the largest number when numbering has gaps.
apiName:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- - hadith.gading.dev
- - cdn.jsdelivr.net/sutanlab/hadith-api
+ - cdn.jsdelivr.net/gadingnst/hadith-api
+ - raw.githubusercontent.com/gadingnst/hadith-api
+ - local
Hadith:
type: object
required:
@@ -2109,8 +2182,9 @@ components:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- - hadith.gading.dev
- - cdn.jsdelivr.net/sutanlab/hadith-api
+ - cdn.jsdelivr.net/gadingnst/hadith-api
+ - raw.githubusercontent.com/gadingnst/hadith-api
+ - local
HadithRange:
type: object
required:
@@ -2132,38 +2206,41 @@ components:
type: object
required:
- Fajr
+ - Sunrise
- Dhuhr
- Asr
+ - Sunset
- Maghrib
- Isha
properties:
Fajr:
type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
+ description: HH:mm in the requested IANA timezone.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Sunrise:
type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
+ description: HH:mm in the requested IANA timezone.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Dhuhr:
type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
+ description: HH:mm in the requested IANA timezone.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Asr:
type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
+ description: HH:mm in the requested IANA timezone.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Sunset:
type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
+ description: HH:mm in the requested IANA timezone.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Maghrib:
type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
+ description: HH:mm in the requested IANA timezone.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Isha:
type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
- Imsak:
- type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
- Midnight:
- type: string
- description: Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.
+ description: HH:mm in the requested IANA timezone.
+ pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
Coordinates:
type: object
required:
@@ -2181,6 +2258,9 @@ components:
required:
- date
- timings
+ - timezone
+ - method
+ - coordinates
- apiName
properties:
date:
@@ -2196,17 +2276,21 @@ components:
description: Calculation method name, if supplied.
coordinates:
$ref: "#/components/schemas/Coordinates"
+ timezone:
+ type: string
+ description: IANA timezone; default UTC.
apiName:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- aladhan.com
- - pray.zone
+ - local
HijriDate:
type: object
required:
- hijri
- gregorian
+ - calendar
- apiName
properties:
hijri:
@@ -2261,11 +2345,16 @@ components:
year:
type: string
description: Year as a string.
+ calendar:
+ type: string
+ description: Fixed Umm al-Qura calendar.
+ const: islamic-umalqura
apiName:
type: string
description: Provider that supplied this result. Optional fields may vary by provider.
enum:
- aladhan.com
+ - local
Qibla:
type: object
required:
diff --git a/locales/en/quickstart.mdx b/locales/en/quickstart.mdx
index 9cd7eb4..353166a 100644
--- a/locales/en/quickstart.mdx
+++ b/locales/en/quickstart.mdx
@@ -30,10 +30,10 @@ This example gives cold provider requests 45 seconds. The SDK's default timeout
## 3. Use the SDK in Node.js
-Use Node.js 22 or later and an ESM file such as `example.mjs`.
+Use Node.js 22.12 or later and an ESM file such as `example.mjs`.
```bash
-npm install @bonyanoss/bonyan-api@1.0.2
+npm install ./bonyanoss-bonyan-api-2.0.0.tgz
```
```ts
@@ -44,6 +44,8 @@ const result = await client.ayat.getById(1);
console.log(result.aya.text);
```
+Install @bonyanoss/bonyan-api@2.0.0 from npm. See [SDK installation](/locales/en/sdk/overview).
+
The SDK removes the success envelope, so use `result.aya.text`, without `result.data`.
## 4. Handle failures
diff --git a/locales/en/sdk/configuration.mdx b/locales/en/sdk/configuration.mdx
index 7a07b91..0ac7f5f 100644
--- a/locales/en/sdk/configuration.mdx
+++ b/locales/en/sdk/configuration.mdx
@@ -1,33 +1,32 @@
---
-title: "Client configuration"
-description: "Base URL, timeout, retries, headers and custom fetch."
+title: "Client and request configuration"
+description: "Base URL, timeouts, retries, headers and cancellation."
---
```ts
import { BonyanClient } from '@bonyanoss/bonyan-api';
-const client = new BonyanClient({
- baseUrl: 'https://api.bonyanoss.org',
- timeoutMs: 45000,
- retry: 1,
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const controller = new AbortController();
+const pending = client.ayat.search('الله', { limit: 10 }, {
+ signal: controller.signal,
+ timeoutMs: 20000,
headers: { 'X-Application': 'my-app' },
- fetch: globalThis.fetch.bind(globalThis),
});
-console.log(await client.health());
+controller.abort();
+await pending.catch(console.error);
+console.log(await client.health({ timeoutMs: 2000 }));
```
+| Option | Default |
+| --- | --- |
+| baseUrl | https://api.bonyanoss.org |
+| timeoutMs | 10000 |
+| retry | 3 |
+| headers | Accept: application/json |
+| fetch | globalThis.fetch |
+| userAgent | Unset |
-| Option | Default | Meaning |
-| --- | --- | --- |
-| `baseUrl` | `https://api.bonyanoss.org` | Origin and optional deployment prefix; trailing slashes are removed. |
-| `timeoutMs` | `10000` | Timeout in milliseconds for each attempt. |
-| `retry` | `3` | Retries after the initial request. Use a nonnegative integer; 0 disables retries. |
-| `headers` | `Accept: application/json` | Extra headers merged over defaults. |
-| `fetch` | Global fetch | Replacement with the standard fetch signature, useful for tests and controlled transport. |
-| `userAgent` | Unset | Optional User-Agent header; browser behavior is platform-dependent. |
+Every method accepts BonyanRequestOptions as its final argument: signal, timeoutMs and headers. Pass domain options such as limit or moshaf first. timeoutMs must be a positive integer up to 2147483647; retry must be a nonnegative integer. The timeout applies per attempt. Use a signal for a total deadline. Cancellation stops an active request or retry delay; an already aborted signal prevents fetch.
-For a gateway mounted at a prefix, pass the full prefix in `baseUrl`. The SDK appends its resource paths. The public deployment reviewed here needs no prefix.
-
-Resource methods do not expose per-call timeout, headers or AbortSignal options in 1.0.2. Those options exist in the internal HTTP client but are not part of the exported resource methods. Use separate clients for different timeout policies or use fetch when you need per-request cancellation.
-
-The SDK has no response cache, authentication flow or runtime schema validation of every returned field. TypeScript declarations describe the expected data; validate fields your application relies on.
+Header names merge case-insensitively. baseUrl can include a gateway prefix; trailing slashes are removed and resource paths appended. Browser User-Agent behavior is platform-dependent. The SDK has no response cache and does not validate every response field at runtime; malformed success or search envelopes are rejected.
diff --git a/locales/en/sdk/errors.mdx b/locales/en/sdk/errors.mdx
index 3e95a77..279ca11 100644
--- a/locales/en/sdk/errors.mdx
+++ b/locales/en/sdk/errors.mdx
@@ -33,6 +33,6 @@ try {
The package also exports `isValidationError`, `isBonyanApiError` and `isBonyanRequestError` type guards. Error metadata such as code and request ID can be absent when a proxy supplies the error.
-Input validation is stricter than some API controllers: SDK verse numbers within a surah are limited to 1..286, coordinates are bounded, and explicit hadith ranges are capped at 300 items. A valid SDK input can still return 404 or 503 from the server.
+Validation covers real Gregorian dates, Hijri date bounds, supported prayer methods/timezones, tafsir editions, coordinates and inclusive hadith ranges with defaulted bounds. SDK verse numbers within a surah are limited to 1..286. A valid SDK input can still return 404 or 503 from the server.
See [retry behavior](/locales/en/concepts/rate-limit). Avoid another automatic retry loop around SDK calls unless you account for its existing attempts.
diff --git a/locales/en/sdk/overview.mdx b/locales/en/sdk/overview.mdx
index 591db4d..e8ed2db 100644
--- a/locales/en/sdk/overview.mdx
+++ b/locales/en/sdk/overview.mdx
@@ -1,49 +1,31 @@
---
title: "JavaScript and TypeScript SDK"
-description: "Install SDK 1.0.2 and understand its return values."
+description: "Use SDK 2.0.0 and migrate from 1.0.2."
---
-The official package is `@bonyanoss/bonyan-api`. It supports ESM and CommonJS, includes TypeScript types, and declares Node.js 22 or later. Browser applications need fetch, AbortController and URL APIs; use your application's bundler.
+The official @bonyanoss/bonyan-api package supports ESM and CommonJS with TypeScript declarations. Node.js 22.12 or later is supported. Browser applications can use a bundler and fetch, URL and AbortController APIs.
+
+SDK 2.0.0 is available on npm. These docs check examples and API integration against that exact published version.
```bash
-npm install @bonyanoss/bonyan-api@1.0.2
+npm install @bonyanoss/bonyan-api@2.0.0
```
```ts
-import { BonyanClient, createBonyanClient } from '@bonyanoss/bonyan-api';
+import { BonyanClient } from '@bonyanoss/bonyan-api';
const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
-const surahs = await client.surah.list();
-console.log(surahs[0]?.name);
-
-const local = createBonyanClient({ baseUrl: 'http://localhost:3000' });
-console.log(await local.health());
+const { total, results } = await client.ayat.search('الرحمن', { limit: 10 });
+console.log(total, results[0]?.aya.text, results[0]?.apiName);
+const azkar = await client.azkar.search('الله', { limit: 10 });
+console.log(azkar.results[0]?.category, azkar.results[0]?.apiName);
```
-`createBonyanClient(options)` is equivalent to `new BonyanClient(options)`. Reuse one client for a given configuration.
-
-## Return values
-
-Most resource methods remove `{ success, data }`. List methods also extract their list: `surah.list()` returns the array at `data.surah`, and `reciters.list()` returns `data.reciters`. Do not add another `.data` access.
-
-Operational methods return their raw JSON object; `metrics()` returns text. No method sends a write request.
+Content methods return data directly, and lists return arrays. Search returns `{ total, results }`. Operational methods return raw JSON and metrics returns text. createBonyanClient(options) equals new BonyanClient(options).
-
-In version 1.0.2, `ayat.search()` and `azkar.search()` expect a different envelope from the current API. Their typed result can contain undefined fields at runtime. Use the [search helper](/locales/en/sdk/search) until the package fixes that mismatch.
-
-
-## CommonJS
-
-```js
-const { BonyanClient } = require('@bonyanoss/bonyan-api');
-
-async function main() {
- const client = new BonyanClient();
- console.log(await client.health());
-}
-main().catch(console.error);
-```
+## Migration from 1.0.2
+Remove the search adapter. Use muyassar or saadi for tafsir; forSurah always returns an array. Update manually constructed types to include required recording, provenance, timezone and calendar metadata. style, Imsak and Midnight are removed from the contract. Old apiName values no longer describe supported sources. moshaf selection, timezone and per-call transport options are optional additions.
-Continue with [configuration](/locales/en/sdk/configuration), [method reference](/locales/en/sdk/resources) or [error handling](/locales/en/sdk/errors).
+[Method reference](/locales/en/sdk/resources) · [Errors](/locales/en/sdk/errors) · [Source versions](/locales/en/guides/source-status)
diff --git a/locales/en/sdk/resources.mdx b/locales/en/sdk/resources.mdx
index f7c543d..844d334 100644
--- a/locales/en/sdk/resources.mdx
+++ b/locales/en/sdk/resources.mdx
@@ -5,11 +5,7 @@ description: "Resource methods, signatures and return types."
Every method below is called on `client` and returns a Promise of the listed type. `?` denotes an optional argument or option; table signatures are shorthand, not copyable code.
-Numeric arguments are JavaScript numbers; names, queries, book IDs and edition IDs are strings. Dates use `DD-MM-YYYY`. prayer.getTimes accepts coordinates or city/country, plus optional date and method.
-
-
-The ayat and azkar search methods in 1.0.2 do not match the current API envelope. Their declared types do not make their runtime result valid. [Search adapter](/locales/en/sdk/search).
-
+Numeric arguments are JavaScript numbers; names, queries, book IDs and edition IDs are strings. Dates use `DD-MM-YYYY`. prayer.getTimes accepts coordinates or city/country, plus optional date, method and timezone. Every method also accepts transport options as its last argument.
## Service operations
@@ -44,14 +40,14 @@ The ayat and azkar search methods in 1.0.2 do not match the current API envelope
| `reciters.list()` | `Reciter[]` | [`GET /reciters`](/locales/en/api-reference/reciters/list) |
| `reciters.getById(id)` | `Reciter` | [`GET /reciters/{id}`](/locales/en/api-reference/reciters/get) |
| `reciters.search(name)` | `Reciter[]` | [`GET /reciters/search`](/locales/en/api-reference/reciters/search) |
-| `reciters.getSurah(reciterId, surah)` | `ReciterAudio` | [`GET /reciters/{id}/surah/{surah}`](/locales/en/api-reference/reciters/audio) |
+| `reciters.getSurah(reciterId, surah, { moshaf? }?)` | `ReciterAudio` | [`GET /reciters/{id}/surah/{surah}`](/locales/en/api-reference/reciters/audio) |
## Tafsir
| Method | Result type | HTTP |
| --- | --- | --- |
| `tafsir.listEditions()` | `TafsirEdition[]` | [`GET /tafsir`](/locales/en/api-reference/tafsir/editions) |
-| `tafsir.forSurah(edition, surah, { aya? }?)` | `TafsirItem[] \| TafsirItem` | [`GET /tafsir/{edition}/{surah}`](/locales/en/api-reference/tafsir/surah) |
+| `tafsir.forSurah(edition, surah, { aya? }?)` | `TafsirItem[]` | [`GET /tafsir/{edition}/{surah}`](/locales/en/api-reference/tafsir/surah) |
| `tafsir.forAya(edition, surah, aya)` | `TafsirItem` | [`GET /tafsir/{edition}/{surah}/{aya}`](/locales/en/api-reference/tafsir/aya) |
## Azkar
@@ -61,7 +57,7 @@ The ayat and azkar search methods in 1.0.2 do not match the current API envelope
| `azkar.listCategories()` | `AzkarCategorySummary[]` | [`GET /azkar`](/locales/en/api-reference/azkar/categories) |
| `azkar.getByCategory(category)` | `AzkarCategory` | [`GET /azkar/{category}`](/locales/en/api-reference/azkar/category) |
| `azkar.search(text, { limit? }?)` | `AzkarSearchResult` | [`GET /azkar/search`](/locales/en/api-reference/azkar/search) |
-| `azkar.random()` | `{ category: string; item: AzkarItem }` | [`GET /azkar/random`](/locales/en/api-reference/azkar/random) |
+| `azkar.random()` | `AzkarSearchHit` | [`GET /azkar/random`](/locales/en/api-reference/azkar/random) |
## Hadith
@@ -92,4 +88,4 @@ The ayat and azkar search methods in 1.0.2 do not match the current API envelope
| --- | --- | --- |
| `qibla.getDirection(latitude, longitude)` | `QiblaInfo` | [`GET /qibla`](/locales/en/api-reference/qibla/direction) |
-This API always returns an array for forSurah; the SDK declaration is broader. List methods return extracted arrays, and operational methods return raw data. Consult the [HTTP reference](/locales/en/api-reference/overview) for limits and failure cases.
+forSurah always returns an array, and the SDK declaration matches. List methods return extracted arrays, and operational methods return raw data. Consult the [HTTP reference](/locales/en/api-reference/overview) for limits and failure cases.
diff --git a/locales/en/sdk/search.mdx b/locales/en/sdk/search.mdx
index c3f050b..26cf055 100644
--- a/locales/en/sdk/search.mdx
+++ b/locales/en/sdk/search.mdx
@@ -1,71 +1,44 @@
---
-title: "Search compatibility"
-description: "A working search adapter for API 2.0.0 and SDK 1.0.2."
+title: "Search with the SDK"
+description: "Flat search envelopes, returned counts and empty results."
---
-The API returns `{ success: true, total, data: [...] }`. In SDK 1.0.2, both search resources first unwrap `data`, then try to read `total` and `data` from the resulting array. A successful HTTP response can therefore become `{ total: undefined, results: undefined }`.
+SDK 2.0.0 preserves the API response `{ success: true, total, data: [...] }` and returns `{ total, results }`. Use the resource methods directly. The compatibility adapter for 1.0.2 is no longer needed.
-Save this helper as `search.mjs`. It uses fetch directly and preserves SDK error classes. It makes one request without automatic retries; a 404 is still an error, not an empty list.
+```ts
+import { BonyanClient } from '@bonyanoss/bonyan-api';
+
+const client = new BonyanClient({ timeoutMs: 45000, retry: 1 });
+const { total, results } = await client.ayat.search('الرحمن', { limit: 10 });
+console.log(total, results[0]?.aya.text, results[0]?.apiName);
+const azkar = await client.azkar.search('الله', { limit: 10 });
+console.log(azkar.results[0]?.category, azkar.results[0]?.apiName);
+```
+
+The default limit is 50. Ayat permits 1..500 and azkar 1..200. total counts the matches returned after the limit, with no pagination or corpus-wide count. No matches returns HTTP 404 through BonyanApiError. Hits include apiName; azkar hits have category and item.
+
+Every method accepts transport options as its final argument. See [configuration](/locales/en/sdk/configuration) for signal, timeoutMs and headers, and [Arabic search](/locales/en/concepts/arabic-search) for normalization.
+
+An application helper using the SDK directly, without custom envelope decoding:
```js
-import { BonyanApiError, BonyanRequestError } from "@bonyanoss/bonyan-api";
+import { BonyanClient, ValidationError } from "@bonyanoss/bonyan-api";
-// Compatibility helper for the flat search envelope returned by API 2.0.0.
+// Application helper using the supported SDK search methods.
export async function searchContent(
resource,
text,
{
limit = 10,
baseUrl = "https://api.bonyanoss.org",
- fetch: fetchFn = globalThis.fetch,
+ fetch = globalThis.fetch,
signal = AbortSignal.timeout(45000),
} = {},
) {
- if (!["ayat", "azkar"].includes(resource))
- throw new TypeError("resource must be ayat or azkar");
- const maximum = resource === "ayat" ? 500 : 200;
- if (!Number.isInteger(limit) || limit < 1 || limit > maximum)
- throw new RangeError("Invalid limit");
- if (typeof text !== "string" || !/[\u0621-\u064A]/u.test(text))
- throw new TypeError("Use an Arabic query");
- const url = new URL(baseUrl.replace(/\/+$/, "") + "/" + resource + "/search");
- url.searchParams.set("text", text);
- url.searchParams.set("limit", String(limit));
- let response;
- try {
- response = await fetchFn(url, {
- signal,
- headers: { Accept: "application/json" },
- });
- } catch (error) {
- throw BonyanRequestError.from(error);
- }
- const body = await response.json().catch(() => null);
- if (!response.ok)
- throw BonyanApiError.fromResponse(
- response.status,
- body,
- response.statusText,
- );
- if (
- body?.success !== true ||
- !Array.isArray(body.data) ||
- !Number.isInteger(body.total)
- ) {
- throw new BonyanRequestError("Unexpected search response", body);
+ if (!["ayat", "azkar"].includes(resource)) {
+ throw new ValidationError("resource must be ayat or azkar", "resource");
}
- return { total: body.total, results: body.data };
+ const client = new BonyanClient({ baseUrl, fetch, timeoutMs: 45000, retry: 0 });
+ return client[resource].search(text, { limit }, { signal });
}
```
-
-
-```js
-import { searchContent } from './search.mjs';
-
-const { total, results } = await searchContent('ayat', 'الرحمن', { limit: 10 });
-console.log(total, results[0]?.aya.text);
-```
-
-Pass `'azkar'` for azkar search. Its hits contain `category` and `item`. The helper preserves a self-hosted base URL prefix and accepts an AbortSignal. Its error conversion does not populate `retryAfterMs`; use a transport policy that reads Retry-After if you add retries.
-
-This is a documented compatibility helper, not a change to the published SDK. Recheck the package before removing it. [Source versions](/locales/en/guides/source-status).
diff --git a/package.json b/package.json
index 469fe0e..697fef2 100644
--- a/package.json
+++ b/package.json
@@ -1,37 +1,39 @@
{
- "name": "bonyan-docs",
- "version": "1.0.0",
- "private": true,
- "description": "English and Arabic documentation for Bonyan API and its JavaScript SDK.",
- "license": "MIT",
- "author": "BonyanOSS",
- "homepage": "https://docs.bonyanoss.org",
- "repository": {
- "type": "git",
- "url": "https://github.com/BonyanOSS/docs.git"
- },
- "packageManager": "pnpm@11.0.8",
- "scripts": {
- "dev": "mintlify dev --no-open",
- "generate": "node scripts/generate-api.mjs && node scripts/generate-index.mjs",
- "check": "node scripts/generate-api.mjs --check && node scripts/generate-index.mjs --check && node scripts/check-docs.mjs && node --test scripts/search.test.mjs",
- "build": "mintlify validate",
- "broken-links": "mintlify broken-links",
- "check:source": "node scripts/check-source.mjs"
- },
- "devDependencies": {
- "@apidevtools/swagger-parser": "13.0.0",
- "@bonyanoss/bonyan-api": "1.0.2",
- "@mdx-js/mdx": "3.1.1",
- "mintlify": "4.2.876",
- "react": "19.2.3",
- "react-dom": "19.2.3",
- "typescript": "6.0.3",
- "yaml": "2.9.0"
- },
- "engines": {
- "node": ">=22",
- "pnpm": ">=11"
- },
- "type": "module"
+ "name": "bonyan-docs",
+ "version": "1.1.0",
+ "private": true,
+ "description": "English and Arabic documentation for Bonyan API and its JavaScript SDK.",
+ "license": "MIT",
+ "author": "BonyanOSS",
+ "homepage": "https://docs.bonyanoss.org",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/BonyanOSS/docs.git"
+ },
+ "packageManager": "pnpm@11.22.0",
+ "scripts": {
+ "dev": "mintlify dev --no-open",
+ "generate": "node scripts/generate-api.mjs && node scripts/generate-index.mjs",
+ "check": "node scripts/generate-api.mjs --check && node scripts/generate-index.mjs --check && node scripts/check-docs.mjs && node --test scripts/*.test.mjs",
+ "build": "mintlify validate",
+ "broken-links": "mintlify broken-links",
+ "check:source": "node scripts/check-source.mjs",
+ "check:api": "node scripts/check-api.mjs"
+ },
+ "devDependencies": {
+ "@apidevtools/swagger-parser": "13.1.0",
+ "@bonyanoss/bonyan-api": "2.0.0",
+ "@mdx-js/mdx": "3.1.1",
+ "ajv": "8.20.0",
+ "mintlify": "4.2.981",
+ "react": "19.2.3",
+ "react-dom": "19.2.3",
+ "typescript": "6.0.3",
+ "yaml": "2.9.1"
+ },
+ "engines": {
+ "node": ">=22.12.0",
+ "pnpm": ">=11"
+ },
+ "type": "module"
}
diff --git a/patches/@mintlify__link-rot@3.0.1334.patch b/patches/@mintlify__link-rot@3.0.1414.patch
similarity index 72%
rename from patches/@mintlify__link-rot@3.0.1334.patch
rename to patches/@mintlify__link-rot@3.0.1414.patch
index aff0a57..e0be105 100644
--- a/patches/@mintlify__link-rot@3.0.1334.patch
+++ b/patches/@mintlify__link-rot@3.0.1414.patch
@@ -1,8 +1,7 @@
diff --git a/dist/graph.js b/dist/graph.js
-index ba0894a10d4544b50fe054dbb2ff77204794dd15..d580cf292d527097672aface80c7dc9ddbb36d19 100644
--- a/dist/graph.js
+++ b/dist/graph.js
-@@ -81,7 +81,7 @@ export class MdxPath {
+@@ -86,7 +86,7 @@ export class MdxPath {
normalizedPath = join(this.relativeDir, this.filename);
urlPath.pathname = normalizedPath;
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c1e710d..80e41cf 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,8894 +1,8998 @@
-lockfileVersion: "9.0"
+lockfileVersion: '9.0'
settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
patchedDependencies:
- "@mintlify/link-rot@3.0.1334": d26576946b6c3cdb6312a07b237398d0557e9a9970db114df92d0c395c0f76b2
+ '@mintlify/link-rot@3.0.1414': ae71792d7c4c92580676921951a96b4b3a68b3c936f948bffa3fd5a0564a800b
importers:
- .:
- devDependencies:
- "@apidevtools/swagger-parser":
- specifier: 13.0.0
- version: 13.0.0(openapi-types@12.1.3)
- "@bonyanoss/bonyan-api":
- specifier: 1.0.2
- version: 1.0.2
- "@mdx-js/mdx":
- specifier: 3.1.1
- version: 3.1.1
- mintlify:
- specifier: 4.2.876
- version: 4.2.876(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
- react:
- specifier: 19.2.3
- version: 19.2.3
- react-dom:
- specifier: 19.2.3
- version: 19.2.3(react@19.2.3)
- typescript:
- specifier: 6.0.3
- version: 6.0.3
- yaml:
- specifier: 2.9.0
- version: 2.9.0
-packages:
- "@alcalzone/ansi-tokenize@0.2.5":
- resolution: { integrity: sha512-3NX/MpTdroi0aKz134A6RC2Gb2iXVECN4QaAXnvCIxxIm3C3AVB1mkUe8NaaiyvOpDfsrqWhYtj+Q6a62RrTsw== }
- engines: { node: ">=18" }
-
- "@alloc/quick-lru@5.2.0":
- resolution: { integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== }
- engines: { node: ">=10" }
-
- "@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.241":
- resolution: { integrity: sha512-v26ta54lKFMFEZzbOE+6p3YhKERWnDiEA6OmkSAg+3fAQHOa1+aLTKw222cfgzxgiVixwFtHMk8c63zsDd8aXQ== }
- cpu: [arm64]
- os: [darwin]
-
- "@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.241":
- resolution: { integrity: sha512-5jweT0vft1ZCaGSoxZHF9vJlHbx8Yxx4+x5aHAIXTd4lx7ZbT4o5buEF8kpmTeHUB+Fw9jtFIm4QDsRiBXgf+Q== }
- cpu: [x64]
- os: [darwin]
-
- "@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.241":
- resolution: { integrity: sha512-GslvPvSzehfCZyzOaJAt4lgodznm5zpl/LMXN8ygD12z5qnpM+I9/eFnmAaISJ0L8/vyohtlAP1jjaeR2jz1AQ== }
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- "@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.241":
- resolution: { integrity: sha512-SxszQGffXiLzMEnAv+pJXEmQbA8haijKyRjjH/jOt1CLeMIfpjKcO9WQDv8dEA8nREWS3zJ103zjgecAF7oOQQ== }
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- "@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.241":
- resolution: { integrity: sha512-kZigJ5Ug2I2G/n7Cunmwy4TGr0lOGnWrz6TkzyWiDcUmJOodoTH6GZECNarWAtETfN03AAeLfrpiz8z3hOEDqA== }
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- "@anthropic-ai/claude-agent-sdk-linux-x64@0.3.241":
- resolution: { integrity: sha512-gJRa922Qcm7loumHcXMDFEFg//tz1aOi7Nx0sQa9I9lC1JSN8yL6i7/idzOU5Hp193tEDFOgqIMFL/yRiXg+rw== }
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- "@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.241":
- resolution: { integrity: sha512-/3yA9jQuCvHDVlILzhtslH6kFYOvydXyMZiKwnzqM8ZfvFTNO41w8TpiFpBLseyM+4A4E8QMeTKu3L01Xyb5IQ== }
- cpu: [arm64]
- os: [win32]
-
- "@anthropic-ai/claude-agent-sdk-win32-x64@0.3.241":
- resolution: { integrity: sha512-cHYdAgORl9kynujMeYXyV1uj/hbmsBjRw9dRVkIW4/4sF7S6L4u/qDSzn1/wiNP7g2yWSJ4KbsvHDH2WWDnCBQ== }
- cpu: [x64]
- os: [win32]
-
- "@anthropic-ai/claude-agent-sdk@0.3.241":
- resolution: { integrity: sha512-pIHdCSTywFe30H0oWDCKZzC4ipBLtF5YMDRKjf6PHyARg57O4l/72v3b6QKnnefwtKKMe6uWJ1Y9lUJg/sKWyA== }
- engines: { node: ">=18.0.0" }
- peerDependencies:
- "@anthropic-ai/sdk": ">=0.93.0"
- "@modelcontextprotocol/sdk": ^1.29.0
- zod: ^4.0.0
-
- "@anthropic-ai/sdk@0.120.0":
- resolution: { integrity: sha512-ZlvmNFT/iIF6JD13rxbbMWD8nvGR0RaUp6yMQnoc+4Af0YjVVe/bIdW1XSQQsoxXAtg1NaT6Vak0LKFlJ4d37Q== }
- hasBin: true
- peerDependencies:
- zod: ^3.25.0 || ^4.0.0
- peerDependenciesMeta:
- zod:
- optional: true
-
- "@apidevtools/json-schema-ref-parser@15.3.6":
- resolution: { integrity: sha512-oPFDSviRrreUmCZn09LCD4S9QQa6j7zfEwBM1pkGa/kXY0O4sXsEXn4emLP/Tt6tik2+BtgwKk2eldAeOWZ2Rw== }
- engines: { node: ">=20" }
- peerDependencies:
- "@types/json-schema": ^7.0.15
-
- "@apidevtools/openapi-schemas@2.1.0":
- resolution: { integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ== }
- engines: { node: ">=10" }
-
- "@apidevtools/swagger-methods@3.0.2":
- resolution: { integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg== }
-
- "@apidevtools/swagger-parser@13.0.0":
- resolution: { integrity: sha512-TcvnmBzJD7DBREkc/2qaxMqbKpttOaHhOFsYRYKdYAv6HGY+iNlWY2IUA209C2/NmvL9z8RBZhkrESqvGkjqmw== }
- engines: { node: ^20.19.0 || >=22.12.0 }
- peerDependencies:
- openapi-types: ">=7"
-
- "@ark/schema@0.56.0":
- resolution: { integrity: sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA== }
-
- "@ark/util@0.56.0":
- resolution: { integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA== }
-
- "@asyncapi/parser@3.4.0":
- resolution: { integrity: sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ== }
-
- "@asyncapi/specs@6.8.1":
- resolution: { integrity: sha512-czHoAk3PeXTLR+X8IUaD+IpT+g+zUvkcgMDJVothBsan+oHN3jfcFcFUNdOPAAFoUCQN1hXF1dWuphWy05THlA== }
-
- "@babel/code-frame@7.29.7":
- resolution: { integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== }
- engines: { node: ">=6.9.0" }
-
- "@babel/helper-validator-identifier@7.29.7":
- resolution: { integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== }
- engines: { node: ">=6.9.0" }
-
- "@babel/runtime@7.29.7":
- resolution: { integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw== }
- engines: { node: ">=6.9.0" }
-
- "@base-ui/react@1.8.0":
- resolution: { integrity: sha512-P0/1sxo6SBVZOklKMIedvTWqw2s2IQzi9x5bIVsXu980cuSOD4NeuRSs+/L7LZQfDkZP/uRZyGPyfFl/B1oH+Q== }
- engines: { node: ">=14.0.0" }
- peerDependencies:
- "@date-fns/tz": ^1.2.0
- "@types/react": ^17 || ^18 || ^19
- date-fns: ^4.0.0
- react: ^17 || ^18 || ^19
- react-dom: ^17 || ^18 || ^19
- peerDependenciesMeta:
- "@date-fns/tz":
- optional: true
- "@types/react":
- optional: true
- date-fns:
- optional: true
-
- "@base-ui/utils@0.4.0":
- resolution: { integrity: sha512-bO9fz25kKtPf+aZVyfQrC0PDmJdmVni31W2hCS5/Owb+inwdIL3XU26pCPRPlt4LSxZrBgLwubXQXQlKaFEZzw== }
- peerDependencies:
- "@types/react": ^17 || ^18 || ^19
- react: ^17 || ^18 || ^19
- react-dom: ^17 || ^18 || ^19
- peerDependenciesMeta:
- "@types/react":
- optional: true
-
- "@bonyanoss/bonyan-api@1.0.2":
- resolution: { integrity: sha512-sown/KBX7nGOT2By/Fw9sIqVNd9oiefee//rw+FTgCdqjK2vWfAzocnLWtAhYd+cBgeO3DHVlIht4O5Pp6HBxA== }
- engines: { node: ">=22" }
-
- "@canvas/image-data@1.1.0":
- resolution: { integrity: sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA== }
-
- "@emnapi/runtime@1.10.0":
- resolution: { integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== }
-
- "@floating-ui/core@1.8.0":
- resolution: { integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ== }
-
- "@floating-ui/dom@1.8.0":
- resolution: { integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg== }
-
- "@floating-ui/react-dom@2.1.9":
- resolution: { integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg== }
- peerDependencies:
- react: ">=16.8.0"
- react-dom: ">=16.8.0"
-
- "@floating-ui/utils@0.2.12":
- resolution: { integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww== }
-
- "@hono/node-server@2.1.1":
- resolution: { integrity: sha512-ELuehkj5VCBdgEw9zs+ivkKwyzzUCSQuE96YmiPvn1ECBoZCczbFXJLeEGMTYjphP6gydh4pHMqEYPVMYUVgQg== }
- engines: { node: ">=20" }
- peerDependencies:
- hono: ^4
-
- "@img/sharp-darwin-arm64@0.33.5":
- resolution: { integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [arm64]
- os: [darwin]
-
- "@img/sharp-darwin-x64@0.33.5":
- resolution: { integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [x64]
- os: [darwin]
-
- "@img/sharp-libvips-darwin-arm64@1.0.4":
- resolution: { integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== }
- cpu: [arm64]
- os: [darwin]
-
- "@img/sharp-libvips-darwin-x64@1.0.4":
- resolution: { integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== }
- cpu: [x64]
- os: [darwin]
-
- "@img/sharp-libvips-linux-arm64@1.0.4":
- resolution: { integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== }
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-libvips-linux-arm@1.0.5":
- resolution: { integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== }
- cpu: [arm]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-libvips-linux-s390x@1.0.4":
- resolution: { integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== }
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-libvips-linux-x64@1.0.4":
- resolution: { integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== }
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-libvips-linuxmusl-arm64@1.0.4":
- resolution: { integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== }
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- "@img/sharp-libvips-linuxmusl-x64@1.0.4":
- resolution: { integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== }
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- "@img/sharp-linux-arm64@0.33.5":
- resolution: { integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-linux-arm@0.33.5":
- resolution: { integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [arm]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-linux-s390x@0.33.5":
- resolution: { integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-linux-x64@0.33.5":
- resolution: { integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- "@img/sharp-linuxmusl-arm64@0.33.5":
- resolution: { integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- "@img/sharp-linuxmusl-x64@0.33.5":
- resolution: { integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- "@img/sharp-wasm32@0.33.5":
- resolution: { integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [wasm32]
-
- "@img/sharp-win32-ia32@0.33.5":
- resolution: { integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [ia32]
- os: [win32]
-
- "@img/sharp-win32-x64@0.33.5":
- resolution: { integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
- cpu: [x64]
- os: [win32]
-
- "@inquirer/ansi@1.0.2":
- resolution: { integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ== }
- engines: { node: ">=18" }
-
- "@inquirer/checkbox@4.3.2":
- resolution: { integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/confirm@5.1.21":
- resolution: { integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/core@10.3.2":
- resolution: { integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/editor@4.2.23":
- resolution: { integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/expand@4.0.23":
- resolution: { integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/external-editor@1.0.3":
- resolution: { integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/figures@1.0.15":
- resolution: { integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g== }
- engines: { node: ">=18" }
-
- "@inquirer/input@4.3.1":
- resolution: { integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/number@3.0.23":
- resolution: { integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/password@4.0.23":
- resolution: { integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/prompts@7.9.0":
- resolution: { integrity: sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/rawlist@4.1.11":
- resolution: { integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/search@3.2.2":
- resolution: { integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/select@4.4.2":
- resolution: { integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@inquirer/type@3.0.10":
- resolution: { integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
- peerDependenciesMeta:
- "@types/node":
- optional: true
-
- "@isaacs/fs-minipass@4.0.1":
- resolution: { integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== }
- engines: { node: ">=18.0.0" }
-
- "@jridgewell/gen-mapping@0.3.13":
- resolution: { integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== }
-
- "@jridgewell/resolve-uri@3.1.2":
- resolution: { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== }
- engines: { node: ">=6.0.0" }
-
- "@jridgewell/sourcemap-codec@1.5.5":
- resolution: { integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== }
-
- "@jridgewell/trace-mapping@0.3.31":
- resolution: { integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== }
-
- "@jsep-plugin/assignment@1.3.0":
- resolution: { integrity: sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ== }
- engines: { node: ">= 10.16.0" }
- peerDependencies:
- jsep: ^0.4.0||^1.0.0
-
- "@jsep-plugin/regex@1.0.4":
- resolution: { integrity: sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg== }
- engines: { node: ">= 10.16.0" }
- peerDependencies:
- jsep: ^0.4.0||^1.0.0
-
- "@jsep-plugin/ternary@1.1.4":
- resolution: { integrity: sha512-ck5wiqIbqdMX6WRQztBL7ASDty9YLgJ3sSAK5ZpBzXeySvFGCzIvM6UiAI4hTZ22fEcYQVV/zhUbNscggW+Ukg== }
- engines: { node: ">= 10.16.0" }
- peerDependencies:
- jsep: ^0.4.0||^1.0.0
-
- "@leichtgewicht/ip-codec@2.0.5":
- resolution: { integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== }
-
- "@mdx-js/mdx@3.1.1":
- resolution: { integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ== }
-
- "@mdx-js/react@3.1.1":
- resolution: { integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw== }
- peerDependencies:
- "@types/react": ">=16"
- react: ">=16"
-
- "@mintlify/cli@4.0.1479":
- resolution: { integrity: sha512-qv1tv/CCCqiRPLZtJqLsIaYRdT5QBvhhQvjXa3QxzYWSN4fWYnW5JN41p/BI6Eqf97/04DB93vzb2c0O0gLD+g== }
- engines: { node: ">=18.0.0" }
- hasBin: true
-
- "@mintlify/common@1.0.1132":
- resolution: { integrity: sha512-EZPaJUOGeC/qgFJg36a9dRtQilgaVjyT9lo0wVPgK3e8yvbdKr8jXTbLKj7SL+Fxg/amqwjLeloUYRxHpza86w== }
-
- "@mintlify/link-rot@3.0.1334":
- resolution: { integrity: sha512-T+IO23GlJoJCd59unJn5TYDKtV8KuGKwhlubf4OkTuGZ/zgWEbVwZ2s/3hmsTM6F6UpOfuZ8THfuYdopX3NHBA== }
- engines: { node: ">=18.0.0" }
-
- "@mintlify/mdx@4.0.2":
- resolution: { integrity: sha512-LrAE0fRxZSvB4POZ50Uy5LO0bKvWbPMciE/TKUyzRk4zbexQYYRhnzz9tdQ7zis//91oikrPnKbJxCco1UlawA== }
- peerDependencies:
- "@base-ui/react": ^1.6.0
- react: ^19.2.1
- react-dom: ^19.2.1
-
- "@mintlify/models@0.0.353":
- resolution: { integrity: sha512-2c1GpJGrxJkfNhcZmcF9ncNvMv1JJmuE8l6ExkcFL6hzTqKxct4r+y6Xz5n9n+ONtV+alSi1W5HBGxa6VBgokQ== }
- engines: { node: ">=18.0.0" }
-
- "@mintlify/openapi-parser@0.0.8":
- resolution: { integrity: sha512-9MBRq9lS4l4HITYCrqCL7T61MOb20q9IdU7HWhqYMNMM1jGO1nHjXasFy61yZ8V6gMZyyKQARGVoZ0ZrYN48Og== }
- engines: { node: ">=18" }
-
- "@mintlify/prebuild@1.0.1286":
- resolution: { integrity: sha512-I1pnMmiHplvth7PT7Gu6iIq8dp6NgntdO/O7N6lFGwUcmxh9CnCIrZCgBUEtMMSU3CLlyZBGb6LJGf7MdHXX5Q== }
-
- "@mintlify/previewing@4.0.1358":
- resolution: { integrity: sha512-5cAjDVJoQXWLfqsA0FD1ivLLciVIDuzOMdnUu0tH0idxcz11FDuf1wT6+ixAuh40WNghL86WhgnkEcGO7d9Iiw== }
- engines: { node: ">=18.0.0" }
-
- "@mintlify/scraping@4.0.1000":
- resolution: { integrity: sha512-vhk2QT3h76uN4YHRdOJ41ORVA7j2Do9r+zLPkOc6bIA+ZiD6OY4NhhQfpwx/yzNnB7U1kSOwr4OHibJr2XD3Zw== }
- engines: { node: ">=18.0.0" }
- hasBin: true
-
- "@mintlify/validation@0.1.849":
- resolution: { integrity: sha512-+w6cgETPkH6KPfGXva+csE9NGUYMd8m95B+464+hZwbz4C3CE3R1KDTAOM6q4wJA/U2maRgPt7k3TSZn+nhctA== }
-
- "@modelcontextprotocol/sdk@1.30.0":
- resolution: { integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA== }
- engines: { node: ">=18" }
- peerDependencies:
- "@cfworker/json-schema": ^4.1.1
- zod: ^3.25 || ^4.0
- peerDependenciesMeta:
- "@cfworker/json-schema":
- optional: true
-
- "@nodable/entities@2.2.0":
- resolution: { integrity: sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg== }
-
- "@nodelib/fs.scandir@2.1.5":
- resolution: { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== }
- engines: { node: ">= 8" }
-
- "@nodelib/fs.stat@2.0.5":
- resolution: { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== }
- engines: { node: ">= 8" }
-
- "@nodelib/fs.walk@1.2.8":
- resolution: { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== }
- engines: { node: ">= 8" }
-
- "@openai/codex-sdk@0.149.1":
- resolution: { integrity: sha512-R00Rz5327LefZggAxl28r7vFQq1vxa91OxtjZJOsQfAM/MyH8InW5qwwRu6pzUmRGp1E29XrOzm7u1TeV5Yz2A== }
- engines: { node: ">=18" }
-
- "@openai/codex@0.149.1":
- resolution: { integrity: sha512-6q5pbcpFbJbqOpkubSDBwXmktQ55aD8eUzGzBF1zASob2DjwhBKDSNGtdZKalfrNJUdTDTPDMmzCXEXs5tMBYA== }
- engines: { node: ">=16" }
- hasBin: true
-
- "@openai/codex@0.149.1-darwin-arm64":
- resolution: { integrity: sha512-6X84kTCbnTgPIJ2EdcPsrvwS0Wxsqpa+bCswGmRf4BjhcQ5nPMnBC6yCAaCMj+vrbXQHj+L6sa9FaR4QkmA1qw== }
- engines: { node: ">=16" }
- cpu: [arm64]
- os: [darwin]
-
- "@openai/codex@0.149.1-darwin-x64":
- resolution: { integrity: sha512-MfLBQLfcElJL9tvj6y45qVHHMGSXCPnQOixuD3/Zq0g1BW/eFizkrGLdn48cFpc+l8cK+gt5nYG5pQYwVs6g4A== }
- engines: { node: ">=16" }
- cpu: [x64]
- os: [darwin]
-
- "@openai/codex@0.149.1-linux-arm64":
- resolution: { integrity: sha512-OqxUfZ1TVvHd18zHPKK/8ZRlpk8Vy11mg5CMHaLxNWldTbwVImDKtSLWT+m8m4NM5Sz4PbjtZMrVT/RfpBW/mQ== }
- engines: { node: ">=16" }
- cpu: [arm64]
- os: [linux]
-
- "@openai/codex@0.149.1-linux-x64":
- resolution: { integrity: sha512-Of5fGYgr7tAMsyj6vhXb4/RM/UoA3Zq8BLegUBDC09UNy1XTLGYP/2XD+UX8z3qh0NDwxYdCjFIWdDNijKZggQ== }
- engines: { node: ">=16" }
- cpu: [x64]
- os: [linux]
-
- "@openai/codex@0.149.1-win32-arm64":
- resolution: { integrity: sha512-5K0DmOKGK9Bos627p8sK8ATHjovPK0sDyT6h9Cb+4v+5CW5SGw1HLgjGxoLfJ8g3cg6mtg/pRCXXo2L/j71UVA== }
- engines: { node: ">=16" }
- cpu: [arm64]
- os: [win32]
-
- "@openai/codex@0.149.1-win32-x64":
- resolution: { integrity: sha512-G3QXGAg7nyyhqOeooAMUekBCeHd8a1QByhKcVAFyzNBaI06t6Ft7nsF+1SzFS0spuIdU4YyMi5YD26ukADBQUQ== }
- engines: { node: ">=16" }
- cpu: [x64]
- os: [win32]
-
- "@openapi-contrib/openapi-schema-to-json-schema@3.2.0":
- resolution: { integrity: sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw== }
-
- "@posthog/core@1.7.1":
- resolution: { integrity: sha512-kjK0eFMIpKo9GXIbts8VtAknsoZ18oZorANdtuTj1CbgS28t4ZVq//HAWhnxEuXRTrtkd+SUJ6Ux3j2Af8NCuA== }
-
- "@puppeteer/browsers@2.7.1":
- resolution: { integrity: sha512-MK7rtm8JjaxPN7Mf1JdZIZKPD2Z+W7osvrC1vjpvfOX1K0awDIHYbNi89f7eotp7eMUn2shWnt03HwVbriXtKQ== }
- engines: { node: ">=18" }
- hasBin: true
-
- "@shikijs/core@3.23.0":
- resolution: { integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA== }
-
- "@shikijs/engine-javascript@3.23.0":
- resolution: { integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA== }
-
- "@shikijs/engine-oniguruma@3.23.0":
- resolution: { integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g== }
-
- "@shikijs/langs@3.23.0":
- resolution: { integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg== }
-
- "@shikijs/themes@3.23.0":
- resolution: { integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA== }
-
- "@shikijs/transformers@3.23.0":
- resolution: { integrity: sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ== }
-
- "@shikijs/twoslash@3.23.0":
- resolution: { integrity: sha512-pNaLJWMA3LU7PhT8tm9OQBZ1epy0jmdgeJzntBtr1EVXLbHxGzTj3mnf9vOdcl84l96qnlJXkJ/NGXZYBpXl5g== }
- peerDependencies:
- typescript: ">=5.5.0"
-
- "@shikijs/types@3.23.0":
- resolution: { integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ== }
-
- "@shikijs/vscode-textmate@10.0.2":
- resolution: { integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg== }
-
- "@sindresorhus/is@5.6.0":
- resolution: { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== }
- engines: { node: ">=14.16" }
-
- "@sindresorhus/slugify@2.2.0":
- resolution: { integrity: sha512-9Vybc/qX8Kj6pxJaapjkFbiUJPk7MAkCh/GFCxIBnnsuYCFPIXKvnLidG8xlepht3i24L5XemUmGtrJ3UWrl6w== }
- engines: { node: ">=12" }
-
- "@sindresorhus/transliterate@1.6.0":
- resolution: { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== }
- engines: { node: ">=12" }
-
- "@socket.io/component-emitter@3.1.2":
- resolution: { integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== }
-
- "@stablelib/base64@1.0.1":
- resolution: { integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ== }
-
- "@stoplight/better-ajv-errors@1.0.3":
- resolution: { integrity: sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA== }
- engines: { node: ^12.20 || >= 14.13 }
- peerDependencies:
- ajv: ">=8"
-
- "@stoplight/json-ref-readers@1.2.2":
- resolution: { integrity: sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ== }
- engines: { node: ">=8.3.0" }
-
- "@stoplight/json-ref-resolver@3.1.6":
- resolution: { integrity: sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A== }
- engines: { node: ">=8.3.0" }
-
- "@stoplight/json@3.21.0":
- resolution: { integrity: sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g== }
- engines: { node: ">=8.3.0" }
-
- "@stoplight/ordered-object-literal@1.0.5":
- resolution: { integrity: sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg== }
- engines: { node: ">=8" }
-
- "@stoplight/path@1.3.2":
- resolution: { integrity: sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ== }
- engines: { node: ">=8" }
+ .:
+ devDependencies:
+ '@apidevtools/swagger-parser':
+ specifier: 13.1.0
+ version: 13.1.0(openapi-types@12.1.3)
+ '@bonyanoss/bonyan-api':
+ specifier: 2.0.0
+ version: 2.0.0
+ '@mdx-js/mdx':
+ specifier: 3.1.1
+ version: 3.1.1
+ ajv:
+ specifier: 8.20.0
+ version: 8.20.0
+ mintlify:
+ specifier: 4.2.981
+ version: 4.2.981(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
+ react:
+ specifier: 19.2.3
+ version: 19.2.3
+ react-dom:
+ specifier: 19.2.3
+ version: 19.2.3(react@19.2.3)
+ typescript:
+ specifier: 6.0.3
+ version: 6.0.3
+ yaml:
+ specifier: 2.9.1
+ version: 2.9.1
- "@stoplight/spectral-core@1.23.0":
- resolution: { integrity: sha512-WvdgmiiJrjiMrcw7ByxfcYtUvAXNp2MhAfcEIXP3Mn8ZOVwyAWIsFjLlsE5zRqj0LuN8+7OQM/L+BMcHj6x/BQ== }
- engines: { node: ^16.20 || ^18.18 || >= 20.17 }
-
- "@stoplight/spectral-formats@1.8.2":
- resolution: { integrity: sha512-c06HB+rOKfe7tuxg0IdKDEA5XnjL2vrn/m/OVIIxtINtBzphZrOgtRn7epQ5bQF5SWp84Ue7UJWaGgDwVngMFw== }
- engines: { node: ^16.20 || ^18.18 || >= 20.17 }
-
- "@stoplight/spectral-functions@1.10.2":
- resolution: { integrity: sha512-PIfPUgTRo8EtAnL1MIrzhHoUuojSaE8shGSMaHS3BxGyc8d079BE5+TqJa1/WLUb9YT9JQnZ0Aj4xfi8NcJOIw== }
- engines: { node: ^16.20 || ^18.18 || >= 20.17 }
-
- "@stoplight/spectral-parsers@1.0.5":
- resolution: { integrity: sha512-ANDTp2IHWGvsQDAY85/jQi9ZrF4mRrA5bciNHX+PUxPr4DwS6iv4h+FVWJMVwcEYdpyoIdyL+SRmHdJfQEPmwQ== }
- engines: { node: ^16.20 || ^18.18 || >= 20.17 }
-
- "@stoplight/spectral-ref-resolver@1.0.5":
- resolution: { integrity: sha512-gj3TieX5a9zMW29z3mBlAtDOCgN3GEc1VgZnCVlr5irmR4Qi5LuECuFItAq4pTn5Zu+sW5bqutsCH7D4PkpyAA== }
- engines: { node: ^16.20 || ^18.18 || >= 20.17 }
-
- "@stoplight/spectral-runtime@1.1.5":
- resolution: { integrity: sha512-6/HSCQBKnI4M5qonCKos2W7oggXv+U/ml+m/cAd4eJAYfIVEmaLUo03qSWIIl4cBc5ujJPmn2WnCiRrz1++P7Q== }
- engines: { node: ^16.20 || ^18.18 || >= 20.17 }
-
- "@stoplight/types@13.20.0":
- resolution: { integrity: sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA== }
- engines: { node: ^12.20 || >=14.13 }
-
- "@stoplight/types@13.6.0":
- resolution: { integrity: sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ== }
- engines: { node: ^12.20 || >=14.13 }
-
- "@stoplight/types@14.1.1":
- resolution: { integrity: sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g== }
- engines: { node: ^12.20 || >=14.13 }
-
- "@stoplight/yaml-ast-parser@0.0.50":
- resolution: { integrity: sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ== }
+packages:
- "@stoplight/yaml@4.3.0":
- resolution: { integrity: sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w== }
- engines: { node: ">=10.8" }
+ '@alcalzone/ansi-tokenize@0.2.5':
+ resolution: {integrity: sha512-3NX/MpTdroi0aKz134A6RC2Gb2iXVECN4QaAXnvCIxxIm3C3AVB1mkUe8NaaiyvOpDfsrqWhYtj+Q6a62RrTsw==}
+ engines: {node: '>=18'}
+
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
+ '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.241':
+ resolution: {integrity: sha512-v26ta54lKFMFEZzbOE+6p3YhKERWnDiEA6OmkSAg+3fAQHOa1+aLTKw222cfgzxgiVixwFtHMk8c63zsDd8aXQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.241':
+ resolution: {integrity: sha512-5jweT0vft1ZCaGSoxZHF9vJlHbx8Yxx4+x5aHAIXTd4lx7ZbT4o5buEF8kpmTeHUB+Fw9jtFIm4QDsRiBXgf+Q==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.241':
+ resolution: {integrity: sha512-GslvPvSzehfCZyzOaJAt4lgodznm5zpl/LMXN8ygD12z5qnpM+I9/eFnmAaISJ0L8/vyohtlAP1jjaeR2jz1AQ==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.241':
+ resolution: {integrity: sha512-SxszQGffXiLzMEnAv+pJXEmQbA8haijKyRjjH/jOt1CLeMIfpjKcO9WQDv8dEA8nREWS3zJ103zjgecAF7oOQQ==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.241':
+ resolution: {integrity: sha512-kZigJ5Ug2I2G/n7Cunmwy4TGr0lOGnWrz6TkzyWiDcUmJOodoTH6GZECNarWAtETfN03AAeLfrpiz8z3hOEDqA==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.241':
+ resolution: {integrity: sha512-gJRa922Qcm7loumHcXMDFEFg//tz1aOi7Nx0sQa9I9lC1JSN8yL6i7/idzOU5Hp193tEDFOgqIMFL/yRiXg+rw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.241':
+ resolution: {integrity: sha512-/3yA9jQuCvHDVlILzhtslH6kFYOvydXyMZiKwnzqM8ZfvFTNO41w8TpiFpBLseyM+4A4E8QMeTKu3L01Xyb5IQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.241':
+ resolution: {integrity: sha512-cHYdAgORl9kynujMeYXyV1uj/hbmsBjRw9dRVkIW4/4sF7S6L4u/qDSzn1/wiNP7g2yWSJ4KbsvHDH2WWDnCBQ==}
+ cpu: [x64]
+ os: [win32]
+
+ '@anthropic-ai/claude-agent-sdk@0.3.241':
+ resolution: {integrity: sha512-pIHdCSTywFe30H0oWDCKZzC4ipBLtF5YMDRKjf6PHyARg57O4l/72v3b6QKnnefwtKKMe6uWJ1Y9lUJg/sKWyA==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ '@anthropic-ai/sdk': '>=0.93.0'
+ '@modelcontextprotocol/sdk': ^1.29.0
+ zod: ^4.0.0
+
+ '@anthropic-ai/sdk@0.120.0':
+ resolution: {integrity: sha512-ZlvmNFT/iIF6JD13rxbbMWD8nvGR0RaUp6yMQnoc+4Af0YjVVe/bIdW1XSQQsoxXAtg1NaT6Vak0LKFlJ4d37Q==}
+ hasBin: true
+ peerDependencies:
+ zod: ^3.25.0 || ^4.0.0
+ peerDependenciesMeta:
+ zod:
+ optional: true
- "@szmarczak/http-timer@5.0.1":
- resolution: { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== }
- engines: { node: ">=14.16" }
+ '@apidevtools/json-schema-ref-parser@16.0.3':
+ resolution: {integrity: sha512-7lZp4XCTZhU/AgiGpIG+j4uJeWPdGbpQ+8wqXrzuHy+tboKsjSacjGH9/kNThRDIFhMWHF3ba+ejS8J3PeSI1Q==}
+ engines: {node: '>=22.19.0'}
+ peerDependencies:
+ '@types/json-schema': ^7.0.15
+
+ '@apidevtools/openapi-schemas@2.1.0':
+ resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==}
+ engines: {node: '>=10'}
+
+ '@apidevtools/swagger-methods@3.0.2':
+ resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==}
+
+ '@apidevtools/swagger-parser@13.1.0':
+ resolution: {integrity: sha512-dkCuqCWh5U7u0aurmmc/qvel2KeKDxHTwVtUdYonndIpD7mXV6AVaWNdvaja2HAy628z7FT/Qdz8sCgzwhgwKg==}
+ engines: {node: '>=22.19.0'}
+ peerDependencies:
+ openapi-types: '>=7'
+
+ '@ark/schema@0.56.0':
+ resolution: {integrity: sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA==}
+
+ '@ark/util@0.56.0':
+ resolution: {integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA==}
+
+ '@asyncapi/parser@3.4.0':
+ resolution: {integrity: sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ==}
+
+ '@asyncapi/specs@6.8.1':
+ resolution: {integrity: sha512-czHoAk3PeXTLR+X8IUaD+IpT+g+zUvkcgMDJVothBsan+oHN3jfcFcFUNdOPAAFoUCQN1hXF1dWuphWy05THlA==}
+
+ '@babel/code-frame@7.29.7':
+ resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.29.7':
+ resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/runtime@7.29.7':
+ resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==}
+ engines: {node: '>=6.9.0'}
+
+ '@base-ui/react@1.8.0':
+ resolution: {integrity: sha512-P0/1sxo6SBVZOklKMIedvTWqw2s2IQzi9x5bIVsXu980cuSOD4NeuRSs+/L7LZQfDkZP/uRZyGPyfFl/B1oH+Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@date-fns/tz': ^1.2.0
+ '@types/react': ^17 || ^18 || ^19
+ date-fns: ^4.0.0
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ '@date-fns/tz':
+ optional: true
+ '@types/react':
+ optional: true
+ date-fns:
+ optional: true
- "@tootallnate/quickjs-emscripten@0.23.0":
- resolution: { integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== }
+ '@base-ui/utils@0.4.0':
+ resolution: {integrity: sha512-bO9fz25kKtPf+aZVyfQrC0PDmJdmVni31W2hCS5/Owb+inwdIL3XU26pCPRPlt4LSxZrBgLwubXQXQlKaFEZzw==}
+ peerDependencies:
+ '@types/react': ^17 || ^18 || ^19
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- "@types/acorn@4.0.6":
- resolution: { integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== }
+ '@bonyanoss/bonyan-api@2.0.0':
+ resolution: {integrity: sha512-4wMTd22dlblCiRURNwctO0E+W3nKj7aB/+pxSDCpdr2tVM9oRTsEdqeFjH70DYeftjCuUb58KUh/n4NiXpesvg==}
+ engines: {node: '>=22.12.0'}
+
+ '@canvas/image-data@1.1.0':
+ resolution: {integrity: sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA==}
+
+ '@emnapi/runtime@1.10.0':
+ resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
+
+ '@floating-ui/core@1.8.0':
+ resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==}
+
+ '@floating-ui/dom@1.8.0':
+ resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==}
+
+ '@floating-ui/react-dom@2.1.9':
+ resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.12':
+ resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==}
+
+ '@hono/node-server@2.1.1':
+ resolution: {integrity: sha512-ELuehkj5VCBdgEw9zs+ivkKwyzzUCSQuE96YmiPvn1ECBoZCczbFXJLeEGMTYjphP6gydh4pHMqEYPVMYUVgQg==}
+ engines: {node: '>=20'}
+ peerDependencies:
+ hono: ^4
+
+ '@img/sharp-darwin-arm64@0.33.5':
+ resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.33.5':
+ resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linux-arm64@0.33.5':
+ resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-arm@0.33.5':
+ resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-s390x@0.33.5':
+ resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-x64@0.33.5':
+ resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-wasm32@0.33.5':
+ resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-ia32@0.33.5':
+ resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.33.5':
+ resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@inquirer/ansi@1.0.2':
+ resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==}
+ engines: {node: '>=18'}
+
+ '@inquirer/checkbox@4.3.2':
+ resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/cors@2.8.19":
- resolution: { integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg== }
+ '@inquirer/confirm@5.1.21':
+ resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/debug@4.1.13":
- resolution: { integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw== }
+ '@inquirer/core@10.3.2':
+ resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/es-aggregate-error@1.0.6":
- resolution: { integrity: sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg== }
+ '@inquirer/editor@4.2.23':
+ resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/estree-jsx@1.0.5":
- resolution: { integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== }
+ '@inquirer/expand@4.0.23':
+ resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/estree@1.0.9":
- resolution: { integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== }
+ '@inquirer/external-editor@1.0.3':
+ resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/hast@3.0.4":
- resolution: { integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== }
+ '@inquirer/figures@1.0.15':
+ resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==}
+ engines: {node: '>=18'}
+
+ '@inquirer/input@4.3.1':
+ resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/http-cache-semantics@4.2.0":
- resolution: { integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q== }
+ '@inquirer/number@3.0.23':
+ resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/json-schema@7.0.15":
- resolution: { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== }
+ '@inquirer/password@4.0.23':
+ resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/katex@0.16.8":
- resolution: { integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg== }
+ '@inquirer/prompts@7.9.0':
+ resolution: {integrity: sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/mdast@4.0.4":
- resolution: { integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== }
+ '@inquirer/rawlist@4.1.11':
+ resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/mdx@2.0.13":
- resolution: { integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== }
+ '@inquirer/search@3.2.2':
+ resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/mdx@2.0.14":
- resolution: { integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg== }
+ '@inquirer/select@4.4.2':
+ resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/ms@2.1.0":
- resolution: { integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== }
+ '@inquirer/type@3.0.10':
+ resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- "@types/nlcst@2.0.3":
- resolution: { integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA== }
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@jsep-plugin/assignment@1.3.0':
+ resolution: {integrity: sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==}
+ engines: {node: '>= 10.16.0'}
+ peerDependencies:
+ jsep: ^0.4.0||^1.0.0
+
+ '@jsep-plugin/regex@1.0.4':
+ resolution: {integrity: sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==}
+ engines: {node: '>= 10.16.0'}
+ peerDependencies:
+ jsep: ^0.4.0||^1.0.0
+
+ '@jsep-plugin/ternary@1.1.4':
+ resolution: {integrity: sha512-ck5wiqIbqdMX6WRQztBL7ASDty9YLgJ3sSAK5ZpBzXeySvFGCzIvM6UiAI4hTZ22fEcYQVV/zhUbNscggW+Ukg==}
+ engines: {node: '>= 10.16.0'}
+ peerDependencies:
+ jsep: ^0.4.0||^1.0.0
+
+ '@leichtgewicht/ip-codec@2.0.5':
+ resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
+
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@mdx-js/react@3.1.1':
+ resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==}
+ peerDependencies:
+ '@types/react': '>=16'
+ react: '>=16'
+
+ '@mintlify/cli@4.0.1584':
+ resolution: {integrity: sha512-2qX2Ulfes1LqCiu96dtYWJhDp1vLpC3ZAH6arQTN36HgLl7+ngdYJivFArFOuHJuDuYHNKKLYyxzvq/lQZEoFg==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
+ '@mintlify/common@1.0.1206':
+ resolution: {integrity: sha512-Qh9qXvfAvZZTBqfPIfJHL6nZwohPiEqzFYeFCJauwR5CXj5NK5t87Zop+tl0xpa9PQFJmvxy391Qsa6PyBtvMg==}
+
+ '@mintlify/link-rot@3.0.1414':
+ resolution: {integrity: sha512-gKWgqPpeJECi7fy16XLwkoKypxut6J7EHgNJSaynMJLEvt42DWZMB5qu6TausvDVy+UnpjVuwYKtrSQKiRaEog==}
+ engines: {node: '>=18.0.0'}
+
+ '@mintlify/mdx@4.0.7':
+ resolution: {integrity: sha512-/kOnIHvjM4jwF7WoXjPRp1nDLjgW8YFyApw5JQiXU6cEdXJdqpWH1xW+0rgGD4adi6yXY+Re9cfNRMftJzCo5A==}
+ peerDependencies:
+ '@base-ui/react': ^1.6.0
+ react: ^19.2.1
+ react-dom: ^19.2.1
+
+ '@mintlify/models@0.0.365':
+ resolution: {integrity: sha512-nZVV7AEtCpovxp7Ynmj4O/auTyERcI3fIL2PECvevPtpnXAuDQF2u0t2GRzBS7Oan/Afkqjy9E6MvVA6TzL/GA==}
+ engines: {node: '>=18.0.0'}
+
+ '@mintlify/openapi-parser@0.0.9':
+ resolution: {integrity: sha512-PHNRY+K6c5lsEqxfLHH1NghO34PTmhtBSFSw5KOx8DyUYe5LTn7k4U3hp7i1qvJuUTC+x0bU4unFmkM1Hc4OGw==}
+ engines: {node: '>=18'}
+
+ '@mintlify/prebuild@1.0.1365':
+ resolution: {integrity: sha512-b9qseRLBwcsdFmL5ZgO4l+ffOiaX5tV1GCf0EGZzSMM7b5o5zPx48HG5VW+wN3dd6fBbJJJqtyYd4riEgQ8K5g==}
+
+ '@mintlify/previewing@4.0.1437':
+ resolution: {integrity: sha512-Bv0eKD0r74KJmdmjSaIaYxmredN6xd2tQbnOKOuke4KYrwteAiWbDu+tco8/v4r5r0AolleGyJWDOrVw3o51Qg==}
+ engines: {node: '>=18.0.0'}
+
+ '@mintlify/scraping@4.0.1076':
+ resolution: {integrity: sha512-8g60+ECGA4MB3T3AJ/G0U5BOMjuWJjTa2qSo7EISmuyxPBXb1adAdCWe74R7iwJkEH9HNk8uZgifRN0nTHboAA==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+ peerDependencies:
+ puppeteer: 24.3.1
+ peerDependenciesMeta:
+ puppeteer:
+ optional: true
- "@types/node@25.9.1":
- resolution: { integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg== }
+ '@mintlify/validation@0.1.890':
+ resolution: {integrity: sha512-8yoDXzIM+zPiFtjmDfcWGPxory1GyNw/pyS9erMe3ZpkkrXljDeJaWJGkBqnYlHUjR3hOBc9hyQQib0zM53mQw==}
+
+ '@modelcontextprotocol/sdk@1.30.0':
+ resolution: {integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@cfworker/json-schema': ^4.1.1
+ zod: ^3.25 || ^4.0
+ peerDependenciesMeta:
+ '@cfworker/json-schema':
+ optional: true
- "@types/react@19.2.14":
- resolution: { integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w== }
+ '@nodable/entities@2.2.0':
+ resolution: {integrity: sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg==}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
- "@types/unist@2.0.11":
- resolution: { integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== }
+ '@openai/codex-sdk@0.149.1':
+ resolution: {integrity: sha512-R00Rz5327LefZggAxl28r7vFQq1vxa91OxtjZJOsQfAM/MyH8InW5qwwRu6pzUmRGp1E29XrOzm7u1TeV5Yz2A==}
+ engines: {node: '>=18'}
- "@types/unist@3.0.3":
- resolution: { integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== }
+ '@openai/codex@0.149.1':
+ resolution: {integrity: sha512-6q5pbcpFbJbqOpkubSDBwXmktQ55aD8eUzGzBF1zASob2DjwhBKDSNGtdZKalfrNJUdTDTPDMmzCXEXs5tMBYA==}
+ engines: {node: '>=16'}
+ hasBin: true
- "@types/urijs@1.19.26":
- resolution: { integrity: sha512-wkXrVzX5yoqLnndOwFsieJA7oKM8cNkOKJtf/3vVGSUFkWDKZvFHpIl9Pvqb/T9UsawBBFMTTD8xu7sK5MWuvg== }
+ '@openai/codex@0.149.1-darwin-arm64':
+ resolution: {integrity: sha512-6X84kTCbnTgPIJ2EdcPsrvwS0Wxsqpa+bCswGmRf4BjhcQ5nPMnBC6yCAaCMj+vrbXQHj+L6sa9FaR4QkmA1qw==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [darwin]
- "@types/ws@8.18.1":
- resolution: { integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== }
+ '@openai/codex@0.149.1-darwin-x64':
+ resolution: {integrity: sha512-MfLBQLfcElJL9tvj6y45qVHHMGSXCPnQOixuD3/Zq0g1BW/eFizkrGLdn48cFpc+l8cK+gt5nYG5pQYwVs6g4A==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [darwin]
- "@types/yauzl@2.10.3":
- resolution: { integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== }
+ '@openai/codex@0.149.1-linux-arm64':
+ resolution: {integrity: sha512-OqxUfZ1TVvHd18zHPKK/8ZRlpk8Vy11mg5CMHaLxNWldTbwVImDKtSLWT+m8m4NM5Sz4PbjtZMrVT/RfpBW/mQ==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [linux]
- "@typescript/vfs@1.6.4":
- resolution: { integrity: sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ== }
- peerDependencies:
- typescript: "*"
+ '@openai/codex@0.149.1-linux-x64':
+ resolution: {integrity: sha512-Of5fGYgr7tAMsyj6vhXb4/RM/UoA3Zq8BLegUBDC09UNy1XTLGYP/2XD+UX8z3qh0NDwxYdCjFIWdDNijKZggQ==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [linux]
- "@ungap/structured-clone@1.3.1":
- resolution: { integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ== }
+ '@openai/codex@0.149.1-win32-arm64':
+ resolution: {integrity: sha512-5K0DmOKGK9Bos627p8sK8ATHjovPK0sDyT6h9Cb+4v+5CW5SGw1HLgjGxoLfJ8g3cg6mtg/pRCXXo2L/j71UVA==}
+ engines: {node: '>=16'}
+ cpu: [arm64]
+ os: [win32]
- abort-controller@3.0.0:
- resolution: { integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== }
- engines: { node: ">=6.5" }
+ '@openai/codex@0.149.1-win32-x64':
+ resolution: {integrity: sha512-G3QXGAg7nyyhqOeooAMUekBCeHd8a1QByhKcVAFyzNBaI06t6Ft7nsF+1SzFS0spuIdU4YyMi5YD26ukADBQUQ==}
+ engines: {node: '>=16'}
+ cpu: [x64]
+ os: [win32]
- accepts@1.3.8:
- resolution: { integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== }
- engines: { node: ">= 0.6" }
+ '@openapi-contrib/openapi-schema-to-json-schema@3.2.0':
+ resolution: {integrity: sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==}
+
+ '@posthog/core@1.7.1':
+ resolution: {integrity: sha512-kjK0eFMIpKo9GXIbts8VtAknsoZ18oZorANdtuTj1CbgS28t4ZVq//HAWhnxEuXRTrtkd+SUJ6Ux3j2Af8NCuA==}
- accepts@2.0.0:
- resolution: { integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== }
- engines: { node: ">= 0.6" }
+ '@puppeteer/browsers@2.7.1':
+ resolution: {integrity: sha512-MK7rtm8JjaxPN7Mf1JdZIZKPD2Z+W7osvrC1vjpvfOX1K0awDIHYbNi89f7eotp7eMUn2shWnt03HwVbriXtKQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@shikijs/core@3.23.0':
+ resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==}
- acorn-jsx@5.3.2:
- resolution: { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== }
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ '@shikijs/engine-javascript@3.23.0':
+ resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==}
- acorn@8.11.2:
- resolution: { integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== }
- engines: { node: ">=0.4.0" }
- hasBin: true
+ '@shikijs/engine-oniguruma@3.23.0':
+ resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==}
- address@1.2.2:
- resolution: { integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== }
- engines: { node: ">= 10.0.0" }
+ '@shikijs/langs@3.23.0':
+ resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==}
- adm-zip@0.6.0:
- resolution: { integrity: sha512-XleryMhbuksdKtofnWZ9Sk+4CUTbms4Mb/EU32SZwToAyZ5RgVos/ki8n+yr0LWHOGKuakbXTuuYNHLQjhddgg== }
- engines: { node: ">=14.0" }
+ '@shikijs/themes@3.23.0':
+ resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==}
- agent-base@6.0.2:
- resolution: { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== }
- engines: { node: ">= 6.0.0" }
+ '@shikijs/transformers@3.23.0':
+ resolution: {integrity: sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==}
- agent-base@7.1.4:
- resolution: { integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== }
- engines: { node: ">= 14" }
+ '@shikijs/twoslash@3.23.0':
+ resolution: {integrity: sha512-pNaLJWMA3LU7PhT8tm9OQBZ1epy0jmdgeJzntBtr1EVXLbHxGzTj3mnf9vOdcl84l96qnlJXkJ/NGXZYBpXl5g==}
+ peerDependencies:
+ typescript: '>=5.5.0'
- aggregate-error@4.0.1:
- resolution: { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== }
- engines: { node: ">=12" }
+ '@shikijs/types@3.23.0':
+ resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==}
- ajv-draft-04@1.0.0:
- resolution: { integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== }
- peerDependencies:
- ajv: ^8.5.0
- peerDependenciesMeta:
- ajv:
- optional: true
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
- ajv-errors@3.0.0:
- resolution: { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== }
- peerDependencies:
- ajv: ^8.0.1
+ '@sindresorhus/is@5.6.0':
+ resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
+ engines: {node: '>=14.16'}
- ajv-formats@2.1.1:
- resolution: { integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== }
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
+ '@sindresorhus/slugify@2.2.0':
+ resolution: {integrity: sha512-9Vybc/qX8Kj6pxJaapjkFbiUJPk7MAkCh/GFCxIBnnsuYCFPIXKvnLidG8xlepht3i24L5XemUmGtrJ3UWrl6w==}
+ engines: {node: '>=12'}
- ajv-formats@3.0.1:
- resolution: { integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ== }
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
+ '@sindresorhus/transliterate@1.6.0':
+ resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==}
+ engines: {node: '>=12'}
- ajv@8.20.0:
- resolution: { integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA== }
+ '@socket.io/component-emitter@3.1.2':
+ resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
- ansi-escapes@4.3.2:
- resolution: { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== }
- engines: { node: ">=8" }
+ '@stablelib/base64@1.0.1':
+ resolution: {integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==}
- ansi-escapes@7.3.0:
- resolution: { integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg== }
- engines: { node: ">=18" }
+ '@stoplight/better-ajv-errors@1.0.3':
+ resolution: {integrity: sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==}
+ engines: {node: ^12.20 || >= 14.13}
+ peerDependencies:
+ ajv: '>=8'
- ansi-regex@5.0.1:
- resolution: { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== }
- engines: { node: ">=8" }
-
- ansi-regex@6.2.2:
- resolution: { integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== }
- engines: { node: ">=12" }
-
- ansi-styles@4.3.0:
- resolution: { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== }
- engines: { node: ">=8" }
-
- ansi-styles@6.2.3:
- resolution: { integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== }
- engines: { node: ">=12" }
-
- any-promise@1.3.0:
- resolution: { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== }
-
- anymatch@3.1.3:
- resolution: { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== }
- engines: { node: ">= 8" }
-
- anynum@1.0.1:
- resolution: { integrity: sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A== }
-
- arg@5.0.2:
- resolution: { integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== }
-
- argparse@1.0.10:
- resolution: { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== }
-
- argparse@2.0.1:
- resolution: { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== }
-
- arkregex@0.0.5:
- resolution: { integrity: sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw== }
-
- arktype@2.2.0:
- resolution: { integrity: sha512-t54MZ7ti5BhOEvzEkgKnWvqj+UbDfWig+DHr5I34xatymPusKLS0lQpNJd8M6DzmIto2QGszHfNKoFIT8tMCZQ== }
-
- array-buffer-byte-length@1.0.2:
- resolution: { integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== }
- engines: { node: ">= 0.4" }
-
- array-flatten@1.1.1:
- resolution: { integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== }
-
- array-iterate@2.0.1:
- resolution: { integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg== }
-
- arraybuffer.prototype.slice@1.0.4:
- resolution: { integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== }
- engines: { node: ">= 0.4" }
-
- ast-types@0.13.4:
- resolution: { integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== }
- engines: { node: ">=4" }
-
- astring@1.9.0:
- resolution: { integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== }
- hasBin: true
-
- async-function@1.0.0:
- resolution: { integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== }
- engines: { node: ">= 0.4" }
-
- asynckit@0.4.0:
- resolution: { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== }
-
- auto-bind@5.0.1:
- resolution: { integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
-
- available-typed-arrays@1.0.7:
- resolution: { integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== }
- engines: { node: ">= 0.4" }
-
- avsc@5.7.9:
- resolution: { integrity: sha512-yOA4wFeI7ET3v32Di/sUybQ+ttP20JHSW3mxLuNGeO0uD6PPcvLrIQXSvy/rhJOWU5JrYh7U4OHplWMmtAtjMg== }
- engines: { node: ">=0.11" }
-
- axios@1.18.0:
- resolution: { integrity: sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw== }
-
- b4a@1.8.1:
- resolution: { integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw== }
- peerDependencies:
- react-native-b4a: "*"
- peerDependenciesMeta:
- react-native-b4a:
- optional: true
-
- bail@2.0.2:
- resolution: { integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== }
+ '@stoplight/json-ref-readers@1.2.2':
+ resolution: {integrity: sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==}
+ engines: {node: '>=8.3.0'}
- balanced-match@1.0.2:
- resolution: { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== }
+ '@stoplight/json-ref-resolver@3.1.6':
+ resolution: {integrity: sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==}
+ engines: {node: '>=8.3.0'}
- bare-events@2.9.1:
- resolution: { integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg== }
- peerDependencies:
- bare-abort-controller: "*"
- peerDependenciesMeta:
- bare-abort-controller:
- optional: true
+ '@stoplight/json@3.21.0':
+ resolution: {integrity: sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==}
+ engines: {node: '>=8.3.0'}
- bare-fs@4.7.2:
- resolution: { integrity: sha512-aTvMFUWkBmjzKtEQMDGGDNF8bkfpD5N1b/FCwt7A3wrU4t1o/e/85Wzkluh6JlODCjqVESYCkQCdTXqZ9G7VFg== }
- engines: { bare: ">=1.16.0" }
- peerDependencies:
- bare-buffer: "*"
- peerDependenciesMeta:
- bare-buffer:
- optional: true
+ '@stoplight/ordered-object-literal@1.0.5':
+ resolution: {integrity: sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==}
+ engines: {node: '>=8'}
- bare-os@3.9.1:
- resolution: { integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ== }
- engines: { bare: ">=1.14.0" }
-
- bare-path@3.0.1:
- resolution: { integrity: sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ== }
+ '@stoplight/path@1.3.2':
+ resolution: {integrity: sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==}
+ engines: {node: '>=8'}
- bare-stream@2.13.1:
- resolution: { integrity: sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow== }
- peerDependencies:
- bare-abort-controller: "*"
- bare-buffer: "*"
- bare-events: "*"
- peerDependenciesMeta:
- bare-abort-controller:
- optional: true
- bare-buffer:
- optional: true
- bare-events:
- optional: true
-
- bare-url@2.4.3:
- resolution: { integrity: sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ== }
-
- base64-js@1.5.1:
- resolution: { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== }
-
- base64id@2.0.0:
- resolution: { integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== }
- engines: { node: ^4.5.0 || >= 5.9 }
-
- basic-ftp@5.3.1:
- resolution: { integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw== }
- engines: { node: ">=10.0.0" }
-
- better-opn@3.0.2:
- resolution: { integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ== }
- engines: { node: ">=12.0.0" }
-
- binary-extensions@2.3.0:
- resolution: { integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== }
- engines: { node: ">=8" }
+ '@stoplight/spectral-core@1.23.0':
+ resolution: {integrity: sha512-WvdgmiiJrjiMrcw7ByxfcYtUvAXNp2MhAfcEIXP3Mn8ZOVwyAWIsFjLlsE5zRqj0LuN8+7OQM/L+BMcHj6x/BQ==}
+ engines: {node: ^16.20 || ^18.18 || >= 20.17}
- bl@4.1.0:
- resolution: { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== }
-
- body-parser@1.20.5:
- resolution: { integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA== }
- engines: { node: ">= 0.8", npm: 1.2.8000 || >= 1.4.16 }
-
- body-parser@2.3.0:
- resolution: { integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw== }
- engines: { node: ">=18" }
-
- brace-expansion@1.1.15:
- resolution: { integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg== }
-
- braces@3.0.3:
- resolution: { integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== }
- engines: { node: ">=8" }
-
- buffer-crc32@0.2.13:
- resolution: { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== }
-
- buffer@5.7.1:
- resolution: { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== }
-
- bytes@3.1.2:
- resolution: { integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== }
- engines: { node: ">= 0.8" }
-
- cacheable-lookup@7.0.0:
- resolution: { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== }
- engines: { node: ">=14.16" }
-
- cacheable-request@10.2.14:
- resolution: { integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== }
- engines: { node: ">=14.16" }
-
- call-bind-apply-helpers@1.0.2:
- resolution: { integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== }
- engines: { node: ">= 0.4" }
-
- call-bind@1.0.9:
- resolution: { integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ== }
- engines: { node: ">= 0.4" }
+ '@stoplight/spectral-formats@1.8.2':
+ resolution: {integrity: sha512-c06HB+rOKfe7tuxg0IdKDEA5XnjL2vrn/m/OVIIxtINtBzphZrOgtRn7epQ5bQF5SWp84Ue7UJWaGgDwVngMFw==}
+ engines: {node: ^16.20 || ^18.18 || >= 20.17}
- call-bound@1.0.4:
- resolution: { integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== }
- engines: { node: ">= 0.4" }
+ '@stoplight/spectral-functions@1.10.2':
+ resolution: {integrity: sha512-PIfPUgTRo8EtAnL1MIrzhHoUuojSaE8shGSMaHS3BxGyc8d079BE5+TqJa1/WLUb9YT9JQnZ0Aj4xfi8NcJOIw==}
+ engines: {node: ^16.20 || ^18.18 || >= 20.17}
- call-me-maybe@1.0.2:
- resolution: { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== }
+ '@stoplight/spectral-parsers@1.0.5':
+ resolution: {integrity: sha512-ANDTp2IHWGvsQDAY85/jQi9ZrF4mRrA5bciNHX+PUxPr4DwS6iv4h+FVWJMVwcEYdpyoIdyL+SRmHdJfQEPmwQ==}
+ engines: {node: ^16.20 || ^18.18 || >= 20.17}
- callsites@3.1.0:
- resolution: { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== }
- engines: { node: ">=6" }
+ '@stoplight/spectral-ref-resolver@1.0.5':
+ resolution: {integrity: sha512-gj3TieX5a9zMW29z3mBlAtDOCgN3GEc1VgZnCVlr5irmR4Qi5LuECuFItAq4pTn5Zu+sW5bqutsCH7D4PkpyAA==}
+ engines: {node: ^16.20 || ^18.18 || >= 20.17}
- camelcase-css@2.0.1:
- resolution: { integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== }
- engines: { node: ">= 6" }
+ '@stoplight/spectral-runtime@1.1.5':
+ resolution: {integrity: sha512-6/HSCQBKnI4M5qonCKos2W7oggXv+U/ml+m/cAd4eJAYfIVEmaLUo03qSWIIl4cBc5ujJPmn2WnCiRrz1++P7Q==}
+ engines: {node: ^16.20 || ^18.18 || >= 20.17}
- ccount@2.0.1:
- resolution: { integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== }
+ '@stoplight/types@13.20.0':
+ resolution: {integrity: sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==}
+ engines: {node: ^12.20 || >=14.13}
- chalk@5.2.0:
- resolution: { integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== }
- engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
+ '@stoplight/types@13.6.0':
+ resolution: {integrity: sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==}
+ engines: {node: ^12.20 || >=14.13}
- chalk@5.3.0:
- resolution: { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== }
- engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
+ '@stoplight/types@14.1.1':
+ resolution: {integrity: sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==}
+ engines: {node: ^12.20 || >=14.13}
- chalk@5.6.2:
- resolution: { integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== }
- engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
+ '@stoplight/yaml-ast-parser@0.0.50':
+ resolution: {integrity: sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==}
- character-entities-html4@2.1.0:
- resolution: { integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== }
+ '@stoplight/yaml@4.3.0':
+ resolution: {integrity: sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==}
+ engines: {node: '>=10.8'}
- character-entities-legacy@3.0.0:
- resolution: { integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== }
+ '@szmarczak/http-timer@5.0.1':
+ resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
+ engines: {node: '>=14.16'}
- character-entities@2.0.2:
- resolution: { integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== }
+ '@tootallnate/quickjs-emscripten@0.23.0':
+ resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
- character-reference-invalid@2.0.1:
- resolution: { integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== }
+ '@types/acorn@4.0.6':
+ resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
- chardet@2.1.1:
- resolution: { integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ== }
+ '@types/cors@2.8.19':
+ resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==}
- chokidar@3.5.3:
- resolution: { integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== }
- engines: { node: ">= 8.10.0" }
+ '@types/debug@4.1.13':
+ resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==}
- chokidar@3.6.0:
- resolution: { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== }
- engines: { node: ">= 8.10.0" }
+ '@types/es-aggregate-error@1.0.6':
+ resolution: {integrity: sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==}
- chownr@1.1.4:
- resolution: { integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== }
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
- chownr@3.0.0:
- resolution: { integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== }
- engines: { node: ">=18" }
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
- chromium-bidi@2.1.2:
- resolution: { integrity: sha512-vtRWBK2uImo5/W2oG6/cDkkHSm+2t6VHgnj+Rcwhb0pP74OoUb4GipyRX/T/y39gYQPhioP0DPShn+A7P6CHNw== }
- peerDependencies:
- devtools-protocol: "*"
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
- clean-stack@4.2.0:
- resolution: { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== }
- engines: { node: ">=12" }
+ '@types/http-cache-semantics@4.2.0':
+ resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==}
- cli-boxes@3.0.0:
- resolution: { integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== }
- engines: { node: ">=10" }
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- cli-cursor@4.0.0:
- resolution: { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ '@types/katex@0.16.8':
+ resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
- cli-spinners@2.9.2:
- resolution: { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== }
- engines: { node: ">=6" }
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
- cli-truncate@4.0.0:
- resolution: { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== }
- engines: { node: ">=18" }
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
- cli-width@4.1.0:
- resolution: { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== }
- engines: { node: ">= 12" }
+ '@types/mdx@2.0.14':
+ resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==}
- cliui@8.0.1:
- resolution: { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== }
- engines: { node: ">=12" }
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- code-excerpt@4.0.0:
- resolution: { integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ '@types/nlcst@2.0.3':
+ resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
- collapse-white-space@2.1.0:
- resolution: { integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== }
+ '@types/node@25.9.1':
+ resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==}
- color-convert@2.0.1:
- resolution: { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== }
- engines: { node: ">=7.0.0" }
+ '@types/react@19.2.14':
+ resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
- color-name@1.1.4:
- resolution: { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== }
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
- color-string@1.9.1:
- resolution: { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== }
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- color@4.2.3:
- resolution: { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== }
- engines: { node: ">=12.5.0" }
+ '@types/urijs@1.19.26':
+ resolution: {integrity: sha512-wkXrVzX5yoqLnndOwFsieJA7oKM8cNkOKJtf/3vVGSUFkWDKZvFHpIl9Pvqb/T9UsawBBFMTTD8xu7sK5MWuvg==}
- combined-stream@1.0.8:
- resolution: { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== }
- engines: { node: ">= 0.8" }
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
- comma-separated-tokens@2.0.3:
- resolution: { integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== }
+ '@types/yauzl@2.10.3':
+ resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
- commander@2.20.3:
- resolution: { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== }
+ '@typescript/vfs@1.6.4':
+ resolution: {integrity: sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ==}
+ peerDependencies:
+ typescript: '*'
- commander@4.1.1:
- resolution: { integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== }
- engines: { node: ">= 6" }
+ '@ungap/structured-clone@1.3.1':
+ resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==}
- commander@8.3.0:
- resolution: { integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== }
- engines: { node: ">= 12" }
-
- concat-map@0.0.1:
- resolution: { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== }
-
- content-disposition@0.5.4:
- resolution: { integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== }
- engines: { node: ">= 0.6" }
-
- content-disposition@1.1.0:
- resolution: { integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g== }
- engines: { node: ">=18" }
-
- content-type@1.0.5:
- resolution: { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== }
- engines: { node: ">= 0.6" }
-
- content-type@2.1.0:
- resolution: { integrity: sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag== }
- engines: { node: ">=18" }
-
- convert-to-spaces@2.0.1:
- resolution: { integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
-
- cookie-signature@1.0.7:
- resolution: { integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== }
-
- cookie-signature@1.2.2:
- resolution: { integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== }
- engines: { node: ">=6.6.0" }
-
- cookie@0.7.2:
- resolution: { integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== }
- engines: { node: ">= 0.6" }
-
- cors@2.8.6:
- resolution: { integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw== }
- engines: { node: ">= 0.10" }
-
- cosmiconfig@9.0.1:
- resolution: { integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ== }
- engines: { node: ">=14" }
- peerDependencies:
- typescript: ">=4.9.5"
- peerDependenciesMeta:
- typescript:
- optional: true
-
- cross-spawn@7.0.6:
- resolution: { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== }
- engines: { node: ">= 8" }
-
- cssesc@3.0.0:
- resolution: { integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== }
- engines: { node: ">=4" }
- hasBin: true
-
- cssfilter@0.0.10:
- resolution: { integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== }
-
- csstype@3.2.3:
- resolution: { integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== }
-
- data-uri-to-buffer@6.0.2:
- resolution: { integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== }
- engines: { node: ">= 14" }
-
- data-view-buffer@1.0.2:
- resolution: { integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== }
- engines: { node: ">= 0.4" }
-
- data-view-byte-length@1.0.2:
- resolution: { integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== }
- engines: { node: ">= 0.4" }
-
- data-view-byte-offset@1.0.1:
- resolution: { integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== }
- engines: { node: ">= 0.4" }
-
- debug@2.6.9:
- resolution: { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== }
- peerDependencies:
- supports-color: "*"
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- debug@4.3.7:
- resolution: { integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== }
- engines: { node: ">=6.0" }
- peerDependencies:
- supports-color: "*"
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- debug@4.4.3:
- resolution: { integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== }
- engines: { node: ">=6.0" }
- peerDependencies:
- supports-color: "*"
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- decode-bmp@0.2.1:
- resolution: { integrity: sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA== }
- engines: { node: ">=8.6.0" }
-
- decode-ico@0.4.1:
- resolution: { integrity: sha512-69NZfbKIzux1vBOd31al3XnMnH+2mqDhEgLdpygErm4d60N+UwA5Sq5WFjmEDQzumgB9fElojGwWG0vybVfFmA== }
- engines: { node: ">=8.6" }
-
- 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" }
-
- deep-extend@0.6.0:
- resolution: { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== }
- engines: { node: ">=4.0.0" }
-
- defer-to-connect@2.0.1:
- resolution: { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== }
- engines: { node: ">=10" }
-
- define-data-property@1.1.4:
- resolution: { integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== }
- engines: { node: ">= 0.4" }
-
- define-lazy-prop@2.0.0:
- resolution: { integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== }
- engines: { node: ">=8" }
-
- define-properties@1.2.1:
- resolution: { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== }
- engines: { node: ">= 0.4" }
-
- degenerator@5.0.1:
- resolution: { integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== }
- engines: { node: ">= 14" }
-
- delayed-stream@1.0.0:
- resolution: { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== }
- engines: { node: ">=0.4.0" }
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
- depd@2.0.0:
- resolution: { integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== }
- engines: { node: ">= 0.8" }
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
- dependency-graph@0.11.0:
- resolution: { integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== }
- engines: { node: ">= 0.6.0" }
+ accepts@2.0.0:
+ resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
+ engines: {node: '>= 0.6'}
- dequal@2.0.3:
- resolution: { integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== }
- engines: { node: ">=6" }
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- destroy@1.2.0:
- resolution: { integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== }
- engines: { node: ">= 0.8", npm: 1.2.8000 || >= 1.4.16 }
-
- detect-libc@2.1.2:
- resolution: { integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== }
- engines: { node: ">=8" }
-
- detect-port@1.5.1:
- resolution: { integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== }
- hasBin: true
+ acorn@8.11.2:
+ resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
- devlop@1.1.0:
- resolution: { integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== }
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
- devtools-protocol@0.0.1402036:
- resolution: { integrity: sha512-JwAYQgEvm3yD45CHB+RmF5kMbWtXBaOGwuxa87sZogHcLCv8c/IqnThaoQ1y60d7pXWjSKWQphPEc+1rAScVdg== }
+ adm-zip@0.6.0:
+ resolution: {integrity: sha512-XleryMhbuksdKtofnWZ9Sk+4CUTbms4Mb/EU32SZwToAyZ5RgVos/ki8n+yr0LWHOGKuakbXTuuYNHLQjhddgg==}
+ engines: {node: '>=14.0'}
- didyoumean@1.2.2:
- resolution: { integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== }
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
- dlv@1.1.3:
- resolution: { integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== }
+ agent-base@7.1.4:
+ resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
+ engines: {node: '>= 14'}
- dns-packet@5.6.1:
- resolution: { integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== }
- engines: { node: ">=6" }
+ aggregate-error@4.0.1:
+ resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
+ engines: {node: '>=12'}
- dns-socket@4.2.2:
- resolution: { integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg== }
- engines: { node: ">=6" }
+ ajv-draft-04@1.0.0:
+ resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
+ peerDependencies:
+ ajv: ^8.5.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
- dunder-proto@1.0.1:
- resolution: { integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== }
- engines: { node: ">= 0.4" }
+ ajv-errors@3.0.0:
+ resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==}
+ peerDependencies:
+ ajv: ^8.0.1
+
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
- ee-first@1.1.1:
- resolution: { integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== }
+ ajv-formats@3.0.1:
+ resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
- emoji-regex@10.6.0:
- resolution: { integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== }
+ ajv@8.20.0:
+ resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
- emoji-regex@8.0.0:
- resolution: { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== }
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
- encodeurl@2.0.0:
- resolution: { integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== }
- engines: { node: ">= 0.8" }
+ ansi-escapes@7.3.0:
+ resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
+ engines: {node: '>=18'}
- end-of-stream@1.4.5:
- resolution: { integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== }
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
- engine.io-parser@5.2.3:
- resolution: { integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== }
- engines: { node: ">=10.0.0" }
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
- engine.io@6.6.8:
- resolution: { integrity: sha512-2agL3ueZhqxoVrfmntO8yuVj+uNSlIOnhykYHk3Cq0ShYPdUjjUiSJrQvXjq01I9jAuI0Zl2YO8Evv5Mqytm5g== }
- engines: { node: ">=10.2.0" }
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
- entities@6.0.1:
- resolution: { integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== }
- engines: { node: ">=0.12" }
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
- env-paths@2.2.1:
- resolution: { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== }
- engines: { node: ">=6" }
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
- environment@1.1.0:
- resolution: { integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== }
- engines: { node: ">=18" }
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
- error-ex@1.3.4:
- resolution: { integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== }
+ anynum@1.0.1:
+ resolution: {integrity: sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==}
- es-abstract@1.24.2:
- resolution: { integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg== }
- engines: { node: ">= 0.4" }
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
- es-aggregate-error@1.0.14:
- resolution: { integrity: sha512-3YxX6rVb07B5TV11AV5wsL7nQCHXNwoHPsQC8S4AmBiqYhyNCJ5BRKXkXyDJvs8QzXN20NgRtxe3dEEQD9NLHA== }
- engines: { node: ">= 0.4" }
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
- es-define-property@1.0.1:
- resolution: { integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== }
- engines: { node: ">= 0.4" }
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- es-errors@1.3.0:
- resolution: { integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== }
- engines: { node: ">= 0.4" }
+ arkregex@0.0.5:
+ resolution: {integrity: sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw==}
- es-object-atoms@1.1.2:
- resolution: { integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw== }
- engines: { node: ">= 0.4" }
+ arktype@2.2.0:
+ resolution: {integrity: sha512-t54MZ7ti5BhOEvzEkgKnWvqj+UbDfWig+DHr5I34xatymPusKLS0lQpNJd8M6DzmIto2QGszHfNKoFIT8tMCZQ==}
- es-set-tostringtag@2.1.0:
- resolution: { integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== }
- engines: { node: ">= 0.4" }
+ array-buffer-byte-length@1.0.2:
+ resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
+ engines: {node: '>= 0.4'}
- es-to-primitive@1.3.0:
- resolution: { integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== }
- engines: { node: ">= 0.4" }
+ array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
- es-toolkit@1.47.0:
- resolution: { integrity: sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw== }
+ array-iterate@2.0.1:
+ resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
- esast-util-from-estree@2.0.0:
- resolution: { integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ== }
+ arraybuffer.prototype.slice@1.0.4:
+ resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
+ engines: {node: '>= 0.4'}
- esast-util-from-js@2.0.1:
- resolution: { integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw== }
+ ast-types@0.13.4:
+ resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
+ engines: {node: '>=4'}
- escalade@3.2.0:
- resolution: { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== }
- engines: { node: ">=6" }
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
- escape-html@1.0.3:
- resolution: { integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== }
+ async-function@1.0.0:
+ resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
+ engines: {node: '>= 0.4'}
- escape-string-regexp@2.0.0:
- resolution: { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== }
- engines: { node: ">=8" }
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- escape-string-regexp@5.0.0:
- resolution: { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== }
- engines: { node: ">=12" }
+ auto-bind@5.0.1:
+ resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- escodegen@2.1.0:
- resolution: { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== }
- engines: { node: ">=6.0" }
- hasBin: true
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
- esprima@4.0.1:
- resolution: { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== }
- engines: { node: ">=4" }
- hasBin: true
+ avsc@5.7.9:
+ resolution: {integrity: sha512-yOA4wFeI7ET3v32Di/sUybQ+ttP20JHSW3mxLuNGeO0uD6PPcvLrIQXSvy/rhJOWU5JrYh7U4OHplWMmtAtjMg==}
+ engines: {node: '>=0.11'}
- estraverse@5.3.0:
- resolution: { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== }
- engines: { node: ">=4.0" }
+ axios@1.18.0:
+ resolution: {integrity: sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==}
- estree-util-attach-comments@3.0.0:
- resolution: { integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== }
+ b4a@1.8.1:
+ resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==}
+ peerDependencies:
+ react-native-b4a: '*'
+ peerDependenciesMeta:
+ react-native-b4a:
+ optional: true
- estree-util-build-jsx@3.0.1:
- resolution: { integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== }
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
- estree-util-is-identifier-name@3.0.0:
- resolution: { integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== }
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- estree-util-scope@1.0.0:
- resolution: { integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ== }
+ bare-events@2.9.1:
+ resolution: {integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==}
+ peerDependencies:
+ bare-abort-controller: '*'
+ peerDependenciesMeta:
+ bare-abort-controller:
+ optional: true
- estree-util-to-js@2.0.0:
- resolution: { integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== }
+ bare-fs@4.7.2:
+ resolution: {integrity: sha512-aTvMFUWkBmjzKtEQMDGGDNF8bkfpD5N1b/FCwt7A3wrU4t1o/e/85Wzkluh6JlODCjqVESYCkQCdTXqZ9G7VFg==}
+ engines: {bare: '>=1.16.0'}
+ peerDependencies:
+ bare-buffer: '*'
+ peerDependenciesMeta:
+ bare-buffer:
+ optional: true
- estree-util-visit@2.0.0:
- resolution: { integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== }
+ bare-os@3.9.1:
+ resolution: {integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==}
+ engines: {bare: '>=1.14.0'}
+
+ bare-path@3.0.1:
+ resolution: {integrity: sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==}
+
+ bare-stream@2.13.1:
+ resolution: {integrity: sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==}
+ peerDependencies:
+ bare-abort-controller: '*'
+ bare-buffer: '*'
+ bare-events: '*'
+ peerDependenciesMeta:
+ bare-abort-controller:
+ optional: true
+ bare-buffer:
+ optional: true
+ bare-events:
+ optional: true
- estree-walker@3.0.3:
- resolution: { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== }
+ bare-url@2.4.3:
+ resolution: {integrity: sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ==}
- esutils@2.0.3:
- resolution: { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== }
- engines: { node: ">=0.10.0" }
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- etag@1.8.1:
- resolution: { integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== }
- engines: { node: ">= 0.6" }
+ base64id@2.0.0:
+ resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==}
+ engines: {node: ^4.5.0 || >= 5.9}
- event-target-shim@5.0.1:
- resolution: { integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== }
- engines: { node: ">=6" }
+ basic-ftp@5.3.1:
+ resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==}
+ engines: {node: '>=10.0.0'}
- events-universal@1.0.1:
- resolution: { integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw== }
+ better-opn@3.0.2:
+ resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
+ engines: {node: '>=12.0.0'}
- eventsource-parser@3.1.1:
- resolution: { integrity: sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ== }
- engines: { node: ">=18.0.0" }
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
- eventsource@3.0.7:
- resolution: { integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA== }
- engines: { node: ">=18.0.0" }
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
- expand-template@2.0.3:
- resolution: { integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== }
- engines: { node: ">=6" }
+ body-parser@1.20.5:
+ resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- expr-eval-fork@3.0.3:
- resolution: { integrity: sha512-BhC+hbc5lIVjygr840n5DEkW3MQq7H9o+mc1/N7Z5uIiCFVyESLL5DIE7LNq4CYUNxy+XjA+3jRrL/h0Kt2xcg== }
- engines: { node: ">=16.9.0" }
+ body-parser@2.3.0:
+ resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==}
+ engines: {node: '>=18'}
- express-rate-limit@8.7.0:
- resolution: { integrity: sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g== }
- engines: { node: ">= 16" }
- peerDependencies:
- express: ">= 4.11"
+ brace-expansion@1.1.15:
+ resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==}
- express@4.22.0:
- resolution: { integrity: sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ== }
- engines: { node: ">= 0.10.0" }
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
- express@5.2.1:
- resolution: { integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw== }
- engines: { node: ">= 18" }
+ buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
- extend@3.0.2:
- resolution: { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== }
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
- extract-zip@2.0.1:
- resolution: { integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== }
- engines: { node: ">= 10.17.0" }
- hasBin: true
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
- fast-deep-equal@3.1.3:
- resolution: { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== }
+ cacheable-lookup@7.0.0:
+ resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
+ engines: {node: '>=14.16'}
- fast-fifo@1.3.2:
- resolution: { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== }
+ cacheable-request@10.2.14:
+ resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
+ engines: {node: '>=14.16'}
- fast-glob@3.3.3:
- resolution: { integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== }
- engines: { node: ">=8.6.0" }
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
- fast-memoize@2.5.2:
- resolution: { integrity: sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw== }
+ call-bind@1.0.9:
+ resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==}
+ engines: {node: '>= 0.4'}
- fast-sha256@1.3.0:
- resolution: { integrity: sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ== }
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
- fast-uri@3.1.2:
- resolution: { integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ== }
+ call-me-maybe@1.0.2:
+ resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
- fast-xml-builder@1.3.1:
- resolution: { integrity: sha512-pIM/1n3ntFXKYrUZwW7QCK0gAW7XY+wzj1YMIV3tLDvPj/V+zTGJK5e3/4WJfwj0qWw2ElNXiTixda/R+3YSug== }
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
- fast-xml-parser@5.7.3:
- resolution: { integrity: sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg== }
- hasBin: true
+ camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
- fastq@1.20.1:
- resolution: { integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw== }
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
- fault@2.0.1:
- resolution: { integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== }
+ chalk@5.2.0:
+ resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- favicons@7.2.0:
- resolution: { integrity: sha512-k/2rVBRIRzOeom3wI9jBPaSEvoTSQEW4iM0EveBmBBKFxO8mSyyRWtDlfC3VnEfu0avmjrMzy8/ZFPSe6F71Hw== }
- engines: { node: ">=14.0.0" }
+ chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- fd-slicer@1.1.0:
- resolution: { integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== }
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- fdir@6.5.0:
- resolution: { integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== }
- engines: { node: ">=12.0.0" }
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
- fflate@0.8.3:
- resolution: { integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA== }
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
- fill-range@7.1.1:
- resolution: { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== }
- engines: { node: ">=8" }
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
- finalhandler@1.3.2:
- resolution: { integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg== }
- engines: { node: ">= 0.8" }
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
- finalhandler@2.1.1:
- resolution: { integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA== }
- engines: { node: ">= 18.0.0" }
+ chardet@2.1.1:
+ resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==}
- follow-redirects@1.16.0:
- resolution: { integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== }
- engines: { node: ">=4.0" }
- peerDependencies:
- debug: "*"
- peerDependenciesMeta:
- debug:
- optional: true
+ chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
- for-each@0.3.5:
- resolution: { integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== }
- engines: { node: ">= 0.4" }
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
- form-data-encoder@2.1.4:
- resolution: { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== }
- engines: { node: ">= 14.17" }
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
- form-data@4.0.5:
- resolution: { integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== }
- engines: { node: ">= 6" }
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
- format@0.2.2:
- resolution: { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== }
- engines: { node: ">=0.4.x" }
+ chromium-bidi@2.1.2:
+ resolution: {integrity: sha512-vtRWBK2uImo5/W2oG6/cDkkHSm+2t6VHgnj+Rcwhb0pP74OoUb4GipyRX/T/y39gYQPhioP0DPShn+A7P6CHNw==}
+ peerDependencies:
+ devtools-protocol: '*'
- forwarded@0.2.0:
- resolution: { integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== }
- engines: { node: ">= 0.6" }
+ clean-stack@4.2.0:
+ resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
+ engines: {node: '>=12'}
- fractional-indexing@3.2.0:
- resolution: { integrity: sha512-PcOxmqwYCW7O2ovKRU8OoQQj2yqTfEB/yeTYk4gPid6dN5ODRfU1hXd9tTVZzax/0NkO7AxpHykvZnT1aYp/BQ== }
- engines: { node: ^14.13.1 || >=16.0.0 }
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
- fresh@0.5.2:
- resolution: { integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== }
- engines: { node: ">= 0.6" }
+ cli-cursor@4.0.0:
+ resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- fresh@2.0.0:
- resolution: { integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== }
- engines: { node: ">= 0.8" }
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
- front-matter@4.0.2:
- resolution: { integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== }
+ cli-truncate@4.0.0:
+ resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
+ engines: {node: '>=18'}
- fs-constants@1.0.0:
- resolution: { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== }
+ cli-width@4.1.0:
+ resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
+ engines: {node: '>= 12'}
- fs-extra@11.1.0:
- resolution: { integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw== }
- engines: { node: ">=14.14" }
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
- fs-extra@11.1.1:
- resolution: { integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== }
- engines: { node: ">=14.14" }
+ code-excerpt@4.0.0:
+ resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- fs-extra@11.2.0:
- resolution: { integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== }
- engines: { node: ">=14.14" }
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
- fs.realpath@1.0.0:
- resolution: { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== }
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
- fsevents@2.3.3:
- resolution: { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== }
- engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
- os: [darwin]
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- function-bind@1.1.2:
- resolution: { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== }
+ color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
- function.prototype.name@1.1.8:
- resolution: { integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== }
- engines: { node: ">= 0.4" }
+ color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
- functions-have-names@1.2.3:
- resolution: { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== }
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
- gcd@0.0.1:
- resolution: { integrity: sha512-VNx3UEGr+ILJTiMs1+xc5SX1cMgJCrXezKPa003APUWNqQqaF6n25W8VcR7nHN6yRWbvvUTwCpZCFJeWC2kXlw== }
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- generator-function@2.0.1:
- resolution: { integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== }
- engines: { node: ">= 0.4" }
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
- get-caller-file@2.0.5:
- resolution: { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== }
- engines: { node: 6.* || 8.* || >= 10.* }
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
- get-east-asian-width@1.6.0:
- resolution: { integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA== }
- engines: { node: ">=18" }
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
- get-intrinsic@1.3.0:
- resolution: { integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== }
- engines: { node: ">= 0.4" }
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- get-proto@1.0.1:
- resolution: { integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== }
- engines: { node: ">= 0.4" }
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
- get-stream@5.2.0:
- resolution: { integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== }
- engines: { node: ">=8" }
+ content-disposition@1.1.0:
+ resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==}
+ engines: {node: '>=18'}
- get-stream@6.0.1:
- resolution: { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== }
- engines: { node: ">=10" }
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
- get-symbol-description@1.1.0:
- resolution: { integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== }
- engines: { node: ">= 0.4" }
+ content-type@2.1.0:
+ resolution: {integrity: sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==}
+ engines: {node: '>=18'}
- get-uri@6.0.5:
- resolution: { integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg== }
- engines: { node: ">= 14" }
+ convert-to-spaces@2.0.1:
+ resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- github-from-package@0.0.0:
- resolution: { integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== }
+ cookie-signature@1.0.7:
+ resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
- glob-parent@5.1.2:
- resolution: { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== }
- engines: { node: ">= 6" }
+ cookie-signature@1.2.2:
+ resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}
+ engines: {node: '>=6.6.0'}
- glob-parent@6.0.2:
- resolution: { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== }
- engines: { node: ">=10.13.0" }
+ cookie@0.7.2:
+ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
+ engines: {node: '>= 0.6'}
- glob@7.1.6:
- resolution: { integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== }
- deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
+ cors@2.8.6:
+ resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==}
+ engines: {node: '>= 0.10'}
- globalthis@1.0.4:
- resolution: { integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== }
- engines: { node: ">= 0.4" }
+ cosmiconfig@9.0.1:
+ resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
- gopd@1.2.0:
- resolution: { integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== }
- engines: { node: ">= 0.4" }
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
- got@12.6.1:
- resolution: { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== }
- engines: { node: ">=14.16" }
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
- got@13.0.0:
- resolution: { integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== }
- engines: { node: ">=16" }
+ cssfilter@0.0.10:
+ resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==}
- graceful-fs@4.2.11:
- resolution: { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== }
+ csstype@3.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
- graphql@16.11.0:
- resolution: { integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw== }
- engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 }
+ data-uri-to-buffer@6.0.2:
+ resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
+ engines: {node: '>= 14'}
- has-bigints@1.1.0:
- resolution: { integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== }
- engines: { node: ">= 0.4" }
+ data-view-buffer@1.0.2:
+ resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
+ engines: {node: '>= 0.4'}
- has-property-descriptors@1.0.2:
- resolution: { integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== }
+ data-view-byte-length@1.0.2:
+ resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
+ engines: {node: '>= 0.4'}
- has-proto@1.2.0:
- resolution: { integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== }
- engines: { node: ">= 0.4" }
+ data-view-byte-offset@1.0.1:
+ resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
+ engines: {node: '>= 0.4'}
- has-symbols@1.1.0:
- resolution: { integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== }
- engines: { node: ">= 0.4" }
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
- has-tostringtag@1.0.2:
- resolution: { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== }
- engines: { node: ">= 0.4" }
+ debug@4.3.7:
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
- hasown@2.0.4:
- resolution: { integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== }
- engines: { node: ">= 0.4" }
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
- hast-util-embedded@3.0.0:
- resolution: { integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== }
+ decode-bmp@0.2.1:
+ resolution: {integrity: sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA==}
+ engines: {node: '>=8.6.0'}
- hast-util-from-dom@5.0.1:
- resolution: { integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q== }
+ decode-ico@0.4.1:
+ resolution: {integrity: sha512-69NZfbKIzux1vBOd31al3XnMnH+2mqDhEgLdpygErm4d60N+UwA5Sq5WFjmEDQzumgB9fElojGwWG0vybVfFmA==}
+ engines: {node: '>=8.6'}
- hast-util-from-html-isomorphic@2.0.0:
- resolution: { integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw== }
+ decode-named-character-reference@1.3.0:
+ resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
- hast-util-from-html@2.0.3:
- resolution: { integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw== }
+ decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
- hast-util-from-parse5@8.0.3:
- resolution: { integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== }
+ deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
- hast-util-has-property@3.0.0:
- resolution: { integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA== }
+ defer-to-connect@2.0.1:
+ resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
+ engines: {node: '>=10'}
- hast-util-is-body-ok-link@3.0.1:
- resolution: { integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ== }
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
- hast-util-is-element@3.0.0:
- resolution: { integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== }
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
- hast-util-minify-whitespace@1.0.1:
- resolution: { integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw== }
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
- hast-util-parse-selector@4.0.0:
- resolution: { integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== }
+ degenerator@5.0.1:
+ resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
+ engines: {node: '>= 14'}
- hast-util-phrasing@3.0.1:
- resolution: { integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== }
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
- hast-util-to-estree@3.1.0:
- resolution: { integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== }
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
- hast-util-to-estree@3.1.3:
- resolution: { integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w== }
+ dependency-graph@0.11.0:
+ resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==}
+ engines: {node: '>= 0.6.0'}
- hast-util-to-html@9.0.4:
- resolution: { integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA== }
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
- hast-util-to-html@9.0.5:
- resolution: { integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== }
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- hast-util-to-jsx-runtime@2.3.6:
- resolution: { integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg== }
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
- hast-util-to-mdast@10.1.0:
- resolution: { integrity: sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw== }
+ detect-port@1.5.1:
+ resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==}
+ hasBin: true
- hast-util-to-string@3.0.1:
- resolution: { integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A== }
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
- hast-util-to-text@4.0.2:
- resolution: { integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A== }
+ devtools-protocol@0.0.1402036:
+ resolution: {integrity: sha512-JwAYQgEvm3yD45CHB+RmF5kMbWtXBaOGwuxa87sZogHcLCv8c/IqnThaoQ1y60d7pXWjSKWQphPEc+1rAScVdg==}
- hast-util-whitespace@3.0.0:
- resolution: { integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== }
+ didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
- hastscript@9.0.1:
- resolution: { integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== }
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
- hono@4.13.7:
- resolution: { integrity: sha512-c8/gF9ac8Y78/agExVocyLevgR+JlpNB444Py0FSX8pJoPdYUfUzRcXtYEYGwt6l19qIlVZPN5Mfsw9jFShmQQ== }
- engines: { node: ">=16.9.0" }
+ dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
- html-void-elements@3.0.0:
- resolution: { integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== }
+ dns-socket@4.2.2:
+ resolution: {integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==}
+ engines: {node: '>=6'}
- http-cache-semantics@4.2.0:
- resolution: { integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== }
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
- http-errors@2.0.1:
- resolution: { integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ== }
- engines: { node: ">= 0.8" }
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- http-proxy-agent@7.0.2:
- resolution: { integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== }
- engines: { node: ">= 14" }
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
- http2-wrapper@2.2.1:
- resolution: { integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== }
- engines: { node: ">=10.19.0" }
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- https-proxy-agent@5.0.1:
- resolution: { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== }
- engines: { node: ">= 6" }
+ encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
- https-proxy-agent@7.0.6:
- resolution: { integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== }
- engines: { node: ">= 14" }
+ end-of-stream@1.4.5:
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
- ico-endec@0.1.6:
- resolution: { integrity: sha512-ZdLU38ZoED3g1j3iEyzcQj+wAkY2xfWNkymszfJPoxucIUhK7NayQ+/C4Kv0nDFMIsbtbEHldv3V8PU494/ueQ== }
+ engine.io-parser@5.2.3:
+ resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==}
+ engines: {node: '>=10.0.0'}
- iconv-lite@0.4.24:
- resolution: { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== }
- engines: { node: ">=0.10.0" }
+ engine.io@6.6.8:
+ resolution: {integrity: sha512-2agL3ueZhqxoVrfmntO8yuVj+uNSlIOnhykYHk3Cq0ShYPdUjjUiSJrQvXjq01I9jAuI0Zl2YO8Evv5Mqytm5g==}
+ engines: {node: '>=10.2.0'}
- iconv-lite@0.7.2:
- resolution: { integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw== }
- engines: { node: ">=0.10.0" }
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
- ieee754@1.2.1:
- resolution: { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== }
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
- ignore@7.0.5:
- resolution: { integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== }
- engines: { node: ">= 4" }
+ environment@1.1.0:
+ resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
+ engines: {node: '>=18'}
- immer@9.0.21:
- resolution: { integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== }
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
- import-fresh@3.3.1:
- resolution: { integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== }
- engines: { node: ">=6" }
+ es-abstract@1.24.2:
+ resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==}
+ engines: {node: '>= 0.4'}
- indent-string@5.0.0:
- resolution: { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== }
- engines: { node: ">=12" }
+ es-aggregate-error@1.0.14:
+ resolution: {integrity: sha512-3YxX6rVb07B5TV11AV5wsL7nQCHXNwoHPsQC8S4AmBiqYhyNCJ5BRKXkXyDJvs8QzXN20NgRtxe3dEEQD9NLHA==}
+ engines: {node: '>= 0.4'}
- inflight@1.0.6:
- resolution: { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== }
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
- inherits@2.0.4:
- resolution: { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== }
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
- ini@1.3.8:
- resolution: { integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== }
+ es-object-atoms@1.1.2:
+ resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==}
+ engines: {node: '>= 0.4'}
- ink-spinner@5.0.0:
- resolution: { integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA== }
- engines: { node: ">=14.16" }
- peerDependencies:
- ink: ">=4.0.0"
- react: ">=18.0.0"
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
- ink@6.3.0:
- resolution: { integrity: sha512-2CbJAa7XeziZYe6pDS5RVLirRY28iSGMQuEV8jRU5NQsONQNfcR/BZHHc9vkMg2lGYTHTM2pskxC1YmY28p6bQ== }
- engines: { node: ">=20" }
- peerDependencies:
- "@types/react": ">=19.0.0"
- react: ">=19.0.0"
- react-devtools-core: ^4.19.1
- peerDependenciesMeta:
- "@types/react":
- optional: true
- react-devtools-core:
- optional: true
+ es-to-primitive@1.3.0:
+ resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
+ engines: {node: '>= 0.4'}
- inline-style-parser@0.1.1:
- resolution: { integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== }
+ es-toolkit@1.47.0:
+ resolution: {integrity: sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==}
- inline-style-parser@0.2.7:
- resolution: { integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA== }
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
- inquirer@12.3.0:
- resolution: { integrity: sha512-3NixUXq+hM8ezj2wc7wC37b32/rHq1MwNZDYdvx+d6jokOD+r+i8Q4Pkylh9tISYP114A128LCX8RKhopC5RfQ== }
- engines: { node: ">=18" }
- peerDependencies:
- "@types/node": ">=18"
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
- internal-slot@1.1.0:
- resolution: { integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== }
- engines: { node: ">= 0.4" }
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
- ip-address@10.2.0:
- resolution: { integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA== }
- engines: { node: ">= 12" }
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- ip-regex@4.3.0:
- resolution: { integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== }
- engines: { node: ">=8" }
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
- ipaddr.js@1.9.1:
- resolution: { integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== }
- engines: { node: ">= 0.10" }
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
- iregexp-check@0.1.2:
- resolution: { integrity: sha512-RCcV2SFO5JKh+DdmWiY7yVyiZzzk6XZiHEJvTKbzVs8Z0u404gnoSqDtFqg6C5qJBEG4QseWBQz9zhI68zskEQ== }
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
- 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== }
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
- is-array-buffer@3.0.5:
- resolution: { integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== }
- engines: { node: ">= 0.4" }
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
- is-arrayish@0.2.1:
- resolution: { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== }
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
- is-arrayish@0.3.4:
- resolution: { integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA== }
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
- is-async-function@2.1.1:
- resolution: { integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== }
- engines: { node: ">= 0.4" }
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
- is-bigint@1.1.0:
- resolution: { integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== }
- engines: { node: ">= 0.4" }
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
- is-binary-path@2.1.0:
- resolution: { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== }
- engines: { node: ">=8" }
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
- is-boolean-object@1.2.2:
- resolution: { integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== }
- engines: { node: ">= 0.4" }
-
- is-callable@1.2.7:
- resolution: { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== }
- engines: { node: ">= 0.4" }
-
- is-core-module@2.16.2:
- resolution: { integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA== }
- engines: { node: ">= 0.4" }
-
- is-data-view@1.0.2:
- resolution: { integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== }
- engines: { node: ">= 0.4" }
-
- is-date-object@1.1.0:
- resolution: { integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== }
- engines: { node: ">= 0.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" }
- hasBin: true
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
- is-extglob@2.1.1:
- resolution: { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== }
- engines: { node: ">=0.10.0" }
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- is-finalizationregistry@1.1.1:
- resolution: { integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== }
- engines: { node: ">= 0.4" }
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
- is-fullwidth-code-point@3.0.0:
- resolution: { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== }
- engines: { node: ">=8" }
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
- is-fullwidth-code-point@4.0.0:
- resolution: { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== }
- engines: { node: ">=12" }
+ event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
- is-fullwidth-code-point@5.1.0:
- resolution: { integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ== }
- engines: { node: ">=18" }
+ events-universal@1.0.1:
+ resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==}
- is-generator-function@1.1.2:
- resolution: { integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== }
- engines: { node: ">= 0.4" }
+ eventsource-parser@3.1.1:
+ resolution: {integrity: sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ==}
+ engines: {node: '>=18.0.0'}
- is-glob@4.0.3:
- resolution: { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== }
- engines: { node: ">=0.10.0" }
+ eventsource@3.0.7:
+ resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==}
+ engines: {node: '>=18.0.0'}
- is-hexadecimal@2.0.1:
- resolution: { integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== }
+ expand-template@2.0.3:
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
+ engines: {node: '>=6'}
- is-in-ci@2.0.0:
- resolution: { integrity: sha512-cFeerHriAnhrQSbpAxL37W1wcJKUUX07HyLWZCW1URJT/ra3GyUTzBgUnh24TMVfNTV2Hij2HLxkPHFZfOZy5w== }
- engines: { node: ">=20" }
- hasBin: true
+ expr-eval-fork@3.0.3:
+ resolution: {integrity: sha512-BhC+hbc5lIVjygr840n5DEkW3MQq7H9o+mc1/N7Z5uIiCFVyESLL5DIE7LNq4CYUNxy+XjA+3jRrL/h0Kt2xcg==}
+ engines: {node: '>=16.9.0'}
- is-ip@3.1.0:
- resolution: { integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== }
- engines: { node: ">=8" }
+ express-rate-limit@8.7.0:
+ resolution: {integrity: sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g==}
+ engines: {node: '>= 16'}
+ peerDependencies:
+ express: '>= 4.11'
- is-map@2.0.3:
- resolution: { integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== }
- engines: { node: ">= 0.4" }
+ express@4.22.0:
+ resolution: {integrity: sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ==}
+ engines: {node: '>= 0.10.0'}
- is-negative-zero@2.0.3:
- resolution: { integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== }
- engines: { node: ">= 0.4" }
+ express@5.2.1:
+ resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}
+ engines: {node: '>= 18'}
- is-number-object@1.1.1:
- resolution: { integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== }
- engines: { node: ">= 0.4" }
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- is-number@7.0.0:
- resolution: { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== }
- engines: { node: ">=0.12.0" }
+ extract-zip@2.0.1:
+ resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
+ engines: {node: '>= 10.17.0'}
+ hasBin: true
- is-online@10.0.0:
- resolution: { integrity: sha512-WCPdKwNDjXJJmUubf2VHLMDBkUZEtuOvpXUfUnUFbEnM6In9ByiScL4f4jKACz/fsb2qDkesFerW3snf/AYz3A== }
- engines: { node: ">=14.16" }
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- is-plain-obj@4.1.0:
- resolution: { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== }
- engines: { node: ">=12" }
+ fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
- is-promise@4.0.0:
- resolution: { integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== }
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
- is-regex@1.2.1:
- resolution: { integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== }
- engines: { node: ">= 0.4" }
+ fast-memoize@2.5.2:
+ resolution: {integrity: sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==}
- is-set@2.0.3:
- resolution: { integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== }
- engines: { node: ">= 0.4" }
+ fast-sha256@1.3.0:
+ resolution: {integrity: sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==}
- is-shared-array-buffer@1.0.4:
- resolution: { integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== }
- engines: { node: ">= 0.4" }
+ fast-uri@3.1.2:
+ resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==}
- is-string@1.1.1:
- resolution: { integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== }
- engines: { node: ">= 0.4" }
+ fast-xml-builder@1.3.1:
+ resolution: {integrity: sha512-pIM/1n3ntFXKYrUZwW7QCK0gAW7XY+wzj1YMIV3tLDvPj/V+zTGJK5e3/4WJfwj0qWw2ElNXiTixda/R+3YSug==}
- is-symbol@1.1.1:
- resolution: { integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== }
- engines: { node: ">= 0.4" }
+ fast-xml-parser@5.7.3:
+ resolution: {integrity: sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==}
+ hasBin: true
- is-typed-array@1.1.15:
- resolution: { integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== }
- engines: { node: ">= 0.4" }
+ fastq@1.20.1:
+ resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
- is-weakmap@2.0.2:
- resolution: { integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== }
- engines: { node: ">= 0.4" }
+ fault@2.0.1:
+ resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
- is-weakref@1.1.1:
- resolution: { integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== }
- engines: { node: ">= 0.4" }
+ favicons@7.2.0:
+ resolution: {integrity: sha512-k/2rVBRIRzOeom3wI9jBPaSEvoTSQEW4iM0EveBmBBKFxO8mSyyRWtDlfC3VnEfu0avmjrMzy8/ZFPSe6F71Hw==}
+ engines: {node: '>=14.0.0'}
- is-weakset@2.0.4:
- resolution: { integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== }
- engines: { node: ">= 0.4" }
+ fd-slicer@1.1.0:
+ resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
- is-wsl@2.2.0:
- resolution: { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== }
- engines: { node: ">=8" }
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
- isarray@2.0.5:
- resolution: { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== }
+ fflate@0.8.2:
+ resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
- isexe@2.0.0:
- resolution: { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== }
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
- jiti@1.21.7:
- resolution: { integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== }
- hasBin: true
+ finalhandler@1.3.2:
+ resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==}
+ engines: {node: '>= 0.8'}
- jose@6.2.3:
- resolution: { integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw== }
+ finalhandler@2.1.1:
+ resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}
+ engines: {node: '>= 18.0.0'}
- js-tokens@4.0.0:
- resolution: { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== }
+ follow-redirects@1.16.0:
+ resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
- js-yaml@3.14.2:
- resolution: { integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg== }
- hasBin: true
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
- js-yaml@4.3.1:
- resolution: { integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ== }
- hasBin: true
+ form-data-encoder@2.1.4:
+ resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
+ engines: {node: '>= 14.17'}
- js-yaml@4.3.2:
- resolution: { integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA== }
- hasBin: true
+ form-data@4.0.5:
+ resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
+ engines: {node: '>= 6'}
- jsep@1.4.0:
- resolution: { integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw== }
- engines: { node: ">= 10.16.0" }
+ format@0.2.2:
+ resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
+ engines: {node: '>=0.4.x'}
- json-buffer@3.0.1:
- resolution: { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== }
+ forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
- json-p3@2.2.2:
- resolution: { integrity: sha512-TmTgkx+C1ne8Wdm9dFQ4/jCeYYbSoeYJAkRpvTz6O+zWN1Dc3cKW8Mt52sa8mSRXy/+JykA5I6rmM+k8h+JRRg== }
+ fractional-indexing@3.2.0:
+ resolution: {integrity: sha512-PcOxmqwYCW7O2ovKRU8OoQQj2yqTfEB/yeTYk4gPid6dN5ODRfU1hXd9tTVZzax/0NkO7AxpHykvZnT1aYp/BQ==}
+ engines: {node: ^14.13.1 || >=16.0.0}
- json-parse-even-better-errors@2.3.1:
- resolution: { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== }
+ fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
- json-schema-to-ts@3.1.1:
- resolution: { integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g== }
- engines: { node: ">=16" }
+ fresh@2.0.0:
+ resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
+ engines: {node: '>= 0.8'}
- json-schema-traverse@1.0.0:
- resolution: { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== }
+ front-matter@4.0.2:
+ resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==}
- json-schema-typed@8.0.2:
- resolution: { integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA== }
+ fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
- jsonc-parser@2.2.1:
- resolution: { integrity: sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w== }
+ fs-extra@11.1.0:
+ resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==}
+ engines: {node: '>=14.14'}
- jsonc-parser@3.3.1:
- resolution: { integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== }
+ fs-extra@11.1.1:
+ resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
+ engines: {node: '>=14.14'}
- jsonfile@6.2.1:
- resolution: { integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q== }
+ fs-extra@11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
- jsonpath-plus@10.4.0:
- resolution: { integrity: sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA== }
- engines: { node: ">=18.0.0" }
- hasBin: true
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- jsonpointer@5.0.1:
- resolution: { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== }
- engines: { node: ">=0.10.0" }
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
- katex@0.16.47:
- resolution: { integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg== }
- hasBin: true
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- keytar@7.9.0:
- resolution: { integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ== }
+ function.prototype.name@1.1.8:
+ resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
+ engines: {node: '>= 0.4'}
- keyv@4.5.4:
- resolution: { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== }
+ functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
- lcm@0.0.3:
- resolution: { integrity: sha512-TB+ZjoillV6B26Vspf9l2L/vKaRY/4ep3hahcyVkCGFgsTNRUQdc24bQeNFiZeoxH0vr5+7SfNRMQuPHv/1IrQ== }
+ gcd@0.0.1:
+ resolution: {integrity: sha512-VNx3UEGr+ILJTiMs1+xc5SX1cMgJCrXezKPa003APUWNqQqaF6n25W8VcR7nHN6yRWbvvUTwCpZCFJeWC2kXlw==}
- leven@3.1.0:
- resolution: { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== }
- engines: { node: ">=6" }
+ generator-function@2.0.1:
+ resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==}
+ engines: {node: '>= 0.4'}
- leven@4.1.0:
- resolution: { integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
- lilconfig@3.1.3:
- resolution: { integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== }
- engines: { node: ">=14" }
+ get-east-asian-width@1.6.0:
+ resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
+ engines: {node: '>=18'}
- lines-and-columns@1.2.4:
- resolution: { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== }
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
- lodash.topath@4.5.2:
- resolution: { integrity: sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg== }
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
- lodash@4.18.1:
- resolution: { integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== }
+ get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
- longest-streak@3.1.0:
- resolution: { integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== }
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
- lowercase-keys@3.0.0:
- resolution: { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ get-symbol-description@1.1.0:
+ resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
+ engines: {node: '>= 0.4'}
- lru-cache@7.18.3:
- resolution: { integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== }
- engines: { node: ">=12" }
+ get-uri@6.0.5:
+ resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==}
+ engines: {node: '>= 14'}
- markdown-extensions@2.0.0:
- resolution: { integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== }
- engines: { node: ">=16" }
+ github-from-package@0.0.0:
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
- markdown-table@3.0.4:
- resolution: { integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== }
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
- math-intrinsics@1.1.0:
- resolution: { integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== }
- engines: { node: ">= 0.4" }
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
- mdast-util-find-and-replace@3.0.2:
- resolution: { integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== }
+ glob@7.1.6:
+ resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
- mdast-util-from-markdown@2.0.2:
- resolution: { integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== }
+ globalthis@1.0.4:
+ resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
- mdast-util-from-markdown@2.0.3:
- resolution: { integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q== }
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
- mdast-util-frontmatter@2.0.1:
- resolution: { integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== }
+ got@12.6.1:
+ resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
+ engines: {node: '>=14.16'}
- mdast-util-gfm-autolink-literal@2.0.1:
- resolution: { integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== }
+ got@13.0.0:
+ resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==}
+ engines: {node: '>=16'}
- mdast-util-gfm-footnote@2.1.0:
- resolution: { integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== }
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- mdast-util-gfm-strikethrough@2.0.0:
- resolution: { integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== }
+ graphql@16.11.0:
+ resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==}
+ engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
- mdast-util-gfm-table@2.0.0:
- resolution: { integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== }
+ has-bigints@1.1.0:
+ resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
+ engines: {node: '>= 0.4'}
- mdast-util-gfm-task-list-item@2.0.0:
- resolution: { integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== }
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
- mdast-util-gfm@3.0.0:
- resolution: { integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== }
+ has-proto@1.2.0:
+ resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
+ engines: {node: '>= 0.4'}
- mdast-util-gfm@3.1.0:
- resolution: { integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== }
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
- mdast-util-math@3.0.0:
- resolution: { integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w== }
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
- mdast-util-mdx-expression@2.0.1:
- resolution: { integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ== }
+ hasown@2.0.4:
+ resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
+ engines: {node: '>= 0.4'}
- mdast-util-mdx-jsx@3.1.3:
- resolution: { integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ== }
+ hast-util-embedded@3.0.0:
+ resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==}
- mdast-util-mdx-jsx@3.2.0:
- resolution: { integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q== }
+ hast-util-from-dom@5.0.1:
+ resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==}
- mdast-util-mdx@3.0.0:
- resolution: { integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== }
+ hast-util-from-html-isomorphic@2.0.0:
+ resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==}
- mdast-util-mdxjs-esm@2.0.1:
- resolution: { integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== }
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
- mdast-util-phrasing@4.1.0:
- resolution: { integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== }
+ hast-util-from-parse5@8.0.3:
+ resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
- mdast-util-to-hast@13.2.1:
- resolution: { integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA== }
+ hast-util-has-property@3.0.0:
+ resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==}
- mdast-util-to-markdown@2.1.2:
- resolution: { integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== }
+ hast-util-is-body-ok-link@3.0.1:
+ resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==}
- mdast-util-to-string@4.0.0:
- resolution: { integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== }
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
- media-typer@0.3.0:
- resolution: { integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== }
- engines: { node: ">= 0.6" }
+ hast-util-minify-whitespace@1.0.1:
+ resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==}
- media-typer@1.1.1:
- resolution: { integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ== }
- engines: { node: ">= 0.8" }
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
- merge-descriptors@1.0.3:
- resolution: { integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== }
+ hast-util-phrasing@3.0.1:
+ resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==}
- merge-descriptors@2.0.0:
- resolution: { integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== }
- engines: { node: ">=18" }
+ hast-util-to-estree@3.1.0:
+ resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==}
- merge2@1.4.1:
- resolution: { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== }
- engines: { node: ">= 8" }
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
- methods@1.1.2:
- resolution: { integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== }
- engines: { node: ">= 0.6" }
+ hast-util-to-html@9.0.4:
+ resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==}
- micromark-core-commonmark@2.0.3:
- resolution: { integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== }
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
- micromark-extension-frontmatter@2.0.0:
- resolution: { integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== }
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
- micromark-extension-gfm-autolink-literal@2.1.0:
- resolution: { integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== }
+ hast-util-to-mdast@10.1.0:
+ resolution: {integrity: sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw==}
- micromark-extension-gfm-footnote@2.1.0:
- resolution: { integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== }
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
- micromark-extension-gfm-strikethrough@2.1.0:
- resolution: { integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== }
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
- micromark-extension-gfm-table@2.1.1:
- resolution: { integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== }
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
- micromark-extension-gfm-tagfilter@2.0.0:
- resolution: { integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== }
+ hastscript@9.0.1:
+ resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
- micromark-extension-gfm-task-list-item@2.1.0:
- resolution: { integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== }
+ hono@4.13.7:
+ resolution: {integrity: sha512-c8/gF9ac8Y78/agExVocyLevgR+JlpNB444Py0FSX8pJoPdYUfUzRcXtYEYGwt6l19qIlVZPN5Mfsw9jFShmQQ==}
+ engines: {node: '>=16.9.0'}
- micromark-extension-gfm@3.0.0:
- resolution: { integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== }
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
- micromark-extension-math@3.1.0:
- resolution: { integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== }
+ http-cache-semantics@4.2.0:
+ resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
- micromark-extension-mdx-expression@3.0.1:
- resolution: { integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q== }
+ http-errors@2.0.1:
+ resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
+ engines: {node: '>= 0.8'}
- micromark-extension-mdx-jsx@3.0.1:
- resolution: { integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg== }
+ http-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
+ engines: {node: '>= 14'}
- micromark-extension-mdx-md@2.0.0:
- resolution: { integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== }
+ http2-wrapper@2.2.1:
+ resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
+ engines: {node: '>=10.19.0'}
- micromark-extension-mdxjs-esm@3.0.0:
- resolution: { integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== }
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
- micromark-extension-mdxjs@3.0.0:
- resolution: { integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== }
+ https-proxy-agent@7.0.6:
+ resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
+ engines: {node: '>= 14'}
- micromark-factory-destination@2.0.1:
- resolution: { integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== }
+ ico-endec@0.1.6:
+ resolution: {integrity: sha512-ZdLU38ZoED3g1j3iEyzcQj+wAkY2xfWNkymszfJPoxucIUhK7NayQ+/C4Kv0nDFMIsbtbEHldv3V8PU494/ueQ==}
- micromark-factory-label@2.0.1:
- resolution: { integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== }
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
- micromark-factory-mdx-expression@2.0.3:
- resolution: { integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ== }
+ iconv-lite@0.7.2:
+ resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==}
+ engines: {node: '>=0.10.0'}
- micromark-factory-space@2.0.1:
- resolution: { integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== }
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- micromark-factory-title@2.0.1:
- resolution: { integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== }
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
+ engines: {node: '>= 4'}
- micromark-factory-whitespace@2.0.1:
- resolution: { integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== }
+ immer@9.0.21:
+ resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
- micromark-util-character@2.1.1:
- resolution: { integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== }
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
- micromark-util-chunked@2.0.1:
- resolution: { integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== }
+ indent-string@5.0.0:
+ resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
+ engines: {node: '>=12'}
- micromark-util-classify-character@2.0.1:
- resolution: { integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== }
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
- micromark-util-combine-extensions@2.0.1:
- resolution: { integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== }
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- micromark-util-decode-numeric-character-reference@2.0.2:
- resolution: { integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== }
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
- micromark-util-decode-string@2.0.1:
- resolution: { integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== }
+ ink-spinner@5.0.0:
+ resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==}
+ engines: {node: '>=14.16'}
+ peerDependencies:
+ ink: '>=4.0.0'
+ react: '>=18.0.0'
- micromark-util-encode@2.0.1:
- resolution: { integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== }
+ ink@6.3.0:
+ resolution: {integrity: sha512-2CbJAa7XeziZYe6pDS5RVLirRY28iSGMQuEV8jRU5NQsONQNfcR/BZHHc9vkMg2lGYTHTM2pskxC1YmY28p6bQ==}
+ engines: {node: '>=20'}
+ peerDependencies:
+ '@types/react': '>=19.0.0'
+ react: '>=19.0.0'
+ react-devtools-core: ^4.19.1
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react-devtools-core:
+ optional: true
- micromark-util-events-to-acorn@2.0.3:
- resolution: { integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg== }
+ inline-style-parser@0.1.1:
+ resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
- micromark-util-html-tag-name@2.0.1:
- resolution: { integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== }
+ inline-style-parser@0.2.7:
+ resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
- micromark-util-normalize-identifier@2.0.1:
- resolution: { integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== }
+ inquirer@12.3.0:
+ resolution: {integrity: sha512-3NixUXq+hM8ezj2wc7wC37b32/rHq1MwNZDYdvx+d6jokOD+r+i8Q4Pkylh9tISYP114A128LCX8RKhopC5RfQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
- micromark-util-resolve-all@2.0.1:
- resolution: { integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== }
+ internal-slot@1.1.0:
+ resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
+ engines: {node: '>= 0.4'}
- micromark-util-sanitize-uri@2.0.1:
- resolution: { integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== }
+ ip-address@10.2.0:
+ resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
+ engines: {node: '>= 12'}
- micromark-util-subtokenize@2.1.0:
- resolution: { integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== }
+ ip-regex@4.3.0:
+ resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==}
+ engines: {node: '>=8'}
- micromark-util-symbol@2.0.1:
- resolution: { integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== }
+ ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
- micromark-util-types@2.0.2:
- resolution: { integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== }
+ iregexp-check@0.1.2:
+ resolution: {integrity: sha512-RCcV2SFO5JKh+DdmWiY7yVyiZzzk6XZiHEJvTKbzVs8Z0u404gnoSqDtFqg6C5qJBEG4QseWBQz9zhI68zskEQ==}
- micromark@4.0.2:
- resolution: { integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== }
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
- micromatch@4.0.8:
- resolution: { integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== }
- engines: { node: ">=8.6" }
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
- mime-db@1.52.0:
- resolution: { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== }
- engines: { node: ">= 0.6" }
+ is-array-buffer@3.0.5:
+ resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
+ engines: {node: '>= 0.4'}
- mime-db@1.54.0:
- resolution: { integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== }
- engines: { node: ">= 0.6" }
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
- mime-types@2.1.35:
- resolution: { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== }
- engines: { node: ">= 0.6" }
+ is-arrayish@0.3.4:
+ resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==}
- mime-types@3.0.2:
- resolution: { integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A== }
- engines: { node: ">=18" }
+ is-async-function@2.1.1:
+ resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
+ engines: {node: '>= 0.4'}
- mime@1.6.0:
- resolution: { integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== }
- engines: { node: ">=4" }
- hasBin: true
+ is-bigint@1.1.0:
+ resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
+ engines: {node: '>= 0.4'}
- mimic-fn@2.1.0:
- resolution: { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== }
- engines: { node: ">=6" }
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
- mimic-response@3.1.0:
- resolution: { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== }
- engines: { node: ">=10" }
+ is-boolean-object@1.2.2:
+ resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
+ engines: {node: '>= 0.4'}
- mimic-response@4.0.0:
- resolution: { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
- minimatch@3.1.5:
- resolution: { integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== }
+ is-core-module@2.16.2:
+ resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==}
+ engines: {node: '>= 0.4'}
- minimist@1.2.8:
- resolution: { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== }
+ is-data-view@1.0.2:
+ resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
+ engines: {node: '>= 0.4'}
- minipass@7.1.3:
- resolution: { integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== }
- engines: { node: ">=16 || 14 >=14.17" }
+ is-date-object@1.1.0:
+ resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
+ engines: {node: '>= 0.4'}
- minizlib@3.1.0:
- resolution: { integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw== }
- engines: { node: ">= 18" }
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
- mintlify@4.2.876:
- resolution: { integrity: sha512-i/UfJbSBE7ra80loAknnwMLtzf1WRGabOTBMYd+n5oti0PzpQrCutuD4Q3qMrhVMthFsoFsMuD68lddX+Q+9Rw== }
- engines: { node: ">=18.0.0" }
- hasBin: true
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
- mitt@3.0.1:
- resolution: { integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== }
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
- mkdirp-classic@0.5.3:
- resolution: { integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== }
+ is-finalizationregistry@1.1.1:
+ resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
+ engines: {node: '>= 0.4'}
- ms@2.0.0:
- resolution: { integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== }
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
- ms@2.1.3:
- resolution: { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== }
+ is-fullwidth-code-point@4.0.0:
+ resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ engines: {node: '>=12'}
- mute-stream@2.0.0:
- resolution: { integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== }
- engines: { node: ^18.17.0 || >=20.5.0 }
+ is-fullwidth-code-point@5.1.0:
+ resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
+ engines: {node: '>=18'}
- mz@2.7.0:
- resolution: { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== }
+ is-generator-function@1.1.2:
+ resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
+ engines: {node: '>= 0.4'}
- nanoid@3.3.18:
- resolution: { integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w== }
- engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
- hasBin: true
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
- napi-build-utils@2.0.0:
- resolution: { integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== }
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
- negotiator@0.6.3:
- resolution: { integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== }
- engines: { node: ">= 0.6" }
+ is-in-ci@2.0.0:
+ resolution: {integrity: sha512-cFeerHriAnhrQSbpAxL37W1wcJKUUX07HyLWZCW1URJT/ra3GyUTzBgUnh24TMVfNTV2Hij2HLxkPHFZfOZy5w==}
+ engines: {node: '>=20'}
+ hasBin: true
- negotiator@1.1.0:
- resolution: { integrity: sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg== }
- engines: { node: ">=18" }
+ is-ip@3.1.0:
+ resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==}
+ engines: {node: '>=8'}
- neotraverse@0.6.18:
- resolution: { integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA== }
- engines: { node: ">= 10" }
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
- netmask@2.1.1:
- resolution: { integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA== }
- engines: { node: ">= 0.4.0" }
+ is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
- next-mdx-remote-client@2.1.12:
- resolution: { integrity: sha512-KDfhIk5aEM0kkZ0xQ8XBkmo4O5xmJeGWUomm40Ac/xhkt5sIDOTmTU/QFfmJGLJUJipD5o0BAHqVSIZKuXgNEw== }
- engines: { node: ">=20.9.0" }
- peerDependencies:
- react: ">= 19.1.0"
- react-dom: ">= 19.1.0"
+ is-number-object@1.1.1:
+ resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
+ engines: {node: '>= 0.4'}
- nimma@0.2.3:
- resolution: { integrity: sha512-1ZOI8J+1PKKGceo/5CT5GfQOG6H8I2BencSK06YarZ2wXwH37BSSUWldqJmMJYA5JfqDqffxDXynt6f11AyKcA== }
- engines: { node: ^12.20 || >=14.13 }
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
- nlcst-to-string@4.0.0:
- resolution: { integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA== }
+ is-online@10.0.0:
+ resolution: {integrity: sha512-WCPdKwNDjXJJmUubf2VHLMDBkUZEtuOvpXUfUnUFbEnM6In9ByiScL4f4jKACz/fsb2qDkesFerW3snf/AYz3A==}
+ engines: {node: '>=14.16'}
- node-abi@3.92.0:
- resolution: { integrity: sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ== }
- engines: { node: ">=10" }
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
- node-addon-api@4.3.0:
- resolution: { integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== }
+ is-promise@4.0.0:
+ resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
- node-fetch@2.6.7:
- resolution: { integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== }
- engines: { node: 4.x || >=6.0.0 }
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ engines: {node: '>= 0.4'}
- node-fetch@2.7.0:
- resolution: { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== }
- engines: { node: 4.x || >=6.0.0 }
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
- non-error@0.1.0:
- resolution: { integrity: sha512-TMB1uHiGsHRGv1uYclfhivcnf0/PdFp2pNqRxXjncaAsjYMoisaQJI+SSZCqRq+VliwRTC8tsMQfmrWjDMhkPQ== }
- engines: { node: ">=20" }
+ is-shared-array-buffer@1.0.4:
+ resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
+ engines: {node: '>= 0.4'}
- normalize-path@3.0.0:
- resolution: { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== }
- engines: { node: ">=0.10.0" }
+ is-string@1.1.1:
+ resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
+ engines: {node: '>= 0.4'}
- normalize-url@8.1.1:
- resolution: { integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ== }
- engines: { node: ">=14.16" }
+ is-symbol@1.1.1:
+ resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
+ engines: {node: '>= 0.4'}
- oauth4webapi@3.8.6:
- resolution: { integrity: sha512-iwemM91xz8nryHti2yTmg5fhyEMVOkOXwHNqbvcATjyajb5oQxCQzrNOA6uElRHuMhQQTKUyFKV9y/CNyg25BQ== }
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
- object-assign@4.1.1:
- resolution: { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== }
- engines: { node: ">=0.10.0" }
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
- object-hash@3.0.0:
- resolution: { integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== }
- engines: { node: ">= 6" }
+ is-weakref@1.1.1:
+ resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
+ engines: {node: '>= 0.4'}
- object-inspect@1.13.4:
- resolution: { integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== }
- engines: { node: ">= 0.4" }
+ is-weakset@2.0.4:
+ resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
+ engines: {node: '>= 0.4'}
- object-keys@1.1.1:
- resolution: { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== }
- engines: { node: ">= 0.4" }
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
- object.assign@4.1.7:
- resolution: { integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== }
- engines: { node: ">= 0.4" }
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
- on-finished@2.4.1:
- resolution: { integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== }
- engines: { node: ">= 0.8" }
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- once@1.4.0:
- resolution: { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== }
+ jiti@1.21.7:
+ resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
+ hasBin: true
- onetime@5.1.2:
- resolution: { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== }
- engines: { node: ">=6" }
+ jose@6.2.3:
+ resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==}
- oniguruma-parser@0.12.2:
- resolution: { integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw== }
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- oniguruma-to-es@4.3.6:
- resolution: { integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA== }
+ js-yaml@3.14.2:
+ resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==}
+ hasBin: true
- open@8.4.2:
- resolution: { integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== }
- engines: { node: ">=12" }
+ js-yaml@4.3.1:
+ resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==}
+ hasBin: true
- openapi-types@12.1.3:
- resolution: { integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw== }
+ js-yaml@4.3.2:
+ resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==}
+ hasBin: true
- openid-client@6.8.2:
- resolution: { integrity: sha512-uOvTCndr4udZsKihJ68H9bUICrriHdUVJ6Az+4Ns6cW55rwM5h0bjVIzDz2SxgOI84LKjFyjOFvERLzdTUROGA== }
+ js-yaml@5.4.2:
+ resolution: {integrity: sha512-m+aqu+LwO1O6sIopafj8HUVl5aawITwZQe/yHpMCKjaWBaA/d07B/QdMb3529REftiU+RMMHL3Vlsw3hON7vWg==}
+ hasBin: true
- orderedmap@2.1.1:
- resolution: { integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g== }
+ jsep@1.4.0:
+ resolution: {integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==}
+ engines: {node: '>= 10.16.0'}
- own-keys@1.0.1:
- resolution: { integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== }
- engines: { node: ">= 0.4" }
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
- p-any@4.0.0:
- resolution: { integrity: sha512-S/B50s+pAVe0wmEZHmBs/9yJXeZ5KhHzOsgKzt0hRdgkoR3DxW9ts46fcsWi/r3VnzsnkKS7q4uimze+zjdryw== }
- engines: { node: ">=12.20" }
+ json-p3@2.2.2:
+ resolution: {integrity: sha512-TmTgkx+C1ne8Wdm9dFQ4/jCeYYbSoeYJAkRpvTz6O+zWN1Dc3cKW8Mt52sa8mSRXy/+JykA5I6rmM+k8h+JRRg==}
- p-cancelable@3.0.0:
- resolution: { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== }
- engines: { node: ">=12.20" }
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- p-some@6.0.0:
- resolution: { integrity: sha512-CJbQCKdfSX3fIh8/QKgS+9rjm7OBNUTmwWswAFQAhc8j1NR1dsEDETUEuVUtQHZpV+J03LqWBEwvu0g1Yn+TYg== }
- engines: { node: ">=12.20" }
+ json-schema-to-ts@3.1.1:
+ resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==}
+ engines: {node: '>=16'}
- p-timeout@5.1.0:
- resolution: { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== }
- engines: { node: ">=12" }
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- pac-proxy-agent@7.2.0:
- resolution: { integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA== }
- engines: { node: ">= 14" }
+ json-schema-typed@8.0.2:
+ resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==}
- pac-resolver@7.0.1:
- resolution: { integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== }
- engines: { node: ">= 14" }
+ jsonc-parser@2.2.1:
+ resolution: {integrity: sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==}
- parent-module@1.0.1:
- resolution: { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== }
- engines: { node: ">=6" }
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
- parse-entities@4.0.2:
- resolution: { integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== }
+ jsonfile@6.2.1:
+ resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==}
- parse-json@5.2.0:
- resolution: { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== }
- engines: { node: ">=8" }
+ jsonpath-plus@10.4.0:
+ resolution: {integrity: sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
- parse-latin@7.0.0:
- resolution: { integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ== }
+ jsonpointer@5.0.1:
+ resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
+ engines: {node: '>=0.10.0'}
- parse5@7.3.0:
- resolution: { integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== }
+ katex@0.16.47:
+ resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==}
+ hasBin: true
- parseurl@1.3.3:
- resolution: { integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== }
- engines: { node: ">= 0.8" }
+ keytar@7.9.0:
+ resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==}
- patch-console@2.0.0:
- resolution: { integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- path-expression-matcher@1.6.2:
- resolution: { integrity: sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ== }
- engines: { node: ">=14.0.0" }
+ lcm@0.0.3:
+ resolution: {integrity: sha512-TB+ZjoillV6B26Vspf9l2L/vKaRY/4ep3hahcyVkCGFgsTNRUQdc24bQeNFiZeoxH0vr5+7SfNRMQuPHv/1IrQ==}
- path-is-absolute@1.0.1:
- resolution: { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== }
- engines: { node: ">=0.10.0" }
+ leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
- path-key@3.1.1:
- resolution: { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== }
- engines: { node: ">=8" }
+ leven@4.1.0:
+ resolution: {integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- path-parse@1.0.7:
- resolution: { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== }
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
- path-to-regexp@0.1.13:
- resolution: { integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA== }
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- path-to-regexp@8.4.2:
- resolution: { integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA== }
+ lodash.topath@4.5.2:
+ resolution: {integrity: sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==}
- pend@1.2.0:
- resolution: { integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== }
+ lodash@4.18.1:
+ resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
- picocolors@1.1.1:
- resolution: { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== }
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
- picomatch@2.3.2:
- resolution: { integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== }
- engines: { node: ">=8.6" }
+ lowercase-keys@3.0.0:
+ resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- picomatch@4.0.4:
- resolution: { integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== }
- engines: { node: ">=12" }
+ lru-cache@7.18.3:
+ resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
+ engines: {node: '>=12'}
- pify@2.3.0:
- resolution: { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== }
- engines: { node: ">=0.10.0" }
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
- pirates@4.0.7:
- resolution: { integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== }
- engines: { node: ">= 6" }
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
- pkce-challenge@5.0.1:
- resolution: { integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ== }
- engines: { node: ">=16.20.0" }
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
- pony-cause@1.1.1:
- resolution: { integrity: sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g== }
- engines: { node: ">=12.0.0" }
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
- possible-typed-array-names@1.1.0:
- resolution: { integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== }
- engines: { node: ">= 0.4" }
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
- postcss-import@15.1.0:
- resolution: { integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== }
- engines: { node: ">=14.0.0" }
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-js@4.1.0:
- resolution: { integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw== }
- engines: { node: ^12 || ^14 || >= 16 }
- peerDependencies:
- postcss: ^8.4.21
+ mdast-util-from-markdown@2.0.3:
+ resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==}
- postcss-load-config@4.0.2:
- resolution: { integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== }
- engines: { node: ">= 14" }
- peerDependencies:
- postcss: ">=8.0.9"
- ts-node: ">=9.0.0"
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
+ mdast-util-frontmatter@2.0.1:
+ resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
- postcss-nested@6.2.0:
- resolution: { integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== }
- engines: { node: ">=12.0" }
- peerDependencies:
- postcss: ^8.2.14
-
- postcss-selector-parser@6.1.2:
- resolution: { integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== }
- engines: { node: ">=4" }
-
- postcss-value-parser@4.2.0:
- resolution: { integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== }
-
- postcss@8.5.23:
- resolution: { integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg== }
- engines: { node: ^10 || ^12 || >=14 }
-
- posthog-node@5.17.2:
- resolution: { integrity: sha512-lz3YJOr0Nmiz0yHASaINEDHqoV+0bC3eD8aZAG+Ky292dAnVYul+ga/dMX8KCBXg8hHfKdxw0SztYD5j6dgUqQ== }
- engines: { node: ">=20" }
-
- prebuild-install@7.1.3:
- resolution: { integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== }
- engines: { node: ">=10" }
- deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
- hasBin: true
-
- progress@2.0.3:
- resolution: { integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== }
- engines: { node: ">=0.4.0" }
-
- property-information@6.5.0:
- resolution: { integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== }
-
- property-information@7.2.0:
- resolution: { integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg== }
-
- prosemirror-model@1.25.11:
- resolution: { integrity: sha512-QWg9RhnpLlogAmp3p96uEFrE5txQpFynd4vhBAELkwgOCWQs/X0yCzB3/hrHqiPwf91RG5KyWq6553zs9JqIOQ== }
-
- proxy-addr@2.0.7:
- resolution: { integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== }
- engines: { node: ">= 0.10" }
-
- proxy-agent@6.5.0:
- resolution: { integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A== }
- engines: { node: ">= 14" }
-
- proxy-from-env@1.1.0:
- resolution: { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== }
-
- proxy-from-env@2.1.0:
- resolution: { integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== }
- engines: { node: ">=10" }
-
- public-ip@5.0.0:
- resolution: { integrity: sha512-xaH3pZMni/R2BG7ZXXaWS9Wc9wFlhyDVJF47IJ+3ali0TGv+2PsckKxbmo+rnx3ZxiV2wblVhtdS3bohAP6GGw== }
- engines: { node: ^14.13.1 || >=16.0.0 }
-
- pump@3.0.4:
- resolution: { integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA== }
-
- puppeteer-core@24.3.1:
- resolution: { integrity: sha512-585ccfcTav4KmlSmYbwwOSeC8VdutQHn2Fuk0id/y/9OoeO7Gg5PK1aUGdZjEmos0TAq+pCpChqFurFbpNd3wA== }
- engines: { node: ">=18" }
-
- puppeteer@24.3.1:
- resolution: { integrity: sha512-k0OJ7itRwkr06owp0CP3f/PsRD7Pdw4DjoCUZvjGr+aNgS1z6n/61VajIp0uBjl+V5XAQO1v/3k9bzeZLWs9OQ== }
- engines: { node: ">=18" }
- deprecated: < 24.15.0 is no longer supported
- hasBin: true
-
- qs@6.14.2:
- resolution: { integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== }
- engines: { node: ">=0.6" }
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
- qs@6.15.2:
- resolution: { integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw== }
- engines: { node: ">=0.6" }
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
- queue-microtask@1.2.3:
- resolution: { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== }
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
- quick-lru@5.1.1:
- resolution: { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== }
- engines: { node: ">=10" }
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
- range-parser@1.2.1:
- resolution: { integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== }
- engines: { node: ">= 0.6" }
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
- raw-body@2.5.3:
- resolution: { integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA== }
- engines: { node: ">= 0.8" }
+ mdast-util-gfm@3.0.0:
+ resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
- raw-body@3.0.2:
- resolution: { integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA== }
- engines: { node: ">= 0.10" }
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
- rc@1.2.8:
- resolution: { integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== }
- hasBin: true
+ mdast-util-math@3.0.0:
+ resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==}
- re2js@2.8.6:
- resolution: { integrity: sha512-xLgQil4kIUCrAzVk9fRSkxkFNwmygLFjVxXrLc65aE1F0+Zsb8rxumFBy4XKyvgMCTL6kilDq3EZ0piE2dP/Dg== }
- engines: { node: ">=18.0.0" }
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
- react-dom@19.2.3:
- resolution: { integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg== }
- peerDependencies:
- react: ^19.2.3
+ mdast-util-mdx-jsx@3.1.3:
+ resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==}
- react-reconciler@0.32.0:
- resolution: { integrity: sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ== }
- engines: { node: ">=0.10.0" }
- peerDependencies:
- react: ^19.1.0
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
- react@19.2.3:
- resolution: { integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA== }
- engines: { node: ">=0.10.0" }
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
- read-cache@1.0.0:
- resolution: { integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== }
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
- readable-stream@3.6.2:
- resolution: { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== }
- engines: { node: ">= 6" }
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
- readdirp@3.6.0:
- resolution: { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== }
- engines: { node: ">=8.10.0" }
+ mdast-util-to-hast@13.2.1:
+ resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
- recma-build-jsx@1.0.0:
- resolution: { integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew== }
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
- recma-jsx@1.0.1:
- resolution: { integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w== }
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
- recma-parse@1.0.0:
- resolution: { integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ== }
+ media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
- recma-stringify@1.0.0:
- resolution: { integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g== }
+ media-typer@1.1.1:
+ resolution: {integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==}
+ engines: {node: '>= 0.8'}
- reflect.getprototypeof@1.0.10:
- resolution: { integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== }
- engines: { node: ">= 0.4" }
+ merge-descriptors@1.0.3:
+ resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
- regex-recursion@6.0.2:
- resolution: { integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg== }
+ merge-descriptors@2.0.0:
+ resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
+ engines: {node: '>=18'}
- regex-utilities@2.3.0:
- resolution: { integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng== }
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
- regex@6.1.0:
- resolution: { integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg== }
+ methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
- regexp.prototype.flags@1.5.4:
- resolution: { integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== }
- engines: { node: ">= 0.4" }
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
- rehype-katex@7.0.1:
- resolution: { integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA== }
+ micromark-extension-frontmatter@2.0.0:
+ resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
- rehype-minify-whitespace@6.0.2:
- resolution: { integrity: sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw== }
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
- rehype-parse@9.0.1:
- resolution: { integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag== }
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
- rehype-recma@1.0.0:
- resolution: { integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw== }
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
- rehype-stringify@10.0.1:
- resolution: { integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA== }
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
- remark-frontmatter@5.0.0:
- resolution: { integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== }
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
- remark-gfm@4.0.0:
- resolution: { integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== }
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
- remark-gfm@4.0.1:
- resolution: { integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== }
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
- remark-math@6.0.0:
- resolution: { integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA== }
+ micromark-extension-math@3.1.0:
+ resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==}
- remark-mdx-remove-esm@1.3.2:
- resolution: { integrity: sha512-BvL8VSdVXy9S7NlHP56nUJAHFc45h5E9HnHiLUGHe5tw3Yvm/3cVZvAzlkEEh2i+fkq2uKrf2xn5VmItBhMypA== }
- peerDependencies:
- unified: ^11
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
- remark-mdx@3.0.1:
- resolution: { integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA== }
+ micromark-extension-mdx-jsx@3.0.1:
+ resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==}
- remark-mdx@3.1.0:
- resolution: { integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA== }
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
- remark-mdx@3.1.1:
- resolution: { integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg== }
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
- remark-parse@11.0.0:
- resolution: { integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== }
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
- remark-rehype@11.1.1:
- resolution: { integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ== }
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
- remark-smartypants@3.0.2:
- resolution: { integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA== }
- engines: { node: ">=16.0.0" }
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
- remark-stringify@11.0.0:
- resolution: { integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== }
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
- remark@15.0.1:
- resolution: { integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A== }
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
- require-directory@2.1.1:
- resolution: { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== }
- engines: { node: ">=0.10.0" }
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
- require-from-string@2.0.2:
- resolution: { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== }
- engines: { node: ">=0.10.0" }
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
- reselect@5.3.0:
- resolution: { integrity: sha512-XGoLeRAVzUTcJ1qkxPQhDJyIZ5d6zzZD9nT7AEZOaaU9UbWclhycElmhO+VD5bFeLuzhPBaOV2oXC8uG35ZSpg== }
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
- resolve-alpn@1.2.1:
- resolution: { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== }
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
- resolve-from@4.0.0:
- resolution: { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== }
- engines: { node: ">=4" }
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
- resolve@1.22.12:
- resolution: { integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA== }
- engines: { node: ">= 0.4" }
- hasBin: true
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
- responselike@3.0.0:
- resolution: { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== }
- engines: { node: ">=14.16" }
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
- restore-cursor@4.0.0:
- resolution: { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== }
- engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
- retext-latin@4.0.0:
- resolution: { integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA== }
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
- retext-smartypants@6.2.0:
- resolution: { integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ== }
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
- retext-stringify@4.0.0:
- resolution: { integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA== }
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
- retext@9.0.0:
- resolution: { integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA== }
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
- reusify@1.1.0:
- resolution: { integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== }
- engines: { iojs: ">=1.0.0", node: ">=0.10.0" }
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
- router@2.2.0:
- resolution: { integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== }
- engines: { node: ">= 18" }
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
- run-async@3.0.0:
- resolution: { integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== }
- engines: { node: ">=0.12.0" }
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
- run-parallel@1.2.0:
- resolution: { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== }
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
- rxjs@7.8.2:
- resolution: { integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== }
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
- safe-array-concat@1.1.4:
- resolution: { integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg== }
- engines: { node: ">=0.4" }
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
- safe-buffer@5.2.1:
- resolution: { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== }
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
- safe-push-apply@1.0.0:
- resolution: { integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== }
- engines: { node: ">= 0.4" }
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
- safe-regex-test@1.1.0:
- resolution: { integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== }
- engines: { node: ">= 0.4" }
+ mime-db@1.54.0:
+ resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
+ engines: {node: '>= 0.6'}
- safe-stable-stringify@1.1.1:
- resolution: { integrity: sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw== }
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
- safer-buffer@2.1.2:
- resolution: { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== }
+ mime-types@3.0.2:
+ resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
+ engines: {node: '>=18'}
- sax@1.6.0:
- resolution: { integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA== }
- engines: { node: ">=11.0.0" }
+ mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
- scheduler@0.26.0:
- resolution: { integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== }
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
- scheduler@0.27.0:
- resolution: { integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q== }
+ mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
- semver@7.7.2:
- resolution: { integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== }
- engines: { node: ">=10" }
- hasBin: true
+ mimic-response@4.0.0:
+ resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- send@0.19.2:
- resolution: { integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg== }
- engines: { node: ">= 0.8.0" }
+ minimatch@3.1.5:
+ resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
- send@1.2.1:
- resolution: { integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ== }
- engines: { node: ">= 18" }
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- serialize-error@13.0.1:
- resolution: { integrity: sha512-bBZaRwLH9PN5HbLCjPId4dP5bNGEtumcErgOX952IsvOhVPrm3/AeK1y0UHA/QaPG701eg0yEnOKsCOC6X/kaA== }
- engines: { node: ">=20" }
+ minipass@7.1.3:
+ resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
+ engines: {node: '>=16 || 14 >=14.17'}
- serve-static@1.16.3:
- resolution: { integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA== }
- engines: { node: ">= 0.8.0" }
+ minizlib@3.1.0:
+ resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
+ engines: {node: '>= 18'}
- serve-static@2.2.1:
- resolution: { integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw== }
- engines: { node: ">= 18" }
+ mintlify@4.2.981:
+ resolution: {integrity: sha512-+BbRS39hI4Vu7hgyNkTbxPU4Ai/5tA5ufNVnZJzLNBBFNBqCC/3MZDy85+pNDkyL3Fml2GYj3QBv/B7DWWZ5Wg==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
- set-function-length@1.2.2:
- resolution: { integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== }
- engines: { node: ">= 0.4" }
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
- set-function-name@2.0.2:
- resolution: { integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== }
- engines: { node: ">= 0.4" }
+ mkdirp-classic@0.5.3:
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
- set-proto@1.0.0:
- resolution: { integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== }
- engines: { node: ">= 0.4" }
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
- setprototypeof@1.2.0:
- resolution: { integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== }
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- sharp-ico@0.1.5:
- resolution: { integrity: sha512-a3jODQl82NPp1d5OYb0wY+oFaPk7AvyxipIowCHk7pBsZCWgbe0yAkU2OOXdoH0ENyANhyOQbs9xkAiRHcF02Q== }
+ mute-stream@2.0.0:
+ resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
+ engines: {node: ^18.17.0 || >=20.5.0}
- sharp@0.33.5:
- resolution: { integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== }
- engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
- shebang-command@2.0.0:
- resolution: { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== }
- engines: { node: ">=8" }
+ nanoid@3.3.18:
+ resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
- shebang-regex@3.0.0:
- resolution: { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== }
- engines: { node: ">=8" }
+ napi-build-utils@2.0.0:
+ resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==}
- shiki@3.23.0:
- resolution: { integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA== }
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
- side-channel-list@1.0.1:
- resolution: { integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w== }
- engines: { node: ">= 0.4" }
+ negotiator@1.1.0:
+ resolution: {integrity: sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==}
+ engines: {node: '>=18'}
- side-channel-map@1.0.1:
- resolution: { integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== }
- engines: { node: ">= 0.4" }
+ neotraverse@0.6.18:
+ resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==}
+ engines: {node: '>= 10'}
- side-channel-weakmap@1.0.2:
- resolution: { integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== }
- engines: { node: ">= 0.4" }
+ netmask@2.1.1:
+ resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==}
+ engines: {node: '>= 0.4.0'}
- side-channel@1.1.0:
- resolution: { integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== }
- engines: { node: ">= 0.4" }
+ next-mdx-remote-client@2.1.12:
+ resolution: {integrity: sha512-KDfhIk5aEM0kkZ0xQ8XBkmo4O5xmJeGWUomm40Ac/xhkt5sIDOTmTU/QFfmJGLJUJipD5o0BAHqVSIZKuXgNEw==}
+ engines: {node: '>=20.9.0'}
+ peerDependencies:
+ react: '>= 19.1.0'
+ react-dom: '>= 19.1.0'
- signal-exit@3.0.7:
- resolution: { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== }
+ nimma@0.2.3:
+ resolution: {integrity: sha512-1ZOI8J+1PKKGceo/5CT5GfQOG6H8I2BencSK06YarZ2wXwH37BSSUWldqJmMJYA5JfqDqffxDXynt6f11AyKcA==}
+ engines: {node: ^12.20 || >=14.13}
- signal-exit@4.1.0:
- resolution: { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== }
- engines: { node: ">=14" }
+ nlcst-to-string@4.0.0:
+ resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
- simple-concat@1.0.1:
- resolution: { integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== }
+ node-abi@3.92.0:
+ resolution: {integrity: sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==}
+ engines: {node: '>=10'}
- simple-get@4.0.1:
- resolution: { integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== }
+ node-addon-api@4.3.0:
+ resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==}
- simple-swizzle@0.2.4:
- resolution: { integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw== }
+ node-fetch@2.6.7:
+ resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
- slice-ansi@5.0.0:
- resolution: { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== }
- engines: { node: ">=12" }
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
- slice-ansi@7.1.2:
- resolution: { integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w== }
- engines: { node: ">=18" }
+ non-error@0.1.0:
+ resolution: {integrity: sha512-TMB1uHiGsHRGv1uYclfhivcnf0/PdFp2pNqRxXjncaAsjYMoisaQJI+SSZCqRq+VliwRTC8tsMQfmrWjDMhkPQ==}
+ engines: {node: '>=20'}
- smart-buffer@4.2.0:
- resolution: { integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== }
- engines: { node: ">= 6.0.0", npm: ">= 3.0.0" }
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
- socket.io-adapter@2.5.7:
- resolution: { integrity: sha512-e0LyK91f3cUxTmv95/KzoLg47+zF+s/sbxRGDNsyG4dmIP8ZSX8ax6byOxfJXeNNtS/8AZlfD+uP7gBeR7DLlg== }
+ normalize-url@8.1.1:
+ resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==}
+ engines: {node: '>=14.16'}
- socket.io-parser@4.2.6:
- resolution: { integrity: sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg== }
- engines: { node: ">=10.0.0" }
+ oauth4webapi@3.8.6:
+ resolution: {integrity: sha512-iwemM91xz8nryHti2yTmg5fhyEMVOkOXwHNqbvcATjyajb5oQxCQzrNOA6uElRHuMhQQTKUyFKV9y/CNyg25BQ==}
- socket.io@4.8.0:
- resolution: { integrity: sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA== }
- engines: { node: ">=10.2.0" }
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
- socks-proxy-agent@8.0.5:
- resolution: { integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== }
- engines: { node: ">= 14" }
+ object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
- socks@2.8.9:
- resolution: { integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw== }
- engines: { node: ">= 10.0.0", npm: ">= 3.0.0" }
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+ engines: {node: '>= 0.4'}
- source-map-js@1.2.1:
- resolution: { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== }
- engines: { node: ">=0.10.0" }
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
- source-map@0.6.1:
- resolution: { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== }
- engines: { node: ">=0.10.0" }
+ object.assign@4.1.7:
+ resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
+ engines: {node: '>= 0.4'}
- source-map@0.7.6:
- resolution: { integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== }
- engines: { node: ">= 12" }
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
- space-separated-tokens@2.0.2:
- resolution: { integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== }
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- sprintf-js@1.0.3:
- resolution: { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== }
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
- stack-utils@2.0.6:
- resolution: { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== }
- engines: { node: ">=10" }
+ oniguruma-parser@0.12.2:
+ resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==}
- standardwebhooks@1.1.1:
- resolution: { integrity: sha512-bCbX9ZEyFkWPsRz7Bl3NuQUJohmwGSev/yhr7vhaGPlc4AfIrspIRa6cPTBuI1ItmrTDJ4d/S2hCsfe4+vQGnQ== }
+ oniguruma-to-es@4.3.6:
+ resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==}
- statuses@2.0.2:
- resolution: { integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== }
- engines: { node: ">= 0.8" }
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
- stop-iteration-iterator@1.1.0:
- resolution: { integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== }
- engines: { node: ">= 0.4" }
+ openapi-types@12.1.3:
+ resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
- streamx@2.26.0:
- resolution: { integrity: sha512-VvNG1K72Po/xwJzxZFnZ++Tbrv4lwSptsbkFuzXCJAYZvCK5nnxsvXU6ajqkv7chyiI1Y0YXq2Jh8Iy8Y7NF/A== }
+ openid-client@6.8.2:
+ resolution: {integrity: sha512-uOvTCndr4udZsKihJ68H9bUICrriHdUVJ6Az+4Ns6cW55rwM5h0bjVIzDz2SxgOI84LKjFyjOFvERLzdTUROGA==}
- string-width@4.2.3:
- resolution: { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== }
- engines: { node: ">=8" }
+ orderedmap@2.1.1:
+ resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
- string-width@7.2.0:
- resolution: { integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== }
- engines: { node: ">=18" }
+ own-keys@1.0.1:
+ resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
+ engines: {node: '>= 0.4'}
- string.prototype.trim@1.2.10:
- resolution: { integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== }
- engines: { node: ">= 0.4" }
+ p-any@4.0.0:
+ resolution: {integrity: sha512-S/B50s+pAVe0wmEZHmBs/9yJXeZ5KhHzOsgKzt0hRdgkoR3DxW9ts46fcsWi/r3VnzsnkKS7q4uimze+zjdryw==}
+ engines: {node: '>=12.20'}
- string.prototype.trimend@1.0.9:
- resolution: { integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== }
- engines: { node: ">= 0.4" }
+ p-cancelable@3.0.0:
+ resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
+ engines: {node: '>=12.20'}
- string.prototype.trimstart@1.0.8:
- resolution: { integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== }
- engines: { node: ">= 0.4" }
+ p-some@6.0.0:
+ resolution: {integrity: sha512-CJbQCKdfSX3fIh8/QKgS+9rjm7OBNUTmwWswAFQAhc8j1NR1dsEDETUEuVUtQHZpV+J03LqWBEwvu0g1Yn+TYg==}
+ engines: {node: '>=12.20'}
- string_decoder@1.3.0:
- resolution: { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== }
+ p-timeout@5.1.0:
+ resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==}
+ engines: {node: '>=12'}
- stringify-entities@4.0.4:
- resolution: { integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== }
+ pac-proxy-agent@7.2.0:
+ resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==}
+ engines: {node: '>= 14'}
- strip-ansi@6.0.1:
- resolution: { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== }
- engines: { node: ">=8" }
+ pac-resolver@7.0.1:
+ resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
+ engines: {node: '>= 14'}
- strip-ansi@7.2.0:
- resolution: { integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== }
- engines: { node: ">=12" }
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
- strip-json-comments@2.0.1:
- resolution: { integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== }
- engines: { node: ">=0.10.0" }
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
- strnum@2.4.2:
- resolution: { integrity: sha512-rDG3Ah4TV0k1hWvLSzkZtMmLN9+eS+h3knq4MP6A42Y3Yh5qGNnOUs1jJkoSr8FG5dsL28c7KgkIBzSEykqtuw== }
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
- style-to-js@1.1.21:
- resolution: { integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ== }
+ parse-latin@7.0.0:
+ resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
- style-to-object@0.4.4:
- resolution: { integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== }
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
- style-to-object@1.0.14:
- resolution: { integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw== }
+ parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
- sucrase@3.34.0:
- resolution: { integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== }
- engines: { node: ">=8" }
- hasBin: true
+ patch-console@2.0.0:
+ resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- sucrase@3.35.1:
- resolution: { integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw== }
- engines: { node: ">=16 || 14 >=14.17" }
- hasBin: true
+ path-expression-matcher@1.6.2:
+ resolution: {integrity: sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==}
+ engines: {node: '>=14.0.0'}
- supports-preserve-symlinks-flag@1.0.0:
- resolution: { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== }
- engines: { node: ">= 0.4" }
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
- tagged-tag@1.0.0:
- resolution: { integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng== }
- engines: { node: ">=20" }
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
- tailwindcss@3.4.17:
- resolution: { integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== }
- engines: { node: ">=14.0.0" }
- hasBin: true
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- tar-fs@2.1.4:
- resolution: { integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ== }
+ path-to-regexp@0.1.13:
+ resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==}
- tar-fs@3.1.2:
- resolution: { integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw== }
+ path-to-regexp@8.4.2:
+ resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==}
- tar-stream@2.2.0:
- resolution: { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== }
- engines: { node: ">=6" }
+ pend@1.2.0:
+ resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
- tar-stream@3.2.0:
- resolution: { integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg== }
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
- tar@7.5.21:
- resolution: { integrity: sha512-XdhtCvlMywwxpCW8YEq3lOXBJpUPTR2OHHcwLPO3HwsJqOHa2Ok/oJ7ruGzp+JrKoRPVCzJwAdEjqLW/vNRPHA== }
- engines: { node: ">=18" }
+ picomatch@2.3.2:
+ resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==}
+ engines: {node: '>=8.6'}
- teex@1.0.1:
- resolution: { integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg== }
+ picomatch@4.0.4:
+ resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
+ engines: {node: '>=12'}
- text-decoder@1.2.7:
- resolution: { integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ== }
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
- thenify-all@1.6.0:
- resolution: { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== }
- engines: { node: ">=0.8" }
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+ engines: {node: '>= 6'}
- thenify@3.3.1:
- resolution: { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== }
+ pkce-challenge@5.0.1:
+ resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==}
+ engines: {node: '>=16.20.0'}
- tinyglobby@0.2.17:
- resolution: { integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== }
- engines: { node: ">=12.0.0" }
+ pony-cause@1.1.1:
+ resolution: {integrity: sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==}
+ engines: {node: '>=12.0.0'}
- to-data-view@1.1.0:
- resolution: { integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ== }
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+ engines: {node: '>= 0.4'}
- to-regex-range@5.0.1:
- resolution: { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== }
- engines: { node: ">=8.0" }
+ postcss-import@15.1.0:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
- toidentifier@1.0.1:
- resolution: { integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== }
- engines: { node: ">=0.6" }
+ postcss-js@4.1.0:
+ resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
- tr46@0.0.3:
- resolution: { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== }
+ postcss-load-config@4.0.2:
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
- trim-lines@3.0.1:
- resolution: { integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== }
+ postcss-nested@6.2.0:
+ resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
- trim-trailing-lines@2.1.0:
- resolution: { integrity: sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg== }
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
- trough@2.2.0:
- resolution: { integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== }
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- ts-algebra@2.0.0:
- resolution: { integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw== }
+ postcss@8.5.23:
+ resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==}
+ engines: {node: ^10 || ^12 || >=14}
- ts-interface-checker@0.1.13:
- resolution: { integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== }
+ posthog-node@5.17.2:
+ resolution: {integrity: sha512-lz3YJOr0Nmiz0yHASaINEDHqoV+0bC3eD8aZAG+Ky292dAnVYul+ga/dMX8KCBXg8hHfKdxw0SztYD5j6dgUqQ==}
+ engines: {node: '>=20'}
- tslib@1.14.1:
- resolution: { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== }
+ prebuild-install@7.1.3:
+ resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
+ engines: {node: '>=10'}
+ deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
+ hasBin: true
- tslib@2.8.1:
- resolution: { integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== }
+ progress@2.0.3:
+ resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
+ engines: {node: '>=0.4.0'}
- tunnel-agent@0.6.0:
- resolution: { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== }
+ property-information@6.5.0:
+ resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
- twoslash-protocol@0.3.8:
- resolution: { integrity: sha512-HmvAHoiEviK8LqvAQyc9/irkdvwTUiR1fHmNwH/0gq8EHxyBt4PWVPixjEXg6wJu1u6yBrILEWXGK9Kw58/8yQ== }
+ property-information@7.2.0:
+ resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==}
- twoslash@0.3.8:
- resolution: { integrity: sha512-OeDz0kDl8sqPUN3nr7gqcvOs70f5lZsdhKYTX3/SgB9OvdadzzoYJI/4SBXhXV1HG8E9fLc+e17itoRYTxmoig== }
- peerDependencies:
- typescript: ^5.5.0 || ^6.0.0
+ prosemirror-model@1.25.4:
+ resolution: {integrity: sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==}
- type-fest@0.21.3:
- resolution: { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== }
- engines: { node: ">=10" }
+ proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
- type-fest@4.41.0:
- resolution: { integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== }
- engines: { node: ">=16" }
+ proxy-agent@6.5.0:
+ resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==}
+ engines: {node: '>= 14'}
- type-fest@5.7.0:
- resolution: { integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg== }
- engines: { node: ">=20" }
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
- type-is@1.6.18:
- resolution: { integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== }
- engines: { node: ">= 0.6" }
+ proxy-from-env@2.1.0:
+ resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==}
+ engines: {node: '>=10'}
- type-is@2.1.0:
- resolution: { integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA== }
- engines: { node: ">= 18" }
+ public-ip@5.0.0:
+ resolution: {integrity: sha512-xaH3pZMni/R2BG7ZXXaWS9Wc9wFlhyDVJF47IJ+3ali0TGv+2PsckKxbmo+rnx3ZxiV2wblVhtdS3bohAP6GGw==}
+ engines: {node: ^14.13.1 || >=16.0.0}
- typed-array-buffer@1.0.3:
- resolution: { integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== }
- engines: { node: ">= 0.4" }
+ pump@3.0.4:
+ resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==}
- typed-array-byte-length@1.0.3:
- resolution: { integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== }
- engines: { node: ">= 0.4" }
+ puppeteer-core@24.3.1:
+ resolution: {integrity: sha512-585ccfcTav4KmlSmYbwwOSeC8VdutQHn2Fuk0id/y/9OoeO7Gg5PK1aUGdZjEmos0TAq+pCpChqFurFbpNd3wA==}
+ engines: {node: '>=18'}
- typed-array-byte-offset@1.0.4:
- resolution: { integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== }
- engines: { node: ">= 0.4" }
+ puppeteer@24.3.1:
+ resolution: {integrity: sha512-k0OJ7itRwkr06owp0CP3f/PsRD7Pdw4DjoCUZvjGr+aNgS1z6n/61VajIp0uBjl+V5XAQO1v/3k9bzeZLWs9OQ==}
+ engines: {node: '>=18'}
+ deprecated: < 24.15.0 is no longer supported
+ hasBin: true
- typed-array-length@1.0.8:
- resolution: { integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g== }
- engines: { node: ">= 0.4" }
+ qs@6.14.2:
+ resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==}
+ engines: {node: '>=0.6'}
- typed-query-selector@2.12.2:
- resolution: { integrity: sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ== }
+ qs@6.15.2:
+ resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==}
+ engines: {node: '>=0.6'}
- typescript@6.0.3:
- resolution: { integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw== }
- engines: { node: ">=14.17" }
- hasBin: true
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- unbox-primitive@1.1.0:
- resolution: { integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== }
- engines: { node: ">= 0.4" }
+ quick-lru@5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
- undici-types@7.24.6:
- resolution: { integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg== }
+ range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
- unified@11.0.5:
- resolution: { integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== }
+ raw-body@2.5.3:
+ resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==}
+ engines: {node: '>= 0.8'}
- unist-builder@4.0.0:
- resolution: { integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg== }
+ raw-body@3.0.2:
+ resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
+ engines: {node: '>= 0.10'}
- unist-util-find-after@5.0.0:
- resolution: { integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== }
+ rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
- unist-util-is@5.2.1:
- resolution: { integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== }
+ re2js@2.8.6:
+ resolution: {integrity: sha512-xLgQil4kIUCrAzVk9fRSkxkFNwmygLFjVxXrLc65aE1F0+Zsb8rxumFBy4XKyvgMCTL6kilDq3EZ0piE2dP/Dg==}
+ engines: {node: '>=18.0.0'}
- unist-util-is@6.0.1:
- resolution: { integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g== }
+ react-dom@19.2.3:
+ resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==}
+ peerDependencies:
+ react: ^19.2.3
- unist-util-map@4.0.0:
- resolution: { integrity: sha512-HJs1tpkSmRJUzj6fskQrS5oYhBYlmtcvy4SepdDEEsL04FjBrgF0Mgggvxc1/qGBGgW7hRh9+UBK1aqTEnBpIA== }
+ react-reconciler@0.32.0:
+ resolution: {integrity: sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ==}
+ engines: {node: '>=0.10.0'}
+ peerDependencies:
+ react: ^19.1.0
- unist-util-modify-children@4.0.0:
- resolution: { integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw== }
+ react@19.2.3:
+ resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==}
+ engines: {node: '>=0.10.0'}
- unist-util-position-from-estree@2.0.0:
- resolution: { integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== }
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
- unist-util-position@5.0.0:
- resolution: { integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== }
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
- unist-util-remove-position@5.0.0:
- resolution: { integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== }
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
- unist-util-remove@4.0.0:
- resolution: { integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg== }
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
- unist-util-stringify-position@4.0.0:
- resolution: { integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== }
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- unist-util-visit-children@3.0.0:
- resolution: { integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA== }
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
- unist-util-visit-parents@5.1.3:
- resolution: { integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== }
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
- unist-util-visit-parents@6.0.1:
- resolution: { integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== }
+ reflect.getprototypeof@1.0.10:
+ resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
+ engines: {node: '>= 0.4'}
- unist-util-visit-parents@6.0.2:
- resolution: { integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ== }
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
- unist-util-visit@4.1.2:
- resolution: { integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== }
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
- unist-util-visit@5.0.0:
- resolution: { integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== }
+ regex@6.1.0:
+ resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
- universalify@2.0.1:
- resolution: { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== }
- engines: { node: ">= 10.0.0" }
+ regexp.prototype.flags@1.5.4:
+ resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
+ engines: {node: '>= 0.4'}
- unpipe@1.0.0:
- resolution: { integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== }
- engines: { node: ">= 0.8" }
+ rehype-katex@7.0.1:
+ resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==}
- urijs@1.19.11:
- resolution: { integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== }
+ rehype-minify-whitespace@6.0.2:
+ resolution: {integrity: sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==}
- use-sync-external-store@1.6.0:
- resolution: { integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== }
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ rehype-parse@9.0.1:
+ resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
- util-deprecate@1.0.2:
- resolution: { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== }
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
- utility-types@3.11.0:
- resolution: { integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== }
- engines: { node: ">= 4" }
+ rehype-stringify@10.0.1:
+ resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
- utils-merge@1.0.1:
- resolution: { integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== }
- engines: { node: ">= 0.4.0" }
+ remark-frontmatter@5.0.0:
+ resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
- uuid@11.1.1:
- resolution: { integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ== }
- hasBin: true
+ remark-gfm@4.0.0:
+ resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
- vary@1.1.2:
- resolution: { integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== }
- engines: { node: ">= 0.8" }
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
- vfile-location@5.0.3:
- resolution: { integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== }
+ remark-math@6.0.0:
+ resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==}
- vfile-matter@5.0.1:
- resolution: { integrity: sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw== }
+ remark-mdx-remove-esm@1.3.2:
+ resolution: {integrity: sha512-BvL8VSdVXy9S7NlHP56nUJAHFc45h5E9HnHiLUGHe5tw3Yvm/3cVZvAzlkEEh2i+fkq2uKrf2xn5VmItBhMypA==}
+ peerDependencies:
+ unified: ^11
- vfile-message@4.0.3:
- resolution: { integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw== }
+ remark-mdx@3.0.1:
+ resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==}
- vfile@6.0.3:
- resolution: { integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== }
+ remark-mdx@3.1.0:
+ resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
- web-namespaces@2.0.1:
- resolution: { integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== }
+ remark-mdx@3.1.1:
+ resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==}
- webidl-conversions@3.0.1:
- resolution: { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== }
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
- whatwg-url@5.0.0:
- resolution: { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== }
+ remark-rehype@11.1.1:
+ resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
- which-boxed-primitive@1.1.1:
- resolution: { integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== }
- engines: { node: ">= 0.4" }
+ remark-smartypants@3.0.2:
+ resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==}
+ engines: {node: '>=16.0.0'}
- which-builtin-type@1.2.1:
- resolution: { integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== }
- engines: { node: ">= 0.4" }
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
- which-collection@1.0.2:
- resolution: { integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== }
- engines: { node: ">= 0.4" }
+ remark@15.0.1:
+ resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
- which-typed-array@1.1.21:
- resolution: { integrity: sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw== }
- engines: { node: ">= 0.4" }
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
- which@2.0.2:
- resolution: { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== }
- engines: { node: ">= 8" }
- hasBin: true
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
- widest-line@5.0.0:
- resolution: { integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA== }
- engines: { node: ">=18" }
-
- wrap-ansi@6.2.0:
- resolution: { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== }
- engines: { node: ">=8" }
+ reselect@5.3.0:
+ resolution: {integrity: sha512-XGoLeRAVzUTcJ1qkxPQhDJyIZ5d6zzZD9nT7AEZOaaU9UbWclhycElmhO+VD5bFeLuzhPBaOV2oXC8uG35ZSpg==}
- wrap-ansi@7.0.0:
- resolution: { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== }
- engines: { node: ">=10" }
-
- wrap-ansi@9.0.2:
- resolution: { integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== }
- engines: { node: ">=18" }
-
- wrappy@1.0.2:
- resolution: { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== }
+ resolve-alpn@1.2.1:
+ resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
- ws@8.20.1:
- resolution: { integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w== }
- engines: { node: ">=10.0.0" }
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ">=5.0.2"
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
- ws@8.21.0:
- resolution: { integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g== }
- engines: { node: ">=10.0.0" }
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ">=5.0.2"
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
-
- xml-naming@0.3.0:
- resolution: { integrity: sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ== }
- engines: { node: ">=16.0.0" }
-
- xml2js@0.6.2:
- resolution: { integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== }
- engines: { node: ">=4.0.0" }
-
- xmlbuilder@11.0.1:
- resolution: { integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== }
- engines: { node: ">=4.0" }
-
- xss@1.0.15:
- resolution: { integrity: sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg== }
- engines: { node: ">= 0.10.0" }
- hasBin: true
-
- y18n@5.0.8:
- resolution: { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== }
- engines: { node: ">=10" }
-
- yallist@5.0.0:
- resolution: { integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== }
- engines: { node: ">=18" }
-
- yaml@2.9.0:
- resolution: { integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA== }
- engines: { node: ">= 14.6" }
- hasBin: true
-
- yargs-parser@21.1.1:
- resolution: { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== }
- engines: { node: ">=12" }
-
- yargs@17.7.1:
- resolution: { integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== }
- engines: { node: ">=12" }
-
- yargs@17.7.2:
- resolution: { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== }
- engines: { node: ">=12" }
-
- yauzl@2.10.0:
- resolution: { integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== }
-
- yoctocolors-cjs@2.1.3:
- resolution: { integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw== }
- engines: { node: ">=18" }
-
- yoga-layout@3.2.1:
- resolution: { integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ== }
-
- zod-to-json-schema@3.20.4:
- resolution: { integrity: sha512-Un9+kInJ2Zt63n6Z7mLqBifzzPcOyX+b+Exuzf7L1+xqck9Q2EPByyTRduV3kmSPaXaRer1JCsucubpgL1fipg== }
- peerDependencies:
- zod: ^3.20.0
-
- zod-to-json-schema@3.25.2:
- resolution: { integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA== }
- peerDependencies:
- zod: ^3.25.28 || ^4
-
- zod@3.24.0:
- resolution: { integrity: sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w== }
-
- zod@3.25.76:
- resolution: { integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== }
-
- zod@4.3.6:
- resolution: { integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg== }
-
- zwitch@2.0.4:
- resolution: { integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== }
+ resolve@1.22.12:
+ resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
-snapshots:
- "@alcalzone/ansi-tokenize@0.2.5":
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 5.1.0
+ responselike@3.0.0:
+ resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
+ engines: {node: '>=14.16'}
- "@alloc/quick-lru@5.2.0": {}
+ restore-cursor@4.0.0:
+ resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- "@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.241":
- optional: true
+ retext-latin@4.0.0:
+ resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
- "@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.241":
- optional: true
+ retext-smartypants@6.2.0:
+ resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==}
- "@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.241":
- optional: true
+ retext-stringify@4.0.0:
+ resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==}
- "@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.241":
- optional: true
+ retext@9.0.0:
+ resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==}
- "@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.241":
- optional: true
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- "@anthropic-ai/claude-agent-sdk-linux-x64@0.3.241":
- optional: true
+ router@2.2.0:
+ resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
+ engines: {node: '>= 18'}
- "@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.241":
- optional: true
+ run-async@3.0.0:
+ resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==}
+ engines: {node: '>=0.12.0'}
- "@anthropic-ai/claude-agent-sdk-win32-x64@0.3.241":
- optional: true
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- "@anthropic-ai/claude-agent-sdk@0.3.241(@anthropic-ai/sdk@0.120.0(zod@4.3.6))(@modelcontextprotocol/sdk@1.30.0(zod@4.3.6))(zod@4.3.6)":
- dependencies:
- "@anthropic-ai/sdk": 0.120.0(zod@4.3.6)
- "@modelcontextprotocol/sdk": 1.30.0(zod@4.3.6)
- zod: 4.3.6
- optionalDependencies:
- "@anthropic-ai/claude-agent-sdk-darwin-arm64": 0.3.241
- "@anthropic-ai/claude-agent-sdk-darwin-x64": 0.3.241
- "@anthropic-ai/claude-agent-sdk-linux-arm64": 0.3.241
- "@anthropic-ai/claude-agent-sdk-linux-arm64-musl": 0.3.241
- "@anthropic-ai/claude-agent-sdk-linux-x64": 0.3.241
- "@anthropic-ai/claude-agent-sdk-linux-x64-musl": 0.3.241
- "@anthropic-ai/claude-agent-sdk-win32-arm64": 0.3.241
- "@anthropic-ai/claude-agent-sdk-win32-x64": 0.3.241
- optional: true
+ rxjs@7.8.2:
+ resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
- "@anthropic-ai/sdk@0.120.0(zod@4.3.6)":
- dependencies:
- json-schema-to-ts: 3.1.1
- standardwebhooks: 1.1.1
- optionalDependencies:
- zod: 4.3.6
- optional: true
+ safe-array-concat@1.1.4:
+ resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==}
+ engines: {node: '>=0.4'}
- "@apidevtools/json-schema-ref-parser@15.3.6(@types/json-schema@7.0.15)":
- dependencies:
- "@types/json-schema": 7.0.15
- js-yaml: 4.3.2
-
- "@apidevtools/openapi-schemas@2.1.0": {}
-
- "@apidevtools/swagger-methods@3.0.2": {}
-
- "@apidevtools/swagger-parser@13.0.0(openapi-types@12.1.3)":
- dependencies:
- "@apidevtools/json-schema-ref-parser": 15.3.6(@types/json-schema@7.0.15)
- "@apidevtools/openapi-schemas": 2.1.0
- "@apidevtools/swagger-methods": 3.0.2
- "@types/json-schema": 7.0.15
- ajv: 8.20.0
- ajv-draft-04: 1.0.0(ajv@8.20.0)
- call-me-maybe: 1.0.2
- openapi-types: 12.1.3
-
- "@ark/schema@0.56.0":
- dependencies:
- "@ark/util": 0.56.0
-
- "@ark/util@0.56.0": {}
-
- "@asyncapi/parser@3.4.0":
- dependencies:
- "@asyncapi/specs": 6.8.1
- "@openapi-contrib/openapi-schema-to-json-schema": 3.2.0
- "@stoplight/json": 3.21.0
- "@stoplight/json-ref-readers": 1.2.2
- "@stoplight/json-ref-resolver": 3.1.6
- "@stoplight/spectral-core": 1.23.0
- "@stoplight/spectral-functions": 1.10.2
- "@stoplight/spectral-parsers": 1.0.5
- "@stoplight/spectral-ref-resolver": 1.0.5
- "@stoplight/types": 13.20.0
- "@types/json-schema": 7.0.15
- "@types/urijs": 1.19.26
- ajv: 8.20.0
- ajv-errors: 3.0.0(ajv@8.20.0)
- ajv-formats: 2.1.1(ajv@8.20.0)
- avsc: 5.7.9
- js-yaml: 4.3.2
- jsonpath-plus: 10.4.0
- node-fetch: 2.6.7
- transitivePeerDependencies:
- - encoding
-
- "@asyncapi/specs@6.8.1":
- dependencies:
- "@types/json-schema": 7.0.15
-
- "@babel/code-frame@7.29.7":
- dependencies:
- "@babel/helper-validator-identifier": 7.29.7
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
- "@babel/helper-validator-identifier@7.29.7": {}
-
- "@babel/runtime@7.29.7": {}
-
- "@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)":
- dependencies:
- "@babel/runtime": 7.29.7
- "@base-ui/utils": 0.4.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- "@floating-ui/react-dom": 2.1.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- "@floating-ui/utils": 0.2.12
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- use-sync-external-store: 1.6.0(react@19.2.3)
- optionalDependencies:
- "@types/react": 19.2.14
-
- "@base-ui/utils@0.4.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)":
- dependencies:
- "@babel/runtime": 7.29.7
- "@floating-ui/utils": 0.2.12
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- reselect: 5.3.0
- use-sync-external-store: 1.6.0(react@19.2.3)
- optionalDependencies:
- "@types/react": 19.2.14
-
- "@bonyanoss/bonyan-api@1.0.2": {}
-
- "@canvas/image-data@1.1.0": {}
-
- "@emnapi/runtime@1.10.0":
- dependencies:
- tslib: 2.8.1
- optional: true
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- "@floating-ui/core@1.8.0":
- dependencies:
- "@floating-ui/utils": 0.2.12
+ safe-push-apply@1.0.0:
+ resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
+ engines: {node: '>= 0.4'}
- "@floating-ui/dom@1.8.0":
- dependencies:
- "@floating-ui/core": 1.8.0
- "@floating-ui/utils": 0.2.12
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+ engines: {node: '>= 0.4'}
- "@floating-ui/react-dom@2.1.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)":
- dependencies:
- "@floating-ui/dom": 1.8.0
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
+ safe-stable-stringify@1.1.1:
+ resolution: {integrity: sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==}
- "@floating-ui/utils@0.2.12": {}
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- "@hono/node-server@2.1.1(hono@4.13.7)":
- dependencies:
- hono: 4.13.7
- optional: true
+ sax@1.6.0:
+ resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
+ engines: {node: '>=11.0.0'}
- "@img/sharp-darwin-arm64@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-darwin-arm64": 1.0.4
- optional: true
+ scheduler@0.26.0:
+ resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
- "@img/sharp-darwin-x64@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-darwin-x64": 1.0.4
- optional: true
+ scheduler@0.27.0:
+ resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
- "@img/sharp-libvips-darwin-arm64@1.0.4":
- optional: true
+ semver@7.7.2:
+ resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ engines: {node: '>=10'}
+ hasBin: true
- "@img/sharp-libvips-darwin-x64@1.0.4":
- optional: true
+ send@0.19.2:
+ resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==}
+ engines: {node: '>= 0.8.0'}
- "@img/sharp-libvips-linux-arm64@1.0.4":
- optional: true
+ send@1.2.1:
+ resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
+ engines: {node: '>= 18'}
- "@img/sharp-libvips-linux-arm@1.0.5":
- optional: true
+ serialize-error@13.0.1:
+ resolution: {integrity: sha512-bBZaRwLH9PN5HbLCjPId4dP5bNGEtumcErgOX952IsvOhVPrm3/AeK1y0UHA/QaPG701eg0yEnOKsCOC6X/kaA==}
+ engines: {node: '>=20'}
- "@img/sharp-libvips-linux-s390x@1.0.4":
- optional: true
+ serve-static@1.16.3:
+ resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==}
+ engines: {node: '>= 0.8.0'}
- "@img/sharp-libvips-linux-x64@1.0.4":
- optional: true
+ serve-static@2.2.1:
+ resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}
+ engines: {node: '>= 18'}
- "@img/sharp-libvips-linuxmusl-arm64@1.0.4":
- optional: true
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
- "@img/sharp-libvips-linuxmusl-x64@1.0.4":
- optional: true
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
- "@img/sharp-linux-arm64@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-linux-arm64": 1.0.4
- optional: true
+ set-proto@1.0.0:
+ resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
+ engines: {node: '>= 0.4'}
- "@img/sharp-linux-arm@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-linux-arm": 1.0.5
- optional: true
+ setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
- "@img/sharp-linux-s390x@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-linux-s390x": 1.0.4
- optional: true
+ sharp-ico@0.1.5:
+ resolution: {integrity: sha512-a3jODQl82NPp1d5OYb0wY+oFaPk7AvyxipIowCHk7pBsZCWgbe0yAkU2OOXdoH0ENyANhyOQbs9xkAiRHcF02Q==}
- "@img/sharp-linux-x64@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-linux-x64": 1.0.4
- optional: true
+ sharp@0.33.5:
+ resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
- "@img/sharp-linuxmusl-arm64@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-linuxmusl-arm64": 1.0.4
- optional: true
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
- "@img/sharp-linuxmusl-x64@0.33.5":
- optionalDependencies:
- "@img/sharp-libvips-linuxmusl-x64": 1.0.4
- optional: true
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
- "@img/sharp-wasm32@0.33.5":
- dependencies:
- "@emnapi/runtime": 1.10.0
- optional: true
+ shiki@3.23.0:
+ resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==}
- "@img/sharp-win32-ia32@0.33.5":
- optional: true
+ side-channel-list@1.0.1:
+ resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==}
+ engines: {node: '>= 0.4'}
- "@img/sharp-win32-x64@0.33.5":
- optional: true
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
- "@inquirer/ansi@1.0.2": {}
-
- "@inquirer/checkbox@4.3.2(@types/node@25.9.1)":
- dependencies:
- "@inquirer/ansi": 1.0.2
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/figures": 1.0.15
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- yoctocolors-cjs: 2.1.3
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/confirm@5.1.21(@types/node@25.9.1)":
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/core@10.3.2(@types/node@25.9.1)":
- dependencies:
- "@inquirer/ansi": 1.0.2
- "@inquirer/figures": 1.0.15
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- cli-width: 4.1.0
- mute-stream: 2.0.0
- signal-exit: 4.1.0
- wrap-ansi: 6.2.0
- yoctocolors-cjs: 2.1.3
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/editor@4.2.23(@types/node@25.9.1)":
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/external-editor": 1.0.3(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/expand@4.0.23(@types/node@25.9.1)":
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- yoctocolors-cjs: 2.1.3
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/external-editor@1.0.3(@types/node@25.9.1)":
- dependencies:
- chardet: 2.1.1
- iconv-lite: 0.7.2
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/figures@1.0.15": {}
-
- "@inquirer/input@4.3.1(@types/node@25.9.1)":
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/number@3.0.23(@types/node@25.9.1)":
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/password@4.0.23(@types/node@25.9.1)":
- dependencies:
- "@inquirer/ansi": 1.0.2
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/prompts@7.9.0(@types/node@25.9.1)":
- dependencies:
- "@inquirer/checkbox": 4.3.2(@types/node@25.9.1)
- "@inquirer/confirm": 5.1.21(@types/node@25.9.1)
- "@inquirer/editor": 4.2.23(@types/node@25.9.1)
- "@inquirer/expand": 4.0.23(@types/node@25.9.1)
- "@inquirer/input": 4.3.1(@types/node@25.9.1)
- "@inquirer/number": 3.0.23(@types/node@25.9.1)
- "@inquirer/password": 4.0.23(@types/node@25.9.1)
- "@inquirer/rawlist": 4.1.11(@types/node@25.9.1)
- "@inquirer/search": 3.2.2(@types/node@25.9.1)
- "@inquirer/select": 4.4.2(@types/node@25.9.1)
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/rawlist@4.1.11(@types/node@25.9.1)":
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- yoctocolors-cjs: 2.1.3
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/search@3.2.2(@types/node@25.9.1)":
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/figures": 1.0.15
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- yoctocolors-cjs: 2.1.3
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/select@4.4.2(@types/node@25.9.1)":
- dependencies:
- "@inquirer/ansi": 1.0.2
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/figures": 1.0.15
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- yoctocolors-cjs: 2.1.3
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@inquirer/type@3.0.10(@types/node@25.9.1)":
- optionalDependencies:
- "@types/node": 25.9.1
-
- "@isaacs/fs-minipass@4.0.1":
- dependencies:
- minipass: 7.1.3
-
- "@jridgewell/gen-mapping@0.3.13":
- dependencies:
- "@jridgewell/sourcemap-codec": 1.5.5
- "@jridgewell/trace-mapping": 0.3.31
-
- "@jridgewell/resolve-uri@3.1.2": {}
-
- "@jridgewell/sourcemap-codec@1.5.5": {}
-
- "@jridgewell/trace-mapping@0.3.31":
- dependencies:
- "@jridgewell/resolve-uri": 3.1.2
- "@jridgewell/sourcemap-codec": 1.5.5
-
- "@jsep-plugin/assignment@1.3.0(jsep@1.4.0)":
- dependencies:
- jsep: 1.4.0
-
- "@jsep-plugin/regex@1.0.4(jsep@1.4.0)":
- dependencies:
- jsep: 1.4.0
-
- "@jsep-plugin/ternary@1.1.4(jsep@1.4.0)":
- dependencies:
- jsep: 1.4.0
-
- "@leichtgewicht/ip-codec@2.0.5": {}
-
- "@mdx-js/mdx@3.1.1":
- dependencies:
- "@types/estree": 1.0.9
- "@types/estree-jsx": 1.0.5
- "@types/hast": 3.0.4
- "@types/mdx": 2.0.13
- acorn: 8.11.2
- collapse-white-space: 2.1.0
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- estree-util-scope: 1.0.0
- estree-walker: 3.0.3
- hast-util-to-jsx-runtime: 2.3.6
- markdown-extensions: 2.0.0
- recma-build-jsx: 1.0.0
- recma-jsx: 1.0.1(acorn@8.11.2)
- recma-stringify: 1.0.0
- rehype-recma: 1.0.0
- remark-mdx: 3.1.0
- remark-parse: 11.0.0
- remark-rehype: 11.1.1
- source-map: 0.7.6
- unified: 11.0.5
- unist-util-position-from-estree: 2.0.0
- unist-util-stringify-position: 4.0.0
- unist-util-visit: 5.0.0
- vfile: 6.0.3
- transitivePeerDependencies:
- - supports-color
-
- "@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.3)":
- dependencies:
- "@types/mdx": 2.0.14
- "@types/react": 19.2.14
- react: 19.2.3
-
- "@mintlify/cli@4.0.1479(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)":
- dependencies:
- "@inquirer/prompts": 7.9.0(@types/node@25.9.1)
- "@mintlify/common": 1.0.1132(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/link-rot": 3.0.1334(patch_hash=d26576946b6c3cdb6312a07b237398d0557e9a9970db114df92d0c395c0f76b2)(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/models": 0.0.353
- "@mintlify/prebuild": 1.0.1286(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/previewing": 4.0.1358(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
- "@mintlify/validation": 0.1.849(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- adm-zip: 0.6.0
- chalk: 5.2.0
- color: 4.2.3
- detect-port: 1.5.1
- fs-extra: 11.2.0
- ink: 6.3.0(@types/react@19.2.14)(react@19.2.3)
- inquirer: 12.3.0(@types/node@25.9.1)
- js-yaml: 4.3.1
- jsonc-parser: 3.3.1
- mdast-util-mdx-jsx: 3.2.0
- open: 8.4.2
- openid-client: 6.8.2
- posthog-node: 5.17.2
- prosemirror-model: 1.25.11
- react: 19.2.3
- remark: 15.0.1
- remark-frontmatter: 5.0.0
- remark-gfm: 4.0.1
- remark-math: 6.0.0
- remark-mdx: 3.1.1
- remark-stringify: 11.0.0
- unified: 11.0.5
- unist-util-visit: 5.0.0
- yaml: 2.9.0
- yargs: 17.7.1
- zod: 4.3.6
- optionalDependencies:
- "@anthropic-ai/claude-agent-sdk": 0.3.241(@anthropic-ai/sdk@0.120.0(zod@4.3.6))(@modelcontextprotocol/sdk@1.30.0(zod@4.3.6))(zod@4.3.6)
- "@anthropic-ai/sdk": 0.120.0(zod@4.3.6)
- "@modelcontextprotocol/sdk": 1.30.0(zod@4.3.6)
- "@openai/codex-sdk": 0.149.1
- keytar: 7.9.0
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@cfworker/json-schema"
- - "@types/node"
- - "@types/react"
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - debug
- - encoding
- - react-devtools-core
- - react-dom
- - react-native-b4a
- - supports-color
- - ts-node
- - typescript
- - utf-8-validate
-
- "@mintlify/common@1.0.1132(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)":
- dependencies:
- "@asyncapi/parser": 3.4.0
- "@mintlify/mdx": 4.0.2(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/models": 0.0.353
- "@mintlify/openapi-parser": 0.0.8
- "@mintlify/validation": 0.1.849(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@sindresorhus/slugify": 2.2.0
- "@types/mdast": 4.0.4
- acorn: 8.11.2
- acorn-jsx: 5.3.2(acorn@8.11.2)
- estree-util-to-js: 2.0.0
- estree-walker: 3.0.3
- front-matter: 4.0.2
- hast-util-from-html: 2.0.3
- hast-util-to-estree: 3.1.0
- hast-util-to-html: 9.0.4
- ignore: 7.0.5
- iregexp-check: 0.1.2
- js-yaml: 4.3.1
- json-p3: 2.2.2
- lodash: 4.18.1
- mdast-util-from-markdown: 2.0.2
- mdast-util-gfm: 3.0.0
- mdast-util-mdx: 3.0.0
- mdast-util-mdx-jsx: 3.1.3
- micromark-extension-gfm: 3.0.0
- micromark-extension-mdxjs: 3.0.0
- openapi-types: 12.1.3
- postcss: 8.5.23
- re2js: 2.8.6
- rehype-katex: 7.0.1
- rehype-stringify: 10.0.1
- remark: 15.0.1
- remark-frontmatter: 5.0.0
- remark-gfm: 4.0.0
- remark-math: 6.0.0
- remark-mdx: 3.1.0
- remark-parse: 11.0.0
- remark-rehype: 11.1.1
- remark-smartypants: 3.0.2
- remark-stringify: 11.0.0
- sucrase: 3.34.0
- tailwindcss-v3: tailwindcss@3.4.17
- unified: 11.0.5
- unist-builder: 4.0.0
- unist-util-map: 4.0.0
- unist-util-remove: 4.0.0
- unist-util-remove-position: 5.0.0
- unist-util-visit: 5.0.0
- unist-util-visit-parents: 6.0.1
- vfile: 6.0.3
- xss: 1.0.15
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@types/react"
- - debug
- - encoding
- - react
- - react-dom
- - supports-color
- - ts-node
- - typescript
-
- "@mintlify/link-rot@3.0.1334(patch_hash=d26576946b6c3cdb6312a07b237398d0557e9a9970db114df92d0c395c0f76b2)(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)":
- dependencies:
- "@mintlify/common": 1.0.1132(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/models": 0.0.353
- "@mintlify/prebuild": 1.0.1286(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/previewing": 4.0.1358(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
- "@mintlify/scraping": 4.0.1000(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/validation": 0.1.849(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- fs-extra: 11.1.0
- unist-util-visit: 4.1.2
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@types/react"
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - debug
- - encoding
- - react
- - react-devtools-core
- - react-dom
- - react-native-b4a
- - supports-color
- - ts-node
- - typescript
- - utf-8-validate
-
- "@mintlify/mdx@4.0.2(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)":
- dependencies:
- "@base-ui/react": 1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- "@shikijs/transformers": 3.23.0
- "@shikijs/twoslash": 3.23.0(typescript@6.0.3)
- arktype: 2.2.0
- hast-util-to-string: 3.0.1
- mdast-util-from-markdown: 2.0.3
- mdast-util-gfm: 3.1.0
- mdast-util-mdx-jsx: 3.2.0
- mdast-util-to-hast: 13.2.1
- next-mdx-remote-client: 2.1.12(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(unified@11.0.5)
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- rehype-katex: 7.0.1
- remark-gfm: 4.0.1
- remark-math: 6.0.0
- remark-smartypants: 3.0.2
- shiki: 3.23.0
- twoslash: 0.3.8(typescript@6.0.3)
- unified: 11.0.5
- unist-util-visit: 5.0.0
- transitivePeerDependencies:
- - "@types/react"
- - supports-color
- - typescript
-
- "@mintlify/models@0.0.353":
- dependencies:
- axios: 1.18.0
- openapi-types: 12.1.3
- transitivePeerDependencies:
- - debug
- - supports-color
-
- "@mintlify/openapi-parser@0.0.8":
- dependencies:
- ajv: 8.20.0
- ajv-draft-04: 1.0.0(ajv@8.20.0)
- ajv-formats: 3.0.1(ajv@8.20.0)
- jsonpointer: 5.0.1
- leven: 4.1.0
- yaml: 2.9.0
-
- "@mintlify/prebuild@1.0.1286(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)":
- dependencies:
- "@mintlify/common": 1.0.1132(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/scraping": 4.0.1000(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/validation": 0.1.849(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- chalk: 5.3.0
- favicons: 7.2.0
- fflate: 0.8.3
- fs-extra: 11.1.0
- js-yaml: 4.3.1
- openapi-types: 12.1.3
- sharp: 0.33.5
- sharp-ico: 0.1.5
- uuid: 11.1.1
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@types/react"
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - debug
- - encoding
- - react
- - react-dom
- - react-native-b4a
- - supports-color
- - ts-node
- - typescript
- - utf-8-validate
-
- "@mintlify/previewing@4.0.1358(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)":
- dependencies:
- "@mintlify/common": 1.0.1132(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/prebuild": 1.0.1286(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/validation": 0.1.849(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- adm-zip: 0.6.0
- better-opn: 3.0.2
- chalk: 5.2.0
- chokidar: 3.5.3
- express: 4.22.0
- fs-extra: 11.1.0
- got: 13.0.0
- ink: 6.3.0(@types/react@19.2.14)(react@19.2.3)
- ink-spinner: 5.0.0(ink@6.3.0(@types/react@19.2.14)(react@19.2.3))(react@19.2.3)
- is-online: 10.0.0
- js-yaml: 4.3.1
- react: 19.2.3
- socket.io: 4.8.0
- tar: 7.5.21
- yargs: 17.7.1
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@types/react"
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - debug
- - encoding
- - react-devtools-core
- - react-dom
- - react-native-b4a
- - supports-color
- - ts-node
- - typescript
- - utf-8-validate
-
- "@mintlify/scraping@4.0.1000(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)":
- dependencies:
- "@mintlify/common": 1.0.1132(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- fast-xml-parser: 5.7.3
- fs-extra: 11.1.1
- graphql: 16.11.0
- hast-util-to-mdast: 10.1.0
- js-yaml: 4.3.1
- mdast-util-mdx-jsx: 3.1.3
- neotraverse: 0.6.18
- puppeteer: 24.3.1(typescript@6.0.3)
- rehype-parse: 9.0.1
- remark-gfm: 4.0.0
- remark-mdx: 3.0.1
- remark-parse: 11.0.0
- remark-stringify: 11.0.0
- unified: 11.0.5
- unist-util-visit: 5.0.0
- yargs: 17.7.1
- zod: 3.24.0
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@types/react"
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - debug
- - encoding
- - react
- - react-dom
- - react-native-b4a
- - supports-color
- - ts-node
- - typescript
- - utf-8-validate
-
- "@mintlify/validation@0.1.849(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)":
- dependencies:
- "@mintlify/mdx": 4.0.2(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
- "@mintlify/models": 0.0.353
- fractional-indexing: 3.2.0
- js-yaml: 4.3.1
- lcm: 0.0.3
- lodash: 4.18.1
- neotraverse: 0.6.18
- object-hash: 3.0.0
- openapi-types: 12.1.3
- uuid: 11.1.1
- zod: 3.24.0
- zod-to-json-schema: 3.20.4(zod@3.24.0)
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@types/react"
- - debug
- - react
- - react-dom
- - supports-color
- - typescript
-
- "@modelcontextprotocol/sdk@1.30.0(zod@4.3.6)":
- dependencies:
- "@hono/node-server": 2.1.1(hono@4.13.7)
- ajv: 8.20.0
- ajv-formats: 3.0.1(ajv@8.20.0)
- content-type: 1.0.5
- cors: 2.8.6
- cross-spawn: 7.0.6
- eventsource: 3.0.7
- eventsource-parser: 3.1.1
- express: 5.2.1
- express-rate-limit: 8.7.0(express@5.2.1)
- hono: 4.13.7
- jose: 6.2.3
- json-schema-typed: 8.0.2
- pkce-challenge: 5.0.1
- raw-body: 3.0.2
- zod: 4.3.6
- zod-to-json-schema: 3.25.2(zod@4.3.6)
- transitivePeerDependencies:
- - supports-color
- optional: true
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
- "@nodable/entities@2.2.0": {}
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+ engines: {node: '>= 0.4'}
- "@nodelib/fs.scandir@2.1.5":
- dependencies:
- "@nodelib/fs.stat": 2.0.5
- run-parallel: 1.2.0
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- "@nodelib/fs.stat@2.0.5": {}
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
- "@nodelib/fs.walk@1.2.8":
- dependencies:
- "@nodelib/fs.scandir": 2.1.5
- fastq: 1.20.1
+ simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
- "@openai/codex-sdk@0.149.1":
- dependencies:
- "@openai/codex": 0.149.1
- optional: true
+ simple-get@4.0.1:
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
- "@openai/codex@0.149.1":
- optionalDependencies:
- "@openai/codex-darwin-arm64": "@openai/codex@0.149.1-darwin-arm64"
- "@openai/codex-darwin-x64": "@openai/codex@0.149.1-darwin-x64"
- "@openai/codex-linux-arm64": "@openai/codex@0.149.1-linux-arm64"
- "@openai/codex-linux-x64": "@openai/codex@0.149.1-linux-x64"
- "@openai/codex-win32-arm64": "@openai/codex@0.149.1-win32-arm64"
- "@openai/codex-win32-x64": "@openai/codex@0.149.1-win32-x64"
- optional: true
+ simple-swizzle@0.2.4:
+ resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==}
- "@openai/codex@0.149.1-darwin-arm64":
- optional: true
+ slice-ansi@5.0.0:
+ resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
+ engines: {node: '>=12'}
- "@openai/codex@0.149.1-darwin-x64":
- optional: true
+ slice-ansi@7.1.2:
+ resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
+ engines: {node: '>=18'}
- "@openai/codex@0.149.1-linux-arm64":
- optional: true
+ smart-buffer@4.2.0:
+ resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
+ engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
- "@openai/codex@0.149.1-linux-x64":
- optional: true
+ socket.io-adapter@2.5.7:
+ resolution: {integrity: sha512-e0LyK91f3cUxTmv95/KzoLg47+zF+s/sbxRGDNsyG4dmIP8ZSX8ax6byOxfJXeNNtS/8AZlfD+uP7gBeR7DLlg==}
- "@openai/codex@0.149.1-win32-arm64":
- optional: true
+ socket.io-parser@4.2.6:
+ resolution: {integrity: sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==}
+ engines: {node: '>=10.0.0'}
- "@openai/codex@0.149.1-win32-x64":
- optional: true
+ socket.io@4.8.0:
+ resolution: {integrity: sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==}
+ engines: {node: '>=10.2.0'}
- "@openapi-contrib/openapi-schema-to-json-schema@3.2.0":
- dependencies:
- fast-deep-equal: 3.1.3
-
- "@posthog/core@1.7.1":
- dependencies:
- cross-spawn: 7.0.6
-
- "@puppeteer/browsers@2.7.1":
- dependencies:
- debug: 4.4.3
- extract-zip: 2.0.1
- progress: 2.0.3
- proxy-agent: 6.5.0
- semver: 7.7.2
- tar-fs: 3.1.2
- yargs: 17.7.2
- transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- - react-native-b4a
- - supports-color
-
- "@shikijs/core@3.23.0":
- dependencies:
- "@shikijs/types": 3.23.0
- "@shikijs/vscode-textmate": 10.0.2
- "@types/hast": 3.0.4
- hast-util-to-html: 9.0.5
-
- "@shikijs/engine-javascript@3.23.0":
- dependencies:
- "@shikijs/types": 3.23.0
- "@shikijs/vscode-textmate": 10.0.2
- oniguruma-to-es: 4.3.6
-
- "@shikijs/engine-oniguruma@3.23.0":
- dependencies:
- "@shikijs/types": 3.23.0
- "@shikijs/vscode-textmate": 10.0.2
-
- "@shikijs/langs@3.23.0":
- dependencies:
- "@shikijs/types": 3.23.0
-
- "@shikijs/themes@3.23.0":
- dependencies:
- "@shikijs/types": 3.23.0
-
- "@shikijs/transformers@3.23.0":
- dependencies:
- "@shikijs/core": 3.23.0
- "@shikijs/types": 3.23.0
-
- "@shikijs/twoslash@3.23.0(typescript@6.0.3)":
- dependencies:
- "@shikijs/core": 3.23.0
- "@shikijs/types": 3.23.0
- twoslash: 0.3.8(typescript@6.0.3)
- typescript: 6.0.3
- transitivePeerDependencies:
- - supports-color
-
- "@shikijs/types@3.23.0":
- dependencies:
- "@shikijs/vscode-textmate": 10.0.2
- "@types/hast": 3.0.4
-
- "@shikijs/vscode-textmate@10.0.2": {}
-
- "@sindresorhus/is@5.6.0": {}
-
- "@sindresorhus/slugify@2.2.0":
- dependencies:
- "@sindresorhus/transliterate": 1.6.0
- escape-string-regexp: 5.0.0
-
- "@sindresorhus/transliterate@1.6.0":
- dependencies:
- escape-string-regexp: 5.0.0
-
- "@socket.io/component-emitter@3.1.2": {}
-
- "@stablelib/base64@1.0.1":
- optional: true
+ socks-proxy-agent@8.0.5:
+ resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
+ engines: {node: '>= 14'}
- "@stoplight/better-ajv-errors@1.0.3(ajv@8.20.0)":
- dependencies:
- ajv: 8.20.0
- jsonpointer: 5.0.1
- leven: 3.1.0
-
- "@stoplight/json-ref-readers@1.2.2":
- dependencies:
- node-fetch: 2.7.0
- tslib: 1.14.1
- transitivePeerDependencies:
- - encoding
-
- "@stoplight/json-ref-resolver@3.1.6":
- dependencies:
- "@stoplight/json": 3.21.0
- "@stoplight/path": 1.3.2
- "@stoplight/types": 13.20.0
- "@types/urijs": 1.19.26
- dependency-graph: 0.11.0
- fast-memoize: 2.5.2
- immer: 9.0.21
- lodash: 4.18.1
- tslib: 2.8.1
- urijs: 1.19.11
-
- "@stoplight/json@3.21.0":
- dependencies:
- "@stoplight/ordered-object-literal": 1.0.5
- "@stoplight/path": 1.3.2
- "@stoplight/types": 13.20.0
- jsonc-parser: 2.2.1
- lodash: 4.18.1
- safe-stable-stringify: 1.1.1
-
- "@stoplight/ordered-object-literal@1.0.5": {}
-
- "@stoplight/path@1.3.2": {}
-
- "@stoplight/spectral-core@1.23.0":
- dependencies:
- "@stoplight/better-ajv-errors": 1.0.3(ajv@8.20.0)
- "@stoplight/json": 3.21.0
- "@stoplight/path": 1.3.2
- "@stoplight/spectral-parsers": 1.0.5
- "@stoplight/spectral-ref-resolver": 1.0.5
- "@stoplight/spectral-runtime": 1.1.5
- "@stoplight/types": 13.6.0
- "@types/es-aggregate-error": 1.0.6
- "@types/json-schema": 7.0.15
- ajv: 8.20.0
- ajv-errors: 3.0.0(ajv@8.20.0)
- ajv-formats: 2.1.1(ajv@8.20.0)
- es-aggregate-error: 1.0.14
- expr-eval-fork: 3.0.3
- jsonpath-plus: 10.4.0
- lodash: 4.18.1
- lodash.topath: 4.5.2
- minimatch: 3.1.5
- nimma: 0.2.3
- pony-cause: 1.1.1
- tslib: 2.8.1
- transitivePeerDependencies:
- - encoding
-
- "@stoplight/spectral-formats@1.8.2":
- dependencies:
- "@stoplight/json": 3.21.0
- "@stoplight/spectral-core": 1.23.0
- "@types/json-schema": 7.0.15
- tslib: 2.8.1
- transitivePeerDependencies:
- - encoding
-
- "@stoplight/spectral-functions@1.10.2":
- dependencies:
- "@stoplight/better-ajv-errors": 1.0.3(ajv@8.20.0)
- "@stoplight/json": 3.21.0
- "@stoplight/spectral-core": 1.23.0
- "@stoplight/spectral-formats": 1.8.2
- "@stoplight/spectral-runtime": 1.1.5
- ajv: 8.20.0
- ajv-draft-04: 1.0.0(ajv@8.20.0)
- ajv-errors: 3.0.0(ajv@8.20.0)
- ajv-formats: 2.1.1(ajv@8.20.0)
- lodash: 4.18.1
- tslib: 2.8.1
- transitivePeerDependencies:
- - encoding
-
- "@stoplight/spectral-parsers@1.0.5":
- dependencies:
- "@stoplight/json": 3.21.0
- "@stoplight/types": 14.1.1
- "@stoplight/yaml": 4.3.0
- tslib: 2.8.1
-
- "@stoplight/spectral-ref-resolver@1.0.5":
- dependencies:
- "@stoplight/json-ref-readers": 1.2.2
- "@stoplight/json-ref-resolver": 3.1.6
- "@stoplight/spectral-runtime": 1.1.5
- dependency-graph: 0.11.0
- tslib: 2.8.1
- transitivePeerDependencies:
- - encoding
-
- "@stoplight/spectral-runtime@1.1.5":
- dependencies:
- "@stoplight/json": 3.21.0
- "@stoplight/path": 1.3.2
- "@stoplight/types": 13.20.0
- abort-controller: 3.0.0
- lodash: 4.18.1
- node-fetch: 2.7.0
- tslib: 2.8.1
- transitivePeerDependencies:
- - encoding
-
- "@stoplight/types@13.20.0":
- dependencies:
- "@types/json-schema": 7.0.15
- utility-types: 3.11.0
-
- "@stoplight/types@13.6.0":
- dependencies:
- "@types/json-schema": 7.0.15
- utility-types: 3.11.0
-
- "@stoplight/types@14.1.1":
- dependencies:
- "@types/json-schema": 7.0.15
- utility-types: 3.11.0
-
- "@stoplight/yaml-ast-parser@0.0.50": {}
-
- "@stoplight/yaml@4.3.0":
- dependencies:
- "@stoplight/ordered-object-literal": 1.0.5
- "@stoplight/types": 14.1.1
- "@stoplight/yaml-ast-parser": 0.0.50
- tslib: 2.8.1
-
- "@szmarczak/http-timer@5.0.1":
- dependencies:
- defer-to-connect: 2.0.1
-
- "@tootallnate/quickjs-emscripten@0.23.0": {}
-
- "@types/acorn@4.0.6":
- dependencies:
- "@types/estree": 1.0.9
-
- "@types/cors@2.8.19":
- dependencies:
- "@types/node": 25.9.1
-
- "@types/debug@4.1.13":
- dependencies:
- "@types/ms": 2.1.0
-
- "@types/es-aggregate-error@1.0.6":
- dependencies:
- "@types/node": 25.9.1
-
- "@types/estree-jsx@1.0.5":
- dependencies:
- "@types/estree": 1.0.9
-
- "@types/estree@1.0.9": {}
-
- "@types/hast@3.0.4":
- dependencies:
- "@types/unist": 3.0.3
-
- "@types/http-cache-semantics@4.2.0": {}
-
- "@types/json-schema@7.0.15": {}
-
- "@types/katex@0.16.8": {}
-
- "@types/mdast@4.0.4":
- dependencies:
- "@types/unist": 3.0.3
-
- "@types/mdx@2.0.13": {}
+ socks@2.8.9:
+ resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==}
+ engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
- "@types/mdx@2.0.14": {}
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
- "@types/ms@2.1.0": {}
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
- "@types/nlcst@2.0.3":
- dependencies:
- "@types/unist": 3.0.3
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
- "@types/node@25.9.1":
- dependencies:
- undici-types: 7.24.6
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
- "@types/react@19.2.14":
- dependencies:
- csstype: 3.2.3
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- "@types/unist@2.0.11": {}
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
- "@types/unist@3.0.3": {}
+ standardwebhooks@1.1.1:
+ resolution: {integrity: sha512-bCbX9ZEyFkWPsRz7Bl3NuQUJohmwGSev/yhr7vhaGPlc4AfIrspIRa6cPTBuI1ItmrTDJ4d/S2hCsfe4+vQGnQ==}
- "@types/urijs@1.19.26": {}
+ statuses@2.0.2:
+ resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
+ engines: {node: '>= 0.8'}
- "@types/ws@8.18.1":
- dependencies:
- "@types/node": 25.9.1
+ stop-iteration-iterator@1.1.0:
+ resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
+ engines: {node: '>= 0.4'}
- "@types/yauzl@2.10.3":
- dependencies:
- "@types/node": 25.9.1
- optional: true
+ streamx@2.26.0:
+ resolution: {integrity: sha512-VvNG1K72Po/xwJzxZFnZ++Tbrv4lwSptsbkFuzXCJAYZvCK5nnxsvXU6ajqkv7chyiI1Y0YXq2Jh8Iy8Y7NF/A==}
- "@typescript/vfs@1.6.4(typescript@6.0.3)":
- dependencies:
- debug: 4.4.3
- typescript: 6.0.3
- transitivePeerDependencies:
- - supports-color
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
- "@ungap/structured-clone@1.3.1": {}
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
- abort-controller@3.0.0:
- dependencies:
- event-target-shim: 5.0.1
+ string.prototype.trim@1.2.10:
+ resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
+ engines: {node: '>= 0.4'}
- accepts@1.3.8:
- dependencies:
- mime-types: 2.1.35
- negotiator: 0.6.3
+ string.prototype.trimend@1.0.9:
+ resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
+ engines: {node: '>= 0.4'}
- accepts@2.0.0:
- dependencies:
- mime-types: 3.0.2
- negotiator: 1.1.0
- optional: true
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
- acorn-jsx@5.3.2(acorn@8.11.2):
- dependencies:
- acorn: 8.11.2
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
- acorn@8.11.2: {}
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
- address@1.2.2: {}
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
- adm-zip@0.6.0: {}
+ strip-ansi@7.2.0:
+ resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
+ engines: {node: '>=12'}
- agent-base@6.0.2:
- dependencies:
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
+ strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
- agent-base@7.1.4: {}
+ strnum@2.4.2:
+ resolution: {integrity: sha512-rDG3Ah4TV0k1hWvLSzkZtMmLN9+eS+h3knq4MP6A42Y3Yh5qGNnOUs1jJkoSr8FG5dsL28c7KgkIBzSEykqtuw==}
- aggregate-error@4.0.1:
- dependencies:
- clean-stack: 4.2.0
- indent-string: 5.0.0
+ style-to-js@1.1.21:
+ resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
- ajv-draft-04@1.0.0(ajv@8.20.0):
- optionalDependencies:
- ajv: 8.20.0
+ style-to-object@0.4.4:
+ resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
- ajv-errors@3.0.0(ajv@8.20.0):
- dependencies:
- ajv: 8.20.0
+ style-to-object@1.0.14:
+ resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
- ajv-formats@2.1.1(ajv@8.20.0):
- optionalDependencies:
- ajv: 8.20.0
+ sucrase@3.34.0:
+ resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
+ engines: {node: '>=8'}
+ hasBin: true
- ajv-formats@3.0.1(ajv@8.20.0):
- optionalDependencies:
- ajv: 8.20.0
+ sucrase@3.35.1:
+ resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
- ajv@8.20.0:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-uri: 3.1.2
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
- ansi-escapes@4.3.2:
- dependencies:
- type-fest: 0.21.3
+ tagged-tag@1.0.0:
+ resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==}
+ engines: {node: '>=20'}
- ansi-escapes@7.3.0:
- dependencies:
- environment: 1.1.0
+ tailwindcss@3.4.17:
+ resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
- ansi-regex@5.0.1: {}
+ tar-fs@2.1.4:
+ resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==}
- ansi-regex@6.2.2: {}
+ tar-fs@3.1.2:
+ resolution: {integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==}
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
+ tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
- ansi-styles@6.2.3: {}
+ tar-stream@3.2.0:
+ resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==}
- any-promise@1.3.0: {}
+ tar@7.5.21:
+ resolution: {integrity: sha512-XdhtCvlMywwxpCW8YEq3lOXBJpUPTR2OHHcwLPO3HwsJqOHa2Ok/oJ7ruGzp+JrKoRPVCzJwAdEjqLW/vNRPHA==}
+ engines: {node: '>=18'}
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.2
+ teex@1.0.1:
+ resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==}
- anynum@1.0.1: {}
+ text-decoder@1.2.7:
+ resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==}
- arg@5.0.2: {}
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
- argparse@1.0.10:
- dependencies:
- sprintf-js: 1.0.3
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
- argparse@2.0.1: {}
+ tinyglobby@0.2.17:
+ resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
+ engines: {node: '>=12.0.0'}
- arkregex@0.0.5:
- dependencies:
- "@ark/util": 0.56.0
+ to-data-view@1.1.0:
+ resolution: {integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==}
- arktype@2.2.0:
- dependencies:
- "@ark/schema": 0.56.0
- "@ark/util": 0.56.0
- arkregex: 0.0.5
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
- array-buffer-byte-length@1.0.2:
- dependencies:
- call-bound: 1.0.4
- is-array-buffer: 3.0.5
+ toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
- array-flatten@1.1.1: {}
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- array-iterate@2.0.1: {}
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
- arraybuffer.prototype.slice@1.0.4:
- dependencies:
- array-buffer-byte-length: 1.0.2
- call-bind: 1.0.9
- define-properties: 1.2.1
- es-abstract: 1.24.2
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- is-array-buffer: 3.0.5
+ trim-trailing-lines@2.1.0:
+ resolution: {integrity: sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==}
- ast-types@0.13.4:
- dependencies:
- tslib: 2.8.1
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- astring@1.9.0: {}
+ ts-algebra@2.0.0:
+ resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==}
- async-function@1.0.0: {}
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- asynckit@0.4.0: {}
+ tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
- auto-bind@5.0.1: {}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- available-typed-arrays@1.0.7:
- dependencies:
- possible-typed-array-names: 1.1.0
+ tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
- avsc@5.7.9: {}
+ twoslash-protocol@0.3.8:
+ resolution: {integrity: sha512-HmvAHoiEviK8LqvAQyc9/irkdvwTUiR1fHmNwH/0gq8EHxyBt4PWVPixjEXg6wJu1u6yBrILEWXGK9Kw58/8yQ==}
- axios@1.18.0:
- dependencies:
- follow-redirects: 1.16.0
- form-data: 4.0.5
- https-proxy-agent: 5.0.1
- proxy-from-env: 2.1.0
- transitivePeerDependencies:
- - debug
- - supports-color
+ twoslash@0.3.8:
+ resolution: {integrity: sha512-OeDz0kDl8sqPUN3nr7gqcvOs70f5lZsdhKYTX3/SgB9OvdadzzoYJI/4SBXhXV1HG8E9fLc+e17itoRYTxmoig==}
+ peerDependencies:
+ typescript: ^5.5.0 || ^6.0.0
- b4a@1.8.1: {}
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
- bail@2.0.2: {}
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+ engines: {node: '>=16'}
- balanced-match@1.0.2: {}
+ type-fest@5.7.0:
+ resolution: {integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==}
+ engines: {node: '>=20'}
- bare-events@2.9.1: {}
+ type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
- bare-fs@4.7.2:
- dependencies:
- bare-events: 2.9.1
- bare-path: 3.0.1
- bare-stream: 2.13.1(bare-events@2.9.1)
- bare-url: 2.4.3
- fast-fifo: 1.3.2
- transitivePeerDependencies:
- - bare-abort-controller
- - react-native-b4a
+ type-is@2.1.0:
+ resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==}
+ engines: {node: '>= 18'}
- bare-os@3.9.1: {}
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
+ engines: {node: '>= 0.4'}
- bare-path@3.0.1:
- dependencies:
- bare-os: 3.9.1
+ typed-array-byte-length@1.0.3:
+ resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
+ engines: {node: '>= 0.4'}
- bare-stream@2.13.1(bare-events@2.9.1):
- dependencies:
- streamx: 2.26.0
- teex: 1.0.1
- optionalDependencies:
- bare-events: 2.9.1
- transitivePeerDependencies:
- - react-native-b4a
+ typed-array-byte-offset@1.0.4:
+ resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
+ engines: {node: '>= 0.4'}
- bare-url@2.4.3:
- dependencies:
- bare-path: 3.0.1
+ typed-array-length@1.0.8:
+ resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==}
+ engines: {node: '>= 0.4'}
- base64-js@1.5.1:
- optional: true
+ typed-query-selector@2.12.2:
+ resolution: {integrity: sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==}
- base64id@2.0.0: {}
+ typescript@6.0.3:
+ resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
- basic-ftp@5.3.1: {}
+ unbox-primitive@1.1.0:
+ resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
+ engines: {node: '>= 0.4'}
- better-opn@3.0.2:
- dependencies:
- open: 8.4.2
+ undici-types@7.24.6:
+ resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==}
- binary-extensions@2.3.0: {}
+ undici@8.11.2:
+ resolution: {integrity: sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==}
+ engines: {node: '>=22.19.0'}
- bl@4.1.0:
- dependencies:
- buffer: 5.7.1
- inherits: 2.0.4
- readable-stream: 3.6.2
- optional: true
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
- body-parser@1.20.5:
- dependencies:
- bytes: 3.1.2
- content-type: 1.0.5
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- http-errors: 2.0.1
- iconv-lite: 0.4.24
- on-finished: 2.4.1
- qs: 6.15.2
- raw-body: 2.5.3
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
- body-parser@2.3.0:
- dependencies:
- bytes: 3.1.2
- content-type: 2.1.0
- debug: 4.4.3
- http-errors: 2.0.1
- iconv-lite: 0.7.2
- on-finished: 2.4.1
- qs: 6.15.2
- raw-body: 3.0.2
- type-is: 2.1.0
- transitivePeerDependencies:
- - supports-color
- optional: true
+ unist-builder@4.0.0:
+ resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==}
- brace-expansion@1.1.15:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
+ unist-util-is@5.2.1:
+ resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
- buffer-crc32@0.2.13: {}
+ unist-util-is@6.0.1:
+ resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
- buffer@5.7.1:
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
- optional: true
+ unist-util-map@4.0.0:
+ resolution: {integrity: sha512-HJs1tpkSmRJUzj6fskQrS5oYhBYlmtcvy4SepdDEEsL04FjBrgF0Mgggvxc1/qGBGgW7hRh9+UBK1aqTEnBpIA==}
- bytes@3.1.2: {}
+ unist-util-modify-children@4.0.0:
+ resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==}
- cacheable-lookup@7.0.0: {}
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
- cacheable-request@10.2.14:
- dependencies:
- "@types/http-cache-semantics": 4.2.0
- get-stream: 6.0.1
- http-cache-semantics: 4.2.0
- keyv: 4.5.4
- mimic-response: 4.0.0
- normalize-url: 8.1.1
- responselike: 3.0.0
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
- call-bind-apply-helpers@1.0.2:
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
- call-bind@1.0.9:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- get-intrinsic: 1.3.0
- set-function-length: 1.2.2
+ unist-util-remove@4.0.0:
+ resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==}
- call-bound@1.0.4:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- get-intrinsic: 1.3.0
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
- call-me-maybe@1.0.2: {}
+ unist-util-visit-children@3.0.0:
+ resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==}
- callsites@3.1.0: {}
+ unist-util-visit-parents@5.1.3:
+ resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
- camelcase-css@2.0.1: {}
+ unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
- ccount@2.0.1: {}
+ unist-util-visit-parents@6.0.2:
+ resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==}
- chalk@5.2.0: {}
+ unist-util-visit@4.1.2:
+ resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
- chalk@5.3.0: {}
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
- chalk@5.6.2: {}
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
- character-entities-html4@2.1.0: {}
+ unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
- character-entities-legacy@3.0.0: {}
+ urijs@1.19.11:
+ resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
- character-entities@2.0.2: {}
+ use-sync-external-store@1.6.0:
+ resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- character-reference-invalid@2.0.1: {}
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- chardet@2.1.1: {}
+ utility-types@3.11.0:
+ resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==}
+ engines: {node: '>= 4'}
- chokidar@3.5.3:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
+ utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
+ uuid@11.1.1:
+ resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==}
+ hasBin: true
- chownr@1.1.4:
+ valibot@1.5.0:
+ resolution: {integrity: sha512-nil6AkP2TChWL43Z5uJ6GTxX01CUA+g8LWUM+N/rB9NBbkUMaUsi9PUNzlUPgoKASgmx9f7eGOYpJ04/fSa6FQ==}
+ peerDependencies:
+ typescript: '>=5'
+ peerDependenciesMeta:
+ typescript:
optional: true
- chownr@3.0.0: {}
-
- chromium-bidi@2.1.2(devtools-protocol@0.0.1402036):
- dependencies:
- devtools-protocol: 0.0.1402036
- mitt: 3.0.1
- zod: 3.25.76
-
- clean-stack@4.2.0:
- dependencies:
- escape-string-regexp: 5.0.0
-
- cli-boxes@3.0.0: {}
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
- cli-cursor@4.0.0:
- dependencies:
- restore-cursor: 4.0.0
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
- cli-spinners@2.9.2: {}
+ vfile-matter@5.0.1:
+ resolution: {integrity: sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==}
- cli-truncate@4.0.0:
- dependencies:
- slice-ansi: 5.0.0
- string-width: 7.2.0
+ vfile-message@4.0.3:
+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
- cli-width@4.1.0: {}
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- cliui@8.0.1:
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
- code-excerpt@4.0.0:
- dependencies:
- convert-to-spaces: 2.0.1
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- collapse-white-space@2.1.0: {}
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
+ which-boxed-primitive@1.1.1:
+ resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
+ engines: {node: '>= 0.4'}
- color-name@1.1.4: {}
+ which-builtin-type@1.2.1:
+ resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
+ engines: {node: '>= 0.4'}
- color-string@1.9.1:
- dependencies:
- color-name: 1.1.4
- simple-swizzle: 0.2.4
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
- color@4.2.3:
- dependencies:
- color-convert: 2.0.1
- color-string: 1.9.1
+ which-typed-array@1.1.21:
+ resolution: {integrity: sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==}
+ engines: {node: '>= 0.4'}
- combined-stream@1.0.8:
- dependencies:
- delayed-stream: 1.0.0
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
- comma-separated-tokens@2.0.3: {}
+ widest-line@5.0.0:
+ resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
+ engines: {node: '>=18'}
- commander@2.20.3: {}
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
- commander@4.1.1: {}
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
- commander@8.3.0: {}
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
+ engines: {node: '>=18'}
- concat-map@0.0.1: {}
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- content-disposition@0.5.4:
- dependencies:
- safe-buffer: 5.2.1
-
- content-disposition@1.1.0:
+ ws@8.20.1:
+ resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
optional: true
-
- content-type@1.0.5: {}
-
- content-type@2.1.0:
+ utf-8-validate:
optional: true
- convert-to-spaces@2.0.1: {}
-
- cookie-signature@1.0.7: {}
-
- cookie-signature@1.2.2:
+ ws@8.21.0:
+ resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
optional: true
-
- cookie@0.7.2: {}
-
- cors@2.8.6:
- dependencies:
- object-assign: 4.1.1
- vary: 1.1.2
-
- cosmiconfig@9.0.1(typescript@6.0.3):
- dependencies:
- env-paths: 2.2.1
- import-fresh: 3.3.1
- js-yaml: 4.3.2
- parse-json: 5.2.0
- optionalDependencies:
- typescript: 6.0.3
-
- cross-spawn@7.0.6:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- cssesc@3.0.0: {}
-
- cssfilter@0.0.10: {}
-
- csstype@3.2.3: {}
-
- data-uri-to-buffer@6.0.2: {}
-
- data-view-buffer@1.0.2:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
-
- data-view-byte-length@1.0.2:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
-
- data-view-byte-offset@1.0.1:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
-
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
-
- debug@4.3.7:
- dependencies:
- ms: 2.1.3
-
- debug@4.4.3:
- dependencies:
- ms: 2.1.3
-
- decode-bmp@0.2.1:
- dependencies:
- "@canvas/image-data": 1.1.0
- to-data-view: 1.1.0
-
- decode-ico@0.4.1:
- dependencies:
- "@canvas/image-data": 1.1.0
- decode-bmp: 0.2.1
- to-data-view: 1.1.0
-
- decode-named-character-reference@1.3.0:
- dependencies:
- character-entities: 2.0.2
-
- decompress-response@6.0.0:
- dependencies:
- mimic-response: 3.1.0
-
- deep-extend@0.6.0:
+ utf-8-validate:
optional: true
- defer-to-connect@2.0.1: {}
+ xml-naming@0.3.0:
+ resolution: {integrity: sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ==}
+ engines: {node: '>=16.0.0'}
- define-data-property@1.1.4:
- dependencies:
- es-define-property: 1.0.1
- es-errors: 1.3.0
- gopd: 1.2.0
+ xml2js@0.6.2:
+ resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==}
+ engines: {node: '>=4.0.0'}
- define-lazy-prop@2.0.0: {}
+ xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
- define-properties@1.2.1:
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
+ xss@1.0.15:
+ resolution: {integrity: sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==}
+ engines: {node: '>= 0.10.0'}
+ hasBin: true
- degenerator@5.0.1:
- dependencies:
- ast-types: 0.13.4
- escodegen: 2.1.0
- esprima: 4.0.1
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
- delayed-stream@1.0.0: {}
+ yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
- depd@2.0.0: {}
+ yaml@2.8.3:
+ resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
- dependency-graph@0.11.0: {}
-
- dequal@2.0.3: {}
-
- destroy@1.2.0: {}
-
- detect-libc@2.1.2: {}
-
- detect-port@1.5.1:
- dependencies:
- address: 1.2.2
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- devlop@1.1.0:
- dependencies:
- dequal: 2.0.3
-
- devtools-protocol@0.0.1402036: {}
-
- didyoumean@1.2.2: {}
-
- dlv@1.1.3: {}
-
- dns-packet@5.6.1:
- dependencies:
- "@leichtgewicht/ip-codec": 2.0.5
-
- dns-socket@4.2.2:
- dependencies:
- dns-packet: 5.6.1
-
- dunder-proto@1.0.1:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-errors: 1.3.0
- gopd: 1.2.0
-
- ee-first@1.1.1: {}
-
- emoji-regex@10.6.0: {}
-
- emoji-regex@8.0.0: {}
-
- encodeurl@2.0.0: {}
-
- end-of-stream@1.4.5:
- dependencies:
- once: 1.4.0
-
- engine.io-parser@5.2.3: {}
-
- engine.io@6.6.8:
- dependencies:
- "@types/cors": 2.8.19
- "@types/node": 25.9.1
- "@types/ws": 8.18.1
- accepts: 1.3.8
- base64id: 2.0.0
- cookie: 0.7.2
- cors: 2.8.6
- debug: 4.4.3
- engine.io-parser: 5.2.3
- ws: 8.20.1
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- entities@6.0.1: {}
-
- env-paths@2.2.1: {}
-
- environment@1.1.0: {}
-
- error-ex@1.3.4:
- dependencies:
- is-arrayish: 0.2.1
-
- es-abstract@1.24.2:
- dependencies:
- array-buffer-byte-length: 1.0.2
- arraybuffer.prototype.slice: 1.0.4
- available-typed-arrays: 1.0.7
- call-bind: 1.0.9
- call-bound: 1.0.4
- data-view-buffer: 1.0.2
- data-view-byte-length: 1.0.2
- data-view-byte-offset: 1.0.1
- es-define-property: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.2
- es-set-tostringtag: 2.1.0
- es-to-primitive: 1.3.0
- function.prototype.name: 1.1.8
- get-intrinsic: 1.3.0
- get-proto: 1.0.1
- get-symbol-description: 1.1.0
- globalthis: 1.0.4
- gopd: 1.2.0
- has-property-descriptors: 1.0.2
- has-proto: 1.2.0
- has-symbols: 1.1.0
- hasown: 2.0.4
- internal-slot: 1.1.0
- is-array-buffer: 3.0.5
- is-callable: 1.2.7
- is-data-view: 1.0.2
- is-negative-zero: 2.0.3
- is-regex: 1.2.1
- is-set: 2.0.3
- is-shared-array-buffer: 1.0.4
- is-string: 1.1.1
- is-typed-array: 1.1.15
- is-weakref: 1.1.1
- math-intrinsics: 1.1.0
- object-inspect: 1.13.4
- object-keys: 1.1.1
- object.assign: 4.1.7
- own-keys: 1.0.1
- regexp.prototype.flags: 1.5.4
- safe-array-concat: 1.1.4
- safe-push-apply: 1.0.0
- safe-regex-test: 1.1.0
- set-proto: 1.0.0
- stop-iteration-iterator: 1.1.0
- string.prototype.trim: 1.2.10
- string.prototype.trimend: 1.0.9
- string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.3
- typed-array-byte-length: 1.0.3
- typed-array-byte-offset: 1.0.4
- typed-array-length: 1.0.8
- unbox-primitive: 1.1.0
- which-typed-array: 1.1.21
-
- es-aggregate-error@1.0.14:
- dependencies:
- define-data-property: 1.1.4
- define-properties: 1.2.1
- es-abstract: 1.24.2
- es-errors: 1.3.0
- function-bind: 1.1.2
- globalthis: 1.0.4
- has-property-descriptors: 1.0.2
- set-function-name: 2.0.2
-
- es-define-property@1.0.1: {}
-
- es-errors@1.3.0: {}
-
- es-object-atoms@1.1.2:
- dependencies:
- es-errors: 1.3.0
-
- es-set-tostringtag@2.1.0:
- dependencies:
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- has-tostringtag: 1.0.2
- hasown: 2.0.4
-
- es-to-primitive@1.3.0:
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.1.0
- is-symbol: 1.1.1
-
- es-toolkit@1.47.0: {}
-
- esast-util-from-estree@2.0.0:
- dependencies:
- "@types/estree-jsx": 1.0.5
- devlop: 1.1.0
- estree-util-visit: 2.0.0
- unist-util-position-from-estree: 2.0.0
-
- esast-util-from-js@2.0.1:
- dependencies:
- "@types/estree-jsx": 1.0.5
- acorn: 8.11.2
- esast-util-from-estree: 2.0.0
- vfile-message: 4.0.3
-
- escalade@3.2.0: {}
-
- escape-html@1.0.3: {}
-
- escape-string-regexp@2.0.0: {}
-
- escape-string-regexp@5.0.0: {}
-
- escodegen@2.1.0:
- dependencies:
- esprima: 4.0.1
- estraverse: 5.3.0
- esutils: 2.0.3
- optionalDependencies:
- source-map: 0.6.1
-
- esprima@4.0.1: {}
-
- estraverse@5.3.0: {}
-
- estree-util-attach-comments@3.0.0:
- dependencies:
- "@types/estree": 1.0.9
-
- estree-util-build-jsx@3.0.1:
- dependencies:
- "@types/estree-jsx": 1.0.5
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- estree-walker: 3.0.3
-
- estree-util-is-identifier-name@3.0.0: {}
-
- estree-util-scope@1.0.0:
- dependencies:
- "@types/estree": 1.0.9
- devlop: 1.1.0
-
- estree-util-to-js@2.0.0:
- dependencies:
- "@types/estree-jsx": 1.0.5
- astring: 1.9.0
- source-map: 0.7.6
-
- estree-util-visit@2.0.0:
- dependencies:
- "@types/estree-jsx": 1.0.5
- "@types/unist": 3.0.3
-
- estree-walker@3.0.3:
- dependencies:
- "@types/estree": 1.0.9
-
- esutils@2.0.3: {}
-
- etag@1.8.1: {}
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
- event-target-shim@5.0.1: {}
+ yaml@2.9.1:
+ resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
- events-universal@1.0.1:
- dependencies:
- bare-events: 2.9.1
- transitivePeerDependencies:
- - bare-abort-controller
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
- eventsource-parser@3.1.1:
- optional: true
-
- eventsource@3.0.7:
- dependencies:
- eventsource-parser: 3.1.1
- optional: true
-
- expand-template@2.0.3:
- optional: true
-
- expr-eval-fork@3.0.3: {}
-
- express-rate-limit@8.7.0(express@5.2.1):
- dependencies:
- debug: 4.4.3
- express: 5.2.1
- ip-address: 10.2.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
- express@4.22.0:
- dependencies:
- accepts: 1.3.8
- array-flatten: 1.1.1
- body-parser: 1.20.5
- content-disposition: 0.5.4
- content-type: 1.0.5
- cookie: 0.7.2
- cookie-signature: 1.0.7
- debug: 2.6.9
- depd: 2.0.0
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- finalhandler: 1.3.2
- fresh: 0.5.2
- http-errors: 2.0.1
- merge-descriptors: 1.0.3
- methods: 1.1.2
- on-finished: 2.4.1
- parseurl: 1.3.3
- path-to-regexp: 0.1.13
- proxy-addr: 2.0.7
- qs: 6.14.2
- range-parser: 1.2.1
- safe-buffer: 5.2.1
- send: 0.19.2
- serve-static: 1.16.3
- setprototypeof: 1.2.0
- statuses: 2.0.2
- type-is: 1.6.18
- utils-merge: 1.0.1
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
-
- express@5.2.1:
- dependencies:
- accepts: 2.0.0
- body-parser: 2.3.0
- content-disposition: 1.1.0
- content-type: 1.0.5
- cookie: 0.7.2
- cookie-signature: 1.2.2
- debug: 4.4.3
- depd: 2.0.0
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- finalhandler: 2.1.1
- fresh: 2.0.0
- http-errors: 2.0.1
- merge-descriptors: 2.0.0
- mime-types: 3.0.2
- on-finished: 2.4.1
- once: 1.4.0
- parseurl: 1.3.3
- proxy-addr: 2.0.7
- qs: 6.15.2
- range-parser: 1.2.1
- router: 2.2.0
- send: 1.2.1
- serve-static: 2.2.1
- statuses: 2.0.2
- type-is: 2.1.0
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
- optional: true
-
- extend@3.0.2: {}
-
- extract-zip@2.0.1:
- dependencies:
- debug: 4.4.3
- get-stream: 5.2.0
- yauzl: 2.10.0
- optionalDependencies:
- "@types/yauzl": 2.10.3
- transitivePeerDependencies:
- - supports-color
+ yargs@17.7.1:
+ resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==}
+ engines: {node: '>=12'}
- fast-deep-equal@3.1.3: {}
+ yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
- fast-fifo@1.3.2: {}
+ yauzl@2.10.0:
+ resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
- fast-glob@3.3.3:
- dependencies:
- "@nodelib/fs.stat": 2.0.5
- "@nodelib/fs.walk": 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
+ yoctocolors-cjs@2.1.3:
+ resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==}
+ engines: {node: '>=18'}
- fast-memoize@2.5.2: {}
+ yoga-layout@3.2.1:
+ resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==}
- fast-sha256@1.3.0:
- optional: true
-
- fast-uri@3.1.2: {}
-
- fast-xml-builder@1.3.1:
- dependencies:
- path-expression-matcher: 1.6.2
- xml-naming: 0.3.0
-
- fast-xml-parser@5.7.3:
- dependencies:
- "@nodable/entities": 2.2.0
- fast-xml-builder: 1.3.1
- path-expression-matcher: 1.6.2
- strnum: 2.4.2
-
- fastq@1.20.1:
- dependencies:
- reusify: 1.1.0
-
- fault@2.0.1:
- dependencies:
- format: 0.2.2
-
- favicons@7.2.0:
- dependencies:
- escape-html: 1.0.3
- sharp: 0.33.5
- xml2js: 0.6.2
-
- fd-slicer@1.1.0:
- dependencies:
- pend: 1.2.0
-
- fdir@6.5.0(picomatch@4.0.4):
- optionalDependencies:
- picomatch: 4.0.4
-
- fflate@0.8.3: {}
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- finalhandler@1.3.2:
- dependencies:
- debug: 2.6.9
- encodeurl: 2.0.0
- escape-html: 1.0.3
- on-finished: 2.4.1
- parseurl: 1.3.3
- statuses: 2.0.2
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
- finalhandler@2.1.1:
- dependencies:
- debug: 4.4.3
- encodeurl: 2.0.0
- escape-html: 1.0.3
- on-finished: 2.4.1
- parseurl: 1.3.3
- statuses: 2.0.2
- transitivePeerDependencies:
- - supports-color
- optional: true
-
- follow-redirects@1.16.0: {}
-
- for-each@0.3.5:
- dependencies:
- is-callable: 1.2.7
-
- form-data-encoder@2.1.4: {}
+ zod-to-json-schema@3.20.4:
+ resolution: {integrity: sha512-Un9+kInJ2Zt63n6Z7mLqBifzzPcOyX+b+Exuzf7L1+xqck9Q2EPByyTRduV3kmSPaXaRer1JCsucubpgL1fipg==}
+ peerDependencies:
+ zod: ^3.20.0
- form-data@4.0.5:
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- es-set-tostringtag: 2.1.0
- hasown: 2.0.4
- mime-types: 2.1.35
+ zod-to-json-schema@3.25.2:
+ resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==}
+ peerDependencies:
+ zod: ^3.25.28 || ^4
- format@0.2.2: {}
+ zod@3.24.0:
+ resolution: {integrity: sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==}
- forwarded@0.2.0: {}
+ zod@3.25.76:
+ resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
- fractional-indexing@3.2.0: {}
-
- fresh@0.5.2: {}
-
- fresh@2.0.0:
- optional: true
-
- front-matter@4.0.2:
- dependencies:
- js-yaml: 3.14.2
-
- fs-constants@1.0.0:
- optional: true
+ zod@4.3.6:
+ resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
- fs-extra@11.1.0:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.2.1
- universalify: 2.0.1
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
- fs-extra@11.1.1:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.2.1
- universalify: 2.0.1
-
- fs-extra@11.2.0:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.2.1
- universalify: 2.0.1
-
- fs.realpath@1.0.0: {}
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.2: {}
-
- function.prototype.name@1.1.8:
- dependencies:
- call-bind: 1.0.9
- call-bound: 1.0.4
- define-properties: 1.2.1
- functions-have-names: 1.2.3
- hasown: 2.0.4
- is-callable: 1.2.7
-
- functions-have-names@1.2.3: {}
-
- gcd@0.0.1: {}
-
- generator-function@2.0.1: {}
-
- get-caller-file@2.0.5: {}
-
- get-east-asian-width@1.6.0: {}
-
- get-intrinsic@1.3.0:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.2
- function-bind: 1.1.2
- get-proto: 1.0.1
- gopd: 1.2.0
- has-symbols: 1.1.0
- hasown: 2.0.4
- math-intrinsics: 1.1.0
-
- get-proto@1.0.1:
- dependencies:
- dunder-proto: 1.0.1
- es-object-atoms: 1.1.2
-
- get-stream@5.2.0:
- dependencies:
- pump: 3.0.4
-
- get-stream@6.0.1: {}
-
- get-symbol-description@1.1.0:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
-
- get-uri@6.0.5:
- dependencies:
- basic-ftp: 5.3.1
- data-uri-to-buffer: 6.0.2
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- github-from-package@0.0.0:
- optional: true
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
- glob@7.1.6:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.5
- once: 1.4.0
- path-is-absolute: 1.0.1
-
- globalthis@1.0.4:
- dependencies:
- define-properties: 1.2.1
- gopd: 1.2.0
-
- gopd@1.2.0: {}
-
- got@12.6.1:
- dependencies:
- "@sindresorhus/is": 5.6.0
- "@szmarczak/http-timer": 5.0.1
- cacheable-lookup: 7.0.0
- cacheable-request: 10.2.14
- decompress-response: 6.0.0
- form-data-encoder: 2.1.4
- get-stream: 6.0.1
- http2-wrapper: 2.2.1
- lowercase-keys: 3.0.0
- p-cancelable: 3.0.0
- responselike: 3.0.0
-
- got@13.0.0:
- dependencies:
- "@sindresorhus/is": 5.6.0
- "@szmarczak/http-timer": 5.0.1
- cacheable-lookup: 7.0.0
- cacheable-request: 10.2.14
- decompress-response: 6.0.0
- form-data-encoder: 2.1.4
- get-stream: 6.0.1
- http2-wrapper: 2.2.1
- lowercase-keys: 3.0.0
- p-cancelable: 3.0.0
- responselike: 3.0.0
-
- graceful-fs@4.2.11: {}
-
- graphql@16.11.0: {}
-
- has-bigints@1.1.0: {}
-
- has-property-descriptors@1.0.2:
- dependencies:
- es-define-property: 1.0.1
-
- has-proto@1.2.0:
- dependencies:
- dunder-proto: 1.0.1
-
- has-symbols@1.1.0: {}
-
- has-tostringtag@1.0.2:
- dependencies:
- has-symbols: 1.1.0
-
- hasown@2.0.4:
- dependencies:
- function-bind: 1.1.2
-
- hast-util-embedded@3.0.0:
- dependencies:
- "@types/hast": 3.0.4
- hast-util-is-element: 3.0.0
-
- hast-util-from-dom@5.0.1:
- dependencies:
- "@types/hast": 3.0.4
- hastscript: 9.0.1
- web-namespaces: 2.0.1
-
- hast-util-from-html-isomorphic@2.0.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
-
- hast-util-from-html@2.0.3:
- 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.2.0
- vfile: 6.0.3
- vfile-location: 5.0.3
- web-namespaces: 2.0.1
-
- hast-util-has-property@3.0.0:
- dependencies:
- "@types/hast": 3.0.4
-
- hast-util-is-body-ok-link@3.0.1:
- dependencies:
- "@types/hast": 3.0.4
-
- hast-util-is-element@3.0.0:
- dependencies:
- "@types/hast": 3.0.4
-
- hast-util-minify-whitespace@1.0.1:
- dependencies:
- "@types/hast": 3.0.4
- hast-util-embedded: 3.0.0
- hast-util-is-element: 3.0.0
- hast-util-whitespace: 3.0.0
- unist-util-is: 6.0.1
-
- hast-util-parse-selector@4.0.0:
- dependencies:
- "@types/hast": 3.0.4
-
- hast-util-phrasing@3.0.1:
- dependencies:
- "@types/hast": 3.0.4
- hast-util-embedded: 3.0.0
- hast-util-has-property: 3.0.0
- hast-util-is-body-ok-link: 3.0.1
- hast-util-is-element: 3.0.0
-
- hast-util-to-estree@3.1.0:
- dependencies:
- "@types/estree": 1.0.9
- "@types/estree-jsx": 1.0.5
- "@types/hast": 3.0.4
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- estree-util-attach-comments: 3.0.0
- estree-util-is-identifier-name: 3.0.0
- hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.1
- mdast-util-mdx-jsx: 3.2.0
- mdast-util-mdxjs-esm: 2.0.1
- property-information: 6.5.0
- space-separated-tokens: 2.0.2
- style-to-object: 0.4.4
- unist-util-position: 5.0.0
- zwitch: 2.0.4
- transitivePeerDependencies:
- - supports-color
-
- hast-util-to-estree@3.1.3:
- dependencies:
- "@types/estree": 1.0.9
- "@types/estree-jsx": 1.0.5
- "@types/hast": 3.0.4
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- estree-util-attach-comments: 3.0.0
- estree-util-is-identifier-name: 3.0.0
- hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.1
- mdast-util-mdx-jsx: 3.2.0
- mdast-util-mdxjs-esm: 2.0.1
- property-information: 7.2.0
- space-separated-tokens: 2.0.2
- style-to-js: 1.1.21
- unist-util-position: 5.0.0
- zwitch: 2.0.4
- transitivePeerDependencies:
- - supports-color
-
- hast-util-to-html@9.0.4:
- dependencies:
- "@types/hast": 3.0.4
- "@types/unist": 3.0.3
- ccount: 2.0.1
- comma-separated-tokens: 2.0.3
- hast-util-whitespace: 3.0.0
- html-void-elements: 3.0.0
- mdast-util-to-hast: 13.2.1
- property-information: 6.5.0
- space-separated-tokens: 2.0.2
- stringify-entities: 4.0.4
- zwitch: 2.0.4
-
- hast-util-to-html@9.0.5:
- dependencies:
- "@types/hast": 3.0.4
- "@types/unist": 3.0.3
- ccount: 2.0.1
- comma-separated-tokens: 2.0.3
- hast-util-whitespace: 3.0.0
- html-void-elements: 3.0.0
- mdast-util-to-hast: 13.2.1
- property-information: 7.2.0
- space-separated-tokens: 2.0.2
- stringify-entities: 4.0.4
- zwitch: 2.0.4
-
- hast-util-to-jsx-runtime@2.3.6:
- dependencies:
- "@types/estree": 1.0.9
- "@types/hast": 3.0.4
- "@types/unist": 3.0.3
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.1
- mdast-util-mdx-jsx: 3.2.0
- mdast-util-mdxjs-esm: 2.0.1
- property-information: 7.2.0
- space-separated-tokens: 2.0.2
- style-to-js: 1.1.21
- unist-util-position: 5.0.0
- vfile-message: 4.0.3
- transitivePeerDependencies:
- - supports-color
-
- hast-util-to-mdast@10.1.0:
- dependencies:
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- "@ungap/structured-clone": 1.3.1
- hast-util-phrasing: 3.0.1
- hast-util-to-html: 9.0.5
- hast-util-to-text: 4.0.2
- hast-util-whitespace: 3.0.0
- mdast-util-phrasing: 4.1.0
- mdast-util-to-hast: 13.2.1
- mdast-util-to-string: 4.0.0
- rehype-minify-whitespace: 6.0.2
- trim-trailing-lines: 2.1.0
- unist-util-position: 5.0.0
- unist-util-visit: 5.0.0
-
- hast-util-to-string@3.0.1:
- dependencies:
- "@types/hast": 3.0.4
-
- hast-util-to-text@4.0.2:
- dependencies:
- "@types/hast": 3.0.4
- "@types/unist": 3.0.3
- hast-util-is-element: 3.0.0
- unist-util-find-after: 5.0.0
-
- hast-util-whitespace@3.0.0:
- dependencies:
- "@types/hast": 3.0.4
-
- 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.2.0
- space-separated-tokens: 2.0.2
-
- hono@4.13.7:
- optional: true
-
- html-void-elements@3.0.0: {}
-
- http-cache-semantics@4.2.0: {}
-
- http-errors@2.0.1:
- dependencies:
- depd: 2.0.0
- inherits: 2.0.4
- setprototypeof: 1.2.0
- statuses: 2.0.2
- toidentifier: 1.0.1
-
- http-proxy-agent@7.0.2:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- http2-wrapper@2.2.1:
- dependencies:
- quick-lru: 5.1.1
- resolve-alpn: 1.2.1
-
- https-proxy-agent@5.0.1:
- dependencies:
- agent-base: 6.0.2
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- https-proxy-agent@7.0.6:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- ico-endec@0.1.6: {}
-
- iconv-lite@0.4.24:
- dependencies:
- safer-buffer: 2.1.2
-
- iconv-lite@0.7.2:
- dependencies:
- safer-buffer: 2.1.2
-
- ieee754@1.2.1:
- optional: true
-
- ignore@7.0.5: {}
+snapshots:
- immer@9.0.21: {}
+ '@alcalzone/ansi-tokenize@0.2.5':
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 5.1.0
+
+ '@alloc/quick-lru@5.2.0': {}
+
+ '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.241':
+ optional: true
+
+ '@anthropic-ai/claude-agent-sdk@0.3.241(@anthropic-ai/sdk@0.120.0(zod@4.3.6))(@modelcontextprotocol/sdk@1.30.0(zod@4.3.6))(zod@4.3.6)':
+ dependencies:
+ '@anthropic-ai/sdk': 0.120.0(zod@4.3.6)
+ '@modelcontextprotocol/sdk': 1.30.0(zod@4.3.6)
+ zod: 4.3.6
+ optionalDependencies:
+ '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.241
+ '@anthropic-ai/claude-agent-sdk-darwin-x64': 0.3.241
+ '@anthropic-ai/claude-agent-sdk-linux-arm64': 0.3.241
+ '@anthropic-ai/claude-agent-sdk-linux-arm64-musl': 0.3.241
+ '@anthropic-ai/claude-agent-sdk-linux-x64': 0.3.241
+ '@anthropic-ai/claude-agent-sdk-linux-x64-musl': 0.3.241
+ '@anthropic-ai/claude-agent-sdk-win32-arm64': 0.3.241
+ '@anthropic-ai/claude-agent-sdk-win32-x64': 0.3.241
+ optional: true
+
+ '@anthropic-ai/sdk@0.120.0(zod@4.3.6)':
+ dependencies:
+ json-schema-to-ts: 3.1.1
+ standardwebhooks: 1.1.1
+ optionalDependencies:
+ zod: 4.3.6
+ optional: true
+
+ '@apidevtools/json-schema-ref-parser@16.0.3(@types/json-schema@7.0.15)':
+ dependencies:
+ '@types/json-schema': 7.0.15
+ js-yaml: 5.4.2
+ undici: 8.11.2
+
+ '@apidevtools/openapi-schemas@2.1.0': {}
+
+ '@apidevtools/swagger-methods@3.0.2': {}
+
+ '@apidevtools/swagger-parser@13.1.0(openapi-types@12.1.3)':
+ dependencies:
+ '@apidevtools/json-schema-ref-parser': 16.0.3(@types/json-schema@7.0.15)
+ '@apidevtools/openapi-schemas': 2.1.0
+ '@apidevtools/swagger-methods': 3.0.2
+ '@types/json-schema': 7.0.15
+ ajv: 8.20.0
+ ajv-draft-04: 1.0.0(ajv@8.20.0)
+ call-me-maybe: 1.0.2
+ openapi-types: 12.1.3
+
+ '@ark/schema@0.56.0':
+ dependencies:
+ '@ark/util': 0.56.0
+
+ '@ark/util@0.56.0': {}
+
+ '@asyncapi/parser@3.4.0':
+ dependencies:
+ '@asyncapi/specs': 6.8.1
+ '@openapi-contrib/openapi-schema-to-json-schema': 3.2.0
+ '@stoplight/json': 3.21.0
+ '@stoplight/json-ref-readers': 1.2.2
+ '@stoplight/json-ref-resolver': 3.1.6
+ '@stoplight/spectral-core': 1.23.0
+ '@stoplight/spectral-functions': 1.10.2
+ '@stoplight/spectral-parsers': 1.0.5
+ '@stoplight/spectral-ref-resolver': 1.0.5
+ '@stoplight/types': 13.20.0
+ '@types/json-schema': 7.0.15
+ '@types/urijs': 1.19.26
+ ajv: 8.20.0
+ ajv-errors: 3.0.0(ajv@8.20.0)
+ ajv-formats: 2.1.1(ajv@8.20.0)
+ avsc: 5.7.9
+ js-yaml: 4.3.2
+ jsonpath-plus: 10.4.0
+ node-fetch: 2.6.7
+ transitivePeerDependencies:
+ - encoding
+
+ '@asyncapi/specs@6.8.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@babel/code-frame@7.29.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.29.7
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/helper-validator-identifier@7.29.7': {}
+
+ '@babel/runtime@7.29.7': {}
+
+ '@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@base-ui/utils': 0.4.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@floating-ui/react-dom': 2.1.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@floating-ui/utils': 0.2.12
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ use-sync-external-store: 1.6.0(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@base-ui/utils@0.4.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@floating-ui/utils': 0.2.12
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ reselect: 5.3.0
+ use-sync-external-store: 1.6.0(react@19.2.3)
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@bonyanoss/bonyan-api@2.0.0': {}
+
+ '@canvas/image-data@1.1.0': {}
+
+ '@emnapi/runtime@1.10.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@floating-ui/core@1.8.0':
+ dependencies:
+ '@floating-ui/utils': 0.2.12
+
+ '@floating-ui/dom@1.8.0':
+ dependencies:
+ '@floating-ui/core': 1.8.0
+ '@floating-ui/utils': 0.2.12
+
+ '@floating-ui/react-dom@2.1.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ dependencies:
+ '@floating-ui/dom': 1.8.0
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+
+ '@floating-ui/utils@0.2.12': {}
+
+ '@hono/node-server@2.1.1(hono@4.13.7)':
+ dependencies:
+ hono: 4.13.7
+ optional: true
+
+ '@img/sharp-darwin-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-arm@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ optional: true
+
+ '@img/sharp-linux-s390x@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-wasm32@0.33.5':
+ dependencies:
+ '@emnapi/runtime': 1.10.0
+ optional: true
+
+ '@img/sharp-win32-ia32@0.33.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.33.5':
+ optional: true
+
+ '@inquirer/ansi@1.0.2': {}
+
+ '@inquirer/checkbox@4.3.2(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/confirm@5.1.21(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/core@10.3.2(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ cli-width: 4.1.0
+ mute-stream: 2.0.0
+ signal-exit: 4.1.0
+ wrap-ansi: 6.2.0
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/editor@4.2.23(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/external-editor': 1.0.3(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/expand@4.0.23(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/external-editor@1.0.3(@types/node@25.9.1)':
+ dependencies:
+ chardet: 2.1.1
+ iconv-lite: 0.7.2
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/figures@1.0.15': {}
+
+ '@inquirer/input@4.3.1(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/number@3.0.23(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/password@4.0.23(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/prompts@7.9.0(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/checkbox': 4.3.2(@types/node@25.9.1)
+ '@inquirer/confirm': 5.1.21(@types/node@25.9.1)
+ '@inquirer/editor': 4.2.23(@types/node@25.9.1)
+ '@inquirer/expand': 4.0.23(@types/node@25.9.1)
+ '@inquirer/input': 4.3.1(@types/node@25.9.1)
+ '@inquirer/number': 3.0.23(@types/node@25.9.1)
+ '@inquirer/password': 4.0.23(@types/node@25.9.1)
+ '@inquirer/rawlist': 4.1.11(@types/node@25.9.1)
+ '@inquirer/search': 3.2.2(@types/node@25.9.1)
+ '@inquirer/select': 4.4.2(@types/node@25.9.1)
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/rawlist@4.1.11(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/search@3.2.2(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/select@4.4.2(@types/node@25.9.1)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@inquirer/type@3.0.10(@types/node@25.9.1)':
+ optionalDependencies:
+ '@types/node': 25.9.1
+
+ '@isaacs/fs-minipass@4.0.1':
+ dependencies:
+ minipass: 7.1.3
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@jsep-plugin/assignment@1.3.0(jsep@1.4.0)':
+ dependencies:
+ jsep: 1.4.0
+
+ '@jsep-plugin/regex@1.0.4(jsep@1.4.0)':
+ dependencies:
+ jsep: 1.4.0
+
+ '@jsep-plugin/ternary@1.1.4(jsep@1.4.0)':
+ dependencies:
+ jsep: 1.4.0
+
+ '@leichtgewicht/ip-codec@2.0.5': {}
+
+ '@mdx-js/mdx@3.1.1':
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ acorn: 8.11.2
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.11.2)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.0
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.1
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.3)':
+ dependencies:
+ '@types/mdx': 2.0.14
+ '@types/react': 19.2.14
+ react: 19.2.3
+
+ '@mintlify/cli@4.0.1584(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)':
+ dependencies:
+ '@inquirer/prompts': 7.9.0(@types/node@25.9.1)
+ '@mintlify/common': 1.0.1206(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/link-rot': 3.0.1414(patch_hash=ae71792d7c4c92580676921951a96b4b3a68b3c936f948bffa3fd5a0564a800b)(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/models': 0.0.365(debug@4.4.3)
+ '@mintlify/prebuild': 1.0.1365(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/previewing': 4.0.1437(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
+ '@mintlify/validation': 0.1.890(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ adm-zip: 0.6.0
+ chalk: 5.2.0
+ color: 4.2.3
+ detect-port: 1.5.1
+ fs-extra: 11.2.0
+ ink: 6.3.0(@types/react@19.2.14)(react@19.2.3)
+ inquirer: 12.3.0(@types/node@25.9.1)
+ js-yaml: 4.3.1
+ jsonc-parser: 3.3.1
+ mdast-util-mdx-jsx: 3.2.0
+ open: 8.4.2
+ openid-client: 6.8.2
+ posthog-node: 5.17.2
+ prosemirror-model: 1.25.4
+ react: 19.2.3
+ remark: 15.0.1
+ remark-frontmatter: 5.0.0
+ remark-gfm: 4.0.1
+ remark-math: 6.0.0
+ remark-mdx: 3.1.1
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ yaml: 2.8.3
+ yargs: 17.7.1
+ zod: 4.3.6
+ optionalDependencies:
+ '@anthropic-ai/claude-agent-sdk': 0.3.241(@anthropic-ai/sdk@0.120.0(zod@4.3.6))(@modelcontextprotocol/sdk@1.30.0(zod@4.3.6))(zod@4.3.6)
+ '@anthropic-ai/sdk': 0.120.0(zod@4.3.6)
+ '@modelcontextprotocol/sdk': 1.30.0(zod@4.3.6)
+ '@openai/codex-sdk': 0.149.1
+ keytar: 7.9.0
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@cfworker/json-schema'
+ - '@types/node'
+ - '@types/react'
+ - bufferutil
+ - debug
+ - encoding
+ - puppeteer
+ - react-devtools-core
+ - react-dom
+ - supports-color
+ - ts-node
+ - typescript
+ - utf-8-validate
+
+ '@mintlify/common@1.0.1206(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)':
+ dependencies:
+ '@asyncapi/parser': 3.4.0
+ '@mintlify/mdx': 4.0.7(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/models': 0.0.365(debug@4.4.3)
+ '@mintlify/openapi-parser': 0.0.9
+ '@mintlify/validation': 0.1.890(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@sindresorhus/slugify': 2.2.0
+ '@types/mdast': 4.0.4
+ acorn: 8.11.2
+ acorn-jsx: 5.3.2(acorn@8.11.2)
+ estree-util-to-js: 2.0.0
+ estree-walker: 3.0.3
+ front-matter: 4.0.2
+ hast-util-from-html: 2.0.3
+ hast-util-to-estree: 3.1.0
+ hast-util-to-html: 9.0.4
+ ignore: 7.0.5
+ iregexp-check: 0.1.2
+ js-yaml: 4.3.1
+ json-p3: 2.2.2
+ lodash: 4.18.1
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm: 3.0.0
+ mdast-util-mdx: 3.0.0
+ mdast-util-mdx-jsx: 3.1.3
+ micromark-extension-gfm: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ openapi-types: 12.1.3
+ postcss: 8.5.23
+ re2js: 2.8.6
+ rehype-katex: 7.0.1
+ rehype-stringify: 10.0.1
+ remark: 15.0.1
+ remark-frontmatter: 5.0.0
+ remark-gfm: 4.0.0
+ remark-math: 6.0.0
+ remark-mdx: 3.1.0
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.1
+ remark-smartypants: 3.0.2
+ remark-stringify: 11.0.0
+ sucrase: 3.34.0
+ tailwindcss-v3: tailwindcss@3.4.17
+ unified: 11.0.5
+ unist-builder: 4.0.0
+ unist-util-map: 4.0.0
+ unist-util-remove: 4.0.0
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.1
+ valibot: 1.5.0(typescript@6.0.3)
+ vfile: 6.0.3
+ xss: 1.0.15
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@types/react'
+ - debug
+ - encoding
+ - react
+ - react-dom
+ - supports-color
+ - ts-node
+ - typescript
+
+ '@mintlify/link-rot@3.0.1414(patch_hash=ae71792d7c4c92580676921951a96b4b3a68b3c936f948bffa3fd5a0564a800b)(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)':
+ dependencies:
+ '@mintlify/common': 1.0.1206(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/models': 0.0.365(debug@4.4.3)
+ '@mintlify/prebuild': 1.0.1365(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/previewing': 4.0.1437(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
+ '@mintlify/scraping': 4.0.1076(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/validation': 0.1.890(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ fs-extra: 11.1.0
+ remark-smartypants: 3.0.2
+ unist-util-visit: 4.1.2
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@types/react'
+ - bufferutil
+ - debug
+ - encoding
+ - puppeteer
+ - react
+ - react-devtools-core
+ - react-dom
+ - supports-color
+ - ts-node
+ - typescript
+ - utf-8-validate
+
+ '@mintlify/mdx@4.0.7(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)':
+ dependencies:
+ '@base-ui/react': 1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@shikijs/transformers': 3.23.0
+ '@shikijs/twoslash': 3.23.0(typescript@6.0.3)
+ arktype: 2.2.0
+ hast-util-to-string: 3.0.1
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-gfm: 3.1.0
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-to-hast: 13.2.1
+ next-mdx-remote-client: 2.1.12(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(unified@11.0.5)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ rehype-katex: 7.0.1
+ remark-gfm: 4.0.1
+ remark-math: 6.0.0
+ remark-smartypants: 3.0.2
+ shiki: 3.23.0
+ twoslash: 0.3.8(typescript@6.0.3)
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - supports-color
+ - typescript
+
+ '@mintlify/models@0.0.365(debug@4.4.3)':
+ dependencies:
+ axios: 1.18.0(debug@4.4.3)
+ openapi-types: 12.1.3
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+
+ '@mintlify/openapi-parser@0.0.9':
+ dependencies:
+ ajv: 8.20.0
+ ajv-draft-04: 1.0.0(ajv@8.20.0)
+ ajv-formats: 3.0.1(ajv@8.20.0)
+ jsonpointer: 5.0.1
+ leven: 4.1.0
+ yaml: 2.9.0
+
+ '@mintlify/prebuild@1.0.1365(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)':
+ dependencies:
+ '@mintlify/common': 1.0.1206(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/scraping': 4.0.1076(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/validation': 0.1.890(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ chalk: 5.3.0
+ favicons: 7.2.0
+ fflate: 0.8.2
+ fs-extra: 11.1.0
+ js-yaml: 4.3.1
+ openapi-types: 12.1.3
+ sharp: 0.33.5
+ sharp-ico: 0.1.5
+ uuid: 11.1.1
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@types/react'
+ - debug
+ - encoding
+ - puppeteer
+ - react
+ - react-dom
+ - supports-color
+ - ts-node
+ - typescript
+
+ '@mintlify/previewing@4.0.1437(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)':
+ dependencies:
+ '@mintlify/common': 1.0.1206(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/prebuild': 1.0.1365(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/validation': 0.1.890(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ adm-zip: 0.6.0
+ better-opn: 3.0.2
+ chalk: 5.2.0
+ chokidar: 3.5.3
+ express: 4.22.0
+ fs-extra: 11.1.0
+ got: 13.0.0
+ ink: 6.3.0(@types/react@19.2.14)(react@19.2.3)
+ ink-spinner: 5.0.0(ink@6.3.0(@types/react@19.2.14)(react@19.2.3))(react@19.2.3)
+ is-online: 10.0.0
+ js-yaml: 4.3.1
+ react: 19.2.3
+ socket.io: 4.8.0
+ tar: 7.5.21
+ yargs: 17.7.1
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@types/react'
+ - bufferutil
+ - debug
+ - encoding
+ - puppeteer
+ - react-devtools-core
+ - react-dom
+ - supports-color
+ - ts-node
+ - typescript
+ - utf-8-validate
+
+ '@mintlify/scraping@4.0.1076(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)':
+ dependencies:
+ '@mintlify/common': 1.0.1206(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ fast-xml-parser: 5.7.3
+ fs-extra: 11.1.1
+ graphql: 16.11.0
+ hast-util-to-mdast: 10.1.0
+ js-yaml: 4.3.1
+ mdast-util-mdx-jsx: 3.1.3
+ neotraverse: 0.6.18
+ rehype-parse: 9.0.1
+ remark-gfm: 4.0.0
+ remark-mdx: 3.0.1
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ yargs: 17.7.1
+ zod: 3.24.0
+ optionalDependencies:
+ puppeteer: 24.3.1(typescript@6.0.3)
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@types/react'
+ - debug
+ - encoding
+ - react
+ - react-dom
+ - supports-color
+ - ts-node
+ - typescript
+
+ '@mintlify/validation@0.1.890(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(debug@4.4.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)':
+ dependencies:
+ '@mintlify/mdx': 4.0.7(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@6.0.3)
+ '@mintlify/models': 0.0.365(debug@4.4.3)
+ fractional-indexing: 3.2.0
+ js-yaml: 4.3.1
+ lcm: 0.0.3
+ lodash: 4.18.1
+ neotraverse: 0.6.18
+ object-hash: 3.0.0
+ openapi-types: 12.1.3
+ uuid: 11.1.1
+ zod: 3.24.0
+ zod-to-json-schema: 3.20.4(zod@3.24.0)
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@types/react'
+ - debug
+ - react
+ - react-dom
+ - supports-color
+ - typescript
+
+ '@modelcontextprotocol/sdk@1.30.0(zod@4.3.6)':
+ dependencies:
+ '@hono/node-server': 2.1.1(hono@4.13.7)
+ ajv: 8.20.0
+ ajv-formats: 3.0.1(ajv@8.20.0)
+ content-type: 1.0.5
+ cors: 2.8.6
+ cross-spawn: 7.0.6
+ eventsource: 3.0.7
+ eventsource-parser: 3.1.1
+ express: 5.2.1
+ express-rate-limit: 8.7.0(express@5.2.1)
+ hono: 4.13.7
+ jose: 6.2.3
+ json-schema-typed: 8.0.2
+ pkce-challenge: 5.0.1
+ raw-body: 3.0.2
+ zod: 4.3.6
+ zod-to-json-schema: 3.25.2(zod@4.3.6)
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ '@nodable/entities@2.2.0': {}
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.20.1
+
+ '@openai/codex-sdk@0.149.1':
+ dependencies:
+ '@openai/codex': 0.149.1
+ optional: true
+
+ '@openai/codex@0.149.1':
+ optionalDependencies:
+ '@openai/codex-darwin-arm64': '@openai/codex@0.149.1-darwin-arm64'
+ '@openai/codex-darwin-x64': '@openai/codex@0.149.1-darwin-x64'
+ '@openai/codex-linux-arm64': '@openai/codex@0.149.1-linux-arm64'
+ '@openai/codex-linux-x64': '@openai/codex@0.149.1-linux-x64'
+ '@openai/codex-win32-arm64': '@openai/codex@0.149.1-win32-arm64'
+ '@openai/codex-win32-x64': '@openai/codex@0.149.1-win32-x64'
+ optional: true
+
+ '@openai/codex@0.149.1-darwin-arm64':
+ optional: true
+
+ '@openai/codex@0.149.1-darwin-x64':
+ optional: true
+
+ '@openai/codex@0.149.1-linux-arm64':
+ optional: true
+
+ '@openai/codex@0.149.1-linux-x64':
+ optional: true
+
+ '@openai/codex@0.149.1-win32-arm64':
+ optional: true
+
+ '@openai/codex@0.149.1-win32-x64':
+ optional: true
+
+ '@openapi-contrib/openapi-schema-to-json-schema@3.2.0':
+ dependencies:
+ fast-deep-equal: 3.1.3
+
+ '@posthog/core@1.7.1':
+ dependencies:
+ cross-spawn: 7.0.6
+
+ '@puppeteer/browsers@2.7.1':
+ dependencies:
+ debug: 4.4.3
+ extract-zip: 2.0.1
+ progress: 2.0.3
+ proxy-agent: 6.5.0
+ semver: 7.7.2
+ tar-fs: 3.1.2
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - bare-buffer
+ - react-native-b4a
+ - supports-color
+ optional: true
+
+ '@shikijs/core@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+ '@shikijs/engine-javascript@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.6
+
+ '@shikijs/engine-oniguruma@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+
+ '@shikijs/themes@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+
+ '@shikijs/transformers@3.23.0':
+ dependencies:
+ '@shikijs/core': 3.23.0
+ '@shikijs/types': 3.23.0
+
+ '@shikijs/twoslash@3.23.0(typescript@6.0.3)':
+ dependencies:
+ '@shikijs/core': 3.23.0
+ '@shikijs/types': 3.23.0
+ twoslash: 0.3.8(typescript@6.0.3)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@shikijs/types@3.23.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ '@shikijs/vscode-textmate@10.0.2': {}
+
+ '@sindresorhus/is@5.6.0': {}
+
+ '@sindresorhus/slugify@2.2.0':
+ dependencies:
+ '@sindresorhus/transliterate': 1.6.0
+ escape-string-regexp: 5.0.0
+
+ '@sindresorhus/transliterate@1.6.0':
+ dependencies:
+ escape-string-regexp: 5.0.0
+
+ '@socket.io/component-emitter@3.1.2': {}
+
+ '@stablelib/base64@1.0.1':
+ optional: true
+
+ '@stoplight/better-ajv-errors@1.0.3(ajv@8.20.0)':
+ dependencies:
+ ajv: 8.20.0
+ jsonpointer: 5.0.1
+ leven: 3.1.0
+
+ '@stoplight/json-ref-readers@1.2.2':
+ dependencies:
+ node-fetch: 2.7.0
+ tslib: 1.14.1
+ transitivePeerDependencies:
+ - encoding
+
+ '@stoplight/json-ref-resolver@3.1.6':
+ dependencies:
+ '@stoplight/json': 3.21.0
+ '@stoplight/path': 1.3.2
+ '@stoplight/types': 13.20.0
+ '@types/urijs': 1.19.26
+ dependency-graph: 0.11.0
+ fast-memoize: 2.5.2
+ immer: 9.0.21
+ lodash: 4.18.1
+ tslib: 2.8.1
+ urijs: 1.19.11
+
+ '@stoplight/json@3.21.0':
+ dependencies:
+ '@stoplight/ordered-object-literal': 1.0.5
+ '@stoplight/path': 1.3.2
+ '@stoplight/types': 13.20.0
+ jsonc-parser: 2.2.1
+ lodash: 4.18.1
+ safe-stable-stringify: 1.1.1
+
+ '@stoplight/ordered-object-literal@1.0.5': {}
+
+ '@stoplight/path@1.3.2': {}
+
+ '@stoplight/spectral-core@1.23.0':
+ dependencies:
+ '@stoplight/better-ajv-errors': 1.0.3(ajv@8.20.0)
+ '@stoplight/json': 3.21.0
+ '@stoplight/path': 1.3.2
+ '@stoplight/spectral-parsers': 1.0.5
+ '@stoplight/spectral-ref-resolver': 1.0.5
+ '@stoplight/spectral-runtime': 1.1.5
+ '@stoplight/types': 13.6.0
+ '@types/es-aggregate-error': 1.0.6
+ '@types/json-schema': 7.0.15
+ ajv: 8.20.0
+ ajv-errors: 3.0.0(ajv@8.20.0)
+ ajv-formats: 2.1.1(ajv@8.20.0)
+ es-aggregate-error: 1.0.14
+ expr-eval-fork: 3.0.3
+ jsonpath-plus: 10.4.0
+ lodash: 4.18.1
+ lodash.topath: 4.5.2
+ minimatch: 3.1.5
+ nimma: 0.2.3
+ pony-cause: 1.1.1
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - encoding
+
+ '@stoplight/spectral-formats@1.8.2':
+ dependencies:
+ '@stoplight/json': 3.21.0
+ '@stoplight/spectral-core': 1.23.0
+ '@types/json-schema': 7.0.15
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - encoding
+
+ '@stoplight/spectral-functions@1.10.2':
+ dependencies:
+ '@stoplight/better-ajv-errors': 1.0.3(ajv@8.20.0)
+ '@stoplight/json': 3.21.0
+ '@stoplight/spectral-core': 1.23.0
+ '@stoplight/spectral-formats': 1.8.2
+ '@stoplight/spectral-runtime': 1.1.5
+ ajv: 8.20.0
+ ajv-draft-04: 1.0.0(ajv@8.20.0)
+ ajv-errors: 3.0.0(ajv@8.20.0)
+ ajv-formats: 2.1.1(ajv@8.20.0)
+ lodash: 4.18.1
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - encoding
+
+ '@stoplight/spectral-parsers@1.0.5':
+ dependencies:
+ '@stoplight/json': 3.21.0
+ '@stoplight/types': 14.1.1
+ '@stoplight/yaml': 4.3.0
+ tslib: 2.8.1
+
+ '@stoplight/spectral-ref-resolver@1.0.5':
+ dependencies:
+ '@stoplight/json-ref-readers': 1.2.2
+ '@stoplight/json-ref-resolver': 3.1.6
+ '@stoplight/spectral-runtime': 1.1.5
+ dependency-graph: 0.11.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - encoding
+
+ '@stoplight/spectral-runtime@1.1.5':
+ dependencies:
+ '@stoplight/json': 3.21.0
+ '@stoplight/path': 1.3.2
+ '@stoplight/types': 13.20.0
+ abort-controller: 3.0.0
+ lodash: 4.18.1
+ node-fetch: 2.7.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - encoding
+
+ '@stoplight/types@13.20.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
+ utility-types: 3.11.0
+
+ '@stoplight/types@13.6.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
+ utility-types: 3.11.0
+
+ '@stoplight/types@14.1.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
+ utility-types: 3.11.0
+
+ '@stoplight/yaml-ast-parser@0.0.50': {}
+
+ '@stoplight/yaml@4.3.0':
+ dependencies:
+ '@stoplight/ordered-object-literal': 1.0.5
+ '@stoplight/types': 14.1.1
+ '@stoplight/yaml-ast-parser': 0.0.50
+ tslib: 2.8.1
+
+ '@szmarczak/http-timer@5.0.1':
+ dependencies:
+ defer-to-connect: 2.0.1
+
+ '@tootallnate/quickjs-emscripten@0.23.0':
+ optional: true
+
+ '@types/acorn@4.0.6':
+ dependencies:
+ '@types/estree': 1.0.9
+
+ '@types/cors@2.8.19':
+ dependencies:
+ '@types/node': 25.9.1
+
+ '@types/debug@4.1.13':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/es-aggregate-error@1.0.6':
+ dependencies:
+ '@types/node': 25.9.1
+
+ '@types/estree-jsx@1.0.5':
+ dependencies:
+ '@types/estree': 1.0.9
+
+ '@types/estree@1.0.9': {}
+
+ '@types/hast@3.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/http-cache-semantics@4.2.0': {}
+
+ '@types/json-schema@7.0.15': {}
+
+ '@types/katex@0.16.8': {}
+
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdx@2.0.13': {}
+
+ '@types/mdx@2.0.14': {}
- import-fresh@3.3.1:
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
+ '@types/ms@2.1.0': {}
+
+ '@types/nlcst@2.0.3':
+ dependencies:
+ '@types/unist': 3.0.3
- indent-string@5.0.0: {}
+ '@types/node@25.9.1':
+ dependencies:
+ undici-types: 7.24.6
- inflight@1.0.6:
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
+ '@types/react@19.2.14':
+ dependencies:
+ csstype: 3.2.3
- inherits@2.0.4: {}
+ '@types/unist@2.0.11': {}
- ini@1.3.8:
- optional: true
+ '@types/unist@3.0.3': {}
- ink-spinner@5.0.0(ink@6.3.0(@types/react@19.2.14)(react@19.2.3))(react@19.2.3):
- dependencies:
- cli-spinners: 2.9.2
- ink: 6.3.0(@types/react@19.2.14)(react@19.2.3)
- react: 19.2.3
-
- ink@6.3.0(@types/react@19.2.14)(react@19.2.3):
- dependencies:
- "@alcalzone/ansi-tokenize": 0.2.5
- ansi-escapes: 7.3.0
- ansi-styles: 6.2.3
- auto-bind: 5.0.1
- chalk: 5.6.2
- cli-boxes: 3.0.0
- cli-cursor: 4.0.0
- cli-truncate: 4.0.0
- code-excerpt: 4.0.0
- es-toolkit: 1.47.0
- indent-string: 5.0.0
- is-in-ci: 2.0.0
- patch-console: 2.0.0
- react: 19.2.3
- react-reconciler: 0.32.0(react@19.2.3)
- signal-exit: 3.0.7
- slice-ansi: 7.1.2
- stack-utils: 2.0.6
- string-width: 7.2.0
- type-fest: 4.41.0
- widest-line: 5.0.0
- wrap-ansi: 9.0.2
- ws: 8.21.0
- yoga-layout: 3.2.1
- optionalDependencies:
- "@types/react": 19.2.14
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- inline-style-parser@0.1.1: {}
-
- inline-style-parser@0.2.7: {}
-
- inquirer@12.3.0(@types/node@25.9.1):
- dependencies:
- "@inquirer/core": 10.3.2(@types/node@25.9.1)
- "@inquirer/prompts": 7.9.0(@types/node@25.9.1)
- "@inquirer/type": 3.0.10(@types/node@25.9.1)
- "@types/node": 25.9.1
- ansi-escapes: 4.3.2
- mute-stream: 2.0.0
- run-async: 3.0.0
- rxjs: 7.8.2
-
- internal-slot@1.1.0:
- dependencies:
- es-errors: 1.3.0
- hasown: 2.0.4
- side-channel: 1.1.0
-
- ip-address@10.2.0: {}
-
- ip-regex@4.3.0: {}
-
- ipaddr.js@1.9.1: {}
-
- iregexp-check@0.1.2: {}
-
- is-alphabetical@2.0.1: {}
-
- is-alphanumerical@2.0.1:
- dependencies:
- is-alphabetical: 2.0.1
- is-decimal: 2.0.1
-
- is-array-buffer@3.0.5:
- dependencies:
- call-bind: 1.0.9
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
-
- is-arrayish@0.2.1: {}
-
- is-arrayish@0.3.4: {}
-
- is-async-function@2.1.1:
- dependencies:
- async-function: 1.0.0
- call-bound: 1.0.4
- get-proto: 1.0.1
- has-tostringtag: 1.0.2
- safe-regex-test: 1.1.0
-
- is-bigint@1.1.0:
- dependencies:
- has-bigints: 1.1.0
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-boolean-object@1.2.2:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
-
- is-callable@1.2.7: {}
-
- is-core-module@2.16.2:
- dependencies:
- hasown: 2.0.4
-
- is-data-view@1.0.2:
- dependencies:
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
- is-typed-array: 1.1.15
-
- is-date-object@1.1.0:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
+ '@types/urijs@1.19.26': {}
- is-decimal@2.0.1: {}
+ '@types/ws@8.18.1':
+ dependencies:
+ '@types/node': 25.9.1
- is-docker@2.2.1: {}
+ '@types/yauzl@2.10.3':
+ dependencies:
+ '@types/node': 25.9.1
+ optional: true
- is-extglob@2.1.1: {}
+ '@typescript/vfs@1.6.4(typescript@6.0.3)':
+ dependencies:
+ debug: 4.4.3
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
- is-finalizationregistry@1.1.1:
- dependencies:
- call-bound: 1.0.4
+ '@ungap/structured-clone@1.3.1': {}
- is-fullwidth-code-point@3.0.0: {}
+ abort-controller@3.0.0:
+ dependencies:
+ event-target-shim: 5.0.1
- is-fullwidth-code-point@4.0.0: {}
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
- is-fullwidth-code-point@5.1.0:
- dependencies:
- get-east-asian-width: 1.6.0
+ accepts@2.0.0:
+ dependencies:
+ mime-types: 3.0.2
+ negotiator: 1.1.0
+ optional: true
- is-generator-function@1.1.2:
- dependencies:
- call-bound: 1.0.4
- generator-function: 2.0.1
- get-proto: 1.0.1
- has-tostringtag: 1.0.2
- safe-regex-test: 1.1.0
+ acorn-jsx@5.3.2(acorn@8.11.2):
+ dependencies:
+ acorn: 8.11.2
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
+ acorn@8.11.2: {}
- is-hexadecimal@2.0.1: {}
+ address@1.2.2: {}
- is-in-ci@2.0.0: {}
+ adm-zip@0.6.0: {}
- is-ip@3.1.0:
- dependencies:
- ip-regex: 4.3.0
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
- is-map@2.0.3: {}
+ agent-base@7.1.4:
+ optional: true
- is-negative-zero@2.0.3: {}
+ aggregate-error@4.0.1:
+ dependencies:
+ clean-stack: 4.2.0
+ indent-string: 5.0.0
- is-number-object@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
+ ajv-draft-04@1.0.0(ajv@8.20.0):
+ optionalDependencies:
+ ajv: 8.20.0
- is-number@7.0.0: {}
+ ajv-errors@3.0.0(ajv@8.20.0):
+ dependencies:
+ ajv: 8.20.0
- is-online@10.0.0:
- dependencies:
- got: 12.6.1
- p-any: 4.0.0
- p-timeout: 5.1.0
- public-ip: 5.0.0
+ ajv-formats@2.1.1(ajv@8.20.0):
+ optionalDependencies:
+ ajv: 8.20.0
- is-plain-obj@4.1.0: {}
+ ajv-formats@3.0.1(ajv@8.20.0):
+ optionalDependencies:
+ ajv: 8.20.0
- is-promise@4.0.0:
- optional: true
+ ajv@8.20.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.2
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
- is-regex@1.2.1:
- dependencies:
- call-bound: 1.0.4
- gopd: 1.2.0
- has-tostringtag: 1.0.2
- hasown: 2.0.4
+ ansi-escapes@4.3.2:
+ dependencies:
+ type-fest: 0.21.3
- is-set@2.0.3: {}
+ ansi-escapes@7.3.0:
+ dependencies:
+ environment: 1.1.0
- is-shared-array-buffer@1.0.4:
- dependencies:
- call-bound: 1.0.4
+ ansi-regex@5.0.1: {}
- is-string@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
+ ansi-regex@6.2.2: {}
- is-symbol@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-symbols: 1.1.0
- safe-regex-test: 1.1.0
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
- is-typed-array@1.1.15:
- dependencies:
- which-typed-array: 1.1.21
+ ansi-styles@6.2.3: {}
- is-weakmap@2.0.2: {}
+ any-promise@1.3.0: {}
- is-weakref@1.1.1:
- dependencies:
- call-bound: 1.0.4
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.2
- is-weakset@2.0.4:
- dependencies:
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
+ anynum@1.0.1: {}
- is-wsl@2.2.0:
- dependencies:
- is-docker: 2.2.1
+ arg@5.0.2: {}
- isarray@2.0.5: {}
+ argparse@1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
- isexe@2.0.0: {}
+ argparse@2.0.1: {}
- jiti@1.21.7: {}
+ arkregex@0.0.5:
+ dependencies:
+ '@ark/util': 0.56.0
- jose@6.2.3: {}
+ arktype@2.2.0:
+ dependencies:
+ '@ark/schema': 0.56.0
+ '@ark/util': 0.56.0
+ arkregex: 0.0.5
- js-tokens@4.0.0: {}
+ array-buffer-byte-length@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ is-array-buffer: 3.0.5
- js-yaml@3.14.2:
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
+ array-flatten@1.1.1: {}
- js-yaml@4.3.1:
- dependencies:
- argparse: 2.0.1
+ array-iterate@2.0.1: {}
- js-yaml@4.3.2:
- dependencies:
- argparse: 2.0.1
+ arraybuffer.prototype.slice@1.0.4:
+ dependencies:
+ array-buffer-byte-length: 1.0.2
+ call-bind: 1.0.9
+ define-properties: 1.2.1
+ es-abstract: 1.24.2
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ is-array-buffer: 3.0.5
+
+ ast-types@0.13.4:
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ astring@1.9.0: {}
+
+ async-function@1.0.0: {}
+
+ asynckit@0.4.0: {}
+
+ auto-bind@5.0.1: {}
+
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.1.0
+
+ avsc@5.7.9: {}
+
+ axios@1.18.0(debug@4.4.3):
+ dependencies:
+ follow-redirects: 1.16.0(debug@4.4.3)
+ form-data: 4.0.5
+ https-proxy-agent: 5.0.1
+ proxy-from-env: 2.1.0
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+
+ b4a@1.8.1:
+ optional: true
+
+ bail@2.0.2: {}
+
+ balanced-match@1.0.2: {}
+
+ bare-events@2.9.1:
+ optional: true
+
+ bare-fs@4.7.2:
+ dependencies:
+ bare-events: 2.9.1
+ bare-path: 3.0.1
+ bare-stream: 2.13.1(bare-events@2.9.1)
+ bare-url: 2.4.3
+ fast-fifo: 1.3.2
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - react-native-b4a
+ optional: true
+
+ bare-os@3.9.1:
+ optional: true
+
+ bare-path@3.0.1:
+ dependencies:
+ bare-os: 3.9.1
+ optional: true
+
+ bare-stream@2.13.1(bare-events@2.9.1):
+ dependencies:
+ streamx: 2.26.0
+ teex: 1.0.1
+ optionalDependencies:
+ bare-events: 2.9.1
+ transitivePeerDependencies:
+ - react-native-b4a
+ optional: true
+
+ bare-url@2.4.3:
+ dependencies:
+ bare-path: 3.0.1
+ optional: true
+
+ base64-js@1.5.1:
+ optional: true
+
+ base64id@2.0.0: {}
+
+ basic-ftp@5.3.1:
+ optional: true
+
+ better-opn@3.0.2:
+ dependencies:
+ open: 8.4.2
+
+ binary-extensions@2.3.0: {}
+
+ bl@4.1.0:
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ optional: true
+
+ body-parser@1.20.5:
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.1
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.15.2
+ raw-body: 2.5.3
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ body-parser@2.3.0:
+ dependencies:
+ bytes: 3.1.2
+ content-type: 2.1.0
+ debug: 4.4.3
+ http-errors: 2.0.1
+ iconv-lite: 0.7.2
+ on-finished: 2.4.1
+ qs: 6.15.2
+ raw-body: 3.0.2
+ type-is: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ brace-expansion@1.1.15:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
+ buffer-crc32@0.2.13:
+ optional: true
+
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ optional: true
+
+ bytes@3.1.2: {}
+
+ cacheable-lookup@7.0.0: {}
+
+ cacheable-request@10.2.14:
+ dependencies:
+ '@types/http-cache-semantics': 4.2.0
+ get-stream: 6.0.1
+ http-cache-semantics: 4.2.0
+ keyv: 4.5.4
+ mimic-response: 4.0.0
+ normalize-url: 8.1.1
+ responselike: 3.0.0
+
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+
+ call-bind@1.0.9:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ get-intrinsic: 1.3.0
+ set-function-length: 1.2.2
+
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
+
+ call-me-maybe@1.0.2: {}
+
+ callsites@3.1.0:
+ optional: true
+
+ camelcase-css@2.0.1: {}
+
+ ccount@2.0.1: {}
+
+ chalk@5.2.0: {}
+
+ chalk@5.3.0: {}
+
+ 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: {}
+
+ chardet@2.1.1: {}
+
+ chokidar@3.5.3:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
- jsep@1.4.0: {}
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
- json-buffer@3.0.1: {}
+ chownr@1.1.4:
+ optional: true
- json-p3@2.2.2: {}
+ chownr@3.0.0: {}
- json-parse-even-better-errors@2.3.1: {}
+ chromium-bidi@2.1.2(devtools-protocol@0.0.1402036):
+ dependencies:
+ devtools-protocol: 0.0.1402036
+ mitt: 3.0.1
+ zod: 3.25.76
+ optional: true
- json-schema-to-ts@3.1.1:
- dependencies:
- "@babel/runtime": 7.29.7
- ts-algebra: 2.0.0
- optional: true
+ clean-stack@4.2.0:
+ dependencies:
+ escape-string-regexp: 5.0.0
- json-schema-traverse@1.0.0: {}
+ cli-boxes@3.0.0: {}
- json-schema-typed@8.0.2:
- optional: true
+ cli-cursor@4.0.0:
+ dependencies:
+ restore-cursor: 4.0.0
- jsonc-parser@2.2.1: {}
+ cli-spinners@2.9.2: {}
- jsonc-parser@3.3.1: {}
+ cli-truncate@4.0.0:
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 7.2.0
- jsonfile@6.2.1:
- dependencies:
- universalify: 2.0.1
- optionalDependencies:
- graceful-fs: 4.2.11
+ cli-width@4.1.0: {}
- jsonpath-plus@10.4.0:
- dependencies:
- "@jsep-plugin/assignment": 1.3.0(jsep@1.4.0)
- "@jsep-plugin/regex": 1.0.4(jsep@1.4.0)
- jsep: 1.4.0
+ cliui@8.0.1:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
- jsonpointer@5.0.1: {}
+ code-excerpt@4.0.0:
+ dependencies:
+ convert-to-spaces: 2.0.1
- katex@0.16.47:
- dependencies:
- commander: 8.3.0
+ collapse-white-space@2.1.0: {}
- keytar@7.9.0:
- dependencies:
- node-addon-api: 4.3.0
- prebuild-install: 7.1.3
- optional: true
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
- keyv@4.5.4:
- dependencies:
- json-buffer: 3.0.1
-
- lcm@0.0.3:
- dependencies:
- gcd: 0.0.1
-
- leven@3.1.0: {}
-
- leven@4.1.0: {}
-
- lilconfig@3.1.3: {}
-
- lines-and-columns@1.2.4: {}
-
- lodash.topath@4.5.2: {}
-
- lodash@4.18.1: {}
-
- longest-streak@3.1.0: {}
-
- lowercase-keys@3.0.0: {}
-
- lru-cache@7.18.3: {}
-
- markdown-extensions@2.0.0: {}
-
- markdown-table@3.0.4: {}
-
- math-intrinsics@1.1.0: {}
-
- mdast-util-find-and-replace@3.0.2:
- dependencies:
- "@types/mdast": 4.0.4
- escape-string-regexp: 5.0.0
- unist-util-is: 6.0.1
- unist-util-visit-parents: 6.0.2
-
- mdast-util-from-markdown@2.0.2:
- dependencies:
- "@types/mdast": 4.0.4
- "@types/unist": 3.0.3
- decode-named-character-reference: 1.3.0
- devlop: 1.1.0
- mdast-util-to-string: 4.0.0
- micromark: 4.0.2
- micromark-util-decode-numeric-character-reference: 2.0.2
- micromark-util-decode-string: 2.0.1
- micromark-util-normalize-identifier: 2.0.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
- unist-util-stringify-position: 4.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-from-markdown@2.0.3:
- dependencies:
- "@types/mdast": 4.0.4
- "@types/unist": 3.0.3
- decode-named-character-reference: 1.3.0
- devlop: 1.1.0
- mdast-util-to-string: 4.0.0
- micromark: 4.0.2
- micromark-util-decode-numeric-character-reference: 2.0.2
- micromark-util-decode-string: 2.0.1
- micromark-util-normalize-identifier: 2.0.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
- unist-util-stringify-position: 4.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-frontmatter@2.0.1:
- dependencies:
- "@types/mdast": 4.0.4
- devlop: 1.1.0
- escape-string-regexp: 5.0.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- micromark-extension-frontmatter: 2.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-autolink-literal@2.0.1:
- dependencies:
- "@types/mdast": 4.0.4
- ccount: 2.0.1
- devlop: 1.1.0
- mdast-util-find-and-replace: 3.0.2
- micromark-util-character: 2.1.1
-
- mdast-util-gfm-footnote@2.1.0:
- dependencies:
- "@types/mdast": 4.0.4
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- micromark-util-normalize-identifier: 2.0.1
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-strikethrough@2.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-table@2.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- devlop: 1.1.0
- markdown-table: 3.0.4
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-task-list-item@2.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm@3.0.0:
- dependencies:
- mdast-util-from-markdown: 2.0.3
- mdast-util-gfm-autolink-literal: 2.0.1
- mdast-util-gfm-footnote: 2.1.0
- mdast-util-gfm-strikethrough: 2.0.0
- mdast-util-gfm-table: 2.0.0
- mdast-util-gfm-task-list-item: 2.0.0
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm@3.1.0:
- dependencies:
- mdast-util-from-markdown: 2.0.3
- mdast-util-gfm-autolink-literal: 2.0.1
- mdast-util-gfm-footnote: 2.1.0
- mdast-util-gfm-strikethrough: 2.0.0
- mdast-util-gfm-table: 2.0.0
- mdast-util-gfm-task-list-item: 2.0.0
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-math@3.0.0:
- dependencies:
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- devlop: 1.1.0
- longest-streak: 3.1.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- unist-util-remove-position: 5.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdx-expression@2.0.1:
- dependencies:
- "@types/estree-jsx": 1.0.5
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdx-jsx@3.1.3:
- dependencies:
- "@types/estree-jsx": 1.0.5
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- "@types/unist": 3.0.3
- ccount: 2.0.1
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- parse-entities: 4.0.2
- stringify-entities: 4.0.4
- unist-util-stringify-position: 4.0.0
- vfile-message: 4.0.3
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdx-jsx@3.2.0:
- dependencies:
- "@types/estree-jsx": 1.0.5
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- "@types/unist": 3.0.3
- ccount: 2.0.1
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- parse-entities: 4.0.2
- stringify-entities: 4.0.4
- unist-util-stringify-position: 4.0.0
- vfile-message: 4.0.3
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdx@3.0.0:
- dependencies:
- mdast-util-from-markdown: 2.0.3
- mdast-util-mdx-expression: 2.0.1
- mdast-util-mdx-jsx: 3.2.0
- mdast-util-mdxjs-esm: 2.0.1
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdxjs-esm@2.0.1:
- dependencies:
- "@types/estree-jsx": 1.0.5
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.3
- mdast-util-to-markdown: 2.1.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-phrasing@4.1.0:
- dependencies:
- "@types/mdast": 4.0.4
- unist-util-is: 6.0.1
-
- mdast-util-to-hast@13.2.1:
- dependencies:
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- "@ungap/structured-clone": 1.3.1
- 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.0.0
- vfile: 6.0.3
-
- mdast-util-to-markdown@2.1.2:
- dependencies:
- "@types/mdast": 4.0.4
- "@types/unist": 3.0.3
- longest-streak: 3.1.0
- mdast-util-phrasing: 4.1.0
- mdast-util-to-string: 4.0.0
- micromark-util-classify-character: 2.0.1
- micromark-util-decode-string: 2.0.1
- unist-util-visit: 5.0.0
- zwitch: 2.0.4
-
- mdast-util-to-string@4.0.0:
- dependencies:
- "@types/mdast": 4.0.4
-
- media-typer@0.3.0: {}
-
- media-typer@1.1.1:
- optional: true
+ color-name@1.1.4: {}
- merge-descriptors@1.0.3: {}
+ color-string@1.9.1:
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.4
- merge-descriptors@2.0.0:
- optional: true
+ color@4.2.3:
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
- merge2@1.4.1: {}
-
- methods@1.1.2: {}
-
- micromark-core-commonmark@2.0.3:
- dependencies:
- decode-named-character-reference: 1.3.0
- devlop: 1.1.0
- micromark-factory-destination: 2.0.1
- micromark-factory-label: 2.0.1
- micromark-factory-space: 2.0.1
- micromark-factory-title: 2.0.1
- micromark-factory-whitespace: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-chunked: 2.0.1
- micromark-util-classify-character: 2.0.1
- micromark-util-html-tag-name: 2.0.1
- micromark-util-normalize-identifier: 2.0.1
- micromark-util-resolve-all: 2.0.1
- micromark-util-subtokenize: 2.1.0
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-frontmatter@2.0.0:
- dependencies:
- fault: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-gfm-autolink-literal@2.1.0:
- dependencies:
- micromark-util-character: 2.1.1
- micromark-util-sanitize-uri: 2.0.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-gfm-footnote@2.1.0:
- dependencies:
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.3
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-normalize-identifier: 2.0.1
- micromark-util-sanitize-uri: 2.0.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-gfm-strikethrough@2.1.0:
- dependencies:
- devlop: 1.1.0
- micromark-util-chunked: 2.0.1
- micromark-util-classify-character: 2.0.1
- micromark-util-resolve-all: 2.0.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-gfm-table@2.1.1:
- dependencies:
- devlop: 1.1.0
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-gfm-tagfilter@2.0.0:
- dependencies:
- micromark-util-types: 2.0.2
-
- micromark-extension-gfm-task-list-item@2.1.0:
- dependencies:
- devlop: 1.1.0
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-gfm@3.0.0:
- dependencies:
- micromark-extension-gfm-autolink-literal: 2.1.0
- micromark-extension-gfm-footnote: 2.1.0
- micromark-extension-gfm-strikethrough: 2.1.0
- micromark-extension-gfm-table: 2.1.1
- micromark-extension-gfm-tagfilter: 2.0.0
- micromark-extension-gfm-task-list-item: 2.1.0
- micromark-util-combine-extensions: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-math@3.1.0:
- dependencies:
- "@types/katex": 0.16.8
- devlop: 1.1.0
- katex: 0.16.47
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-mdx-expression@3.0.1:
- dependencies:
- "@types/estree": 1.0.9
- devlop: 1.1.0
- micromark-factory-mdx-expression: 2.0.3
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-events-to-acorn: 2.0.3
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-extension-mdx-jsx@3.0.1:
- dependencies:
- "@types/acorn": 4.0.6
- "@types/estree": 1.0.9
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- micromark-factory-mdx-expression: 2.0.3
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-events-to-acorn: 2.0.3
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
- vfile-message: 4.0.3
-
- micromark-extension-mdx-md@2.0.0:
- dependencies:
- micromark-util-types: 2.0.2
-
- micromark-extension-mdxjs-esm@3.0.0:
- dependencies:
- "@types/estree": 1.0.9
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.3
- micromark-util-character: 2.1.1
- micromark-util-events-to-acorn: 2.0.3
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
- unist-util-position-from-estree: 2.0.0
- vfile-message: 4.0.3
-
- micromark-extension-mdxjs@3.0.0:
- dependencies:
- acorn: 8.11.2
- acorn-jsx: 5.3.2(acorn@8.11.2)
- micromark-extension-mdx-expression: 3.0.1
- micromark-extension-mdx-jsx: 3.0.1
- micromark-extension-mdx-md: 2.0.0
- micromark-extension-mdxjs-esm: 3.0.0
- micromark-util-combine-extensions: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-factory-destination@2.0.1:
- dependencies:
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-factory-label@2.0.1:
- dependencies:
- devlop: 1.1.0
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-factory-mdx-expression@2.0.3:
- dependencies:
- "@types/estree": 1.0.9
- devlop: 1.1.0
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-events-to-acorn: 2.0.3
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
- unist-util-position-from-estree: 2.0.0
- vfile-message: 4.0.3
-
- micromark-factory-space@2.0.1:
- dependencies:
- micromark-util-character: 2.1.1
- micromark-util-types: 2.0.2
-
- micromark-factory-title@2.0.1:
- dependencies:
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-factory-whitespace@2.0.1:
- dependencies:
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-util-character@2.1.1:
- dependencies:
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-util-chunked@2.0.1:
- dependencies:
- micromark-util-symbol: 2.0.1
-
- micromark-util-classify-character@2.0.1:
- dependencies:
- micromark-util-character: 2.1.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-util-combine-extensions@2.0.1:
- dependencies:
- micromark-util-chunked: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-util-decode-numeric-character-reference@2.0.2:
- dependencies:
- micromark-util-symbol: 2.0.1
-
- micromark-util-decode-string@2.0.1:
- dependencies:
- decode-named-character-reference: 1.3.0
- micromark-util-character: 2.1.1
- micromark-util-decode-numeric-character-reference: 2.0.2
- micromark-util-symbol: 2.0.1
-
- micromark-util-encode@2.0.1: {}
-
- micromark-util-events-to-acorn@2.0.3:
- dependencies:
- "@types/estree": 1.0.9
- "@types/unist": 3.0.3
- devlop: 1.1.0
- estree-util-visit: 2.0.0
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
- vfile-message: 4.0.3
-
- micromark-util-html-tag-name@2.0.1: {}
-
- micromark-util-normalize-identifier@2.0.1:
- dependencies:
- micromark-util-symbol: 2.0.1
-
- micromark-util-resolve-all@2.0.1:
- dependencies:
- micromark-util-types: 2.0.2
-
- 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@2.1.0:
- dependencies:
- devlop: 1.1.0
- micromark-util-chunked: 2.0.1
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
-
- micromark-util-symbol@2.0.1: {}
-
- micromark-util-types@2.0.2: {}
-
- micromark@4.0.2:
- dependencies:
- "@types/debug": 4.1.13
- debug: 4.4.3
- decode-named-character-reference: 1.3.0
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.3
- micromark-factory-space: 2.0.1
- micromark-util-character: 2.1.1
- micromark-util-chunked: 2.0.1
- micromark-util-combine-extensions: 2.0.1
- micromark-util-decode-numeric-character-reference: 2.0.2
- micromark-util-encode: 2.0.1
- micromark-util-normalize-identifier: 2.0.1
- micromark-util-resolve-all: 2.0.1
- micromark-util-sanitize-uri: 2.0.1
- micromark-util-subtokenize: 2.1.0
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
- transitivePeerDependencies:
- - supports-color
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.2
-
- mime-db@1.52.0: {}
-
- mime-db@1.54.0:
- optional: true
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
+ comma-separated-tokens@2.0.3: {}
- mime-types@3.0.2:
- dependencies:
- mime-db: 1.54.0
- optional: true
+ commander@2.20.3: {}
- mime@1.6.0: {}
+ commander@4.1.1: {}
- mimic-fn@2.1.0: {}
+ commander@8.3.0: {}
- mimic-response@3.1.0: {}
+ concat-map@0.0.1: {}
- mimic-response@4.0.0: {}
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
- minimatch@3.1.5:
- dependencies:
- brace-expansion: 1.1.15
+ content-disposition@1.1.0:
+ optional: true
- minimist@1.2.8:
- optional: true
+ content-type@1.0.5: {}
- minipass@7.1.3: {}
-
- minizlib@3.1.0:
- dependencies:
- minipass: 7.1.3
-
- mintlify@4.2.876(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3):
- dependencies:
- "@mintlify/cli": 4.0.1479(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
- transitivePeerDependencies:
- - "@base-ui/react"
- - "@cfworker/json-schema"
- - "@types/node"
- - "@types/react"
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - debug
- - encoding
- - react-devtools-core
- - react-dom
- - react-native-b4a
- - supports-color
- - ts-node
- - typescript
- - utf-8-validate
-
- mitt@3.0.1: {}
-
- mkdirp-classic@0.5.3:
- optional: true
+ content-type@2.1.0:
+ optional: true
- ms@2.0.0: {}
+ convert-to-spaces@2.0.1: {}
- ms@2.1.3: {}
+ cookie-signature@1.0.7: {}
- mute-stream@2.0.0: {}
+ cookie-signature@1.2.2:
+ optional: true
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
+ cookie@0.7.2: {}
- nanoid@3.3.18: {}
+ cors@2.8.6:
+ dependencies:
+ object-assign: 4.1.1
+ vary: 1.1.2
- napi-build-utils@2.0.0:
- optional: true
+ cosmiconfig@9.0.1(typescript@6.0.3):
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.1
+ js-yaml: 4.3.2
+ parse-json: 5.2.0
+ optionalDependencies:
+ typescript: 6.0.3
+ optional: true
- negotiator@0.6.3: {}
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
- negotiator@1.1.0:
- dependencies:
- content-type: 2.1.0
- optional: true
+ cssesc@3.0.0: {}
- neotraverse@0.6.18: {}
-
- netmask@2.1.1: {}
-
- next-mdx-remote-client@2.1.12(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(unified@11.0.5):
- dependencies:
- "@babel/code-frame": 7.29.7
- "@mdx-js/mdx": 3.1.1
- "@mdx-js/react": 3.1.1(@types/react@19.2.14)(react@19.2.3)
- "@types/mdx": 2.0.14
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- remark-mdx-remove-esm: 1.3.2(unified@11.0.5)
- serialize-error: 13.0.1
- vfile: 6.0.3
- vfile-matter: 5.0.1
- transitivePeerDependencies:
- - "@types/react"
- - supports-color
- - unified
-
- nimma@0.2.3:
- dependencies:
- "@jsep-plugin/regex": 1.0.4(jsep@1.4.0)
- "@jsep-plugin/ternary": 1.1.4(jsep@1.4.0)
- astring: 1.9.0
- jsep: 1.4.0
- optionalDependencies:
- jsonpath-plus: 10.4.0
- lodash.topath: 4.5.2
-
- nlcst-to-string@4.0.0:
- dependencies:
- "@types/nlcst": 2.0.3
-
- node-abi@3.92.0:
- dependencies:
- semver: 7.7.2
- optional: true
+ cssfilter@0.0.10: {}
- node-addon-api@4.3.0:
- optional: true
+ csstype@3.2.3: {}
- node-fetch@2.6.7:
- dependencies:
- whatwg-url: 5.0.0
+ data-uri-to-buffer@6.0.2:
+ optional: true
- node-fetch@2.7.0:
- dependencies:
- whatwg-url: 5.0.0
+ data-view-buffer@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- non-error@0.1.0: {}
+ data-view-byte-length@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- normalize-path@3.0.0: {}
+ data-view-byte-offset@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- normalize-url@8.1.1: {}
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
- oauth4webapi@3.8.6: {}
+ debug@4.3.7:
+ dependencies:
+ ms: 2.1.3
- object-assign@4.1.1: {}
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
- object-hash@3.0.0: {}
+ decode-bmp@0.2.1:
+ dependencies:
+ '@canvas/image-data': 1.1.0
+ to-data-view: 1.1.0
- object-inspect@1.13.4: {}
+ decode-ico@0.4.1:
+ dependencies:
+ '@canvas/image-data': 1.1.0
+ decode-bmp: 0.2.1
+ to-data-view: 1.1.0
- object-keys@1.1.1: {}
-
- object.assign@4.1.7:
- dependencies:
- call-bind: 1.0.9
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.2
- has-symbols: 1.1.0
- object-keys: 1.1.1
-
- on-finished@2.4.1:
- dependencies:
- ee-first: 1.1.1
-
- once@1.4.0:
- dependencies:
- wrappy: 1.0.2
-
- onetime@5.1.2:
- dependencies:
- mimic-fn: 2.1.0
-
- oniguruma-parser@0.12.2: {}
-
- oniguruma-to-es@4.3.6:
- dependencies:
- oniguruma-parser: 0.12.2
- regex: 6.1.0
- regex-recursion: 6.0.2
+ decode-named-character-reference@1.3.0:
+ dependencies:
+ character-entities: 2.0.2
- open@8.4.2:
- dependencies:
- define-lazy-prop: 2.0.0
- is-docker: 2.2.1
- is-wsl: 2.2.0
+ decompress-response@6.0.0:
+ dependencies:
+ mimic-response: 3.1.0
- openapi-types@12.1.3: {}
+ deep-extend@0.6.0:
+ optional: true
- openid-client@6.8.2:
- dependencies:
- jose: 6.2.3
- oauth4webapi: 3.8.6
+ defer-to-connect@2.0.1: {}
- orderedmap@2.1.1: {}
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ gopd: 1.2.0
- own-keys@1.0.1:
- dependencies:
- get-intrinsic: 1.3.0
- object-keys: 1.1.1
- safe-push-apply: 1.0.0
+ define-lazy-prop@2.0.0: {}
- p-any@4.0.0:
- dependencies:
- p-cancelable: 3.0.0
- p-some: 6.0.0
+ define-properties@1.2.1:
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
- p-cancelable@3.0.0: {}
+ degenerator@5.0.1:
+ dependencies:
+ ast-types: 0.13.4
+ escodegen: 2.1.0
+ esprima: 4.0.1
+ optional: true
+
+ delayed-stream@1.0.0: {}
+
+ depd@2.0.0: {}
+
+ dependency-graph@0.11.0: {}
+
+ dequal@2.0.3: {}
+
+ destroy@1.2.0: {}
+
+ detect-libc@2.1.2: {}
+
+ detect-port@1.5.1:
+ dependencies:
+ address: 1.2.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
+ devtools-protocol@0.0.1402036:
+ optional: true
+
+ didyoumean@1.2.2: {}
+
+ dlv@1.1.3: {}
+
+ dns-packet@5.6.1:
+ dependencies:
+ '@leichtgewicht/ip-codec': 2.0.5
+
+ dns-socket@4.2.2:
+ dependencies:
+ dns-packet: 5.6.1
+
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ ee-first@1.1.1: {}
+
+ emoji-regex@10.6.0: {}
+
+ emoji-regex@8.0.0: {}
+
+ encodeurl@2.0.0: {}
+
+ end-of-stream@1.4.5:
+ dependencies:
+ once: 1.4.0
+ optional: true
+
+ engine.io-parser@5.2.3: {}
+
+ engine.io@6.6.8:
+ dependencies:
+ '@types/cors': 2.8.19
+ '@types/node': 25.9.1
+ '@types/ws': 8.18.1
+ accepts: 1.3.8
+ base64id: 2.0.0
+ cookie: 0.7.2
+ cors: 2.8.6
+ debug: 4.4.3
+ engine.io-parser: 5.2.3
+ ws: 8.20.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ entities@6.0.1: {}
+
+ env-paths@2.2.1:
+ optional: true
+
+ environment@1.1.0: {}
+
+ error-ex@1.3.4:
+ dependencies:
+ is-arrayish: 0.2.1
+ optional: true
+
+ es-abstract@1.24.2:
+ dependencies:
+ array-buffer-byte-length: 1.0.2
+ arraybuffer.prototype.slice: 1.0.4
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ data-view-buffer: 1.0.2
+ data-view-byte-length: 1.0.2
+ data-view-byte-offset: 1.0.1
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.2
+ es-set-tostringtag: 2.1.0
+ es-to-primitive: 1.3.0
+ function.prototype.name: 1.1.8
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ get-symbol-description: 1.1.0
+ globalthis: 1.0.4
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.4
+ internal-slot: 1.1.0
+ is-array-buffer: 3.0.5
+ is-callable: 1.2.7
+ is-data-view: 1.0.2
+ is-negative-zero: 2.0.3
+ is-regex: 1.2.1
+ is-set: 2.0.3
+ is-shared-array-buffer: 1.0.4
+ is-string: 1.1.1
+ is-typed-array: 1.1.15
+ is-weakref: 1.1.1
+ math-intrinsics: 1.1.0
+ object-inspect: 1.13.4
+ object-keys: 1.1.1
+ object.assign: 4.1.7
+ own-keys: 1.0.1
+ regexp.prototype.flags: 1.5.4
+ safe-array-concat: 1.1.4
+ safe-push-apply: 1.0.0
+ safe-regex-test: 1.1.0
+ set-proto: 1.0.0
+ stop-iteration-iterator: 1.1.0
+ string.prototype.trim: 1.2.10
+ string.prototype.trimend: 1.0.9
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.3
+ typed-array-byte-length: 1.0.3
+ typed-array-byte-offset: 1.0.4
+ typed-array-length: 1.0.8
+ unbox-primitive: 1.1.0
+ which-typed-array: 1.1.21
+
+ es-aggregate-error@1.0.14:
+ dependencies:
+ define-data-property: 1.1.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.2
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ globalthis: 1.0.4
+ has-property-descriptors: 1.0.2
+ set-function-name: 2.0.2
+
+ es-define-property@1.0.1: {}
+
+ es-errors@1.3.0: {}
+
+ es-object-atoms@1.1.2:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.4
+
+ es-to-primitive@1.3.0:
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.1.0
+ is-symbol: 1.1.1
+
+ es-toolkit@1.47.0: {}
+
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.11.2
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ escalade@3.2.0: {}
+
+ escape-html@1.0.3: {}
+
+ escape-string-regexp@2.0.0: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ escodegen@2.1.0:
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+ optional: true
+
+ esprima@4.0.1: {}
+
+ estraverse@5.3.0:
+ optional: true
+
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
+
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.6
+
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
+
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+
+ esutils@2.0.3:
+ optional: true
+
+ etag@1.8.1: {}
+
+ event-target-shim@5.0.1: {}
+
+ events-universal@1.0.1:
+ dependencies:
+ bare-events: 2.9.1
+ transitivePeerDependencies:
+ - bare-abort-controller
+ optional: true
+
+ eventsource-parser@3.1.1:
+ optional: true
+
+ eventsource@3.0.7:
+ dependencies:
+ eventsource-parser: 3.1.1
+ optional: true
+
+ expand-template@2.0.3:
+ optional: true
+
+ expr-eval-fork@3.0.3: {}
+
+ express-rate-limit@8.7.0(express@5.2.1):
+ dependencies:
+ debug: 4.4.3
+ express: 5.2.1
+ ip-address: 10.2.0
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ express@4.22.0:
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.5
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.7.2
+ cookie-signature: 1.0.7
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.3.2
+ fresh: 0.5.2
+ http-errors: 2.0.1
+ merge-descriptors: 1.0.3
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.13
+ proxy-addr: 2.0.7
+ qs: 6.14.2
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.19.2
+ serve-static: 1.16.3
+ setprototypeof: 1.2.0
+ statuses: 2.0.2
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ express@5.2.1:
+ dependencies:
+ accepts: 2.0.0
+ body-parser: 2.3.0
+ content-disposition: 1.1.0
+ content-type: 1.0.5
+ cookie: 0.7.2
+ cookie-signature: 1.2.2
+ debug: 4.4.3
+ depd: 2.0.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 2.1.1
+ fresh: 2.0.0
+ http-errors: 2.0.1
+ merge-descriptors: 2.0.0
+ mime-types: 3.0.2
+ on-finished: 2.4.1
+ once: 1.4.0
+ parseurl: 1.3.3
+ proxy-addr: 2.0.7
+ qs: 6.15.2
+ range-parser: 1.2.1
+ router: 2.2.0
+ send: 1.2.1
+ serve-static: 2.2.1
+ statuses: 2.0.2
+ type-is: 2.1.0
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ extend@3.0.2: {}
+
+ extract-zip@2.0.1:
+ dependencies:
+ debug: 4.4.3
+ get-stream: 5.2.0
+ yauzl: 2.10.0
+ optionalDependencies:
+ '@types/yauzl': 2.10.3
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-fifo@1.3.2:
+ optional: true
+
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ fast-memoize@2.5.2: {}
+
+ fast-sha256@1.3.0:
+ optional: true
+
+ fast-uri@3.1.2: {}
+
+ fast-xml-builder@1.3.1:
+ dependencies:
+ path-expression-matcher: 1.6.2
+ xml-naming: 0.3.0
+
+ fast-xml-parser@5.7.3:
+ dependencies:
+ '@nodable/entities': 2.2.0
+ fast-xml-builder: 1.3.1
+ path-expression-matcher: 1.6.2
+ strnum: 2.4.2
+
+ fastq@1.20.1:
+ dependencies:
+ reusify: 1.1.0
+
+ fault@2.0.1:
+ dependencies:
+ format: 0.2.2
+
+ favicons@7.2.0:
+ dependencies:
+ escape-html: 1.0.3
+ sharp: 0.33.5
+ xml2js: 0.6.2
+
+ fd-slicer@1.1.0:
+ dependencies:
+ pend: 1.2.0
+ optional: true
+
+ fdir@6.5.0(picomatch@4.0.4):
+ optionalDependencies:
+ picomatch: 4.0.4
+
+ fflate@0.8.2: {}
+
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ finalhandler@1.3.2:
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.2
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ finalhandler@2.1.1:
+ dependencies:
+ debug: 4.4.3
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ follow-redirects@1.16.0(debug@4.4.3):
+ optionalDependencies:
+ debug: 4.4.3
+
+ for-each@0.3.5:
+ dependencies:
+ is-callable: 1.2.7
+
+ form-data-encoder@2.1.4: {}
+
+ form-data@4.0.5:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.4
+ mime-types: 2.1.35
+
+ format@0.2.2: {}
+
+ forwarded@0.2.0: {}
+
+ fractional-indexing@3.2.0: {}
+
+ fresh@0.5.2: {}
+
+ fresh@2.0.0:
+ optional: true
+
+ front-matter@4.0.2:
+ dependencies:
+ js-yaml: 3.14.2
+
+ fs-constants@1.0.0:
+ optional: true
+
+ fs-extra@11.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.1
+ universalify: 2.0.1
+
+ fs-extra@11.1.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.1
+ universalify: 2.0.1
+
+ fs-extra@11.2.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.1
+ universalify: 2.0.1
+
+ fs.realpath@1.0.0: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ function-bind@1.1.2: {}
+
+ function.prototype.name@1.1.8:
+ dependencies:
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ functions-have-names: 1.2.3
+ hasown: 2.0.4
+ is-callable: 1.2.7
+
+ functions-have-names@1.2.3: {}
+
+ gcd@0.0.1: {}
+
+ generator-function@2.0.1: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-east-asian-width@1.6.0: {}
+
+ get-intrinsic@1.3.0:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.2
+ function-bind: 1.1.2
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.4
+ math-intrinsics: 1.1.0
+
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.2
+
+ get-stream@5.2.0:
+ dependencies:
+ pump: 3.0.4
+ optional: true
+
+ get-stream@6.0.1: {}
+
+ get-symbol-description@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+
+ get-uri@6.0.5:
+ dependencies:
+ basic-ftp: 5.3.1
+ data-uri-to-buffer: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ github-from-package@0.0.0:
+ optional: true
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob@7.1.6:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.5
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ globalthis@1.0.4:
+ dependencies:
+ define-properties: 1.2.1
+ gopd: 1.2.0
+
+ gopd@1.2.0: {}
+
+ got@12.6.1:
+ dependencies:
+ '@sindresorhus/is': 5.6.0
+ '@szmarczak/http-timer': 5.0.1
+ cacheable-lookup: 7.0.0
+ cacheable-request: 10.2.14
+ decompress-response: 6.0.0
+ form-data-encoder: 2.1.4
+ get-stream: 6.0.1
+ http2-wrapper: 2.2.1
+ lowercase-keys: 3.0.0
+ p-cancelable: 3.0.0
+ responselike: 3.0.0
+
+ got@13.0.0:
+ dependencies:
+ '@sindresorhus/is': 5.6.0
+ '@szmarczak/http-timer': 5.0.1
+ cacheable-lookup: 7.0.0
+ cacheable-request: 10.2.14
+ decompress-response: 6.0.0
+ form-data-encoder: 2.1.4
+ get-stream: 6.0.1
+ http2-wrapper: 2.2.1
+ lowercase-keys: 3.0.0
+ p-cancelable: 3.0.0
+ responselike: 3.0.0
+
+ graceful-fs@4.2.11: {}
+
+ graphql@16.11.0: {}
+
+ has-bigints@1.1.0: {}
+
+ has-property-descriptors@1.0.2:
+ dependencies:
+ es-define-property: 1.0.1
+
+ has-proto@1.2.0:
+ dependencies:
+ dunder-proto: 1.0.1
+
+ has-symbols@1.1.0: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.1.0
+
+ hasown@2.0.4:
+ dependencies:
+ function-bind: 1.1.2
+
+ hast-util-embedded@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-is-element: 3.0.0
+
+ hast-util-from-dom@5.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hastscript: 9.0.1
+ web-namespaces: 2.0.1
+
+ hast-util-from-html-isomorphic@2.0.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
+
+ hast-util-from-html@2.0.3:
+ 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.2.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+
+ hast-util-has-property@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-is-body-ok-link@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-is-element@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-minify-whitespace@1.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-embedded: 3.0.0
+ hast-util-is-element: 3.0.0
+ hast-util-whitespace: 3.0.0
+ unist-util-is: 6.0.1
+
+ hast-util-parse-selector@4.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-phrasing@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-embedded: 3.0.0
+ hast-util-has-property: 3.0.0
+ hast-util-is-body-ok-link: 3.0.1
+ hast-util-is-element: 3.0.0
+
+ hast-util-to-estree@3.1.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ style-to-object: 0.4.4
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-html@9.0.4:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-mdast@10.1.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.1
+ hast-util-phrasing: 3.0.1
+ hast-util-to-html: 9.0.5
+ hast-util-to-text: 4.0.2
+ hast-util-whitespace: 3.0.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-hast: 13.2.1
+ mdast-util-to-string: 4.0.0
+ rehype-minify-whitespace: 6.0.2
+ trim-trailing-lines: 2.1.0
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+
+ hast-util-to-string@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-to-text@4.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+
+ hast-util-whitespace@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ 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.2.0
+ space-separated-tokens: 2.0.2
+
+ hono@4.13.7:
+ optional: true
+
+ html-void-elements@3.0.0: {}
+
+ http-cache-semantics@4.2.0: {}
+
+ http-errors@2.0.1:
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.2
+ toidentifier: 1.0.1
+
+ http-proxy-agent@7.0.2:
+ dependencies:
+ agent-base: 7.1.4
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ http2-wrapper@2.2.1:
+ dependencies:
+ quick-lru: 5.1.1
+ resolve-alpn: 1.2.1
+
+ https-proxy-agent@5.0.1:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ https-proxy-agent@7.0.6:
+ dependencies:
+ agent-base: 7.1.4
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ ico-endec@0.1.6: {}
+
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ iconv-lite@0.7.2:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ ieee754@1.2.1:
+ optional: true
+
+ ignore@7.0.5: {}
+
+ immer@9.0.21: {}
+
+ import-fresh@3.3.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ optional: true
+
+ indent-string@5.0.0: {}
+
+ inflight@1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ inherits@2.0.4: {}
+
+ ini@1.3.8:
+ optional: true
+
+ ink-spinner@5.0.0(ink@6.3.0(@types/react@19.2.14)(react@19.2.3))(react@19.2.3):
+ dependencies:
+ cli-spinners: 2.9.2
+ ink: 6.3.0(@types/react@19.2.14)(react@19.2.3)
+ react: 19.2.3
+
+ ink@6.3.0(@types/react@19.2.14)(react@19.2.3):
+ dependencies:
+ '@alcalzone/ansi-tokenize': 0.2.5
+ ansi-escapes: 7.3.0
+ ansi-styles: 6.2.3
+ auto-bind: 5.0.1
+ chalk: 5.6.2
+ cli-boxes: 3.0.0
+ cli-cursor: 4.0.0
+ cli-truncate: 4.0.0
+ code-excerpt: 4.0.0
+ es-toolkit: 1.47.0
+ indent-string: 5.0.0
+ is-in-ci: 2.0.0
+ patch-console: 2.0.0
+ react: 19.2.3
+ react-reconciler: 0.32.0(react@19.2.3)
+ signal-exit: 3.0.7
+ slice-ansi: 7.1.2
+ stack-utils: 2.0.6
+ string-width: 7.2.0
+ type-fest: 4.41.0
+ widest-line: 5.0.0
+ wrap-ansi: 9.0.2
+ ws: 8.21.0
+ yoga-layout: 3.2.1
+ optionalDependencies:
+ '@types/react': 19.2.14
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ inline-style-parser@0.1.1: {}
+
+ inline-style-parser@0.2.7: {}
+
+ inquirer@12.3.0(@types/node@25.9.1):
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.9.1)
+ '@inquirer/prompts': 7.9.0(@types/node@25.9.1)
+ '@inquirer/type': 3.0.10(@types/node@25.9.1)
+ '@types/node': 25.9.1
+ ansi-escapes: 4.3.2
+ mute-stream: 2.0.0
+ run-async: 3.0.0
+ rxjs: 7.8.2
+
+ internal-slot@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.4
+ side-channel: 1.1.0
+
+ ip-address@10.2.0:
+ optional: true
+
+ ip-regex@4.3.0: {}
+
+ ipaddr.js@1.9.1: {}
+
+ iregexp-check@0.1.2: {}
+
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+
+ is-array-buffer@3.0.5:
+ dependencies:
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+
+ is-arrayish@0.2.1:
+ optional: true
+
+ is-arrayish@0.3.4: {}
+
+ is-async-function@2.1.1:
+ dependencies:
+ async-function: 1.0.0
+ call-bound: 1.0.4
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
+
+ is-bigint@1.1.0:
+ dependencies:
+ has-bigints: 1.1.0
+
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
+ is-boolean-object@1.2.2:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
+
+ is-callable@1.2.7: {}
+
+ is-core-module@2.16.2:
+ dependencies:
+ hasown: 2.0.4
+
+ is-data-view@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ is-typed-array: 1.1.15
+
+ is-date-object@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- p-some@6.0.0:
- dependencies:
- aggregate-error: 4.0.1
- p-cancelable: 3.0.0
+ is-decimal@2.0.1: {}
- p-timeout@5.1.0: {}
+ is-docker@2.2.1: {}
- pac-proxy-agent@7.2.0:
- dependencies:
- "@tootallnate/quickjs-emscripten": 0.23.0
- agent-base: 7.1.4
- debug: 4.4.3
- get-uri: 6.0.5
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
- pac-resolver: 7.0.1
- socks-proxy-agent: 8.0.5
- transitivePeerDependencies:
- - supports-color
+ is-extglob@2.1.1: {}
- pac-resolver@7.0.1:
- dependencies:
- degenerator: 5.0.1
- netmask: 2.1.1
+ is-finalizationregistry@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
- parent-module@1.0.1:
- dependencies:
- callsites: 3.1.0
+ is-fullwidth-code-point@3.0.0: {}
- 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@5.2.0:
- dependencies:
- "@babel/code-frame": 7.29.7
- error-ex: 1.3.4
- json-parse-even-better-errors: 2.3.1
- lines-and-columns: 1.2.4
-
- parse-latin@7.0.0:
- dependencies:
- "@types/nlcst": 2.0.3
- "@types/unist": 3.0.3
- nlcst-to-string: 4.0.0
- unist-util-modify-children: 4.0.0
- unist-util-visit-children: 3.0.0
- vfile: 6.0.3
-
- parse5@7.3.0:
- dependencies:
- entities: 6.0.1
-
- parseurl@1.3.3: {}
-
- patch-console@2.0.0: {}
-
- path-expression-matcher@1.6.2: {}
-
- path-is-absolute@1.0.1: {}
-
- path-key@3.1.1: {}
-
- path-parse@1.0.7: {}
-
- path-to-regexp@0.1.13: {}
-
- path-to-regexp@8.4.2:
- optional: true
+ is-fullwidth-code-point@4.0.0: {}
- pend@1.2.0: {}
+ is-fullwidth-code-point@5.1.0:
+ dependencies:
+ get-east-asian-width: 1.6.0
- picocolors@1.1.1: {}
+ is-generator-function@1.1.2:
+ dependencies:
+ call-bound: 1.0.4
+ generator-function: 2.0.1
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
- picomatch@2.3.2: {}
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
- picomatch@4.0.4: {}
+ is-hexadecimal@2.0.1: {}
- pify@2.3.0: {}
+ is-in-ci@2.0.0: {}
- pirates@4.0.7: {}
+ is-ip@3.1.0:
+ dependencies:
+ ip-regex: 4.3.0
- pkce-challenge@5.0.1:
- optional: true
+ is-map@2.0.3: {}
- pony-cause@1.1.1: {}
-
- possible-typed-array-names@1.1.0: {}
-
- postcss-import@15.1.0(postcss@8.5.23):
- dependencies:
- postcss: 8.5.23
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.12
-
- postcss-js@4.1.0(postcss@8.5.23):
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.5.23
-
- postcss-load-config@4.0.2(postcss@8.5.23):
- dependencies:
- lilconfig: 3.1.3
- yaml: 2.9.0
- optionalDependencies:
- postcss: 8.5.23
-
- postcss-nested@6.2.0(postcss@8.5.23):
- dependencies:
- postcss: 8.5.23
- postcss-selector-parser: 6.1.2
-
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.5.23:
- dependencies:
- nanoid: 3.3.18
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- posthog-node@5.17.2:
- dependencies:
- "@posthog/core": 1.7.1
-
- prebuild-install@7.1.3:
- dependencies:
- detect-libc: 2.1.2
- expand-template: 2.0.3
- github-from-package: 0.0.0
- minimist: 1.2.8
- mkdirp-classic: 0.5.3
- napi-build-utils: 2.0.0
- node-abi: 3.92.0
- pump: 3.0.4
- rc: 1.2.8
- simple-get: 4.0.1
- tar-fs: 2.1.4
- tunnel-agent: 0.6.0
- optional: true
+ is-negative-zero@2.0.3: {}
- progress@2.0.3: {}
-
- property-information@6.5.0: {}
-
- property-information@7.2.0: {}
-
- prosemirror-model@1.25.11:
- dependencies:
- orderedmap: 2.1.1
-
- proxy-addr@2.0.7:
- dependencies:
- forwarded: 0.2.0
- ipaddr.js: 1.9.1
-
- proxy-agent@6.5.0:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
- lru-cache: 7.18.3
- pac-proxy-agent: 7.2.0
- proxy-from-env: 1.1.0
- socks-proxy-agent: 8.0.5
- transitivePeerDependencies:
- - supports-color
-
- proxy-from-env@1.1.0: {}
-
- proxy-from-env@2.1.0: {}
-
- public-ip@5.0.0:
- dependencies:
- dns-socket: 4.2.2
- got: 12.6.1
- is-ip: 3.1.0
-
- pump@3.0.4:
- dependencies:
- end-of-stream: 1.4.5
- once: 1.4.0
-
- puppeteer-core@24.3.1:
- dependencies:
- "@puppeteer/browsers": 2.7.1
- chromium-bidi: 2.1.2(devtools-protocol@0.0.1402036)
- debug: 4.4.3
- devtools-protocol: 0.0.1402036
- typed-query-selector: 2.12.2
- ws: 8.21.0
- transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - react-native-b4a
- - supports-color
- - utf-8-validate
-
- puppeteer@24.3.1(typescript@6.0.3):
- dependencies:
- "@puppeteer/browsers": 2.7.1
- chromium-bidi: 2.1.2(devtools-protocol@0.0.1402036)
- cosmiconfig: 9.0.1(typescript@6.0.3)
- devtools-protocol: 0.0.1402036
- puppeteer-core: 24.3.1
- typed-query-selector: 2.12.2
- transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- - bufferutil
- - react-native-b4a
- - supports-color
- - typescript
- - utf-8-validate
-
- qs@6.14.2:
- dependencies:
- side-channel: 1.1.0
-
- qs@6.15.2:
- dependencies:
- side-channel: 1.1.0
-
- queue-microtask@1.2.3: {}
-
- quick-lru@5.1.1: {}
-
- range-parser@1.2.1: {}
-
- raw-body@2.5.3:
- dependencies:
- bytes: 3.1.2
- http-errors: 2.0.1
- iconv-lite: 0.4.24
- unpipe: 1.0.0
-
- raw-body@3.0.2:
- dependencies:
- bytes: 3.1.2
- http-errors: 2.0.1
- iconv-lite: 0.7.2
- unpipe: 1.0.0
- optional: true
+ is-number-object@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- rc@1.2.8:
- dependencies:
- deep-extend: 0.6.0
- ini: 1.3.8
- minimist: 1.2.8
- strip-json-comments: 2.0.1
- optional: true
+ is-number@7.0.0: {}
- re2js@2.8.6: {}
+ is-online@10.0.0:
+ dependencies:
+ got: 12.6.1
+ p-any: 4.0.0
+ p-timeout: 5.1.0
+ public-ip: 5.0.0
- react-dom@19.2.3(react@19.2.3):
- dependencies:
- react: 19.2.3
- scheduler: 0.27.0
+ is-plain-obj@4.1.0: {}
- react-reconciler@0.32.0(react@19.2.3):
- dependencies:
- react: 19.2.3
- scheduler: 0.26.0
+ is-promise@4.0.0:
+ optional: true
- react@19.2.3: {}
+ is-regex@1.2.1:
+ dependencies:
+ call-bound: 1.0.4
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.4
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
+ is-set@2.0.3: {}
- readable-stream@3.6.2:
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
- optional: true
+ is-shared-array-buffer@1.0.4:
+ dependencies:
+ call-bound: 1.0.4
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.2
-
- recma-build-jsx@1.0.0:
- dependencies:
- "@types/estree": 1.0.9
- estree-util-build-jsx: 3.0.1
- vfile: 6.0.3
-
- recma-jsx@1.0.1(acorn@8.11.2):
- dependencies:
- acorn: 8.11.2
- acorn-jsx: 5.3.2(acorn@8.11.2)
- estree-util-to-js: 2.0.0
- recma-parse: 1.0.0
- recma-stringify: 1.0.0
- unified: 11.0.5
-
- recma-parse@1.0.0:
- dependencies:
- "@types/estree": 1.0.9
- esast-util-from-js: 2.0.1
- unified: 11.0.5
- vfile: 6.0.3
-
- recma-stringify@1.0.0:
- dependencies:
- "@types/estree": 1.0.9
- estree-util-to-js: 2.0.0
- unified: 11.0.5
- vfile: 6.0.3
-
- reflect.getprototypeof@1.0.10:
- dependencies:
- call-bind: 1.0.9
- define-properties: 1.2.1
- es-abstract: 1.24.2
- es-errors: 1.3.0
- es-object-atoms: 1.1.2
- get-intrinsic: 1.3.0
- get-proto: 1.0.1
- which-builtin-type: 1.2.1
-
- regex-recursion@6.0.2:
- dependencies:
- regex-utilities: 2.3.0
-
- regex-utilities@2.3.0: {}
-
- regex@6.1.0:
- dependencies:
- regex-utilities: 2.3.0
-
- regexp.prototype.flags@1.5.4:
- dependencies:
- call-bind: 1.0.9
- define-properties: 1.2.1
- es-errors: 1.3.0
- get-proto: 1.0.1
- gopd: 1.2.0
- set-function-name: 2.0.2
-
- 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.47
- unist-util-visit-parents: 6.0.2
- vfile: 6.0.3
-
- rehype-minify-whitespace@6.0.2:
- dependencies:
- "@types/hast": 3.0.4
- hast-util-minify-whitespace: 1.0.1
-
- rehype-parse@9.0.1:
- dependencies:
- "@types/hast": 3.0.4
- hast-util-from-html: 2.0.3
- unified: 11.0.5
-
- rehype-recma@1.0.0:
- dependencies:
- "@types/estree": 1.0.9
- "@types/hast": 3.0.4
- hast-util-to-estree: 3.1.3
- transitivePeerDependencies:
- - supports-color
-
- rehype-stringify@10.0.1:
- dependencies:
- "@types/hast": 3.0.4
- hast-util-to-html: 9.0.5
- unified: 11.0.5
-
- remark-frontmatter@5.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- mdast-util-frontmatter: 2.0.1
- micromark-extension-frontmatter: 2.0.0
- unified: 11.0.5
- transitivePeerDependencies:
- - supports-color
-
- remark-gfm@4.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- mdast-util-gfm: 3.1.0
- micromark-extension-gfm: 3.0.0
- remark-parse: 11.0.0
- remark-stringify: 11.0.0
- unified: 11.0.5
- transitivePeerDependencies:
- - supports-color
-
- remark-gfm@4.0.1:
- dependencies:
- "@types/mdast": 4.0.4
- mdast-util-gfm: 3.1.0
- micromark-extension-gfm: 3.0.0
- remark-parse: 11.0.0
- remark-stringify: 11.0.0
- unified: 11.0.5
- transitivePeerDependencies:
- - supports-color
-
- remark-math@6.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- mdast-util-math: 3.0.0
- micromark-extension-math: 3.1.0
- unified: 11.0.5
- transitivePeerDependencies:
- - supports-color
-
- remark-mdx-remove-esm@1.3.2(unified@11.0.5):
- dependencies:
- "@types/mdast": 4.0.4
- unified: 11.0.5
- unist-util-remove: 4.0.0
-
- remark-mdx@3.0.1:
- dependencies:
- mdast-util-mdx: 3.0.0
- micromark-extension-mdxjs: 3.0.0
- transitivePeerDependencies:
- - supports-color
-
- remark-mdx@3.1.0:
- dependencies:
- mdast-util-mdx: 3.0.0
- micromark-extension-mdxjs: 3.0.0
- transitivePeerDependencies:
- - supports-color
-
- remark-mdx@3.1.1:
- dependencies:
- mdast-util-mdx: 3.0.0
- micromark-extension-mdxjs: 3.0.0
- transitivePeerDependencies:
- - supports-color
-
- remark-parse@11.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- mdast-util-from-markdown: 2.0.3
- micromark-util-types: 2.0.2
- unified: 11.0.5
- transitivePeerDependencies:
- - supports-color
-
- remark-rehype@11.1.1:
- dependencies:
- "@types/hast": 3.0.4
- "@types/mdast": 4.0.4
- mdast-util-to-hast: 13.2.1
- unified: 11.0.5
- vfile: 6.0.3
-
- remark-smartypants@3.0.2:
- dependencies:
- retext: 9.0.0
- retext-smartypants: 6.2.0
- unified: 11.0.5
- unist-util-visit: 5.0.0
-
- remark-stringify@11.0.0:
- dependencies:
- "@types/mdast": 4.0.4
- mdast-util-to-markdown: 2.1.2
- unified: 11.0.5
-
- remark@15.0.1:
- dependencies:
- "@types/mdast": 4.0.4
- remark-parse: 11.0.0
- remark-stringify: 11.0.0
- unified: 11.0.5
- transitivePeerDependencies:
- - supports-color
-
- require-directory@2.1.1: {}
-
- require-from-string@2.0.2: {}
-
- reselect@5.3.0: {}
-
- resolve-alpn@1.2.1: {}
-
- resolve-from@4.0.0: {}
-
- resolve@1.22.12:
- dependencies:
- es-errors: 1.3.0
- is-core-module: 2.16.2
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- responselike@3.0.0:
- dependencies:
- lowercase-keys: 3.0.0
-
- restore-cursor@4.0.0:
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
-
- retext-latin@4.0.0:
- dependencies:
- "@types/nlcst": 2.0.3
- parse-latin: 7.0.0
- unified: 11.0.5
-
- retext-smartypants@6.2.0:
- dependencies:
- "@types/nlcst": 2.0.3
- nlcst-to-string: 4.0.0
- unist-util-visit: 5.0.0
-
- retext-stringify@4.0.0:
- dependencies:
- "@types/nlcst": 2.0.3
- nlcst-to-string: 4.0.0
- unified: 11.0.5
-
- retext@9.0.0:
- dependencies:
- "@types/nlcst": 2.0.3
- retext-latin: 4.0.0
- retext-stringify: 4.0.0
- unified: 11.0.5
-
- reusify@1.1.0: {}
-
- router@2.2.0:
- dependencies:
- debug: 4.4.3
- depd: 2.0.0
- is-promise: 4.0.0
- parseurl: 1.3.3
- path-to-regexp: 8.4.2
- transitivePeerDependencies:
- - supports-color
- optional: true
+ is-string@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- run-async@3.0.0: {}
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- rxjs@7.8.2:
- dependencies:
- tslib: 2.8.1
-
- safe-array-concat@1.1.4:
- dependencies:
- call-bind: 1.0.9
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
- has-symbols: 1.1.0
- isarray: 2.0.5
-
- safe-buffer@5.2.1: {}
-
- safe-push-apply@1.0.0:
- dependencies:
- es-errors: 1.3.0
- isarray: 2.0.5
-
- safe-regex-test@1.1.0:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-regex: 1.2.1
-
- safe-stable-stringify@1.1.1: {}
-
- safer-buffer@2.1.2: {}
-
- sax@1.6.0: {}
-
- scheduler@0.26.0: {}
-
- scheduler@0.27.0: {}
-
- semver@7.7.2: {}
-
- send@0.19.2:
- dependencies:
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 0.5.2
- http-errors: 2.0.1
- mime: 1.6.0
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.2
- transitivePeerDependencies:
- - supports-color
-
- send@1.2.1:
- dependencies:
- debug: 4.4.3
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 2.0.0
- http-errors: 2.0.1
- mime-types: 3.0.2
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.2
- transitivePeerDependencies:
- - supports-color
- optional: true
+ is-symbol@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+ has-symbols: 1.1.0
+ safe-regex-test: 1.1.0
- serialize-error@13.0.1:
- dependencies:
- non-error: 0.1.0
- type-fest: 5.7.0
-
- serve-static@1.16.3:
- dependencies:
- encodeurl: 2.0.0
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.19.2
- transitivePeerDependencies:
- - supports-color
-
- serve-static@2.2.1:
- dependencies:
- encodeurl: 2.0.0
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 1.2.1
- transitivePeerDependencies:
- - supports-color
- optional: true
+ is-typed-array@1.1.15:
+ dependencies:
+ which-typed-array: 1.1.21
- set-function-length@1.2.2:
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.3.0
- gopd: 1.2.0
- has-property-descriptors: 1.0.2
-
- set-function-name@2.0.2:
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- functions-have-names: 1.2.3
- has-property-descriptors: 1.0.2
-
- set-proto@1.0.0:
- dependencies:
- dunder-proto: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.2
-
- setprototypeof@1.2.0: {}
-
- sharp-ico@0.1.5:
- dependencies:
- decode-ico: 0.4.1
- ico-endec: 0.1.6
- sharp: 0.33.5
-
- sharp@0.33.5:
- dependencies:
- color: 4.2.3
- detect-libc: 2.1.2
- semver: 7.7.2
- optionalDependencies:
- "@img/sharp-darwin-arm64": 0.33.5
- "@img/sharp-darwin-x64": 0.33.5
- "@img/sharp-libvips-darwin-arm64": 1.0.4
- "@img/sharp-libvips-darwin-x64": 1.0.4
- "@img/sharp-libvips-linux-arm": 1.0.5
- "@img/sharp-libvips-linux-arm64": 1.0.4
- "@img/sharp-libvips-linux-s390x": 1.0.4
- "@img/sharp-libvips-linux-x64": 1.0.4
- "@img/sharp-libvips-linuxmusl-arm64": 1.0.4
- "@img/sharp-libvips-linuxmusl-x64": 1.0.4
- "@img/sharp-linux-arm": 0.33.5
- "@img/sharp-linux-arm64": 0.33.5
- "@img/sharp-linux-s390x": 0.33.5
- "@img/sharp-linux-x64": 0.33.5
- "@img/sharp-linuxmusl-arm64": 0.33.5
- "@img/sharp-linuxmusl-x64": 0.33.5
- "@img/sharp-wasm32": 0.33.5
- "@img/sharp-win32-ia32": 0.33.5
- "@img/sharp-win32-x64": 0.33.5
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- shiki@3.23.0:
- dependencies:
- "@shikijs/core": 3.23.0
- "@shikijs/engine-javascript": 3.23.0
- "@shikijs/engine-oniguruma": 3.23.0
- "@shikijs/langs": 3.23.0
- "@shikijs/themes": 3.23.0
- "@shikijs/types": 3.23.0
- "@shikijs/vscode-textmate": 10.0.2
- "@types/hast": 3.0.4
-
- side-channel-list@1.0.1:
- dependencies:
- es-errors: 1.3.0
- object-inspect: 1.13.4
-
- side-channel-map@1.0.1:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- object-inspect: 1.13.4
-
- side-channel-weakmap@1.0.2:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- object-inspect: 1.13.4
- side-channel-map: 1.0.1
-
- side-channel@1.1.0:
- dependencies:
- es-errors: 1.3.0
- object-inspect: 1.13.4
- side-channel-list: 1.0.1
- side-channel-map: 1.0.1
- side-channel-weakmap: 1.0.2
-
- signal-exit@3.0.7: {}
-
- signal-exit@4.1.0: {}
-
- simple-concat@1.0.1:
- optional: true
+ is-weakmap@2.0.2: {}
- simple-get@4.0.1:
- dependencies:
- decompress-response: 6.0.0
- once: 1.4.0
- simple-concat: 1.0.1
- optional: true
+ is-weakref@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
- simple-swizzle@0.2.4:
- dependencies:
- is-arrayish: 0.3.4
-
- slice-ansi@5.0.0:
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 4.0.0
-
- slice-ansi@7.1.2:
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 5.1.0
-
- smart-buffer@4.2.0: {}
-
- socket.io-adapter@2.5.7:
- dependencies:
- debug: 4.4.3
- ws: 8.20.1
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- socket.io-parser@4.2.6:
- dependencies:
- "@socket.io/component-emitter": 3.1.2
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- socket.io@4.8.0:
- dependencies:
- accepts: 1.3.8
- base64id: 2.0.0
- cors: 2.8.6
- debug: 4.3.7
- engine.io: 6.6.8
- socket.io-adapter: 2.5.7
- socket.io-parser: 4.2.6
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- socks-proxy-agent@8.0.5:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3
- socks: 2.8.9
- transitivePeerDependencies:
- - supports-color
-
- socks@2.8.9:
- dependencies:
- ip-address: 10.2.0
- smart-buffer: 4.2.0
-
- source-map-js@1.2.1: {}
-
- source-map@0.6.1:
- optional: true
+ is-weakset@2.0.4:
+ dependencies:
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
- source-map@0.7.6: {}
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
- space-separated-tokens@2.0.2: {}
+ isarray@2.0.5: {}
- sprintf-js@1.0.3: {}
+ isexe@2.0.0: {}
- stack-utils@2.0.6:
- dependencies:
- escape-string-regexp: 2.0.0
+ jiti@1.21.7: {}
- standardwebhooks@1.1.1:
- dependencies:
- "@stablelib/base64": 1.0.1
- fast-sha256: 1.3.0
- optional: true
+ jose@6.2.3: {}
- statuses@2.0.2: {}
-
- stop-iteration-iterator@1.1.0:
- dependencies:
- es-errors: 1.3.0
- internal-slot: 1.1.0
-
- streamx@2.26.0:
- dependencies:
- events-universal: 1.0.1
- fast-fifo: 1.3.2
- text-decoder: 1.2.7
- transitivePeerDependencies:
- - bare-abort-controller
- - react-native-b4a
-
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- string-width@7.2.0:
- dependencies:
- emoji-regex: 10.6.0
- get-east-asian-width: 1.6.0
- strip-ansi: 7.2.0
-
- string.prototype.trim@1.2.10:
- dependencies:
- call-bind: 1.0.9
- call-bound: 1.0.4
- define-data-property: 1.1.4
- define-properties: 1.2.1
- es-abstract: 1.24.2
- es-object-atoms: 1.1.2
- has-property-descriptors: 1.0.2
-
- string.prototype.trimend@1.0.9:
- dependencies:
- call-bind: 1.0.9
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.2
-
- string.prototype.trimstart@1.0.8:
- dependencies:
- call-bind: 1.0.9
- define-properties: 1.2.1
- es-object-atoms: 1.1.2
-
- string_decoder@1.3.0:
- dependencies:
- safe-buffer: 5.2.1
- optional: true
+ js-tokens@4.0.0: {}
- stringify-entities@4.0.4:
- dependencies:
- character-entities-html4: 2.1.0
- character-entities-legacy: 3.0.0
+ js-yaml@3.14.2:
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
+ js-yaml@4.3.1:
+ dependencies:
+ argparse: 2.0.1
- strip-ansi@7.2.0:
- dependencies:
- ansi-regex: 6.2.2
+ js-yaml@4.3.2:
+ dependencies:
+ argparse: 2.0.1
- strip-json-comments@2.0.1:
- optional: true
+ js-yaml@5.4.2:
+ dependencies:
+ argparse: 2.0.1
- strnum@2.4.2:
- dependencies:
- anynum: 1.0.1
-
- style-to-js@1.1.21:
- dependencies:
- style-to-object: 1.0.14
-
- style-to-object@0.4.4:
- dependencies:
- inline-style-parser: 0.1.1
-
- style-to-object@1.0.14:
- dependencies:
- inline-style-parser: 0.2.7
-
- sucrase@3.34.0:
- dependencies:
- "@jridgewell/gen-mapping": 0.3.13
- commander: 4.1.1
- glob: 7.1.6
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.7
- ts-interface-checker: 0.1.13
-
- sucrase@3.35.1:
- dependencies:
- "@jridgewell/gen-mapping": 0.3.13
- commander: 4.1.1
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.7
- tinyglobby: 0.2.17
- ts-interface-checker: 0.1.13
-
- supports-preserve-symlinks-flag@1.0.0: {}
-
- tagged-tag@1.0.0: {}
-
- tailwindcss@3.4.17:
- dependencies:
- "@alloc/quick-lru": 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.3
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.7
- lilconfig: 3.1.3
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.5.23
- postcss-import: 15.1.0(postcss@8.5.23)
- postcss-js: 4.1.0(postcss@8.5.23)
- postcss-load-config: 4.0.2(postcss@8.5.23)
- postcss-nested: 6.2.0(postcss@8.5.23)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.12
- sucrase: 3.35.1
- transitivePeerDependencies:
- - ts-node
-
- tar-fs@2.1.4:
- dependencies:
- chownr: 1.1.4
- mkdirp-classic: 0.5.3
- pump: 3.0.4
- tar-stream: 2.2.0
- optional: true
+ jsep@1.4.0: {}
- tar-fs@3.1.2:
- dependencies:
- pump: 3.0.4
- tar-stream: 3.2.0
- optionalDependencies:
- bare-fs: 4.7.2
- bare-path: 3.0.1
- transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- - react-native-b4a
-
- tar-stream@2.2.0:
- dependencies:
- bl: 4.1.0
- end-of-stream: 1.4.5
- fs-constants: 1.0.0
- inherits: 2.0.4
- readable-stream: 3.6.2
- optional: true
+ json-buffer@3.0.1: {}
- tar-stream@3.2.0:
- dependencies:
- b4a: 1.8.1
- bare-fs: 4.7.2
- fast-fifo: 1.3.2
- streamx: 2.26.0
- transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- - react-native-b4a
+ json-p3@2.2.2: {}
- tar@7.5.21:
- dependencies:
- "@isaacs/fs-minipass": 4.0.1
- chownr: 3.0.0
- minipass: 7.1.3
- minizlib: 3.1.0
- yallist: 5.0.0
+ json-parse-even-better-errors@2.3.1:
+ optional: true
- teex@1.0.1:
- dependencies:
- streamx: 2.26.0
- transitivePeerDependencies:
- - bare-abort-controller
- - react-native-b4a
+ json-schema-to-ts@3.1.1:
+ dependencies:
+ '@babel/runtime': 7.29.7
+ ts-algebra: 2.0.0
+ optional: true
- text-decoder@1.2.7:
- dependencies:
- b4a: 1.8.1
- transitivePeerDependencies:
- - react-native-b4a
+ json-schema-traverse@1.0.0: {}
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
+ json-schema-typed@8.0.2:
+ optional: true
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
+ jsonc-parser@2.2.1: {}
- tinyglobby@0.2.17:
- dependencies:
- fdir: 6.5.0(picomatch@4.0.4)
- picomatch: 4.0.4
+ jsonc-parser@3.3.1: {}
- to-data-view@1.1.0: {}
+ jsonfile@6.2.1:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
+ jsonpath-plus@10.4.0:
+ dependencies:
+ '@jsep-plugin/assignment': 1.3.0(jsep@1.4.0)
+ '@jsep-plugin/regex': 1.0.4(jsep@1.4.0)
+ jsep: 1.4.0
- toidentifier@1.0.1: {}
+ jsonpointer@5.0.1: {}
- tr46@0.0.3: {}
+ katex@0.16.47:
+ dependencies:
+ commander: 8.3.0
- trim-lines@3.0.1: {}
+ keytar@7.9.0:
+ dependencies:
+ node-addon-api: 4.3.0
+ prebuild-install: 7.1.3
+ optional: true
+
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+
+ lcm@0.0.3:
+ dependencies:
+ gcd: 0.0.1
+
+ leven@3.1.0: {}
+
+ leven@4.1.0: {}
+
+ lilconfig@3.1.3: {}
+
+ lines-and-columns@1.2.4: {}
+
+ lodash.topath@4.5.2: {}
+
+ lodash@4.18.1: {}
+
+ longest-streak@3.1.0: {}
+
+ lowercase-keys@3.0.0: {}
+
+ lru-cache@7.18.3:
+ optional: true
+
+ markdown-extensions@2.0.0: {}
+
+ markdown-table@3.0.4: {}
+
+ math-intrinsics@1.1.0: {}
+
+ mdast-util-find-and-replace@3.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
+
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-from-markdown@2.0.3:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-frontmatter@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ escape-string-regexp: 5.0.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ micromark-extension-frontmatter: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
+
+ mdast-util-gfm-footnote@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-table@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm@3.1.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-math@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ longest-streak: 3.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ unist-util-remove-position: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.1.3:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.3
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.1
+
+ mdast-util-to-hast@13.2.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.1
+ 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.0.0
+ vfile: 6.0.3
+
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
+ media-typer@0.3.0: {}
+
+ media-typer@1.1.1:
+ optional: true
+
+ merge-descriptors@1.0.3: {}
+
+ merge-descriptors@2.0.0:
+ optional: true
+
+ merge2@1.4.1: {}
+
+ methods@1.1.2: {}
+
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-frontmatter@2.0.0:
+ dependencies:
+ fault: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-table@2.1.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-math@3.1.0:
+ dependencies:
+ '@types/katex': 0.16.8
+ devlop: 1.1.0
+ katex: 0.16.47
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.1:
+ dependencies:
+ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.11.2
+ acorn-jsx: 5.3.2(acorn@8.11.2)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.1
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-mdx-expression@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-character@2.1.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-chunked@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-classify-character@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-combine-extensions@2.0.1:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-decode-string@2.0.1:
+ dependencies:
+ decode-named-character-reference: 1.3.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-encode@2.0.1: {}
+
+ micromark-util-events-to-acorn@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-util-html-tag-name@2.0.1: {}
+
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ 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@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-symbol@2.0.1: {}
+
+ micromark-util-types@2.0.2: {}
+
+ micromark@4.0.2:
+ dependencies:
+ '@types/debug': 4.1.13
+ debug: 4.4.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.2
+
+ mime-db@1.52.0: {}
+
+ mime-db@1.54.0:
+ optional: true
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mime-types@3.0.2:
+ dependencies:
+ mime-db: 1.54.0
+ optional: true
+
+ mime@1.6.0: {}
+
+ mimic-fn@2.1.0: {}
+
+ mimic-response@3.1.0: {}
+
+ mimic-response@4.0.0: {}
+
+ minimatch@3.1.5:
+ dependencies:
+ brace-expansion: 1.1.15
+
+ minimist@1.2.8:
+ optional: true
+
+ minipass@7.1.3: {}
+
+ minizlib@3.1.0:
+ dependencies:
+ minipass: 7.1.3
+
+ mintlify@4.2.981(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3):
+ dependencies:
+ '@mintlify/cli': 4.0.1584(@base-ui/react@1.8.0(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@25.9.1)(@types/react@19.2.14)(debug@4.4.3)(puppeteer@24.3.1(typescript@6.0.3))(react-dom@19.2.3(react@19.2.3))(typescript@6.0.3)
+ transitivePeerDependencies:
+ - '@base-ui/react'
+ - '@cfworker/json-schema'
+ - '@types/node'
+ - '@types/react'
+ - bufferutil
+ - debug
+ - encoding
+ - puppeteer
+ - react-devtools-core
+ - react-dom
+ - supports-color
+ - ts-node
+ - typescript
+ - utf-8-validate
+
+ mitt@3.0.1:
+ optional: true
+
+ mkdirp-classic@0.5.3:
+ optional: true
+
+ ms@2.0.0: {}
+
+ ms@2.1.3: {}
+
+ mute-stream@2.0.0: {}
+
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
+ nanoid@3.3.18: {}
+
+ napi-build-utils@2.0.0:
+ optional: true
+
+ negotiator@0.6.3: {}
+
+ negotiator@1.1.0:
+ dependencies:
+ content-type: 2.1.0
+ optional: true
+
+ neotraverse@0.6.18: {}
+
+ netmask@2.1.1:
+ optional: true
- trim-trailing-lines@2.1.0: {}
+ next-mdx-remote-client@2.1.12(@types/react@19.2.14)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(unified@11.0.5):
+ dependencies:
+ '@babel/code-frame': 7.29.7
+ '@mdx-js/mdx': 3.1.1
+ '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.3)
+ '@types/mdx': 2.0.14
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ remark-mdx-remove-esm: 1.3.2(unified@11.0.5)
+ serialize-error: 13.0.1
+ vfile: 6.0.3
+ vfile-matter: 5.0.1
+ transitivePeerDependencies:
+ - '@types/react'
+ - supports-color
+ - unified
+
+ nimma@0.2.3:
+ dependencies:
+ '@jsep-plugin/regex': 1.0.4(jsep@1.4.0)
+ '@jsep-plugin/ternary': 1.1.4(jsep@1.4.0)
+ astring: 1.9.0
+ jsep: 1.4.0
+ optionalDependencies:
+ jsonpath-plus: 10.4.0
+ lodash.topath: 4.5.2
- trough@2.2.0: {}
+ nlcst-to-string@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+
+ node-abi@3.92.0:
+ dependencies:
+ semver: 7.7.2
+ optional: true
+
+ node-addon-api@4.3.0:
+ optional: true
+
+ node-fetch@2.6.7:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ non-error@0.1.0: {}
+
+ normalize-path@3.0.0: {}
+
+ normalize-url@8.1.1: {}
+
+ oauth4webapi@3.8.6: {}
+
+ object-assign@4.1.1: {}
+
+ object-hash@3.0.0: {}
+
+ object-inspect@1.13.4: {}
+
+ object-keys@1.1.1: {}
+
+ object.assign@4.1.7:
+ dependencies:
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.2
+ has-symbols: 1.1.0
+ object-keys: 1.1.1
+
+ on-finished@2.4.1:
+ dependencies:
+ ee-first: 1.1.1
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
+ oniguruma-parser@0.12.2: {}
+
+ oniguruma-to-es@4.3.6:
+ dependencies:
+ oniguruma-parser: 0.12.2
+ regex: 6.1.0
+ regex-recursion: 6.0.2
+
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
+ openapi-types@12.1.3: {}
+
+ openid-client@6.8.2:
+ dependencies:
+ jose: 6.2.3
+ oauth4webapi: 3.8.6
+
+ orderedmap@2.1.1: {}
+
+ own-keys@1.0.1:
+ dependencies:
+ get-intrinsic: 1.3.0
+ object-keys: 1.1.1
+ safe-push-apply: 1.0.0
- ts-algebra@2.0.0:
- optional: true
+ p-any@4.0.0:
+ dependencies:
+ p-cancelable: 3.0.0
+ p-some: 6.0.0
- ts-interface-checker@0.1.13: {}
+ p-cancelable@3.0.0: {}
- tslib@1.14.1: {}
+ p-some@6.0.0:
+ dependencies:
+ aggregate-error: 4.0.1
+ p-cancelable: 3.0.0
- tslib@2.8.1: {}
+ p-timeout@5.1.0: {}
- tunnel-agent@0.6.0:
- dependencies:
- safe-buffer: 5.2.1
- optional: true
+ pac-proxy-agent@7.2.0:
+ dependencies:
+ '@tootallnate/quickjs-emscripten': 0.23.0
+ agent-base: 7.1.4
+ debug: 4.4.3
+ get-uri: 6.0.5
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.6
+ pac-resolver: 7.0.1
+ socks-proxy-agent: 8.0.5
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
- twoslash-protocol@0.3.8: {}
+ pac-resolver@7.0.1:
+ dependencies:
+ degenerator: 5.0.1
+ netmask: 2.1.1
+ optional: true
- twoslash@0.3.8(typescript@6.0.3):
- dependencies:
- "@typescript/vfs": 1.6.4(typescript@6.0.3)
- twoslash-protocol: 0.3.8
- typescript: 6.0.3
- transitivePeerDependencies:
- - supports-color
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+ optional: true
- type-fest@0.21.3: {}
+ 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@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.29.7
+ error-ex: 1.3.4
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ optional: true
+
+ parse-latin@7.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ '@types/unist': 3.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-modify-children: 4.0.0
+ unist-util-visit-children: 3.0.0
+ vfile: 6.0.3
+
+ parse5@7.3.0:
+ dependencies:
+ entities: 6.0.1
+
+ parseurl@1.3.3: {}
+
+ patch-console@2.0.0: {}
+
+ path-expression-matcher@1.6.2: {}
+
+ path-is-absolute@1.0.1: {}
+
+ path-key@3.1.1: {}
+
+ path-parse@1.0.7: {}
+
+ path-to-regexp@0.1.13: {}
+
+ path-to-regexp@8.4.2:
+ optional: true
+
+ pend@1.2.0:
+ optional: true
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.2: {}
+
+ picomatch@4.0.4: {}
+
+ pify@2.3.0: {}
+
+ pirates@4.0.7: {}
+
+ pkce-challenge@5.0.1:
+ optional: true
+
+ pony-cause@1.1.1: {}
+
+ possible-typed-array-names@1.1.0: {}
+
+ postcss-import@15.1.0(postcss@8.5.23):
+ dependencies:
+ postcss: 8.5.23
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.12
+
+ postcss-js@4.1.0(postcss@8.5.23):
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.5.23
+
+ postcss-load-config@4.0.2(postcss@8.5.23):
+ dependencies:
+ lilconfig: 3.1.3
+ yaml: 2.9.1
+ optionalDependencies:
+ postcss: 8.5.23
+
+ postcss-nested@6.2.0(postcss@8.5.23):
+ dependencies:
+ postcss: 8.5.23
+ postcss-selector-parser: 6.1.2
+
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-value-parser@4.2.0: {}
+
+ postcss@8.5.23:
+ dependencies:
+ nanoid: 3.3.18
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ posthog-node@5.17.2:
+ dependencies:
+ '@posthog/core': 1.7.1
+
+ prebuild-install@7.1.3:
+ dependencies:
+ detect-libc: 2.1.2
+ expand-template: 2.0.3
+ github-from-package: 0.0.0
+ minimist: 1.2.8
+ mkdirp-classic: 0.5.3
+ napi-build-utils: 2.0.0
+ node-abi: 3.92.0
+ pump: 3.0.4
+ rc: 1.2.8
+ simple-get: 4.0.1
+ tar-fs: 2.1.4
+ tunnel-agent: 0.6.0
+ optional: true
+
+ progress@2.0.3:
+ optional: true
+
+ property-information@6.5.0: {}
+
+ property-information@7.2.0: {}
+
+ prosemirror-model@1.25.4:
+ dependencies:
+ orderedmap: 2.1.1
+
+ proxy-addr@2.0.7:
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
+ proxy-agent@6.5.0:
+ dependencies:
+ agent-base: 7.1.4
+ debug: 4.4.3
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.6
+ lru-cache: 7.18.3
+ pac-proxy-agent: 7.2.0
+ proxy-from-env: 1.1.0
+ socks-proxy-agent: 8.0.5
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ proxy-from-env@1.1.0:
+ optional: true
+
+ proxy-from-env@2.1.0: {}
+
+ public-ip@5.0.0:
+ dependencies:
+ dns-socket: 4.2.2
+ got: 12.6.1
+ is-ip: 3.1.0
+
+ pump@3.0.4:
+ dependencies:
+ end-of-stream: 1.4.5
+ once: 1.4.0
+ optional: true
+
+ puppeteer-core@24.3.1:
+ dependencies:
+ '@puppeteer/browsers': 2.7.1
+ chromium-bidi: 2.1.2(devtools-protocol@0.0.1402036)
+ debug: 4.4.3
+ devtools-protocol: 0.0.1402036
+ typed-query-selector: 2.12.2
+ ws: 8.21.0
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - bare-buffer
+ - bufferutil
+ - react-native-b4a
+ - supports-color
+ - utf-8-validate
+ optional: true
+
+ puppeteer@24.3.1(typescript@6.0.3):
+ dependencies:
+ '@puppeteer/browsers': 2.7.1
+ chromium-bidi: 2.1.2(devtools-protocol@0.0.1402036)
+ cosmiconfig: 9.0.1(typescript@6.0.3)
+ devtools-protocol: 0.0.1402036
+ puppeteer-core: 24.3.1
+ typed-query-selector: 2.12.2
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - bare-buffer
+ - bufferutil
+ - react-native-b4a
+ - supports-color
+ - typescript
+ - utf-8-validate
+ optional: true
+
+ qs@6.14.2:
+ dependencies:
+ side-channel: 1.1.0
+
+ qs@6.15.2:
+ dependencies:
+ side-channel: 1.1.0
+
+ queue-microtask@1.2.3: {}
+
+ quick-lru@5.1.1: {}
+
+ range-parser@1.2.1: {}
+
+ raw-body@2.5.3:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.1
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
+ raw-body@3.0.2:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.1
+ iconv-lite: 0.7.2
+ unpipe: 1.0.0
+ optional: true
+
+ rc@1.2.8:
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+ optional: true
+
+ re2js@2.8.6: {}
+
+ react-dom@19.2.3(react@19.2.3):
+ dependencies:
+ react: 19.2.3
+ scheduler: 0.27.0
+
+ react-reconciler@0.32.0(react@19.2.3):
+ dependencies:
+ react: 19.2.3
+ scheduler: 0.26.0
+
+ react@19.2.3: {}
+
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ optional: true
+
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.2
+
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.1(acorn@8.11.2):
+ dependencies:
+ acorn: 8.11.2
+ acorn-jsx: 5.3.2(acorn@8.11.2)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ reflect.getprototypeof@1.0.10:
+ dependencies:
+ call-bind: 1.0.9
+ define-properties: 1.2.1
+ es-abstract: 1.24.2
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.2
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ which-builtin-type: 1.2.1
+
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
+
+ regex@6.1.0:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regexp.prototype.flags@1.5.4:
+ dependencies:
+ call-bind: 1.0.9
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ set-function-name: 2.0.2
+
+ 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.47
+ unist-util-visit-parents: 6.0.2
+ vfile: 6.0.3
+
+ rehype-minify-whitespace@6.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-minify-whitespace: 1.0.1
+
+ rehype-parse@9.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-html: 2.0.3
+ unified: 11.0.5
+
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
+
+ rehype-stringify@10.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+ unified: 11.0.5
+
+ remark-frontmatter@5.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-frontmatter: 2.0.1
+ micromark-extension-frontmatter: 2.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-gfm@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-math@6.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-math: 3.0.0
+ micromark-extension-math: 3.1.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx-remove-esm@1.3.2(unified@11.0.5):
+ dependencies:
+ '@types/mdast': 4.0.4
+ unified: 11.0.5
+ unist-util-remove: 4.0.0
+
+ remark-mdx@3.0.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.0:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.3
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-rehype@11.1.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ remark-smartypants@3.0.2:
+ dependencies:
+ retext: 9.0.0
+ retext-smartypants: 6.2.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
+ unified: 11.0.5
+
+ remark@15.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ require-directory@2.1.1: {}
+
+ require-from-string@2.0.2: {}
+
+ reselect@5.3.0: {}
+
+ resolve-alpn@1.2.1: {}
+
+ resolve-from@4.0.0:
+ optional: true
+
+ resolve@1.22.12:
+ dependencies:
+ es-errors: 1.3.0
+ is-core-module: 2.16.2
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ responselike@3.0.0:
+ dependencies:
+ lowercase-keys: 3.0.0
+
+ restore-cursor@4.0.0:
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+
+ retext-latin@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ parse-latin: 7.0.0
+ unified: 11.0.5
+
+ retext-smartypants@6.2.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-visit: 5.0.0
+
+ retext-stringify@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unified: 11.0.5
+
+ retext@9.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ retext-latin: 4.0.0
+ retext-stringify: 4.0.0
+ unified: 11.0.5
+
+ reusify@1.1.0: {}
+
+ router@2.2.0:
+ dependencies:
+ debug: 4.4.3
+ depd: 2.0.0
+ is-promise: 4.0.0
+ parseurl: 1.3.3
+ path-to-regexp: 8.4.2
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ run-async@3.0.0: {}
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ rxjs@7.8.2:
+ dependencies:
+ tslib: 2.8.1
+
+ safe-array-concat@1.1.4:
+ dependencies:
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ has-symbols: 1.1.0
+ isarray: 2.0.5
+
+ safe-buffer@5.2.1: {}
+
+ safe-push-apply@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ isarray: 2.0.5
+
+ safe-regex-test@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-regex: 1.2.1
+
+ safe-stable-stringify@1.1.1: {}
+
+ safer-buffer@2.1.2: {}
+
+ sax@1.6.0: {}
+
+ scheduler@0.26.0: {}
+
+ scheduler@0.27.0: {}
+
+ semver@7.7.2: {}
+
+ send@0.19.2:
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.1
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ send@1.2.1:
+ dependencies:
+ debug: 4.4.3
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 2.0.0
+ http-errors: 2.0.1
+ mime-types: 3.0.2
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ serialize-error@13.0.1:
+ dependencies:
+ non-error: 0.1.0
+ type-fest: 5.7.0
+
+ serve-static@1.16.3:
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.19.2
+ transitivePeerDependencies:
+ - supports-color
+
+ serve-static@2.2.1:
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 1.2.1
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+
+ set-function-name@2.0.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
+
+ set-proto@1.0.0:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.2
+
+ setprototypeof@1.2.0: {}
+
+ sharp-ico@0.1.5:
+ dependencies:
+ decode-ico: 0.4.1
+ ico-endec: 0.1.6
+ sharp: 0.33.5
+
+ sharp@0.33.5:
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.1.2
+ semver: 7.7.2
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.5
+ '@img/sharp-darwin-x64': 0.33.5
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ '@img/sharp-linux-arm': 0.33.5
+ '@img/sharp-linux-arm64': 0.33.5
+ '@img/sharp-linux-s390x': 0.33.5
+ '@img/sharp-linux-x64': 0.33.5
+ '@img/sharp-linuxmusl-arm64': 0.33.5
+ '@img/sharp-linuxmusl-x64': 0.33.5
+ '@img/sharp-wasm32': 0.33.5
+ '@img/sharp-win32-ia32': 0.33.5
+ '@img/sharp-win32-x64': 0.33.5
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
+
+ shiki@3.23.0:
+ dependencies:
+ '@shikijs/core': 3.23.0
+ '@shikijs/engine-javascript': 3.23.0
+ '@shikijs/engine-oniguruma': 3.23.0
+ '@shikijs/langs': 3.23.0
+ '@shikijs/themes': 3.23.0
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ side-channel-list@1.0.1:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-weakmap@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
+
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.1
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
+
+ signal-exit@3.0.7: {}
+
+ signal-exit@4.1.0: {}
+
+ simple-concat@1.0.1:
+ optional: true
+
+ simple-get@4.0.1:
+ dependencies:
+ decompress-response: 6.0.0
+ once: 1.4.0
+ simple-concat: 1.0.1
+ optional: true
+
+ simple-swizzle@0.2.4:
+ dependencies:
+ is-arrayish: 0.3.4
+
+ slice-ansi@5.0.0:
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 4.0.0
+
+ slice-ansi@7.1.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 5.1.0
+
+ smart-buffer@4.2.0:
+ optional: true
+
+ socket.io-adapter@2.5.7:
+ dependencies:
+ debug: 4.4.3
+ ws: 8.20.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ socket.io-parser@4.2.6:
+ dependencies:
+ '@socket.io/component-emitter': 3.1.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ socket.io@4.8.0:
+ dependencies:
+ accepts: 1.3.8
+ base64id: 2.0.0
+ cors: 2.8.6
+ debug: 4.3.7
+ engine.io: 6.6.8
+ socket.io-adapter: 2.5.7
+ socket.io-parser: 4.2.6
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ socks-proxy-agent@8.0.5:
+ dependencies:
+ agent-base: 7.1.4
+ debug: 4.4.3
+ socks: 2.8.9
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ socks@2.8.9:
+ dependencies:
+ ip-address: 10.2.0
+ smart-buffer: 4.2.0
+ optional: true
+
+ source-map-js@1.2.1: {}
+
+ source-map@0.6.1:
+ optional: true
+
+ source-map@0.7.6: {}
+
+ space-separated-tokens@2.0.2: {}
+
+ sprintf-js@1.0.3: {}
+
+ stack-utils@2.0.6:
+ dependencies:
+ escape-string-regexp: 2.0.0
+
+ standardwebhooks@1.1.1:
+ dependencies:
+ '@stablelib/base64': 1.0.1
+ fast-sha256: 1.3.0
+ optional: true
+
+ statuses@2.0.2: {}
+
+ stop-iteration-iterator@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ internal-slot: 1.1.0
+
+ streamx@2.26.0:
+ dependencies:
+ events-universal: 1.0.1
+ fast-fifo: 1.3.2
+ text-decoder: 1.2.7
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - react-native-b4a
+ optional: true
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.6.0
+ strip-ansi: 7.2.0
+
+ string.prototype.trim@1.2.10:
+ dependencies:
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ define-data-property: 1.1.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.2
+ es-object-atoms: 1.1.2
+ has-property-descriptors: 1.0.2
+
+ string.prototype.trimend@1.0.9:
+ dependencies:
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.2
+
+ string.prototype.trimstart@1.0.8:
+ dependencies:
+ call-bind: 1.0.9
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.2
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+ optional: true
+
+ 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
+
+ strip-ansi@7.2.0:
+ dependencies:
+ ansi-regex: 6.2.2
+
+ strip-json-comments@2.0.1:
+ optional: true
+
+ strnum@2.4.2:
+ dependencies:
+ anynum: 1.0.1
+
+ style-to-js@1.1.21:
+ dependencies:
+ style-to-object: 1.0.14
+
+ style-to-object@0.4.4:
+ dependencies:
+ inline-style-parser: 0.1.1
+
+ style-to-object@1.0.14:
+ dependencies:
+ inline-style-parser: 0.2.7
+
+ sucrase@3.34.0:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ commander: 4.1.1
+ glob: 7.1.6
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.7
+ ts-interface-checker: 0.1.13
+
+ sucrase@3.35.1:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ commander: 4.1.1
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.7
+ tinyglobby: 0.2.17
+ ts-interface-checker: 0.1.13
+
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ tagged-tag@1.0.0: {}
+
+ tailwindcss@3.4.17:
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.3
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.7
+ lilconfig: 3.1.3
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.1.1
+ postcss: 8.5.23
+ postcss-import: 15.1.0(postcss@8.5.23)
+ postcss-js: 4.1.0(postcss@8.5.23)
+ postcss-load-config: 4.0.2(postcss@8.5.23)
+ postcss-nested: 6.2.0(postcss@8.5.23)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.12
+ sucrase: 3.35.1
+ transitivePeerDependencies:
+ - ts-node
+
+ tar-fs@2.1.4:
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.4
+ tar-stream: 2.2.0
+ optional: true
+
+ tar-fs@3.1.2:
+ dependencies:
+ pump: 3.0.4
+ tar-stream: 3.2.0
+ optionalDependencies:
+ bare-fs: 4.7.2
+ bare-path: 3.0.1
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - bare-buffer
+ - react-native-b4a
+ optional: true
+
+ tar-stream@2.2.0:
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.5
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ optional: true
+
+ tar-stream@3.2.0:
+ dependencies:
+ b4a: 1.8.1
+ bare-fs: 4.7.2
+ fast-fifo: 1.3.2
+ streamx: 2.26.0
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - bare-buffer
+ - react-native-b4a
+ optional: true
+
+ tar@7.5.21:
+ dependencies:
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.3
+ minizlib: 3.1.0
+ yallist: 5.0.0
+
+ teex@1.0.1:
+ dependencies:
+ streamx: 2.26.0
+ transitivePeerDependencies:
+ - bare-abort-controller
+ - react-native-b4a
+ optional: true
+
+ text-decoder@1.2.7:
+ dependencies:
+ b4a: 1.8.1
+ transitivePeerDependencies:
+ - react-native-b4a
+ optional: true
+
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
+ tinyglobby@0.2.17:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
+
+ to-data-view@1.1.0: {}
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ toidentifier@1.0.1: {}
+
+ tr46@0.0.3: {}
+
+ trim-lines@3.0.1: {}
+
+ trim-trailing-lines@2.1.0: {}
+
+ trough@2.2.0: {}
+
+ ts-algebra@2.0.0:
+ optional: true
+
+ ts-interface-checker@0.1.13: {}
+
+ tslib@1.14.1: {}
+
+ tslib@2.8.1: {}
+
+ tunnel-agent@0.6.0:
+ dependencies:
+ safe-buffer: 5.2.1
+ optional: true
+
+ twoslash-protocol@0.3.8: {}
+
+ twoslash@0.3.8(typescript@6.0.3):
+ dependencies:
+ '@typescript/vfs': 1.6.4(typescript@6.0.3)
+ twoslash-protocol: 0.3.8
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ type-fest@0.21.3: {}
+
+ type-fest@4.41.0: {}
+
+ type-fest@5.7.0:
+ dependencies:
+ tagged-tag: 1.0.0
+
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
+ type-is@2.1.0:
+ dependencies:
+ content-type: 2.1.0
+ media-typer: 1.1.1
+ mime-types: 3.0.2
+ optional: true
+
+ typed-array-buffer@1.0.3:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-typed-array: 1.1.15
+
+ typed-array-byte-length@1.0.3:
+ dependencies:
+ call-bind: 1.0.9
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
+
+ typed-array-byte-offset@1.0.4:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.9
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
+ reflect.getprototypeof: 1.0.10
+
+ typed-array-length@1.0.8:
+ dependencies:
+ call-bind: 1.0.9
+ for-each: 0.3.5
+ gopd: 1.2.0
+ is-typed-array: 1.1.15
+ possible-typed-array-names: 1.1.0
+ reflect.getprototypeof: 1.0.10
+
+ typed-query-selector@2.12.2:
+ optional: true
+
+ typescript@6.0.3: {}
+
+ unbox-primitive@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ has-bigints: 1.1.0
+ has-symbols: 1.1.0
+ which-boxed-primitive: 1.1.1
+
+ undici-types@7.24.6: {}
+
+ undici@8.11.2: {}
+
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
+ unist-builder@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-find-after@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.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-map@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-modify-children@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ array-iterate: 2.0.1
+
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.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@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-children@3.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.1:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.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.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
+
+ universalify@2.0.1: {}
+
+ unpipe@1.0.0: {}
+
+ urijs@1.19.11: {}
+
+ use-sync-external-store@1.6.0(react@19.2.3):
+ dependencies:
+ react: 19.2.3
+
+ util-deprecate@1.0.2: {}
+
+ utility-types@3.11.0: {}
+
+ utils-merge@1.0.1: {}
+
+ uuid@11.1.1: {}
+
+ valibot@1.5.0(typescript@6.0.3):
+ optionalDependencies:
+ typescript: 6.0.3
+
+ vary@1.1.2: {}
+
+ vfile-location@5.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
+
+ vfile-matter@5.0.1:
+ dependencies:
+ vfile: 6.0.3
+ yaml: 2.9.1
+
+ vfile-message@4.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.3
+
+ web-namespaces@2.0.1: {}
+
+ webidl-conversions@3.0.1: {}
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ which-boxed-primitive@1.1.1:
+ dependencies:
+ is-bigint: 1.1.0
+ is-boolean-object: 1.2.2
+ is-number-object: 1.1.1
+ is-string: 1.1.1
+ is-symbol: 1.1.1
+
+ which-builtin-type@1.2.1:
+ dependencies:
+ call-bound: 1.0.4
+ function.prototype.name: 1.1.8
+ has-tostringtag: 1.0.2
+ is-async-function: 2.1.1
+ is-date-object: 1.1.0
+ is-finalizationregistry: 1.1.1
+ is-generator-function: 1.1.2
+ is-regex: 1.2.1
+ is-weakref: 1.1.1
+ isarray: 2.0.5
+ which-boxed-primitive: 1.1.1
+ which-collection: 1.0.2
+ which-typed-array: 1.1.21
+
+ which-collection@1.0.2:
+ dependencies:
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.4
+
+ which-typed-array@1.1.21:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ for-each: 0.3.5
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ widest-line@5.0.0:
+ dependencies:
+ string-width: 7.2.0
- type-fest@4.41.0: {}
+ wrap-ansi@6.2.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@9.0.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
+
+ wrappy@1.0.2: {}
+
+ ws@8.20.1: {}
+
+ ws@8.21.0: {}
+
+ xml-naming@0.3.0: {}
+
+ xml2js@0.6.2:
+ dependencies:
+ sax: 1.6.0
+ xmlbuilder: 11.0.1
+
+ xmlbuilder@11.0.1: {}
+
+ xss@1.0.15:
+ dependencies:
+ commander: 2.20.3
+ cssfilter: 0.0.10
+
+ y18n@5.0.8: {}
+
+ yallist@5.0.0: {}
+
+ yaml@2.8.3: {}
+
+ yaml@2.9.0: {}
+
+ yaml@2.9.1: {}
+
+ yargs-parser@21.1.1: {}
+
+ yargs@17.7.1:
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+
+ yargs@17.7.2:
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ optional: true
+
+ yauzl@2.10.0:
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+ optional: true
- type-fest@5.7.0:
- dependencies:
- tagged-tag: 1.0.0
+ yoctocolors-cjs@2.1.3: {}
- type-is@1.6.18:
- dependencies:
- media-typer: 0.3.0
- mime-types: 2.1.35
+ yoga-layout@3.2.1: {}
- type-is@2.1.0:
- dependencies:
- content-type: 2.1.0
- media-typer: 1.1.1
- mime-types: 3.0.2
- optional: true
+ zod-to-json-schema@3.20.4(zod@3.24.0):
+ dependencies:
+ zod: 3.24.0
- typed-array-buffer@1.0.3:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-typed-array: 1.1.15
-
- typed-array-byte-length@1.0.3:
- dependencies:
- call-bind: 1.0.9
- for-each: 0.3.5
- gopd: 1.2.0
- has-proto: 1.2.0
- is-typed-array: 1.1.15
-
- typed-array-byte-offset@1.0.4:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.9
- for-each: 0.3.5
- gopd: 1.2.0
- has-proto: 1.2.0
- is-typed-array: 1.1.15
- reflect.getprototypeof: 1.0.10
-
- typed-array-length@1.0.8:
- dependencies:
- call-bind: 1.0.9
- for-each: 0.3.5
- gopd: 1.2.0
- is-typed-array: 1.1.15
- possible-typed-array-names: 1.1.0
- reflect.getprototypeof: 1.0.10
-
- typed-query-selector@2.12.2: {}
-
- typescript@6.0.3: {}
-
- unbox-primitive@1.1.0:
- dependencies:
- call-bound: 1.0.4
- has-bigints: 1.1.0
- has-symbols: 1.1.0
- which-boxed-primitive: 1.1.1
-
- undici-types@7.24.6: {}
-
- unified@11.0.5:
- dependencies:
- "@types/unist": 3.0.3
- bail: 2.0.2
- devlop: 1.1.0
- extend: 3.0.2
- is-plain-obj: 4.1.0
- trough: 2.2.0
- vfile: 6.0.3
-
- unist-builder@4.0.0:
- dependencies:
- "@types/unist": 3.0.3
-
- unist-util-find-after@5.0.0:
- dependencies:
- "@types/unist": 3.0.3
- unist-util-is: 6.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-map@4.0.0:
- dependencies:
- "@types/unist": 3.0.3
-
- unist-util-modify-children@4.0.0:
- dependencies:
- "@types/unist": 3.0.3
- array-iterate: 2.0.1
-
- unist-util-position-from-estree@2.0.0:
- dependencies:
- "@types/unist": 3.0.3
-
- unist-util-position@5.0.0:
- dependencies:
- "@types/unist": 3.0.3
-
- unist-util-remove-position@5.0.0:
- dependencies:
- "@types/unist": 3.0.3
- unist-util-visit: 5.0.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@4.0.0:
- dependencies:
- "@types/unist": 3.0.3
-
- unist-util-visit-children@3.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.1:
- dependencies:
- "@types/unist": 3.0.3
- unist-util-is: 6.0.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.0.0:
- dependencies:
- "@types/unist": 3.0.3
- unist-util-is: 6.0.1
- unist-util-visit-parents: 6.0.2
-
- universalify@2.0.1: {}
-
- unpipe@1.0.0: {}
-
- urijs@1.19.11: {}
-
- use-sync-external-store@1.6.0(react@19.2.3):
- dependencies:
- react: 19.2.3
-
- util-deprecate@1.0.2: {}
-
- utility-types@3.11.0: {}
-
- utils-merge@1.0.1: {}
-
- uuid@11.1.1: {}
-
- vary@1.1.2: {}
-
- vfile-location@5.0.3:
- dependencies:
- "@types/unist": 3.0.3
- vfile: 6.0.3
-
- vfile-matter@5.0.1:
- dependencies:
- vfile: 6.0.3
- yaml: 2.9.0
-
- vfile-message@4.0.3:
- dependencies:
- "@types/unist": 3.0.3
- unist-util-stringify-position: 4.0.0
-
- vfile@6.0.3:
- dependencies:
- "@types/unist": 3.0.3
- vfile-message: 4.0.3
-
- web-namespaces@2.0.1: {}
-
- webidl-conversions@3.0.1: {}
-
- whatwg-url@5.0.0:
- dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
-
- which-boxed-primitive@1.1.1:
- dependencies:
- is-bigint: 1.1.0
- is-boolean-object: 1.2.2
- is-number-object: 1.1.1
- is-string: 1.1.1
- is-symbol: 1.1.1
-
- which-builtin-type@1.2.1:
- dependencies:
- call-bound: 1.0.4
- function.prototype.name: 1.1.8
- has-tostringtag: 1.0.2
- is-async-function: 2.1.1
- is-date-object: 1.1.0
- is-finalizationregistry: 1.1.1
- is-generator-function: 1.1.2
- is-regex: 1.2.1
- is-weakref: 1.1.1
- isarray: 2.0.5
- which-boxed-primitive: 1.1.1
- which-collection: 1.0.2
- which-typed-array: 1.1.21
-
- which-collection@1.0.2:
- dependencies:
- is-map: 2.0.3
- is-set: 2.0.3
- is-weakmap: 2.0.2
- is-weakset: 2.0.4
-
- which-typed-array@1.1.21:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.9
- call-bound: 1.0.4
- for-each: 0.3.5
- get-proto: 1.0.1
- gopd: 1.2.0
- has-tostringtag: 1.0.2
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- widest-line@5.0.0:
- dependencies:
- string-width: 7.2.0
-
- wrap-ansi@6.2.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@9.0.2:
- dependencies:
- ansi-styles: 6.2.3
- string-width: 7.2.0
- strip-ansi: 7.2.0
-
- wrappy@1.0.2: {}
-
- ws@8.20.1: {}
-
- ws@8.21.0: {}
-
- xml-naming@0.3.0: {}
-
- xml2js@0.6.2:
- dependencies:
- sax: 1.6.0
- xmlbuilder: 11.0.1
-
- xmlbuilder@11.0.1: {}
-
- xss@1.0.15:
- dependencies:
- commander: 2.20.3
- cssfilter: 0.0.10
-
- y18n@5.0.8: {}
-
- yallist@5.0.0: {}
-
- yaml@2.9.0: {}
-
- yargs-parser@21.1.1: {}
-
- yargs@17.7.1:
- dependencies:
- cliui: 8.0.1
- escalade: 3.2.0
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 21.1.1
-
- yargs@17.7.2:
- dependencies:
- cliui: 8.0.1
- escalade: 3.2.0
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 21.1.1
-
- yauzl@2.10.0:
- dependencies:
- buffer-crc32: 0.2.13
- fd-slicer: 1.1.0
-
- yoctocolors-cjs@2.1.3: {}
-
- yoga-layout@3.2.1: {}
-
- zod-to-json-schema@3.20.4(zod@3.24.0):
- dependencies:
- zod: 3.24.0
-
- zod-to-json-schema@3.25.2(zod@4.3.6):
- dependencies:
- zod: 4.3.6
- optional: true
+ zod-to-json-schema@3.25.2(zod@4.3.6):
+ dependencies:
+ zod: 4.3.6
+ optional: true
- zod@3.24.0: {}
+ zod@3.24.0: {}
- zod@3.25.76: {}
+ zod@3.25.76:
+ optional: true
- zod@4.3.6: {}
+ zod@4.3.6: {}
- zwitch@2.0.4: {}
+ zwitch@2.0.4: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index b8f28a3..9320e91 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,6 +1,8 @@
allowBuilds:
- keytar: false
- puppeteer: false
- sharp: true
+ keytar: false
+ puppeteer: false
+ sharp: true
+minimumReleaseAgeExclude:
+ - '@bonyanoss/bonyan-api@2.0.0'
patchedDependencies:
- "@mintlify/link-rot@3.0.1334": patches/@mintlify__link-rot@3.0.1334.patch
+ "@mintlify/link-rot@3.0.1414": patches/@mintlify__link-rot@3.0.1414.patch
diff --git a/scripts/api-catalog.mjs b/scripts/api-catalog.mjs
index 673b38d..d6acdad 100644
--- a/scripts/api-catalog.mjs
+++ b/scripts/api-catalog.mjs
@@ -1,701 +1,1139 @@
-// Reviewed against the immutable revisions in sources.lock.json.
+// Reviewed source contracts are recorded in sources.lock.json.
export const baseUrl = "https://api.bonyanoss.org";
export const pair = (en, ar) => ({ en, ar });
-const p = (name, location, required, schema, example, en, ar) => ({
- name,
- in: location,
- required,
- schema,
- example,
- description: pair(en, ar),
-});
-const surah = (name = "surah") =>
- p(
- name,
- "path",
- true,
- { type: "integer", minimum: 1, maximum: 114 },
- 1,
- "Surah number, 1 through 114.",
- "رقم السورة من 1 إلى 114.",
- );
-const aya = (name = "aya") =>
- p(
- name,
- "path",
- true,
- { type: "integer", minimum: 1 },
- 1,
- "Verse number within the surah. An empty lookup returns 404; tafsir provider rejection can instead produce 503 when every configured source fails.",
- "رقم الآية داخل السورة. النتيجة الفارغة تعيد 404؛ وقد يعيد رفض مصادر التفسير 503 عند فشل جميع المصادر المضبوطة.",
- );
-const reciter = () =>
- p(
- "id",
- "path",
- true,
- { type: "integer" },
- 1,
- "ID returned by the reciter catalogue. IDs depend on the provider.",
- "المعرّف الذي يعيده فهرس القراء. المعرّفات مرتبطة بالمصدر.",
- );
-const name = () =>
- p(
- "name",
- "query",
- true,
- { type: "string", minLength: 1 },
- "الفاتحة",
- "Arabic name or substring. Use Arabic input; Latin-only input is not a supported search.",
- "الاسم العربي أو جزء منه. استخدم العربية؛ البحث بحروف لاتينية فقط غير مدعوم.",
- );
-const search = (max) => [
- p(
- "text",
- "query",
- true,
- { type: "string", minLength: 1 },
- "الرحمن",
- "Arabic substring, URL-encoded. Blank input returns 400.",
- "جزء من نص عربي مع ترميز URL. الإدخال الفارغ يعيد 400.",
- ),
- p(
- "limit",
- "query",
- false,
- { type: "integer", default: 50, minimum: 1, maximum: max },
- 10,
- `Result cap, not pagination. The server clamps to 1..${max}; zero or an unparsable value falls back to 50.`,
- `حد النتائج وليس ترقيم صفحات. يضبطه الخادم بين 1 و${max}؛ الصفر أو القيمة غير القابلة للتحليل تعود إلى 50.`,
- ),
-];
-const edition = () =>
- p(
- "edition",
- "path",
- true,
- {
- type: "string",
- enum: ["muyassar", "jalalayn", "saadi", "waseet", "qurtubi"],
- },
- "muyassar",
- "Public edition ID from GET /tafsir. Use muyassar, not ar.muyassar.",
- "معرّف النسخة من GET /tafsir. استخدم muyassar وليس ar.muyassar.",
- );
-const book = () =>
- p(
- "book",
- "path",
- true,
- { type: "string", minLength: 1 },
- "bukhari",
- "Book ID from GET /hadith. Unknown IDs can return 503 when both providers reject them.",
- "معرّف الكتاب من GET /hadith. قد يعيد المعرّف المجهول 503 إذا رفضه المصدران.",
- );
-const date = (required = false, hijri = false) =>
- p(
- "date",
- "query",
- required,
- { type: "string", pattern: "^\\d{2}-\\d{2}-\\d{4}$" },
- hijri ? "01-09-1447" : "01-01-2026",
- `${hijri ? "Hijri" : "Gregorian"} date in DD-MM-YYYY. ${required ? "Required." : "Omitted or blank uses the API server’s current date."} Validation checks the format, not calendar validity.`,
- `تاريخ ${hijri ? "هجري" : "ميلادي"} بصيغة DD-MM-YYYY. ${required ? "مطلوب." : "عند حذفه أو تركه فارغًا يستخدم تاريخ خادم API الحالي."} التحقق من الصيغة فقط، وليس صحة اليوم في التقويم.`,
- );
-const coords = (required, bounds) => [
- p(
- "latitude",
- "query",
- required,
- { type: "number", ...(bounds ? { minimum: -90, maximum: 90 } : {}) },
- 21.4225,
- "Latitude in decimal degrees; provide it together with longitude.",
- "خط العرض بالدرجات العشرية؛ أرسله مع خط الطول.",
- ),
- p(
- "longitude",
- "query",
- required,
- { type: "number", ...(bounds ? { minimum: -180, maximum: 180 } : {}) },
- 39.8262,
- "Longitude in decimal degrees; provide it together with latitude.",
- "خط الطول بالدرجات العشرية؛ أرسله مع خط العرض.",
- ),
-];
-const e = (
- path,
- slug,
- id,
- title,
- description,
- schema,
- params = [],
- sdk = null,
- errors = [503],
- notes = null,
-) => ({
- path,
- slug,
- id,
- title: pair(...title),
- description: pair(...description),
- schema,
- params,
- sdk,
- errors,
- notes: notes ? pair(...notes) : null,
-});
export const endpoints = [
- e(
- "/",
- "meta/catalogue",
- "getCatalogue",
- ["Route catalogue", "فهرس المسارات"],
- [
- "Lists registered content routes and project metadata. The four operational routes are excluded from the catalogue.",
- "يعرض مسارات المحتوى المسجّلة وبيانات المشروع. لا يدرج مسارات التشغيل الأربعة.",
- ],
- "Catalogue",
- [],
- "client.routes()",
- [],
- ),
- e(
- "/health",
- "meta/health",
- "getHealth",
- ["Liveness", "فحص الحياة"],
- [
- "Confirms the HTTP process responds. It does not contact content providers.",
- "يتحقق من استجابة عملية HTTP. لا يتصل بمصادر المحتوى.",
- ],
- "Health",
- [],
- "client.health()",
- [],
- ),
- e(
- "/ready",
- "meta/ready",
- "getReady",
- ["Readiness and cache", "الجاهزية والكاش"],
- [
- "Returns process readiness and current cache counts. This is not an upstream availability check.",
- "يعيد جاهزية العملية وأعداد عناصر الكاش الحالية. لا يفحص توفر المصادر الخارجية.",
- ],
- "Ready",
- [],
- "client.ready()",
- [],
- ),
- e(
- "/metrics",
- "meta/metrics",
- "getMetrics",
- ["Prometheus metrics", "مقاييس Prometheus"],
- [
- "Returns uptime, cache gauges and upstream request counters as text.",
- "يعيد مدة التشغيل ومقاييس الكاش وعدادات طلبات المصادر كنص.",
- ],
- "Metrics",
- [],
- "client.metrics()",
- [],
- ),
- e(
- "/surah",
- "surah/list",
- "listSurahs",
- ["List surahs", "قائمة السور"],
- [
- "Returns the chapter catalogue in data.surah. This endpoint returns names and metadata, not verse text.",
- "يعيد فهرس السور داخل data.surah. يحتوي أسماء وبيانات السور دون نص الآيات.",
- ],
- "SurahListResponse",
- [],
- "client.surah.list()",
- ),
- e(
- "/surah/{id}",
- "surah/get",
- "getSurah",
- ["Get a surah", "بيانات سورة"],
- ["Returns metadata for one surah.", "يعيد بيانات سورة واحدة."],
- "SurahResponse",
- [surah("id")],
- "client.surah.getById(1)",
- [400, 404, 503],
- ),
- e(
- "/surah/search",
- "surah/search",
- "searchSurahs",
- ["Search surah names", "البحث في أسماء السور"],
- [
- "Matches a normalized Arabic substring and returns an array. No matches returns 404.",
- "يطابق جزءًا من الاسم بعد تطبيع العربية ويعيد مصفوفة. تعاد 404 عند غياب النتائج.",
- ],
- "SurahSearchResponse",
- [name()],
- "client.surah.search('الفاتحة')",
- [400, 404, 503],
- ),
- e(
- "/ayat",
- "ayat/all",
- "listAyat",
- ["Full Quran text", "نص القرآن كاملًا"],
- [
- "Returns all available surahs and verses in data.surahs. This is a large response without pagination.",
- "يعيد السور والآيات المتاحة داخل data.surahs. الاستجابة كبيرة ولا تدعم ترقيم الصفحات.",
- ],
- "AyatCorpusResponse",
- [],
- "client.ayat.list()",
- ),
- e(
- "/ayat/{id}",
- "ayat/get-by-number",
- "getAyaByNumber",
- ["Aya by global number", "آية برقمها العام"],
- [
- "Looks up a verse by its global Quran number, rather than its position within a surah.",
- "يبحث عن آية برقمها العام في القرآن، وليس ترتيبها داخل السورة.",
- ],
- "AyaLookupResponse",
- [
- p(
- "id",
- "path",
- true,
- { type: "integer", minimum: 1, maximum: 6236 },
- 1,
- "Global verse number, 1 through 6236.",
- "رقم الآية العام من 1 إلى 6236.",
- ),
- ],
- "client.ayat.getById(1)",
- [400, 404, 503],
- ),
- e(
- "/ayat/{surah}/aya/{id}",
- "ayat/get-by-surah-aya",
- "getAyaBySurah",
- ["Aya within a surah", "آية داخل سورة"],
- [
- "Returns one verse with its surah number and name.",
- "يعيد آية واحدة مع رقم السورة واسمها.",
- ],
- "AyaLookupResponse",
- [surah(), aya("id")],
- "client.ayat.getBySurah(1, 1)",
- [400, 404, 503],
- ),
- e(
- "/ayat/search",
- "ayat/search",
- "searchAyat",
- ["Search Quran text", "البحث في نص القرآن"],
- [
- "Returns {success, total, data: [...]}. total counts returned matches after the limit, not all matches in the Quran.",
- "يعيد {success, total, data: [...]}. يحسب total النتائج المعادة بعد تطبيق الحد، وليس جميع التطابقات في القرآن.",
- ],
- "AyaSearchResponse",
- search(500),
- null,
- [400, 404, 503],
- [
- "SDK 1.0.2 has an envelope mismatch in client.ayat.search(). Use the fetch example here or the compatibility helper in the SDK guide.",
- "توجد مشكلة في فك الاستجابة داخل client.ayat.search() في SDK 1.0.2. استخدم مثال fetch هنا أو الدالة البديلة في دليل SDK.",
- ],
- ),
- e(
- "/reciters",
- "reciters/list",
- "listReciters",
- ["List reciters", "قائمة القراء"],
- [
- "Returns reciters in data.reciters. The fallback provider may omit moshaf and audio-server information.",
- "يعيد القراء داخل data.reciters. قد يحذف المصدر البديل المصاحف وبيانات خادم الصوت.",
- ],
- "ReciterCollectionResponse",
- [],
- "client.reciters.list()",
- ),
- e(
- "/reciters/{id}",
- "reciters/get",
- "getReciter",
- ["Get a reciter", "بيانات قارئ"],
- [
- "Looks up an ID in the currently cached provider catalogue.",
- "يبحث عن المعرّف في فهرس المصدر المخزّن حاليًا.",
- ],
- "ReciterResponse",
- [reciter()],
- "client.reciters.getById(1)",
- [400, 404, 503],
- ),
- e(
- "/reciters/search",
- "reciters/search",
- "searchReciters",
- ["Search reciter names", "البحث في أسماء القراء"],
- [
- "Returns matching reciters using Arabic substring matching. This is not fuzzy or English-language search.",
- "يعيد القراء المطابقين لجزء من الاسم العربي. لا يدعم البحث التقريبي أو البحث الإنجليزي.",
- ],
- "ReciterSearchResponse",
- [{ ...name(), example: "العفاسي" }],
- "client.reciters.search('العفاسي')",
- [400, 404, 503],
- ),
- e(
- "/reciters/{id}/surah/{surah}",
- "reciters/audio",
- "getReciterAudio",
- ["Surah audio URL", "رابط صوت السورة"],
- [
- "Builds a URL from the first moshaf server and a three-digit surah number. Returns JSON, not an audio stream.",
- "ينشئ الرابط من خادم أول مصحف ورقم السورة بثلاث خانات. يعيد JSON وليس بثًا صوتيًا.",
- ],
- "ReciterAudioResponse",
- [reciter(), surah()],
- "client.reciters.getSurah(1, 1)",
- [400, 404, 503],
- [
- "The API does not verify that the MP3 exists. A reciter from quran.com may have no moshaf, causing 404. Discover a reciter with moshaf before requesting audio.",
- "لا يتحقق API من وجود ملف MP3. قد يفتقد قارئ من quran.com بيانات المصحف فتُعاد 404. اختر قارئًا له moshaf قبل طلب الصوت.",
- ],
- ),
- e(
- "/tafsir",
- "tafsir/editions",
- "listTafsirEditions",
- ["Tafsir editions", "نسخ التفسير"],
- [
- "Lists the five configured public edition IDs and Arabic labels. The catalogue is local; it does not test provider availability.",
- "يعرض معرّفات نسخ التفسير الخمس وأسماءها العربية. الفهرس محلي ولا يفحص توفر المصادر.",
- ],
- "TafsirEditionListResponse",
- [],
- "client.tafsir.listEditions()",
- [],
- ),
- e(
- "/tafsir/{edition}/{surah}",
- "tafsir/surah",
- "getSurahTafsir",
- ["Tafsir for a surah", "تفسير سورة"],
- [
- "Returns an array, including when the optional aya filter selects one verse. Returned edition is a provider-specific ID.",
- "يعيد مصفوفة حتى عند تحديد آية واحدة بالمعامل aya. حقل edition المعاد يستخدم معرّف المصدر.",
- ],
- "TafsirListResponse",
- [
- edition(),
- surah(),
- p(
- "aya",
- "query",
- false,
- { type: "integer", minimum: 1 },
- 1,
- "Optional verse within the surah. The response remains an array.",
- "آية اختيارية داخل السورة. تبقى الاستجابة مصفوفة.",
- ),
- ],
- "client.tafsir.forSurah('muyassar', 1)",
- [400, 404, 503],
- ),
- e(
- "/tafsir/{edition}/{surah}/{aya}",
- "tafsir/aya",
- "getAyaTafsir",
- ["Tafsir for an aya", "تفسير آية"],
- [
- "Returns one tafsir object. muyassar can use two sources; the other configured editions each have one source.",
- "يعيد كائن تفسير واحد. لنسخة muyassar مصدران، ولكل نسخة أخرى مصدر واحد.",
- ],
- "TafsirItemResponse",
- [edition(), surah(), aya()],
- "client.tafsir.forAya('muyassar', 1, 1)",
- [400, 404, 503],
- ),
- e(
- "/azkar",
- "azkar/categories",
- "listAzkarCategories",
- ["Azkar categories", "تصنيفات الأذكار"],
- [
- "Lists category names, item counts and sources in data.categories.",
- "يعرض أسماء التصنيفات وأعداد الأذكار ومصادرها داخل data.categories.",
- ],
- "AzkarCategorySummaryResponse",
- [],
- "client.azkar.listCategories()",
- ),
- e(
- "/azkar/{category}",
- "azkar/category",
- "getAzkarCategory",
- ["Azkar in a category", "أذكار تصنيف"],
- [
- "Returns the first category whose normalized Arabic name contains the supplied value. Use the full name from the catalogue to avoid ambiguous matches.",
- "يعيد أول تصنيف يحتوي اسمه العربي المطبع على القيمة المدخلة. استخدم الاسم الكامل من الفهرس لتجنب التطابق الغامض.",
- ],
- "AzkarCategoryResponse",
- [
- p(
- "category",
- "path",
- true,
- { type: "string", minLength: 1 },
- "أذكار الصباح",
- "Arabic category name, URL-encoded as one path segment.",
- "اسم التصنيف العربي، مرمّز كمقطع واحد من المسار.",
- ),
- ],
- "client.azkar.getByCategory('أذكار الصباح')",
- [400, 404, 503],
- ),
- e(
- "/azkar/search",
- "azkar/search",
- "searchAzkar",
- ["Search azkar text", "البحث في الأذكار"],
- [
- "Returns {success, total, data: [...]}, with category and item for each hit. total is the number returned, capped by limit.",
- "يعيد {success, total, data: [...]} مع التصنيف والذكر لكل نتيجة. total هو عدد النتائج المعادة بعد تطبيق limit.",
+ {
+ path: "/",
+ slug: "meta/catalogue",
+ id: "getCatalogue",
+ title: {
+ en: "Route catalogue",
+ ar: "فهرس المسارات",
+ },
+ description: {
+ en: "Lists registered content routes and project metadata. The four operational routes are excluded from the catalogue.",
+ ar: "يعرض مسارات المحتوى المسجّلة وبيانات المشروع. لا يدرج مسارات التشغيل الأربعة.",
+ },
+ schema: "Catalogue",
+ params: [],
+ sdk: "client.routes()",
+ errors: [],
+ notes: null,
+ },
+ {
+ path: "/health",
+ slug: "meta/health",
+ id: "getHealth",
+ title: {
+ en: "Liveness",
+ ar: "فحص الحياة",
+ },
+ description: {
+ en: "Confirms the HTTP process responds. It does not contact content providers.",
+ ar: "يتحقق من استجابة عملية HTTP. لا يتصل بمصادر المحتوى.",
+ },
+ schema: "Health",
+ params: [],
+ sdk: "client.health()",
+ errors: [],
+ notes: null,
+ },
+ {
+ path: "/ready",
+ slug: "meta/ready",
+ id: "getReady",
+ title: {
+ en: "Readiness and cache",
+ ar: "الجاهزية والكاش",
+ },
+ description: {
+ en: "Returns process readiness and current cache counts. This is not an upstream availability check.",
+ ar: "يعيد جاهزية العملية وأعداد عناصر الكاش الحالية. لا يفحص توفر المصادر الخارجية.",
+ },
+ schema: "Ready",
+ params: [],
+ sdk: "client.ready()",
+ errors: [],
+ notes: null,
+ },
+ {
+ path: "/metrics",
+ slug: "meta/metrics",
+ id: "getMetrics",
+ title: {
+ en: "Prometheus metrics",
+ ar: "مقاييس Prometheus",
+ },
+ description: {
+ en: "Returns uptime, cache gauges and upstream request counters as text.",
+ ar: "يعيد مدة التشغيل ومقاييس الكاش وعدادات طلبات المصادر كنص.",
+ },
+ schema: "Metrics",
+ params: [],
+ sdk: "client.metrics()",
+ errors: [],
+ notes: null,
+ },
+ {
+ path: "/surah",
+ slug: "surah/list",
+ id: "listSurahs",
+ title: {
+ en: "List surahs",
+ ar: "قائمة السور",
+ },
+ description: {
+ en: "Returns the complete canonical 114-surah catalogue, with stable Arabic names and required makkia.",
+ ar: "يعيد فهرس السور الـ114 كاملًا بأسماء عربية ثابتة وحقل makkia مطلوب.",
+ },
+ schema: "SurahListResponse",
+ params: [],
+ sdk: "client.surah.list()",
+ errors: [503],
+ notes: null,
+ },
+ {
+ path: "/surah/{id}",
+ slug: "surah/get",
+ id: "getSurah",
+ title: {
+ en: "Get a surah",
+ ar: "بيانات سورة",
+ },
+ description: {
+ en: "Returns metadata for one surah.",
+ ar: "يعيد بيانات سورة واحدة.",
+ },
+ schema: "SurahResponse",
+ params: [
+ {
+ name: "id",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ maximum: 114,
+ },
+ example: 1,
+ description: {
+ en: "Surah number, 1 through 114.",
+ ar: "رقم السورة من 1 إلى 114.",
+ },
+ },
],
- "AzkarSearchResponse",
- [{ ...search(200)[0], example: "الله" }, search(200)[1]],
- null,
- [400, 404, 503],
- [
- "SDK 1.0.2 has an envelope mismatch in client.azkar.search(). Use fetch or the compatibility helper in the SDK guide.",
- "توجد مشكلة في فك الاستجابة داخل client.azkar.search() في SDK 1.0.2. استخدم fetch أو الدالة البديلة في دليل SDK.",
+ sdk: "client.surah.getById(1)",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/surah/search",
+ slug: "surah/search",
+ id: "searchSurahs",
+ title: {
+ en: "Search surah names",
+ ar: "البحث في أسماء السور",
+ },
+ description: {
+ en: "Matches a normalized Arabic substring and returns an array. No matches returns 404.",
+ ar: "يطابق جزءًا من الاسم بعد تطبيع العربية ويعيد مصفوفة. تعاد 404 عند غياب النتائج.",
+ },
+ schema: "SurahSearchResponse",
+ params: [
+ {
+ name: "name",
+ in: "query",
+ required: true,
+ schema: {
+ type: "string",
+ minLength: 1,
+ },
+ example: "الفاتحة",
+ description: {
+ en: "Arabic name or substring. Use Arabic input; Latin-only input is not a supported search.",
+ ar: "الاسم العربي أو جزء منه. استخدم العربية؛ البحث بحروف لاتينية فقط غير مدعوم.",
+ },
+ },
],
- ),
- e(
- "/azkar/random",
- "azkar/random",
- "getRandomZekr",
- ["Random zekr", "ذكر عشوائي"],
- [
- "Chooses one item from all cached categories. Random selection happens per request.",
- "يختار ذكرًا من جميع التصنيفات المخزّنة. يتم الاختيار العشوائي عند كل طلب.",
+ sdk: "client.surah.search('الفاتحة')",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/ayat",
+ slug: "ayat/all",
+ id: "listAyat",
+ title: {
+ en: "Full Quran text",
+ ar: "نص القرآن كاملًا",
+ },
+ description: {
+ en: "Returns all available surahs and verses in data.surahs. This is a large response without pagination.",
+ ar: "يعيد السور والآيات المتاحة داخل data.surahs. الاستجابة كبيرة ولا تدعم ترقيم الصفحات.",
+ },
+ schema: "AyatCorpusResponse",
+ params: [],
+ sdk: "client.ayat.list()",
+ errors: [503],
+ notes: null,
+ },
+ {
+ path: "/ayat/{id}",
+ slug: "ayat/get-by-number",
+ id: "getAyaByNumber",
+ title: {
+ en: "Aya by global number",
+ ar: "آية برقمها العام",
+ },
+ description: {
+ en: "Looks up a verse by its global Quran number, rather than its position within a surah.",
+ ar: "يبحث عن آية برقمها العام في القرآن، وليس ترتيبها داخل السورة.",
+ },
+ schema: "AyaLookupResponse",
+ params: [
+ {
+ name: "id",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ maximum: 6236,
+ },
+ example: 1,
+ description: {
+ en: "Global verse number, 1 through 6236.",
+ ar: "رقم الآية العام من 1 إلى 6236.",
+ },
+ },
],
- "AzkarPickResponse",
- [],
- "client.azkar.random()",
- [404, 503],
- ),
- e(
- "/hadith",
- "hadith/books",
- "listHadithBooks",
- ["Hadith books", "كتب الحديث"],
- [
- "Returns book IDs, names and available counts from the active provider. Discover IDs here instead of assuming a fixed list.",
- "يعيد معرّفات الكتب وأسماءها وأعداد الأحاديث من المصدر المستخدم. استخرج المعرّفات هنا بدل افتراض قائمة ثابتة.",
+ sdk: "client.ayat.getById(1)",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/ayat/{surah}/aya/{id}",
+ slug: "ayat/get-by-surah-aya",
+ id: "getAyaBySurah",
+ title: {
+ en: "Aya within a surah",
+ ar: "آية داخل سورة",
+ },
+ description: {
+ en: "Returns one verse with its surah number and name.",
+ ar: "يعيد آية واحدة مع رقم السورة واسمها.",
+ },
+ schema: "AyaLookupResponse",
+ params: [
+ {
+ name: "surah",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ maximum: 114,
+ },
+ example: 1,
+ description: {
+ en: "Surah number, 1 through 114.",
+ ar: "رقم السورة من 1 إلى 114.",
+ },
+ },
+ {
+ name: "id",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 1,
+ description: {
+ en: "Positive verse number within the surah. A nonexistent verse returns 404.",
+ ar: "رقم آية موجب داخل السورة. الآية غير الموجودة تعيد 404.",
+ },
+ },
],
- "HadithBookListResponse",
- [],
- "client.hadith.listBooks()",
- ),
- e(
- "/hadith/{book}",
- "hadith/book",
- "getHadithBook",
- ["Hadith range", "نطاق أحاديث"],
- [
- "Returns book, available and hadiths inside data. Both range endpoints are inclusive; omitted from defaults to 1 and omitted to defaults to from + 29.",
- "يعيد book وavailable وhadiths داخل data. طرفا النطاق مشمولان؛ from الافتراضي 1 وto الافتراضي from + 29.",
+ sdk: "client.ayat.getBySurah(1, 1)",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/ayat/search",
+ slug: "ayat/search",
+ id: "searchAyat",
+ title: {
+ en: "Search Quran text",
+ ar: "البحث في نص القرآن",
+ },
+ description: {
+ en: "Returns {success, total, data: [...]}. total counts returned matches after limit. Each hit includes apiName.",
+ ar: "يعيد {success, total, data: [...]}؛ total هو عدد النتائج المعادة بعد limit. كل نتيجة تحتوي apiName.",
+ },
+ schema: "AyaSearchResponse",
+ params: [
+ {
+ name: "text",
+ in: "query",
+ required: true,
+ schema: {
+ type: "string",
+ minLength: 1,
+ },
+ example: "الرحمن",
+ description: {
+ en: "Arabic substring, URL-encoded. Blank input returns 400.",
+ ar: "جزء من نص عربي مع ترميز URL. الإدخال الفارغ يعيد 400.",
+ },
+ },
+ {
+ name: "limit",
+ in: "query",
+ required: false,
+ schema: {
+ type: "integer",
+ default: 50,
+ minimum: 1,
+ maximum: 500,
+ },
+ example: 10,
+ description: {
+ en: "Maximum returned matches. Omitted uses 50; invalid values return 400.",
+ ar: "الحد الأقصى للنتائج. القيمة الافتراضية 50؛ القيم غير الصالحة تعيد 400.",
+ },
+ },
],
- "HadithListResponse",
- [
- book(),
- p(
- "from",
- "query",
- false,
- { type: "integer", minimum: 1, default: 1 },
- 1,
- "First hadith number, inclusive.",
- "رقم أول حديث، وهو مشمول.",
- ),
- p(
- "to",
- "query",
- false,
- { type: "integer", minimum: 1 },
- 30,
- "Last hadith number, inclusive. Use at most 300 items: to = from + 299.",
- "رقم آخر حديث، وهو مشمول. استخدم 300 حديث كحد أقصى: to = from + 299.",
- ),
+ sdk: "client.ayat.search('الرحمن', { limit: 10 })",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/reciters",
+ slug: "reciters/list",
+ id: "listReciters",
+ title: {
+ en: "List reciters",
+ ar: "قائمة القراء",
+ },
+ description: {
+ en: "Returns normalized reciters in data.reciters. Each reciter has moshaf recordings with surahList, rewayaId and type. The local snapshot preserves IDs and recordings on failover.",
+ ar: "يعيد القراء داخل data.reciters. لكل قارئ مصاحف moshaf تحتوي surahList وrewayaId وtype. تحافظ النسخة المحلية على المعرّفات والمصاحف عند تعذر المصدر.",
+ },
+ schema: "ReciterCollectionResponse",
+ params: [],
+ sdk: "client.reciters.list()",
+ errors: [503],
+ notes: null,
+ },
+ {
+ path: "/reciters/{id}",
+ slug: "reciters/get",
+ id: "getReciter",
+ title: {
+ en: "Get a reciter",
+ ar: "بيانات قارئ",
+ },
+ description: {
+ en: "Looks up a stable mp3quran reciter ID in the current catalogue or local snapshot.",
+ ar: "يبحث بمعرّف قارئ ثابت من mp3quran في الفهرس الحالي أو النسخة المحلية.",
+ },
+ schema: "ReciterResponse",
+ params: [
+ {
+ name: "id",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 1,
+ description: {
+ en: "Stable mp3quran reciter ID, preserved in the local snapshot.",
+ ar: "معرّف القارئ من mp3quran، محفوظ في النسخة المحلية.",
+ },
+ },
],
- "client.hadith.getBook('bukhari', { from: 1, to: 30 })",
- [400, 503],
- [
- "The API currently rejects to - from > 300, so it accepts 301 inclusive items. SDK 1.0.2 rejects more than 300 when both bounds are supplied. Use 300 or fewer for compatibility. An empty range can return 200 with hadiths: [].",
- "يرفض API حاليًا to - from > 300، فيقبل 301 عنصرًا عند شمول الطرفين. يرفض SDK 1.0.2 أكثر من 300 عند إرسال الطرفين. استخدم 300 أو أقل للتوافق. قد يعيد النطاق الفارغ 200 مع hadiths: [].",
+ sdk: "client.reciters.getById(1)",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/reciters/search",
+ slug: "reciters/search",
+ id: "searchReciters",
+ title: {
+ en: "Search reciter names",
+ ar: "البحث في أسماء القراء",
+ },
+ description: {
+ en: "Returns matching reciters using Arabic substring matching. This is not fuzzy or English-language search.",
+ ar: "يعيد القراء المطابقين لجزء من الاسم العربي. لا يدعم البحث التقريبي أو البحث الإنجليزي.",
+ },
+ schema: "ReciterSearchResponse",
+ params: [
+ {
+ name: "name",
+ in: "query",
+ required: true,
+ schema: {
+ type: "string",
+ minLength: 1,
+ },
+ example: "العفاسي",
+ description: {
+ en: "Arabic name or substring. Use Arabic input; Latin-only input is not a supported search.",
+ ar: "الاسم العربي أو جزء منه. استخدم العربية؛ البحث بحروف لاتينية فقط غير مدعوم.",
+ },
+ },
],
- ),
- e(
- "/hadith/{book}/{number}",
- "hadith/get",
- "getHadith",
- ["Get a hadith", "حديث برقم"],
- [
- "Returns a narration by its book-local number. The response has no grading or chain-of-transmission fields.",
- "يعيد الحديث برقم داخل الكتاب. الاستجابة لا تحتوي حقول الحكم على الحديث أو الإسناد.",
+ sdk: "client.reciters.search('العفاسي')",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/reciters/{id}/surah/{surah}",
+ slug: "reciters/audio",
+ id: "getReciterAudio",
+ title: {
+ en: "Surah audio URL",
+ ar: "رابط صوت السورة",
+ },
+ description: {
+ en: "Selects a recording covering the surah, preferring Hafs murattal when moshaf is omitted. Verifies the audio with HEAD before returning a JSON URL and recording metadata.",
+ ar: "يختار مصحفًا يغطي السورة، مع تفضيل حفص المرتل عند حذف moshaf. يفحص الصوت بطلب HEAD قبل إعادة رابط JSON وبيانات المصحف.",
+ },
+ schema: "ReciterAudioResponse",
+ params: [
+ {
+ name: "id",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 123,
+ description: {
+ en: "Stable mp3quran reciter ID, preserved in the local snapshot.",
+ ar: "معرّف القارئ من mp3quran، محفوظ في النسخة المحلية.",
+ },
+ },
+ {
+ name: "surah",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ maximum: 114,
+ },
+ example: 1,
+ description: {
+ en: "Surah number, 1 through 114.",
+ ar: "رقم السورة من 1 إلى 114.",
+ },
+ },
+ {
+ name: "moshaf",
+ in: "query",
+ required: false,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 7,
+ description: {
+ en: "Optional recording ID owned by this reciter.",
+ ar: "معرّف مصحف اختياري تابع لهذا القارئ.",
+ },
+ },
],
- "HadithResponse",
- [
- book(),
- p(
- "number",
- "path",
- true,
- { type: "integer", minimum: 1 },
- 1,
- "Positive hadith number within the book.",
- "رقم حديث موجب داخل الكتاب.",
- ),
+ sdk: "client.reciters.getSurah(123, 1, { moshaf: 7 })",
+ errors: [400, 404, 503],
+ notes: {
+ en: "moshaf is a recording ID from the reciter catalogue. Missing recording coverage returns 404; failure of all eligible audio providers returns 503. Quran.com fallback is restricted to verified matching Hafs murattal recordings.",
+ ar: "moshaf هو معرّف مصحف من فهرس القارئ. عدم تغطية السورة يعيد 404؛ فشل مصادر الصوت المتاحة يعيد 503. يقتصر بديل Quran.com على مصاحف حفص المرتلة ذات المطابقة الموثقة.",
+ },
+ },
+ {
+ path: "/tafsir",
+ slug: "tafsir/editions",
+ id: "listTafsirEditions",
+ title: {
+ en: "Tafsir editions",
+ ar: "نسخ التفسير",
+ },
+ description: {
+ en: "Lists the two supported public edition IDs: muyassar and saadi. The local catalogue does not test provider availability.",
+ ar: "يعرض معرّفي التفسير المدعومين: muyassar وsaadi. الفهرس محلي ولا يفحص توفر المصادر.",
+ },
+ schema: "TafsirEditionListResponse",
+ params: [],
+ sdk: "client.tafsir.listEditions()",
+ errors: [],
+ notes: null,
+ },
+ {
+ path: "/tafsir/{edition}/{surah}",
+ slug: "tafsir/surah",
+ id: "getSurahTafsir",
+ title: {
+ en: "Tafsir for a surah",
+ ar: "تفسير سورة",
+ },
+ description: {
+ en: "Returns a TafsirItem array, even with the optional aya filter. edition is the public ID muyassar or saadi across all sources.",
+ ar: "يعيد مصفوفة TafsirItem حتى مع مرشح aya الاختياري. حقل edition هو المعرّف العام muyassar أوsaadi في جميع المصادر.",
+ },
+ schema: "TafsirListResponse",
+ params: [
+ {
+ name: "edition",
+ in: "path",
+ required: true,
+ schema: {
+ type: "string",
+ enum: ["muyassar", "saadi"],
+ },
+ example: "muyassar",
+ description: {
+ en: "Public edition ID from GET /tafsir. Use muyassar, not ar.muyassar.",
+ ar: "معرّف النسخة من GET /tafsir. استخدم muyassar وليس ar.muyassar.",
+ },
+ },
+ {
+ name: "surah",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ maximum: 114,
+ },
+ example: 1,
+ description: {
+ en: "Surah number, 1 through 114.",
+ ar: "رقم السورة من 1 إلى 114.",
+ },
+ },
+ {
+ name: "aya",
+ in: "query",
+ required: false,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 1,
+ description: {
+ en: "Positive verse number within the surah. A nonexistent verse returns 404.",
+ ar: "رقم آية موجب داخل السورة. الآية غير الموجودة تعيد 404.",
+ },
+ },
],
- "client.hadith.getByNumber('bukhari', 1)",
- [400, 404, 503],
- ),
- e(
- "/hadith/random",
- "hadith/random",
- "getRandomHadith",
- ["Random hadith", "حديث عشوائي"],
- [
- "Picks a book, then a number from its available count. Optionally restrict the book. The result contains book and hadith.",
- "يختار كتابًا ثم رقم حديث وفق العدد المتاح. يمكن تقييد الكتاب. تحتوي النتيجة book وhadith.",
+ sdk: "client.tafsir.forSurah('muyassar', 1)",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/tafsir/{edition}/{surah}/{aya}",
+ slug: "tafsir/aya",
+ id: "getAyaTafsir",
+ title: {
+ en: "Tafsir for an aya",
+ ar: "تفسير آية",
+ },
+ description: {
+ en: "Returns one tafsir item. Only muyassar and saadi are supported; unavailable editions return 400 before any provider request.",
+ ar: "يعيد عنصر تفسير واحدًا. يدعم muyassar وsaadi فقط؛ النسخ غير المدعومة تعيد 400 قبل طلب المصدر.",
+ },
+ schema: "TafsirItemResponse",
+ params: [
+ {
+ name: "edition",
+ in: "path",
+ required: true,
+ schema: {
+ type: "string",
+ enum: ["muyassar", "saadi"],
+ },
+ example: "muyassar",
+ description: {
+ en: "Public edition ID from GET /tafsir. Use muyassar, not ar.muyassar.",
+ ar: "معرّف النسخة من GET /tafsir. استخدم muyassar وليس ar.muyassar.",
+ },
+ },
+ {
+ name: "surah",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ maximum: 114,
+ },
+ example: 1,
+ description: {
+ en: "Surah number, 1 through 114.",
+ ar: "رقم السورة من 1 إلى 114.",
+ },
+ },
+ {
+ name: "aya",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 1,
+ description: {
+ en: "Positive verse number within the surah. A nonexistent verse returns 404.",
+ ar: "رقم آية موجب داخل السورة. الآية غير الموجودة تعيد 404.",
+ },
+ },
],
- "RandomHadithResponse",
- [
- p(
- "book",
- "query",
- false,
- { type: "string" },
- "bukhari",
- "Optional exact book ID. An unknown ID returns 404.",
- "معرّف كتاب مطابق اختياري. المعرّف المجهول يعيد 404.",
- ),
+ sdk: "client.tafsir.forAya('muyassar', 1, 1)",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/azkar",
+ slug: "azkar/categories",
+ id: "listAzkarCategories",
+ title: {
+ en: "Azkar categories",
+ ar: "تصنيفات الأذكار",
+ },
+ description: {
+ en: "Lists category names, item counts and sources in data.categories.",
+ ar: "يعرض أسماء التصنيفات وأعداد الأذكار ومصادرها داخل data.categories.",
+ },
+ schema: "AzkarCategorySummaryResponse",
+ params: [],
+ sdk: "client.azkar.listCategories()",
+ errors: [503],
+ notes: null,
+ },
+ {
+ path: "/azkar/{category}",
+ slug: "azkar/category",
+ id: "getAzkarCategory",
+ title: {
+ en: "Azkar in a category",
+ ar: "أذكار تصنيف",
+ },
+ description: {
+ en: "Returns the first category whose normalized Arabic name contains the supplied value. Use the full name from the catalogue to avoid ambiguous matches.",
+ ar: "يعيد أول تصنيف يحتوي اسمه العربي المطبع على القيمة المدخلة. استخدم الاسم الكامل من الفهرس لتجنب التطابق الغامض.",
+ },
+ schema: "AzkarCategoryResponse",
+ params: [
+ {
+ name: "category",
+ in: "path",
+ required: true,
+ schema: {
+ type: "string",
+ minLength: 1,
+ },
+ example: "أذكار الصباح",
+ description: {
+ en: "Arabic category name, URL-encoded as one path segment.",
+ ar: "اسم التصنيف العربي، مرمّز كمقطع واحد من المسار.",
+ },
+ },
],
- "client.hadith.random({ book: 'bukhari' })",
- [404, 503],
- ),
- e(
- "/prayer/times",
- "prayer/times",
- "getPrayerTimes",
- ["Prayer times", "مواقيت الصلاة"],
- [
- "Provide latitude + longitude or city + country. With both pairs, Aladhan coordinates are tried before Aladhan city lookup.",
- "أرسل latitude وlongitude أو city وcountry. عند إرسال الزوجين، تُجرّب إحداثيات Aladhan قبل البحث باسم المدينة.",
+ sdk: "client.azkar.getByCategory('أذكار الصباح')",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/azkar/search",
+ slug: "azkar/search",
+ id: "searchAzkar",
+ title: {
+ en: "Search azkar text",
+ ar: "البحث في الأذكار",
+ },
+ description: {
+ en: "Returns {success, total, data: [...]}; each hit includes category, item and apiName. No matches returns 404.",
+ ar: "يعيد {success, total, data: [...]}؛ كل نتيجة تحتوي category وitem وapiName. عدم وجود نتائج يعيد 404.",
+ },
+ schema: "AzkarSearchResponse",
+ params: [
+ {
+ name: "text",
+ in: "query",
+ required: true,
+ schema: {
+ type: "string",
+ minLength: 1,
+ },
+ example: "الله",
+ description: {
+ en: "Arabic substring, URL-encoded. Blank input returns 400.",
+ ar: "جزء من نص عربي مع ترميز URL. الإدخال الفارغ يعيد 400.",
+ },
+ },
+ {
+ name: "limit",
+ in: "query",
+ required: false,
+ schema: {
+ type: "integer",
+ default: 50,
+ minimum: 1,
+ maximum: 200,
+ },
+ example: 10,
+ description: {
+ en: "Maximum returned matches. Omitted uses 50; invalid values return 400.",
+ ar: "الحد الأقصى للنتائج. القيمة الافتراضية 50؛ القيم غير الصالحة تعيد 400.",
+ },
+ },
],
- "PrayerTimesResponse",
- [
- date(),
- ...coords(false, false),
- p(
- "city",
- "query",
- false,
- { type: "string" },
- "Mecca",
- "Required with country when coordinates are not supplied.",
- "مطلوب مع country عند عدم إرسال الإحداثيات.",
- ),
- p(
- "country",
- "query",
- false,
- { type: "string" },
- "SA",
- "Country for city lookup. Send together with city.",
- "الدولة للبحث عن المدينة. أرسلها مع city.",
- ),
- p(
- "method",
- "query",
- false,
- { type: "integer" },
- 4,
- "Aladhan calculation method ID. Omitted uses the provider default.",
- "معرّف طريقة الحساب لدى Aladhan. عند حذفه يستخدم المصدر افتراضيه.",
- ),
+ sdk: "client.azkar.search('الله', { limit: 10 })",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/azkar/random",
+ slug: "azkar/random",
+ id: "getRandomZekr",
+ title: {
+ en: "Random zekr",
+ ar: "ذكر عشوائي",
+ },
+ description: {
+ en: "Chooses one item from all cached categories. Random selection happens per request.",
+ ar: "يختار ذكرًا من جميع التصنيفات المخزّنة. يتم الاختيار العشوائي عند كل طلب.",
+ },
+ schema: "AzkarPickResponse",
+ params: [],
+ sdk: "client.azkar.random()",
+ errors: [404, 503],
+ notes: null,
+ },
+ {
+ path: "/hadith",
+ slug: "hadith/books",
+ id: "listHadithBooks",
+ title: {
+ en: "Hadith books",
+ ar: "كتب الحديث",
+ },
+ description: {
+ en: "Lists nine supported books from verified local metadata. available counts actual stored narrations, not the maximum hadith number.",
+ ar: "يعرض الكتب التسعة المدعومة من بيانات محلية موثقة. يحسب available الأحاديث المخزنة فعليًا، ولا يمثل أكبر رقم حديث.",
+ },
+ schema: "HadithBookListResponse",
+ params: [],
+ sdk: "client.hadith.listBooks()",
+ errors: [503],
+ notes: null,
+ },
+ {
+ path: "/hadith/{book}",
+ slug: "hadith/book",
+ id: "getHadithBook",
+ title: {
+ en: "Hadith range",
+ ar: "نطاق أحاديث",
+ },
+ description: {
+ en: "Returns book, available and hadiths inside data. Inclusive range defaults to from=1 and to=from+29; at most 300 requested numbers are accepted.",
+ ar: "يعيد book وavailable وhadiths داخل data. النطاق شامل طرفيه؛ from الافتراضي 1 وto الافتراضي from+29. يقبل 300 رقم حديث كحد أقصى.",
+ },
+ schema: "HadithListResponse",
+ params: [
+ {
+ name: "book",
+ in: "path",
+ required: true,
+ schema: {
+ type: "string",
+ minLength: 1,
+ },
+ example: "bukhari",
+ description: {
+ en: "Book ID from GET /hadith. Unknown IDs return 404.",
+ ar: "معرّف الكتاب من GET /hadith. المعرّف المجهول يعيد 404.",
+ },
+ },
+ {
+ name: "from",
+ in: "query",
+ required: false,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ default: 1,
+ },
+ example: 1,
+ description: {
+ en: "First hadith number, inclusive.",
+ ar: "رقم أول حديث، وهو مشمول.",
+ },
+ },
+ {
+ name: "to",
+ in: "query",
+ required: false,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 30,
+ description: {
+ en: "Last hadith number, inclusive. Use at most 300 items: to = from + 299.",
+ ar: "رقم آخر حديث، وهو مشمول. استخدم 300 حديث كحد أقصى: to = from + 299.",
+ },
+ },
],
- "client.prayer.getTimes({ latitude: 21.4225, longitude: 39.8262, method: 4 })",
- [400, 503],
- [
- "pray.zone fallback is available only for coordinate requests dated today on the API server. It does not receive method, and may omit method and coordinates. Inspect apiName before assuming identical calculation settings. This controller validates numeric coordinates but does not enforce geographic bounds; SDK validation does.",
- "يتاح بديل pray.zone لطلبات الإحداثيات بتاريخ اليوم على خادم API فقط. لا يستقبل method وقد يحذف method وcoordinates من النتيجة. افحص apiName قبل افتراض ثبات طريقة الحساب. يتحقق هذا المتحكم من كون الإحداثيات أرقامًا دون فرض حدودها الجغرافية؛ يفرض SDK الحدود.",
+ sdk: "client.hadith.getBook('bukhari', { from: 1, to: 30 })",
+ errors: [400, 404, 503],
+ notes: {
+ en: "Numbering may contain gaps. A range can return fewer narrations or an empty array. available is the count of stored narrations, so it is not a bound for lookup numbers. Unknown books return 404.",
+ ar: "قد تحتوي الأرقام على فجوات. قد يعيد النطاق أحاديث أقل أو مصفوفة فارغة. available هو عدد الأحاديث المخزنة، فلا تستخدمه حدًا أعلى لأرقام البحث. الكتب المجهولة تعيد 404.",
+ },
+ },
+ {
+ path: "/hadith/{book}/{number}",
+ slug: "hadith/get",
+ id: "getHadith",
+ title: {
+ en: "Get a hadith",
+ ar: "حديث برقم",
+ },
+ description: {
+ en: "Returns a narration by its book-local number. The response has no grading or chain-of-transmission fields.",
+ ar: "يعيد الحديث برقم داخل الكتاب. الاستجابة لا تحتوي حقول الحكم على الحديث أو الإسناد.",
+ },
+ schema: "HadithResponse",
+ params: [
+ {
+ name: "book",
+ in: "path",
+ required: true,
+ schema: {
+ type: "string",
+ minLength: 1,
+ },
+ example: "bukhari",
+ description: {
+ en: "Book ID from GET /hadith. Unknown IDs return 404.",
+ ar: "معرّف الكتاب من GET /hadith. المعرّف المجهول يعيد 404.",
+ },
+ },
+ {
+ name: "number",
+ in: "path",
+ required: true,
+ schema: {
+ type: "integer",
+ minimum: 1,
+ },
+ example: 1,
+ description: {
+ en: "Positive hadith number within the book.",
+ ar: "رقم حديث موجب داخل الكتاب.",
+ },
+ },
],
- ),
- e(
- "/hijri/today",
- "hijri/today",
- "getToday",
- ["Today in both calendars", "تاريخ اليوم بالتقويمين"],
- [
- "Converts the API server’s current Gregorian date through Aladhan. It does not use the browser’s timezone.",
- "يحوّل تاريخ خادم API الميلادي الحالي عبر Aladhan. لا يستخدم المنطقة الزمنية للمتصفح.",
+ sdk: "client.hadith.getByNumber('bukhari', 1)",
+ errors: [400, 404, 503],
+ notes: null,
+ },
+ {
+ path: "/hadith/random",
+ slug: "hadith/random",
+ id: "getRandomHadith",
+ title: {
+ en: "Random hadith",
+ ar: "حديث عشوائي",
+ },
+ description: {
+ en: "Samples an actual stored narration from a selected book, so numbering gaps cannot produce an empty random result. Optionally restrict by book ID.",
+ ar: "يختار حديثًا مخزنًا فعليًا من الكتاب المختار، فلا تؤدي فجوات الترقيم إلى نتيجة عشوائية فارغة. يمكن تقييد الاختيار بمعرّف كتاب.",
+ },
+ schema: "RandomHadithResponse",
+ params: [
+ {
+ name: "book",
+ in: "query",
+ required: false,
+ schema: {
+ type: "string",
+ },
+ example: "bukhari",
+ description: {
+ en: "Book ID from GET /hadith. Unknown IDs return 404.",
+ ar: "معرّف الكتاب من GET /hadith. المعرّف المجهول يعيد 404.",
+ },
+ },
],
- "HijriResponse",
- [],
- "client.hijri.today()",
- ),
- e(
- "/hijri/from-gregorian",
- "hijri/from-gregorian",
- "fromGregorian",
- ["Gregorian to Hijri", "من الميلادي إلى الهجري"],
- [
- "Returns both calendar representations. Aladhan is the only configured source.",
- "يعيد تمثيل التاريخ بالتقويمين. Aladhan هو المصدر الوحيد المضبوط.",
+ sdk: "client.hadith.random({ book: 'bukhari' })",
+ errors: [404, 503],
+ notes: null,
+ },
+ {
+ path: "/prayer/times",
+ slug: "prayer/times",
+ id: "getPrayerTimes",
+ title: {
+ en: "Prayer times",
+ ar: "مواقيت الصلاة",
+ },
+ description: {
+ en: "Provide latitude+longitude or city+country. Coordinates take precedence when both are supplied. Uses method 4 and timezone UTC by default and returns seven HH:mm timings.",
+ ar: "أرسل latitude وlongitude أوcity وcountry. الإحداثيات لها الأولوية عند إرسال الاثنين. طريقة الحساب الافتراضية 4 والمنطقة الزمنية UTC، وتعيد سبعة أوقات بصيغة HH:mm.",
+ },
+ schema: "PrayerTimesResponse",
+ params: [
+ {
+ name: "date",
+ in: "query",
+ required: false,
+ schema: {
+ type: "string",
+ pattern: "^\\d{2}-\\d{2}-\\d{4}$",
+ },
+ example: "01-01-2026",
+ description: {
+ en: "Date in DD-MM-YYYY. Must be a real Gregorian date with year at least 1000. Omitted or blank uses the API server date.",
+ ar: "تاريخ بصيغة DD-MM-YYYY. يجب أن يكون تاريخًا ميلاديًا صحيحًا بسنة لا تقل عن 1000. عند حذفه أو تركه فارغًا يستخدم تاريخ خادم API.",
+ },
+ },
+ {
+ name: "latitude",
+ in: "query",
+ required: false,
+ schema: {
+ type: "number",
+ minimum: -90,
+ maximum: 90,
+ },
+ example: 21.4225,
+ description: {
+ en: "Latitude in decimal degrees; provide it together with longitude.",
+ ar: "خط العرض بالدرجات العشرية؛ أرسله مع خط الطول.",
+ },
+ },
+ {
+ name: "longitude",
+ in: "query",
+ required: false,
+ schema: {
+ type: "number",
+ minimum: -180,
+ maximum: 180,
+ },
+ example: 39.8262,
+ description: {
+ en: "Longitude in decimal degrees; provide it together with latitude.",
+ ar: "خط الطول بالدرجات العشرية؛ أرسله مع خط العرض.",
+ },
+ },
+ {
+ name: "city",
+ in: "query",
+ required: false,
+ schema: {
+ type: "string",
+ },
+ example: "Mecca",
+ description: {
+ en: "Required with country when coordinates are not supplied.",
+ ar: "مطلوب مع country عند عدم إرسال الإحداثيات.",
+ },
+ },
+ {
+ name: "country",
+ in: "query",
+ required: false,
+ schema: {
+ type: "string",
+ },
+ example: "SA",
+ description: {
+ en: "Country for city lookup. Send together with city.",
+ ar: "الدولة للبحث عن المدينة. أرسلها مع city.",
+ },
+ },
+ {
+ name: "method",
+ in: "query",
+ required: false,
+ schema: {
+ type: "integer",
+ enum: [1, 2, 3, 4, 5, 9, 10, 11],
+ default: 4,
+ },
+ example: 4,
+ description: {
+ en: "Supported calculation method. Default 4 is Umm al-Qura.",
+ ar: "طريقة الحساب المدعومة. القيمة الافتراضية 4 هي أم القرى.",
+ },
+ },
+ {
+ name: "timezone",
+ in: "query",
+ required: false,
+ schema: {
+ type: "string",
+ default: "UTC",
+ },
+ example: "Asia/Riyadh",
+ description: {
+ en: "IANA timezone for HH:mm output.",
+ ar: "منطقة زمنية من IANA لتنسيق الأوقات بصيغة HH:mm.",
+ },
+ },
],
- "HijriResponse",
- [date()],
- "client.hijri.fromGregorian('01-01-2026')",
- [400, 503],
- ),
- e(
- "/hijri/to-gregorian",
- "hijri/to-gregorian",
- "toGregorian",
- ["Hijri to Gregorian", "من الهجري إلى الميلادي"],
- [
- "Converts a required Hijri date. Returned month and weekday names come from the provider.",
- "يحوّل تاريخًا هجريًا مطلوبًا. تأتي أسماء الأشهر وأيام الأسبوع من المصدر.",
+ sdk: "client.prayer.getTimes({ latitude: 21.4225, longitude: 39.8262, method: 4, timezone: 'Asia/Riyadh' })",
+ errors: [400, 503],
+ notes: {
+ en: "Supported methods: 1, 2, 3, 4, 5, 9, 10, 11. The local adhan fallback requires coordinates and preserves the date, method and timezone. City-only requests have no local geocoder; unavailable providers return 503. hijri may be absent in local results.",
+ ar: "طرق الحساب المدعومة: 1 و2 و3 و4 و5 و9 و10 و11. يتطلب بديل adhan المحلي إحداثيات ويحافظ على التاريخ والطريقة والمنطقة الزمنية. لا يوجد تحويل محلي لأسماء المدن إلى إحداثيات؛ تعذر المصدر يعيد 503. قد يغيب hijri في النتيجة المحلية.",
+ },
+ },
+ {
+ path: "/hijri/today",
+ slug: "hijri/today",
+ id: "getToday",
+ title: {
+ en: "Today in both calendars",
+ ar: "تاريخ اليوم بالتقويمين",
+ },
+ description: {
+ en: "Converts the API server date using the fixed islamic-umalqura calendar. It does not use the browser timezone.",
+ ar: "يحوّل تاريخ خادم API بتقويم islamic-umalqura الثابت. لا يستخدم منطقة المتصفح الزمنية.",
+ },
+ schema: "HijriResponse",
+ params: [],
+ sdk: "client.hijri.today()",
+ errors: [503],
+ notes: null,
+ },
+ {
+ path: "/hijri/from-gregorian",
+ slug: "hijri/from-gregorian",
+ id: "fromGregorian",
+ title: {
+ en: "Gregorian to Hijri",
+ ar: "من الميلادي إلى الهجري",
+ },
+ description: {
+ en: "Returns both calendars and calendar=islamic-umalqura. Aladhan UAQ is validated against the local Intl conversion; local conversion is the fallback.",
+ ar: "يعيد التقويمين وحقل calendar=islamic-umalqura. تُطابق نتيجة Aladhan UAQ مع تحويل Intl المحلي، الذي يُستخدم أيضًا مصدرًا بديلًا.",
+ },
+ schema: "HijriResponse",
+ params: [
+ {
+ name: "date",
+ in: "query",
+ required: false,
+ schema: {
+ type: "string",
+ pattern: "^\\d{2}-\\d{2}-\\d{4}$",
+ },
+ example: "01-01-2026",
+ description: {
+ en: "Date in DD-MM-YYYY. Must be a real Gregorian date with year at least 1000. Omitted or blank uses the API server date.",
+ ar: "تاريخ بصيغة DD-MM-YYYY. يجب أن يكون تاريخًا ميلاديًا صحيحًا بسنة لا تقل عن 1000. عند حذفه أو تركه فارغًا يستخدم تاريخ خادم API.",
+ },
+ },
],
- "HijriResponse",
- [date(true, true)],
- "client.hijri.toGregorian('01-09-1447')",
- [400, 503],
- ),
- e(
- "/qibla",
- "qibla/direction",
- "getQibla",
- ["Qibla direction", "اتجاه القبلة"],
- [
- "Returns degrees clockwise from true north. Tries Aladhan, then calculates the great-circle bearing locally.",
- "يعيد الزاوية بالدرجات باتجاه عقارب الساعة من الشمال الحقيقي. يجرّب Aladhan ثم يحسب الاتجاه محليًا على الدائرة العظمى.",
+ sdk: "client.hijri.fromGregorian('01-01-2026')",
+ errors: [400, 503],
+ notes: null,
+ },
+ {
+ path: "/hijri/to-gregorian",
+ slug: "hijri/to-gregorian",
+ id: "toGregorian",
+ title: {
+ en: "Hijri to Gregorian",
+ ar: "من الهجري إلى الميلادي",
+ },
+ description: {
+ en: "Converts a required Hijri date using islamic-umalqura. Validates day 1..30, month 1..12 and year 1..2400 before fetching.",
+ ar: "يحوّل تاريخًا هجريًا مطلوبًا بتقويم islamic-umalqura. يتحقق من اليوم 1..30 والشهر 1..12 والسنة 1..2400 قبل طلب المصدر.",
+ },
+ schema: "HijriResponse",
+ params: [
+ {
+ name: "date",
+ in: "query",
+ required: true,
+ schema: {
+ type: "string",
+ pattern: "^\\d{2}-\\d{2}-\\d{4}$",
+ },
+ example: "01-09-1447",
+ description: {
+ en: "Date in DD-MM-YYYY. Hijri day 1..30, month 1..12, year 1..2400.",
+ ar: "تاريخ بصيغة DD-MM-YYYY. اليوم الهجري 1..30 والشهر 1..12 والسنة 1..2400.",
+ },
+ },
],
- "QiblaResponse",
- coords(true, true),
- "client.qibla.getDirection(21.4225, 39.8262)",
- [400, 503],
- [
- "This is a geographic bearing, not a device compass reading. Magnetic declination and device orientation are outside this endpoint.",
- "هذه زاوية جغرافية وليست قراءة بوصلة الجهاز. الانحراف المغناطيسي واتجاه الجهاز خارج وظيفة هذا المسار.",
+ sdk: "client.hijri.toGregorian('01-09-1447')",
+ errors: [400, 503],
+ notes: null,
+ },
+ {
+ path: "/qibla",
+ slug: "qibla/direction",
+ id: "getQibla",
+ title: {
+ en: "Qibla direction",
+ ar: "اتجاه القبلة",
+ },
+ description: {
+ en: "Returns degrees clockwise from true north. Tries Aladhan, then calculates the great-circle bearing locally.",
+ ar: "يعيد الزاوية بالدرجات باتجاه عقارب الساعة من الشمال الحقيقي. يجرّب Aladhan ثم يحسب الاتجاه محليًا على الدائرة العظمى.",
+ },
+ schema: "QiblaResponse",
+ params: [
+ {
+ name: "latitude",
+ in: "query",
+ required: true,
+ schema: {
+ type: "number",
+ minimum: -90,
+ maximum: 90,
+ },
+ example: 21.4225,
+ description: {
+ en: "Latitude in decimal degrees; provide it together with longitude.",
+ ar: "خط العرض بالدرجات العشرية؛ أرسله مع خط الطول.",
+ },
+ },
+ {
+ name: "longitude",
+ in: "query",
+ required: true,
+ schema: {
+ type: "number",
+ minimum: -180,
+ maximum: 180,
+ },
+ example: 39.8262,
+ description: {
+ en: "Longitude in decimal degrees; provide it together with latitude.",
+ ar: "خط الطول بالدرجات العشرية؛ أرسله مع خط العرض.",
+ },
+ },
],
- ),
+ sdk: "client.qibla.getDirection(21.4225, 39.8262)",
+ errors: [400, 503],
+ notes: {
+ en: "This is a geographic bearing, not a device compass reading. Magnetic declination and device orientation are outside this endpoint.",
+ ar: "هذه زاوية جغرافية وليست قراءة بوصلة الجهاز. الانحراف المغناطيسي واتجاه الجهاز خارج وظيفة هذا المسار.",
+ },
+ },
];
diff --git a/scripts/api-schemas.mjs b/scripts/api-schemas.mjs
index a7027e4..f628032 100644
--- a/scripts/api-schemas.mjs
+++ b/scripts/api-schemas.mjs
@@ -32,13 +32,15 @@ const text = () =>
"Source text as returned by the API. Documentation language does not translate content.",
"نص المصدر كما يعيده API. لغة التوثيق لا تترجم المحتوى.",
);
-const quranSources = [
- "alquran.cloud",
- "cdn.jsdelivr.net/fawazahmed0/quran-api",
-];
+const quranSources = ["alquran.cloud", "cdn.jsdelivr.net/fawazahmed0/quran-api", "quran.com"];
const hadithSources = [
- "hadith.gading.dev",
- "cdn.jsdelivr.net/sutanlab/hadith-api",
+ "cdn.jsdelivr.net/gadingnst/hadith-api",
+ "raw.githubusercontent.com/gadingnst/hadith-api",
+ "local",
+];
+const azkarSources = [
+ "cdn.jsdelivr.net/rn0x/hisn_almuslim_json",
+ "raw.githubusercontent.com/rn0x/hisn_almuslim_json",
];
export const schemas = {
Catalogue: obj({
@@ -61,21 +63,16 @@ export const schemas = {
Health: obj({
status: { type: "string", const: "ok" },
code: { type: "integer", const: 200 },
- timestamp: str(
- "Current server time in ISO 8601.",
- "وقت الخادم الحالي بصيغة ISO 8601.",
- { format: "date-time" },
- ),
+ timestamp: str("Current server time in ISO 8601.", "وقت الخادم الحالي بصيغة ISO 8601.", {
+ format: "date-time",
+ }),
}),
Cache: obj({
entries: int(
"Stored cache entries, including entries not yet evicted.",
"عناصر الكاش المخزّنة، بما فيها العناصر التي لم تُزل بعد.",
),
- inflight: int(
- "Cache loads currently in flight.",
- "عمليات تحميل الكاش الجارية.",
- ),
+ inflight: int("Cache loads currently in flight.", "عمليات تحميل الكاش الجارية."),
}),
Ready: obj({
status: { type: "string", const: "ready" },
@@ -107,32 +104,22 @@ export const schemas = {
},
),
message: str("Error message.", "رسالة الخطأ."),
- requestId: str(
- "Request identifier for troubleshooting.",
- "معرّف الطلب لتتبع المشكلة.",
- ),
+ requestId: str("Request identifier for troubleshooting.", "معرّف الطلب لتتبع المشكلة."),
}),
}),
Surah: obj(
{
id: int("Surah number.", "رقم السورة.", { minimum: 1, maximum: 114 }),
name: str("Surah name from the provider.", "اسم السورة من المصدر."),
- makkia: field(
- "boolean",
- "Whether the surah is Meccan, when supplied.",
- "هل السورة مكية، إذا وفر المصدر القيمة.",
- ),
- apiName: source(["mp3quran.net", "alquran.cloud", "quran.com"]),
+ makkia: field("boolean", "Whether the surah is Meccan.", "هل السورة مكية."),
+ apiName: source(["mp3quran.net", "alquran.cloud", "quran.com", "local"]),
},
- ["id", "name", "apiName"],
+ ["id", "name", "makkia", "apiName"],
),
Aya: obj({
number: int("Global verse number.", "رقم الآية العام."),
text: text(),
- numberInSurah: int(
- "Verse number within its surah.",
- "رقم الآية داخل سورتها.",
- ),
+ numberInSurah: int("Verse number within its surah.", "رقم الآية داخل سورتها."),
}),
SurahWithAyat: obj({
number: int("Surah number.", "رقم السورة."),
@@ -144,6 +131,7 @@ export const schemas = {
surahNumber: int("Surah number.", "رقم السورة."),
surahName: str("Surah name.", "اسم السورة."),
aya: ref("Aya"),
+ apiName: source(quranSources),
}),
Moshaf: obj({
id: int("Provider moshaf ID.", "معرّف المصحف لدى المصدر."),
@@ -151,6 +139,9 @@ export const schemas = {
server: str("Base audio-server URL.", "الرابط الأساسي لخادم الصوت.", {
format: "uri",
}),
+ surahList: arr({ type: "integer", minimum: 1, maximum: 114 }),
+ rewayaId: int("Narration ID.", "معرّف الرواية."),
+ type: int("Recording type ID; 11 denotes murattal.", "نوع التسجيل؛ 11 للمرتل."),
}),
Reciter: obj(
{
@@ -158,32 +149,26 @@ export const schemas = {
name: str("Reciter name.", "اسم القارئ."),
date: str("Provider date metadata.", "بيانات التاريخ من المصدر."),
moshaf: arr("Moshaf"),
- style: {
- type: ["string", "null"],
- description: pair(
- "Recitation style, when provided.",
- "أسلوب التلاوة إذا توفر.",
- ),
- },
- apiName: source(["mp3quran.net", "quran.com"]),
+ apiName: source(["mp3quran.net", "local"]),
},
- ["id", "name", "apiName"],
+ ["id", "name", "moshaf", "apiName"],
),
ReciterAudio: obj({
reciter: str("Reciter name.", "اسم القارئ."),
surah: int("Surah number.", "رقم السورة."),
audio: str(
- "Constructed MP3 URL; file availability is not checked.",
- "رابط MP3 منشأ؛ لا يجري التحقق من وجود الملف.",
+ "Audio URL verified with HEAD before caching; later playback can still fail.",
+ "رابط صوت جرى فحصه بطلب HEAD قبل التخزين؛ قد يفشل التشغيل لاحقًا.",
{ format: "uri" },
),
+ moshafId: int("Selected recording ID.", "معرّف المصحف المختار."),
+ rewayaId: int("Selected narration ID.", "معرّف الرواية المختارة."),
+ apiName: source(["mp3quran.net", "quran.com"]),
}),
TafsirEdition: obj({
- id: str(
- "Public edition key accepted in paths.",
- "معرّف النسخة العام المقبول في المسار.",
- { enum: ["muyassar", "jalalayn", "saadi", "waseet", "qurtubi"] },
- ),
+ id: str("Public edition key accepted in paths.", "معرّف النسخة العام المقبول في المسار.", {
+ enum: ["muyassar", "saadi"],
+ }),
label: str("Arabic edition name.", "اسم النسخة بالعربية."),
}),
TafsirItem: obj({
@@ -191,15 +176,21 @@ export const schemas = {
aya: int("Verse number within the surah.", "رقم الآية داخل السورة."),
text: text(),
edition: str(
- "Provider edition ID, for example ar.muyassar or arabic_moyassar. This differs from the public path ID.",
- "معرّف النسخة لدى المصدر مثل ar.muyassar أو arabic_moyassar. يختلف عن المعرّف العام في المسار.",
+ "Public edition ID, stable across providers.",
+ "معرّف النسخة العام، ثابت عبر المصادر.",
+ { enum: ["muyassar", "saadi"] },
),
- apiName: source(["alquran.cloud", "quranenc.com"]),
+ apiName: source([
+ "alquran.cloud",
+ "quranenc.com",
+ "quran.com",
+ "cdn.jsdelivr.net/spa5k/tafsir_api",
+ ]),
}),
AzkarCategorySummary: obj({
name: str("Category name.", "اسم التصنيف."),
count: int("Number of items in this category.", "عدد الأذكار في التصنيف."),
- apiName: source(["github.com/nawafalqari", "hisnmuslim.com"]),
+ apiName: source(azkarSources),
}),
AzkarItem: obj(
{
@@ -208,18 +199,9 @@ export const schemas = {
"معرّف الذكر داخل المصدر أو التصنيف، وليس معرّفًا عامًا.",
),
text: text(),
- count: int(
- "Suggested repetitions, when supplied.",
- "عدد التكرارات عند توفره.",
- ),
- reference: str(
- "Source reference, when supplied.",
- "مرجع الذكر عند توفره.",
- ),
- description: str(
- "Additional source description.",
- "وصف إضافي من المصدر.",
- ),
+ count: int("Suggested repetitions, when supplied.", "عدد التكرارات عند توفره."),
+ reference: str("Source reference, when supplied.", "مرجع الذكر عند توفره."),
+ description: str("Additional source description.", "وصف إضافي من المصدر."),
content: str("Additional source content.", "محتوى إضافي من المصدر."),
},
["id", "text"],
@@ -227,28 +209,26 @@ export const schemas = {
AzkarCategory: obj({
category: str("Category name.", "اسم التصنيف."),
items: arr("AzkarItem"),
- apiName: source(["github.com/nawafalqari", "hisnmuslim.com"]),
+ apiName: source(azkarSources),
}),
AzkarPick: obj({
category: str("Category name.", "اسم التصنيف."),
item: ref("AzkarItem"),
+ apiName: source(azkarSources),
}),
HadithBook: obj({
id: str("Book ID used in requests.", "معرّف الكتاب المستخدم في الطلبات."),
name: str("Book name.", "اسم الكتاب."),
available: int(
- "Provider-reported number of narrations.",
- "عدد الأحاديث الذي يذكره المصدر.",
+ "Count of actual narrations; not the largest number when numbering has gaps.",
+ "عدد الأحاديث الفعلية، ولا يمثل أكبر رقم عند وجود فجوات في الترقيم.",
),
apiName: source(hadithSources),
}),
Hadith: obj({
number: int("Hadith number within the book.", "رقم الحديث داخل الكتاب."),
text: text(),
- book: str(
- "Book name returned by the provider.",
- "اسم الكتاب الذي يعيده المصدر.",
- ),
+ book: str("Book name returned by the provider.", "اسم الكتاب الذي يعيده المصدر."),
apiName: source(hadithSources),
}),
HadithRange: obj({
@@ -261,25 +241,16 @@ export const schemas = {
}),
PrayerTimings: obj(
Object.fromEntries(
- [
- "Fajr",
- "Sunrise",
- "Dhuhr",
- "Asr",
- "Sunset",
- "Maghrib",
- "Isha",
- "Imsak",
- "Midnight",
- ].map((key) => [
+ ["Fajr", "Sunrise", "Dhuhr", "Asr", "Sunset", "Maghrib", "Isha"].map((key) => [
key,
str(
- "Provider-formatted local time. It may include a timezone suffix; do not assume an ISO timestamp.",
- "وقت محلي بصيغة المصدر. قد يحتوي لاحقة منطقة زمنية؛ ليس بالضرورة طابعًا زمنيًا بصيغة ISO.",
+ "HH:mm in the requested IANA timezone.",
+ "وقت بصيغة HH:mm في المنطقة الزمنية المطلوبة.",
+ { pattern: "^([01][0-9]|2[0-3]):[0-5][0-9]$" },
),
]),
),
- ["Fajr", "Dhuhr", "Asr", "Maghrib", "Isha"],
+ ["Fajr", "Sunrise", "Dhuhr", "Asr", "Sunset", "Maghrib", "Isha"],
),
Coordinates: obj({
latitude: field("number", "Latitude in degrees.", "خط العرض بالدرجات."),
@@ -287,23 +258,15 @@ export const schemas = {
}),
PrayerTimes: obj(
{
- date: str(
- "Gregorian date in the provider’s format.",
- "التاريخ الميلادي بصيغة المصدر.",
- ),
- hijri: str(
- "Hijri date in the provider’s format.",
- "التاريخ الهجري بصيغة المصدر.",
- ),
+ date: str("Gregorian date in the provider’s format.", "التاريخ الميلادي بصيغة المصدر."),
+ hijri: str("Hijri date in the provider’s format.", "التاريخ الهجري بصيغة المصدر."),
timings: ref("PrayerTimings"),
- method: str(
- "Calculation method name, if supplied.",
- "اسم طريقة الحساب إذا توفر.",
- ),
+ method: str("Calculation method name, if supplied.", "اسم طريقة الحساب إذا توفر."),
coordinates: ref("Coordinates"),
- apiName: source(["aladhan.com", "pray.zone"]),
+ timezone: str("IANA timezone; default UTC.", "منطقة IANA الزمنية؛ الافتراضي UTC."),
+ apiName: source(["aladhan.com", "local"]),
},
- ["date", "timings", "apiName"],
+ ["date", "timings", "timezone", "method", "coordinates", "apiName"],
),
HijriDate: obj({
hijri: obj({
@@ -321,7 +284,10 @@ export const schemas = {
month: str("Month name.", "اسم الشهر."),
year: str("Year as a string.", "السنة كنص."),
}),
- apiName: source(["aladhan.com"]),
+ calendar: str("Fixed Umm al-Qura calendar.", "تقويم أم القرى الثابت.", {
+ const: "islamic-umalqura",
+ }),
+ apiName: source(["aladhan.com", "local"]),
}),
Qibla: obj({
latitude: field("number", "Latitude in degrees.", "خط العرض بالدرجات."),
@@ -347,9 +313,7 @@ Object.assign(schemas, {
TafsirEditionListResponse: wrap(arr("TafsirEdition")),
TafsirListResponse: wrap(arr("TafsirItem")),
TafsirItemResponse: wrap("TafsirItem"),
- AzkarCategorySummaryResponse: wrap(
- obj({ categories: arr("AzkarCategorySummary") }),
- ),
+ AzkarCategorySummaryResponse: wrap(obj({ categories: arr("AzkarCategorySummary") })),
AzkarCategoryResponse: wrap("AzkarCategory"),
AzkarPickResponse: wrap("AzkarPick"),
HadithBookListResponse: wrap(arr("HadithBook")),
@@ -368,20 +332,14 @@ for (const [key, item] of [
])
schemas[key] = obj({
success: { type: "boolean", const: true },
- total: int(
- "Returned count after the limit.",
- "عدد النتائج المعادة بعد الحد.",
- ),
+ total: int("Returned count after the limit.", "عدد النتائج المعادة بعد الحد."),
data: arr(item),
});
export function localize(value, lang) {
if (Array.isArray(value)) return value.map((v) => localize(v, lang));
if (value && typeof value === "object") {
- if (typeof value.en === "string" && typeof value.ar === "string")
- return value[lang];
- return Object.fromEntries(
- Object.entries(value).map(([k, v]) => [k, localize(v, lang)]),
- );
+ if (typeof value.en === "string" && typeof value.ar === "string") return value[lang];
+ return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, localize(v, lang)]));
}
return value;
}
diff --git a/scripts/check-api.mjs b/scripts/check-api.mjs
new file mode 100644
index 0000000..189b732
--- /dev/null
+++ b/scripts/check-api.mjs
@@ -0,0 +1,300 @@
+import assert from "node:assert/strict";
+import { readFileSync } from "node:fs";
+import { resolve } from "node:path";
+import { pathToFileURL } from "node:url";
+import Ajv from "ajv/dist/2020.js";
+import { parse } from "yaml";
+import { BonyanClient, BonyanApiError } from "@bonyanoss/bonyan-api";
+import { endpoints } from "./api-catalog.mjs";
+
+const api = process.argv[2];
+if (!api) throw new Error("Usage: node scripts/check-api.mjs /path/to/built/Bonyan-API");
+const load = (path) => import(pathToFileURL(resolve(api, "dist", path)).href);
+const { buildApp } = await load("app.js");
+const { default: worker } = await load("worker.js");
+const { clearCache } = await load("utils/cache.js");
+const { SURAH_METADATA } = await load("modules/surah/surah.metadata.js");
+const { AZKAR_CATEGORIES } = await load("modules/azkar/azkar.metadata.js");
+const { HADITH_BOOKS } = await load("modules/hadith/hadith.metadata.js");
+const snapshot = JSON.parse(
+ readFileSync(resolve(api, "src/modules/reciters/reciters.snapshot.json"), "utf8"),
+);
+const specs = ["en", "ar"].map((lang) =>
+ parse(readFileSync(new URL(`../locales/${lang}/openapi.yaml`, import.meta.url), "utf8")),
+);
+const ajv = new Ajv({ strict: false, allErrors: true, validateFormats: false });
+const validators = specs.map(
+ (spec) =>
+ new Map(
+ endpoints.map((e) => [
+ e.id,
+ ajv.compile({
+ ...spec.paths[e.path].get.responses[200].content[
+ e.schema === "Metrics" ? "text/plain" : "application/json"
+ ].schema,
+ components: spec.components,
+ }),
+ ]),
+ ),
+);
+const errorValidators = specs.map((spec) =>
+ ajv.compile({ $ref: "#/components/schemas/Error", components: spec.components }),
+);
+const normalize = (path) => path.replace(/:[^/]+/g, "{}").replace(/\{[^}]+\}/g, "{}");
+const originalFetch = globalThis.fetch;
+const json = (body) => Response.json(body);
+
+// Synthetic fixtures exercise the real controllers and adapters without live provider calls.
+const fixtureFetch = async (input, init) => {
+ if (init?.method === "HEAD")
+ return new Response(null, { headers: { "content-type": "audio/mpeg" } });
+ const url = new URL(String(input));
+ if (url.pathname.endsWith("/suwar"))
+ return json({
+ suwar: SURAH_METADATA.map((s) => ({ id: s.id, name: s.name, makkia: Number(s.makkia) })),
+ });
+ if (url.pathname.endsWith("/reciters")) return json(snapshot);
+ if (url.pathname.endsWith("/quran/quran-uthmani"))
+ return json({
+ data: {
+ edition: { identifier: "quran-uthmani", type: "quran" },
+ surahs: SURAH_METADATA.map((s) => ({
+ number: s.id,
+ name: s.name,
+ ayahs: Array.from({ length: s.ayahCount }, (_, i) => ({
+ numberInSurah: i + 1,
+ text: "الله نص اختبار",
+ })),
+ })),
+ },
+ });
+ if (url.pathname.endsWith("/hisn_almuslim.json"))
+ return json(
+ Object.fromEntries(
+ AZKAR_CATEGORIES.map((c) => [c.mirrorName, { text: ["ذكر الله اختبار"] }]),
+ ),
+ );
+ if (url.pathname.endsWith("/ar.muyassar"))
+ return json({
+ data: {
+ number: 1,
+ edition: { identifier: "ar.muyassar", type: "tafsir" },
+ ayahs: Array.from({ length: 7 }, (_, i) => ({
+ numberInSurah: i + 1,
+ text: "تفسير اختبار",
+ })),
+ },
+ });
+ if (url.pathname.includes("/tafsirs/91/"))
+ return json({
+ tafsirs: Array.from({ length: 7 }, (_, i) => ({
+ resource_id: 91,
+ verse_key: `1:${i + 1}`,
+ text: "تفسير اختبار",
+ })),
+ pagination: { next_page: null },
+ });
+ if (url.pathname.endsWith("/books/bukhari.json"))
+ return json(
+ Array.from({ length: HADITH_BOOKS.find((b) => b.id === "bukhari").available }, (_, i) => ({
+ number: (i + 1) * 2,
+ arab: "حديث اختبار",
+ })),
+ );
+ if (/\/timings(?:ByCity)?\//.test(url.pathname))
+ return json({
+ data: {
+ timings: Object.fromEntries(
+ ["Fajr", "Sunrise", "Dhuhr", "Asr", "Sunset", "Maghrib", "Isha"].map((k) => [k, "12:00"]),
+ ),
+ date: {
+ gregorian: { date: url.pathname.split("/").at(-1) },
+ hijri: { date: "23-04-1448" },
+ },
+ meta: {
+ latitude: 21.4225,
+ longitude: 39.8262,
+ timezone: url.searchParams.get("timezonestring"),
+ method: { id: Number(url.searchParams.get("method")) },
+ },
+ },
+ });
+ if (/\/(gToH|hToG)\//.test(url.pathname))
+ throw new Error("Use the real local calendar fallback in this fixture");
+ if (url.pathname.includes("/qibla/"))
+ return json({ data: { latitude: 24.7136, longitude: 46.6753, direction: 243.8 } });
+ throw new Error(`Unexpected provider fixture: ${url.hostname}${url.pathname}`);
+};
+
+try {
+ for (const adapter of ["fastify", "worker"]) {
+ clearCache();
+ globalThis.fetch = fixtureFetch;
+ const app = adapter === "fastify" ? await buildApp({ logger: false }) : worker;
+ const visited = new Set();
+ const transport = async (input, init) => {
+ const url = new URL(String(input));
+ let response;
+ if (adapter === "fastify") {
+ const result = await app.inject({
+ method: "GET",
+ url: url.pathname + url.search,
+ headers: Object.fromEntries(new Headers(init?.headers)),
+ });
+ response = new Response(result.body, {
+ status: result.statusCode,
+ headers: result.headers,
+ });
+ } else
+ response = await app.fetch(
+ new Request(url, init),
+ { RATE_LIMIT_MAX: "1000" },
+ { waitUntil: () => {} },
+ );
+ const endpoint =
+ endpoints.find((e) => e.path === url.pathname) ??
+ endpoints.find(
+ (e) =>
+ e.path.split("/").length === url.pathname.split("/").length &&
+ e.path
+ .split("/")
+ .every((part, i) => part.startsWith("{") || part === url.pathname.split("/")[i]),
+ );
+ assert(endpoint, `Undocumented route ${url.pathname}`);
+ if (response.ok) {
+ const body =
+ endpoint.schema === "Metrics"
+ ? await response.clone().text()
+ : await response.clone().json();
+ for (const byId of validators) {
+ const validate = byId.get(endpoint.id);
+ assert(validate(body), `${adapter} ${endpoint.path}: ${JSON.stringify(validate.errors)}`);
+ }
+ visited.add(endpoint.id);
+ } else {
+ const body = await response.clone().json();
+ for (const [index, validate] of errorValidators.entries()) {
+ assert(
+ specs[index].paths[endpoint.path].get.responses[response.status],
+ `${endpoint.path}: undocumented HTTP ${response.status}`,
+ );
+ assert(
+ validate(body),
+ `${adapter} ${endpoint.path} HTTP ${response.status}: ${JSON.stringify(validate.errors)}`,
+ );
+ }
+ }
+ return response;
+ };
+ const client = new BonyanClient({
+ baseUrl: "https://example.test",
+ fetch: transport,
+ retry: 0,
+ });
+ try {
+ const catalogue = await client.routes();
+ assert.deepEqual(
+ [
+ ...new Set([
+ ...catalogue.routes
+ .filter((r) => [r.method].flat().includes("GET"))
+ .map((r) => normalize(r.url)),
+ "/",
+ "/health",
+ "/ready",
+ "/metrics",
+ ]),
+ ].sort(),
+ endpoints.map((e) => normalize(e.path)).sort(),
+ );
+ await client.health();
+ await client.ready();
+ assert.match(await client.metrics(), /bonyan_api_cache_entries/);
+ assert.equal((await client.surah.list()).length, 114);
+ assert.equal((await client.surah.getById(1)).makkia, true);
+ await client.surah.search("الفاتحة");
+ assert.equal((await client.ayat.list()).length, 114);
+ assert.equal((await client.ayat.getById(1)).apiName, "alquran.cloud");
+ await client.ayat.getBySurah(1, 1);
+ const ayat = await client.ayat.search("الله", { limit: 2 });
+ assert.equal(ayat.total, ayat.results.length);
+ await client.reciters.list();
+ const reciter = await client.reciters.getById(123);
+ await client.reciters.search("مشاري");
+ const recording = reciter.moshaf.find((m) => m.surahList.includes(1));
+ const audio = await client.reciters.getSurah(123, 1, { moshaf: recording.id });
+ assert.equal(audio.moshafId, recording.id);
+ assert.deepEqual(
+ (await client.tafsir.listEditions()).map((e) => e.id),
+ ["muyassar", "saadi"],
+ );
+ assert.equal((await client.tafsir.forSurah("muyassar", 1, { aya: 1 })).length, 1);
+ assert.equal((await client.tafsir.forAya("saadi", 1, 2)).edition, "saadi");
+ await client.azkar.listCategories();
+ await client.azkar.getByCategory("أذكار الصباح");
+ await client.azkar.random();
+ const azkar = await client.azkar.search("الله", { limit: 2 });
+ assert.equal(azkar.total, azkar.results.length);
+ assert.equal((await client.hadith.listBooks()).length, 9);
+ assert.equal((await client.hadith.getBook("bukhari", { from: 1, to: 10 })).hadiths.length, 5);
+ assert.equal((await client.hadith.getByNumber("bukhari", 2)).number, 2);
+ assert.equal((await client.hadith.random({ book: "bukhari" })).hadith.number % 2, 0);
+ assert.equal(
+ (
+ await client.prayer.getTimes({
+ date: "04-10-2026",
+ latitude: 21.4225,
+ longitude: 39.8262,
+ timezone: "Asia/Riyadh",
+ })
+ ).timezone,
+ "Asia/Riyadh",
+ );
+ await client.hijri.today();
+ const hijri = await client.hijri.fromGregorian("04-10-2026");
+ assert.equal(hijri.calendar, "islamic-umalqura");
+ assert.equal((await client.hijri.toGregorian(hijri.hijri.date)).gregorian.date, "04-10-2026");
+ await client.qibla.getDirection(24.7136, 46.6753);
+ assert.equal(visited.size, endpoints.length, `${adapter}: missing SDK operations`);
+ await assert.rejects(
+ client.hadith.getByNumber("bukhari", 1),
+ (e) => e instanceof BonyanApiError && e.status === 404 && e.code === "NOT_FOUND",
+ );
+ await assert.rejects(
+ client.hadith.getBook("missing"),
+ (e) => e instanceof BonyanApiError && e.status === 404,
+ );
+ clearCache();
+ globalThis.fetch = async () => {
+ throw new Error("Offline fixture");
+ };
+ assert.equal((await client.surah.getById(1)).apiName, "local");
+ assert.equal((await client.reciters.getById(123)).apiName, "local");
+ assert.equal(
+ (
+ await client.prayer.getTimes({
+ date: "04-10-2026",
+ latitude: 21.4225,
+ longitude: 39.8262,
+ timezone: "Asia/Riyadh",
+ })
+ ).apiName,
+ "local",
+ );
+ assert.equal((await client.hijri.fromGregorian("04-10-2026")).apiName, "local");
+ assert.equal((await client.qibla.getDirection(24.7136, 46.6753)).apiName, "local");
+ await assert.rejects(
+ client.ayat.list(),
+ (e) => e instanceof BonyanApiError && e.status === 503 && e.code === "ALL_SOURCES_FAILED",
+ );
+ console.log(
+ `${adapter}: ${visited.size} SDK operations match both OpenAPI locales; local fallback, sparse numbering and errors pass.`,
+ );
+ } finally {
+ if (adapter === "fastify") await app.close();
+ clearCache();
+ }
+ }
+} finally {
+ globalThis.fetch = originalFetch;
+}
diff --git a/scripts/check-docs.mjs b/scripts/check-docs.mjs
index b489eba..ff16370 100644
--- a/scripts/check-docs.mjs
+++ b/scripts/check-docs.mjs
@@ -43,16 +43,8 @@ function visit(x) {
}
}
visit(docs.navigation);
-assert.equal(
- new Set(navigated).size,
- navigated.length,
- "Duplicate navigation page",
-);
-assert.deepEqual(
- [...navigated].sort(),
- allPages.sort(),
- "Missing or orphaned navigation pages",
-);
+assert.equal(new Set(navigated).size, navigated.length, "Duplicate navigation page");
+assert.deepEqual([...navigated].sort(), allPages.sort(), "Missing or orphaned navigation pages");
function checkLink(link, origin) {
if (!link.startsWith("/") || link.startsWith("//")) return;
const path = decodeURIComponent(link.split(/[?#]/)[0]).slice(1);
@@ -64,27 +56,19 @@ function checkLink(link, origin) {
}
for (const r of docs.redirects ?? []) checkLink(r.destination, "redirect");
const redirectSources = new Set((docs.redirects ?? []).map((r) => r.source));
-assert.equal(
- redirectSources.size,
- (docs.redirects ?? []).length,
- "Duplicate redirects",
-);
+assert.equal(redirectSources.size, (docs.redirects ?? []).length, "Duplicate redirects");
for (const r of docs.redirects ?? [])
assert(!redirectSources.has(r.destination), `Redirect chain: ${r.source}`);
for (const lang of locales) {
assert(
(docs.redirects ?? []).some(
- (r) =>
- r.source === `/${lang}` &&
- r.destination === `/${localeDirectory(lang)}/introduction`,
+ (r) => r.source === `/${lang}` && r.destination === `/${localeDirectory(lang)}/introduction`,
),
`Missing legacy ${lang} root redirect`,
);
assert(
(docs.redirects ?? []).some(
- (r) =>
- r.source === `/${lang}/:slug*` &&
- r.destination === `/${localeDirectory(lang)}/:slug*`,
+ (r) => r.source === `/${lang}/:slug*` && r.destination === `/${localeDirectory(lang)}/:slug*`,
),
`Missing legacy ${lang} wildcard redirect`,
);
@@ -94,11 +78,7 @@ for (const lang of locales) {
const spec = parse(read(`${localeDirectory(lang)}/openapi.yaml`));
await SwaggerParser.validate(structuredClone(spec));
specs[lang] = spec;
- assert.equal(
- Object.keys(spec.paths).length,
- endpoints.length,
- "Endpoint coverage",
- );
+ assert.equal(Object.keys(spec.paths).length, endpoints.length, "Endpoint coverage");
for (const e of endpoints) {
const operation = spec.paths[e.path]?.get;
assert(operation, e.path);
@@ -138,16 +118,16 @@ for (const file of allPages) {
read("examples/search.mjs").trim(),
`${file}: search example differs from the tested helper`,
);
- await compile(body, { development: false });
- for (const match of body.matchAll(/(?:\]\(|href=["'])(\/[^\s"')]+)/g))
- checkLink(match[1], file);
+ try {
+ await compile(body, { development: false });
+ } catch (error) {
+ throw new Error(`${file}: ${error.message}`, { cause: error });
+ }
+ for (const match of body.matchAll(/(?:\]\(|href=["'])(\/[^\s"')]+)/g)) checkLink(match[1], file);
const lang = localeFromFile(file);
assert(lang, `${file}: unknown locale path`);
if (lang === "ar") {
- assert(
- /[\u0600-\u06ff]/u.test(meta.title),
- `${file}: Arabic title missing`,
- );
+ assert(/[\u0600-\u06ff]/u.test(meta.title), `${file}: Arabic title missing`);
for (const m of body.matchAll(/(?:\]\(|href=["'])(\/locales\/en\/[^\s"')]+)/g))
assert.fail(`${file}: cross-language link ${m[1]}`);
}
@@ -155,16 +135,13 @@ for (const file of allPages) {
const match = meta.openapi.match(/^(\S+) GET (\S+)$/);
assert(match, `${file}: invalid openapi binding`);
assert.equal(match[1], `${localeDirectory(lang)}/openapi.yaml`);
- assert(
- specs[lang].paths[match[2]],
- `${file}: unknown operation`,
- );
+ assert(specs[lang].paths[match[2]], `${file}: unknown operation`);
+ }
+ // Compile examples from both locales, including translated guides.
+ for (const m of body.matchAll(/```ts[^\n]*\n([\s\S]*?)\n```/g)) {
+ const filename = resolve(root, `__docs_example_${snippets++}.ts`);
+ virtual.set(filename, m[1] + "\nexport {};\n");
}
- if (lang === "en")
- for (const m of body.matchAll(/```ts[^\n]*\n([\s\S]*?)\n```/g)) {
- const filename = resolve(root, `__docs_example_${snippets++}.ts`);
- virtual.set(filename, m[1] + "\nexport {};\n");
- }
}
const options = {
strict: true,
diff --git a/scripts/check-source.mjs b/scripts/check-source.mjs
index f30689a..5329400 100644
--- a/scripts/check-source.mjs
+++ b/scripts/check-source.mjs
@@ -4,10 +4,9 @@ import { fileURLToPath } from "node:url";
import { execFileSync } from "node:child_process";
import assert from "node:assert/strict";
import { endpoints } from "./api-catalog.mjs";
+import { sdkDigest } from "./source-digest.mjs";
const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
-const lock = JSON.parse(
- readFileSync(resolve(root, "sources.lock.json"), "utf8"),
-);
+const lock = JSON.parse(readFileSync(resolve(root, "sources.lock.json"), "utf8"));
const [api, sdk] = process.argv.slice(2);
if (!api || !sdk)
throw new Error(
@@ -16,7 +15,14 @@ if (!api || !sdk)
for (const [key, path] of [
["api", api],
["sdk", sdk],
-])
+]) {
+ if (key === "sdk" && lock.sdk.workingTreeSha256) {
+ assert.equal(
+ sdkDigest(path),
+ lock.sdk.workingTreeSha256,
+ "SDK source files changed since review",
+ );
+ }
assert.equal(
execFileSync("git", ["rev-parse", "HEAD"], {
cwd: path,
@@ -25,17 +31,18 @@ for (const [key, path] of [
lock[key].commit,
`${key}: unexpected source revision`,
);
+}
const normalize = (p) => p.replace(/:[^/]+/g, "{}").replace(/\{[^}]+\}/g, "{}");
const routes = [];
const files = [
- resolve(api, "src/server.ts"),
+ resolve(api, "src/app.ts"),
...readdirSync(resolve(api, "src/modules")).map((group) =>
resolve(api, `src/modules/${group}/${group}.route.ts`),
),
];
for (const file of files)
for (const match of readFileSync(file, "utf8").matchAll(
- /(?:app|fastify)\.get\('([^']+)'/g,
+ /(?:app|fastify|router)\.get\('([^']+)'/g,
))
routes.push(normalize(match[1]));
assert.deepEqual(
@@ -51,4 +58,17 @@ assert.equal(
JSON.parse(readFileSync(resolve(api, "package.json"), "utf8")).version,
lock.api.version,
);
+const installedPackage = JSON.parse(
+ readFileSync(resolve(root, "node_modules/@bonyanoss/bonyan-api/package.json"), "utf8"),
+);
+assert.equal(
+ installedPackage.version,
+ lock.sdk.version,
+ "Installed SDK version differs from review",
+);
+assert.equal(installedPackage.name, lock.sdk.package, "Installed SDK package differs from review");
+assert(
+ readFileSync(resolve(root, "pnpm-lock.yaml"), "utf8").includes(lock.sdk.registryIntegrity),
+ "Installed SDK integrity differs from review",
+);
console.log(`Source revisions and all ${routes.length} GET routes match.`);
diff --git a/scripts/generate-api.mjs b/scripts/generate-api.mjs
index 7b5255c..02215f0 100644
--- a/scripts/generate-api.mjs
+++ b/scripts/generate-api.mjs
@@ -6,17 +6,12 @@ import { endpoints, baseUrl } from "./api-catalog.mjs";
import { schemas, localize } from "./api-schemas.mjs";
import { locales, localeDirectory, localeRoute } from "./locales.mjs";
const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
-const lock = JSON.parse(
- readFileSync(resolve(root, "sources.lock.json"), "utf8"),
-);
+const lock = JSON.parse(readFileSync(resolve(root, "sources.lock.json"), "utf8"));
const check = process.argv.includes("--check");
const ref = (name) => ({ $ref: `#/components/schemas/${name}` });
const statuses = {
400: ["Invalid or missing input.", "إدخال مفقود أو غير صالح."],
- 404: [
- "Requested item or matching result was not found.",
- "لم يوجد العنصر أو التطابق المطلوب.",
- ],
+ 404: ["Requested item or matching result was not found.", "لم يوجد العنصر أو التطابق المطلوب."],
429: [
"Request rate exceeded. Respect Retry-After when present.",
"تجاوز حد الطلبات. التزم بترويسة Retry-After عند وجودها.",
@@ -45,7 +40,7 @@ for (const lang of locales) {
openapi: "3.1.0",
info: {
title: "Bonyan API",
- version: lock.api.version,
+ version: lock.api.contractVersion ?? lock.api.version,
description: ar
? "واجهة HTTP للقرآن والتفسير والقراء والأذكار والحديث ومواقيت الصلاة والتقويم والقبلة. لغة التوثيق لا تغيّر لغة المحتوى."
: "HTTP API for Quran, tafsir, reciters, azkar, hadith, prayer times, calendars and Qibla. Documentation language does not change content language.",
@@ -64,8 +59,7 @@ for (const lang of locales) {
components: { schemas: localize(schemas, lang) },
};
for (const e of endpoints) {
- const description =
- e.description[lang] + (e.notes ? "\n\n" + e.notes[lang] : "");
+ const description = e.description[lang] + (e.notes ? "\n\n" + e.notes[lang] : "");
const responses = {
200: {
description: ar ? "نجاح" : "Success",
@@ -105,22 +99,16 @@ for (const lang of locales) {
};
let examplePath = e.path;
for (const p of e.params.filter((p) => p.in === "path"))
- examplePath = examplePath.replace(
- `{${p.name}}`,
- encodeURIComponent(p.example),
- );
+ examplePath = examplePath.replace(`{${p.name}}`, encodeURIComponent(p.example));
const query = e.params.filter((p) => p.in === "query");
// A prayer request uses coordinates only; city/country are documented as an alternative.
const exampleQuery = query.filter(
- (p) =>
- e.path !== "/prayer/times" || !["city", "country"].includes(p.name),
+ (p) => e.path !== "/prayer/times" || !["city", "country"].includes(p.name),
);
const url = baseUrl + examplePath;
const curl =
`curl --fail-with-body${exampleQuery.length ? " --get" : ""} '${url}'` +
- exampleQuery
- .map((p) => ` \\\n --data-urlencode '${p.name}=${p.example}'`)
- .join("");
+ exampleQuery.map((p) => ` \\\n --data-urlencode '${p.name}=${p.example}'`).join("");
const fetchCode =
`const url = new URL(${JSON.stringify(url)});\n` +
exampleQuery
@@ -131,7 +119,7 @@ for (const lang of locales) {
.join("") +
`const response = await fetch(url, { signal: AbortSignal.timeout(45000) });\nif (!response.ok) throw new Error(\`HTTP \${response.status}: \${await response.text()}\`);\nconst body = await response.${e.schema === "Metrics" ? "text" : "json"}();\nconsole.log(body);`;
const sourcePath = e.slug.startsWith("meta/")
- ? "src/server.ts"
+ ? "src/app.ts"
: `src/modules/${e.slug.split("/")[0]}/${e.slug.split("/")[0]}.controller.ts`;
let body = `---\ntitle: ${JSON.stringify(e.title[lang])}\ndescription: ${JSON.stringify(e.description[lang])}\nopenapi: ${JSON.stringify(`${specFile} GET ${e.path}`)}\n---\n`;
if (e.notes) body += `\n\n${e.notes[lang]}\n\n`;
diff --git a/scripts/generate-index.mjs b/scripts/generate-index.mjs
index 57cfb06..e807bef 100644
--- a/scripts/generate-index.mjs
+++ b/scripts/generate-index.mjs
@@ -8,8 +8,7 @@ const check = process.argv.includes("--check");
function write(path, text) {
const file = resolve(root, path);
if (check) {
- if (readFileSync(file, "utf8") !== text)
- throw new Error(`Generated file is stale: ${path}`);
+ if (readFileSync(file, "utf8") !== text) throw new Error(`Generated file is stale: ${path}`);
} else {
mkdirSync(dirname(file), { recursive: true });
writeFileSync(file, text);
@@ -44,12 +43,12 @@ const returns = {
searchReciters: "Reciter[]",
getReciterAudio: "ReciterAudio",
listTafsirEditions: "TafsirEdition[]",
- getSurahTafsir: "TafsirItem[] | TafsirItem",
+ getSurahTafsir: "TafsirItem[]",
getAyaTafsir: "TafsirItem",
listAzkarCategories: "AzkarCategorySummary[]",
getAzkarCategory: "AzkarCategory",
searchAzkar: "AzkarSearchResult",
- getRandomZekr: "{ category: string; item: AzkarItem }",
+ getRandomZekr: "AzkarSearchHit",
listHadithBooks: "HadithBook[]",
getHadithBook: "HadithBookContent",
getHadith: "HadithItem",
@@ -75,7 +74,7 @@ const signatures = {
listReciters: "reciters.list()",
getReciter: "reciters.getById(id)",
searchReciters: "reciters.search(name)",
- getReciterAudio: "reciters.getSurah(reciterId, surah)",
+ getReciterAudio: "reciters.getSurah(reciterId, surah, { moshaf? }?)",
listTafsirEditions: "tafsir.listEditions()",
getSurahTafsir: "tafsir.forSurah(edition, surah, { aya? }?)",
getAyaTafsir: "tafsir.forAya(edition, surah, aya)",
@@ -98,8 +97,7 @@ for (const lang of locales) {
i = ar ? 1 : 0;
const front = (title, desc) =>
`---\ntitle: ${JSON.stringify(title)}\ndescription: ${JSON.stringify(desc)}\n---\n\n`;
- const link = (e) =>
- `[${e.title[lang]}](${localeRoute(lang, `/api-reference/${e.slug}`)})`;
+ const link = (e) => `[${e.title[lang]}](${localeRoute(lang, `/api-reference/${e.slug}`)})`;
let index = front(
ar ? "مرجع API" : "API reference",
ar
@@ -120,9 +118,9 @@ for (const lang of locales) {
? "جميع الدوال أدناه تُستدعى على `client` وتعيد Promise بالنوع المذكور. يشير `?` إلى معامل أو خيار اختياري؛ التواقيع في الجدول مختصرة وليست كودًا للنسخ.\n"
: "Every method below is called on `client` and returns a Promise of the listed type. `?` denotes an optional argument or option; table signatures are shorthand, not copyable code.\n";
sdk += ar
- ? "\nالأرقام أعداد JavaScript؛ الأسماء والنصوص ومعرّفات الكتب والنسخ نصوص. التاريخ بصيغة `DD-MM-YYYY`. تقبل prayer.getTimes زوج إحداثيات أو مدينة ودولة، مع date وmethod اختياريين.\n"
- : "\nNumeric arguments are JavaScript numbers; names, queries, book IDs and edition IDs are strings. Dates use `DD-MM-YYYY`. prayer.getTimes accepts coordinates or city/country, plus optional date and method.\n";
- sdk += `\n\n${ar ? "بحث ayat وazkar في الإصدار 1.0.2 لا يطابق غلاف API الحالي. لا تعتمد على النوع المعلن دون استخدام الدالة البديلة." : "The ayat and azkar search methods in 1.0.2 do not match the current API envelope. Their declared types do not make their runtime result valid."} [${ar ? "بديل البحث" : "Search adapter"}](${localeRoute(lang, "/sdk/search")}).\n\n`;
+ ? "\nالأرقام أعداد JavaScript؛ الأسماء والنصوص ومعرّفات الكتب والنسخ نصوص. التاريخ بصيغة `DD-MM-YYYY`. تقبل prayer.getTimes زوج إحداثيات أو مدينة ودولة، مع date وmethod وtimezone اختياريين. تقبل كل دالة خيارات نقل اختيارية في المعامل الأخير.\n"
+ : "\nNumeric arguments are JavaScript numbers; names, queries, book IDs and edition IDs are strings. Dates use `DD-MM-YYYY`. prayer.getTimes accepts coordinates or city/country, plus optional date, method and timezone. Every method also accepts transport options as its last argument.\n";
+
for (const [group, titles] of Object.entries(groups)) {
const members = endpoints.filter((e) => e.slug.startsWith(group + "/"));
const table =
@@ -146,11 +144,9 @@ for (const lang of locales) {
.join("\n") + "\n";
}
sdk += ar
- ? `\nتعيد forSurah في هذا API مصفوفة دائمًا؛ تعريف SDK أوسع. تعيد دوال القوائم المصفوفة المستخرجة من الغلاف، وتعاد بيانات التشغيل مباشرة. استخدم [مرجع المسار](${localeRoute(lang, "/api-reference/overview")}) لمعرفة الحدود وحالات الفشل.\n`
- : `\nThis API always returns an array for forSurah; the SDK declaration is broader. List methods return extracted arrays, and operational methods return raw data. Consult the [HTTP reference](${localeRoute(lang, "/api-reference/overview")}) for limits and failure cases.\n`;
+ ? `\nتعيد forSurah مصفوفة دائمًا، ويطابق نوع SDK هذا السلوك. تعيد دوال القوائم المصفوفة المستخرجة من الغلاف، وتعاد بيانات التشغيل مباشرة. استخدم [مرجع المسار](${localeRoute(lang, "/api-reference/overview")}) لمعرفة الحدود وحالات الفشل.\n`
+ : `\nforSurah always returns an array, and the SDK declaration matches. List methods return extracted arrays, and operational methods return raw data. Consult the [HTTP reference](${localeRoute(lang, "/api-reference/overview")}) for limits and failure cases.\n`;
write(`${localeDirectory(lang)}/api-reference/overview.mdx`, index);
write(`${localeDirectory(lang)}/sdk/resources.mdx`, sdk);
}
-console.log(
- `${check ? "Checked" : "Generated"} API indexes and SDK method tables.`,
-);
+console.log(`${check ? "Checked" : "Generated"} API indexes and SDK method tables.`);
diff --git a/scripts/locales.mjs b/scripts/locales.mjs
index baf0bf4..07fcc6b 100644
--- a/scripts/locales.mjs
+++ b/scripts/locales.mjs
@@ -2,8 +2,7 @@ export const locales = ["en", "ar"];
export const localeRoot = "locales";
export const localeDirectory = (locale) => `${localeRoot}/${locale}`;
-export const localeRoute = (locale, path = "") =>
- `/${localeDirectory(locale)}${path}`;
+export const localeRoute = (locale, path = "") => `/${localeDirectory(locale)}${path}`;
export const localeFromFile = (file) =>
locales.find((locale) => file.startsWith(`${localeDirectory(locale)}/`));
diff --git a/scripts/search.test.mjs b/scripts/search.test.mjs
index 2a1172a..7bfa5fb 100644
--- a/scripts/search.test.mjs
+++ b/scripts/search.test.mjs
@@ -4,30 +4,14 @@ import {
BonyanClient,
BonyanApiError,
BonyanRequestError,
+ ValidationError,
} from "@bonyanoss/bonyan-api";
import { searchContent } from "../examples/search.mjs";
-const json = (body, status = 200) =>
- new Response(JSON.stringify(body), {
- status,
- headers: { "Content-Type": "application/json" },
- });
+const json = (body, status = 200) => Response.json(body, { status });
+
for (const resource of ["ayat", "azkar"]) {
- test(`${resource}: flat API search envelope survives the adapter`, async () => {
- const hits =
- resource === "ayat"
- ? [
- {
- surahNumber: 1,
- surahName: "الفاتحة",
- aya: { number: 1, numberInSurah: 1, text: "نص للاختبار" },
- },
- ]
- : [
- {
- category: "تصنيف للاختبار",
- item: { id: 1, text: "نص للاختبار" },
- },
- ];
+ test(`${resource}: published SDK artifact decodes the flat API envelope`, async () => {
+ const hits = [{ apiName: "synthetic-test-source" }];
const result = await searchContent(resource, "الله", {
baseUrl: "https://example.test/prefix/",
limit: 1,
@@ -40,67 +24,49 @@ for (const resource of ["ayat", "azkar"]) {
},
});
assert.deepEqual(result, { total: 1, results: hits });
- });
- test(`${resource}: verify documented SDK 1.0.2 mismatch against the real flat body`, async () => {
const client = new BonyanClient({
retry: 0,
- fetch: async () => json({ success: true, total: 1, data: [{}] }),
- });
- assert.deepEqual(await client[resource].search("الله"), {
- total: undefined,
- results: undefined,
+ fetch: async () => json({ success: true, total: 1, data: hits }),
});
+ assert.deepEqual(await client[resource].search("الله"), result);
});
}
-test("HTTP failures preserve status and request ID", async () => {
+test("HTTP errors preserve status and request ID", async () => {
await assert.rejects(
searchContent("ayat", "الله", {
fetch: async () =>
json(
{
success: false,
- error: {
- code: "NOT_FOUND",
- message: "No match",
- requestId: "test-request",
- },
+ error: { code: "NOT_FOUND", message: "No match", requestId: "test-request" },
},
404,
),
}),
- (e) =>
- e instanceof BonyanApiError &&
- e.status === 404 &&
- e.requestId === "test-request",
+ (e) => e instanceof BonyanApiError && e.status === 404 && e.requestId === "test-request",
);
});
-test("malformed successful envelopes are rejected", async () => {
+test("malformed successful search envelopes reject", async () => {
await assert.rejects(
- searchContent("ayat", "الله", {
- fetch: async () => json({ success: true, data: {} }),
- }),
+ searchContent("ayat", "الله", { fetch: async () => json({ success: true, data: {} }) }),
BonyanRequestError,
);
});
-test("invalid Arabic input and limits are rejected before transport", async () => {
+test("invalid limits and blank queries reject before transport", async () => {
const fetch = () => {
throw new Error("Transport must not run");
};
- await assert.rejects(searchContent("ayat", "latin", { fetch }), TypeError);
- await assert.rejects(
- searchContent("azkar", "الله", { limit: 201, fetch }),
- RangeError,
- );
+ await assert.rejects(searchContent("ayat", " ", { fetch }), ValidationError);
+ await assert.rejects(searchContent("azkar", "الله", { limit: 201, fetch }), ValidationError);
});
-test("caller cancellation signal is forwarded", async () => {
+test("already cancelled requests never reach fetch", async () => {
const controller = new AbortController();
controller.abort();
await assert.rejects(
searchContent("ayat", "الله", {
signal: controller.signal,
- fetch: async (_url, options) => {
- assert.equal(options.signal, controller.signal);
- options.signal.throwIfAborted();
+ fetch: () => {
+ throw new Error("Transport must not run");
},
}),
BonyanRequestError,
diff --git a/scripts/source-digest.mjs b/scripts/source-digest.mjs
new file mode 100644
index 0000000..ab05fbb
--- /dev/null
+++ b/scripts/source-digest.mjs
@@ -0,0 +1,21 @@
+import { createHash } from "node:crypto";
+import { readFileSync, readdirSync } from "node:fs";
+import { resolve } from "node:path";
+
+export function sdkDigest(root) {
+ const walk = (dir) =>
+ readdirSync(resolve(root, dir), { withFileTypes: true }).flatMap((entry) =>
+ entry.isDirectory() ? walk(`${dir}/${entry.name}`) : [`${dir}/${entry.name}`],
+ );
+ const hash = createHash("sha256");
+ for (const path of [...walk("src"), "package.json", "tsconfig.json", "tsup.config.ts"].sort()) {
+ hash.update(path + "\0");
+ hash.update(readFileSync(resolve(root, path), "utf8").replaceAll("\r\n", "\n"));
+ hash.update("\0");
+ }
+ return hash.digest("hex");
+}
+
+export function fileDigest(path) {
+ return createHash("sha256").update(readFileSync(path)).digest("hex");
+}
diff --git a/sources.lock.json b/sources.lock.json
index b7416b3..bd16253 100644
--- a/sources.lock.json
+++ b/sources.lock.json
@@ -1,15 +1,20 @@
{
- "reviewedAt": "2026-09-07",
+ "reviewedAt": "2026-10-04",
"api": {
"repository": "https://github.com/BonyanOSS/Bonyan-API",
- "commit": "e76bc4e114f2f174bc93d0c7f90b163f0721a9f4",
- "version": "2.0.0"
+ "commit": "c851b1a610c5169d3bffd822ed68886338ea3067",
+ "version": "2.1.0",
+ "contractVersion": "3.0.0"
},
"sdk": {
"repository": "https://github.com/BonyanOSS/bonyan-sdk-js",
- "commit": "068e23cdbaeed8095a99c753b75412897905dd8a",
+ "commit": "667e5b04c1852af2d827d770e616517521ebbc29",
"package": "@bonyanoss/bonyan-api",
- "version": "1.0.2"
+ "version": "2.0.0",
+ "status": "published",
+ "workingTreeSha256": "9e90b78222219107c7ee5fb5b456558eb5920e7632359ab21770a7f008fcc263",
+ "registryTarball": "https://registry.npmjs.org/@bonyanoss/bonyan-api/-/bonyan-api-2.0.0.tgz",
+ "registryIntegrity": "sha512-4wMTd22dlblCiRURNwctO0E+W3nKj7aB/+pxSDCpdr2tVM9oRTsEdqeFjH70DYeftjCuUb58KUh/n4NiXpesvg=="
},
"hostedBaseUrl": "https://api.bonyanoss.org"
}