From 3ba914d15ca3194e90889727ce4ddabab7e4415f Mon Sep 17 00:00:00 2001 From: ordinarthur Date: Wed, 8 Apr 2026 19:59:47 +0200 Subject: [PATCH] add desktop --- apps/frontend/.env.example | 4 + apps/frontend/.gitignore | 39 + apps/frontend/README.md | 68 + apps/frontend/index.html | 12 + apps/frontend/package.json | 32 + apps/frontend/postcss.config.js | 6 + apps/frontend/src-tauri/.gitignore | 6 + apps/frontend/src-tauri/Cargo.toml | 25 + apps/frontend/src-tauri/build.rs | 3 + .../src-tauri/capabilities/default.json | 10 + apps/frontend/src-tauri/icons/128x128.png | Bin 0 -> 5498 bytes apps/frontend/src-tauri/icons/128x128@2x.png | Bin 0 -> 11315 bytes apps/frontend/src-tauri/icons/32x32.png | Bin 0 -> 1312 bytes apps/frontend/src-tauri/icons/64x64.png | Bin 0 -> 2943 bytes .../src-tauri/icons/Square107x107Logo.png | Bin 0 -> 5231 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 0 -> 6998 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 0 -> 7167 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 0 -> 14378 bytes .../src-tauri/icons/Square30x30Logo.png | Bin 0 -> 1224 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 0 -> 15644 bytes .../src-tauri/icons/Square44x44Logo.png | Bin 0 -> 1944 bytes .../src-tauri/icons/Square71x71Logo.png | Bin 0 -> 3397 bytes .../src-tauri/icons/Square89x89Logo.png | Bin 0 -> 4189 bytes apps/frontend/src-tauri/icons/StoreLogo.png | Bin 0 -> 2271 bytes .../android/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../icons/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2094 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 7988 bytes .../android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 1712 bytes .../icons/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2009 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 5226 bytes .../android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 1637 bytes .../android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4700 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 10581 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 3539 bytes .../android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6999 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 16416 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 5475 bytes .../android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9720 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 21685 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 7538 bytes .../android/values/ic_launcher_background.xml | 4 + apps/frontend/src-tauri/icons/icon.icns | Bin 0 -> 88713 bytes apps/frontend/src-tauri/icons/icon.ico | Bin 0 -> 19870 bytes apps/frontend/src-tauri/icons/icon.png | Bin 0 -> 21564 bytes .../src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 816 bytes .../icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 1676 bytes .../src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 1676 bytes .../src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 2569 bytes .../src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 1209 bytes .../icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 2573 bytes .../src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 2573 bytes .../src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 3994 bytes .../src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 1676 bytes .../icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 3695 bytes .../src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 3695 bytes .../src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 5703 bytes .../src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 9059 bytes .../src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 5703 bytes .../src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 8667 bytes .../src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 3510 bytes .../src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 7440 bytes .../icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 8064 bytes apps/frontend/src-tauri/src/lib.rs | 7 + apps/frontend/src-tauri/src/main.rs | 6 + apps/frontend/src-tauri/tauri.conf.json | 40 + apps/frontend/src/App.tsx | 52 + .../src/components/ProtectedRoute.tsx | 31 + apps/frontend/src/components/ui.tsx | 148 ++ apps/frontend/src/context/AuthContext.tsx | 98 ++ apps/frontend/src/lib/api.ts | 233 ++++ apps/frontend/src/lib/storage.ts | 100 ++ apps/frontend/src/main.tsx | 16 + apps/frontend/src/pages/DashboardPage.tsx | 118 ++ apps/frontend/src/pages/LoginPage.tsx | 97 ++ apps/frontend/src/pages/PairRobotPage.tsx | 193 +++ apps/frontend/src/pages/RegisterPage.tsx | 119 ++ apps/frontend/src/styles/index.css | 15 + apps/frontend/tailwind.config.js | 33 + apps/frontend/tsconfig.json | 26 + apps/frontend/tsconfig.node.json | 11 + apps/frontend/vite.config.ts | 32 + pnpm-lock.yaml | 1198 ++++++++++++----- 82 files changed, 2444 insertions(+), 343 deletions(-) create mode 100644 apps/frontend/.env.example create mode 100644 apps/frontend/.gitignore create mode 100644 apps/frontend/README.md create mode 100644 apps/frontend/index.html create mode 100644 apps/frontend/package.json create mode 100644 apps/frontend/postcss.config.js create mode 100644 apps/frontend/src-tauri/.gitignore create mode 100644 apps/frontend/src-tauri/Cargo.toml create mode 100644 apps/frontend/src-tauri/build.rs create mode 100644 apps/frontend/src-tauri/capabilities/default.json create mode 100644 apps/frontend/src-tauri/icons/128x128.png create mode 100644 apps/frontend/src-tauri/icons/128x128@2x.png create mode 100644 apps/frontend/src-tauri/icons/32x32.png create mode 100644 apps/frontend/src-tauri/icons/64x64.png create mode 100644 apps/frontend/src-tauri/icons/Square107x107Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square142x142Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square150x150Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square284x284Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square30x30Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square310x310Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square44x44Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square71x71Logo.png create mode 100644 apps/frontend/src-tauri/icons/Square89x89Logo.png create mode 100644 apps/frontend/src-tauri/icons/StoreLogo.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 apps/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 apps/frontend/src-tauri/icons/android/values/ic_launcher_background.xml create mode 100644 apps/frontend/src-tauri/icons/icon.icns create mode 100644 apps/frontend/src-tauri/icons/icon.ico create mode 100644 apps/frontend/src-tauri/icons/icon.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 apps/frontend/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png create mode 100644 apps/frontend/src-tauri/src/lib.rs create mode 100644 apps/frontend/src-tauri/src/main.rs create mode 100644 apps/frontend/src-tauri/tauri.conf.json create mode 100644 apps/frontend/src/App.tsx create mode 100644 apps/frontend/src/components/ProtectedRoute.tsx create mode 100644 apps/frontend/src/components/ui.tsx create mode 100644 apps/frontend/src/context/AuthContext.tsx create mode 100644 apps/frontend/src/lib/api.ts create mode 100644 apps/frontend/src/lib/storage.ts create mode 100644 apps/frontend/src/main.tsx create mode 100644 apps/frontend/src/pages/DashboardPage.tsx create mode 100644 apps/frontend/src/pages/LoginPage.tsx create mode 100644 apps/frontend/src/pages/PairRobotPage.tsx create mode 100644 apps/frontend/src/pages/RegisterPage.tsx create mode 100644 apps/frontend/src/styles/index.css create mode 100644 apps/frontend/tailwind.config.js create mode 100644 apps/frontend/tsconfig.json create mode 100644 apps/frontend/tsconfig.node.json create mode 100644 apps/frontend/vite.config.ts diff --git a/apps/frontend/.env.example b/apps/frontend/.env.example new file mode 100644 index 0000000..ff04daf --- /dev/null +++ b/apps/frontend/.env.example @@ -0,0 +1,4 @@ +# Backend API base URL (no trailing slash, no /api suffix) +# Dev local: http://localhost:3000 +# Prod VPS: https://api.ti-pote.example.com +VITE_API_URL=http://localhost:3000 diff --git a/apps/frontend/.gitignore b/apps/frontend/.gitignore new file mode 100644 index 0000000..fdaeba9 --- /dev/null +++ b/apps/frontend/.gitignore @@ -0,0 +1,39 @@ +# Dependencies +node_modules/ +.pnp +.pnp.js + +# Build output +dist/ +dist-ssr/ +build/ +*.local + +# Vite +.vite/ + +# Env +.env +.env.local +.env.*.local + +# IDE +.vscode/* +!.vscode/extensions.json +.idea/ +*.swp +*.swo +.DS_Store + +# Logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Tauri (Rust build artifacts) +src-tauri/target/ +src-tauri/Cargo.lock +src-tauri/gen/schemas/ +src-tauri/WixTools/ diff --git a/apps/frontend/README.md b/apps/frontend/README.md new file mode 100644 index 0000000..f81119c --- /dev/null +++ b/apps/frontend/README.md @@ -0,0 +1,68 @@ +# @ti-pote/frontend + +Desktop companion app for Ti-Pote. **Vite + React + TypeScript + Tailwind**, +wrappable as a native desktop app with **Tauri v2**. + +## Features + +- Auth: register / login / auto refresh-token rotation +- Session persistence (Tauri Store plugin on desktop, localStorage in browser) +- Dashboard: list of associated robots (`GET /api/devices`) +- Robot pairing: 6-digit code screen wired to `POST /api/pairing/confirm` + +## Quick start (web dev) + +```bash +cd apps/frontend +cp .env.example .env # point VITE_API_URL to your backend +pnpm install +pnpm dev # http://localhost:1420 +``` + +## Desktop build (Tauri v2) + +Prerequisites: Rust toolchain (`rustup`) and the +[Tauri prerequisites](https://v2.tauri.app/start/prerequisites/) for your OS. + +```bash +# First time only: generate the bundle icons from any source PNG +pnpm tauri icon path/to/logo.png + +# Dev (hot reload + native window) +pnpm tauri dev + +# Production bundle (.dmg / .app on macOS, .msi on Windows, .deb/.AppImage on Linux) +pnpm tauri build +``` + +## Project layout + +``` +apps/frontend/ +├── src/ +│ ├── components/ Button / Input / Card / ProtectedRoute +│ ├── context/ AuthContext (React) +│ ├── lib/ +│ │ ├── api.ts fetch wrapper + typed endpoints + auto-refresh +│ │ └── storage.ts Tauri Store ↔ localStorage fallback +│ ├── pages/ Login / Register / Dashboard / PairRobot +│ ├── styles/ Tailwind entry +│ ├── App.tsx Router +│ └── main.tsx Entry point +└── src-tauri/ Tauri v2 Rust wrapper + ├── Cargo.toml + ├── tauri.conf.json + ├── capabilities/ + └── src/{main.rs,lib.rs} +``` + +## Backend API used + +| Flow | Endpoint | Notes | +| -------- | ---------------------------- | ---------------------------------- | +| Register | `POST /api/auth/register` | Creates user + home | +| Login | `POST /api/auth/login` | | +| Refresh | `POST /api/auth/refresh` | Called transparently on 401 | +| Me | `GET /api/auth/me` | | +| Devices | `GET /api/devices` | Dashboard | +| Pair | `POST /api/pairing/confirm` | `{ code }` — 6-digit from robot UI | diff --git a/apps/frontend/index.html b/apps/frontend/index.html new file mode 100644 index 0000000..e306f6d --- /dev/null +++ b/apps/frontend/index.html @@ -0,0 +1,12 @@ + + + + + + Ti-Pote + + +
+ + + diff --git a/apps/frontend/package.json b/apps/frontend/package.json new file mode 100644 index 0000000..3249f76 --- /dev/null +++ b/apps/frontend/package.json @@ -0,0 +1,32 @@ +{ + "name": "@ti-pote/frontend", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "preview": "vite preview", + "lint": "eslint src --ext ts,tsx --max-warnings 0", + "tauri": "tauri" + }, + "dependencies": { + "@tauri-apps/api": "^2.0.0", + "@tauri-apps/plugin-store": "^2.0.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^6.26.0", + "zustand": "^4.5.5" + }, + "devDependencies": { + "@tauri-apps/cli": "^2.0.0", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.41", + "tailwindcss": "^3.4.10", + "typescript": "^5.5.4", + "vite": "^5.4.2" + } +} diff --git a/apps/frontend/postcss.config.js b/apps/frontend/postcss.config.js new file mode 100644 index 0000000..2aa7205 --- /dev/null +++ b/apps/frontend/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/apps/frontend/src-tauri/.gitignore b/apps/frontend/src-tauri/.gitignore new file mode 100644 index 0000000..1b03424 --- /dev/null +++ b/apps/frontend/src-tauri/.gitignore @@ -0,0 +1,6 @@ +# Generated by Cargo +target/ +Cargo.lock + +# Generated by Tauri +gen/schemas/ diff --git a/apps/frontend/src-tauri/Cargo.toml b/apps/frontend/src-tauri/Cargo.toml new file mode 100644 index 0000000..9650bbf --- /dev/null +++ b/apps/frontend/src-tauri/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "ti-pote-desktop" +version = "0.0.1" +description = "Ti-Pote desktop companion app" +authors = ["Arthur"] +edition = "2021" +rust-version = "1.77" + +[lib] +name = "ti_pote_desktop_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = [] } +tauri-plugin-store = "2" +serde = { version = "1", features = ["derive"] } +serde_json = "1" + +[features] +# This feature is used for production builds or when a dev server is not specified, +# DO NOT REMOVE!! +custom-protocol = ["tauri/custom-protocol"] diff --git a/apps/frontend/src-tauri/build.rs b/apps/frontend/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/apps/frontend/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/apps/frontend/src-tauri/capabilities/default.json b/apps/frontend/src-tauri/capabilities/default.json new file mode 100644 index 0000000..b9fc682 --- /dev/null +++ b/apps/frontend/src-tauri/capabilities/default.json @@ -0,0 +1,10 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "Default permissions for the main window", + "windows": ["main"], + "permissions": [ + "core:default", + "store:default" + ] +} diff --git a/apps/frontend/src-tauri/icons/128x128.png b/apps/frontend/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..53606dbd580b1b29800e7171672e4499f4b4459e GIT binary patch literal 5498 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 Xa_}eGtyzzMs(`w(wo-$FW%&O9N2ZT` literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/128x128@2x.png b/apps/frontend/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8827f9b7e527099616e35dbe51b9e55905ac99 GIT binary patch literal 11315 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/32x32.png b/apps/frontend/src-tauri/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..ab7f0d82b9468d0309249e7dc59a7d43032a3c2b GIT binary patch literal 1312 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/Square107x107Logo.png b/apps/frontend/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ba34e791aec2592fce69d7640e795ed949c11815 GIT binary patch literal 5231 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/Square150x150Logo.png b/apps/frontend/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..75394d179c763a98b6082875fc6c7e07585912c4 GIT binary patch literal 7167 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/Square284x284Logo.png b/apps/frontend/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a0dcb03e655c1bd80c279015f086f66756dc5c73 GIT binary patch literal 14378 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

_=!)cXZVQTiX82vP&s9RVSGY!G?fm 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 mx#+e(RPz7np#QYBIQ|3onJJUzMi_?x0000( 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/Square44x44Logo.png b/apps/frontend/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ae45b6f89944fd99ed02c511e7c5ca6980aa415a GIT binary patch literal 1944 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/Square89x89Logo.png b/apps/frontend/src-tauri/icons/Square89x89Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8b3d51b2d2fa8405a75d9939b609d037abf6a652 GIT binary patch literal 4189 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 + + + + \ No newline at end of file diff --git a/apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3e7b56b56999424c0d84da7fd2accd37832a2ebc GIT binary patch literal 2094 zcmV+}2+{Y6P)SqV_nyb^dw;*PHvR`L`vQmyAkN<<=X_&HmxZ77It#M9pYF5Ky4;%UH8JbcJAP}cQ^Pk!H)nk6;AYL4^aaW7)TzykV!!LRsP)Xc^(Of4c zMo52>R@5bjI#OUb8(`-RDXi~Ipyy}~>)ss2qB?;R*vS3**kETcIp%xPay>0vUt6=>(uJ_x ze+&gKZOwge$fr-~`rxs$70VFla6gQCLH0ACPeWJ`t$EvhyN9rpBhiBN#cQjPZcY)2tBOf_^AebElJMojNywt1u8KZ$9pCj|B zThf>iZ4GfqfzMYgVT?L5dsg$(xWLI=Xh6D@JLu^F)xEJ?%93EPQ_#s(_UOJZ;$ zhZAF&KuT%J#fwj-AG!VO>g|_$%kl}1LhQsO5uZ(nHNXH03zTygu7ovxbLEcZ^;+v= zNY>esMCa*KBkl2x53eZOu{n%#6jDMc_5n5_J2*&!;(>(y7ujA5*j z+DVje!@44SuVocm#)_7h{`zdr%t4}9E`eU)QoOL4aY{Xb3BiIQh(NtPGY|%lp?6(+ zD9Gz5{-eR3p7d)9qOdS0v$d_j`b!eX`Wk;c;^ALo8Vy!hViap@f&g?i34EtBhNhUn zOZ_h1KCKax=LTfn@sp)GNt^0kD)7{rI;>P9xUN2fZCA!{^&(+5>_qv6KhqxYl@@_* zSH-ZlDT@{UFt&8XaK|!%Oi-#iuObKr;F6ddWPopzRFC%`#ZBw)#<~rgVflG{tHU8-~AD8ymbQ(etOW1Z>F5g^GQ)-b7E7W_5g93VR&o;d-r{e zRI1JN16*pz$UJ29E=Tx;9R~jW`}=UL{}6^o)3~UUfhrm%YwHtSjWU2S-@;!``1rx< zm3aSeyOC9t|Bk`GXWZ^fzD=0tk`}|$v+yI=HWG5ptC}eG4&t9qc z5pWcZ?dVIM>;+yRjUg!@n>}u1->RM{TmMle0(FS;`%fa4pivJS| zM>5pp=e5b^c^%S7+*ff(W`}R3FC9sN%Nqq&w^;c5P(byRHuKdsPec)cCHu?&c=*$? zP@-R3B(bhtgvm~v&0?@NvIOcBu^+tzdfR6%KB7-{@ameAC=G-cUP6@2!HlB(pvW8q zQZW$I7n&O95u0qvr`@ydk5lFwB^r(I97%vR!{a%R=&JV=QEx7$&!~%7*O!iosF(S;xijMjL4W*u3UR1H}9j4m4l zpARs-F140S?lL!8YaAjXZ__zfON+cod2m}>2g(M)2ONApAce4*on~^ExzSosP&)d@ zp~NwqaWR=EcATsFwu?^XfBj%zc_8SBiBD+wfCH8Vrq`LBW^y--Fe1EV74B$WPL8K& zy_4xItsi)-5mkp>!7GpN#k>Es=JqWSo<4N0vT?X~Zfd`9M#d*J4SyZou1=g@ zWu(FEbYL8$YA(V~%s#*-#6QF(i~FYTx%OV~z&m@W6?E{?KCk>J7oCxjM!uNbwEZCw zM>o^!%uZL=qq#$(=9YYbO(?tRnn#TWcE4%k8*BZ_Lv_)qrM%&`ReV0c^txfE4Y{k& zFX>8>=P=4qh@IH@0AD3EP(IVjXJmKp6lWeW)#PF)-tawfrVq@MF2;pFi?{&d{{_T< Y0gk=3o?g;~L;wH)07*qoM6N<$f;+(hga7~l literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..40df6391cfa6984e4d314471cc2203cd632d34c0 GIT binary patch literal 7988 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�sjJaY3gF%cwzmLxq2k_sriC!g{)AaH!-vtmFkR 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 HO+x+$9XA!F literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/apps/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd9584aac87c2678af0aebb1abc0f65d00b8592 GIT binary patch literal 1712 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png b/apps/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..918e3a746915614d5f73af7557f146b39d7a7c35 GIT binary patch literal 5226 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png b/apps/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5096c307ff7afa567e78c3ed6f999d390cc2de7b GIT binary patch literal 4700 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/apps/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c87bb15c8618a27cb0d52470956e1a8220a35d GIT binary patch literal 3539 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 JS~-i*{{t}_Tvz}A literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..e9a0fcec916223cf52df666d2206a3dab1fb49c9 GIT binary patch literal 16416 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/apps/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..ec00bd9fd0f8caf493b14789a1559f490c7fb770 GIT binary patch literal 5475 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 Z`F}Oy{1G&Ohn)Zb002ovPDHLkV1ht2pmhKM literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/apps/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd79a7c41726b1d1d7ba69ae73be0c3cc65dee6 GIT binary patch literal 9720 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/apps/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..238cfa2874360c67846f73d1a8e2e07933e2f1fe GIT binary patch literal 21685 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/android/values/ic_launcher_background.xml b/apps/frontend/src-tauri/icons/android/values/ic_launcher_background.xml new file mode 100644 index 0000000..ea9c223 --- /dev/null +++ b/apps/frontend/src-tauri/icons/android/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #fff + \ No newline at end of file diff --git a/apps/frontend/src-tauri/icons/icon.icns b/apps/frontend/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..c36956832192534a3021e8fa65377555cd13699c GIT binary patch literal 88713 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/ios/AppIcon-29x29@1x.png b/apps/frontend/src-tauri/icons/ios/AppIcon-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ae51c153ca6ae92cecbe3e29c816789b0a447886 GIT binary patch literal 1209 zcmV;q1V;ObP)P(e`$>brlz2SKTqXCFl0 zEPYZi3PO!&Rm3_fLenG~lT0*oJ##MGwe~ranM^a6Cc2rNGkezF>)Y$H*ZQI~4bbp| z5XzGHzecxy!Jq-bS^`+E1-MYE>&t5%YMvGlJ2�s;4nKnZUcV2QYVe3tz0ZkhKK@ z-Gf5&v=TU3v@v&A3P;8i+Bm9xg3teK;q3gTZegOEjv+V3_8)U5z@TmI=I>t z$OZyoFDRh~B>Too;l0v2K73>xrw=*CVq+;=c>l$9?OG|3(Jpcs2T5D?8oE6^LU^cP z;mh>^w%mOcpP}gmDA$^(!G`6#`nxlEaa&eJps#&f(QhrMMY>VObUup&Ssv;eEp4k~ zzxyOtLeQ-LI!SVme7d-?g?efN&)?F(>oZv>7IO^QrEDPs8W#u=pLaKP8Wz2ygQ4#_ zpFCny5c6Y6RO=0VwbqKl#1Bpyjv>306-9u9haMqgSqUvS#Pqk3;B1Jha>t)4g+kFCXUAgd4(i> zX$Bp|{B~*Xkd_&eQ!Oy-hXJcWfIe9;ZUYw{bZ|VavC>j_@oN_=%?OAArjo!rGY+Pc z8oxIbULyIX2Xg>@vzD?Ow@B;RqYlPbe}i4P7n|QN;QR>(6*A9eIlZ4f?!YZwfy&W;CeOs zePGx)qh>E{;OC};V_As=-PJhB;+Sc?aAy+F+zwn?0p9qj2`QuNrQ-td^4&>1c^LR; z5qSHTCKB)5VSq26kHhw2!(}=y|ek~sJK9Cl1mF?O5Bj$ zy`XAXdh>NSXn@rAT=&FhJRwX@>UOq^J!UUVZH=;*v#~9oY7MGNz50WSU# zlAEzhj~xQa8!}W3K3NU1+|W2xlz6xxP0W;tV#T57yIiBkQUiE@(Z`SfXtOWWdvq`F zOHj~$AVmvh-(+Q)cBJSxraQ*1LF5t6@+4WEwuW~gHA)L(MQmX^h76*EPN8R4X1nD5 zTV2#MRi`=X_=I{_;BMm8ok$o0)TQ2hXb4l0n6(8&{+QD+#n2;k=uw)uHeD&w%ZE-` z5L~ScDAPpgqzs8-PNOI`B2Je5{IMRN^p$I_(SNdFcgo;W)yI7wZ@^a$GVlziVT!RI z4$)zQE-Ik~8F;wzL=Hy}5F4ZtrJ47By5i#8{NFmv<|E#_U*-}Q4Ym-~GCnwU5RV_} z;=S#Qey!r;%~HhLm_&)#6F1F?XmHYS4B4e~C(_2kHje1`zYKSeQCQ&sKD497b?g5Z X1ur(GM$xQg00000NkvXXu0mjfMF2Q| literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/ios/AppIcon-29x29@2x-1.png b/apps/frontend/src-tauri/icons/ios/AppIcon-29x29@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8c3d4c8fabcf06c67a7aa978ec72eb8fb9eb4281 GIT binary patch literal 2573 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 N002ovPDHLkV1ly&9!CHG literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/ios/AppIcon-40x40@2x.png b/apps/frontend/src-tauri/icons/ios/AppIcon-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..019101aebb8ba8b100da02cba40eb56322e0d268 GIT binary patch literal 3695 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 N002ovPDHLkV1ly&9!CHG literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/ios/AppIcon-40x40@3x.png b/apps/frontend/src-tauri/icons/ios/AppIcon-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..3e74ee7b945131156f43e631f43a00f8a253557c GIT binary patch literal 5703 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/ios/AppIcon-76x76@2x.png b/apps/frontend/src-tauri/icons/ios/AppIcon-76x76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..88956f375a98bf7b2ae146bafaed8da86b81338b GIT binary patch literal 7440 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 literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/apps/frontend/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9166aae6e6d440ca2c989c9c587e9d4c31466f GIT binary patch literal 8064 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 V`2bzWzh)hvEUzwCBV!Tr{{R!)cbfnJ literal 0 HcmV?d00001 diff --git a/apps/frontend/src-tauri/src/lib.rs b/apps/frontend/src-tauri/src/lib.rs new file mode 100644 index 0000000..de33c66 --- /dev/null +++ b/apps/frontend/src-tauri/src/lib.rs @@ -0,0 +1,7 @@ +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_store::Builder::new().build()) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/apps/frontend/src-tauri/src/main.rs b/apps/frontend/src-tauri/src/main.rs new file mode 100644 index 0000000..b6a1e01 --- /dev/null +++ b/apps/frontend/src-tauri/src/main.rs @@ -0,0 +1,6 @@ +// Prevents additional console window on Windows in release +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + ti_pote_desktop_lib::run() +} diff --git a/apps/frontend/src-tauri/tauri.conf.json b/apps/frontend/src-tauri/tauri.conf.json new file mode 100644 index 0000000..db4d753 --- /dev/null +++ b/apps/frontend/src-tauri/tauri.conf.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Ti-Pote", + "version": "0.0.1", + "identifier": "com.tipote.desktop", + "build": { + "beforeDevCommand": "pnpm dev", + "devUrl": "http://localhost:1420", + "beforeBuildCommand": "pnpm build", + "frontendDist": "../dist" + }, + "app": { + "windows": [ + { + "title": "Ti-Pote", + "width": 1100, + "height": 760, + "minWidth": 900, + "minHeight": 600, + "resizable": true, + "fullscreen": false + } + ], + "security": { + "csp": null + } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + }, + "plugins": {} +} diff --git a/apps/frontend/src/App.tsx b/apps/frontend/src/App.tsx new file mode 100644 index 0000000..7737f29 --- /dev/null +++ b/apps/frontend/src/App.tsx @@ -0,0 +1,52 @@ +import { Navigate, Route, Routes } from 'react-router-dom'; +import { ProtectedRoute } from './components/ProtectedRoute'; +import { useAuth } from './context/AuthContext'; +import { DashboardPage } from './pages/DashboardPage'; +import { LoginPage } from './pages/LoginPage'; +import { PairRobotPage } from './pages/PairRobotPage'; +import { RegisterPage } from './pages/RegisterPage'; + +/** + * Router. + * + * - Public routes (login/register) auto-redirect to "/" when the user + * is already authenticated — avoids the annoying loop where a logged-in + * user clicks back and lands on a login form. + * - Protected routes are gated by . + */ +export function App() { + const { status } = useAuth(); + const authed = status === 'authenticated'; + + return ( + + : } + /> + : } + /> + + + + + } + /> + + + + } + /> + + } /> + + ); +} diff --git a/apps/frontend/src/components/ProtectedRoute.tsx b/apps/frontend/src/components/ProtectedRoute.tsx new file mode 100644 index 0000000..90bf2d0 --- /dev/null +++ b/apps/frontend/src/components/ProtectedRoute.tsx @@ -0,0 +1,31 @@ +import type { ReactNode } from 'react'; +import { Navigate, useLocation } from 'react-router-dom'; +import { useAuth } from '../context/AuthContext'; + +/** + * Gate a subtree behind an authenticated user. + * + * - While the auth state is still bootstrapping (refreshing the session + * from storage), render a neutral splash. + * - If the user is unauthenticated, redirect to /login while keeping + * the original destination in location state so we can bounce back + * after login. + */ +export function ProtectedRoute({ children }: { children: ReactNode }) { + const { status } = useAuth(); + const location = useLocation(); + + if (status === 'loading') { + return ( +
    +
    +
    + ); + } + + if (status === 'unauthenticated') { + return ; + } + + return <>{children}; +} diff --git a/apps/frontend/src/components/ui.tsx b/apps/frontend/src/components/ui.tsx new file mode 100644 index 0000000..2ec1868 --- /dev/null +++ b/apps/frontend/src/components/ui.tsx @@ -0,0 +1,148 @@ +import type { ButtonHTMLAttributes, InputHTMLAttributes, ReactNode } from 'react'; + +// ─── Button ───────────────────────────────────────────────────────── + +type Variant = 'primary' | 'secondary' | 'ghost' | 'danger'; + +interface ButtonProps extends ButtonHTMLAttributes { + variant?: Variant; + loading?: boolean; +} + +const VARIANT_CLASSES: Record = { + primary: + 'bg-brand-500 hover:bg-brand-400 active:bg-brand-600 text-white shadow-lg shadow-brand-500/30', + secondary: 'bg-slate-800 hover:bg-slate-700 text-slate-100 border border-slate-700', + ghost: 'bg-transparent hover:bg-slate-800/60 text-slate-300', + danger: 'bg-red-600 hover:bg-red-500 text-white', +}; + +export function Button({ + variant = 'primary', + loading = false, + disabled, + className = '', + children, + ...rest +}: ButtonProps) { + return ( + + ); +} + +// ─── Input ────────────────────────────────────────────────────────── + +interface InputProps extends InputHTMLAttributes { + label?: string; + error?: string | null; +} + +export function Input({ label, error, className = '', id, ...rest }: InputProps) { + const inputId = id || rest.name; + return ( +
    + {label && ( + + )} + + {error &&

    {error}

    } +
    + ); +} + +// ─── Card ─────────────────────────────────────────────────────────── + +export function Card({ + children, + className = '', +}: { + children: ReactNode; + className?: string; +}) { + return ( +
    + {children} +
    + ); +} + +// ─── StatusBadge ─────────────────────────────────────────────────── + +export function StatusBadge({ status }: { status: 'online' | 'offline' | 'updating' }) { + const styles = { + online: 'bg-emerald-500/10 text-emerald-400 border-emerald-500/30', + offline: 'bg-slate-500/10 text-slate-400 border-slate-500/30', + updating: 'bg-amber-500/10 text-amber-400 border-amber-500/30', + }[status]; + + const dot = { + online: 'bg-emerald-400 shadow-emerald-400/60', + offline: 'bg-slate-500', + updating: 'bg-amber-400 shadow-amber-400/60 animate-pulse', + }[status]; + + return ( + + + {status} + + ); +} diff --git a/apps/frontend/src/context/AuthContext.tsx b/apps/frontend/src/context/AuthContext.tsx new file mode 100644 index 0000000..6874673 --- /dev/null +++ b/apps/frontend/src/context/AuthContext.tsx @@ -0,0 +1,98 @@ +import { + createContext, + useCallback, + useContext, + useEffect, + useMemo, + useState, + type ReactNode, +} from 'react'; +import { + api, + hasStoredSession, + type LoginInput, + type Me, + type RegisterInput, +} from '../lib/api'; + +type AuthStatus = 'loading' | 'authenticated' | 'unauthenticated'; + +interface AuthContextValue { + status: AuthStatus; + user: Me | null; + login: (input: LoginInput) => Promise; + register: (input: RegisterInput) => Promise; + logout: () => Promise; + refreshMe: () => Promise; +} + +const AuthContext = createContext(null); + +export function AuthProvider({ children }: { children: ReactNode }) { + const [status, setStatus] = useState('loading'); + const [user, setUser] = useState(null); + + // Bootstrap: if we have a refresh token on disk, try /auth/me + useEffect(() => { + let cancelled = false; + + (async () => { + if (!(await hasStoredSession())) { + if (!cancelled) setStatus('unauthenticated'); + return; + } + try { + const me = await api.me(); + if (cancelled) return; + setUser(me); + setStatus('authenticated'); + } catch { + if (cancelled) return; + setUser(null); + setStatus('unauthenticated'); + } + })(); + + return () => { + cancelled = true; + }; + }, []); + + const login = useCallback(async (input: LoginInput) => { + await api.login(input); + const me = await api.me(); + setUser(me); + setStatus('authenticated'); + }, []); + + const register = useCallback(async (input: RegisterInput) => { + await api.register(input); + const me = await api.me(); + setUser(me); + setStatus('authenticated'); + }, []); + + const logout = useCallback(async () => { + await api.logout(); + setUser(null); + setStatus('unauthenticated'); + }, []); + + const refreshMe = useCallback(async () => { + const me = await api.me(); + setUser(me); + }, []); + + const value = useMemo( + () => ({ status, user, login, register, logout, refreshMe }), + [status, user, login, register, logout, refreshMe], + ); + + return {children}; +} + +export function useAuth(): AuthContextValue { + const ctx = useContext(AuthContext); + if (!ctx) throw new Error('useAuth must be used inside '); + return ctx; +} diff --git a/apps/frontend/src/lib/api.ts b/apps/frontend/src/lib/api.ts new file mode 100644 index 0000000..d6d893d --- /dev/null +++ b/apps/frontend/src/lib/api.ts @@ -0,0 +1,233 @@ +/** + * Thin typed wrapper around fetch with: + * - base URL from VITE_API_URL (default http://localhost:3000) + * - automatic `Authorization: Bearer ` injection + * - transparent refresh-token rotation on 401 + * - typed error class + * + * Token persistence is delegated to `lib/storage.ts` (Tauri store in + * desktop builds, localStorage in pure browser dev). + */ + +import { storage } from './storage'; + +const BASE_URL = + (import.meta.env.VITE_API_URL as string | undefined)?.replace(/\/$/, '') || + 'http://localhost:3000'; + +const API_PREFIX = '/api'; + +const ACCESS_KEY = 'auth.accessToken'; +const REFRESH_KEY = 'auth.refreshToken'; + +// ─── Types ────────────────────────────────────────────────────────── + +export interface Tokens { + accessToken: string; + refreshToken: string; +} + +export interface Me { + id: string; + email: string; + homeId: string; + type: 'user'; +} + +export interface RegisterInput { + email: string; + password: string; + displayName: string; + homeName: string; +} + +export interface LoginInput { + email: string; + password: string; +} + +export interface DeviceSummary { + id: string; + homeId: string; + name: string; + status: 'online' | 'offline' | 'updating'; + firmwareVersion: string | null; + lastSeenAt: string | null; + createdAt: string; + updatedAt: string; +} + +export interface PairingConfirmResult { + deviceId: string; + deviceName: string; +} + +// ─── Error ────────────────────────────────────────────────────────── + +export class ApiError extends Error { + constructor( + public readonly status: number, + message: string, + public readonly body?: unknown, + ) { + super(message); + this.name = 'ApiError'; + } +} + +// ─── Token helpers ────────────────────────────────────────────────── + +async function getAccessToken(): Promise { + return storage.get(ACCESS_KEY); +} + +async function getRefreshToken(): Promise { + return storage.get(REFRESH_KEY); +} + +export async function saveTokens(tokens: Tokens): Promise { + await storage.set(ACCESS_KEY, tokens.accessToken); + await storage.set(REFRESH_KEY, tokens.refreshToken); +} + +export async function clearTokens(): Promise { + await storage.delete(ACCESS_KEY); + await storage.delete(REFRESH_KEY); +} + +export async function hasStoredSession(): Promise { + const [a, r] = await Promise.all([getAccessToken(), getRefreshToken()]); + return Boolean(a && r); +} + +// ─── Core fetch with refresh-on-401 ───────────────────────────────── + +interface RequestOptions { + method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; + body?: unknown; + auth?: boolean; // default true + // Internal: prevents infinite refresh loops + _retried?: boolean; +} + +async function request(path: string, opts: RequestOptions = {}): Promise { + const { method = 'GET', body, auth = true, _retried = false } = opts; + + const headers: Record = { + 'Content-Type': 'application/json', + Accept: 'application/json', + }; + + if (auth) { + const token = await getAccessToken(); + if (token) headers.Authorization = `Bearer ${token}`; + } + + const res = await fetch(`${BASE_URL}${API_PREFIX}${path}`, { + method, + headers, + body: body !== undefined ? JSON.stringify(body) : undefined, + }); + + // Attempt transparent refresh on 401 (once) + if (res.status === 401 && auth && !_retried) { + const refreshed = await tryRefresh(); + if (refreshed) { + return request(path, { ...opts, _retried: true }); + } + await clearTokens(); + } + + const isJson = res.headers.get('content-type')?.includes('application/json'); + const payload: unknown = isJson ? await res.json().catch(() => null) : null; + + if (!res.ok) { + const message = + (payload && + typeof payload === 'object' && + 'message' in payload && + String((payload as { message: unknown }).message)) || + res.statusText || + `HTTP ${res.status}`; + throw new ApiError(res.status, message, payload); + } + + return payload as T; +} + +let refreshInFlight: Promise | null = null; + +async function tryRefresh(): Promise { + if (refreshInFlight) return refreshInFlight; + + refreshInFlight = (async () => { + const refreshToken = await getRefreshToken(); + if (!refreshToken) return false; + try { + const res = await fetch(`${BASE_URL}${API_PREFIX}/auth/refresh`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ refreshToken }), + }); + if (!res.ok) return false; + const tokens = (await res.json()) as Tokens; + await saveTokens(tokens); + return true; + } catch { + return false; + } finally { + // Release slot after microtask so concurrent callers can await + setTimeout(() => { + refreshInFlight = null; + }, 0); + } + })(); + + return refreshInFlight; +} + +// ─── Typed endpoint wrappers ──────────────────────────────────────── + +export const api = { + // Auth + async register(input: RegisterInput): Promise { + const tokens = await request('/auth/register', { + method: 'POST', + body: input, + auth: false, + }); + await saveTokens(tokens); + return tokens; + }, + + async login(input: LoginInput): Promise { + const tokens = await request('/auth/login', { + method: 'POST', + body: input, + auth: false, + }); + await saveTokens(tokens); + return tokens; + }, + + async me(): Promise { + return request('/auth/me'); + }, + + async logout(): Promise { + await clearTokens(); + }, + + // Devices + async listDevices(): Promise { + return request('/devices'); + }, + + // Pairing + async confirmPairing(code: string): Promise { + return request('/pairing/confirm', { + method: 'POST', + body: { code }, + }); + }, +}; diff --git a/apps/frontend/src/lib/storage.ts b/apps/frontend/src/lib/storage.ts new file mode 100644 index 0000000..d6ab005 --- /dev/null +++ b/apps/frontend/src/lib/storage.ts @@ -0,0 +1,100 @@ +/** + * Persistent key-value storage. + * + * In a Tauri desktop build we prefer the `@tauri-apps/plugin-store` plugin + * (encrypted, per-app location). In a plain browser dev build we fall back + * to `localStorage`. The same async API is exposed in both cases so callers + * never care which backend they are talking to. + */ + +type StorageBackend = { + get(key: string): Promise; + set(key: string, value: unknown): Promise; + delete(key: string): Promise; + clear(): Promise; +}; + +let backendPromise: Promise | null = null; + +function isTauri(): boolean { + return ( + typeof window !== 'undefined' && + // Tauri v2 sets these globals on window at runtime + ('__TAURI_INTERNALS__' in window || '__TAURI__' in window) + ); +} + +async function createBackend(): Promise { + if (isTauri()) { + try { + const { Store } = await import('@tauri-apps/plugin-store'); + const store = await Store.load('ti-pote.json'); + return { + async get(key: string) { + const value = await store.get(key); + return value ?? null; + }, + async set(key, value) { + await store.set(key, value); + await store.save(); + }, + async delete(key) { + await store.delete(key); + await store.save(); + }, + async clear() { + await store.clear(); + await store.save(); + }, + }; + } catch (err) { + console.warn('[storage] Tauri store unavailable, falling back to localStorage', err); + } + } + + // Browser fallback + return { + async get(key: string) { + const raw = localStorage.getItem(key); + if (raw == null) return null; + try { + return JSON.parse(raw) as T; + } catch { + return null; + } + }, + async set(key, value) { + localStorage.setItem(key, JSON.stringify(value)); + }, + async delete(key) { + localStorage.removeItem(key); + }, + async clear() { + localStorage.clear(); + }, + }; +} + +function getBackend(): Promise { + if (!backendPromise) backendPromise = createBackend(); + return backendPromise; +} + +export const storage = { + async get(key: string): Promise { + const b = await getBackend(); + return b.get(key); + }, + async set(key: string, value: unknown): Promise { + const b = await getBackend(); + return b.set(key, value); + }, + async delete(key: string): Promise { + const b = await getBackend(); + return b.delete(key); + }, + async clear(): Promise { + const b = await getBackend(); + return b.clear(); + }, +}; diff --git a/apps/frontend/src/main.tsx b/apps/frontend/src/main.tsx new file mode 100644 index 0000000..3359db9 --- /dev/null +++ b/apps/frontend/src/main.tsx @@ -0,0 +1,16 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import { BrowserRouter } from 'react-router-dom'; +import { App } from './App'; +import { AuthProvider } from './context/AuthContext'; +import './styles/index.css'; + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + + + + + , +); diff --git a/apps/frontend/src/pages/DashboardPage.tsx b/apps/frontend/src/pages/DashboardPage.tsx new file mode 100644 index 0000000..67acaf8 --- /dev/null +++ b/apps/frontend/src/pages/DashboardPage.tsx @@ -0,0 +1,118 @@ +import { useEffect, useState } from 'react'; +import { Link } from 'react-router-dom'; +import { Button, Card, StatusBadge } from '../components/ui'; +import { useAuth } from '../context/AuthContext'; +import { api, ApiError, type DeviceSummary } from '../lib/api'; + +export function DashboardPage() { + const { user, logout } = useAuth(); + const [devices, setDevices] = useState(null); + const [error, setError] = useState(null); + const [loading, setLoading] = useState(true); + + async function fetchDevices() { + setLoading(true); + setError(null); + try { + const list = await api.listDevices(); + setDevices(list); + } catch (err) { + setError(err instanceof ApiError ? err.message : 'Erreur réseau'); + setDevices([]); + } finally { + setLoading(false); + } + } + + useEffect(() => { + void fetchDevices(); + }, []); + + return ( +
    + {/* ─ Header ─ */} +
    +
    +

    Tableau de bord

    +

    + Bonjour{user ? `, ${user.email.split('@')[0]}` : ''} 👋 +

    +
    + +
    + + {/* ─ Actions ─ */} +
    +

    Tes robots

    +
    + + + + +
    +
    + + {/* ─ Device list ─ */} + {loading && ( + Chargement… + )} + + {!loading && error && ( + + {error} + + )} + + {!loading && !error && devices && devices.length === 0 && ( + +
    + 🤖 +
    +
    +

    Aucun robot associé

    +

    + Allume ton Ti-Pote puis associe-le avec le code qui s'affichera. +

    +
    + + + +
    + )} + + {!loading && !error && devices && devices.length > 0 && ( +
    + {devices.map((d) => ( + +
    +
    +

    {d.name}

    +

    + {d.id} +

    +
    + +
    +
    +
    +
    Firmware :
    +
    {d.firmwareVersion || '—'}
    +
    +
    +
    Vu pour la dernière fois :
    +
    + {d.lastSeenAt ? new Date(d.lastSeenAt).toLocaleString() : 'jamais'} +
    +
    +
    +
    + ))} +
    + )} +
    + ); +} diff --git a/apps/frontend/src/pages/LoginPage.tsx b/apps/frontend/src/pages/LoginPage.tsx new file mode 100644 index 0000000..850439f --- /dev/null +++ b/apps/frontend/src/pages/LoginPage.tsx @@ -0,0 +1,97 @@ +import { useState, type FormEvent } from 'react'; +import { Link, useLocation, useNavigate } from 'react-router-dom'; +import { Button, Card, Input } from '../components/ui'; +import { useAuth } from '../context/AuthContext'; +import { ApiError } from '../lib/api'; + +interface LocationState { + from?: { pathname: string }; +} + +export function LoginPage() { + const { login } = useAuth(); + const navigate = useNavigate(); + const location = useLocation(); + const from = (location.state as LocationState | null)?.from?.pathname || '/'; + + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [submitting, setSubmitting] = useState(false); + const [error, setError] = useState(null); + + async function onSubmit(e: FormEvent) { + e.preventDefault(); + setError(null); + setSubmitting(true); + try { + await login({ email, password }); + navigate(from, { replace: true }); + } catch (err) { + if (err instanceof ApiError) { + setError( + err.status === 401 + ? 'Email ou mot de passe incorrect.' + : err.message || 'Erreur de connexion.', + ); + } else { + setError('Impossible de joindre le serveur.'); + } + } finally { + setSubmitting(false); + } + } + + return ( +
    + +
    +
    + 🤖 +
    +

    Bon retour !

    +

    Connecte-toi à ton Ti-Pote

    +
    + +
    + setEmail(e.target.value)} + /> + setPassword(e.target.value)} + /> + + {error && ( +
    + {error} +
    + )} + + +
    + +

    + Pas encore de compte ?{' '} + + Créer un compte + +

    +
    +
    + ); +} diff --git a/apps/frontend/src/pages/PairRobotPage.tsx b/apps/frontend/src/pages/PairRobotPage.tsx new file mode 100644 index 0000000..a801cd3 --- /dev/null +++ b/apps/frontend/src/pages/PairRobotPage.tsx @@ -0,0 +1,193 @@ +import { useMemo, useRef, useState, type ClipboardEvent, type KeyboardEvent } from 'react'; +import { Link, useNavigate } from 'react-router-dom'; +import { Button, Card } from '../components/ui'; +import { api, ApiError } from '../lib/api'; + +const CODE_LENGTH = 6; + +/** + * Pairing flow (user side). + * + * The robot-client calls POST /pairing/request on first boot, displays a + * 6-digit code, and polls GET /pairing/status/:requestId until it sees a + * `confirmed` response. + * + * Here we just collect the 6 digits from the user and POST them to + * /pairing/confirm — the backend then flips the pairing request to + * confirmed and the robot picks up its device credentials on its next poll. + */ +export function PairRobotPage() { + const navigate = useNavigate(); + const [digits, setDigits] = useState(() => + Array.from({ length: CODE_LENGTH }, () => ''), + ); + const [submitting, setSubmitting] = useState(false); + const [error, setError] = useState(null); + const [success, setSuccess] = useState<{ deviceId: string; deviceName: string } | null>( + null, + ); + const inputsRef = useRef<(HTMLInputElement | null)[]>([]); + + const code = useMemo(() => digits.join(''), [digits]); + const isComplete = code.length === CODE_LENGTH && digits.every((d) => /\d/.test(d)); + + function setDigitAt(index: number, value: string) { + const cleaned = value.replace(/\D/g, '').slice(0, 1); + setDigits((prev) => { + const next = [...prev]; + next[index] = cleaned; + return next; + }); + if (cleaned && index < CODE_LENGTH - 1) { + inputsRef.current[index + 1]?.focus(); + } + } + + function onKeyDown(index: number, e: KeyboardEvent) { + if (e.key === 'Backspace' && !digits[index] && index > 0) { + inputsRef.current[index - 1]?.focus(); + } else if (e.key === 'ArrowLeft' && index > 0) { + inputsRef.current[index - 1]?.focus(); + } else if (e.key === 'ArrowRight' && index < CODE_LENGTH - 1) { + inputsRef.current[index + 1]?.focus(); + } else if (e.key === 'Enter' && isComplete) { + void submit(); + } + } + + function onPaste(e: ClipboardEvent) { + const pasted = e.clipboardData.getData('text').replace(/\D/g, '').slice(0, CODE_LENGTH); + if (!pasted) return; + e.preventDefault(); + const next = Array.from({ length: CODE_LENGTH }, (_, i) => pasted[i] ?? ''); + setDigits(next); + const lastFilled = Math.min(pasted.length, CODE_LENGTH) - 1; + inputsRef.current[lastFilled < 0 ? 0 : lastFilled]?.focus(); + } + + async function submit() { + setError(null); + setSubmitting(true); + try { + const result = await api.confirmPairing(code); + setSuccess(result); + } catch (err) { + if (err instanceof ApiError) { + if (err.status === 400) { + setError('Code invalide ou expiré. Vérifie le code affiché sur le robot.'); + } else { + setError(err.message || "Erreur lors de l'association."); + } + } else { + setError('Impossible de joindre le serveur.'); + } + } finally { + setSubmitting(false); + } + } + + // ─── Success screen ───────────────────────────────────────────── + if (success) { + return ( +
    + +
    + ✅ +
    +

    Robot associé !

    +

    + {success.deviceName} fait + maintenant partie de ton foyer. +

    +

    {success.deviceId}

    + +
    + + +
    +
    +
    + ); + } + + // ─── Input screen ─────────────────────────────────────────────── + return ( +
    + +
    +
    + 🔗 +
    +

    Associer un robot

    +

    + Saisis le code à 6 chiffres affiché sur ton Ti-Pote +

    +
    + +
    { + e.preventDefault(); + void submit(); + }} + className="flex flex-col gap-5" + > +
    + {digits.map((d, i) => ( + { + inputsRef.current[i] = el; + }} + inputMode="numeric" + pattern="\d*" + maxLength={1} + value={d} + onChange={(e) => setDigitAt(i, e.target.value)} + onKeyDown={(e) => onKeyDown(i, e)} + onFocus={(e) => e.target.select()} + className="h-14 w-12 rounded-xl border border-slate-700 bg-slate-900/60 text-center text-2xl font-semibold tabular-nums text-slate-100 shadow-inner focus:border-brand-400/60 focus:outline-none focus:ring-2 focus:ring-brand-400/40" + aria-label={`Chiffre ${i + 1}`} + /> + ))} +
    + + {error && ( +
    + {error} +
    + )} + + +
    + +
    + + ← Retour au tableau de bord + +
    + +
    +

    💡 Comment obtenir le code ?

    +

    + Allume ton Ti-Pote. Lors du premier démarrage, il annonce vocalement un code à + 6 chiffres et l'affiche (écran / LED / logs). Ce code n'est valable que 10 minutes. +

    +
    +
    +
    + ); +} diff --git a/apps/frontend/src/pages/RegisterPage.tsx b/apps/frontend/src/pages/RegisterPage.tsx new file mode 100644 index 0000000..b8d0d73 --- /dev/null +++ b/apps/frontend/src/pages/RegisterPage.tsx @@ -0,0 +1,119 @@ +import { useState, type FormEvent } from 'react'; +import { Link, useNavigate } from 'react-router-dom'; +import { Button, Card, Input } from '../components/ui'; +import { useAuth } from '../context/AuthContext'; +import { ApiError } from '../lib/api'; + +export function RegisterPage() { + const { register } = useAuth(); + const navigate = useNavigate(); + + const [displayName, setDisplayName] = useState(''); + const [homeName, setHomeName] = useState(''); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [submitting, setSubmitting] = useState(false); + const [error, setError] = useState(null); + + async function onSubmit(e: FormEvent) { + e.preventDefault(); + setError(null); + + if (password.length < 8) { + setError('Le mot de passe doit faire au moins 8 caractères.'); + return; + } + + setSubmitting(true); + try { + await register({ email, password, displayName, homeName }); + navigate('/', { replace: true }); + } catch (err) { + if (err instanceof ApiError) { + setError( + err.status === 409 + ? 'Cette adresse email est déjà utilisée.' + : err.message || "Erreur lors de l'inscription.", + ); + } else { + setError('Impossible de joindre le serveur.'); + } + } finally { + setSubmitting(false); + } + } + + return ( +
    + +
    +
    + ✨ +
    +

    Crée ton compte

    +

    + Associe un Ti-Pote à ta maison en quelques secondes +

    +
    + +
    + setDisplayName(e.target.value)} + /> + setHomeName(e.target.value)} + /> + setEmail(e.target.value)} + /> + setPassword(e.target.value)} + /> + + {error && ( +
    + {error} +
    + )} + + +
    + +

    + Déjà un compte ?{' '} + + Se connecter + +

    +
    +
    + ); +} diff --git a/apps/frontend/src/styles/index.css b/apps/frontend/src/styles/index.css new file mode 100644 index 0000000..b91dc9c --- /dev/null +++ b/apps/frontend/src/styles/index.css @@ -0,0 +1,15 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + html, + body, + #root { + height: 100%; + } + + body { + @apply bg-gradient-to-br from-slate-950 via-slate-900 to-slate-950 text-slate-100; + } +} diff --git a/apps/frontend/tailwind.config.js b/apps/frontend/tailwind.config.js new file mode 100644 index 0000000..a90d558 --- /dev/null +++ b/apps/frontend/tailwind.config.js @@ -0,0 +1,33 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./index.html', './src/**/*.{ts,tsx}'], + theme: { + extend: { + colors: { + brand: { + 50: '#f0f9ff', + 100: '#e0f2fe', + 200: '#bae6fd', + 300: '#7dd3fc', + 400: '#38bdf8', + 500: '#0ea5e9', + 600: '#0284c7', + 700: '#0369a1', + 800: '#075985', + 900: '#0c4a6e', + }, + }, + fontFamily: { + sans: [ + 'Inter', + '-apple-system', + 'system-ui', + 'Segoe UI', + 'Roboto', + 'sans-serif', + ], + }, + }, + }, + plugins: [], +}; diff --git a/apps/frontend/tsconfig.json b/apps/frontend/tsconfig.json new file mode 100644 index 0000000..3b7d21c --- /dev/null +++ b/apps/frontend/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ES2022", + "useDefineForClassFields": true, + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/apps/frontend/tsconfig.node.json b/apps/frontend/tsconfig.node.json new file mode 100644 index 0000000..97ede7e --- /dev/null +++ b/apps/frontend/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/apps/frontend/vite.config.ts b/apps/frontend/vite.config.ts new file mode 100644 index 0000000..14549a5 --- /dev/null +++ b/apps/frontend/vite.config.ts @@ -0,0 +1,32 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import path from 'node:path'; + +// @ts-expect-error process is provided by Node at config time +const host = process.env.TAURI_DEV_HOST; + +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + }, + // Tauri expects a fixed port and silences console noise + clearScreen: false, + server: { + port: 1420, + strictPort: true, + host: host || false, + hmr: host + ? { + protocol: 'ws', + host, + port: 1421, + } + : undefined, + watch: { + ignored: ['**/src-tauri/**'], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 957e317..20fa950 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -115,19 +115,19 @@ importers: version: 4.0.1 '@typescript-eslint/eslint-plugin': specifier: ^8.57.2 - version: 8.57.2(@typescript-eslint/parser@8.57.2(eslint@10.1.0)(typescript@5.8.3))(eslint@10.1.0)(typescript@5.8.3) + version: 8.57.2(@typescript-eslint/parser@8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.57.2 - version: 8.57.2(eslint@10.1.0)(typescript@5.8.3) + version: 8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3) eslint: specifier: ^10.1.0 - version: 10.1.0 + version: 10.1.0(jiti@1.21.7) eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@10.1.0) + version: 10.1.8(eslint@10.1.0(jiti@1.21.7)) eslint-plugin-prettier: specifier: ^5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.1.0))(eslint@10.1.0)(prettier@3.8.1) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@1.21.7)))(eslint@10.1.0(jiti@1.21.7))(prettier@3.8.1) jest: specifier: ^30.3.0 version: 30.3.0(@types/node@25.5.0)(ts-node@10.9.2(@types/node@25.5.0)(typescript@5.8.3)) @@ -150,18 +150,54 @@ importers: specifier: ^5.8.3 version: 5.8.3 - apps/desktop: + apps/frontend: dependencies: '@tauri-apps/api': - specifier: ^2 + specifier: ^2.0.0 version: 2.10.1 + '@tauri-apps/plugin-store': + specifier: ^2.0.0 + version: 2.4.2 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + react-router-dom: + specifier: ^6.26.0 + version: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + zustand: + specifier: ^4.5.5 + version: 4.5.7(@types/react@18.3.28)(react@18.3.1) devDependencies: '@tauri-apps/cli': - specifier: ^2 + specifier: ^2.0.0 version: 2.10.1 - serve: - specifier: ^14 - version: 14.2.6 + '@types/react': + specifier: ^18.3.3 + version: 18.3.28 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.7(@types/react@18.3.28) + '@vitejs/plugin-react': + specifier: ^4.3.1 + version: 4.7.0(vite@5.4.21(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1)) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.27(postcss@8.5.8) + postcss: + specifier: ^8.4.41 + version: 8.5.8 + tailwindcss: + specifier: ^3.4.10 + version: 3.4.19(tsx@4.21.0) + typescript: + specifier: ^5.5.4 + version: 5.9.3 + vite: + specifier: ^5.4.2 + version: 5.4.21(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1) apps/robot-client: dependencies: @@ -186,13 +222,13 @@ importers: version: 22.19.15 eslint: specifier: ^10.1.0 - version: 10.1.0 + version: 10.1.0(jiti@1.21.7) prettier: specifier: ^3.8.1 version: 3.8.1 tsup: specifier: ^8.5.0 - version: 8.5.1(postcss@8.5.8)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@1.21.7)(postcss@8.5.8)(tsx@4.21.0)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -201,7 +237,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.2.1 - version: 3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0) + version: 3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1) apps/simulator: dependencies: @@ -223,13 +259,13 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)(tsx@4.21.0)) + version: 6.0.1(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(jiti@1.21.7)(terser@5.46.1)(tsx@4.21.0)) typescript: specifier: ~5.9.3 version: 5.9.3 vite: specifier: ^8.0.1 - version: 8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)(tsx@4.21.0) + version: 8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(jiti@1.21.7)(terser@5.46.1)(tsx@4.21.0) packages: @@ -277,6 +313,10 @@ packages: peerDependencies: zod: ^3.23.8 + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@angular-devkit/core@19.2.17': resolution: {integrity: sha512-Ah008x2RJkd0F+NLKqIpA34/vUGwjlprRCkvddjDopAWRzYn6xCkz1Tqwuhn0nR1Dy47wTLKYD999TYl5ONOAQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -467,6 +507,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/runtime@7.29.2': resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} engines: {node: '>=6.9.0'} @@ -510,102 +562,204 @@ packages: '@emnapi/wasi-threads@1.2.0': resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.27.4': resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.27.4': resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.27.4': resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.27.4': resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.27.4': resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.27.4': resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.27.4': resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.27.4': resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.27.4': resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.27.4': resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.27.4': resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.27.4': resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.27.4': resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.27.4': resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.27.4': resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.27.4': resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.27.4': resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} engines: {node: '>=18'} @@ -618,6 +772,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.27.4': resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} engines: {node: '>=18'} @@ -630,6 +790,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.27.4': resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} engines: {node: '>=18'} @@ -642,24 +808,48 @@ packages: cpu: [arm64] os: [openharmony] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.27.4': resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.27.4': resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.27.4': resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.27.4': resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} engines: {node: '>=18'} @@ -1133,6 +1323,18 @@ packages: '@nestjs/platform-socket.io': optional: true + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + '@nuxt/opencollective@0.4.1': resolution: {integrity: sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==} engines: {node: ^14.18.0 || >=16.10.0, npm: '>=5.10.0'} @@ -1152,6 +1354,10 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@remix-run/router@1.23.2': + resolution: {integrity: sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==} + engines: {node: '>=14.0.0'} + '@rolldown/binding-android-arm64@1.0.0-rc.12': resolution: {integrity: sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1247,6 +1453,9 @@ packages: cpu: [x64] os: [win32] + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + '@rolldown/pluginutils@1.0.0-rc.12': resolution: {integrity: sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==} @@ -1628,6 +1837,9 @@ packages: engines: {node: '>= 10'} hasBin: true + '@tauri-apps/plugin-store@2.4.2': + resolution: {integrity: sha512-0ClHS50Oq9HEvLPhNzTNFxbWVOqoAp3dRvtewQBeqfIQ0z5m3JRnOISIn2ZVPCrQC0MyGyhTS9DWhHjpigQE7A==} + '@tokenizer/inflate@0.4.1': resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} engines: {node: '>=18'} @@ -1746,17 +1958,28 @@ packages: '@types/passport@1.0.17': resolution: {integrity: sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg==} + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + '@types/qs@6.15.0': resolution: {integrity: sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/react-dom@18.3.7': + resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} + peerDependencies: + '@types/react': ^18.0.0 + '@types/react-dom@19.2.3': resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: '@types/react': ^19.2.0 + '@types/react@18.3.28': + resolution: {integrity: sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==} + '@types/react@19.2.14': resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} @@ -1952,6 +2175,12 @@ packages: cpu: [x64] os: [win32] + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + '@vitejs/plugin-react@6.0.1': resolution: {integrity: sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2045,9 +2274,6 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - '@zeit/schemas@2.36.0': - resolution: {integrity: sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==} - abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -2115,9 +2341,6 @@ packages: ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -2164,9 +2387,6 @@ packages: append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} - arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -2196,6 +2416,13 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} + autoprefixer@10.4.27: + resolution: {integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -2248,6 +2475,10 @@ packages: resolution: {integrity: sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==} engines: {node: '>= 18'} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -2259,10 +2490,6 @@ packages: resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} engines: {node: '>=18'} - boxen@7.0.0: - resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} - engines: {node: '>=14.16'} - brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -2273,6 +2500,10 @@ packages: resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} engines: {node: 18 || 20 || >=22} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -2307,10 +2538,6 @@ packages: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -2335,6 +2562,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -2343,10 +2574,6 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} - caniuse-lite@1.0.30001781: resolution: {integrity: sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==} @@ -2354,18 +2581,10 @@ packages: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} - chalk-template@0.4.0: - resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} - engines: {node: '>=12'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.0.1: - resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -2377,6 +2596,10 @@ packages: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -2398,10 +2621,6 @@ packages: class-validator@0.15.1: resolution: {integrity: sha512-LqoS80HBBSCVhz/3KloUly0ovokxpdOLR++Al3J3+dHXWt9sTKlKd4eYtoxhxyUjoe5+UcIM+5k9MIxyBWnRTw==} - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -2418,10 +2637,6 @@ packages: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - clipboardy@3.0.0: - resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -2469,14 +2684,6 @@ packages: resolution: {integrity: sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==} engines: {node: '>= 6'} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2491,10 +2698,6 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - content-disposition@0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} - content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -2544,6 +2747,11 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -2591,10 +2799,6 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -2633,10 +2837,16 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff@4.0.4: resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} engines: {node: '>=0.3.1'} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dotenv-expand@12.0.3: resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} engines: {node: '>=12'} @@ -2730,6 +2940,11 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.27.4: resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} engines: {node: '>=18'} @@ -2899,6 +3114,10 @@ packages: fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -2911,6 +3130,9 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -2935,6 +3157,10 @@ packages: resolution: {integrity: sha512-DLkUvGwep3poOV2wpzbHCOnSKGk1LzyXTv+aHFgN2VFl96wnp8YA9YjO2qPzg5PuL8q/SW9Pdi6WTkYOIh995w==} engines: {node: '>=20'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + finalhandler@1.3.2: resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} engines: {node: '>= 0.8'} @@ -2992,6 +3218,9 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -3049,6 +3278,10 @@ packages: get-tsconfig@4.13.7: resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -3180,9 +3413,6 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ioredis@5.10.1: resolution: {integrity: sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==} engines: {node: '>=12.22.0'} @@ -3198,14 +3428,17 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} @@ -3235,14 +3468,14 @@ packages: resolution: {integrity: sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==} engines: {node: '>=16'} + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-port-reachable@4.0.0: - resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} @@ -3266,10 +3499,6 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -3435,6 +3664,10 @@ packages: node-notifier: optional: true + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + jose@6.2.2: resolution: {integrity: sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==} @@ -3670,6 +3903,10 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} @@ -3722,13 +3959,17 @@ packages: merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - mime-db@1.33.0: - resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} - engines: {node: '>= 0.6'} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -3738,10 +3979,6 @@ packages: resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} - mime-types@2.1.18: - resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} - engines: {node: '>= 0.6'} - mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -3817,10 +4054,6 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - negotiator@1.0.0: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} @@ -3896,10 +4129,6 @@ packages: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -3996,9 +4225,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -4007,6 +4233,9 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -4018,9 +4247,6 @@ packages: path-to-regexp@0.1.13: resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} @@ -4087,6 +4313,10 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + pino-abstract-transport@2.0.0: resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} @@ -4127,6 +4357,18 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.1.0: + resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -4145,6 +4387,19 @@ packages: yaml: optional: true + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.5.8: resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} engines: {node: ^10 || ^12 || >=14} @@ -4218,6 +4473,9 @@ packages: quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} @@ -4225,10 +4483,6 @@ packages: resolution: {integrity: sha512-h36JMxKRqrAxVD8201FrCpyeNuUY9Y5zZwujr20fFO77tpUtGa6EZzfKw/3WaiBX95fq7+MpsuMLNdSnORAwSA==} engines: {node: '>=14.18.0'} - range-parser@1.2.0: - resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} - engines: {node: '>= 0.6'} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -4241,9 +4495,10 @@ packages: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} engines: {node: '>= 0.10'} - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 react-dom@19.2.4: resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} @@ -4253,10 +4508,34 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-refresh@0.17.0: + resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} + engines: {node: '>=0.10.0'} + + react-router-dom@6.30.3: + resolution: {integrity: sha512-pxPcv1AczD4vso7G4Z3TKcvlxK7g7TNt3/FNGMhfqyntocvYKj+GCatfigGDjbLozC4baguJ0ReCigoDJXb0ag==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + react-router@6.30.3: + resolution: {integrity: sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + react@19.2.4: resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -4265,6 +4544,10 @@ packages: resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -4284,13 +4567,6 @@ packages: reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - registry-auth-token@3.3.2: - resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} - - registry-url@3.1.0: - resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} - engines: {node: '>=0.10.0'} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -4314,10 +4590,19 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rolldown@1.0.0-rc.12: resolution: {integrity: sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4332,6 +4617,9 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -4348,6 +4636,9 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} @@ -4390,9 +4681,6 @@ packages: resolution: {integrity: sha512-AmH3D9hHPFmnF/oq/rvigfiAouAKyK/TjnrkwZRYSFZxNggJxwvbAbfYrLeuvq7ktUdhuHdVdSjj852Z55R+uA==} engines: {node: '>=16.0.0'} - serve-handler@6.1.7: - resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} - serve-static@1.16.3: resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} engines: {node: '>= 0.8.0'} @@ -4401,11 +4689,6 @@ packages: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} - serve@14.2.6: - resolution: {integrity: sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==} - engines: {node: '>= 14'} - hasBin: true - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -4571,10 +4854,6 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -4603,6 +4882,10 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} @@ -4611,6 +4894,11 @@ packages: resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} engines: {node: ^14.18.0 || >=16.0.0} + tailwindcss@3.4.19: + resolution: {integrity: sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@2.3.2: resolution: {integrity: sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==} engines: {node: '>=6'} @@ -4679,6 +4967,10 @@ packages: resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} engines: {node: '>= 0.4'} + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -4794,10 +5086,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -4925,15 +5213,17 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - update-check@1.5.4: - resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -4965,27 +5255,22 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@7.3.1: - resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} - engines: {node: ^20.19.0 || >=22.12.0} + vite@5.4.21: + resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - jiti: '>=1.21.0' - less: ^4.0.0 + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' lightningcss: ^1.21.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 peerDependenciesMeta: '@types/node': optional: true - jiti: - optional: true less: optional: true lightningcss: @@ -5000,10 +5285,6 @@ packages: optional: true terser: optional: true - tsx: - optional: true - yaml: - optional: true vite@8.0.3: resolution: {integrity: sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==} @@ -5124,10 +5405,6 @@ packages: engines: {node: '>=8'} hasBin: true - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -5237,6 +5514,21 @@ packages: zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} + zustand@4.5.7: + resolution: {integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==} + engines: {node: '>=12.7.0'} + peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0.6' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + snapshots: '@a2a-js/sdk@0.2.5': @@ -5294,6 +5586,8 @@ snapshots: zod: 4.3.6 zod-to-json-schema: 3.25.2(zod@4.3.6) + '@alloc/quick-lru@5.2.0': {} + '@angular-devkit/core@19.2.17(chokidar@4.0.3)': dependencies: ajv: 8.17.1 @@ -5518,6 +5812,16 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/runtime@7.29.2': {} '@babel/template@7.28.6': @@ -5577,87 +5881,156 @@ snapshots: tslib: 2.8.1 optional: true + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.27.4': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm64@0.27.4': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-arm@0.27.4': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/android-x64@0.27.4': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.27.4': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.27.4': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.27.4': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.27.4': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.27.4': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-arm@0.27.4': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-ia32@0.27.4': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-loong64@0.27.4': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.27.4': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.27.4': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.27.4': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-s390x@0.27.4': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/linux-x64@0.27.4': optional: true '@esbuild/netbsd-arm64@0.27.4': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.27.4': optional: true '@esbuild/openbsd-arm64@0.27.4': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.27.4': optional: true '@esbuild/openharmony-arm64@0.27.4': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.27.4': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.27.4': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-ia32@0.27.4': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@esbuild/win32-x64@0.27.4': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.1.0)': + '@eslint-community/eslint-utils@4.9.1(eslint@10.1.0(jiti@1.21.7))': dependencies: - eslint: 10.1.0 + eslint: 10.1.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -6310,6 +6683,18 @@ snapshots: optionalDependencies: '@nestjs/platform-socket.io': 11.1.17(@nestjs/common@11.1.17(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.17)(rxjs@7.8.2) + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + '@nuxt/opencollective@0.4.1': dependencies: consola: 3.4.2 @@ -6323,6 +6708,8 @@ snapshots: '@pkgr/core@0.2.9': {} + '@remix-run/router@1.23.2': {} + '@rolldown/binding-android-arm64@1.0.0-rc.12': optional: true @@ -6370,6 +6757,8 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12': optional: true + '@rolldown/pluginutils@1.0.0-beta.27': {} + '@rolldown/pluginutils@1.0.0-rc.12': {} '@rolldown/pluginutils@1.0.0-rc.7': {} @@ -6598,6 +6987,10 @@ snapshots: '@tauri-apps/cli-win32-ia32-msvc': 2.10.1 '@tauri-apps/cli-win32-x64-msvc': 2.10.1 + '@tauri-apps/plugin-store@2.4.2': + dependencies: + '@tauri-apps/api': 2.10.1 + '@tokenizer/inflate@0.4.1': dependencies: debug: 4.4.3 @@ -6756,14 +7149,25 @@ snapshots: dependencies: '@types/express': 5.0.6 + '@types/prop-types@15.7.15': {} + '@types/qs@6.15.0': {} '@types/range-parser@1.2.7': {} + '@types/react-dom@18.3.7(@types/react@18.3.28)': + dependencies: + '@types/react': 18.3.28 + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: '@types/react': 19.2.14 + '@types/react@18.3.28': + dependencies: + '@types/prop-types': 15.7.15 + csstype: 3.2.3 + '@types/react@19.2.14': dependencies: csstype: 3.2.3 @@ -6802,15 +7206,15 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.57.2(@typescript-eslint/parser@8.57.2(eslint@10.1.0)(typescript@5.8.3))(eslint@10.1.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.57.2(@typescript-eslint/parser@8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.2(eslint@10.1.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.57.2 - '@typescript-eslint/type-utils': 8.57.2(eslint@10.1.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.57.2(eslint@10.1.0)(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/utils': 8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.57.2 - eslint: 10.1.0 + eslint: 10.1.0(jiti@1.21.7) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@5.8.3) @@ -6818,14 +7222,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.57.2(eslint@10.1.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.57.2 '@typescript-eslint/types': 8.57.2 '@typescript-eslint/typescript-estree': 8.57.2(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.57.2 debug: 4.4.3 - eslint: 10.1.0 + eslint: 10.1.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -6848,13 +7252,13 @@ snapshots: dependencies: typescript: 5.8.3 - '@typescript-eslint/type-utils@8.57.2(eslint@10.1.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.57.2 '@typescript-eslint/typescript-estree': 8.57.2(typescript@5.8.3) - '@typescript-eslint/utils': 8.57.2(eslint@10.1.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3) debug: 4.4.3 - eslint: 10.1.0 + eslint: 10.1.0(jiti@1.21.7) ts-api-utils: 2.5.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -6877,13 +7281,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.57.2(eslint@10.1.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.57.2(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@1.21.7)) '@typescript-eslint/scope-manager': 8.57.2 '@typescript-eslint/types': 8.57.2 '@typescript-eslint/typescript-estree': 8.57.2(typescript@5.8.3) - eslint: 10.1.0 + eslint: 10.1.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -6954,10 +7358,22 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vitejs/plugin-react@6.0.1(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)(tsx@4.21.0))': + '@vitejs/plugin-react@4.7.0(vite@5.4.21(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1))': + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@types/babel__core': 7.20.5 + react-refresh: 0.17.0 + vite: 5.4.21(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-react@6.0.1(vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(jiti@1.21.7)(terser@5.46.1)(tsx@4.21.0))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.7 - vite: 8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)(tsx@4.21.0) + vite: 8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(jiti@1.21.7)(terser@5.46.1)(tsx@4.21.0) '@vitest/expect@3.2.4': dependencies: @@ -6967,13 +7383,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0))': + '@vitest/mocker@3.2.4(vite@5.4.21(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 7.3.1(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0) + vite: 5.4.21(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -7081,8 +7497,6 @@ snapshots: '@xtuc/long@4.2.2': {} - '@zeit/schemas@2.36.0': {} - abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -7153,10 +7567,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - ansi-colors@4.1.3: {} ansi-escapes@4.3.2: @@ -7188,8 +7598,6 @@ snapshots: append-field@1.0.0: {} - arch@2.2.0: {} - arg@4.1.3: {} arg@5.0.2: {} @@ -7210,6 +7618,15 @@ snapshots: atomic-sleep@1.0.0: {} + autoprefixer@10.4.27(postcss@8.5.8): + dependencies: + browserslist: 4.28.1 + caniuse-lite: 1.0.30001781 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.8 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 @@ -7281,6 +7698,8 @@ snapshots: node-addon-api: 8.7.0 node-gyp-build: 4.8.4 + binary-extensions@2.3.0: {} + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -7318,17 +7737,6 @@ snapshots: transitivePeerDependencies: - supports-color - boxen@7.0.0: - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.0.1 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -7342,6 +7750,10 @@ snapshots: dependencies: balanced-match: 4.0.4 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.10.11 @@ -7381,8 +7793,6 @@ snapshots: dependencies: streamsearch: 1.1.0 - bytes@3.0.0: {} - bytes@3.1.2: {} cac@6.7.14: {} @@ -7406,12 +7816,12 @@ snapshots: callsites@3.1.0: {} + camelcase-css@2.0.1: {} + camelcase@5.3.1: {} camelcase@6.3.0: {} - camelcase@7.0.1: {} - caniuse-lite@1.0.30001781: {} chai@5.3.3: @@ -7422,23 +7832,29 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 - chalk-template@0.4.0: - dependencies: - chalk: 4.1.2 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.0.1: {} - char-regex@1.0.2: {} chardet@2.1.1: {} check-error@2.1.3: {} + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -7457,8 +7873,6 @@ snapshots: libphonenumber-js: 1.12.40 validator: 13.15.26 - cli-boxes@3.0.0: {} - cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -7473,12 +7887,6 @@ snapshots: cli-width@4.1.0: {} - clipboardy@3.0.0: - dependencies: - arch: 2.2.0 - execa: 5.1.1 - is-wsl: 2.2.0 - cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -7517,22 +7925,6 @@ snapshots: core-util-is: 1.0.3 esprima: 4.0.1 - compressible@2.0.18: - dependencies: - mime-db: 1.54.0 - - compression@1.8.1: - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - concat-map@0.0.1: {} concat-stream@2.0.0: @@ -7546,8 +7938,6 @@ snapshots: consola@3.4.2: {} - content-disposition@0.5.2: {} - content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -7588,6 +7978,8 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cssesc@3.0.0: {} + csstype@3.2.3: {} dateformat@4.6.3: {} @@ -7610,8 +8002,6 @@ snapshots: deep-eql@5.0.2: {} - deep-extend@0.6.0: {} - deep-is@0.1.4: {} deepmerge@4.3.1: {} @@ -7638,8 +8028,12 @@ snapshots: detect-newline@3.1.0: {} + didyoumean@1.2.2: {} + diff@4.0.4: {} + dlv@1.1.3: {} + dotenv-expand@12.0.3: dependencies: dotenv: 16.6.1 @@ -7751,6 +8145,32 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + esbuild@0.27.4: optionalDependencies: '@esbuild/aix-ppc64': 0.27.4 @@ -7790,19 +8210,19 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.1.0): + eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@1.21.7)): dependencies: - eslint: 10.1.0 + eslint: 10.1.0(jiti@1.21.7) - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.1.0))(eslint@10.1.0)(prettier@3.8.1): + eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@1.21.7)))(eslint@10.1.0(jiti@1.21.7))(prettier@3.8.1): dependencies: - eslint: 10.1.0 + eslint: 10.1.0(jiti@1.21.7) prettier: 3.8.1 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: '@types/eslint': 9.6.1 - eslint-config-prettier: 10.1.8(eslint@10.1.0) + eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@1.21.7)) eslint-scope@5.1.1: dependencies: @@ -7820,9 +8240,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.1.0: + eslint@10.1.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@1.21.7)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.3 '@eslint/config-helpers': 0.5.3 @@ -7852,6 +8272,8 @@ snapshots: minimatch: 10.2.4 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 1.21.7 transitivePeerDependencies: - supports-color @@ -8017,6 +8439,14 @@ snapshots: fast-diff@1.3.0: {} + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -8025,6 +8455,10 @@ snapshots: fast-uri@3.1.0: {} + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + fb-watchman@2.0.2: dependencies: bser: 2.1.1 @@ -8050,6 +8484,10 @@ snapshots: transitivePeerDependencies: - supports-color + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + finalhandler@1.3.2: dependencies: debug: 2.6.9 @@ -8136,6 +8574,8 @@ snapshots: forwarded@0.2.0: {} + fraction.js@5.3.4: {} + fresh@0.5.2: {} fresh@2.0.0: {} @@ -8190,6 +8630,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 @@ -8316,8 +8760,6 @@ snapshots: inherits@2.0.4: {} - ini@1.3.8: {} - ioredis@5.10.1: dependencies: '@ioredis/commands': 1.5.1 @@ -8338,9 +8780,15 @@ snapshots: is-arrayish@0.2.1: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-callable@1.2.7: {} - is-docker@2.2.1: {} + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 is-extendable@0.1.1: {} @@ -8358,9 +8806,9 @@ snapshots: is-network-error@1.3.1: {} - is-plain-obj@4.1.0: {} + is-number@7.0.0: {} - is-port-reachable@4.0.0: {} + is-plain-obj@4.1.0: {} is-promise@4.0.0: {} @@ -8376,10 +8824,6 @@ snapshots: is-unicode-supported@2.1.0: {} - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - isarray@2.0.5: {} isexe@2.0.0: {} @@ -8740,6 +9184,8 @@ snapshots: - supports-color - ts-node + jiti@1.21.7: {} + jose@6.2.2: {} joycon@3.1.1: {} @@ -8927,6 +9373,10 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + loupe@3.2.1: {} lru-cache@10.4.3: {} @@ -8967,18 +9417,19 @@ snapshots: merge-stream@2.0.0: {} + merge2@1.4.1: {} + methods@1.1.2: {} - mime-db@1.33.0: {} + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 mime-db@1.52.0: {} mime-db@1.54.0: {} - mime-types@2.1.18: - dependencies: - mime-db: 1.33.0 - mime-types@2.1.35: dependencies: mime-db: 1.52.0 @@ -9043,8 +9494,6 @@ snapshots: negotiator@0.6.3: {} - negotiator@0.6.4: {} - negotiator@1.0.0: {} neo-async@2.6.2: {} @@ -9094,8 +9543,6 @@ snapshots: dependencies: ee-first: 1.1.1 - on-headers@1.1.0: {} - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -9190,12 +9637,12 @@ snapshots: path-is-absolute@1.0.1: {} - path-is-inside@1.0.2: {} - path-key@3.1.1: {} path-key@4.0.0: {} + path-parse@1.0.7: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -9208,8 +9655,6 @@ snapshots: path-to-regexp@0.1.13: {} - path-to-regexp@3.3.0: {} - path-to-regexp@8.3.0: {} path-type@4.0.0: {} @@ -9263,6 +9708,8 @@ snapshots: picomatch@4.0.4: {} + pify@2.3.0: {} + pino-abstract-transport@2.0.0: dependencies: split2: 4.2.0 @@ -9321,13 +9768,38 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-load-config@6.0.1(postcss@8.5.8)(tsx@4.21.0): + postcss-import@15.1.0(postcss@8.5.8): + dependencies: + postcss: 8.5.8 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.11 + + postcss-js@4.1.0(postcss@8.5.8): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.5.8 + + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.8)(tsx@4.21.0): dependencies: lilconfig: 3.1.3 optionalDependencies: + jiti: 1.21.7 postcss: 8.5.8 tsx: 4.21.0 + postcss-nested@6.2.0(postcss@8.5.8): + dependencies: + postcss: 8.5.8 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + postcss@8.5.8: dependencies: nanoid: 3.3.11 @@ -9390,12 +9862,12 @@ snapshots: quansync@0.2.11: {} + queue-microtask@1.2.3: {} + quick-format-unescaped@4.0.4: {} radash@12.1.1: {} - range-parser@1.2.0: {} - range-parser@1.2.1: {} raw-body@2.5.3: @@ -9412,12 +9884,11 @@ snapshots: iconv-lite: 0.7.2 unpipe: 1.0.0 - rc@1.2.8: + react-dom@18.3.1(react@18.3.1): dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 react-dom@19.2.4(react@19.2.4): dependencies: @@ -9426,8 +9897,30 @@ snapshots: react-is@18.3.1: {} + react-refresh@0.17.0: {} + + react-router-dom@6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@remix-run/router': 1.23.2 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 6.30.3(react@18.3.1) + + react-router@6.30.3(react@18.3.1): + dependencies: + '@remix-run/router': 1.23.2 + react: 18.3.1 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + react@19.2.4: {} + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -9442,6 +9935,10 @@ snapshots: process: 0.11.10 string_decoder: 1.3.0 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.2 + readdirp@4.1.2: {} real-require@0.2.0: {} @@ -9454,15 +9951,6 @@ snapshots: reflect-metadata@0.2.2: {} - registry-auth-token@3.3.2: - dependencies: - rc: 1.2.8 - safe-buffer: 5.2.1 - - registry-url@3.1.0: - dependencies: - rc: 1.2.8 - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -9477,11 +9965,19 @@ snapshots: resolve-pkg-maps@1.0.0: {} + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + reusify@1.1.0: {} + rolldown@1.0.0-rc.12: dependencies: '@oxc-project/types': 0.122.0 @@ -9544,6 +10040,10 @@ snapshots: transitivePeerDependencies: - supports-color + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + rxjs@7.8.1: dependencies: tslib: 2.8.1 @@ -9558,6 +10058,10 @@ snapshots: safer-buffer@2.1.2: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + scheduler@0.27.0: {} schema-utils@3.3.0: @@ -9639,16 +10143,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve-handler@6.1.7: - dependencies: - bytes: 3.0.0 - content-disposition: 0.5.2 - mime-types: 2.1.18 - minimatch: 3.1.5 - path-is-inside: 1.0.2 - path-to-regexp: 3.3.0 - range-parser: 1.2.0 - serve-static@1.16.3: dependencies: encodeurl: 2.0.0 @@ -9667,22 +10161,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve@14.2.6: - dependencies: - '@zeit/schemas': 2.36.0 - ajv: 8.18.0 - arg: 5.0.2 - boxen: 7.0.0 - chalk: 5.0.1 - chalk-template: 0.4.0 - clipboardy: 3.0.0 - compression: 1.8.1 - is-port-reachable: 4.0.0 - serve-handler: 6.1.7 - update-check: 1.5.4 - transitivePeerDependencies: - - supports-color - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -9864,8 +10342,6 @@ snapshots: strip-final-newline@4.0.0: {} - strip-json-comments@2.0.1: {} - strip-json-comments@3.1.1: {} strip-json-comments@5.0.3: {} @@ -9896,12 +10372,42 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} + symbol-observable@4.0.0: {} synckit@0.11.12: dependencies: '@pkgr/core': 0.2.9 + tailwindcss@3.4.19(tsx@4.21.0): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.3 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.8 + postcss-import: 15.1.0(postcss@8.5.8) + postcss-js: 4.1.0(postcss@8.5.8) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.8)(tsx@4.21.0) + postcss-nested: 6.2.0(postcss@8.5.8) + postcss-selector-parser: 6.1.2 + resolve: 1.22.11 + sucrase: 3.35.1 + transitivePeerDependencies: + - tsx + - yaml + tapable@2.3.2: {} terser-webpack-plugin@5.4.0(webpack@5.104.1): @@ -9960,6 +10466,10 @@ snapshots: safe-buffer: 5.2.1 typed-array-buffer: 1.0.3 + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + toidentifier@1.0.1: {} token-types@6.1.2: @@ -10033,7 +10543,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.1(postcss@8.5.8)(tsx@4.21.0)(typescript@5.9.3): + tsup@8.5.1(jiti@1.21.7)(postcss@8.5.8)(tsx@4.21.0)(typescript@5.9.3): dependencies: bundle-require: 5.1.0(esbuild@0.27.4) cac: 6.7.14 @@ -10044,7 +10554,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.8)(tsx@4.21.0) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.8)(tsx@4.21.0) resolve-from: 5.0.0 rollup: 4.60.1 source-map: 0.7.6 @@ -10076,8 +10586,6 @@ snapshots: type-fest@0.21.3: {} - type-fest@2.19.0: {} - type-fest@4.41.0: {} type-is@1.6.18: @@ -10179,17 +10687,16 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-check@1.5.4: - dependencies: - registry-auth-token: 3.3.2 - registry-url: 3.1.0 - uri-js@4.4.1: dependencies: punycode: 2.3.1 url-join@4.0.1: {} + use-sync-external-store@1.6.0(react@18.3.1): + dependencies: + react: 18.3.1 + util-deprecate@1.0.2: {} utils-merge@1.0.1: {} @@ -10208,16 +10715,15 @@ snapshots: vary@1.1.2: {} - vite-node@3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0): + vite-node@3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.1(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0) + vite: 5.4.21(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1) transitivePeerDependencies: - '@types/node' - - jiti - less - lightningcss - sass @@ -10226,25 +10732,30 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml - vite@7.3.1(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0): + vite@5.4.21(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1): dependencies: - esbuild: 0.27.4 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + esbuild: 0.21.5 postcss: 8.5.8 rollup: 4.60.1 - tinyglobby: 0.2.15 optionalDependencies: '@types/node': 22.19.15 fsevents: 2.3.3 lightningcss: 1.32.0 terser: 5.46.1 - tsx: 4.21.0 - vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(terser@5.46.1)(tsx@4.21.0): + vite@5.4.21(@types/node@25.5.0)(lightningcss@1.32.0)(terser@5.46.1): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.8 + rollup: 4.60.1 + optionalDependencies: + '@types/node': 25.5.0 + fsevents: 2.3.3 + lightningcss: 1.32.0 + terser: 5.46.1 + + vite@8.0.3(@types/node@25.5.0)(esbuild@0.27.4)(jiti@1.21.7)(terser@5.46.1)(tsx@4.21.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -10255,14 +10766,15 @@ snapshots: '@types/node': 25.5.0 esbuild: 0.27.4 fsevents: 2.3.3 + jiti: 1.21.7 terser: 5.46.1 tsx: 4.21.0 - vitest@3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0): + vitest@3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)) + '@vitest/mocker': 3.2.4(vite@5.4.21(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -10280,13 +10792,12 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.1(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0) - vite-node: 3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0) + vite: 5.4.21(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1) + vite-node: 3.2.4(@types/node@22.19.15)(lightningcss@1.32.0)(terser@5.46.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.19.15 transitivePeerDependencies: - - jiti - less - lightningcss - msw @@ -10296,8 +10807,6 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml walker@1.0.8: dependencies: @@ -10374,10 +10883,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - widest-line@4.0.1: - dependencies: - string-width: 5.1.2 - word-wrap@1.2.5: {} wordwrap@1.0.0: {} @@ -10456,3 +10961,10 @@ snapshots: zod@3.25.76: {} zod@4.3.6: {} + + zustand@4.5.7(@types/react@18.3.28)(react@18.3.1): + dependencies: + use-sync-external-store: 1.6.0(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.28 + react: 18.3.1