From 6f977fae169e455af72dd9d7619541ae99ffce5c Mon Sep 17 00:00:00 2001 From: solidsnakedev Date: Mon, 25 Aug 2025 11:09:30 -0600 Subject: [PATCH 1/3] fix: remove keys --- docs/next.config.mjs | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/next.config.mjs b/docs/next.config.mjs index 9eec6595..4fc6e987 100644 --- a/docs/next.config.mjs +++ b/docs/next.config.mjs @@ -2,8 +2,6 @@ import nextra from 'nextra' // Configure Nextra v2.13 with top-level options const withNextra = nextra({ - theme: 'nextra-theme-docs', - themeConfig: './theme.config.tsx' }) const isCI = !!process.env.GITHUB_ACTIONS From d92d4f2ac1010483d965ab728ae2e0e22d9874a1 Mon Sep 17 00:00:00 2001 From: solidsnakedev Date: Mon, 25 Aug 2025 14:21:16 -0600 Subject: [PATCH 2/3] feat: migrat to fuma docs --- docs/.gitignore | 28 + docs/README.md | 45 + docs/app/(home)/layout.tsx | 6 + docs/app/(home)/page.tsx | 6 + docs/app/api/search/route.ts | 13 + docs/app/docs/[[...slug]]/page.tsx | 51 + docs/app/docs/layout.tsx | 11 + docs/app/global.css | 3 + docs/app/layout.tsx | 17 + .../address/address-format.mdx} | 24 +- .../docs/getting-started/address/index.mdx | 7 + .../data/basic-construction.mdx | 7 +- .../getting-started/data/bytes-validate.mdx | 16 + .../data/cbor-encoding-options.mdx | 11 +- .../data/complex-nested-structures.mdx | 11 +- .../docs/getting-started/data/data.mdx | 57 + .../data/error-handling-patterns.mdx | 11 +- .../docs/getting-started/data/index.mdx | 15 + .../getting-started/data/nested-canonical.mdx | 11 +- .../docs}/getting-started/data/roundtrip.mdx | 11 +- .../data/working-with-maps.mdx | 11 +- docs/content/docs/getting-started/index.mdx | 8 + docs/content/docs/index.mdx | 15 + .../docs}/modules/Address.mdx | 0 .../docs}/modules/AddressDetails.mdx | 0 .../docs}/modules/AddressTag.mdx | 0 .../docs}/modules/Anchor.mdx | 0 .../docs}/modules/AssetName.mdx | 0 .../docs}/modules/AuxiliaryData.mdx | 0 .../docs}/modules/AuxiliaryDataHash.mdx | 0 .../docs}/modules/BaseAddress.mdx | 0 .../docs}/modules/Bech32.mdx | 0 .../docs}/modules/BigInt.mdx | 0 .../docs}/modules/Bip32PrivateKey.mdx | 0 .../docs}/modules/Bip32PublicKey.mdx | 0 .../docs}/modules/Block.mdx | 0 .../docs}/modules/BlockBodyHash.mdx | 0 .../docs}/modules/BlockHeaderHash.mdx | 0 .../docs}/modules/BootstrapWitness.mdx | 0 .../docs}/modules/BoundedBytes.mdx | 0 .../docs}/modules/ByronAddress.mdx | 0 .../docs}/modules/Bytes.mdx | 0 .../docs}/modules/Bytes128.mdx | 0 .../docs}/modules/Bytes16.mdx | 0 .../docs}/modules/Bytes29.mdx | 0 .../docs}/modules/Bytes32.mdx | 0 .../docs}/modules/Bytes4.mdx | 0 .../docs}/modules/Bytes448.mdx | 0 .../docs}/modules/Bytes57.mdx | 0 .../docs}/modules/Bytes64.mdx | 0 .../docs}/modules/Bytes80.mdx | 0 .../docs}/modules/Bytes96.mdx | 0 .../docs}/modules/CBOR.mdx | 0 .../docs}/modules/Certificate.mdx | 0 .../docs}/modules/Codec.mdx | 0 .../docs}/modules/Coin.mdx | 0 .../docs}/modules/Combinator.mdx | 0 .../docs}/modules/CommitteeColdCredential.mdx | 0 .../docs}/modules/CommitteeHotCredential.mdx | 0 .../docs}/modules/Constitution.mdx | 0 .../docs}/modules/CostModel.mdx | 0 .../docs}/modules/Credential.mdx | 0 .../docs}/modules/DRep.mdx | 0 .../docs}/modules/DRepCredential.mdx | 0 .../docs}/modules/Data.mdx | 0 .../docs}/modules/DataJson.mdx | 0 .../docs}/modules/DatumOption.mdx | 0 .../docs}/modules/Devnet/Devnet.mdx | 0 .../docs}/modules/Devnet/DevnetDefault.mdx | 0 .../docs}/modules/DnsName.mdx | 0 .../docs}/modules/Ed25519Signature.mdx | 0 .../docs}/modules/EnterpriseAddress.mdx | 0 .../docs}/modules/EpochNo.mdx | 0 .../docs}/modules/FormatError.mdx | 0 .../docs}/modules/Function.mdx | 0 .../docs}/modules/GovernanceAction.mdx | 0 .../docs}/modules/Hash28.mdx | 0 .../docs}/modules/Header.mdx | 0 .../docs}/modules/HeaderBody.mdx | 0 .../docs}/modules/IPv4.mdx | 0 .../docs}/modules/IPv6.mdx | 0 .../docs}/modules/KESVkey.mdx | 0 .../docs}/modules/KesSignature.mdx | 0 .../docs}/modules/KeyHash.mdx | 0 .../docs}/modules/Language.mdx | 0 .../docs}/modules/Metadata.mdx | 0 .../docs}/modules/Mint.mdx | 0 .../docs}/modules/MultiAsset.mdx | 0 .../docs}/modules/MultiHostName.mdx | 0 .../docs}/modules/NativeScriptJSON.mdx | 0 .../docs}/modules/NativeScripts.mdx | 0 .../docs}/modules/Natural.mdx | 0 .../docs}/modules/Network.mdx | 0 .../docs}/modules/NetworkId.mdx | 0 .../docs}/modules/NonZeroInt64.mdx | 0 .../docs}/modules/NonnegativeInterval.mdx | 0 .../docs}/modules/Numeric.mdx | 0 .../docs}/modules/OperationalCert.mdx | 0 .../docs}/modules/PaymentAddress.mdx | 0 .../docs}/modules/PlutusV1.mdx | 0 .../docs}/modules/PlutusV2.mdx | 0 .../docs}/modules/PlutusV3.mdx | 0 .../docs}/modules/Pointer.mdx | 0 .../docs}/modules/PointerAddress.mdx | 0 .../docs}/modules/PolicyId.mdx | 0 .../docs}/modules/PoolKeyHash.mdx | 0 .../docs}/modules/PoolMetadata.mdx | 0 .../docs}/modules/PoolParams.mdx | 0 .../docs}/modules/Port.mdx | 0 .../docs}/modules/PositiveCoin.mdx | 0 .../docs}/modules/PrivateKey.mdx | 0 .../docs}/modules/ProposalProcedure.mdx | 0 .../docs}/modules/ProposalProcedures.mdx | 0 .../docs}/modules/ProtocolParamUpdate.mdx | 0 .../docs}/modules/ProtocolVersion.mdx | 0 .../docs}/modules/Redeemer.mdx | 0 .../docs}/modules/Relay.mdx | 0 .../docs}/modules/RewardAccount.mdx | 0 .../docs}/modules/RewardAddress.mdx | 0 .../docs}/modules/Script.mdx | 0 .../docs}/modules/ScriptDataHash.mdx | 0 .../docs}/modules/ScriptHash.mdx | 0 .../docs}/modules/ScriptRef.mdx | 0 .../docs}/modules/SingleHostAddr.mdx | 0 .../docs}/modules/SingleHostName.mdx | 0 .../docs}/modules/StakeReference.mdx | 0 .../docs}/modules/TSchema.mdx | 0 .../docs}/modules/Text.mdx | 0 .../docs}/modules/Text128.mdx | 0 .../docs}/modules/Transaction.mdx | 0 .../docs}/modules/TransactionBody.mdx | 0 .../docs}/modules/TransactionHash.mdx | 0 .../docs}/modules/TransactionIndex.mdx | 0 .../docs}/modules/TransactionInput.mdx | 0 .../docs}/modules/TransactionMetadatum.mdx | 0 .../modules/TransactionMetadatumLabels.mdx | 0 .../docs}/modules/TransactionOutput.mdx | 0 .../docs}/modules/TransactionWitnessSet.mdx | 0 .../docs}/modules/UnitInterval.mdx | 0 .../docs}/modules/Url.mdx | 0 .../docs}/modules/VKey.mdx | 0 .../docs}/modules/Value.mdx | 0 .../docs}/modules/VotingProcedures.mdx | 0 .../docs}/modules/VrfCert.mdx | 0 .../docs}/modules/VrfKeyHash.mdx | 0 .../docs}/modules/VrfVkey.mdx | 0 .../docs}/modules/Withdrawals.mdx | 0 .../docs}/modules/_meta.json | 0 .../docs}/modules/index.mdx | 0 .../docs}/modules/utils/Hash.mdx | 0 .../address/address-format.ts} | 0 .../data/basic-construction.ts | 0 .../data/bytes-validate.ts | 2 +- .../data/cbor-encoding-options.ts | 2 +- .../data/complex-nested-structures.ts | 2 +- .../{ => getting-started/data}/data.ts | 0 .../data/error-handling-patterns.ts | 5 +- .../data/nested-canonical.ts | 2 +- .../{ => getting-started}/data/roundtrip.ts | 2 +- .../data/working-with-maps.ts | 2 +- docs/lib/layout.shared.tsx | 18 + docs/lib/source.ts | 9 + docs/mdx-components.tsx | 10 + docs/next-env.d.ts | 3 +- docs/next.config.mjs | 26 +- docs/package.json | 31 +- docs/pages/_meta.json | 4 - .../getting-started/data/bytes-validate.mdx | 13 - docs/pages/getting-started/data/index.mdx | 10 - docs/pages/index.mdx | 16 - docs/postcss.config.mjs | 5 + docs/scripts/copy-evolution-docs.ts | 4 +- ...ng-started.ts => generate-mdx-examples.ts} | 243 +- docs/scripts/run-examples-and-generate.sh | 86 +- docs/source.config.ts | 23 + docs/theme.config.tsx | 30 - docs/tsconfig.json | 39 +- docs/vitest.config.ts | 14 - packages/evolution/src/index.ts | 1 + pnpm-lock.yaml | 3821 +++++++---------- 180 files changed, 2287 insertions(+), 2531 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/README.md create mode 100644 docs/app/(home)/layout.tsx create mode 100644 docs/app/(home)/page.tsx create mode 100644 docs/app/api/search/route.ts create mode 100644 docs/app/docs/[[...slug]]/page.tsx create mode 100644 docs/app/docs/layout.tsx create mode 100644 docs/app/global.css create mode 100644 docs/app/layout.tsx rename docs/{pages/getting-started/address.mdx => content/docs/getting-started/address/address-format.mdx} (63%) create mode 100644 docs/content/docs/getting-started/address/index.mdx rename docs/{pages => content/docs}/getting-started/data/basic-construction.mdx (88%) create mode 100644 docs/content/docs/getting-started/data/bytes-validate.mdx rename docs/{pages => content/docs}/getting-started/data/cbor-encoding-options.mdx (88%) rename docs/{pages => content/docs}/getting-started/data/complex-nested-structures.mdx (88%) create mode 100644 docs/content/docs/getting-started/data/data.mdx rename docs/{pages => content/docs}/getting-started/data/error-handling-patterns.mdx (89%) create mode 100644 docs/content/docs/getting-started/data/index.mdx rename docs/{pages => content/docs}/getting-started/data/nested-canonical.mdx (75%) rename docs/{pages => content/docs}/getting-started/data/roundtrip.mdx (54%) rename docs/{pages => content/docs}/getting-started/data/working-with-maps.mdx (86%) create mode 100644 docs/content/docs/getting-started/index.mdx create mode 100644 docs/content/docs/index.mdx rename docs/{pages/reference => content/docs}/modules/Address.mdx (100%) rename docs/{pages/reference => content/docs}/modules/AddressDetails.mdx (100%) rename docs/{pages/reference => content/docs}/modules/AddressTag.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Anchor.mdx (100%) rename docs/{pages/reference => content/docs}/modules/AssetName.mdx (100%) rename docs/{pages/reference => content/docs}/modules/AuxiliaryData.mdx (100%) rename docs/{pages/reference => content/docs}/modules/AuxiliaryDataHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/BaseAddress.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bech32.mdx (100%) rename docs/{pages/reference => content/docs}/modules/BigInt.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bip32PrivateKey.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bip32PublicKey.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Block.mdx (100%) rename docs/{pages/reference => content/docs}/modules/BlockBodyHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/BlockHeaderHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/BootstrapWitness.mdx (100%) rename docs/{pages/reference => content/docs}/modules/BoundedBytes.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ByronAddress.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes128.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes16.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes29.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes32.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes4.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes448.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes57.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes64.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes80.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Bytes96.mdx (100%) rename docs/{pages/reference => content/docs}/modules/CBOR.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Certificate.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Codec.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Coin.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Combinator.mdx (100%) rename docs/{pages/reference => content/docs}/modules/CommitteeColdCredential.mdx (100%) rename docs/{pages/reference => content/docs}/modules/CommitteeHotCredential.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Constitution.mdx (100%) rename docs/{pages/reference => content/docs}/modules/CostModel.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Credential.mdx (100%) rename docs/{pages/reference => content/docs}/modules/DRep.mdx (100%) rename docs/{pages/reference => content/docs}/modules/DRepCredential.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Data.mdx (100%) rename docs/{pages/reference => content/docs}/modules/DataJson.mdx (100%) rename docs/{pages/reference => content/docs}/modules/DatumOption.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Devnet/Devnet.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Devnet/DevnetDefault.mdx (100%) rename docs/{pages/reference => content/docs}/modules/DnsName.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Ed25519Signature.mdx (100%) rename docs/{pages/reference => content/docs}/modules/EnterpriseAddress.mdx (100%) rename docs/{pages/reference => content/docs}/modules/EpochNo.mdx (100%) rename docs/{pages/reference => content/docs}/modules/FormatError.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Function.mdx (100%) rename docs/{pages/reference => content/docs}/modules/GovernanceAction.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Hash28.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Header.mdx (100%) rename docs/{pages/reference => content/docs}/modules/HeaderBody.mdx (100%) rename docs/{pages/reference => content/docs}/modules/IPv4.mdx (100%) rename docs/{pages/reference => content/docs}/modules/IPv6.mdx (100%) rename docs/{pages/reference => content/docs}/modules/KESVkey.mdx (100%) rename docs/{pages/reference => content/docs}/modules/KesSignature.mdx (100%) rename docs/{pages/reference => content/docs}/modules/KeyHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Language.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Metadata.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Mint.mdx (100%) rename docs/{pages/reference => content/docs}/modules/MultiAsset.mdx (100%) rename docs/{pages/reference => content/docs}/modules/MultiHostName.mdx (100%) rename docs/{pages/reference => content/docs}/modules/NativeScriptJSON.mdx (100%) rename docs/{pages/reference => content/docs}/modules/NativeScripts.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Natural.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Network.mdx (100%) rename docs/{pages/reference => content/docs}/modules/NetworkId.mdx (100%) rename docs/{pages/reference => content/docs}/modules/NonZeroInt64.mdx (100%) rename docs/{pages/reference => content/docs}/modules/NonnegativeInterval.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Numeric.mdx (100%) rename docs/{pages/reference => content/docs}/modules/OperationalCert.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PaymentAddress.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PlutusV1.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PlutusV2.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PlutusV3.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Pointer.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PointerAddress.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PolicyId.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PoolKeyHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PoolMetadata.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PoolParams.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Port.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PositiveCoin.mdx (100%) rename docs/{pages/reference => content/docs}/modules/PrivateKey.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ProposalProcedure.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ProposalProcedures.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ProtocolParamUpdate.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ProtocolVersion.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Redeemer.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Relay.mdx (100%) rename docs/{pages/reference => content/docs}/modules/RewardAccount.mdx (100%) rename docs/{pages/reference => content/docs}/modules/RewardAddress.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Script.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ScriptDataHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ScriptHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/ScriptRef.mdx (100%) rename docs/{pages/reference => content/docs}/modules/SingleHostAddr.mdx (100%) rename docs/{pages/reference => content/docs}/modules/SingleHostName.mdx (100%) rename docs/{pages/reference => content/docs}/modules/StakeReference.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TSchema.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Text.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Text128.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Transaction.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionBody.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionIndex.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionInput.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionMetadatum.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionMetadatumLabels.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionOutput.mdx (100%) rename docs/{pages/reference => content/docs}/modules/TransactionWitnessSet.mdx (100%) rename docs/{pages/reference => content/docs}/modules/UnitInterval.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Url.mdx (100%) rename docs/{pages/reference => content/docs}/modules/VKey.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Value.mdx (100%) rename docs/{pages/reference => content/docs}/modules/VotingProcedures.mdx (100%) rename docs/{pages/reference => content/docs}/modules/VrfCert.mdx (100%) rename docs/{pages/reference => content/docs}/modules/VrfKeyHash.mdx (100%) rename docs/{pages/reference => content/docs}/modules/VrfVkey.mdx (100%) rename docs/{pages/reference => content/docs}/modules/Withdrawals.mdx (100%) rename docs/{pages/reference => content/docs}/modules/_meta.json (100%) rename docs/{pages/reference => content/docs}/modules/index.mdx (100%) rename docs/{pages/reference => content/docs}/modules/utils/Hash.mdx (100%) rename docs/examples/{address.ts => getting-started/address/address-format.ts} (100%) rename docs/examples/{ => getting-started}/data/basic-construction.ts (100%) rename docs/examples/{ => getting-started}/data/bytes-validate.ts (100%) rename docs/examples/{ => getting-started}/data/cbor-encoding-options.ts (100%) rename docs/examples/{ => getting-started}/data/complex-nested-structures.ts (100%) rename docs/examples/{ => getting-started/data}/data.ts (100%) rename docs/examples/{ => getting-started}/data/error-handling-patterns.ts (96%) rename docs/examples/{ => getting-started}/data/nested-canonical.ts (100%) rename docs/examples/{ => getting-started}/data/roundtrip.ts (100%) rename docs/examples/{ => getting-started}/data/working-with-maps.ts (100%) create mode 100644 docs/lib/layout.shared.tsx create mode 100644 docs/lib/source.ts create mode 100644 docs/mdx-components.tsx delete mode 100644 docs/pages/_meta.json delete mode 100644 docs/pages/getting-started/data/bytes-validate.mdx delete mode 100644 docs/pages/getting-started/data/index.mdx delete mode 100644 docs/pages/index.mdx create mode 100644 docs/postcss.config.mjs rename docs/scripts/{generate-getting-started.ts => generate-mdx-examples.ts} (52%) create mode 100644 docs/source.config.ts delete mode 100644 docs/theme.config.tsx delete mode 100644 docs/vitest.config.ts diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..55a12ae7 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,28 @@ +# deps +/node_modules + +# generated content +.contentlayer +.content-collections +.source + +# test & build +/coverage +/.next/ +/out/ +/build +*.tsbuildinfo + +# misc +.DS_Store +*.pem +/.pnp +.pnp.js +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# others +.env*.local +.vercel +next-env.d.ts \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..63e7ecc0 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,45 @@ +# docs + +This is a Next.js application generated with +[Create Fumadocs](https://github.com/fuma-nama/fumadocs). + +Run development server: + +```bash +npm run dev +# or +pnpm dev +# or +yarn dev +``` + +Open http://localhost:3000 with your browser to see the result. + +## Explore + +In the project, you can see: + +- `lib/source.ts`: Code for content source adapter, [`loader()`](https://fumadocs.dev/docs/headless/source-api) provides the interface to access your content. +- `lib/layout.shared.tsx`: Shared options for layouts, optional but preferred to keep. + +| Route | Description | +| ------------------------- | ------------------------------------------------------ | +| `app/(home)` | The route group for your landing page and other pages. | +| `app/docs` | The documentation layout and pages. | +| `app/api/search/route.ts` | The Route Handler for search. | + +### Fumadocs MDX + +A `source.config.ts` config file has been included, you can customise different options like frontmatter schema. + +Read the [Introduction](https://fumadocs.dev/docs/mdx) for further details. + +## Learn More + +To learn more about Next.js and Fumadocs, take a look at the following +resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js + features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +- [Fumadocs](https://fumadocs.vercel.app) - learn about Fumadocs diff --git a/docs/app/(home)/layout.tsx b/docs/app/(home)/layout.tsx new file mode 100644 index 00000000..77379fac --- /dev/null +++ b/docs/app/(home)/layout.tsx @@ -0,0 +1,6 @@ +import { HomeLayout } from 'fumadocs-ui/layouts/home'; +import { baseOptions } from '@/lib/layout.shared'; + +export default function Layout({ children }: LayoutProps<'/'>) { + return {children}; +} diff --git a/docs/app/(home)/page.tsx b/docs/app/(home)/page.tsx new file mode 100644 index 00000000..b91f041d --- /dev/null +++ b/docs/app/(home)/page.tsx @@ -0,0 +1,6 @@ +import { redirect } from 'next/navigation'; + +export default function HomePage() { + // Permanently redirect root to /docs + redirect('/docs'); +} diff --git a/docs/app/api/search/route.ts b/docs/app/api/search/route.ts new file mode 100644 index 00000000..5661bcdc --- /dev/null +++ b/docs/app/api/search/route.ts @@ -0,0 +1,13 @@ +// import { source } from '@/lib/source'; +// import { createFromSource } from 'fumadocs-core/search/server'; + +// export const { GET } = createFromSource(source, { +// // https://docs.orama.com/docs/orama-js/supported-languages +// language: 'english', +// }); + +import { source } from '@/lib/source'; +import { createFromSource } from 'fumadocs-core/search/server'; +// it should be cached forever +export const revalidate = false; +export const { staticGET: GET } = createFromSource(source); \ No newline at end of file diff --git a/docs/app/docs/[[...slug]]/page.tsx b/docs/app/docs/[[...slug]]/page.tsx new file mode 100644 index 00000000..bcb1f89c --- /dev/null +++ b/docs/app/docs/[[...slug]]/page.tsx @@ -0,0 +1,51 @@ +import { source } from '@/lib/source'; +import { + DocsBody, + DocsDescription, + DocsPage, + DocsTitle, +} from 'fumadocs-ui/page'; +import type { Metadata } from 'next'; +import { notFound } from 'next/navigation'; +import { createRelativeLink } from 'fumadocs-ui/mdx'; +import { getMDXComponents } from '@/mdx-components'; + +export default async function Page(props: PageProps<'/docs/[[...slug]]'>) { + const params = await props.params; + const page = source.getPage(params.slug); + if (!page) notFound(); + + const MDXContent = page.data.body; + + return ( + + {page.data.title} + {page.data.description} + + + + + ); +} + +export async function generateStaticParams() { + return source.generateParams(); +} + +export async function generateMetadata( + props: PageProps<'/docs/[[...slug]]'>, +): Promise { + const params = await props.params; + const page = source.getPage(params.slug); + if (!page) notFound(); + + return { + title: page.data.title, + description: page.data.description, + }; +} diff --git a/docs/app/docs/layout.tsx b/docs/app/docs/layout.tsx new file mode 100644 index 00000000..8e9ec722 --- /dev/null +++ b/docs/app/docs/layout.tsx @@ -0,0 +1,11 @@ +import { DocsLayout } from 'fumadocs-ui/layouts/docs'; +import { baseOptions } from '@/lib/layout.shared'; +import { source } from '@/lib/source'; + +export default function Layout({ children }: LayoutProps<'/docs'>) { + return ( + + {children} + + ); +} diff --git a/docs/app/global.css b/docs/app/global.css new file mode 100644 index 00000000..50b3bc29 --- /dev/null +++ b/docs/app/global.css @@ -0,0 +1,3 @@ +@import 'tailwindcss'; +@import 'fumadocs-ui/css/neutral.css'; +@import 'fumadocs-ui/css/preset.css'; diff --git a/docs/app/layout.tsx b/docs/app/layout.tsx new file mode 100644 index 00000000..ecfd234c --- /dev/null +++ b/docs/app/layout.tsx @@ -0,0 +1,17 @@ +import '@/app/global.css'; +import { RootProvider } from 'fumadocs-ui/provider'; +import { Inter } from 'next/font/google'; + +const inter = Inter({ + subsets: ['latin'], +}); + +export default function Layout({ children }: LayoutProps<'/'>) { + return ( + + + {children} + + + ); +} diff --git a/docs/pages/getting-started/address.mdx b/docs/content/docs/getting-started/address/address-format.mdx similarity index 63% rename from docs/pages/getting-started/address.mdx rename to docs/content/docs/getting-started/address/address-format.mdx index 41421ac8..77f648a5 100644 --- a/docs/pages/getting-started/address.mdx +++ b/docs/content/docs/getting-started/address/address-format.mdx @@ -1,12 +1,11 @@ -# Address - -Address module provides functionality for working with address types in Cardano. - -## Address Example - -{/* BEGIN:snippet file=address.ts region=address-example lang=typescript */} +--- +title: "Address Format" +--- ```typescript +// Examples for Address getting-started page +// Run with: pnpm -w -C docs ts-node examples/address.ts (or a small runner) + // #region address-example import assert from "node:assert/strict" import { Address } from "@evolution-sdk/evolution" @@ -22,10 +21,9 @@ const actualBech32 = Address.toBech32(address) // Verify the conversion is correct assert.strictEqual(actualBech32, expectedBech32) -``` - -{/* END:snippet */} +// #endregion address-example -## API Reference - -For detailed API documentation, see the generated TypeDoc documentation. \ No newline at end of file +if (import.meta.url === `file://${process.argv[1]}`) { + console.log("Address example OK") +} +``` diff --git a/docs/content/docs/getting-started/address/index.mdx b/docs/content/docs/getting-started/address/index.mdx new file mode 100644 index 00000000..768b31ce --- /dev/null +++ b/docs/content/docs/getting-started/address/index.mdx @@ -0,0 +1,7 @@ +--- +title: "Address" +--- + +# Address + +- [Address Format](/../content/docs/getting-started/address/address-format) diff --git a/docs/pages/getting-started/data/basic-construction.mdx b/docs/content/docs/getting-started/data/basic-construction.mdx similarity index 88% rename from docs/pages/getting-started/data/basic-construction.mdx rename to docs/content/docs/getting-started/data/basic-construction.mdx index 4b454978..19d3a197 100644 --- a/docs/pages/getting-started/data/basic-construction.mdx +++ b/docs/content/docs/getting-started/data/basic-construction.mdx @@ -1,6 +1,7 @@ -# Basic Data Construction - -Learn how to create fundamental Data types using constructors. +--- +title: "Basic Data Construction" +description: "Learn how to create fundamental Data types using constructors." +--- ```typescript import assert from "node:assert/strict" diff --git a/docs/content/docs/getting-started/data/bytes-validate.mdx b/docs/content/docs/getting-started/data/bytes-validate.mdx new file mode 100644 index 00000000..01ab11fa --- /dev/null +++ b/docs/content/docs/getting-started/data/bytes-validate.mdx @@ -0,0 +1,16 @@ +--- +title: "Validate bytes" +description: "Quick check for hex-like bytes strings using Data.isBytes." +--- + +```typescript +import assert from "node:assert/strict" +import { Data } from "@evolution-sdk/evolution" + +const hex = "deadbeef" +assert.equal(Data.isBytes(hex), true) + +const invalid = "not-hex" +assert.equal(Data.isBytes(invalid), false) + +``` diff --git a/docs/pages/getting-started/data/cbor-encoding-options.mdx b/docs/content/docs/getting-started/data/cbor-encoding-options.mdx similarity index 88% rename from docs/pages/getting-started/data/cbor-encoding-options.mdx rename to docs/content/docs/getting-started/data/cbor-encoding-options.mdx index e9ef33af..807740b6 100644 --- a/docs/pages/getting-started/data/cbor-encoding-options.mdx +++ b/docs/content/docs/getting-started/data/cbor-encoding-options.mdx @@ -1,9 +1,12 @@ -# CBOR Encoding Options - -Compare different CBOR encoding strategies for the same data. +--- +title: "CBOR Encoding Options" +description: "Compare different CBOR encoding strategies for the same data." +--- ```typescript -// #region main +import assert from "node:assert/strict" +import { CBOR, Data } from "@evolution-sdk/evolution" + // Create complex data with unsorted elements (Maps should be standalone, not in constructor fields) const unsortedMap = new Map([ ["7a65627261", 1n], // 'zebra' in hex diff --git a/docs/pages/getting-started/data/complex-nested-structures.mdx b/docs/content/docs/getting-started/data/complex-nested-structures.mdx similarity index 88% rename from docs/pages/getting-started/data/complex-nested-structures.mdx rename to docs/content/docs/getting-started/data/complex-nested-structures.mdx index 9c5649d2..342fb562 100644 --- a/docs/pages/getting-started/data/complex-nested-structures.mdx +++ b/docs/content/docs/getting-started/data/complex-nested-structures.mdx @@ -1,9 +1,12 @@ -# Complex Nested Structures - -Build sophisticated nested data structures with multiple levels and types. +--- +title: "Complex Nested Structures" +description: "Build sophisticated nested data structures with multiple levels and types." +--- ```typescript -// #region main +import assert from "node:assert/strict" +import { Data } from "@evolution-sdk/evolution" + // Create a complex user profile with nested data using only valid Data types const userProfile = new Data.Constr({ index: 0n, // User constructor diff --git a/docs/content/docs/getting-started/data/data.mdx b/docs/content/docs/getting-started/data/data.mdx new file mode 100644 index 00000000..96ba76b2 --- /dev/null +++ b/docs/content/docs/getting-started/data/data.mdx @@ -0,0 +1,57 @@ +--- +title: "Data" +--- + +```typescript +// Examples for Data getting-started page + +// #region data-nested-canonical +import assert from "node:assert/strict" +import { CBOR, Data } from "@evolution-sdk/evolution" +// Create a complex nested data structure with: +// - Constructor with index 1 containing multiple fields +// - Nested constructors with different indices +// - A Map with mixed key-value pairs +// - An array of numbers +const nestedUnsortedData = new Data.Constr({ + index: 1n, + fields: [ + // Nested constructor: 121_0([123_0([])]) + new Data.Constr({ + index: 0n, + fields: [ + new Data.Constr({ + index: 2n, + fields: [] + }) + ] + }), + // Map with unsorted keys (will be sorted in canonical mode) + new Map([ + ["deadbeef01", new Data.Constr({ index: 0n, fields: [] })], + ["beef", 19n], + ["deadbeef03", new Data.Constr({ index: 1n, fields: [] })] + ]), + // Array of numbers + [10n, 5n, 2n, 3n, 1n, 4n] + ] +}) + +// Encode using default options (indefinite-length encoding for Data) +const cborHex = Data.toCBORHex(nestedUnsortedData) + +const decodedData = Data.fromCBORHex(cborHex) + +// Create a canonical codec for deterministic encoding +// This ensures consistent output and sorted map keys +// Encode using canonical mode (definite-length, sorted keys) +const canonicalCborHex = Data.toCBORHex(nestedUnsortedData, CBOR.CANONICAL_OPTIONS) + +// Verify that decoding works correctly +assert.deepStrictEqual(decodedData, nestedUnsortedData) +// #endregion data-nested-canonical + +if (import.meta.url === `file://${process.argv[1]}`) { + console.log("Data example OK") +} +``` diff --git a/docs/pages/getting-started/data/error-handling-patterns.mdx b/docs/content/docs/getting-started/data/error-handling-patterns.mdx similarity index 89% rename from docs/pages/getting-started/data/error-handling-patterns.mdx rename to docs/content/docs/getting-started/data/error-handling-patterns.mdx index 89a98514..2363f58a 100644 --- a/docs/pages/getting-started/data/error-handling-patterns.mdx +++ b/docs/content/docs/getting-started/data/error-handling-patterns.mdx @@ -1,9 +1,12 @@ -# Error Handling Patterns - -Use Either patterns for safe data operations with proper error handling. +--- +title: "Error Handling Patterns" +description: "Use Either patterns for safe data operations with proper error handling." +--- ```typescript -// #region main +import assert from "node:assert/strict" +import { Data, Either, pipe } from "@evolution-sdk/evolution" + // Use built-in Either-based functions for safe operations const safeData = new Data.Constr({ index: 0n, fields: ["74657374", 42n] }) // 'test' as hex diff --git a/docs/content/docs/getting-started/data/index.mdx b/docs/content/docs/getting-started/data/index.mdx new file mode 100644 index 00000000..ab12e1de --- /dev/null +++ b/docs/content/docs/getting-started/data/index.mdx @@ -0,0 +1,15 @@ +--- +title: "Data" +--- + +# Data + +- [Basic Data Construction](/../content/docs/getting-started/data/basic-construction) +- [Validate bytes](/../content/docs/getting-started/data/bytes-validate) +- [CBOR Encoding Options](/../content/docs/getting-started/data/cbor-encoding-options) +- [Complex Nested Structures](/../content/docs/getting-started/data/complex-nested-structures) +- [Data](/../content/docs/getting-started/data/data) +- [Error Handling Patterns](/../content/docs/getting-started/data/error-handling-patterns) +- [Canonical nested structure](/../content/docs/getting-started/data/nested-canonical) +- [Roundtrip encode/decode](/../content/docs/getting-started/data/roundtrip) +- [Working with Maps](/../content/docs/getting-started/data/working-with-maps) diff --git a/docs/pages/getting-started/data/nested-canonical.mdx b/docs/content/docs/getting-started/data/nested-canonical.mdx similarity index 75% rename from docs/pages/getting-started/data/nested-canonical.mdx rename to docs/content/docs/getting-started/data/nested-canonical.mdx index 3e23befc..d85a8369 100644 --- a/docs/pages/getting-started/data/nested-canonical.mdx +++ b/docs/content/docs/getting-started/data/nested-canonical.mdx @@ -1,9 +1,12 @@ -# Canonical nested structure - -Complex nested Data encoding with canonical CBOR options. +--- +title: "Canonical nested structure" +description: "Complex nested Data encoding with canonical CBOR options." +--- ```typescript -// #region main +import assert from "node:assert/strict" +import { CBOR, Data } from "@evolution-sdk/evolution" + const nestedUnsortedData = new Data.Constr({ index: 1n, fields: [ diff --git a/docs/pages/getting-started/data/roundtrip.mdx b/docs/content/docs/getting-started/data/roundtrip.mdx similarity index 54% rename from docs/pages/getting-started/data/roundtrip.mdx rename to docs/content/docs/getting-started/data/roundtrip.mdx index 221b7668..86a7a46b 100644 --- a/docs/pages/getting-started/data/roundtrip.mdx +++ b/docs/content/docs/getting-started/data/roundtrip.mdx @@ -1,9 +1,12 @@ -# Roundtrip encode/decode - -Encode a Data value to CBOR hex and decode back. +--- +title: "Roundtrip encode/decode" +description: "Encode a Data value to CBOR hex and decode back." +--- ```typescript -// #region main +import assert from "node:assert/strict" +import { CBOR, Data } from "@evolution-sdk/evolution" + const original = new Data.Constr({ index: 0n, fields: ["beef", 19n] }) const hexCbor = Data.toCBORHex(original, CBOR.CANONICAL_OPTIONS) const back = Data.fromCBORHex(hexCbor) diff --git a/docs/pages/getting-started/data/working-with-maps.mdx b/docs/content/docs/getting-started/data/working-with-maps.mdx similarity index 86% rename from docs/pages/getting-started/data/working-with-maps.mdx rename to docs/content/docs/getting-started/data/working-with-maps.mdx index e098a24e..35a374f5 100644 --- a/docs/pages/getting-started/data/working-with-maps.mdx +++ b/docs/content/docs/getting-started/data/working-with-maps.mdx @@ -1,9 +1,12 @@ -# Working with Maps - -Create and manipulate Data Maps with key-value pairs. +--- +title: "Working with Maps" +description: "Create and manipulate Data Maps with key-value pairs." +--- ```typescript -// #region main +import assert from "node:assert/strict" +import { Data } from "@evolution-sdk/evolution" + // Create a simple map with hex string keys and integer values const userAges = new Map([ ["616c696365", 25n], // 'alice' in hex diff --git a/docs/content/docs/getting-started/index.mdx b/docs/content/docs/getting-started/index.mdx new file mode 100644 index 00000000..2d2266ab --- /dev/null +++ b/docs/content/docs/getting-started/index.mdx @@ -0,0 +1,8 @@ +--- +title: "Getting Started" +--- + +# Getting Started + +- [Address](/../content/docs/getting-started/address) +- [Data](/../content/docs/getting-started/data) diff --git a/docs/content/docs/index.mdx b/docs/content/docs/index.mdx new file mode 100644 index 00000000..82e95e39 --- /dev/null +++ b/docs/content/docs/index.mdx @@ -0,0 +1,15 @@ +--- +title: Documentation +description: Evolution SDK documentation index +--- + +# Evolution SDK Documentation + +Welcome to the Evolution SDK documentation. + +This site contains guides, examples, and API reference for the Evolution SDK. + +- [Getting started](/docs/getting-started/) +- [Modules reference](/docs/modules/) + +If you're not sure where to begin, start with Getting started. diff --git a/docs/pages/reference/modules/Address.mdx b/docs/content/docs/modules/Address.mdx similarity index 100% rename from docs/pages/reference/modules/Address.mdx rename to docs/content/docs/modules/Address.mdx diff --git a/docs/pages/reference/modules/AddressDetails.mdx b/docs/content/docs/modules/AddressDetails.mdx similarity index 100% rename from docs/pages/reference/modules/AddressDetails.mdx rename to docs/content/docs/modules/AddressDetails.mdx diff --git a/docs/pages/reference/modules/AddressTag.mdx b/docs/content/docs/modules/AddressTag.mdx similarity index 100% rename from docs/pages/reference/modules/AddressTag.mdx rename to docs/content/docs/modules/AddressTag.mdx diff --git a/docs/pages/reference/modules/Anchor.mdx b/docs/content/docs/modules/Anchor.mdx similarity index 100% rename from docs/pages/reference/modules/Anchor.mdx rename to docs/content/docs/modules/Anchor.mdx diff --git a/docs/pages/reference/modules/AssetName.mdx b/docs/content/docs/modules/AssetName.mdx similarity index 100% rename from docs/pages/reference/modules/AssetName.mdx rename to docs/content/docs/modules/AssetName.mdx diff --git a/docs/pages/reference/modules/AuxiliaryData.mdx b/docs/content/docs/modules/AuxiliaryData.mdx similarity index 100% rename from docs/pages/reference/modules/AuxiliaryData.mdx rename to docs/content/docs/modules/AuxiliaryData.mdx diff --git a/docs/pages/reference/modules/AuxiliaryDataHash.mdx b/docs/content/docs/modules/AuxiliaryDataHash.mdx similarity index 100% rename from docs/pages/reference/modules/AuxiliaryDataHash.mdx rename to docs/content/docs/modules/AuxiliaryDataHash.mdx diff --git a/docs/pages/reference/modules/BaseAddress.mdx b/docs/content/docs/modules/BaseAddress.mdx similarity index 100% rename from docs/pages/reference/modules/BaseAddress.mdx rename to docs/content/docs/modules/BaseAddress.mdx diff --git a/docs/pages/reference/modules/Bech32.mdx b/docs/content/docs/modules/Bech32.mdx similarity index 100% rename from docs/pages/reference/modules/Bech32.mdx rename to docs/content/docs/modules/Bech32.mdx diff --git a/docs/pages/reference/modules/BigInt.mdx b/docs/content/docs/modules/BigInt.mdx similarity index 100% rename from docs/pages/reference/modules/BigInt.mdx rename to docs/content/docs/modules/BigInt.mdx diff --git a/docs/pages/reference/modules/Bip32PrivateKey.mdx b/docs/content/docs/modules/Bip32PrivateKey.mdx similarity index 100% rename from docs/pages/reference/modules/Bip32PrivateKey.mdx rename to docs/content/docs/modules/Bip32PrivateKey.mdx diff --git a/docs/pages/reference/modules/Bip32PublicKey.mdx b/docs/content/docs/modules/Bip32PublicKey.mdx similarity index 100% rename from docs/pages/reference/modules/Bip32PublicKey.mdx rename to docs/content/docs/modules/Bip32PublicKey.mdx diff --git a/docs/pages/reference/modules/Block.mdx b/docs/content/docs/modules/Block.mdx similarity index 100% rename from docs/pages/reference/modules/Block.mdx rename to docs/content/docs/modules/Block.mdx diff --git a/docs/pages/reference/modules/BlockBodyHash.mdx b/docs/content/docs/modules/BlockBodyHash.mdx similarity index 100% rename from docs/pages/reference/modules/BlockBodyHash.mdx rename to docs/content/docs/modules/BlockBodyHash.mdx diff --git a/docs/pages/reference/modules/BlockHeaderHash.mdx b/docs/content/docs/modules/BlockHeaderHash.mdx similarity index 100% rename from docs/pages/reference/modules/BlockHeaderHash.mdx rename to docs/content/docs/modules/BlockHeaderHash.mdx diff --git a/docs/pages/reference/modules/BootstrapWitness.mdx b/docs/content/docs/modules/BootstrapWitness.mdx similarity index 100% rename from docs/pages/reference/modules/BootstrapWitness.mdx rename to docs/content/docs/modules/BootstrapWitness.mdx diff --git a/docs/pages/reference/modules/BoundedBytes.mdx b/docs/content/docs/modules/BoundedBytes.mdx similarity index 100% rename from docs/pages/reference/modules/BoundedBytes.mdx rename to docs/content/docs/modules/BoundedBytes.mdx diff --git a/docs/pages/reference/modules/ByronAddress.mdx b/docs/content/docs/modules/ByronAddress.mdx similarity index 100% rename from docs/pages/reference/modules/ByronAddress.mdx rename to docs/content/docs/modules/ByronAddress.mdx diff --git a/docs/pages/reference/modules/Bytes.mdx b/docs/content/docs/modules/Bytes.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes.mdx rename to docs/content/docs/modules/Bytes.mdx diff --git a/docs/pages/reference/modules/Bytes128.mdx b/docs/content/docs/modules/Bytes128.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes128.mdx rename to docs/content/docs/modules/Bytes128.mdx diff --git a/docs/pages/reference/modules/Bytes16.mdx b/docs/content/docs/modules/Bytes16.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes16.mdx rename to docs/content/docs/modules/Bytes16.mdx diff --git a/docs/pages/reference/modules/Bytes29.mdx b/docs/content/docs/modules/Bytes29.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes29.mdx rename to docs/content/docs/modules/Bytes29.mdx diff --git a/docs/pages/reference/modules/Bytes32.mdx b/docs/content/docs/modules/Bytes32.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes32.mdx rename to docs/content/docs/modules/Bytes32.mdx diff --git a/docs/pages/reference/modules/Bytes4.mdx b/docs/content/docs/modules/Bytes4.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes4.mdx rename to docs/content/docs/modules/Bytes4.mdx diff --git a/docs/pages/reference/modules/Bytes448.mdx b/docs/content/docs/modules/Bytes448.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes448.mdx rename to docs/content/docs/modules/Bytes448.mdx diff --git a/docs/pages/reference/modules/Bytes57.mdx b/docs/content/docs/modules/Bytes57.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes57.mdx rename to docs/content/docs/modules/Bytes57.mdx diff --git a/docs/pages/reference/modules/Bytes64.mdx b/docs/content/docs/modules/Bytes64.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes64.mdx rename to docs/content/docs/modules/Bytes64.mdx diff --git a/docs/pages/reference/modules/Bytes80.mdx b/docs/content/docs/modules/Bytes80.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes80.mdx rename to docs/content/docs/modules/Bytes80.mdx diff --git a/docs/pages/reference/modules/Bytes96.mdx b/docs/content/docs/modules/Bytes96.mdx similarity index 100% rename from docs/pages/reference/modules/Bytes96.mdx rename to docs/content/docs/modules/Bytes96.mdx diff --git a/docs/pages/reference/modules/CBOR.mdx b/docs/content/docs/modules/CBOR.mdx similarity index 100% rename from docs/pages/reference/modules/CBOR.mdx rename to docs/content/docs/modules/CBOR.mdx diff --git a/docs/pages/reference/modules/Certificate.mdx b/docs/content/docs/modules/Certificate.mdx similarity index 100% rename from docs/pages/reference/modules/Certificate.mdx rename to docs/content/docs/modules/Certificate.mdx diff --git a/docs/pages/reference/modules/Codec.mdx b/docs/content/docs/modules/Codec.mdx similarity index 100% rename from docs/pages/reference/modules/Codec.mdx rename to docs/content/docs/modules/Codec.mdx diff --git a/docs/pages/reference/modules/Coin.mdx b/docs/content/docs/modules/Coin.mdx similarity index 100% rename from docs/pages/reference/modules/Coin.mdx rename to docs/content/docs/modules/Coin.mdx diff --git a/docs/pages/reference/modules/Combinator.mdx b/docs/content/docs/modules/Combinator.mdx similarity index 100% rename from docs/pages/reference/modules/Combinator.mdx rename to docs/content/docs/modules/Combinator.mdx diff --git a/docs/pages/reference/modules/CommitteeColdCredential.mdx b/docs/content/docs/modules/CommitteeColdCredential.mdx similarity index 100% rename from docs/pages/reference/modules/CommitteeColdCredential.mdx rename to docs/content/docs/modules/CommitteeColdCredential.mdx diff --git a/docs/pages/reference/modules/CommitteeHotCredential.mdx b/docs/content/docs/modules/CommitteeHotCredential.mdx similarity index 100% rename from docs/pages/reference/modules/CommitteeHotCredential.mdx rename to docs/content/docs/modules/CommitteeHotCredential.mdx diff --git a/docs/pages/reference/modules/Constitution.mdx b/docs/content/docs/modules/Constitution.mdx similarity index 100% rename from docs/pages/reference/modules/Constitution.mdx rename to docs/content/docs/modules/Constitution.mdx diff --git a/docs/pages/reference/modules/CostModel.mdx b/docs/content/docs/modules/CostModel.mdx similarity index 100% rename from docs/pages/reference/modules/CostModel.mdx rename to docs/content/docs/modules/CostModel.mdx diff --git a/docs/pages/reference/modules/Credential.mdx b/docs/content/docs/modules/Credential.mdx similarity index 100% rename from docs/pages/reference/modules/Credential.mdx rename to docs/content/docs/modules/Credential.mdx diff --git a/docs/pages/reference/modules/DRep.mdx b/docs/content/docs/modules/DRep.mdx similarity index 100% rename from docs/pages/reference/modules/DRep.mdx rename to docs/content/docs/modules/DRep.mdx diff --git a/docs/pages/reference/modules/DRepCredential.mdx b/docs/content/docs/modules/DRepCredential.mdx similarity index 100% rename from docs/pages/reference/modules/DRepCredential.mdx rename to docs/content/docs/modules/DRepCredential.mdx diff --git a/docs/pages/reference/modules/Data.mdx b/docs/content/docs/modules/Data.mdx similarity index 100% rename from docs/pages/reference/modules/Data.mdx rename to docs/content/docs/modules/Data.mdx diff --git a/docs/pages/reference/modules/DataJson.mdx b/docs/content/docs/modules/DataJson.mdx similarity index 100% rename from docs/pages/reference/modules/DataJson.mdx rename to docs/content/docs/modules/DataJson.mdx diff --git a/docs/pages/reference/modules/DatumOption.mdx b/docs/content/docs/modules/DatumOption.mdx similarity index 100% rename from docs/pages/reference/modules/DatumOption.mdx rename to docs/content/docs/modules/DatumOption.mdx diff --git a/docs/pages/reference/modules/Devnet/Devnet.mdx b/docs/content/docs/modules/Devnet/Devnet.mdx similarity index 100% rename from docs/pages/reference/modules/Devnet/Devnet.mdx rename to docs/content/docs/modules/Devnet/Devnet.mdx diff --git a/docs/pages/reference/modules/Devnet/DevnetDefault.mdx b/docs/content/docs/modules/Devnet/DevnetDefault.mdx similarity index 100% rename from docs/pages/reference/modules/Devnet/DevnetDefault.mdx rename to docs/content/docs/modules/Devnet/DevnetDefault.mdx diff --git a/docs/pages/reference/modules/DnsName.mdx b/docs/content/docs/modules/DnsName.mdx similarity index 100% rename from docs/pages/reference/modules/DnsName.mdx rename to docs/content/docs/modules/DnsName.mdx diff --git a/docs/pages/reference/modules/Ed25519Signature.mdx b/docs/content/docs/modules/Ed25519Signature.mdx similarity index 100% rename from docs/pages/reference/modules/Ed25519Signature.mdx rename to docs/content/docs/modules/Ed25519Signature.mdx diff --git a/docs/pages/reference/modules/EnterpriseAddress.mdx b/docs/content/docs/modules/EnterpriseAddress.mdx similarity index 100% rename from docs/pages/reference/modules/EnterpriseAddress.mdx rename to docs/content/docs/modules/EnterpriseAddress.mdx diff --git a/docs/pages/reference/modules/EpochNo.mdx b/docs/content/docs/modules/EpochNo.mdx similarity index 100% rename from docs/pages/reference/modules/EpochNo.mdx rename to docs/content/docs/modules/EpochNo.mdx diff --git a/docs/pages/reference/modules/FormatError.mdx b/docs/content/docs/modules/FormatError.mdx similarity index 100% rename from docs/pages/reference/modules/FormatError.mdx rename to docs/content/docs/modules/FormatError.mdx diff --git a/docs/pages/reference/modules/Function.mdx b/docs/content/docs/modules/Function.mdx similarity index 100% rename from docs/pages/reference/modules/Function.mdx rename to docs/content/docs/modules/Function.mdx diff --git a/docs/pages/reference/modules/GovernanceAction.mdx b/docs/content/docs/modules/GovernanceAction.mdx similarity index 100% rename from docs/pages/reference/modules/GovernanceAction.mdx rename to docs/content/docs/modules/GovernanceAction.mdx diff --git a/docs/pages/reference/modules/Hash28.mdx b/docs/content/docs/modules/Hash28.mdx similarity index 100% rename from docs/pages/reference/modules/Hash28.mdx rename to docs/content/docs/modules/Hash28.mdx diff --git a/docs/pages/reference/modules/Header.mdx b/docs/content/docs/modules/Header.mdx similarity index 100% rename from docs/pages/reference/modules/Header.mdx rename to docs/content/docs/modules/Header.mdx diff --git a/docs/pages/reference/modules/HeaderBody.mdx b/docs/content/docs/modules/HeaderBody.mdx similarity index 100% rename from docs/pages/reference/modules/HeaderBody.mdx rename to docs/content/docs/modules/HeaderBody.mdx diff --git a/docs/pages/reference/modules/IPv4.mdx b/docs/content/docs/modules/IPv4.mdx similarity index 100% rename from docs/pages/reference/modules/IPv4.mdx rename to docs/content/docs/modules/IPv4.mdx diff --git a/docs/pages/reference/modules/IPv6.mdx b/docs/content/docs/modules/IPv6.mdx similarity index 100% rename from docs/pages/reference/modules/IPv6.mdx rename to docs/content/docs/modules/IPv6.mdx diff --git a/docs/pages/reference/modules/KESVkey.mdx b/docs/content/docs/modules/KESVkey.mdx similarity index 100% rename from docs/pages/reference/modules/KESVkey.mdx rename to docs/content/docs/modules/KESVkey.mdx diff --git a/docs/pages/reference/modules/KesSignature.mdx b/docs/content/docs/modules/KesSignature.mdx similarity index 100% rename from docs/pages/reference/modules/KesSignature.mdx rename to docs/content/docs/modules/KesSignature.mdx diff --git a/docs/pages/reference/modules/KeyHash.mdx b/docs/content/docs/modules/KeyHash.mdx similarity index 100% rename from docs/pages/reference/modules/KeyHash.mdx rename to docs/content/docs/modules/KeyHash.mdx diff --git a/docs/pages/reference/modules/Language.mdx b/docs/content/docs/modules/Language.mdx similarity index 100% rename from docs/pages/reference/modules/Language.mdx rename to docs/content/docs/modules/Language.mdx diff --git a/docs/pages/reference/modules/Metadata.mdx b/docs/content/docs/modules/Metadata.mdx similarity index 100% rename from docs/pages/reference/modules/Metadata.mdx rename to docs/content/docs/modules/Metadata.mdx diff --git a/docs/pages/reference/modules/Mint.mdx b/docs/content/docs/modules/Mint.mdx similarity index 100% rename from docs/pages/reference/modules/Mint.mdx rename to docs/content/docs/modules/Mint.mdx diff --git a/docs/pages/reference/modules/MultiAsset.mdx b/docs/content/docs/modules/MultiAsset.mdx similarity index 100% rename from docs/pages/reference/modules/MultiAsset.mdx rename to docs/content/docs/modules/MultiAsset.mdx diff --git a/docs/pages/reference/modules/MultiHostName.mdx b/docs/content/docs/modules/MultiHostName.mdx similarity index 100% rename from docs/pages/reference/modules/MultiHostName.mdx rename to docs/content/docs/modules/MultiHostName.mdx diff --git a/docs/pages/reference/modules/NativeScriptJSON.mdx b/docs/content/docs/modules/NativeScriptJSON.mdx similarity index 100% rename from docs/pages/reference/modules/NativeScriptJSON.mdx rename to docs/content/docs/modules/NativeScriptJSON.mdx diff --git a/docs/pages/reference/modules/NativeScripts.mdx b/docs/content/docs/modules/NativeScripts.mdx similarity index 100% rename from docs/pages/reference/modules/NativeScripts.mdx rename to docs/content/docs/modules/NativeScripts.mdx diff --git a/docs/pages/reference/modules/Natural.mdx b/docs/content/docs/modules/Natural.mdx similarity index 100% rename from docs/pages/reference/modules/Natural.mdx rename to docs/content/docs/modules/Natural.mdx diff --git a/docs/pages/reference/modules/Network.mdx b/docs/content/docs/modules/Network.mdx similarity index 100% rename from docs/pages/reference/modules/Network.mdx rename to docs/content/docs/modules/Network.mdx diff --git a/docs/pages/reference/modules/NetworkId.mdx b/docs/content/docs/modules/NetworkId.mdx similarity index 100% rename from docs/pages/reference/modules/NetworkId.mdx rename to docs/content/docs/modules/NetworkId.mdx diff --git a/docs/pages/reference/modules/NonZeroInt64.mdx b/docs/content/docs/modules/NonZeroInt64.mdx similarity index 100% rename from docs/pages/reference/modules/NonZeroInt64.mdx rename to docs/content/docs/modules/NonZeroInt64.mdx diff --git a/docs/pages/reference/modules/NonnegativeInterval.mdx b/docs/content/docs/modules/NonnegativeInterval.mdx similarity index 100% rename from docs/pages/reference/modules/NonnegativeInterval.mdx rename to docs/content/docs/modules/NonnegativeInterval.mdx diff --git a/docs/pages/reference/modules/Numeric.mdx b/docs/content/docs/modules/Numeric.mdx similarity index 100% rename from docs/pages/reference/modules/Numeric.mdx rename to docs/content/docs/modules/Numeric.mdx diff --git a/docs/pages/reference/modules/OperationalCert.mdx b/docs/content/docs/modules/OperationalCert.mdx similarity index 100% rename from docs/pages/reference/modules/OperationalCert.mdx rename to docs/content/docs/modules/OperationalCert.mdx diff --git a/docs/pages/reference/modules/PaymentAddress.mdx b/docs/content/docs/modules/PaymentAddress.mdx similarity index 100% rename from docs/pages/reference/modules/PaymentAddress.mdx rename to docs/content/docs/modules/PaymentAddress.mdx diff --git a/docs/pages/reference/modules/PlutusV1.mdx b/docs/content/docs/modules/PlutusV1.mdx similarity index 100% rename from docs/pages/reference/modules/PlutusV1.mdx rename to docs/content/docs/modules/PlutusV1.mdx diff --git a/docs/pages/reference/modules/PlutusV2.mdx b/docs/content/docs/modules/PlutusV2.mdx similarity index 100% rename from docs/pages/reference/modules/PlutusV2.mdx rename to docs/content/docs/modules/PlutusV2.mdx diff --git a/docs/pages/reference/modules/PlutusV3.mdx b/docs/content/docs/modules/PlutusV3.mdx similarity index 100% rename from docs/pages/reference/modules/PlutusV3.mdx rename to docs/content/docs/modules/PlutusV3.mdx diff --git a/docs/pages/reference/modules/Pointer.mdx b/docs/content/docs/modules/Pointer.mdx similarity index 100% rename from docs/pages/reference/modules/Pointer.mdx rename to docs/content/docs/modules/Pointer.mdx diff --git a/docs/pages/reference/modules/PointerAddress.mdx b/docs/content/docs/modules/PointerAddress.mdx similarity index 100% rename from docs/pages/reference/modules/PointerAddress.mdx rename to docs/content/docs/modules/PointerAddress.mdx diff --git a/docs/pages/reference/modules/PolicyId.mdx b/docs/content/docs/modules/PolicyId.mdx similarity index 100% rename from docs/pages/reference/modules/PolicyId.mdx rename to docs/content/docs/modules/PolicyId.mdx diff --git a/docs/pages/reference/modules/PoolKeyHash.mdx b/docs/content/docs/modules/PoolKeyHash.mdx similarity index 100% rename from docs/pages/reference/modules/PoolKeyHash.mdx rename to docs/content/docs/modules/PoolKeyHash.mdx diff --git a/docs/pages/reference/modules/PoolMetadata.mdx b/docs/content/docs/modules/PoolMetadata.mdx similarity index 100% rename from docs/pages/reference/modules/PoolMetadata.mdx rename to docs/content/docs/modules/PoolMetadata.mdx diff --git a/docs/pages/reference/modules/PoolParams.mdx b/docs/content/docs/modules/PoolParams.mdx similarity index 100% rename from docs/pages/reference/modules/PoolParams.mdx rename to docs/content/docs/modules/PoolParams.mdx diff --git a/docs/pages/reference/modules/Port.mdx b/docs/content/docs/modules/Port.mdx similarity index 100% rename from docs/pages/reference/modules/Port.mdx rename to docs/content/docs/modules/Port.mdx diff --git a/docs/pages/reference/modules/PositiveCoin.mdx b/docs/content/docs/modules/PositiveCoin.mdx similarity index 100% rename from docs/pages/reference/modules/PositiveCoin.mdx rename to docs/content/docs/modules/PositiveCoin.mdx diff --git a/docs/pages/reference/modules/PrivateKey.mdx b/docs/content/docs/modules/PrivateKey.mdx similarity index 100% rename from docs/pages/reference/modules/PrivateKey.mdx rename to docs/content/docs/modules/PrivateKey.mdx diff --git a/docs/pages/reference/modules/ProposalProcedure.mdx b/docs/content/docs/modules/ProposalProcedure.mdx similarity index 100% rename from docs/pages/reference/modules/ProposalProcedure.mdx rename to docs/content/docs/modules/ProposalProcedure.mdx diff --git a/docs/pages/reference/modules/ProposalProcedures.mdx b/docs/content/docs/modules/ProposalProcedures.mdx similarity index 100% rename from docs/pages/reference/modules/ProposalProcedures.mdx rename to docs/content/docs/modules/ProposalProcedures.mdx diff --git a/docs/pages/reference/modules/ProtocolParamUpdate.mdx b/docs/content/docs/modules/ProtocolParamUpdate.mdx similarity index 100% rename from docs/pages/reference/modules/ProtocolParamUpdate.mdx rename to docs/content/docs/modules/ProtocolParamUpdate.mdx diff --git a/docs/pages/reference/modules/ProtocolVersion.mdx b/docs/content/docs/modules/ProtocolVersion.mdx similarity index 100% rename from docs/pages/reference/modules/ProtocolVersion.mdx rename to docs/content/docs/modules/ProtocolVersion.mdx diff --git a/docs/pages/reference/modules/Redeemer.mdx b/docs/content/docs/modules/Redeemer.mdx similarity index 100% rename from docs/pages/reference/modules/Redeemer.mdx rename to docs/content/docs/modules/Redeemer.mdx diff --git a/docs/pages/reference/modules/Relay.mdx b/docs/content/docs/modules/Relay.mdx similarity index 100% rename from docs/pages/reference/modules/Relay.mdx rename to docs/content/docs/modules/Relay.mdx diff --git a/docs/pages/reference/modules/RewardAccount.mdx b/docs/content/docs/modules/RewardAccount.mdx similarity index 100% rename from docs/pages/reference/modules/RewardAccount.mdx rename to docs/content/docs/modules/RewardAccount.mdx diff --git a/docs/pages/reference/modules/RewardAddress.mdx b/docs/content/docs/modules/RewardAddress.mdx similarity index 100% rename from docs/pages/reference/modules/RewardAddress.mdx rename to docs/content/docs/modules/RewardAddress.mdx diff --git a/docs/pages/reference/modules/Script.mdx b/docs/content/docs/modules/Script.mdx similarity index 100% rename from docs/pages/reference/modules/Script.mdx rename to docs/content/docs/modules/Script.mdx diff --git a/docs/pages/reference/modules/ScriptDataHash.mdx b/docs/content/docs/modules/ScriptDataHash.mdx similarity index 100% rename from docs/pages/reference/modules/ScriptDataHash.mdx rename to docs/content/docs/modules/ScriptDataHash.mdx diff --git a/docs/pages/reference/modules/ScriptHash.mdx b/docs/content/docs/modules/ScriptHash.mdx similarity index 100% rename from docs/pages/reference/modules/ScriptHash.mdx rename to docs/content/docs/modules/ScriptHash.mdx diff --git a/docs/pages/reference/modules/ScriptRef.mdx b/docs/content/docs/modules/ScriptRef.mdx similarity index 100% rename from docs/pages/reference/modules/ScriptRef.mdx rename to docs/content/docs/modules/ScriptRef.mdx diff --git a/docs/pages/reference/modules/SingleHostAddr.mdx b/docs/content/docs/modules/SingleHostAddr.mdx similarity index 100% rename from docs/pages/reference/modules/SingleHostAddr.mdx rename to docs/content/docs/modules/SingleHostAddr.mdx diff --git a/docs/pages/reference/modules/SingleHostName.mdx b/docs/content/docs/modules/SingleHostName.mdx similarity index 100% rename from docs/pages/reference/modules/SingleHostName.mdx rename to docs/content/docs/modules/SingleHostName.mdx diff --git a/docs/pages/reference/modules/StakeReference.mdx b/docs/content/docs/modules/StakeReference.mdx similarity index 100% rename from docs/pages/reference/modules/StakeReference.mdx rename to docs/content/docs/modules/StakeReference.mdx diff --git a/docs/pages/reference/modules/TSchema.mdx b/docs/content/docs/modules/TSchema.mdx similarity index 100% rename from docs/pages/reference/modules/TSchema.mdx rename to docs/content/docs/modules/TSchema.mdx diff --git a/docs/pages/reference/modules/Text.mdx b/docs/content/docs/modules/Text.mdx similarity index 100% rename from docs/pages/reference/modules/Text.mdx rename to docs/content/docs/modules/Text.mdx diff --git a/docs/pages/reference/modules/Text128.mdx b/docs/content/docs/modules/Text128.mdx similarity index 100% rename from docs/pages/reference/modules/Text128.mdx rename to docs/content/docs/modules/Text128.mdx diff --git a/docs/pages/reference/modules/Transaction.mdx b/docs/content/docs/modules/Transaction.mdx similarity index 100% rename from docs/pages/reference/modules/Transaction.mdx rename to docs/content/docs/modules/Transaction.mdx diff --git a/docs/pages/reference/modules/TransactionBody.mdx b/docs/content/docs/modules/TransactionBody.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionBody.mdx rename to docs/content/docs/modules/TransactionBody.mdx diff --git a/docs/pages/reference/modules/TransactionHash.mdx b/docs/content/docs/modules/TransactionHash.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionHash.mdx rename to docs/content/docs/modules/TransactionHash.mdx diff --git a/docs/pages/reference/modules/TransactionIndex.mdx b/docs/content/docs/modules/TransactionIndex.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionIndex.mdx rename to docs/content/docs/modules/TransactionIndex.mdx diff --git a/docs/pages/reference/modules/TransactionInput.mdx b/docs/content/docs/modules/TransactionInput.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionInput.mdx rename to docs/content/docs/modules/TransactionInput.mdx diff --git a/docs/pages/reference/modules/TransactionMetadatum.mdx b/docs/content/docs/modules/TransactionMetadatum.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionMetadatum.mdx rename to docs/content/docs/modules/TransactionMetadatum.mdx diff --git a/docs/pages/reference/modules/TransactionMetadatumLabels.mdx b/docs/content/docs/modules/TransactionMetadatumLabels.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionMetadatumLabels.mdx rename to docs/content/docs/modules/TransactionMetadatumLabels.mdx diff --git a/docs/pages/reference/modules/TransactionOutput.mdx b/docs/content/docs/modules/TransactionOutput.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionOutput.mdx rename to docs/content/docs/modules/TransactionOutput.mdx diff --git a/docs/pages/reference/modules/TransactionWitnessSet.mdx b/docs/content/docs/modules/TransactionWitnessSet.mdx similarity index 100% rename from docs/pages/reference/modules/TransactionWitnessSet.mdx rename to docs/content/docs/modules/TransactionWitnessSet.mdx diff --git a/docs/pages/reference/modules/UnitInterval.mdx b/docs/content/docs/modules/UnitInterval.mdx similarity index 100% rename from docs/pages/reference/modules/UnitInterval.mdx rename to docs/content/docs/modules/UnitInterval.mdx diff --git a/docs/pages/reference/modules/Url.mdx b/docs/content/docs/modules/Url.mdx similarity index 100% rename from docs/pages/reference/modules/Url.mdx rename to docs/content/docs/modules/Url.mdx diff --git a/docs/pages/reference/modules/VKey.mdx b/docs/content/docs/modules/VKey.mdx similarity index 100% rename from docs/pages/reference/modules/VKey.mdx rename to docs/content/docs/modules/VKey.mdx diff --git a/docs/pages/reference/modules/Value.mdx b/docs/content/docs/modules/Value.mdx similarity index 100% rename from docs/pages/reference/modules/Value.mdx rename to docs/content/docs/modules/Value.mdx diff --git a/docs/pages/reference/modules/VotingProcedures.mdx b/docs/content/docs/modules/VotingProcedures.mdx similarity index 100% rename from docs/pages/reference/modules/VotingProcedures.mdx rename to docs/content/docs/modules/VotingProcedures.mdx diff --git a/docs/pages/reference/modules/VrfCert.mdx b/docs/content/docs/modules/VrfCert.mdx similarity index 100% rename from docs/pages/reference/modules/VrfCert.mdx rename to docs/content/docs/modules/VrfCert.mdx diff --git a/docs/pages/reference/modules/VrfKeyHash.mdx b/docs/content/docs/modules/VrfKeyHash.mdx similarity index 100% rename from docs/pages/reference/modules/VrfKeyHash.mdx rename to docs/content/docs/modules/VrfKeyHash.mdx diff --git a/docs/pages/reference/modules/VrfVkey.mdx b/docs/content/docs/modules/VrfVkey.mdx similarity index 100% rename from docs/pages/reference/modules/VrfVkey.mdx rename to docs/content/docs/modules/VrfVkey.mdx diff --git a/docs/pages/reference/modules/Withdrawals.mdx b/docs/content/docs/modules/Withdrawals.mdx similarity index 100% rename from docs/pages/reference/modules/Withdrawals.mdx rename to docs/content/docs/modules/Withdrawals.mdx diff --git a/docs/pages/reference/modules/_meta.json b/docs/content/docs/modules/_meta.json similarity index 100% rename from docs/pages/reference/modules/_meta.json rename to docs/content/docs/modules/_meta.json diff --git a/docs/pages/reference/modules/index.mdx b/docs/content/docs/modules/index.mdx similarity index 100% rename from docs/pages/reference/modules/index.mdx rename to docs/content/docs/modules/index.mdx diff --git a/docs/pages/reference/modules/utils/Hash.mdx b/docs/content/docs/modules/utils/Hash.mdx similarity index 100% rename from docs/pages/reference/modules/utils/Hash.mdx rename to docs/content/docs/modules/utils/Hash.mdx diff --git a/docs/examples/address.ts b/docs/examples/getting-started/address/address-format.ts similarity index 100% rename from docs/examples/address.ts rename to docs/examples/getting-started/address/address-format.ts diff --git a/docs/examples/data/basic-construction.ts b/docs/examples/getting-started/data/basic-construction.ts similarity index 100% rename from docs/examples/data/basic-construction.ts rename to docs/examples/getting-started/data/basic-construction.ts diff --git a/docs/examples/data/bytes-validate.ts b/docs/examples/getting-started/data/bytes-validate.ts similarity index 100% rename from docs/examples/data/bytes-validate.ts rename to docs/examples/getting-started/data/bytes-validate.ts index aae1d7b5..b34cfb06 100644 --- a/docs/examples/data/bytes-validate.ts +++ b/docs/examples/getting-started/data/bytes-validate.ts @@ -1,9 +1,9 @@ // @title: Validate bytes // @description: Quick check for hex-like bytes strings using Data.isBytes. +// #region main import assert from "node:assert/strict" import { Data } from "@evolution-sdk/evolution" -// #region main const hex = "deadbeef" assert.equal(Data.isBytes(hex), true) diff --git a/docs/examples/data/cbor-encoding-options.ts b/docs/examples/getting-started/data/cbor-encoding-options.ts similarity index 100% rename from docs/examples/data/cbor-encoding-options.ts rename to docs/examples/getting-started/data/cbor-encoding-options.ts index f1b13a3c..5c99f422 100644 --- a/docs/examples/data/cbor-encoding-options.ts +++ b/docs/examples/getting-started/data/cbor-encoding-options.ts @@ -1,9 +1,9 @@ // @title: CBOR Encoding Options // @description: Compare different CBOR encoding strategies for the same data. +// #region main import assert from "node:assert/strict" import { CBOR, Data } from "@evolution-sdk/evolution" -// #region main // Create complex data with unsorted elements (Maps should be standalone, not in constructor fields) const unsortedMap = new Map([ ["7a65627261", 1n], // 'zebra' in hex diff --git a/docs/examples/data/complex-nested-structures.ts b/docs/examples/getting-started/data/complex-nested-structures.ts similarity index 100% rename from docs/examples/data/complex-nested-structures.ts rename to docs/examples/getting-started/data/complex-nested-structures.ts index 4e49fd88..f416eacc 100644 --- a/docs/examples/data/complex-nested-structures.ts +++ b/docs/examples/getting-started/data/complex-nested-structures.ts @@ -1,9 +1,9 @@ // @title: Complex Nested Structures // @description: Build sophisticated nested data structures with multiple levels and types. +// #region main import assert from "node:assert/strict" import { Data } from "@evolution-sdk/evolution" -// #region main // Create a complex user profile with nested data using only valid Data types const userProfile = new Data.Constr({ index: 0n, // User constructor diff --git a/docs/examples/data.ts b/docs/examples/getting-started/data/data.ts similarity index 100% rename from docs/examples/data.ts rename to docs/examples/getting-started/data/data.ts diff --git a/docs/examples/data/error-handling-patterns.ts b/docs/examples/getting-started/data/error-handling-patterns.ts similarity index 96% rename from docs/examples/data/error-handling-patterns.ts rename to docs/examples/getting-started/data/error-handling-patterns.ts index 04822328..ce97ee61 100644 --- a/docs/examples/data/error-handling-patterns.ts +++ b/docs/examples/getting-started/data/error-handling-patterns.ts @@ -1,10 +1,9 @@ // @title: Error Handling Patterns // @description: Use Either patterns for safe data operations with proper error handling. +// #region main import assert from "node:assert/strict" -import { Either, pipe } from "effect" -import { Data } from "@evolution-sdk/evolution" +import { Data, Either, pipe } from "@evolution-sdk/evolution" -// #region main // Use built-in Either-based functions for safe operations const safeData = new Data.Constr({ index: 0n, fields: ["74657374", 42n] }) // 'test' as hex diff --git a/docs/examples/data/nested-canonical.ts b/docs/examples/getting-started/data/nested-canonical.ts similarity index 100% rename from docs/examples/data/nested-canonical.ts rename to docs/examples/getting-started/data/nested-canonical.ts index bebc7cc7..c06c3f9a 100644 --- a/docs/examples/data/nested-canonical.ts +++ b/docs/examples/getting-started/data/nested-canonical.ts @@ -1,9 +1,9 @@ // @title: Canonical nested structure // @description: Complex nested Data encoding with canonical CBOR options. +// #region main import assert from "node:assert/strict" import { CBOR, Data } from "@evolution-sdk/evolution" -// #region main const nestedUnsortedData = new Data.Constr({ index: 1n, fields: [ diff --git a/docs/examples/data/roundtrip.ts b/docs/examples/getting-started/data/roundtrip.ts similarity index 100% rename from docs/examples/data/roundtrip.ts rename to docs/examples/getting-started/data/roundtrip.ts index 72e72856..b0dba289 100644 --- a/docs/examples/data/roundtrip.ts +++ b/docs/examples/getting-started/data/roundtrip.ts @@ -1,9 +1,9 @@ // @title: Roundtrip encode/decode // @description: Encode a Data value to CBOR hex and decode back. +// #region main import assert from "node:assert/strict" import { CBOR, Data } from "@evolution-sdk/evolution" -// #region main const original = new Data.Constr({ index: 0n, fields: ["beef", 19n] }) const hexCbor = Data.toCBORHex(original, CBOR.CANONICAL_OPTIONS) const back = Data.fromCBORHex(hexCbor) diff --git a/docs/examples/data/working-with-maps.ts b/docs/examples/getting-started/data/working-with-maps.ts similarity index 100% rename from docs/examples/data/working-with-maps.ts rename to docs/examples/getting-started/data/working-with-maps.ts index 3ad66789..ec420b6e 100644 --- a/docs/examples/data/working-with-maps.ts +++ b/docs/examples/getting-started/data/working-with-maps.ts @@ -1,9 +1,9 @@ // @title: Working with Maps // @description: Create and manipulate Data Maps with key-value pairs. +// #region main import assert from "node:assert/strict" import { Data } from "@evolution-sdk/evolution" -// #region main // Create a simple map with hex string keys and integer values const userAges = new Map([ ["616c696365", 25n], // 'alice' in hex diff --git a/docs/lib/layout.shared.tsx b/docs/lib/layout.shared.tsx new file mode 100644 index 00000000..0c6d8a6b --- /dev/null +++ b/docs/lib/layout.shared.tsx @@ -0,0 +1,18 @@ +import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared'; + +/** + * Shared layout configurations + * + * you can customise layouts individually from: + * Home Layout: app/(home)/layout.tsx + * Docs Layout: app/docs/layout.tsx + */ +export function baseOptions(): BaseLayoutProps { + return { + nav: { + title: 'Evolution SDK', + }, + // see https://fumadocs.dev/docs/ui/navigation/links + links: [], + }; +} diff --git a/docs/lib/source.ts b/docs/lib/source.ts new file mode 100644 index 00000000..dedc4be8 --- /dev/null +++ b/docs/lib/source.ts @@ -0,0 +1,9 @@ +import { docs } from '@/.source'; +import { loader } from 'fumadocs-core/source'; + +// See https://fumadocs.vercel.app/docs/headless/source-api for more info +export const source = loader({ + // it assigns a URL to your pages + baseUrl: '/docs', + source: docs.toFumadocsSource(), +}); diff --git a/docs/mdx-components.tsx b/docs/mdx-components.tsx new file mode 100644 index 00000000..d3fbb13f --- /dev/null +++ b/docs/mdx-components.tsx @@ -0,0 +1,10 @@ +import defaultMdxComponents from 'fumadocs-ui/mdx'; +import type { MDXComponents } from 'mdx/types'; + +// use this function to get MDX components, you will need it for rendering MDX +export function getMDXComponents(components?: MDXComponents): MDXComponents { + return { + ...defaultMdxComponents, + ...components, + }; +} diff --git a/docs/next-env.d.ts b/docs/next-env.d.ts index a4a7b3f5..d39ca300 100644 --- a/docs/next-env.d.ts +++ b/docs/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/docs/next.config.mjs b/docs/next.config.mjs index 4fc6e987..bacf65ce 100644 --- a/docs/next.config.mjs +++ b/docs/next.config.mjs @@ -1,17 +1,21 @@ -import nextra from 'nextra' +import { createMDX } from "fumadocs-mdx/next" -// Configure Nextra v2.13 with top-level options -const withNextra = nextra({ -}) +const withMDX = createMDX() const isCI = !!process.env.GITHUB_ACTIONS -const isProd = process.env.NODE_ENV === 'production' - -export default withNextra({ +/** @type {import('next').NextConfig} */ +const config = { reactStrictMode: true, - trailingSlash: true, + // required for GitHub Pages static export output: 'export', distDir: 'out', - images: { unoptimized: true }, - basePath: isCI && isProd ? '/evolution-sdk' : '' -}) + // when running in CI for GitHub Pages, set basePath/assetPrefix + basePath: isCI ? '/evolution-sdk' : '', + assetPrefix: isCI ? '/evolution-sdk' : '', + trailingSlash: true, + images: { + unoptimized: true, + }, +} + +export default withMDX(config) diff --git a/docs/package.json b/docs/package.json index 593232ac..38887ffc 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,33 +1,34 @@ { - "name": "@evolution-sdk/docs", - "version": "0.1.0", + "name": "docs", + "version": "0.0.0", "private": true, "type": "module", - "description": "Documentation for Evolution SDK", "scripts": { - "dev": "next dev", "build": "next build", + "dev": "next dev --turbo", "start": "next start", - "export": "next build", "copy-evolution-docs": "tsx scripts/copy-evolution-docs.ts", - "snippets": "tsx scripts/generate-getting-started.ts", - "test-examples": "./scripts/run-examples-and-generate.sh", - "prebuild": "pnpm run copy-evolution-docs && pnpm run test-examples" + "generate-examples": "./scripts/run-examples-and-generate.sh", + "prebuild": "pnpm run copy-evolution-docs && pnpm run generate-examples", + "postinstall": "fumadocs-mdx" }, "dependencies": { - "next": "^15.5.0", - "nextra": "^4.4.0", - "nextra-theme-docs": "^4.4.0", + "fumadocs-core": "15.7.2", + "fumadocs-mdx": "11.8.0", + "fumadocs-ui": "15.7.2", + "next": "15.5.0", "react": "^19.1.1", "react-dom": "^19.1.1" }, "devDependencies": { "@evolution-sdk/evolution": "workspace:*", - "@types/node": "^24.3.0", + "@tailwindcss/postcss": "^4.1.12", + "@types/mdx": "^2.0.13", + "@types/node": "24.3.0", "@types/react": "^19.1.11", "@types/react-dom": "^19.1.7", - "effect": "^3.17.9", - "tsx": "^4.20.4", + "postcss": "^8.5.6", + "tailwindcss": "^4.1.12", "typescript": "^5.9.2" } -} +} \ No newline at end of file diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json deleted file mode 100644 index c6a8fa0c..00000000 --- a/docs/pages/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "Introduction", - "getting-started": "Getting Started" -} diff --git a/docs/pages/getting-started/data/bytes-validate.mdx b/docs/pages/getting-started/data/bytes-validate.mdx deleted file mode 100644 index 4941050c..00000000 --- a/docs/pages/getting-started/data/bytes-validate.mdx +++ /dev/null @@ -1,13 +0,0 @@ -# Validate bytes - -Quick check for hex-like bytes strings using Data.isBytes. - -```typescript -// #region main -const hex = "deadbeef" -assert.equal(Data.isBytes(hex), true) - -const invalid = "not-hex" -assert.equal(Data.isBytes(invalid), false) - -``` diff --git a/docs/pages/getting-started/data/index.mdx b/docs/pages/getting-started/data/index.mdx deleted file mode 100644 index 3104694c..00000000 --- a/docs/pages/getting-started/data/index.mdx +++ /dev/null @@ -1,10 +0,0 @@ -# Data Examples - -- [Basic Data Construction](/getting-started/data/basic-construction) -- [Validate bytes](/getting-started/data/bytes-validate) -- [CBOR Encoding Options](/getting-started/data/cbor-encoding-options) -- [Complex Nested Structures](/getting-started/data/complex-nested-structures) -- [Error Handling Patterns](/getting-started/data/error-handling-patterns) -- [Canonical nested structure](/getting-started/data/nested-canonical) -- [Roundtrip encode/decode](/getting-started/data/roundtrip) -- [Working with Maps](/getting-started/data/working-with-maps) diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx deleted file mode 100644 index 594e8aca..00000000 --- a/docs/pages/index.mdx +++ /dev/null @@ -1,16 +0,0 @@ -# Evolution SDK - -A comprehensive TypeScript SDK for Cardano blockchain development, built with Effect-TS. - -## Overview - -Evolution SDK provides a type-safe, functional programming approach to Cardano blockchain development. Built on top of Effect-TS - -## Architecture - -Evolution SDK is designed around functional programming principles: - -- **Immutable Data Structures** - All data types are immutable by default -- **Composable Operations** - Functions can be easily composed and chained -- **Error Handling** - Leverages Effect-TS for robust error management -- **Type Safety** - Comprehensive TypeScript definitions prevent runtime errors diff --git a/docs/postcss.config.mjs b/docs/postcss.config.mjs new file mode 100644 index 00000000..a34a3d56 --- /dev/null +++ b/docs/postcss.config.mjs @@ -0,0 +1,5 @@ +export default { + plugins: { + '@tailwindcss/postcss': {}, + }, +}; diff --git a/docs/scripts/copy-evolution-docs.ts b/docs/scripts/copy-evolution-docs.ts index 13263760..5f8e0949 100644 --- a/docs/scripts/copy-evolution-docs.ts +++ b/docs/scripts/copy-evolution-docs.ts @@ -4,7 +4,7 @@ import * as fs from "fs/promises" import * as path from "path" const sourceDir = path.resolve(process.cwd(), "../packages/evolution/docs/modules") -const targetDir = path.resolve(process.cwd(), "./pages/reference/modules") +const targetDir = path.resolve(process.cwd(), "./content/docs/modules") async function ensureDirectoryExists(dir: string) { try { @@ -114,4 +114,4 @@ async function main() { } } -main() +main() \ No newline at end of file diff --git a/docs/scripts/generate-getting-started.ts b/docs/scripts/generate-mdx-examples.ts similarity index 52% rename from docs/scripts/generate-getting-started.ts rename to docs/scripts/generate-mdx-examples.ts index 79cc516e..58250b47 100644 --- a/docs/scripts/generate-getting-started.ts +++ b/docs/scripts/generate-mdx-examples.ts @@ -21,7 +21,9 @@ const __dirname = path.dirname(__filename) // docs/ directory const DOCS_ROOT = path.resolve(__dirname, "..") const EXAMPLES_DIR = path.resolve(DOCS_ROOT, "examples") -const PAGES_DIR = path.resolve(DOCS_ROOT, "pages/getting-started") +// write generated pages into content/docs/getting-started so they integrate with fumadocs-mdx +const PAGES_DIR = path.resolve(DOCS_ROOT, "content/docs") +const GETTING_STARTED_DIR = path.join(PAGES_DIR, "getting-started") interface SnippetAttributes { file?: string @@ -97,6 +99,35 @@ interface MatchInfo { /** Replace all snippet blocks in an MDX file */ async function processMdxFile(mdxPath: string): Promise { let mdx = await fs.readFile(mdxPath, "utf8") + // Ensure valid YAML frontmatter with a string `title` exists for fumadocs-mdx + try { + const fileName = path.basename(mdxPath).replace(/\.mdx?$/i, "") + const defaultTitle = toTitleCase(fileName) + + // If frontmatter exists, validate/insert title if missing or invalid + const fmMatch = mdx.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/) + if (fmMatch) { + const fmContent = fmMatch[1] + const titleMatch = fmContent.match(/(^|\n)title:\s*(?:"([^"]*)"|'([^']*)'|([^\n]+))/) + const hasValidTitle = Boolean(titleMatch && (titleMatch[2] || titleMatch[3] || titleMatch[4])) + if (!hasValidTitle) { + // prepend a title line to existing frontmatter + const safe = defaultTitle.replace(/"/g, '\\"') + const newFm = `title: "${safe}"\n${fmContent}` + mdx = `---\n${newFm}\n---\n` + mdx.slice(fmMatch[0].length) + } + } else { + // No frontmatter — try to extract first H1 as title + const h1 = mdx.match(/^\s*#\s+(.+)$/m)?.[1] + const safe = (h1 ? h1 : defaultTitle).replace(/"/g, '\\"') + const fm = `---\ntitle: "${safe}"\n---\n\n` + mdx = fm + mdx + } + } catch (err: unknown) { + // don't fail processing for frontmatter fixes; continue + const msg = err instanceof Error ? err.message : String(err) + console.error(`Warning: failed to normalize frontmatter for ${mdxPath}: ${msg}`) + } // Support both HTML comments and MDX comments for snippet markers const beginPatterns = [ { type: "html" as const, re: //g, endRe: // }, @@ -147,32 +178,65 @@ async function processMdxFile(mdxPath: string): Promise { return true } +// Recursively find all .mdx files under a directory +async function findMdxFiles(dir: string): Promise { + const results: string[] = [] + async function walk(current: string) { + let entries: import('fs').Dirent[] = [] + try { + entries = await fs.readdir(current, { withFileTypes: true }) + } catch { + return + } + for (const e of entries) { + const p = path.join(current, e.name) + if (e.isDirectory()) { + await walk(p) + } else if (e.isFile() && p.endsWith('.mdx')) { + results.push(p) + } + } + } + await walk(dir) + return results +} + async function main() { - // 1) Replace inline snippet blocks in existing MDX files - const pages = await fs.readdir(PAGES_DIR) - const mdxFiles = pages.filter((f) => f.endsWith(".mdx")) + // Clean content/docs but preserve the modules directory + await cleanPagesExceptModules() + + // Ensure getting-started output dir exists + try { + await fs.rm(GETTING_STARTED_DIR, { recursive: true, force: true }) + console.log(`Cleaned existing directory: ${GETTING_STARTED_DIR}`) + } catch (e) { + // ignore + } + await fs.mkdir(GETTING_STARTED_DIR, { recursive: true }) + let changed = 0 - for (const f of mdxFiles) { - const p = path.join(PAGES_DIR, f) - const did = await processMdxFile(p).catch((err) => { - console.error(`Error processing ${f}:`, err.message) + + // 2) Auto-generate pages by mirroring the examples/ directory recursively + const created = await generateFromExamples(EXAMPLES_DIR, "").catch((err: unknown) => { + const msg = err instanceof Error ? err.message : String(err) + console.error(`Error generating examples:`, msg) + process.exitCode = 1 + return 0 + }) + if (created > 0) changed += created + + // After generation, replace any inline snippet markers in the newly created MDX files + const mdxPaths = await findMdxFiles(GETTING_STARTED_DIR) + for (const p of mdxPaths) { + const did = await processMdxFile(p).catch((err: unknown) => { + const msg = err instanceof Error ? err.message : String(err) + console.error(`Error processing ${p}:`, msg) process.exitCode = 1 return false }) if (did) changed++ } - // 2) Auto-generate grouped example pages if folders exist under examples/ - const groups = await listGroups(EXAMPLES_DIR) - for (const g of groups) { - const created = await generateGroupPages(g).catch((err) => { - console.error(`Error generating group '${g}':`, err.message) - process.exitCode = 1 - return 0 - }) - if (created > 0) changed += created - } - console.log(`Snippet generation complete. Updated ${changed} file(s).`) } @@ -188,6 +252,34 @@ async function listGroups(baseDir: string): Promise { } } +/** + * Remove all files and directories under PAGES_DIR except the 'modules' directory. + * This is intentionally conservative: it will only remove direct children of PAGES_DIR + * except when the child is named 'modules'. + */ +async function cleanPagesExceptModules() { + try { + const entries = await fs.readdir(PAGES_DIR, { withFileTypes: true }) + for (const e of entries) { + const name = e.name + // Preserve important top-level files/directories. + // Don't remove the 'modules' folder and keep a root index.mdx if present. + if (name === "modules" || name === "index.mdx") continue + const target = path.join(PAGES_DIR, name) + try { + await fs.rm(target, { recursive: true, force: true }) + console.log(`Removed: ${target}`) + } catch (err: unknown) { + const msg = err instanceof Error ? err.message : String(err) + console.error(`Failed to remove ${target}: ${msg}`) + } + } + } catch (err: unknown) { + const msg = err instanceof Error ? err.message : String(err) + console.error(`Failed to clean pages dir ${PAGES_DIR}: ${msg}`) + } +} + function toTitleCase(s: string): string { return s .replace(/[-_]+/g, " ") @@ -268,7 +360,16 @@ async function generateGroupPages(groupName: string): Promise { const desc = extractDirective(content, "description") const slug = toSlug(f.replace(/\.(ts|tsx)$/i, "")) - const mdx = [`# ${title}`, "", ...(desc ? [desc, ""] : []), "```typescript", code, "```", ""].join("\n") + // Produce MDX with YAML frontmatter required by fumadocs-mdx + const frontmatter = [ + '---', + `title: "${title.replace(/"/g, '\\"') }"`, + ...(desc ? [`description: "${desc.replace(/"/g, '\\"')}"`] : []), + '---', + '' + ].join('\n') + + const mdx = [frontmatter, '```typescript', code, '```', ''].join('\n') const outFile = path.join(outDir, `${slug}.mdx`) let shouldWrite = true @@ -310,3 +411,105 @@ async function generateGroupPages(groupName: string): Promise { return created + wroteIndex } + +/** + * Recursively mirror the examples directory structure into PAGES_DIR. + * For each directory, create an index.mdx listing files and subdirectories. + * For each .ts/.tsx file, create a corresponding .mdx with frontmatter and the example code. + */ +async function generateFromExamples(srcDir: string, relativeOutDir: string): Promise { + let created = 0 + const absSrc = path.join(srcDir, relativeOutDir) + let entries: import('fs').Dirent[] = [] + try { + entries = await fs.readdir(absSrc, { withFileTypes: true }) + } catch { + return 0 + } + + const outDir = path.join(PAGES_DIR, relativeOutDir) + await fs.mkdir(outDir, { recursive: true }) + + const files: string[] = [] + const dirs: string[] = [] + for (const e of entries) { + if (e.isDirectory()) dirs.push(e.name) + else if (e.isFile() && (e.name.endsWith('.ts') || e.name.endsWith('.tsx'))) files.push(e.name) + } + + // Create MDX for each file + for (const f of files) { + const abs = path.join(absSrc, f) + const content = await readText(abs) + const code = await getExampleCodeForFile(abs) + const title = extractDirective(content, 'title') || toTitleCase(f.replace(/\.(ts|tsx)$/i, '')) + const desc = extractDirective(content, 'description') + const slug = toSlug(f.replace(/\.(ts|tsx)$/i, '')) + + const frontmatter = [ + '---', + `title: "${title.replace(/"/g, '\\"') }"`, + ...(desc ? [`description: "${desc.replace(/"/g, '\\"')}"`] : []), + '---', + '' + ].join('\n') + + const mdx = [frontmatter, '```typescript', code, '```', ''].join('\n') + const outFile = path.join(outDir, `${slug}.mdx`) + let shouldWrite = true + try { + const existing = await fs.readFile(outFile, 'utf8') + if (existing === mdx) shouldWrite = false + } catch {} + if (shouldWrite) { + await fs.writeFile(outFile, mdx) + created++ + } + } + + // Recurse into subdirectories + for (const d of dirs) { + const subCreated = await generateFromExamples(srcDir, path.join(relativeOutDir, d)) + created += subCreated + } + + // Create or refresh index.mdx for this directory (skip root-level index to avoid top-level "Examples") + if (relativeOutDir !== '') { + const indexTitle = toTitleCase(path.basename(relativeOutDir || srcDir)) || 'Examples' + const indexLines: string[] = [] + // YAML frontmatter with title required by fumadocs-mdx + indexLines.push('---') + indexLines.push(`title: "${indexTitle.replace(/"/g, '\\"') }"`) + indexLines.push('---') + indexLines.push('') + indexLines.push(`# ${indexTitle}`) + indexLines.push('') + for (const d of dirs) { + indexLines.push(`- [${toTitleCase(d)}](/${path.join(path.relative(path.join(DOCS_ROOT, 'pages'), path.join(outDir, d)).replace(/\\/g, '/'))})`) + } + for (const f of files) { + const name = f.replace(/\.(ts|tsx)$/i, '') + const title = extractDirective(await readText(path.join(absSrc, f)), 'title') || toTitleCase(name) + const slug = toSlug(name) + indexLines.push(`- [${title}](/${path.relative(path.join(DOCS_ROOT, 'pages'), path.join(outDir, slug)).replace(/\\/g, '/')})`) + } + indexLines.push('') + + const indexPath = path.join(outDir, 'index.mdx') + const indexContent = indexLines.join('\n') + try { + const existing = await fs.readFile(indexPath, 'utf8') + if (existing !== indexContent) { + await fs.writeFile(indexPath, indexContent) + created++ + } + } catch { + await fs.writeFile(indexPath, indexContent) + created++ + } + } else { + // Skipping creation of top-level index.mdx to avoid an "Examples" top-level menu. + } + + return created +} \ No newline at end of file diff --git a/docs/scripts/run-examples-and-generate.sh b/docs/scripts/run-examples-and-generate.sh index 0a345b79..c4bd9ac8 100755 --- a/docs/scripts/run-examples-and-generate.sh +++ b/docs/scripts/run-examples-and-generate.sh @@ -29,30 +29,27 @@ run_example() { fi } -# Function to run examples in a directory -run_examples_in_dir() { - local dir="$1" +# Function to run examples found by a recursive find +run_examples_recursive() { + local root="$1" local failures=0 - - if [[ -d "$dir" ]]; then - echo "" - echo "📁 Running examples in: ${dir#$EXAMPLES_DIR/}" - echo "-------------------------------------------" - - # Find all .ts files in the directory - while IFS= read -r -d '' file; do - if ! run_example "$file"; then - ((failures++)) - fi - done < <(find "$dir" -name "*.ts" -type f -print0 | sort -z) - - if [[ $failures -gt 0 ]]; then - echo "❌ $failures example(s) failed in ${dir#$EXAMPLES_DIR/}" - return 1 - else - echo "✅ All examples passed in ${dir#$EXAMPLES_DIR/}" - return 0 + echo "" + echo "📁 Running all examples under: ${root#$EXAMPLES_DIR/} (recursively)" + echo "----------------------------------------------------------------" + + # Find all .ts and .tsx files recursively + while IFS= read -r -d '' file; do + if ! run_example "$file"; then + ((failures++)) fi + done < <(find "$root" -type f \( -name "*.ts" -o -name "*.tsx" \) -print0 | sort -z) + + if [[ $failures -gt 0 ]]; then + echo "❌ $failures example(s) failed under ${root#$EXAMPLES_DIR/}" + return 1 + else + echo "✅ All examples passed under ${root#$EXAMPLES_DIR/}" + return 0 fi } @@ -62,39 +59,16 @@ main() { # Change to docs directory cd "$DOCS_DIR" + + # Note: do not build docs here; just run examples then the generator - # Run individual example files in root examples directory - if [[ -d "$EXAMPLES_DIR" ]]; then - echo "" - echo "📄 Running individual examples..." - echo "--------------------------------" - - local found_individual=0 - while IFS= read -r -d '' file; do - found_individual=1 - if ! run_example "$file"; then - ((total_failures++)) - fi - done < <(find "$EXAMPLES_DIR" -maxdepth 1 -name "*.ts" -type f -print0 | sort -z) - - if [[ $found_individual -eq 0 ]]; then - echo "ℹ️ No individual examples found" - fi - fi - - # Run examples in subdirectories (like data/, address/, etc.) + # Run all examples recursively under examples/ (includes nested folders) if [[ -d "$EXAMPLES_DIR" ]]; then - local found_dirs=0 - while IFS= read -r -d '' dir; do - found_dirs=1 - if ! run_examples_in_dir "$dir"; then - ((total_failures++)) - fi - done < <(find "$EXAMPLES_DIR" -mindepth 1 -maxdepth 1 -type d -print0 | sort -z) - - if [[ $found_dirs -eq 0 ]]; then - echo "ℹ️ No example directories found" + if ! run_examples_recursive "$EXAMPLES_DIR"; then + ((total_failures++)) fi + else + echo "ℹ️ No examples directory found" fi echo "" @@ -106,9 +80,9 @@ main() { echo "" echo "🔄 Generating MDX documentation..." echo "--------------------------------" - - # Run the snippet generation script - if pnpm exec tsx "scripts/generate-getting-started.ts"; then + + # Run the snippet generation script (new generator) + if pnpm exec tsx "scripts/generate-mdx-examples.ts"; then echo "✅ MDX documentation generated successfully!" echo "" echo "🎉 Documentation build complete!" @@ -128,4 +102,4 @@ main() { trap 'echo ""; echo "⚠️ Script interrupted"; exit 130' INT # Run main function -main "$@" +main "$@" \ No newline at end of file diff --git a/docs/source.config.ts b/docs/source.config.ts new file mode 100644 index 00000000..e989c751 --- /dev/null +++ b/docs/source.config.ts @@ -0,0 +1,23 @@ +import { + defineConfig, + defineDocs, + frontmatterSchema, + metaSchema, +} from 'fumadocs-mdx/config'; + +// You can customise Zod schemas for frontmatter and `meta.json` here +// see https://fumadocs.dev/docs/mdx/collections#define-docs +export const docs = defineDocs({ + docs: { + schema: frontmatterSchema, + }, + meta: { + schema: metaSchema, + }, +}); + +export default defineConfig({ + mdxOptions: { + // MDX options + }, +}); diff --git a/docs/theme.config.tsx b/docs/theme.config.tsx deleted file mode 100644 index 0a4d18d3..00000000 --- a/docs/theme.config.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from "react" -import { DocsThemeConfig } from "nextra-theme-docs" - -const config: DocsThemeConfig = { - logo: Evolution SDK, - project: { - link: "https://github.com/no-witness-labs/evolution-sdk" - }, - chat: { - link: "https://discord.gg/your-discord" // Replace with actual Discord link - }, - docsRepositoryBase: "https://github.com/no-witness-labs/evolution-sdk/tree/main/docs", - footer: { - text: "Evolution SDK Documentation" - }, - useNextSeoProps() { - return { - titleTemplate: "%s – Evolution SDK" - } - }, - head: ( - <> - - - - - ) -} - -export default config diff --git a/docs/tsconfig.json b/docs/tsconfig.json index 7d3b5948..5811cd0e 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -1,7 +1,12 @@ { "compilerOptions": { - "target": "es2020", - "lib": ["dom", "dom.iterable", "es2020"], + "baseUrl": ".", + "target": "ESNext", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -9,23 +14,33 @@ "noEmit": true, "esModuleInterop": true, "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", "incremental": true, + "paths": { + "@/.source": [ + "./.source/index.ts" + ], + "@/*": [ + "./*" + ] + }, "plugins": [ { "name": "next" } - ], - "baseUrl": ".", - "paths": { - "@/*": ["./*"], - "@evolution-sdk/evolution": ["../packages/evolution/src"], - "@evolution-sdk/evolution/*": ["../packages/evolution/src/*"] - } + ] }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "scripts/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + "next-env.d.ts", + "out/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] } diff --git a/docs/vitest.config.ts b/docs/vitest.config.ts deleted file mode 100644 index d367386a..00000000 --- a/docs/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from "vitest/config" - -export default defineConfig({ - test: { - globals: true, - environment: "node", - testTimeout: 10000 - }, - resolve: { - alias: { - "@evolution-sdk/evolution": "../packages/evolution/src" - } - } -}) diff --git a/packages/evolution/src/index.ts b/packages/evolution/src/index.ts index 21abf718..470da154 100644 --- a/packages/evolution/src/index.ts +++ b/packages/evolution/src/index.ts @@ -113,3 +113,4 @@ export * as VrfCert from "./VrfCert.js" export * as VrfKeyHash from "./VrfKeyHash.js" export * as VrfVkey from "./VrfVkey.js" export * as Withdrawals from "./Withdrawals.js" +export { Effect, Either, pipe, Schema } from "effect" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 773e2e65..f096c7f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,10 +28,10 @@ importers: version: 0.3.2 '@effect/vitest': specifier: ^0.25.1 - version: 0.25.1(effect@3.17.9)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1)) + version: 0.25.1(effect@3.17.9)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1)) '@eslint/compat': specifier: ^1.3.2 - version: 1.3.2(eslint@9.34.0) + version: 1.3.2(eslint@9.34.0(jiti@2.5.1)) '@eslint/eslintrc': specifier: ^3.3.1 version: 3.3.1 @@ -46,31 +46,31 @@ importers: version: 24.3.0 '@typescript-eslint/eslint-plugin': specifier: ^8.40.0 - version: 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)(typescript@5.9.2) + version: 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.40.0 - version: 8.40.0(eslint@9.34.0)(typescript@5.9.2) + version: 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/coverage-v8': specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1)) + version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1)) babel-plugin-annotate-pure-calls: specifier: ^0.5.0 version: 0.5.0(@babel/core@7.28.3) eslint: specifier: ^9.34.0 - version: 9.34.0 + version: 9.34.0(jiti@2.5.1) eslint-import-resolver-typescript: specifier: ^4.4.4 - version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0) + version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@2.5.1)) eslint-plugin-import: specifier: ^2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0) + version: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@2.5.1)) eslint-plugin-simple-import-sort: specifier: ^12.1.1 - version: 12.1.1(eslint@9.34.0) + version: 12.1.1(eslint@9.34.0(jiti@2.5.1)) eslint-plugin-sort-destructure-keys: specifier: ^2.0.0 - version: 2.0.0(eslint@9.34.0) + version: 2.0.0(eslint@9.34.0(jiti@2.5.1)) madge: specifier: ^8.0.0 version: 8.0.0(typescript@5.9.2) @@ -91,19 +91,22 @@ importers: version: 5.9.2 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) docs: dependencies: + fumadocs-core: + specifier: 15.7.2 + version: 15.7.2(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + fumadocs-mdx: + specifier: 11.8.0 + version: 11.8.0(acorn@8.15.0)(fumadocs-core@15.7.2(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1)) + fumadocs-ui: + specifier: 15.7.2 + version: 15.7.2(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(tailwindcss@4.1.12) next: - specifier: ^15.5.0 + specifier: 15.5.0 version: 15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - nextra: - specifier: ^4.4.0 - version: 4.4.0(acorn@8.15.0)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) - nextra-theme-docs: - specifier: ^4.4.0 - version: 4.4.0(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(nextra@4.4.0(acorn@8.15.0)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) react: specifier: ^19.1.1 version: 19.1.1 @@ -114,8 +117,14 @@ importers: '@evolution-sdk/evolution': specifier: workspace:* version: link:../packages/evolution + '@tailwindcss/postcss': + specifier: ^4.1.12 + version: 4.1.12 + '@types/mdx': + specifier: ^2.0.13 + version: 2.0.13 '@types/node': - specifier: ^24.3.0 + specifier: 24.3.0 version: 24.3.0 '@types/react': specifier: ^19.1.11 @@ -123,12 +132,12 @@ importers: '@types/react-dom': specifier: ^19.1.7 version: 19.1.7(@types/react@19.1.11) - effect: - specifier: ^3.17.9 - version: 3.17.9 - tsx: - specifier: ^4.20.4 - version: 4.20.4 + postcss: + specifier: ^8.5.6 + version: 8.5.6 + tailwindcss: + specifier: ^4.1.12 + version: 4.1.12 typescript: specifier: ^5.9.2 version: 5.9.2 @@ -187,16 +196,14 @@ importers: packages: + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/install-pkg@1.1.0': - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@babel/cli@7.28.3': resolution: {integrity: sha512-n1RU5vuCX0CsaqaXm9I0KUCNKNQMy5epmzl/xdSSm70bSqhg9GWhgeosypyQLc0bK24+Xpk1WGzZlI9pJtkZdg==} engines: {node: '>=6.9.0'} @@ -286,9 +293,6 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@braintree/sanitize-url@7.1.1': - resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} @@ -350,21 +354,6 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@chevrotain/cst-dts-gen@11.0.3': - resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} - - '@chevrotain/gast@11.0.3': - resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} - - '@chevrotain/regexp-to-ast@11.0.3': - resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - - '@chevrotain/types@11.0.3': - resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} - - '@chevrotain/utils@11.0.3': - resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -693,12 +682,6 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.28': - resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} @@ -714,13 +697,6 @@ packages: engines: {node: '>=6'} hasBin: true - '@headlessui/react@2.2.7': - resolution: {integrity: sha512-WKdTymY8Y49H8/gUc/lIyYK1M+/6dq0Iywh4zTZVAaiTDprRfioxSgD0wnXTQTBpjpGJuTL1NO/mqEvc//5SSg==} - engines: {node: '>=10'} - peerDependencies: - react: ^18 || ^19 || ^19.0.0-rc - react-dom: ^18 || ^19 || ^19.0.0-rc - '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -741,12 +717,6 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - - '@iconify/utils@2.3.0': - resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} - '@img/sharp-darwin-arm64@0.34.3': resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -890,6 +860,10 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -897,6 +871,9 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -922,9 +899,6 @@ packages: '@mdx-js/mdx@3.1.0': resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} - '@mermaid-js/parser@0.6.2': - resolution: {integrity: sha512-+PO02uGF6L6Cs0Bw8RpGhikVvMWEysfAyl27qTlroUB8jSWr1lL0Sf6zi78ZxlSnmgSY2AMMKVgghnN9jTtwkQ==} - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==} cpu: [arm64] @@ -955,100 +929,6 @@ packages: cpu: [x64] os: [win32] - '@napi-rs/simple-git-android-arm-eabi@0.1.22': - resolution: {integrity: sha512-JQZdnDNm8o43A5GOzwN/0Tz3CDBQtBUNqzVwEopm32uayjdjxev1Csp1JeaqF3v9djLDIvsSE39ecsN2LhCKKQ==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - - '@napi-rs/simple-git-android-arm64@0.1.22': - resolution: {integrity: sha512-46OZ0SkhnvM+fapWjzg/eqbJvClxynUpWYyYBn4jAj7GQs1/Yyc8431spzDmkA8mL0M7Xo8SmbkzTDE7WwYAfg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@napi-rs/simple-git-darwin-arm64@0.1.22': - resolution: {integrity: sha512-zH3h0C8Mkn9//MajPI6kHnttywjsBmZ37fhLX/Fiw5XKu84eHA6dRyVtMzoZxj6s+bjNTgaMgMUucxPn9ktxTQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@napi-rs/simple-git-darwin-x64@0.1.22': - resolution: {integrity: sha512-GZN7lRAkGKB6PJxWsoyeYJhh85oOOjVNyl+/uipNX8bR+mFDCqRsCE3rRCFGV9WrZUHXkcuRL2laIRn7lLi3ag==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@napi-rs/simple-git-freebsd-x64@0.1.22': - resolution: {integrity: sha512-xyqX1C5I0WBrUgZONxHjZH5a4LqQ9oki3SKFAVpercVYAcx3pq6BkZy1YUOP4qx78WxU1CCNfHBN7V+XO7D99A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.22': - resolution: {integrity: sha512-4LOtbp9ll93B9fxRvXiUJd1/RM3uafMJE7dGBZGKWBMGM76+BAcCEUv2BY85EfsU/IgopXI6n09TycRfPWOjxA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@napi-rs/simple-git-linux-arm64-gnu@0.1.22': - resolution: {integrity: sha512-GVOjP/JjCzbQ0kSqao7ctC/1sodVtv5VF57rW9BFpo2y6tEYPCqHnkQkTpieuwMNe+TVOhBUC1+wH0d9/knIHg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@napi-rs/simple-git-linux-arm64-musl@0.1.22': - resolution: {integrity: sha512-MOs7fPyJiU/wqOpKzAOmOpxJ/TZfP4JwmvPad/cXTOWYwwyppMlXFRms3i98EU3HOazI/wMU2Ksfda3+TBluWA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@napi-rs/simple-git-linux-ppc64-gnu@0.1.22': - resolution: {integrity: sha512-L59dR30VBShRUIZ5/cQHU25upNgKS0AMQ7537J6LCIUEFwwXrKORZKJ8ceR+s3Sr/4jempWVvMdjEpFDE4HYww==} - engines: {node: '>= 10'} - cpu: [ppc64] - os: [linux] - - '@napi-rs/simple-git-linux-s390x-gnu@0.1.22': - resolution: {integrity: sha512-4FHkPlCSIZUGC6HiADffbe6NVoTBMd65pIwcd40IDbtFKOgFMBA+pWRqKiQ21FERGH16Zed7XHJJoY3jpOqtmQ==} - engines: {node: '>= 10'} - cpu: [s390x] - os: [linux] - - '@napi-rs/simple-git-linux-x64-gnu@0.1.22': - resolution: {integrity: sha512-Ei1tM5Ho/dwknF3pOzqkNW9Iv8oFzRxE8uOhrITcdlpxRxVrBVptUF6/0WPdvd7R9747D/q61QG/AVyWsWLFKw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@napi-rs/simple-git-linux-x64-musl@0.1.22': - resolution: {integrity: sha512-zRYxg7it0p3rLyEJYoCoL2PQJNgArVLyNavHW03TFUAYkYi5bxQ/UFNVpgxMaXohr5yu7qCBqeo9j4DWeysalg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@napi-rs/simple-git-win32-arm64-msvc@0.1.22': - resolution: {integrity: sha512-XGFR1fj+Y9cWACcovV2Ey/R2xQOZKs8t+7KHPerYdJ4PtjVzGznI4c2EBHXtdOIYvkw7tL5rZ7FN1HJKdD5Quw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@napi-rs/simple-git-win32-ia32-msvc@0.1.22': - resolution: {integrity: sha512-Gqr9Y0gs6hcNBA1IXBpoqTFnnIoHuZGhrYqaZzEvGMLrTrpbXrXVEtX3DAAD2RLc1b87CPcJ49a7sre3PU3Rfw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@napi-rs/simple-git-win32-x64-msvc@0.1.22': - resolution: {integrity: sha512-hQjcreHmUcpw4UrtkOron1/TQObfe484lxiXFLLUj7aWnnnOVs1mnXq5/Bo9+3NYZldFpFRJPdPBeHCisXkKJg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@napi-rs/simple-git@0.1.22': - resolution: {integrity: sha512-bMVoAKhpjTOPHkW/lprDPwv5aD4R4C3Irt8vn+SKA9wudLe9COLxOhurrKRsxmZccUbWXRF7vukNeGUAj5P8kA==} - engines: {node: '>= 10'} - '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} @@ -1126,6 +1006,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@orama/orama@3.1.11': + resolution: {integrity: sha512-Szki0cgFiXE5F9RLx2lUyEtJllnuCSQ4B8RLDwIjXkVit6qZjoDAxH+xhJs29MjKLDz0tbPLdKFa6QrQ/qoGGA==} + engines: {node: '>= 20.0.0'} + '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} @@ -1242,111 +1126,430 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@react-aria/focus@3.21.0': - resolution: {integrity: sha512-7NEGtTPsBy52EZ/ToVKCu0HSelE3kq9qeis+2eEq90XSuJOMaDHUQrA7RC2Y89tlEwQB31bud/kKRi9Qme1dkA==} + '@radix-ui/number@1.1.1': + resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} + + '@radix-ui/primitive@1.1.3': + resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} + + '@radix-ui/react-accordion@1.2.12': + resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@react-aria/interactions@3.25.4': - resolution: {integrity: sha512-HBQMxgUPHrW8V63u9uGgBymkMfj6vdWbB0GgUJY49K9mBKMsypcHeWkWM6+bF7kxRO728/IK8bWDV6whDbqjHg==} + '@radix-ui/react-arrow@1.1.7': + resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@react-aria/ssr@3.9.10': - resolution: {integrity: sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==} - engines: {node: '>= 12'} + '@radix-ui/react-collapsible@1.1.12': + resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@react-aria/utils@3.30.0': - resolution: {integrity: sha512-ydA6y5G1+gbem3Va2nczj/0G0W7/jUVo/cbN10WA5IizzWIwMP5qhFr7macgbKfHMkZ+YZC3oXnt2NNre5odKw==} + '@radix-ui/react-collection@1.1.7': + resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@react-stately/flags@3.1.2': - resolution: {integrity: sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==} + '@radix-ui/react-compose-refs@1.1.2': + resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-stately/utils@3.10.8': - resolution: {integrity: sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g==} + '@radix-ui/react-context@1.1.2': + resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-types/shared@3.31.0': - resolution: {integrity: sha512-ua5U6V66gDcbLZe4P2QeyNgPp4YWD1ymGA6j3n+s8CGExtrCPe64v+g4mvpT8Bnb985R96e4zFT61+m0YCwqMg==} + '@radix-ui/react-dialog@1.1.15': + resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-android-arm-eabi@4.47.1': - resolution: {integrity: sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==} - cpu: [arm] - os: [android] + '@radix-ui/react-direction@1.1.1': + resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@rollup/rollup-android-arm64@4.47.1': - resolution: {integrity: sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==} - cpu: [arm64] - os: [android] + '@radix-ui/react-dismissable-layer@1.1.11': + resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-darwin-arm64@4.47.1': - resolution: {integrity: sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==} - cpu: [arm64] - os: [darwin] + '@radix-ui/react-focus-guards@1.1.3': + resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@rollup/rollup-darwin-x64@4.47.1': - resolution: {integrity: sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==} - cpu: [x64] - os: [darwin] + '@radix-ui/react-focus-scope@1.1.7': + resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-freebsd-arm64@4.47.1': - resolution: {integrity: sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==} - cpu: [arm64] - os: [freebsd] + '@radix-ui/react-id@1.1.1': + resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@rollup/rollup-freebsd-x64@4.47.1': - resolution: {integrity: sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==} - cpu: [x64] - os: [freebsd] + '@radix-ui/react-navigation-menu@1.2.14': + resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.47.1': - resolution: {integrity: sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==} - cpu: [arm] - os: [linux] + '@radix-ui/react-popover@1.1.15': + resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-arm-musleabihf@4.47.1': - resolution: {integrity: sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==} - cpu: [arm] - os: [linux] + '@radix-ui/react-popper@1.2.8': + resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-arm64-gnu@4.47.1': - resolution: {integrity: sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==} - cpu: [arm64] - os: [linux] + '@radix-ui/react-portal@1.1.9': + resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-arm64-musl@4.47.1': - resolution: {integrity: sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==} - cpu: [arm64] - os: [linux] + '@radix-ui/react-presence@1.1.5': + resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.47.1': - resolution: {integrity: sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==} - cpu: [loong64] - os: [linux] + '@radix-ui/react-primitive@2.1.3': + resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-ppc64-gnu@4.47.1': - resolution: {integrity: sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==} - cpu: [ppc64] - os: [linux] + '@radix-ui/react-roving-focus@1.1.11': + resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-riscv64-gnu@4.47.1': - resolution: {integrity: sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==} - cpu: [riscv64] - os: [linux] + '@radix-ui/react-scroll-area@1.2.10': + resolution: {integrity: sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@rollup/rollup-linux-riscv64-musl@4.47.1': - resolution: {integrity: sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==} - cpu: [riscv64] + '@radix-ui/react-slot@1.2.3': + resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-tabs@1.1.13': + resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.1': + resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.2.2': + resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-escape-keydown@1.1.1': + resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-previous@1.1.1': + resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-rect@1.1.1': + resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-size@1.1.1': + resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-visually-hidden@1.2.3': + resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/rect@1.1.1': + resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} + + '@rollup/rollup-android-arm-eabi@4.47.1': + resolution: {integrity: sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.47.1': + resolution: {integrity: sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.47.1': + resolution: {integrity: sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.47.1': + resolution: {integrity: sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.47.1': + resolution: {integrity: sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.47.1': + resolution: {integrity: sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.47.1': + resolution: {integrity: sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.47.1': + resolution: {integrity: sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.47.1': + resolution: {integrity: sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.47.1': + resolution: {integrity: sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.47.1': + resolution: {integrity: sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.47.1': + resolution: {integrity: sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.47.1': + resolution: {integrity: sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.47.1': + resolution: {integrity: sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==} + cpu: [riscv64] os: [linux] '@rollup/rollup-linux-s390x-gnu@4.47.1': @@ -1403,13 +1606,14 @@ packages: '@shikijs/langs@3.11.0': resolution: {integrity: sha512-Njg/nFL4HDcf/ObxcK2VeyidIq61EeLmocrwTHGGpOQx0BzrPWM1j55XtKQ1LvvDWH15cjQy7rg96aJ1/l63uw==} + '@shikijs/rehype@3.11.0': + resolution: {integrity: sha512-4njEqPBoFn+fsQqSOEw8OjiIIg52jBM0I2qRC1NALFFmQm97qZuQvP570RI94HvAfzCT6agG6ZFBPofrNZ4tlQ==} + '@shikijs/themes@3.11.0': resolution: {integrity: sha512-BhhWRzCTEk2CtWt4S4bgsOqPJRkapvxdsifAwqP+6mk5uxboAQchc0etiJ0iIasxnMsb764qGD24DK9albcU9Q==} - '@shikijs/twoslash@3.11.0': - resolution: {integrity: sha512-/mYrydaKDr5vwlgFbcaGOvYHds3oceIpru4eVWVvScOC6XbWx9lbYCVhyGtlgHlF1m5rZkAR6sdNAPKeDGKOAw==} - peerDependencies: - typescript: '>=5.5.0' + '@shikijs/transformers@3.11.0': + resolution: {integrity: sha512-fhSpVoq0FoCtKbBpzE3mXcIbr0b7ozFDSSWiVjWrQy+wrOfaFfwxgJqh8kY3Pbv/i+4pcuMIVismLD2MfO62eQ==} '@shikijs/types@3.11.0': resolution: {integrity: sha512-RB7IMo2E7NZHyfkqAuaf4CofyY8bPzjWPjJRzn6SEak3b46fIQyG6Vx5fG/obqkfppQ+g8vEsiD7Uc6lqQt32Q==} @@ -1423,25 +1627,93 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/helpers@0.5.17': - resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + '@tailwindcss/node@4.1.12': + resolution: {integrity: sha512-3hm9brwvQkZFe++SBt+oLjo4OLDtkvlE8q2WalaD/7QWaeM7KEJbAiY/LJZUaCs7Xa8aUu4xy3uoyX4q54UVdQ==} - '@tanstack/react-virtual@3.13.12': - resolution: {integrity: sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@tailwindcss/oxide-android-arm64@4.1.12': + resolution: {integrity: sha512-oNY5pq+1gc4T6QVTsZKwZaGpBb2N1H1fsc1GD4o7yinFySqIuRZ2E4NvGasWc6PhYJwGK2+5YT1f9Tp80zUQZQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] - '@tanstack/virtual-core@3.13.12': - resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==} + '@tailwindcss/oxide-darwin-arm64@4.1.12': + resolution: {integrity: sha512-cq1qmq2HEtDV9HvZlTtrj671mCdGB93bVY6J29mwCyaMYCP/JaUBXxrQQQm7Qn33AXXASPUb2HFZlWiiHWFytw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] - '@theguild/remark-mermaid@0.3.0': - resolution: {integrity: sha512-Fy1J4FSj8totuHsHFpaeWyWRaRSIvpzGTRoEfnNJc1JmLV9uV70sYE3zcT+Jj5Yw20Xq4iCsiT+3Ho49BBZcBQ==} - peerDependencies: - react: ^18.2.0 || ^19.0.0 + '@tailwindcss/oxide-darwin-x64@4.1.12': + resolution: {integrity: sha512-6UCsIeFUcBfpangqlXay9Ffty9XhFH1QuUFn0WV83W8lGdX8cD5/+2ONLluALJD5+yJ7k8mVtwy3zMZmzEfbLg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.12': + resolution: {integrity: sha512-JOH/f7j6+nYXIrHobRYCtoArJdMJh5zy5lr0FV0Qu47MID/vqJAY3r/OElPzx1C/wdT1uS7cPq+xdYYelny1ww==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12': + resolution: {integrity: sha512-v4Ghvi9AU1SYgGr3/j38PD8PEe6bRfTnNSUE3YCMIRrrNigCFtHZ2TCm8142X8fcSqHBZBceDx+JlFJEfNg5zQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.12': + resolution: {integrity: sha512-YP5s1LmetL9UsvVAKusHSyPlzSRqYyRB0f+Kl/xcYQSPLEw/BvGfxzbH+ihUciePDjiXwHh+p+qbSP3SlJw+6g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.12': + resolution: {integrity: sha512-V8pAM3s8gsrXcCv6kCHSuwyb/gPsd863iT+v1PGXC4fSL/OJqsKhfK//v8P+w9ThKIoqNbEnsZqNy+WDnwQqCA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.12': + resolution: {integrity: sha512-xYfqYLjvm2UQ3TZggTGrwxjYaLB62b1Wiysw/YE3Yqbh86sOMoTn0feF98PonP7LtjsWOWcXEbGqDL7zv0uW8Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.12': + resolution: {integrity: sha512-ha0pHPamN+fWZY7GCzz5rKunlv9L5R8kdh+YNvP5awe3LtuXb5nRi/H27GeL2U+TdhDOptU7T6Is7mdwh5Ar3A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@theguild/remark-npm2yarn@0.3.3': - resolution: {integrity: sha512-ma6DvR03gdbvwqfKx1omqhg9May/VYGdMHvTzB4VuxkyS7KzfZ/lzrj43hmcsggpMje0x7SADA/pcMph0ejRnA==} + '@tailwindcss/oxide-wasm32-wasi@4.1.12': + resolution: {integrity: sha512-4tSyu3dW+ktzdEpuk6g49KdEangu3eCYoqPhWNsZgUhyegEda3M9rG0/j1GV/JjVVsj+lG7jWAyrTlLzd/WEBg==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.12': + resolution: {integrity: sha512-iGLyD/cVP724+FGtMWslhcFyg4xyYyM+5F4hGvKA7eifPkXHRAUDFaimu53fpNg9X8dfP75pXx/zFt/jlNF+lg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.12': + resolution: {integrity: sha512-NKIh5rzw6CpEodv/++r0hGLlfgT/gFN+5WNdZtvh6wpU2BpGNgdjvj6H2oFc8nCM839QM1YOhjpgbAONUb4IxA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.12': + resolution: {integrity: sha512-gM5EoKHW/ukmlEtphNwaGx45fGoEmP10v51t9unv55voWh6WrOL19hfuIdo2FjxIaZzw776/BUQg7Pck++cIVw==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.1.12': + resolution: {integrity: sha512-5PpLYhCAwf9SJEeIsSmCDLgyVfdBhdBpzX1OJ87anT9IVR0Z9pjM0FNixCAUAHGnMBGB8K99SwAheXrT0Kh6QQ==} '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -1462,9 +1734,6 @@ packages: resolution: {integrity: sha512-w071DSzP94YfN6XiWhOxnLpYT3uqtxJBDYdh6Jdjzt+Ce6DNspJsPQgpC7rbts/B8tEkq0LHoYuIF/O5Jh5rPg==} engines: {node: '>=18'} - '@ts-morph/common@0.27.0': - resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} - '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -1495,99 +1764,6 @@ packages: '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} - '@types/d3-array@3.2.1': - resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} - - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} - - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - - '@types/d3-dispatch@3.0.7': - resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} - - '@types/d3-drag@3.0.7': - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - - '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} - - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - - '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - - '@types/d3-selection@3.0.11': - resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} - - '@types/d3-shape@3.1.7': - resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} - - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - - '@types/d3-transition@3.0.9': - resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} - - '@types/d3-zoom@3.0.8': - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} - - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1606,9 +1782,6 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -1624,9 +1797,6 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/katex@0.16.7': - resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} - '@types/libsodium-wrappers-sumo@0.7.8': resolution: {integrity: sha512-N2+df4MB/A+W0RAcTw7A5oxKgzD+Vh6Ye7lfjWIi5SdTzVLfHPzxUjhwPqHLO5Ev9fv/+VHl+sUaUuTg4fUPqw==} @@ -1646,9 +1816,6 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/nlcst@2.0.3': - resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} - '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -1675,9 +1842,6 @@ packages: '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -1743,11 +1907,6 @@ packages: resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript/vfs@1.6.1': - resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==} - peerDependencies: - typescript: '*' - '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -1899,13 +2058,6 @@ packages: '@vue/shared@3.5.19': resolution: {integrity: sha512-IhXCOn08wgKrLQxRFKKlSacWg4Goi1BolrdEeLYn6tgHjJNXVrWJ5nzoxZqNwl5p88aLlQ8LOaoMa3AYvaKJ/Q==} - '@xmldom/xmldom@0.9.8': - resolution: {integrity: sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A==} - engines: {node: '>=14.6'} - - '@zod/core@0.9.0': - resolution: {integrity: sha512-bVfPiV2kDUkAJ4ArvV4MHcPZA8y3xOX6/SjzSy2kX2ACopbaaAP4wk6hd/byRmfi9MLNai+4SFJMmcATdOyclg==} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1972,15 +2124,16 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - 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==} + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -1989,9 +2142,6 @@ packages: resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} - array-iterate@2.0.1: - resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -2071,11 +2221,6 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - better-react-mathjax@2.3.0: - resolution: {integrity: sha512-K0ceQC+jQmB+NLDogO5HCpqmYf18AU2FxDbLdduYgkHYWZApFggkHE4dIaXCV1NqeoscESYXXo1GSkY6fA295w==} - peerDependencies: - react: '>=16.8' - binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -2156,10 +2301,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.6.0: - resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - change-case@3.1.0: resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==} @@ -2185,25 +2326,28 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chevrotain-allstar@0.3.1: - resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} - peerDependencies: - chevrotain: ^11.0.0 - - chevrotain@11.0.3: - resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -2223,10 +2367,6 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - clipboardy@4.0.0: - resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} - engines: {node: '>=18'} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -2239,9 +2379,6 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - code-block-writer@13.0.3: - resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} - collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} @@ -2276,10 +2413,6 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} - commander@13.1.0: - resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} - engines: {node: '>=18'} - commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} @@ -2288,219 +2421,52 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} compute-scroll-into-view@3.1.1: resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - - concat-with-sourcemaps@1.1.0: - resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} - - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - - confbox@0.2.2: - resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} - - constant-case@2.0.0: - resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - core-js-pure@3.45.1: - resolution: {integrity: sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - - cpu-features@0.0.10: - resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} - engines: {node: '>=10.0.0'} - - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.33.1: - resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==} - engines: {node: '>=0.10'} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - - d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} - - d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - - d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} - - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - - d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} - - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} + concat-with-sourcemaps@1.1.0: + resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + constant-case@2.0.0: + resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + core-js-pure@3.45.1: + resolution: {integrity: sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==} - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} + cpu-features@0.0.10: + resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} + engines: {node: '>=10.0.0'} - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true - dagre-d3-es@7.0.11: - resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==} + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} @@ -2521,9 +2487,6 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} - dayjs@1.11.13: - resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -2574,9 +2537,6 @@ packages: resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} engines: {node: '>=8'} - delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} - dependency-tree@11.2.0: resolution: {integrity: sha512-+C1H3mXhcvMCeu5i2Jpg9dc0N29TWTuT6vJD7mHLAfVmAbo9zW8NlkvQ1tYd3PDMab0IRQM0ccoyX68EZtx9xw==} engines: {node: '>=18'} @@ -2599,6 +2559,9 @@ packages: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + detective-amd@6.0.1: resolution: {integrity: sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==} engines: {node: '>=18'} @@ -2673,9 +2636,6 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dompurify@3.2.6: - resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==} - dot-case@2.1.1: resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==} @@ -2717,10 +2677,6 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - entities@6.0.1: - resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} - engines: {node: '>=0.12'} - es-abstract@1.24.0: resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} engines: {node: '>= 0.4'} @@ -2873,10 +2829,6 @@ packages: jiti: optional: true - esm@3.2.25: - resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} - engines: {node: '>=6'} - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2904,9 +2856,6 @@ packages: estree-util-build-jsx@3.0.1: resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - estree-util-is-identifier-name@2.1.0: - resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} - estree-util-is-identifier-name@3.0.0: resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} @@ -2936,10 +2885,6 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - expand-range@1.8.2: resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} engines: {node: '>=0.10.0'} @@ -2948,9 +2893,6 @@ packages: resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} - exsolve@1.0.7: - resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} - extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -2988,9 +2930,6 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -3051,10 +2990,6 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -3081,6 +3016,70 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + fumadocs-core@15.7.2: + resolution: {integrity: sha512-UrMUwD88NODY3SUxi1T15ESo//j0iuz2PoitvAZ/uhqJCsbgjiXG8lZJuVTJDixi2hvAzeFo08L5csks1uT8Sw==} + peerDependencies: + '@mixedbread/sdk': ^0.19.0 + '@oramacloud/client': 1.x.x || 2.x.x + '@types/react': '*' + algoliasearch: 5.x.x + next: 14.x.x || 15.x.x + react: 18.x.x || 19.x.x + react-dom: 18.x.x || 19.x.x + react-router: 7.x.x + peerDependenciesMeta: + '@mixedbread/sdk': + optional: true + '@oramacloud/client': + optional: true + '@types/react': + optional: true + algoliasearch: + optional: true + next: + optional: true + react: + optional: true + react-dom: + optional: true + react-router: + optional: true + + fumadocs-mdx@11.8.0: + resolution: {integrity: sha512-svbJBgkvLHG3GX2tG+TxiMPDnvE2QDHCIT2wgcYf+flWoDIMgh8ZWTvv4r5/BpU+svYeEd6sKFq3sEjlgDM4ag==} + hasBin: true + peerDependencies: + '@fumadocs/mdx-remote': ^1.4.0 + fumadocs-core: ^14.0.0 || ^15.0.0 + next: ^15.3.0 + react: '*' + vite: 6.x.x || 7.x.x + peerDependenciesMeta: + '@fumadocs/mdx-remote': + optional: true + next: + optional: true + react: + optional: true + vite: + optional: true + + fumadocs-ui@15.7.2: + resolution: {integrity: sha512-AfadaAVAMWutvfjRfAb9aOVg0DditUdzMiWR69I160H8TDYImIHJWdHsoydSYD7I+60YsCXpHEewe7Lgm7OZcQ==} + peerDependencies: + '@types/react': '*' + next: 14.x.x || 15.x.x + react: 18.x.x || 19.x.x + react-dom: 18.x.x || 19.x.x + tailwindcss: ^3.4.14 || ^4.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + next: + optional: true + tailwindcss: + optional: true + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -3107,6 +3106,10 @@ packages: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} @@ -3118,10 +3121,6 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -3161,10 +3160,6 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.15.0: - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} - engines: {node: '>=18'} - globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -3204,9 +3199,6 @@ packages: resolution: {integrity: sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==} deprecated: Removed event-stream from gulp-header - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} @@ -3243,27 +3235,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-from-dom@5.0.1: - resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} - - hast-util-from-html-isomorphic@2.0.0: - resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} - - hast-util-from-html@2.0.3: - resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} - - hast-util-from-parse5@8.0.3: - resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} - - hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} - - hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - - hast-util-raw@9.1.0: - resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - hast-util-to-estree@3.1.3: resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} @@ -3273,21 +3244,12 @@ packages: hast-util-to-jsx-runtime@2.3.6: resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} - hast-util-to-parse5@8.0.0: - resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} - hast-util-to-string@3.0.1: resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} - hast-util-to-text@4.0.2: - resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} - hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - hastscript@9.0.1: - resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - header-case@1.0.1: resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} @@ -3313,10 +3275,6 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -3336,6 +3294,11 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -3373,13 +3336,6 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - ip-address@10.0.1: resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==} engines: {node: '>= 12'} @@ -3438,11 +3394,6 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -3474,11 +3425,6 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -3550,10 +3496,6 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -3600,14 +3542,6 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} - - is64bit@2.0.0: - resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} - engines: {node: '>=18'} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -3652,6 +3586,10 @@ packages: resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3695,16 +3633,9 @@ packages: jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - katex@0.16.22: - resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==} - hasBin: true - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - kind-of@3.2.2: resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} engines: {node: '>=0.10.0'} @@ -3717,19 +3648,6 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - - langium@3.3.1: - resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} - engines: {node: '>=16.0.0'} - - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - lazy-cache@2.0.2: resolution: {integrity: sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==} engines: {node: '>=0.10.0'} @@ -3744,14 +3662,74 @@ packages: libsodium-wrappers-sumo@0.7.15: resolution: {integrity: sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA==} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + list-item@1.1.1: resolution: {integrity: sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==} engines: {node: '>=0.10.0'} - local-pkg@1.1.2: - resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} - engines: {node: '>=14'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -3760,9 +3738,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - lodash._reinterpolate@3.0.0: resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} @@ -3864,11 +3839,6 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - marked@16.2.0: - resolution: {integrity: sha512-LbbTuye+0dWRz2TS9KJ7wsnD4KAtpj0MVkWc90XvBa6AslXsT0hTBVH5k32pcSyHH1fst9XEFJunXHktVy0zlg==} - engines: {node: '>= 20'} - hasBin: true - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -3876,18 +3846,12 @@ packages: math-random@1.0.4: resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} - mathjax-full@3.2.2: - resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==} - mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -3906,9 +3870,6 @@ packages: mdast-util-gfm@3.1.0: resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - mdast-util-math@3.0.0: - resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} - mdast-util-mdx-expression@2.0.1: resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} @@ -3940,18 +3901,9 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@11.10.1: - resolution: {integrity: sha512-0PdeADVWURz7VMAX0+MiMcgfxFKY4aweSGsjgFihe3XlMKNqmai/cugMrqTd3WNHM93V+K+AZL6Wu6tB5HmxRw==} - - mhchemparser@4.2.1: - resolution: {integrity: sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==} - micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - micromark-extension-gfm-autolink-literal@2.1.0: resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} @@ -3973,9 +3925,6 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-extension-math@3.1.0: - resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} - micromark-extension-mdx-expression@3.0.1: resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} @@ -4070,10 +4019,6 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - minimatch@10.0.3: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} @@ -4092,13 +4037,14 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@3.0.2: + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + engines: {node: '>= 18'} + mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} - mj-context-menu@0.6.1: - resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==} - mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} @@ -4106,8 +4052,10 @@ packages: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true - mlly@1.8.0: - resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true module-definition@6.0.1: resolution: {integrity: sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==} @@ -4196,25 +4144,6 @@ packages: sass: optional: true - nextra-theme-docs@4.4.0: - resolution: {integrity: sha512-DqcP1rns1RP1mkvfw5cf/L2eho+Qg40FzqLCTm6kfSEafewwYNfdRotvk7Sa0Bzsr1FbOulIxxgAR4cXDdoZPQ==} - peerDependencies: - next: '>=14' - nextra: 4.4.0 - react: '>=18' - react-dom: '>=18' - - nextra@4.4.0: - resolution: {integrity: sha512-2PWOxfmtb9Dg46xPLGAva32kHIh1hcLIZyG7kbYKw8EcQ66rcgX9K+/6bkE9Pp1fR+t4+5aPOWlGbzZXdb0nsQ==} - engines: {node: '>=18'} - peerDependencies: - next: '>=14' - react: '>=18' - react-dom: '>=18' - - nlcst-to-string@4.0.0: - resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} - no-case@2.3.2: resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} @@ -4253,10 +4182,6 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm-to-yarn@3.0.1: resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4296,10 +4221,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - oniguruma-parser@0.12.1: resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} @@ -4375,9 +4296,6 @@ packages: package-manager-detector@0.2.11: resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} - package-manager-detector@1.3.0: - resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} - param-case@2.1.1: resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} @@ -4388,31 +4306,16 @@ packages: parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - parse-latin@7.0.0: - resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} - parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} - parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - - parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - pascal-case@2.0.1: resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} - path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - path-case@2.1.1: resolution: {integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==} - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -4425,10 +4328,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -4469,26 +4368,18 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - - pkg-types@2.3.0: - resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} - pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + postcss-values-parser@6.0.2: resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} engines: {node: '>=10'} @@ -4533,9 +4424,6 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -4577,11 +4465,6 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-compiler-runtime@19.1.0-rc.2: - resolution: {integrity: sha512-852AwyIsbWJ5o1LkQVAZsVK3iLjMxOfKZuxqeGd/RfD+j1GqHb6j3DSHLtpu4HhFbQHsP2DzxjJyKR6luv4D8w==} - peerDependencies: - react: ^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental - react-dom@19.1.1: resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} peerDependencies: @@ -4593,6 +4476,36 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.7.1: + resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + react@19.1.1: resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} @@ -4612,8 +4525,9 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - reading-time@1.5.0: - resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -4653,52 +4567,27 @@ packages: resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} engines: {node: '>=0.10.0'} - rehype-katex@7.0.1: - resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} - - rehype-parse@9.0.1: - resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} - - rehype-pretty-code@0.14.1: - resolution: {integrity: sha512-IpG4OL0iYlbx78muVldsK86hdfNoht0z63AP7sekQNW2QOTmjxB7RbTO+rhIYNGRljgHxgVZoPwUl6bIC9SbjA==} - engines: {node: '>=18'} - peerDependencies: - shiki: ^1.0.0 || ^2.0.0 || ^3.0.0 - - rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - rehype-recma@1.0.0: resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - remark-gfm@4.0.1: resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - remark-math@6.0.0: - resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} - remark-mdx@3.1.0: resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-reading-time@2.0.2: - resolution: {integrity: sha512-ILjIuR0dQQ8pELPgaFvz7ralcSN62rD/L1pTUJgWb4gfua3ZwYEI8mnKGxEQCbrXSUF/OvycTkcUbifGOtOn5A==} - remark-rehype@11.1.2: resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - remark-smartypants@3.0.2: - resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} - engines: {node: '>=16.0.0'} - remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} + remarkable@1.7.4: resolution: {integrity: sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==} engines: {node: '>= 0.10.0'} @@ -4749,18 +4638,6 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} - retext-latin@4.0.0: - resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} - - retext-smartypants@6.2.0: - resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==} - - retext-stringify@4.0.0: - resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} - - retext@9.0.0: - resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} - reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -4775,17 +4652,11 @@ packages: engines: {node: 20 || >=22} hasBin: true - robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.47.1: resolution: {integrity: sha512-iasGAQoZ5dWDzULEUX3jiW0oB1qyFOepSyDyoU6S/OhVlDIwj5knI5QBa5RRQ0sK7OE0v+8VIi2JuV+G+3tfNg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -4793,9 +4664,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - rxjs@6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} @@ -4856,9 +4724,6 @@ packages: sentence-case@2.1.1: resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} - server-only@0.0.1: - resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -4927,10 +4792,6 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -4962,11 +4823,7 @@ packages: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} spawndamnit@3.0.1: - resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} - - speech-rule-engine@4.1.2: - resolution: {integrity: sha512-S6ji+flMEga+1QU79NDbwZ8Ivf0S/MpupQQiIC0rTpU/ZTKgcajijJJb1OcByBQDjrXCN1/DJtGz4ZJeBMPGJw==} - hasBin: true + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} split-ca@1.0.1: resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==} @@ -5052,10 +4909,6 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -5086,9 +4939,6 @@ packages: babel-plugin-macros: optional: true - stylis@4.3.6: - resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - stylus-lookup@6.1.0: resolution: {integrity: sha512-5QSwgxAzXPMN+yugy61C60PhoANdItfdjSEZR8siFwz7yL9jTmV0UBKDCfn3K8GkGB4g0Y9py7vTCX8rFu4/pQ==} engines: {node: '>=18'} @@ -5109,12 +4959,11 @@ packages: swap-case@1.1.2: resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} - system-architecture@0.1.0: - resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} - engines: {node: '>=18'} + tailwind-merge@3.3.1: + resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tailwindcss@4.1.12: + resolution: {integrity: sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==} tapable@2.2.3: resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} @@ -5127,6 +4976,10 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} + term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -5179,10 +5032,6 @@ packages: title-case@2.1.1: resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} - title@4.0.1: - resolution: {integrity: sha512-xRnPkJx9nvE5MF6LkB5e8QJjE2FW8269wTu/LQdf7zZqBgPly0QJPf/CWAo7srj5so4yXfoLEdCFgurlpi47zg==} - hasBin: true - tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -5210,17 +5059,10 @@ packages: peerDependencies: typescript: '>=4.8.4' - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - ts-graphviz@2.1.6: resolution: {integrity: sha512-XyLVuhBVvdJTJr2FJJV2L1pc4MwSjMhcunRVgDE9k4wbb2ee7ORYnPewxMWUav12vxyfUM686MSGsqnVRIInuw==} engines: {node: '>=18'} - ts-morph@26.0.0: - resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==} - ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -5290,14 +5132,6 @@ packages: tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - twoslash-protocol@0.3.4: - resolution: {integrity: sha512-HHd7lzZNLUvjPzG/IE6js502gEzLC1x7HaO1up/f72d8G8ScWAs9Yfa97igelQRDl5h9tGcdFsRp+lNVre1EeQ==} - - twoslash@0.3.4: - resolution: {integrity: sha512-RtJURJlGRxrkJmTcZMjpr7jdYly1rfgpujJr1sBM9ch7SKVht/SjFk23IOAyvwT1NLCk+SJiMrvW4rIAUM2Wug==} - peerDependencies: - typescript: ^5.5.0 - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5330,9 +5164,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.6.1: - resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -5355,45 +5186,21 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unist-util-find-after@5.0.0: - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} - - unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - unist-util-modify-children@4.0.0: - resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} - unist-util-position-from-estree@2.0.0: resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - unist-util-remove-position@5.0.0: - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - - unist-util-remove@4.0.0: - resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} - unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - unist-util-visit-children@3.0.0: - resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} - - unist-util-visit-parents@4.1.1: - resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} - unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - unist-util-visit@3.1.0: - resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} - unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} @@ -5426,10 +5233,25 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - use-sync-external-store@1.5.0: - resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -5449,9 +5271,6 @@ packages: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} @@ -5531,26 +5350,6 @@ packages: jsdom: optional: true - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true - - vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - walkdir@0.4.1: resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} engines: {node: '>=6.0.0'} @@ -5558,9 +5357,6 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -5593,9 +5389,6 @@ packages: engines: {node: '>=8'} hasBin: true - wicked-good-xpath@1.3.0: - resolution: {integrity: sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -5641,6 +5434,10 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml@2.8.1: resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} engines: {node: '>= 14.6'} @@ -5662,44 +5459,21 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zod@4.0.0-beta.20250424T163858: - resolution: {integrity: sha512-fKhW+lEJnfUGo0fvQjmam39zUytARR2UdCEh7/OXJSBbKScIhD343K74nW+UUHu/r6dkzN6Uc/GqwogFjzpCXg==} - - zustand@5.0.8: - resolution: {integrity: sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=18.0.0' - immer: '>=9.0.6' - react: '>=18.0.0' - use-sync-external-store: '>=1.2.0' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - use-sync-external-store: - optional: true + zod@4.1.1: + resolution: {integrity: sha512-SgMZK/h8Tigt9nnKkfJMvB/mKjiJXaX26xegP4sa+0wHIFVFWVlsQGdhklDmuargBD3Hsi3rsQRIzwJIhTPJHA==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.30 - '@antfu/install-pkg@1.1.0': - dependencies: - package-manager-detector: 1.3.0 - tinyexec: 1.0.1 - - '@antfu/utils@8.1.1': {} - '@babel/cli@7.28.3(@babel/core@7.28.3)': dependencies: '@babel/core': 7.28.3 @@ -5824,8 +5598,6 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@braintree/sanitize-url@7.1.1': {} - '@changesets/apply-release-plan@7.0.12': dependencies: '@changesets/config': 3.1.1 @@ -5985,23 +5757,6 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@chevrotain/cst-dts-gen@11.0.3': - dependencies: - '@chevrotain/gast': 11.0.3 - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/gast@11.0.3': - dependencies: - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/regexp-to-ast@11.0.3': {} - - '@chevrotain/types@11.0.3': {} - - '@chevrotain/utils@11.0.3': {} - '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -6109,10 +5864,10 @@ snapshots: effect: 3.17.9 uuid: 11.1.0 - '@effect/vitest@0.25.1(effect@3.17.9)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1))': + '@effect/vitest@0.25.1(effect@3.17.9)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1))': dependencies: effect: 3.17.9 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) '@effect/workflow@0.9.2(@effect/platform@0.90.6(effect@3.17.9))(@effect/rpc@0.69.1(@effect/platform@0.90.6(effect@3.17.9))(effect@3.17.9))(effect@3.17.9)': dependencies: @@ -6214,16 +5969,16 @@ snapshots: '@esbuild/win32-x64@0.25.9': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0)': + '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0(jiti@2.5.1))': dependencies: - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.3.2(eslint@9.34.0)': + '@eslint/compat@1.3.2(eslint@9.34.0(jiti@2.5.1))': optionalDependencies: - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) '@eslint/config-array@0.21.0': dependencies: @@ -6277,14 +6032,6 @@ snapshots: react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - '@floating-ui/react@0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': - dependencies: - '@floating-ui/react-dom': 2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@floating-ui/utils': 0.2.10 - react: 19.1.1 - react-dom: 19.1.1(react@19.1.1) - tabbable: 6.2.0 - '@floating-ui/utils@0.2.10': {} '@formatjs/intl-localematcher@0.6.1': @@ -6303,16 +6050,6 @@ snapshots: protobufjs: 7.5.4 yargs: 17.7.2 - '@headlessui/react@2.2.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': - dependencies: - '@floating-ui/react': 0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@react-aria/focus': 3.21.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@react-aria/interactions': 3.25.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/react-virtual': 3.13.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - react: 19.1.1 - react-dom: 19.1.1(react@19.1.1) - use-sync-external-store: 1.5.0(react@19.1.1) - '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -6326,21 +6063,6 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify/types@2.0.0': {} - - '@iconify/utils@2.3.0': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@antfu/utils': 8.1.1 - '@iconify/types': 2.0.0 - debug: 4.4.1 - globals: 15.15.0 - kolorist: 1.8.0 - local-pkg: 1.1.2 - mlly: 1.8.0 - transitivePeerDependencies: - - supports-color - '@img/sharp-darwin-arm64@0.34.3': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.2.0 @@ -6449,6 +6171,10 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@istanbuljs/schema@0.1.3': {} '@jridgewell/gen-mapping@0.3.13': @@ -6456,6 +6182,11 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/sourcemap-codec@1.5.5': {} @@ -6518,10 +6249,6 @@ snapshots: - acorn - supports-color - '@mermaid-js/parser@0.6.2': - dependencies: - langium: 3.3.1 - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': optional: true @@ -6540,69 +6267,6 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@napi-rs/simple-git-android-arm-eabi@0.1.22': - optional: true - - '@napi-rs/simple-git-android-arm64@0.1.22': - optional: true - - '@napi-rs/simple-git-darwin-arm64@0.1.22': - optional: true - - '@napi-rs/simple-git-darwin-x64@0.1.22': - optional: true - - '@napi-rs/simple-git-freebsd-x64@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-arm64-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-arm64-musl@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-ppc64-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-s390x-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-x64-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-x64-musl@0.1.22': - optional: true - - '@napi-rs/simple-git-win32-arm64-msvc@0.1.22': - optional: true - - '@napi-rs/simple-git-win32-ia32-msvc@0.1.22': - optional: true - - '@napi-rs/simple-git-win32-x64-msvc@0.1.22': - optional: true - - '@napi-rs/simple-git@0.1.22': - optionalDependencies: - '@napi-rs/simple-git-android-arm-eabi': 0.1.22 - '@napi-rs/simple-git-android-arm64': 0.1.22 - '@napi-rs/simple-git-darwin-arm64': 0.1.22 - '@napi-rs/simple-git-darwin-x64': 0.1.22 - '@napi-rs/simple-git-freebsd-x64': 0.1.22 - '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.22 - '@napi-rs/simple-git-linux-arm64-gnu': 0.1.22 - '@napi-rs/simple-git-linux-arm64-musl': 0.1.22 - '@napi-rs/simple-git-linux-ppc64-gnu': 0.1.22 - '@napi-rs/simple-git-linux-s390x-gnu': 0.1.22 - '@napi-rs/simple-git-linux-x64-gnu': 0.1.22 - '@napi-rs/simple-git-linux-x64-musl': 0.1.22 - '@napi-rs/simple-git-win32-arm64-msvc': 0.1.22 - '@napi-rs/simple-git-win32-ia32-msvc': 0.1.22 - '@napi-rs/simple-git-win32-x64-msvc': 0.1.22 - '@napi-rs/wasm-runtime@0.2.12': dependencies: '@emnapi/core': 1.4.5 @@ -6657,6 +6321,8 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 + '@orama/orama@3.1.11': {} + '@parcel/watcher-android-arm64@2.5.1': optional: true @@ -6743,54 +6409,354 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@react-aria/focus@3.21.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@radix-ui/number@1.1.1': {} + + '@radix-ui/primitive@1.1.3': {} + + '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.11)(react@19.1.1)': + dependencies: + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-context@1.1.2(@types/react@19.1.11)(react@19.1.1)': + dependencies: + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.11)(react@19.1.1) + aria-hidden: 1.2.6 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-remove-scroll: 2.7.1(@types/react@19.1.11)(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-direction@1.1.1(@types/react@19.1.11)(react@19.1.1)': + dependencies: + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.1.11)(react@19.1.1)': + dependencies: + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-id@1.1.1(@types/react@19.1.11)(react@19.1.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.11)(react@19.1.1) + aria-hidden: 1.2.6 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-remove-scroll: 2.7.1(@types/react@19.1.11)(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@floating-ui/react-dom': 2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/rect': 1.1.1 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-slot@1.2.3(@types/react@19.1.11)(react@19.1.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-context': 1.1.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.11)(react@19.1.1)': + dependencies: + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.11)(react@19.1.1)': + dependencies: + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 + + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.11)(react@19.1.1)': dependencies: - '@react-aria/interactions': 3.25.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@react-aria/utils': 3.30.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@react-types/shared': 3.31.0(react@19.1.1) - '@swc/helpers': 0.5.17 - clsx: 2.1.1 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) react: 19.1.1 - react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 - '@react-aria/interactions@3.25.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.11)(react@19.1.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@19.1.1) - '@react-aria/utils': 3.30.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.31.0(react@19.1.1) - '@swc/helpers': 0.5.17 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.11)(react@19.1.1) react: 19.1.1 - react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 - '@react-aria/ssr@3.9.10(react@19.1.1)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.11)(react@19.1.1)': dependencies: - '@swc/helpers': 0.5.17 react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 - '@react-aria/utils@3.30.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.11)(react@19.1.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@19.1.1) - '@react-stately/flags': 3.1.2 - '@react-stately/utils': 3.10.8(react@19.1.1) - '@react-types/shared': 3.31.0(react@19.1.1) - '@swc/helpers': 0.5.17 - clsx: 2.1.1 react: 19.1.1 - react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 - '@react-stately/flags@3.1.2': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.11)(react@19.1.1)': dependencies: - '@swc/helpers': 0.5.17 + '@radix-ui/rect': 1.1.1 + react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 - '@react-stately/utils@3.10.8(react@19.1.1)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.1.11)(react@19.1.1)': dependencies: - '@swc/helpers': 0.5.17 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.11)(react@19.1.1) react: 19.1.1 + optionalDependencies: + '@types/react': 19.1.11 - '@react-types/shared@3.31.0(react@19.1.1)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + '@types/react-dom': 19.1.7(@types/react@19.1.11) + + '@radix-ui/rect@1.1.1': {} '@rollup/rollup-android-arm-eabi@4.47.1': optional: true @@ -6889,18 +6855,23 @@ snapshots: dependencies: '@shikijs/types': 3.11.0 + '@shikijs/rehype@3.11.0': + dependencies: + '@shikijs/types': 3.11.0 + '@types/hast': 3.0.4 + hast-util-to-string: 3.0.1 + shiki: 3.11.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + '@shikijs/themes@3.11.0': dependencies: '@shikijs/types': 3.11.0 - '@shikijs/twoslash@3.11.0(typescript@5.9.2)': + '@shikijs/transformers@3.11.0': dependencies: '@shikijs/core': 3.11.0 '@shikijs/types': 3.11.0 - twoslash: 0.3.4(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color '@shikijs/types@3.11.0': dependencies: @@ -6915,30 +6886,77 @@ snapshots: dependencies: tslib: 2.8.1 - '@swc/helpers@0.5.17': + '@tailwindcss/node@4.1.12': dependencies: - tslib: 2.8.1 + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.3 + jiti: 2.5.1 + lightningcss: 1.30.1 + magic-string: 0.30.18 + source-map-js: 1.2.1 + tailwindcss: 4.1.12 - '@tanstack/react-virtual@3.13.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': - dependencies: - '@tanstack/virtual-core': 3.13.12 - react: 19.1.1 - react-dom: 19.1.1(react@19.1.1) + '@tailwindcss/oxide-android-arm64@4.1.12': + optional: true - '@tanstack/virtual-core@3.13.12': {} + '@tailwindcss/oxide-darwin-arm64@4.1.12': + optional: true - '@theguild/remark-mermaid@0.3.0(react@19.1.1)': - dependencies: - mermaid: 11.10.1 - react: 19.1.1 - unist-util-visit: 5.0.0 - transitivePeerDependencies: - - supports-color + '@tailwindcss/oxide-darwin-x64@4.1.12': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.12': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.12': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.12': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.12': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.12': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.12': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.12': + optional: true - '@theguild/remark-npm2yarn@0.3.3': + '@tailwindcss/oxide-win32-x64-msvc@4.1.12': + optional: true + + '@tailwindcss/oxide@4.1.12': dependencies: - npm-to-yarn: 3.0.1 - unist-util-visit: 5.0.0 + detect-libc: 2.0.4 + tar: 7.4.3 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.12 + '@tailwindcss/oxide-darwin-arm64': 4.1.12 + '@tailwindcss/oxide-darwin-x64': 4.1.12 + '@tailwindcss/oxide-freebsd-x64': 4.1.12 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.12 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.12 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.12 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.12 + '@tailwindcss/oxide-linux-x64-musl': 4.1.12 + '@tailwindcss/oxide-wasm32-wasi': 4.1.12 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.12 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.12 + + '@tailwindcss/postcss@4.1.12': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.1.12 + '@tailwindcss/oxide': 4.1.12 + postcss: 8.5.6 + tailwindcss: 4.1.12 '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -6957,12 +6975,6 @@ snapshots: '@ts-graphviz/ast': 2.0.7 '@ts-graphviz/common': 2.1.5 - '@ts-morph/common@0.27.0': - dependencies: - fast-glob: 3.3.3 - minimatch: 10.0.3 - path-browserify: 1.0.1 - '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -7020,123 +7032,6 @@ snapshots: dependencies: '@types/deep-eql': 4.0.2 - '@types/d3-array@3.2.1': {} - - '@types/d3-axis@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-brush@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-chord@3.0.6': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-contour@3.0.6': - dependencies: - '@types/d3-array': 3.2.1 - '@types/geojson': 7946.0.16 - - '@types/d3-delaunay@6.0.4': {} - - '@types/d3-dispatch@3.0.7': {} - - '@types/d3-drag@3.0.7': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-dsv@3.0.7': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-fetch@3.0.7': - dependencies: - '@types/d3-dsv': 3.0.7 - - '@types/d3-force@3.0.10': {} - - '@types/d3-format@3.0.4': {} - - '@types/d3-geo@3.1.0': - dependencies: - '@types/geojson': 7946.0.16 - - '@types/d3-hierarchy@3.1.7': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-polygon@3.0.2': {} - - '@types/d3-quadtree@3.0.6': {} - - '@types/d3-random@3.0.3': {} - - '@types/d3-scale-chromatic@3.1.0': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-selection@3.0.11': {} - - '@types/d3-shape@3.1.7': - dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time-format@4.0.3': {} - - '@types/d3-time@3.0.4': {} - - '@types/d3-timer@3.0.2': {} - - '@types/d3-transition@3.0.9': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-zoom@3.0.8': - dependencies: - '@types/d3-interpolate': 3.0.4 - '@types/d3-selection': 3.0.11 - - '@types/d3@7.4.3': - dependencies: - '@types/d3-array': 3.2.1 - '@types/d3-axis': 3.0.6 - '@types/d3-brush': 3.0.6 - '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.3 - '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.4 - '@types/d3-dispatch': 3.0.7 - '@types/d3-drag': 3.0.7 - '@types/d3-dsv': 3.0.7 - '@types/d3-ease': 3.0.2 - '@types/d3-fetch': 3.0.7 - '@types/d3-force': 3.0.10 - '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 3.1.7 - '@types/d3-interpolate': 3.0.4 - '@types/d3-path': 3.1.1 - '@types/d3-polygon': 3.0.2 - '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.3 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.7 - '@types/d3-time': 3.0.4 - '@types/d3-time-format': 4.0.3 - '@types/d3-timer': 3.0.2 - '@types/d3-transition': 3.0.9 - '@types/d3-zoom': 3.0.8 - '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -7160,8 +7055,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/geojson@7946.0.16': {} - '@types/glob@7.2.0': dependencies: '@types/minimatch': 6.0.0 @@ -7180,8 +7073,6 @@ snapshots: '@types/json5@0.0.29': {} - '@types/katex@0.16.7': {} - '@types/libsodium-wrappers-sumo@0.7.8': dependencies: '@types/libsodium-wrappers': 0.7.14 @@ -7200,10 +7091,6 @@ snapshots: '@types/ms@2.1.0': {} - '@types/nlcst@2.0.3': - dependencies: - '@types/unist': 3.0.3 - '@types/node@12.20.55': {} '@types/node@18.19.123': @@ -7232,22 +7119,19 @@ snapshots: '@types/tinycolor2@1.4.6': {} - '@types/trusted-types@2.0.7': - optional: true - '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.40.0(eslint@9.34.0)(typescript@5.9.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.40.0 - '@typescript-eslint/type-utils': 8.40.0(eslint@9.34.0)(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.34.0)(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.40.0 - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -7256,14 +7140,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2)': + '@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.40.0 '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.40.0 debug: 4.4.1 - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -7286,13 +7170,13 @@ snapshots: dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@8.40.0(eslint@9.34.0)(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.34.0)(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1 - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: @@ -7316,13 +7200,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.40.0(eslint@9.34.0)(typescript@5.9.2)': + '@typescript-eslint/utils@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.40.0 '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -7332,13 +7216,6 @@ snapshots: '@typescript-eslint/types': 8.40.0 eslint-visitor-keys: 4.2.1 - '@typescript/vfs@1.6.1(typescript@5.9.2)': - dependencies: - debug: 4.4.1 - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - '@ungap/structured-clone@1.3.0': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': @@ -7400,7 +7277,7 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1))': + '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -7415,7 +7292,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -7427,13 +7304,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.1.3(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.18 optionalDependencies: - vite: 7.1.3(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -7493,10 +7370,6 @@ snapshots: '@vue/shared@3.5.19': {} - '@xmldom/xmldom@0.9.8': {} - - '@zod/core@0.9.0': {} - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -7553,14 +7426,16 @@ snapshots: arg@4.1.3: {} - arg@5.0.2: {} - argparse@1.0.10: dependencies: sprintf-js: 1.0.3 argparse@2.0.1: {} + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 + array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -7577,8 +7452,6 @@ snapshots: is-string: 1.1.1 math-intrinsics: 1.1.0 - array-iterate@2.0.1: {} - array-union@2.1.0: {} array.prototype.findlastindex@1.2.6: @@ -7665,11 +7538,6 @@ snapshots: dependencies: is-windows: 1.0.2 - better-react-mathjax@2.3.0(react@19.1.1): - dependencies: - mathjax-full: 3.2.2 - react: 19.1.1 - binary-extensions@2.3.0: optional: true @@ -7767,8 +7635,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.6.0: {} - change-case@3.1.0: dependencies: camel-case: 3.0.0 @@ -7804,20 +7670,6 @@ snapshots: check-error@2.1.1: {} - chevrotain-allstar@0.3.1(chevrotain@11.0.3): - dependencies: - chevrotain: 11.0.3 - lodash-es: 4.17.21 - - chevrotain@11.0.3: - dependencies: - '@chevrotain/cst-dts-gen': 11.0.3 - '@chevrotain/gast': 11.0.3 - '@chevrotain/regexp-to-ast': 11.0.3 - '@chevrotain/types': 11.0.3 - '@chevrotain/utils': 11.0.3 - lodash-es: 4.17.21 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -7831,10 +7683,20 @@ snapshots: fsevents: 2.3.3 optional: true + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + chownr@1.1.4: {} + chownr@3.0.0: {} + ci-info@3.9.0: {} + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + clean-stack@2.2.0: {} cli-cursor@3.1.0: @@ -7847,12 +7709,6 @@ snapshots: client-only@0.0.1: {} - clipboardy@4.0.0: - dependencies: - execa: 8.0.1 - is-wsl: 3.1.0 - is64bit: 2.0.0 - cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -7863,8 +7719,6 @@ snapshots: clsx@2.1.1: {} - code-block-writer@13.0.3: {} - collapse-white-space@2.1.0: {} color-convert@1.9.3: @@ -7879,271 +7733,73 @@ snapshots: color-name@1.1.4: {} - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - optional: true - - color@4.2.3: - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - optional: true - - comma-separated-tokens@2.0.3: {} - - commander@10.0.1: {} - - commander@12.1.0: {} - - commander@13.1.0: {} - - commander@6.2.1: {} - - commander@7.2.0: {} - - commander@8.3.0: {} - - commondir@1.0.1: {} - - compute-scroll-into-view@3.1.1: {} - - concat-map@0.0.1: {} - - concat-stream@1.6.2: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - - concat-with-sourcemaps@1.1.0: - dependencies: - source-map: 0.6.1 - - confbox@0.1.8: {} - - confbox@0.2.2: {} - - constant-case@2.0.0: - dependencies: - snake-case: 2.1.0 - upper-case: 1.1.3 - - convert-source-map@2.0.0: {} - - core-js-pure@3.45.1: {} - - core-util-is@1.0.3: {} - - cose-base@1.0.3: - dependencies: - layout-base: 1.0.2 - - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - - cpu-features@0.0.10: - dependencies: - buildcheck: 0.0.6 - nan: 2.23.0 - optional: true - - create-require@1.1.1: {} - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - csstype@3.1.3: {} - - cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1): - dependencies: - cose-base: 1.0.3 - cytoscape: 3.33.1 - - cytoscape-fcose@2.2.0(cytoscape@3.33.1): - dependencies: - cose-base: 2.2.0 - cytoscape: 3.33.1 - - cytoscape@3.33.1: {} - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - - d3-array@3.2.4: - dependencies: - internmap: 2.0.3 - - d3-axis@3.0.0: {} - - d3-brush@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3-chord@3.0.1: - dependencies: - d3-path: 3.1.0 - - d3-color@3.1.0: {} - - d3-contour@4.0.2: - dependencies: - d3-array: 3.2.4 - - d3-delaunay@6.0.4: - dependencies: - delaunator: 5.0.1 - - d3-dispatch@3.0.1: {} - - d3-drag@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 - - d3-dsv@3.0.1: - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - - d3-ease@3.0.1: {} - - d3-fetch@3.0.1: + color-string@1.9.1: dependencies: - d3-dsv: 3.0.1 + color-name: 1.1.4 + simple-swizzle: 0.2.2 + optional: true - d3-force@3.0.0: + color@4.2.3: dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - - d3-format@3.1.0: {} + color-convert: 2.0.1 + color-string: 1.9.1 + optional: true - d3-geo@3.1.1: - dependencies: - d3-array: 3.2.4 + comma-separated-tokens@2.0.3: {} - d3-hierarchy@3.1.2: {} + commander@10.0.1: {} - d3-interpolate@3.0.1: - dependencies: - d3-color: 3.1.0 + commander@12.1.0: {} - d3-path@1.0.9: {} + commander@6.2.1: {} - d3-path@3.1.0: {} + commander@7.2.0: {} - d3-polygon@3.0.1: {} + commondir@1.0.1: {} - d3-quadtree@3.0.1: {} + compute-scroll-into-view@3.1.1: {} - d3-random@3.0.1: {} + concat-map@0.0.1: {} - d3-sankey@0.12.3: + concat-stream@1.6.2: dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 - d3-scale-chromatic@3.1.0: + concat-with-sourcemaps@1.1.0: dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 + source-map: 0.6.1 - d3-scale@4.0.2: + constant-case@2.0.0: dependencies: - d3-array: 3.2.4 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - - d3-selection@3.0.0: {} + snake-case: 2.1.0 + upper-case: 1.1.3 - d3-shape@1.3.7: - dependencies: - d3-path: 1.0.9 + convert-source-map@2.0.0: {} - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 + core-js-pure@3.45.1: {} - d3-time-format@4.1.0: - dependencies: - d3-time: 3.1.0 + core-util-is@1.0.3: {} - d3-time@3.1.0: + cpu-features@0.0.10: dependencies: - d3-array: 3.2.4 - - d3-timer@3.0.1: {} + buildcheck: 0.0.6 + nan: 2.23.0 + optional: true - d3-transition@3.0.1(d3-selection@3.0.0): - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 + create-require@1.1.1: {} - d3-zoom@3.0.0: + cross-spawn@7.0.6: dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 - d3@7.9.0: - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.1.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 + cssesc@3.0.0: {} - dagre-d3-es@7.0.11: - dependencies: - d3: 7.9.0 - lodash-es: 4.17.21 + csstype@3.1.3: {} data-uri-to-buffer@6.0.2: {} @@ -8167,8 +7823,6 @@ snapshots: dataloader@1.4.0: {} - dayjs@1.11.13: {} - debug@3.2.7: dependencies: ms: 2.1.3 @@ -8220,10 +7874,6 @@ snapshots: rimraf: 3.0.2 slash: 3.0.0 - delaunator@5.0.1: - dependencies: - robust-predicates: 3.0.2 - dependency-tree@11.2.0: dependencies: commander: 12.1.0 @@ -8239,8 +7889,9 @@ snapshots: detect-libc@1.0.3: {} - detect-libc@2.0.4: - optional: true + detect-libc@2.0.4: {} + + detect-node-es@1.1.0: {} detective-amd@6.0.1: dependencies: @@ -8339,10 +7990,6 @@ snapshots: dependencies: esutils: 2.0.3 - dompurify@3.2.6: - optionalDependencies: - '@types/trusted-types': 2.0.7 - dot-case@2.1.1: dependencies: no-case: 2.3.2 @@ -8384,8 +8031,6 @@ snapshots: entities@4.5.0: {} - entities@6.0.1: {} - es-abstract@1.24.0: dependencies: array-buffer-byte-length: 1.0.2 @@ -8544,10 +8189,10 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0): + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@2.5.1)): dependencies: debug: 4.4.1 - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) get-tsconfig: 4.10.1 is-bun-module: 2.0.0 @@ -8555,22 +8200,22 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0))(eslint@9.34.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@2.5.1)))(eslint@9.34.0(jiti@2.5.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.40.0(eslint@9.34.0)(typescript@5.9.2) - eslint: 9.34.0 + '@typescript-eslint/parser': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -8579,9 +8224,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0))(eslint@9.34.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@2.5.1)))(eslint@9.34.0(jiti@2.5.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -8593,19 +8238,19 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.40.0(eslint@9.34.0)(typescript@5.9.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-simple-import-sort@12.1.1(eslint@9.34.0): + eslint-plugin-simple-import-sort@12.1.1(eslint@9.34.0(jiti@2.5.1)): dependencies: - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) - eslint-plugin-sort-destructure-keys@2.0.0(eslint@9.34.0): + eslint-plugin-sort-destructure-keys@2.0.0(eslint@9.34.0(jiti@2.5.1)): dependencies: - eslint: 9.34.0 + eslint: 9.34.0(jiti@2.5.1) natural-compare-lite: 1.4.0 eslint-scope@8.4.0: @@ -8617,9 +8262,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.34.0: + eslint@9.34.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.1 @@ -8654,11 +8299,11 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.5.1 transitivePeerDependencies: - supports-color - esm@3.2.25: {} - espree@10.4.0: dependencies: acorn: 8.15.0 @@ -8688,8 +8333,6 @@ snapshots: estree-util-is-identifier-name: 3.0.0 estree-walker: 3.0.3 - estree-util-is-identifier-name@2.1.0: {} - estree-util-is-identifier-name@3.0.0: {} estree-util-scope@1.0.0: @@ -8732,26 +8375,12 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - execa@8.0.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - expand-range@1.8.2: dependencies: fill-range: 2.2.4 expect-type@1.2.2: {} - exsolve@1.0.7: {} - extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -8790,10 +8419,6 @@ snapshots: dependencies: reusify: 1.1.0 - fault@2.0.1: - dependencies: - format: 0.2.2 - fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -8862,8 +8487,6 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - format@0.2.2: {} - fs-constants@1.0.0: {} fs-extra@10.1.0: @@ -8891,6 +8514,90 @@ snapshots: fsevents@2.3.3: optional: true + fumadocs-core@15.7.2(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + dependencies: + '@formatjs/intl-localematcher': 0.6.1 + '@orama/orama': 3.1.11 + '@shikijs/rehype': 3.11.0 + '@shikijs/transformers': 3.11.0 + github-slugger: 2.0.0 + hast-util-to-estree: 3.1.3 + hast-util-to-jsx-runtime: 2.3.6 + image-size: 2.0.2 + negotiator: 1.0.0 + npm-to-yarn: 3.0.1 + react-remove-scroll: 2.7.1(@types/react@19.1.11)(react@19.1.1) + remark: 15.0.1 + remark-gfm: 4.0.1 + remark-rehype: 11.1.2 + scroll-into-view-if-needed: 3.1.0 + shiki: 3.11.0 + unist-util-visit: 5.0.0 + optionalDependencies: + '@types/react': 19.1.11 + next: 15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + transitivePeerDependencies: + - supports-color + + fumadocs-mdx@11.8.0(acorn@8.15.0)(fumadocs-core@15.7.2(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1)): + dependencies: + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@standard-schema/spec': 1.0.0 + chokidar: 4.0.3 + esbuild: 0.25.9 + estree-util-value-to-estree: 3.4.0 + fumadocs-core: 15.7.2(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + js-yaml: 4.1.0 + lru-cache: 11.1.0 + picocolors: 1.1.1 + tinyexec: 1.0.1 + tinyglobby: 0.2.14 + unist-util-visit: 5.0.0 + zod: 4.1.1 + optionalDependencies: + next: 15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react: 19.1.1 + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) + transitivePeerDependencies: + - acorn + - supports-color + + fumadocs-ui@15.7.2(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(tailwindcss@4.1.12): + dependencies: + '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.11)(react@19.1.1) + '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.1.7(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + class-variance-authority: 0.7.1 + fumadocs-core: 15.7.2(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + lodash.merge: 4.6.2 + next-themes: 0.4.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + postcss-selector-parser: 7.1.0 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-medium-image-zoom: 5.3.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + scroll-into-view-if-needed: 3.1.0 + tailwind-merge: 3.3.1 + optionalDependencies: + '@types/react': 19.1.11 + next: 15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + tailwindcss: 4.1.12 + transitivePeerDependencies: + - '@mixedbread/sdk' + - '@oramacloud/client' + - '@types/react-dom' + - algoliasearch + - react-router + - supports-color + function-bind@1.1.2: {} function.prototype.name@1.1.8: @@ -8926,6 +8633,8 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 + get-nonce@1.0.1: {} + get-own-enumerable-property-symbols@3.0.2: {} get-proto@1.0.1: @@ -8935,8 +8644,6 @@ snapshots: get-stream@6.0.1: {} - get-stream@8.0.1: {} - get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -8994,8 +8701,6 @@ snapshots: globals@14.0.0: {} - globals@15.15.0: {} - globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -9049,8 +8754,6 @@ snapshots: lodash.template: 4.5.0 through2: 2.0.5 - hachure-fill@0.5.2: {} - handlebars@4.7.8: dependencies: minimist: 1.2.8 @@ -9084,63 +8787,6 @@ snapshots: dependencies: function-bind: 1.1.2 - 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.1.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 - - hast-util-is-element@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-parse-selector@4.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-raw@9.1.0: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.0 - hast-util-from-parse5: 8.0.3 - hast-util-to-parse5: 8.0.0 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 - parse5: 7.3.0 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - hast-util-to-estree@3.1.3: dependencies: '@types/estree': 1.0.8 @@ -9196,39 +8842,14 @@ snapshots: transitivePeerDependencies: - supports-color - hast-util-to-parse5@8.0.0: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - hast-util-to-string@3.0.1: dependencies: '@types/hast': 3.0.4 - hast-util-to-text@4.0.2: - dependencies: - '@types/hast': 3.0.4 - '@types/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.1.0 - space-separated-tokens: 2.0.2 - header-case@1.0.1: dependencies: no-case: 2.3.2 @@ -9256,8 +8877,6 @@ snapshots: human-signals@2.1.0: {} - human-signals@5.0.0: {} - iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -9272,6 +8891,8 @@ snapshots: ignore@7.0.5: {} + image-size@2.0.2: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -9334,10 +8955,6 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - internmap@1.0.1: {} - - internmap@2.0.3: {} - ip-address@10.0.1: {} is-alphabetical@2.0.1: {} @@ -9403,8 +9020,6 @@ snapshots: is-decimal@2.0.1: {} - is-docker@3.0.0: {} - is-extendable@0.1.1: {} is-extendable@1.0.1: @@ -9432,10 +9047,6 @@ snapshots: is-hexadecimal@2.0.1: {} - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 - is-interactive@1.0.0: {} is-lower-case@1.1.3: @@ -9488,8 +9099,6 @@ snapshots: is-stream@2.0.1: {} - is-stream@3.0.0: {} - is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -9532,14 +9141,6 @@ snapshots: is-windows@1.0.2: {} - is-wsl@3.1.0: - dependencies: - is-inside-container: 1.0.0 - - is64bit@2.0.0: - dependencies: - system-architecture: 0.1.0 - isarray@1.0.0: {} isarray@2.0.5: {} @@ -9585,6 +9186,8 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 + jiti@2.5.1: {} + js-tokens@4.0.0: {} js-tokens@9.0.1: {} @@ -9622,16 +9225,10 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - katex@0.16.22: - dependencies: - commander: 8.3.0 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 - khroma@2.1.0: {} - kind-of@3.2.2: dependencies: is-buffer: 1.1.6 @@ -9640,20 +9237,6 @@ snapshots: kind-of@6.0.3: {} - kolorist@1.8.0: {} - - langium@3.3.1: - dependencies: - chevrotain: 11.0.3 - chevrotain-allstar: 0.3.1(chevrotain@11.0.3) - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.0.8 - - layout-base@1.0.2: {} - - layout-base@2.0.1: {} - lazy-cache@2.0.2: dependencies: set-getter: 0.1.1 @@ -9669,6 +9252,51 @@ snapshots: dependencies: libsodium-sumo: 0.7.15 + lightningcss-darwin-arm64@1.30.1: + optional: true + + lightningcss-darwin-x64@1.30.1: + optional: true + + lightningcss-freebsd-x64@1.30.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: + dependencies: + detect-libc: 2.0.4 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 + list-item@1.1.1: dependencies: expand-range: 1.8.2 @@ -9676,12 +9304,6 @@ snapshots: is-number: 2.1.0 repeat-string: 1.6.1 - local-pkg@1.1.2: - dependencies: - mlly: 1.8.0 - pkg-types: 2.3.0 - quansync: 0.2.11 - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -9690,8 +9312,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash-es@4.17.21: {} - lodash._reinterpolate@3.0.0: {} lodash.camelcase@4.3.0: {} @@ -9790,19 +9410,10 @@ snapshots: markdown-table@3.0.4: {} - marked@16.2.0: {} - math-intrinsics@1.1.0: {} math-random@1.0.4: {} - mathjax-full@3.2.2: - dependencies: - esm: 3.2.25 - mhchemparser: 4.2.1 - mj-context-menu: 0.6.1 - speech-rule-engine: 4.1.2 - mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 @@ -9827,17 +9438,6 @@ snapshots: 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.2 - 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 @@ -9884,26 +9484,14 @@ snapshots: - supports-color mdast-util-gfm@3.1.0: - dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-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 + dependencies: mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 mdast-util-to-markdown: 2.1.2 - unist-util-remove-position: 5.0.0 transitivePeerDependencies: - supports-color @@ -9993,33 +9581,6 @@ snapshots: merge2@1.4.1: {} - mermaid@11.10.1: - dependencies: - '@braintree/sanitize-url': 7.1.1 - '@iconify/utils': 2.3.0 - '@mermaid-js/parser': 0.6.2 - '@types/d3': 7.4.3 - cytoscape: 3.33.1 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1) - cytoscape-fcose: 2.2.0(cytoscape@3.33.1) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.11 - dayjs: 1.11.13 - dompurify: 3.2.6 - katex: 0.16.22 - khroma: 2.1.0 - lodash-es: 4.17.21 - marked: 16.2.0 - roughjs: 4.6.6 - stylis: 4.3.6 - ts-dedent: 2.2.0 - uuid: 11.1.0 - transitivePeerDependencies: - - supports-color - - mhchemparser@4.2.1: {} - micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.2.0 @@ -10039,13 +9600,6 @@ snapshots: 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 @@ -10104,16 +9658,6 @@ snapshots: micromark-util-combine-extensions: 2.0.1 micromark-util-types: 2.0.2 - micromark-extension-math@3.1.0: - dependencies: - '@types/katex': 0.16.7 - devlop: 1.1.0 - katex: 0.16.22 - 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.8 @@ -10310,8 +9854,6 @@ snapshots: mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} - minimatch@10.0.3: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -10328,25 +9870,22 @@ snapshots: minipass@7.1.2: {} + minizlib@3.0.2: + dependencies: + minipass: 7.1.2 + mixin-deep@1.3.2: dependencies: for-in: 1.0.2 is-extendable: 1.0.1 - mj-context-menu@0.6.1: {} - mkdirp-classic@0.5.3: {} mkdirp@0.5.6: dependencies: minimist: 1.2.8 - mlly@1.8.0: - dependencies: - acorn: 8.15.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.1 + mkdirp@3.0.1: {} module-definition@6.0.1: dependencies: @@ -10429,77 +9968,6 @@ snapshots: - '@babel/core' - babel-plugin-macros - nextra-theme-docs@4.4.0(@types/react@19.1.11)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(nextra@4.4.0(acorn@8.15.0)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)): - dependencies: - '@headlessui/react': 2.2.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - clsx: 2.1.1 - next: 15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - next-themes: 0.4.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - nextra: 4.4.0(acorn@8.15.0)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) - react: 19.1.1 - react-compiler-runtime: 19.1.0-rc.2(react@19.1.1) - react-dom: 19.1.1(react@19.1.1) - scroll-into-view-if-needed: 3.1.0 - zod: 4.0.0-beta.20250424T163858 - zustand: 5.0.8(@types/react@19.1.11)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) - transitivePeerDependencies: - - '@types/react' - - immer - - use-sync-external-store - - nextra@4.4.0(acorn@8.15.0)(next@15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2): - dependencies: - '@formatjs/intl-localematcher': 0.6.1 - '@headlessui/react': 2.2.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@mdx-js/mdx': 3.1.0(acorn@8.15.0) - '@napi-rs/simple-git': 0.1.22 - '@shikijs/twoslash': 3.11.0(typescript@5.9.2) - '@theguild/remark-mermaid': 0.3.0(react@19.1.1) - '@theguild/remark-npm2yarn': 0.3.3 - better-react-mathjax: 2.3.0(react@19.1.1) - clsx: 2.1.1 - estree-util-to-js: 2.0.0 - estree-util-value-to-estree: 3.4.0 - fast-glob: 3.3.3 - github-slugger: 2.0.0 - hast-util-to-estree: 3.1.3 - katex: 0.16.22 - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm: 3.1.0 - mdast-util-to-hast: 13.2.0 - negotiator: 1.0.0 - next: 15.5.0(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - react: 19.1.1 - react-compiler-runtime: 19.1.0-rc.2(react@19.1.1) - react-dom: 19.1.1(react@19.1.1) - react-medium-image-zoom: 5.3.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - rehype-katex: 7.0.1 - rehype-pretty-code: 0.14.1(shiki@3.11.0) - rehype-raw: 7.0.0 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.1 - remark-math: 6.0.0 - remark-reading-time: 2.0.2 - remark-smartypants: 3.0.2 - server-only: 0.0.1 - shiki: 3.11.0 - slash: 5.1.0 - title: 4.0.1 - ts-morph: 26.0.0 - unist-util-remove: 4.0.0 - unist-util-visit: 5.0.0 - unist-util-visit-children: 3.0.0 - yaml: 2.8.1 - zod: 4.0.0-beta.20250424T163858 - transitivePeerDependencies: - - acorn - - supports-color - - typescript - - nlcst-to-string@4.0.0: - dependencies: - '@types/nlcst': 2.0.3 - no-case@2.3.2: dependencies: lower-case: 1.1.4 @@ -10542,10 +10010,6 @@ snapshots: dependencies: path-key: 3.1.1 - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - npm-to-yarn@3.0.1: {} object-inspect@1.13.4: {} @@ -10593,10 +10057,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - oniguruma-parser@0.12.1: {} oniguruma-to-es@4.3.3: @@ -10699,8 +10159,6 @@ snapshots: dependencies: quansync: 0.2.11 - package-manager-detector@1.3.0: {} - param-case@2.1.1: dependencies: no-case: 2.3.2 @@ -10719,44 +10177,23 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 - 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 - parse-ms@2.1.0: {} - parse-numeric-range@1.3.0: {} - - parse5@7.3.0: - dependencies: - entities: 6.0.1 - pascal-case@2.0.1: dependencies: camel-case: 3.0.0 upper-case-first: 1.1.2 - path-browserify@1.0.1: {} - path-case@2.1.1: dependencies: no-case: 2.3.2 - path-data-parser@0.1.0: {} - path-exists@4.0.0: {} path-is-absolute@1.0.1: {} path-key@3.1.1: {} - path-key@4.0.0: {} - path-parse@1.0.7: {} path-scurry@1.11.1: @@ -10785,28 +10222,14 @@ snapshots: pify@4.0.1: {} - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.8.0 - pathe: 2.0.3 - - pkg-types@2.3.0: - dependencies: - confbox: 0.2.2 - exsolve: 1.0.7 - pathe: 2.0.3 - pluralize@8.0.0: {} - points-on-curve@0.2.0: {} + possible-typed-array-names@1.1.0: {} - points-on-path@0.2.1: + postcss-selector-parser@7.1.0: dependencies: - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - - possible-typed-array-names@1.1.0: {} + cssesc: 3.0.0 + util-deprecate: 1.0.2 postcss-values-parser@6.0.2(postcss@8.5.6): dependencies: @@ -10863,8 +10286,6 @@ snapshots: process-nextick-args@2.0.1: {} - property-information@6.5.0: {} - property-information@7.1.0: {} protobufjs@7.5.4: @@ -10925,10 +10346,6 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-compiler-runtime@19.1.0-rc.2(react@19.1.1): - dependencies: - react: 19.1.1 - react-dom@19.1.1(react@19.1.1): dependencies: react: 19.1.1 @@ -10939,6 +10356,33 @@ snapshots: react: 19.1.1 react-dom: 19.1.1(react@19.1.1) + react-remove-scroll-bar@2.3.8(@types/react@19.1.11)(react@19.1.1): + dependencies: + react: 19.1.1 + react-style-singleton: 2.2.3(@types/react@19.1.11)(react@19.1.1) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.11 + + react-remove-scroll@2.7.1(@types/react@19.1.11)(react@19.1.1): + dependencies: + react: 19.1.1 + react-remove-scroll-bar: 2.3.8(@types/react@19.1.11)(react@19.1.1) + react-style-singleton: 2.2.3(@types/react@19.1.11)(react@19.1.1) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.1.11)(react@19.1.1) + use-sidecar: 1.1.3(@types/react@19.1.11)(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.11 + + react-style-singleton@2.2.3(@types/react@19.1.11)(react@19.1.1): + dependencies: + get-nonce: 1.0.1 + react: 19.1.1 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.11 + react@19.1.1: {} read-yaml-file@1.1.0: @@ -10969,7 +10413,7 @@ snapshots: picomatch: 2.3.1 optional: true - reading-time@1.5.0: {} + readdirp@4.1.2: {} recma-build-jsx@1.0.0: dependencies: @@ -11039,38 +10483,6 @@ snapshots: dependencies: rc: 1.2.8 - rehype-katex@7.0.1: - dependencies: - '@types/hast': 3.0.4 - '@types/katex': 0.16.7 - hast-util-from-html-isomorphic: 2.0.0 - hast-util-to-text: 4.0.2 - katex: 0.16.22 - unist-util-visit-parents: 6.0.1 - vfile: 6.0.3 - - rehype-parse@9.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-from-html: 2.0.3 - unified: 11.0.5 - - rehype-pretty-code@0.14.1(shiki@3.11.0): - dependencies: - '@types/hast': 3.0.4 - hast-util-to-string: 3.0.1 - parse-numeric-range: 1.3.0 - rehype-parse: 9.0.1 - shiki: 3.11.0 - unified: 11.0.5 - unist-util-visit: 5.0.0 - - rehype-raw@7.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 - vfile: 6.0.3 - rehype-recma@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -11079,15 +10491,6 @@ snapshots: transitivePeerDependencies: - supports-color - 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.1: dependencies: '@types/mdast': 4.0.4 @@ -11099,15 +10502,6 @@ snapshots: 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@3.1.0: dependencies: mdast-util-mdx: 3.0.0 @@ -11124,13 +10518,6 @@ snapshots: transitivePeerDependencies: - supports-color - remark-reading-time@2.0.2: - dependencies: - estree-util-is-identifier-name: 2.1.0 - estree-util-value-to-estree: 3.4.0 - reading-time: 1.5.0 - unist-util-visit: 3.1.0 - remark-rehype@11.1.2: dependencies: '@types/hast': 3.0.4 @@ -11139,18 +10526,20 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 - remark-smartypants@3.0.2: + remark-stringify@11.0.0: dependencies: - retext: 9.0.0 - retext-smartypants: 6.2.0 + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - unist-util-visit: 5.0.0 - remark-stringify@11.0.0: + remark@15.0.1: dependencies: '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.2 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 unified: 11.0.5 + transitivePeerDependencies: + - supports-color remarkable@1.7.4: dependencies: @@ -11189,31 +10578,6 @@ snapshots: 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: {} rimraf@3.0.2: @@ -11225,8 +10589,6 @@ snapshots: glob: 11.0.3 package-json-from-dist: 1.0.1 - robust-predicates@3.0.2: {} - rollup@4.47.1: dependencies: '@types/estree': 1.0.8 @@ -11253,21 +10615,12 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.47.1 fsevents: 2.3.3 - roughjs@4.6.6: - dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 - run-async@2.4.1: {} run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - rw@1.3.3: {} - rxjs@6.6.7: dependencies: tslib: 1.14.1 @@ -11325,8 +10678,6 @@ snapshots: no-case: 2.3.2 upper-case-first: 1.1.2 - server-only@0.0.1: {} - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -11443,8 +10794,6 @@ snapshots: slash@3.0.0: {} - slash@5.1.0: {} - smart-buffer@4.2.0: {} snake-case@2.1.0: @@ -11477,12 +10826,6 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - speech-rule-engine@4.1.2: - dependencies: - '@xmldom/xmldom': 0.9.8 - commander: 13.1.0 - wicked-good-xpath: 1.3.0 - split-ca@1.0.1: {} sprintf-js@1.0.3: {} @@ -11580,8 +10923,6 @@ snapshots: strip-final-newline@2.0.0: {} - strip-final-newline@3.0.0: {} - strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -11605,8 +10946,6 @@ snapshots: optionalDependencies: '@babel/core': 7.28.3 - stylis@4.3.6: {} - stylus-lookup@6.1.0: dependencies: commander: 12.1.0 @@ -11626,9 +10965,9 @@ snapshots: lower-case: 1.1.4 upper-case: 1.1.3 - system-architecture@0.1.0: {} + tailwind-merge@3.3.1: {} - tabbable@6.2.0: {} + tailwindcss@4.1.12: {} tapable@2.2.3: {} @@ -11647,6 +10986,15 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + tar@7.4.3: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.2 + mkdirp: 3.0.1 + yallist: 5.0.0 + term-size@2.2.1: {} test-exclude@7.0.1: @@ -11693,12 +11041,6 @@ snapshots: no-case: 2.3.2 upper-case: 1.1.3 - title@4.0.1: - dependencies: - arg: 5.0.2 - chalk: 5.6.0 - clipboardy: 4.0.0 - tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -11721,8 +11063,6 @@ snapshots: dependencies: typescript: 5.9.2 - ts-dedent@2.2.0: {} - ts-graphviz@2.1.6: dependencies: '@ts-graphviz/adapter': 2.0.6 @@ -11730,11 +11070,6 @@ snapshots: '@ts-graphviz/common': 2.1.5 '@ts-graphviz/core': 2.0.7 - ts-morph@26.0.0: - dependencies: - '@ts-morph/common': 0.27.0 - code-block-writer: 13.0.3 - ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -11806,16 +11141,6 @@ snapshots: tweetnacl@0.14.5: {} - twoslash-protocol@0.3.4: {} - - twoslash@0.3.4(typescript@5.9.2): - dependencies: - '@typescript/vfs': 1.6.1(typescript@5.9.2) - twoslash-protocol: 0.3.4 - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -11859,8 +11184,6 @@ snapshots: typescript@5.9.2: {} - ufo@1.6.1: {} - uglify-js@3.19.3: optional: true @@ -11887,24 +11210,10 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unist-util-find-after@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - - unist-util-is@5.2.1: - dependencies: - '@types/unist': 2.0.11 - unist-util-is@6.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 @@ -11913,41 +11222,15 @@ snapshots: 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.0 - unist-util-visit-parents: 6.0.1 - 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@4.1.1: - 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.0 - unist-util-visit@3.1.0: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - unist-util-visit-parents: 4.1.1 - unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -12003,9 +11286,20 @@ snapshots: dependencies: punycode: 2.3.1 - use-sync-external-store@1.5.0(react@19.1.1): + use-callback-ref@1.3.3(@types/react@19.1.11)(react@19.1.1): + dependencies: + react: 19.1.1 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.11 + + use-sidecar@1.1.3(@types/react@19.1.11)(react@19.1.1): dependencies: + detect-node-es: 1.1.0 react: 19.1.1 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.11 util-deprecate@1.0.2: {} @@ -12017,11 +11311,6 @@ snapshots: validate-npm-package-name@5.0.1: {} - vfile-location@5.0.3: - dependencies: - '@types/unist': 3.0.3 - vfile: 6.0.3 - vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -12032,13 +11321,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1): + vite-node@3.2.4(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.3(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -12053,7 +11342,7 @@ snapshots: - tsx - yaml - vite@7.1.3(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1): + vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -12064,14 +11353,16 @@ snapshots: optionalDependencies: '@types/node': 24.3.0 fsevents: 2.3.3 + jiti: 2.5.1 + lightningcss: 1.30.1 tsx: 4.20.4 yaml: 2.8.1 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.3(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(vite@7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -12089,8 +11380,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.3(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1) - vite-node: 3.2.4(@types/node@24.3.0)(tsx@4.20.4)(yaml@2.8.1) + vite: 7.1.3(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.4)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -12109,31 +11400,12 @@ snapshots: - tsx - yaml - vscode-jsonrpc@8.2.0: {} - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-languageserver-types@3.17.5: {} - - vscode-languageserver@9.0.1: - dependencies: - vscode-languageserver-protocol: 3.17.5 - - vscode-uri@3.0.8: {} - walkdir@0.4.1: {} wcwidth@1.0.1: dependencies: defaults: 1.0.4 - web-namespaces@2.0.1: {} - webidl-conversions@3.0.1: {} whatwg-url@5.0.0: @@ -12191,8 +11463,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - wicked-good-xpath@1.3.0: {} - word-wrap@1.2.5: {} wordwrap@1.0.0: {} @@ -12225,7 +11495,10 @@ snapshots: yallist@3.1.1: {} - yaml@2.8.1: {} + yallist@5.0.0: {} + + yaml@2.8.1: + optional: true yargs-parser@21.1.1: {} @@ -12243,14 +11516,6 @@ snapshots: yocto-queue@0.1.0: {} - zod@4.0.0-beta.20250424T163858: - dependencies: - '@zod/core': 0.9.0 - - zustand@5.0.8(@types/react@19.1.11)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)): - optionalDependencies: - '@types/react': 19.1.11 - react: 19.1.1 - use-sync-external-store: 1.5.0(react@19.1.1) + zod@4.1.1: {} zwitch@2.0.4: {} From 39aca5fb559c38adfea5386cc2ea481596053ca0 Mon Sep 17 00:00:00 2001 From: solidsnakedev Date: Mon, 25 Aug 2025 14:22:10 -0600 Subject: [PATCH 3/3] refactor: format g --- docs/app/(home)/layout.tsx | 8 +-- docs/app/(home)/page.tsx | 4 +- docs/app/api/search/route.ts | 8 +-- docs/app/docs/[[...slug]]/page.tsx | 47 +++++++-------- docs/app/docs/layout.tsx | 10 ++-- docs/app/layout.tsx | 14 ++--- docs/lib/layout.shared.tsx | 8 +-- docs/lib/source.ts | 10 ++-- docs/mdx-components.tsx | 8 +-- docs/scripts/copy-evolution-docs.ts | 2 +- docs/scripts/generate-mdx-examples.ts | 86 ++++++++++++++------------- docs/source.config.ts | 19 +++--- 12 files changed, 108 insertions(+), 116 deletions(-) diff --git a/docs/app/(home)/layout.tsx b/docs/app/(home)/layout.tsx index 77379fac..806102d6 100644 --- a/docs/app/(home)/layout.tsx +++ b/docs/app/(home)/layout.tsx @@ -1,6 +1,6 @@ -import { HomeLayout } from 'fumadocs-ui/layouts/home'; -import { baseOptions } from '@/lib/layout.shared'; +import { HomeLayout } from "fumadocs-ui/layouts/home" +import { baseOptions } from "@/lib/layout.shared" -export default function Layout({ children }: LayoutProps<'/'>) { - return {children}; +export default function Layout({ children }: LayoutProps<"/">) { + return {children} } diff --git a/docs/app/(home)/page.tsx b/docs/app/(home)/page.tsx index b91f041d..5147315c 100644 --- a/docs/app/(home)/page.tsx +++ b/docs/app/(home)/page.tsx @@ -1,6 +1,6 @@ -import { redirect } from 'next/navigation'; +import { redirect } from "next/navigation" export default function HomePage() { // Permanently redirect root to /docs - redirect('/docs'); + redirect("/docs") } diff --git a/docs/app/api/search/route.ts b/docs/app/api/search/route.ts index 5661bcdc..1c62b0e4 100644 --- a/docs/app/api/search/route.ts +++ b/docs/app/api/search/route.ts @@ -6,8 +6,8 @@ // language: 'english', // }); -import { source } from '@/lib/source'; -import { createFromSource } from 'fumadocs-core/search/server'; +import { source } from "@/lib/source" +import { createFromSource } from "fumadocs-core/search/server" // it should be cached forever -export const revalidate = false; -export const { staticGET: GET } = createFromSource(source); \ No newline at end of file +export const revalidate = false +export const { staticGET: GET } = createFromSource(source) diff --git a/docs/app/docs/[[...slug]]/page.tsx b/docs/app/docs/[[...slug]]/page.tsx index bcb1f89c..de48c2db 100644 --- a/docs/app/docs/[[...slug]]/page.tsx +++ b/docs/app/docs/[[...slug]]/page.tsx @@ -1,21 +1,16 @@ -import { source } from '@/lib/source'; -import { - DocsBody, - DocsDescription, - DocsPage, - DocsTitle, -} from 'fumadocs-ui/page'; -import type { Metadata } from 'next'; -import { notFound } from 'next/navigation'; -import { createRelativeLink } from 'fumadocs-ui/mdx'; -import { getMDXComponents } from '@/mdx-components'; +import { source } from "@/lib/source" +import { DocsBody, DocsDescription, DocsPage, DocsTitle } from "fumadocs-ui/page" +import type { Metadata } from "next" +import { notFound } from "next/navigation" +import { createRelativeLink } from "fumadocs-ui/mdx" +import { getMDXComponents } from "@/mdx-components" -export default async function Page(props: PageProps<'/docs/[[...slug]]'>) { - const params = await props.params; - const page = source.getPage(params.slug); - if (!page) notFound(); +export default async function Page(props: PageProps<"/docs/[[...slug]]">) { + const params = await props.params + const page = source.getPage(params.slug) + if (!page) notFound() - const MDXContent = page.data.body; + const MDXContent = page.data.body return ( @@ -25,27 +20,25 @@ export default async function Page(props: PageProps<'/docs/[[...slug]]'>) { - ); + ) } export async function generateStaticParams() { - return source.generateParams(); + return source.generateParams() } -export async function generateMetadata( - props: PageProps<'/docs/[[...slug]]'>, -): Promise { - const params = await props.params; - const page = source.getPage(params.slug); - if (!page) notFound(); +export async function generateMetadata(props: PageProps<"/docs/[[...slug]]">): Promise { + const params = await props.params + const page = source.getPage(params.slug) + if (!page) notFound() return { title: page.data.title, - description: page.data.description, - }; + description: page.data.description + } } diff --git a/docs/app/docs/layout.tsx b/docs/app/docs/layout.tsx index 8e9ec722..5d960151 100644 --- a/docs/app/docs/layout.tsx +++ b/docs/app/docs/layout.tsx @@ -1,11 +1,11 @@ -import { DocsLayout } from 'fumadocs-ui/layouts/docs'; -import { baseOptions } from '@/lib/layout.shared'; -import { source } from '@/lib/source'; +import { DocsLayout } from "fumadocs-ui/layouts/docs" +import { baseOptions } from "@/lib/layout.shared" +import { source } from "@/lib/source" -export default function Layout({ children }: LayoutProps<'/docs'>) { +export default function Layout({ children }: LayoutProps<"/docs">) { return ( {children} - ); + ) } diff --git a/docs/app/layout.tsx b/docs/app/layout.tsx index ecfd234c..71f68930 100644 --- a/docs/app/layout.tsx +++ b/docs/app/layout.tsx @@ -1,17 +1,17 @@ -import '@/app/global.css'; -import { RootProvider } from 'fumadocs-ui/provider'; -import { Inter } from 'next/font/google'; +import "@/app/global.css" +import { RootProvider } from "fumadocs-ui/provider" +import { Inter } from "next/font/google" const inter = Inter({ - subsets: ['latin'], -}); + subsets: ["latin"] +}) -export default function Layout({ children }: LayoutProps<'/'>) { +export default function Layout({ children }: LayoutProps<"/">) { return ( {children} - ); + ) } diff --git a/docs/lib/layout.shared.tsx b/docs/lib/layout.shared.tsx index 0c6d8a6b..556c9559 100644 --- a/docs/lib/layout.shared.tsx +++ b/docs/lib/layout.shared.tsx @@ -1,4 +1,4 @@ -import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared'; +import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared" /** * Shared layout configurations @@ -10,9 +10,9 @@ import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared'; export function baseOptions(): BaseLayoutProps { return { nav: { - title: 'Evolution SDK', + title: "Evolution SDK" }, // see https://fumadocs.dev/docs/ui/navigation/links - links: [], - }; + links: [] + } } diff --git a/docs/lib/source.ts b/docs/lib/source.ts index dedc4be8..723b5951 100644 --- a/docs/lib/source.ts +++ b/docs/lib/source.ts @@ -1,9 +1,9 @@ -import { docs } from '@/.source'; -import { loader } from 'fumadocs-core/source'; +import { docs } from "@/.source" +import { loader } from "fumadocs-core/source" // See https://fumadocs.vercel.app/docs/headless/source-api for more info export const source = loader({ // it assigns a URL to your pages - baseUrl: '/docs', - source: docs.toFumadocsSource(), -}); + baseUrl: "/docs", + source: docs.toFumadocsSource() +}) diff --git a/docs/mdx-components.tsx b/docs/mdx-components.tsx index d3fbb13f..c3e8cf69 100644 --- a/docs/mdx-components.tsx +++ b/docs/mdx-components.tsx @@ -1,10 +1,10 @@ -import defaultMdxComponents from 'fumadocs-ui/mdx'; -import type { MDXComponents } from 'mdx/types'; +import defaultMdxComponents from "fumadocs-ui/mdx" +import type { MDXComponents } from "mdx/types" // use this function to get MDX components, you will need it for rendering MDX export function getMDXComponents(components?: MDXComponents): MDXComponents { return { ...defaultMdxComponents, - ...components, - }; + ...components + } } diff --git a/docs/scripts/copy-evolution-docs.ts b/docs/scripts/copy-evolution-docs.ts index 5f8e0949..740be59b 100644 --- a/docs/scripts/copy-evolution-docs.ts +++ b/docs/scripts/copy-evolution-docs.ts @@ -114,4 +114,4 @@ async function main() { } } -main() \ No newline at end of file +main() diff --git a/docs/scripts/generate-mdx-examples.ts b/docs/scripts/generate-mdx-examples.ts index 58250b47..296d7777 100644 --- a/docs/scripts/generate-mdx-examples.ts +++ b/docs/scripts/generate-mdx-examples.ts @@ -105,7 +105,7 @@ async function processMdxFile(mdxPath: string): Promise { const defaultTitle = toTitleCase(fileName) // If frontmatter exists, validate/insert title if missing or invalid - const fmMatch = mdx.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/) + const fmMatch = mdx.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/) if (fmMatch) { const fmContent = fmMatch[1] const titleMatch = fmContent.match(/(^|\n)title:\s*(?:"([^"]*)"|'([^']*)'|([^\n]+))/) @@ -182,7 +182,7 @@ async function processMdxFile(mdxPath: string): Promise { async function findMdxFiles(dir: string): Promise { const results: string[] = [] async function walk(current: string) { - let entries: import('fs').Dirent[] = [] + let entries: import("fs").Dirent[] = [] try { entries = await fs.readdir(current, { withFileTypes: true }) } catch { @@ -192,7 +192,7 @@ async function findMdxFiles(dir: string): Promise { const p = path.join(current, e.name) if (e.isDirectory()) { await walk(p) - } else if (e.isFile() && p.endsWith('.mdx')) { + } else if (e.isFile() && p.endsWith(".mdx")) { results.push(p) } } @@ -261,10 +261,10 @@ async function cleanPagesExceptModules() { try { const entries = await fs.readdir(PAGES_DIR, { withFileTypes: true }) for (const e of entries) { - const name = e.name - // Preserve important top-level files/directories. - // Don't remove the 'modules' folder and keep a root index.mdx if present. - if (name === "modules" || name === "index.mdx") continue + const name = e.name + // Preserve important top-level files/directories. + // Don't remove the 'modules' folder and keep a root index.mdx if present. + if (name === "modules" || name === "index.mdx") continue const target = path.join(PAGES_DIR, name) try { await fs.rm(target, { recursive: true, force: true }) @@ -362,14 +362,14 @@ async function generateGroupPages(groupName: string): Promise { // Produce MDX with YAML frontmatter required by fumadocs-mdx const frontmatter = [ - '---', - `title: "${title.replace(/"/g, '\\"') }"`, + "---", + `title: "${title.replace(/"/g, '\\"')}"`, ...(desc ? [`description: "${desc.replace(/"/g, '\\"')}"`] : []), - '---', - '' - ].join('\n') + "---", + "" + ].join("\n") - const mdx = [frontmatter, '```typescript', code, '```', ''].join('\n') + const mdx = [frontmatter, "```typescript", code, "```", ""].join("\n") const outFile = path.join(outDir, `${slug}.mdx`) let shouldWrite = true @@ -420,7 +420,7 @@ async function generateGroupPages(groupName: string): Promise { async function generateFromExamples(srcDir: string, relativeOutDir: string): Promise { let created = 0 const absSrc = path.join(srcDir, relativeOutDir) - let entries: import('fs').Dirent[] = [] + let entries: import("fs").Dirent[] = [] try { entries = await fs.readdir(absSrc, { withFileTypes: true }) } catch { @@ -434,7 +434,7 @@ async function generateFromExamples(srcDir: string, relativeOutDir: string): Pro const dirs: string[] = [] for (const e of entries) { if (e.isDirectory()) dirs.push(e.name) - else if (e.isFile() && (e.name.endsWith('.ts') || e.name.endsWith('.tsx'))) files.push(e.name) + else if (e.isFile() && (e.name.endsWith(".ts") || e.name.endsWith(".tsx"))) files.push(e.name) } // Create MDX for each file @@ -442,23 +442,23 @@ async function generateFromExamples(srcDir: string, relativeOutDir: string): Pro const abs = path.join(absSrc, f) const content = await readText(abs) const code = await getExampleCodeForFile(abs) - const title = extractDirective(content, 'title') || toTitleCase(f.replace(/\.(ts|tsx)$/i, '')) - const desc = extractDirective(content, 'description') - const slug = toSlug(f.replace(/\.(ts|tsx)$/i, '')) + const title = extractDirective(content, "title") || toTitleCase(f.replace(/\.(ts|tsx)$/i, "")) + const desc = extractDirective(content, "description") + const slug = toSlug(f.replace(/\.(ts|tsx)$/i, "")) const frontmatter = [ - '---', - `title: "${title.replace(/"/g, '\\"') }"`, + "---", + `title: "${title.replace(/"/g, '\\"')}"`, ...(desc ? [`description: "${desc.replace(/"/g, '\\"')}"`] : []), - '---', - '' - ].join('\n') + "---", + "" + ].join("\n") - const mdx = [frontmatter, '```typescript', code, '```', ''].join('\n') + const mdx = [frontmatter, "```typescript", code, "```", ""].join("\n") const outFile = path.join(outDir, `${slug}.mdx`) let shouldWrite = true try { - const existing = await fs.readFile(outFile, 'utf8') + const existing = await fs.readFile(outFile, "utf8") if (existing === mdx) shouldWrite = false } catch {} if (shouldWrite) { @@ -474,31 +474,35 @@ async function generateFromExamples(srcDir: string, relativeOutDir: string): Pro } // Create or refresh index.mdx for this directory (skip root-level index to avoid top-level "Examples") - if (relativeOutDir !== '') { - const indexTitle = toTitleCase(path.basename(relativeOutDir || srcDir)) || 'Examples' + if (relativeOutDir !== "") { + const indexTitle = toTitleCase(path.basename(relativeOutDir || srcDir)) || "Examples" const indexLines: string[] = [] // YAML frontmatter with title required by fumadocs-mdx - indexLines.push('---') - indexLines.push(`title: "${indexTitle.replace(/"/g, '\\"') }"`) - indexLines.push('---') - indexLines.push('') + indexLines.push("---") + indexLines.push(`title: "${indexTitle.replace(/"/g, '\\"')}"`) + indexLines.push("---") + indexLines.push("") indexLines.push(`# ${indexTitle}`) - indexLines.push('') + indexLines.push("") for (const d of dirs) { - indexLines.push(`- [${toTitleCase(d)}](/${path.join(path.relative(path.join(DOCS_ROOT, 'pages'), path.join(outDir, d)).replace(/\\/g, '/'))})`) + indexLines.push( + `- [${toTitleCase(d)}](/${path.join(path.relative(path.join(DOCS_ROOT, "pages"), path.join(outDir, d)).replace(/\\/g, "/"))})` + ) } for (const f of files) { - const name = f.replace(/\.(ts|tsx)$/i, '') - const title = extractDirective(await readText(path.join(absSrc, f)), 'title') || toTitleCase(name) + const name = f.replace(/\.(ts|tsx)$/i, "") + const title = extractDirective(await readText(path.join(absSrc, f)), "title") || toTitleCase(name) const slug = toSlug(name) - indexLines.push(`- [${title}](/${path.relative(path.join(DOCS_ROOT, 'pages'), path.join(outDir, slug)).replace(/\\/g, '/')})`) + indexLines.push( + `- [${title}](/${path.relative(path.join(DOCS_ROOT, "pages"), path.join(outDir, slug)).replace(/\\/g, "/")})` + ) } - indexLines.push('') + indexLines.push("") - const indexPath = path.join(outDir, 'index.mdx') - const indexContent = indexLines.join('\n') + const indexPath = path.join(outDir, "index.mdx") + const indexContent = indexLines.join("\n") try { - const existing = await fs.readFile(indexPath, 'utf8') + const existing = await fs.readFile(indexPath, "utf8") if (existing !== indexContent) { await fs.writeFile(indexPath, indexContent) created++ @@ -512,4 +516,4 @@ async function generateFromExamples(srcDir: string, relativeOutDir: string): Pro } return created -} \ No newline at end of file +} diff --git a/docs/source.config.ts b/docs/source.config.ts index e989c751..3f691eee 100644 --- a/docs/source.config.ts +++ b/docs/source.config.ts @@ -1,23 +1,18 @@ -import { - defineConfig, - defineDocs, - frontmatterSchema, - metaSchema, -} from 'fumadocs-mdx/config'; +import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from "fumadocs-mdx/config" // You can customise Zod schemas for frontmatter and `meta.json` here // see https://fumadocs.dev/docs/mdx/collections#define-docs export const docs = defineDocs({ docs: { - schema: frontmatterSchema, + schema: frontmatterSchema }, meta: { - schema: metaSchema, - }, -}); + schema: metaSchema + } +}) export default defineConfig({ mdxOptions: { // MDX options - }, -}); + } +})