From a727696e5b8639327b59b1c2a9cfd6a2403a5766 Mon Sep 17 00:00:00 2001 From: devaine Date: Sun, 14 Jun 2026 22:33:24 -0500 Subject: [PATCH] feat(webpage): showing you the menu, hopefully it works?? --- .forgejo/workflows/start.yaml | 2 +- api/requirements.txt | 2 + api/src/api.py | 18 + api/src/keycloak_client.py | 11 +- api/src/main.py | 35 +- frontend/components.json | 25 + frontend/package-lock.json | 6313 ++++++++++++++++- frontend/package.json | 17 +- frontend/public/default-pfp.svg | 5 + frontend/public/fbla-icon.png | Bin 0 -> 3198 bytes frontend/public/fbla-logo-full-horizontal.png | Bin 0 -> 96363 bytes .../public/fbla-logo-partial-vertical.png | Bin 0 -> 46035 bytes frontend/public/file.svg | 1 - frontend/public/globe.svg | 1 - frontend/public/harold.jpg | Bin 0 -> 29253 bytes frontend/public/keycloak-logo-full.svg | 1 + frontend/public/next.svg | 1 - frontend/public/plus.png | Bin 0 -> 15032 bytes frontend/public/vercel.svg | 1 - frontend/public/window.svg | 1 - frontend/src/app/api/auth/[...all]/route.ts | 4 + frontend/src/app/chat/layout.tsx | 13 + frontend/src/app/chat/page.tsx | 12 + frontend/src/app/favicon.ico | Bin 25931 -> 1150 bytes frontend/src/app/globals.css | 140 +- frontend/src/app/layout.tsx | 37 +- frontend/src/app/page.tsx | 68 +- frontend/src/components/ui/avatar.tsx | 112 + frontend/src/components/ui/button.tsx | 65 + frontend/src/components/ui/card.tsx | 100 + frontend/src/components/ui/dropdown-menu.tsx | 269 + frontend/src/components/ui/field.tsx | 238 + frontend/src/components/ui/input.tsx | 19 + frontend/src/components/ui/label.tsx | 24 + frontend/src/components/ui/separator.tsx | 28 + frontend/src/components/ui/sheet.tsx | 147 + frontend/src/components/ui/sidebar.tsx | 705 ++ frontend/src/components/ui/skeleton.tsx | 13 + frontend/src/components/ui/tooltip.tsx | 57 + frontend/src/features/ai-chat/chatbox.tsx | 19 + .../src/features/ai-chat/confidence-score.tsx | 0 frontend/src/features/ai-chat/sidebar/bar.tsx | 50 + .../features/ai-chat/sidebar/user-button.tsx | 55 + frontend/src/features/auth/login-field.tsx | 37 + frontend/src/hooks/use-mobile.ts | 19 + frontend/src/lib/api.ts | 17 + frontend/src/lib/auth-client.ts | 8 + frontend/src/lib/auth.ts | 31 + frontend/src/lib/utils.ts | 6 + frontend/src/notes | 3 + frontend/src/proxy.ts | 19 + 51 files changed, 8317 insertions(+), 432 deletions(-) create mode 100644 api/src/api.py create mode 100644 frontend/components.json create mode 100644 frontend/public/default-pfp.svg create mode 100644 frontend/public/fbla-icon.png create mode 100644 frontend/public/fbla-logo-full-horizontal.png create mode 100644 frontend/public/fbla-logo-partial-vertical.png delete mode 100644 frontend/public/file.svg delete mode 100644 frontend/public/globe.svg create mode 100644 frontend/public/harold.jpg create mode 100644 frontend/public/keycloak-logo-full.svg delete mode 100644 frontend/public/next.svg create mode 100644 frontend/public/plus.png delete mode 100644 frontend/public/vercel.svg delete mode 100644 frontend/public/window.svg create mode 100644 frontend/src/app/api/auth/[...all]/route.ts create mode 100644 frontend/src/app/chat/layout.tsx create mode 100644 frontend/src/app/chat/page.tsx create mode 100644 frontend/src/components/ui/avatar.tsx create mode 100644 frontend/src/components/ui/button.tsx create mode 100644 frontend/src/components/ui/card.tsx create mode 100644 frontend/src/components/ui/dropdown-menu.tsx create mode 100644 frontend/src/components/ui/field.tsx create mode 100644 frontend/src/components/ui/input.tsx create mode 100644 frontend/src/components/ui/label.tsx create mode 100644 frontend/src/components/ui/separator.tsx create mode 100644 frontend/src/components/ui/sheet.tsx create mode 100644 frontend/src/components/ui/sidebar.tsx create mode 100644 frontend/src/components/ui/skeleton.tsx create mode 100644 frontend/src/components/ui/tooltip.tsx create mode 100644 frontend/src/features/ai-chat/chatbox.tsx create mode 100644 frontend/src/features/ai-chat/confidence-score.tsx create mode 100644 frontend/src/features/ai-chat/sidebar/bar.tsx create mode 100644 frontend/src/features/ai-chat/sidebar/user-button.tsx create mode 100644 frontend/src/features/auth/login-field.tsx create mode 100644 frontend/src/hooks/use-mobile.ts create mode 100644 frontend/src/lib/api.ts create mode 100644 frontend/src/lib/auth-client.ts create mode 100644 frontend/src/lib/auth.ts create mode 100644 frontend/src/lib/utils.ts create mode 100644 frontend/src/notes create mode 100644 frontend/src/proxy.ts diff --git a/.forgejo/workflows/start.yaml b/.forgejo/workflows/start.yaml index 8a2db71..373deae 100644 --- a/.forgejo/workflows/start.yaml +++ b/.forgejo/workflows/start.yaml @@ -65,7 +65,7 @@ jobs: curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh - echo "$HOME/.nvm/versions/node/v24.15.0/bin/" >> $GITHUB_PATH + echo "export PATH=$PATH:$HOME/.nvm/versions/node/v24.15.0/bin/" >> $HOME/.bashrc - name: Checkout repo uses: actions/checkout@v6 diff --git a/api/requirements.txt b/api/requirements.txt index 9b37f6d..1100e2a 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -2,6 +2,8 @@ fastapi[standard] google-genai python-dotenv pydantic +# JWT +python-jose # Amazon Packages (Yes, you need `pyright` to use boto3-stubs) boto3 boto3[crt] diff --git a/api/src/api.py b/api/src/api.py new file mode 100644 index 0000000..4e00b2c --- /dev/null +++ b/api/src/api.py @@ -0,0 +1,18 @@ +# Essential +from uuid import uuid4 +from dotenv import load_dotenv + +# API +from fastapi import FastAPI + +# Custom Modules +from models import Message + +app = FastAPI() + +# @app.post("/api/prompt") +# def SubmitPrompt(message: Message): +# message.id = uuid4() +# message.conversation_id = +# message.sender_id = +# message.type = diff --git a/api/src/keycloak_client.py b/api/src/keycloak_client.py index cd97924..0be227e 100644 --- a/api/src/keycloak_client.py +++ b/api/src/keycloak_client.py @@ -5,18 +5,23 @@ from main import ( KEYCLOAK_ADMIN_PASSWORD, KEYCLOAK_REALM_NAME, KEYCLOAK_CLIENT_ID, + KEYCLOAK_CLIENT_SECRET, ) # Keycloak -from keycloak import KeycloakOpenIDConnection, KeycloakAdmin +from keycloak import KeycloakOpenIDConnection, KeycloakAdmin, KeycloakOpenID -OIDC_Connect = KeycloakOpenIDConnection( +admin_connection = KeycloakOpenIDConnection( server_url=KEYCLOAK_URL, username=KEYCLOAK_ADMIN_USERNAME, password=KEYCLOAK_ADMIN_PASSWORD, realm_name=KEYCLOAK_REALM_NAME, client_id=str(KEYCLOAK_CLIENT_ID), + client_secret_key=KEYCLOAK_CLIENT_SECRET, verify=True, ) -admin = KeycloakAdmin(connection=OIDC_Connect) +admin_client = KeycloakAdmin(connection=admin_connection) + + +print(admin_client.get_user_id("fbla_dev")) diff --git a/api/src/main.py b/api/src/main.py index 346e4fd..79e56a1 100644 --- a/api/src/main.py +++ b/api/src/main.py @@ -1,13 +1,6 @@ -# Essential / Compliments +# Essential import os from dotenv import load_dotenv -from uuid import uuid4 - -# API -from fastapi import FastAPI - -# Custom Modules -from models import Message # Load environment variables load_dotenv() @@ -22,18 +15,18 @@ KEYCLOAK_ADMIN_USERNAME = os.getenv("KEYCLOAK_ADMIN_USERNAME") KEYCLOAK_ADMIN_PASSWORD = os.getenv("KEYCLOAK_ADMIN_PASSWORD") KEYCLOAK_REALM_NAME = os.getenv("KEYCLOAK_REALM_NAME") KEYCLOAK_CLIENT_ID = os.getenv("KEYCLOAK_CLIENT_ID") +KEYCLOAK_CLIENT_SECRET = os.getenv("KEYCLOAK_CLIENT_SECRET") # Debugging -# print(GEMINI_KEY) -# print(S3_ACCESS_KEY) -# print(S3_SECRET_KEY) -# print(S3_URL) - -# app = FastAPI() - -# @app.post("/api/prompt") -# def SubmitPrompt(message: Message): -# message.id = uuid4() -# message.conversation_id = -# message.sender_id = -# message.type = +print( + "AI KEY: " + str(AI_API_KEY) + "\n" + "S3 ACCESS KEY: " + str(S3_ACCESS_KEY) + "\n" + "S3 SECRET KEY: " + str(S3_SECRET_KEY) + "\n" + "S3 URL: " + str(S3_URL) + "\n" + "KEYCLOAK URL: " + str(KEYCLOAK_URL) + "\n" + "KEYCLOAK ADMIN USERNAME: " + str(KEYCLOAK_ADMIN_USERNAME) + "\n" + "KEYCLOAK ADMIN PASSWORD: " + str(KEYCLOAK_ADMIN_PASSWORD) + "\n" + "KEYCLOAK REALM NAME: " + str(KEYCLOAK_REALM_NAME) + "\n" + "KEYCLOAK CLIENT ID: " + str(KEYCLOAK_CLIENT_ID) + "\n" + "KEYCLOAK CLIENT SECRET: " + str(KEYCLOAK_CLIENT_SECRET) + "\n" +) diff --git a/frontend/components.json b/frontend/components.json new file mode 100644 index 0000000..4741522 --- /dev/null +++ b/frontend/components.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "radix-luma", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/app/globals.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "iconLibrary": "lucide", + "rtl": false, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "menuColor": "default", + "menuAccent": "subtle", + "registries": {} +} diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3fa9cff..43ac36a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,25 +1,35 @@ { "name": "fbla-frontend", - "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "fbla-frontend", - "version": "0.1.0", "dependencies": { - "next": "16.2.6", + "better-auth": "^1.6.11", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "dotenv": "^17.4.2", + "lucide-react": "^1.16.0", + "next": "^16.2.6", + "pg": "^8.21.0", + "radix-ui": "^1.4.3", "react": "19.2.4", - "react-dom": "19.2.4" + "react-dom": "19.2.4", + "shadcn": "^4.8.0", + "tailwind-merge": "^3.6.0", + "tw-animate-css": "^1.4.0" }, "devDependencies": { "@tailwindcss/postcss": "^4", "@types/node": "^20", + "@types/pg": "^8.20.0", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "16.2.6", "tailwindcss": "^4", + "ts-node": "^10.9.2", "typescript": "^5" } }, @@ -40,7 +50,6 @@ "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", @@ -55,7 +64,6 @@ "version": "7.29.3", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -65,9 +73,7 @@ "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -97,7 +103,6 @@ "version": "7.29.1", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.29.0", @@ -110,11 +115,22 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.28.6", @@ -127,21 +143,53 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.3.tgz", + "integrity": "sha512-RpLYy2sb51oNLjuu1iD3bwBqCBWUzjO0ocp+iaCP/lJtb2CPLcnC2Fftw+4sAzaMELGeWTgExSKADbdo0GFVzA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.29.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/helper-globals": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-module-imports": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.28.6", @@ -155,7 +203,6 @@ "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.28.6", @@ -169,11 +216,61 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -183,7 +280,6 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -193,7 +289,6 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -203,7 +298,6 @@ "version": "7.29.2", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", @@ -217,7 +311,6 @@ "version": "7.29.3", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" @@ -229,11 +322,94 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/template": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.28.6", @@ -248,7 +424,6 @@ "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.29.0", @@ -267,7 +442,6 @@ "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -277,6 +451,373 @@ "node": ">=6.9.0" } }, + "node_modules/@better-auth/core": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@better-auth/core/-/core-1.6.11.tgz", + "integrity": "sha512-LrwidLCV8azdMGjvtwp30nj9tIv1BwI3VhtC0UaGSjQkAVWw4bN42I8qwbxRziPeSQoj+zUVkOpxZzAWBDARtQ==", + "license": "MIT", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.39.0", + "@standard-schema/spec": "^1.1.0", + "zod": "^4.3.6" + }, + "peerDependencies": { + "@better-auth/utils": "0.4.0", + "@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.5", + "nanostores": "^1.0.1" + }, + "peerDependenciesMeta": { + "@cloudflare/workers-types": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + } + } + }, + "node_modules/@better-auth/drizzle-adapter": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@better-auth/drizzle-adapter/-/drizzle-adapter-1.6.11.tgz", + "integrity": "sha512-4jpkETIGZOHCf7BK4jnu22fdN6jjomH0/HhEzkaWy3+Eppi5PYlHTF/460jrTmA3Xc+Vqwp9t282ymHiEPypGw==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "^1.6.11", + "@better-auth/utils": "0.4.0", + "drizzle-orm": "^0.45.2" + }, + "peerDependenciesMeta": { + "drizzle-orm": { + "optional": true + } + } + }, + "node_modules/@better-auth/kysely-adapter": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@better-auth/kysely-adapter/-/kysely-adapter-1.6.11.tgz", + "integrity": "sha512-/g8M9RfIjdcZDnbstSUvQiINkvdNlCeZr248zwqx2/PVksQI1MhQofbzUn3RnQnbPKp0EPwpX/dR3oudRFenUg==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "^1.6.11", + "@better-auth/utils": "0.4.0", + "kysely": "^0.28.17" + }, + "peerDependenciesMeta": { + "kysely": { + "optional": true + } + } + }, + "node_modules/@better-auth/memory-adapter": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@better-auth/memory-adapter/-/memory-adapter-1.6.11.tgz", + "integrity": "sha512-hpdfw0BBf8MuzLkIdmbcUZICbY9r/bhLO2RxSnkzT5+/O+0I0u2I8+m0YUP7vNllP/ZCKASHOYgXPLO75Z0f9Q==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "^1.6.11", + "@better-auth/utils": "0.4.0" + } + }, + "node_modules/@better-auth/mongo-adapter": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@better-auth/mongo-adapter/-/mongo-adapter-1.6.11.tgz", + "integrity": "sha512-3Tor8rSv8vSEIMEaV2PFpPEuVhqc1gNoZ6eGvoh3LwExXXuj8madew6ob+H1pH7Aphn3Ar5PQ08AguT8TbwFAA==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "^1.6.11", + "@better-auth/utils": "0.4.0", + "mongodb": "^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "mongodb": { + "optional": true + } + } + }, + "node_modules/@better-auth/prisma-adapter": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@better-auth/prisma-adapter/-/prisma-adapter-1.6.11.tgz", + "integrity": "sha512-Pw+7q7zTp+VSci1V+CYMvuxIbAeVMZLe4lRo46LJoAKMHfjFl5T/ycsyFvWs/DkWC7n9gZZzRDEbHp0I5FiKKw==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "^1.6.11", + "@better-auth/utils": "0.4.0", + "@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 + } + } + }, + "node_modules/@better-auth/telemetry": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@better-auth/telemetry/-/telemetry-1.6.11.tgz", + "integrity": "sha512-hsjDHc8MZbm6/AHeNdtywrWedXevnBjmdvnHTcZub+rTVjOv+Td0roI8USKuC6uUibmrl//2rJfVCsGbopihNA==", + "license": "MIT", + "peerDependencies": { + "@better-auth/core": "^1.6.11", + "@better-auth/utils": "0.4.0", + "@better-fetch/fetch": "1.1.21" + } + }, + "node_modules/@better-auth/utils": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@better-auth/utils/-/utils-0.4.0.tgz", + "integrity": "sha512-RpMtLUIQAEWMgdPLNVbIF5ON2mm+CH0U3rCdUCU1VyeAUui4m38DyK7/aXMLZov2YDjG684pS1D0MBllrmgjQA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^2.0.1" + } + }, + "node_modules/@better-auth/utils/node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@better-fetch/fetch": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/@better-fetch/fetch/-/fetch-1.1.21.tgz", + "integrity": "sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==" + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@dotenvx/dotenvx": { + "version": "1.67.0", + "resolved": "https://registry.npmjs.org/@dotenvx/dotenvx/-/dotenvx-1.67.0.tgz", + "integrity": "sha512-KBfIx5OrAG6giqSkHCkQWynZmT47XkSTuuYIcvjHxlKoVRlYbxNrJmyIPaefnszU8MCvMwrrB+viJQzPqzgpcg==", + "license": "BSD-3-Clause", + "dependencies": { + "commander": "^11.1.0", + "dotenv": "^17.2.1", + "eciesjs": "^0.4.10", + "enquirer": "^2.4.1", + "execa": "^5.1.1", + "fdir": "^6.2.0", + "ignore": "^5.3.0", + "object-treeify": "1.1.33", + "picomatch": "^4.0.4", + "which": "^4.0.0", + "yocto-spinner": "^1.1.0" + }, + "bin": { + "dotenvx": "src/cli/dotenvx.js" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/@dotenvx/dotenvx/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@dotenvx/dotenvx/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@ecies/ciphers": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.6.tgz", + "integrity": "sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g==", + "license": "MIT", + "engines": { + "bun": ">=1", + "deno": ">=2.7.10", + "node": ">=16" + }, + "peerDependencies": { + "@noble/ciphers": "^1.0.0" + } + }, "node_modules/@emnapi/core": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", @@ -454,6 +995,56 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, + "node_modules/@hono/node-server": { + "version": "1.19.14", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", + "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, "node_modules/@humanfs/core": { "version": "0.19.2", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", @@ -613,6 +1204,9 @@ "cpu": [ "arm" ], + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -629,6 +1223,9 @@ "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -645,6 +1242,9 @@ "cpu": [ "ppc64" ], + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -661,6 +1261,9 @@ "cpu": [ "riscv64" ], + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -677,6 +1280,9 @@ "cpu": [ "s390x" ], + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -693,6 +1299,9 @@ "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -709,6 +1318,9 @@ "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -725,6 +1337,9 @@ "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -741,6 +1356,9 @@ "cpu": [ "arm" ], + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -763,6 +1381,9 @@ "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -785,6 +1406,9 @@ "cpu": [ "ppc64" ], + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -807,6 +1431,9 @@ "cpu": [ "riscv64" ], + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -829,6 +1456,9 @@ "cpu": [ "s390x" ], + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -851,6 +1481,9 @@ "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -873,6 +1506,9 @@ "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -895,6 +1531,9 @@ "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -986,11 +1625,92 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@inquirer/ansi": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.5.tgz", + "integrity": "sha512-doc2sWgJpbFQ64UflSVd17ibMGDuxO1yKgOgLMwavzESnXjFWJqUeG8saYosqKpHp4kWiM5x1nXvEjbpx90gzw==", + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + } + }, + "node_modules/@inquirer/confirm": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.0.13.tgz", + "integrity": "sha512-wkGPC7yJ5WJk1DJ5SX7fzk+gfj4BM8cf5dDDi71B/551xHrdsZVRJOC0WyikXd0pEsb/9cLniuE4atbsMqmFkw==", + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.10", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "11.1.10", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-11.1.10.tgz", + "integrity": "sha512-a4Q5BXHQAHa9eO202sTaFCHFYVB3x5fauDuThEAdZ9gfn76pSxiKU7wWcEH0N1O0XmQvNfQNU6QXpiRxmYQx+A==", + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.5", + "@inquirer/figures": "^2.0.5", + "@inquirer/type": "^4.0.5", + "cli-width": "^4.1.0", + "fast-wrap-ansi": "^0.2.0", + "mute-stream": "^3.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.5.tgz", + "integrity": "sha512-NsSs4kzfm12lNetHwAn3GEuH317IzpwrMCbOuMIVytpjnJ90YYHNwdRgYGuKmVxwuIqSgqk3M5qqQt1cDk0tGQ==", + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + } + }, + "node_modules/@inquirer/type": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.0.5.tgz", + "integrity": "sha512-aetVUNeKNc/VriqXlw1NRSW0zhMBB0W4bNbWRJgzRl/3d0QNDQFfk0GO5SDdtjMZVg6o8ZKEiadd7SCCzoOn5Q==", + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", @@ -1001,7 +1721,6 @@ "version": "2.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -1012,7 +1731,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -1022,31 +1740,120 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", + "integrity": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==", + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.9", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/@mswjs/interceptors": { + "version": "0.41.9", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.41.9.tgz", + "integrity": "sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==", + "license": "MIT", + "dependencies": { + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@mswjs/interceptors/node_modules/@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==", + "license": "MIT" + }, "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@next/env": { @@ -1104,6 +1911,9 @@ "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1120,6 +1930,9 @@ "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1136,6 +1949,9 @@ "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1152,6 +1968,9 @@ "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1193,11 +2012,49 @@ "node": ">= 10" } }, + "node_modules/@noble/ciphers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", + "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -1211,7 +2068,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -1221,7 +2077,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -1241,6 +2096,1535 @@ "node": ">=12.4.0" } }, + "node_modules/@open-draft/deferred-promise": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-3.0.0.tgz", + "integrity": "sha512-XW375UK8/9SqUVNVa6M0yEy8+iTi4QN5VZ7aZuRFQmy76LRwI9wy5F4YIBU6T+eTe2/DNDo8tqu8RHlwLHM6RA==", + "license": "MIT" + }, + "node_modules/@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", + "license": "MIT", + "dependencies": { + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" + } + }, + "node_modules/@open-draft/until": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==", + "license": "MIT" + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.41.1.tgz", + "integrity": "sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-accessible-icon": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.1.7.tgz", + "integrity": "sha512-XM+E4WXl0OqUJFovy6GjmxxFyx9opfCAIUku4dlKRd5YEPqt4kALOkQOp0Of6reHuUkJuiPBEc5k0o4z4lTC8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.12.tgz", + "integrity": "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collapsible": "1.1.12", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-alert-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.15.tgz", + "integrity": "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dialog": "1.1.15", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-aspect-ratio": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.7.tgz", + "integrity": "sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.10.tgz", + "integrity": "sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-is-hydrated": "0.1.0", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz", + "integrity": "sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz", + "integrity": "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context-menu": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.2.16.tgz", + "integrity": "sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz", + "integrity": "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-form": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-form/-/react-form-0.1.8.tgz", + "integrity": "sha512-QM70k4Zwjttifr5a4sZFts9fn8FzHYvQ5PiB19O2HsYibaHSVt9fH9rzB0XZo/YcM+b7t/p7lYCT/F5eOeF5yQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-label": "2.1.7", + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-hover-card": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.1.15.tgz", + "integrity": "sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.7.tgz", + "integrity": "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.16.tgz", + "integrity": "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menubar": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menubar/-/react-menubar-1.1.16.tgz", + "integrity": "sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz", + "integrity": "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-one-time-password-field": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-one-time-password-field/-/react-one-time-password-field-0.1.8.tgz", + "integrity": "sha512-ycS4rbwURavDPVjCb5iS3aG4lURFDILi6sKI/WITUMZ13gMmn/xGjpLoqBAalhJaDk8I3UbCM5GzKHrnzwHbvg==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-is-hydrated": "0.1.0", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-password-toggle-field": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-password-toggle-field/-/react-password-toggle-field-0.1.3.tgz", + "integrity": "sha512-/UuCrDBWravcaMix4TdT+qlNdVwOM1Nck9kWx/vafXsdfj1ChfhOdfi3cy9SGBpWgTXwYCuboT/oYpJy3clqfw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-is-hydrated": "0.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz", + "integrity": "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", + "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-progress": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.7.tgz", + "integrity": "sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-radio-group": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.3.8.tgz", + "integrity": "sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.10.tgz", + "integrity": "sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.6.tgz", + "integrity": "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.7.tgz", + "integrity": "sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slider": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.3.6.tgz", + "integrity": "sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.2.6.tgz", + "integrity": "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", + "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toast": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.2.15.tgz", + "integrity": "sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.10.tgz", + "integrity": "sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle-group": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.11.tgz", + "integrity": "sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-toggle": "1.1.10", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toolbar": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.1.11.tgz", + "integrity": "sha512-4ol06/1bLoFu1nwUqzdD4Y5RZ9oDdKeiHIsntug54Hcr1pgaHiPqHFEaXI1IFP/EsOfROQZ8Mig9VTIRza6Tjg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-separator": "1.1.7", + "@radix-ui/react-toggle-group": "1.1.11" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.8.tgz", + "integrity": "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-is-hydrated": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz", + "integrity": "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.5.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", + "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -1248,6 +3632,30 @@ "dev": true, "license": "MIT" }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, "node_modules/@swc/helpers": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", @@ -1390,6 +3798,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1407,6 +3818,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1424,6 +3838,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1441,6 +3858,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1528,6 +3948,109 @@ "tailwindcss": "4.3.0" } }, + "node_modules/@ts-morph/common": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.27.0.tgz", + "integrity": "sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==", + "license": "MIT", + "dependencies": { + "fast-glob": "^3.3.3", + "minimatch": "^10.0.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@ts-morph/common/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@ts-morph/common/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@ts-morph/common/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, "node_modules/@tybys/wasm-util": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", @@ -1561,22 +4084,32 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.40.tgz", - "integrity": "sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==", - "dev": true, + "version": "20.19.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz", + "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==", "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } }, - "node_modules/@types/react": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", - "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "node_modules/@types/pg": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.20.0.tgz", + "integrity": "sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow==", "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz", + "integrity": "sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==", + "devOptional": true, + "license": "MIT", "dependencies": { "csstype": "^3.2.2" } @@ -1585,24 +4118,45 @@ "version": "19.2.3", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "@types/react": "^19.2.0" } }, + "node_modules/@types/set-cookie-parser": { + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/@types/set-cookie-parser/-/set-cookie-parser-2.4.10.tgz", + "integrity": "sha512-GGmQVGpQWUe5qglJozEjZV/5dyxbOOZ0LHe/lqyWssB88Y4svNfst0uqBVscdDeIKl5Jy5+aPSvy7mI9tYRguw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/statuses": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.6.tgz", + "integrity": "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==", + "license": "MIT" + }, + "node_modules/@types/validate-npm-package-name": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/validate-npm-package-name/-/validate-npm-package-name-4.0.2.tgz", + "integrity": "sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==", + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.2.tgz", - "integrity": "sha512-j/bwmkBvHUtPNxzuWe5z6BEk3q54YRyGlBXkSsmfoih7zNrBvl5A9A98anlp/7JbyZcWIJ8KXo/3Tq/DjFLtuQ==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.4.tgz", + "integrity": "sha512-PegsU+XfyJJNjd4+u/k6f9yTyp0lEXXiPopUNobZcIAUJFGICFLN+sP0Rb3JehVmiij1Ph0dFGYqODoRo/2+6A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/type-utils": "8.59.2", - "@typescript-eslint/utils": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", + "@typescript-eslint/scope-manager": "8.59.4", + "@typescript-eslint/type-utils": "8.59.4", + "@typescript-eslint/utils": "8.59.4", + "@typescript-eslint/visitor-keys": "8.59.4", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -1615,7 +4169,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.59.2", + "@typescript-eslint/parser": "^8.59.4", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -1631,17 +4185,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.2.tgz", - "integrity": "sha512-plR3pp6D+SSUn1HM7xvSkx12/DhoHInI2YF35KAcVFNZvlC0gtrWqx7Qq1oH2Ssgi0vlFRCTbP+DZc7B9+TtsQ==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.4.tgz", + "integrity": "sha512-zORHqO/tuhxY1zWuTvMUqddRxpiFJ72xVfcNoWpqdLjs6lfPbuQBJuW4pk+49/uBMy7Ssr4bzgjiKmmDB1UbZQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", + "@typescript-eslint/scope-manager": "8.59.4", + "@typescript-eslint/types": "8.59.4", + "@typescript-eslint/typescript-estree": "8.59.4", + "@typescript-eslint/visitor-keys": "8.59.4", "debug": "^4.4.3" }, "engines": { @@ -1657,14 +4210,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.2.tgz", - "integrity": "sha512-+2hqvEkeyf/0FBor67duF0Ll7Ot8jyKzDQOSrxazF/danillRq2DwR9dLptsXpoZQqxE1UisSmoZewrlPas9Vw==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.4.tgz", + "integrity": "sha512-Ly00Vu4oAacfDeHp2Zg85ioNG6l8HG+tN1D7J+xTHSxu9y0awYKJ2zH1rFBn8ZSfuGK+7FxK3Cgl3uAz0aZZLg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.2", - "@typescript-eslint/types": "^8.59.2", + "@typescript-eslint/tsconfig-utils": "^8.59.4", + "@typescript-eslint/types": "^8.59.4", "debug": "^4.4.3" }, "engines": { @@ -1679,14 +4232,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.2.tgz", - "integrity": "sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.4.tgz", + "integrity": "sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2" + "@typescript-eslint/types": "8.59.4", + "@typescript-eslint/visitor-keys": "8.59.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1697,9 +4250,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.2.tgz", - "integrity": "sha512-BKK4alN7oi4C/zv4VqHQ+uRU+lTa6JGIZ7s1juw7b3RHo9OfKB+bKX3u0iVZetdsUCBBkSbdWbarJbmN0fTeSw==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.4.tgz", + "integrity": "sha512-DLCpnKgD4alVxTBSKulK+gU1KCqOgUXfDRDXh2mZgzokQKa/70ax93I2uVO3m/LLvIAtWZIFoiifudmIqAxpMA==", "dev": true, "license": "MIT", "engines": { @@ -1714,15 +4267,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.2.tgz", - "integrity": "sha512-nhqaj1nmTdVVl/BP5omXNRGO38jn5iosis2vbdmupF2txCf8ylWT8lx+JlvMYYVqzGVKtjojUFoQ3JRWK+mfzQ==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.4.tgz", + "integrity": "sha512-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/utils": "8.59.2", + "@typescript-eslint/types": "8.59.4", + "@typescript-eslint/typescript-estree": "8.59.4", + "@typescript-eslint/utils": "8.59.4", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -1739,9 +4292,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.2.tgz", - "integrity": "sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.4.tgz", + "integrity": "sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==", "dev": true, "license": "MIT", "engines": { @@ -1753,16 +4306,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.2.tgz", - "integrity": "sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.4.tgz", + "integrity": "sha512-F+RuOmcDXo4+TPdfd/TCLS3m2nw8gE9XXyZLrA3JBfaA5tz9TtdkyD3YJFmPxulyc2cKbEok/CvFE3MgSLWnag==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.59.2", - "@typescript-eslint/tsconfig-utils": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", + "@typescript-eslint/project-service": "8.59.4", + "@typescript-eslint/tsconfig-utils": "8.59.4", + "@typescript-eslint/types": "8.59.4", + "@typescript-eslint/visitor-keys": "8.59.4", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -1820,9 +4373,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "dev": true, "license": "ISC", "bin": { @@ -1833,16 +4386,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.2.tgz", - "integrity": "sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.4.tgz", + "integrity": "sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2" + "@typescript-eslint/scope-manager": "8.59.4", + "@typescript-eslint/types": "8.59.4", + "@typescript-eslint/typescript-estree": "8.59.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1857,13 +4410,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.2.tgz", - "integrity": "sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.4.tgz", + "integrity": "sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.2", + "@typescript-eslint/types": "8.59.4", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -1888,9 +4441,9 @@ } }, "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", "cpu": [ "arm" ], @@ -1902,9 +4455,9 @@ ] }, "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", "cpu": [ "arm64" ], @@ -1916,9 +4469,9 @@ ] }, "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", "cpu": [ "arm64" ], @@ -1930,9 +4483,9 @@ ] }, "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", "cpu": [ "x64" ], @@ -1944,9 +4497,9 @@ ] }, "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", "cpu": [ "x64" ], @@ -1958,9 +4511,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", "cpu": [ "arm" ], @@ -1972,9 +4525,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", "cpu": [ "arm" ], @@ -1986,13 +4539,16 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2000,13 +4556,50 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2014,13 +4607,16 @@ ] }, "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2028,13 +4624,16 @@ ] }, "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2042,13 +4641,16 @@ ] }, "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2056,13 +4658,16 @@ ] }, "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", "cpu": [ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2070,13 +4675,16 @@ ] }, "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2084,23 +4692,40 @@ ] }, "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" ] }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", "cpu": [ "wasm32" ], @@ -2108,16 +4733,18 @@ "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", "cpu": [ "arm64" ], @@ -2129,9 +4756,9 @@ ] }, "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", "cpu": [ "ia32" ], @@ -2143,9 +4770,9 @@ ] }, "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", "cpu": [ "x64" ], @@ -2156,13 +4783,25 @@ "win32" ] }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2180,6 +4819,28 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.15.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", @@ -2197,11 +4858,67 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -2213,13 +4930,31 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, "license": "Python-2.0" }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/aria-query": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", @@ -2390,6 +5125,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -2451,9 +5198,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.29", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.29.tgz", - "integrity": "sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==", + "version": "2.10.32", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.32.tgz", + "integrity": "sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -2462,6 +5209,179 @@ "node": ">=6.0.0" } }, + "node_modules/better-auth": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/better-auth/-/better-auth-1.6.11.tgz", + "integrity": "sha512-Wwt6+q07dwIhsp6XiM7L1qSXVUWBEtNl+eZvwM778CguFqDZFBN9Pt6LtFaHl55t8Z+Zc//5kxcbgDY8/79vFQ==", + "license": "MIT", + "dependencies": { + "@better-auth/core": "1.6.11", + "@better-auth/drizzle-adapter": "1.6.11", + "@better-auth/kysely-adapter": "1.6.11", + "@better-auth/memory-adapter": "1.6.11", + "@better-auth/mongo-adapter": "1.6.11", + "@better-auth/prisma-adapter": "1.6.11", + "@better-auth/telemetry": "1.6.11", + "@better-auth/utils": "0.4.0", + "@better-fetch/fetch": "1.1.21", + "@noble/ciphers": "^2.1.1", + "@noble/hashes": "^2.0.1", + "better-call": "1.3.5", + "defu": "^6.1.4", + "jose": "^6.1.3", + "kysely": "^0.28.17", + "nanostores": "^1.1.1", + "zod": "^4.3.6" + }, + "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 + } + } + }, + "node_modules/better-auth/node_modules/@noble/ciphers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-2.2.0.tgz", + "integrity": "sha512-Z6pjIZ/8IJcCGzb2S/0Px5J81yij85xASuk1teLNeg75bfT07MV3a/O2Mtn1I2se43k3lkVEcFaR10N4cgQcZA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/better-auth/node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/better-call": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/better-call/-/better-call-1.3.5.tgz", + "integrity": "sha512-kOFJkBP7utAQLEYrobZm3vkTH8mXq5GNgvjc5/XEST1ilVHaxXUXfeDeFlqoETMtyqS4+3/h4ONX2i++ebZrvA==", + "license": "MIT", + "dependencies": { + "@better-auth/utils": "^0.4.0", + "@better-fetch/fetch": "^1.1.21", + "rou3": "^0.7.12", + "set-cookie-parser": "^3.0.1" + }, + "peerDependencies": { + "zod": "^4.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/brace-expansion": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", @@ -2477,7 +5397,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -2490,7 +5409,6 @@ "version": "4.28.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2506,7 +5424,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", @@ -2521,6 +5438,30 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/call-bind": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", @@ -2544,7 +5485,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -2558,7 +5498,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -2575,16 +5514,15 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001792", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001792.tgz", - "integrity": "sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==", + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", "funding": [ { "type": "opencollective", @@ -2618,17 +5556,113 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/code-block-writer": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", + "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", + "license": "MIT" + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -2641,9 +5675,17 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, "license": "MIT" }, + "node_modules/commander": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "license": "MIT", + "engines": { + "node": ">=20" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2651,10 +5693,99 @@ "dev": true, "license": "MIT" }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", + "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true, "license": "MIT" }, @@ -2662,7 +5793,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -2673,11 +5803,23 @@ "node": ">= 8" } }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/damerau-levenshtein": { @@ -2687,6 +5829,15 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/data-view-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", @@ -2745,7 +5896,6 @@ "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -2759,6 +5909,20 @@ } } }, + "node_modules/dedent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2766,6 +5930,43 @@ "dev": true, "license": "MIT" }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -2784,6 +5985,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", @@ -2802,6 +6015,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -2812,6 +6040,21 @@ "node": ">=8" } }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -2825,11 +6068,22 @@ "node": ">=0.10.0" } }, + "node_modules/dotenv": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -2840,11 +6094,33 @@ "node": ">= 0.4" } }, + "node_modules/eciesjs": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.18.tgz", + "integrity": "sha512-wG99Zcfcys9fZux7Cft8BAX/YrOJLJSZ3jyYPfhZHqN2E+Ffx+QXBDsv3gubEgPtV6dTzJMSQUwk1H98/t/0wQ==", + "license": "MIT", + "dependencies": { + "@ecies/ciphers": "^0.2.5", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "^1.9.7", + "@noble/hashes": "^1.8.0" + }, + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, "node_modules/electron-to-chromium": { - "version": "1.5.353", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.353.tgz", - "integrity": "sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==", - "dev": true, + "version": "1.5.361", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.361.tgz", + "integrity": "sha512-Q6Hts7N9FnJc5LeGRINFvLhCI9xZmNtTDe5ZbcVezQz7cU4a8Aua3GH1b8J2XY8Al9PF+OCwYqhgsOOheMdvkA==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -2854,10 +6130,19 @@ "dev": true, "license": "MIT" }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/enhanced-resolve": { - "version": "5.21.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.2.tgz", - "integrity": "sha512-xe9vQb5kReirPUxgQrXA3ihgbCqssmTiM7cOZ+Gzu+VeGWgpV98lLZvp0dl4yriyAePcewxGUs9UpKD8PET9KQ==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.22.0.tgz", + "integrity": "sha512-xYcDWrpELkFzz9SpZ3PlI6Eu6eD93Yf0WLDRxikGhWJ3MAir2SNZTIVCVZqZ/NUyx8AdMc2gT9C0gPiw18kG+A==", "dev": true, "license": "MIT", "dependencies": { @@ -2868,6 +6153,37 @@ "node": ">=10.13.0" } }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/es-abstract": { "version": "1.24.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", @@ -2941,7 +6257,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -2951,7 +6266,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -2986,10 +6300,9 @@ } }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -3049,12 +6362,17 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -3074,7 +6392,6 @@ "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -3429,6 +6746,19 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/esquery": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", @@ -3475,11 +6805,127 @@ "node": ">=0.10.0" } }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.8.tgz", + "integrity": "sha512-70QWGkr4snxr0OXLRWsFLeRBIRPuQOvt4s8QYjmUlmlkyTZkRqS7EDVRZtzU3TiyDbXSzaOeF0XUKy8PchzukQ==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/execa": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", + "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.2.tgz", + "integrity": "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==", + "license": "MIT", + "dependencies": { + "ip-address": "^10.2.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -3526,16 +6972,93 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, "node_modules/fastq": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -3553,7 +7076,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -3562,6 +7084,27 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -3616,11 +7159,54 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.5.tgz", + "integrity": "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3657,6 +7243,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fuzzysort": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-3.1.0.tgz", + "integrity": "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==", + "license": "MIT" + }, "node_modules/generator-function": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", @@ -3671,17 +7263,36 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -3702,11 +7313,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-own-enumerable-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-own-enumerable-keys/-/get-own-enumerable-keys-1.0.0.tgz", + "integrity": "sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -3716,6 +7347,22 @@ "node": ">= 0.4" } }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", @@ -3794,7 +7441,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -3807,9 +7453,17 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, "license": "ISC" }, + "node_modules/graphql": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.14.0.tgz", + "integrity": "sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -3866,7 +7520,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -3895,7 +7548,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -3904,6 +7556,16 @@ "node": ">= 0.4" } }, + "node_modules/headers-polyfill": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-5.0.1.tgz", + "integrity": "sha512-1TJ6Fih/b8h5TIcv+1+Hw0PDQWJTKDKzFZzcKOiW1wJza3XoAQlkCuXLbymPYB8+ZQyw8mHvdw560e8zVFIWyA==", + "license": "MIT", + "dependencies": { + "@types/set-cookie-parser": "^2.4.10", + "set-cookie-parser": "^3.0.1" + } + }, "node_modules/hermes-estree": { "version": "0.25.1", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", @@ -3921,11 +7583,77 @@ "hermes-estree": "0.25.1" } }, + "node_modules/hono": { + "version": "4.12.22", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.22.tgz", + "integrity": "sha512-7fvVPbB92zNRsQke+uiRGwtTuef0tB2Dg4hWxYfFNvkQhIltWoyi0ONReM5LWA+jJWS3nfT5lTq+qbsIpX0IQw==", + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -3935,7 +7663,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, "license": "MIT", "dependencies": { "parent-module": "^1.0.0", @@ -3958,6 +7685,12 @@ "node": ">=0.8.19" } }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -3973,6 +7706,24 @@ "node": ">= 0.4" } }, + "node_modules/ip-address": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -3991,6 +7742,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, "node_modules/is-async-function": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", @@ -4055,9 +7812,9 @@ } }, "node_modules/is-bun-module/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "dev": true, "license": "ISC", "bin": { @@ -4131,11 +7888,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -4157,6 +7928,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-generator-function": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", @@ -4181,7 +7961,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -4190,6 +7969,48 @@ "node": ">=0.10.0" } }, + "node_modules/is-in-ssh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz", + "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -4216,11 +8037,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==", + "license": "MIT" + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -4243,6 +8069,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-3.0.0.tgz", + "integrity": "sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -4262,6 +8118,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz", + "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-set": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", @@ -4291,6 +8159,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-string": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", @@ -4342,6 +8222,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", @@ -4388,6 +8280,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -4399,7 +8306,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, "license": "ISC" }, "node_modules/iterator.prototype": { @@ -4430,18 +8336,25 @@ "jiti": "lib/jiti-cli.mjs" } }, + "node_modules/jose": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.3.tgz", + "integrity": "sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -4454,7 +8367,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -4470,6 +8382,12 @@ "dev": true, "license": "MIT" }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4477,6 +8395,12 @@ "dev": true, "license": "MIT" }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", + "license": "BSD-2-Clause" + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -4488,7 +8412,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -4497,6 +8420,18 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -4523,6 +8458,24 @@ "json-buffer": "3.0.1" } }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/kysely": { + "version": "0.28.17", + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.28.17.tgz", + "integrity": "sha512-nbD8lB9EB3wNdMhOCdx5Li8DxnLbvKByylRLcJ1h+4SkrowVeECAyZlyiKMThF7xFdRz0jSQ2MoJr+wXux2y0Q==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", @@ -4700,6 +8653,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -4721,6 +8677,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -4742,6 +8701,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -4763,6 +8725,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -4818,6 +8783,12 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -4841,6 +8812,46 @@ "dev": true, "license": "MIT" }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4858,12 +8869,20 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, + "node_modules/lucide-react": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.16.0.tgz", + "integrity": "sha512-dYwyPzb4MEKpGUmNYk3WKWPnMrHs3FKM+q94kAnJrcDIqqn1hq2xY8scaS2ovsOCM5D51ey2gaRG3PBb1vgoYQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", @@ -4874,21 +8893,53 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" } }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -4898,7 +8949,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -4908,6 +8958,52 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", @@ -4925,7 +9021,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4935,9 +9030,74 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, + "node_modules/msw": { + "version": "2.14.6", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.14.6.tgz", + "integrity": "sha512-ALe+N10S72cyx94cMcy3Zs4HhXCj35sgeAL4c+WTvKi0zWnbd8/h0lcFqv0mb2P+aSgAdD7p9HzvA0DiUPxsyg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@inquirer/confirm": "^6.0.11", + "@mswjs/interceptors": "^0.41.3", + "@open-draft/deferred-promise": "^3.0.0", + "@types/statuses": "^2.0.6", + "cookie": "^1.1.1", + "graphql": "^16.13.2", + "headers-polyfill": "^5.0.1", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "path-to-regexp": "^6.3.0", + "picocolors": "^1.1.1", + "rettime": "^0.11.11", + "statuses": "^2.0.2", + "strict-event-emitter": "^0.5.1", + "tough-cookie": "^6.0.1", + "type-fest": "^5.5.0", + "until-async": "^3.0.2", + "yargs": "^17.7.2" + }, + "bin": { + "msw": "cli/index.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mswjs" + }, + "peerDependencies": { + "typescript": ">= 4.8.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/msw/node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mute-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz", + "integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/nanoid": { "version": "3.3.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", @@ -4956,6 +9116,21 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/nanostores": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-1.3.0.tgz", + "integrity": "sha512-XPUa/jz+P1oJvN9VBxw4L9MtdFfaH3DAryqPssqhb2kXjmb9npz0dly6rCsgFWOPr4Yg9mTfM3MDZgZZ+7A3lA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": "^20.0.0 || >=22.0.0" + } + }, "node_modules/napi-postinstall": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", @@ -4979,6 +9154,15 @@ "dev": true, "license": "MIT" }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/next": { "version": "16.2.6", "resolved": "https://registry.npmjs.org/next/-/next-16.2.6.tgz", @@ -5060,6 +9244,26 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, "node_modules/node-exports-info": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", @@ -5079,18 +9283,65 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", - "dev": true, - "license": "MIT" + "version": "2.0.46", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.46.tgz", + "integrity": "sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -5100,7 +9351,6 @@ "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5119,6 +9369,15 @@ "node": ">= 0.4" } }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/object.assign": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", @@ -5209,6 +9468,62 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", + "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.4.0", + "define-lazy-prop": "^3.0.0", + "is-in-ssh": "^1.0.0", + "is-inside-container": "^1.0.0", + "powershell-utils": "^0.1.0", + "wsl-utils": "^0.3.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -5227,6 +9542,74 @@ "node": ">= 0.8.0" } }, + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/outvariant": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==", + "license": "MIT" + }, "node_modules/own-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", @@ -5281,7 +9664,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "license": "MIT", "dependencies": { "callsites": "^3.0.0" @@ -5290,6 +9672,51 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -5304,7 +9731,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -5317,6 +9743,101 @@ "dev": true, "license": "MIT" }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "license": "MIT" + }, + "node_modules/pg": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.21.0.tgz", + "integrity": "sha512-AUP1EYJuHraQGsVoCQVIcM7TEJVGtDzxWtGFZd8rds9d+CCXlU5Js1rYgfLNvxy9iJrpHjGrRjoi/3BT9fRyiA==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.13.0", + "pg-pool": "^3.14.0", + "pg-protocol": "^1.14.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.4.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", + "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.13.0.tgz", + "integrity": "sha512-EMnU9E2fSULdsbErBbMaXJvFeD9B4+nPcM3f+4lsiCR0BHLPrLVjv3DbyM2hgQQviKJaTWIRRTjKjWlHg3p2ig==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz", + "integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.14.0.tgz", + "integrity": "sha512-n5taZ1kO3s9ngDTVxsEznOqCyToTgz0FLuPq0B33COy5pPpuWJpY3/2oRBVETuOgzdqRXfWpM9HIhp2LBBT1BA==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -5327,7 +9848,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -5336,6 +9856,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -5347,10 +9876,9 @@ } }, "node_modules/postcss": { - "version": "8.5.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", - "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", - "dev": true, + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "funding": [ { "type": "opencollective", @@ -5367,7 +9895,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -5375,6 +9903,70 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -5385,6 +9977,43 @@ "node": ">= 0.8.0" } }, + "node_modules/pretty-ms": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5397,6 +10026,19 @@ "react-is": "^16.13.1" } }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -5407,11 +10049,25 @@ "node": ">=6" } }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -5428,12 +10084,112 @@ ], "license": "MIT" }, + "node_modules/radix-ui": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/radix-ui/-/radix-ui-1.4.3.tgz", + "integrity": "sha512-aWizCQiyeAenIdUbqEpXgRA1ya65P13NKn/W8rWkcN0OPkRDxdBVLWnIEDsS2RpwCK2nobI7oMUSmexzTDyAmA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-accessible-icon": "1.1.7", + "@radix-ui/react-accordion": "1.2.12", + "@radix-ui/react-alert-dialog": "1.1.15", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-aspect-ratio": "1.1.7", + "@radix-ui/react-avatar": "1.1.10", + "@radix-ui/react-checkbox": "1.3.3", + "@radix-ui/react-collapsible": "1.1.12", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-context-menu": "2.2.16", + "@radix-ui/react-dialog": "1.1.15", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-dropdown-menu": "2.1.16", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-form": "0.1.8", + "@radix-ui/react-hover-card": "1.1.15", + "@radix-ui/react-label": "2.1.7", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-menubar": "1.1.16", + "@radix-ui/react-navigation-menu": "1.2.14", + "@radix-ui/react-one-time-password-field": "0.1.8", + "@radix-ui/react-password-toggle-field": "0.1.3", + "@radix-ui/react-popover": "1.1.15", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-progress": "1.1.7", + "@radix-ui/react-radio-group": "1.3.8", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-scroll-area": "1.2.10", + "@radix-ui/react-select": "2.2.6", + "@radix-ui/react-separator": "1.1.7", + "@radix-ui/react-slider": "1.3.6", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-switch": "1.2.6", + "@radix-ui/react-tabs": "1.1.13", + "@radix-ui/react-toast": "1.2.15", + "@radix-ui/react-toggle": "1.1.10", + "@radix-ui/react-toggle-group": "1.1.11", + "@radix-ui/react-toolbar": "1.1.11", + "@radix-ui/react-tooltip": "1.2.8", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-escape-keydown": "1.1.1", + "@radix-ui/react-use-is-hydrated": "0.1.0", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/react": { "version": "19.2.4", "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -5443,7 +10199,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -5458,6 +10213,91 @@ "dev": true, "license": "MIT" }, + "node_modules/react-remove-scroll": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/recast": { + "version": "0.23.11", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", + "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", + "license": "MIT", + "dependencies": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -5502,15 +10342,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", + "is-core-module": "^2.16.2", "node-exports-info": "^1.6.0", "object-keys": "^1.1.1", "path-parse": "^1.0.7", @@ -5530,7 +10388,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -5546,22 +10403,86 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rettime": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/rettime/-/rettime-0.11.11.tgz", + "integrity": "sha512-ILJRqVWBCTlg9r42fFgwVZx1gnFAcQF8mRoMkbgQfIrjEDf9nbBFDFx00oloOa+Q869FUtaYDXZvEfnecQSCoQ==", + "license": "MIT" + }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, + "node_modules/rou3": { + "version": "0.7.12", + "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.7.12.tgz", + "integrity": "sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==", + "license": "MIT" + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/router/node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -5636,6 +10557,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, "node_modules/scheduler": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", @@ -5646,12 +10573,62 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" } }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/set-cookie-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.1.0.tgz", + "integrity": "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==", + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -5701,6 +10678,108 @@ "node": ">= 0.4" } }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shadcn": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/shadcn/-/shadcn-4.8.0.tgz", + "integrity": "sha512-LAm3I/1FdoU/zu5GVG8Hbna4X9zlzEG5TeeCPXqsopkjvGk8QUF9OFhqeRN8oM6Oh/ynUI/yQHZxQAO3Ymcqsg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/parser": "^7.28.0", + "@babel/plugin-transform-typescript": "^7.28.0", + "@babel/preset-typescript": "^7.27.1", + "@dotenvx/dotenvx": "^1.48.4", + "@modelcontextprotocol/sdk": "^1.26.0", + "@types/validate-npm-package-name": "^4.0.2", + "browserslist": "^4.26.2", + "commander": "^14.0.0", + "cosmiconfig": "^9.0.0", + "dedent": "^1.6.0", + "deepmerge": "^4.3.1", + "diff": "^8.0.2", + "execa": "^9.6.0", + "fast-glob": "^3.3.3", + "fs-extra": "^11.3.1", + "fuzzysort": "^3.1.0", + "https-proxy-agent": "^7.0.6", + "kleur": "^4.1.5", + "msw": "^2.10.4", + "node-fetch": "^3.3.2", + "open": "^11.0.0", + "ora": "^8.2.0", + "postcss": "^8.5.6", + "postcss-selector-parser": "^7.1.0", + "prompts": "^2.4.2", + "recast": "^0.23.11", + "stringify-object": "^5.0.0", + "tailwind-merge": "^3.0.1", + "ts-morph": "^26.0.0", + "tsconfig-paths": "^4.2.0", + "validate-npm-package-name": "^7.0.1", + "zod": "^3.24.1", + "zod-to-json-schema": "^3.24.6" + }, + "bin": { + "shadcn": "dist/index.js" + } + }, + "node_modules/shadcn/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/shadcn/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/shadcn/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/shadcn/node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/sharp": { "version": "0.34.5", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", @@ -5747,9 +10826,9 @@ } }, "node_modules/sharp/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "license": "ISC", "optional": true, "bin": { @@ -5763,7 +10842,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -5776,7 +10854,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -5786,7 +10863,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -5806,7 +10882,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -5823,7 +10898,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -5842,7 +10916,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -5858,6 +10931,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -5867,6 +10967,15 @@ "node": ">=0.10.0" } }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, "node_modules/stable-hash": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", @@ -5874,6 +10983,27 @@ "dev": true, "license": "MIT" }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", @@ -5888,6 +11018,62 @@ "node": ">= 0.4" } }, + "node_modules/strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/string.prototype.includes": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", @@ -6001,16 +11187,56 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-5.0.0.tgz", + "integrity": "sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-keys": "^1.0.0", + "is-obj": "^3.0.0", + "is-regexp": "^3.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/stringify-object?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -6073,6 +11299,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tagged-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tailwind-merge": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.6.0.tgz", + "integrity": "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, "node_modules/tailwindcss": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz", @@ -6094,6 +11342,12 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, "node_modules/tinyglobby": { "version": "0.2.16", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", @@ -6135,7 +11389,6 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -6143,11 +11396,28 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/tldts": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.32.tgz", + "integrity": "sha512-5eDV0tK2NhLAAqBeXDAQ36+EwuStd1HbsSOnGsp+JbExITnExcALLL5M1kTH8gjDYN5QvwmUWimE3GoMZ2A7xQ==", + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.32" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.32.tgz", + "integrity": "sha512-GbSw6chU2HsHIB/NAyBJYxXQKpcqhtgY6bvWi90OarpbuMia+Z4Gw5BYiW4hJo1DzQ/6k9coba7FU/ijcgVLLw==", + "license": "MIT" + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -6156,6 +11426,27 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/ts-api-utils": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", @@ -6169,6 +11460,70 @@ "typescript": ">=4.8.4" } }, + "node_modules/ts-morph": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-26.0.0.tgz", + "integrity": "sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==", + "license": "MIT", + "dependencies": { + "@ts-morph/common": "~0.27.0", + "code-block-writer": "^13.0.3" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -6201,6 +11556,15 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, + "node_modules/tw-animate-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz", + "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6214,6 +11578,52 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.6.0.tgz", + "integrity": "sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==", + "license": "(MIT OR CC0-1.0)", + "dependencies": { + "tagged-tag": "^1.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -6296,9 +11706,8 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6308,16 +11717,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.2.tgz", - "integrity": "sha512-pJw051uomb3ZeCzGTpRb8RbEqB5Y4WWet8gl/GcTlU35BSx0PVdZ86/bqkQCyKKuraVQEK7r6kBHQXF+fBhkoQ==", + "version": "8.59.4", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.4.tgz", + "integrity": "sha512-Rw6+44QNFaXtgHSjPy+Kw8hrJniMYzR85E9yLmOLcfZ91/rz+JXQbDTCmc6ccxMPY6K6PgAq26f0JCBfR7LIPQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.59.2", - "@typescript-eslint/parser": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/utils": "8.59.2" + "@typescript-eslint/eslint-plugin": "8.59.4", + "@typescript-eslint/parser": "8.59.4", + "@typescript-eslint/typescript-estree": "8.59.4", + "@typescript-eslint/utils": "8.59.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6354,49 +11763,89 @@ "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, "license": "MIT" }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "napi-postinstall": "^0.3.0" + "napi-postinstall": "^0.3.4" }, "funding": { "url": "https://opencollective.com/unrs-resolver" }, "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" + } + }, + "node_modules/until-async": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/until-async/-/until-async-3.0.2.tgz", + "integrity": "sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/kettanaito" } }, "node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, "funding": [ { "type": "opencollective", @@ -6433,11 +11882,102 @@ "punycode": "^2.1.0" } }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-name": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz", + "integrity": "sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -6548,13 +12088,146 @@ "node": ">=0.10.0" } }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/wsl-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz", + "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, "license": "ISC" }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -6568,17 +12241,51 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yocto-spinner": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-1.2.0.tgz", + "integrity": "sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zod": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", - "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, "node_modules/zod-validation-error": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", diff --git a/frontend/package.json b/frontend/package.json index 0cac1f9..4160ff9 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,5 @@ { "name": "fbla-frontend", - "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", @@ -9,18 +8,30 @@ "lint": "eslint" }, "dependencies": { - "next": "16.2.6", + "better-auth": "^1.6.11", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "dotenv": "^17.4.2", + "lucide-react": "^1.16.0", + "next": "^16.2.6", + "pg": "^8.21.0", + "radix-ui": "^1.4.3", "react": "19.2.4", - "react-dom": "19.2.4" + "react-dom": "19.2.4", + "shadcn": "^4.8.0", + "tailwind-merge": "^3.6.0", + "tw-animate-css": "^1.4.0" }, "devDependencies": { "@tailwindcss/postcss": "^4", "@types/node": "^20", + "@types/pg": "^8.20.0", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "16.2.6", "tailwindcss": "^4", + "ts-node": "^10.9.2", "typescript": "^5" } } diff --git a/frontend/public/default-pfp.svg b/frontend/public/default-pfp.svg new file mode 100644 index 0000000..63604d4 --- /dev/null +++ b/frontend/public/default-pfp.svg @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/frontend/public/fbla-icon.png b/frontend/public/fbla-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5404eb767dbeb497f2e6eb22ec192d2d5cc695b3 GIT binary patch literal 3198 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

HI%!%uFc04mEoE|7zo$ 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Ⓢ&b!C7gW| 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 literal 0 HcmV?d00001 diff --git a/frontend/public/fbla-logo-partial-vertical.png b/frontend/public/fbla-logo-partial-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..035aebe59ba562a8d059af63fc8198c1d988ba59 GIT binary patch literal 46035 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 J-)h(f{~s_~>U{tJ literal 0 HcmV?d00001 diff --git a/frontend/public/file.svg b/frontend/public/file.svg deleted file mode 100644 index 004145c..0000000 --- a/frontend/public/file.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/public/globe.svg b/frontend/public/globe.svg deleted file mode 100644 index 567f17b..0000000 --- a/frontend/public/globe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/public/harold.jpg b/frontend/public/harold.jpg new file mode 100644 index 0000000000000000000000000000000000000000..62ca3bd9a33e24d1b060c8b5b1acc030cdd81450 GIT binary patch literal 29253 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 \ No newline at end of file diff --git a/frontend/public/next.svg b/frontend/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/frontend/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/public/plus.png b/frontend/public/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2a5f6251322c1156de5b3f6c921c3a8540392d GIT binary patch literal 15032 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 literal 0 HcmV?d00001 diff --git a/frontend/public/vercel.svg b/frontend/public/vercel.svg deleted file mode 100644 index 7705396..0000000 --- a/frontend/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/public/window.svg b/frontend/public/window.svg deleted file mode 100644 index b2b2a44..0000000 --- a/frontend/public/window.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/app/api/auth/[...all]/route.ts b/frontend/src/app/api/auth/[...all]/route.ts new file mode 100644 index 0000000..7cbe91b --- /dev/null +++ b/frontend/src/app/api/auth/[...all]/route.ts @@ -0,0 +1,4 @@ +import { auth } from "@/lib/auth"; +import { toNextJsHandler } from "better-auth/next-js"; + +export const { POST, GET } = toNextJsHandler(auth); diff --git a/frontend/src/app/chat/layout.tsx b/frontend/src/app/chat/layout.tsx new file mode 100644 index 0000000..9c17846 --- /dev/null +++ b/frontend/src/app/chat/layout.tsx @@ -0,0 +1,13 @@ +import { SidebarProvider, SidebarTrigger } from "@/components/ui/sidebar"; +import ChatSidebar from "@/features/ai-chat/sidebar/bar"; + +export default function ChatLayout({ children }: { children: React.ReactNode }) { + return ( + + + + {children} + + + ) +} diff --git a/frontend/src/app/chat/page.tsx b/frontend/src/app/chat/page.tsx new file mode 100644 index 0000000..81acfd8 --- /dev/null +++ b/frontend/src/app/chat/page.tsx @@ -0,0 +1,12 @@ +import Chatbox from "@/features/ai-chat/chatbox"; +import ChatSidebar from "@/features/ai-chat/sidebar/bar"; + + +export default async function Chat() { + + return ( +

+ +
+ ) +} diff --git a/frontend/src/app/favicon.ico b/frontend/src/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..492cb8d97fe3793e3a2e8ba118b332776e2b2e1e 100644 GIT binary patch literal 1150 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 LrJugUA?W`A8`#=m diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css index a2dc41e..04c68d7 100644 --- a/frontend/src/app/globals.css +++ b/frontend/src/app/globals.css @@ -1,26 +1,132 @@ @import "tailwindcss"; +@import "tw-animate-css"; +@import "shadcn/tailwind.css"; -:root { - --background: #ffffff; - --foreground: #171717; -} +@custom-variant dark (&:is(.dark *)); @theme inline { - --color-background: var(--background); - --color-foreground: var(--foreground); - --font-sans: var(--font-geist-sans); - --font-mono: var(--font-geist-mono); + --color-background: var(--background); + --color-foreground: var(--foreground); + --font-sans: var(--font-sans); + --font-mono: var(--font-geist-mono); + --font-heading: var(--font-sans); + --color-sidebar-ring: var(--sidebar-ring); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar: var(--sidebar); + --color-chart-5: var(--chart-5); + --color-chart-4: var(--chart-4); + --color-chart-3: var(--chart-3); + --color-chart-2: var(--chart-2); + --color-chart-1: var(--chart-1); + --color-ring: var(--ring); + --color-input: var(--input); + --color-border: var(--border); + --color-destructive: var(--destructive); + --color-accent-foreground: var(--accent-foreground); + --color-accent: var(--accent); + --color-muted-foreground: var(--muted-foreground); + --color-muted: var(--muted); + --color-secondary-foreground: var(--secondary-foreground); + --color-secondary: var(--secondary); + --color-primary-foreground: var(--primary-foreground); + --color-primary: var(--primary); + --color-popover-foreground: var(--popover-foreground); + --color-popover: var(--popover); + --color-card-foreground: var(--card-foreground); + --color-card: var(--card); + --radius-sm: calc(var(--radius) * 0.6); + --radius-md: calc(var(--radius) * 0.8); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) * 1.4); + --radius-2xl: calc(var(--radius) * 1.8); + --radius-3xl: calc(var(--radius) * 2.2); + --radius-4xl: calc(var(--radius) * 2.6); } -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } +:root { + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.87 0 0); + --chart-2: oklch(0.556 0 0); + --chart-3: oklch(0.439 0 0); + --chart-4: oklch(0.371 0 0); + --chart-5: oklch(0.269 0 0); + --radius: 0.625rem; + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); } -body { - background: var(--background); - color: var(--foreground); - font-family: Arial, Helvetica, sans-serif; +.dark { + --background: #0a0e12; + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.556 0 0); + --chart-1: oklch(0.87 0 0); + --chart-2: oklch(0.556 0 0); + --chart-3: oklch(0.439 0 0); + --chart-4: oklch(0.371 0 0); + --chart-5: oklch(0.269 0 0); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.556 0 0); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + + body { + @apply bg-background text-foreground; + } + + html { + @apply font-sans; + } } diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 976eb90..fee8782 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -1,33 +1,36 @@ import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; +import { Geist, Geist_Mono, Inter } from "next/font/google"; import "./globals.css"; +import { cn } from "@/lib/utils"; + +const inter = Inter({ subsets: ['latin'], variable: '--font-sans' }); const geistSans = Geist({ - variable: "--font-geist-sans", - subsets: ["latin"], + variable: "--font-geist-sans", + subsets: ["latin"], }); const geistMono = Geist_Mono({ - variable: "--font-geist-mono", - subsets: ["latin"], + variable: "--font-geist-mono", + subsets: ["latin"], }); export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", + title: "FBLA Submission", + description: "FBLA Submission for CS & Tech Case Comp.", }; export default function RootLayout({ - children, + children, }: Readonly<{ - children: React.ReactNode; + children: React.ReactNode; }>) { - return ( - - {children} - - ); + return ( + + {children} + + ); } diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 3f36f7c..07ae321 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -1,65 +1,9 @@ -import Image from "next/image"; +import LoginField from "@/features/auth/login-field"; export default function Home() { - return ( - - ); + return ( +
+ +
+ ); } diff --git a/frontend/src/components/ui/avatar.tsx b/frontend/src/components/ui/avatar.tsx new file mode 100644 index 0000000..47ff2e2 --- /dev/null +++ b/frontend/src/components/ui/avatar.tsx @@ -0,0 +1,112 @@ +"use client" + +import * as React from "react" +import { Avatar as AvatarPrimitive } from "radix-ui" + +import { cn } from "@/lib/utils" + +function Avatar({ + className, + size = "default", + ...props +}: React.ComponentProps & { + size?: "default" | "sm" | "lg" +}) { + return ( + + ) +} + +function AvatarImage({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarFallback({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarBadge({ className, ...props }: React.ComponentProps<"span">) { + return ( + svg]:hidden", + "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2", + "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2", + className + )} + {...props} + /> + ) +} + +function AvatarGroup({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AvatarGroupCount({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", + className + )} + {...props} + /> + ) +} + +export { + Avatar, + AvatarImage, + AvatarFallback, + AvatarGroup, + AvatarGroupCount, + AvatarBadge, +} diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx new file mode 100644 index 0000000..59e8eb9 --- /dev/null +++ b/frontend/src/components/ui/button.tsx @@ -0,0 +1,65 @@ +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" +import { Slot } from "radix-ui" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "group/button inline-flex shrink-0 items-center justify-center rounded-4xl border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/80", + outline: + "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:bg-transparent dark:hover:bg-input/30", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground", + ghost: + "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50", + destructive: + "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: + "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5", + xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3", + sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2", + lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3", + icon: "size-9", + "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3", + "icon-sm": "size-8", + "icon-lg": "size-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Button({ + className, + variant = "default", + size = "default", + asChild = false, + ...props +}: React.ComponentProps<"button"> & + VariantProps & { + asChild?: boolean + }) { + const Comp = asChild ? Slot.Root : "button" + + return ( + + ) +} + +export { Button, buttonVariants } diff --git a/frontend/src/components/ui/card.tsx b/frontend/src/components/ui/card.tsx new file mode 100644 index 0000000..8cbd169 --- /dev/null +++ b/frontend/src/components/ui/card.tsx @@ -0,0 +1,100 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Card({ + className, + size = "default", + ...props +}: React.ComponentProps<"div"> & { size?: "default" | "sm" }) { + return ( +
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 dark:ring-foreground/10 *:[img:first-child]:rounded-t-4xl *:[img:last-child]:rounded-b-4xl", + className + )} + {...props} + /> + ) +} + +function CardHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardDescription({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardAction({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { + Card, + CardHeader, + CardFooter, + CardTitle, + CardAction, + CardDescription, + CardContent, +} diff --git a/frontend/src/components/ui/dropdown-menu.tsx b/frontend/src/components/ui/dropdown-menu.tsx new file mode 100644 index 0000000..dfba973 --- /dev/null +++ b/frontend/src/components/ui/dropdown-menu.tsx @@ -0,0 +1,269 @@ +"use client" + +import * as React from "react" +import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui" + +import { cn } from "@/lib/utils" +import { CheckIcon, ChevronRightIcon } from "lucide-react" + +function DropdownMenu({ + ...props +}: React.ComponentProps) { + return +} + +function DropdownMenuPortal({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuTrigger({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuContent({ + className, + align = "start", + sideOffset = 4, + ...props +}: React.ComponentProps) { + return ( + + + + ) +} + +function DropdownMenuGroup({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuItem({ + className, + inset, + variant = "default", + ...props +}: React.ComponentProps & { + inset?: boolean + variant?: "default" | "destructive" +}) { + return ( + + ) +} + +function DropdownMenuCheckboxItem({ + className, + children, + checked, + inset, + ...props +}: React.ComponentProps & { + inset?: boolean +}) { + return ( + + + + + + + {children} + + ) +} + +function DropdownMenuRadioGroup({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuRadioItem({ + className, + children, + inset, + ...props +}: React.ComponentProps & { + inset?: boolean +}) { + return ( + + + + + + + {children} + + ) +} + +function DropdownMenuLabel({ + className, + inset, + ...props +}: React.ComponentProps & { + inset?: boolean +}) { + return ( + + ) +} + +function DropdownMenuSeparator({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuShortcut({ + className, + ...props +}: React.ComponentProps<"span">) { + return ( + + ) +} + +function DropdownMenuSub({ + ...props +}: React.ComponentProps) { + return +} + +function DropdownMenuSubTrigger({ + className, + inset, + children, + ...props +}: React.ComponentProps & { + inset?: boolean +}) { + return ( + + {children} + + + ) +} + +function DropdownMenuSubContent({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + DropdownMenu, + DropdownMenuPortal, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuLabel, + DropdownMenuItem, + DropdownMenuCheckboxItem, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuSeparator, + DropdownMenuShortcut, + DropdownMenuSub, + DropdownMenuSubTrigger, + DropdownMenuSubContent, +} diff --git a/frontend/src/components/ui/field.tsx b/frontend/src/components/ui/field.tsx new file mode 100644 index 0000000..5b3ff19 --- /dev/null +++ b/frontend/src/components/ui/field.tsx @@ -0,0 +1,238 @@ +"use client" + +import { useMemo } from "react" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" +import { Label } from "@/components/ui/label" +import { Separator } from "@/components/ui/separator" + +function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">) { + return ( +
[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3", + className + )} + {...props} + /> + ) +} + +function FieldLegend({ + className, + variant = "legend", + ...props +}: React.ComponentProps<"legend"> & { variant?: "legend" | "label" }) { + return ( + + ) +} + +function FieldGroup({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +const fieldVariants = cva( + "group/field flex w-full gap-3 data-[invalid=true]:text-destructive", + { + variants: { + orientation: { + vertical: "flex-col *:w-full [&>.sr-only]:w-auto", + horizontal: + "flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px", + responsive: + "flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px", + }, + }, + defaultVariants: { + orientation: "vertical", + }, + } +) + +function Field({ + className, + orientation = "vertical", + ...props +}: React.ComponentProps<"div"> & VariantProps) { + return ( +
+ ) +} + +function FieldContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function FieldLabel({ + className, + ...props +}: React.ComponentProps) { + return ( +