diff --git a/.gitignore b/.gitignore
index 82a8184..4a76c22 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,9 @@ mise.local.toml
node_modules/
packages/*/dist/
packages/drfed/completions/
+docs/.vitepress/cache/
+docs/.vitepress/dist/
+docs/.vitepress/.temp/
index.db
diff --git a/README.md b/README.md
index 90dbf8b..a363671 100644
--- a/README.md
+++ b/README.md
@@ -116,3 +116,14 @@ Install the latest successful development build with
stable `latest` channel. Tagged prereleases use `next`. See
[the contributor release guide](./CONTRIBUTING.md#automated-npm-and-github-releases)
for verification, setup, and recovery procedures.
+
+
+Documentation
+-------------
+
+The documentation site lives in *docs/* and uses [VitePress]. After
+`mise install`, run `mise run dev:docs` to start it locally. Run
+`mise run build:docs` to build the static site and `mise run preview:docs` to
+preview the result.
+
+[VitePress]: https://vitepress.dev/
diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
new file mode 100644
index 0000000..eed02d6
--- /dev/null
+++ b/docs/.vitepress/config.mts
@@ -0,0 +1,75 @@
+// DrFed: A web-based platform for developing and debugging ActivityPub apps
+// Copyright (C) 2026 DrFed team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+import { defineConfig } from "vitepress";
+
+export default defineConfig({
+ lang: "en-US",
+ title: "DrFed",
+ description:
+ "Documentation for DrFed, a web-based platform for developing and debugging ActivityPub apps.",
+ head: [["link", { rel: "icon", type: "image/svg+xml", href: "/icon.svg" }]],
+ themeConfig: {
+ logo: { src: "/icon.svg", alt: "" },
+ nav: [
+ { text: "What is DrFed?", link: "/what-is-drfed" },
+ { text: "Installation", link: "/installation/manual-installation" },
+ { text: "Manual", link: "/manual/self-hosting" },
+ { text: "CLI reference", link: "/reference/cli" },
+ ],
+ sidebar: [
+ {
+ text: "Introduction",
+ items: [{ text: "What is DrFed?", link: "/what-is-drfed" }],
+ },
+ {
+ text: "Installation",
+ items: [
+ {
+ text: "Run from source",
+ link: "/installation/run-from-source",
+ },
+ {
+ text: "Manual installation",
+ link: "/installation/manual-installation",
+ },
+ ],
+ },
+ {
+ text: "Manual",
+ items: [
+ { text: "Self-hosting", link: "/manual/self-hosting" },
+ { text: "Configuration", link: "/manual/configuration" },
+ ],
+ },
+ {
+ text: "Reference",
+ items: [{ text: "CLI", link: "/reference/cli" }],
+ },
+ ],
+ search: { provider: "local" },
+ socialLinks: [
+ { icon: "github", link: "https://github.com/fedify-dev/drfed" },
+ ],
+ editLink: {
+ pattern: "https://github.com/fedify-dev/drfed/edit/main/docs/:path",
+ },
+ footer: {
+ message: "Licensed under the GNU AGPL v3 or later.",
+ copyright: "Copyright © 2026 DrFed team",
+ },
+ },
+});
diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css
new file mode 100644
index 0000000..2d6daab
--- /dev/null
+++ b/docs/.vitepress/theme/custom.css
@@ -0,0 +1,165 @@
+/*
+DrFed: A web-based platform for developing and debugging ActivityPub apps
+Copyright (C) 2026 DrFed team
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+*/
+
+:root {
+ --vp-font-family-base: system-ui, -apple-system, "Segoe UI", sans-serif;
+ --vp-font-family-mono:
+ ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
+ --drfed-font-serif: Georgia, "Times New Roman", serif;
+
+ --vp-c-bg: #fdfcfb;
+ --vp-c-bg-alt: #f4f2f0;
+ --vp-c-bg-elv: #ffffff;
+ --vp-c-bg-soft: #f5f3f1;
+ --vp-c-text-1: #26211f;
+ --vp-c-text-2: #6a615c;
+ --vp-c-text-3: #756b65;
+ --vp-c-divider: #e9e5e1;
+ --vp-c-border: #dad4cf;
+ --vp-c-gutter: #e9e5e1;
+ --vp-c-brand-1: #b83254;
+ --vp-c-brand-2: #c23a5c;
+ --vp-c-brand-3: #b83254;
+ --vp-c-brand-soft: #f7e3e7;
+ --vp-c-default-1: #dad4cf;
+ --vp-c-default-2: #e9e5e1;
+ --vp-c-default-3: #f4f2f0;
+ --vp-c-default-soft: #f4f2f0;
+
+ --vp-home-hero-name-color: var(--vp-c-brand-1);
+ --vp-button-alt-border: var(--vp-c-border);
+ --vp-button-alt-hover-border: var(--vp-c-brand-1);
+ --vp-nav-height: 68px;
+}
+
+.dark {
+ --vp-c-bg: #181613;
+ --vp-c-bg-alt: #1e1b17;
+ --vp-c-bg-elv: #201d19;
+ --vp-c-bg-soft: #272420;
+ --vp-c-text-1: #f0ece8;
+ --vp-c-text-2: #bab1aa;
+ --vp-c-text-3: #a39990;
+ --vp-c-divider: #332f2a;
+ --vp-c-border: #453f39;
+ --vp-c-gutter: #332f2a;
+ --vp-c-brand-1: #f78da4;
+ --vp-c-brand-2: #ef6a88;
+ --vp-c-brand-3: #f78da4;
+ --vp-c-brand-soft: #322a27;
+ --vp-c-default-1: #453f39;
+ --vp-c-default-2: #332f2a;
+ --vp-c-default-3: #272420;
+ --vp-c-default-soft: #272420;
+ --vp-button-brand-text: #26211f;
+ --vp-button-brand-hover-text: #26211f;
+ --vp-button-brand-active-text: #26211f;
+}
+
+.VPNavBarTitle .title {
+ font-family: var(--drfed-font-serif);
+ font-size: 24px;
+ letter-spacing: -0.03em;
+}
+
+.VPNavBarTitle .logo {
+ height: 32px;
+ border-radius: 50%;
+}
+
+.VPHero .name {
+ font-family: var(--vp-font-family-mono);
+ font-size: 14px;
+ font-weight: 500;
+ letter-spacing: 0.14em;
+ line-height: 1.6;
+ text-transform: uppercase;
+}
+
+.VPHero .text {
+ margin-top: 20px;
+ max-width: 760px;
+ font-family: var(--drfed-font-serif);
+ font-size: clamp(40px, 5.5vw, 72px);
+ font-weight: 400;
+ letter-spacing: -0.045em;
+ line-height: 1.08;
+}
+
+.VPHero .tagline {
+ max-width: 540px;
+ padding-top: 24px;
+ font-size: 18px;
+ line-height: 1.65;
+}
+
+.VPButton {
+ border-radius: 999px;
+}
+
+.VPFeature {
+ border-color: var(--vp-c-divider);
+ border-radius: 14px;
+ background: var(--vp-c-bg-elv);
+}
+
+.VPFeature .title {
+ font-family: var(--drfed-font-serif);
+ font-size: 22px;
+ font-weight: 400;
+ letter-spacing: -0.02em;
+}
+
+.VPFeature .details {
+ margin-top: 8px;
+ line-height: 1.7;
+}
+
+.vp-doc h1,
+.vp-doc h2 {
+ font-family: var(--drfed-font-serif);
+ font-weight: 400;
+ letter-spacing: -0.025em;
+}
+
+.vp-doc h1 {
+ font-size: clamp(34px, 4vw, 44px);
+ line-height: 1.15;
+}
+
+.vp-doc h2 {
+ font-size: 28px;
+}
+
+.vp-doc p,
+.vp-doc li {
+ line-height: 1.75;
+}
+
+.vp-doc div[class*="language-"] {
+ border: 1px solid var(--vp-c-divider);
+ border-radius: 12px;
+}
+
+.VPSidebarItem.is-active > .item .link > .text {
+ font-weight: 700;
+}
+
+.VPFooter {
+ background: var(--vp-c-bg-alt);
+}
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
new file mode 100644
index 0000000..a7e1a93
--- /dev/null
+++ b/docs/.vitepress/theme/index.ts
@@ -0,0 +1,21 @@
+// DrFed: A web-based platform for developing and debugging ActivityPub apps
+// Copyright (C) 2026 DrFed team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+import DefaultTheme from "vitepress/theme-without-fonts";
+
+import "./custom.css";
+
+export default DefaultTheme;
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..ee065ae
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,22 @@
+---
+layout: home
+
+hero:
+ name: ActivityPub Debugging Platform
+ text: Debugging tools for the fediverse.
+ tagline: DrFed is a web-based platform for developing and debugging ActivityPub implementations—inspecting objects and activities, and tracing where federation fails. It is built by the team behind Fedify.
+ actions:
+ - theme: brand
+ text: Install
+ link: /installation/manual-installation
+ - theme: alt
+ text: View on GitHub
+ link: https://github.com/fedify-dev/drfed
+
+features:
+ - title: Contribute to DrFed
+ details: Find package boundaries, coding conventions, and required checks.
+ link: https://github.com/fedify-dev/drfed/blob/main/CONTRIBUTING.md
+ linkText: Contributor guide
+---
+
diff --git a/docs/installation/manual-installation.md b/docs/installation/manual-installation.md
new file mode 100644
index 0000000..8acce9b
--- /dev/null
+++ b/docs/installation/manual-installation.md
@@ -0,0 +1,66 @@
+Manual installation
+===================
+
+Run DrFed on your own server to develop and debug ActivityPub apps.
+
+
+Install from npm
+----------------
+
+Install Node.js 26 or newer, then install [DrFed from npm] in a directory
+where you want to run it:
+
+~~~~ sh
+npm install @drfed/drfed
+~~~~
+
+The package provides `drfed-server`, `drfed-account`, `drfed-migrate`, and
+`drfed-web`. Use `npx` to run these commands from the installation directory.
+
+[DrFed from npm]: https://www.npmjs.com/package/@drfed/drfed
+
+
+Create an account and start DrFed
+---------------------------------
+
+Create your account before starting the server:
+
+~~~~ sh
+npx drfed-account create --data-path .pgdata \
+ --email alice@example.com --name "Alice"
+~~~~
+
+Replace the email address and display name with your own. The command prepares
+the database in *.pgdata/*. Start DrFed with the same data directory:
+
+~~~~ sh
+npx drfed-server --root-origin http://drfed.localhost:8888 \
+ --data-path .pgdata --mail-log-content
+~~~~
+
+Open `http://drfed.localhost:8888` and sign in with your email address. This
+local example prints the login link in the server log. Follow it to finish
+signing in. The server includes the web frontend and stores your data in
+*.pgdata/*. Press `Ctrl+C` to stop it.
+
+For a public deployment, configure your domain, wildcard DNS for instance
+subdomains, HTTPS, and a mail delivery transport. See [Configuration] and
+[Self-hosting] for settings, account creation, and database maintenance.
+
+[Configuration]: /manual/configuration
+[Self-hosting]: /manual/self-hosting
+
+
+Other installation options
+--------------------------
+
+To make the commands available directly on your `PATH`, install globally:
+
+~~~~ sh
+npm install --global @drfed/drfed
+~~~~
+
+Then run `drfed-server` and the other commands without `npx`.
+To build DrFed yourself, see [Run from source].
+
+[Run from source]: /installation/run-from-source
diff --git a/docs/installation/run-from-source.md b/docs/installation/run-from-source.md
new file mode 100644
index 0000000..3b148a9
--- /dev/null
+++ b/docs/installation/run-from-source.md
@@ -0,0 +1,106 @@
+Run from source
+===============
+
+Build and run DrFed from its repository. This guide runs the backend and web
+frontend together on your own machine, using PGlite for database storage.
+
+
+Prerequisites
+-------------
+
+Install Git and [mise] 2026.6.10 or newer. Mise manages Node.js 26, pnpm 11,
+and the other tools required by the project.
+
+[mise]: https://mise.jdx.dev/
+
+
+Get the source and build
+------------------------
+
+Clone the repository and run these commands from its root:
+
+~~~~ sh
+git clone https://github.com/fedify-dev/drfed.git
+cd drfed
+mise trust
+mise install
+mise run build
+~~~~
+
+The build compiles the backend packages, generates the GraphQL schema and
+Relay artifacts, and builds the web frontend.
+
+
+Create an account
+-----------------
+
+Create your account before starting the server:
+
+~~~~ sh
+mise exec -- node packages/drfed/bin/drfed-account.mjs create \
+ --data-path .pgdata --email alice@example.com --name "Alice"
+~~~~
+
+Replace the email address and display name with your own. The command prepares
+the database and stores the account in *.pgdata/*. See [Create an account] for
+other database options.
+
+[Create an account]: /manual/self-hosting#create-an-account
+
+
+Start DrFed
+-----------
+
+~~~~ sh
+mise run drfed-server \
+ --root-origin http://drfed.localhost:8888 \
+ --data-path .pgdata \
+ --mail-log-content
+~~~~
+
+The server listens on `localhost:8888`, serves both the frontend and GraphQL,
+and runs database migrations automatically. Keep this terminal open while
+using DrFed.
+
+The root origin gives each instance its own subdomain, such as
+`http://example.drfed.localhost:8888`. Login links default to the same origin
+as the frontend.
+
+
+Sign in
+-------
+
+Open `http://drfed.localhost:8888` and sign in with the account you created.
+Use this hostname rather than `localhost:8888`, because the frontend is served
+only on its configured authority.
+
+The example uses the log-only mail transport with `--mail-log-content`, which
+prints login links in the server log. Follow the link to finish signing in.
+Message contents are excluded from logs by default; configure mail delivery
+for a service deployment.
+
+To stop DrFed, press `Ctrl+C`. Your database remains in *.pgdata/* and is
+reused when you restart the server.
+
+
+Use your own domain
+-------------------
+
+For access from other machines or federation with remote servers, configure
+publicly reachable origins, wildcard DNS for instance subdomains, and HTTPS.
+Set `--root-origin` to your external HTTPS origin. A reverse proxy must
+preserve the original `Host` header. DrFed restores the request scheme from
+its configured origin and ignores forwarded headers.
+
+See the [CLI reference] for database, origin, email, and logging options.
+
+[CLI reference]: /reference/cli
+
+
+Work on the code
+----------------
+
+For development with automatic rebuilds, run `mise run dev` after building.
+It starts the backend and a separate Vite frontend, and seeds development
+accounts by default. Use `mise run dev --no-seed` to skip that seed. The
+frontend defaults to `http://localhost:3000`; follow the URL printed by Vite.
diff --git a/docs/manual/configuration.md b/docs/manual/configuration.md
new file mode 100644
index 0000000..087ef27
--- /dev/null
+++ b/docs/manual/configuration.md
@@ -0,0 +1,132 @@
+Configuration
+=============
+
+DrFed accepts command-line options, `DRFED_*` environment variables, and an
+explicit TOML configuration file. `drfed-server`, `drfed-account`,
+`drfed-migrate`, and `drfed-web` share these settings, using the sections
+relevant to each command.
+
+
+Select a configuration file
+---------------------------
+
+Create *drfed.toml*:
+
+~~~~ toml
+[server]
+root_origin = "http://drfed.localhost:8888"
+listen = "localhost:8888"
+
+[database]
+data_path = ".pgdata"
+migrate = true
+
+[mail]
+transport = "logtape"
+
+[telemetry]
+log_level = "info"
+~~~~
+
+Select it explicitly when starting the server:
+
+~~~~ sh
+drfed-server --config drfed.toml
+~~~~
+
+From a built repository, use `mise run drfed-server --config drfed.toml`.
+You can also select the file with `DRFED_CONFIG`. DrFed does not search for
+configuration files or load *.env* files automatically. The repository's
+development task has its own environment-file loading.
+
+
+Override a setting
+------------------
+
+Settings use this precedence, from highest to lowest:
+
+1. Command-line options.
+2. `DRFED_*` environment variables.
+3. The selected TOML file.
+4. Defaults.
+
+For example, `--listen localhost:9000` overrides `server.listen` in the file.
+Login origins in the environment must be a JSON array:
+
+~~~~ sh
+DRFED_LOGIN_ORIGINS='["http://drfed.localhost:8888", "https://drfed.example.com"]' \
+ drfed-server --config drfed.toml
+~~~~
+
+The list includes the embedded frontend's public origin from the example
+configuration, which is required when the frontend is enabled.
+
+Relative paths in TOML resolve against the configuration file's directory.
+Paths supplied through CLI options or environment variables resolve against
+the command's working directory. Unknown TOML fields are rejected.
+
+
+Server and database settings
+----------------------------
+
+| TOML setting | Environment variable | Purpose |
+| ---------------------- | --------------------- | ------------------------------------------- |
+| `server.root_origin` | `DRFED_ROOT_ORIGIN` | Origin whose subdomains serve instances. |
+| `server.listen` | `DRFED_LISTEN` | Backend listening address. |
+| `server.login_origins` | `DRFED_LOGIN_ORIGINS` | Allowed frontend origins for login links. |
+| `server.web` | `DRFED_WEB` | Enable the embedded frontend. |
+| `database.data_path` | `DRFED_DATA_PATH` | PGlite storage directory. |
+| `database.url` | `DRFED_POSTGRES_URL` | PostgreSQL connection URL. |
+| `database.migrate` | `DRFED_MIGRATE` | Apply pending migrations on server startup. |
+
+The embedded frontend is enabled by default, and login origins default to its
+public origin. A backend started with `--no-web` requires explicit login
+origins. Use `web.public_origin` or `--public-origin` to choose a frontend
+origin different from the root origin.
+
+Choose either `database.data_path` or `database.url` at the same input source.
+A higher-priority database selector replaces a lower-priority selector. With
+neither set, DrFed uses PGlite in its default persistent OS data directory.
+
+
+Deliver login email
+-------------------
+
+The default `logtape` transport records mail events without delivering mail.
+It excludes message contents. For local testing, use `--mail-log-content` to
+include login links in the log.
+
+For SMTP delivery, add settings such as:
+
+~~~~ toml
+[mail]
+transport = "smtp"
+from = "noreply@drfed.example.com"
+
+[mail.smtp]
+host = "smtp.example.com"
+port = 587
+tls = "starttls-required"
+user = "operator"
+password_file = "secrets/smtp-password"
+~~~~
+
+The password file path is relative to the TOML file. Configure your mail
+provider to accept the sender address. SMTP also supports direct TLS and
+OAuth credentials. Other transports include JMAP, Lettermint, Maileroo,
+Mailtrap, Mailgun, Plunk, Resend, SendGrid, and Amazon SES. See the
+[server package README] for their settings and credential-file rules.
+
+[server package README]: https://github.com/fedify-dev/drfed/blob/main/packages/drfed/README.md
+
+
+Inspect the effective configuration
+-----------------------------------
+
+~~~~ sh
+drfed-server --config drfed.toml --print-config
+~~~~
+
+This prints JSON with the selected settings and their sources, with secrets
+redacted. It exits without opening the database, mail transport, or log file.
+Use it to check which source supplied a setting before starting the server.
diff --git a/docs/manual/self-hosting.md b/docs/manual/self-hosting.md
new file mode 100644
index 0000000..e741853
--- /dev/null
+++ b/docs/manual/self-hosting.md
@@ -0,0 +1,73 @@
+Self-hosting
+============
+
+Run DrFed on your own server to keep your debugging workspace on your own
+infrastructure. See the [CLI reference] for backend configuration options.
+
+[CLI reference]: /reference/cli
+
+
+Create an account
+-----------------
+
+Use `drfed-account create` with the same database settings as your server.
+Stop a running PGlite server first: only one process can own its data
+directory at a time.
+
+~~~~ sh
+drfed-account create --data-path .pgdata \
+ --email alice@example.com --name "Alice"
+~~~~
+
+Replace the email address and display name with your own. The command prepares
+a fresh database automatically. An existing account with the same normalized
+email is returned without changing its name or privileges. Newly created
+accounts are not administrators.
+
+For a configured deployment, use the same TOML file:
+
+~~~~ sh
+drfed-account create --config drfed.toml \
+ --email alice@example.com --name "Alice"
+~~~~
+
+PostgreSQL deployments can instead pass
+`--database-url postgres://drfed@localhost/drfed`. The command prints JSON with
+a `created` or `exists` status; both outcomes exit successfully.
+
+When running from the repository, build first and invoke the same command
+through its binary:
+
+~~~~ sh
+mise exec -- node packages/drfed/bin/drfed-account.mjs create \
+ --data-path .pgdata --email alice@example.com --name "Alice"
+~~~~
+
+Start the server, open its configured public origin, and sign in with that
+email address. Follow the login link delivered by your mail transport.
+For local testing with log-only mail, explicitly enable `--mail-log-content`
+to print login links; their contents are excluded by default.
+
+See [Configuration] for shared settings and mail setup.
+
+[Configuration]: /manual/configuration
+
+
+Prepare and check the database
+------------------------------
+
+`drfed-migrate` prepares the database without starting the server. Stop a
+PGlite server before either of these commands:
+
+~~~~ sh
+drfed-migrate --config drfed.toml
+drfed-migrate --config drfed.toml --check
+~~~~
+
+`--check` inspects migration history without applying DrFed migrations. It
+exits successfully only when the database matches the installed migrations
+with no pending changes. Back up your database before upgrading, apply the
+new migrations, check them, then restart the server.
+
+From the repository, invoke *packages/drfed/bin/drfed-migrate.mjs* through
+`mise exec -- node` after building.
diff --git a/docs/public/icon.svg b/docs/public/icon.svg
new file mode 100644
index 0000000..683340e
--- /dev/null
+++ b/docs/public/icon.svg
@@ -0,0 +1,395 @@
+
+
diff --git a/docs/reference/cli.md b/docs/reference/cli.md
new file mode 100644
index 0000000..ad887b6
--- /dev/null
+++ b/docs/reference/cli.md
@@ -0,0 +1,199 @@
+CLI reference
+=============
+
+DrFed provides four commands for running and maintaining a deployment:
+
+| Command | Purpose |
+| --------------- | ------------------------------------------ |
+| `drfed-server` | Run the backend and embedded web frontend. |
+| `drfed-account` | Create local accounts. |
+| `drfed-migrate` | Prepare or inspect the database. |
+| `drfed-web` | Run a separate frontend against a backend. |
+
+When running from the repository, invoke it with `mise run drfed-server`.
+For the other commands, build first and run the matching binary in
+*packages/drfed/bin/* through `mise exec -- node`, such as
+`mise exec -- node packages/drfed/bin/drfed-account.mjs --help`.
+
+
+Start the server
+----------------
+
+Use PGlite to store data in a local directory:
+
+~~~~ sh
+mise run drfed-server \
+ --root-origin http://drfed.localhost:8888 \
+ --data-path .pgdata --mail-log-content
+~~~~
+
+Or connect to PostgreSQL:
+
+~~~~ sh
+mise run drfed-server \
+ --root-origin https://drfed.example.com \
+ --database-url postgres://drfed@localhost/drfed
+~~~~
+
+Supply a root origin through CLI options, the environment, or TOML. The server
+listens on `localhost:8888` by default and runs database migrations on startup.
+Open the configured public origin for the frontend. If no database is selected,
+DrFed uses PGlite in its default persistent OS data directory.
+
+
+Server options
+--------------
+
+| Option | Aliases | Description |
+| ----------------------------- | ---------------------- | ------------------------------------------------------------------------------------------ |
+| `--root-origin ORIGIN` | `-r` | Required origin whose subdomains serve instances. |
+| `--login-origin ORIGIN` | | Allowed login origin. Defaults to the public origin; required with `--no-web`. Repeatable. |
+| `--listen HOST:PORT` | `-l` | Listening address. Default: `localhost:8888`. |
+| `--pglite-data-path PATH` | `--data-path`, `-d` | Local PGlite storage directory. |
+| `--postgres-url URL` | `--database-url`, `-D` | PostgreSQL connection URL. |
+| `--no-migrate` | `-M` | Disable automatic database migrations. |
+| `--email-from ADDRESS` | `-f` | Sender address. Default: `noreply@` the root origin's host name. |
+| `--smtp-url URL` | `-s` | SMTP server URL; supports SMTP and SMTPS. |
+| `--config FILE` | | Select an explicit TOML configuration file. |
+| `--print-config` | | Print effective settings and sources with secrets redacted; exit. |
+| `--public-origin ORIGIN` | | Frontend origin. Defaults to the root origin. |
+| `--no-web` | | Run only the backend; require explicit login origins. |
+| `--web` | | Enable the embedded frontend (default). |
+| `--migrate` | | Enable automatic database migrations (default). |
+| `--migration-lock-timeout MS` | | Connection and migration lock wait. Default: `30000` milliseconds. |
+| `--mail-transport KIND` | | Select log-only mail, SMTP, JMAP, or a supported API transport. |
+| `--mail-log-content` | | Include login links and message contents in log-only mail. |
+| `--no-mail-log-content` | | Exclude message contents from log-only mail (default). |
+| `--help` | | Show usage and available options. |
+| `--version` | | Show the version. |
+
+For `--root-origin https://drfed.example.com`, an instance named `example`
+lives at `https://example.drfed.example.com`. Remote federation requires DNS
+and HTTPS configuration for these subdomains. The root origin must use a host
+name rather than an IP address.
+
+`--login-origin` accepts HTTP or HTTPS origins. Repeat it when more than one
+frontend origin should be allowed. `DRFED_LOGIN_ORIGINS` accepts a JSON array
+of origins. An explicit allowlist replaces the default and must include the
+embedded frontend's public origin when the frontend is enabled.
+
+All four commands accept `--config`, relevant `DRFED_*` variables, and
+`--print-config`. See [Configuration] for precedence, paths, and mail settings.
+
+[Configuration]: /manual/configuration
+
+
+Logging
+-------
+
+| Option | Alias | Description |
+| ------------------- | ----- | -------------------------------------------------------------------------- |
+| `--log-level LEVEL` | `-L` | `trace`, `debug`, `info`, `warning`, `error`, or `fatal`. Default: `info`. |
+| `--log-output FILE` | | Output destination. Use `-` for the console. |
+| `--log-format TYPE` | | `jsonl`, `logfmt`, `color`, or `plain`. |
+
+For example, add `--log-level debug` to a server command to see more detail.
+
+
+Shell completions
+-----------------
+
+All four commands can generate completion scripts for Bash (`bash`), zsh
+(`zsh`), fish (`fish`), PowerShell (`pwsh`), and Nushell (`nu`):
+
+~~~~ sh
+drfed-server completion bash
+~~~~
+
+Replace `drfed-server` with `drfed-account`, `drfed-migrate`, or `drfed-web`
+to generate that command's script. Installing the npm package does not
+activate completions automatically.
+
+For Bash, generate and load scripts for all four installed commands:
+
+~~~~ bash
+for command in drfed-server drfed-web drfed-migrate drfed-account; do
+ "$command" completion bash > "$command-completion.bash"
+ source "./$command-completion.bash"
+done
+~~~~
+
+Run this in a directory where these filenames are available. Keep the command
+binaries on `PATH` so completion callbacks can find them. For persistent
+loading, move the scripts to a stable directory and source their absolute
+paths from your interactive Bash startup file.
+
+From the repository, build first and use
+`mise exec -- node packages/drfed/bin/drfed-server.mjs completion bash`.
+`mise run build` also generates scripts for all four commands and all five
+shells; use `mise run generate:completion` to regenerate them explicitly.
+The published package bundles them in its *completions/* directory.
+
+See [Completion installation] for loading instructions for each shell and
+local npm installations.
+
+[Completion installation]: https://github.com/fedify-dev/drfed/blob/main/packages/drfed/README.md#completion-installation
+
+
+Export the GraphQL schema
+-------------------------
+
+Export the schema without starting the server:
+
+~~~~ sh
+mise run generate:graphql-schema --output-file schema.graphql
+~~~~
+
+The underlying CLI options are `--generate-graphql-schema` and
+`--output-file PATH` (or `-o`). The output defaults to standard output (`-`).
+Server origins and database options are not required for schema export.
+
+
+Create an account
+-----------------
+
+~~~~ sh
+drfed-account create --data-path .pgdata \
+ --email alice@example.com --name "Alice"
+~~~~
+
+The command accepts `--config`, `--data-path`, or `--database-url`, and prepares
+the database by default. Use `--no-migrate` to require an already prepared
+database. Stop a PGlite server before creating accounts in its directory.
+
+See [Self-hosting](/manual/self-hosting#create-an-account) for the account
+creation walkthrough.
+
+
+Prepare the database
+--------------------
+
+~~~~ sh
+drfed-migrate --data-path .pgdata
+drfed-migrate --data-path .pgdata --check
+~~~~
+
+The first command applies migrations. `--check` inspects history without
+applying DrFed SQL and exits successfully only when the database is ready.
+Both accept the same configuration file and database selectors as the server.
+Stop a PGlite server before running them.
+
+
+Run a separate frontend
+-----------------------
+
+Run the backend with `--no-web` and an explicit login origin, then start
+`drfed-web` against it:
+
+~~~~ sh
+drfed-server --no-web --root-origin http://drfed.localhost:8888 \
+ --login-origin http://localhost:3000 --data-path .pgdata --mail-log-content
+drfed-web --backend-url http://localhost:8888 \
+ --public-origin http://localhost:3000 --listen localhost:3000
+~~~~
+
+Run the commands in separate terminals. `drfed-web` uses the backend's
+`/graphql` endpoint. It defaults to listening on `localhost:3000` and reads
+the TOML `web` settings, independently of the backend's listen setting.
+Use HTTPS for a remote backend; remote HTTP requires explicit opt-in through
+`--allow-insecure-backend`.
diff --git a/docs/tsconfig.json b/docs/tsconfig.json
new file mode 100644
index 0000000..1db18a6
--- /dev/null
+++ b/docs/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "target": "ES2022",
+ "types": ["vitepress/client"]
+ },
+ "include": [".vitepress/**/*.ts", ".vitepress/**/*.mts"]
+}
diff --git a/docs/what-is-drfed.md b/docs/what-is-drfed.md
new file mode 100644
index 0000000..9bf8f15
--- /dev/null
+++ b/docs/what-is-drfed.md
@@ -0,0 +1,40 @@
+What is DrFed?
+==============
+
+DrFed is a web-based platform for debugging ActivityPub interoperability
+failures. It helps you understand why federation breaks between implementations
+and reproduce the problem in a controlled environment.
+
+
+Who is it for?
+--------------
+
+Developers building ActivityPub applications or investigating federation
+problems between servers.
+
+
+How does it help?
+-----------------
+
+DrFed gives you workspace instances that run as real ActivityPub servers. You
+can create actors, receive activities, send test activities to remote servers,
+and inspect what happened.
+
+
+What does it support?
+---------------------
+
+ - Object inspection and WebFinger lookup.
+ - Signature debugging for four signing schemes used in the Fediverse.
+ - Content-type validation.
+ - JSON-LD tools for comparing how implementations process a document.
+ - Hosted use and self-hosting.
+
+
+License
+-------
+
+DrFed is free software licensed under the
+[GNU Affero General Public License v3 or later].
+
+[GNU Affero General Public License v3 or later]: https://www.gnu.org/licenses/agpl-3.0.html
diff --git a/mise.toml b/mise.toml
index 239e3e6..0d33b3a 100644
--- a/mise.toml
+++ b/mise.toml
@@ -40,6 +40,19 @@ depends = ["build:backend", "build:web"]
run = "pnpm -F @drfed/drfed build"
silent = "stdout"
+[tasks."build:docs"]
+description = "Build the VitePress documentation site"
+run = "pnpm exec vitepress build docs"
+
+[tasks."dev:docs"]
+description = "Run the VitePress documentation development server"
+raw_args = true
+run = "pnpm exec vitepress dev docs"
+
+[tasks."preview:docs"]
+description = "Preview the built VitePress documentation site"
+run = "pnpm exec vitepress preview docs"
+
[tasks."build:web"]
description = "Build SolidStart frontend server"
depends = [
diff --git a/package.json b/package.json
index acc5004..3604cb5 100644
--- a/package.json
+++ b/package.json
@@ -1,14 +1,15 @@
{
"private": true,
"devDependencies": {
- "skills-npm": "catalog:",
"@drfed/models": "workspace:*",
"@electric-sql/pglite": "catalog:",
"@logtape/logtape": "catalog:",
"drizzle-orm": "catalog:",
"@drfed/graphql": "workspace:*",
"graphql": "catalog:",
- "@sacho/sacho": "0.3.2"
+ "@sacho/sacho": "0.3.2",
+ "skills-npm": "catalog:",
+ "vitepress": "^1.6.4"
},
"scripts": {
"prepare": "skills-npm --recursive --yes --force && skills-npm --yes --force --no-cleanup"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5fdf345..b559333 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -155,6 +155,9 @@ importers:
skills-npm:
specifier: 'catalog:'
version: 1.2.0
+ vitepress:
+ specifier: ^1.6.4
+ version: 1.6.4(@algolia/client-search@5.59.0)(@types/node@26.0.0)(lightningcss@1.33.0)(postcss@8.5.29)(search-insights@2.17.3)(terser@5.48.0)(typescript@7.0.2)
packages/drfed:
dependencies:
@@ -461,13 +464,13 @@ importers:
version: 1.0.0(solid-js@1.9.14)
'@solidjs/start':
specifier: ^2.0.0
- version: 2.0.0(@solidjs/router@1.0.0(solid-js@1.9.14))(crossws@0.4.10(srvx@0.11.16))(supports-color@7.2.0)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 2.0.0(@solidjs/router@1.0.0(solid-js@1.9.14))(crossws@0.4.10(srvx@0.11.16))(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
'@types/relay-runtime':
specifier: ^20.1.1
version: 20.1.1
nitro:
specifier: 3.0.260610-beta
- version: 3.0.260610-beta(@electric-sql/pglite@0.5.3)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2)))(giget@3.3.0)(ioredis@5.11.1(supports-color@7.2.0))(jiti@2.7.0)(lru-cache@11.5.1)(rollup@4.62.2)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ version: 3.0.260610-beta(@electric-sql/pglite@0.5.3)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2)))(giget@3.3.0)(ioredis@5.11.1)(jiti@2.7.0)(lru-cache@11.5.1)(rollup@4.62.2)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
relay-runtime:
specifier: ^21.0.1
version: 21.0.1
@@ -495,7 +498,7 @@ importers:
version: 26.0.0
eslint-plugin-solid:
specifier: ^0.14.5
- version: 0.14.5(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@7.0.2)
+ version: 0.14.5(eslint@9.39.4(jiti@2.7.0))(typescript@7.0.2)
relay-compiler:
specifier: ^21.0.1
version: 21.0.1
@@ -514,6 +517,82 @@ importers:
packages:
+ '@algolia/abtesting@1.25.0':
+ resolution: {integrity: sha512-rSTin9Uta23uaewYVQEp8XI9T3iA/zrg0/1G2vhf8oFFDxFL5vybnZ5IQwsVAg4JpKxPX4/WYNKdcfWrZymk7w==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/autocomplete-core@1.17.7':
+ resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==}
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.7':
+ resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==}
+ peerDependencies:
+ search-insights: '>= 1 < 3'
+
+ '@algolia/autocomplete-preset-algolia@1.17.7':
+ resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==}
+ peerDependencies:
+ '@algolia/client-search': '>= 4.9.1 < 6'
+ algoliasearch: '>= 4.9.1 < 6'
+
+ '@algolia/autocomplete-shared@1.17.7':
+ resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==}
+ peerDependencies:
+ '@algolia/client-search': '>= 4.9.1 < 6'
+ algoliasearch: '>= 4.9.1 < 6'
+
+ '@algolia/client-abtesting@5.59.0':
+ resolution: {integrity: sha512-bm2XN0hCSMYwStSsCBT0/PUB2BDxoyR1Lnub3c392HMEy9bi8PUSW8vR6zltVEKWG2t4PQFWMD5C07bmJxGgPg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-analytics@5.59.0':
+ resolution: {integrity: sha512-XOFPOTa69WuqHR6c5tMgnUUwwqQgNSzMpxmhrgA9KmxRf8WIqEa0cokHJvohk5CYb7CZx0xeSL6Bk2IUJ7Lv7Q==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-common@5.59.0':
+ resolution: {integrity: sha512-PC8ipLOYFKRTfIUY1J3FJxS6ryzWziaXmIX9/sNMoUR8L+XhF7hX2QAeUI87YVl5zujvlYTSOb+HAIqKXDjyHQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-insights@5.59.0':
+ resolution: {integrity: sha512-yFNcCMM5fHiyoR0HuxMrzy+VjDcmhFUZTm2IJ2DHwGsVH3B5SEob4zTmeEZ3j/AZqNnmrJOCKl/tJnBg7+84bA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-personalization@5.59.0':
+ resolution: {integrity: sha512-GYja6HkDt2VrQhWmB2cLx3Z5fDwI9no7q+xwCWcFrTPm5CLH9QZvK0XLO9co1FcNIDxxkMaP3AXM39/XcecEOg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-query-suggestions@5.59.0':
+ resolution: {integrity: sha512-Wofg7bMpWh8N5qDDZs0wy6whc+KMmdNsxgrIGp9Ug2s1Bka0uq7AjyckdxReKPHLA0Q1qH8X/SNh0wn2t2X2Lw==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-search@5.59.0':
+ resolution: {integrity: sha512-fHnALZfbEnODczGk14Y/1YBRApp6UEpZUTexGcMUPzY7RDc7q4HN2Y6jh0KUG8Jo9B+q+wOoQEc3ziR0ErbuFg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/ingestion@1.59.0':
+ resolution: {integrity: sha512-Fa38s1mHgoaLCT117sfJ6P78rtxUt93CYxBYpq1VOIcslaF+cH+1h5uikAPsKfxLnsuEDZHiBiaI6eNPTsQMRA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/monitoring@1.59.0':
+ resolution: {integrity: sha512-NyNsRSqM2tF1MX7ZGw/j4rduoEJiQ5wfvbSo/CFVdEzYCjyxbGFRPOZyS/GETJG9rk1TdHOq8NZqKqk/u1fm4g==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/recommend@5.59.0':
+ resolution: {integrity: sha512-nXBK2uygWtvbCOffMWqqfjjcEtp9enDKY5/2Pw/Hhw8VVaOyK2ThbGK04bNX/Le+qoK1VHYkodWGVTKfw0Otkw==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-browser-xhr@5.59.0':
+ resolution: {integrity: sha512-yb+4afX/zja8QwX0KmV4/ae2kyYkRknsE79CRusYS2U5D8qwn2wq0cn1x12f3tm3F3+5FgmDdbuGdQTuCLSKMQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-fetch@5.59.0':
+ resolution: {integrity: sha512-Lp52TmpA1QtNmdHzs505Xwf4tgII7RAapkDSF9AAtWIBETcGaTIaXci4Rd9nS6SdaWK1BWTSqAPp5wzh6UN3Ag==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-node-http@5.59.0':
+ resolution: {integrity: sha512-YYHLEs5rC6oRTFwT7bJaKBR9NSFzikeVHGAT1ffATmUQzR8XqyhHXjoieAUoR7fBU6I5cfy1FVeh5GoRgriuzA==}
+ engines: {node: '>= 14.0.0'}
+
'@babel/code-frame@7.29.7':
resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
engines: {node: '>=6.9.0'}
@@ -619,6 +698,29 @@ packages:
resolution: {integrity: sha512-ODhCGmElUPmR3IR+KZmBNkRAFyjJ01rxvk2E+/qQ2h2EGPJH5k6bz3N24ympGc5+i4YCGk/ipIpmkwc0+iSmRg==}
engines: {node: '>=18.0'}
+ '@docsearch/css@3.8.2':
+ resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==}
+
+ '@docsearch/js@3.8.2':
+ resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==}
+
+ '@docsearch/react@3.8.2':
+ resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==}
+ peerDependencies:
+ '@types/react': '>= 16.8.0 < 19.0.0'
+ react: '>= 16.8.0 < 19.0.0'
+ react-dom: '>= 16.8.0 < 19.0.0'
+ search-insights: '>= 1 < 3'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ search-insights:
+ optional: true
+
'@drizzle-team/brocli@0.11.0':
resolution: {integrity: sha512-hD3pekGiPg0WPCCGAZmusBBJsDqGUR66Y452YgQsZOnkdQ7ViEPKuyP4huUGEZQefp8g34RRodXYmJ2TbCH+tg==}
@@ -655,6 +757,12 @@ packages:
resolution: {integrity: sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==}
engines: {node: '>=18.0.0'}
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/aix-ppc64@0.25.12':
resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
engines: {node: '>=18'}
@@ -667,6 +775,12 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm64@0.25.12':
resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
engines: {node: '>=18'}
@@ -679,6 +793,12 @@ packages:
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-arm@0.25.12':
resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
engines: {node: '>=18'}
@@ -691,6 +811,12 @@ packages:
cpu: [arm]
os: [android]
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/android-x64@0.25.12':
resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
engines: {node: '>=18'}
@@ -703,6 +829,12 @@ packages:
cpu: [x64]
os: [android]
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-arm64@0.25.12':
resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
engines: {node: '>=18'}
@@ -715,6 +847,12 @@ packages:
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.25.12':
resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
engines: {node: '>=18'}
@@ -727,6 +865,12 @@ packages:
cpu: [x64]
os: [darwin]
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-arm64@0.25.12':
resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
engines: {node: '>=18'}
@@ -739,6 +883,12 @@ packages:
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.25.12':
resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
engines: {node: '>=18'}
@@ -751,6 +901,12 @@ packages:
cpu: [x64]
os: [freebsd]
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm64@0.25.12':
resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
engines: {node: '>=18'}
@@ -763,6 +919,12 @@ packages:
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-arm@0.25.12':
resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
engines: {node: '>=18'}
@@ -775,6 +937,12 @@ packages:
cpu: [arm]
os: [linux]
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-ia32@0.25.12':
resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
engines: {node: '>=18'}
@@ -787,6 +955,12 @@ packages:
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-loong64@0.25.12':
resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
engines: {node: '>=18'}
@@ -799,6 +973,12 @@ packages:
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.25.12':
resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
engines: {node: '>=18'}
@@ -811,6 +991,12 @@ packages:
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.25.12':
resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
engines: {node: '>=18'}
@@ -823,6 +1009,12 @@ packages:
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.25.12':
resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
engines: {node: '>=18'}
@@ -835,6 +1027,12 @@ packages:
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-s390x@0.25.12':
resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
engines: {node: '>=18'}
@@ -847,6 +1045,12 @@ packages:
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/linux-x64@0.25.12':
resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
engines: {node: '>=18'}
@@ -871,6 +1075,12 @@ packages:
cpu: [arm64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.21.5':
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.25.12':
resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
engines: {node: '>=18'}
@@ -895,6 +1105,12 @@ packages:
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.25.12':
resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
engines: {node: '>=18'}
@@ -919,6 +1135,12 @@ packages:
cpu: [arm64]
os: [openharmony]
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/sunos-x64@0.25.12':
resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
engines: {node: '>=18'}
@@ -931,6 +1153,12 @@ packages:
cpu: [x64]
os: [sunos]
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-arm64@0.25.12':
resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
engines: {node: '>=18'}
@@ -943,6 +1171,12 @@ packages:
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-ia32@0.25.12':
resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
engines: {node: '>=18'}
@@ -955,6 +1189,12 @@ packages:
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
'@esbuild/win32-x64@0.25.12':
resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
engines: {node: '>=18'}
@@ -1138,6 +1378,12 @@ packages:
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
+ '@iconify-json/simple-icons@1.2.99':
+ resolution: {integrity: sha512-kouZhqvUoNdxEe+lZksbJJZMCZv4b4Ob62O1GW3fcpz/I0mVPzM+9/Qf/DUuv5ns8l6c46D8M/ubhJjjbLp9HQ==}
+
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+
'@internationalized/number@3.6.7':
resolution: {integrity: sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==}
@@ -1886,19 +2132,30 @@ packages:
resolution: {integrity: sha512-vHra5oIbq+IKK8ZzhqcprwWFnAJPDxkzj3AG/45//dp0sTE1PI0Qf3jYqkwRgC1nSDoG4Po38gj9HGJutIAkgQ==}
engines: {node: '>=18'}
hasBin: true
+ '@shikijs/core@2.5.0':
+ resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==}
'@shikijs/core@4.4.1':
resolution: {integrity: sha512-VeR2CY6Nn9/WbisoYLOQZ7HZOnwTrpBuOw4wExjqLnBCi62BNWynBUO6K2uPIASPFJwAv7cX1fUu+LrPlSstcw==}
engines: {node: '>=20'}
+ '@shikijs/engine-javascript@2.5.0':
+ resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==}
+
'@shikijs/engine-javascript@4.4.1':
resolution: {integrity: sha512-6U4lJBh8LTvIkEVqRHv/rr3ruwtO6IweFQt1ME1ntHJMGHS+6N86vfYGO1o8c/DtOCTia2lfhdQBtBrps1sDfQ==}
engines: {node: '>=20'}
+ '@shikijs/engine-oniguruma@2.5.0':
+ resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==}
+
'@shikijs/engine-oniguruma@4.4.1':
resolution: {integrity: sha512-p23RugMKss0r5DAtRJW1yAXUDl60JvhQYV20yuxei//26JyDSJefV3umyWzzwep2weblMnJGDYahuti6XkcMgA==}
engines: {node: '>=20'}
+ '@shikijs/langs@2.5.0':
+ resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==}
+
'@shikijs/langs@4.4.1':
resolution: {integrity: sha512-xb2kCMloBCIraIy2fS5MW0t/BxVY3q2nDyQKBoeSeq6KNrQbShHetCFlw2n35fGIJ6t3+hXDLQogP5ir9O9bvA==}
engines: {node: '>=20'}
@@ -1907,10 +2164,19 @@ packages:
resolution: {integrity: sha512-ko2OfDoG89YuQ7xL5LtcQiWKb7NIv1Ephb7g48TVU198OzAMLC8lXVEwaJGHK4sUMYrfAGJDqYmNLOLiW/Kz8w==}
engines: {node: '>=20'}
+ '@shikijs/themes@2.5.0':
+ resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==}
+
'@shikijs/themes@4.4.1':
resolution: {integrity: sha512-wudOaoFro+/Zl9gQv2W1Ur5XlVduqvTuYLI483Xi0wgc1A+cy1hfB2r6ac6ufBgF+ID7KJEW7L41MHrzQ4wH+w==}
engines: {node: '>=20'}
+ '@shikijs/transformers@2.5.0':
+ resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==}
+
+ '@shikijs/types@2.5.0':
+ resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==}
+
'@shikijs/types@4.4.1':
resolution: {integrity: sha512-GOwCLQDHM5EjGUWNPrhzJbr6JP8V/Dx/CDVkWvbZ1Avw5JFnNUckrgbLmE07qtg4WlW7Q7QFndhjIkeU9XMPvw==}
engines: {node: '>=20'}
@@ -2029,9 +2295,18 @@ packages:
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ '@types/linkify-it@5.0.0':
+ resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+
+ '@types/markdown-it@14.2.0':
+ resolution: {integrity: sha512-NoQ2yGlLWj4wpxMs+TYmRKk3thDrQ97agr7sFqfLsAlvoS8SNQuTrlObhFqG9iugdTtgOE9jpJ6FNM4ZGsa5xQ==}
+
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+ '@types/mdurl@2.0.0':
+ resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+
'@types/micromatch@4.0.10':
resolution: {integrity: sha512-5jOhFDElqr4DKTrTEbnW8DZ4Hz5LRUEmyrGpCMrD/NphYv3nUnaF08xmSLx1rGGnyEs/kFnhiw6dCgcDqMr5PQ==}
@@ -2047,6 +2322,9 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ '@types/web-bluetooth@0.0.21':
+ resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
+
'@typescript-eslint/project-service@8.62.1':
resolution: {integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2296,6 +2574,99 @@ packages:
peerDependencies:
'@upyo/core': 0.6.0
+ '@vitejs/plugin-vue@5.2.4':
+ resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0 || ^6.0.0
+ vue: ^3.2.25
+
+ '@vue/compiler-core@3.5.43':
+ resolution: {integrity: sha512-zdiLhnbe1QQqgDT8xZMpNmyqZ3qlI+/Q/FHQco57Kwl/b05HhCzN6eVGN9QU9rbga4CrS0H5SYY8VGHZCt/1Hg==}
+
+ '@vue/compiler-dom@3.5.43':
+ resolution: {integrity: sha512-PEZoAk3NQmsn/ejMzSOCyTYqwGqczrWm70PuhBKjjv1+TCoQAaO/zOqNwjV+honlNstT5ILxtc+8r8UUfj+iEQ==}
+
+ '@vue/compiler-sfc@3.5.43':
+ resolution: {integrity: sha512-FCbrG3XNCRl+js3huuKx4IVHBLTvMkJhVepjbxSPu1gn4yWLaYtGNQdjJGZaMytXB6qb76qQDDmDSLy/vkmleQ==}
+
+ '@vue/compiler-ssr@3.5.43':
+ resolution: {integrity: sha512-GF62orf7KiJX9RqrHNGrYBudsQGD0OhJ5nDs90O8UiDuS40+YMYomiXu6w6EuvtXuRDc3MSNis3EaaSKAVSWpg==}
+
+ '@vue/devtools-api@7.7.10':
+ resolution: {integrity: sha512-KxtEpUOOpFz/qOGRrAwA36QF7DqIA+FXgCYit9mk9wjbaZt0sXOFz81ElOZtKA4HbWHUdwNjZHBFsFFyp5BZiA==}
+
+ '@vue/devtools-kit@7.7.10':
+ resolution: {integrity: sha512-3WNi2Kq4tbpVbmhml7RiphmAt0279oh3fKNeWMQIrltfX8Q91b4i5PL8DtyNKdwmcsGrV4fg+erwWOmD05CLIw==}
+
+ '@vue/devtools-shared@7.7.10':
+ resolution: {integrity: sha512-wOPslzB8vTvpxwdaOcR2qAbwmuSP0L+rhpoC6Cf56V3Jip+HWb7PQQXOUPgBNQARpXsbQX/+mvi8kKucmBGRwQ==}
+
+ '@vue/reactivity@3.5.43':
+ resolution: {integrity: sha512-G/c9GyOZNI2jVaaS6OX1EF1SSFSv7H0ERqNTl4+DTFMlZmB5eVAB53aLQNam/7NL2NPtaDD7RdVrzf8uJzMuOA==}
+
+ '@vue/runtime-core@3.5.43':
+ resolution: {integrity: sha512-hU6U6VnVhBGQDpvlnnDlIB8ZGJBiOcgk2lh/0InltHiz3D8oSkluvuvY+do1G2H3+udeKFsmaBlgVYP7gXQzEw==}
+
+ '@vue/runtime-dom@3.5.43':
+ resolution: {integrity: sha512-Bb2Jc0YjjJdMt1SJmb9b2L/IWd3I8lIT9x9eS/xvvP9CiVgna0ffua74xKRmt4/uSJ+0r4iN8ex1jrqkhQGWQw==}
+
+ '@vue/server-renderer@3.5.43':
+ resolution: {integrity: sha512-l2Ygjv9NehV94PSBxNWsAHC0j/eIIKbn92mBuWXAPGLnn6HfJ6MH5ubsd+Nk0YoZ5FRuxWI1P2VSoh+dbPQhCQ==}
+
+ '@vue/shared@3.5.43':
+ resolution: {integrity: sha512-uksS7YGMR5NZyr4JNq0Rp+QyLns0ueaz20KwzIPW9R0LH1Vnt4E+XUM29PNseEbf1www2gOuhuDi5AKOIXag9Q==}
+
+ '@vueuse/core@12.8.2':
+ resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
+
+ '@vueuse/integrations@12.8.2':
+ resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==}
+ peerDependencies:
+ async-validator: ^4
+ axios: ^1
+ change-case: ^5
+ drauu: ^0.4
+ focus-trap: ^7
+ fuse.js: ^7
+ idb-keyval: ^6
+ jwt-decode: ^4
+ nprogress: ^0.2
+ qrcode: ^1.5
+ sortablejs: ^1
+ universal-cookie: ^7
+ peerDependenciesMeta:
+ async-validator:
+ optional: true
+ axios:
+ optional: true
+ change-case:
+ optional: true
+ drauu:
+ optional: true
+ focus-trap:
+ optional: true
+ fuse.js:
+ optional: true
+ idb-keyval:
+ optional: true
+ jwt-decode:
+ optional: true
+ nprogress:
+ optional: true
+ qrcode:
+ optional: true
+ sortablejs:
+ optional: true
+ universal-cookie:
+ optional: true
+
+ '@vueuse/metadata@12.8.2':
+ resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
+
+ '@vueuse/shared@12.8.2':
+ resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
+
'@whatwg-node/disposablestack@0.0.6':
resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==}
engines: {node: '>=18.0.0'}
@@ -2480,6 +2851,10 @@ packages:
ajv@6.15.0:
resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==}
+ algoliasearch@5.59.0:
+ resolution: {integrity: sha512-wUXzaeI7B526W4y1gFg3lcxgDZ67XSgRJIiellYWOas/pLpO7rOtxm9Gr2E/C8aiSDXIgx1q5TdSsvK67Uakqw==}
+ engines: {node: '>= 14.0.0'}
+
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -2546,6 +2921,9 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ birpc@2.9.0:
+ resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==}
+
brace-expansion@1.1.15:
resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==}
@@ -2634,6 +3012,10 @@ packages:
cookie-es@3.1.1:
resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==}
+ copy-anything@4.1.5:
+ resolution: {integrity: sha512-vePst2VLTSqPglW7Q98VwFpGiGpOHTyXIo81MO5VyLecA5zMbZw/P/V1vmwD1jksa2iJpn/YkDrJ3XhTfzUyhQ==}
+ engines: {node: '>=18'}
+
cosmiconfig@9.0.2:
resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==}
engines: {node: '>=14'}
@@ -2862,6 +3244,9 @@ packages:
electron-to-chromium@1.5.399:
resolution: {integrity: sha512-lEcqhErbHjXRvd41rnWLpzbyU/IXfIYo7QwaFWmxGeLiLyY2TBCdHnWY88vB+p3ubnihRypDm66panXl7TylLA==}
+ emoji-regex-xs@1.0.0:
+ resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
+
empathic@2.0.1:
resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==}
engines: {node: '>=14'}
@@ -2870,6 +3255,10 @@ packages:
resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
engines: {node: '>=0.12'}
+ entities@7.0.1:
+ resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
+ engines: {node: '>=0.12'}
+
env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
@@ -2901,6 +3290,11 @@ packages:
es-toolkit@1.46.1:
resolution: {integrity: sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==}
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
esbuild@0.25.12:
resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
engines: {node: '>=18'}
@@ -2974,6 +3368,9 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
@@ -3047,6 +3444,9 @@ packages:
flatted@3.4.2:
resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==}
+ focus-trap@7.8.0:
+ resolution: {integrity: sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==}
+
fs-native-extensions@1.5.1:
resolution: {integrity: sha512-abjiHKkYdcH5M9ikBEJb0MKb/fEpPtZx/yfLHzTptvUAoiFayX0tIe0BTLBU4SAoRyjZLzA0dP1Rn2p0+QRyVg==}
@@ -3132,6 +3532,9 @@ packages:
hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
hookable@6.1.1:
resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==}
@@ -3384,6 +3787,9 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+ mark.js@8.11.1:
+ resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
+
mdast-util-to-hast@13.2.1:
resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
@@ -3421,6 +3827,12 @@ packages:
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
+ minisearch@7.2.0:
+ resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==}
+
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -3499,6 +3911,9 @@ packages:
oniguruma-parser@0.12.2:
resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==}
+ oniguruma-to-es@3.1.1:
+ resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==}
+
oniguruma-to-es@4.3.6:
resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==}
@@ -3547,6 +3962,9 @@ packages:
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
pg-cloudflare@1.4.0:
resolution: {integrity: sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==}
@@ -3600,6 +4018,10 @@ packages:
resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.29:
+ resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
postgres-array@2.0.0:
resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
engines: {node: '>=4'}
@@ -3620,6 +4042,14 @@ packages:
resolution: {integrity: sha512-GD3qdB0x1z9xgFI6cdRD6xu2Sp2WCOEoe3mtnyB5Ee0XrrL5Pe+e4CCnJrRMnL1zYtRDZmQQVbvOttLnKDLnaw==}
engines: {node: '>=12'}
+ preact@10.29.8:
+ resolution: {integrity: sha512-ej2aVZ+vZ8WO7tvlQWRM9N63A0KzF9q4mWJfDUHgYaIofWY9hu74QdnQrjoPMmZi2/nZ5gN0bJCQF49xQqx09Q==}
+ peerDependencies:
+ preact-render-to-string: '>=5'
+ peerDependenciesMeta:
+ preact-render-to-string:
+ optional: true
+
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -3697,6 +4127,9 @@ packages:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
rolldown-plugin-dts@0.27.14:
resolution: {integrity: sha512-ZvuDDwoIpRK9RPxDXratCpklFO9QZZWndf/sd0VBFb4LEj0jj07UcHK9OCh7V4XiFz2Z89ziyBC2K6tJiDjrbw==}
engines: {node: ^22.18.0 || >=24.11.0}
@@ -3735,6 +4168,9 @@ packages:
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ search-insights@2.17.3:
+ resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
+
section-matter@1.0.0:
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
engines: {node: '>=4'}
@@ -3783,6 +4219,9 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ shiki@2.5.0:
+ resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==}
+
shiki@4.4.1:
resolution: {integrity: sha512-rFP+iYKzjLEIqiMiKANhARqiAbk4deDhWnBtnUO/K0D0dPxMGDH4N0FVfBY/VeI+lPrV4wNGCHQZp7EOr7NNBw==}
engines: {node: '>=20'}
@@ -3843,6 +4282,10 @@ packages:
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
+
split2@4.2.0:
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
engines: {node: '>= 10.x'}
@@ -3888,10 +4331,17 @@ packages:
style-to-object@1.0.14:
resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+ superjson@2.2.6:
+ resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==}
+ engines: {node: '>=16'}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
+ tabbable@6.5.0:
+ resolution: {integrity: sha512-wieBHXygIm7OyQOu5hQlkk62/WyCFYGlWg7L6/ZCUZwx0o398Zkn4pVmMyfYhfMG8kGrj/Krt8eIk6UKC6VzwA==}
+
temporal-polyfill@1.0.4:
resolution: {integrity: sha512-MLEU0qOD2uXlz24oINNtdLZQl8RgmMxSnRtKEGZGGetTJjlRwQJjk+VsJ4EREaUoiaTb8NJOcUiKtoAiWn9EBg==}
@@ -4155,6 +4605,37 @@ packages:
'@testing-library/jest-dom':
optional: true
+ vite@5.4.21:
+ resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
vite@8.2.0:
resolution: {integrity: sha512-pn+CFpM0lwDeKwmOq1ZaBK/9sjorZcgqxki6MbY/jPEVd9vichIlmlD4HmQ5wdP5EgqQCFRaACBxMC7uEGc6lQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -4206,6 +4687,26 @@ packages:
vite:
optional: true
+ vitepress@1.6.4:
+ resolution: {integrity: sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==}
+ hasBin: true
+ peerDependencies:
+ markdown-it-mathjax3: ^4
+ postcss: ^8
+ peerDependenciesMeta:
+ markdown-it-mathjax3:
+ optional: true
+ postcss:
+ optional: true
+
+ vue@3.5.43:
+ resolution: {integrity: sha512-o5qZoksdnjIKvW1srZ3ab7pcDNYAerBjRe54D0LBLfRdCYFrSgBHVXokMas35czQc0//lmx4/tuY4ZNQ+Rf2Ng==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
@@ -4261,6 +4762,118 @@ packages:
snapshots:
+ '@algolia/abtesting@1.25.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+ - search-insights
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)
+ search-insights: 2.17.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+
+ '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)
+ '@algolia/client-search': 5.59.0
+ algoliasearch: 5.59.0
+
+ '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)':
+ dependencies:
+ '@algolia/client-search': 5.59.0
+ algoliasearch: 5.59.0
+
+ '@algolia/client-abtesting@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/client-analytics@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/client-common@5.59.0': {}
+
+ '@algolia/client-insights@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/client-personalization@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/client-query-suggestions@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/client-search@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/ingestion@1.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/monitoring@1.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/recommend@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
+ '@algolia/requester-browser-xhr@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+
+ '@algolia/requester-fetch@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+
+ '@algolia/requester-node-http@5.59.0':
+ dependencies:
+ '@algolia/client-common': 5.59.0
+
'@babel/code-frame@7.29.7':
dependencies:
'@babel/helper-validator-identifier': 7.29.7
@@ -4269,20 +4882,20 @@ snapshots:
'@babel/compat-data@7.29.7': {}
- '@babel/core@7.29.7(supports-color@7.2.0)':
+ '@babel/core@7.29.7':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.8
'@babel/helper-compilation-targets': 7.29.7
- '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
'@babel/helpers': 7.29.7
'@babel/parser': 7.29.8
'@babel/template': 7.29.7
- '@babel/traverse': 7.29.8(supports-color@7.2.0)
+ '@babel/traverse': 7.29.8
'@babel/types': 7.29.8
'@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -4311,19 +4924,19 @@ snapshots:
dependencies:
'@babel/types': 7.29.8
- '@babel/helper-module-imports@7.29.7(supports-color@7.2.0)':
+ '@babel/helper-module-imports@7.29.7':
dependencies:
- '@babel/traverse': 7.29.8(supports-color@7.2.0)
+ '@babel/traverse': 7.29.8
'@babel/types': 7.29.8
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.7(supports-color@7.2.0)
- '@babel/helper-module-imports': 7.29.7(supports-color@7.2.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-module-imports': 7.29.7
'@babel/helper-validator-identifier': 7.29.7
- '@babel/traverse': 7.29.8(supports-color@7.2.0)
+ '@babel/traverse': 7.29.8
transitivePeerDependencies:
- supports-color
@@ -4344,9 +4957,9 @@ snapshots:
dependencies:
'@babel/types': 7.29.8
- '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))':
+ '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/core': 7.29.7
'@babel/helper-plugin-utils': 7.29.7
'@babel/runtime@7.29.7': {}
@@ -4357,7 +4970,7 @@ snapshots:
'@babel/parser': 7.29.8
'@babel/types': 7.29.8
- '@babel/traverse@7.29.8(supports-color@7.2.0)':
+ '@babel/traverse@7.29.8':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.8
@@ -4365,7 +4978,7 @@ snapshots:
'@babel/parser': 7.29.8
'@babel/template': 7.29.7
'@babel/types': 7.29.8
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
@@ -4398,6 +5011,31 @@ snapshots:
ky: 1.14.3
undici: 6.29.0
+ '@docsearch/css@3.8.2': {}
+
+ '@docsearch/js@3.8.2(@algolia/client-search@5.59.0)(search-insights@2.17.3)':
+ dependencies:
+ '@docsearch/react': 3.8.2(@algolia/client-search@5.59.0)(search-insights@2.17.3)
+ preact: 10.29.8
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@types/react'
+ - preact-render-to-string
+ - react
+ - react-dom
+ - search-insights
+
+ '@docsearch/react@3.8.2(@algolia/client-search@5.59.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)
+ '@docsearch/css': 3.8.2
+ algoliasearch: 5.59.0
+ optionalDependencies:
+ search-insights: 2.17.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+
'@drizzle-team/brocli@0.11.0': {}
'@electric-sql/pglite@0.5.3': {}
@@ -4451,102 +5089,153 @@ snapshots:
'@whatwg-node/promise-helpers': 1.3.2
tslib: 2.8.1
+ '@esbuild/aix-ppc64@0.21.5':
+ optional: true
+
'@esbuild/aix-ppc64@0.25.12':
optional: true
'@esbuild/aix-ppc64@0.28.1':
optional: true
+ '@esbuild/android-arm64@0.21.5':
+ optional: true
+
'@esbuild/android-arm64@0.25.12':
optional: true
'@esbuild/android-arm64@0.28.1':
optional: true
+ '@esbuild/android-arm@0.21.5':
+ optional: true
+
'@esbuild/android-arm@0.25.12':
optional: true
'@esbuild/android-arm@0.28.1':
optional: true
+ '@esbuild/android-x64@0.21.5':
+ optional: true
+
'@esbuild/android-x64@0.25.12':
optional: true
'@esbuild/android-x64@0.28.1':
optional: true
+ '@esbuild/darwin-arm64@0.21.5':
+ optional: true
+
'@esbuild/darwin-arm64@0.25.12':
optional: true
'@esbuild/darwin-arm64@0.28.1':
optional: true
+ '@esbuild/darwin-x64@0.21.5':
+ optional: true
+
'@esbuild/darwin-x64@0.25.12':
optional: true
'@esbuild/darwin-x64@0.28.1':
optional: true
+ '@esbuild/freebsd-arm64@0.21.5':
+ optional: true
+
'@esbuild/freebsd-arm64@0.25.12':
optional: true
'@esbuild/freebsd-arm64@0.28.1':
optional: true
+ '@esbuild/freebsd-x64@0.21.5':
+ optional: true
+
'@esbuild/freebsd-x64@0.25.12':
optional: true
'@esbuild/freebsd-x64@0.28.1':
optional: true
+ '@esbuild/linux-arm64@0.21.5':
+ optional: true
+
'@esbuild/linux-arm64@0.25.12':
optional: true
'@esbuild/linux-arm64@0.28.1':
optional: true
+ '@esbuild/linux-arm@0.21.5':
+ optional: true
+
'@esbuild/linux-arm@0.25.12':
optional: true
'@esbuild/linux-arm@0.28.1':
optional: true
+ '@esbuild/linux-ia32@0.21.5':
+ optional: true
+
'@esbuild/linux-ia32@0.25.12':
optional: true
'@esbuild/linux-ia32@0.28.1':
optional: true
+ '@esbuild/linux-loong64@0.21.5':
+ optional: true
+
'@esbuild/linux-loong64@0.25.12':
optional: true
'@esbuild/linux-loong64@0.28.1':
optional: true
+ '@esbuild/linux-mips64el@0.21.5':
+ optional: true
+
'@esbuild/linux-mips64el@0.25.12':
optional: true
'@esbuild/linux-mips64el@0.28.1':
optional: true
+ '@esbuild/linux-ppc64@0.21.5':
+ optional: true
+
'@esbuild/linux-ppc64@0.25.12':
optional: true
'@esbuild/linux-ppc64@0.28.1':
optional: true
+ '@esbuild/linux-riscv64@0.21.5':
+ optional: true
+
'@esbuild/linux-riscv64@0.25.12':
optional: true
'@esbuild/linux-riscv64@0.28.1':
optional: true
+ '@esbuild/linux-s390x@0.21.5':
+ optional: true
+
'@esbuild/linux-s390x@0.25.12':
optional: true
'@esbuild/linux-s390x@0.28.1':
optional: true
+ '@esbuild/linux-x64@0.21.5':
+ optional: true
+
'@esbuild/linux-x64@0.25.12':
optional: true
@@ -4559,6 +5248,9 @@ snapshots:
'@esbuild/netbsd-arm64@0.28.1':
optional: true
+ '@esbuild/netbsd-x64@0.21.5':
+ optional: true
+
'@esbuild/netbsd-x64@0.25.12':
optional: true
@@ -4571,6 +5263,9 @@ snapshots:
'@esbuild/openbsd-arm64@0.28.1':
optional: true
+ '@esbuild/openbsd-x64@0.21.5':
+ optional: true
+
'@esbuild/openbsd-x64@0.25.12':
optional: true
@@ -4583,41 +5278,53 @@ snapshots:
'@esbuild/openharmony-arm64@0.28.1':
optional: true
+ '@esbuild/sunos-x64@0.21.5':
+ optional: true
+
'@esbuild/sunos-x64@0.25.12':
optional: true
'@esbuild/sunos-x64@0.28.1':
optional: true
+ '@esbuild/win32-arm64@0.21.5':
+ optional: true
+
'@esbuild/win32-arm64@0.25.12':
optional: true
'@esbuild/win32-arm64@0.28.1':
optional: true
+ '@esbuild/win32-ia32@0.21.5':
+ optional: true
+
'@esbuild/win32-ia32@0.25.12':
optional: true
'@esbuild/win32-ia32@0.28.1':
optional: true
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
+
'@esbuild/win32-x64@0.25.12':
optional: true
'@esbuild/win32-x64@0.28.1':
optional: true
- '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))':
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.7.0))':
dependencies:
- eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0)
+ eslint: 9.39.4(jiti@2.7.0)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/config-array@0.21.2(supports-color@7.2.0)':
+ '@eslint/config-array@0.21.2':
dependencies:
'@eslint/object-schema': 2.1.7
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
@@ -4630,10 +5337,10 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.3.5(supports-color@7.2.0)':
+ '@eslint/eslintrc@3.3.5':
dependencies:
ajv: 6.15.0
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
@@ -4830,6 +5537,12 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
+ '@iconify-json/simple-icons@1.2.99':
+ dependencies:
+ '@iconify/types': 2.0.0
+
+ '@iconify/types@2.0.0': {}
+
'@internationalized/number@3.6.7':
dependencies:
'@swc/helpers': 0.5.23
@@ -5333,6 +6046,14 @@ snapshots:
'@sacho/sacho-x86_64-apple-darwin': 0.3.2
'@sacho/sacho-x86_64-pc-windows-msvc': 0.3.2
'@sacho/sacho-x86_64-unknown-linux-musl': 0.3.2
+ '@shikijs/core@2.5.0':
+ dependencies:
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+ hast-util-to-html: 9.0.5
'@shikijs/core@4.4.1':
dependencies:
@@ -5342,17 +6063,32 @@ snapshots:
'@types/hast': 3.0.5
hast-util-to-html: 9.0.5
+ '@shikijs/engine-javascript@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 3.1.1
+
'@shikijs/engine-javascript@4.4.1':
dependencies:
'@shikijs/types': 4.4.1
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.6
+ '@shikijs/engine-oniguruma@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+
'@shikijs/engine-oniguruma@4.4.1':
dependencies:
'@shikijs/types': 4.4.1
'@shikijs/vscode-textmate': 10.0.2
+ '@shikijs/langs@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+
'@shikijs/langs@4.4.1':
dependencies:
'@shikijs/types': 4.4.1
@@ -5363,10 +6099,24 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.5
+ '@shikijs/themes@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+
'@shikijs/themes@4.4.1':
dependencies:
'@shikijs/types': 4.4.1
+ '@shikijs/transformers@2.5.0':
+ dependencies:
+ '@shikijs/core': 2.5.0
+ '@shikijs/types': 2.5.0
+
+ '@shikijs/types@2.5.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+
'@shikijs/types@4.4.1':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
@@ -5441,10 +6191,10 @@ snapshots:
dependencies:
solid-js: 1.9.14
- '@solidjs/start@2.0.0(@solidjs/router@1.0.0(solid-js@1.9.14))(crossws@0.4.10(srvx@0.11.16))(supports-color@7.2.0)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
+ '@solidjs/start@2.0.0(@solidjs/router@1.0.0(solid-js@1.9.14))(crossws@0.4.10(srvx@0.11.16))(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))':
dependencies:
- '@babel/core': 7.29.7(supports-color@7.2.0)
- '@babel/traverse': 7.29.8(supports-color@7.2.0)
+ '@babel/core': 7.29.7
+ '@babel/traverse': 7.29.8
'@babel/types': 7.29.8
'@solidjs/meta': 0.29.4(solid-js@1.9.14)
'@types/babel__traverse': 7.28.0
@@ -5468,7 +6218,7 @@ snapshots:
srvx: 0.12.5
terracotta: 1.1.1(solid-js@1.9.14)
vite: 8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
- vite-plugin-solid: 2.11.14(solid-js@1.9.14)(supports-color@7.2.0)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
+ vite-plugin-solid: 2.11.14(solid-js@1.9.14)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
optionalDependencies:
'@solidjs/router': 1.0.0(solid-js@1.9.14)
transitivePeerDependencies:
@@ -5520,10 +6270,19 @@ snapshots:
'@types/json-schema@7.0.15': {}
+ '@types/linkify-it@5.0.0': {}
+
+ '@types/markdown-it@14.2.0':
+ dependencies:
+ '@types/linkify-it': 5.0.0
+ '@types/mdurl': 2.0.0
+
'@types/mdast@4.0.4':
dependencies:
'@types/unist': 3.0.3
+ '@types/mdurl@2.0.0': {}
+
'@types/micromatch@4.0.10':
dependencies:
'@types/braces': 3.0.5
@@ -5542,11 +6301,13 @@ snapshots:
'@types/unist@3.0.3': {}
- '@typescript-eslint/project-service@8.62.1(supports-color@7.2.0)(typescript@7.0.2)':
+ '@types/web-bluetooth@0.0.21': {}
+
+ '@typescript-eslint/project-service@8.62.1(typescript@7.0.2)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.62.1(typescript@7.0.2)
'@typescript-eslint/types': 8.62.1
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
typescript: 7.0.2
transitivePeerDependencies:
- supports-color
@@ -5562,13 +6323,13 @@ snapshots:
'@typescript-eslint/types@8.62.1': {}
- '@typescript-eslint/typescript-estree@8.62.1(supports-color@7.2.0)(typescript@7.0.2)':
+ '@typescript-eslint/typescript-estree@8.62.1(typescript@7.0.2)':
dependencies:
- '@typescript-eslint/project-service': 8.62.1(supports-color@7.2.0)(typescript@7.0.2)
+ '@typescript-eslint/project-service': 8.62.1(typescript@7.0.2)
'@typescript-eslint/tsconfig-utils': 8.62.1(typescript@7.0.2)
'@typescript-eslint/types': 8.62.1
'@typescript-eslint/visitor-keys': 8.62.1
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
minimatch: 10.2.5
semver: 7.8.4
tinyglobby: 0.2.17
@@ -5577,13 +6338,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.62.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@7.0.2)':
+ '@typescript-eslint/utils@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@7.0.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
'@typescript-eslint/scope-manager': 8.62.1
'@typescript-eslint/types': 8.62.1
- '@typescript-eslint/typescript-estree': 8.62.1(supports-color@7.2.0)(typescript@7.0.2)
- eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0)
+ '@typescript-eslint/typescript-estree': 8.62.1(typescript@7.0.2)
+ eslint: 9.39.4(jiti@2.7.0)
typescript: 7.0.2
transitivePeerDependencies:
- supports-color
@@ -5716,6 +6477,110 @@ snapshots:
'@upyo/core': 0.6.0
'@upyo/mime': 0.6.0(@upyo/core@0.6.0)
+ '@vitejs/plugin-vue@5.2.4(vite@5.4.21(@types/node@26.0.0)(lightningcss@1.33.0)(terser@5.48.0))(vue@3.5.43(typescript@7.0.2))':
+ dependencies:
+ vite: 5.4.21(@types/node@26.0.0)(lightningcss@1.33.0)(terser@5.48.0)
+ vue: 3.5.43(typescript@7.0.2)
+
+ '@vue/compiler-core@3.5.43':
+ dependencies:
+ '@babel/parser': 7.29.8
+ '@vue/shared': 3.5.43
+ entities: 7.0.1
+ estree-walker: 2.0.2
+ source-map-js: 1.2.2
+
+ '@vue/compiler-dom@3.5.43':
+ dependencies:
+ '@vue/compiler-core': 3.5.43
+ '@vue/shared': 3.5.43
+
+ '@vue/compiler-sfc@3.5.43':
+ dependencies:
+ '@babel/parser': 7.29.8
+ '@vue/compiler-core': 3.5.43
+ '@vue/compiler-dom': 3.5.43
+ '@vue/compiler-ssr': 3.5.43
+ '@vue/shared': 3.5.43
+ estree-walker: 2.0.2
+ magic-string: 0.30.21
+ postcss: 8.5.29
+ source-map-js: 1.2.2
+
+ '@vue/compiler-ssr@3.5.43':
+ dependencies:
+ '@vue/compiler-dom': 3.5.43
+ '@vue/shared': 3.5.43
+
+ '@vue/devtools-api@7.7.10':
+ dependencies:
+ '@vue/devtools-kit': 7.7.10
+
+ '@vue/devtools-kit@7.7.10':
+ dependencies:
+ '@vue/devtools-shared': 7.7.10
+ birpc: 2.9.0
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.6
+
+ '@vue/devtools-shared@7.7.10':
+ dependencies:
+ rfdc: 1.4.1
+
+ '@vue/reactivity@3.5.43':
+ dependencies:
+ '@vue/shared': 3.5.43
+
+ '@vue/runtime-core@3.5.43':
+ dependencies:
+ '@vue/reactivity': 3.5.43
+ '@vue/shared': 3.5.43
+
+ '@vue/runtime-dom@3.5.43':
+ dependencies:
+ '@vue/reactivity': 3.5.43
+ '@vue/runtime-core': 3.5.43
+ '@vue/shared': 3.5.43
+ csstype: 3.2.3
+
+ '@vue/server-renderer@3.5.43':
+ dependencies:
+ '@vue/compiler-ssr': 3.5.43
+ '@vue/runtime-dom': 3.5.43
+ '@vue/shared': 3.5.43
+
+ '@vue/shared@3.5.43': {}
+
+ '@vueuse/core@12.8.2(typescript@7.0.2)':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 12.8.2
+ '@vueuse/shared': 12.8.2(typescript@7.0.2)
+ vue: 3.5.43(typescript@7.0.2)
+ transitivePeerDependencies:
+ - typescript
+
+ '@vueuse/integrations@12.8.2(focus-trap@7.8.0)(typescript@7.0.2)':
+ dependencies:
+ '@vueuse/core': 12.8.2(typescript@7.0.2)
+ '@vueuse/shared': 12.8.2(typescript@7.0.2)
+ vue: 3.5.43(typescript@7.0.2)
+ optionalDependencies:
+ focus-trap: 7.8.0
+ transitivePeerDependencies:
+ - typescript
+
+ '@vueuse/metadata@12.8.2': {}
+
+ '@vueuse/shared@12.8.2(typescript@7.0.2)':
+ dependencies:
+ vue: 3.5.43(typescript@7.0.2)
+ transitivePeerDependencies:
+ - typescript
+
'@whatwg-node/disposablestack@0.0.6':
dependencies:
'@whatwg-node/promise-helpers': 1.3.2
@@ -5830,6 +6695,23 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
+ algoliasearch@5.59.0:
+ dependencies:
+ '@algolia/abtesting': 1.25.0
+ '@algolia/client-abtesting': 5.59.0
+ '@algolia/client-analytics': 5.59.0
+ '@algolia/client-common': 5.59.0
+ '@algolia/client-insights': 5.59.0
+ '@algolia/client-personalization': 5.59.0
+ '@algolia/client-query-suggestions': 5.59.0
+ '@algolia/client-search': 5.59.0
+ '@algolia/ingestion': 1.59.0
+ '@algolia/monitoring': 1.59.0
+ '@algolia/recommend': 5.59.0
+ '@algolia/requester-browser-xhr': 5.59.0
+ '@algolia/requester-fetch': 5.59.0
+ '@algolia/requester-node-http': 5.59.0
+
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
@@ -5850,19 +6732,19 @@ snapshots:
pvutils: 1.2.0
tslib: 2.8.1
- babel-plugin-jsx-dom-expressions@0.40.7(@babel/core@7.29.7(supports-color@7.2.0)):
+ babel-plugin-jsx-dom-expressions@0.40.7(@babel/core@7.29.7):
dependencies:
- '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/core': 7.29.7
'@babel/helper-module-imports': 7.18.6
- '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
'@babel/types': 7.29.8
html-entities: 2.3.3
parse5: 7.3.0
- babel-preset-solid@1.9.12(@babel/core@7.29.7(supports-color@7.2.0))(solid-js@1.9.14):
+ babel-preset-solid@1.9.12(@babel/core@7.29.7)(solid-js@1.9.14):
dependencies:
- '@babel/core': 7.29.7(supports-color@7.2.0)
- babel-plugin-jsx-dom-expressions: 0.40.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/core': 7.29.7
+ babel-plugin-jsx-dom-expressions: 0.40.7(@babel/core@7.29.7)
optionalDependencies:
solid-js: 1.9.14
@@ -5883,6 +6765,8 @@ snapshots:
baseline-browser-mapping@2.11.11: {}
+ birpc@2.9.0: {}
+
brace-expansion@1.1.15:
dependencies:
balanced-match: 1.0.2
@@ -5957,6 +6841,8 @@ snapshots:
cookie-es@3.1.1: {}
+ copy-anything@4.1.5: {}
+
cosmiconfig@9.0.2(typescript@7.0.2):
dependencies:
env-paths: 2.2.1
@@ -5997,11 +6883,9 @@ snapshots:
'@electric-sql/pglite': 0.5.3
drizzle-orm: 1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2))
- debug@4.4.3(supports-color@7.2.0):
+ debug@4.4.3:
dependencies:
ms: 2.1.3
- optionalDependencies:
- supports-color: 7.2.0
deep-is@0.1.4: {}
@@ -6044,10 +6928,14 @@ snapshots:
electron-to-chromium@1.5.399: {}
+ emoji-regex-xs@1.0.0: {}
+
empathic@2.0.1: {}
entities@6.0.1: {}
+ entities@7.0.1: {}
+
env-paths@2.2.1: {}
env-runner@0.1.16:
@@ -6067,6 +6955,32 @@ snapshots:
es-toolkit@1.46.1: {}
+ esbuild@0.21.5:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.21.5
+ '@esbuild/android-arm': 0.21.5
+ '@esbuild/android-arm64': 0.21.5
+ '@esbuild/android-x64': 0.21.5
+ '@esbuild/darwin-arm64': 0.21.5
+ '@esbuild/darwin-x64': 0.21.5
+ '@esbuild/freebsd-arm64': 0.21.5
+ '@esbuild/freebsd-x64': 0.21.5
+ '@esbuild/linux-arm': 0.21.5
+ '@esbuild/linux-arm64': 0.21.5
+ '@esbuild/linux-ia32': 0.21.5
+ '@esbuild/linux-loong64': 0.21.5
+ '@esbuild/linux-mips64el': 0.21.5
+ '@esbuild/linux-ppc64': 0.21.5
+ '@esbuild/linux-riscv64': 0.21.5
+ '@esbuild/linux-s390x': 0.21.5
+ '@esbuild/linux-x64': 0.21.5
+ '@esbuild/netbsd-x64': 0.21.5
+ '@esbuild/openbsd-x64': 0.21.5
+ '@esbuild/sunos-x64': 0.21.5
+ '@esbuild/win32-arm64': 0.21.5
+ '@esbuild/win32-ia32': 0.21.5
+ '@esbuild/win32-x64': 0.21.5
+
esbuild@0.25.12:
optionalDependencies:
'@esbuild/aix-ppc64': 0.25.12
@@ -6130,10 +7044,10 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-plugin-solid@0.14.5(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@7.0.2):
+ eslint-plugin-solid@0.14.5(eslint@9.39.4(jiti@2.7.0))(typescript@7.0.2):
dependencies:
- '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@7.0.2)
- eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0)
+ '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@7.0.2)
+ eslint: 9.39.4(jiti@2.7.0)
estraverse: 5.3.0
is-html: 2.0.0
kebab-case: 1.0.2
@@ -6154,14 +7068,14 @@ snapshots:
eslint-visitor-keys@5.0.1: {}
- eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0):
+ eslint@9.39.4(jiti@2.7.0):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
'@eslint-community/regexpp': 4.12.2
- '@eslint/config-array': 0.21.2(supports-color@7.2.0)
+ '@eslint/config-array': 0.21.2
'@eslint/config-helpers': 0.4.2
'@eslint/core': 0.17.0
- '@eslint/eslintrc': 3.3.5(supports-color@7.2.0)
+ '@eslint/eslintrc': 3.3.5
'@eslint/js': 9.39.4
'@eslint/plugin-kit': 0.4.1
'@humanfs/node': 0.16.8
@@ -6171,7 +7085,7 @@ snapshots:
ajv: 6.15.0
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
escape-string-regexp: 4.0.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -6213,6 +7127,8 @@ snapshots:
estraverse@5.3.0: {}
+ estree-walker@2.0.2: {}
+
estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.9
@@ -6291,6 +7207,10 @@ snapshots:
flatted@3.4.2: {}
+ focus-trap@7.8.0:
+ dependencies:
+ tabbable: 6.5.0
+
fs-native-extensions@1.5.1:
dependencies:
require-addon: 1.3.0
@@ -6388,6 +7308,8 @@ snapshots:
dependencies:
'@types/hast': 3.0.5
+ hookable@5.5.3: {}
+
hookable@6.1.1: {}
html-entities@2.3.3: {}
@@ -6417,11 +7339,11 @@ snapshots:
dependencies:
loose-envify: 1.4.0
- ioredis@5.11.1(supports-color@7.2.0):
+ ioredis@5.11.1:
dependencies:
'@ioredis/commands': 1.10.0
cluster-key-slot: 1.1.1
- debug: 4.4.3(supports-color@7.2.0)
+ debug: 4.4.3
denque: 2.1.0
redis-errors: 1.2.0
redis-parser: 3.0.0
@@ -6583,6 +7505,8 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
+ mark.js@8.11.1: {}
+
mdast-util-to-hast@13.2.1:
dependencies:
'@types/hast': 3.0.5
@@ -6631,6 +7555,10 @@ snapshots:
dependencies:
brace-expansion: 1.1.15
+ minisearch@7.2.0: {}
+
+ mitt@3.0.1: {}
+
ms@2.1.3: {}
nanoid@3.3.19: {}
@@ -6639,7 +7567,7 @@ snapshots:
nf3@0.3.23: {}
- nitro@3.0.260610-beta(@electric-sql/pglite@0.5.3)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2)))(giget@3.3.0)(ioredis@5.11.1(supports-color@7.2.0))(jiti@2.7.0)(lru-cache@11.5.1)(rollup@4.62.2)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ nitro@3.0.260610-beta(@electric-sql/pglite@0.5.3)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2)))(giget@3.3.0)(ioredis@5.11.1)(jiti@2.7.0)(lru-cache@11.5.1)(rollup@4.62.2)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
consola: 3.4.2
crossws: 0.4.10(srvx@0.11.16)
@@ -6654,7 +7582,7 @@ snapshots:
rolldown: 1.2.0
srvx: 0.11.16
unenv: 2.0.0-rc.24
- unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.5.3)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2))))(ioredis@5.11.1(supports-color@7.2.0))(lru-cache@11.5.1)(ofetch@2.0.0-alpha.3)
+ unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.5.3)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2))))(ioredis@5.11.1)(lru-cache@11.5.1)(ofetch@2.0.0-alpha.3)
optionalDependencies:
dotenv: 17.4.2
giget: 3.3.0
@@ -6713,6 +7641,12 @@ snapshots:
oniguruma-parser@0.12.2: {}
+ oniguruma-to-es@3.1.1:
+ dependencies:
+ emoji-regex-xs: 1.0.0
+ regex: 6.1.0
+ regex-recursion: 6.0.2
+
oniguruma-to-es@4.3.6:
dependencies:
oniguruma-parser: 0.12.2
@@ -6809,6 +7743,8 @@ snapshots:
pathe@2.0.3: {}
+ perfect-debounce@1.0.0: {}
+
pg-cloudflare@1.4.0:
optional: true
@@ -6865,6 +7801,12 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.2
+ postcss@8.5.29:
+ dependencies:
+ nanoid: 3.3.19
+ picocolors: 1.1.1
+ source-map-js: 1.2.2
+
postgres-array@2.0.0: {}
postgres-bytea@1.0.1: {}
@@ -6877,6 +7819,8 @@ snapshots:
postgres@3.4.9: {}
+ preact@10.29.8: {}
+
prelude-ls@1.2.1: {}
promise@7.3.1:
@@ -6946,6 +7890,8 @@ snapshots:
reusify@1.1.0: {}
+ rfdc@1.4.1: {}
+
rolldown-plugin-dts@0.27.14(rolldown@1.2.0)(typescript@7.0.2):
dependencies:
dts-resolver: 3.0.0
@@ -7011,7 +7957,6 @@ snapshots:
'@rollup/rollup-win32-x64-gnu': 4.62.2
'@rollup/rollup-win32-x64-msvc': 4.62.2
fsevents: 2.3.3
- optional: true
rou3@0.8.1: {}
@@ -7021,6 +7966,8 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
+ search-insights@2.17.3: {}
+
section-matter@1.0.0:
dependencies:
extend-shallow: 2.0.1
@@ -7052,6 +7999,17 @@ snapshots:
shebang-regex@3.0.0: {}
+ shiki@2.5.0:
+ dependencies:
+ '@shikijs/core': 2.5.0
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/langs': 2.5.0
+ '@shikijs/themes': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+
shiki@4.4.1:
dependencies:
'@shikijs/core': 4.4.1
@@ -7094,10 +8052,10 @@ snapshots:
'@corvu/utils': 0.4.2(solid-js@1.9.14)
solid-js: 1.9.14
- solid-refresh@0.6.3(solid-js@1.9.14)(supports-color@7.2.0):
+ solid-refresh@0.6.3(solid-js@1.9.14):
dependencies:
'@babel/generator': 7.29.8
- '@babel/helper-module-imports': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-imports': 7.29.7
'@babel/types': 7.29.8
solid-js: 1.9.14
transitivePeerDependencies:
@@ -7128,6 +8086,8 @@ snapshots:
space-separated-tokens@2.0.2: {}
+ speakingurl@14.0.1: {}
+
split2@4.2.0: {}
sprintf-js@1.0.3: {}
@@ -7158,10 +8118,16 @@ snapshots:
dependencies:
inline-style-parser: 0.2.7
+ superjson@2.2.6:
+ dependencies:
+ copy-anything: 4.1.5
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
+ tabbable@6.5.0: {}
+
temporal-polyfill@1.0.4:
dependencies:
temporal-spec: 1.0.1
@@ -7307,11 +8273,11 @@ snapshots:
unist-util-is: 6.0.1
unist-util-visit-parents: 6.0.2
- unstorage@2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.5.3)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2))))(ioredis@5.11.1(supports-color@7.2.0))(lru-cache@11.5.1)(ofetch@2.0.0-alpha.3):
+ unstorage@2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.5.3)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2))))(ioredis@5.11.1)(lru-cache@11.5.1)(ofetch@2.0.0-alpha.3):
optionalDependencies:
chokidar: 5.0.0
db0: 0.3.4(@electric-sql/pglite@0.5.3)(drizzle-orm@1.0.0-beta.22(@electric-sql/pglite@0.5.3)(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.9)(valibot@1.4.2(typescript@7.0.2)))
- ioredis: 5.11.1(supports-color@7.2.0)
+ ioredis: 5.11.1
lru-cache: 11.5.1
ofetch: 2.0.0-alpha.3
@@ -7363,19 +8329,30 @@ snapshots:
transitivePeerDependencies:
- typescript
- vite-plugin-solid@2.11.14(solid-js@1.9.14)(supports-color@7.2.0)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
+ vite-plugin-solid@2.11.14(solid-js@1.9.14)(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)):
dependencies:
- '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/core': 7.29.7
'@types/babel__core': 7.20.5
- babel-preset-solid: 1.9.12(@babel/core@7.29.7(supports-color@7.2.0))(solid-js@1.9.14)
+ babel-preset-solid: 1.9.12(@babel/core@7.29.7)(solid-js@1.9.14)
merge-anything: 5.1.7
solid-js: 1.9.14
- solid-refresh: 0.6.3(solid-js@1.9.14)(supports-color@7.2.0)
+ solid-refresh: 0.6.3(solid-js@1.9.14)
vite: 8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
vitefu: 1.1.3(vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))
transitivePeerDependencies:
- supports-color
+ vite@5.4.21(@types/node@26.0.0)(lightningcss@1.33.0)(terser@5.48.0):
+ dependencies:
+ esbuild: 0.21.5
+ postcss: 8.5.25
+ rollup: 4.62.2
+ optionalDependencies:
+ '@types/node': 26.0.0
+ fsevents: 2.3.3
+ lightningcss: 1.33.0
+ terser: 5.48.0
+
vite@8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0):
dependencies:
lightningcss: 1.33.0
@@ -7395,6 +8372,66 @@ snapshots:
optionalDependencies:
vite: 8.2.0(@types/node@26.0.0)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)
+ vitepress@1.6.4(@algolia/client-search@5.59.0)(@types/node@26.0.0)(lightningcss@1.33.0)(postcss@8.5.29)(search-insights@2.17.3)(terser@5.48.0)(typescript@7.0.2):
+ dependencies:
+ '@docsearch/css': 3.8.2
+ '@docsearch/js': 3.8.2(@algolia/client-search@5.59.0)(search-insights@2.17.3)
+ '@iconify-json/simple-icons': 1.2.99
+ '@shikijs/core': 2.5.0
+ '@shikijs/transformers': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@types/markdown-it': 14.2.0
+ '@vitejs/plugin-vue': 5.2.4(vite@5.4.21(@types/node@26.0.0)(lightningcss@1.33.0)(terser@5.48.0))(vue@3.5.43(typescript@7.0.2))
+ '@vue/devtools-api': 7.7.10
+ '@vue/shared': 3.5.43
+ '@vueuse/core': 12.8.2(typescript@7.0.2)
+ '@vueuse/integrations': 12.8.2(focus-trap@7.8.0)(typescript@7.0.2)
+ focus-trap: 7.8.0
+ mark.js: 8.11.1
+ minisearch: 7.2.0
+ shiki: 2.5.0
+ vite: 5.4.21(@types/node@26.0.0)(lightningcss@1.33.0)(terser@5.48.0)
+ vue: 3.5.43(typescript@7.0.2)
+ optionalDependencies:
+ postcss: 8.5.29
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@types/node'
+ - '@types/react'
+ - async-validator
+ - axios
+ - change-case
+ - drauu
+ - fuse.js
+ - idb-keyval
+ - jwt-decode
+ - less
+ - lightningcss
+ - nprogress
+ - preact-render-to-string
+ - qrcode
+ - react
+ - react-dom
+ - sass
+ - sass-embedded
+ - search-insights
+ - sortablejs
+ - stylus
+ - sugarss
+ - terser
+ - typescript
+ - universal-cookie
+
+ vue@3.5.43(typescript@7.0.2):
+ dependencies:
+ '@vue/compiler-dom': 3.5.43
+ '@vue/compiler-sfc': 3.5.43
+ '@vue/runtime-dom': 3.5.43
+ '@vue/server-renderer': 3.5.43
+ '@vue/shared': 3.5.43
+ optionalDependencies:
+ typescript: 7.0.2
+
webidl-conversions@3.0.1: {}
whatwg-url@5.0.0: