diff --git a/.changeset/config.json b/.changeset/config.json index c9627a018..204143e0d 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json", - "changelog": ["@svitejs/changesets-changelog-github-compact", { "repo": "SkyCryptWebsite/SkyCrypt-Frontend" }], + "changelog": ["changesets-changelog-clean", { "repo": "SkyCryptWebsite/SkyCrypt-Frontend" }], "commit": false, "fixed": [], "linked": [], diff --git a/.env.example b/.env.example index 1c0f9c0b3..16436f942 100644 --- a/.env.example +++ b/.env.example @@ -17,4 +17,31 @@ PUBLIC_SENTRY_PROJECT_ID="" # GO API PUBLIC_API_URL="http://localhost:8080/api/" PUBLIC_SERVER_API_URL="http://localhost:8080/api/" # If you're using docker, set this to the name of the backend container, e.g. http://skycrypt-backend-1:8080/api/ -SERVER_API_TOKEN="" # Must match the token in the backend config \ No newline at end of file +SERVER_API_TOKEN="" # Must match the token in the backend config + +# Drizzle +DATABASE_URL="postgres://root:mysecretpassword@localhost:5432/skycrypt_frontend" + +# Better Auth +# For production use 32 characters and generated with high entropy +# https://www.better-auth.com/docs/installation +BETTER_AUTH_SECRET="" +# Discord OAuth +# https://www.better-auth.com/docs/authentication/discord +DISCORD_CLIENT_ID="" +DISCORD_CLIENT_SECRET="" +# MC-ID OAuth +# https://www.better-auth.com/docs/authentication/other-social-providers +# https://mc-id.com +MC_ID_CLIENT_ID="" +MC_ID_CLIENT_SECRET="" +# Patreon API +# https://www.patreon.com/portal/registration/register-clients +PATREON_CLIENT_ID="" +PATREON_CLIENT_SECRET="" + +# Payload CMS +PUBLIC_CMS_URL="https://cms.shiiyu.moe" +SERVER_CMS_API_URL="https://cms.shiiyu.moe" # If you're using docker, set this to the name of the CMS container +CMS_API_TOKEN="" # Users API Key generated in CMS admin (Users → API Key tab) +CMS_PREVIEW_TOKEN="" # Must match CMS_PREVIEW_TOKEN in SkyCrypt-CMS .env \ No newline at end of file diff --git a/.gitignore b/.gitignore index ef515a6c9..7e3793d27 100644 --- a/.gitignore +++ b/.gitignore @@ -53,6 +53,10 @@ Temporary Items .svelte-kit/ package +### Cloudflare / Wrangler ### +# Local wrangler/miniflare runtime state (sqlite cache, etc.) +.wrangler/ + ### VisualStudioCode ### .vscode/* !.vscode/settings.json diff --git a/.prettierignore b/.prettierignore index be8bff7b7..ca45359e2 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,3 +8,4 @@ bun.lockb # Miscellaneous /static/ .changeset/ +/drizzle/ diff --git a/.prettierrc b/.prettierrc index de8fdc28c..0f2cb621a 100644 --- a/.prettierrc +++ b/.prettierrc @@ -14,7 +14,6 @@ } } ], - "svelteStrictMode": true, "tailwindStylesheet": "./src/app.css", "tailwindAttributes": ["class", "class:*", "class:name", "payload"], "tailwindFunctions": ["cn"], diff --git a/.vscode/settings.json b/.vscode/settings.json index 700e6c174..c9e1763da 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,7 +7,7 @@ }, "files.associations": { "*.css": "tailwindcss", - ".env*": "properties" + ".env*": "dotenv" }, "git.autofetch": true, "svelte.enable-ts-plugin": true, diff --git a/AGENTS.md b/AGENTS.md index f103a4224..6d8628bab 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -140,7 +140,6 @@ All content injection uses Svelte 5 snippets. No `` usage. ### Formatting - Prettier: double quotes, no trailing comma, `printWidth: 999999`, `bracketSameLine: true` -- `svelteStrictMode: true` — enforces Svelte best practices - Conventional commits enforced via commitlint + simple-git-hooks ## ANTI-PATTERNS diff --git a/CHANGELOG.md b/CHANGELOG.md index 71e4af95e..2d27936eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,49 @@ # Changelog +## 3.7.0 + +### Minor Changes + +- Add local newsroom notifications for new CMS posts. _[`#330`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/330) [`c2b599e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/c2b599e7e729a61d029f4998f736ae3fa1f0571d) [@DarthGigi](https://github.com/DarthGigi)_ +- Add initial work for SkyCrypt accounts _[`#328`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/328) [`c077847`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/c077847a0fbf13a8aa73122aa28e873189c172f4) [@DarthGigi](https://github.com/DarthGigi)_ +- Add the CMS-backed newsroom with post listing, article pages, previews, and sitemap entries. _[`#330`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/330) [`a74b033`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/a74b0339f66196ae719dbc19c06ab704995e502c) [@DarthGigi](https://github.com/DarthGigi)_ + +### Patch Changes + +- Render newsroom posts and the listing page as `summary_large_image` social embeds with the post's hero image (or a branded graphic on the listing), and stop the homepage SEO defaults from leaking into them. _[`#330`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/330) [`793cd0e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/793cd0ef92bdc01a1de274880f5b00487422d59a) [@DarthGigi](https://github.com/DarthGigi)_ +- Migrate remote query search calls to the current SvelteKit API. _[`#330`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/330) [`31d283e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/31d283ec8c027cb27583a8bb9c026bacf01759a4) [@DarthGigi](https://github.com/DarthGigi)_ +- Eliminate `derived_inert` runtime warnings by hoisting `new IsInViewport(...)` out of a `$derived` in `Chip.svelte` and splitting `getThemeIcons(...).current` in the header. Align remaining stats-view remote queries with the post-2.61 docs idiom (`await` for template/context-feed sites; `.current`/`.loading`/`.error` kept only for the loading-button-spinner case). Drop the redundant `getCombined()` in `Sections.svelte`. Make the navbar's tab scroll-on-mount race-resistant and its `IntersectionObserver` `rootMargin` NaN-safe. _[`#330`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/330) [`d99d081`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/d99d0812879edad2cd6cdcfc5a60e925099c61fc) [@DarthGigi](https://github.com/DarthGigi)_ +- Render newsroom rich text with Payload's Lexical HTML converter while preserving SkyCrypt-specific links, uploads, checklists, and relationship nodes. _[`#330`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/330) [`0ae985e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/0ae985e966ec97090b050f4d4607f516359bedd5) [@DarthGigi](https://github.com/DarthGigi)_ + +## 3.7.0-beta.3 + +### Patch Changes + +- Render newsroom posts and the listing page as `summary_large_image` social embeds with the post's hero image (or a branded graphic on the listing), and stop the homepage SEO defaults from leaking into them. _[`793cd0e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/793cd0ef92bdc01a1de274880f5b00487422d59a) [@DarthGigi](https://github.com/DarthGigi)_ +- Eliminate `derived_inert` runtime warnings by hoisting `new IsInViewport(...)` out of a `$derived` in `Chip.svelte` and splitting `getThemeIcons(...).current` in the header. Align remaining stats-view remote queries with the post-2.61 docs idiom (`await` for template/context-feed sites; `.current`/`.loading`/`.error` kept only for the loading-button-spinner case). Drop the redundant `getCombined()` in `Sections.svelte`. Make the navbar's tab scroll-on-mount race-resistant and its `IntersectionObserver` `rootMargin` NaN-safe. _[`d99d081`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/d99d0812879edad2cd6cdcfc5a60e925099c61fc) [@DarthGigi](https://github.com/DarthGigi)_ + +## 3.7.0-beta.2 + +### Patch Changes + +- Migrate remote query search calls to the current SvelteKit API. ([`31d283e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/31d283ec8c027cb27583a8bb9c026bacf01759a4)) + +- Render newsroom rich text with Payload's Lexical HTML converter while preserving SkyCrypt-specific links, uploads, checklists, and relationship nodes. ([`0ae985e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/0ae985e966ec97090b050f4d4607f516359bedd5)) + +## 3.7.0-beta.1 + +### Minor Changes + +- Add local newsroom notifications for new CMS posts. ([`c2b599e`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/c2b599e7e729a61d029f4998f736ae3fa1f0571d)) + +- Add the CMS-backed newsroom with post listing, article pages, previews, and sitemap entries. ([`a74b033`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/a74b0339f66196ae719dbc19c06ab704995e502c)) + +## 3.7.0-beta.0 + +### Minor Changes + +- Add initial work for SkyCrypt accounts ([#328](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/pull/328)) + ## 3.6.2 ### Patch Changes diff --git a/Dockerfile b/Dockerfile index 112e71ba3..0e4618b82 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,6 +38,7 @@ WORKDIR /app COPY --from=builder /app/build build/ COPY --from=builder /app/node_modules node_modules/ COPY --from=builder /app/static static/ +COPY --from=builder /app/drizzle drizzle/ COPY package.json . COPY pnpm-lock.yaml . diff --git a/README.md b/README.md index 5e78fe4d1..1c3686149 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ +> This is a fork of [SkyCryptWebsite/SkyCrypt-Frontend](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend) with minimal changes to support embedding the profile viewer in Lunar Client. To keep this fork up to date with upstream: +> +> ``` +> git rebase upstream/dev +> # Resolve any conflicts that occur +> git push origin dev --force-with-lease +> ``` +

diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..7e771490d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +services: + postgres: + image: postgres:18-alpine + container_name: skycrypt-postgres + restart: unless-stopped + ports: + - ${DB_PORT:-5432}:5432 + environment: + - POSTGRES_USER=${DB_USER:-root} + - POSTGRES_PASSWORD=${DB_PASSWORD:-mysecretpassword} + - POSTGRES_DB=${DB_NAME:-skycrypt_frontend} + volumes: + - postgres_data:/var/lib/postgresql + +volumes: + postgres_data: diff --git a/drizzle.config.ts b/drizzle.config.ts new file mode 100644 index 000000000..59f99c33d --- /dev/null +++ b/drizzle.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from "drizzle-kit"; + +if (!process.env.DATABASE_URL) throw new Error("DATABASE_URL is not set"); + +export default defineConfig({ + schema: "./src/lib/server/db/schema/index.ts", + out: "./drizzle", + dialect: "postgresql", + dbCredentials: { url: process.env.DATABASE_URL }, + verbose: true, + strict: true +}); diff --git a/drizzle/0000_dapper_killer_shrike.sql b/drizzle/0000_dapper_killer_shrike.sql new file mode 100644 index 000000000..afac68a9b --- /dev/null +++ b/drizzle/0000_dapper_killer_shrike.sql @@ -0,0 +1,86 @@ +CREATE TABLE "account" ( + "id" text PRIMARY KEY NOT NULL, + "account_id" text NOT NULL, + "provider_id" text NOT NULL, + "user_id" text NOT NULL, + "access_token" text, + "refresh_token" text, + "id_token" text, + "access_token_expires_at" timestamp, + "refresh_token_expires_at" timestamp, + "scope" text, + "password" text, + "created_at" timestamp DEFAULT now() NOT NULL, + "updated_at" timestamp NOT NULL +); +--> statement-breakpoint +CREATE TABLE "apikey" ( + "id" text PRIMARY KEY NOT NULL, + "config_id" text DEFAULT 'default' NOT NULL, + "name" text, + "start" text, + "reference_id" text NOT NULL, + "prefix" text, + "key" text NOT NULL, + "refill_interval" integer, + "refill_amount" integer, + "last_refill_at" timestamp, + "enabled" boolean DEFAULT true, + "rate_limit_enabled" boolean DEFAULT true, + "rate_limit_time_window" integer DEFAULT 86400000, + "rate_limit_max" integer DEFAULT 10, + "request_count" integer DEFAULT 0, + "remaining" integer, + "last_request" timestamp, + "expires_at" timestamp, + "created_at" timestamp NOT NULL, + "updated_at" timestamp NOT NULL, + "permissions" text, + "metadata" text +); +--> statement-breakpoint +CREATE TABLE "session" ( + "id" text PRIMARY KEY NOT NULL, + "expires_at" timestamp NOT NULL, + "token" text NOT NULL, + "created_at" timestamp DEFAULT now() NOT NULL, + "updated_at" timestamp NOT NULL, + "ip_address" text, + "user_agent" text, + "user_id" text NOT NULL, + "impersonated_by" text, + CONSTRAINT "session_token_unique" UNIQUE("token") +); +--> statement-breakpoint +CREATE TABLE "user" ( + "id" text PRIMARY KEY NOT NULL, + "name" text NOT NULL, + "email" text NOT NULL, + "email_verified" boolean DEFAULT false NOT NULL, + "image" text, + "created_at" timestamp DEFAULT now() NOT NULL, + "updated_at" timestamp DEFAULT now() NOT NULL, + "role" text, + "banned" boolean DEFAULT false, + "ban_reason" text, + "ban_expires" timestamp, + CONSTRAINT "user_email_unique" UNIQUE("email") +); +--> statement-breakpoint +CREATE TABLE "verification" ( + "id" text PRIMARY KEY NOT NULL, + "identifier" text NOT NULL, + "value" text NOT NULL, + "expires_at" timestamp NOT NULL, + "created_at" timestamp DEFAULT now() NOT NULL, + "updated_at" timestamp DEFAULT now() NOT NULL +); +--> statement-breakpoint +ALTER TABLE "account" ADD CONSTRAINT "account_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint +ALTER TABLE "session" ADD CONSTRAINT "session_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint +CREATE INDEX "account_userId_idx" ON "account" USING btree ("user_id");--> statement-breakpoint +CREATE INDEX "apikey_configId_idx" ON "apikey" USING btree ("config_id");--> statement-breakpoint +CREATE INDEX "apikey_referenceId_idx" ON "apikey" USING btree ("reference_id");--> statement-breakpoint +CREATE INDEX "apikey_key_idx" ON "apikey" USING btree ("key");--> statement-breakpoint +CREATE INDEX "session_userId_idx" ON "session" USING btree ("user_id");--> statement-breakpoint +CREATE INDEX "verification_identifier_idx" ON "verification" USING btree ("identifier"); \ No newline at end of file diff --git a/drizzle/meta/0000_snapshot.json b/drizzle/meta/0000_snapshot.json new file mode 100644 index 000000000..3ce5e7662 --- /dev/null +++ b/drizzle/meta/0000_snapshot.json @@ -0,0 +1,602 @@ +{ + "id": "38215b0e-303d-4a3b-b06f-661d7774eeb7", + "prevId": "00000000-0000-0000-0000-000000000000", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.account": { + "name": "account", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "account_id": { + "name": "account_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token_expires_at": { + "name": "access_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "refresh_token_expires_at": { + "name": "refresh_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "account_userId_idx": { + "name": "account_userId_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "account_user_id_user_id_fk": { + "name": "account_user_id_user_id_fk", + "tableFrom": "account", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.apikey": { + "name": "apikey", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "config_id": { + "name": "config_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'default'" + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "start": { + "name": "start", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "reference_id": { + "name": "reference_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "prefix": { + "name": "prefix", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "refill_interval": { + "name": "refill_interval", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "refill_amount": { + "name": "refill_amount", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "last_refill_at": { + "name": "last_refill_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "rate_limit_enabled": { + "name": "rate_limit_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "rate_limit_time_window": { + "name": "rate_limit_time_window", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 86400000 + }, + "rate_limit_max": { + "name": "rate_limit_max", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "request_count": { + "name": "request_count", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "remaining": { + "name": "remaining", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "last_request": { + "name": "last_request", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "permissions": { + "name": "permissions", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "apikey_configId_idx": { + "name": "apikey_configId_idx", + "columns": [ + { + "expression": "config_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "apikey_referenceId_idx": { + "name": "apikey_referenceId_idx", + "columns": [ + { + "expression": "reference_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "apikey_key_idx": { + "name": "apikey_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "ip_address": { + "name": "ip_address", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "impersonated_by": { + "name": "impersonated_by", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "session_userId_idx": { + "name": "session_userId_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "session_token_unique": { + "name": "session_token_unique", + "nullsNotDistinct": false, + "columns": [ + "token" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email_verified": { + "name": "email_verified", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "banned": { + "name": "banned", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ban_reason": { + "name": "ban_reason", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "ban_expires": { + "name": "ban_expires", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_email_unique": { + "name": "user_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.verification": { + "name": "verification", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "verification_identifier_idx": { + "name": "verification_identifier_idx", + "columns": [ + { + "expression": "identifier", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": {}, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json new file mode 100644 index 000000000..4a7cf04a6 --- /dev/null +++ b/drizzle/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "7", + "dialect": "postgresql", + "entries": [ + { + "idx": 0, + "version": "7", + "when": 1779478193206, + "tag": "0000_dapper_killer_shrike", + "breakpoints": true + } + ] +} \ No newline at end of file diff --git a/eslint.config.ts b/eslint.config.ts index b7aa00e2f..6ae19ed53 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,12 +1,13 @@ -import { includeIgnoreFile } from "@eslint/compat"; import js from "@eslint/js"; +import { loadConfig } from "@sveltejs/load-config"; import prettier from "eslint-config-prettier"; import svelte from "eslint-plugin-svelte"; -import { defineConfig } from "eslint/config"; +import { defineConfig, includeIgnoreFile } from "eslint/config"; import globals from "globals"; import path from "node:path"; import ts from "typescript-eslint"; -import svelteConfig from "./svelte.config.js"; + +const svelteConfig = await loadConfig(process.cwd()); const gitignorePath = path.resolve(import.meta.dirname, ".gitignore"); @@ -27,20 +28,7 @@ export default defineConfig( rules: { // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors - "no-undef": "off", - "@typescript-eslint/no-unused-vars": [ - "error", - { - args: "all", - argsIgnorePattern: "^_", - caughtErrors: "all", - caughtErrorsIgnorePattern: "^_", - destructuredArrayIgnorePattern: "^_", - varsIgnorePattern: "^_", - ignoreRestSiblings: true - } - ], - "no-console": ["error", { allow: ["info", "warn", "dir", "timeLog", "assert", "clear", "count", "countReset", "group", "groupEnd", "table", "dirxml", "error", "groupCollapsed", "Console", "profile", "profileEnd", "timeStamp", "context"] }] + "no-undef": "off" } }, { @@ -52,11 +40,28 @@ export default defineConfig( parser: ts.parser, svelteConfig } - }, + } + }, + // Override or add rule settings here, such as: + // 'svelte/button-has-type': 'error' + { rules: { "svelte/no-at-html-tags": "off", - "svelte/no-useless-mustaches": "off" + "svelte/no-useless-mustaches": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + args: "all", + argsIgnorePattern: "^_", + caughtErrors: "all", + caughtErrorsIgnorePattern: "^_", + destructuredArrayIgnorePattern: "^_", + varsIgnorePattern: "^_", + ignoreRestSiblings: true + } + ], + "no-console": ["error", { allow: ["info", "warn", "dir", "timeLog", "assert", "clear", "count", "countReset", "group", "groupEnd", "table", "dirxml", "error", "groupCollapsed", "Console", "profile", "profileEnd", "timeStamp", "context"] }] } }, - { ignores: ["**/.DS_Store", "**/node_modules/", "**/build/", "**/.svelte-kit/", "**/package/", "**/.env", "**/.env.*", "**/pnpm-lock.yaml", "**/package-lock.json", "**/yarn.lock", "**/static/", "**/cache/", "**/api/*-generated-zod.ts"] } + { ignores: ["**/.DS_Store", "**/node_modules/", "**/build/", "**/.svelte-kit/", "**/package/", "**/.env", "**/.env.*", "**/pnpm-lock.yaml", "**/package-lock.json", "**/yarn.lock", "**/static/", "**/cache/", "**/api/*-generated-zod.ts", "**/api/cms-generated.ts"] } ); diff --git a/orval.config.ts b/orval.config.ts index 22fa37108..339ad3bcf 100644 --- a/orval.config.ts +++ b/orval.config.ts @@ -29,5 +29,22 @@ export default defineConfig({ hooks: { afterAllFilesWrite: "prettier --write ./src/lib/shared/api/orval-generated-zod.ts" } + }, + cms: { + input: "http://localhost:3000/api/openapi.json", + output: { + target: "./src/lib/shared/api/cms-generated.ts", + client: "fetch", + tsconfig: "./tsconfig.json", + override: { + mutator: { + path: "./src/lib/shared/api/mutator/cms-instance.ts", + name: "cmsFetch" + } + } + }, + hooks: { + afterAllFilesWrite: "prettier --write ./src/lib/shared/api/cms-generated.ts" + } } }); diff --git a/package.json b/package.json index 5f54bef86..0c47ecceb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "skycrypt-frontend", - "version": "3.6.2", + "version": "3.7.0", "private": true, "type": "module", "repository": { @@ -29,64 +29,77 @@ "changeset:tag": "changeset tag", "release:beta": "node scripts/release-beta.mjs", "release:stable": "node scripts/release-stable.mjs", - "test:e2e": "playwright test" + "test:e2e": "playwright test", + "db:start": "docker compose up", + "db:push": "drizzle-kit push", + "db:generate": "drizzle-kit generate", + "db:migrate": "drizzle-kit migrate", + "db:studio": "drizzle-kit studio", + "auth:schema": "auth generate --config src/lib/server/auth.ts --output src/lib/server/db/schema/auth.schema.ts --yes" }, "devDependencies": { + "@better-auth/api-key": "^1.6.14", "@changesets/cli": "^2.31.0", - "@commitlint/cli": "^21.0.1", - "@commitlint/config-conventional": "^21.0.1", + "@commitlint/cli": "^21.0.2", + "@commitlint/config-conventional": "^21.0.2", "@commitlint/types": "^21.0.1", - "@date-fns/tz": "^1.4.1", + "@date-fns/tz": "^1.5.0", "@dnd-kit/abstract": "^0.4.0", "@dnd-kit/dom": "^0.4.0", "@dnd-kit/helpers": "^0.4.0", "@dnd-kit/svelte": "^0.4.0", - "@eslint/compat": "^2.1.0", "@eslint/js": "^10.0.1", - "@lucide/svelte": "^1.16.0", + "@lucide/svelte": "^1.17.0", "@oslojs/crypto": "^1.0.1", "@oslojs/encoding": "^1.1.0", "@playwright/test": "^1.60.0", + "@sveltejs/adapter-cloudflare": "^7.2.8", "@sveltejs/adapter-node": "^5.5.4", - "@sveltejs/kit": "^2.60.1", + "@sveltejs/kit": "^2.63.0", + "@sveltejs/load-config": "^0.1.1", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@svitejs/changesets-changelog-github-compact": "^1.2.0", "@tailwindcss/vite": "^4.3.0", "@types/culori": "^4.0.1", "@types/eslint": "^9.6.1", - "@types/node": "^25.8.0", + "@types/node": "^25.9.1", "@types/relaxed-json": "^1.0.4", "@types/upng-js": "^2.1.5", - "@vitest/browser-playwright": "^4.1.6", - "@vitest/coverage-v8": "^4.1.6", - "@vitest/ui": "^4.1.6", + "@vitest/browser-playwright": "^4.1.8", + "@vitest/coverage-v8": "^4.1.8", + "@vitest/ui": "^4.1.8", + "auth": "^1.6.14", + "better-auth": "^1.6.14", "bits-ui": "^2.18.1", + "changesets-changelog-clean": "^1.4.0", "clsx": "^2.1.1", - "date-fns": "^4.1.0", + "date-fns": "^4.4.0", "devalue": "^5.8.1", "dotenv-cli": "^11.0.0", - "eslint": "^10.3.0", + "drizzle-kit": "^0.31.10", + "drizzle-orm": "^0.45.2", + "eslint": "^10.4.1", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-svelte": "^3.17.1", + "eslint-plugin-svelte": "^3.19.0", "formsnap": "^2.0.1", "globals": "^17.6.0", "ky": "^2.0.2", + "kysely": "0.28.17", "numerable": "^0.3.15", - "orval": "^8.10.0", + "orval": "^8.15.0", "paneforge": "^1.0.2", "playwright": "^1.60.0", + "postgres": "^3.4.9", "prettier": "^3.8.3", - "prettier-plugin-svelte": "^3.5.2", + "prettier-plugin-svelte": "^4.1.0", "prettier-plugin-tailwindcss": "^0.8.0", "pretty-ms": "^9.3.0", "runed": "^0.37.1", "satori-html": "^0.3.2", "skinview3d": "^3.4.2", "super-sitemap": "^1.0.12", - "svelte": "^5.55.7", - "svelte-check": "^4.4.8", + "svelte": "^5.56.1", + "svelte-check": "^4.6.0", "svelte-persisted-store": "^0.12.0", - "svelte-preprocess": "^6.0.3", "svelte-seo": "^2.0.0", "svelte-sonner": "^1.1.1", "svelte-tiny-virtual-list": "4.0.0-rc.2", @@ -96,18 +109,20 @@ "tailwindcss-motion": "^1.1.1", "tslib": "^2.8.1", "typescript": "^6.0.3", - "typescript-eslint": "^8.59.3", + "typescript-eslint": "^8.60.1", "vaul-svelte": "1.0.0-next.7", - "vite": "^8.0.13", - "vitest": "^4.1.6", + "vite": "^8.0.16", + "vitest": "^4.1.8", "vitest-browser-svelte": "^2.1.1", "zod": "^4.4.3" }, "dependencies": { - "@sentry/sveltekit": "^10.53.1", + "@payloadcms/richtext-lexical": "^3.85.0", + "@sentry/sveltekit": "^10.56.0", "culori": "^4.0.2", "simple-git-hooks": "^2.13.1", - "takumi-js": "1.1.2" + "svelte-interactions": "^0.2.0", + "takumi-js": "^1.7.0" }, "engines": { "node": "^24", @@ -120,4 +135,4 @@ "simple-git-hooks": { "commit-msg": "pnpm exec commitlint --edit $1" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3471fe751..2cb910018 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,38 +4,50 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + kysely: 0.28.17 + importers: .: dependencies: + '@payloadcms/richtext-lexical': + specifier: ^3.85.0 + version: 3.85.0(@faceless-ui/modal@3.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@faceless-ui/scroll-info@2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@payloadcms/next@3.85.0(@types/react@19.2.16)(graphql@16.14.1)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@types/react@19.2.16)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)(yjs@13.6.31) '@sentry/sveltekit': - specifier: ^10.53.1 - version: 10.53.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(rollup@4.60.4)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + specifier: ^10.56.0 + version: 10.56.0(@cloudflare/workers-types@4.20260613.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(rollup@4.61.1)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) culori: specifier: ^4.0.2 version: 4.0.2 simple-git-hooks: specifier: ^2.13.1 version: 2.13.1 + svelte-interactions: + specifier: ^0.2.0 + version: 0.2.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) takumi-js: - specifier: 1.1.2 - version: 1.1.2 + specifier: ^1.7.0 + version: 1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) devDependencies: + '@better-auth/api-key': + specifier: ^1.6.14 + version: 1.6.14(c35a64052094e7da9135b5e1c925e89c) '@changesets/cli': specifier: ^2.31.0 - version: 2.31.0(@types/node@25.8.0) + version: 2.31.0(@types/node@25.9.1) '@commitlint/cli': - specifier: ^21.0.1 - version: 21.0.1(@types/node@25.8.0)(conventional-commits-parser@6.4.0)(typescript@6.0.3) + specifier: ^21.0.2 + version: 21.0.2(@types/node@25.9.1)(conventional-commits-parser@6.4.0)(typescript@6.0.3) '@commitlint/config-conventional': - specifier: ^21.0.1 - version: 21.0.1 + specifier: ^21.0.2 + version: 21.0.2 '@commitlint/types': specifier: ^21.0.1 version: 21.0.1 '@date-fns/tz': - specifier: ^1.4.1 - version: 1.4.1 + specifier: ^1.5.0 + version: 1.5.0 '@dnd-kit/abstract': specifier: ^0.4.0 version: 0.4.0 @@ -47,16 +59,13 @@ importers: version: 0.4.0 '@dnd-kit/svelte': specifier: ^0.4.0 - version: 0.4.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - '@eslint/compat': - specifier: ^2.1.0 - version: 2.1.0(eslint@10.3.0(jiti@2.7.0)) + version: 0.4.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) '@eslint/js': specifier: ^10.0.1 - version: 10.0.1(eslint@10.3.0(jiti@2.7.0)) + version: 10.0.1(eslint@10.4.1(jiti@2.7.0)) '@lucide/svelte': - specifier: ^1.16.0 - version: 1.16.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + specifier: ^1.17.0 + version: 1.17.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) '@oslojs/crypto': specifier: ^1.0.1 version: 1.0.1 @@ -66,21 +75,24 @@ importers: '@playwright/test': specifier: ^1.60.0 version: 1.60.0 + '@sveltejs/adapter-cloudflare': + specifier: ^7.2.8 + version: 7.2.8(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(wrangler@4.100.0(@cloudflare/workers-types@4.20260613.1)) '@sveltejs/adapter-node': specifier: ^5.5.4 - version: 5.5.4(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))) + version: 5.5.4(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))) '@sveltejs/kit': - specifier: ^2.60.1 - version: 2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + specifier: ^2.63.0 + version: 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + '@sveltejs/load-config': + specifier: ^0.1.1 + version: 0.1.1 '@sveltejs/vite-plugin-svelte': specifier: ^7.1.2 - version: 7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) - '@svitejs/changesets-changelog-github-compact': - specifier: ^1.2.0 - version: 1.2.0 + version: 7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) '@tailwindcss/vite': specifier: ^4.3.0 - version: 4.3.0(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + version: 4.3.0(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) '@types/culori': specifier: ^4.0.1 version: 4.0.1 @@ -88,8 +100,8 @@ importers: specifier: ^9.6.1 version: 9.6.1 '@types/node': - specifier: ^25.8.0 - version: 25.8.0 + specifier: ^25.9.1 + version: 25.9.1 '@types/relaxed-json': specifier: ^1.0.4 version: 1.0.4 @@ -97,74 +109,95 @@ importers: specifier: ^2.1.5 version: 2.1.5 '@vitest/browser-playwright': - specifier: ^4.1.6 - version: 4.1.6(playwright@1.60.0)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))(vitest@4.1.6) + specifier: ^4.1.8 + version: 4.1.8(playwright@1.60.0)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8) '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(@vitest/browser@4.1.6)(vitest@4.1.6) + specifier: ^4.1.8 + version: 4.1.8(@vitest/browser@4.1.8)(vitest@4.1.8) '@vitest/ui': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) + specifier: ^4.1.8 + version: 4.1.8(vitest@4.1.8) + auth: + specifier: ^1.6.14 + version: 1.6.14(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(better-call@1.3.5(zod@4.4.3))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9))(jose@6.2.3)(kysely@0.28.17)(magicast@0.5.3)(nanostores@1.3.0)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8) + better-auth: + specifier: ^1.6.14 + version: 1.6.14(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9))(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8) bits-ui: specifier: ^2.18.1 - version: 2.18.1(@internationalized/date@3.12.1)(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + version: 2.18.1(@internationalized/date@3.12.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + changesets-changelog-clean: + specifier: ^1.4.0 + version: 1.4.0 clsx: specifier: ^2.1.1 version: 2.1.1 date-fns: - specifier: ^4.1.0 - version: 4.1.0 + specifier: ^4.4.0 + version: 4.4.0 devalue: specifier: ^5.8.1 version: 5.8.1 dotenv-cli: specifier: ^11.0.0 version: 11.0.0 + drizzle-kit: + specifier: ^0.31.10 + version: 0.31.10 + drizzle-orm: + specifier: ^0.45.2 + version: 0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9) eslint: - specifier: ^10.3.0 - version: 10.3.0(jiti@2.7.0) + specifier: ^10.4.1 + version: 10.4.1(jiti@2.7.0) eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@10.3.0(jiti@2.7.0)) + version: 10.1.8(eslint@10.4.1(jiti@2.7.0)) eslint-plugin-svelte: - specifier: ^3.17.1 - version: 3.17.1(eslint@10.3.0(jiti@2.7.0))(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + specifier: ^3.19.0 + version: 3.19.0(eslint@10.4.1(jiti@2.7.0))(svelte@5.56.1(@typescript-eslint/types@8.60.1)) formsnap: specifier: ^2.0.1 - version: 2.0.1(svelte@5.55.7(@typescript-eslint/types@8.59.3))(sveltekit-superforms@2.30.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)) + version: 2.0.1(svelte@5.56.1(@typescript-eslint/types@8.60.1))(sveltekit-superforms@2.30.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)) globals: specifier: ^17.6.0 version: 17.6.0 ky: specifier: ^2.0.2 version: 2.0.2 + kysely: + specifier: 0.28.17 + version: 0.28.17 numerable: specifier: ^0.3.15 version: 0.3.15 orval: - specifier: ^8.10.0 - version: 8.10.0(prettier@3.8.3)(typescript@6.0.3) + specifier: ^8.15.0 + version: 8.15.0(prettier@3.8.3)(typescript@6.0.3) paneforge: specifier: ^1.0.2 - version: 1.0.2(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + version: 1.0.2(svelte@5.56.1(@typescript-eslint/types@8.60.1)) playwright: specifier: ^1.60.0 version: 1.60.0 + postgres: + specifier: ^3.4.9 + version: 3.4.9 prettier: specifier: ^3.8.3 version: 3.8.3 prettier-plugin-svelte: - specifier: ^3.5.2 - version: 3.5.2(prettier@3.8.3)(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + specifier: ^4.1.0 + version: 4.1.0(prettier@3.8.3)(svelte@5.56.1(@typescript-eslint/types@8.60.1)) prettier-plugin-tailwindcss: specifier: ^0.8.0 - version: 0.8.0(prettier-plugin-svelte@3.5.2(prettier@3.8.3)(svelte@5.55.7(@typescript-eslint/types@8.59.3)))(prettier@3.8.3) + version: 0.8.0(prettier-plugin-svelte@4.1.0(prettier@3.8.3)(svelte@5.56.1(@typescript-eslint/types@8.60.1)))(prettier@3.8.3) pretty-ms: specifier: ^9.3.0 version: 9.3.0 runed: specifier: ^0.37.1 - version: 0.37.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(zod@4.4.3) + version: 0.37.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(zod@4.4.3) satori-html: specifier: ^0.3.2 version: 0.3.2 @@ -173,31 +206,28 @@ importers: version: 3.4.2 super-sitemap: specifier: ^1.0.12 - version: 1.0.12(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + version: 1.0.12(svelte@5.56.1(@typescript-eslint/types@8.60.1)) svelte: - specifier: ^5.55.7 - version: 5.55.7(@typescript-eslint/types@8.59.3) + specifier: ^5.56.1 + version: 5.56.1(@typescript-eslint/types@8.60.1) svelte-check: - specifier: ^4.4.8 - version: 4.4.8(picomatch@4.0.4)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3) + specifier: ^4.6.0 + version: 4.6.0(picomatch@4.0.4)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3) svelte-persisted-store: specifier: ^0.12.0 - version: 0.12.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - svelte-preprocess: - specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.14))(postcss@8.5.14)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3) + version: 0.12.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) svelte-seo: specifier: ^2.0.0 - version: 2.0.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + version: 2.0.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) svelte-sonner: specifier: ^1.1.1 - version: 1.1.1(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + version: 1.1.1(svelte@5.56.1(@typescript-eslint/types@8.60.1)) svelte-tiny-virtual-list: specifier: 4.0.0-rc.2 - version: 4.0.0-rc.2(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + version: 4.0.0-rc.2(svelte@5.56.1(@typescript-eslint/types@8.60.1)) sveltekit-superforms: specifier: ^2.30.1 - version: 2.30.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3) + version: 2.30.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3) tailwind-merge: specifier: ^3.6.0 version: 3.6.0 @@ -214,110 +244,296 @@ importers: specifier: ^6.0.3 version: 6.0.3 typescript-eslint: - specifier: ^8.59.3 - version: 8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) + specifier: ^8.60.1 + version: 8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) vaul-svelte: specifier: 1.0.0-next.7 - version: 1.0.0-next.7(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + version: 1.0.0-next.7(svelte@5.56.1(@typescript-eslint/types@8.60.1)) vite: - specifier: ^8.0.13 - version: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) + specifier: ^8.0.16 + version: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.8.0)(@vitest/browser-playwright@4.1.6)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + specifier: ^4.1.8 + version: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) vitest-browser-svelte: specifier: ^2.1.1 - version: 2.1.1(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vitest@4.1.6) + version: 2.1.1(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8) zod: specifier: ^4.4.3 version: 4.4.3 packages: + '@apidevtools/json-schema-ref-parser@11.9.3': + resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==} + engines: {node: '>= 16'} + '@ark/schema@0.56.0': resolution: {integrity: sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA==} '@ark/util@0.56.0': resolution: {integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA==} - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.3': - resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.2': - resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.3': - resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.29.2': - resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.29.7': + resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.29.7': + resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.29.7': + resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.29.7': + resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + '@babel/preset-react@7.29.7': + resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@better-auth/api-key@1.6.14': + resolution: {integrity: sha512-iMLRcjpGyegI5yy375ZIw83HZGSZe6TwjtCKWdFTYy1PQ0bUcD0H61uKcvO82Co4jJmjakI3POR6lDy5W1OOew==} + peerDependencies: + '@better-auth/core': ^1.6.14 + '@better-auth/utils': 0.4.1 + better-auth: ^1.6.14 + better-call: 1.3.5 + + '@better-auth/core@1.6.14': + resolution: {integrity: sha512-12cA7tnR4Wyb3nLpPmeq/Id7QNB+4OhjbzuX7sIhqglgXGjyT5iiNpe2lx/8FF532sHC450Yx1850salCYbkzw==} + peerDependencies: + '@better-auth/utils': 0.4.1 + '@better-fetch/fetch': 1.1.21 + '@cloudflare/workers-types': '>=4' + '@opentelemetry/api': ^1.9.0 + better-call: 1.3.5 + jose: ^6.1.0 + kysely: 0.28.17 + nanostores: ^1.0.1 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + '@opentelemetry/api': + optional: true + + '@better-auth/drizzle-adapter@1.6.14': + resolution: {integrity: sha512-lYs1jDudriKYMXNcLFLAvEvOEKbeKBFdDciG4H8qZhV+3+yghGC3f/H5qtgTDc8mGBPV+2tEvVgYqReurOSmNw==} + peerDependencies: + '@better-auth/core': ^1.6.14 + '@better-auth/utils': 0.4.1 + drizzle-orm: ^0.45.2 + peerDependenciesMeta: + drizzle-orm: + optional: true + + '@better-auth/kysely-adapter@1.6.14': + resolution: {integrity: sha512-A2+381gYADuZpgd98XQ39bnxLzbT03wnnDmSQIXp7XcE3hF093mGMk6rxlAhENVHH7JL2B0Tv2la2o6n+6ppyQ==} + peerDependencies: + '@better-auth/core': ^1.6.14 + '@better-auth/utils': 0.4.1 + kysely: 0.28.17 + peerDependenciesMeta: + kysely: + optional: true + + '@better-auth/memory-adapter@1.6.14': + resolution: {integrity: sha512-frtBTozi8qsBlypxp33dkiIZT2IOMvix3oh2qTTcBkK11ISsRSTUUadl7DbwXri2AEoooShsH6PSAput920J3Q==} + peerDependencies: + '@better-auth/core': ^1.6.14 + '@better-auth/utils': 0.4.1 + + '@better-auth/mongo-adapter@1.6.14': + resolution: {integrity: sha512-meaZx712k9c0Cl6urwYZRNa3mAy3/leaYiSNt+hVaCOEPlgTDxzmYMNACvTTYXgh4eCpDVf5G7ZMEYBtejKQdw==} + peerDependencies: + '@better-auth/core': ^1.6.14 + '@better-auth/utils': 0.4.1 + mongodb: ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + mongodb: + optional: true + + '@better-auth/prisma-adapter@1.6.14': + resolution: {integrity: sha512-9b9wSqhCthMmOYo0QdX+N/cOv+fNck/JE5CZQuuWwEJl5QeoYhCZesXjts5VfLAPMIf6vKw3QNBrn0SVMXXi2Q==} + peerDependencies: + '@better-auth/core': ^1.6.14 + '@better-auth/utils': 0.4.1 + '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 + prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + '@prisma/client': + optional: true + prisma: + optional: true + + '@better-auth/telemetry@1.6.14': + resolution: {integrity: sha512-ALi3cEx5eyrFY+TeAdhc1uq8FqJyGvzgvIo7GQZOqGqLZxHY9nte44WN++jBFGJJbsW3e4cgLj8dQK291s6wWQ==} + peerDependencies: + '@better-auth/core': ^1.6.14 + '@better-auth/utils': 0.4.1 + '@better-fetch/fetch': 1.1.21 + + '@better-auth/utils@0.4.1': + resolution: {integrity: sha512-SZBPRPF3z0nBvE5ygOkxae35wnnXPRShmqFo78S+qslLeFoPu/pMgnXAuNKFMMybac3tiLaVg1e3MQW5MC+1iA==} + + '@better-fetch/fetch@1.1.21': + resolution: {integrity: sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==} + '@blazediff/core@1.9.1': resolution: {integrity: sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==} + '@borewit/text-codec@0.2.2': + resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} + '@changesets/apply-release-plan@7.1.1': resolution: {integrity: sha512-9qPCm/rLx/xoOFXIHGB229+4GOL76S4MC+7tyOuTsR6+1jYlfFDQORdvwR5hDA6y4FL2BPt3qpbcQIS+dW85LA==} @@ -340,8 +556,8 @@ packages: '@changesets/get-dependents-graph@2.1.4': resolution: {integrity: sha512-ZsS00x6WvmHq3sQv8oCMwL0f/z3wbXCVuSVTJwCnnmbC/iBdNJGFx1EcbMG4PC6sXRyH69liM4A2WKXzn/kRPg==} - '@changesets/get-github-info@0.6.0': - resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} + '@changesets/get-github-info@0.8.0': + resolution: {integrity: sha512-cRnC+xdF0JIik7coko3iUP9qbnfi1iJQ3sAa6dE+Tx3+ET8bjFEm63PA4WEohgjYcmsOikPHWzPsMWWiZmntOQ==} '@changesets/get-release-plan@4.0.16': resolution: {integrity: sha512-2K5Om6CrMPm45rtvckfzWo7e9jOVCKLCnXia5eUPaURH7/LWzri7pK1TycdzAuAtehLkW7VPbWLCSExTHmiI6g==} @@ -376,18 +592,82 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} + '@chevrotain/cst-dts-gen@10.5.0': + resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} + + '@chevrotain/gast@10.5.0': + resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==} + + '@chevrotain/types@10.5.0': + resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==} + + '@chevrotain/utils@10.5.0': + resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==} + + '@clack/core@0.5.0': + resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} + + '@clack/prompts@0.11.0': + resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} + + '@cloudflare/kv-asset-handler@0.5.0': + resolution: {integrity: sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==} + engines: {node: '>=22.0.0'} + + '@cloudflare/unenv-preset@2.16.1': + resolution: {integrity: sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==} + peerDependencies: + unenv: 2.0.0-rc.24 + workerd: '>1.20260305.0 <2.0.0-0' + peerDependenciesMeta: + workerd: + optional: true + + '@cloudflare/workerd-darwin-64@1.20260611.1': + resolution: {integrity: sha512-iJICldmi4sBGgi7IrQles8cStOGXM/Tmv95C4OODVs6VIbMsJPqThUM5h3uYVQNULuJ8I/aVvnJ3Eh/wZCKwuA==} + engines: {node: '>=16'} + cpu: [x64] + os: [darwin] + + '@cloudflare/workerd-darwin-arm64@1.20260611.1': + resolution: {integrity: sha512-yBbVXvbZyltR3I7NJdC4C4ItkItjZSiabcA/3HzEWOUQjLVKFqRh4so6ToHr70VCYh8VGeR8EDZL23igLhXqFQ==} + engines: {node: '>=16'} + cpu: [arm64] + os: [darwin] + + '@cloudflare/workerd-linux-64@1.20260611.1': + resolution: {integrity: sha512-PfNjpxOlaIgZFYuhD7+neEEewCN2Ud993wEEN0fmbtSOax1AK53LGqmXUDvFhnbkHxJLFAxYCSNISW8QbzaAIg==} + engines: {node: '>=16'} + cpu: [x64] + os: [linux] + + '@cloudflare/workerd-linux-arm64@1.20260611.1': + resolution: {integrity: sha512-GEp4XbuIKjlF8pakqXcUDJfKiJosD/Q7S83J0d+r+z9XIlYGfF3ntm08e2aiF5TFTwp3fnG4yMoPUAKNhNJpvQ==} + engines: {node: '>=16'} + cpu: [arm64] + os: [linux] + + '@cloudflare/workerd-windows-64@1.20260611.1': + resolution: {integrity: sha512-S6JkS0kEbcCKs19RGqEPhjCRbP8GBkQwqYLp2fhBJtD/KTlwqLzOJ9E6PQ7gQKgWHtxy1NBG3oXarlNFRNU/dw==} + engines: {node: '>=16'} + cpu: [x64] + os: [win32] + + '@cloudflare/workers-types@4.20260613.1': + resolution: {integrity: sha512-1mrgjE6epolwBhroeGAp5ud5H6Vyi6tl1o/NP0T4rXJ8bmEjmhHnbCzAhHTDHV0PIeip43wcuzHKJarvaGTaUA==} + '@commander-js/extra-typings@14.0.0': resolution: {integrity: sha512-hIn0ncNaJRLkZrxBIp5AsW/eXEHNKYQBh0aPdoUqNgD+Io3NIykQqpKFyKcuasZhicGaEZJX/JBSIkZ4e5x8Dg==} peerDependencies: commander: ~14.0.0 - '@commitlint/cli@21.0.1': - resolution: {integrity: sha512-8vq10krmbJwBkvzXKhbs4o4JQEVscd3pqOlWuDUaDBwbeL694/P33UC29tZQFTAgPU9fVJ2+f2m3zw16yKWxHg==} + '@commitlint/cli@21.0.2': + resolution: {integrity: sha512-YMmfLbqBg+ZRvvmPhc+cilSQFrh/AgzVgCT1U/OifmUZEwPbvCtA8rN//YNaF9d5eoZphxVMGYtmwA2QgQORgg==} engines: {node: '>=22.12.0'} hasBin: true - '@commitlint/config-conventional@21.0.1': - resolution: {integrity: sha512-gRorrkfWOh/+V5X8GYWWbQvrzPczopGMS4CCNrQdHkK4xWElv82BDvIsDhJZWTlI7TazOlYea6VATufCsFs+sw==} + '@commitlint/config-conventional@21.0.2': + resolution: {integrity: sha512-P/ZRhryQmkj0Z0dY9FOoRwe3xkwJyyAdtXwt01NT2kuZttcG2CNYp1q5Ci3u+nDT2jcbJRw2kt13Czl1qKNPfg==} engines: {node: '>=22.12.0'} '@commitlint/config-validator@21.0.1': @@ -406,44 +686,44 @@ packages: resolution: {integrity: sha512-ksmG2+cHGtuDPQQbhBbC4unwm444+6TiPw0d1bKf67hntgZqZ8E0g1MuYKUuyT5IH4IMmXZhKq22/Z3jBvtQIw==} engines: {node: '>=22.12.0'} - '@commitlint/is-ignored@21.0.1': - resolution: {integrity: sha512-iNDP8SFdw8JEkM0CHZ2XFnhTN4Zg5jKUY2d8kBOSFrI2aA+3YJI7fcqVpfgbpJ9xtxFVYpi+DBATU5AvhoTq8g==} + '@commitlint/is-ignored@21.0.2': + resolution: {integrity: sha512-H5z4t8PC9tUsmZ/o+EptM3Nq8sTFtskAShdcqxCoyzklW5eaVT5xbrDAET2uypzir9Vsj4ZZmBtyKjYe2XqgeQ==} engines: {node: '>=22.12.0'} - '@commitlint/lint@21.0.1': - resolution: {integrity: sha512-gF+iYtUw1gBG3HUH9z3VxwUjGg2R2G5j+nmvPs8aIeYkiB7TtneBu3wO85I0bUl93bYNsvsCNI9Nte2fmDUMww==} + '@commitlint/lint@21.0.2': + resolution: {integrity: sha512-PnUmLYGeGLfW8oVatR9KpNxSHYAnJOEWlMZzfdeFOUq6WUrFx1fGQaWCWJqMoIll/xPM+GdfJV+tKHZVHhl0Fg==} engines: {node: '>=22.12.0'} - '@commitlint/load@21.0.1': - resolution: {integrity: sha512-Btg1q1mKmiihN4W3x0EsPDrJMOQfMa9NIqlzlJyXAfxvsOGdGXOW5p3R3RcSxDCaY7JabY9flIl+Om1af3PSrw==} + '@commitlint/load@21.0.2': + resolution: {integrity: sha512-lwUE70hN0/qE/ZRROhbaX65ly/FF12DrqfReLCESo37M0OQCFAf2jRS+2tSCSORq+bm4Kdju7qNDj46uc1QzTA==} engines: {node: '>=22.12.0'} - '@commitlint/message@21.0.1': - resolution: {integrity: sha512-R3dVQeJQ0B6yqrZEjkUHD4r7UJYLV9Lvk2xs3PTOmtWk2G3mI6Xgc+YdRxL1PwcDfBiUjv2SkIkW4AUc976w1w==} + '@commitlint/message@21.0.2': + resolution: {integrity: sha512-5n4aqHGD/FNnom/D5L8i7cYtV+xjuXcBL832C3w9VglEsZzIsoHpJsvxzJ7cgiOsOdc/2jU4t5+7qMHh7GBX3g==} engines: {node: '>=22.12.0'} - '@commitlint/parse@21.0.1': - resolution: {integrity: sha512-oh/nCSOqdoeQNA1tO8aAmxkq5EBo8/NzcFQRvv66AWc9HpED28sL2iSicCKU6hPintWuscL6BJEWi77Wq1LPMQ==} + '@commitlint/parse@21.0.2': + resolution: {integrity: sha512-QVZJhGHTm+oiuWyEKOCTQ0ZM3mfJ0eGWFeHuj7WzSKEth+UukcCHac9GD8pgdFlg/qGkFWOtyaNd1T8REgagaw==} engines: {node: '>=22.12.0'} - '@commitlint/read@21.0.1': - resolution: {integrity: sha512-pMEu4lbpC8W0ZgKJj2U6WaobXIZWdFlULpIEewYhkPXx+WZcnoO53YrVPc7QErQuNolq2Me8dP58Wu7YAVXVOA==} + '@commitlint/read@21.0.2': + resolution: {integrity: sha512-BtsrnLVycSSKf4Q0gMch4giCj5NNlmcbhc8ra5vONgGtP2IjRDo33bEFtr5Pm+2N+5fXGWb2MksWPrspPfdhdw==} engines: {node: '>=22.12.0'} '@commitlint/resolve-extends@21.0.1': resolution: {integrity: sha512-0DhjYWL6uYrY16Efa032fYk3woGJDU4AGWiG1XXltT9AMUNYKyb5cIZU2ivbaMZ3+kKFqUjikD2cjh66Sbh/Sg==} engines: {node: '>=22.12.0'} - '@commitlint/rules@21.0.1': - resolution: {integrity: sha512-VMooYpz4nJg7xlaUso6CCOWEz8D/ChkvsvZUMARcoJ1ZpfKPyFCGrHNha2tbsETNAb6ErgiRuCr2DvghrvPDYQ==} + '@commitlint/rules@21.0.2': + resolution: {integrity: sha512-k6tQ69Td7t2qUSIbik8D3TL1q3ZJpkEbV+yLogDzCRAdOxJm4ndhtBNREsLA1/puRfWvzS9eioF2w43WT+hHgQ==} engines: {node: '>=22.12.0'} '@commitlint/to-lines@21.0.1': resolution: {integrity: sha512-bd1BFII7p1EQZre9Kaj+kKaMFP3cFCdt21K7DItVux9XP5WjLgJ0/Uy1pJJh9aPwVJ6SKg62PxqlZaHI8hQAXw==} engines: {node: '>=22.12.0'} - '@commitlint/top-level@21.0.1': - resolution: {integrity: sha512-4esUYqzY7K0FCgcJ/1xWEZekV7Ch4yZT1+xjEb7KzqbJ05XEkxHVsTfC8ADKNNtlCE2pj98KEbPGZWw9WwEnVw==} + '@commitlint/top-level@21.0.2': + resolution: {integrity: sha512-s9KKM+e+mXgFeIh4n7KmOGAVT3mkJ3Fp1bBYHIK5pjeUwlEMzp/tZfb5u0Poa680AsQTXMEMRxZi1vQ9m2X5ug==} engines: {node: '>=22.12.0'} '@commitlint/types@21.0.1': @@ -462,15 +742,33 @@ packages: conventional-commits-parser: optional: true - '@date-fns/tz@1.4.1': - resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@date-fns/tz@1.2.0': + resolution: {integrity: sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==} + + '@date-fns/tz@1.5.0': + resolution: {integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==} '@dnd-kit/abstract@0.4.0': resolution: {integrity: sha512-loEEJxKT5oLOLeRBJVTO9qpgvvW/Qq902xO20v1JMbpANuN/NLurUdpxIwNpVz+RtOSyzznnbc7lO7psmOhc9A==} + '@dnd-kit/accessibility@3.1.1': + resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} + peerDependencies: + react: '>=16.8.0' + '@dnd-kit/collision@0.4.0': resolution: {integrity: sha512-oOHHUkH1h9Vl2m8TwLw/mPHA7Blf+s0PYcRoLNWNBVxDzugJKZo8WdpU58EMu9qkqyQGrR/YTOozGiMPhlqZ5Q==} + '@dnd-kit/core@6.3.1': + resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + '@dnd-kit/dom@0.4.0': resolution: {integrity: sha512-mJDKt0BtlHXetZyrvZXh6++aycleIbYWH/OVC4nlszDh8NvW7q8dfsxFllR5RtLKLcykLaI4o545Figfks/HZQ==} @@ -480,6 +778,18 @@ packages: '@dnd-kit/helpers@0.4.0': resolution: {integrity: sha512-9YOKevD6zOwKVvV4k3fQL//NF+UaN92sfqPpJhT0/7Jq5PLtfD+CTpzmFAjTt5o1qQpFj3xqjWnQl25ooW62wQ==} + '@dnd-kit/modifiers@9.0.0': + resolution: {integrity: sha512-ybiLc66qRGuZoC20wdSSG6pDXFikui/dCNGthxv4Ndy8ylErY0N3KVxY2bgo7AWwIbxDmXDg3ylAFmnrjcbVvw==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + + '@dnd-kit/sortable@10.0.0': + resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + '@dnd-kit/state@0.4.0': resolution: {integrity: sha512-vVdwOY9VsYdMNa7Z0xQhTXlzHqCcCugGuoM1kzvZhnZ0tYVPRdmIhWfeO6Y2ZoN92JwYAyJRRNl4ICkEe2mneg==} @@ -488,6 +798,14 @@ packages: peerDependencies: svelte: ^5.29.0 + '@dnd-kit/utilities@3.2.2': + resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} + peerDependencies: + react: '>=16.8.0' + + '@drizzle-team/brocli@0.10.2': + resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} + '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} @@ -497,148 +815,767 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + + '@emotion/cache@11.14.0': + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.14.0': + resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild-kit/esm-loader@2.6.5': + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.27.7': resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.28.0': + resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + 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'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.27.7': resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.28.0': + resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.27.7': resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.28.0': + resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.27.7': resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.28.0': + resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.27.7': resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.28.0': + resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.27.7': resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.7': - resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + '@esbuild/darwin-x64@0.28.0': + resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.7': - resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} - cpu: [x64] + cpu: [arm64] os: [freebsd] - '@esbuild/linux-arm64@0.27.7': - resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] - os: [linux] + os: [freebsd] - '@esbuild/linux-arm@0.27.7': + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.28.0': + resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.28.0': + resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.28.0': + resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.7': resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.28.0': + resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + 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'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.27.7': resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.28.0': + resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + 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'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.27.7': resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.28.0': + resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.27.7': resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.28.0': + resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.27.7': resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.28.0': + resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.27.7': resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.28.0': + resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.27.7': resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.28.0': + resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.27.7': resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.28.0': + resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-arm64@0.27.7': resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.28.0': + resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.27.7': resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.28.0': + resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-arm64@0.27.7': resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.28.0': + resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.27.7': resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.28.0': + resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/openharmony-arm64@0.27.7': resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.7': - resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + '@esbuild/openharmony-arm64@0.28.0': + resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.7': - resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} - cpu: [arm64] + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.28.0': + resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.28.0': + resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} + engines: {node: '>=18'} + cpu: [ia32] os: [win32] '@esbuild/win32-ia32@0.27.7': @@ -647,12 +1584,42 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.28.0': + resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.27.7': resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} engines: {node: '>=18'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.28.0': + resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -663,21 +1630,12 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@2.1.0': - resolution: {integrity: sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - eslint: ^8.40 || 9 || 10 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/config-array@0.23.5': resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.5.5': - resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==} + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@1.2.1': @@ -697,17 +1655,30 @@ packages: resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.7.1': - resolution: {integrity: sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==} + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@exodus/schemasafe@1.3.0': resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} - '@fastify/otel@0.18.0': - resolution: {integrity: sha512-3TASCATfw+ctICSb4ymrv7iCm0qJ0N9CarB+CZ7zIJ7KqNbwI5JjyDL1/sxoC0ccTO1Zyd1iQ+oqncPg5FJXaA==} + '@faceless-ui/modal@3.0.0': + resolution: {integrity: sha512-o3oEFsot99EQ8RJc1kL3s/nNMHX+y+WMXVzSSmca9L0l2MR6ez2QM1z1yIelJX93jqkLXQ9tW+R9tmsYa+O4Qg==} peerDependencies: - '@opentelemetry/api': ^1.9.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@faceless-ui/scroll-info@2.0.0': + resolution: {integrity: sha512-BkyJ9OQ4bzpKjE3UhI8BhcG36ZgfB4run8TmlaR4oMFUbl59dfyarNfjveyimrxIso9RhFEja/AJ5nQmbcR9hw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@faceless-ui/window-info@3.0.1': + resolution: {integrity: sha512-uPjdJYE/j7hqVNelE9CRUNOeXuXDdPxR4DMe+oz3xwyZi2Y4CxsfpfdPTqqwmNAZa1P33O+ZiCyIkBEeNed0kw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 '@floating-ui/core@1.7.5': resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} @@ -715,6 +1686,18 @@ packages: '@floating-ui/dom@1.7.6': resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + '@floating-ui/react-dom@2.1.8': + resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/react@0.27.19': + resolution: {integrity: sha512-31B8h5mm8YxotlE7/AU/PhNAl8eWxAmjL/v2QOxroDNkTFLk3Uu82u63N3b6TXa4EGJeeZLVcd/9AlNlVqzeog==} + peerDependencies: + react: '>=17.0.0' + react-dom: '>=17.0.0' + '@floating-ui/utils@0.2.11': resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} @@ -747,6 +1730,159 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.34.5': + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.34.5': + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.2.4': + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.2.4': + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.2.4': + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm@1.2.4': + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-ppc64@1.2.4': + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-riscv64@1.2.4': + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.2.4': + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.2.4': + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linux-arm64@0.34.5': + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.34.5': + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-ppc64@0.34.5': + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-riscv64@0.34.5': + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.34.5': + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.34.5': + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linuxmusl-arm64@0.34.5': + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.34.5': + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-wasm32@0.34.5': + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.34.5': + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.34.5': + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.34.5': + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@inquirer/external-editor@1.0.3': resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} engines: {node: '>=18'} @@ -775,8 +1911,91 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@lucide/svelte@1.16.0': - resolution: {integrity: sha512-AvvPJnaWxeiNkAljI5MsSEc84yHPLMaWQIAJOcbX7k9au/f9ITS7cxTTQiautDiOFKVOXiYdZ+d6mtl88J+Kbg==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@lexical/clipboard@0.41.0': + resolution: {integrity: sha512-Ex5lPkb4NBBX1DCPzOAIeHBJFH1bJcmATjREaqpnTfxCbuOeQkt44wchezUA0oDl+iAxNZ3+pLLWiUju9icoSA==} + + '@lexical/code@0.41.0': + resolution: {integrity: sha512-0hoNi1KC9/N3SBOGcOcFqnT0OpwmcRRAhfxTKMGqfCtCvAMzULVwZ8RWc9/NV9bKYESgBTW5D9xkDANP2mspHg==} + + '@lexical/devtools-core@0.41.0': + resolution: {integrity: sha512-FzJtluBhBc8bKS11TUZe72KoZN/hnzIyiiM0SPJAsPwGpoXuM01jqpXQGybWf/1bWB+bmmhOae7O4Nywi/Csuw==} + peerDependencies: + react: '>=17.x' + react-dom: '>=17.x' + + '@lexical/dragon@0.41.0': + resolution: {integrity: sha512-gBEqkk8Q6ZPruvDaRcOdF1EK9suCVBODzOCcR+EnoJTaTjfDkCM7pkPAm4w90Wa1wCZEtFHvCfas+jU9MDSumg==} + + '@lexical/extension@0.41.0': + resolution: {integrity: sha512-sF4SPiP72yXvIGchmmIZ7Yg2XZTxNLOpFEIIzdqG7X/1fa1Ham9P/T7VbrblWpF6Ei5LJtK9JgNVB0hb4l3o1g==} + + '@lexical/hashtag@0.41.0': + resolution: {integrity: sha512-tFWM74RW4KU0E/sj2aowfWl26vmLUTp331CgVESnhQKcZBfT40KJYd57HEqBDTfQKn4MUhylQCCA0hbpw6EeFQ==} + + '@lexical/headless@0.41.0': + resolution: {integrity: sha512-MH8oDuUKdM/Jq0c9vlEEkCL9pEQg4SwyrABBGIbFf+87VBJ5EWDdG9g1vJq7fKSDxfhFux7F5+i+zgUnxOQR/g==} + + '@lexical/history@0.41.0': + resolution: {integrity: sha512-kGoVWsiOn62+RMjRolRa+NXZl8jFwxav6GNDiHH8yzivtoaH8n1SwUfLJELXCzeqzs81HySqD4q30VLJVTGoDg==} + + '@lexical/html@0.41.0': + resolution: {integrity: sha512-3RyZy+H/IDKz2D66rNN/NqYx87xVFrngfEbyu1OWtbY963RUFnopiVHCQvsge/8kT04QSZ7U/DzjVFqeNS6clg==} + + '@lexical/link@0.41.0': + resolution: {integrity: sha512-Rjtx5cGWAkKcnacncbVsZ1TqRnUB2Wm4eEVKpaAEG41+kHgqghzM2P+UGT15yROroxJu8KvAC9ISiYFiU4XE1w==} + + '@lexical/list@0.41.0': + resolution: {integrity: sha512-RXvB+xcbzVoQLGRDOBRCacztG7V+bI95tdoTwl8pz5xvgPtAaRnkZWMDP+yMNzMJZsqEChdtpxbf0NgtMkun6g==} + + '@lexical/mark@0.41.0': + resolution: {integrity: sha512-UO5WVs9uJAYIKHSlYh4Z1gHrBBchTOi21UCYBIZ7eAs4suK84hPzD+3/LAX5CB7ZltL6ke5Sly3FOwNXv/wfpA==} + + '@lexical/markdown@0.41.0': + resolution: {integrity: sha512-bzI73JMXpjGFhqUWNV6KqfjWcgAWzwFT+J3RHtbCF5rysC8HLldBYojOgAAtPfXqfxyv2mDzsY7SoJ75s9uHZA==} + + '@lexical/offset@0.41.0': + resolution: {integrity: sha512-2RHBXZqC8gm3X9C0AyRb0M8w7zJu5dKiasrif+jSKzsxPjAUeF1m95OtIOsWs1XLNUgASOSUqGovDZxKJslZfA==} + + '@lexical/overflow@0.41.0': + resolution: {integrity: sha512-Iy6ZiJip8X14EBYt1zKPOrXyQ4eG9JLBEoPoSVBTiSbVd+lYicdUvaOThT0k0/qeVTN9nqTaEltBjm56IrVKCQ==} + + '@lexical/plain-text@0.41.0': + resolution: {integrity: sha512-HIsGgmFUYRUNNyvckun33UQfU7LRzDlxymHUq67+Bxd5bXqdZOrStEKJXuDX+LuLh/GXZbaWNbDLqwLBObfbQg==} + + '@lexical/react@0.41.0': + resolution: {integrity: sha512-7+GUdZUm6sofWm+zdsWAs6cFBwKNsvsHezZTrf6k8jrZxL461ZQmbz/16b4DvjCGL9r5P1fR7md9/LCmk8TiCg==} + peerDependencies: + react: '>=17.x' + react-dom: '>=17.x' + + '@lexical/rich-text@0.41.0': + resolution: {integrity: sha512-yUcr7ZaaVTZNi8bow4CK1M8jy2qyyls1Vr+5dVjwBclVShOL/F/nFyzBOSb6RtXXRbd3Ahuk9fEleppX/RNIdw==} + + '@lexical/selection@0.41.0': + resolution: {integrity: sha512-1s7/kNyRzcv5uaTwsUL28NpiisqTf5xZ1zNukLsCN1xY+TWbv9RE9OxIv+748wMm4pxNczQe/UbIBODkbeknLw==} + + '@lexical/table@0.41.0': + resolution: {integrity: sha512-d3SPThBAr+oZ8O74TXU0iXM3rLbrAVC7/HcOnSAq7/AhWQW8yMutT51JQGN+0fMLP9kqoWSAojNtkdvzXfU/+A==} + + '@lexical/text@0.41.0': + resolution: {integrity: sha512-gGA+Anc7ck110EXo4KVKtq6Ui3M7Vz3OpGJ4QE6zJHWW8nV5h273koUGSutAMeoZgRVb6t01Izh3ORoFt/j1CA==} + + '@lexical/utils@0.41.0': + resolution: {integrity: sha512-Wlsokr5NQCq83D+7kxZ9qs5yQ3dU3Qaf2M+uXxLRoPoDaXqW8xTWZq1+ZFoEzsHzx06QoPa4Vu/40BZR91uQPg==} + + '@lexical/yjs@0.41.0': + resolution: {integrity: sha512-PaKTxSbVC4fpqUjQ7vUL9RkNF1PjL8TFl5jRe03PqoPYpE33buf3VXX6+cOUEfv9+uknSqLCPHoBS/4jN3a97w==} + peerDependencies: + yjs: '>=13.5.22' + + '@lucide/svelte@1.17.0': + resolution: {integrity: sha512-q06YCFBN5CO8cd1ADmLCxWRVMVb7xxvHzqC0lvNoxGa+FLW6Cd1Y1AOxgbQk4Iwe68vkAMCRveNHint4WoaVKg==} peerDependencies: svelte: ^5 @@ -786,12 +2005,92 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@monaco-editor/loader@1.7.0': + resolution: {integrity: sha512-gIwR1HrJrrx+vfyOhYmCZ0/JcWqG5kbfG7+d3f/C1LXk2EvzAbHSg3MQ5lO2sMlo9izoAZ04shohfKLVT6crVA==} + + '@monaco-editor/react@4.7.0': + resolution: {integrity: sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==} + peerDependencies: + monaco-editor: '>= 0.25.0 < 1' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@mrleebo/prisma-ast@0.13.1': + resolution: {integrity: sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw==} + engines: {node: '>=16'} + '@napi-rs/wasm-runtime@1.1.4': resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} peerDependencies: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 + '@next/env@15.5.19': + resolution: {integrity: sha512-sWWluFvcv5v3Fxznmf2ZfjyoVQt/64oCnYqS90inQWGzMPK1VjvekPiz3OPHKmFT30EnHrjlbyaHLt3M0vWabw==} + + '@next/env@16.2.7': + resolution: {integrity: sha512-tMJizPlj6ZYpBMMdK8S0LJufrP4QTdR6pcv9KQ/bVETPAmg0j1mlHE9G2c38UyGHxoBapgwuj7XjbGJ2RcDFOg==} + + '@next/swc-darwin-arm64@16.2.7': + resolution: {integrity: sha512-vm1EDI/pVaBNNiychmxk3fft+OhQPVD9cIM/tReLZIQ3TfQ4kqI9DwKk00dzuS1ulC7icbrzCFrmRRlk9PfNdw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@16.2.7': + resolution: {integrity: sha512-O3IRSv1ZBL1zs0WrIgefTEcTKFVn+ryxBNe54erJ6KsD+2f/Mmt7g2jOYh8PSBdUwPtKQJuCsTMlZ7tIu2AcsQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@16.2.7': + resolution: {integrity: sha512-Re6PZtjBDd0aMU+VcZcC/PrIvj4WhrjDYtMhhCVQamWN4L90EVP0pcEOBQD25prSlw7OzNw5QpHLWMilRLsRNw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-arm64-musl@16.2.7': + resolution: {integrity: sha512-qyogG9QtBzWxgJfeGBvOEHI3851gTfCF3wLZ5RDLTBJGAmE9p1qDwKCOdrBrvBzRvYDT+gUDp72pzlSEfAXgNA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@next/swc-linux-x64-gnu@16.2.7': + resolution: {integrity: sha512-Vhe4ZDuBpmMogrGi5D4R2Kq4JAQlj6+wvgaFYy31zfES0zPmt6TLA+cuYpM/OLrPZjo2MYQTHVqNUSCR6+fDZQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-x64-musl@16.2.7': + resolution: {integrity: sha512-srvian89JahFLw1YLBEuhvPJ0DO5lpUeJQMXy4xYo7g628ZlNgXdNkqoxSAv9OYrBfByh6vxISMwW/mRbzCY+g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@next/swc-win32-arm64-msvc@16.2.7': + resolution: {integrity: sha512-GX3wvLpULFuRFJzwHaKfm7QZJ18F4ZSuxlPJ96BoBglCzBmdSjyeBKF+ZhWhvL/ckxNfLnNa7bsObO2ipYpszw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@16.2.7': + resolution: {integrity: sha512-J4WlM72NMk076Qsg0jTdK3SNXatlSdnjW7L7oNGLst1tAGjHrJh/FYi+pw9wyIjEtGRKDNzD0zuiY16oWYWVaw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@noble/ciphers@2.2.0': + resolution: {integrity: sha512-Z6pjIZ/8IJcCGzb2S/0Px5J81yij85xASuk1teLNeg75bfT07MV3a/O2Mtn1I2se43k3lkVEcFaR10N4cgQcZA==} + engines: {node: '>= 20.19.0'} + + '@noble/hashes@2.2.0': + resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==} + engines: {node: '>= 20.19.0'} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -804,14 +2103,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@opentelemetry/api-logs@0.207.0': - resolution: {integrity: sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==} - engines: {node: '>=8.0.0'} - - '@opentelemetry/api-logs@0.212.0': - resolution: {integrity: sha512-TEEVrLbNROUkYY51sBJGk7lO/OLjuepch8+hmpM6ffMJQ2z/KVCjdHuCFX6fJj8OkJP2zckPjrJzQtXU3IAsFg==} - engines: {node: '>=8.0.0'} - '@opentelemetry/api-logs@0.214.0': resolution: {integrity: sha512-40lSJeqYO8Uz2Yj7u94/SJWE/wONa7rmMKjI1ZcIjgf3MHNHv1OZUCrCETGuaRF62d5pQD1wKIW+L4lmSMTzZA==} engines: {node: '>=8.0.0'} @@ -820,138 +2111,12 @@ packages: resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} engines: {node: '>=8.0.0'} - '@opentelemetry/core@2.6.1': - resolution: {integrity: sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@2.7.1': resolution: {integrity: sha512-QAqIj32AtK6+pEVNG7EOVxHdE06RP+FM5qpiEJ4RtDcFIqKUZHYhl7/7UY5efhwmwNAg7j8QbJVBLxMerc0+gw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/instrumentation-amqplib@0.61.0': - resolution: {integrity: sha512-mCKoyTGfRNisge4br0NpOFSy2Z1NnEW8hbCJdUDdJFHrPqVzc4IIBPA/vX0U+LUcQqrQvJX+HMIU0dbDRe0i0Q==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-connect@0.57.0': - resolution: {integrity: sha512-FMEBChnI4FLN5TE9DHwfH7QpNir1JzXno1uz/TAucVdLCyrG0jTrKIcNHt/i30A0M2AunNBCkcd8Ei26dIPKdg==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-dataloader@0.31.0': - resolution: {integrity: sha512-f654tZFQXS5YeLDNb9KySrwtg7SnqZN119FauD7acBoTzuLduaiGTNz88ixcVSOOMGZ+EjJu/RFtx5klObC95g==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-fs@0.33.0': - resolution: {integrity: sha512-sCZWXGalQ01wr3tAhSR9ucqFJ0phidpAle6/17HVjD6gN8FLmZMK/8sKxdXYHy3PbnlV1P4zeiSVFNKpbFMNLA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-generic-pool@0.57.0': - resolution: {integrity: sha512-orhmlaK+ZIW9hKU+nHTbXrCSXZcH83AescTqmpamHRobRmYSQwRbD0a1odc0yAzuzOtxYiHiXAnpnIpaSSY7Ow==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-graphql@0.62.0': - resolution: {integrity: sha512-3YNuLVPUxafXkH1jBAbGsKNsP3XVzcFDhCDCE3OqBwCwShlqQbLMRMFh1T/d5jaVZiGVmSsfof+ICKD2iOV8xg==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-hapi@0.60.0': - resolution: {integrity: sha512-aNljZKYrEa7obLAxd1bCEDxF7kzCLGXTuTJZ8lMR9rIVEjmuKBXN1gfqpm/OB//Zc2zP4iIve1jBp7sr3mQV6w==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-http@0.214.0': - resolution: {integrity: sha512-FlkDhZDRjDJDcO2LcSCtjRpkal1NJ8y0fBqBhTvfAR3JSYY2jAIj1kSS5IjmEBt4c3aWv+u/lqLuoCDrrKCSKg==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-kafkajs@0.23.0': - resolution: {integrity: sha512-4K+nVo+zI+aDz0Z85SObwbdixIbzS9moIuKJaYsdlzcHYnKOPtB7ya8r8Ezivy/GVIBHiKJVq4tv+BEkgOMLaQ==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-knex@0.58.0': - resolution: {integrity: sha512-Hc/o8fSsaWxZ8r1Yw4rNDLwTpUopTf4X32y4W6UhlHmW8Wizz8wfhgOKIelSeqFVTKBBPIDUOsQWuIMxBmu8Bw==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-koa@0.62.0': - resolution: {integrity: sha512-uVip0VuGUQXZ+vFxkKxAUNq8qNl+VFlyHDh/U6IQ8COOEDfbEchdaHnpFrMYF3psZRUuoSIgb7xOeXj00RdwDA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.9.0 - - '@opentelemetry/instrumentation-lru-memoizer@0.58.0': - resolution: {integrity: sha512-6grM3TdMyHzlGY1cUA+mwoPueB1F3dYKgKtZIH6jOFXqfHAByyLTc+6PFjGM9tKh52CFBJaDwodNlL/Td39z7Q==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-mongodb@0.67.0': - resolution: {integrity: sha512-1WJp5N1lYfHq2IhECOTewFs5Tf2NfUOwQRqs/rZdXKTezArMlucxgzAaqcgp3A3YREXopXTpXHsxZTGHjNhMdQ==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-mongoose@0.60.0': - resolution: {integrity: sha512-8BahAZpKsOoc+lrZGb7Ofn4g3z8qtp5IxDfvAVpKXsEheQN7ONMH5djT5ihy6yf8yyeQJGS0gXFfpEAEeEHqQg==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-mysql2@0.60.0': - resolution: {integrity: sha512-m/5d3bxQALllCzezYDk/6vajh0tj5OijMMvOZGr+qN1NMXm1dzMNwyJ0gNZW7Fo3YFRyj/jJMxIw+W7d525dlw==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-mysql@0.60.0': - resolution: {integrity: sha512-08pO8GFPEIz2zquKDGteBZDNmwketdgH8hTe9rVYgW9kCJXq1Psj3wPQGx+VaX4ZJKCfPeoLMYup9+cxHvZyVQ==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-pg@0.66.0': - resolution: {integrity: sha512-KxfLGXBb7k2ueaPJfq2GXBDXBly8P+SpR/4Mj410hhNgmQF3sCqwXvUBQxZQkDAmsdBAoenM+yV1LhtsMRamcA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation-tedious@0.33.0': - resolution: {integrity: sha512-Q6WQwAD01MMTub31GlejoiFACYNw26J426wyjvU7by7fDIr2nZXNW4vhTGs7i7F0TnXBO3xN688g1tdUgYwJ5w==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation@0.207.0': - resolution: {integrity: sha512-y6eeli9+TLKnznrR8AZlQMSJT7wILpXH+6EYq5Vf/4Ao+huI7EedxQHwRgVUOMLFbe7VFDvHJrX9/f4lcwnJsA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - - '@opentelemetry/instrumentation@0.212.0': - resolution: {integrity: sha512-IyXmpNnifNouMOe0I/gX7ENfv2ZCNdYTF0FpCsoBcpbIHzk81Ww9rQTYTnvghszCg7qGrIhNvWC8dhEifgX9Jg==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation@0.214.0': resolution: {integrity: sha512-MHqEX5Dk59cqVah5LiARMACku7jXSVk9iVDWOea4x3cr7VfdByeDCURK6o1lntT1JS/Tsovw01UJrBhN3/uC5w==} engines: {node: ^18.19.0 || >=20.6.0} @@ -974,49 +2139,51 @@ packages: resolution: {integrity: sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==} engines: {node: '>=14'} - '@opentelemetry/sql-common@0.41.2': - resolution: {integrity: sha512-4mhWm3Z8z+i508zQJ7r6Xi7y4mmoJpdvH0fZPFRkWrdp5fq7hhZ2HhYokEOLkfqSMgPR4Z9EyB3DBkbKGOqZiQ==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.1.0 - - '@orval/angular@8.10.0': - resolution: {integrity: sha512-MAamzCA68K796MwgmS1WEnVrDIDeMm3iv2fmKtz8oOhYxjVRDLX+Bh3dgsoGPmQwCN1x8xMHdHW1c6vrnIZCCA==} + '@orval/angular@8.15.0': + resolution: {integrity: sha512-aFArKav6FuZ7ZTm1GorkRLJKtHza3TSy04qcuNnb84qlJ83DHAhxoDVyBXQUmSYtwbc7ckzTveMofiA5v13wnw==} - '@orval/axios@8.10.0': - resolution: {integrity: sha512-i5RLA1fJ+DW8sgVK3A71YfvugBNurfb78jxXUgiPBrCVw7jVzxnuZT3hYv3ABsMfpk3lyONcO/o1EGzOwLsB3A==} + '@orval/axios@8.15.0': + resolution: {integrity: sha512-jdsEPvmxlmbQ9YVsLWmzxphN+x+xTYst6WmnnEfz/QMicOEzy1RzWp9YzmpHUT+EKs6pdYWrwagxph74R3qV9A==} - '@orval/core@8.10.0': - resolution: {integrity: sha512-JKO1sPNCVjp5ktIP9xl06XcnEFkXQAw65q9gxzXBrBR8i3+ifMRF9UESuwGJvvMZJMZofT0IKp2zbKONZyG5RA==} + '@orval/core@8.15.0': + resolution: {integrity: sha512-YcUZQWnCU/0Dzf1aISQ+XY7ghL248Ctfv++2Qyr4nUuZ2UWG3bdO1FAdDUGULYTDAgfb5B3iiJIYsxR0iDKk5A==} peerDependencies: '@faker-js/faker': '>=10' peerDependenciesMeta: '@faker-js/faker': optional: true - '@orval/fetch@8.10.0': - resolution: {integrity: sha512-U4tBjhzXeBJKvqx3xJG9OK95XLFKhPtdgPu2VPwq3SN2WE/xEkbdZnSz1pF0N9IAAG9mHuFIMz/C+H//TdT+ZQ==} + '@orval/effect@8.15.0': + resolution: {integrity: sha512-gF2P1tbe08KbBuEaLHtwliabs599qYvypzy8Aj6j+aRY4EiSCRNZYs1U7lQY52jZrvwqv2L0llQl4qkelkOMoA==} - '@orval/hono@8.10.0': - resolution: {integrity: sha512-hWqBXaycTOaXWAMwh7YV7Y8ff72xRRRIh+8NnhfVIT2IKf5/r43rv6Q9wpV9CtFR/ciquVUZHejuIJFUr0RrRw==} + '@orval/fetch@8.15.0': + resolution: {integrity: sha512-EyTOblRIo6DtP80F1RzfgLIbsQRu0as8sbpU0Kd46Zj248SeWE/5if4cfrjFR1lzSL+9pDBaHlA2JA7BNu08Rg==} + + '@orval/hono@8.15.0': + resolution: {integrity: sha512-UhYn0Z+P/Fo3HmxIB5RcJnnhdTtSge7ewhenauJCooMF1yrQjlPyHsKIxmjolZjZIKae2igsZekz1tCVtKi26g==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true - '@orval/mcp@8.10.0': - resolution: {integrity: sha512-IiLMvr/NZKZxmSgZvvnsA4iXH93CF/SdSQN1SBmvQtpWVhinHOLKGFjH/iXJm6byxiw0SjWsI/4BaL7/WhPbew==} + '@orval/mcp@8.15.0': + resolution: {integrity: sha512-VwpBhIR/rD7o8XGs4bIOnXwAjpRrJTusBBUG50VOgAtPA88cM8WDPMND3Zt7Wr8iP8xZmzRBw105n9qhoQ5xUg==} - '@orval/mock@8.10.0': - resolution: {integrity: sha512-oVfEs89/7G7PorEHE/spHr4FRpONvDX7DB5h+VWsGYY8k/uuHeIRPfQBlsFTe4yilblFypAka9nD/7uDKAuzVQ==} + '@orval/mock@8.15.0': + resolution: {integrity: sha512-PdIvn/y7u6ktoVEWLm9XrMdx4KPlsv0ww9Fl6H+ibL3yB1xX3JWe/e1YKlA1aDyGyBDTyDAdTWNJHoAtKnqEug==} - '@orval/query@8.10.0': - resolution: {integrity: sha512-gnztWtnIeGDUHdeiAcLzMkGJ0dvq+vfrwEzOthM7nSBNsnT8RV1beS7xwXdERPcvP89GnSkZ7RZ+2zKy31FF6w==} + '@orval/query@8.15.0': + resolution: {integrity: sha512-NmMiObzXCHFVj0fIDVT9xpBknmEXNl+N+1vpPnQc8H2XQ+XpbMMaf6MJKXriFV2QhiZ7myjLomofQEi1impwzg==} - '@orval/solid-start@8.10.0': - resolution: {integrity: sha512-sFB2OZeVxHw7+LD9cwGe+CbU0I41UAZt+fuZ/AwCt8Q5scHlIzRmmIEDuQQ7ElB6vqa5vc+wsffCx+/rlvD0aw==} + '@orval/solid-start@8.15.0': + resolution: {integrity: sha512-2lPvOp6WBJDEF51aZmuXZagUBmckrkyNFrlpJCAceCJaDhUT86H5f+6p1wdVgjsH672Hud7oHWoqlIf5XQyABg==} - '@orval/swr@8.10.0': - resolution: {integrity: sha512-a/pMtv5Y8WF7TWkvttL1UvcOnkprcNwScCRZ2+zVfNeShlIu9/+FEpSE3n2YCcMYBNo+ZZLCe7/i2Fr57JhaMg==} + '@orval/swr@8.15.0': + resolution: {integrity: sha512-BEu6lQJzZdlVDLd2xppsrSj29EgHVD6owHhaldyIiz1HMezO895aNCsqoFbMK8rYgB4x+XemR40Wr+8ivNvP9A==} - '@orval/zod@8.10.0': - resolution: {integrity: sha512-3OyEXdcm/j4Qqj/TFz/xpsgP4swANH6Vd2WHLLDbzj2ed7zIzfLM/H8iPSErO49cioGLazYsxQawIX8/SyZq7A==} + '@orval/zod@8.15.0': + resolution: {integrity: sha512-5970pTfgsqUtygNxoLVlL6dKAv31UogAkBCRfmgQPSzr4sMXKya2WhLl1ERSNYMr9A+iGBWVR5ZmYtPGhAaVDg==} '@oslojs/asn1@1.0.0': resolution: {integrity: sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA==} @@ -1030,8 +2197,49 @@ packages: '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} - '@oxc-project/types@0.130.0': - resolution: {integrity: sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==} + '@oxc-project/types@0.133.0': + resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} + + '@payloadcms/graphql@3.85.0': + resolution: {integrity: sha512-QIAGSmtNS8XX5MxPZONMPX/xYANuzZ/xxAtlhFUxJvxTZVxbb1Aafx+dTIPTggJ4updzD3Rk/b76TYQc3jS13A==} + hasBin: true + peerDependencies: + graphql: ^16.8.1 + payload: 3.85.0 + + '@payloadcms/next@3.85.0': + resolution: {integrity: sha512-9Q0kaKgd1CBl2Nu6QMISqRKfDlGraCkLWxKlWH59MO0Fu+vhvqhqEIv/gjzNj6wWMMH8e4yzFm8knZjTJTzzWQ==} + engines: {node: ^18.20.2 || >=20.9.0} + peerDependencies: + graphql: ^16.8.1 + next: '>=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.6 <17.0.0' + payload: 3.85.0 + + '@payloadcms/richtext-lexical@3.85.0': + resolution: {integrity: sha512-FZjDEJdkQNj0ZeQn4p4K56RbuNnRF2BrmWY2p0w856INZxngNDszfCbkhClvP++B0NgyMUqTVe7pappx9+vxWA==} + engines: {node: ^18.20.2 || >=20.9.0} + peerDependencies: + '@faceless-ui/modal': 3.0.0 + '@faceless-ui/scroll-info': 2.0.0 + '@payloadcms/next': 3.85.0 + payload: 3.85.0 + react: ^19.0.1 || ^19.1.2 || ^19.2.1 + react-dom: ^19.0.1 || ^19.1.2 || ^19.2.1 + + '@payloadcms/translations@3.85.0': + resolution: {integrity: sha512-dZQc3OfVtp7IkL9R3e4t1n7MbDaKfhF6C6ewISOzJgkgrcdoCfrqXonwMYE4Ue6IDEqAtJuyEkOvFWew5tBHKw==} + + '@payloadcms/ui@3.85.0': + resolution: {integrity: sha512-MMOZkj6Ztasqtl/kTiUKE0rnz35iPSiFDXuAfRyDqoqNf7vvWWRrtxa41kNAg++yZVAHBKPcMcMaugV6KiN0rQ==} + engines: {node: ^18.20.2 || >=20.9.0} + peerDependencies: + next: '>=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.6 <17.0.0' + payload: 3.85.0 + react: ^19.0.1 || ^19.1.2 || ^19.2.1 + react-dom: ^19.0.1 || ^19.1.2 || ^19.2.1 + + '@pinojs/redact@0.4.0': + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} '@playwright/test@1.60.0': resolution: {integrity: sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==} @@ -1041,108 +2249,112 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@poppinss/colors@4.1.6': + resolution: {integrity: sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==} + + '@poppinss/dumper@0.6.5': + resolution: {integrity: sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==} + + '@poppinss/exception@1.2.3': + resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} + '@poppinss/macroable@1.1.2': resolution: {integrity: sha512-FAVBRzzWhYP5mA3lCwLH1A0fKBqq5anyjGet90Z81aRK5c/+LTGUE1zJhZrErjaenBSOOI9BVUs3WVmotneFQA==} '@preact/signals-core@1.14.2': resolution: {integrity: sha512-RZHdBj9ZF4n40Rp4jS052EHHjBWf96P9oNdXPfhQTovCuWY9iQn3Gq+gOTJSgBO9A/JBuPfMOWsSX/lIU9Pc/A==} - '@prisma/instrumentation@7.6.0': - resolution: {integrity: sha512-ZPW2gRiwpPzEfgeZgaekhqXrbW+Y2RJKHVqUmlhZhKzRNCcvR6DykzylDrynpArKKRQtLxoZy36fK7U0p3pdgQ==} - peerDependencies: - '@opentelemetry/api': ^1.8 - - '@rolldown/binding-android-arm64@1.0.1': - resolution: {integrity: sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==} + '@rolldown/binding-android-arm64@1.0.3': + resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.1': - resolution: {integrity: sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==} + '@rolldown/binding-darwin-arm64@1.0.3': + resolution: {integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.1': - resolution: {integrity: sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==} + '@rolldown/binding-darwin-x64@1.0.3': + resolution: {integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.1': - resolution: {integrity: sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==} + '@rolldown/binding-freebsd-x64@1.0.3': + resolution: {integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.1': - resolution: {integrity: sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.3': + resolution: {integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.1': - resolution: {integrity: sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==} + '@rolldown/binding-linux-arm64-gnu@1.0.3': + resolution: {integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.1': - resolution: {integrity: sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==} + '@rolldown/binding-linux-arm64-musl@1.0.3': + resolution: {integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.1': - resolution: {integrity: sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==} + '@rolldown/binding-linux-ppc64-gnu@1.0.3': + resolution: {integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.1': - resolution: {integrity: sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==} + '@rolldown/binding-linux-s390x-gnu@1.0.3': + resolution: {integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.1': - resolution: {integrity: sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==} + '@rolldown/binding-linux-x64-gnu@1.0.3': + resolution: {integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.1': - resolution: {integrity: sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==} + '@rolldown/binding-linux-x64-musl@1.0.3': + resolution: {integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.1': - resolution: {integrity: sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==} + '@rolldown/binding-openharmony-arm64@1.0.3': + resolution: {integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.1': - resolution: {integrity: sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==} + '@rolldown/binding-wasm32-wasi@1.0.3': + resolution: {integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.1': - resolution: {integrity: sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==} + '@rolldown/binding-win32-arm64-msvc@1.0.3': + resolution: {integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.1': - resolution: {integrity: sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==} + '@rolldown/binding-win32-x64-msvc@1.0.3': + resolution: {integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1150,8 +2362,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/plugin-commonjs@29.0.2': - resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==} + '@rollup/plugin-commonjs@29.0.3': + resolution: {integrity: sha512-ZaOxZceP7SOUW7Lqw5IRVweSQYWaeIPnXIGLiB690EBA3FGJTO40EEr2L5yZplJWsgTCogILRSpcAe7+U0Otdg==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -1177,8 +2389,8 @@ packages: rollup: optional: true - '@rollup/pluginutils@5.3.0': - resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + '@rollup/pluginutils@5.4.0': + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -1186,257 +2398,257 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.60.4': - resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==} + '@rollup/rollup-android-arm-eabi@4.61.1': + resolution: {integrity: sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.60.4': - resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==} + '@rollup/rollup-android-arm64@4.61.1': + resolution: {integrity: sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.60.4': - resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==} + '@rollup/rollup-darwin-arm64@4.61.1': + resolution: {integrity: sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.4': - resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==} + '@rollup/rollup-darwin-x64@4.61.1': + resolution: {integrity: sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.4': - resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==} + '@rollup/rollup-freebsd-arm64@4.61.1': + resolution: {integrity: sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.4': - resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==} + '@rollup/rollup-freebsd-x64@4.61.1': + resolution: {integrity: sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': - resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==} + '@rollup/rollup-linux-arm-gnueabihf@4.61.1': + resolution: {integrity: sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.4': - resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==} + '@rollup/rollup-linux-arm-musleabihf@4.61.1': + resolution: {integrity: sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.4': - resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==} + '@rollup/rollup-linux-arm64-gnu@4.61.1': + resolution: {integrity: sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.4': - resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==} + '@rollup/rollup-linux-arm64-musl@4.61.1': + resolution: {integrity: sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.4': - resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==} + '@rollup/rollup-linux-loong64-gnu@4.61.1': + resolution: {integrity: sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.4': - resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==} + '@rollup/rollup-linux-loong64-musl@4.61.1': + resolution: {integrity: sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.4': - resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==} + '@rollup/rollup-linux-ppc64-gnu@4.61.1': + resolution: {integrity: sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.4': - resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==} + '@rollup/rollup-linux-ppc64-musl@4.61.1': + resolution: {integrity: sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.4': - resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==} + '@rollup/rollup-linux-riscv64-gnu@4.61.1': + resolution: {integrity: sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.4': - resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==} + '@rollup/rollup-linux-riscv64-musl@4.61.1': + resolution: {integrity: sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.4': - resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==} + '@rollup/rollup-linux-s390x-gnu@4.61.1': + resolution: {integrity: sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.4': - resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==} + '@rollup/rollup-linux-x64-gnu@4.61.1': + resolution: {integrity: sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.4': - resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==} + '@rollup/rollup-linux-x64-musl@4.61.1': + resolution: {integrity: sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.4': - resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==} + '@rollup/rollup-openbsd-x64@4.61.1': + resolution: {integrity: sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.4': - resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==} + '@rollup/rollup-openharmony-arm64@4.61.1': + resolution: {integrity: sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.4': - resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==} + '@rollup/rollup-win32-arm64-msvc@4.61.1': + resolution: {integrity: sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.4': - resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==} + '@rollup/rollup-win32-ia32-msvc@4.61.1': + resolution: {integrity: sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.4': - resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==} + '@rollup/rollup-win32-x64-gnu@4.61.1': + resolution: {integrity: sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.4': - resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==} + '@rollup/rollup-win32-x64-msvc@4.61.1': + resolution: {integrity: sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==} cpu: [x64] os: [win32] - '@scalar/helpers@0.5.2': - resolution: {integrity: sha512-Pi1GAl8jO6ungmGj2sjDfCfqiBNrKW6HXDZmminV94ybGU/KtRLOqHwd0n9FIhY3j0RYGpGC0VCuniCICfQPHg==} + '@scalar/helpers@0.8.1': + resolution: {integrity: sha512-yuiuBCadP5bjAnIv23QvifVN/NaMi9xBF6b8Wdk4QOzwzLPJmp699MAdf33J0A5i2qKcvnu32iz/VkEJmQRe5g==} engines: {node: '>=22'} - '@scalar/helpers@0.8.0': - resolution: {integrity: sha512-gmOC6VravNB9VDl6wnt/GOj4K/hn48tj5bpW4AM4MhH8Ubil6uu7g1DSoKHwltu8Ks79KEtR6JmOrROi9R7jaQ==} + '@scalar/json-magic@0.12.15': + resolution: {integrity: sha512-ZYgdYZ0jSZXQeyhG2lJ20FjzvKsaDRXk4bPguF/Ytl2nGBh9a6RIIr9NvVy4zAD67a/ahm+xipXlfoR1KtB5fg==} engines: {node: '>=22'} - '@scalar/json-magic@0.12.14': - resolution: {integrity: sha512-dWrCy3ew1r7OQ1pu2r4ZjiKEVy0yVd66kXdmsl41bteOG2F2I2IBlPjmPV6p8ckjImQHxtNBIntFaQfNrdBhJg==} - engines: {node: '>=22'} - - '@scalar/json-magic@0.12.8': - resolution: {integrity: sha512-a559iO8tmFeA90JJAAM3U5x1Asf3mr0Z8uDC1PmyLTDjdSOfajP7EY9VzNoXE2cM48ilf9qrjmkbw/d4VCFjQw==} - engines: {node: '>=22'} - - '@scalar/openapi-parser@0.25.12': - resolution: {integrity: sha512-1hajBAbc7cbEcsSZEQxaPXZyCjMf6h6hObV+SO32jkC6rrxinPXQIucDu9HTu/jm/FaaMnNhc8/XDWz5/E49cQ==} + '@scalar/openapi-parser@0.28.6': + resolution: {integrity: sha512-gCl4r+rpmO+CKfwmmwI+GJVFhuNut7e6beUcD/xazanH4epkLT7V9ZgMv9YKbUBE73fkrOv6NJympeEGiU8aUw==} engines: {node: '>=22'} '@scalar/openapi-types@0.8.0': resolution: {integrity: sha512-WmaxVSfvY5K/TwcG2B2TU1WOe1As1uc2s7myswtP6dBlcjU3hM08SApxv/jmyGaCE8t4gO5BBhmHY4pDUfmr2g==} engines: {node: '>=22'} - '@scalar/openapi-upgrader@0.2.6': - resolution: {integrity: sha512-pvEmfSCDNYR4+lygidUqfo+shzyp4OSh9+UgK110rzA8Oot6WbJBM03Fuq3M255G7G6R9iXyfsebB7MBUocPkw==} + '@scalar/openapi-types@0.9.1': + resolution: {integrity: sha512-gkGhSkxSzADaBiNg+ZAbJuwj+ZUmzP2Pg9CWZ7ZP+0fck2WjPeDDM7aAbouAm0aQQMF9xBjSPXSA9a/qTHYaTw==} + engines: {node: '>=22'} + + '@scalar/openapi-upgrader@0.2.9': + resolution: {integrity: sha512-D5b0rGLLZgmkO9mdW2j/ND1KBlH1u3RCpr87HPxv9P9ZSr6PtM5iLqFOJq0ACiaHjY2mikCrxgDmnUEhTzRpHQ==} engines: {node: '>=22'} '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@sentry-internal/browser-utils@10.53.1': - resolution: {integrity: sha512-X4d6y8sBMjmNhcDW4eMBU3ASsNIMz8dqaFkhyIMN/dkYr/yZKnbRZPaVuVUGvHKjnlficPpIH0/HK9KBjrYxPw==} + '@sentry-internal/browser-utils@10.56.0': + resolution: {integrity: sha512-I8tZWAFg8SZpD8BFUpglEtSTzhZjacmcThB5/Mlq/iFiiT8mBPG4ZWDWssSfmIBKvZywJZJ83uDA0+uiJU73Tw==} + engines: {node: '>=18'} + + '@sentry-internal/feedback@10.56.0': + resolution: {integrity: sha512-fkRR9JroESTIlErkht3OrH4DXKd/DbPozr2KLdX7boMo31hPu4cL9fuqzwOrwyDPRq9B4j+qEgIWB8JrTbgvmg==} engines: {node: '>=18'} - '@sentry-internal/feedback@10.53.1': - resolution: {integrity: sha512-vVpTI/aEYN5d9IgZeYJWMqVaN0+iFgidSrYNAsZTh1US5sJUzF/wrl+68KdpmCtFROrN3jiAn1oPSwL5CKvEJA==} + '@sentry-internal/replay-canvas@10.56.0': + resolution: {integrity: sha512-SDg2K0CAZT/TnhrixQGwXoi6ZsWUB+DQy3UUk0bSQm6c/5k5zFBpGOiughQN+DYsDilKREfPKmUEEnqvUjm1HQ==} engines: {node: '>=18'} - '@sentry-internal/replay-canvas@10.53.1': - resolution: {integrity: sha512-aueLaf/2prExwA76BGU5/bOXCKWqtt6jQXWA6WJQNrmKpPEtZJB4ypnpsou0McXQCF8tur2Y8U0TEkwQP13yJQ==} + '@sentry-internal/replay@10.56.0': + resolution: {integrity: sha512-DjF09hpy3TF7Km/kOZc73YJmBqcbPCxuZ5rtRs+KtVHu3Vq48xeW83qKUcFEZv20ur9UD99OAJ/gaEt//1Qbwg==} engines: {node: '>=18'} - '@sentry-internal/replay@10.53.1': - resolution: {integrity: sha512-wZNzTBYkgGUPWMuUQv7L64+OJmoCnz7GQNiTrTFK6EVAjJXFBCSsPp/nhif0bLhbk8+0g4xz633uOhpXuQbFdw==} + '@sentry-internal/server-utils@10.56.0': + resolution: {integrity: sha512-6kuZI/vAjyVKMm1cTzc2pdUmVR4Px4etMG6wnCPyFnwEaGbUKQnTynUBFpTuo/q6Js6QBQvhLNoAnO4YsOfW4w==} engines: {node: '>=18'} '@sentry/babel-plugin-component-annotate@5.3.0': resolution: {integrity: sha512-p4q8gn8wcFqZGP/s2MnJCAAd8fTikaU6A0mM97RDHQgStcrYiaS0Sc5zUNfb1V+UOLPuvdEdL6MwyxfzjYJQTA==} engines: {node: '>= 18'} - '@sentry/browser@10.53.1': - resolution: {integrity: sha512-zXF373hzUOGzUOrqd8xb1U3LQi5uYC3mwv+z5OMKUUinQlu30tTWBs7ypy6YTchtix9QlYaHWlayUF8vBZ5UjA==} + '@sentry/browser@10.56.0': + resolution: {integrity: sha512-80X3NmsGB6tLmfzXYdjzWWdVAdL5CRukGKLcRWIcNhgGjtskOmnzaGb93egEZGI5bUTbtONJ0oyscQ3Z9yoAtQ==} engines: {node: '>=18'} '@sentry/bundler-plugin-core@5.3.0': resolution: {integrity: sha512-L5T60sWdAI3qWwdg3Ptwek/0TY59PERrxyqp4XMUkroayQvGd9r5dIW9Q1kSeXX9iJ442nXbFZKAOyCKV4Z13Q==} engines: {node: '>= 18'} - '@sentry/cli-darwin@2.58.5': - resolution: {integrity: sha512-lYrNzenZFJftfwSya7gwrHGxtE+Kob/e1sr9lmHMFOd4utDlmq0XFDllmdZAMf21fxcPRI1GL28ejZ3bId01fQ==} + '@sentry/cli-darwin@2.58.6': + resolution: {integrity: sha512-udAVvcyfNa0R+95GvPz/+43/N3TC0TYKdkQ7D7jhPSzbcMc7l2fxRNN5yB3UpCA5fWFnW4toeaqwDBhb/Wh3LA==} engines: {node: '>=10'} os: [darwin] - '@sentry/cli-linux-arm64@2.58.5': - resolution: {integrity: sha512-/4gywFeBqRB6tR/iGMRAJ3HRqY6Z7Yp4l8ZCbl0TDLAfHNxu7schEw4tSnm2/Hh9eNMiOVy4z58uzAWlZXAYBQ==} + '@sentry/cli-linux-arm64@2.58.6': + resolution: {integrity: sha512-q8mEcNNmeXMy5i+jWT30TVpH7LcP4HD21CD5XRSPAd/a912HF6EpK0ybf/1USO14WOhoXbAGi9txwaWabSe33g==} engines: {node: '>=10'} cpu: [arm64] os: [linux, freebsd, android] - '@sentry/cli-linux-arm@2.58.5': - resolution: {integrity: sha512-KtHweSIomYL4WVDrBrYSYJricKAAzxUgX86kc6OnlikbyOhoK6Fy8Vs6vwd52P6dvWPjgrMpUYjW2M5pYXQDUw==} + '@sentry/cli-linux-arm@2.58.6': + resolution: {integrity: sha512-pD0LAt5PcUzAinBwvDqc66x9+2CabHEv486yP0gRjWO7SakbaxmfVq/EXd8VLq/Tzi39LAu422UYK1lpW3MILw==} engines: {node: '>=10'} cpu: [arm] os: [linux, freebsd, android] - '@sentry/cli-linux-i686@2.58.5': - resolution: {integrity: sha512-G7261dkmyxqlMdyvyP06b+RTIVzp1gZNgglj5UksxSouSUqRd/46W/2pQeOMPhloDYo9yLtCN2YFb3Mw4aUsWw==} + '@sentry/cli-linux-i686@2.58.6': + resolution: {integrity: sha512-q8vNJi1eOV/4vxAFWBsEwLHoSYapaZHIf4j76KJGJXFKTkEbsjCOOsKbwUIBTQQhRgV4DFWh3ryfsPS/que4Kg==} engines: {node: '>=10'} cpu: [x86, ia32] os: [linux, freebsd, android] - '@sentry/cli-linux-x64@2.58.5': - resolution: {integrity: sha512-rP04494RSmt86xChkQ+ecBNRYSPbyXc4u0IA7R7N1pSLCyO74e5w5Al+LnAq35cMfVbZgz5Sm0iGLjyiUu4I1g==} + '@sentry/cli-linux-x64@2.58.6': + resolution: {integrity: sha512-DZu956Mhi3ZRjTBe1WdbGV46ldVbA8d2rgp/fh51GsI25zjBHah4wZnPTSzpc+YqxU6pJpg579B/r3jrIK530Q==} engines: {node: '>=10'} cpu: [x64] os: [linux, freebsd, android] - '@sentry/cli-win32-arm64@2.58.5': - resolution: {integrity: sha512-AOJ2nCXlQL1KBaCzv38m3i2VmSHNurUpm7xVKd6yAHX+ZoVBI8VT0EgvwmtJR2TY2N2hNCC7UrgRmdUsQ152bA==} + '@sentry/cli-win32-arm64@2.58.6': + resolution: {integrity: sha512-nj0Ff/kmAB73EPDhR8B4O9r+NUHK5GkPCkGWC+kXVemqAJWL5jcJ5KdxG0l/S0z6RoEoltID8/43/B+TaMlT7A==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@sentry/cli-win32-i686@2.58.5': - resolution: {integrity: sha512-EsuboLSOnlrN7MMPJ1eFvfMDm+BnzOaSWl8eYhNo8W/BIrmNgpRUdBwnWn9Q2UOjJj5ZopukmsiMYtU/D7ml9g==} + '@sentry/cli-win32-i686@2.58.6': + resolution: {integrity: sha512-WNZiDzPbgsEMQWq4avsQ391v/xWKJDIWWWo9GYl+N/w5qcYKkoDW7wQG7T9FasI6ENn68phChTOAPXXxbfAdOg==} engines: {node: '>=10'} cpu: [x86, ia32] os: [win32] - '@sentry/cli-win32-x64@2.58.5': - resolution: {integrity: sha512-IZf+XIMiQwj+5NzqbOQfywlOitmCV424Vtf9c+ep61AaVScUFD1TSrQbOcJJv5xGxhlxNOMNgMeZhdexdzrKZg==} + '@sentry/cli-win32-x64@2.58.6': + resolution: {integrity: sha512-R35WJ17oF4D2eqI1DR2sQQqr0fjRTt5xoP16WrTu91XM2lndRMFsnjh+/GttbxapLCBNlrjzia99MJ0PZHZpgA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@sentry/cli@2.58.5': - resolution: {integrity: sha512-tavJ7yGUZV+z3Ct2/ZB6mg339i08sAk6HDkgqmSRuQEu2iLS5sl9HIvuXfM6xjv8fwlgFOSy++WNABNAcGHUbg==} + '@sentry/cli@2.58.6': + resolution: {integrity: sha512-baBcNPLLfUi9WuL+Tpri9BFaAdvugZIKelC5X0tt0Zdy+K0K+PCVSrnNmwMWU/HyaF/SEv6b6UHnXIdqanBlcg==} engines: {node: '>= 10'} hasBin: true - '@sentry/cloudflare@10.53.1': - resolution: {integrity: sha512-iSohVibGRAKg7zLUflfA2ePG69Uw6bqm6iCQLM18hoG2gT4DGigaKcjJmZLTfAtW1DInMCb0DYc/mltCznxMrQ==} + '@sentry/cloudflare@10.56.0': + resolution: {integrity: sha512-4PH6joEJbS2+f0yWSatE/vPfE4sbtDQxdPDcsiQ8642nEH8WxKIWWPgRknfLRClmShxzQpwDXJZRJc3rcm4QtQ==} engines: {node: '>=18'} peerDependencies: '@cloudflare/workers-types': ^4.x @@ -1444,12 +2656,12 @@ packages: '@cloudflare/workers-types': optional: true - '@sentry/core@10.53.1': - resolution: {integrity: sha512-XG4ezlkyuAPjBC5+9kXC94rXXuqYTw9NRhfaDHssbTFaGnqBR8vQX2UUgZfY7ucbeelRDGfBu1sywoU+mB04uA==} + '@sentry/core@10.56.0': + resolution: {integrity: sha512-L+u1dIz5SANrmST5jhIwETtt4apILgKrylv12X4hKJU0PvZl+NorjeV/ty3MwzpKQPg6b6q6qMOSLc1rLpy3iQ==} engines: {node: '>=18'} - '@sentry/node-core@10.53.1': - resolution: {integrity: sha512-iH7SMcM/7jPbN+t7+7ussQOiIqI4BMOGt4VYWlV71/z7k0pY+YPaSvlfVkNXfISiDzFAKv0ecCY3BmsLMu1xDQ==} + '@sentry/node-core@10.56.0': + resolution: {integrity: sha512-61lD2Wjtv5Lw2F3lJarcD0ORjR4GlVxrEd6w6Of/uF3DH73dD6K3n/3wXEeCIRfV/kgiCFIrCIq76nz0LVgE5g==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -1472,12 +2684,12 @@ packages: '@opentelemetry/semantic-conventions': optional: true - '@sentry/node@10.53.1': - resolution: {integrity: sha512-rxHVil0tJAmz+keFcZCj1LaUdgdkK66E/l0gqh2p1209PNCGoD3lnClFr6vusy1aF3zF8O9JPtuMEJzXOKhs+w==} + '@sentry/node@10.56.0': + resolution: {integrity: sha512-qvgtXHkcR4CH3fh0VEVyw4Ysc6MMiAnm727NdTTm0yU5e53erCeo2521+yfJkqmRTGiOSgwA7B5Bs+ot9j0vFQ==} engines: {node: '>=18'} - '@sentry/opentelemetry@10.53.1': - resolution: {integrity: sha512-Zok6UXla0mFOjd1YnVb1TZtQNOry9v93fXUqx8jmDaygwWM2BwvP8rBQabLz0/OZXo8+35oge+Vmw+QY5aesnA==} + '@sentry/opentelemetry@10.56.0': + resolution: {integrity: sha512-PtMudApHMHvttjos3b7JZ2gJ+nstHAOYE3vKPYB5o0WQO95ldiaYnpLKMCRIGZWF3Dk7ynrqqnBpn8LZLt+Mrg==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -1494,14 +2706,14 @@ packages: rollup: optional: true - '@sentry/svelte@10.53.1': - resolution: {integrity: sha512-NIxnWFjAHJopwbLx7p2ny/DcaCPy3fPPkKGq8x+HdSbjqZd8Qq41sFF6DpxG8x5by0UaQnJxRdEg8qSQAzoi1Q==} + '@sentry/svelte@10.56.0': + resolution: {integrity: sha512-sQw89rIG7Nc9iqJdX4Qlv050eM/mFzONH56ydnm8tZn+8VskNB5UY4402YAQmahBm0Y9JdfWT7GyCP0xcm60Cw==} engines: {node: '>=18'} peerDependencies: svelte: 3.x || 4.x || 5.x - '@sentry/sveltekit@10.53.1': - resolution: {integrity: sha512-04LbddxZiGEI8Y4+Wjd2sUqZ/dP2kumUey/r1C3Ov6AqvVCUYNGyL1Wsamy4Mo5h7amwf5yUz1LwF4D00O+OWw==} + '@sentry/sveltekit@10.56.0': + resolution: {integrity: sha512-Pe9vQwc9dkiIJeADs2wjh0akdh1jUkz3zYqCnCmBOlMQIs1UHUxiXxTJnH6JSLiTCNhxjalzfVGbtW33W81Haw==} engines: {node: '>=18'} peerDependencies: '@sveltejs/kit': 2.x @@ -1546,25 +2758,38 @@ packages: resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==} engines: {node: '>=18'} + '@sindresorhus/is@7.2.0': + resolution: {integrity: sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==} + engines: {node: '>=18'} + '@sindresorhus/merge-streams@4.0.0': resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} + '@speed-highlight/core@1.2.17': + resolution: {integrity: sha512-Z92FwKpCtfaW1V0jTU/fh3QzYEZN8wDwrzRIBoADCJfn4mJCNcJN/XegifX7BDrQ8/h9Xh/JnbyMchL0FqXrkg==} + '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@sveltejs/acorn-typescript@1.0.9': - resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==} + '@sveltejs/acorn-typescript@1.0.10': + resolution: {integrity: sha512-4WfKk68eTih+MiJD4fSbxN7E8kVBmTMPWHUPYjvl2N0rMs53YLTT8/YjKU5Dtnz5LqDjl7LEw4U7lXR2W3J5WA==} peerDependencies: acorn: ^8.9.0 + '@sveltejs/adapter-cloudflare@7.2.8': + resolution: {integrity: sha512-bIdhY/Fi4AQmqiBdQVKnafH1h9Gw+xbCvHyUu4EouC8rJOU02zwhi14k/FDhQ0mJF1iblIu3m8UNQ8GpGIvIOQ==} + peerDependencies: + '@sveltejs/kit': ^2.0.0 + wrangler: ^4.0.0 + '@sveltejs/adapter-node@5.5.4': resolution: {integrity: sha512-45X92CXW+2J8ZUzPv3eLlKWEzINKiiGeFWTjyER4ZN4sGgNoaoeSkCY/QYNxHpPXy71QPsctwccBo9jJs0ySPQ==} peerDependencies: '@sveltejs/kit': ^2.4.0 - '@sveltejs/kit@2.60.1': - resolution: {integrity: sha512-mQjlkNo+rJvpln7V2IGY2j99BqhcFbS4UN0AQNKNYfhBAFZTuCDAdW3a1sgf330mvtNvsBXn3HpAhcmvdJTcIQ==} + '@sveltejs/kit@2.63.0': + resolution: {integrity: sha512-1DrR7vQ9brXLrNE2sLtFXApwr7AUXPfpbIFYc+CQRf2+iURaZbXGU+7TG/RLr+9fdFkoRdyCAVUOHCChw11LFA==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -1579,6 +2804,10 @@ packages: typescript: optional: true + '@sveltejs/load-config@0.1.1': + resolution: {integrity: sha512-BXXm+VOH/9X4N7Dd1iZ2MqA1h7M+9i2noI8QYuLDY8QcN2WHYn7D/VK/+IJNfcAmRw7ACNJ538UT9GXIhnBTiA==} + engines: {node: '>= 18.0.0'} + '@sveltejs/vite-plugin-svelte@7.1.2': resolution: {integrity: sha512-DrUBA2UXRfDmUX/ZTiEopd3X40yavsJF1FX2RygcuIScHL7o5YX1fMvoYnDhjeJQC4weCOklirpNWlcb2NiSeA==} engines: {node: ^20.19 || ^22.12 || >=24} @@ -1586,12 +2815,11 @@ packages: svelte: ^5.46.4 vite: ^8.0.0-beta.7 || ^8.0.0 - '@svitejs/changesets-changelog-github-compact@1.2.0': - resolution: {integrity: sha512-08eKiDAjj4zLug1taXSIJ0kGL5cawjVCyJkBb6EWSg5fEPX6L+Wtr0CH2If4j5KYylz85iaZiFlUItvgJvll5g==} - engines: {node: ^14.13.1 || ^16.0.0 || >=18} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/helpers@0.5.21': - resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==} + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} '@tailwindcss/node@4.3.0': resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} @@ -1687,64 +2915,64 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - '@takumi-rs/core-darwin-arm64@1.1.2': - resolution: {integrity: sha512-CLPzikYAND2xFm0Lg5HKImCOnl+Sue4F/WIcm1Z2ykL7h2r9rWDBzcFqGhAEFj9onMJH6c60Mph8kDa1jdj2rQ==} + '@takumi-rs/core-darwin-arm64@1.7.0': + resolution: {integrity: sha512-T6jAI4f5CuhkSoMeofcFfMfMG0fkWlemYNAvMjUxEdEfzf6tjYiwYJ4ez7S/x9jJYMiEcyio3ihthhku9PnJgA==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [arm64] os: [darwin] - '@takumi-rs/core-darwin-x64@1.1.2': - resolution: {integrity: sha512-eH351x+BJOMdLQgUoVKEIfTQbBjR6Dv7rzTLZUdWwbbwjEe38geCNsxQunHQ96nsB7M+0sGc8aJjOkd+0qoK3g==} + '@takumi-rs/core-darwin-x64@1.7.0': + resolution: {integrity: sha512-D4LDmWGRwzVn3XtdSGeLsxAgLcOoUbjcyBGxLogHKMZm+4twMHMxPPftRzocdQCxARuN5kgLWuqfcEB8F2zH3g==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [x64] os: [darwin] - '@takumi-rs/core-linux-arm64-gnu@1.1.2': - resolution: {integrity: sha512-2cuSnKWAfQjQwS+7aprz0LRkztPVsGqWGTto0TydVI81z7sNyC4kZWoJMTpkNb3439HB03UBStQVacgUeVOL+w==} + '@takumi-rs/core-linux-arm64-gnu@1.7.0': + resolution: {integrity: sha512-k8YlkcJPITbSYbbbmA84Gz1ISAHLWYeo+nn5FTGLyxG9yanY5UuGdZeddS8cbQzsxG1VDUI8njrG7YDXL7hHfw==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@takumi-rs/core-linux-arm64-musl@1.1.2': - resolution: {integrity: sha512-7OIdvVy6lbr49LIBe96uvlOg4Awmye5w+DgL4d0rRi1Zv7bmY23ciBCGaM+7jjkZgcThGrlZKz1Ecopx56pPqA==} + '@takumi-rs/core-linux-arm64-musl@1.7.0': + resolution: {integrity: sha512-l6kEr6PDKXYt0HZXurBjFfaqkw4o+L6jOQWnRm5iVFLgcJQFhvACRuqjDw+lHTs+loI+rVeyO0vdlj62GumURQ==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [arm64] os: [linux] libc: [musl] - '@takumi-rs/core-linux-x64-gnu@1.1.2': - resolution: {integrity: sha512-IXEhQjGSGye+kwawDad00kN2cLpj1rPF5u0K4KsANvWxa/dho32Nnw+RX8cCtPGiuvEKhtENxtdc7pVSx1E84g==} + '@takumi-rs/core-linux-x64-gnu@1.7.0': + resolution: {integrity: sha512-U3d+slP+M0MAdWX2vgs/saZd9LyZoymuLEZ3WNZJO75gnVBo5RiDiOHUtxXYI+aGmnKNPkpwE07vvBkqBtD19g==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [x64] os: [linux] libc: [glibc] - '@takumi-rs/core-linux-x64-musl@1.1.2': - resolution: {integrity: sha512-Q2vuZCwQ/XmHwwbJxSKNNEKdWdhsvBMhTF8pyyGti5s44yx7W6+a0MkDdMRAkStzDhH6HeZlpknpHcUk4R4g8w==} + '@takumi-rs/core-linux-x64-musl@1.7.0': + resolution: {integrity: sha512-Z6qd+/qIwjG4DbZPZe/v2RIlz08djSMoS3cXZKLqG2MJPNrTky19RetkGlqNn+672RKCjjpZzWQM6hczsCMpRA==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [x64] os: [linux] libc: [musl] - '@takumi-rs/core-win32-arm64-msvc@1.1.2': - resolution: {integrity: sha512-CKpslxYCltih/lL+h7xkVzsfIZtDcXp3WGk01fudgx82Ic87b/jjRMX5KE4f/exkgrKxshRF4yCQGGeQ3vIhiw==} + '@takumi-rs/core-win32-arm64-msvc@1.7.0': + resolution: {integrity: sha512-Y9n/2rvt6tlp6/DQM8TNeGZ58J+ppq5C4C1WmVmJ8xb5iB8XMKLTd6CW5P4T5idTt17RBNnLMc0woOO+lpGsFw==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [arm64] os: [win32] - '@takumi-rs/core-win32-x64-msvc@1.1.2': - resolution: {integrity: sha512-c+n2vPpDscMuTHZ29eJp8did5tlJ/KKBKicc51D6AdkA5jhr7MLeryzIKe3ob59iQttWYd/1j4+tUwoO6yEusg==} + '@takumi-rs/core-win32-x64-msvc@1.7.0': + resolution: {integrity: sha512-tkDjauOt6lthTXfr71rQVOhZLB367/+V15UVHDn/xsm/9DETYsNQFR/y91qUcvV69fVHV+ueIm0BDb843UPgdQ==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} cpu: [x64] os: [win32] - '@takumi-rs/core@1.1.2': - resolution: {integrity: sha512-JI0kUis5MCPzOt2sCahBZLVJERpp1t1fXTRBaBbCGploUa/hqRA9HW6Nr+tccDM/C6wy9FDrJnI4SB56W0HfDA==} + '@takumi-rs/core@1.7.0': + resolution: {integrity: sha512-chSOsXtpJ5EC3YqWdfpD2O3B0jcGl5aG/NMMF42XS7OdKcO2vt3Zup/K0/y953TAv41y2ZPe0Njo7EpHXr7tXQ==} engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} - '@takumi-rs/helpers@1.1.2': - resolution: {integrity: sha512-Edvmk7UzPhlbUCYpIqeBBfq9h/lAeWAhtwIhJJ10vxv7qNWjgfIPakzNWeAYhFVj8KT5y47S3RLT3cKVniqI5g==} + '@takumi-rs/helpers@1.7.0': + resolution: {integrity: sha512-qhYxPOA232ZEpa9wOr4LiHvB97IkEOfP28uvRKcwa8/iYLqEIhmfuZbuUAbh6aCo5wxywGis3IKSB46YilUe5Q==} peerDependencies: react: ^19.2.5 react-dom: ^18.0.0 || ^19.0.0 @@ -1754,8 +2982,8 @@ packages: react-dom: optional: true - '@takumi-rs/wasm@1.1.2': - resolution: {integrity: sha512-in2kLgFp6nuXie5q7blvRk8m/3UuvNDtc5SEFUh6Eu2yn20PcElj1VMdXhQhn+IN0h119BUWWdJ3AuEuh8PiDg==} + '@takumi-rs/wasm@1.7.0': + resolution: {integrity: sha512-XRd3cS7VS+KL+/5rVNtzACvWp4/N532VpAIyvW0Hqaf8N10sqa+H2PjFMfuLTM8drRtbUJfgneR3/3z1yk2iJA==} '@testing-library/svelte-core@1.0.0': resolution: {integrity: sha512-VkUePoLV6oOYwSUvX6ShA8KLnJqZiYMIbP2JW2t0GLWLkJxKGvuH5qrrZBV/X7cXFnLGuFQEC7RheYiZOW68KQ==} @@ -1763,21 +2991,34 @@ packages: peerDependencies: svelte: ^3 || ^4 || ^5 || ^5.0.0-next.0 + '@tokenizer/inflate@0.4.1': + resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} + engines: {node: '>=18'} + + '@tokenizer/token@0.3.0': + resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + '@tybys/wasm-util@0.10.2': resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/busboy@1.5.4': + resolution: {integrity: sha512-kG7WrUuAKK0NoyxfQHsVE6j1m01s6kMma64E+OZenQABMQyTJop1DumUWcLwAQ2JzpefU7PDYoRDKl8uZosFjw==} + '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} '@types/culori@4.0.1': resolution: {integrity: sha512-43M51r/22CjhbOXyGT361GZ9vncSVQ39u62x5eJdBQFviI8zWp2X5jzqg7k4M6PVgDQAClpy2bUe2dtwEgEDVQ==} + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -1787,8 +3028,8 @@ packages: '@types/esrecurse@4.3.1': resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} @@ -1799,20 +3040,31 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/mysql@2.15.27': - resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==} + '@types/lodash@4.17.24': + resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@25.8.0': - resolution: {integrity: sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ==} + '@types/node@25.9.1': + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} - '@types/pg-pool@2.0.7': - resolution: {integrity: sha512-U4CwmGVQcbEuqpyju8/ptOKg6gEC+Tqsvj2xS9o1g71bUh8twxnC6ZL5rZKCsGN0iyH0CwgUyc9VR5owNQF9Ng==} + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/pg@8.15.6': - resolution: {integrity: sha512-NoaMtzhxOrubeL/7UZuNTrejB4MPAJ0RpxZqXQf2qXuVlTPuG6Y8p4u9dKRaue4yjmC7ZhzVO2/Yyyn25znrPQ==} + '@types/react-transition-group@4.4.12': + resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==} + peerDependencies: + '@types/react': '*' + + '@types/react@19.2.16': + resolution: {integrity: sha512-esJiCAnl0kfpNdE69f3So4WJUXy95dLZydX0KwK46riIHDzHM7O9Vtf9xCHW0PXIqvgqNrswl522kA/5yx+F4w==} '@types/relaxed-json@1.0.4': resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} @@ -1823,15 +3075,15 @@ packages: '@types/stats.js@0.17.4': resolution: {integrity: sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==} - '@types/tedious@4.0.14': - resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==} - '@types/three@0.156.0': resolution: {integrity: sha512-733bXDSRdlrxqOmQuOmfC1UBRuJ2pREPk8sWnx9MtIJEVDQMx8U0NQO5MVVaOrjzDPyLI+cFPim2X/ss9v0+LQ==} '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -1844,6 +3096,12 @@ packages: '@types/webxr@0.5.24': resolution: {integrity: sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==} + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@typeschema/class-validator@0.3.0': resolution: {integrity: sha512-OJSFeZDIQ8EK1HTljKLT5CItM2wsbgczLN8tMEfz3I1Lmhc5TBfkZ0eikFzUC16tI3d1Nag7um6TfCgp2I2Bww==} peerDependencies: @@ -1860,63 +3118,63 @@ packages: '@types/json-schema': optional: true - '@typescript-eslint/eslint-plugin@8.59.3': - resolution: {integrity: sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==} + '@typescript-eslint/eslint-plugin@8.60.1': + resolution: {integrity: sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.59.3 + '@typescript-eslint/parser': ^8.60.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.59.3': - resolution: {integrity: sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==} + '@typescript-eslint/parser@8.60.1': + resolution: {integrity: sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.59.3': - resolution: {integrity: sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==} + '@typescript-eslint/project-service@8.60.1': + resolution: {integrity: sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.59.3': - resolution: {integrity: sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==} + '@typescript-eslint/scope-manager@8.60.1': + resolution: {integrity: sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.59.3': - resolution: {integrity: sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==} + '@typescript-eslint/tsconfig-utils@8.60.1': + resolution: {integrity: sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.59.3': - resolution: {integrity: sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==} + '@typescript-eslint/type-utils@8.60.1': + resolution: {integrity: sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.59.3': - resolution: {integrity: sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==} + '@typescript-eslint/types@8.60.1': + resolution: {integrity: sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.59.3': - resolution: {integrity: sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==} + '@typescript-eslint/typescript-estree@8.60.1': + resolution: {integrity: sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.59.3': - resolution: {integrity: sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==} + '@typescript-eslint/utils@8.60.1': + resolution: {integrity: sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.59.3': - resolution: {integrity: sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==} + '@typescript-eslint/visitor-keys@8.60.1': + resolution: {integrity: sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@valibot/to-json-schema@1.7.0': @@ -1932,31 +3190,31 @@ packages: resolution: {integrity: sha512-ZtvYkYpZOYdvbws3uaOAvTFuvFXoQGAtmzeiXu+XSMGxi5GVsODpoI9Xu9TplEMuD/5fmAtBbKb9cQHkWkLXDQ==} engines: {node: '>=18.16.0'} - '@vitest/browser-playwright@4.1.6': - resolution: {integrity: sha512-4csoeyl/qwHyxU2zNL0++WaoDr8YJDXOQPwWPNJoTZ+QzcdO3INYKgF5Zfz730Io7zbkuv914aZmfQ+QE+1Hvw==} + '@vitest/browser-playwright@4.1.8': + resolution: {integrity: sha512-SR7FqgegaexEg73xvf3ArtygXegagMdXnL0EZMpxrWvvhQxvicD/E8p0ib0J91riPRtQUViyh67Xjw3NqvyhVg==} peerDependencies: playwright: '*' - vitest: 4.1.6 + vitest: 4.1.8 - '@vitest/browser@4.1.6': - resolution: {integrity: sha512-ynsspTubXGSpa58JFJ24xIQt4z4A25epSbugEyaTmmrV1//Wec9EgE/LtoaC6yxUrXi5P7erGHRrkdZIHaVQuA==} + '@vitest/browser@4.1.8': + resolution: {integrity: sha512-u21VzX07HzlJYpFgkxmjEXar/tG2UqWGgyGG/46SrrPc7rSdCTPw5vuowopO9CIqF8UCUQzDFdbVnNpw6N0BfQ==} peerDependencies: - vitest: 4.1.6 + vitest: 4.1.8 - '@vitest/coverage-v8@4.1.6': - resolution: {integrity: sha512-36l628fQ/9a/8ihy97eOtEnvWQEdqULQOJtcaxtoNq0G1w3Mxd4szSahOaMM9/NGyZ+hyKcMtIW/WIxq0XQViQ==} + '@vitest/coverage-v8@4.1.8': + resolution: {integrity: sha512-lt3kovsyHwYe00wq4D1ti0Z974fWj4NLp6siqiyEufUpyFwK9Yhi7rBhac9JL5aA0zoMrJqc4vYPZRUnI7l7nw==} peerDependencies: - '@vitest/browser': 4.1.6 - vitest: 4.1.6 + '@vitest/browser': 4.1.8 + vitest: 4.1.8 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@4.1.6': - resolution: {integrity: sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==} + '@vitest/expect@4.1.8': + resolution: {integrity: sha512-h3nDO677RDLEGlBxyQ5CW8RlMThSKSRLUePLOx09gNIWRL40edgA1GCZSZgf1W55MFAG6/Sw14KeaAnqv0NKdQ==} - '@vitest/mocker@4.1.6': - resolution: {integrity: sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==} + '@vitest/mocker@4.1.8': + resolution: {integrity: sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1966,25 +3224,25 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.6': - resolution: {integrity: sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==} + '@vitest/pretty-format@4.1.8': + resolution: {integrity: sha512-9GasEBxpZ1VYIpqHf/0+YGg121uSNwCKOJqIrTwWP/TB7DmFCiaBpNl3aPZzoLWfWkuqhbH8vJIVobZkvdo2cA==} - '@vitest/runner@4.1.6': - resolution: {integrity: sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==} + '@vitest/runner@4.1.8': + resolution: {integrity: sha512-EmVxeBAfMJvycdjd6Hm+RbFBbA9fKvo0Kx37hNpBYoYeavH3RNsBXWDooR1mgD52dCrxIIuP7UotpfiwOikvcg==} - '@vitest/snapshot@4.1.6': - resolution: {integrity: sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==} + '@vitest/snapshot@4.1.8': + resolution: {integrity: sha512-acfZboRmAIf05DEKcBQy33VXojFJjtUdLyo7oOmV9kebb2xdU01UknNiPuPZoJZQyO7DF0gZdTGTpeAzET9QPQ==} - '@vitest/spy@4.1.6': - resolution: {integrity: sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==} + '@vitest/spy@4.1.8': + resolution: {integrity: sha512-6EevtBp6OZOPF7bmz36HrGMeP3txgVSrgebWxHOafDXGkhIzfXK14f8KF6MuFfgXXUeHxmpD3BQxkV00/3s5mA==} - '@vitest/ui@4.1.6': - resolution: {integrity: sha512-wiu5em68DfGv/2HFvI1Njr7JI2CHcBlQvereSzVG8my53PRxjTNOCsD9VOkRKrsJBDHmyuXvosxWZw7T91a2mw==} + '@vitest/ui@4.1.8': + resolution: {integrity: sha512-RUS2ZU2TsduVrI+9c12uTNaKrNUTsm6yFt3fueEUB9iKvyC2UP83F+sqIz00HQIah4UOL1TMoDAki8K0NjGvsA==} peerDependencies: - vitest: 4.1.6 + vitest: 4.1.8 - '@vitest/utils@4.1.6': - resolution: {integrity: sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==} + '@vitest/utils@4.1.8': + resolution: {integrity: sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg==} acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} @@ -2024,6 +3282,9 @@ packages: ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} @@ -2043,6 +3304,10 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2070,26 +3335,112 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-v8-to-istanbul@1.0.0: - resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==} + ast-v8-to-istanbul@1.0.3: + resolution: {integrity: sha512-jCMQ6ZylLPudp0CDfBmQBZUsrh1/8psbmu9ibeVWKuHWD0YrH9YABwlKu5kVEFoT0GCQQW9Z/SxfuEbbkGQCRg==} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + auth@1.6.14: + resolution: {integrity: sha512-CU+rEUoATHIREbvOtr4sjvcYvVYD8S/i9rbJMs5LzvYvSrqHl/nR3uicEb10pRKLXXkOZOcaY50qV/fg/L/F5w==} + hasBin: true axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.33: + resolution: {integrity: sha512-bA6+tcSLpz2tIEdDXZPpPTIuxBcC4+w6SieaYyfigIa4h8GlFxbA17v22Vx3JUtuZQj9SgOsnbK+aTBzyDyEuw==} engines: {node: '>=6.0.0'} hasBin: true + better-auth@1.6.14: + resolution: {integrity: sha512-c0/DvTQGDpgfj1knekCpQrg6PSWGDtfAtP7Ou6FkAhoE3RNnnIxLB5qKj6tRg53a1xsq93G6T68cNxrUZ7ZVmw==} + peerDependencies: + '@lynx-js/react': '*' + '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 + '@sveltejs/kit': ^2.0.0 + '@tanstack/react-start': ^1.0.0 + '@tanstack/solid-start': ^1.0.0 + better-sqlite3: ^12.0.0 + drizzle-kit: '>=0.31.4' + drizzle-orm: ^0.45.2 + mongodb: ^6.0.0 || ^7.0.0 + mysql2: ^3.0.0 + next: ^14.0.0 || ^15.0.0 || ^16.0.0 + pg: ^8.0.0 + prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + solid-js: ^1.0.0 + svelte: ^4.0.0 || ^5.0.0 + vitest: ^2.0.0 || ^3.0.0 || ^4.0.0 + vue: ^3.0.0 + peerDependenciesMeta: + '@lynx-js/react': + optional: true + '@prisma/client': + optional: true + '@sveltejs/kit': + optional: true + '@tanstack/react-start': + optional: true + '@tanstack/solid-start': + optional: true + better-sqlite3: + optional: true + drizzle-kit: + optional: true + drizzle-orm: + optional: true + mongodb: + optional: true + mysql2: + optional: true + next: + optional: true + pg: + optional: true + prisma: + optional: true + react: + optional: true + react-dom: + optional: true + solid-js: + optional: true + svelte: + optional: true + vitest: + optional: true + vue: + optional: true + + better-call@1.3.5: + resolution: {integrity: sha512-kOFJkBP7utAQLEYrobZm3vkTH8mXq5GNgvjc5/XEST1ilVHaxXUXfeDeFlqoETMtyqS4+3/h4ONX2i++ebZrvA==} + peerDependencies: + zod: ^4.0.0 + peerDependenciesMeta: + zod: + optional: true + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + bits-ui@2.18.1: resolution: {integrity: sha512-KkemzKFH4T3gt3H+P86JcnAWExjByv/6vlwjm/BoCwTPHu03yiCdxbghdJLvFReQTe0acCAiRcKfmixxD6XvlA==} engines: {node: '>=20'} @@ -2097,6 +3448,12 @@ packages: '@internationalized/date': ^3.8.1 svelte: ^5.33.0 + blake3-wasm@2.1.5: + resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + + body-scroll-lock@4.0.0-beta.0: + resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==} + brace-expansion@5.0.6: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} @@ -2110,6 +3467,32 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + bson-objectid@2.0.4: + resolution: {integrity: sha512-vgnKAUzcDoa+AeyYwXCoHyF2q6u/8H46dxu5JN+4/TZeq/Dlinn0K6GvxsCLb3LHUJl0m/TLiEK31kUwtgocMQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer-image-size@0.6.4: + resolution: {integrity: sha512-nEh+kZOPY1w+gcCMobZ6ETUp9WfibndnosbpwB1iJk/8Gt5ZF2bhS6+B6bPYz424KtwsR6Rflc3tCz1/ghX2dQ==} + engines: {node: '>=4.0'} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + c12@3.3.4: + resolution: {integrity: sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA==} + peerDependencies: + magicast: '*' + peerDependenciesMeta: + magicast: + optional: true + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2118,16 +3501,48 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + changesets-changelog-clean@1.4.0: + resolution: {integrity: sha512-tRdKNZA2vg2ZH1ADHbx4SmtI722xQlDJSzvwcTXnTORrTN1fmPcmdVXPKlAjXir0R85CKo+yfbqvyhC/UdVfGw==} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + chevrotain@10.5.0: + resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -2136,12 +3551,19 @@ packages: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} + ci-info@4.4.0: + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} + cjs-module-lexer@2.2.0: resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} class-validator@0.14.4: resolution: {integrity: sha512-AwNusCCam51q703dW82x95tOqQp6oC9HNUl724KxJJOfnKscI8dOloXFgyez7LbTTKWuRBA37FScqVbJEoq8Yw==} + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + cliui@9.0.1: resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} engines: {node: '>=20'} @@ -2150,10 +3572,20 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -2163,6 +3595,12 @@ packages: compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + confbox@0.2.4: + resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} + + console-table-printer@2.12.1: + resolution: {integrity: sha512-wKGOQRRvdnd89pCeH96e2Fn4wkbenSP6LMHfjfyNLMbGuHEFbMqQNuxXqd0oXG9caIOQ1FTvc5Uijp9/4jujnQ==} + conventional-changelog-angular@8.3.1: resolution: {integrity: sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==} engines: {node: '>=18'} @@ -2176,6 +3614,9 @@ packages: engines: {node: '>=18'} hasBin: true + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -2183,6 +3624,10 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + cosmiconfig-typescript-loader@6.3.0: resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} engines: {node: '>=v18'} @@ -2191,6 +3636,10 @@ packages: cosmiconfig: '>=9' typescript: '>=5' + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + cosmiconfig@9.0.1: resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} engines: {node: '>=14'} @@ -2200,15 +3649,31 @@ packages: typescript: optional: true + croner@10.0.1: + resolution: {integrity: sha512-ixNtAJndqh173VQ4KodSdJEI6nuioBWI0V1ITNKhZZsO0pEMoDxz539T4FTTbSZ/xIOSuDnzxLVRqBVSvPNE2g==} + engines: {node: '>=18.0'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true + cssfilter@0.0.10: + resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + culori@4.0.2: resolution: {integrity: sha512-1+BhOB8ahCn4O0cep0Sh2l9KCOfOdY+BXJnKMHFFzDEouSr/el18QwXEMRlOj9UY5nCeA8UN3a/82rUWRBeyBw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2216,11 +3681,23 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} + dataloader@2.2.3: + resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} + + date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} - dayjs@1.11.20: - resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} + date-fns@4.4.0: + resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==} + + dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} @@ -2231,6 +3708,9 @@ packages: supports-color: optional: true + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -2238,10 +3718,28 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + engines: {node: '>=18'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} + detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -2253,6 +3751,9 @@ packages: devalue@5.8.1: resolution: {integrity: sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2260,6 +3761,12 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + + dompurify@3.2.7: + resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==} + dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -2280,34 +3787,140 @@ packages: resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} engines: {node: '>=12'} - effect@3.21.2: - resolution: {integrity: sha512-rXd2FGDM8KdjSIrc+mqEELo7ScW7xTVxEf1iInmPSpIde9/nyGuFM710cjTo7/EreGXiUX2MOonPpprbz2XHCg==} - - electron-to-chromium@1.5.356: - resolution: {integrity: sha512-9NgFd7m5t5MCJ5rUSjJITUXAH9mEGlrlofnMf4YEr+pz6JlP7cWmTAH+JFmbPnaSW8koVTkuW7pacORWAnA5Yw==} - - emoji-regex@10.6.0: - resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} - - enhanced-resolve@5.21.3: - resolution: {integrity: sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q==} - engines: {node: '>=10.13.0'} - - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + drizzle-kit@0.31.10: + resolution: {integrity: sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw==} + hasBin: true - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + drizzle-orm@0.45.2: + resolution: {integrity: sha512-kY0BSaTNYWnoDMVoyY8uxmyHjpJW1geOmBMdSSicKo9CIIWkSxMIj2rkeSR51b8KAPB7m+qysjuHme5nKP+E5Q==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=4' + '@electric-sql/pglite': '>=0.2.0' + '@libsql/client': '>=0.10.0' + '@libsql/client-wasm': '>=0.10.0' + '@neondatabase/serverless': '>=0.10.0' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1.13' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/sql.js': '*' + '@upstash/redis': '>=1.34.7' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=14.0.0' + gel: '>=2' + knex: '*' + kysely: 0.28.17 + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + prisma: '*' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@libsql/client-wasm': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/sql.js': + optional: true + '@upstash/redis': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + gel: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + + effect@3.21.2: + resolution: {integrity: sha512-rXd2FGDM8KdjSIrc+mqEELo7ScW7xTVxEf1iInmPSpIde9/nyGuFM710cjTo7/EreGXiUX2MOonPpprbz2XHCg==} + + electron-to-chromium@1.5.367: + resolution: {integrity: sha512-4Mk/mrynCNQ+atY40D3UpmhLWB6AHMbYMlIrPhHcMF6x0L7O0b052FCAsxw1LlaR++UFuNg3D/A6XCuGDa0guQ==} + + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + enhanced-resolve@5.22.2: + resolution: {integrity: sha512-0rxICaFZ7NQho/sHely2bvOPRP0Eu2B0NZ9zM54YvRvWMn7jfz3DmnOZDR9LlXDdDcqntAVc6Hfy4gr/tdH/Ag==} + engines: {node: '>=10.13.0'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + 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'} error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + error-stack-parser-es@1.0.5: + resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} + es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} @@ -2315,18 +3928,41 @@ packages: es-module-lexer@2.1.0: resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} - es-toolkit@1.46.1: - resolution: {integrity: sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==} + es-toolkit@1.47.0: + resolution: {integrity: sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==} + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} + engines: {node: '>=18'} + hasBin: true esbuild@0.27.7: resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} hasBin: true + esbuild@0.28.0: + resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -2337,8 +3973,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-svelte@3.17.1: - resolution: {integrity: sha512-NyiXHtS3Ni7e532RBwS9OXlMKDIrENg3gY+/+ODjZzQx2xhU3NlJ+nIl1a93iUUQeiJL3lS8KLmY+W8hklzweQ==} + eslint-plugin-svelte@3.19.0: + resolution: {integrity: sha512-t3rNaZeXz4d2gG4uJyMEYfJCFKf22+SWbSizIIXIWKu4wM+XPLiMWuSSr/C5821JmFeN9ogK+eExbG+z+twyxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.1 || ^9.0.0 || ^10.0.0 @@ -2367,8 +4003,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.3.0: - resolution: {integrity: sha512-XbEXaRva5cF0ZQB8w6MluHA0kZZfV2DuCMJ3ozyEOHLwDpZX2Lmm/7Pp0xdJmI0GL1W05VH5VwIFHEm1Vcw2gw==} + eslint@10.4.1: + resolution: {integrity: sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -2397,8 +4033,8 @@ packages: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} - esrap@2.2.8: - resolution: {integrity: sha512-MPweq2EvEGj8jwOI7Hgycw/QIHzqA1EbAM8lG7p+FBfZbZq/hQ6h3AMsqnu/djzisH1KVWNzbb7LSgIVtMlPSg==} + esrap@2.2.11: + resolution: {integrity: sha512-gPdx+I+BjYEinNMQaBXFjbaJVyoPMU4ZODg5mE+M4DqVG9VusAVHHjcBX+zqyITlI0DIARwDMMzZwAWj36dRoQ==} peerDependencies: '@typescript-eslint/types': ^8.2.0 peerDependenciesMeta: @@ -2413,6 +4049,12 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -2431,6 +4073,9 @@ packages: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} + extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -2438,6 +4083,9 @@ packages: resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} engines: {node: '>=8.0.0'} + fast-copy@3.0.2: + resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2451,6 +4099,9 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-uri@3.1.2: resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} @@ -2469,8 +4120,8 @@ packages: fflate@0.6.10: resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==} - fflate@0.8.2: - resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} @@ -2480,10 +4131,17 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + file-type@21.3.4: + resolution: {integrity: sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==} + engines: {node: '>=20'} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -2503,6 +4161,9 @@ packages: flatted@3.4.2: resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + formsnap@2.0.1: resolution: {integrity: sha512-iJSe4YKd/W6WhLwKDVJU9FQeaJRpEFuolhju7ZXlRpUVyDdqFdMP8AUBICgnVvQPyP41IPAlBa/v0Eo35iE6wQ==} engines: {node: '>=18', pnpm: '>=8.7.0'} @@ -2510,9 +4171,6 @@ packages: svelte: ^5.0.0 sveltekit-superforms: ^2.19.0 - forwarded-parse@2.1.2: - resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==} - fs-extra@11.3.5: resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} engines: {node: '>=14.14'} @@ -2557,6 +4215,13 @@ packages: get-tsconfig@4.14.0: resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + + giget@3.2.0: + resolution: {integrity: sha512-GvHTWcykIR/fP8cj8dMpuMMkvaeJfPvYnhq0oW+chSeIr+ldX21ifU2Ms6KBoyKZQZmVaUAAhQ2EZ68KJF8a7A==} + hasBin: true + git-raw-commits@5.0.1: resolution: {integrity: sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==} engines: {node: '>=18'} @@ -2593,33 +4258,62 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - globby@16.1.0: - resolution: {integrity: sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==} - engines: {node: '>=20'} - globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graphql-http@1.22.4: + resolution: {integrity: sha512-OC3ucK988teMf+Ak/O+ZJ0N2ukcgrEurypp8ePyJFWq83VzwRAmHxxr+XxrMpxO/FIwI4a7m/Fzv3tWGJv0wPA==} + engines: {node: '>=12'} + peerDependencies: + graphql: '>=0.11 <=16' + + graphql-playground-html@1.6.30: + resolution: {integrity: sha512-tpCujhsJMva4aqE8ULnF7/l3xw4sNRZcSHu+R00VV+W0mfp+Q20Plvcrp+5UXD+2yS6oyCXncA+zoQJQqhGCEw==} + + graphql-scalars@1.22.2: + resolution: {integrity: sha512-my9FB4GtghqXqi/lWSVAOPiTzTnnEzdOXCsAC2bb5V7EFNQjVjwy3cSSbUvgYOtDuDibd+ZsCDhz+4eykYOlhQ==} + engines: {node: '>=10'} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + graphql@16.14.1: + resolution: {integrity: sha512-cQOsSMS/IrDz82PVyRDvf/Q1F/bRbBVjJlh+xYOkI1qw2bWRvWGiWc+m2O0d6l4Bt1fyY+8kzJ8JFWGJqNeDBg==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + + happy-dom@20.10.1: + resolution: {integrity: sha512-awPoqPjx8CgjapJllyDlgzgVHjBExcitKK5ZJkxwhQJyQpHFkyS2bEcqCm7IeW20cQvuCI0cz2Ifq79CJKqtiw==} + engines: {node: '>=20.0.0'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - hasown@2.0.3: - resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} + help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + http-status@2.1.0: + resolution: {integrity: sha512-O5kPr7AW7wYd/BBiOezTwnVAnmSNFY+J7hlZD2X5IOxVBetjcHAiTXhzj0gMrnojQlwy+UT1/Y3H3vJ3UlmvLA==} + engines: {node: '>= 0.4.0'} + https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - human-id@4.1.3: - resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} + human-id@4.2.0: + resolution: {integrity: sha512-K3GbkIWqyvvlpfhBPlbEvD97TtqBpAYA4kt+cn2lD2x2HuohzZCibcA2nOlnJT6exqvJLggoB5nv2dNf192nEA==} hasBin: true human-signals@8.0.1: @@ -2630,6 +4324,9 @@ packages: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -2638,13 +4335,18 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + + immutable@4.3.8: + resolution: {integrity: sha512-d/Ld9aLbKpNwyl0KiM2CT1WYvkitQ1TSvmRtkcV8FKStiDoA7Slzgjmb/1G2yhKM1p0XeNOieaTbFZmU1d3Xuw==} + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-in-the-middle@2.0.6: - resolution: {integrity: sha512-3vZV3jX0XRFW3EJDTwzWoZa+RH1b8eTTx6YOCjglrLyPuepwoBti1k3L2dKwdCUrnVEfc5CuRuGstaC/uQJJaw==} - import-in-the-middle@3.0.1: resolution: {integrity: sha512-pYkiyXVL2Mf3pozdlDGV6NAObxQx13Ae8knZk1UJRJ6uRW/ZRmTGHlQYtrsSl7ubuE5F8CD1z+s1n4RHNuTtuA==} engines: {node: '>=18'} @@ -2660,13 +4362,38 @@ packages: inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + is-core-module@2.16.2: resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2675,6 +4402,14 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} @@ -2686,10 +4421,6 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -2716,9 +4447,16 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isomorphic.js@0.2.5: + resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -2742,6 +4480,16 @@ packages: joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + jose@5.10.0: + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + + jose@6.2.3: + resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + js-tokens@10.0.0: resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} @@ -2756,6 +4504,10 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + js-yaml@4.2.0: + resolution: {integrity: sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==} + hasBin: true + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -2771,6 +4523,11 @@ packages: resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==} engines: {node: '>=16'} + json-schema-to-typescript@15.0.3: + resolution: {integrity: sha512-iOKdzTUWEVM4nlxpFudFsWyUiu/Jakkga4OZPEt7CGoSEsAsUgdOZqR6pcgx2STBek9Gm4hcarJpXSzIvZ/hKA==} + engines: {node: '>=16.0.0'} + hasBin: true + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -2795,9 +4552,17 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} + jsox@1.2.121: + resolution: {integrity: sha512-9Ag50tKhpTwS6r5wh3MJSAvpSof0UBr39Pto8OnzFT32Z/pAbxAsKHzyvsyMEHVslELvHyO/4/jaQELHk8wDcw==} + hasBin: true + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -2809,6 +4574,10 @@ packages: resolution: {integrity: sha512-/GmXpo9F9W+f8n4Ivr2iH+7h7wL7jLbLKWkMlpflcCRb6kGjBfTlASEXaZ9qUgNTn4VgS0P2pwxxzQ4EM6Ulgg==} engines: {node: '>=22'} + kysely@0.28.17: + resolution: {integrity: sha512-nbD8lB9EB3wNdMhOCdx5Li8DxnLbvKByylRLcJ1h+4SkrowVeECAyZlyiKMThF7xFdRz0jSQ2MoJr+wXux2y0Q==} + engines: {node: '>=20.0.0'} + leven@4.1.0: resolution: {integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2817,8 +4586,16 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - libphonenumber-js@1.13.2: - resolution: {integrity: sha512-S3kmBrptp3yRTm83NUcHy9g1vbwiWMzI8WvY22+koBJ6zkRteLnedBL2VX0MIAGwx2yiyxX4J85pceZyQ6ffgg==} + lexical@0.41.0: + resolution: {integrity: sha512-pNIm5+n+hVnJHB9gYPDYsIO5Y59dNaDU9rJmPPsfqQhP2ojKFnUoPbcRnrI9FJLXB14sSumcY8LUw7Sq70TZqA==} + + lib0@0.2.117: + resolution: {integrity: sha512-DeXj9X5xDCjgKLU/7RR+/HQEVzuuEUiwldwOGsHK/sfAfELGWEyTcf0x+uOvCvK3O2zPmZePXWL85vtia6GyZw==} + engines: {node: '>=16'} + hasBin: true + + libphonenumber-js@1.13.5: + resolution: {integrity: sha512-7/kRezHmQlMfO6pmvt34orO/g3j1C47k8FCBXFgj/mklTLwQdBca1LkhDK6RM8UyM6JqHFAIikMdkKkyfQy39A==} lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} @@ -2901,8 +4678,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + linkify-it@5.0.1: + resolution: {integrity: sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==} locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -2922,8 +4699,21 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lru-cache@11.3.6: - resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@11.5.1: + resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -2946,13 +4736,39 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - markdown-it@14.1.1: - resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} + markdown-it@14.2.0: + resolution: {integrity: sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==} + hasBin: true + + marked@14.0.0: + resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==} + engines: {node: '>= 18'} hasBin: true + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-mdx-jsx@3.1.3: + resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + memoize-weak@1.0.2: resolution: {integrity: sha512-gj39xkrjEw7nCn4nJ1M5ms6+MyMlyiGmttzsqAUsAKn6bYKwuTHh/AO3cKPF8IBrTIYTxb0wWXFs3E//Y8VoWQ==} @@ -2967,10 +4783,87 @@ packages: meshoptimizer@0.18.1: resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==} + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-mdx-jsx@3.0.1: + resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + miniflare@4.20260611.0: + resolution: {integrity: sha512-i+JwEo8vN96naz1WL3ntFgFyRluBDYL408zwhHKvR2jefJ464KsZ/gCmJAQ5k+oaWeb5Ug+s7yne5AyiAEswjg==} + engines: {node: '>=22.0.0'} + hasBin: true + minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -2985,6 +4878,9 @@ packages: module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} + monaco-editor@0.55.1: + resolution: {integrity: sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -3001,9 +4897,34 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanostores@1.3.0: + resolution: {integrity: sha512-XPUa/jz+P1oJvN9VBxw4L9MtdFfaH3DAryqPssqhb2kXjmb9npz0dly6rCsgFWOPr4Yg9mTfM3MDZgZZ+7A3lA==} + engines: {node: ^20.0.0 || >=22.0.0} + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + next@16.2.7: + resolution: {integrity: sha512-eMJxgjRzBaj3olkP4cBamHDXL79A8FC6u1GcsO1D1Tsx8bw/LLXUJCaoajVxtnhD3A1IJqIT8IcRJjgBIPJq4w==} + engines: {node: '>=20.9.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.51.1 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -3013,8 +4934,13 @@ packages: encoding: optional: true - node-releases@2.0.44: - resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} + node-releases@2.0.47: + resolution: {integrity: sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==} + engines: {node: '>=18'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} normalize-url@8.1.1: resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} @@ -3027,15 +4953,37 @@ packages: numerable@0.3.15: resolution: {integrity: sha512-Cu0dX3OjvXmqIyGveN8HuEnafCIUCz269NORa4JKAERXCa/vWr+pBRlrWxBK4psLV9RuhJ+DPoJPisu2QMW0mg==} - obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-to-formdata@4.5.1: + resolution: {integrity: sha512-QiM9D0NiU5jV6J6tjE1g7b4Z2tcUnKs1OPUi4iMb2zH+7jwlcUrASghgkFk9GtzqNNq8rTQJtT8AzjBAvLoNMw==} + + obug@2.1.2: + resolution: {integrity: sha512-AWGB9WFcRXOQs48Z/udjI5ZcZMHXwX8XPByNpOydgcGsDLIzjGizhoMWJyKAWze7AVW/2W1i+/gPX4YtKe5cyg==} + engines: {node: '>=12.20.0'} + + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - orval@8.10.0: - resolution: {integrity: sha512-rdvKP0HqFcGe1Q83i+MIxzDDduj4qt3sNymbKnMHamuFZrR6hfko+7p3euX/gjIJBdaYHRunkwmawiwKVPeKIA==} + orval@8.15.0: + resolution: {integrity: sha512-o4Sl2VLCP0Yu5wv5ubN477Fze8QDXSY0vwjB0U9z4Ew1YJrIAX/6D5hG2PsD8KIoZtLCgrDFj5t/otqmNJtBdw==} engines: {node: '>=22.18.0'} hasBin: true peerDependencies: @@ -3095,6 +5043,9 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -3122,6 +5073,9 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -3129,16 +5083,15 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - pg-protocol@1.13.0: - resolution: {integrity: sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==} + payload@3.85.0: + resolution: {integrity: sha512-Cb3jX/WRkHhT5oZCx1BikR6fe32Xbld4Esxr0i+dXtHZMjBVgMjaf/oaK81jLRBstbJbUw7Ia/jMrRw82+FlwA==} + engines: {node: ^18.20.2 || >=20.9.0} + hasBin: true + peerDependencies: + graphql: ^16.8.1 - pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + perfect-debounce@2.1.0: + resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -3155,6 +5108,23 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + pino-abstract-transport@2.0.0: + resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} + + pino-pretty@13.1.2: + resolution: {integrity: sha512-3cN0tCakkT4f3zo9RXDIhy6GTvtYD6bK4CRBLN9j3E/ePqN1tugAXD5rGVfoChW6s0hiek+eyYlLNqc/BG7vBQ==} + hasBin: true + + pino-std-serializers@7.1.0: + resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} + + pino@9.14.0: + resolution: {integrity: sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==} + hasBin: true + + pkg-types@2.3.1: + resolution: {integrity: sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==} + playwright-core@1.60.0: resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==} engines: {node: '>=18'} @@ -3165,6 +5135,10 @@ packages: engines: {node: '>=18'} hasBin: true + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + pngjs@7.0.0: resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} engines: {node: '>=14.19.0'} @@ -3197,35 +5171,28 @@ packages: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - postgres-bytea@1.0.1: - resolution: {integrity: sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==} - engines: {node: '>=0.10.0'} - - postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} + postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + engines: {node: ^10 || ^12 || >=14} - postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + postgres@3.4.9: + resolution: {integrity: sha512-GD3qdB0x1z9xgFI6cdRD6xu2Sp2WCOEoe3mtnyB5Ee0XrrL5Pe+e4CCnJrRMnL1zYtRDZmQQVbvOttLnKDLnaw==} + engines: {node: '>=12'} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-svelte@3.5.2: - resolution: {integrity: sha512-ItFouLvzSFE3ulNl4DKoWM3BGcbDCNVpIyy/Y3F2gC3aNiGLxtFUdffVqO5Z5hhYG+DFT5KULWaxmeFFpdbvaQ==} + prettier-plugin-svelte@4.1.0: + resolution: {integrity: sha512-YZkhA2Q9oOerFFG9tq+2f98WYT7Z2JgrybJrAyrB78jpsH9i/DdgplXemehuFPgsldetFNCcR/yCcYlDjPy94Q==} + engines: {node: '>=20'} peerDependencies: prettier: ^3.0.0 - svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + svelte: ^5.0.0 prettier-plugin-tailwindcss@0.8.0: resolution: {integrity: sha512-V8ITGH87yuBDF6JpEZTOVlUz/saAwqb8f3HRgUj8Lh+tGCcrmorhsLpYqzygwFwK0PE2Ib6Mv3M7T/uE2tZV1g==} @@ -3296,16 +5263,33 @@ packages: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + + process-warning@5.0.0: + resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} + progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + property-expr@2.0.6: resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==} proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -3317,30 +5301,105 @@ packages: pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + qs-esm@8.0.1: + resolution: {integrity: sha512-eZ7l+0ZVy3He9c85pEM9KEBR9DFA4jrmWvIjm9wpcHvScwc/vgZDl2TNOF0pm0JsWKw24XBUZOY0Wxn7/nvJnw==} + engines: {node: '>=18'} + quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} - readdirp@5.0.0: - resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} - engines: {node: '>= 20.19.0'} + rc9@3.0.1: + resolution: {integrity: sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ==} - remeda@2.34.1: - resolution: {integrity: sha512-k5iIF3lHm2NQ+2bNGDvZTD5jZl/JZkCS6AQOfGjYBd7V4rbb3K5whHvab0/O7CqPI43vYzbnIVCQXQJqmOyI6w==} + react-datepicker@7.6.0: + resolution: {integrity: sha512-9cQH6Z/qa4LrGhzdc3XoHbhrxNcMi9MKjZmYgF/1MNNaJwvdSjv3Xd+jjvrEEbKEf71ZgCA3n7fQbdwd70qCRw==} + peerDependencies: + react: ^16.9.0 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.9.0 || ^17 || ^18 || ^19 || ^19.0.0-rc - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + react-dom@19.2.7: + resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==} + peerDependencies: + react: ^19.2.7 + + react-error-boundary@4.1.2: + resolution: {integrity: sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag==} + peerDependencies: + react: '>=16.13.1' + + react-error-boundary@6.1.2: + resolution: {integrity: sha512-3DpCr5HVdZ0caUjYE/kIHBEJN0mNP3ZCgf16c48uJ5TbWjorKVp+YG8W3XqlJ7vJAVNw6wNIImyPXmFydwmyng==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + + react-image-crop@10.1.8: + resolution: {integrity: sha512-4rb8XtXNx7ZaOZarKKnckgz4xLMvds/YrU6mpJfGhGAsy2Mg4mIw1x+DCCGngVGq2soTBVVOxx2s/C6mTX9+pA==} + peerDependencies: + react: '>=16.13.1' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-select@5.9.0: + resolution: {integrity: sha512-nwRKGanVHGjdccsnzhFte/PULziueZxGD8LL2WojON78Mvnq7LdAMEtu2frrwld1fr3geixg3iiMBIc/LLAZpw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + react-transition-group@4.4.5: + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + + react@19.2.7: + resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} + engines: {node: '>=0.10.0'} + + read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + readdirp@5.0.0: + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} + engines: {node: '>= 20.19.0'} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + regexp-to-ast@0.5.0: + resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} + + regexparam@3.0.0: + resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==} + engines: {node: '>=8'} + + remeda@2.37.0: + resolution: {integrity: sha512-wN6BXWua0t4o7vDamqc27J3VRxnokG9cDezsFN2nOnt2JD/IkJQHTYqM6UvmEctAZETAoviwEFQZJO3kZ4Ohew==} + engines: {node: '>=18.0.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} require-in-the-middle@8.0.1: resolution: {integrity: sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==} @@ -3366,16 +5425,23 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown@1.0.1: - resolution: {integrity: sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==} + rolldown@1.0.3: + resolution: {integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.60.4: - resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==} + rollup@4.61.1: + resolution: {integrity: sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rou3@0.7.12: + resolution: {integrity: sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==} + + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -3419,27 +5485,52 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sanitize-filename@1.6.3: + resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} + + sass@1.77.4: + resolution: {integrity: sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==} + engines: {node: '>=14.0.0'} + hasBin: true + satori-html@0.3.2: resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + schema-dts@1.1.5: resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} + secure-json-parse@4.1.0: + resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.8.0: - resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} + semver@7.8.2: + resolution: {integrity: sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==} engines: {node: '>=10'} hasBin: true set-cookie-parser@3.1.0: resolution: {integrity: sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==} + sharp@0.34.5: + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3459,10 +5550,16 @@ packages: resolution: {integrity: sha512-WszCLXwT4h2k1ufIXAgsbiTOazqqevFCIncOuUBZJ91DdvWcC5+OFkluWRQPrcuSYd8fjq+o2y1QfWqYMoAToQ==} hasBin: true + simple-wcswidth@1.1.2: + resolution: {integrity: sha512-j7piyCjAeTDSjzTSQ7DokZtMNwNlEAyxqSZeCS+CXH7fJ4jx3FuJ/mTW3mE+6JLs4VJBbcll0Kjn+KXI5t21Iw==} + sirv@3.0.2: resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} engines: {node: '>=18'} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + skinview-utils@0.7.1: resolution: {integrity: sha512-4eLrMqR526ehlZbsd8SuZ/CHpS9GiH0xUMoV+PYlJVi95ZFz5HJu7Spt5XYa72DRS7wgt5qquvHZf0XZJgmu9Q==} @@ -3473,9 +5570,14 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} + + sonner@1.7.4: + resolution: {integrity: sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc sorcery@1.0.0: resolution: {integrity: sha512-5ay9oJE+7sNmhzl3YNG18jEEEf4AOQCM/FAqR5wMmzqd1FtRorFbJXn3w3SKOhbiQaVgHM+Q1lszZspjri7bpA==} @@ -3485,18 +5587,40 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + spawndamnit@3.0.1: resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + state-local@1.0.7: + resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==} + std-env@4.1.0: resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -3505,6 +5629,9 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3521,9 +5648,33 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} + strip-json-comments@5.0.3: + resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} + engines: {node: '>=14.16'} + + strtok3@10.3.5: + resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} + engines: {node: '>=18'} + style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + super-sitemap@1.0.12: resolution: {integrity: sha512-C3gfAS1RZxL5bbZGtgnIOitMhfqAt8RmhW8AWTia6c8n9RW3Zx7f/SxVeFWZD0I1nUAx2pkxuWazVtev0Nmb5w==} peerDependencies: @@ -3533,6 +5684,10 @@ packages: resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} engines: {node: '>=14.0.0'} + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -3541,66 +5696,34 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@4.4.8: - resolution: {integrity: sha512-67adfgBox5eNSNIvIIwgFizKGdcRrGpiMoNO2obHcYuLz7iTa8Xgm/NGU3ntMFnNm8K1grFOIG6HhMLX/vcN8w==} + svelte-check@4.6.0: + resolution: {integrity: sha512-KhVnDFDSid57mmZtHz8gfW8AAGylOZ0vPnOIzVmAL+urzwK8sBYXRss953gD8T0OdgAQ11mdWhE6uadmtOz8TQ==} engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 typescript: '>=5.0.0' - svelte-eslint-parser@1.6.1: - resolution: {integrity: sha512-hhvSH6kRj46UzrBVO5TaotD+Iuvruj5ccKBcO4wAhVcPTLmIc/c32D8UllBTYO0on4LzYuM0rNzf1lM/gBlkSQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.33.0} + svelte-eslint-parser@1.8.0: + resolution: {integrity: sha512-mikR1qwIVy3t5WthUoAXkMwxkXvabZP9FJgdx35Ei7EbGWmctva1Pih16Koeor/bdNNq8NXHlwKGS6NkYTawLg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.34.1} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 peerDependenciesMeta: svelte: optional: true + svelte-interactions@0.2.0: + resolution: {integrity: sha512-jGgZgdfSFnBzIs5j058T/XqHCEXHVpob31dkTwMu4KZyUSt2prozXoK/vKmN1eOyTaEIqALX20aLkYlbbapLPA==} + peerDependencies: + svelte: ^4.0.0 + svelte-persisted-store@0.12.0: resolution: {integrity: sha512-BdBQr2SGSJ+rDWH8/aEV5GthBJDapVP0GP3fuUCA7TjYG5ctcB+O9Mj9ZC0+Jo1oJMfZUd1y9H68NFRR5MyIJA==} engines: {node: '>=0.14'} peerDependencies: svelte: ^3.48.0 || ^4 || ^5 - svelte-preprocess@6.0.3: - resolution: {integrity: sha512-PLG2k05qHdhmRG7zR/dyo5qKvakhm8IJ+hD2eFRQmMLHp7X3eJnjeupUtvuRpbNiF31RjVw45W+abDwHEmP5OA==} - engines: {node: '>= 18.0.0'} - peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 || ^4.0.0 - postcss: ^7 || ^8 - postcss-load-config: '>=3' - pug: ^3.0.0 - sass: ^1.26.8 - stylus: '>=0.55' - sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^4.0.0 || ^5.0.0-next.100 || ^5.0.0 - typescript: ^5.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: - optional: true - svelte-seo@2.0.0: resolution: {integrity: sha512-taLhDc7tqxKLhUlVEqzK4McowtQtmCtyJFs4cuH68rBWJF9TYBpIkjWQM6mnOIu9Zxq9jqMO+EvRqiNK4TzADw==} peerDependencies: @@ -3641,8 +5764,8 @@ packages: peerDependencies: svelte: ^5.30.2 - svelte@5.55.7: - resolution: {integrity: sha512-ymI5ykLPwIHW839E053FQbI1G+jnRFJEw3Kv5Y4njixVWywQBx+NUFpkkKyk5LIb36Fg9DVXSYpqiGekLD0hyw==} + svelte@5.56.1: + resolution: {integrity: sha512-eArsJmvl3xZVuTYD852PzIEdg2wgDdIZ1NEsIPbzAukHwi284B18No4nK2rCO9AwsWUDza4Cjvmoa4HaojTl5g==} engines: {node: '>=18'} sveltekit-superforms@2.30.1: @@ -3665,8 +5788,8 @@ packages: tailwindcss@4.3.0: resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} - takumi-js@1.1.2: - resolution: {integrity: sha512-S8Ff0zBUQJ8VC40r7y1RPBo5QXFXV3U868M+T8B8JGt5Tko8l83DVEr1BYLOxqUenEeev853S708oE0aD50eZA==} + takumi-js@1.7.0: + resolution: {integrity: sha512-VZGjwMvhM6cJ2/qzZ1Bt9MrTWt4XwQtPUdUMAk1Ca1Uq8X3lwjH38CNjRqmHhSewdF4Brq3/E9wMo0ipdjgnjQ==} tapable@2.3.3: resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} @@ -3676,6 +5799,9 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} + thread-stream@3.2.0: + resolution: {integrity: sha512-zLBvqpwr4Esa0kRjcrzGU6zL25lePWaCLMx0RQFrmteozIfeNdaMLpG5U7PeHzvlFkAWaRKA9/KVW4F60iB+qw==} + three@0.156.1: resolution: {integrity: sha512-kP7H0FK9d/k6t/XvQ9FO6i+QrePoDcNhwl0I02+wmUJRNSLCUIDMcfObnzQvxb37/0Uc9TDT0T1HgsRRrO6SYQ==} @@ -3688,12 +5814,12 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.1.2: - resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} + tinyexec@1.2.4: + resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} - tinyglobby@0.2.16: - resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} tinyrainbow@3.1.0: @@ -3704,6 +5830,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + token-types@6.1.2: + resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} + engines: {node: '>=14.16'} + toposort@2.0.2: resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} @@ -3714,6 +5844,9 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + truncate-utf8-bytes@1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + ts-algebra@2.0.0: resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} @@ -3727,9 +5860,27 @@ packages: resolution: {integrity: sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA==} engines: {node: '>=14.13.1'} + ts-essentials@10.0.3: + resolution: {integrity: sha512-/FrVAZ76JLTWxJOERk04fm8hYENDo0PWSP3YLQKxevLwWtxemGcl5JJEzN4iqfDlRve0ckyfFaOBu4xbNH/wZw==} + peerDependencies: + typescript: '>=4.5.0' + peerDependenciesMeta: + typescript: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + + tsx@4.22.4: + resolution: {integrity: sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==} + engines: {node: '>=18.0.0'} + hasBin: true + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -3738,8 +5889,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - typebox@1.1.38: - resolution: {integrity: sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==} + typebox@1.2.0: + resolution: {integrity: sha512-5zmwtMQArPorr1PVqo5Ye3GRmaiHQ7iicRnlmRXWWDLg5k5fky8OG40B12ckVq5YIxpGM8s1qzcfcA8SKNjPVw==} typedoc-plugin-coverage@4.0.3: resolution: {integrity: sha512-baim3wyMkqpX7rBzL/6iZ7wzKJuSr9ffP16RHOsdTUNoHUZeXLIZHSUBtUhXmNHaUNRgfqdmKLBwyggbJjGdeQ==} @@ -3747,8 +5898,8 @@ packages: peerDependencies: typedoc: 0.28.x - typedoc-plugin-markdown@4.11.0: - resolution: {integrity: sha512-2iunh2ALyfyh204OF7h2u0kuQ84xB3jFZtFyUr01nThJkLvR8oGGSSDlyt2gyO4kXhvUxDcVbO0y43+qX+wFbw==} + typedoc-plugin-markdown@4.12.0: + resolution: {integrity: sha512-eJDEMAfxCmede22c/Jw7d0FA13ggAQv+KkwQYKYCdqI02cin6Rc9QRwbG/7XvvHWinuFejySnZVUWDtvGk3Vbg==} engines: {node: '>= 18'} peerDependencies: typedoc: 0.28.x @@ -3760,8 +5911,8 @@ packages: peerDependencies: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x - typescript-eslint@8.59.3: - resolution: {integrity: sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg==} + typescript-eslint@8.60.1: + resolution: {integrity: sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -3775,19 +5926,45 @@ packages: uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + uint8array-extras@1.5.0: + resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} + engines: {node: '>=18'} + ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + undici@7.24.4: + resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==} + engines: {node: '>=20.18.1'} + + undici@7.24.8: + resolution: {integrity: sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ==} + engines: {node: '>=20.18.1'} + + unenv@2.0.0-rc.24: + resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} + unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} - unicorn-magic@0.4.0: - resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} - engines: {node: '>=20'} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -3806,11 +5983,33 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + use-context-selector@2.0.0: + resolution: {integrity: sha512-owfuSmUNd3eNp3J9CdDl0kMgfidV+MkDvHPpvthN5ThqM+ibMccNE0k+Iq7TWC6JPFvGZqanqiGCuQx6DyV24g==} + peerDependencies: + react: '>=18.0.0' + scheduler: '>=0.19.0' + + use-isomorphic-layout-effect@1.2.1: + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + utf8-byte-length@1.0.5: + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - valibot@1.4.0: - resolution: {integrity: sha512-iC/x7fVcSyOwlm/VSt7RlHnzNGLGvR9GnxdifUeWoCJo0q4ZZvrVkIHC6faTlkxG47I2Y4UrFquPuVHCrOnrLg==} + uuid@13.0.2: + resolution: {integrity: sha512-vzi9uRZ926x4XV73S/4qQaTwPXM2JBj6/6lI/byHH1jOpCzb0zDbfytgA9LcN/hzb2l7WQSQnxITOVx5un/wGw==} + hasBin: true + + valibot@1.4.1: + resolution: {integrity: sha512-klCmFTz2jeDluy9RwX+F884TCiogtdBJ/YaxSx1EOBYXa3NXNWj8kR1jjN8rzluwojJVWWaHJ4r1U5LfICnM3g==} peerDependencies: typescript: '>=5' peerDependenciesMeta: @@ -3827,8 +6026,11 @@ packages: peerDependencies: svelte: ^5.0.0 - vite@8.0.13: - resolution: {integrity: sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vite@8.0.16: + resolution: {integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -3884,20 +6086,20 @@ packages: svelte: ^3 || ^4 || ^5 || ^5.0.0-next.0 vitest: ^4.0.0 - vitest@4.1.6: - resolution: {integrity: sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==} + vitest@4.1.8: + resolution: {integrity: sha512-flY6ScbCIt9HThs+C5HS7jvGOB560DJtk/Z15IQROTA6zEy49Nh8T/dofWTQL+n3vswqn87sbJNiuqw1SDp5Ig==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.6 - '@vitest/browser-preview': 4.1.6 - '@vitest/browser-webdriverio': 4.1.6 - '@vitest/coverage-istanbul': 4.1.6 - '@vitest/coverage-v8': 4.1.6 - '@vitest/ui': 4.1.6 + '@vitest/browser-playwright': 4.1.8 + '@vitest/browser-preview': 4.1.8 + '@vitest/browser-webdriverio': 4.1.8 + '@vitest/coverage-istanbul': 4.1.8 + '@vitest/coverage-v8': 4.1.8 + '@vitest/ui': 4.1.8 happy-dom: '*' jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3928,6 +6130,10 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -3945,10 +6151,32 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + workerd@1.20260611.1: + resolution: {integrity: sha512-CS/640T7pIJ2HYX6x2DwKFGbcSckAWN3tgcdq+ptB6SaqjWUhlzIgA/YhPuwIU+/NnMnGpqOFX/hC18Oyge63w==} + engines: {node: '>=16'} + hasBin: true + + worktop@0.8.0-next.18: + resolution: {integrity: sha512-+TvsA6VAVoMC3XDKR5MoC/qlLqDixEfOBysDEKnPIPou/NvoPWCAuXHXMsswwlvmEuvX56lQjvELLyLuzTKvRw==} + engines: {node: '>=12'} + + wrangler@4.100.0: + resolution: {integrity: sha512-dSQO7DO+mD6XDzkVWIWBoGLO3yw+lacWSc/KhFvd7pgfpth+kX98qb5SGRHZN8ACCDhhfwzDLXwB6qHsIHhfBg==} + engines: {node: '>=22.0.0'} + hasBin: true + peerDependencies: + '@cloudflare/workers-types': ^4.20260611.1 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + wrap-ansi@9.0.2: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + ws@8.20.1: resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} @@ -3961,9 +6189,26 @@ packages: utf-8-validate: optional: true - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + + xss@1.0.15: + resolution: {integrity: sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==} + engines: {node: '>= 0.10.0'} + hasBin: true y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -3989,6 +6234,10 @@ packages: resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yjs@13.6.31: + resolution: {integrity: sha512-Eq+5BRfbeGyqGVrTJL3bEcr8gKkxPuyuoHmAwpk52fDb8kOVMrfVSTRPd6yiGgX5Fskb96qCRjzjbRjrL4YEnw==} + engines: {node: '>=16.0.0', npm: '>=8.0.0'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -3997,10 +6246,20 @@ packages: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} + yocto-spinner@0.2.3: + resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==} + engines: {node: '>=18.19'} + yoctocolors@2.1.2: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} + youch-core@0.3.3: + resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} + + youch@4.1.0-beta.10: + resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} + yup@1.7.1: resolution: {integrity: sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==} @@ -4015,8 +6274,17 @@ packages: zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: + '@apidevtools/json-schema-ref-parser@11.9.3': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.2.0 + '@ark/schema@0.56.0': dependencies: '@ark/util': 0.56.0 @@ -4025,25 +6293,25 @@ snapshots: '@ark/util@0.56.0': optional: true - '@babel/code-frame@7.29.0': + '@babel/code-frame@7.29.7': dependencies: - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.3': {} + '@babel/compat-data@7.29.7': {} - '@babel/core@7.29.0': + '@babel/core@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3 @@ -4053,84 +6321,277 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.29.1': + '@babel/generator@7.29.7': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.28.6': + '@babel/helper-annotate-as-pure@7.29.7': dependencies: - '@babel/compat-data': 7.29.3 - '@babel/helper-validator-option': 7.27.1 + '@babel/types': 7.29.7 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-globals@7.28.0': {} + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-module-imports@7.28.6': + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.27.1': {} + '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-validator-identifier@7.28.5': {} + '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option@7.27.1': {} + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color - '@babel/helpers@7.29.2': + '@babel/preset-react@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color - '@babel/parser@7.29.3': + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/types': 7.29.0 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color - '@babel/runtime@7.29.2': {} + '@babel/runtime@7.29.7': {} - '@babel/template@7.28.6': + '@babel/template@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 - '@babel/traverse@7.29.0': + '@babel/traverse@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 debug: 4.4.3 transitivePeerDependencies: - supports-color - '@babel/types@7.29.0': + '@babel/types@7.29.7': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 '@bcoe/v8-coverage@1.0.2': {} + '@better-auth/api-key@1.6.14(c35a64052094e7da9135b5e1c925e89c)': + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/utils': 0.4.1 + better-auth: 1.6.14(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9))(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8) + better-call: 1.3.5(zod@4.4.3) + zod: 4.4.3 + + '@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0)': + dependencies: + '@better-auth/utils': 0.4.1 + '@better-fetch/fetch': 1.1.21 + '@opentelemetry/semantic-conventions': 1.41.1 + '@standard-schema/spec': 1.1.0 + better-call: 1.3.5(zod@4.4.3) + jose: 6.2.3 + kysely: 0.28.17 + nanostores: 1.3.0 + zod: 4.4.3 + optionalDependencies: + '@cloudflare/workers-types': 4.20260613.1 + '@opentelemetry/api': 1.9.1 + + '@better-auth/drizzle-adapter@1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9))': + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/utils': 0.4.1 + optionalDependencies: + drizzle-orm: 0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9) + + '@better-auth/kysely-adapter@1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)(kysely@0.28.17)': + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/utils': 0.4.1 + optionalDependencies: + kysely: 0.28.17 + + '@better-auth/memory-adapter@1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)': + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/utils': 0.4.1 + + '@better-auth/mongo-adapter@1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)': + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/utils': 0.4.1 + + '@better-auth/prisma-adapter@1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)': + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/utils': 0.4.1 + + '@better-auth/telemetry@1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)': + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/utils': 0.4.1 + '@better-fetch/fetch': 1.1.21 + + '@better-auth/utils@0.4.1': + dependencies: + '@noble/hashes': 2.2.0 + + '@better-fetch/fetch@1.1.21': {} + '@blazediff/core@1.9.1': {} + '@borewit/text-codec@0.2.2': {} + '@changesets/apply-release-plan@7.1.1': dependencies: '@changesets/config': 3.1.4 @@ -4145,7 +6606,7 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.8.0 + semver: 7.8.2 '@changesets/assemble-release-plan@6.0.10': dependencies: @@ -4154,13 +6615,13 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 - semver: 7.8.0 + semver: 7.8.2 '@changesets/changelog-git@0.2.1': dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.31.0(@types/node@25.8.0)': + '@changesets/cli@2.31.0(@types/node@25.9.1)': dependencies: '@changesets/apply-release-plan': 7.1.1 '@changesets/assemble-release-plan': 6.0.10 @@ -4176,7 +6637,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.8.0) + '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 enquirer: 2.4.1 @@ -4185,7 +6646,7 @@ snapshots: package-manager-detector: 0.2.11 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.8.0 + semver: 7.8.2 spawndamnit: 3.0.1 term-size: 2.2.1 transitivePeerDependencies: @@ -4211,9 +6672,9 @@ snapshots: '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.8.0 + semver: 7.8.2 - '@changesets/get-github-info@0.6.0': + '@changesets/get-github-info@0.8.0': dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -4246,7 +6707,7 @@ snapshots: '@changesets/parse@0.4.3': dependencies: '@changesets/types': 6.1.0 - js-yaml: 4.1.1 + js-yaml: 4.2.0 '@changesets/pre@2.0.2': dependencies: @@ -4278,21 +6739,72 @@ snapshots: dependencies: '@changesets/types': 6.1.0 fs-extra: 7.0.1 - human-id: 4.1.3 + human-id: 4.2.0 prettier: 2.8.8 - '@commander-js/extra-typings@14.0.0(commander@14.0.3)': + '@chevrotain/cst-dts-gen@10.5.0': + dependencies: + '@chevrotain/gast': 10.5.0 + '@chevrotain/types': 10.5.0 + lodash: 4.17.21 + + '@chevrotain/gast@10.5.0': + dependencies: + '@chevrotain/types': 10.5.0 + lodash: 4.17.21 + + '@chevrotain/types@10.5.0': {} + + '@chevrotain/utils@10.5.0': {} + + '@clack/core@0.5.0': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.11.0': + dependencies: + '@clack/core': 0.5.0 + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@cloudflare/kv-asset-handler@0.5.0': {} + + '@cloudflare/unenv-preset@2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260611.1)': + dependencies: + unenv: 2.0.0-rc.24 + optionalDependencies: + workerd: 1.20260611.1 + + '@cloudflare/workerd-darwin-64@1.20260611.1': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20260611.1': + optional: true + + '@cloudflare/workerd-linux-64@1.20260611.1': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20260611.1': + optional: true + + '@cloudflare/workerd-windows-64@1.20260611.1': + optional: true + + '@cloudflare/workers-types@4.20260613.1': {} + + '@commander-js/extra-typings@14.0.0(commander@14.0.3)': dependencies: commander: 14.0.3 - '@commitlint/cli@21.0.1(@types/node@25.8.0)(conventional-commits-parser@6.4.0)(typescript@6.0.3)': + '@commitlint/cli@21.0.2(@types/node@25.9.1)(conventional-commits-parser@6.4.0)(typescript@6.0.3)': dependencies: '@commitlint/format': 21.0.1 - '@commitlint/lint': 21.0.1 - '@commitlint/load': 21.0.1(@types/node@25.8.0)(typescript@6.0.3) - '@commitlint/read': 21.0.1(conventional-commits-parser@6.4.0) + '@commitlint/lint': 21.0.2 + '@commitlint/load': 21.0.2(@types/node@25.9.1)(typescript@6.0.3) + '@commitlint/read': 21.0.2(conventional-commits-parser@6.4.0) '@commitlint/types': 21.0.1 - tinyexec: 1.1.2 + tinyexec: 1.2.4 yargs: 18.0.0 transitivePeerDependencies: - '@types/node' @@ -4300,7 +6812,7 @@ snapshots: - conventional-commits-parser - typescript - '@commitlint/config-conventional@21.0.1': + '@commitlint/config-conventional@21.0.2': dependencies: '@commitlint/types': 21.0.1 conventional-changelog-conventionalcommits: 9.3.1 @@ -4313,7 +6825,7 @@ snapshots: '@commitlint/ensure@21.0.1': dependencies: '@commitlint/types': 21.0.1 - es-toolkit: 1.46.1 + es-toolkit: 1.47.0 '@commitlint/execute-rule@21.0.1': {} @@ -4322,47 +6834,47 @@ snapshots: '@commitlint/types': 21.0.1 picocolors: 1.1.1 - '@commitlint/is-ignored@21.0.1': + '@commitlint/is-ignored@21.0.2': dependencies: '@commitlint/types': 21.0.1 - semver: 7.8.0 + semver: 7.8.2 - '@commitlint/lint@21.0.1': + '@commitlint/lint@21.0.2': dependencies: - '@commitlint/is-ignored': 21.0.1 - '@commitlint/parse': 21.0.1 - '@commitlint/rules': 21.0.1 + '@commitlint/is-ignored': 21.0.2 + '@commitlint/parse': 21.0.2 + '@commitlint/rules': 21.0.2 '@commitlint/types': 21.0.1 - '@commitlint/load@21.0.1(@types/node@25.8.0)(typescript@6.0.3)': + '@commitlint/load@21.0.2(@types/node@25.9.1)(typescript@6.0.3)': dependencies: '@commitlint/config-validator': 21.0.1 '@commitlint/execute-rule': 21.0.1 '@commitlint/resolve-extends': 21.0.1 '@commitlint/types': 21.0.1 cosmiconfig: 9.0.1(typescript@6.0.3) - cosmiconfig-typescript-loader: 6.3.0(@types/node@25.8.0)(cosmiconfig@9.0.1(typescript@6.0.3))(typescript@6.0.3) - es-toolkit: 1.46.1 + cosmiconfig-typescript-loader: 6.3.0(@types/node@25.9.1)(cosmiconfig@9.0.1(typescript@6.0.3))(typescript@6.0.3) + es-toolkit: 1.47.0 is-plain-obj: 4.1.0 picocolors: 1.1.1 transitivePeerDependencies: - '@types/node' - typescript - '@commitlint/message@21.0.1': {} + '@commitlint/message@21.0.2': {} - '@commitlint/parse@21.0.1': + '@commitlint/parse@21.0.2': dependencies: '@commitlint/types': 21.0.1 conventional-changelog-angular: 8.3.1 conventional-commits-parser: 6.4.0 - '@commitlint/read@21.0.1(conventional-commits-parser@6.4.0)': + '@commitlint/read@21.0.2(conventional-commits-parser@6.4.0)': dependencies: - '@commitlint/top-level': 21.0.1 + '@commitlint/top-level': 21.0.2 '@commitlint/types': 21.0.1 git-raw-commits: 5.0.1(conventional-commits-parser@6.4.0) - tinyexec: 1.1.2 + tinyexec: 1.2.4 transitivePeerDependencies: - conventional-commits-filter - conventional-commits-parser @@ -4371,20 +6883,20 @@ snapshots: dependencies: '@commitlint/config-validator': 21.0.1 '@commitlint/types': 21.0.1 - es-toolkit: 1.46.1 + es-toolkit: 1.47.0 global-directory: 5.0.0 resolve-from: 5.0.0 - '@commitlint/rules@21.0.1': + '@commitlint/rules@21.0.2': dependencies: '@commitlint/ensure': 21.0.1 - '@commitlint/message': 21.0.1 + '@commitlint/message': 21.0.2 '@commitlint/to-lines': 21.0.1 '@commitlint/types': 21.0.1 '@commitlint/to-lines@21.0.1': {} - '@commitlint/top-level@21.0.1': + '@commitlint/top-level@21.0.2': dependencies: escalade: 3.2.0 @@ -4397,162 +6909,570 @@ snapshots: dependencies: '@simple-libs/child-process-utils': 1.0.2 '@simple-libs/stream-utils': 1.2.0 - semver: 7.8.0 + semver: 7.8.2 optionalDependencies: conventional-commits-parser: 6.4.0 - '@date-fns/tz@1.4.1': {} + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@date-fns/tz@1.2.0': {} + + '@date-fns/tz@1.5.0': {} + + '@dnd-kit/abstract@0.4.0': + dependencies: + '@dnd-kit/geometry': 0.4.0 + '@dnd-kit/state': 0.4.0 + tslib: 2.8.1 + + '@dnd-kit/accessibility@3.1.1(react@19.2.7)': + dependencies: + react: 19.2.7 + tslib: 2.8.1 + + '@dnd-kit/collision@0.4.0': + dependencies: + '@dnd-kit/abstract': 0.4.0 + '@dnd-kit/geometry': 0.4.0 + tslib: 2.8.1 + + '@dnd-kit/core@6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@dnd-kit/accessibility': 3.1.1(react@19.2.7) + '@dnd-kit/utilities': 3.2.2(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + tslib: 2.8.1 + + '@dnd-kit/dom@0.4.0': + dependencies: + '@dnd-kit/abstract': 0.4.0 + '@dnd-kit/collision': 0.4.0 + '@dnd-kit/geometry': 0.4.0 + '@dnd-kit/state': 0.4.0 + tslib: 2.8.1 + + '@dnd-kit/geometry@0.4.0': + dependencies: + '@dnd-kit/state': 0.4.0 + tslib: 2.8.1 + + '@dnd-kit/helpers@0.4.0': + dependencies: + '@dnd-kit/abstract': 0.4.0 + tslib: 2.8.1 + + '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@dnd-kit/utilities': 3.2.2(react@19.2.7) + react: 19.2.7 + tslib: 2.8.1 + + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@dnd-kit/utilities': 3.2.2(react@19.2.7) + react: 19.2.7 + tslib: 2.8.1 + + '@dnd-kit/state@0.4.0': + dependencies: + '@preact/signals-core': 1.14.2 + tslib: 2.8.1 + + '@dnd-kit/svelte@0.4.0(svelte@5.56.1(@typescript-eslint/types@8.60.1))': + dependencies: + '@dnd-kit/abstract': 0.4.0 + '@dnd-kit/dom': 0.4.0 + '@dnd-kit/state': 0.4.0 + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + tslib: 2.8.1 + + '@dnd-kit/utilities@3.2.2(react@19.2.7)': + dependencies: + react: 19.2.7 + tslib: 2.8.1 + + '@drizzle-team/brocli@0.10.2': {} + + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emotion/babel-plugin@11.13.5': + dependencies: + '@babel/helper-module-imports': 7.29.7 + '@babel/runtime': 7.29.7 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.3 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/cache@11.14.0': + dependencies: + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + stylis: 4.2.0 + + '@emotion/hash@0.9.2': {} + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.14.0(@types/react@19.2.16)(react@19.2.7)': + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.7) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.16 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.3': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.2 + csstype: 3.2.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/unitless@0.10.0': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.7)': + dependencies: + react: 19.2.7 + + '@emotion/utils@1.4.2': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.14.0 + + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/aix-ppc64@0.27.3': + optional: true + + '@esbuild/aix-ppc64@0.27.7': + optional: true + + '@esbuild/aix-ppc64@0.28.0': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.27.3': + optional: true + + '@esbuild/android-arm64@0.27.7': + optional: true + + '@esbuild/android-arm64@0.28.0': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-arm@0.27.3': + optional: true + + '@esbuild/android-arm@0.27.7': + optional: true + + '@esbuild/android-arm@0.28.0': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/android-x64@0.27.3': + optional: true + + '@esbuild/android-x64@0.27.7': + optional: true + + '@esbuild/android-x64@0.28.0': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.27.3': + optional: true + + '@esbuild/darwin-arm64@0.27.7': + optional: true + + '@esbuild/darwin-arm64@0.28.0': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.27.3': + optional: true + + '@esbuild/darwin-x64@0.27.7': + optional: true + + '@esbuild/darwin-x64@0.28.0': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.27.3': + optional: true + + '@esbuild/freebsd-arm64@0.27.7': + optional: true + + '@esbuild/freebsd-arm64@0.28.0': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.27.3': + optional: true + + '@esbuild/freebsd-x64@0.27.7': + optional: true + + '@esbuild/freebsd-x64@0.28.0': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.27.3': + optional: true + + '@esbuild/linux-arm64@0.27.7': + optional: true + + '@esbuild/linux-arm64@0.28.0': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-arm@0.27.3': + optional: true + + '@esbuild/linux-arm@0.27.7': + optional: true + + '@esbuild/linux-arm@0.28.0': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.27.3': + optional: true + + '@esbuild/linux-ia32@0.27.7': + optional: true + + '@esbuild/linux-ia32@0.28.0': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.27.3': + optional: true + + '@esbuild/linux-loong64@0.27.7': + optional: true + + '@esbuild/linux-loong64@0.28.0': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.27.3': + optional: true + + '@esbuild/linux-mips64el@0.27.7': + optional: true + + '@esbuild/linux-mips64el@0.28.0': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.27.3': + optional: true + + '@esbuild/linux-ppc64@0.27.7': + optional: true + + '@esbuild/linux-ppc64@0.28.0': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.27.3': + optional: true + + '@esbuild/linux-riscv64@0.27.7': + optional: true + + '@esbuild/linux-riscv64@0.28.0': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.27.3': + optional: true + + '@esbuild/linux-s390x@0.27.7': + optional: true + + '@esbuild/linux-s390x@0.28.0': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/linux-x64@0.27.3': + optional: true + + '@esbuild/linux-x64@0.27.7': + optional: true + + '@esbuild/linux-x64@0.28.0': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.27.3': + optional: true + + '@esbuild/netbsd-arm64@0.27.7': + optional: true + + '@esbuild/netbsd-arm64@0.28.0': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true - '@dnd-kit/abstract@0.4.0': - dependencies: - '@dnd-kit/geometry': 0.4.0 - '@dnd-kit/state': 0.4.0 - tslib: 2.8.1 + '@esbuild/netbsd-x64@0.25.12': + optional: true - '@dnd-kit/collision@0.4.0': - dependencies: - '@dnd-kit/abstract': 0.4.0 - '@dnd-kit/geometry': 0.4.0 - tslib: 2.8.1 + '@esbuild/netbsd-x64@0.27.3': + optional: true - '@dnd-kit/dom@0.4.0': - dependencies: - '@dnd-kit/abstract': 0.4.0 - '@dnd-kit/collision': 0.4.0 - '@dnd-kit/geometry': 0.4.0 - '@dnd-kit/state': 0.4.0 - tslib: 2.8.1 + '@esbuild/netbsd-x64@0.27.7': + optional: true - '@dnd-kit/geometry@0.4.0': - dependencies: - '@dnd-kit/state': 0.4.0 - tslib: 2.8.1 + '@esbuild/netbsd-x64@0.28.0': + optional: true - '@dnd-kit/helpers@0.4.0': - dependencies: - '@dnd-kit/abstract': 0.4.0 - tslib: 2.8.1 + '@esbuild/openbsd-arm64@0.25.12': + optional: true - '@dnd-kit/state@0.4.0': - dependencies: - '@preact/signals-core': 1.14.2 - tslib: 2.8.1 + '@esbuild/openbsd-arm64@0.27.3': + optional: true - '@dnd-kit/svelte@0.4.0(svelte@5.55.7(@typescript-eslint/types@8.59.3))': - dependencies: - '@dnd-kit/abstract': 0.4.0 - '@dnd-kit/dom': 0.4.0 - '@dnd-kit/state': 0.4.0 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - tslib: 2.8.1 + '@esbuild/openbsd-arm64@0.27.7': + optional: true - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 + '@esbuild/openbsd-arm64@0.28.0': optional: true - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 + '@esbuild/openbsd-x64@0.18.20': optional: true - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 + '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.7': + '@esbuild/openbsd-x64@0.27.3': optional: true - '@esbuild/android-arm64@0.27.7': + '@esbuild/openbsd-x64@0.27.7': optional: true - '@esbuild/android-arm@0.27.7': + '@esbuild/openbsd-x64@0.28.0': optional: true - '@esbuild/android-x64@0.27.7': + '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.7': + '@esbuild/openharmony-arm64@0.27.3': optional: true - '@esbuild/darwin-x64@0.27.7': + '@esbuild/openharmony-arm64@0.27.7': optional: true - '@esbuild/freebsd-arm64@0.27.7': + '@esbuild/openharmony-arm64@0.28.0': optional: true - '@esbuild/freebsd-x64@0.27.7': + '@esbuild/sunos-x64@0.18.20': optional: true - '@esbuild/linux-arm64@0.27.7': + '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/linux-arm@0.27.7': + '@esbuild/sunos-x64@0.27.3': optional: true - '@esbuild/linux-ia32@0.27.7': + '@esbuild/sunos-x64@0.27.7': optional: true - '@esbuild/linux-loong64@0.27.7': + '@esbuild/sunos-x64@0.28.0': optional: true - '@esbuild/linux-mips64el@0.27.7': + '@esbuild/win32-arm64@0.18.20': optional: true - '@esbuild/linux-ppc64@0.27.7': + '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.7': + '@esbuild/win32-arm64@0.27.3': optional: true - '@esbuild/linux-s390x@0.27.7': + '@esbuild/win32-arm64@0.27.7': optional: true - '@esbuild/linux-x64@0.27.7': + '@esbuild/win32-arm64@0.28.0': optional: true - '@esbuild/netbsd-arm64@0.27.7': + '@esbuild/win32-ia32@0.18.20': optional: true - '@esbuild/netbsd-x64@0.27.7': + '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.7': + '@esbuild/win32-ia32@0.27.3': optional: true - '@esbuild/openbsd-x64@0.27.7': + '@esbuild/win32-ia32@0.27.7': optional: true - '@esbuild/openharmony-arm64@0.27.7': + '@esbuild/win32-ia32@0.28.0': optional: true - '@esbuild/sunos-x64@0.27.7': + '@esbuild/win32-x64@0.18.20': optional: true - '@esbuild/win32-arm64@0.27.7': + '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.7': + '@esbuild/win32-x64@0.27.3': optional: true '@esbuild/win32-x64@0.27.7': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.3.0(jiti@2.7.0))': + '@esbuild/win32-x64@0.28.0': + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@10.4.1(jiti@2.7.0))': dependencies: - eslint: 10.3.0(jiti@2.7.0) + eslint: 10.4.1(jiti@2.7.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@2.1.0(eslint@10.3.0(jiti@2.7.0))': - dependencies: - '@eslint/core': 1.2.1 - optionalDependencies: - eslint: 10.3.0(jiti@2.7.0) - '@eslint/config-array@0.23.5': dependencies: '@eslint/object-schema': 3.0.5 @@ -4561,7 +7481,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.5.5': + '@eslint/config-helpers@0.6.0': dependencies: '@eslint/core': 1.2.1 @@ -4569,13 +7489,13 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.3.0(jiti@2.7.0))': + '@eslint/js@10.0.1(eslint@10.4.1(jiti@2.7.0))': optionalDependencies: - eslint: 10.3.0(jiti@2.7.0) + eslint: 10.4.1(jiti@2.7.0) '@eslint/object-schema@3.0.5': {} - '@eslint/plugin-kit@0.7.1': + '@eslint/plugin-kit@0.7.2': dependencies: '@eslint/core': 1.2.1 levn: 0.4.1 @@ -4583,15 +7503,23 @@ snapshots: '@exodus/schemasafe@1.3.0': optional: true - '@fastify/otel@0.18.0(@opentelemetry/api@1.9.1)': + '@faceless-ui/modal@3.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.212.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - minimatch: 10.2.5 - transitivePeerDependencies: - - supports-color + body-scroll-lock: 4.0.0-beta.0 + focus-trap: 7.5.4 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + react-transition-group: 4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + + '@faceless-ui/scroll-info@2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + '@faceless-ui/window-info@3.0.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) '@floating-ui/core@1.7.5': dependencies: @@ -4602,6 +7530,20 @@ snapshots: '@floating-ui/core': 1.7.5 '@floating-ui/utils': 0.2.11 + '@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@floating-ui/dom': 1.7.6 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + '@floating-ui/react@0.27.19(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/utils': 0.2.11 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + tabbable: 6.4.0 + '@floating-ui/utils@0.2.11': {} '@gerrit0/mini-shiki@3.23.0': @@ -4636,16 +7578,112 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@inquirer/external-editor@1.0.3(@types/node@25.8.0)': + '@img/colour@1.1.0': {} + + '@img/sharp-darwin-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.2.4 + optional: true + + '@img/sharp-darwin-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.2.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.2.4': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-riscv64@1.2.4': + optional: true + + '@img/sharp-libvips-linux-s390x@1.2.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.2.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + optional: true + + '@img/sharp-linux-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.2.4 + optional: true + + '@img/sharp-linux-arm@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.2.4 + optional: true + + '@img/sharp-linux-ppc64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.2.4 + optional: true + + '@img/sharp-linux-riscv64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.2.4 + optional: true + + '@img/sharp-linux-s390x@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.2.4 + optional: true + + '@img/sharp-linux-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.2.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + optional: true + + '@img/sharp-wasm32@0.34.5': + dependencies: + '@emnapi/runtime': 1.10.0 + optional: true + + '@img/sharp-win32-arm64@0.34.5': + optional: true + + '@img/sharp-win32-ia32@0.34.5': + optional: true + + '@img/sharp-win32-x64@0.34.5': + optional: true + + '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.1 '@internationalized/date@3.12.1': dependencies: - '@swc/helpers': 0.5.21 + '@swc/helpers': 0.5.23 '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -4666,241 +7704,277 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@lucide/svelte@1.16.0(svelte@5.55.7(@typescript-eslint/types@8.59.3))': + '@jridgewell/trace-mapping@0.3.9': dependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 - '@manypkg/find-root@1.1.0': + '@jsdevtools/ono@7.1.3': {} + + '@lexical/clipboard@0.41.0': dependencies: - '@babel/runtime': 7.29.2 - '@types/node': 12.20.55 - find-up: 4.1.0 - fs-extra: 8.1.0 + '@lexical/html': 0.41.0 + '@lexical/list': 0.41.0 + '@lexical/selection': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@manypkg/get-packages@1.1.3': + '@lexical/code@0.41.0': dependencies: - '@babel/runtime': 7.29.2 - '@changesets/types': 4.1.0 - '@manypkg/find-root': 1.1.0 - fs-extra: 8.1.0 - globby: 11.1.0 - read-yaml-file: 1.1.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 + prismjs: 1.30.0 - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@lexical/devtools-core@0.41.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 - optional: true + '@lexical/html': 0.41.0 + '@lexical/link': 0.41.0 + '@lexical/mark': 0.41.0 + '@lexical/table': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) - '@nodelib/fs.scandir@2.1.5': + '@lexical/dragon@0.41.0': dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@lexical/extension': 0.41.0 + lexical: 0.41.0 - '@nodelib/fs.stat@2.0.5': {} + '@lexical/extension@0.41.0': + dependencies: + '@lexical/utils': 0.41.0 + '@preact/signals-core': 1.14.2 + lexical: 0.41.0 - '@nodelib/fs.walk@1.2.8': + '@lexical/hashtag@0.41.0': dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 + '@lexical/text': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/api-logs@0.207.0': + '@lexical/headless@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 + happy-dom: 20.10.1 + lexical: 0.41.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - '@opentelemetry/api-logs@0.212.0': + '@lexical/history@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 + '@lexical/extension': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/api-logs@0.214.0': + '@lexical/html@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 + '@lexical/selection': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/api@1.9.1': {} + '@lexical/link@0.41.0': + dependencies: + '@lexical/extension': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/core@2.6.1(@opentelemetry/api@1.9.1)': + '@lexical/list@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/semantic-conventions': 1.41.1 + '@lexical/extension': 0.41.0 + '@lexical/selection': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1)': + '@lexical/mark@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/semantic-conventions': 1.41.1 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/instrumentation-amqplib@0.61.0(@opentelemetry/api@1.9.1)': + '@lexical/markdown@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - transitivePeerDependencies: - - supports-color + '@lexical/code': 0.41.0 + '@lexical/link': 0.41.0 + '@lexical/list': 0.41.0 + '@lexical/rich-text': 0.41.0 + '@lexical/text': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/instrumentation-connect@0.57.0(@opentelemetry/api@1.9.1)': + '@lexical/offset@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - '@types/connect': 3.4.38 - transitivePeerDependencies: - - supports-color + lexical: 0.41.0 - '@opentelemetry/instrumentation-dataloader@0.31.0(@opentelemetry/api@1.9.1)': + '@lexical/overflow@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - transitivePeerDependencies: - - supports-color + lexical: 0.41.0 - '@opentelemetry/instrumentation-fs@0.33.0(@opentelemetry/api@1.9.1)': + '@lexical/plain-text@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - transitivePeerDependencies: - - supports-color + '@lexical/clipboard': 0.41.0 + '@lexical/dragon': 0.41.0 + '@lexical/selection': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/instrumentation-generic-pool@0.57.0(@opentelemetry/api@1.9.1)': + '@lexical/react@0.41.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(yjs@13.6.31)': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@floating-ui/react': 0.27.19(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@lexical/devtools-core': 0.41.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@lexical/dragon': 0.41.0 + '@lexical/extension': 0.41.0 + '@lexical/hashtag': 0.41.0 + '@lexical/history': 0.41.0 + '@lexical/link': 0.41.0 + '@lexical/list': 0.41.0 + '@lexical/mark': 0.41.0 + '@lexical/markdown': 0.41.0 + '@lexical/overflow': 0.41.0 + '@lexical/plain-text': 0.41.0 + '@lexical/rich-text': 0.41.0 + '@lexical/table': 0.41.0 + '@lexical/text': 0.41.0 + '@lexical/utils': 0.41.0 + '@lexical/yjs': 0.41.0(yjs@13.6.31) + lexical: 0.41.0 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + react-error-boundary: 6.1.2(react@19.2.7) transitivePeerDependencies: - - supports-color + - yjs - '@opentelemetry/instrumentation-graphql@0.62.0(@opentelemetry/api@1.9.1)': + '@lexical/rich-text@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - transitivePeerDependencies: - - supports-color + '@lexical/clipboard': 0.41.0 + '@lexical/dragon': 0.41.0 + '@lexical/selection': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/instrumentation-hapi@0.60.0(@opentelemetry/api@1.9.1)': + '@lexical/selection@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - transitivePeerDependencies: - - supports-color + lexical: 0.41.0 - '@opentelemetry/instrumentation-http@0.214.0(@opentelemetry/api@1.9.1)': + '@lexical/table@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - forwarded-parse: 2.1.2 - transitivePeerDependencies: - - supports-color + '@lexical/clipboard': 0.41.0 + '@lexical/extension': 0.41.0 + '@lexical/utils': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/instrumentation-kafkajs@0.23.0(@opentelemetry/api@1.9.1)': + '@lexical/text@0.41.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - transitivePeerDependencies: - - supports-color + lexical: 0.41.0 + + '@lexical/utils@0.41.0': + dependencies: + '@lexical/selection': 0.41.0 + lexical: 0.41.0 - '@opentelemetry/instrumentation-knex@0.58.0(@opentelemetry/api@1.9.1)': + '@lexical/yjs@0.41.0(yjs@13.6.31)': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - transitivePeerDependencies: - - supports-color + '@lexical/offset': 0.41.0 + '@lexical/selection': 0.41.0 + lexical: 0.41.0 + yjs: 13.6.31 - '@opentelemetry/instrumentation-koa@0.62.0(@opentelemetry/api@1.9.1)': + '@lucide/svelte@1.17.0(svelte@5.56.1(@typescript-eslint/types@8.60.1))': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - transitivePeerDependencies: - - supports-color + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - '@opentelemetry/instrumentation-lru-memoizer@0.58.0(@opentelemetry/api@1.9.1)': + '@manypkg/find-root@1.1.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - transitivePeerDependencies: - - supports-color + '@babel/runtime': 7.29.7 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 - '@opentelemetry/instrumentation-mongodb@0.67.0(@opentelemetry/api@1.9.1)': + '@manypkg/get-packages@1.1.3': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - transitivePeerDependencies: - - supports-color + '@babel/runtime': 7.29.7 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 - '@opentelemetry/instrumentation-mongoose@0.60.0(@opentelemetry/api@1.9.1)': + '@monaco-editor/loader@1.7.0': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - transitivePeerDependencies: - - supports-color + state-local: 1.0.7 - '@opentelemetry/instrumentation-mysql2@0.60.0(@opentelemetry/api@1.9.1)': + '@monaco-editor/react@4.7.0(monaco-editor@0.55.1)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.1) - transitivePeerDependencies: - - supports-color + '@monaco-editor/loader': 1.7.0 + monaco-editor: 0.55.1 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) - '@opentelemetry/instrumentation-mysql@0.60.0(@opentelemetry/api@1.9.1)': + '@mrleebo/prisma-ast@0.13.1': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - '@types/mysql': 2.15.27 - transitivePeerDependencies: - - supports-color + chevrotain: 10.5.0 + lilconfig: 2.1.0 - '@opentelemetry/instrumentation-pg@0.66.0(@opentelemetry/api@1.9.1)': + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.1) - '@types/pg': 8.15.6 - '@types/pg-pool': 2.0.7 - transitivePeerDependencies: - - supports-color + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 + optional: true + + '@next/env@15.5.19': {} + + '@next/env@16.2.7': {} + + '@next/swc-darwin-arm64@16.2.7': + optional: true + + '@next/swc-darwin-x64@16.2.7': + optional: true - '@opentelemetry/instrumentation-tedious@0.33.0(@opentelemetry/api@1.9.1)': + '@next/swc-linux-arm64-gnu@16.2.7': + optional: true + + '@next/swc-linux-arm64-musl@16.2.7': + optional: true + + '@next/swc-linux-x64-gnu@16.2.7': + optional: true + + '@next/swc-linux-x64-musl@16.2.7': + optional: true + + '@next/swc-win32-arm64-msvc@16.2.7': + optional: true + + '@next/swc-win32-x64-msvc@16.2.7': + optional: true + + '@noble/ciphers@2.2.0': {} + + '@noble/hashes@2.2.0': {} + + '@nodelib/fs.scandir@2.1.5': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.41.1 - '@types/tedious': 4.0.14 - transitivePeerDependencies: - - supports-color + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} - '@opentelemetry/instrumentation@0.207.0(@opentelemetry/api@1.9.1)': + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@opentelemetry/api-logs@0.214.0': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.207.0 - import-in-the-middle: 2.0.6 - require-in-the-middle: 8.0.1 - transitivePeerDependencies: - - supports-color - '@opentelemetry/instrumentation@0.212.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/api@1.9.1': {} + + '@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.212.0 - import-in-the-middle: 2.0.6 - require-in-the-middle: 8.0.1 - transitivePeerDependencies: - - supports-color + '@opentelemetry/semantic-conventions': 1.41.1 '@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1)': dependencies: @@ -4926,115 +8000,120 @@ snapshots: '@opentelemetry/semantic-conventions@1.41.1': {} - '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.1)': + '@orval/angular@8.15.0(typescript@6.0.3)': dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) - - '@orval/angular@8.10.0(typescript@6.0.3)': - dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/axios@8.10.0(typescript@6.0.3)': + '@orval/axios@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/core@8.10.0(typescript@6.0.3)': + '@orval/core@8.15.0(typescript@6.0.3)': dependencies: '@scalar/openapi-types': 0.8.0 acorn: 8.16.0 compare-versions: 6.1.1 debug: 4.4.3 - esbuild: 0.27.7 + esbuild: 0.28.0 esutils: 2.0.3 fs-extra: 11.3.5 - globby: 16.1.0 jiti: 2.7.0 - remeda: 2.34.1 + remeda: 2.37.0 + tinyglobby: 0.2.17 typedoc: 0.28.19(typescript@6.0.3) transitivePeerDependencies: - supports-color - typescript - '@orval/fetch@8.10.0(typescript@6.0.3)': + '@orval/effect@8.15.0(typescript@6.0.3)': + dependencies: + '@orval/core': 8.15.0(typescript@6.0.3) + remeda: 2.37.0 + transitivePeerDependencies: + - '@faker-js/faker' + - supports-color + - typescript + + '@orval/fetch@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) '@scalar/openapi-types': 0.8.0 transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/hono@8.10.0(typescript@6.0.3)': + '@orval/hono@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) - '@orval/zod': 8.10.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) + '@orval/zod': 8.15.0(typescript@6.0.3) fs-extra: 11.3.5 - remeda: 2.34.1 + remeda: 2.37.0 + optionalDependencies: + typescript: 6.0.3 transitivePeerDependencies: - '@faker-js/faker' - supports-color - - typescript - '@orval/mcp@8.10.0(typescript@6.0.3)': + '@orval/mcp@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) - '@orval/fetch': 8.10.0(typescript@6.0.3) - '@orval/zod': 8.10.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) + '@orval/fetch': 8.15.0(typescript@6.0.3) + '@orval/zod': 8.15.0(typescript@6.0.3) transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/mock@8.10.0(typescript@6.0.3)': + '@orval/mock@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) - remeda: 2.34.1 + '@orval/core': 8.15.0(typescript@6.0.3) + remeda: 2.37.0 transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/query@8.10.0(typescript@6.0.3)': + '@orval/query@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) - '@orval/fetch': 8.10.0(typescript@6.0.3) - remeda: 2.34.1 + '@orval/core': 8.15.0(typescript@6.0.3) + '@orval/fetch': 8.15.0(typescript@6.0.3) + remeda: 2.37.0 transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/solid-start@8.10.0(typescript@6.0.3)': + '@orval/solid-start@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) '@scalar/openapi-types': 0.8.0 transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/swr@8.10.0(typescript@6.0.3)': + '@orval/swr@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) - '@orval/fetch': 8.10.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) + '@orval/fetch': 8.15.0(typescript@6.0.3) transitivePeerDependencies: - '@faker-js/faker' - supports-color - typescript - '@orval/zod@8.10.0(typescript@6.0.3)': + '@orval/zod@8.15.0(typescript@6.0.3)': dependencies: - '@orval/core': 8.10.0(typescript@6.0.3) - remeda: 2.34.1 + '@orval/core': 8.15.0(typescript@6.0.3) + remeda: 2.37.0 transitivePeerDependencies: - '@faker-js/faker' - supports-color @@ -5053,7 +8132,133 @@ snapshots: '@oslojs/encoding@1.1.0': {} - '@oxc-project/types@0.130.0': {} + '@oxc-project/types@0.133.0': {} + + '@payloadcms/graphql@3.85.0(graphql@16.14.1)(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(typescript@6.0.3)': + dependencies: + graphql: 16.14.1 + graphql-scalars: 1.22.2(graphql@16.14.1) + payload: 3.85.0(graphql@16.14.1)(typescript@6.0.3) + pluralize: 8.0.0 + ts-essentials: 10.0.3(typescript@6.0.3) + tsx: 4.21.0 + transitivePeerDependencies: + - typescript + + '@payloadcms/next@3.85.0(@types/react@19.2.16)(graphql@16.14.1)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@dnd-kit/modifiers': 9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7) + '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7) + '@payloadcms/graphql': 3.85.0(graphql@16.14.1)(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(typescript@6.0.3) + '@payloadcms/translations': 3.85.0 + '@payloadcms/ui': 3.85.0(@types/react@19.2.16)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) + busboy: 1.6.0 + dequal: 2.0.3 + file-type: 21.3.4 + graphql: 16.14.1 + graphql-http: 1.22.4(graphql@16.14.1) + graphql-playground-html: 1.6.30 + http-status: 2.1.0 + next: 16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4) + path-to-regexp: 6.3.0 + payload: 3.85.0(graphql@16.14.1)(typescript@6.0.3) + qs-esm: 8.0.1 + sass: 1.77.4 + uuid: 13.0.2 + transitivePeerDependencies: + - '@types/react' + - monaco-editor + - react + - react-dom + - supports-color + - typescript + + '@payloadcms/richtext-lexical@3.85.0(@faceless-ui/modal@3.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@faceless-ui/scroll-info@2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@payloadcms/next@3.85.0(@types/react@19.2.16)(graphql@16.14.1)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@types/react@19.2.16)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)(yjs@13.6.31)': + dependencies: + '@faceless-ui/modal': 3.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@faceless-ui/scroll-info': 2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@lexical/clipboard': 0.41.0 + '@lexical/headless': 0.41.0 + '@lexical/html': 0.41.0 + '@lexical/link': 0.41.0 + '@lexical/list': 0.41.0 + '@lexical/mark': 0.41.0 + '@lexical/react': 0.41.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(yjs@13.6.31) + '@lexical/rich-text': 0.41.0 + '@lexical/selection': 0.41.0 + '@lexical/table': 0.41.0 + '@lexical/utils': 0.41.0 + '@payloadcms/next': 3.85.0(@types/react@19.2.16)(graphql@16.14.1)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) + '@payloadcms/translations': 3.85.0 + '@payloadcms/ui': 3.85.0(@types/react@19.2.16)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) + acorn: 8.16.0 + bson-objectid: 2.0.4 + csstype: 3.1.3 + dequal: 2.0.3 + escape-html: 1.0.3 + jsox: 1.2.121 + lexical: 0.41.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-jsx: 3.1.3 + micromark-extension-mdx-jsx: 3.0.1 + payload: 3.85.0(graphql@16.14.1)(typescript@6.0.3) + qs-esm: 8.0.1 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + react-error-boundary: 4.1.2(react@19.2.7) + ts-essentials: 10.0.3(typescript@6.0.3) + uuid: 13.0.2 + transitivePeerDependencies: + - '@types/react' + - bufferutil + - monaco-editor + - next + - supports-color + - typescript + - utf-8-validate + - yjs + + '@payloadcms/translations@3.85.0': + dependencies: + date-fns: 4.1.0 + + '@payloadcms/ui@3.85.0(@types/react@19.2.16)(monaco-editor@0.55.1)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(payload@3.85.0(graphql@16.14.1)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': + dependencies: + '@date-fns/tz': 1.2.0 + '@dnd-kit/core': 6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7) + '@dnd-kit/utilities': 3.2.2(react@19.2.7) + '@faceless-ui/modal': 3.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@faceless-ui/scroll-info': 2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@faceless-ui/window-info': 3.0.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@monaco-editor/react': 4.7.0(monaco-editor@0.55.1)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@payloadcms/translations': 3.85.0 + bson-objectid: 2.0.4 + date-fns: 4.1.0 + dequal: 2.0.3 + md5: 2.3.0 + next: 16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4) + object-to-formdata: 4.5.1 + payload: 3.85.0(graphql@16.14.1)(typescript@6.0.3) + qs-esm: 8.0.1 + react: 19.2.7 + react-datepicker: 7.6.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react-dom: 19.2.7(react@19.2.7) + react-image-crop: 10.1.8(react@19.2.7) + react-select: 5.9.0(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + scheduler: 0.25.0 + sonner: 1.7.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + ts-essentials: 10.0.3(typescript@6.0.3) + use-context-selector: 2.0.0(react@19.2.7)(scheduler@0.25.0) + uuid: 13.0.2 + transitivePeerDependencies: + - '@types/react' + - monaco-editor + - supports-color + - typescript + + '@pinojs/redact@0.4.0': {} '@playwright/test@1.60.0': dependencies: @@ -5061,72 +8266,77 @@ snapshots: '@polka/url@1.0.0-next.29': {} + '@poppinss/colors@4.1.6': + dependencies: + kleur: 4.1.5 + + '@poppinss/dumper@0.6.5': + dependencies: + '@poppinss/colors': 4.1.6 + '@sindresorhus/is': 7.2.0 + supports-color: 10.2.2 + + '@poppinss/exception@1.2.3': {} + '@poppinss/macroable@1.1.2': optional: true '@preact/signals-core@1.14.2': {} - '@prisma/instrumentation@7.6.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/instrumentation': 0.207.0(@opentelemetry/api@1.9.1) - transitivePeerDependencies: - - supports-color - - '@rolldown/binding-android-arm64@1.0.1': + '@rolldown/binding-android-arm64@1.0.3': optional: true - '@rolldown/binding-darwin-arm64@1.0.1': + '@rolldown/binding-darwin-arm64@1.0.3': optional: true - '@rolldown/binding-darwin-x64@1.0.1': + '@rolldown/binding-darwin-x64@1.0.3': optional: true - '@rolldown/binding-freebsd-x64@1.0.1': + '@rolldown/binding-freebsd-x64@1.0.3': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + '@rolldown/binding-linux-arm-gnueabihf@1.0.3': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.1': + '@rolldown/binding-linux-arm64-gnu@1.0.3': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.1': + '@rolldown/binding-linux-arm64-musl@1.0.3': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.1': + '@rolldown/binding-linux-ppc64-gnu@1.0.3': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.1': + '@rolldown/binding-linux-s390x-gnu@1.0.3': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.1': + '@rolldown/binding-linux-x64-gnu@1.0.3': optional: true - '@rolldown/binding-linux-x64-musl@1.0.1': + '@rolldown/binding-linux-x64-musl@1.0.3': optional: true - '@rolldown/binding-openharmony-arm64@1.0.1': + '@rolldown/binding-openharmony-arm64@1.0.3': optional: true - '@rolldown/binding-wasm32-wasi@1.0.1': + '@rolldown/binding-wasm32-wasi@1.0.3': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.1': + '@rolldown/binding-win32-arm64-msvc@1.0.3': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.1': + '@rolldown/binding-win32-x64-msvc@1.0.3': optional: true '@rolldown/pluginutils@1.0.1': {} - '@rollup/plugin-commonjs@29.0.2(rollup@4.60.4)': + '@rollup/plugin-commonjs@29.0.3(rollup@4.61.1)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) + '@rollup/pluginutils': 5.4.0(rollup@4.61.1) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.5.0(picomatch@4.0.4) @@ -5134,129 +8344,121 @@ snapshots: magic-string: 0.30.21 picomatch: 4.0.4 optionalDependencies: - rollup: 4.60.4 + rollup: 4.61.1 - '@rollup/plugin-json@6.1.0(rollup@4.60.4)': + '@rollup/plugin-json@6.1.0(rollup@4.61.1)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) + '@rollup/pluginutils': 5.4.0(rollup@4.61.1) optionalDependencies: - rollup: 4.60.4 + rollup: 4.61.1 - '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.4)': + '@rollup/plugin-node-resolve@16.0.3(rollup@4.61.1)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) + '@rollup/pluginutils': 5.4.0(rollup@4.61.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.12 optionalDependencies: - rollup: 4.60.4 + rollup: 4.61.1 - '@rollup/pluginutils@5.3.0(rollup@4.60.4)': + '@rollup/pluginutils@5.4.0(rollup@4.61.1)': dependencies: '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.4 optionalDependencies: - rollup: 4.60.4 + rollup: 4.61.1 - '@rollup/rollup-android-arm-eabi@4.60.4': + '@rollup/rollup-android-arm-eabi@4.61.1': optional: true - '@rollup/rollup-android-arm64@4.60.4': + '@rollup/rollup-android-arm64@4.61.1': optional: true - '@rollup/rollup-darwin-arm64@4.60.4': + '@rollup/rollup-darwin-arm64@4.61.1': optional: true - '@rollup/rollup-darwin-x64@4.60.4': + '@rollup/rollup-darwin-x64@4.61.1': optional: true - '@rollup/rollup-freebsd-arm64@4.60.4': + '@rollup/rollup-freebsd-arm64@4.61.1': optional: true - '@rollup/rollup-freebsd-x64@4.60.4': + '@rollup/rollup-freebsd-x64@4.61.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': + '@rollup/rollup-linux-arm-gnueabihf@4.61.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.4': + '@rollup/rollup-linux-arm-musleabihf@4.61.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.4': + '@rollup/rollup-linux-arm64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.4': + '@rollup/rollup-linux-arm64-musl@4.61.1': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.4': + '@rollup/rollup-linux-loong64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.4': + '@rollup/rollup-linux-loong64-musl@4.61.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.4': + '@rollup/rollup-linux-ppc64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.4': + '@rollup/rollup-linux-ppc64-musl@4.61.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.4': + '@rollup/rollup-linux-riscv64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.4': + '@rollup/rollup-linux-riscv64-musl@4.61.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.4': + '@rollup/rollup-linux-s390x-gnu@4.61.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.4': + '@rollup/rollup-linux-x64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-x64-musl@4.60.4': + '@rollup/rollup-linux-x64-musl@4.61.1': optional: true - '@rollup/rollup-openbsd-x64@4.60.4': + '@rollup/rollup-openbsd-x64@4.61.1': optional: true - '@rollup/rollup-openharmony-arm64@4.60.4': + '@rollup/rollup-openharmony-arm64@4.61.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.4': + '@rollup/rollup-win32-arm64-msvc@4.61.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.4': + '@rollup/rollup-win32-ia32-msvc@4.61.1': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.4': + '@rollup/rollup-win32-x64-gnu@4.61.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.4': + '@rollup/rollup-win32-x64-msvc@4.61.1': optional: true - '@scalar/helpers@0.5.2': {} - - '@scalar/helpers@0.8.0': {} - - '@scalar/json-magic@0.12.14': - dependencies: - '@scalar/helpers': 0.8.0 - pathe: 2.0.3 - yaml: 2.9.0 + '@scalar/helpers@0.8.1': {} - '@scalar/json-magic@0.12.8': + '@scalar/json-magic@0.12.15': dependencies: - '@scalar/helpers': 0.5.2 + '@scalar/helpers': 0.8.1 pathe: 2.0.3 yaml: 2.9.0 - '@scalar/openapi-parser@0.25.12': + '@scalar/openapi-parser@0.28.6': dependencies: - '@scalar/helpers': 0.5.2 - '@scalar/json-magic': 0.12.8 - '@scalar/openapi-types': 0.8.0 - '@scalar/openapi-upgrader': 0.2.6 + '@scalar/helpers': 0.8.1 + '@scalar/json-magic': 0.12.15 + '@scalar/openapi-types': 0.9.1 + '@scalar/openapi-upgrader': 0.2.9 ajv: 8.20.0 ajv-draft-04: 1.0.0(ajv@8.20.0) ajv-formats: 3.0.1(ajv@8.20.0) @@ -5266,45 +8468,51 @@ snapshots: '@scalar/openapi-types@0.8.0': {} - '@scalar/openapi-upgrader@0.2.6': + '@scalar/openapi-types@0.9.1': {} + + '@scalar/openapi-upgrader@0.2.9': dependencies: - '@scalar/openapi-types': 0.8.0 + '@scalar/openapi-types': 0.9.1 '@sec-ant/readable-stream@0.4.1': {} - '@sentry-internal/browser-utils@10.53.1': + '@sentry-internal/browser-utils@10.56.0': + dependencies: + '@sentry/core': 10.56.0 + + '@sentry-internal/feedback@10.56.0': dependencies: - '@sentry/core': 10.53.1 + '@sentry/core': 10.56.0 - '@sentry-internal/feedback@10.53.1': + '@sentry-internal/replay-canvas@10.56.0': dependencies: - '@sentry/core': 10.53.1 + '@sentry-internal/replay': 10.56.0 + '@sentry/core': 10.56.0 - '@sentry-internal/replay-canvas@10.53.1': + '@sentry-internal/replay@10.56.0': dependencies: - '@sentry-internal/replay': 10.53.1 - '@sentry/core': 10.53.1 + '@sentry-internal/browser-utils': 10.56.0 + '@sentry/core': 10.56.0 - '@sentry-internal/replay@10.53.1': + '@sentry-internal/server-utils@10.56.0': dependencies: - '@sentry-internal/browser-utils': 10.53.1 - '@sentry/core': 10.53.1 + '@sentry/core': 10.56.0 '@sentry/babel-plugin-component-annotate@5.3.0': {} - '@sentry/browser@10.53.1': + '@sentry/browser@10.56.0': dependencies: - '@sentry-internal/browser-utils': 10.53.1 - '@sentry-internal/feedback': 10.53.1 - '@sentry-internal/replay': 10.53.1 - '@sentry-internal/replay-canvas': 10.53.1 - '@sentry/core': 10.53.1 + '@sentry-internal/browser-utils': 10.56.0 + '@sentry-internal/feedback': 10.56.0 + '@sentry-internal/replay': 10.56.0 + '@sentry-internal/replay-canvas': 10.56.0 + '@sentry/core': 10.56.0 '@sentry/bundler-plugin-core@5.3.0': dependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.7 '@sentry/babel-plugin-component-annotate': 5.3.0 - '@sentry/cli': 2.58.5 + '@sentry/cli': 2.58.6 dotenv: 16.6.1 find-up: 5.0.0 glob: 13.0.6 @@ -5313,31 +8521,31 @@ snapshots: - encoding - supports-color - '@sentry/cli-darwin@2.58.5': + '@sentry/cli-darwin@2.58.6': optional: true - '@sentry/cli-linux-arm64@2.58.5': + '@sentry/cli-linux-arm64@2.58.6': optional: true - '@sentry/cli-linux-arm@2.58.5': + '@sentry/cli-linux-arm@2.58.6': optional: true - '@sentry/cli-linux-i686@2.58.5': + '@sentry/cli-linux-i686@2.58.6': optional: true - '@sentry/cli-linux-x64@2.58.5': + '@sentry/cli-linux-x64@2.58.6': optional: true - '@sentry/cli-win32-arm64@2.58.5': + '@sentry/cli-win32-arm64@2.58.6': optional: true - '@sentry/cli-win32-i686@2.58.5': + '@sentry/cli-win32-i686@2.58.6': optional: true - '@sentry/cli-win32-x64@2.58.5': + '@sentry/cli-win32-x64@2.58.6': optional: true - '@sentry/cli@2.58.5': + '@sentry/cli@2.58.6': dependencies: https-proxy-agent: 5.0.1 node-fetch: 2.7.0 @@ -5345,29 +8553,31 @@ snapshots: proxy-from-env: 1.1.0 which: 2.0.2 optionalDependencies: - '@sentry/cli-darwin': 2.58.5 - '@sentry/cli-linux-arm': 2.58.5 - '@sentry/cli-linux-arm64': 2.58.5 - '@sentry/cli-linux-i686': 2.58.5 - '@sentry/cli-linux-x64': 2.58.5 - '@sentry/cli-win32-arm64': 2.58.5 - '@sentry/cli-win32-i686': 2.58.5 - '@sentry/cli-win32-x64': 2.58.5 + '@sentry/cli-darwin': 2.58.6 + '@sentry/cli-linux-arm': 2.58.6 + '@sentry/cli-linux-arm64': 2.58.6 + '@sentry/cli-linux-i686': 2.58.6 + '@sentry/cli-linux-x64': 2.58.6 + '@sentry/cli-win32-arm64': 2.58.6 + '@sentry/cli-win32-i686': 2.58.6 + '@sentry/cli-win32-x64': 2.58.6 transitivePeerDependencies: - encoding - supports-color - '@sentry/cloudflare@10.53.1': + '@sentry/cloudflare@10.56.0(@cloudflare/workers-types@4.20260613.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@sentry/core': 10.53.1 + '@sentry/core': 10.56.0 + optionalDependencies: + '@cloudflare/workers-types': 4.20260613.1 - '@sentry/core@10.53.1': {} + '@sentry/core@10.56.0': {} - '@sentry/node-core@10.53.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)': + '@sentry/node-core@10.56.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)': dependencies: - '@sentry/core': 10.53.1 - '@sentry/opentelemetry': 10.53.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1) + '@sentry/core': 10.56.0 + '@sentry/opentelemetry': 10.56.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1) import-in-the-middle: 3.0.1 optionalDependencies: '@opentelemetry/api': 1.9.1 @@ -5376,80 +8586,61 @@ snapshots: '@opentelemetry/sdk-trace-base': 2.7.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.41.1 - '@sentry/node@10.53.1': + '@sentry/node@10.56.0': dependencies: - '@fastify/otel': 0.18.0(@opentelemetry/api@1.9.1) '@opentelemetry/api': 1.9.1 '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-amqplib': 0.61.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-connect': 0.57.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-dataloader': 0.31.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-fs': 0.33.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-generic-pool': 0.57.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-graphql': 0.62.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-hapi': 0.60.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-http': 0.214.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-kafkajs': 0.23.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-knex': 0.58.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-koa': 0.62.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-lru-memoizer': 0.58.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-mongodb': 0.67.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-mongoose': 0.60.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-mysql': 0.60.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-mysql2': 0.60.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-pg': 0.66.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation-tedious': 0.33.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-base': 2.7.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.41.1 - '@prisma/instrumentation': 7.6.0(@opentelemetry/api@1.9.1) - '@sentry/core': 10.53.1 - '@sentry/node-core': 10.53.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1) - '@sentry/opentelemetry': 10.53.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1) + '@sentry-internal/server-utils': 10.56.0 + '@sentry/core': 10.56.0 + '@sentry/node-core': 10.56.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1) + '@sentry/opentelemetry': 10.56.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1) import-in-the-middle: 3.0.1 transitivePeerDependencies: - '@opentelemetry/exporter-trace-otlp-http' - supports-color - '@sentry/opentelemetry@10.53.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)': + '@sentry/opentelemetry@10.56.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.1(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-base': 2.7.1(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.41.1 - '@sentry/core': 10.53.1 + '@sentry/core': 10.56.0 - '@sentry/rollup-plugin@5.3.0(rollup@4.60.4)': + '@sentry/rollup-plugin@5.3.0(rollup@4.61.1)': dependencies: '@sentry/bundler-plugin-core': 5.3.0 magic-string: 0.30.21 optionalDependencies: - rollup: 4.60.4 + rollup: 4.61.1 transitivePeerDependencies: - encoding - supports-color - '@sentry/svelte@10.53.1(svelte@5.55.7(@typescript-eslint/types@8.59.3))': + '@sentry/svelte@10.56.0(svelte@5.56.1(@typescript-eslint/types@8.60.1))': dependencies: - '@sentry/browser': 10.53.1 - '@sentry/core': 10.53.1 + '@sentry/browser': 10.56.0 + '@sentry/core': 10.56.0 magic-string: 0.30.21 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - '@sentry/sveltekit@10.53.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(rollup@4.60.4)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))': + '@sentry/sveltekit@10.56.0(@cloudflare/workers-types@4.20260613.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(rollup@4.61.1)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))': dependencies: - '@sentry/cloudflare': 10.53.1 - '@sentry/core': 10.53.1 - '@sentry/node': 10.53.1 - '@sentry/svelte': 10.53.1(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - '@sentry/vite-plugin': 5.3.0(rollup@4.60.4) - '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/kit': 2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + '@sentry/cloudflare': 10.56.0(@cloudflare/workers-types@4.20260613.1) + '@sentry/core': 10.56.0 + '@sentry/node': 10.56.0 + '@sentry/svelte': 10.56.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + '@sentry/vite-plugin': 5.3.0(rollup@4.61.1) + '@sveltejs/acorn-typescript': 1.0.10(acorn@8.16.0) + '@sveltejs/kit': 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) acorn: 8.16.0 magic-string: 0.30.21 sorcery: 1.0.0 optionalDependencies: - vite: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/exporter-trace-otlp-http' @@ -5458,10 +8649,10 @@ snapshots: - supports-color - svelte - '@sentry/vite-plugin@5.3.0(rollup@4.60.4)': + '@sentry/vite-plugin@5.3.0(rollup@4.61.1)': dependencies: '@sentry/bundler-plugin-core': 5.3.0 - '@sentry/rollup-plugin': 5.3.0(rollup@4.60.4) + '@sentry/rollup-plugin': 5.3.0(rollup@4.61.1) transitivePeerDependencies: - encoding - rollup @@ -5504,27 +8695,38 @@ snapshots: '@simple-libs/stream-utils@1.2.0': {} + '@sindresorhus/is@7.2.0': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@speed-highlight/core@1.2.17': {} + '@standard-schema/spec@1.1.0': {} - '@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)': + '@sveltejs/acorn-typescript@1.0.10(acorn@8.16.0)': dependencies: acorn: 8.16.0 - '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))': + '@sveltejs/adapter-cloudflare@7.2.8(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(wrangler@4.100.0(@cloudflare/workers-types@4.20260613.1))': + dependencies: + '@cloudflare/workers-types': 4.20260613.1 + '@sveltejs/kit': 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + worktop: 0.8.0-next.18 + wrangler: 4.100.0(@cloudflare/workers-types@4.20260613.1) + + '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))': dependencies: - '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.4) - '@rollup/plugin-json': 6.1.0(rollup@4.60.4) - '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.4) - '@sveltejs/kit': 2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) - rollup: 4.60.4 + '@rollup/plugin-commonjs': 29.0.3(rollup@4.61.1) + '@rollup/plugin-json': 6.1.0(rollup@4.61.1) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.61.1) + '@sveltejs/kit': 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + rollup: 4.61.1 - '@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))': + '@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@standard-schema/spec': 1.1.0 - '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + '@sveltejs/acorn-typescript': 1.0.10(acorn@8.16.0) + '@sveltejs/vite-plugin-svelte': 7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -5535,36 +8737,35 @@ snapshots: mrmime: 2.0.1 set-cookie-parser: 3.1.0 sirv: 3.0.2 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - vite: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) optionalDependencies: '@opentelemetry/api': 1.9.1 typescript: 6.0.3 - '@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))': + '@sveltejs/load-config@0.1.1': {} + + '@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))': dependencies: deepmerge: 4.3.1 magic-string: 0.30.21 - obug: 2.1.1 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - vite: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) - vitefu: 1.1.3(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + obug: 2.1.2 + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) + vitefu: 1.1.3(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) - '@svitejs/changesets-changelog-github-compact@1.2.0': + '@swc/helpers@0.5.15': dependencies: - '@changesets/get-github-info': 0.6.0 - dotenv: 16.6.1 - transitivePeerDependencies: - - encoding + tslib: 2.8.1 - '@swc/helpers@0.5.21': + '@swc/helpers@0.5.23': dependencies: tslib: 2.8.1 '@tailwindcss/node@4.3.0': dependencies: '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.21.3 + enhanced-resolve: 5.22.2 jiti: 2.7.0 lightningcss: 1.32.0 magic-string: 0.30.21 @@ -5622,84 +8823,104 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 - '@tailwindcss/vite@4.3.0(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))': + '@tailwindcss/vite@4.3.0(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.3.0 '@tailwindcss/oxide': 4.3.0 tailwindcss: 4.3.0 - vite: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) - '@takumi-rs/core-darwin-arm64@1.1.2': + '@takumi-rs/core-darwin-arm64@1.7.0': optional: true - '@takumi-rs/core-darwin-x64@1.1.2': + '@takumi-rs/core-darwin-x64@1.7.0': optional: true - '@takumi-rs/core-linux-arm64-gnu@1.1.2': + '@takumi-rs/core-linux-arm64-gnu@1.7.0': optional: true - '@takumi-rs/core-linux-arm64-musl@1.1.2': + '@takumi-rs/core-linux-arm64-musl@1.7.0': optional: true - '@takumi-rs/core-linux-x64-gnu@1.1.2': + '@takumi-rs/core-linux-x64-gnu@1.7.0': optional: true - '@takumi-rs/core-linux-x64-musl@1.1.2': + '@takumi-rs/core-linux-x64-musl@1.7.0': optional: true - '@takumi-rs/core-win32-arm64-msvc@1.1.2': + '@takumi-rs/core-win32-arm64-msvc@1.7.0': optional: true - '@takumi-rs/core-win32-x64-msvc@1.1.2': + '@takumi-rs/core-win32-x64-msvc@1.7.0': optional: true - '@takumi-rs/core@1.1.2': + '@takumi-rs/core@1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@takumi-rs/helpers': 1.1.2 + '@takumi-rs/helpers': 1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) optionalDependencies: - '@takumi-rs/core-darwin-arm64': 1.1.2 - '@takumi-rs/core-darwin-x64': 1.1.2 - '@takumi-rs/core-linux-arm64-gnu': 1.1.2 - '@takumi-rs/core-linux-arm64-musl': 1.1.2 - '@takumi-rs/core-linux-x64-gnu': 1.1.2 - '@takumi-rs/core-linux-x64-musl': 1.1.2 - '@takumi-rs/core-win32-arm64-msvc': 1.1.2 - '@takumi-rs/core-win32-x64-msvc': 1.1.2 + '@takumi-rs/core-darwin-arm64': 1.7.0 + '@takumi-rs/core-darwin-x64': 1.7.0 + '@takumi-rs/core-linux-arm64-gnu': 1.7.0 + '@takumi-rs/core-linux-arm64-musl': 1.7.0 + '@takumi-rs/core-linux-x64-gnu': 1.7.0 + '@takumi-rs/core-linux-x64-musl': 1.7.0 + '@takumi-rs/core-win32-arm64-msvc': 1.7.0 + '@takumi-rs/core-win32-x64-msvc': 1.7.0 transitivePeerDependencies: - react - react-dom - '@takumi-rs/helpers@1.1.2': {} + '@takumi-rs/helpers@1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + optionalDependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) - '@takumi-rs/wasm@1.1.2': + '@takumi-rs/wasm@1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@takumi-rs/helpers': 1.1.2 + '@takumi-rs/helpers': 1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) transitivePeerDependencies: - react - react-dom - '@testing-library/svelte-core@1.0.0(svelte@5.55.7(@typescript-eslint/types@8.59.3))': + '@testing-library/svelte-core@1.0.0(svelte@5.56.1(@typescript-eslint/types@8.60.1))': + dependencies: + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + + '@tokenizer/inflate@0.4.1': dependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + debug: 4.4.3 + token-types: 6.1.2 + transitivePeerDependencies: + - supports-color + + '@tokenizer/token@0.3.0': {} '@tybys/wasm-util@0.10.2': dependencies: tslib: 2.8.1 optional: true + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.9 + + '@types/busboy@1.5.4': + dependencies: + '@types/node': 25.9.1 + '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - '@types/connect@3.4.38': - dependencies: - '@types/node': 25.8.0 - '@types/cookie@0.6.0': {} '@types/culori@4.0.1': {} + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + '@types/deep-eql@4.0.2': {} '@types/eslint@9.6.1': @@ -5709,7 +8930,9 @@ snapshots: '@types/esrecurse@4.3.1': {} - '@types/estree@1.0.8': {} + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.9 '@types/estree@1.0.9': {} @@ -5719,25 +8942,29 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/mysql@2.15.27': + '@types/lodash@4.17.24': {} + + '@types/mdast@4.0.4': dependencies: - '@types/node': 25.8.0 + '@types/unist': 3.0.3 + + '@types/ms@2.1.0': {} '@types/node@12.20.55': {} - '@types/node@25.8.0': + '@types/node@25.9.1': dependencies: undici-types: 7.24.6 - '@types/pg-pool@2.0.7': + '@types/parse-json@4.0.2': {} + + '@types/react-transition-group@4.4.12(@types/react@19.2.16)': dependencies: - '@types/pg': 8.15.6 + '@types/react': 19.2.16 - '@types/pg@8.15.6': + '@types/react@19.2.16': dependencies: - '@types/node': 25.8.0 - pg-protocol: 1.13.0 - pg-types: 2.2.0 + csstype: 3.2.3 '@types/relaxed-json@1.0.4': {} @@ -5745,10 +8972,6 @@ snapshots: '@types/stats.js@0.17.4': {} - '@types/tedious@4.0.14': - dependencies: - '@types/node': 25.8.0 - '@types/three@0.156.0': dependencies: '@types/stats.js': 0.17.4 @@ -5758,6 +8981,8 @@ snapshots: '@types/trusted-types@2.0.7': {} + '@types/unist@2.0.11': {} + '@types/unist@3.0.3': {} '@types/upng-js@2.1.5': {} @@ -5767,6 +8992,12 @@ snapshots: '@types/webxr@0.5.24': {} + '@types/whatwg-mimetype@3.0.2': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 25.9.1 + '@typeschema/class-validator@0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.4)': dependencies: '@typeschema/core': 0.14.0(@types/json-schema@7.0.15) @@ -5781,15 +9012,15 @@ snapshots: '@types/json-schema': 7.0.15 optional: true - '@typescript-eslint/eslint-plugin@8.59.3(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.60.1(@typescript-eslint/parser@8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.59.3 - '@typescript-eslint/type-utils': 8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.59.3 - eslint: 10.3.0(jiti@2.7.0) + '@typescript-eslint/parser': 8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/type-utils': 8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.60.1 + eslint: 10.4.1(jiti@2.7.0) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) @@ -5797,84 +9028,84 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/parser@8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.59.3 - '@typescript-eslint/types': 8.59.3 - '@typescript-eslint/typescript-estree': 8.59.3(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.59.3 + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.60.1 debug: 4.4.3 - eslint: 10.3.0(jiti@2.7.0) + eslint: 10.4.1(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.59.3(typescript@6.0.3)': + '@typescript-eslint/project-service@8.60.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.59.3(typescript@6.0.3) - '@typescript-eslint/types': 8.59.3 + '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@6.0.3) + '@typescript-eslint/types': 8.60.1 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.59.3': + '@typescript-eslint/scope-manager@8.60.1': dependencies: - '@typescript-eslint/types': 8.59.3 - '@typescript-eslint/visitor-keys': 8.59.3 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/visitor-keys': 8.60.1 - '@typescript-eslint/tsconfig-utils@8.59.3(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.60.1(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.59.3 - '@typescript-eslint/typescript-estree': 8.59.3(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) debug: 4.4.3 - eslint: 10.3.0(jiti@2.7.0) + eslint: 10.4.1(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.59.3': {} + '@typescript-eslint/types@8.60.1': {} - '@typescript-eslint/typescript-estree@8.59.3(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.60.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.59.3(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.59.3(typescript@6.0.3) - '@typescript-eslint/types': 8.59.3 - '@typescript-eslint/visitor-keys': 8.59.3 + '@typescript-eslint/project-service': 8.60.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@6.0.3) + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/visitor-keys': 8.60.1 debug: 4.4.3 minimatch: 10.2.5 - semver: 7.8.0 - tinyglobby: 0.2.16 + semver: 7.8.2 + tinyglobby: 0.2.17 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/utils@8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.3.0(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.59.3 - '@typescript-eslint/types': 8.59.3 - '@typescript-eslint/typescript-estree': 8.59.3(typescript@6.0.3) - eslint: 10.3.0(jiti@2.7.0) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.1(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@6.0.3) + eslint: 10.4.1(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.59.3': + '@typescript-eslint/visitor-keys@8.60.1': dependencies: - '@typescript-eslint/types': 8.59.3 + '@typescript-eslint/types': 8.60.1 eslint-visitor-keys: 5.0.1 - '@valibot/to-json-schema@1.7.0(valibot@1.4.0(typescript@6.0.3))': + '@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@6.0.3))': dependencies: - valibot: 1.4.0(typescript@6.0.3) + valibot: 1.4.1(typescript@6.0.3) optional: true '@vinejs/compiler@3.0.0': @@ -5886,107 +9117,107 @@ snapshots: '@types/validator': 13.15.10 '@vinejs/compiler': 3.0.0 camelcase: 8.0.0 - dayjs: 1.11.20 + dayjs: 1.11.21 dlv: 1.1.3 normalize-url: 8.1.1 validator: 13.15.35 optional: true - '@vitest/browser-playwright@4.1.6(playwright@1.60.0)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))(vitest@4.1.6)': + '@vitest/browser-playwright@4.1.8(playwright@1.60.0)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8)': dependencies: - '@vitest/browser': 4.1.6(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))(vitest@4.1.6) - '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + '@vitest/browser': 4.1.8(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8) + '@vitest/mocker': 4.1.8(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) playwright: 1.60.0 tinyrainbow: 3.1.0 - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.8.0)(@vitest/browser-playwright@4.1.6)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.1.6(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))(vitest@4.1.6)': + '@vitest/browser@4.1.8(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8)': dependencies: '@blazediff/core': 1.9.1 - '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) - '@vitest/utils': 4.1.6 + '@vitest/mocker': 4.1.8(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + '@vitest/utils': 4.1.8 magic-string: 0.30.21 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.0 - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.8.0)(@vitest/browser-playwright@4.1.6)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) - ws: 8.20.1 + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + ws: 8.21.0 transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/coverage-v8@4.1.6(@vitest/browser@4.1.6)(vitest@4.1.6)': + '@vitest/coverage-v8@4.1.8(@vitest/browser@4.1.8)(vitest@4.1.8)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.1.6 - ast-v8-to-istanbul: 1.0.0 + '@vitest/utils': 4.1.8 + ast-v8-to-istanbul: 1.0.3 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.2.0 magicast: 0.5.3 - obug: 2.1.1 + obug: 2.1.2 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.8.0)(@vitest/browser-playwright@4.1.6)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) optionalDependencies: - '@vitest/browser': 4.1.6(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))(vitest@4.1.6) + '@vitest/browser': 4.1.8(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8) - '@vitest/expect@4.1.6': + '@vitest/expect@4.1.8': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.1.6 - '@vitest/utils': 4.1.6 + '@vitest/spy': 4.1.8 + '@vitest/utils': 4.1.8 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))': + '@vitest/mocker@4.1.8(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.6 + '@vitest/spy': 4.1.8 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) - '@vitest/pretty-format@4.1.6': + '@vitest/pretty-format@4.1.8': dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.6': + '@vitest/runner@4.1.8': dependencies: - '@vitest/utils': 4.1.6 + '@vitest/utils': 4.1.8 pathe: 2.0.3 - '@vitest/snapshot@4.1.6': + '@vitest/snapshot@4.1.8': dependencies: - '@vitest/pretty-format': 4.1.6 - '@vitest/utils': 4.1.6 + '@vitest/pretty-format': 4.1.8 + '@vitest/utils': 4.1.8 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.6': {} + '@vitest/spy@4.1.8': {} - '@vitest/ui@4.1.6(vitest@4.1.6)': + '@vitest/ui@4.1.8(vitest@4.1.8)': dependencies: - '@vitest/utils': 4.1.6 - fflate: 0.8.2 + '@vitest/utils': 4.1.8 + fflate: 0.8.3 flatted: 3.4.2 pathe: 2.0.3 sirv: 3.0.2 - tinyglobby: 0.2.16 + tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.8.0)(@vitest/browser-playwright@4.1.6)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) - '@vitest/utils@4.1.6': + '@vitest/utils@4.1.8': dependencies: - '@vitest/pretty-format': 4.1.6 + '@vitest/pretty-format': 4.1.8 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 @@ -6021,6 +9252,13 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.18.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.2 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 @@ -6036,6 +9274,11 @@ snapshots: ansi-styles@6.2.3: {} + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.2 + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -6062,62 +9305,244 @@ snapshots: assertion-error@2.0.1: {} - ast-v8-to-istanbul@1.0.0: + ast-v8-to-istanbul@1.0.3: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 js-tokens: 10.0.0 + atomic-sleep@1.0.0: {} + + auth@1.6.14(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(better-call@1.3.5(zod@4.4.3))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9))(jose@6.2.3)(kysely@0.28.17)(magicast@0.5.3)(nanostores@1.3.0)(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8): + dependencies: + '@babel/core': 7.29.7 + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/telemetry': 1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21) + '@better-auth/utils': 0.4.1 + '@clack/prompts': 0.11.0 + '@mrleebo/prisma-ast': 0.13.1 + better-auth: 1.6.14(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9))(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8) + c12: 3.3.4(magicast@0.5.3) + chalk: 5.6.2 + commander: 12.1.0 + dotenv: 17.4.2 + get-tsconfig: 4.14.0 + open: 10.2.0 + prettier: 3.8.3 + prompts: 2.4.2 + semver: 7.8.2 + yocto-spinner: 0.2.3 + zod: 4.4.3 + transitivePeerDependencies: + - '@better-fetch/fetch' + - '@cloudflare/workers-types' + - '@lynx-js/react' + - '@opentelemetry/api' + - '@prisma/client' + - '@sveltejs/kit' + - '@tanstack/react-start' + - '@tanstack/solid-start' + - better-call + - better-sqlite3 + - drizzle-kit + - drizzle-orm + - jose + - kysely + - magicast + - mongodb + - mysql2 + - nanostores + - next + - pg + - prisma + - react + - react-dom + - solid-js + - supports-color + - svelte + - vitest + - vue + axobject-query@4.1.0: {} + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.29.7 + cosmiconfig: 7.1.0 + resolve: 1.22.12 + balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.33: {} + + better-auth@1.6.14(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9))(next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8): + dependencies: + '@better-auth/core': 1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) + '@better-auth/drizzle-adapter': 1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9)) + '@better-auth/kysely-adapter': 1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)(kysely@0.28.17) + '@better-auth/memory-adapter': 1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1) + '@better-auth/mongo-adapter': 1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1) + '@better-auth/prisma-adapter': 1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1) + '@better-auth/telemetry': 1.6.14(@better-auth/core@1.6.14(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(better-call@1.3.5(zod@4.4.3))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.1.21) + '@better-auth/utils': 0.4.1 + '@better-fetch/fetch': 1.1.21 + '@noble/ciphers': 2.2.0 + '@noble/hashes': 2.2.0 + better-call: 1.3.5(zod@4.4.3) + defu: 6.1.7 + jose: 6.2.3 + kysely: 0.28.17 + nanostores: 1.3.0 + zod: 4.4.3 + optionalDependencies: + '@sveltejs/kit': 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + drizzle-kit: 0.31.10 + drizzle-orm: 0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9) + next: 16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + transitivePeerDependencies: + - '@cloudflare/workers-types' + - '@opentelemetry/api' + + better-call@1.3.5(zod@4.4.3): + dependencies: + '@better-auth/utils': 0.4.1 + '@better-fetch/fetch': 1.1.21 + rou3: 0.7.12 + set-cookie-parser: 3.1.0 + optionalDependencies: + zod: 4.4.3 better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 - bits-ui@2.18.1(@internationalized/date@3.12.1)(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + binary-extensions@2.3.0: {} + + bits-ui@2.18.1(@internationalized/date@3.12.1)(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: '@floating-ui/core': 1.7.5 '@floating-ui/dom': 1.7.6 '@internationalized/date': 3.12.1 esm-env: 1.2.2 - runed: 0.35.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - svelte-toolbelt: 0.10.6(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + runed: 0.35.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + svelte-toolbelt: 0.10.6(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1)) tabbable: 6.4.0 transitivePeerDependencies: - '@sveltejs/kit' + blake3-wasm@2.1.5: {} + + body-scroll-lock@4.0.0-beta.0: {} + brace-expansion@5.0.6: dependencies: balanced-match: 4.0.4 braces@3.0.3: dependencies: - fill-range: 7.1.1 + fill-range: 7.1.1 + + browserslist@4.28.2: + dependencies: + baseline-browser-mapping: 2.10.33 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.367 + node-releases: 2.0.47 + update-browserslist-db: 1.2.3(browserslist@4.28.2) + + bson-objectid@2.0.4: {} + + buffer-from@1.1.2: {} + + buffer-image-size@0.6.4: + dependencies: + '@types/node': 25.9.1 + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 - browserslist@4.28.2: + c12@3.3.4(magicast@0.5.3): dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.356 - node-releases: 2.0.44 - update-browserslist-db: 1.2.3(browserslist@4.28.2) + chokidar: 5.0.0 + confbox: 0.2.4 + defu: 6.1.7 + dotenv: 17.4.2 + exsolve: 1.0.8 + giget: 3.2.0 + jiti: 2.7.0 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + rc9: 3.0.1 + optionalDependencies: + magicast: 0.5.3 callsites@3.1.0: {} camelcase@8.0.0: optional: true - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} + + ccount@2.0.1: {} chai@6.2.2: {} + chalk@5.6.2: {} + + changesets-changelog-clean@1.4.0: + dependencies: + '@changesets/get-github-info': 0.8.0 + '@changesets/types': 6.1.0 + transitivePeerDependencies: + - encoding + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + chardet@2.1.1: {} + charenc@0.0.2: {} + + chevrotain@10.5.0: + dependencies: + '@chevrotain/cst-dts-gen': 10.5.0 + '@chevrotain/gast': 10.5.0 + '@chevrotain/types': 10.5.0 + '@chevrotain/utils': 10.5.0 + lodash: 4.17.21 + regexp-to-ast: 0.5.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -6126,15 +9551,19 @@ snapshots: dependencies: readdirp: 5.0.0 + ci-info@4.4.0: {} + cjs-module-lexer@2.2.0: {} class-validator@0.14.4: dependencies: '@types/validator': 13.15.10 - libphonenumber-js: 1.13.2 + libphonenumber-js: 1.13.5 validator: 13.15.35 optional: true + client-only@0.0.1: {} + cliui@9.0.1: dependencies: string-width: 7.2.0 @@ -6143,8 +9572,14 @@ snapshots: clsx@2.1.1: {} + colorette@2.0.20: {} + + commander@12.1.0: {} + commander@14.0.3: {} + commander@2.20.3: {} + commondir@1.0.1: {} compare-func@2.0.0: @@ -6154,6 +9589,12 @@ snapshots: compare-versions@6.1.1: {} + confbox@0.2.4: {} + + console-table-printer@2.12.1: + dependencies: + simple-wcswidth: 1.1.2 + conventional-changelog-angular@8.3.1: dependencies: compare-func: 2.0.0 @@ -6167,59 +9608,110 @@ snapshots: '@simple-libs/stream-utils': 1.2.0 meow: 13.2.0 + convert-source-map@1.9.0: {} + convert-source-map@2.0.0: {} cookie@0.6.0: {} - cosmiconfig-typescript-loader@6.3.0(@types/node@25.8.0)(cosmiconfig@9.0.1(typescript@6.0.3))(typescript@6.0.3): + cookie@1.1.1: {} + + cosmiconfig-typescript-loader@6.3.0(@types/node@25.9.1)(cosmiconfig@9.0.1(typescript@6.0.3))(typescript@6.0.3): dependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.1 cosmiconfig: 9.0.1(typescript@6.0.3) jiti: 2.6.1 typescript: 6.0.3 + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.1 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.3 + cosmiconfig@9.0.1(typescript@6.0.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.2.0 parse-json: 5.2.0 optionalDependencies: typescript: 6.0.3 + croner@10.0.1: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + crypt@0.0.2: {} + cssesc@3.0.0: {} + cssfilter@0.0.10: {} + + csstype@3.1.3: {} + + csstype@3.2.3: {} + culori@4.0.2: {} dataloader@1.4.0: {} + dataloader@2.2.3: {} + + date-fns@3.6.0: {} + date-fns@4.1.0: {} - dayjs@1.11.20: + date-fns@4.4.0: {} + + dateformat@4.6.3: {} + + dayjs@1.11.21: optional: true debug@4.4.3: dependencies: ms: 2.1.3 + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + deep-is@0.1.4: {} deepmerge@4.3.1: {} + default-browser-id@5.0.1: {} + + default-browser@5.5.0: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + define-lazy-prop@3.0.0: {} + + defu@6.1.7: {} + dequal@2.0.3: {} + destr@2.0.5: {} + detect-indent@6.1.0: {} detect-libc@2.1.2: {} devalue@5.8.1: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -6227,6 +9719,15 @@ snapshots: dlv@1.1.3: optional: true + dom-helpers@5.2.1: + dependencies: + '@babel/runtime': 7.29.7 + csstype: 3.2.3 + + dompurify@3.2.7: + optionalDependencies: + '@types/trusted-types': 2.0.7 + dot-prop@5.3.0: dependencies: is-obj: 2.0.0 @@ -6246,17 +9747,35 @@ snapshots: dotenv@17.4.2: {} + drizzle-kit@0.31.10: + dependencies: + '@drizzle-team/brocli': 0.10.2 + '@esbuild-kit/esm-loader': 2.6.5 + esbuild: 0.25.12 + tsx: 4.22.4 + + drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260613.1)(@opentelemetry/api@1.9.1)(kysely@0.28.17)(postgres@3.4.9): + optionalDependencies: + '@cloudflare/workers-types': 4.20260613.1 + '@opentelemetry/api': 1.9.1 + kysely: 0.28.17 + postgres: 3.4.9 + effect@3.21.2: dependencies: '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 optional: true - electron-to-chromium@1.5.356: {} + electron-to-chromium@1.5.367: {} emoji-regex@10.6.0: {} - enhanced-resolve@5.21.3: + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + enhanced-resolve@5.22.2: dependencies: graceful-fs: 4.2.11 tapable: 2.3.3 @@ -6268,17 +9787,104 @@ snapshots: entities@4.5.0: {} + entities@7.0.1: {} + env-paths@2.2.1: {} error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 + error-stack-parser-es@1.0.5: {} + es-errors@1.3.0: {} es-module-lexer@2.1.0: {} - es-toolkit@1.46.1: {} + es-toolkit@1.47.0: {} + + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + esbuild@0.27.3: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 esbuild@0.27.7: optionalDependencies: @@ -6309,29 +9915,60 @@ snapshots: '@esbuild/win32-ia32': 0.27.7 '@esbuild/win32-x64': 0.27.7 + esbuild@0.28.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.0 + '@esbuild/android-arm': 0.28.0 + '@esbuild/android-arm64': 0.28.0 + '@esbuild/android-x64': 0.28.0 + '@esbuild/darwin-arm64': 0.28.0 + '@esbuild/darwin-x64': 0.28.0 + '@esbuild/freebsd-arm64': 0.28.0 + '@esbuild/freebsd-x64': 0.28.0 + '@esbuild/linux-arm': 0.28.0 + '@esbuild/linux-arm64': 0.28.0 + '@esbuild/linux-ia32': 0.28.0 + '@esbuild/linux-loong64': 0.28.0 + '@esbuild/linux-mips64el': 0.28.0 + '@esbuild/linux-ppc64': 0.28.0 + '@esbuild/linux-riscv64': 0.28.0 + '@esbuild/linux-s390x': 0.28.0 + '@esbuild/linux-x64': 0.28.0 + '@esbuild/netbsd-arm64': 0.28.0 + '@esbuild/netbsd-x64': 0.28.0 + '@esbuild/openbsd-arm64': 0.28.0 + '@esbuild/openbsd-x64': 0.28.0 + '@esbuild/openharmony-arm64': 0.28.0 + '@esbuild/sunos-x64': 0.28.0 + '@esbuild/win32-arm64': 0.28.0 + '@esbuild/win32-ia32': 0.28.0 + '@esbuild/win32-x64': 0.28.0 + escalade@3.2.0: {} + escape-html@1.0.3: {} + escape-string-regexp@4.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.3.0(jiti@2.7.0)): + eslint-config-prettier@10.1.8(eslint@10.4.1(jiti@2.7.0)): dependencies: - eslint: 10.3.0(jiti@2.7.0) + eslint: 10.4.1(jiti@2.7.0) - eslint-plugin-svelte@3.17.1(eslint@10.3.0(jiti@2.7.0))(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + eslint-plugin-svelte@3.19.0(eslint@10.4.1(jiti@2.7.0))(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.3.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.1(jiti@2.7.0)) '@jridgewell/sourcemap-codec': 1.5.5 - eslint: 10.3.0(jiti@2.7.0) + eslint: 10.4.1(jiti@2.7.0) esutils: 2.0.3 globals: 16.5.0 known-css-properties: 0.37.0 - postcss: 8.5.14 - postcss-load-config: 3.1.4(postcss@8.5.14) - postcss-safe-parser: 7.0.1(postcss@8.5.14) - semver: 7.8.0 - svelte-eslint-parser: 1.6.1(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + postcss: 8.5.15 + postcss-load-config: 3.1.4(postcss@8.5.15) + postcss-safe-parser: 7.0.1(postcss@8.5.15) + semver: 7.8.2 + svelte-eslint-parser: 1.8.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) optionalDependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) transitivePeerDependencies: - ts-node @@ -6353,14 +9990,14 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.3.0(jiti@2.7.0): + eslint@10.4.1(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.3.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.1(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.5.5 + '@eslint/config-helpers': 0.6.0 '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.7.1 + '@eslint/plugin-kit': 0.7.2 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 @@ -6410,11 +10047,11 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@2.2.8(@typescript-eslint/types@8.59.3): + esrap@2.2.11(@typescript-eslint/types@8.60.1): dependencies: '@jridgewell/sourcemap-codec': 1.5.5 optionalDependencies: - '@typescript-eslint/types': 8.59.3 + '@typescript-eslint/types': 8.60.1 esrecurse@4.3.0: dependencies: @@ -6422,6 +10059,13 @@ snapshots: estraverse@5.3.0: {} + estree-util-is-identifier-name@3.0.0: {} + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + estree-walker@2.0.2: {} estree-walker@3.0.3: @@ -6447,6 +10091,8 @@ snapshots: expect-type@1.3.0: {} + exsolve@1.0.8: {} + extendable-error@0.1.7: {} fast-check@3.23.2: @@ -6454,6 +10100,8 @@ snapshots: pure-rand: 6.1.0 optional: true + fast-copy@3.0.2: {} + fast-deep-equal@3.1.3: {} fast-glob@3.3.3: @@ -6468,6 +10116,8 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-safe-stringify@2.1.1: {} + fast-uri@3.1.2: {} fastq@1.20.1: @@ -6480,7 +10130,7 @@ snapshots: fflate@0.6.10: {} - fflate@0.8.2: {} + fflate@0.8.3: {} figures@6.1.0: dependencies: @@ -6490,10 +10140,21 @@ snapshots: dependencies: flat-cache: 4.0.1 + file-type@21.3.4: + dependencies: + '@tokenizer/inflate': 0.4.1 + strtok3: 10.3.5 + token-types: 6.1.2 + uint8array-extras: 1.5.0 + transitivePeerDependencies: + - supports-color + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + find-root@1.1.0: {} + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -6516,13 +10177,15 @@ snapshots: flatted@3.4.2: {} - formsnap@2.0.1(svelte@5.55.7(@typescript-eslint/types@8.59.3))(sveltekit-superforms@2.30.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)): + focus-trap@7.5.4: dependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - svelte-toolbelt: 0.5.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - sveltekit-superforms: 2.30.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3) + tabbable: 6.4.0 - forwarded-parse@2.1.2: {} + formsnap@2.0.1(svelte@5.56.1(@typescript-eslint/types@8.60.1))(sveltekit-superforms@2.30.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)): + dependencies: + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + svelte-toolbelt: 0.5.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + sveltekit-superforms: 2.30.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3) fs-extra@11.3.5: dependencies: @@ -6565,6 +10228,12 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 + + giget@3.2.0: {} + git-raw-commits@5.0.1(conventional-commits-parser@6.4.0): dependencies: '@conventional-changelog/git-client': 2.7.0(conventional-commits-parser@6.4.0) @@ -6606,27 +10275,54 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - globby@16.1.0: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - fast-glob: 3.3.3 - ignore: 7.0.5 - is-path-inside: 4.0.0 - slash: 5.1.0 - unicorn-magic: 0.4.0 - globrex@0.1.2: {} graceful-fs@4.2.11: {} + graphql-http@1.22.4(graphql@16.14.1): + dependencies: + graphql: 16.14.1 + + graphql-playground-html@1.6.30: + dependencies: + xss: 1.0.15 + + graphql-scalars@1.22.2(graphql@16.14.1): + dependencies: + graphql: 16.14.1 + tslib: 2.8.1 + + graphql@16.14.1: {} + + happy-dom@20.10.1: + dependencies: + '@types/node': 25.9.1 + '@types/whatwg-mimetype': 3.0.2 + '@types/ws': 8.18.1 + buffer-image-size: 0.6.4 + entities: 7.0.1 + whatwg-mimetype: 3.0.0 + ws: 8.21.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + has-flag@4.0.0: {} - hasown@2.0.3: + hasown@2.0.4: dependencies: function-bind: 1.1.2 + help-me@5.0.0: {} + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + html-escaper@2.0.2: {} + http-status@2.1.0: {} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -6634,7 +10330,7 @@ snapshots: transitivePeerDependencies: - supports-color - human-id@4.1.3: {} + human-id@4.2.0: {} human-signals@8.0.1: {} @@ -6642,22 +10338,21 @@ snapshots: dependencies: safer-buffer: 2.1.2 + ieee754@1.2.1: {} + ignore@5.3.2: {} ignore@7.0.5: {} + image-size@2.0.2: {} + + immutable@4.3.8: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - import-in-the-middle@2.0.6: - dependencies: - acorn: 8.16.0 - acorn-import-attributes: 1.9.5(acorn@8.16.0) - cjs-module-lexer: 2.2.0 - module-details-from-path: 1.0.4 - import-in-the-middle@3.0.1: dependencies: acorn: 8.16.0 @@ -6671,11 +10366,30 @@ snapshots: inline-style-parser@0.2.7: {} + ipaddr.js@2.2.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + is-arrayish@0.2.1: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@1.1.6: {} + is-core-module@2.16.2: dependencies: - hasown: 2.0.3 + hasown: 2.0.4 + + is-decimal@2.0.1: {} + + is-docker@3.0.0: {} is-extglob@2.1.1: {} @@ -6683,14 +10397,18 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-hexadecimal@2.0.1: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + is-module@1.0.0: {} is-number@7.0.0: {} is-obj@2.0.0: {} - is-path-inside@4.0.0: {} - is-plain-obj@4.1.0: {} is-reference@1.2.1: @@ -6711,8 +10429,14 @@ snapshots: is-windows@1.0.2: {} + is-wsl@3.1.1: + dependencies: + is-inside-container: 1.0.0 + isexe@2.0.0: {} + isomorphic.js@0.2.5: {} + istanbul-lib-coverage@3.2.2: {} istanbul-lib-report@3.0.1: @@ -6739,6 +10463,12 @@ snapshots: '@sideway/pinpoint': 2.0.0 optional: true + jose@5.10.0: {} + + jose@6.2.3: {} + + joycon@3.1.1: {} + js-tokens@10.0.0: {} js-tokens@4.0.0: {} @@ -6752,6 +10482,10 @@ snapshots: dependencies: argparse: 2.0.1 + js-yaml@4.2.0: + dependencies: + argparse: 2.0.1 + jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -6760,10 +10494,22 @@ snapshots: json-schema-to-ts@3.1.1: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 ts-algebra: 2.0.0 optional: true + json-schema-to-typescript@15.0.3: + dependencies: + '@apidevtools/json-schema-ref-parser': 11.9.3 + '@types/json-schema': 7.0.15 + '@types/lodash': 4.17.24 + is-glob: 4.0.3 + js-yaml: 4.2.0 + lodash: 4.18.1 + minimist: 1.2.8 + prettier: 3.8.3 + tinyglobby: 0.2.17 + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -6784,16 +10530,22 @@ snapshots: jsonpointer@5.0.1: {} + jsox@1.2.121: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 + kleur@3.0.3: {} + kleur@4.1.5: {} known-css-properties@0.37.0: {} ky@2.0.2: {} + kysely@0.28.17: {} + leven@4.1.0: {} levn@0.4.1: @@ -6801,7 +10553,13 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - libphonenumber-js@1.13.2: + lexical@0.41.0: {} + + lib0@0.2.117: + dependencies: + isomorphic.js: 0.2.5 + + libphonenumber-js@1.13.5: optional: true lightningcss-android-arm64@1.32.0: @@ -6853,78 +10611,334 @@ snapshots: lightningcss-win32-arm64-msvc: 1.32.0 lightningcss-win32-x64-msvc: 1.32.0 - lilconfig@2.1.0: {} + lilconfig@2.1.0: {} + + lines-and-columns@1.2.4: {} + + linkify-it@5.0.1: + dependencies: + uc.micro: 2.1.0 + + locate-character@3.0.0: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@8.0.0: + dependencies: + p-locate: 6.0.0 + + lodash.startcase@4.4.0: {} + + lodash@4.17.21: {} + + lodash@4.18.1: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@11.5.1: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr@2.3.9: {} + + lz-string@1.5.0: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + magicast@0.5.3: + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + source-map-js: 1.2.1 + + make-dir@4.0.0: + dependencies: + semver: 7.8.2 + + markdown-it@14.2.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.1 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + marked@14.0.0: {} + + md5@2.3.0: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.3: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdurl@2.0.0: {} + + memoize-one@6.0.0: {} + + memoize-weak@1.0.2: {} + + meow@13.2.0: {} + + merge2@1.4.1: {} + + meshoptimizer@0.18.1: {} - lines-and-columns@1.2.4: {} + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.1: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.9 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 - linkify-it@5.0.0: + micromark-factory-destination@2.0.1: dependencies: - uc.micro: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - locate-character@3.0.0: {} + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - locate-path@5.0.0: + micromark-factory-mdx-expression@2.0.3: dependencies: - p-locate: 4.1.0 + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 - locate-path@6.0.0: + micromark-factory-space@2.0.1: dependencies: - p-locate: 5.0.0 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 - locate-path@8.0.0: + micromark-factory-title@2.0.1: dependencies: - p-locate: 6.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - lodash.startcase@4.4.0: {} + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - lru-cache@11.3.6: {} + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - lru-cache@5.1.1: + micromark-util-chunked@2.0.1: dependencies: - yallist: 3.1.1 + micromark-util-symbol: 2.0.1 - lunr@2.3.9: {} + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - lz-string@1.5.0: {} + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 - magic-string@0.30.21: + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + micromark-util-symbol: 2.0.1 - magicast@0.5.3: + micromark-util-decode-string@2.0.1: dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - source-map-js: 1.2.1 + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - make-dir@4.0.0: + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.9 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: dependencies: - semver: 7.8.0 + micromark-util-symbol: 2.0.1 - markdown-it@14.1.1: + micromark-util-resolve-all@2.0.1: dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.0 - mdurl: 2.0.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 + micromark-util-types: 2.0.2 - mdurl@2.0.0: {} + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - memoize-weak@1.0.2: {} + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - meow@13.2.0: {} + micromark-util-symbol@2.0.1: {} - merge2@1.4.1: {} + micromark-util-types@2.0.2: {} - meshoptimizer@0.18.1: {} + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.2 + miniflare@4.20260611.0: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + sharp: 0.34.5 + undici: 7.24.8 + workerd: 1.20260611.1 + ws: 8.20.1 + youch: 4.1.0-beta.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + minimatch@10.2.5: dependencies: brace-expansion: 5.0.6 @@ -6935,6 +10949,11 @@ snapshots: module-details-from-path@1.0.4: {} + monaco-editor@0.55.1: + dependencies: + dompurify: 3.2.7 + marked: 14.0.0 + mri@1.2.0: {} mrmime@2.0.1: {} @@ -6943,13 +10962,44 @@ snapshots: nanoid@3.3.12: {} + nanostores@1.3.0: {} + natural-compare@1.4.0: {} + next@16.2.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.77.4): + dependencies: + '@next/env': 16.2.7 + '@swc/helpers': 0.5.15 + baseline-browser-mapping: 2.10.33 + caniuse-lite: 1.0.30001793 + postcss: 8.4.31 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.2.7) + optionalDependencies: + '@next/swc-darwin-arm64': 16.2.7 + '@next/swc-darwin-x64': 16.2.7 + '@next/swc-linux-arm64-gnu': 16.2.7 + '@next/swc-linux-arm64-musl': 16.2.7 + '@next/swc-linux-x64-gnu': 16.2.7 + '@next/swc-linux-x64-musl': 16.2.7 + '@next/swc-win32-arm64-msvc': 16.2.7 + '@next/swc-win32-x64-msvc': 16.2.7 + '@opentelemetry/api': 1.9.1 + '@playwright/test': 1.60.0 + sass: 1.77.4 + sharp: 0.34.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - node-releases@2.0.44: {} + node-releases@2.0.47: {} + + normalize-path@3.0.0: {} normalize-url@8.1.1: optional: true @@ -6961,7 +11011,26 @@ snapshots: numerable@0.3.15: {} - obug@2.1.1: {} + object-assign@4.1.1: {} + + object-to-formdata@4.5.1: {} + + obug@2.1.2: {} + + ohash@2.0.11: {} + + on-exit-leak-free@2.1.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + open@10.2.0: + dependencies: + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 optionator@0.9.4: dependencies: @@ -6972,22 +11041,23 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - orval@8.10.0(prettier@3.8.3)(typescript@6.0.3): + orval@8.15.0(prettier@3.8.3)(typescript@6.0.3): dependencies: '@commander-js/extra-typings': 14.0.0(commander@14.0.3) - '@orval/angular': 8.10.0(typescript@6.0.3) - '@orval/axios': 8.10.0(typescript@6.0.3) - '@orval/core': 8.10.0(typescript@6.0.3) - '@orval/fetch': 8.10.0(typescript@6.0.3) - '@orval/hono': 8.10.0(typescript@6.0.3) - '@orval/mcp': 8.10.0(typescript@6.0.3) - '@orval/mock': 8.10.0(typescript@6.0.3) - '@orval/query': 8.10.0(typescript@6.0.3) - '@orval/solid-start': 8.10.0(typescript@6.0.3) - '@orval/swr': 8.10.0(typescript@6.0.3) - '@orval/zod': 8.10.0(typescript@6.0.3) - '@scalar/json-magic': 0.12.14 - '@scalar/openapi-parser': 0.25.12 + '@orval/angular': 8.15.0(typescript@6.0.3) + '@orval/axios': 8.15.0(typescript@6.0.3) + '@orval/core': 8.15.0(typescript@6.0.3) + '@orval/effect': 8.15.0(typescript@6.0.3) + '@orval/fetch': 8.15.0(typescript@6.0.3) + '@orval/hono': 8.15.0(typescript@6.0.3) + '@orval/mcp': 8.15.0(typescript@6.0.3) + '@orval/mock': 8.15.0(typescript@6.0.3) + '@orval/query': 8.15.0(typescript@6.0.3) + '@orval/solid-start': 8.15.0(typescript@6.0.3) + '@orval/swr': 8.15.0(typescript@6.0.3) + '@orval/zod': 8.15.0(typescript@6.0.3) + '@scalar/json-magic': 0.12.15 + '@scalar/openapi-parser': 0.28.6 '@scalar/openapi-types': 0.8.0 chokidar: 5.0.0 commander: 14.0.3 @@ -6998,11 +11068,11 @@ snapshots: get-tsconfig: 4.14.0 jiti: 2.7.0 js-yaml: 4.1.1 - remeda: 2.34.1 + remeda: 2.37.0 string-argv: 0.3.2 typedoc: 0.28.19(typescript@6.0.3) typedoc-plugin-coverage: 4.0.3(typedoc@0.28.19(typescript@6.0.3)) - typedoc-plugin-markdown: 4.11.0(typedoc@0.28.19(typescript@6.0.3)) + typedoc-plugin-markdown: 4.12.0(typedoc@0.28.19(typescript@6.0.3)) optionalDependencies: prettier: 3.8.3 transitivePeerDependencies: @@ -7048,19 +11118,29 @@ snapshots: dependencies: quansync: 0.2.11 - paneforge@1.0.2(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + paneforge@1.0.2(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: - runed: 0.23.4(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - svelte-toolbelt: 0.9.3(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + runed: 0.23.4(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + svelte-toolbelt: 0.9.3(svelte@5.56.1(@typescript-eslint/types@8.60.1)) parent-module@1.0.1: dependencies: callsites: 3.1.0 + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -7077,24 +11157,56 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.3.6 + lru-cache: 11.5.1 minipass: 7.1.3 + path-to-regexp@6.3.0: {} + path-type@4.0.0: {} pathe@2.0.3: {} - pg-int8@1.0.1: {} - - pg-protocol@1.13.0: {} + payload@3.85.0(graphql@16.14.1)(typescript@6.0.3): + dependencies: + '@next/env': 15.5.19 + '@payloadcms/translations': 3.85.0 + '@types/busboy': 1.5.4 + ajv: 8.18.0 + bson-objectid: 2.0.4 + busboy: 1.6.0 + ci-info: 4.4.0 + console-table-printer: 2.12.1 + croner: 10.0.1 + dataloader: 2.2.3 + deepmerge: 4.3.1 + file-type: 21.3.4 + get-tsconfig: 4.8.1 + graphql: 16.14.1 + http-status: 2.1.0 + image-size: 2.0.2 + ipaddr.js: 2.2.0 + jose: 5.10.0 + json-schema-to-typescript: 15.0.3 + minimist: 1.2.8 + path-to-regexp: 6.3.0 + pino: 9.14.0 + pino-pretty: 13.1.2 + pluralize: 8.0.0 + qs-esm: 8.0.1 + range-parser: 1.2.1 + sanitize-filename: 1.6.3 + ts-essentials: 10.0.3(typescript@6.0.3) + tsx: 4.21.0 + undici: 7.24.4 + uuid: 13.0.2 + ws: 8.21.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - typescript + - utf-8-validate - pg-types@2.2.0: - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.1 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 + perfect-debounce@2.1.0: {} picocolors@1.1.1: {} @@ -7104,6 +11216,48 @@ snapshots: pify@4.0.1: {} + pino-abstract-transport@2.0.0: + dependencies: + split2: 4.2.0 + + pino-pretty@13.1.2: + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.2 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 2.0.0 + pump: 3.0.4 + secure-json-parse: 4.1.0 + sonic-boom: 4.2.1 + strip-json-comments: 5.0.3 + + pino-std-serializers@7.1.0: {} + + pino@9.14.0: + dependencies: + '@pinojs/redact': 0.4.0 + atomic-sleep: 1.0.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 2.0.0 + pino-std-serializers: 7.1.0 + process-warning: 5.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 4.2.1 + thread-stream: 3.2.0 + + pkg-types@2.3.1: + dependencies: + confbox: 0.2.4 + exsolve: 1.0.8 + pathe: 2.0.3 + playwright-core@1.60.0: {} playwright@1.60.0: @@ -7112,56 +11266,56 @@ snapshots: optionalDependencies: fsevents: 2.3.2 + pluralize@8.0.0: {} + pngjs@7.0.0: {} - postcss-load-config@3.1.4(postcss@8.5.14): + postcss-load-config@3.1.4(postcss@8.5.15): dependencies: lilconfig: 2.1.0 yaml: 1.10.3 optionalDependencies: - postcss: 8.5.14 + postcss: 8.5.15 - postcss-safe-parser@7.0.1(postcss@8.5.14): + postcss-safe-parser@7.0.1(postcss@8.5.15): dependencies: - postcss: 8.5.14 + postcss: 8.5.15 - postcss-scss@4.0.9(postcss@8.5.14): + postcss-scss@4.0.9(postcss@8.5.15): dependencies: - postcss: 8.5.14 + postcss: 8.5.15 postcss-selector-parser@7.1.1: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.14: + postcss@8.4.31: dependencies: nanoid: 3.3.12 picocolors: 1.1.1 source-map-js: 1.2.1 - postgres-array@2.0.0: {} - - postgres-bytea@1.0.1: {} - - postgres-date@1.0.7: {} - - postgres-interval@1.2.0: + postcss@8.5.15: dependencies: - xtend: 4.0.2 + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postgres@3.4.9: {} prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.5.2(prettier@3.8.3)(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + prettier-plugin-svelte@4.1.0(prettier@3.8.3)(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: prettier: 3.8.3 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - prettier-plugin-tailwindcss@0.8.0(prettier-plugin-svelte@3.5.2(prettier@3.8.3)(svelte@5.55.7(@typescript-eslint/types@8.59.3)))(prettier@3.8.3): + prettier-plugin-tailwindcss@0.8.0(prettier-plugin-svelte@4.1.0(prettier@3.8.3)(svelte@5.56.1(@typescript-eslint/types@8.60.1)))(prettier@3.8.3): dependencies: prettier: 3.8.3 optionalDependencies: - prettier-plugin-svelte: 3.5.2(prettier@3.8.3)(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + prettier-plugin-svelte: 4.1.0(prettier@3.8.3)(svelte@5.56.1(@typescript-eslint/types@8.60.1)) prettier@2.8.8: {} @@ -7171,13 +11325,33 @@ snapshots: dependencies: parse-ms: 4.0.0 + prismjs@1.30.0: {} + + process-warning@5.0.0: {} + progress@2.0.3: {} + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + property-expr@2.0.6: optional: true proxy-from-env@1.1.0: {} + pump@3.0.4: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + punycode.js@2.3.1: {} punycode@2.3.1: {} @@ -7185,10 +11359,77 @@ snapshots: pure-rand@6.1.0: optional: true + qs-esm@8.0.1: {} + quansync@0.2.11: {} queue-microtask@1.2.3: {} + quick-format-unescaped@4.0.4: {} + + range-parser@1.2.1: {} + + rc9@3.0.1: + dependencies: + defu: 6.1.7 + destr: 2.0.5 + + react-datepicker@7.6.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + '@floating-ui/react': 0.27.19(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + clsx: 2.1.1 + date-fns: 3.6.0 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + react-dom@19.2.7(react@19.2.7): + dependencies: + react: 19.2.7 + scheduler: 0.27.0 + + react-error-boundary@4.1.2(react@19.2.7): + dependencies: + '@babel/runtime': 7.29.7 + react: 19.2.7 + + react-error-boundary@6.1.2(react@19.2.7): + dependencies: + react: 19.2.7 + + react-image-crop@10.1.8(react@19.2.7): + dependencies: + react: 19.2.7 + + react-is@16.13.1: {} + + react-select@5.9.0(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/cache': 11.14.0 + '@emotion/react': 11.14.0(@types/react@19.2.16)(react@19.2.7) + '@floating-ui/dom': 1.7.6 + '@types/react-transition-group': 4.4.12(@types/react@19.2.16) + memoize-one: 6.0.0 + prop-types: 15.8.1 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + react-transition-group: 4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.16)(react@19.2.7) + transitivePeerDependencies: + - '@types/react' + - supports-color + + react-transition-group@4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + '@babel/runtime': 7.29.7 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + react@19.2.7: {} + read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -7196,11 +11437,21 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.2 + readdirp@4.1.2: {} readdirp@5.0.0: {} - remeda@2.34.1: {} + real-require@0.2.0: {} + + regexp-to-ast@0.5.0: {} + + regexparam@3.0.0: {} + + remeda@2.37.0: {} require-from-string@2.0.2: {} @@ -7226,114 +11477,167 @@ snapshots: reusify@1.1.0: {} - rolldown@1.0.1: + rolldown@1.0.3: dependencies: - '@oxc-project/types': 0.130.0 + '@oxc-project/types': 0.133.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.1 - '@rolldown/binding-darwin-arm64': 1.0.1 - '@rolldown/binding-darwin-x64': 1.0.1 - '@rolldown/binding-freebsd-x64': 1.0.1 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.1 - '@rolldown/binding-linux-arm64-gnu': 1.0.1 - '@rolldown/binding-linux-arm64-musl': 1.0.1 - '@rolldown/binding-linux-ppc64-gnu': 1.0.1 - '@rolldown/binding-linux-s390x-gnu': 1.0.1 - '@rolldown/binding-linux-x64-gnu': 1.0.1 - '@rolldown/binding-linux-x64-musl': 1.0.1 - '@rolldown/binding-openharmony-arm64': 1.0.1 - '@rolldown/binding-wasm32-wasi': 1.0.1 - '@rolldown/binding-win32-arm64-msvc': 1.0.1 - '@rolldown/binding-win32-x64-msvc': 1.0.1 - - rollup@4.60.4: - dependencies: - '@types/estree': 1.0.8 + '@rolldown/binding-android-arm64': 1.0.3 + '@rolldown/binding-darwin-arm64': 1.0.3 + '@rolldown/binding-darwin-x64': 1.0.3 + '@rolldown/binding-freebsd-x64': 1.0.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.3 + '@rolldown/binding-linux-arm64-gnu': 1.0.3 + '@rolldown/binding-linux-arm64-musl': 1.0.3 + '@rolldown/binding-linux-ppc64-gnu': 1.0.3 + '@rolldown/binding-linux-s390x-gnu': 1.0.3 + '@rolldown/binding-linux-x64-gnu': 1.0.3 + '@rolldown/binding-linux-x64-musl': 1.0.3 + '@rolldown/binding-openharmony-arm64': 1.0.3 + '@rolldown/binding-wasm32-wasi': 1.0.3 + '@rolldown/binding-win32-arm64-msvc': 1.0.3 + '@rolldown/binding-win32-x64-msvc': 1.0.3 + + rollup@4.61.1: + dependencies: + '@types/estree': 1.0.9 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.4 - '@rollup/rollup-android-arm64': 4.60.4 - '@rollup/rollup-darwin-arm64': 4.60.4 - '@rollup/rollup-darwin-x64': 4.60.4 - '@rollup/rollup-freebsd-arm64': 4.60.4 - '@rollup/rollup-freebsd-x64': 4.60.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.4 - '@rollup/rollup-linux-arm-musleabihf': 4.60.4 - '@rollup/rollup-linux-arm64-gnu': 4.60.4 - '@rollup/rollup-linux-arm64-musl': 4.60.4 - '@rollup/rollup-linux-loong64-gnu': 4.60.4 - '@rollup/rollup-linux-loong64-musl': 4.60.4 - '@rollup/rollup-linux-ppc64-gnu': 4.60.4 - '@rollup/rollup-linux-ppc64-musl': 4.60.4 - '@rollup/rollup-linux-riscv64-gnu': 4.60.4 - '@rollup/rollup-linux-riscv64-musl': 4.60.4 - '@rollup/rollup-linux-s390x-gnu': 4.60.4 - '@rollup/rollup-linux-x64-gnu': 4.60.4 - '@rollup/rollup-linux-x64-musl': 4.60.4 - '@rollup/rollup-openbsd-x64': 4.60.4 - '@rollup/rollup-openharmony-arm64': 4.60.4 - '@rollup/rollup-win32-arm64-msvc': 4.60.4 - '@rollup/rollup-win32-ia32-msvc': 4.60.4 - '@rollup/rollup-win32-x64-gnu': 4.60.4 - '@rollup/rollup-win32-x64-msvc': 4.60.4 + '@rollup/rollup-android-arm-eabi': 4.61.1 + '@rollup/rollup-android-arm64': 4.61.1 + '@rollup/rollup-darwin-arm64': 4.61.1 + '@rollup/rollup-darwin-x64': 4.61.1 + '@rollup/rollup-freebsd-arm64': 4.61.1 + '@rollup/rollup-freebsd-x64': 4.61.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.61.1 + '@rollup/rollup-linux-arm-musleabihf': 4.61.1 + '@rollup/rollup-linux-arm64-gnu': 4.61.1 + '@rollup/rollup-linux-arm64-musl': 4.61.1 + '@rollup/rollup-linux-loong64-gnu': 4.61.1 + '@rollup/rollup-linux-loong64-musl': 4.61.1 + '@rollup/rollup-linux-ppc64-gnu': 4.61.1 + '@rollup/rollup-linux-ppc64-musl': 4.61.1 + '@rollup/rollup-linux-riscv64-gnu': 4.61.1 + '@rollup/rollup-linux-riscv64-musl': 4.61.1 + '@rollup/rollup-linux-s390x-gnu': 4.61.1 + '@rollup/rollup-linux-x64-gnu': 4.61.1 + '@rollup/rollup-linux-x64-musl': 4.61.1 + '@rollup/rollup-openbsd-x64': 4.61.1 + '@rollup/rollup-openharmony-arm64': 4.61.1 + '@rollup/rollup-win32-arm64-msvc': 4.61.1 + '@rollup/rollup-win32-ia32-msvc': 4.61.1 + '@rollup/rollup-win32-x64-gnu': 4.61.1 + '@rollup/rollup-win32-x64-msvc': 4.61.1 fsevents: 2.3.3 + rou3@0.7.12: {} + + run-applescript@7.1.0: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - runed@0.23.4(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + runed@0.23.4(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: esm-env: 1.2.2 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - runed@0.28.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + runed@0.28.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: esm-env: 1.2.2 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - runed@0.29.2(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + runed@0.29.2(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: esm-env: 1.2.2 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - runed@0.35.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + runed@0.35.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: dequal: 2.0.3 esm-env: 1.2.2 lz-string: 1.5.0 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) optionalDependencies: - '@sveltejs/kit': 2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + '@sveltejs/kit': 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) - runed@0.37.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(zod@4.4.3): + runed@0.37.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(zod@4.4.3): dependencies: dequal: 2.0.3 esm-env: 1.2.2 lz-string: 1.5.0 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) optionalDependencies: - '@sveltejs/kit': 2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + '@sveltejs/kit': 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) zod: 4.4.3 sade@1.8.1: dependencies: mri: 1.2.0 + safe-stable-stringify@2.5.0: {} + safer-buffer@2.1.2: {} + sanitize-filename@1.6.3: + dependencies: + truncate-utf8-bytes: 1.0.2 + + sass@1.77.4: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.8 + source-map-js: 1.2.1 + satori-html@0.3.2: dependencies: ultrahtml: 1.6.0 + scheduler@0.25.0: {} + + scheduler@0.27.0: {} + schema-dts@1.1.5: {} + secure-json-parse@4.1.0: {} + semver@6.3.1: {} - semver@7.8.0: {} + semver@7.8.2: {} set-cookie-parser@3.1.0: {} + sharp@0.34.5: + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.34.5 + '@img/sharp-darwin-x64': 0.34.5 + '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-linux-arm': 0.34.5 + '@img/sharp-linux-arm64': 0.34.5 + '@img/sharp-linux-ppc64': 0.34.5 + '@img/sharp-linux-riscv64': 0.34.5 + '@img/sharp-linux-s390x': 0.34.5 + '@img/sharp-linux-x64': 0.34.5 + '@img/sharp-linuxmusl-arm64': 0.34.5 + '@img/sharp-linuxmusl-x64': 0.34.5 + '@img/sharp-wasm32': 0.34.5 + '@img/sharp-win32-arm64': 0.34.5 + '@img/sharp-win32-ia32': 0.34.5 + '@img/sharp-win32-x64': 0.34.5 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -7346,12 +11650,16 @@ snapshots: simple-git-hooks@2.13.1: {} + simple-wcswidth@1.1.2: {} + sirv@3.0.2: dependencies: '@polka/url': 1.0.0-next.29 mrmime: 2.0.1 totalist: 3.0.1 + sisteransi@1.0.5: {} + skinview-utils@0.7.1: {} skinview3d@3.4.2: @@ -7362,7 +11670,14 @@ snapshots: slash@3.0.0: {} - slash@5.1.0: {} + sonic-boom@4.2.1: + dependencies: + atomic-sleep: 1.0.0 + + sonner@1.7.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) sorcery@1.0.0: dependencies: @@ -7372,17 +11687,32 @@ snapshots: source-map-js@1.2.1: {} + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.5.7: {} + + source-map@0.6.1: {} + spawndamnit@3.0.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 + split2@4.2.0: {} + sprintf-js@1.0.3: {} stackback@0.0.2: {} + state-local@1.0.7: {} + std-env@4.1.0: {} + streamsearch@1.1.0: {} + string-argv@0.3.2: {} string-width@7.2.0: @@ -7391,6 +11721,11 @@ snapshots: get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7403,108 +11738,121 @@ snapshots: strip-final-newline@4.0.0: {} + strip-json-comments@5.0.3: {} + + strtok3@10.3.5: + dependencies: + '@tokenizer/token': 0.3.0 + style-to-object@1.0.14: dependencies: inline-style-parser: 0.2.7 - super-sitemap@1.0.12(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + styled-jsx@5.1.6(@babel/core@7.29.7)(react@19.2.7): + dependencies: + client-only: 0.0.1 + react: 19.2.7 + optionalDependencies: + '@babel/core': 7.29.7 + + stylis@4.2.0: {} + + super-sitemap@1.0.12(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) superstruct@2.0.2: optional: true + supports-color@10.2.2: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.4.8(picomatch@4.0.4)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3): + svelte-check@4.6.0(picomatch@4.0.4)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3): dependencies: '@jridgewell/trace-mapping': 0.3.31 + '@sveltejs/load-config': 0.1.1 chokidar: 4.0.3 fdir: 6.5.0(picomatch@4.0.4) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) typescript: 6.0.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.6.1(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-eslint-parser@1.8.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - postcss: 8.5.14 - postcss-scss: 4.0.9(postcss@8.5.14) + postcss: 8.5.15 + postcss-scss: 4.0.9(postcss@8.5.15) postcss-selector-parser: 7.1.1 - semver: 7.8.0 + semver: 7.8.2 optionalDependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-persisted-store@0.12.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-interactions@0.2.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-preprocess@6.0.3(@babel/core@7.29.0)(postcss-load-config@3.1.4(postcss@8.5.14))(postcss@8.5.14)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3): + svelte-persisted-store@0.12.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - optionalDependencies: - '@babel/core': 7.29.0 - postcss: 8.5.14 - postcss-load-config: 3.1.4(postcss@8.5.14) - typescript: 6.0.3 + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-seo@2.0.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-seo@2.0.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: schema-dts: 1.1.5 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-sonner@1.1.1(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-sonner@1.1.1(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: - runed: 0.28.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + runed: 0.28.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-tiny-virtual-list@4.0.0-rc.2(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-tiny-virtual-list@4.0.0-rc.2(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-toolbelt@0.10.6(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-toolbelt@0.10.6(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: clsx: 2.1.1 - runed: 0.35.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + runed: 0.35.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1)) style-to-object: 1.0.14 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) transitivePeerDependencies: - '@sveltejs/kit' - svelte-toolbelt@0.5.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-toolbelt@0.5.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: clsx: 2.1.1 style-to-object: 1.0.14 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-toolbelt@0.7.1(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-toolbelt@0.7.1(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: clsx: 2.1.1 - runed: 0.23.4(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + runed: 0.23.4(svelte@5.56.1(@typescript-eslint/types@8.60.1)) style-to-object: 1.0.14 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte-toolbelt@0.9.3(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + svelte-toolbelt@0.9.3(svelte@5.56.1(@typescript-eslint/types@8.60.1)): dependencies: clsx: 2.1.1 - runed: 0.29.2(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + runed: 0.29.2(svelte@5.56.1(@typescript-eslint/types@8.60.1)) style-to-object: 1.0.14 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) - svelte@5.55.7(@typescript-eslint/types@8.59.3): + svelte@5.56.1(@typescript-eslint/types@8.60.1): dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 - '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) + '@sveltejs/acorn-typescript': 1.0.10(acorn@8.16.0) '@types/estree': 1.0.9 '@types/trusted-types': 2.0.7 acorn: 8.16.0 @@ -7513,7 +11861,7 @@ snapshots: clsx: 2.1.1 devalue: 5.8.1 esm-env: 1.2.2 - esrap: 2.2.8(@typescript-eslint/types@8.59.3) + esrap: 2.2.11(@typescript-eslint/types@8.60.1) is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.21 @@ -7521,18 +11869,18 @@ snapshots: transitivePeerDependencies: - '@typescript-eslint/types' - sveltekit-superforms@2.30.1(@sveltejs/kit@2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3): + sveltekit-superforms@2.30.1(@sveltejs/kit@2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(@types/json-schema@7.0.15)(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3): dependencies: - '@sveltejs/kit': 2.60.1(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(svelte@5.55.7(@typescript-eslint/types@8.59.3))(typescript@6.0.3)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + '@sveltejs/kit': 2.63.0(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)))(svelte@5.56.1(@typescript-eslint/types@8.60.1))(typescript@6.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) devalue: 5.8.1 memoize-weak: 1.0.2 - svelte: 5.55.7(@typescript-eslint/types@8.59.3) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) ts-deepmerge: 7.0.3 optionalDependencies: '@exodus/schemasafe': 1.3.0 '@standard-schema/spec': 1.1.0 '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.4) - '@valibot/to-json-schema': 1.7.0(valibot@1.4.0(typescript@6.0.3)) + '@valibot/to-json-schema': 1.7.0(valibot@1.4.1(typescript@6.0.3)) '@vinejs/vine': 3.0.1 arktype: 2.2.0 class-validator: 0.14.4 @@ -7540,8 +11888,8 @@ snapshots: joi: 17.13.3 json-schema-to-ts: 3.1.1 superstruct: 2.0.2 - typebox: 1.1.38 - valibot: 1.4.0(typescript@6.0.3) + typebox: 1.2.0 + valibot: 1.4.1(typescript@6.0.3) yup: 1.7.1 zod: 4.4.3 zod-v3-to-json-schema: 4.0.0(zod@4.4.3) @@ -7559,11 +11907,11 @@ snapshots: tailwindcss@4.3.0: {} - takumi-js@1.1.2: + takumi-js@1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - '@takumi-rs/core': 1.1.2 - '@takumi-rs/helpers': 1.1.2 - '@takumi-rs/wasm': 1.1.2 + '@takumi-rs/core': 1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@takumi-rs/helpers': 1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@takumi-rs/wasm': 1.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) transitivePeerDependencies: - react - react-dom @@ -7572,6 +11920,10 @@ snapshots: term-size@2.2.1: {} + thread-stream@3.2.0: + dependencies: + real-require: 0.2.0 + three@0.156.1: {} tiny-case@1.0.3: @@ -7584,9 +11936,9 @@ snapshots: tinybench@2.9.0: {} - tinyexec@1.1.2: {} + tinyexec@1.2.4: {} - tinyglobby@0.2.16: + tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 @@ -7597,6 +11949,12 @@ snapshots: dependencies: is-number: 7.0.0 + token-types@6.1.2: + dependencies: + '@borewit/text-codec': 0.2.2 + '@tokenizer/token': 0.3.0 + ieee754: 1.2.1 + toposort@2.0.2: optional: true @@ -7604,6 +11962,10 @@ snapshots: tr46@0.0.3: {} + truncate-utf8-bytes@1.0.2: + dependencies: + utf8-byte-length: 1.0.5 + ts-algebra@2.0.0: optional: true @@ -7613,8 +11975,25 @@ snapshots: ts-deepmerge@7.0.3: {} + ts-essentials@10.0.3(typescript@6.0.3): + optionalDependencies: + typescript: 6.0.3 + tslib@2.8.1: {} + tsx@4.21.0: + dependencies: + esbuild: 0.27.7 + get-tsconfig: 4.14.0 + optionalDependencies: + fsevents: 2.3.3 + + tsx@4.22.4: + dependencies: + esbuild: 0.28.0 + optionalDependencies: + fsevents: 2.3.3 + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -7622,14 +12001,14 @@ snapshots: type-fest@2.19.0: optional: true - typebox@1.1.38: + typebox@1.2.0: optional: true typedoc-plugin-coverage@4.0.3(typedoc@0.28.19(typescript@6.0.3)): dependencies: typedoc: 0.28.19(typescript@6.0.3) - typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@6.0.3)): + typedoc-plugin-markdown@4.12.0(typedoc@0.28.19(typescript@6.0.3)): dependencies: typedoc: 0.28.19(typescript@6.0.3) @@ -7637,18 +12016,18 @@ snapshots: dependencies: '@gerrit0/mini-shiki': 3.23.0 lunr: 2.3.9 - markdown-it: 14.1.1 + markdown-it: 14.2.0 minimatch: 10.2.5 typescript: 6.0.3 yaml: 2.9.0 - typescript-eslint@8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3): + typescript-eslint@8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.59.3(@typescript-eslint/parser@8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.59.3(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.3(eslint@10.3.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.3.0(jiti@2.7.0) + '@typescript-eslint/eslint-plugin': 8.60.1(@typescript-eslint/parser@8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.60.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.60.1(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) + eslint: 10.4.1(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -7657,13 +12036,44 @@ snapshots: uc.micro@2.1.0: {} + uint8array-extras@1.5.0: {} + ultrahtml@1.6.0: {} undici-types@7.24.6: {} + undici@7.24.4: {} + + undici@7.24.8: {} + + unenv@2.0.0-rc.24: + dependencies: + pathe: 2.0.3 + unicorn-magic@0.3.0: {} - unicorn-magic@0.4.0: {} + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 universalify@0.1.2: {} @@ -7679,9 +12089,24 @@ snapshots: dependencies: punycode: 2.3.1 + use-context-selector@2.0.0(react@19.2.7)(scheduler@0.25.0): + dependencies: + react: 19.2.7 + scheduler: 0.25.0 + + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.16)(react@19.2.7): + dependencies: + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.16 + + utf8-byte-length@1.0.5: {} + util-deprecate@1.0.2: {} - valibot@1.4.0(typescript@6.0.3): + uuid@13.0.2: {} + + valibot@1.4.1(typescript@6.0.3): optionalDependencies: typescript: 6.0.3 optional: true @@ -7689,69 +12114,79 @@ snapshots: validator@13.15.35: optional: true - vaul-svelte@1.0.0-next.7(svelte@5.55.7(@typescript-eslint/types@8.59.3)): + vaul-svelte@1.0.0-next.7(svelte@5.56.1(@typescript-eslint/types@8.60.1)): + dependencies: + runed: 0.23.4(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + svelte-toolbelt: 0.7.1(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + + vfile-message@4.0.3: dependencies: - runed: 0.23.4(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - svelte-toolbelt: 0.7.1(svelte@5.55.7(@typescript-eslint/types@8.59.3)) + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 - vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0): + vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 - postcss: 8.5.14 - rolldown: 1.0.1 - tinyglobby: 0.2.16 + postcss: 8.5.15 + rolldown: 1.0.3 + tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 25.8.0 - esbuild: 0.27.7 + '@types/node': 25.9.1 + esbuild: 0.28.0 fsevents: 2.3.3 jiti: 2.7.0 + sass: 1.77.4 + tsx: 4.22.4 yaml: 2.9.0 - vitefu@1.1.3(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)): + vitefu@1.1.3(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)): optionalDependencies: - vite: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) - vitest-browser-svelte@2.1.1(svelte@5.55.7(@typescript-eslint/types@8.59.3))(vitest@4.1.6): + vitest-browser-svelte@2.1.1(svelte@5.56.1(@typescript-eslint/types@8.60.1))(vitest@4.1.8): dependencies: - '@testing-library/svelte-core': 1.0.0(svelte@5.55.7(@typescript-eslint/types@8.59.3)) - svelte: 5.55.7(@typescript-eslint/types@8.59.3) - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.8.0)(@vitest/browser-playwright@4.1.6)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) + '@testing-library/svelte-core': 1.0.0(svelte@5.56.1(@typescript-eslint/types@8.60.1)) + svelte: 5.56.1(@typescript-eslint/types@8.60.1) + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) - vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@25.8.0)(@vitest/browser-playwright@4.1.6)(@vitest/coverage-v8@4.1.6)(@vitest/ui@4.1.6)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)): + vitest@4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(@vitest/ui@4.1.8)(happy-dom@20.10.1)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)): dependencies: - '@vitest/expect': 4.1.6 - '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.6 - '@vitest/runner': 4.1.6 - '@vitest/snapshot': 4.1.6 - '@vitest/spy': 4.1.6 - '@vitest/utils': 4.1.6 + '@vitest/expect': 4.1.8 + '@vitest/mocker': 4.1.8(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.8 + '@vitest/runner': 4.1.8 + '@vitest/snapshot': 4.1.8 + '@vitest/spy': 4.1.8 + '@vitest/utils': 4.1.8 es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 - obug: 2.1.1 + obug: 2.1.2 pathe: 2.0.3 picomatch: 4.0.4 std-env: 4.1.0 tinybench: 2.9.0 - tinyexec: 1.1.2 - tinyglobby: 0.2.16 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 25.8.0 - '@vitest/browser-playwright': 4.1.6(playwright@1.60.0)(vite@8.0.13(@types/node@25.8.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))(vitest@4.1.6) - '@vitest/coverage-v8': 4.1.6(@vitest/browser@4.1.6)(vitest@4.1.6) - '@vitest/ui': 4.1.6(vitest@4.1.6) + '@types/node': 25.9.1 + '@vitest/browser-playwright': 4.1.8(playwright@1.60.0)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.77.4)(tsx@4.22.4)(yaml@2.9.0))(vitest@4.1.8) + '@vitest/coverage-v8': 4.1.8(@vitest/browser@4.1.8)(vitest@4.1.8) + '@vitest/ui': 4.1.8(vitest@4.1.8) + happy-dom: 20.10.1 transitivePeerDependencies: - msw webidl-conversions@3.0.1: {} + whatwg-mimetype@3.0.0: {} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -7768,15 +12203,56 @@ snapshots: word-wrap@1.2.5: {} + workerd@1.20260611.1: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20260611.1 + '@cloudflare/workerd-darwin-arm64': 1.20260611.1 + '@cloudflare/workerd-linux-64': 1.20260611.1 + '@cloudflare/workerd-linux-arm64': 1.20260611.1 + '@cloudflare/workerd-windows-64': 1.20260611.1 + + worktop@0.8.0-next.18: + dependencies: + mrmime: 2.0.1 + regexparam: 3.0.0 + + wrangler@4.100.0(@cloudflare/workers-types@4.20260613.1): + dependencies: + '@cloudflare/kv-asset-handler': 0.5.0 + '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260611.1) + blake3-wasm: 2.1.5 + esbuild: 0.27.3 + miniflare: 4.20260611.0 + path-to-regexp: 6.3.0 + unenv: 2.0.0-rc.24 + workerd: 1.20260611.1 + optionalDependencies: + '@cloudflare/workers-types': 4.20260613.1 + fsevents: 2.3.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 strip-ansi: 7.2.0 + wrappy@1.0.2: {} + ws@8.20.1: {} - xtend@4.0.2: {} + ws@8.21.0: {} + + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.1 + + xss@1.0.15: + dependencies: + commander: 2.20.3 + cssfilter: 0.0.10 y18n@5.0.8: {} @@ -7797,12 +12273,33 @@ snapshots: y18n: 5.0.8 yargs-parser: 22.0.0 + yjs@13.6.31: + dependencies: + lib0: 0.2.117 + yocto-queue@0.1.0: {} yocto-queue@1.2.2: {} + yocto-spinner@0.2.3: + dependencies: + yoctocolors: 2.1.2 + yoctocolors@2.1.2: {} + youch-core@0.3.3: + dependencies: + '@poppinss/exception': 1.2.3 + error-stack-parser-es: 1.0.5 + + youch@4.1.0-beta.10: + dependencies: + '@poppinss/colors': 4.1.6 + '@poppinss/dumper': 0.6.5 + '@speed-highlight/core': 1.2.17 + cookie: 1.1.1 + youch-core: 0.3.3 + yup@1.7.1: dependencies: property-expr: 2.0.6 @@ -7819,3 +12316,5 @@ snapshots: optional: true zod@4.4.3: {} + + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e937750d9..f0ae5cded 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,12 @@ allowBuilds: + "@prisma/client": false + "@tailwindcss/oxide": true "@sentry/cli": true + better-sqlite3: true esbuild: true + sharp: true simple-git-hooks: true svelte-preprocess: true + workerd: true +overrides: + kysely: 0.28.17 diff --git a/src/app.css b/src/app.css index 9d4ac0038..79dfe691c 100644 --- a/src/app.css +++ b/src/app.css @@ -420,3 +420,8 @@ @utility minecraft-tooltip { @apply relative rounded-sm border-2 border-solid border-transparent bg-mctooltip-bg px-1 pt-1 pb-0.75 indent-[initial] font-minecraft text-[0.9375rem] leading-4.5 font-normal text-pretty [border-image:linear-gradient(to_bottom,oklch(48.503%_0.297_278.42/0.31),oklch(29.365%_0.17619_281.21/0.31))_1] text-shadow-[0.09375rem_0.09375rem_oklch(36.768%,0.00004,271.152)]; } + +body { + -webkit-user-select: none; + user-select: none; +} diff --git a/src/app.d.ts b/src/app.d.ts index 533c99d02..031435aaa 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,3 +1,5 @@ +import type { Session, User } from "better-auth/minimal"; + // See https://kit.svelte.dev/docs/types#app // for information about these interfaces declare global { @@ -5,15 +7,16 @@ declare global { namespace App { // interface Error {} - // interface Locals {} // interface PageData {} // interface PageState {} // interface Platform {} namespace Superforms { - type Message = { - type: "error" | "success"; - text: string; - }; + type Message = { type: "error" | "success"; text: string }; + } + + interface Locals { + user?: User; + session?: Session; } } } diff --git a/src/app.html b/src/app.html index d3196b015..56e866700 100644 --- a/src/app.html +++ b/src/app.html @@ -3,12 +3,13 @@ - %sveltekit.head% + + %sveltekit.head%

%sveltekit.body%
diff --git a/src/context/index.ts b/src/context/index.ts index 57337de2a..3888bd7b4 100644 --- a/src/context/index.ts +++ b/src/context/index.ts @@ -1,6 +1,7 @@ export * from "./createContext.svelte"; export * from "./favorites.svelte"; export * from "./internal.svelte"; +export * from "./newsroom-notifications.svelte"; export * from "./packs.svelte"; export * from "./preferences.svelte"; export * from "./searches.svelte"; diff --git a/src/context/newsroom-notifications.svelte.spec.ts b/src/context/newsroom-notifications.svelte.spec.ts new file mode 100644 index 000000000..ccf547270 --- /dev/null +++ b/src/context/newsroom-notifications.svelte.spec.ts @@ -0,0 +1,151 @@ +import type { Post } from "$types"; +import { flushSync, untrack } from "svelte"; +import { afterEach, beforeEach, describe, it } from "vitest"; +import { NewsroomNotificationsContext } from "./newsroom-notifications.svelte"; + +const post = (id: string, publishedAt: string | null = `2026-01-${id.padStart(2, "0")}T00:00:00.000Z`): Post => ({ + id, + title: `Post ${id}`, + slug: `post-${id}`, + excerpt: null, + type: "news", + tags: null, + featured: false, + heroImage: null, + body: null, + publishedAt, + author: "author", + updatedAt: publishedAt ?? "2026-01-01T00:00:00.000Z", + createdAt: publishedAt ?? "2026-01-01T00:00:00.000Z" +}); + +describe("NewsroomNotificationsContext", () => { + beforeEach(() => { + localStorage.clear(); + }); + + afterEach(() => { + localStorage.clear(); + }); + + it("starts with zero unread posts", ({ expect }) => { + const cleanup = $effect.root(() => { + const notifications = new NewsroomNotificationsContext(); + + untrack(() => { + expect(notifications.current.seenPostIds).toEqual([]); + expect(notifications.current.lastSeenPublishedAt).toBeNull(); + expect(notifications.unreadCount).toBe(0); + expect(notifications.newestUnseen).toBeNull(); + }); + }); + + cleanup(); + }); + + it("marks latest posts as unseen until they are seen", ({ expect }) => { + const cleanup = $effect.root(() => { + const notifications = new NewsroomNotificationsContext(); + const posts = [post("1"), post("2")]; + + untrack(() => { + notifications.setLatestPosts(posts); + expect(notifications.unreadCount).toBe(2); + expect(notifications.unseenPosts.map((item) => item.id)).toEqual(["2", "1"]); + }); + }); + + cleanup(); + }); + + it("markPostSeen removes exactly one post from unread state", ({ expect }) => { + const cleanup = $effect.root(() => { + const notifications = new NewsroomNotificationsContext(); + const posts = [post("1"), post("2")]; + + untrack(() => { + notifications.setLatestPosts(posts); + notifications.markPostSeen(posts[0]); + flushSync(); + + expect(notifications.unreadCount).toBe(1); + expect(notifications.unseenPosts[0].id).toBe("2"); + expect(notifications.current.seenPostIds).toEqual(["1"]); + }); + }); + + cleanup(); + }); + + it("markAllSeen clears all currently tracked posts", ({ expect }) => { + const cleanup = $effect.root(() => { + const notifications = new NewsroomNotificationsContext(); + const posts = [post("1"), post("2")]; + + untrack(() => { + notifications.setLatestPosts(posts); + notifications.markAllSeen(); + flushSync(); + + expect(notifications.unreadCount).toBe(0); + expect(notifications.current.seenPostIds).toEqual(["1", "2"]); + }); + }); + + cleanup(); + }); + + it("de-duplicates seen ids", ({ expect }) => { + const cleanup = $effect.root(() => { + const notifications = new NewsroomNotificationsContext(); + const item = post("1"); + + untrack(() => { + notifications.markPostSeen(item); + notifications.markPostSeen(item); + flushSync(); + + expect(notifications.current.seenPostIds).toEqual(["1"]); + }); + }); + + cleanup(); + }); + + it("bounds seen ids to 100", ({ expect }) => { + const cleanup = $effect.root(() => { + const notifications = new NewsroomNotificationsContext(); + const posts = Array.from({ length: 101 }, (_, index) => post(String(index + 1))); + + untrack(() => { + notifications.markAllSeen(posts); + flushSync(); + + expect(notifications.current.seenPostIds).toHaveLength(100); + expect(notifications.current.seenPostIds[0]).toBe("2"); + expect(notifications.current.seenPostIds.at(-1)).toBe("101"); + }); + }); + + cleanup(); + }); + + it("shows newer posts after previously dismissing current latest posts", ({ expect }) => { + const cleanup = $effect.root(() => { + const notifications = new NewsroomNotificationsContext(); + const firstPosts = [post("1"), post("2")]; + const newerPost = post("3", "2026-02-01T00:00:00.000Z"); + + untrack(() => { + notifications.setLatestPosts(firstPosts); + notifications.markAllSeen(); + notifications.setLatestPosts([newerPost, ...firstPosts]); + + expect(notifications.unreadCount).toBe(1); + expect(notifications.newestUnseen?.id).toBe("3"); + }); + }); + + cleanup(); + }); +}); diff --git a/src/context/newsroom-notifications.svelte.ts b/src/context/newsroom-notifications.svelte.ts new file mode 100644 index 000000000..983691a7e --- /dev/null +++ b/src/context/newsroom-notifications.svelte.ts @@ -0,0 +1,146 @@ +import type { Post } from "$types"; +import { PersistedState } from "runed"; +import { createContext } from "svelte"; + +export interface SeenNewsroomPost { + id: string; + slug: string; + publishedAt: string | null; +} + +export interface NewsroomNotificationsData { + seenPostIds: string[]; + lastSeenPublishedAt: string | null; +} + +const STORAGE_KEY = "skycryptNewsroomNotifications"; +const MAX_SEEN_POST_IDS = 100; + +const defaultData = (): NewsroomNotificationsData => ({ + seenPostIds: [], + lastSeenPublishedAt: null +}); + +const isValidDate = (value: string | null | undefined): value is string => { + if (!value) return false; + return Number.isFinite(Date.parse(value)); +}; + +const newestDate = (current: string | null, next: string | null | undefined): string | null => { + if (!isValidDate(next)) return current; + if (!isValidDate(current)) return next; + return Date.parse(next) > Date.parse(current) ? next : current; +}; + +const toPostId = (id: unknown): string | null => { + if (typeof id === "string") return id.length > 0 ? id : null; + if (typeof id === "number" && Number.isFinite(id)) return String(id); + return null; +}; + +const sanitizeData = (value: unknown): NewsroomNotificationsData => { + if (!value || typeof value !== "object") return defaultData(); + + const data = value as Partial; + const seenPostIds = Array.isArray(data.seenPostIds) ? data.seenPostIds.map(toPostId).filter((id): id is string => id !== null) : []; + return { + seenPostIds: seenPostIds.filter((id, index) => seenPostIds.indexOf(id) === index).slice(-MAX_SEEN_POST_IDS), + lastSeenPublishedAt: isValidDate(data.lastSeenPublishedAt) ? data.lastSeenPublishedAt : null + }; +}; + +export class NewsroomNotificationsContext { + #data = new PersistedState(STORAGE_KEY, defaultData()); + #latestPosts: Post[] = $state.raw([]); + + get current() { + return sanitizeData(this.#data.current); + } + + set current(value: NewsroomNotificationsData) { + this.#data.current = sanitizeData(value); + } + + get unseenPosts() { + return this.getUnseenPosts(); + } + + get unreadCount() { + return this.unseenPosts.length; + } + + get newestUnseen() { + return this.unseenPosts[0] ?? null; + } + + getUnseenPosts(posts: Post[] = this.#latestPosts) { + const seen = this.current.seenPostIds; + return posts + .filter((post) => { + const id = toPostId(post.id); + return id === null || !seen.includes(id); + }) + .map((post, index) => ({ post, index })) + .sort((a, b) => { + const aTime = isValidDate(a.post.publishedAt) ? Date.parse(a.post.publishedAt) : null; + const bTime = isValidDate(b.post.publishedAt) ? Date.parse(b.post.publishedAt) : null; + + if (aTime !== null && bTime !== null && aTime !== bTime) return bTime - aTime; + if (aTime !== null && bTime === null) return -1; + if (aTime === null && bTime !== null) return 1; + return a.index - b.index; + }) + .map(({ post }) => post); + } + + getUnreadCount(posts: Post[] = this.#latestPosts) { + return this.getUnseenPosts(posts).length; + } + + getNewestUnseen(posts: Post[] = this.#latestPosts) { + return this.getUnseenPosts(posts)[0] ?? null; + } + + setLatestPosts(posts: Post[]) { + this.#latestPosts = posts; + } + + markPostSeen(post: Pick) { + const id = toPostId(post.id); + if (id === null) return; + + const current = this.current; + const seenPostIds = current.seenPostIds.includes(id) ? current.seenPostIds : [...current.seenPostIds, id]; + + this.current = { + seenPostIds: seenPostIds.slice(-MAX_SEEN_POST_IDS), + lastSeenPublishedAt: newestDate(current.lastSeenPublishedAt, post.publishedAt) + }; + } + + markAllSeen(posts: Pick[] = this.#latestPosts) { + let lastSeenPublishedAt = this.current.lastSeenPublishedAt; + const seenPostIds = [...this.current.seenPostIds]; + + for (const post of posts) { + const id = toPostId(post.id); + if (id !== null && !seenPostIds.includes(id)) seenPostIds.push(id); + lastSeenPublishedAt = newestDate(lastSeenPublishedAt, post.publishedAt); + } + + this.current = { + seenPostIds: seenPostIds.slice(-MAX_SEEN_POST_IDS), + lastSeenPublishedAt + }; + } +} + +const [getNewsroomNotifications, setNewsroomNotifications] = createContext(); + +function initNewsroomNotifications() { + const notifications = new NewsroomNotificationsContext(); + setNewsroomNotifications(notifications); + return notifications; +} + +export { getNewsroomNotifications, initNewsroomNotifications }; diff --git a/src/context/preferences.svelte.ts b/src/context/preferences.svelte.ts index 0098376dc..a46f3926b 100644 --- a/src/context/preferences.svelte.ts +++ b/src/context/preferences.svelte.ts @@ -17,9 +17,9 @@ interface PreferencesData { export class PreferencesContext { #data = new PersistedState("skycryptPreferences", { sectionOrder: sections, - performanceMode: false, + performanceMode: true, keybind: "/", - showGlint: true, + showGlint: false, rainbowEnchantments: false, mctooltip: false }); diff --git a/src/hooks.server.ts b/src/hooks.server.ts index b582cf675..a17fe1b97 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,7 +1,13 @@ import { handleErrorWithSentry, sentryHandle } from "@sentry/sveltekit"; -import type { Handle } from "@sveltejs/kit"; +import { type Handle } from "@sveltejs/kit"; import { sequence } from "@sveltejs/kit/hooks"; +// This fork is a public stats/card embed (skycrypt-embed.lunarclient.com) deployed +// on Cloudflare Workers. It has no user accounts, so the upstream better-auth + +// Postgres pipeline is intentionally omitted: DB-backed session lookups need a +// database the embed doesn't have, and migrate-on-startup can't run on Workers +// (no filesystem / process.cwd). See src/lib/server/db/index.ts (lazy db). + const headersHandler = (async ({ event, resolve }) => { const response = await resolve(event); const { request, url } = event; @@ -11,7 +17,8 @@ const headersHandler = (async ({ event, resolve }) => { response.headers.set("Permissions-Policy", "accelerometer=(), autoplay=(), camera=(), encrypted-media=(), fullscreen=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), sync-xhr=(), usb=(), xr-spatial-tracking=(), geolocation=()"); response.headers.set("X-Content-Type-Options", "nosniff"); response.headers.set("Strict-Transport-Security", "max-age=31536000; includeSubDomains; preload"); - response.headers.set("X-Frame-Options", "DENY"); + // No frame-locking: this fork is embedded as an iframe (skycrypt-embed.lunarclient.com), + // so X-Frame-Options / frame-ancestors restrictions are intentionally omitted. // Cross-Origin policies // COEP intentionally unsafe-none: tightening would require all cross-origin @@ -37,5 +44,4 @@ const headersHandler = (async ({ event, resolve }) => { // If you have a custom error handler, pass it to `handleErrorWithSentry` export const handleError = handleErrorWithSentry(); -// If you have custom handlers, make sure to place them after `sentryHandle()` in the `sequence` function. export const handle = sequence(sentryHandle(), headersHandler) satisfies Handle; diff --git a/src/instrumentation.server.ts b/src/instrumentation.server.ts deleted file mode 100644 index 417e25d58..000000000 --- a/src/instrumentation.server.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { dev } from "$app/environment"; -import { env } from "$env/dynamic/public"; -import * as Sentry from "@sentry/sveltekit"; -import { consoleLoggingIntegration, contextLinesIntegration, extraErrorDataIntegration } from "@sentry/sveltekit"; - -const { PUBLIC_SENTRY_DSN } = env; - -Sentry.init({ - dsn: PUBLIC_SENTRY_DSN, - - // Enable logs to be sent to Sentry - enableLogs: true, - - tracesSampleRate: 0.3, - integrations: [contextLinesIntegration(), extraErrorDataIntegration(), consoleLoggingIntegration()], - - // Disable Sentry during development - enabled: !dev, - environment: dev ? "development" : "production" -}); - -// Node 24's default --unhandled-rejections=throw will kill the process on any -// orphaned promise rejection (e.g. losing-side promises in Promise.all when -// one rejects first). Log and report so we get visibility, but don't crash. -process.on("unhandledRejection", (reason) => { - console.error("Unhandled promise rejection:", reason); - Sentry.captureException(reason); -}); diff --git a/src/lib/components/header/Header.svelte b/src/lib/components/header/Header.svelte index 423901ce8..f227ec371 100644 --- a/src/lib/components/header/Header.svelte +++ b/src/lib/components/header/Header.svelte @@ -11,7 +11,7 @@ const preferences = getPreferences(); const internalState = getInternalState(); const theme = getTheme(); - const themeIcon = $derived(getThemeIcons({ color: theme.activeTheme?.colors?.logo, invert: theme.activeTheme?.light }).current); + const themeIconQuery = $derived(getThemeIcons({ color: theme.activeTheme?.colors?.logo, invert: theme.activeTheme?.light })); const packageVersion = __NPM_PACKAGE_VERSION__; @@ -22,8 +22,8 @@
- {#if themeIcon} - + {#if themeIconQuery.current} + {:else} {/if} diff --git a/src/lib/components/header/Info.svelte b/src/lib/components/header/Info.svelte index b4bf38234..3bb99ee7a 100644 --- a/src/lib/components/header/Info.svelte +++ b/src/lib/components/header/Info.svelte @@ -1,7 +1,7 @@ {#snippet info()}

SkyCrypt is a free, open-source stats viewer for Hypixel SkyBlock.

- {#if __NPM_PACKAGE_VERSION__ || PUBLIC_COMMIT_HASH} + {#if __NPM_PACKAGE_VERSION__ || version}

Currently running version diff --git a/src/lib/components/header/settings/Misc.svelte b/src/lib/components/header/settings/Misc.svelte index 9b068544d..8369ccd55 100644 --- a/src/lib/components/header/settings/Misc.svelte +++ b/src/lib/components/header/settings/Misc.svelte @@ -1,44 +1,12 @@ @@ -54,71 +22,12 @@

- (preferences.performanceMode = !preferences.performanceMode)}> - {#snippet icon()} - - {/snippet} - - - - - - - - {#snippet child({ wrapperProps, props, open })} - {#if open} -
-
-

You might not need this! We've noticed that often the reason for low performance is due to Graphics Acceleration being disabled in the browser settings.

-

Graphics Acceleration gives the browsers access to your GPU for rendering, which can significantly improve performance; especially with opacity and blur effects.

-

- Enable Graphics Acceleration in your browser settings first, and if you still experience performance issues, then consider enabling Performance Mode. -

- -
-
- {/if} - {/snippet} -
-
-
-
-
- - (preferences.showGlint = !preferences.showGlint)}> - {#snippet icon()} - - {/snippet} - (preferences.mctooltip = !preferences.mctooltip)}> {#snippet icon()} {/snippet} - - (preferences.rainbowEnchantments = !preferences.rainbowEnchantments)}> - {#snippet icon()} - - {/snippet} - - -
-
- -
-

Keybind

-

Set the keybind to open the command menu

-
-
- - {#if isListening} - Press a key - {:else} - {preferences.keybind} - {/if} - -
diff --git a/src/lib/components/header/settings/Settings.svelte b/src/lib/components/header/settings/Settings.svelte index ca8622714..637947f46 100644 --- a/src/lib/components/header/settings/Settings.svelte +++ b/src/lib/components/header/settings/Settings.svelte @@ -1,13 +1,11 @@ @@ -90,54 +58,6 @@ {/await} {/each} - - openThemeEditor()} class="group mt-4 flex items-center gap-1 rounded-lg text-sm font-semibold text-text/60 transition-colors"> -
My Themes
- -
- - {#if themeContext.userThemes.length === 0} -

No custom themes yet. Create your own theme or import one from the community!

- {:else} - {#each themeContext.userThemes as theme (theme.metadata.id)} - {#await getThemeIcons({ color: theme.colors?.logo, invert: theme.light }) then iconSvg} - {@const iconDataUrl = `data:image/svg+xml;base64,${btoa(iconSvg)}`} - -
- - - {theme.metadata.name.slice(0, 2)} - -
-

{theme.metadata.name}

-

- by - {theme.metadata.author} -

-
-
- -
- - - - - openThemeEditor(theme.metadata.id)} class="rounded p-1.5 transition-colors hover:bg-text/10" aria-label="Edit theme"> - - - - shareTheme(theme.metadata.id)} class="rounded p-1.5 transition-colors hover:bg-text/10" aria-label="Share theme"> - - - - confirmDelete(theme.metadata.id)} class="rounded p-1.5 transition-colors hover:bg-text/10" aria-label="Delete theme"> - - -
-
- {/await} - {/each} - {/if}
diff --git a/src/lib/components/misc/Chip.svelte b/src/lib/components/misc/Chip.svelte index 7520043f5..fc8b96a90 100644 --- a/src/lib/components/misc/Chip.svelte +++ b/src/lib/components/misc/Chip.svelte @@ -41,11 +41,11 @@ let hasBeenInViewport = $state(false); let open = $state(false); - const inViewport = $derived(image ? new IsInViewport(() => targetNode, { rootMargin: "200px 0px", threshold: 0 }) : undefined); + const inViewport = new IsInViewport(() => (image ? targetNode : null), { rootMargin: "200px 0px", threshold: 0 }); const internalState = getInternalState(); $effect(() => { - if (inViewport?.current && !hasBeenInViewport) { + if (inViewport.current && !hasBeenInViewport) { hasBeenInViewport = true; } }); diff --git a/src/lib/components/misc/CommandPalette.svelte b/src/lib/components/misc/CommandPalette.svelte index 4d680e6a4..0d746c29d 100644 --- a/src/lib/components/misc/CommandPalette.svelte +++ b/src/lib/components/misc/CommandPalette.svelte @@ -53,9 +53,15 @@ return score; } + function setCommandOpen(open: boolean) { + internalState.openCommand = open; + if (!open) { + resetSearchState(); + } + } + function closeCommand() { - internalState.openCommand = false; - resetSearchState(); + setCommandOpen(false); } async function submitSearch() { @@ -68,7 +74,7 @@ submittedSearchError = undefined; try { - const response = await searchUser({ username }).run(); + const response = await searchUser({ username }); closeCommand(); await goto(resolve("/stats/[ign]", { ign: response.username ?? "" })); } catch (err) { @@ -86,15 +92,9 @@ void submitSearch(); } } - - $effect(() => { - if (!internalState.openCommand) { - resetSearchState(); - } - }); - + internalState.openCommand, setCommandOpen}> {#snippet child({ props, open })} diff --git a/src/lib/components/misc/Navbar.svelte b/src/lib/components/misc/Navbar.svelte index a8c8f9ca7..fdce0302b 100644 --- a/src/lib/components/misc/Navbar.svelte +++ b/src/lib/components/misc/Navbar.svelte @@ -51,11 +51,13 @@ function scrollToTab({ element, smooth = true, - options + options, + retries = 5 }: { element?: HTMLElement | null; smooth?: boolean; options?: ScrollIntoViewOptions; + retries?: number; } = {}) { const scrollOptions = options ?? { behavior: smooth ? "smooth" : "auto", @@ -66,7 +68,11 @@ const link = element ?? document.querySelector(`button[data-id="${internalState.tabValue}"]`); if (link == null) { - console.warn(`could not scroll to ${location.hash} tab because it does not exist`, link); + // Button may not be in the DOM yet — bits-ui's ScrollArea.Viewport sometimes mounts children + // a frame later than its root. Retry on rAF, bounded. + if (retries > 0) { + requestAnimationFrame(() => scrollToTab({ smooth, options, retries: retries - 1 })); + } return; } @@ -79,7 +85,8 @@ return; } - const topValue = parseInt(window.getComputedStyle(navbarElement).getPropertyValue("top")); + const parsedTop = parseInt(window.getComputedStyle(navbarElement).getPropertyValue("top")); + const topValue = Number.isFinite(parsedTop) ? parsedTop : 0; observer = new IntersectionObserver( ([e]) => { @@ -113,19 +120,22 @@ observerCleanup(); }); - // Effect to handle tab value changes and update URL + // Effect to handle tab value changes and update URL. + // Depends on filteredSectionOrderPreferences so it re-runs once the tab buttons populate, + // since the target button is rendered from that list and may not exist on the initial mount tick. $effect(() => { - if (navbarElement && internalState.tabValue) { - tick().then(() => { - scrollToTab({ smooth: true }); - // eslint-disable-next-line svelte/no-navigation-without-resolve - replaceState("#" + internalState.tabValue, page.state); - }); - } + if (!navbarElement || !internalState.tabValue) return; + if (!filteredSectionOrderPreferences.some((s) => s.name === internalState.tabValue)) return; + + tick().then(() => { + scrollToTab({ smooth: true }); + // eslint-disable-next-line svelte/no-navigation-without-resolve + replaceState("#" + internalState.tabValue, page.state); + }); }); - + {#snippet viewportChildren()}
@@ -138,7 +148,7 @@
{/snippet} - +
diff --git a/src/lib/components/newsroom/NewPostsNotifier.svelte b/src/lib/components/newsroom/NewPostsNotifier.svelte new file mode 100644 index 000000000..051eb140f --- /dev/null +++ b/src/lib/components/newsroom/NewPostsNotifier.svelte @@ -0,0 +1,55 @@ + diff --git a/src/lib/components/newsroom/NewPostsToast.svelte b/src/lib/components/newsroom/NewPostsToast.svelte new file mode 100644 index 000000000..e60b9efc7 --- /dev/null +++ b/src/lib/components/newsroom/NewPostsToast.svelte @@ -0,0 +1,86 @@ + + +
+
+ {#if thumb && newestUnseen.heroImage} + + + + + +
+
+ {:else} + + {/if} + +
+

{newestUnseen.title}

+ {#if newestUnseen.excerpt} +

{newestUnseen.excerpt}

+ {/if} + {#if publishedDate} + + {/if} +
+ +
+ + {#each visibleTags as tag (tag)} + #{tag} + {/each} + {#if overflowTags > 0} + +{overflowTags} + {/if} +
+
+ +
+ Close + {#if newestUnseen.slug} + Read + {/if} +
+
diff --git a/src/lib/components/newsroom/Pagination.svelte b/src/lib/components/newsroom/Pagination.svelte new file mode 100644 index 000000000..c5e8b37fb --- /dev/null +++ b/src/lib/components/newsroom/Pagination.svelte @@ -0,0 +1,46 @@ + + +{#if totalPages > 1} + +{/if} diff --git a/src/lib/components/newsroom/PostCard.svelte b/src/lib/components/newsroom/PostCard.svelte new file mode 100644 index 000000000..9ba8c478b --- /dev/null +++ b/src/lib/components/newsroom/PostCard.svelte @@ -0,0 +1,81 @@ + + + +
+ {#if thumb && post.heroImage} + + + + + + + {/if} +
+ {#if post.featured} + + {/if} +
+
+
+
+ {#if author.mcUuid} + + + {initials} + + {/if} + {displayName} +
+ +
+ + {post.title} + + {#if post.excerpt} +

{post.excerpt}

+ {/if} + +
+ + {#each visibleTags as tag (tag)} + #{tag} + {/each} + {#if overflowTags > 0} + +{overflowTags} + {/if} +
+
+
diff --git a/src/lib/components/newsroom/PostRenderer.svelte b/src/lib/components/newsroom/PostRenderer.svelte new file mode 100644 index 000000000..cc8408197 --- /dev/null +++ b/src/lib/components/newsroom/PostRenderer.svelte @@ -0,0 +1,15 @@ + + +{#each body as block, i (block.id ?? i)} + {#if block.blockType === "image"} + + {:else if block.blockType === "richText"} + + {/if} +{/each} diff --git a/src/lib/components/newsroom/TypeBadge.svelte b/src/lib/components/newsroom/TypeBadge.svelte new file mode 100644 index 000000000..ca947e160 --- /dev/null +++ b/src/lib/components/newsroom/TypeBadge.svelte @@ -0,0 +1,31 @@ + + + + + + {POST_TYPE_LABELS[type]} + diff --git a/src/lib/components/newsroom/lexical/elements/Image.svelte b/src/lib/components/newsroom/lexical/elements/Image.svelte new file mode 100644 index 000000000..4e7032c70 --- /dev/null +++ b/src/lib/components/newsroom/lexical/elements/Image.svelte @@ -0,0 +1,20 @@ + + +
+ + {#if block.caption} +
{block.caption}
+ {/if} +
diff --git a/src/lib/components/newsroom/lexical/elements/RichText.svelte b/src/lib/components/newsroom/lexical/elements/RichText.svelte new file mode 100644 index 000000000..b0c562713 --- /dev/null +++ b/src/lib/components/newsroom/lexical/elements/RichText.svelte @@ -0,0 +1,95 @@ + + +
+ + {@html html} +
+ + diff --git a/src/lib/components/stats/Skillbar.svelte b/src/lib/components/stats/Skillbar.svelte index 0b88ba1b7..d2020fe99 100644 --- a/src/lib/components/stats/Skillbar.svelte +++ b/src/lib/components/stats/Skillbar.svelte @@ -6,6 +6,7 @@ import BarChartHorizontal from "@lucide/svelte/icons/bar-chart-horizontal"; import { Avatar, Progress } from "bits-ui"; import { format } from "numerable"; + import { createHover } from "svelte-interactions"; import { cubicInOut } from "svelte/easing"; import { Tween } from "svelte/motion"; @@ -18,11 +19,10 @@ let { skill, skillData, apiEnabled = true, class: className }: Props = $props(); + const { hoverAction, isHovered } = createHover(); const isMaxed = $derived(skillData.maxed); const preferences = getPreferences(); const tween = new Tween(100, { duration: 1000, easing: cubicInOut }); - let isHovered = $state(false); - const skillbarProgress = $derived(100 - parseFloat(calculatePercentage(skillData.xpCurrent ?? 0, isMaxed ? (skillData.xpCurrent ?? 0) : (skillData.xpForNext ?? 0)))); $effect(() => { @@ -30,7 +30,7 @@ }); -
(isHovered = true)} onpointerleave={() => (isHovered = false)} role="none"> +
@@ -50,13 +50,13 @@ {#if apiEnabled}
- {#if isHovered && !isMaxed} + {#if $isHovered && !isMaxed} {format(skillData.xpCurrent, "0,0")} / {format(skillData.xpForNext)} {:else if !isMaxed} {formatNumber(skillData.xpCurrent ?? 0)} / {formatNumber(skillData.xpForNext ?? 0)} {/if} - {#if isHovered && isMaxed} + {#if $isHovered && isMaxed} {format(skillData.xpCurrent, "0,0")} {:else if isMaxed} {formatNumber(skillData.xpCurrent ?? 0)} diff --git a/src/lib/hooks/client-locale.svelte.ts b/src/lib/hooks/client-locale.svelte.ts new file mode 100644 index 000000000..16bd5a2b1 --- /dev/null +++ b/src/lib/hooks/client-locale.svelte.ts @@ -0,0 +1,32 @@ +import { createSubscriber } from "svelte/reactivity"; + +const FALLBACK_LOCALE = "en-US"; + +/** + * The browser's `navigator.language`, exposed reactively and SSR-safely. + * + * `navigator` doesn't exist (meaningfully) on the server, and reading it during + * the first client render would make the hydrated markup disagree with the + * server's — a hydration mismatch for anything locale-formatted (dates, numbers). + * + * `createSubscriber` solves both: its `start` callback only runs once `current` + * is read inside an effect, which never happens on the server and only happens + * *after* mount on the client. So SSR and the initial hydration render both see + * {@link FALLBACK_LOCALE}, then the value updates to the real locale once mounted. + * + * Safe as a module singleton: the state is only ever mutated client-side, so the + * server-side value is constant and can't leak between requests. + */ +class ClientLocale { + #current = $state(FALLBACK_LOCALE); + #subscribe = createSubscriber(() => { + this.#current = navigator.language || FALLBACK_LOCALE; + }); + + get current(): string { + this.#subscribe(); + return this.#current; + } +} + +export const clientLocale = new ClientLocale(); diff --git a/src/lib/hooks/is-hover.svelte.ts b/src/lib/hooks/is-hover.svelte.ts index 120ff5df3..52b51b1e8 100644 --- a/src/lib/hooks/is-hover.svelte.ts +++ b/src/lib/hooks/is-hover.svelte.ts @@ -1,9 +1,11 @@ -import { MediaQuery } from "svelte/reactivity"; +export class IsHover { + #current = $state(true); -const MEDIA_QUERY = "(hover: hover) and (pointer: fine)"; + constructor() { } -export class IsHover extends MediaQuery { - constructor() { - super(MEDIA_QUERY); + get current() { + return this.#current; } -} + + destroy() { } +} \ No newline at end of file diff --git a/src/lib/layouts/stats/AdditionalStats.svelte b/src/lib/layouts/stats/AdditionalStats.svelte index 72690c5eb..516acc580 100644 --- a/src/lib/layouts/stats/AdditionalStats.svelte +++ b/src/lib/layouts/stats/AdditionalStats.svelte @@ -15,17 +15,7 @@ const profile = $derived(getProfileContext().current); const profileUUID = $derived(profile?.uuid); const profileId = $derived(profile?.profile_id); - const networthState = $derived.by(() => { - if (profileUUID == null || profileId == null) { - return { current: null }; - } - - const query = getNetworth({ uuid: profileUUID, profileId }); - - return { - current: query.current - }; - }); + const networth = $derived(profileUUID != null && profileId != null ? await getNetworth({ uuid: profileUUID, profileId }) : null); const defaultPatternDecimal: string = "0,0.##"; const defaultPattern: string = "0,0"; @@ -144,12 +134,12 @@ Retry
{/snippet} - {#if networthState.current} - {#if networthState.current.normal} - + {#if networth} + {#if networth.normal} + {/if} - {#if networthState.current.nonCosmetic} - + {#if networth.nonCosmetic} + {/if} {/if} diff --git a/src/lib/layouts/stats/Main.svelte b/src/lib/layouts/stats/Main.svelte index 42f7dcd99..55fcd9faa 100644 --- a/src/lib/layouts/stats/Main.svelte +++ b/src/lib/layouts/stats/Main.svelte @@ -1,27 +1,21 @@ - -
- {#if isHover.current} diff --git a/src/lib/layouts/stats/PlayerProfile.svelte b/src/lib/layouts/stats/PlayerProfile.svelte index 196caa3ab..58460d6b0 100644 --- a/src/lib/layouts/stats/PlayerProfile.svelte +++ b/src/lib/layouts/stats/PlayerProfile.svelte @@ -1,21 +1,12 @@
@@ -188,119 +162,6 @@ {/if}
-
- - { - if (profile == null) return; - if (!favorites.current.some((fav) => fav.uuid === profile.uuid)) { - favorites.current = [...favorites.current, { uuid: profile.uuid ?? "", ign: profile.username ?? "", displayName: profile.displayName ?? undefined }]; - toast.dismiss(toastId); - toastId = toast.success(`Added ${profile.username} to your favorites!`); - } else { - favorites.current = favorites.current.filter((fav) => fav.uuid !== profile.uuid); - toast.dismiss(toastId); - toastId = toast.success(`Removed ${profile.username} from your favorites!`); - } - }} - onpointerdown={() => (favoriteTooltipOpen = !favoriteTooltipOpen)}> - {#snippet child({ props })} - - {/snippet} - - - - {#snippet child({ wrapperProps, props, open })} - {#if open} -
-
- - {#if favorites.current.some((fav) => fav.uuid === profile?.uuid)} -

Remove from favorites

- {:else} -

Add to favorites

- {/if} -
-
- {/if} - {/snippet} -
-
-
- - { - copyToClipboard(window.location.href); - }}> - - - - - - - Plancke - - - - Elite - - - (showMore = !showMore)}> - - - {#if showMore} - { - copyToClipboard(profile?.uuid ?? ""); - }}> - Copy UUID - - - { - copyToClipboard(profile?.profile_id ?? ""); - }}> - Copy Profile UUID - - - {#if profile?.social} - {#each Object.entries(profile.social) as [key, value], index (index)} - {#if key === "DISCORD"} - copyToClipboard(value)}> - - - - {profile.username?.slice(0, 2)} - - - {value} - - {:else} - - - - - {profile.username?.slice(0, 2)} - - - - {/if} - {/each} - {/if} - {/if} -
{#snippet profileIcon(gameMode: string)} {#if gameMode === "bingo"} diff --git a/src/lib/layouts/stats/Stats.svelte b/src/lib/layouts/stats/Stats.svelte index 7239db858..735fdcb18 100644 --- a/src/lib/layouts/stats/Stats.svelte +++ b/src/lib/layouts/stats/Stats.svelte @@ -12,19 +12,7 @@ const profile = $derived(getProfileContext().current); const profileUUID = $derived(profile?.uuid); const profileId = $derived(profile?.profile_id); - const statsState = $derived.by(() => { - if (!openState || !profileUUID || !profileId) { - return { current: null, error: null, loading: false }; - } - - const query = getAdditionalStats({ uuid: profileUUID, profileId }); - - return { - current: query.current, - error: query.error, - loading: query.loading - }; - }); + const statsQuery = $derived(openState && profileUUID && profileId ? getAdditionalStats({ uuid: profileUUID, profileId }) : null);
@@ -33,12 +21,12 @@ {#snippet child({ props, open })} {#if open} - {#if statsState.error} - + {#if statsQuery?.error} + {/if} - {#if statsState.current?.stats} + {#if statsQuery?.current?.stats}
- {#each Object.entries(statsState.current.stats) as [statName, statData], index (index)} + {#each Object.entries(statsQuery.current.stats) as [statName, statData], index (index)} {#if statData.total > 0} {/if} @@ -50,7 +38,7 @@ {/key} - {#if statsState.loading} + {#if statsQuery?.loading} {:else} {openState ? "Hide Stats" : "Show Stats"} diff --git a/src/lib/sections/Sections.svelte b/src/lib/sections/Sections.svelte index 0ad528d7a..607c6e66c 100644 --- a/src/lib/sections/Sections.svelte +++ b/src/lib/sections/Sections.svelte @@ -1,8 +1,7 @@
- {#if inventories.length && currentInventory} - selectedTabName, handleTabChange} class="@container relative mb-0 rounded-lg bg-background/30 p-5 pt-4"> - - - {#snippet viewportChildren()} -
- {#each inventories as tabItem (tabItem.name)} - - - - - - - - {tabItem.name} - {#if selectedTabName === tabItem.name} -
- {:else} -
- {/if} -
- {/each} -
- {/snippet} - - - -
-
+ + {#snippet pending()} + + {/snippet} + {#snippet failed()} +

Failed to load inventories.

+ {/snippet} + {#if inventories.length && currentInventory} + selectedTabName, handleTabChange} class="@container relative mb-0 rounded-lg bg-background/30 p-5 pt-4"> + + + {#snippet viewportChildren()} +
+ {#each inventories as tabItem (tabItem.name)} + + + + + + + + {tabItem.name} + {#if selectedTabName === tabItem.name} +
+ {:else} +
+ {/if} +
+ {/each} +
+ {/snippet} + + + +
+
- - {#if selectedTabName === "Search"} - {#if uuid && profileId} - + + {#if selectedTabName === "Search"} + {#if uuid && profileId} + + {/if} + {:else if usesNestedInventoryView} + {@render multipleInventorySection(currentInventory?.items ?? [])} + {:else} + {/if} - {:else if usesNestedInventoryView} - {@render multipleInventorySection(currentInventory?.items ?? [])} - {:else} - - {/if} - -
- {:else if inventoriesState.error} -

Failed to load inventories.

- {:else} - - {/if} + +
+ {/if} +
{#snippet itemSnippet(item: ModelsStrippedItem)} diff --git a/src/lib/sections/stats/Minions.svelte b/src/lib/sections/stats/Minions.svelte index 1edd0400d..d8a693058 100644 --- a/src/lib/sections/stats/Minions.svelte +++ b/src/lib/sections/stats/Minions.svelte @@ -35,20 +35,6 @@
{/snippet} - - - - MA - -
-
Looking for a place to trade minions?
- - Check out - - -
-
- {#if minions.minions} {#each Object.entries(minions.minions) as [category, data], index (index)}
diff --git a/src/lib/sections/stats/Overview.svelte b/src/lib/sections/stats/Overview.svelte new file mode 100644 index 000000000..b96fbcd6d --- /dev/null +++ b/src/lib/sections/stats/Overview.svelte @@ -0,0 +1,18 @@ + + +
+
+ + + + +
+
\ No newline at end of file diff --git a/src/lib/sections/stats/misc/pet.svelte b/src/lib/sections/stats/misc/pet.svelte index 0020ee021..66b914a03 100644 --- a/src/lib/sections/stats/misc/pet.svelte +++ b/src/lib/sections/stats/misc/pet.svelte @@ -19,8 +19,8 @@ {#if misc.pet_milestones.sea_creatures_killed.rarity} {/if} - {#if misc.pet_milestones.sea_creatures_killed.progress} - + {#if misc.pet_milestones.sea_creatures_killed.progress !== null} + {/if} @@ -30,8 +30,8 @@ {/if} - {#if misc.pet_milestones.ores_mined.progress} - + {#if misc.pet_milestones.ores_mined.progress !== null} + {/if} {/if} diff --git a/src/lib/sections/stats/skills/mining.svelte b/src/lib/sections/stats/skills/mining.svelte index c6754a584..5c5757341 100644 --- a/src/lib/sections/stats/skills/mining.svelte +++ b/src/lib/sections/stats/skills/mining.svelte @@ -185,9 +185,6 @@ {#if mining.glaciteTunnels} Glacite Tunnels
- {#if mining.glaciteTunnels.fossilDust != null} - - {/if} {#if mining.glaciteTunnels.mineshaftsEntered != null} {/if} diff --git a/src/lib/sections/types.ts b/src/lib/sections/types.ts index a6bd43277..5b18aedf0 100644 --- a/src/lib/sections/types.ts +++ b/src/lib/sections/types.ts @@ -1,6 +1,6 @@ import type { Component } from "svelte"; -export type SectionName = "Gear" | "Accessories" | "Pets" | "Inventory" | "Skills" | "Dungeons" | "Slayer" | "Minions" | "Bestiary" | "Collections" | "Crimson_Isle" | "Rift" | "Misc"; +export type SectionName = "Overview" | "Gear" | "Accessories" | "Pets" | "Inventory" | "Skills" | "Dungeons" | "Slayer" | "Minions" | "Bestiary" | "Collections" | "Crimson_Isle" | "Attribute_Shards" | "Rift" | "Misc"; export type SectionComponents = Record | null>; export type SectionComponentsEager = Record; diff --git a/src/lib/server/auth.ts b/src/lib/server/auth.ts new file mode 100644 index 000000000..44bd8b273 --- /dev/null +++ b/src/lib/server/auth.ts @@ -0,0 +1,145 @@ +import { building, dev } from "$app/environment"; +import { getRequestEvent } from "$app/server"; +import { env as envPrivate } from "$env/dynamic/private"; +import { env as envPublic } from "$env/dynamic/public"; +import { db } from "$lib/server/db"; +import { apiKey } from "@better-auth/api-key"; +import type { BetterAuthPlugin } from "better-auth"; +import { drizzleAdapter } from "better-auth/adapters/drizzle"; +import { betterAuth } from "better-auth/minimal"; +import { admin, genericOAuth, patreon } from "better-auth/plugins"; +import { sveltekitCookies } from "better-auth/svelte-kit"; + +const { BETTER_AUTH_SECRET, ORIGIN, DISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET, ADDRESS_HEADER, MC_ID_CLIENT_ID, MC_ID_CLIENT_SECRET, PATREON_CLIENT_ID, PATREON_CLIENT_SECRET, DISCORD_WHITELIST } = envPrivate; +const { PUBLIC_BASE_URL } = envPublic; + +const BUILD_TIME_AUTH_SECRET = "build-time-placeholder-secret-for-sveltekit-build"; +const BUILD_TIME_BASE_URL = "http://localhost:3000"; + +// Uncomment when running `pn auth:schema` +// const building = false; // Placeholder since we can't import from $app/environment in this file +// const dev = false; // Placeholder since we can't import from $app/environment in this file + +function getBetterAuthSecret() { + if (BETTER_AUTH_SECRET) return BETTER_AUTH_SECRET; + if (building) return BUILD_TIME_AUTH_SECRET; + + throw new Error("BETTER_AUTH_SECRET is required at runtime."); +} + +function getBaseURL() { + if (PUBLIC_BASE_URL) return PUBLIC_BASE_URL; + if (ORIGIN) return ORIGIN; + if (building) return BUILD_TIME_BASE_URL; + + throw new Error("PUBLIC_BASE_URL or ORIGIN is required at runtime."); +} + +const getWhitelist = () => { + if (!DISCORD_WHITELIST) return []; + return DISCORD_WHITELIST.split(",") + .map((id) => id.trim()) + .filter(Boolean); +}; + +const baseURL = getBaseURL(); + +// Dynamically import the openAPI plugin only in development to avoid including it in the production bundle +const openAPIPlugin: BetterAuthPlugin | null = dev + ? await (async () => { + const { openAPI } = await import("better-auth/plugins"); + return openAPI(); + })() + : null; + +export const auth = betterAuth({ + appName: "SkyCrypt", + baseURL, + secret: getBetterAuthSecret(), + database: drizzleAdapter(db, { provider: "pg" }), + emailAndPassword: { enabled: false }, + socialProviders: { + discord: { + clientId: DISCORD_CLIENT_ID, + clientSecret: DISCORD_CLIENT_SECRET, + disableDefaultScope: true, + disableSignUp: false, + scope: ["identify"], + enabled: true, + prompt: "consent", + mapProfileToUser: (profile) => ({ + email: profile.id + "@discord.placeholder.local" + }) + } + }, + // Better Auth lifecycle database hooks + databaseHooks: { + user: { + create: { + before: async (user) => { + const whitelist = getWhitelist(); + + // Fallback if whitelist environment variable isn't configured yet + if (whitelist.length === 0) { + throw new Error("Access Denied: Registrations are currently locked."); + } + + // Extract the Discord ID out of the generated placeholder email address + const discordId = user.email.split("@")[0]; + + if (!whitelist.includes(discordId)) { + // Throwing an error here stops the database transaction entirely + throw new Error("Access Denied: Your Discord account is not whitelisted."); + } + + return { data: user }; + } + } + } + }, + session: { + cookieCache: { + enabled: true, + maxAge: 5 * 60, // Cache duration in seconds + strategy: "jwe" + }, + storeSessionInDatabase: true + }, + advanced: { + ipAddress: { + ipAddressHeaders: [(ADDRESS_HEADER || "x-forwarded-for").toLowerCase()] + }, + useSecureCookies: !dev + }, + plugins: [ + apiKey({ + defaultPrefix: "sky_" + }), + admin(), + genericOAuth({ + config: [ + { + providerId: "mc-id", + clientId: MC_ID_CLIENT_ID, + clientSecret: MC_ID_CLIENT_SECRET, + discoveryUrl: "https://mc-id.com/.well-known/openid-configuration", + scopes: ["profile", "connections"], + pkce: true, + disableSignUp: true, + disableImplicitSignUp: true, + requireIssuerValidation: true + }, + patreon({ + clientId: PATREON_CLIENT_ID, + clientSecret: PATREON_CLIENT_SECRET, + pkce: true, + disableSignUp: true, + disableImplicitSignUp: true, + scopes: ["identity.memberships"] + }) + ] + }), + ...(openAPIPlugin ? [openAPIPlugin] : []), // Conditionally include the openAPI plugin only in development + sveltekitCookies(getRequestEvent) // make sure this is the last plugin in the array + ] +}); diff --git a/src/lib/server/db/index.ts b/src/lib/server/db/index.ts new file mode 100644 index 000000000..93f060517 --- /dev/null +++ b/src/lib/server/db/index.ts @@ -0,0 +1,27 @@ +import { env } from "$env/dynamic/private"; +import { drizzle, type PostgresJsDatabase } from "drizzle-orm/postgres-js"; + +import postgres from "postgres"; +import * as schema from "./schema"; + +// Lazily initialise the database connection. Importing this module must not +// throw when DATABASE_URL is unset: the SvelteKit build's `analyse` step imports +// every server module, and the Cloudflare embed deployment runs without a DB. +// The check + connection are deferred until `db` is actually queried. +let instance: PostgresJsDatabase | undefined; + +function getDb(): PostgresJsDatabase { + if (!instance) { + if (!env.DATABASE_URL) throw new Error("DATABASE_URL is not set"); + const client = postgres(env.DATABASE_URL); + instance = drizzle(client, { schema }); + } + return instance; +} + +export const db = new Proxy({} as PostgresJsDatabase, { + get(_target, prop, receiver) { + const value = Reflect.get(getDb(), prop, receiver); + return typeof value === "function" ? value.bind(getDb()) : value; + } +}); diff --git a/src/lib/server/db/migrate.ts b/src/lib/server/db/migrate.ts new file mode 100644 index 000000000..7775bfe18 --- /dev/null +++ b/src/lib/server/db/migrate.ts @@ -0,0 +1,19 @@ +import { db } from "$src/lib/server/db"; +import { migrate } from "drizzle-orm/postgres-js/migrator"; +import path from "node:path"; + +export async function runMigrations() { + console.info("[migrate] Starting migrations..."); + + const migrationsFolder = path.resolve(process.cwd(), "drizzle"); + + console.info(`[migrate] Migrations folder resolved to: ${migrationsFolder}`); + + try { + await migrate(db, { migrationsFolder }); + console.info("[migrate] All migrations complete"); + } catch (error) { + console.error("[migrate] Migration failed:", error); + throw error; // crash the process; never start with failed migration + } +} diff --git a/src/lib/server/db/schema/auth.schema.ts b/src/lib/server/db/schema/auth.schema.ts new file mode 100644 index 000000000..ae00fccb6 --- /dev/null +++ b/src/lib/server/db/schema/auth.schema.ts @@ -0,0 +1,127 @@ +import { relations } from "drizzle-orm"; +import { boolean, index, integer, pgTable, text, timestamp } from "drizzle-orm/pg-core"; + +export const user = pgTable("user", { + id: text("id").primaryKey(), + name: text("name").notNull(), + email: text("email").notNull().unique(), + emailVerified: boolean("email_verified").default(false).notNull(), + image: text("image"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at") + .defaultNow() + .$onUpdate(() => /* @__PURE__ */ new Date()) + .notNull(), + role: text("role"), + banned: boolean("banned").default(false), + banReason: text("ban_reason"), + banExpires: timestamp("ban_expires") +}); + +export const session = pgTable( + "session", + { + id: text("id").primaryKey(), + expiresAt: timestamp("expires_at").notNull(), + token: text("token").notNull().unique(), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at") + .$onUpdate(() => /* @__PURE__ */ new Date()) + .notNull(), + ipAddress: text("ip_address"), + userAgent: text("user_agent"), + userId: text("user_id") + .notNull() + .references(() => user.id, { onDelete: "cascade" }), + impersonatedBy: text("impersonated_by") + }, + (table) => [index("session_userId_idx").on(table.userId)] +); + +export const account = pgTable( + "account", + { + id: text("id").primaryKey(), + accountId: text("account_id").notNull(), + providerId: text("provider_id").notNull(), + userId: text("user_id") + .notNull() + .references(() => user.id, { onDelete: "cascade" }), + accessToken: text("access_token"), + refreshToken: text("refresh_token"), + idToken: text("id_token"), + accessTokenExpiresAt: timestamp("access_token_expires_at"), + refreshTokenExpiresAt: timestamp("refresh_token_expires_at"), + scope: text("scope"), + password: text("password"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at") + .$onUpdate(() => /* @__PURE__ */ new Date()) + .notNull() + }, + (table) => [index("account_userId_idx").on(table.userId)] +); + +export const verification = pgTable( + "verification", + { + id: text("id").primaryKey(), + identifier: text("identifier").notNull(), + value: text("value").notNull(), + expiresAt: timestamp("expires_at").notNull(), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at") + .defaultNow() + .$onUpdate(() => /* @__PURE__ */ new Date()) + .notNull() + }, + (table) => [index("verification_identifier_idx").on(table.identifier)] +); + +export const apikey = pgTable( + "apikey", + { + id: text("id").primaryKey(), + configId: text("config_id").default("default").notNull(), + name: text("name"), + start: text("start"), + referenceId: text("reference_id").notNull(), + prefix: text("prefix"), + key: text("key").notNull(), + refillInterval: integer("refill_interval"), + refillAmount: integer("refill_amount"), + lastRefillAt: timestamp("last_refill_at"), + enabled: boolean("enabled").default(true), + rateLimitEnabled: boolean("rate_limit_enabled").default(true), + rateLimitTimeWindow: integer("rate_limit_time_window").default(86400000), + rateLimitMax: integer("rate_limit_max").default(10), + requestCount: integer("request_count").default(0), + remaining: integer("remaining"), + lastRequest: timestamp("last_request"), + expiresAt: timestamp("expires_at"), + createdAt: timestamp("created_at").notNull(), + updatedAt: timestamp("updated_at").notNull(), + permissions: text("permissions"), + metadata: text("metadata") + }, + (table) => [index("apikey_configId_idx").on(table.configId), index("apikey_referenceId_idx").on(table.referenceId), index("apikey_key_idx").on(table.key)] +); + +export const userRelations = relations(user, ({ many }) => ({ + sessions: many(session), + accounts: many(account) +})); + +export const sessionRelations = relations(session, ({ one }) => ({ + user: one(user, { + fields: [session.userId], + references: [user.id] + }) +})); + +export const accountRelations = relations(account, ({ one }) => ({ + user: one(user, { + fields: [account.userId], + references: [user.id] + }) +})); diff --git a/src/lib/server/db/schema/index.ts b/src/lib/server/db/schema/index.ts new file mode 100644 index 000000000..5d13be3df --- /dev/null +++ b/src/lib/server/db/schema/index.ts @@ -0,0 +1 @@ +export * from "./auth.schema"; diff --git a/src/lib/shared/api/cms-api.remote.ts b/src/lib/shared/api/cms-api.remote.ts new file mode 100644 index 000000000..86092d32d --- /dev/null +++ b/src/lib/shared/api/cms-api.remote.ts @@ -0,0 +1,62 @@ +import { query } from "$app/server"; +import { env as envPrivate } from "$env/dynamic/private"; +import { listPosts as listPostsRequest, type ListPostsParams } from "$lib/shared/api/cms-generated"; +import { POST_TYPES, type Post, type PostListResponse } from "$types"; +import { error } from "@sveltejs/kit"; +import z from "zod"; + +/** + * Payload REST filters with bracket-notation query params (`where[x][equals]=y`) and + * supports comma-separated multi-sort — neither of which orval's URL serializer can + * express through the typed `where`/`sort` params. We pass them as flat string keys + * instead; this bridges that plain record to the generated `ListPostsParams` shape. + */ +const asListParams = (params: Record): ListPostsParams => params as unknown as ListPostsParams; + +/** List published posts, paginated. Featured posts sort first. */ +export const listPosts = query( + z.object({ + page: z.number().int().min(1).default(1), + limit: z.number().int().min(1).max(50).default(20), + type: z.enum(POST_TYPES).optional() + }), + async ({ page, limit, type }) => { + const params: Record = { + page, + limit, + depth: 1, + sort: "-featured,-publishedAt", + "where[_status][equals]": "published" + }; + if (type) params["where[type][equals]"] = type; + + const { data } = await listPostsRequest(asListParams(params)); + return data as PostListResponse; + } +); + +/** List the latest published posts for local unread notifications. */ +export const listLatestPostsForNotifications = query( + z.object({ + limit: z.number().int().min(1).max(10).default(5) + }), + async ({ limit }) => { + const { data } = await listPostsRequest(asListParams({ page: 1, limit, depth: 1, sort: "-publishedAt", "where[_status][equals]": "published" })); + return data as PostListResponse; + } +); + +/** Get a single published post by slug. */ +export const getPostBySlug = query(z.object({ slug: z.string() }), async ({ slug }) => { + const { data } = await listPostsRequest(asListParams({ limit: 1, depth: 2, "where[slug][equals]": slug, "where[_status][equals]": "published" })); + if (!data.docs.length) error(404, "Post not found"); + return data.docs[0] as Post; +}); + +/** Get a draft post by slug. Never cached. Uses CMS_API_TOKEN. */ +export const getPostBySlugDraft = query(z.object({ slug: z.string() }), async ({ slug }) => { + const token = envPrivate.CMS_API_TOKEN; + const { data } = await listPostsRequest(asListParams({ limit: 1, depth: 2, draft: true, "where[slug][equals]": slug }), token ? { headers: { Authorization: `users API-Key ${token}` } } : undefined); + if (!data.docs.length) error(404, "Post not found"); + return data.docs[0] as Post; +}); diff --git a/src/lib/shared/api/cms-generated.ts b/src/lib/shared/api/cms-generated.ts new file mode 100644 index 000000000..71d442c6c --- /dev/null +++ b/src/lib/shared/api/cms-generated.ts @@ -0,0 +1,4032 @@ +/** + * Generated by orval v8.15.0 🍺 + * Do not edit manually. + * SkyCrypt Payload API + * API documentation for the Payload CMS application used by SkyCrypt. + * OpenAPI spec version: 1.0.0 + */ +import { cmsFetch } from "./mutator/cms-instance"; +export type SupportedTimezones = string; + +export type UserSessionsItem = { + id: string; + /** @nullable */ + createdAt?: string | null; + expiresAt: string; +}; + +export type UserCollection = (typeof UserCollection)[keyof typeof UserCollection]; + +export const UserCollection = { + users: "users" +} as const; + +export interface User { + id: string; + name: string; + /** + * Public-facing name shown on /newsroom (typically the Minecraft username). Falls back to `name` when empty. + * @nullable + */ + displayName?: string | null; + /** + * Optional. Drives the Minecraft head avatar on /newsroom. 32-hex with or without dashes. + * @nullable + */ + mcUuid?: string | null; + updatedAt: string; + createdAt: string; + /** @nullable */ + enableAPIKey?: boolean | null; + /** @nullable */ + apiKey?: string | null; + /** @nullable */ + apiKeyIndex?: string | null; + email: string; + /** @nullable */ + resetPasswordToken?: string | null; + /** @nullable */ + resetPasswordExpiration?: string | null; + /** @nullable */ + salt?: string | null; + /** @nullable */ + hash?: string | null; + /** @nullable */ + loginAttempts?: number | null; + /** @nullable */ + lockUntil?: string | null; + /** @nullable */ + sessions?: UserSessionsItem[] | null; + /** @nullable */ + password?: string | null; + collection: UserCollection; +} + +export type MediaSizesThumbnail = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaSizesCard = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaSizesHero = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaSizes = { + thumbnail?: MediaSizesThumbnail; + card?: MediaSizesCard; + hero?: MediaSizesHero; +}; + +export interface Media { + id: string; + alt: string; + updatedAt: string; + createdAt: string; + /** @nullable */ + url?: string | null; + /** @nullable */ + thumbnailURL?: string | null; + /** @nullable */ + filename?: string | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + focalX?: number | null; + /** @nullable */ + focalY?: number | null; + sizes?: MediaSizes; +} + +export type PostType = (typeof PostType)[keyof typeof PostType]; + +export const PostType = { + announcement: "announcement", + news: "news", + update: "update", + changelog: "changelog", + guide: "guide", + event: "event" +} as const; + +export type PostBodyItem = + | { + media: string | Media; + /** @nullable */ + caption?: string | null; + /** @nullable */ + alt?: string | null; + /** @nullable */ + id?: string | null; + /** @nullable */ + blockName?: string | null; + blockType: "image"; + } + | { + content: { + root: { + type: string; + children: { + type: string; + version: number; + [key: string]: unknown; + }[]; + direction: "ltr" | "rtl" | null; + format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; + indent: number; + version: number; + }; + }; + /** @nullable */ + id?: string | null; + /** @nullable */ + blockName?: string | null; + blockType: "richText"; + }; + +/** + * @nullable + */ +export type _PostStatus = (typeof _PostStatus)[keyof typeof _PostStatus] | null; + +export const _PostStatus = { + draft: "draft", + published: "published" +} as const; + +export interface Post { + id: string; + title: string; + /** @nullable */ + slug?: string | null; + /** @nullable */ + excerpt?: string | null; + type: PostType; + /** + * Optional free-form tags. Press Enter after each. + * @nullable + */ + tags?: string[] | null; + /** + * Pin to top of /newsroom regardless of publishedAt. + * @nullable + */ + featured?: boolean | null; + heroImage?: string | null | Media; + /** @nullable */ + body?: PostBodyItem[] | null; + /** @nullable */ + publishedAt?: string | null; + author: string | User; + updatedAt: string; + createdAt: string; + /** @nullable */ + _status?: _PostStatus; +} + +/** + * @nullable + */ +export type PayloadKvData = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export interface PayloadKv { + id: string; + key: string; + /** @nullable */ + data: PayloadKvData; +} + +/** + * Input data provided to the job + * @nullable + */ +export type PayloadJobInput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * @nullable + */ +export type PayloadJobTaskStatus = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * If hasError is true, this is the error that caused it + * @nullable + */ +export type PayloadJobError = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobLogItemTaskSlug = (typeof PayloadJobLogItemTaskSlug)[keyof typeof PayloadJobLogItemTaskSlug]; + +export const PayloadJobLogItemTaskSlug = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +/** + * @nullable + */ +export type PayloadJobLogItemInput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * @nullable + */ +export type PayloadJobLogItemOutput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobLogItemState = (typeof PayloadJobLogItemState)[keyof typeof PayloadJobLogItemState]; + +export const PayloadJobLogItemState = { + failed: "failed", + succeeded: "succeeded" +} as const; + +/** + * @nullable + */ +export type PayloadJobLogItemError = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobLogItem = { + executedAt: string; + completedAt: string; + taskSlug: PayloadJobLogItemTaskSlug; + taskID: string; + /** @nullable */ + input?: PayloadJobLogItemInput; + /** @nullable */ + output?: PayloadJobLogItemOutput; + state: PayloadJobLogItemState; + /** @nullable */ + error?: PayloadJobLogItemError; + /** @nullable */ + id?: string | null; +}; + +/** + * @nullable + */ +export type PayloadJobTaskSlug = (typeof PayloadJobTaskSlug)[keyof typeof PayloadJobTaskSlug] | null; + +export const PayloadJobTaskSlug = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +export interface PayloadJob { + id: string; + /** + * Input data provided to the job + * @nullable + */ + input?: PayloadJobInput; + /** @nullable */ + taskStatus?: PayloadJobTaskStatus; + /** @nullable */ + completedAt?: string | null; + /** @nullable */ + totalTried?: number | null; + /** + * If hasError is true this job will not be retried + * @nullable + */ + hasError?: boolean | null; + /** + * If hasError is true, this is the error that caused it + * @nullable + */ + error?: PayloadJobError; + /** + * Task execution log + * @nullable + */ + log?: PayloadJobLogItem[] | null; + /** @nullable */ + taskSlug?: PayloadJobTaskSlug; + /** @nullable */ + queue?: string | null; + /** @nullable */ + waitUntil?: string | null; + /** @nullable */ + processing?: boolean | null; + updatedAt: string; + createdAt: string; +} + +export type PayloadLockedDocumentDocument = + | { + relationTo: "users"; + value: string | User; + } + | null + | { + relationTo: "media"; + value: string | Media; + } + | { + relationTo: "posts"; + value: string | Post; + }; + +export type PayloadLockedDocumentUser = { + relationTo: "users"; + value: string | User; +}; + +export interface PayloadLockedDocument { + id: string; + document?: PayloadLockedDocumentDocument; + /** @nullable */ + globalSlug?: string | null; + user: PayloadLockedDocumentUser; + updatedAt: string; + createdAt: string; +} + +export type PayloadPreferenceUser = { + relationTo: "users"; + value: string | User; +}; + +/** + * @nullable + */ +export type PayloadPreferenceValue = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export interface PayloadPreference { + id: string; + user: PayloadPreferenceUser; + /** @nullable */ + key?: string | null; + /** @nullable */ + value?: PayloadPreferenceValue; + updatedAt: string; + createdAt: string; +} + +export interface PayloadMigration { + id: string; + /** @nullable */ + name?: string | null; + /** @nullable */ + batch?: number | null; + updatedAt: string; + createdAt: string; +} + +export type UserQueryOperationsName = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsDisplayName = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsMcUuid = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsUpdatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type UserQueryOperationsCreatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type UserQueryOperationsEnableAPIKey = { + equals?: boolean; + not_equals?: boolean; + in?: string; + not_in?: string; +}; + +export type UserQueryOperationsApiKey = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsApiKeyIndex = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsEmail = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + contains?: string; +}; + +export type UserQueryOperationsResetPasswordToken = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsResetPasswordExpiration = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type UserQueryOperationsSalt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsHash = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type UserQueryOperationsLoginAttempts = { + equals?: number; + not_equals?: number; + in?: string; + not_in?: string; + greater_than?: number; + greater_than_equal?: number; + less_than?: number; + less_than_equal?: number; +}; + +export type UserQueryOperationsLockUntil = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export interface UserQueryOperations { + name?: UserQueryOperationsName; + displayName?: UserQueryOperationsDisplayName; + mcUuid?: UserQueryOperationsMcUuid; + updatedAt?: UserQueryOperationsUpdatedAt; + createdAt?: UserQueryOperationsCreatedAt; + enableAPIKey?: UserQueryOperationsEnableAPIKey; + apiKey?: UserQueryOperationsApiKey; + apiKeyIndex?: UserQueryOperationsApiKeyIndex; + email?: UserQueryOperationsEmail; + resetPasswordToken?: UserQueryOperationsResetPasswordToken; + resetPasswordExpiration?: UserQueryOperationsResetPasswordExpiration; + salt?: UserQueryOperationsSalt; + hash?: UserQueryOperationsHash; + loginAttempts?: UserQueryOperationsLoginAttempts; + lockUntil?: UserQueryOperationsLockUntil; +} + +export interface UserQueryOperationsOr { + or: (UserQueryOperations | UserQueryOperationsAnd | UserQueryOperationsOr)[]; +} + +export interface UserQueryOperationsAnd { + and: (UserQueryOperations | UserQueryOperationsAnd | UserQueryOperationsOr)[]; +} + +export type MediaQueryOperationsAlt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type MediaQueryOperationsUpdatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type MediaQueryOperationsCreatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type MediaQueryOperationsUrl = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type MediaQueryOperationsThumbnailURL = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type MediaQueryOperationsFilename = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type MediaQueryOperationsMimeType = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type MediaQueryOperationsFilesize = { + equals?: number; + not_equals?: number; + in?: string; + not_in?: string; + greater_than?: number; + greater_than_equal?: number; + less_than?: number; + less_than_equal?: number; +}; + +export type MediaQueryOperationsWidth = { + equals?: number; + not_equals?: number; + in?: string; + not_in?: string; + greater_than?: number; + greater_than_equal?: number; + less_than?: number; + less_than_equal?: number; +}; + +export type MediaQueryOperationsHeight = { + equals?: number; + not_equals?: number; + in?: string; + not_in?: string; + greater_than?: number; + greater_than_equal?: number; + less_than?: number; + less_than_equal?: number; +}; + +export type MediaQueryOperationsFocalX = { + equals?: number; + not_equals?: number; + in?: string; + not_in?: string; + greater_than?: number; + greater_than_equal?: number; + less_than?: number; + less_than_equal?: number; +}; + +export type MediaQueryOperationsFocalY = { + equals?: number; + not_equals?: number; + in?: string; + not_in?: string; + greater_than?: number; + greater_than_equal?: number; + less_than?: number; + less_than_equal?: number; +}; + +export interface MediaQueryOperations { + alt?: MediaQueryOperationsAlt; + updatedAt?: MediaQueryOperationsUpdatedAt; + createdAt?: MediaQueryOperationsCreatedAt; + url?: MediaQueryOperationsUrl; + thumbnailURL?: MediaQueryOperationsThumbnailURL; + filename?: MediaQueryOperationsFilename; + mimeType?: MediaQueryOperationsMimeType; + filesize?: MediaQueryOperationsFilesize; + width?: MediaQueryOperationsWidth; + height?: MediaQueryOperationsHeight; + focalX?: MediaQueryOperationsFocalX; + focalY?: MediaQueryOperationsFocalY; +} + +export interface MediaQueryOperationsOr { + or: (MediaQueryOperations | MediaQueryOperationsAnd | MediaQueryOperationsOr)[]; +} + +export interface MediaQueryOperationsAnd { + and: (MediaQueryOperations | MediaQueryOperationsAnd | MediaQueryOperationsOr)[]; +} + +export type PostQueryOperationsTitle = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type PostQueryOperationsSlug = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type PostQueryOperationsTypeEquals = (typeof PostQueryOperationsTypeEquals)[keyof typeof PostQueryOperationsTypeEquals]; + +export const PostQueryOperationsTypeEquals = { + announcement: "announcement", + news: "news", + update: "update", + changelog: "changelog", + guide: "guide", + event: "event" +} as const; + +export type PostQueryOperationsTypeNotEquals = (typeof PostQueryOperationsTypeNotEquals)[keyof typeof PostQueryOperationsTypeNotEquals]; + +export const PostQueryOperationsTypeNotEquals = { + announcement: "announcement", + news: "news", + update: "update", + changelog: "changelog", + guide: "guide", + event: "event" +} as const; + +export type PostQueryOperationsType = { + equals?: PostQueryOperationsTypeEquals; + not_equals?: PostQueryOperationsTypeNotEquals; + in?: string; + not_in?: string; +}; + +export type PostQueryOperationsTags = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type PostQueryOperationsFeatured = { + equals?: boolean; + not_equals?: boolean; + in?: string; + not_in?: string; +}; + +export type PostQueryOperationsPublishedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type PostQueryOperationsUpdatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type PostQueryOperationsCreatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type _PostQueryOperationsStatusEquals = (typeof _PostQueryOperationsStatusEquals)[keyof typeof _PostQueryOperationsStatusEquals]; + +export const _PostQueryOperationsStatusEquals = { + draft: "draft", + published: "published" +} as const; + +export type _PostQueryOperationsStatusNotEquals = (typeof _PostQueryOperationsStatusNotEquals)[keyof typeof _PostQueryOperationsStatusNotEquals]; + +export const _PostQueryOperationsStatusNotEquals = { + draft: "draft", + published: "published" +} as const; + +export type _PostQueryOperationsStatus = { + equals?: _PostQueryOperationsStatusEquals; + not_equals?: _PostQueryOperationsStatusNotEquals; + in?: string; + not_in?: string; +}; + +export interface PostQueryOperations { + title?: PostQueryOperationsTitle; + slug?: PostQueryOperationsSlug; + type?: PostQueryOperationsType; + tags?: PostQueryOperationsTags; + featured?: PostQueryOperationsFeatured; + publishedAt?: PostQueryOperationsPublishedAt; + updatedAt?: PostQueryOperationsUpdatedAt; + createdAt?: PostQueryOperationsCreatedAt; + _status?: _PostQueryOperationsStatus; +} + +export interface PostQueryOperationsOr { + or: (PostQueryOperations | PostQueryOperationsAnd | PostQueryOperationsOr)[]; +} + +export interface PostQueryOperationsAnd { + and: (PostQueryOperations | PostQueryOperationsAnd | PostQueryOperationsOr)[]; +} + +export type PayloadKvQueryOperationsKey = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export interface PayloadKvQueryOperations { + key?: PayloadKvQueryOperationsKey; +} + +export interface PayloadKvQueryOperationsOr { + or: (PayloadKvQueryOperations | PayloadKvQueryOperationsAnd | PayloadKvQueryOperationsOr)[]; +} + +export interface PayloadKvQueryOperationsAnd { + and: (PayloadKvQueryOperations | PayloadKvQueryOperationsAnd | PayloadKvQueryOperationsOr)[]; +} + +export type PayloadJobQueryOperationsTaskSlugEquals = (typeof PayloadJobQueryOperationsTaskSlugEquals)[keyof typeof PayloadJobQueryOperationsTaskSlugEquals]; + +export const PayloadJobQueryOperationsTaskSlugEquals = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +export type PayloadJobQueryOperationsTaskSlugNotEquals = (typeof PayloadJobQueryOperationsTaskSlugNotEquals)[keyof typeof PayloadJobQueryOperationsTaskSlugNotEquals]; + +export const PayloadJobQueryOperationsTaskSlugNotEquals = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +export type PayloadJobQueryOperationsTaskSlug = { + equals?: PayloadJobQueryOperationsTaskSlugEquals; + not_equals?: PayloadJobQueryOperationsTaskSlugNotEquals; + in?: string; + not_in?: string; +}; + +export type PayloadJobQueryOperationsQueue = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type PayloadJobQueryOperationsWaitUntil = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type PayloadJobQueryOperationsProcessing = { + equals?: boolean; + not_equals?: boolean; + in?: string; + not_in?: string; +}; + +export type PayloadJobQueryOperationsUpdatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type PayloadJobQueryOperationsCreatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export interface PayloadJobQueryOperations { + taskSlug?: PayloadJobQueryOperationsTaskSlug; + queue?: PayloadJobQueryOperationsQueue; + waitUntil?: PayloadJobQueryOperationsWaitUntil; + processing?: PayloadJobQueryOperationsProcessing; + updatedAt?: PayloadJobQueryOperationsUpdatedAt; + createdAt?: PayloadJobQueryOperationsCreatedAt; +} + +export interface PayloadJobQueryOperationsOr { + or: (PayloadJobQueryOperations | PayloadJobQueryOperationsAnd | PayloadJobQueryOperationsOr)[]; +} + +export interface PayloadJobQueryOperationsAnd { + and: (PayloadJobQueryOperations | PayloadJobQueryOperationsAnd | PayloadJobQueryOperationsOr)[]; +} + +export type PayloadLockedDocumentQueryOperationsGlobalSlug = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type PayloadLockedDocumentQueryOperationsUpdatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type PayloadLockedDocumentQueryOperationsCreatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export interface PayloadLockedDocumentQueryOperations { + globalSlug?: PayloadLockedDocumentQueryOperationsGlobalSlug; + updatedAt?: PayloadLockedDocumentQueryOperationsUpdatedAt; + createdAt?: PayloadLockedDocumentQueryOperationsCreatedAt; +} + +export interface PayloadLockedDocumentQueryOperationsOr { + or: (PayloadLockedDocumentQueryOperations | PayloadLockedDocumentQueryOperationsAnd | PayloadLockedDocumentQueryOperationsOr)[]; +} + +export interface PayloadLockedDocumentQueryOperationsAnd { + and: (PayloadLockedDocumentQueryOperations | PayloadLockedDocumentQueryOperationsAnd | PayloadLockedDocumentQueryOperationsOr)[]; +} + +export type PayloadPreferenceQueryOperationsKey = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type PayloadPreferenceQueryOperationsUpdatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type PayloadPreferenceQueryOperationsCreatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export interface PayloadPreferenceQueryOperations { + key?: PayloadPreferenceQueryOperationsKey; + updatedAt?: PayloadPreferenceQueryOperationsUpdatedAt; + createdAt?: PayloadPreferenceQueryOperationsCreatedAt; +} + +export interface PayloadPreferenceQueryOperationsOr { + or: (PayloadPreferenceQueryOperations | PayloadPreferenceQueryOperationsAnd | PayloadPreferenceQueryOperationsOr)[]; +} + +export interface PayloadPreferenceQueryOperationsAnd { + and: (PayloadPreferenceQueryOperations | PayloadPreferenceQueryOperationsAnd | PayloadPreferenceQueryOperationsOr)[]; +} + +export type PayloadMigrationQueryOperationsName = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + like?: string; + contains?: string; +}; + +export type PayloadMigrationQueryOperationsBatch = { + equals?: number; + not_equals?: number; + in?: string; + not_in?: string; + greater_than?: number; + greater_than_equal?: number; + less_than?: number; + less_than_equal?: number; +}; + +export type PayloadMigrationQueryOperationsUpdatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export type PayloadMigrationQueryOperationsCreatedAt = { + equals?: string; + not_equals?: string; + in?: string; + not_in?: string; + greater_than?: string; + greater_than_equal?: string; + less_than?: string; + less_than_equal?: string; +}; + +export interface PayloadMigrationQueryOperations { + name?: PayloadMigrationQueryOperationsName; + batch?: PayloadMigrationQueryOperationsBatch; + updatedAt?: PayloadMigrationQueryOperationsUpdatedAt; + createdAt?: PayloadMigrationQueryOperationsCreatedAt; +} + +export interface PayloadMigrationQueryOperationsOr { + or: (PayloadMigrationQueryOperations | PayloadMigrationQueryOperationsAnd | PayloadMigrationQueryOperationsOr)[]; +} + +export interface PayloadMigrationQueryOperationsAnd { + and: (PayloadMigrationQueryOperations | PayloadMigrationQueryOperationsAnd | PayloadMigrationQueryOperationsOr)[]; +} + +/** + * User object + */ +export type UserResponseResponse = User; + +export type NewUserResponseResponseDoc = User & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewUserResponseResponse = { + message: string; + doc: NewUserResponseResponseDoc; +}; + +/** + * User not found + */ +export type UserNotFoundResponseResponse = void; + +export type UserListResponseResponse = { + docs: User[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +/** + * Media object + */ +export type MediaResponseResponse = Media; + +export type NewMediaResponseResponseDoc = Media & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewMediaResponseResponse = { + message: string; + doc: NewMediaResponseResponseDoc; +}; + +/** + * Media not found + */ +export type MediaNotFoundResponseResponse = void; + +export type MediaListResponseResponse = { + docs: Media[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +/** + * Post object + */ +export type PostResponseResponse = Post; + +export type NewPostResponseResponseDoc = Post & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewPostResponseResponse = { + message: string; + doc: NewPostResponseResponseDoc; +}; + +/** + * Post not found + */ +export type PostNotFoundResponseResponse = void; + +export type PostListResponseResponse = { + docs: Post[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +/** + * Payload Kv object + */ +export type PayloadKvResponseResponse = PayloadKv; + +export type NewPayloadKvResponseResponseDoc = PayloadKv & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewPayloadKvResponseResponse = { + message: string; + doc: NewPayloadKvResponseResponseDoc; +}; + +/** + * Payload Kv not found + */ +export type PayloadKvNotFoundResponseResponse = void; + +export type PayloadKvListResponseResponse = { + docs: PayloadKv[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +/** + * Payload Job object + */ +export type PayloadJobResponseResponse = PayloadJob; + +export type NewPayloadJobResponseResponseDoc = PayloadJob & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewPayloadJobResponseResponse = { + message: string; + doc: NewPayloadJobResponseResponseDoc; +}; + +/** + * Payload Job not found + */ +export type PayloadJobNotFoundResponseResponse = void; + +export type PayloadJobListResponseResponse = { + docs: PayloadJob[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +/** + * Payload Locked Document object + */ +export type PayloadLockedDocumentResponseResponse = PayloadLockedDocument; + +export type NewPayloadLockedDocumentResponseResponseDoc = PayloadLockedDocument & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewPayloadLockedDocumentResponseResponse = { + message: string; + doc: NewPayloadLockedDocumentResponseResponseDoc; +}; + +/** + * Payload Locked Document not found + */ +export type PayloadLockedDocumentNotFoundResponseResponse = void; + +export type PayloadLockedDocumentListResponseResponse = { + docs: PayloadLockedDocument[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +/** + * Payload Preference object + */ +export type PayloadPreferenceResponseResponse = PayloadPreference; + +export type NewPayloadPreferenceResponseResponseDoc = PayloadPreference & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewPayloadPreferenceResponseResponse = { + message: string; + doc: NewPayloadPreferenceResponseResponseDoc; +}; + +/** + * Payload Preference not found + */ +export type PayloadPreferenceNotFoundResponseResponse = void; + +export type PayloadPreferenceListResponseResponse = { + docs: PayloadPreference[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +/** + * Payload Migration object + */ +export type PayloadMigrationResponseResponse = PayloadMigration; + +export type NewPayloadMigrationResponseResponseDoc = PayloadMigration & { + id: string; + createdAt: string; + updatedAt: string; +}; + +export type NewPayloadMigrationResponseResponse = { + message: string; + doc: NewPayloadMigrationResponseResponseDoc; +}; + +/** + * Payload Migration not found + */ +export type PayloadMigrationNotFoundResponseResponse = void; + +export type PayloadMigrationListResponseResponse = { + docs: PayloadMigration[]; + totalDocs: number; + limit: number; + totalPages: number; + page: number; + pagingCounter: number; + hasPrevPage: boolean; + hasNextPage: boolean; + /** @nullable */ + prevPage: number | null; + /** @nullable */ + nextPage: number | null; +}; + +export type UserRequestBodyBodySessionsItem = { + id: string; + /** @nullable */ + createdAt?: string | null; + expiresAt: string; +}; + +export type UserRequestBodyBodyCollection = (typeof UserRequestBodyBodyCollection)[keyof typeof UserRequestBodyBodyCollection]; + +export const UserRequestBodyBodyCollection = { + users: "users" +} as const; + +export type UserRequestBodyBody = { + name: string; + /** + * Public-facing name shown on /newsroom (typically the Minecraft username). Falls back to `name` when empty. + * @nullable + */ + displayName?: string | null; + /** + * Optional. Drives the Minecraft head avatar on /newsroom. 32-hex with or without dashes. + * @nullable + */ + mcUuid?: string | null; + /** @nullable */ + enableAPIKey?: boolean | null; + /** @nullable */ + apiKey?: string | null; + /** @nullable */ + apiKeyIndex?: string | null; + email: string; + /** @nullable */ + resetPasswordToken?: string | null; + /** @nullable */ + resetPasswordExpiration?: string | null; + /** @nullable */ + salt?: string | null; + /** @nullable */ + hash?: string | null; + /** @nullable */ + loginAttempts?: number | null; + /** @nullable */ + lockUntil?: string | null; + /** @nullable */ + sessions?: UserRequestBodyBodySessionsItem[] | null; + /** @nullable */ + password?: string | null; + collection: UserRequestBodyBodyCollection; +}; + +export type UserPatchRequestBodyBodySessionsItem = { + id: string; + /** @nullable */ + createdAt?: string | null; + expiresAt: string; +}; + +export type UserPatchRequestBodyBodyCollection = (typeof UserPatchRequestBodyBodyCollection)[keyof typeof UserPatchRequestBodyBodyCollection]; + +export const UserPatchRequestBodyBodyCollection = { + users: "users" +} as const; + +export type UserPatchRequestBodyBody = { + name?: string; + /** + * Public-facing name shown on /newsroom (typically the Minecraft username). Falls back to `name` when empty. + * @nullable + */ + displayName?: string | null; + /** + * Optional. Drives the Minecraft head avatar on /newsroom. 32-hex with or without dashes. + * @nullable + */ + mcUuid?: string | null; + /** @nullable */ + enableAPIKey?: boolean | null; + /** @nullable */ + apiKey?: string | null; + /** @nullable */ + apiKeyIndex?: string | null; + email?: string; + /** @nullable */ + resetPasswordToken?: string | null; + /** @nullable */ + resetPasswordExpiration?: string | null; + /** @nullable */ + salt?: string | null; + /** @nullable */ + hash?: string | null; + /** @nullable */ + loginAttempts?: number | null; + /** @nullable */ + lockUntil?: string | null; + /** @nullable */ + sessions?: UserPatchRequestBodyBodySessionsItem[] | null; + /** @nullable */ + password?: string | null; + collection?: UserPatchRequestBodyBodyCollection; +}; + +export type MediaRequestBodyBodySizesThumbnail = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaRequestBodyBodySizesCard = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaRequestBodyBodySizesHero = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaRequestBodyBodySizes = { + thumbnail?: MediaRequestBodyBodySizesThumbnail; + card?: MediaRequestBodyBodySizesCard; + hero?: MediaRequestBodyBodySizesHero; +}; + +export type MediaRequestBodyBody = { + alt: string; + /** @nullable */ + url?: string | null; + /** @nullable */ + thumbnailURL?: string | null; + /** @nullable */ + filename?: string | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + focalX?: number | null; + /** @nullable */ + focalY?: number | null; + sizes?: MediaRequestBodyBodySizes; +}; + +export type MediaPatchRequestBodyBodySizesThumbnail = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaPatchRequestBodyBodySizesCard = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaPatchRequestBodyBodySizesHero = { + /** @nullable */ + url?: string | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + filename?: string | null; +}; + +export type MediaPatchRequestBodyBodySizes = { + thumbnail?: MediaPatchRequestBodyBodySizesThumbnail; + card?: MediaPatchRequestBodyBodySizesCard; + hero?: MediaPatchRequestBodyBodySizesHero; +}; + +export type MediaPatchRequestBodyBody = { + alt?: string; + /** @nullable */ + url?: string | null; + /** @nullable */ + thumbnailURL?: string | null; + /** @nullable */ + filename?: string | null; + /** @nullable */ + mimeType?: string | null; + /** @nullable */ + filesize?: number | null; + /** @nullable */ + width?: number | null; + /** @nullable */ + height?: number | null; + /** @nullable */ + focalX?: number | null; + /** @nullable */ + focalY?: number | null; + sizes?: MediaPatchRequestBodyBodySizes; +}; + +export type PostRequestBodyBodyType = (typeof PostRequestBodyBodyType)[keyof typeof PostRequestBodyBodyType]; + +export const PostRequestBodyBodyType = { + announcement: "announcement", + news: "news", + update: "update", + changelog: "changelog", + guide: "guide", + event: "event" +} as const; + +export type PostRequestBodyBodyBodyItem = + | { + media: string | Media; + /** @nullable */ + caption?: string | null; + /** @nullable */ + alt?: string | null; + /** @nullable */ + id?: string | null; + /** @nullable */ + blockName?: string | null; + blockType: "image"; + } + | { + content: { + root: { + type: string; + children: { + type: string; + version: number; + [key: string]: unknown; + }[]; + direction: "ltr" | "rtl" | null; + format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; + indent: number; + version: number; + }; + }; + /** @nullable */ + id?: string | null; + /** @nullable */ + blockName?: string | null; + blockType: "richText"; + }; + +/** + * @nullable + */ +export type _PostRequestBodyBodyStatus = (typeof _PostRequestBodyBodyStatus)[keyof typeof _PostRequestBodyBodyStatus] | null; + +export const _PostRequestBodyBodyStatus = { + draft: "draft", + published: "published" +} as const; + +export type PostRequestBodyBody = { + title: string; + /** @nullable */ + slug?: string | null; + /** @nullable */ + excerpt?: string | null; + type: PostRequestBodyBodyType; + /** + * Optional free-form tags. Press Enter after each. + * @nullable + */ + tags?: string[] | null; + /** + * Pin to top of /newsroom regardless of publishedAt. + * @nullable + */ + featured?: boolean | null; + heroImage?: string | null | Media; + /** @nullable */ + body?: PostRequestBodyBodyBodyItem[] | null; + /** @nullable */ + publishedAt?: string | null; + /** ID of the users */ + author: string; + /** @nullable */ + _status?: _PostRequestBodyBodyStatus; +}; + +export type PostPatchRequestBodyBodyType = (typeof PostPatchRequestBodyBodyType)[keyof typeof PostPatchRequestBodyBodyType]; + +export const PostPatchRequestBodyBodyType = { + announcement: "announcement", + news: "news", + update: "update", + changelog: "changelog", + guide: "guide", + event: "event" +} as const; + +export type PostPatchRequestBodyBodyBodyItem = + | { + media: string | Media; + /** @nullable */ + caption?: string | null; + /** @nullable */ + alt?: string | null; + /** @nullable */ + id?: string | null; + /** @nullable */ + blockName?: string | null; + blockType: "image"; + } + | { + content: { + root: { + type: string; + children: { + type: string; + version: number; + [key: string]: unknown; + }[]; + direction: "ltr" | "rtl" | null; + format: "left" | "start" | "center" | "right" | "end" | "justify" | ""; + indent: number; + version: number; + }; + }; + /** @nullable */ + id?: string | null; + /** @nullable */ + blockName?: string | null; + blockType: "richText"; + }; + +/** + * @nullable + */ +export type _PostPatchRequestBodyBodyStatus = (typeof _PostPatchRequestBodyBodyStatus)[keyof typeof _PostPatchRequestBodyBodyStatus] | null; + +export const _PostPatchRequestBodyBodyStatus = { + draft: "draft", + published: "published" +} as const; + +export type PostPatchRequestBodyBody = { + title?: string; + /** @nullable */ + slug?: string | null; + /** @nullable */ + excerpt?: string | null; + type?: PostPatchRequestBodyBodyType; + /** + * Optional free-form tags. Press Enter after each. + * @nullable + */ + tags?: string[] | null; + /** + * Pin to top of /newsroom regardless of publishedAt. + * @nullable + */ + featured?: boolean | null; + heroImage?: string | null | Media; + /** @nullable */ + body?: PostPatchRequestBodyBodyBodyItem[] | null; + /** @nullable */ + publishedAt?: string | null; + /** ID of the users */ + author?: string; + /** @nullable */ + _status?: _PostPatchRequestBodyBodyStatus; +}; + +/** + * @nullable + */ +export type PayloadKvRequestBodyBodyData = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadKvRequestBodyBody = { + key: string; + /** @nullable */ + data: PayloadKvRequestBodyBodyData; +}; + +/** + * @nullable + */ +export type PayloadKvPatchRequestBodyBodyData = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadKvPatchRequestBodyBody = { + key?: string; + /** @nullable */ + data?: PayloadKvPatchRequestBodyBodyData; +}; + +/** + * Input data provided to the job + * @nullable + */ +export type PayloadJobRequestBodyBodyInput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * @nullable + */ +export type PayloadJobRequestBodyBodyTaskStatus = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * If hasError is true, this is the error that caused it + * @nullable + */ +export type PayloadJobRequestBodyBodyError = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobRequestBodyBodyLogItemTaskSlug = (typeof PayloadJobRequestBodyBodyLogItemTaskSlug)[keyof typeof PayloadJobRequestBodyBodyLogItemTaskSlug]; + +export const PayloadJobRequestBodyBodyLogItemTaskSlug = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +/** + * @nullable + */ +export type PayloadJobRequestBodyBodyLogItemInput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * @nullable + */ +export type PayloadJobRequestBodyBodyLogItemOutput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobRequestBodyBodyLogItemState = (typeof PayloadJobRequestBodyBodyLogItemState)[keyof typeof PayloadJobRequestBodyBodyLogItemState]; + +export const PayloadJobRequestBodyBodyLogItemState = { + failed: "failed", + succeeded: "succeeded" +} as const; + +/** + * @nullable + */ +export type PayloadJobRequestBodyBodyLogItemError = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobRequestBodyBodyLogItem = { + executedAt: string; + completedAt: string; + taskSlug: PayloadJobRequestBodyBodyLogItemTaskSlug; + taskID: string; + /** @nullable */ + input?: PayloadJobRequestBodyBodyLogItemInput; + /** @nullable */ + output?: PayloadJobRequestBodyBodyLogItemOutput; + state: PayloadJobRequestBodyBodyLogItemState; + /** @nullable */ + error?: PayloadJobRequestBodyBodyLogItemError; + /** @nullable */ + id?: string | null; +}; + +/** + * @nullable + */ +export type PayloadJobRequestBodyBodyTaskSlug = (typeof PayloadJobRequestBodyBodyTaskSlug)[keyof typeof PayloadJobRequestBodyBodyTaskSlug] | null; + +export const PayloadJobRequestBodyBodyTaskSlug = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +export type PayloadJobRequestBodyBody = { + /** + * Input data provided to the job + * @nullable + */ + input?: PayloadJobRequestBodyBodyInput; + /** @nullable */ + taskStatus?: PayloadJobRequestBodyBodyTaskStatus; + /** @nullable */ + completedAt?: string | null; + /** @nullable */ + totalTried?: number | null; + /** + * If hasError is true this job will not be retried + * @nullable + */ + hasError?: boolean | null; + /** + * If hasError is true, this is the error that caused it + * @nullable + */ + error?: PayloadJobRequestBodyBodyError; + /** + * Task execution log + * @nullable + */ + log?: PayloadJobRequestBodyBodyLogItem[] | null; + /** @nullable */ + taskSlug?: PayloadJobRequestBodyBodyTaskSlug; + /** @nullable */ + queue?: string | null; + /** @nullable */ + waitUntil?: string | null; + /** @nullable */ + processing?: boolean | null; +}; + +/** + * Input data provided to the job + * @nullable + */ +export type PayloadJobPatchRequestBodyBodyInput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * @nullable + */ +export type PayloadJobPatchRequestBodyBodyTaskStatus = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * If hasError is true, this is the error that caused it + * @nullable + */ +export type PayloadJobPatchRequestBodyBodyError = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobPatchRequestBodyBodyLogItemTaskSlug = (typeof PayloadJobPatchRequestBodyBodyLogItemTaskSlug)[keyof typeof PayloadJobPatchRequestBodyBodyLogItemTaskSlug]; + +export const PayloadJobPatchRequestBodyBodyLogItemTaskSlug = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +/** + * @nullable + */ +export type PayloadJobPatchRequestBodyBodyLogItemInput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +/** + * @nullable + */ +export type PayloadJobPatchRequestBodyBodyLogItemOutput = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobPatchRequestBodyBodyLogItemState = (typeof PayloadJobPatchRequestBodyBodyLogItemState)[keyof typeof PayloadJobPatchRequestBodyBodyLogItemState]; + +export const PayloadJobPatchRequestBodyBodyLogItemState = { + failed: "failed", + succeeded: "succeeded" +} as const; + +/** + * @nullable + */ +export type PayloadJobPatchRequestBodyBodyLogItemError = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadJobPatchRequestBodyBodyLogItem = { + executedAt: string; + completedAt: string; + taskSlug: PayloadJobPatchRequestBodyBodyLogItemTaskSlug; + taskID: string; + /** @nullable */ + input?: PayloadJobPatchRequestBodyBodyLogItemInput; + /** @nullable */ + output?: PayloadJobPatchRequestBodyBodyLogItemOutput; + state: PayloadJobPatchRequestBodyBodyLogItemState; + /** @nullable */ + error?: PayloadJobPatchRequestBodyBodyLogItemError; + /** @nullable */ + id?: string | null; +}; + +/** + * @nullable + */ +export type PayloadJobPatchRequestBodyBodyTaskSlug = (typeof PayloadJobPatchRequestBodyBodyTaskSlug)[keyof typeof PayloadJobPatchRequestBodyBodyTaskSlug] | null; + +export const PayloadJobPatchRequestBodyBodyTaskSlug = { + inline: "inline", + schedulePublish: "schedulePublish" +} as const; + +export type PayloadJobPatchRequestBodyBody = { + /** + * Input data provided to the job + * @nullable + */ + input?: PayloadJobPatchRequestBodyBodyInput; + /** @nullable */ + taskStatus?: PayloadJobPatchRequestBodyBodyTaskStatus; + /** @nullable */ + completedAt?: string | null; + /** @nullable */ + totalTried?: number | null; + /** + * If hasError is true this job will not be retried + * @nullable + */ + hasError?: boolean | null; + /** + * If hasError is true, this is the error that caused it + * @nullable + */ + error?: PayloadJobPatchRequestBodyBodyError; + /** + * Task execution log + * @nullable + */ + log?: PayloadJobPatchRequestBodyBodyLogItem[] | null; + /** @nullable */ + taskSlug?: PayloadJobPatchRequestBodyBodyTaskSlug; + /** @nullable */ + queue?: string | null; + /** @nullable */ + waitUntil?: string | null; + /** @nullable */ + processing?: boolean | null; +}; + +export type PayloadLockedDocumentRequestBodyBody = { + /** ID of the users/media/posts */ + document?: string; + /** @nullable */ + globalSlug?: string | null; + /** ID of the users */ + user: string; +}; + +export type PayloadLockedDocumentPatchRequestBodyBody = { + /** ID of the users/media/posts */ + document?: string; + /** @nullable */ + globalSlug?: string | null; + /** ID of the users */ + user?: string; +}; + +/** + * @nullable + */ +export type PayloadPreferenceRequestBodyBodyValue = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadPreferenceRequestBodyBody = { + /** ID of the users */ + user: string; + /** @nullable */ + key?: string | null; + /** @nullable */ + value?: PayloadPreferenceRequestBodyBodyValue; +}; + +/** + * @nullable + */ +export type PayloadPreferencePatchRequestBodyBodyValue = { [key: string]: unknown } | unknown[] | string | number | boolean | null; + +export type PayloadPreferencePatchRequestBodyBody = { + /** ID of the users */ + user?: string; + /** @nullable */ + key?: string | null; + /** @nullable */ + value?: PayloadPreferencePatchRequestBodyBodyValue; +}; + +export type PayloadMigrationRequestBodyBody = { + /** @nullable */ + name?: string | null; + /** @nullable */ + batch?: number | null; +}; + +export type PayloadMigrationPatchRequestBodyBody = { + /** @nullable */ + name?: string | null; + /** @nullable */ + batch?: number | null; +}; + +export type ListUsersParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListUsersSort; + where?: { [key: string]: unknown } & (UserQueryOperations | UserQueryOperationsAnd | UserQueryOperationsOr); +}; + +export type ListUsersSort = (typeof ListUsersSort)[keyof typeof ListUsersSort]; + +export const ListUsersSort = { + name: "name", + "-name": "-name", + displayName: "displayName", + "-displayName": "-displayName", + mcUuid: "mcUuid", + "-mcUuid": "-mcUuid", + updatedAt: "updatedAt", + "-updatedAt": "-updatedAt", + createdAt: "createdAt", + "-createdAt": "-createdAt", + apiKey: "apiKey", + "-apiKey": "-apiKey", + apiKeyIndex: "apiKeyIndex", + "-apiKeyIndex": "-apiKeyIndex", + email: "email", + "-email": "-email", + resetPasswordToken: "resetPasswordToken", + "-resetPasswordToken": "-resetPasswordToken", + resetPasswordExpiration: "resetPasswordExpiration", + "-resetPasswordExpiration": "-resetPasswordExpiration", + salt: "salt", + "-salt": "-salt", + hash: "hash", + "-hash": "-hash", + loginAttempts: "loginAttempts", + "-loginAttempts": "-loginAttempts", + lockUntil: "lockUntil", + "-lockUntil": "-lockUntil" +} as const; + +export type CreateUserParams = { + depth?: number; + locale?: string; +}; + +export type FindUserByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdateUserParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeleteUserParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type ListMediaParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListMediaSort; + where?: { [key: string]: unknown } & (MediaQueryOperations | MediaQueryOperationsAnd | MediaQueryOperationsOr); +}; + +export type ListMediaSort = (typeof ListMediaSort)[keyof typeof ListMediaSort]; + +export const ListMediaSort = { + alt: "alt", + "-alt": "-alt", + updatedAt: "updatedAt", + "-updatedAt": "-updatedAt", + createdAt: "createdAt", + "-createdAt": "-createdAt", + url: "url", + "-url": "-url", + thumbnailURL: "thumbnailURL", + "-thumbnailURL": "-thumbnailURL", + filename: "filename", + "-filename": "-filename", + mimeType: "mimeType", + "-mimeType": "-mimeType", + filesize: "filesize", + "-filesize": "-filesize", + width: "width", + "-width": "-width", + height: "height", + "-height": "-height", + focalX: "focalX", + "-focalX": "-focalX", + focalY: "focalY", + "-focalY": "-focalY" +} as const; + +export type CreateMediaParams = { + depth?: number; + locale?: string; +}; + +export type FindMediaByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdateMediaParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeleteMediaParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type ListPostsParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListPostsSort; + where?: { [key: string]: unknown } & (PostQueryOperations | PostQueryOperationsAnd | PostQueryOperationsOr); +}; + +export type ListPostsSort = (typeof ListPostsSort)[keyof typeof ListPostsSort]; + +export const ListPostsSort = { + title: "title", + "-title": "-title", + slug: "slug", + "-slug": "-slug", + tags: "tags", + "-tags": "-tags", + publishedAt: "publishedAt", + "-publishedAt": "-publishedAt", + updatedAt: "updatedAt", + "-updatedAt": "-updatedAt", + createdAt: "createdAt", + "-createdAt": "-createdAt" +} as const; + +export type CreatePostParams = { + depth?: number; + locale?: string; +}; + +export type FindPostByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdatePostParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeletePostParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type ListPayloadKvsParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListPayloadKvsSort; + where?: { [key: string]: unknown } & (PayloadKvQueryOperations | PayloadKvQueryOperationsAnd | PayloadKvQueryOperationsOr); +}; + +export type ListPayloadKvsSort = (typeof ListPayloadKvsSort)[keyof typeof ListPayloadKvsSort]; + +export const ListPayloadKvsSort = { + key: "key", + "-key": "-key" +} as const; + +export type CreatePayloadKvParams = { + depth?: number; + locale?: string; +}; + +export type FindPayloadKvByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdatePayloadKvParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeletePayloadKvParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type ListPayloadJobsParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListPayloadJobsSort; + where?: { [key: string]: unknown } & (PayloadJobQueryOperations | PayloadJobQueryOperationsAnd | PayloadJobQueryOperationsOr); +}; + +export type ListPayloadJobsSort = (typeof ListPayloadJobsSort)[keyof typeof ListPayloadJobsSort]; + +export const ListPayloadJobsSort = { + queue: "queue", + "-queue": "-queue", + waitUntil: "waitUntil", + "-waitUntil": "-waitUntil", + updatedAt: "updatedAt", + "-updatedAt": "-updatedAt", + createdAt: "createdAt", + "-createdAt": "-createdAt" +} as const; + +export type CreatePayloadJobParams = { + depth?: number; + locale?: string; +}; + +export type FindPayloadJobByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdatePayloadJobParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeletePayloadJobParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type ListPayloadLockedDocumentsParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListPayloadLockedDocumentsSort; + where?: { [key: string]: unknown } & (PayloadLockedDocumentQueryOperations | PayloadLockedDocumentQueryOperationsAnd | PayloadLockedDocumentQueryOperationsOr); +}; + +export type ListPayloadLockedDocumentsSort = (typeof ListPayloadLockedDocumentsSort)[keyof typeof ListPayloadLockedDocumentsSort]; + +export const ListPayloadLockedDocumentsSort = { + globalSlug: "globalSlug", + "-globalSlug": "-globalSlug", + updatedAt: "updatedAt", + "-updatedAt": "-updatedAt", + createdAt: "createdAt", + "-createdAt": "-createdAt" +} as const; + +export type CreatePayloadLockedDocumentParams = { + depth?: number; + locale?: string; +}; + +export type FindPayloadLockedDocumentByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdatePayloadLockedDocumentParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeletePayloadLockedDocumentParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type ListPayloadPreferencesParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListPayloadPreferencesSort; + where?: { [key: string]: unknown } & (PayloadPreferenceQueryOperations | PayloadPreferenceQueryOperationsAnd | PayloadPreferenceQueryOperationsOr); +}; + +export type ListPayloadPreferencesSort = (typeof ListPayloadPreferencesSort)[keyof typeof ListPayloadPreferencesSort]; + +export const ListPayloadPreferencesSort = { + key: "key", + "-key": "-key", + updatedAt: "updatedAt", + "-updatedAt": "-updatedAt", + createdAt: "createdAt", + "-createdAt": "-createdAt" +} as const; + +export type CreatePayloadPreferenceParams = { + depth?: number; + locale?: string; +}; + +export type FindPayloadPreferenceByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdatePayloadPreferenceParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeletePayloadPreferenceParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type ListPayloadMigrationsParams = { + page?: number; + limit?: number; + depth?: number; + locale?: string; + "fallback-locale"?: string; + sort?: ListPayloadMigrationsSort; + where?: { [key: string]: unknown } & (PayloadMigrationQueryOperations | PayloadMigrationQueryOperationsAnd | PayloadMigrationQueryOperationsOr); +}; + +export type ListPayloadMigrationsSort = (typeof ListPayloadMigrationsSort)[keyof typeof ListPayloadMigrationsSort]; + +export const ListPayloadMigrationsSort = { + name: "name", + "-name": "-name", + batch: "batch", + "-batch": "-batch", + updatedAt: "updatedAt", + "-updatedAt": "-updatedAt", + createdAt: "createdAt", + "-createdAt": "-createdAt" +} as const; + +export type CreatePayloadMigrationParams = { + depth?: number; + locale?: string; +}; + +export type FindPayloadMigrationByIdParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type UpdatePayloadMigrationParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type DeletePayloadMigrationParams = { + depth?: number; + locale?: string; + "fallback-locale"?: string; +}; + +export type listUsersResponse200 = { + data: UserListResponseResponse; + status: 200; +}; + +export type listUsersResponseSuccess = listUsersResponse200 & { + headers: Headers; +}; +export type listUsersResponse = listUsersResponseSuccess; + +export const getListUsersUrl = (params?: ListUsersParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/users?${stringifiedParams}` : `/api/users`; +}; + +/** + * @summary Retrieve a list of Users + */ +export const listUsers = async (params?: ListUsersParams, options?: RequestInit): Promise => { + return cmsFetch(getListUsersUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createUserResponse201 = { + data: NewUserResponseResponse; + status: 201; +}; + +export type createUserResponseSuccess = createUserResponse201 & { + headers: Headers; +}; +export type createUserResponse = createUserResponseSuccess; + +export const getCreateUserUrl = (params?: CreateUserParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/users?${stringifiedParams}` : `/api/users`; +}; + +/** + * @summary Create a new User + */ +export const createUser = async (userRequestBodyBody?: UserRequestBodyBody, params?: CreateUserParams, options?: RequestInit): Promise => { + return cmsFetch(getCreateUserUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(userRequestBodyBody) + }); +}; + +export type findUserByIdResponse200 = { + data: UserResponseResponse; + status: 200; +}; + +export type findUserByIdResponse404 = { + data: UserNotFoundResponseResponse; + status: 404; +}; + +export type findUserByIdResponseSuccess = findUserByIdResponse200 & { + headers: Headers; +}; +export type findUserByIdResponseError = findUserByIdResponse404 & { + headers: Headers; +}; + +export type findUserByIdResponse = findUserByIdResponseSuccess | findUserByIdResponseError; + +export const getFindUserByIdUrl = (id: string, params?: FindUserByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/users/${id}?${stringifiedParams}` : `/api/users/${id}`; +}; + +/** + * @summary Find a User by ID + */ +export const findUserById = async (id: string, params?: FindUserByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindUserByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updateUserResponse200 = { + data: UserResponseResponse; + status: 200; +}; + +export type updateUserResponse404 = { + data: UserNotFoundResponseResponse; + status: 404; +}; + +export type updateUserResponseSuccess = updateUserResponse200 & { + headers: Headers; +}; +export type updateUserResponseError = updateUserResponse404 & { + headers: Headers; +}; + +export type updateUserResponse = updateUserResponseSuccess | updateUserResponseError; + +export const getUpdateUserUrl = (id: string, params?: UpdateUserParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/users/${id}?${stringifiedParams}` : `/api/users/${id}`; +}; + +/** + * @summary Update a User + */ +export const updateUser = async (id: string, userPatchRequestBodyBody?: UserPatchRequestBodyBody, params?: UpdateUserParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdateUserUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(userPatchRequestBodyBody) + }); +}; + +export type deleteUserResponse200 = { + data: UserResponseResponse; + status: 200; +}; + +export type deleteUserResponse404 = { + data: UserNotFoundResponseResponse; + status: 404; +}; + +export type deleteUserResponseSuccess = deleteUserResponse200 & { + headers: Headers; +}; +export type deleteUserResponseError = deleteUserResponse404 & { + headers: Headers; +}; + +export type deleteUserResponse = deleteUserResponseSuccess | deleteUserResponseError; + +export const getDeleteUserUrl = (id: string, params?: DeleteUserParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/users/${id}?${stringifiedParams}` : `/api/users/${id}`; +}; + +/** + * @summary Delete a User + */ +export const deleteUser = async (id: string, params?: DeleteUserParams, options?: RequestInit): Promise => { + return cmsFetch(getDeleteUserUrl(id, params), { + ...options, + method: "DELETE" + }); +}; + +export type listMediaResponse200 = { + data: MediaListResponseResponse; + status: 200; +}; + +export type listMediaResponseSuccess = listMediaResponse200 & { + headers: Headers; +}; +export type listMediaResponse = listMediaResponseSuccess; + +export const getListMediaUrl = (params?: ListMediaParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/media?${stringifiedParams}` : `/api/media`; +}; + +/** + * @summary Retrieve a list of Media + */ +export const listMedia = async (params?: ListMediaParams, options?: RequestInit): Promise => { + return cmsFetch(getListMediaUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createMediaResponse201 = { + data: NewMediaResponseResponse; + status: 201; +}; + +export type createMediaResponseSuccess = createMediaResponse201 & { + headers: Headers; +}; +export type createMediaResponse = createMediaResponseSuccess; + +export const getCreateMediaUrl = (params?: CreateMediaParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/media?${stringifiedParams}` : `/api/media`; +}; + +/** + * @summary Create a new Media + */ +export const createMedia = async (mediaRequestBodyBody?: MediaRequestBodyBody, params?: CreateMediaParams, options?: RequestInit): Promise => { + return cmsFetch(getCreateMediaUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(mediaRequestBodyBody) + }); +}; + +export type findMediaByIdResponse200 = { + data: MediaResponseResponse; + status: 200; +}; + +export type findMediaByIdResponse404 = { + data: MediaNotFoundResponseResponse; + status: 404; +}; + +export type findMediaByIdResponseSuccess = findMediaByIdResponse200 & { + headers: Headers; +}; +export type findMediaByIdResponseError = findMediaByIdResponse404 & { + headers: Headers; +}; + +export type findMediaByIdResponse = findMediaByIdResponseSuccess | findMediaByIdResponseError; + +export const getFindMediaByIdUrl = (id: string, params?: FindMediaByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/media/${id}?${stringifiedParams}` : `/api/media/${id}`; +}; + +/** + * @summary Find a Media by ID + */ +export const findMediaById = async (id: string, params?: FindMediaByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindMediaByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updateMediaResponse200 = { + data: MediaResponseResponse; + status: 200; +}; + +export type updateMediaResponse404 = { + data: MediaNotFoundResponseResponse; + status: 404; +}; + +export type updateMediaResponseSuccess = updateMediaResponse200 & { + headers: Headers; +}; +export type updateMediaResponseError = updateMediaResponse404 & { + headers: Headers; +}; + +export type updateMediaResponse = updateMediaResponseSuccess | updateMediaResponseError; + +export const getUpdateMediaUrl = (id: string, params?: UpdateMediaParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/media/${id}?${stringifiedParams}` : `/api/media/${id}`; +}; + +/** + * @summary Update a Media + */ +export const updateMedia = async (id: string, mediaPatchRequestBodyBody?: MediaPatchRequestBodyBody, params?: UpdateMediaParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdateMediaUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(mediaPatchRequestBodyBody) + }); +}; + +export type deleteMediaResponse200 = { + data: MediaResponseResponse; + status: 200; +}; + +export type deleteMediaResponse404 = { + data: MediaNotFoundResponseResponse; + status: 404; +}; + +export type deleteMediaResponseSuccess = deleteMediaResponse200 & { + headers: Headers; +}; +export type deleteMediaResponseError = deleteMediaResponse404 & { + headers: Headers; +}; + +export type deleteMediaResponse = deleteMediaResponseSuccess | deleteMediaResponseError; + +export const getDeleteMediaUrl = (id: string, params?: DeleteMediaParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/media/${id}?${stringifiedParams}` : `/api/media/${id}`; +}; + +/** + * @summary Delete a Media + */ +export const deleteMedia = async (id: string, params?: DeleteMediaParams, options?: RequestInit): Promise => { + return cmsFetch(getDeleteMediaUrl(id, params), { + ...options, + method: "DELETE" + }); +}; + +export type listPostsResponse200 = { + data: PostListResponseResponse; + status: 200; +}; + +export type listPostsResponseSuccess = listPostsResponse200 & { + headers: Headers; +}; +export type listPostsResponse = listPostsResponseSuccess; + +export const getListPostsUrl = (params?: ListPostsParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/posts?${stringifiedParams}` : `/api/posts`; +}; + +/** + * @summary Retrieve a list of Posts + */ +export const listPosts = async (params?: ListPostsParams, options?: RequestInit): Promise => { + return cmsFetch(getListPostsUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createPostResponse201 = { + data: NewPostResponseResponse; + status: 201; +}; + +export type createPostResponseSuccess = createPostResponse201 & { + headers: Headers; +}; +export type createPostResponse = createPostResponseSuccess; + +export const getCreatePostUrl = (params?: CreatePostParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/posts?${stringifiedParams}` : `/api/posts`; +}; + +/** + * @summary Create a new Post + */ +export const createPost = async (postRequestBodyBody?: PostRequestBodyBody, params?: CreatePostParams, options?: RequestInit): Promise => { + return cmsFetch(getCreatePostUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(postRequestBodyBody) + }); +}; + +export type findPostByIdResponse200 = { + data: PostResponseResponse; + status: 200; +}; + +export type findPostByIdResponse404 = { + data: PostNotFoundResponseResponse; + status: 404; +}; + +export type findPostByIdResponseSuccess = findPostByIdResponse200 & { + headers: Headers; +}; +export type findPostByIdResponseError = findPostByIdResponse404 & { + headers: Headers; +}; + +export type findPostByIdResponse = findPostByIdResponseSuccess | findPostByIdResponseError; + +export const getFindPostByIdUrl = (id: string, params?: FindPostByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/posts/${id}?${stringifiedParams}` : `/api/posts/${id}`; +}; + +/** + * @summary Find a Post by ID + */ +export const findPostById = async (id: string, params?: FindPostByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindPostByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updatePostResponse200 = { + data: PostResponseResponse; + status: 200; +}; + +export type updatePostResponse404 = { + data: PostNotFoundResponseResponse; + status: 404; +}; + +export type updatePostResponseSuccess = updatePostResponse200 & { + headers: Headers; +}; +export type updatePostResponseError = updatePostResponse404 & { + headers: Headers; +}; + +export type updatePostResponse = updatePostResponseSuccess | updatePostResponseError; + +export const getUpdatePostUrl = (id: string, params?: UpdatePostParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/posts/${id}?${stringifiedParams}` : `/api/posts/${id}`; +}; + +/** + * @summary Update a Post + */ +export const updatePost = async (id: string, postPatchRequestBodyBody?: PostPatchRequestBodyBody, params?: UpdatePostParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdatePostUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(postPatchRequestBodyBody) + }); +}; + +export type deletePostResponse200 = { + data: PostResponseResponse; + status: 200; +}; + +export type deletePostResponse404 = { + data: PostNotFoundResponseResponse; + status: 404; +}; + +export type deletePostResponseSuccess = deletePostResponse200 & { + headers: Headers; +}; +export type deletePostResponseError = deletePostResponse404 & { + headers: Headers; +}; + +export type deletePostResponse = deletePostResponseSuccess | deletePostResponseError; + +export const getDeletePostUrl = (id: string, params?: DeletePostParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/posts/${id}?${stringifiedParams}` : `/api/posts/${id}`; +}; + +/** + * @summary Delete a Post + */ +export const deletePost = async (id: string, params?: DeletePostParams, options?: RequestInit): Promise => { + return cmsFetch(getDeletePostUrl(id, params), { + ...options, + method: "DELETE" + }); +}; + +export type listPayloadKvsResponse200 = { + data: PayloadKvListResponseResponse; + status: 200; +}; + +export type listPayloadKvsResponseSuccess = listPayloadKvsResponse200 & { + headers: Headers; +}; +export type listPayloadKvsResponse = listPayloadKvsResponseSuccess; + +export const getListPayloadKvsUrl = (params?: ListPayloadKvsParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-kv?${stringifiedParams}` : `/api/payload-kv`; +}; + +/** + * @summary Retrieve a list of Payload Kvs + */ +export const listPayloadKvs = async (params?: ListPayloadKvsParams, options?: RequestInit): Promise => { + return cmsFetch(getListPayloadKvsUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createPayloadKvResponse201 = { + data: NewPayloadKvResponseResponse; + status: 201; +}; + +export type createPayloadKvResponseSuccess = createPayloadKvResponse201 & { + headers: Headers; +}; +export type createPayloadKvResponse = createPayloadKvResponseSuccess; + +export const getCreatePayloadKvUrl = (params?: CreatePayloadKvParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-kv?${stringifiedParams}` : `/api/payload-kv`; +}; + +/** + * @summary Create a new Payload Kv + */ +export const createPayloadKv = async (payloadKvRequestBodyBody?: PayloadKvRequestBodyBody, params?: CreatePayloadKvParams, options?: RequestInit): Promise => { + return cmsFetch(getCreatePayloadKvUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadKvRequestBodyBody) + }); +}; + +export type findPayloadKvByIdResponse200 = { + data: PayloadKvResponseResponse; + status: 200; +}; + +export type findPayloadKvByIdResponse404 = { + data: PayloadKvNotFoundResponseResponse; + status: 404; +}; + +export type findPayloadKvByIdResponseSuccess = findPayloadKvByIdResponse200 & { + headers: Headers; +}; +export type findPayloadKvByIdResponseError = findPayloadKvByIdResponse404 & { + headers: Headers; +}; + +export type findPayloadKvByIdResponse = findPayloadKvByIdResponseSuccess | findPayloadKvByIdResponseError; + +export const getFindPayloadKvByIdUrl = (id: string, params?: FindPayloadKvByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-kv/${id}?${stringifiedParams}` : `/api/payload-kv/${id}`; +}; + +/** + * @summary Find a Payload Kv by ID + */ +export const findPayloadKvById = async (id: string, params?: FindPayloadKvByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindPayloadKvByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updatePayloadKvResponse200 = { + data: PayloadKvResponseResponse; + status: 200; +}; + +export type updatePayloadKvResponse404 = { + data: PayloadKvNotFoundResponseResponse; + status: 404; +}; + +export type updatePayloadKvResponseSuccess = updatePayloadKvResponse200 & { + headers: Headers; +}; +export type updatePayloadKvResponseError = updatePayloadKvResponse404 & { + headers: Headers; +}; + +export type updatePayloadKvResponse = updatePayloadKvResponseSuccess | updatePayloadKvResponseError; + +export const getUpdatePayloadKvUrl = (id: string, params?: UpdatePayloadKvParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-kv/${id}?${stringifiedParams}` : `/api/payload-kv/${id}`; +}; + +/** + * @summary Update a Payload Kv + */ +export const updatePayloadKv = async (id: string, payloadKvPatchRequestBodyBody?: PayloadKvPatchRequestBodyBody, params?: UpdatePayloadKvParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdatePayloadKvUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadKvPatchRequestBodyBody) + }); +}; + +export type deletePayloadKvResponse200 = { + data: PayloadKvResponseResponse; + status: 200; +}; + +export type deletePayloadKvResponse404 = { + data: PayloadKvNotFoundResponseResponse; + status: 404; +}; + +export type deletePayloadKvResponseSuccess = deletePayloadKvResponse200 & { + headers: Headers; +}; +export type deletePayloadKvResponseError = deletePayloadKvResponse404 & { + headers: Headers; +}; + +export type deletePayloadKvResponse = deletePayloadKvResponseSuccess | deletePayloadKvResponseError; + +export const getDeletePayloadKvUrl = (id: string, params?: DeletePayloadKvParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-kv/${id}?${stringifiedParams}` : `/api/payload-kv/${id}`; +}; + +/** + * @summary Delete a Payload Kv + */ +export const deletePayloadKv = async (id: string, params?: DeletePayloadKvParams, options?: RequestInit): Promise => { + return cmsFetch(getDeletePayloadKvUrl(id, params), { + ...options, + method: "DELETE" + }); +}; + +export type listPayloadJobsResponse200 = { + data: PayloadJobListResponseResponse; + status: 200; +}; + +export type listPayloadJobsResponseSuccess = listPayloadJobsResponse200 & { + headers: Headers; +}; +export type listPayloadJobsResponse = listPayloadJobsResponseSuccess; + +export const getListPayloadJobsUrl = (params?: ListPayloadJobsParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-jobs?${stringifiedParams}` : `/api/payload-jobs`; +}; + +/** + * @summary Retrieve a list of Payload Jobs + */ +export const listPayloadJobs = async (params?: ListPayloadJobsParams, options?: RequestInit): Promise => { + return cmsFetch(getListPayloadJobsUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createPayloadJobResponse201 = { + data: NewPayloadJobResponseResponse; + status: 201; +}; + +export type createPayloadJobResponseSuccess = createPayloadJobResponse201 & { + headers: Headers; +}; +export type createPayloadJobResponse = createPayloadJobResponseSuccess; + +export const getCreatePayloadJobUrl = (params?: CreatePayloadJobParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-jobs?${stringifiedParams}` : `/api/payload-jobs`; +}; + +/** + * @summary Create a new Payload Job + */ +export const createPayloadJob = async (payloadJobRequestBodyBody?: PayloadJobRequestBodyBody, params?: CreatePayloadJobParams, options?: RequestInit): Promise => { + return cmsFetch(getCreatePayloadJobUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadJobRequestBodyBody) + }); +}; + +export type findPayloadJobByIdResponse200 = { + data: PayloadJobResponseResponse; + status: 200; +}; + +export type findPayloadJobByIdResponse404 = { + data: PayloadJobNotFoundResponseResponse; + status: 404; +}; + +export type findPayloadJobByIdResponseSuccess = findPayloadJobByIdResponse200 & { + headers: Headers; +}; +export type findPayloadJobByIdResponseError = findPayloadJobByIdResponse404 & { + headers: Headers; +}; + +export type findPayloadJobByIdResponse = findPayloadJobByIdResponseSuccess | findPayloadJobByIdResponseError; + +export const getFindPayloadJobByIdUrl = (id: string, params?: FindPayloadJobByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-jobs/${id}?${stringifiedParams}` : `/api/payload-jobs/${id}`; +}; + +/** + * @summary Find a Payload Job by ID + */ +export const findPayloadJobById = async (id: string, params?: FindPayloadJobByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindPayloadJobByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updatePayloadJobResponse200 = { + data: PayloadJobResponseResponse; + status: 200; +}; + +export type updatePayloadJobResponse404 = { + data: PayloadJobNotFoundResponseResponse; + status: 404; +}; + +export type updatePayloadJobResponseSuccess = updatePayloadJobResponse200 & { + headers: Headers; +}; +export type updatePayloadJobResponseError = updatePayloadJobResponse404 & { + headers: Headers; +}; + +export type updatePayloadJobResponse = updatePayloadJobResponseSuccess | updatePayloadJobResponseError; + +export const getUpdatePayloadJobUrl = (id: string, params?: UpdatePayloadJobParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-jobs/${id}?${stringifiedParams}` : `/api/payload-jobs/${id}`; +}; + +/** + * @summary Update a Payload Job + */ +export const updatePayloadJob = async (id: string, payloadJobPatchRequestBodyBody?: PayloadJobPatchRequestBodyBody, params?: UpdatePayloadJobParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdatePayloadJobUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadJobPatchRequestBodyBody) + }); +}; + +export type deletePayloadJobResponse200 = { + data: PayloadJobResponseResponse; + status: 200; +}; + +export type deletePayloadJobResponse404 = { + data: PayloadJobNotFoundResponseResponse; + status: 404; +}; + +export type deletePayloadJobResponseSuccess = deletePayloadJobResponse200 & { + headers: Headers; +}; +export type deletePayloadJobResponseError = deletePayloadJobResponse404 & { + headers: Headers; +}; + +export type deletePayloadJobResponse = deletePayloadJobResponseSuccess | deletePayloadJobResponseError; + +export const getDeletePayloadJobUrl = (id: string, params?: DeletePayloadJobParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-jobs/${id}?${stringifiedParams}` : `/api/payload-jobs/${id}`; +}; + +/** + * @summary Delete a Payload Job + */ +export const deletePayloadJob = async (id: string, params?: DeletePayloadJobParams, options?: RequestInit): Promise => { + return cmsFetch(getDeletePayloadJobUrl(id, params), { + ...options, + method: "DELETE" + }); +}; + +export type listPayloadLockedDocumentsResponse200 = { + data: PayloadLockedDocumentListResponseResponse; + status: 200; +}; + +export type listPayloadLockedDocumentsResponseSuccess = listPayloadLockedDocumentsResponse200 & { + headers: Headers; +}; +export type listPayloadLockedDocumentsResponse = listPayloadLockedDocumentsResponseSuccess; + +export const getListPayloadLockedDocumentsUrl = (params?: ListPayloadLockedDocumentsParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-locked-documents?${stringifiedParams}` : `/api/payload-locked-documents`; +}; + +/** + * @summary Retrieve a list of Payload Locked Documents + */ +export const listPayloadLockedDocuments = async (params?: ListPayloadLockedDocumentsParams, options?: RequestInit): Promise => { + return cmsFetch(getListPayloadLockedDocumentsUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createPayloadLockedDocumentResponse201 = { + data: NewPayloadLockedDocumentResponseResponse; + status: 201; +}; + +export type createPayloadLockedDocumentResponseSuccess = createPayloadLockedDocumentResponse201 & { + headers: Headers; +}; +export type createPayloadLockedDocumentResponse = createPayloadLockedDocumentResponseSuccess; + +export const getCreatePayloadLockedDocumentUrl = (params?: CreatePayloadLockedDocumentParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-locked-documents?${stringifiedParams}` : `/api/payload-locked-documents`; +}; + +/** + * @summary Create a new Payload Locked Document + */ +export const createPayloadLockedDocument = async (payloadLockedDocumentRequestBodyBody?: PayloadLockedDocumentRequestBodyBody, params?: CreatePayloadLockedDocumentParams, options?: RequestInit): Promise => { + return cmsFetch(getCreatePayloadLockedDocumentUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadLockedDocumentRequestBodyBody) + }); +}; + +export type findPayloadLockedDocumentByIdResponse200 = { + data: PayloadLockedDocumentResponseResponse; + status: 200; +}; + +export type findPayloadLockedDocumentByIdResponse404 = { + data: PayloadLockedDocumentNotFoundResponseResponse; + status: 404; +}; + +export type findPayloadLockedDocumentByIdResponseSuccess = findPayloadLockedDocumentByIdResponse200 & { + headers: Headers; +}; +export type findPayloadLockedDocumentByIdResponseError = findPayloadLockedDocumentByIdResponse404 & { + headers: Headers; +}; + +export type findPayloadLockedDocumentByIdResponse = findPayloadLockedDocumentByIdResponseSuccess | findPayloadLockedDocumentByIdResponseError; + +export const getFindPayloadLockedDocumentByIdUrl = (id: string, params?: FindPayloadLockedDocumentByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-locked-documents/${id}?${stringifiedParams}` : `/api/payload-locked-documents/${id}`; +}; + +/** + * @summary Find a Payload Locked Document by ID + */ +export const findPayloadLockedDocumentById = async (id: string, params?: FindPayloadLockedDocumentByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindPayloadLockedDocumentByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updatePayloadLockedDocumentResponse200 = { + data: PayloadLockedDocumentResponseResponse; + status: 200; +}; + +export type updatePayloadLockedDocumentResponse404 = { + data: PayloadLockedDocumentNotFoundResponseResponse; + status: 404; +}; + +export type updatePayloadLockedDocumentResponseSuccess = updatePayloadLockedDocumentResponse200 & { + headers: Headers; +}; +export type updatePayloadLockedDocumentResponseError = updatePayloadLockedDocumentResponse404 & { + headers: Headers; +}; + +export type updatePayloadLockedDocumentResponse = updatePayloadLockedDocumentResponseSuccess | updatePayloadLockedDocumentResponseError; + +export const getUpdatePayloadLockedDocumentUrl = (id: string, params?: UpdatePayloadLockedDocumentParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-locked-documents/${id}?${stringifiedParams}` : `/api/payload-locked-documents/${id}`; +}; + +/** + * @summary Update a Payload Locked Document + */ +export const updatePayloadLockedDocument = async (id: string, payloadLockedDocumentPatchRequestBodyBody?: PayloadLockedDocumentPatchRequestBodyBody, params?: UpdatePayloadLockedDocumentParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdatePayloadLockedDocumentUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadLockedDocumentPatchRequestBodyBody) + }); +}; + +export type deletePayloadLockedDocumentResponse200 = { + data: PayloadLockedDocumentResponseResponse; + status: 200; +}; + +export type deletePayloadLockedDocumentResponse404 = { + data: PayloadLockedDocumentNotFoundResponseResponse; + status: 404; +}; + +export type deletePayloadLockedDocumentResponseSuccess = deletePayloadLockedDocumentResponse200 & { + headers: Headers; +}; +export type deletePayloadLockedDocumentResponseError = deletePayloadLockedDocumentResponse404 & { + headers: Headers; +}; + +export type deletePayloadLockedDocumentResponse = deletePayloadLockedDocumentResponseSuccess | deletePayloadLockedDocumentResponseError; + +export const getDeletePayloadLockedDocumentUrl = (id: string, params?: DeletePayloadLockedDocumentParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-locked-documents/${id}?${stringifiedParams}` : `/api/payload-locked-documents/${id}`; +}; + +/** + * @summary Delete a Payload Locked Document + */ +export const deletePayloadLockedDocument = async (id: string, params?: DeletePayloadLockedDocumentParams, options?: RequestInit): Promise => { + return cmsFetch(getDeletePayloadLockedDocumentUrl(id, params), { + ...options, + method: "DELETE" + }); +}; + +export type listPayloadPreferencesResponse200 = { + data: PayloadPreferenceListResponseResponse; + status: 200; +}; + +export type listPayloadPreferencesResponseSuccess = listPayloadPreferencesResponse200 & { + headers: Headers; +}; +export type listPayloadPreferencesResponse = listPayloadPreferencesResponseSuccess; + +export const getListPayloadPreferencesUrl = (params?: ListPayloadPreferencesParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-preferences?${stringifiedParams}` : `/api/payload-preferences`; +}; + +/** + * @summary Retrieve a list of Payload Preferences + */ +export const listPayloadPreferences = async (params?: ListPayloadPreferencesParams, options?: RequestInit): Promise => { + return cmsFetch(getListPayloadPreferencesUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createPayloadPreferenceResponse201 = { + data: NewPayloadPreferenceResponseResponse; + status: 201; +}; + +export type createPayloadPreferenceResponseSuccess = createPayloadPreferenceResponse201 & { + headers: Headers; +}; +export type createPayloadPreferenceResponse = createPayloadPreferenceResponseSuccess; + +export const getCreatePayloadPreferenceUrl = (params?: CreatePayloadPreferenceParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-preferences?${stringifiedParams}` : `/api/payload-preferences`; +}; + +/** + * @summary Create a new Payload Preference + */ +export const createPayloadPreference = async (payloadPreferenceRequestBodyBody?: PayloadPreferenceRequestBodyBody, params?: CreatePayloadPreferenceParams, options?: RequestInit): Promise => { + return cmsFetch(getCreatePayloadPreferenceUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadPreferenceRequestBodyBody) + }); +}; + +export type findPayloadPreferenceByIdResponse200 = { + data: PayloadPreferenceResponseResponse; + status: 200; +}; + +export type findPayloadPreferenceByIdResponse404 = { + data: PayloadPreferenceNotFoundResponseResponse; + status: 404; +}; + +export type findPayloadPreferenceByIdResponseSuccess = findPayloadPreferenceByIdResponse200 & { + headers: Headers; +}; +export type findPayloadPreferenceByIdResponseError = findPayloadPreferenceByIdResponse404 & { + headers: Headers; +}; + +export type findPayloadPreferenceByIdResponse = findPayloadPreferenceByIdResponseSuccess | findPayloadPreferenceByIdResponseError; + +export const getFindPayloadPreferenceByIdUrl = (id: string, params?: FindPayloadPreferenceByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-preferences/${id}?${stringifiedParams}` : `/api/payload-preferences/${id}`; +}; + +/** + * @summary Find a Payload Preference by ID + */ +export const findPayloadPreferenceById = async (id: string, params?: FindPayloadPreferenceByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindPayloadPreferenceByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updatePayloadPreferenceResponse200 = { + data: PayloadPreferenceResponseResponse; + status: 200; +}; + +export type updatePayloadPreferenceResponse404 = { + data: PayloadPreferenceNotFoundResponseResponse; + status: 404; +}; + +export type updatePayloadPreferenceResponseSuccess = updatePayloadPreferenceResponse200 & { + headers: Headers; +}; +export type updatePayloadPreferenceResponseError = updatePayloadPreferenceResponse404 & { + headers: Headers; +}; + +export type updatePayloadPreferenceResponse = updatePayloadPreferenceResponseSuccess | updatePayloadPreferenceResponseError; + +export const getUpdatePayloadPreferenceUrl = (id: string, params?: UpdatePayloadPreferenceParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-preferences/${id}?${stringifiedParams}` : `/api/payload-preferences/${id}`; +}; + +/** + * @summary Update a Payload Preference + */ +export const updatePayloadPreference = async (id: string, payloadPreferencePatchRequestBodyBody?: PayloadPreferencePatchRequestBodyBody, params?: UpdatePayloadPreferenceParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdatePayloadPreferenceUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadPreferencePatchRequestBodyBody) + }); +}; + +export type deletePayloadPreferenceResponse200 = { + data: PayloadPreferenceResponseResponse; + status: 200; +}; + +export type deletePayloadPreferenceResponse404 = { + data: PayloadPreferenceNotFoundResponseResponse; + status: 404; +}; + +export type deletePayloadPreferenceResponseSuccess = deletePayloadPreferenceResponse200 & { + headers: Headers; +}; +export type deletePayloadPreferenceResponseError = deletePayloadPreferenceResponse404 & { + headers: Headers; +}; + +export type deletePayloadPreferenceResponse = deletePayloadPreferenceResponseSuccess | deletePayloadPreferenceResponseError; + +export const getDeletePayloadPreferenceUrl = (id: string, params?: DeletePayloadPreferenceParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-preferences/${id}?${stringifiedParams}` : `/api/payload-preferences/${id}`; +}; + +/** + * @summary Delete a Payload Preference + */ +export const deletePayloadPreference = async (id: string, params?: DeletePayloadPreferenceParams, options?: RequestInit): Promise => { + return cmsFetch(getDeletePayloadPreferenceUrl(id, params), { + ...options, + method: "DELETE" + }); +}; + +export type listPayloadMigrationsResponse200 = { + data: PayloadMigrationListResponseResponse; + status: 200; +}; + +export type listPayloadMigrationsResponseSuccess = listPayloadMigrationsResponse200 & { + headers: Headers; +}; +export type listPayloadMigrationsResponse = listPayloadMigrationsResponseSuccess; + +export const getListPayloadMigrationsUrl = (params?: ListPayloadMigrationsParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-migrations?${stringifiedParams}` : `/api/payload-migrations`; +}; + +/** + * @summary Retrieve a list of Payload Migrations + */ +export const listPayloadMigrations = async (params?: ListPayloadMigrationsParams, options?: RequestInit): Promise => { + return cmsFetch(getListPayloadMigrationsUrl(params), { + ...options, + method: "GET" + }); +}; + +export type createPayloadMigrationResponse201 = { + data: NewPayloadMigrationResponseResponse; + status: 201; +}; + +export type createPayloadMigrationResponseSuccess = createPayloadMigrationResponse201 & { + headers: Headers; +}; +export type createPayloadMigrationResponse = createPayloadMigrationResponseSuccess; + +export const getCreatePayloadMigrationUrl = (params?: CreatePayloadMigrationParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : String(value)); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-migrations?${stringifiedParams}` : `/api/payload-migrations`; +}; + +/** + * @summary Create a new Payload Migration + */ +export const createPayloadMigration = async (payloadMigrationRequestBodyBody?: PayloadMigrationRequestBodyBody, params?: CreatePayloadMigrationParams, options?: RequestInit): Promise => { + return cmsFetch(getCreatePayloadMigrationUrl(params), { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadMigrationRequestBodyBody) + }); +}; + +export type findPayloadMigrationByIdResponse200 = { + data: PayloadMigrationResponseResponse; + status: 200; +}; + +export type findPayloadMigrationByIdResponse404 = { + data: PayloadMigrationNotFoundResponseResponse; + status: 404; +}; + +export type findPayloadMigrationByIdResponseSuccess = findPayloadMigrationByIdResponse200 & { + headers: Headers; +}; +export type findPayloadMigrationByIdResponseError = findPayloadMigrationByIdResponse404 & { + headers: Headers; +}; + +export type findPayloadMigrationByIdResponse = findPayloadMigrationByIdResponseSuccess | findPayloadMigrationByIdResponseError; + +export const getFindPayloadMigrationByIdUrl = (id: string, params?: FindPayloadMigrationByIdParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-migrations/${id}?${stringifiedParams}` : `/api/payload-migrations/${id}`; +}; + +/** + * @summary Find a Payload Migration by ID + */ +export const findPayloadMigrationById = async (id: string, params?: FindPayloadMigrationByIdParams, options?: RequestInit): Promise => { + return cmsFetch(getFindPayloadMigrationByIdUrl(id, params), { + ...options, + method: "GET" + }); +}; + +export type updatePayloadMigrationResponse200 = { + data: PayloadMigrationResponseResponse; + status: 200; +}; + +export type updatePayloadMigrationResponse404 = { + data: PayloadMigrationNotFoundResponseResponse; + status: 404; +}; + +export type updatePayloadMigrationResponseSuccess = updatePayloadMigrationResponse200 & { + headers: Headers; +}; +export type updatePayloadMigrationResponseError = updatePayloadMigrationResponse404 & { + headers: Headers; +}; + +export type updatePayloadMigrationResponse = updatePayloadMigrationResponseSuccess | updatePayloadMigrationResponseError; + +export const getUpdatePayloadMigrationUrl = (id: string, params?: UpdatePayloadMigrationParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-migrations/${id}?${stringifiedParams}` : `/api/payload-migrations/${id}`; +}; + +/** + * @summary Update a Payload Migration + */ +export const updatePayloadMigration = async (id: string, payloadMigrationPatchRequestBodyBody?: PayloadMigrationPatchRequestBodyBody, params?: UpdatePayloadMigrationParams, options?: RequestInit): Promise => { + return cmsFetch(getUpdatePayloadMigrationUrl(id, params), { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(payloadMigrationPatchRequestBodyBody) + }); +}; + +export type deletePayloadMigrationResponse200 = { + data: PayloadMigrationResponseResponse; + status: 200; +}; + +export type deletePayloadMigrationResponse404 = { + data: PayloadMigrationNotFoundResponseResponse; + status: 404; +}; + +export type deletePayloadMigrationResponseSuccess = deletePayloadMigrationResponse200 & { + headers: Headers; +}; +export type deletePayloadMigrationResponseError = deletePayloadMigrationResponse404 & { + headers: Headers; +}; + +export type deletePayloadMigrationResponse = deletePayloadMigrationResponseSuccess | deletePayloadMigrationResponseError; + +export const getDeletePayloadMigrationUrl = (id: string, params?: DeletePayloadMigrationParams) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => {}); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 ? `/api/payload-migrations/${id}?${stringifiedParams}` : `/api/payload-migrations/${id}`; +}; + +/** + * @summary Delete a Payload Migration + */ +export const deletePayloadMigration = async (id: string, params?: DeletePayloadMigrationParams, options?: RequestInit): Promise => { + return cmsFetch(getDeletePayloadMigrationUrl(id, params), { + ...options, + method: "DELETE" + }); +}; diff --git a/src/lib/shared/api/mutator/cms-instance.ts b/src/lib/shared/api/mutator/cms-instance.ts new file mode 100644 index 000000000..739fd0786 --- /dev/null +++ b/src/lib/shared/api/mutator/cms-instance.ts @@ -0,0 +1,41 @@ +import { getRequestEvent } from "$app/server"; +import { env as envPrivate } from "$env/dynamic/private"; +import { env as envPublic } from "$env/dynamic/public"; +import { error } from "@sveltejs/kit"; + +// NOTE: Supports cases where `content-type` is other than `json` +const getBody = (c: Response | Request): Promise => { + const contentType = c.headers.get("content-type"); + + if (contentType && contentType.includes("application/json")) { + return c.json(); + } + + return c.text() as Promise; +}; + +// NOTE: Resolve against the CMS base url (server-only, falls back to the public url). +const getUrl = (contextUrl: string): string => { + const base = envPrivate.SERVER_CMS_API_URL || envPublic.PUBLIC_CMS_URL; + if (!base) error(500, "CMS URL not configured"); + // The OpenAPI paths already include the `/api` prefix, so strip a trailing one from the base. + const baseUrl = base.replace(/\/api\/?$/, ""); + return new URL(`${baseUrl}${contextUrl}`).toString(); +}; + +export const cmsFetch = async (url: string, options: RequestInit): Promise => { + let fetchFunction = fetch; + try { + const event = getRequestEvent(); + fetchFunction = event.fetch; + } catch { + // Ignore this, we just won't have access to the request for this call + } + + const requestUrl = getUrl(url); + + const response = await fetchFunction(requestUrl, options); + const data = await getBody(response); + + return { status: response.status, data, headers: response.headers } as T; +}; diff --git a/src/lib/shared/api/orval-generated-zod.ts b/src/lib/shared/api/orval-generated-zod.ts index 2c78f4db1..99634fdc5 100644 --- a/src/lib/shared/api/orval-generated-zod.ts +++ b/src/lib/shared/api/orval-generated-zod.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v8.10.0 🍺 + * Generated by orval v8.15.0 🍺 * Do not edit manually. * SkyCrypt API * API for SkyCrypt - A Hypixel SkyBlock Stats Viewer @@ -24,6 +24,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -72,6 +73,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -102,6 +104,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -400,6 +403,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -431,6 +435,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -459,6 +464,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -485,6 +491,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ .object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -508,6 +515,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -666,7 +674,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.string(), zod.object({ amount: zod.number().optional(), - progress: zod.string().optional(), + progress: zod.number().optional(), rarity: zod.string().optional(), total: zod.number().optional() }) @@ -745,6 +753,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -788,6 +797,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -915,6 +925,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ .object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -938,6 +949,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -984,6 +996,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ .object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -1007,6 +1020,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -1274,6 +1288,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ .object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -1297,6 +1312,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -1413,7 +1429,6 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ max: zod.number().optional() }) .optional(), - fossilDust: zod.number().optional(), fossils: zod .object({ fossils: zod @@ -1641,6 +1656,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ .object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -1664,6 +1680,7 @@ export const GetApiCombinedUuidProfileIdResponse = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -2073,6 +2090,7 @@ export const GetApiInventorySearchUuidProfileIdSearchParamParams = zod.object({ export const GetApiInventorySearchUuidProfileIdSearchParamResponseItem = zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), @@ -2111,6 +2129,7 @@ export const GetApiInventoryUuidProfileIdResponseItem = zod.object({ zod.object({ Count: zod.number().optional(), containsItems: zod.array(zod.unknown()).optional(), + displayInline: zod.boolean().optional(), display_name: zod.string().optional(), isInactive: zod.boolean().optional(), lore: zod.array(zod.string()).optional(), diff --git a/src/lib/shared/api/orval-generated.ts b/src/lib/shared/api/orval-generated.ts index 63218a199..acfb89a83 100644 --- a/src/lib/shared/api/orval-generated.ts +++ b/src/lib/shared/api/orval-generated.ts @@ -1,5 +1,5 @@ /** - * Generated by orval v8.10.0 🍺 + * Generated by orval v8.15.0 🍺 * Do not edit manually. * SkyCrypt API * API for SkyCrypt - A Hypixel SkyBlock Stats Viewer @@ -20,6 +20,7 @@ export interface ModelsSourceTab { export interface ModelsStrippedItem { Count?: number; containsItems?: ModelsStrippedItem[]; + displayInline?: boolean; display_name?: string; isInactive?: boolean; lore?: string[]; @@ -439,7 +440,7 @@ export interface ModelsMiscMythologicalEvent { export interface ModelsMiscPetMilestone { amount?: number; - progress?: string; + progress?: number; rarity?: string; total?: number; } @@ -702,8 +703,8 @@ export type SkycrypttypesExtraAttributesRunes = { [key: string]: number }; /** * HideFlags int `nbt:"HideFlags" json:"HideFlags,omitempty"` -Unbreakable int `nbt:"Unbreakable" json:"Unbreakable,omitempty"` -Enchantments []Enchantment `nbt:"ench" json:"ench,omitempty"` + * Unbreakable int `nbt:"Unbreakable" json:"Unbreakable,omitempty"` + * Enchantments []Enchantment `nbt:"ench" json:"ench,omitempty"` */ export interface SkycrypttypesExtraAttributes { ability_scroll?: string[]; @@ -905,7 +906,6 @@ export interface ModelsFossils { export interface ModelsGlaciteTunnels { corpses?: ModelsCorpses; - fossilDust?: number; fossils?: ModelsFossils; mineshaftsEntered?: number; } @@ -1342,7 +1342,7 @@ export const getGetApiEmbedUuidUrl = (uuid: string, params?: GetApiEmbedUuidPara Object.entries(params || {}).forEach(([key, value]) => { if (value !== undefined) { - normalizedParams.append(key, value === null ? "null" : value.toString()); + normalizedParams.append(key, value === null ? "null" : String(value)); } }); @@ -1542,7 +1542,7 @@ export const getGetApiInventoryUuidProfileIdUrl = (uuid: string, profileId: stri Object.entries(params || {}).forEach(([key, value]) => { if (value !== undefined) { - normalizedParams.append(key, value === null ? "null" : value.toString()); + normalizedParams.append(key, value === null ? "null" : String(value)); } }); diff --git a/src/lib/shared/auth-client.ts b/src/lib/shared/auth-client.ts new file mode 100644 index 000000000..e178f7dd6 --- /dev/null +++ b/src/lib/shared/auth-client.ts @@ -0,0 +1,14 @@ +import { env } from "$env/dynamic/public"; +import { apiKeyClient } from "@better-auth/api-key/client"; +import { adminClient, organizationClient } from "better-auth/client/plugins"; +import { createAuthClient } from "better-auth/svelte"; + +export const authClient = createAuthClient({ + baseURL: env.PUBLIC_ORIGIN, + sessionOptions: { + refetchInterval: 60, // Polling interval in seconds. Set to 0 to disable + refetchOnWindowFocus: true, + refetchWhenOffline: false + }, + plugins: [apiKeyClient(), adminClient(), organizationClient()] +}); diff --git a/src/lib/shared/cms/rich-text-html.spec.ts b/src/lib/shared/cms/rich-text-html.spec.ts new file mode 100644 index 000000000..dcc022e20 --- /dev/null +++ b/src/lib/shared/cms/rich-text-html.spec.ts @@ -0,0 +1,203 @@ +import { describe, it } from "vitest"; +import { richTextToHtml } from "./rich-text-html"; + +type TestNode = { + type: string; + version: number; + [key: string]: unknown; +}; + +const root = (children: TestNode[]) => ({ + root: { + type: "root", + children, + direction: "ltr" as const, + format: "" as const, + indent: 0, + version: 1 + } +}); + +const text = (value: string, format = 0) => ({ + type: "text", + text: value, + detail: 0, + format, + mode: "normal", + style: "", + version: 1 +}); + +const paragraph = (children: TestNode[]): TestNode => ({ + type: "paragraph", + children, + direction: "ltr", + format: "", + indent: 0, + textFormat: 0, + textStyle: "", + version: 1 +}); + +describe.concurrent("richTextToHtml()", () => { + it("escapes script tags in paragraph text", ({ expect }) => { + const result = richTextToHtml(root([paragraph([text("")])])); + + expect(result).not.toContain(" @@ -226,9 +227,6 @@ {/if} -
- -
{@render children()} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 6d6d86d58..d2518fee0 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -4,10 +4,13 @@ import { getFavorites, getPreferences } from "$ctx"; import { env } from "$env/dynamic/public"; import { ContributorCard, ContributorCardSkeleton, CtaCard } from "$lib/components/misc"; + import PostCard from "$lib/components/newsroom/PostCard.svelte"; import { Notice } from "$lib/components/notices"; + import { listPosts } from "$lib/shared/api/cms-api.remote"; import { searchUser } from "$lib/shared/api/skycrypt-api.remote"; import { cn } from "$lib/shared/utils"; import { getContributors } from "$routes/contributors.remote"; + import ArrowRight from "@lucide/svelte/icons/arrow-right"; import CodeXml from "@lucide/svelte/icons/code-xml"; import GitPullRequestArrow from "@lucide/svelte/icons/git-pull-request-arrow"; import LoaderCircle from "@lucide/svelte/icons/loader-circle"; @@ -91,7 +94,7 @@ submittedSearchError = undefined; try { - const response = await searchUser({ username }).run(); + const response = await searchUser({ username }); await goto(resolve("/stats/[ign]", { ign: response.username ?? "" })); } catch (err) { submittedSearchError = getErrorMessage(err); @@ -150,6 +153,48 @@ {/if} + + {#snippet pending()} +
+
+
+ {#each new Array(3) as _, i (i)} +
+
+
+
+
+
+
+
+ {/each} +
+
+ {/snippet} + {#snippet failed()}{/snippet} + + {@const newsroom = await listPosts({ page: 1, limit: 3 })} + {#if newsroom.docs.length > 0} +
+
+
+

Newsroom

+

Latest announcements and updates

+
+ + View all + + +
+
+ {#each newsroom.docs as post (post.id)} + + {/each} +
+
+ {/if} +
+
{#if favorites.current.length === 0} diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte new file mode 100644 index 000000000..cabb30c2b --- /dev/null +++ b/src/routes/login/+page.svelte @@ -0,0 +1,40 @@ + + +
+
+
+ + + SC + +
+

Sign in to SkyCrypt

+
+
+ +
+ + + + + {#if signInSocial.pending} + +
+ +

We only request your basic Discord profile (username, avatar, and banner).
We do not access your email or any other personal information.

If this is not the case, then you may be a victim of a phishing attempt.

+
+
diff --git a/src/routes/login/login.remote.ts b/src/routes/login/login.remote.ts new file mode 100644 index 000000000..7013d7551 --- /dev/null +++ b/src/routes/login/login.remote.ts @@ -0,0 +1,22 @@ +import { form } from "$app/server"; +import { auth } from "$src/lib/server/auth"; +import { fail, redirect } from "@sveltejs/kit"; +import { z } from "zod"; + +export const signInSocial = form(z.object({ provider: z.string(), callbackURL: z.string() }), async ({ provider, callbackURL }) => { + if (!provider) { + return fail(400, { message: "Provider is required" }); + } + + const result = await auth.api.signInSocial({ + body: { + provider: provider, + callbackURL + } + }); + + if (result.url) { + return redirect(302, result.url); + } + return fail(400, { message: "Social sign-in failed" }); +}); diff --git a/src/routes/newsroom/+error.svelte b/src/routes/newsroom/+error.svelte new file mode 100644 index 000000000..184f4f723 --- /dev/null +++ b/src/routes/newsroom/+error.svelte @@ -0,0 +1,21 @@ + + +
+
+ +

+ {page.status === 404 ? "Post not found" : "Something went wrong"} +

+ {#if page.error?.message} +

{page.error.message}

+ {/if} + Back to newsroom +
+
diff --git a/src/routes/newsroom/+page.server.ts b/src/routes/newsroom/+page.server.ts new file mode 100644 index 000000000..538396c53 --- /dev/null +++ b/src/routes/newsroom/+page.server.ts @@ -0,0 +1,29 @@ +import { listPosts } from "$lib/shared/api/cms-api.remote"; +import { POST_TYPES, type PostType } from "$types"; +import { error, isHttpError } from "@sveltejs/kit"; +import type { PageServerLoad } from "./$types"; + +const POSTS_PER_PAGE = 12; + +const isPostType = (value: string | null): value is PostType => value != null && (POST_TYPES as readonly string[]).includes(value); + +export const load: PageServerLoad = async ({ url, setHeaders }) => { + setHeaders({ "cache-control": "public, s-maxage=60, stale-while-revalidate=600" }); + + const rawPage = url.searchParams.get("page"); + const parsed = rawPage == null ? 1 : Number.parseInt(rawPage, 10); + const page = Number.isFinite(parsed) && parsed >= 1 ? parsed : 1; + + const rawType = url.searchParams.get("type"); + const type = isPostType(rawType) ? rawType : undefined; + + try { + const result = await listPosts({ page, limit: POSTS_PER_PAGE, type }); + if (result.totalPages > 0 && page > result.totalPages) error(404, "Page not found"); + return { ...result, type }; + } catch (e) { + if (isHttpError(e)) throw e; + console.error("Failed to list posts from CMS:", e); + error(503, "Newsroom is temporarily unavailable"); + } +}; diff --git a/src/routes/newsroom/+page.svelte b/src/routes/newsroom/+page.svelte new file mode 100644 index 000000000..4c6001e64 --- /dev/null +++ b/src/routes/newsroom/+page.svelte @@ -0,0 +1,87 @@ + + + + +
+
+
+

Newsroom

+

Latest announcements and updates from the SkyCrypt team.

+
+
+ + +
+
+ + {#if data.docs.length === 0} +
+

No posts yet

+

+ {data.type ? `No ${POST_TYPE_LABELS[data.type].toLowerCase()} posts in this category.` : "Check back soon for announcements and updates."} +

+
+ {:else} +
+ {#each data.docs as post (post.id)} + + {/each} +
+ + {#if data.totalPages > 1} +
+ +
+ {/if} + {/if} +
diff --git a/src/routes/newsroom/[slug]/+page.server.ts b/src/routes/newsroom/[slug]/+page.server.ts new file mode 100644 index 000000000..327a525af --- /dev/null +++ b/src/routes/newsroom/[slug]/+page.server.ts @@ -0,0 +1,49 @@ +import { env as envPrivate } from "$env/dynamic/private"; +import { getPostBySlug, getPostBySlugDraft } from "$lib/shared/api/cms-api.remote"; +import { richTextToHtml } from "$lib/shared/cms/rich-text-html"; +import type { Post } from "$types"; +import { error, isHttpError } from "@sveltejs/kit"; +import type { PageServerLoad } from "./$types"; + +const constantTimeEqual = (a: string, b: string): boolean => { + if (a.length !== b.length) return false; + let diff = 0; + for (let i = 0; i < a.length; i++) diff |= a.charCodeAt(i) ^ b.charCodeAt(i); + return diff === 0; +}; + +function renderRichTextBlocks(post: Post): Post { + return { + ...post, + body: post.body?.map((block) => (block.blockType === "richText" ? { ...block, html: richTextToHtml(block.content) } : block)) ?? post.body + }; +} + +export const load: PageServerLoad = async ({ params, url, setHeaders }) => { + const preview = url.searchParams.get("preview") === "1"; + const token = url.searchParams.get("token") ?? ""; + + if (preview) { + const expected = envPrivate.CMS_PREVIEW_TOKEN; + if (!expected || !constantTimeEqual(token, expected)) error(404, "Not found"); + setHeaders({ "cache-control": "no-store" }); + try { + const post = await getPostBySlugDraft({ slug: params.slug }); + return { post: renderRichTextBlocks(post), preview: true }; + } catch (e) { + if (isHttpError(e)) throw e; + console.error("Failed to fetch draft from CMS:", e); + error(503, "Newsroom is temporarily unavailable"); + } + } + + setHeaders({ "cache-control": "public, s-maxage=60, stale-while-revalidate=600" }); + try { + const post = await getPostBySlug({ slug: params.slug }); + return { post: renderRichTextBlocks(post), preview: false }; + } catch (e) { + if (isHttpError(e)) throw e; + console.error("Failed to fetch post from CMS:", e); + error(503, "Newsroom is temporarily unavailable"); + } +}; diff --git a/src/routes/newsroom/[slug]/+page.svelte b/src/routes/newsroom/[slug]/+page.svelte new file mode 100644 index 000000000..f48606b4a --- /dev/null +++ b/src/routes/newsroom/[slug]/+page.svelte @@ -0,0 +1,136 @@ + + + + +
+ + + Newsroom + + + {#if data.preview} +
Draft preview — not visible to public
+ {/if} + + {#if heroSrc} +
+ {heroAlt} +
+ {/if} + +
+
+ + {#if post.featured} + + + Featured + + {/if} +
+

{post.title}

+
+ + {#if author.mcUuid} + + {/if} + {initials} + +
+ {displayName} + +
+
+ {#if post.tags && post.tags.length > 0} +
+ {#each post.tags as tag (tag)} + #{tag} + {/each} +
+ {/if} +
+ +
*:last-child]:mb-0", containerClass)}> + +
+
diff --git a/src/routes/sitemap.xml/+server.ts b/src/routes/sitemap.xml/+server.ts index 2d1c86508..2b936100e 100644 --- a/src/routes/sitemap.xml/+server.ts +++ b/src/routes/sitemap.xml/+server.ts @@ -1,12 +1,13 @@ +import { listPosts } from "$lib/shared/api/cms-api.remote"; import { getContributors } from "$routes/contributors.remote"; import type { RequestHandler } from "@sveltejs/kit"; import * as sitemap from "super-sitemap"; const BASE_URL = "https://sky.shiiyu.moe"; +const postSlugs = new Set(); +const statsPaths = new Set(); export const GET: RequestHandler = async () => { - const statsPaths = new Set(); - try { const contributors = await getContributors(); @@ -19,10 +20,24 @@ export const GET: RequestHandler = async () => { console.error("Failed to generate contributor sitemap entries", error); } + try { + const { docs: posts } = await listPosts({}); + for (const post of posts) { + if (post.slug) { + postSlugs.add(post.slug); + } + } + } catch (error) { + console.error("Failed to generate newsroom sitemap entries", error); + } + return sitemap.response({ origin: BASE_URL, + paramValues: { + "/newsroom/[slug]": [...postSlugs] + }, additionalPaths: [...statsPaths], - excludeRoutePatterns: ["^/api/.*", "^/stats.*"], + excludeRoutePatterns: ["^/api/.*", "^/stats.*", "^/login.*", "(protected)", "(admin)"], headers: { "cache-control": "max-age=0, s-maxage=3600" } diff --git a/src/routes/stats/[ign]/[[profile]]/+page.svelte b/src/routes/stats/[ign]/[[profile]]/+page.svelte index f26aab91d..26fa015cd 100644 --- a/src/routes/stats/[ign]/[[profile]]/+page.svelte +++ b/src/routes/stats/[ign]/[[profile]]/+page.svelte @@ -16,14 +16,7 @@ const preferences = getPreferences(); const internalState = getInternalState(); - const profileStatsState = $derived.by(() => { - const query = getProfileStats({ uuid: page.params.ign || "", profileId: page.params.profile || "" }); - - return { - current: query.current, - error: query.error - }; - }); + const profile = $derived(await getProfileStats({ uuid: page.params.ign || "", profileId: page.params.profile || "" })); $effect.pre(() => { const hash = page.url.hash; @@ -51,30 +44,25 @@ {/if} {#key page.params.ign || page.params.profile} - {#if profileStatsState.error} -
- getProfileStats({ uuid: page.params.ign || "", profileId: page.params.profile || "" }).refresh()} /> -
- {:else if profileStatsState.current} - - {#snippet failed(err, reset)} -
- -
- {/snippet} - -
- - {:else} -
-
-
- - Loading profile... + + {#snippet pending()} +
+
+
+ + Loading profile... +
-
- {/if} + {/snippet} + {#snippet failed(err, reset)} +
+ +
+ {/snippet} + +
+ {/key} diff --git a/src/routes/stats/[ign]/[[profile]]/card/+server.ts b/src/routes/stats/[ign]/[[profile]]/card/+server.ts index 4a25e5b82..e2b58adee 100644 --- a/src/routes/stats/[ign]/[[profile]]/card/+server.ts +++ b/src/routes/stats/[ign]/[[profile]]/card/+server.ts @@ -8,7 +8,7 @@ import { getApiUuidUsername, type ModelsPlayerResolve } from "$src/lib/shared/ap import { getCombined, getNetworth, getProfileStats } from "$src/lib/shared/api/skycrypt-api.remote"; import { html as toReactNode } from "satori-html"; import { render } from "svelte/server"; -import { Renderer, type Font, type ImageSource } from "takumi-js/node"; +import type { Font, ImageSource } from "takumi-js"; import { ImageResponse } from "takumi-js/response"; import type { RequestHandler } from "./$types"; @@ -16,11 +16,6 @@ const { PUBLIC_ORIGIN: baseUrl } = env; const { fonts, persistentImages } = await initializeAssets(); -const renderer = new Renderer({ - fonts, - persistentImages -}); - export const GET: RequestHandler = async ({ params, request, url }) => { const { ign, profile } = params; @@ -73,7 +68,8 @@ export const GET: RequestHandler = async ({ params, request, url }) => { }, stylesheets: [appStyles], emoji: "twemoji", - renderer + fonts, + persistentImages }); const response = new Response(await imageResponse.arrayBuffer(), { @@ -98,7 +94,8 @@ export const GET: RequestHandler = async ({ params, request, url }) => { }, stylesheets: [appStyles], emoji: "twemoji", - renderer + fonts, + persistentImages }); return new Response(await errorResponse.arrayBuffer(), { diff --git a/static/img/newsroom.avif b/static/img/newsroom.avif new file mode 100644 index 000000000..4c8e78a1c Binary files /dev/null and b/static/img/newsroom.avif differ diff --git a/svelte.config.js b/svelte.config.js deleted file mode 100644 index 64b6a181a..000000000 --- a/svelte.config.js +++ /dev/null @@ -1,61 +0,0 @@ -import adapter from "@sveltejs/adapter-node"; -import { vitePreprocess } from "@sveltejs/vite-plugin-svelte"; - -/** @type {import('@sveltejs/kit').Config} */ -const config = { - // Consult https://svelte.dev/docs/kit/integrations - // for more information about preprocessors - preprocess: vitePreprocess(), - compilerOptions: { experimental: { async: true } }, - kit: { - experimental: { - remoteFunctions: true, - tracing: { server: true }, - instrumentation: { server: true } - }, - adapter: adapter(), - alias: { - $params: "./src/params", - $types: "./src/lib/types", - $db: "./src/db", - $constants: "./src/lib/server/constants", - $ctx: "./src/context", - $routes: "./src/routes", - $src: "./src" - }, - csrf: { - trustedOrigins: ["https://cupcake.shiiyu.moe", "https://sky.shiiyu.moe", "http://localhost:5173", "http://localhost:4173", "http://localhost:3000", "http://localhost:8080"] - }, - csp: { - mode: "auto", - directives: { - "script-src": ["self", "unsafe-inline"], - "worker-src": ["self", "blob:"], - "style-src": ["self", "unsafe-inline", "https://fonts.googleapis.com"], - "img-src": ["self", "data:", "https://textures.minecraft.net", "http://localhost:8080", "https://cupcake.shiiyu.moe", "https://sky.shiiyu.moe", "https://nmsr.nickac.dev"], - "connect-src": ["self", "https://mowojang.matdoes.dev", "https://mowojang.seraph.si", "http://localhost:8080", "https://cupcake.shiiyu.moe", "https://sky.shiiyu.moe"], - "font-src": ["self", "https://fonts.gstatic.com"], - "frame-ancestors": ["self"] - } - }, - version: { - name: process.env.PUBLIC_COMMIT_HASH, - // in ms - pollInterval: 1000 * 60 // 1 minute - } - }, - - // Hide build warnings from node_modules - onwarn: (warning, handler) => { - if (warning.filename?.includes("node_modules")) return; - - handler(warning); - }, - - vitePlugin: { - // Can be removed once Svelte 6 is released, as `true` will be the default - dynamicCompileOptions: () => ({ runes: true }) - } -}; - -export default config; diff --git a/tsconfig.json b/tsconfig.json index 58d1b89b5..c7b9df597 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { + "rewriteRelativeImportExtensions": true, "allowJs": true, "checkJs": true, "esModuleInterop": true, @@ -9,9 +10,7 @@ "skipLibCheck": true, "sourceMap": true, "strict": true, - "moduleResolution": "bundler", - "verbatimModuleSyntax": true, - "rewriteRelativeImportExtensions": true + "moduleResolution": "bundler" } // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files diff --git a/vite.config.ts b/vite.config.ts index db938eb51..c4d719741 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,5 +1,7 @@ import { sentrySvelteKit } from "@sentry/sveltekit"; +import adapter from "@sveltejs/adapter-cloudflare"; import { sveltekit } from "@sveltejs/kit/vite"; +import { vitePreprocess } from "@sveltejs/vite-plugin-svelte"; import tailwindcss from "@tailwindcss/vite"; import { playwright } from "@vitest/browser-playwright"; import { defineConfig } from "vitest/config"; @@ -12,7 +14,55 @@ export default defineConfig({ adapter: "node" }), tailwindcss(), - sveltekit() + sveltekit({ + // Consult https://svelte.dev/docs/kit/integrations + // for more information about preprocessors + preprocess: vitePreprocess(), + compilerOptions: { experimental: { async: true }, runes: true }, + experimental: { + remoteFunctions: true, + tracing: { server: true }, + instrumentation: { server: true } + }, + adapter: adapter(), + alias: { + $params: "./src/params", + $types: "./src/lib/types", + $db: "./src/db", + $constants: "./src/lib/server/constants", + $ctx: "./src/context", + $routes: "./src/routes", + $src: "./src" + }, + csrf: { + trustedOrigins: ["https://cupcake.shiiyu.moe", "https://sky.shiiyu.moe", "http://localhost:5173", "http://localhost:4173", "http://localhost:3000", "http://localhost:8080"] + }, + csp: { + mode: "auto", + directives: { + "script-src": ["self", "unsafe-inline"], + "worker-src": ["self", "blob:"], + "style-src": ["self", "unsafe-inline", "https://fonts.googleapis.com"], + "img-src": ["self", "data:", "https://textures.minecraft.net", "http://localhost:8080", "https://cupcake.shiiyu.moe", "https://sky.shiiyu.moe", "https://nmsr.nickac.dev", "https://cms.shiiyu.moe", "http://localhost:3000"], + "connect-src": ["self", "https://mowojang.matdoes.dev", "https://mowojang.seraph.si", "http://localhost:8080", "https://cupcake.shiiyu.moe", "https://sky.shiiyu.moe", "https://cms.shiiyu.moe", "http://localhost:3000"], + "font-src": ["self", "https://fonts.gstatic.com"], + // frame-ancestors intentionally omitted: this fork is embedded as an iframe + // (skycrypt-embed.lunarclient.com), so the site must be framable. + "frame-src": ["self"] + } + }, + version: { + name: process.env.PUBLIC_COMMIT_HASH, + // in ms + pollInterval: 1000 * 60 // 1 minute + }, + typescript: { + config: (config) => ({ + ...config, + include: [...config.include, "../drizzle.config.ts"] + }) + } + }) ], build: { sourcemap: true }, test: { diff --git a/wrangler.jsonc b/wrangler.jsonc new file mode 100644 index 000000000..ada73615d --- /dev/null +++ b/wrangler.jsonc @@ -0,0 +1,25 @@ +{ + "name": "skycrypt-embed-lunarclient-com", + "main": ".svelte-kit/cloudflare/_worker.js", + "compatibility_date": "2026-01-27", + "compatibility_flags": ["nodejs_compat"], + "workers_dev": true, + "preview_urls": true, + "assets": { + "binding": "ASSETS", + "directory": ".svelte-kit/cloudflare" + }, + "routes": [ + { + "pattern": "skycrypt-embed.lunarclient.com", + "custom_domain": true + } + ], + "observability": { + "enabled": true + }, + "vars": { + "PUBLIC_SERVER_API_URL": "https://sky.shiiyu.moe/api/", + "PUBLIC_API_URL": "https://sky.shiiyu.moe/api/" + } +} \ No newline at end of file