From e646f410be1686e6ec127f9501d1c9c4636a0dc6 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Wed, 22 Oct 2025 09:06:18 +0200 Subject: [PATCH] Prompt is too long --- .claude/CLAUDE.md | Bin 8763 -> 8643 bytes VOICE_MOBILE_SPEC.md | 391 - app.json | 5 - package-lock.json | 10423 ++++++++++++++-- package.json | 20 +- packages/{voice-mobile => app}/.gitignore | 0 packages/{voice-mobile => app}/README.md | 0 packages/{voice-mobile => app}/app.json | 12 +- .../{voice-mobile => app}/app/_layout.tsx | 0 .../{voice-mobile => app}/app/audio-test.tsx | 0 packages/{voice-mobile => app}/app/index.tsx | 33 +- .../{voice-mobile => app}/app/settings.tsx | 0 .../assets/images/android-icon-background.png | Bin .../assets/images/android-icon-foreground.png | Bin .../assets/images/android-icon-monochrome.png | Bin .../assets/images/favicon.png | Bin .../assets/images/icon.png | Bin .../assets/images/partial-react-logo.png | Bin .../assets/images/react-logo.png | Bin .../assets/images/react-logo@2x.png | Bin .../assets/images/react-logo@3x.png | Bin .../assets/images/splash-icon.png | Bin .../components/active-processes.tsx | 2 +- .../components/agent-stream-view.tsx | 2 +- .../components/artifact-drawer.tsx | 0 .../components/connection-status.tsx | 0 .../components/conversation-selector.tsx | 2 +- .../components/message.tsx | 0 .../components/voice-button.tsx | 0 .../{voice-mobile => app}/constants/theme.ts | 0 packages/{voice-mobile => app}/eas.json | 0 .../{voice-mobile => app}/eslint.config.js | 0 packages/{voice-mobile => app}/global.css | 0 .../hooks/use-audio-player.ts | 0 .../hooks/use-audio-recorder.ts | 0 .../hooks/use-color-scheme.ts | 0 .../hooks/use-color-scheme.web.ts | 0 packages/app/hooks/use-realtime-audio.ts | 210 + .../hooks/use-settings.ts | 2 +- .../hooks/use-theme-color.ts | 0 .../hooks/use-websocket.ts | 2 +- .../{voice-mobile => app}/metro.config.js | 0 .../{voice-mobile => app}/nativewind-env.d.ts | 0 .../{voice-mobile => app}/package-lock.json | 61 +- packages/{voice-mobile => app}/package.json | 7 +- .../{voice-mobile => app}/postcss.config.mjs | 0 .../scripts/reset-project.js | 0 packages/{voice-mobile => app}/tsconfig.json | 4 +- .../{voice-assistant => server}/.env.example | 0 .../{voice-assistant => server}/.gitignore | 0 .../{voice-assistant => server}/README.md | 0 .../agent-prompt-old.md | 0 .../agent-prompt.md | 0 .../{voice-assistant => server}/package.json | 21 +- .../playwright.config.ts | 0 .../scripts/process-conversation.ts | 0 .../src/server/acp/IMPLEMENTATION.md | 0 .../src/server/acp/PHASE2-INTEGRATION.md | 0 .../src/server/acp/README.md | 0 .../src/server/acp/TEST-RESULTS.md | 0 .../src/server/acp/activity-curator.ts | 0 .../src/server/acp/agent-manager.test.ts | 0 .../src/server/acp/agent-manager.ts | 0 .../src/server/acp/index.ts | 0 .../src/server/acp/mcp-server.ts | 0 .../src/server/acp/test-agent.ts | 0 .../src/server/acp/test-comprehensive.ts | 0 .../src/server/acp/test-concurrent.ts | 0 .../src/server/acp/test-exports.ts | 0 .../src/server/acp/test-integration.ts | 0 .../src/server/acp/test-simple.ts | 0 .../src/server/acp/types.ts | 0 .../src/server/agent/llm-openai.ts | 0 .../src/server/agent/orchestrator.ts | 0 .../src/server/agent/stt-manager.ts | 0 .../src/server/agent/stt-openai.ts | 0 .../src/server/agent/system-prompt.ts | 0 .../src/server/agent/tts-manager.ts | 0 .../src/server/agent/tts-openai.ts | 0 .../src/server/index.ts | 95 +- .../src/server/messages.ts | 0 .../src/server/persistence.ts | 0 .../src/server/session.ts | 0 .../src/server/terminal-mcp/REFERENCES.md | 0 .../src/server/terminal-mcp/index.ts | 0 .../src/server/terminal-mcp/server.ts | 0 .../terminal-mcp/terminal-manager.test.ts | 0 .../server/terminal-mcp/terminal-manager.ts | 0 .../src/server/terminal-mcp/tmux.ts | 0 .../src/server/types.ts | 0 .../src/server/websocket-server.ts | 0 .../tsconfig.server.json | 0 .../vitest.config.ts | 0 .../.claude/settings.local.json | 13 - .../after-fix-verification.png | Bin 16251 -> 0 bytes .../.playwright-mcp/faro-homepage.png | Bin 136693 -> 0 bytes .../.playwright-mcp/iphone-se-initial.png | Bin 44055 -> 0 bytes .../.playwright-mcp/iphone-se-long-text.png | Bin 55183 -> 0 bytes .../.playwright-mcp/iphone-se-recording.png | Bin 54992 -> 0 bytes .../mobile-layout-iphone12.png | Bin 46995 -> 0 bytes .../mobile-long-text-input.png | Bin 87957 -> 0 bytes .../mobile-recording-state.png | Bin 89671 -> 0 bytes .../narrow-viewport-273-fixed.png | Bin 26504 -> 0 bytes .../.playwright-mcp/narrow-viewport-273.png | Bin 26504 -> 0 bytes packages/voice-assistant/src/ui/App.css | 1278 -- packages/voice-assistant/src/ui/App.tsx | 939 -- .../src/ui/components/ActiveProcesses.tsx | 176 - .../src/ui/components/AgentStreamView.tsx | 261 - .../src/ui/components/ArtifactDrawer.css | 268 - .../src/ui/components/ArtifactDrawer.tsx | 91 - .../ui/components/ConversationSelector.tsx | 218 - .../src/ui/components/ToolCallCard.tsx | 72 - .../src/ui/components/VoiceControls.tsx | 109 - .../src/ui/hooks/useWebSocket.ts | 161 - packages/voice-assistant/src/ui/index.css | 32 - packages/voice-assistant/src/ui/index.html | 13 - .../src/ui/lib/audio-capture.ts | 184 - .../src/ui/lib/audio-playback.ts | 195 - .../src/ui/lib/audio-realtime.ts | 185 - .../src/ui/lib/conversation-storage.ts | 39 - packages/voice-assistant/src/ui/main.tsx | 10 - packages/voice-assistant/src/vite-env.d.ts | 1 - packages/voice-assistant/tsconfig.json | 25 - packages/voice-assistant/tsconfig.node.json | 10 - packages/voice-assistant/vite.config.ts | 48 - packages/voice-mobile/EAS_SETUP.md | 120 - .../PHASE_2_AUDIO_IMPLEMENTATION.md | 427 - .../voice-mobile/hooks/use-realtime-audio.ts | 269 - 128 files changed, 9346 insertions(+), 7090 deletions(-) delete mode 100644 VOICE_MOBILE_SPEC.md delete mode 100644 app.json rename packages/{voice-mobile => app}/.gitignore (100%) rename packages/{voice-mobile => app}/README.md (100%) rename packages/{voice-mobile => app}/app.json (89%) rename packages/{voice-mobile => app}/app/_layout.tsx (100%) rename packages/{voice-mobile => app}/app/audio-test.tsx (100%) rename packages/{voice-mobile => app}/app/index.tsx (97%) rename packages/{voice-mobile => app}/app/settings.tsx (100%) rename packages/{voice-mobile => app}/assets/images/android-icon-background.png (100%) rename packages/{voice-mobile => app}/assets/images/android-icon-foreground.png (100%) rename packages/{voice-mobile => app}/assets/images/android-icon-monochrome.png (100%) rename packages/{voice-mobile => app}/assets/images/favicon.png (100%) rename packages/{voice-mobile => app}/assets/images/icon.png (100%) rename packages/{voice-mobile => app}/assets/images/partial-react-logo.png (100%) rename packages/{voice-mobile => app}/assets/images/react-logo.png (100%) rename packages/{voice-mobile => app}/assets/images/react-logo@2x.png (100%) rename packages/{voice-mobile => app}/assets/images/react-logo@3x.png (100%) rename packages/{voice-mobile => app}/assets/images/splash-icon.png (100%) rename packages/{voice-mobile => app}/components/active-processes.tsx (98%) rename packages/{voice-mobile => app}/components/agent-stream-view.tsx (99%) rename packages/{voice-mobile => app}/components/artifact-drawer.tsx (100%) rename packages/{voice-mobile => app}/components/connection-status.tsx (100%) rename packages/{voice-mobile => app}/components/conversation-selector.tsx (99%) rename packages/{voice-mobile => app}/components/message.tsx (100%) rename packages/{voice-mobile => app}/components/voice-button.tsx (100%) rename packages/{voice-mobile => app}/constants/theme.ts (100%) rename packages/{voice-mobile => app}/eas.json (100%) rename packages/{voice-mobile => app}/eslint.config.js (100%) rename packages/{voice-mobile => app}/global.css (100%) rename packages/{voice-mobile => app}/hooks/use-audio-player.ts (100%) rename packages/{voice-mobile => app}/hooks/use-audio-recorder.ts (100%) rename packages/{voice-mobile => app}/hooks/use-color-scheme.ts (100%) rename packages/{voice-mobile => app}/hooks/use-color-scheme.web.ts (100%) create mode 100644 packages/app/hooks/use-realtime-audio.ts rename packages/{voice-mobile => app}/hooks/use-settings.ts (97%) rename packages/{voice-mobile => app}/hooks/use-theme-color.ts (100%) rename packages/{voice-mobile => app}/hooks/use-websocket.ts (99%) rename packages/{voice-mobile => app}/metro.config.js (100%) rename packages/{voice-mobile => app}/nativewind-env.d.ts (100%) rename packages/{voice-mobile => app}/package-lock.json (99%) rename packages/{voice-mobile => app}/package.json (94%) rename packages/{voice-mobile => app}/postcss.config.mjs (100%) rename packages/{voice-mobile => app}/scripts/reset-project.js (100%) rename packages/{voice-mobile => app}/tsconfig.json (80%) rename packages/{voice-assistant => server}/.env.example (100%) rename packages/{voice-assistant => server}/.gitignore (100%) rename packages/{voice-assistant => server}/README.md (100%) rename packages/{voice-assistant => server}/agent-prompt-old.md (100%) rename packages/{voice-assistant => server}/agent-prompt.md (100%) rename packages/{voice-assistant => server}/package.json (63%) rename packages/{voice-assistant => server}/playwright.config.ts (100%) rename packages/{voice-assistant => server}/scripts/process-conversation.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/IMPLEMENTATION.md (100%) rename packages/{voice-assistant => server}/src/server/acp/PHASE2-INTEGRATION.md (100%) rename packages/{voice-assistant => server}/src/server/acp/README.md (100%) rename packages/{voice-assistant => server}/src/server/acp/TEST-RESULTS.md (100%) rename packages/{voice-assistant => server}/src/server/acp/activity-curator.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/agent-manager.test.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/agent-manager.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/index.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/mcp-server.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/test-agent.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/test-comprehensive.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/test-concurrent.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/test-exports.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/test-integration.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/test-simple.ts (100%) rename packages/{voice-assistant => server}/src/server/acp/types.ts (100%) rename packages/{voice-assistant => server}/src/server/agent/llm-openai.ts (100%) rename packages/{voice-assistant => server}/src/server/agent/orchestrator.ts (100%) rename packages/{voice-assistant => server}/src/server/agent/stt-manager.ts (100%) rename packages/{voice-assistant => server}/src/server/agent/stt-openai.ts (100%) rename packages/{voice-assistant => server}/src/server/agent/system-prompt.ts (100%) rename packages/{voice-assistant => server}/src/server/agent/tts-manager.ts (100%) rename packages/{voice-assistant => server}/src/server/agent/tts-openai.ts (100%) rename packages/{voice-assistant => server}/src/server/index.ts (50%) rename packages/{voice-assistant => server}/src/server/messages.ts (100%) rename packages/{voice-assistant => server}/src/server/persistence.ts (100%) rename packages/{voice-assistant => server}/src/server/session.ts (100%) rename packages/{voice-assistant => server}/src/server/terminal-mcp/REFERENCES.md (100%) rename packages/{voice-assistant => server}/src/server/terminal-mcp/index.ts (100%) rename packages/{voice-assistant => server}/src/server/terminal-mcp/server.ts (100%) rename packages/{voice-assistant => server}/src/server/terminal-mcp/terminal-manager.test.ts (100%) rename packages/{voice-assistant => server}/src/server/terminal-mcp/terminal-manager.ts (100%) rename packages/{voice-assistant => server}/src/server/terminal-mcp/tmux.ts (100%) rename packages/{voice-assistant => server}/src/server/types.ts (100%) rename packages/{voice-assistant => server}/src/server/websocket-server.ts (100%) rename packages/{voice-assistant => server}/tsconfig.server.json (100%) rename packages/{voice-assistant => server}/vitest.config.ts (100%) delete mode 100644 packages/voice-assistant/.claude/settings.local.json delete mode 100644 packages/voice-assistant/.playwright-mcp/after-fix-verification.png delete mode 100644 packages/voice-assistant/.playwright-mcp/faro-homepage.png delete mode 100644 packages/voice-assistant/.playwright-mcp/iphone-se-initial.png delete mode 100644 packages/voice-assistant/.playwright-mcp/iphone-se-long-text.png delete mode 100644 packages/voice-assistant/.playwright-mcp/iphone-se-recording.png delete mode 100644 packages/voice-assistant/.playwright-mcp/mobile-layout-iphone12.png delete mode 100644 packages/voice-assistant/.playwright-mcp/mobile-long-text-input.png delete mode 100644 packages/voice-assistant/.playwright-mcp/mobile-recording-state.png delete mode 100644 packages/voice-assistant/.playwright-mcp/narrow-viewport-273-fixed.png delete mode 100644 packages/voice-assistant/.playwright-mcp/narrow-viewport-273.png delete mode 100644 packages/voice-assistant/src/ui/App.css delete mode 100644 packages/voice-assistant/src/ui/App.tsx delete mode 100644 packages/voice-assistant/src/ui/components/ActiveProcesses.tsx delete mode 100644 packages/voice-assistant/src/ui/components/AgentStreamView.tsx delete mode 100644 packages/voice-assistant/src/ui/components/ArtifactDrawer.css delete mode 100644 packages/voice-assistant/src/ui/components/ArtifactDrawer.tsx delete mode 100644 packages/voice-assistant/src/ui/components/ConversationSelector.tsx delete mode 100644 packages/voice-assistant/src/ui/components/ToolCallCard.tsx delete mode 100644 packages/voice-assistant/src/ui/components/VoiceControls.tsx delete mode 100644 packages/voice-assistant/src/ui/hooks/useWebSocket.ts delete mode 100644 packages/voice-assistant/src/ui/index.css delete mode 100644 packages/voice-assistant/src/ui/index.html delete mode 100644 packages/voice-assistant/src/ui/lib/audio-capture.ts delete mode 100644 packages/voice-assistant/src/ui/lib/audio-playback.ts delete mode 100644 packages/voice-assistant/src/ui/lib/audio-realtime.ts delete mode 100644 packages/voice-assistant/src/ui/lib/conversation-storage.ts delete mode 100644 packages/voice-assistant/src/ui/main.tsx delete mode 100644 packages/voice-assistant/src/vite-env.d.ts delete mode 100644 packages/voice-assistant/tsconfig.json delete mode 100644 packages/voice-assistant/tsconfig.node.json delete mode 100644 packages/voice-assistant/vite.config.ts delete mode 100644 packages/voice-mobile/EAS_SETUP.md delete mode 100644 packages/voice-mobile/PHASE_2_AUDIO_IMPLEMENTATION.md delete mode 100644 packages/voice-mobile/hooks/use-realtime-audio.ts diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index a5060b83fb219d2707511abd6ebc44975e016503..3a69b3997caaa53d3167b6d6465c27737a6bbc24 100644 GIT binary patch delta 1165 zcmZux&ubGw6edX%?WWovRv|&ct3lbsCZU$Lu&9`(6$;W8Q|Up4oopuQXtKNPOp?}1 zZ+a0_=HksiK!if@q$1)`5Yd}AuYxxZ;z4}-BaN}mWryK?-@Nbp-pi|{_oc@_t}YVe zE;XybsnezobePzJNF5UZqiCdu7w`P zd@{1Zt;kW`MxrsS_M*@b_8X*dj`C}~&^l;pTg4OU}@V%kk`TBa+-)zoK6!*#s2 z%%0l)N@nqXm3wk4OI|5z*e~nQ%E2-d+-r22Gs{$TUB{-<*skZkbRuVZF78E>sC_|d zL$mVB(1TQv&&G~T%Z9^j(FYgN1w^`TboZjCLf+wX>_xb=(Xnzt0ze#NiwSComP0i~ znaN{1{=F^!#!qM$@K=VG0j z0UcDmxhV>IM#BR6RGE_>l#4PN&&!#3PTqt0U>%3vTbI`tZilh5(KrZ?@Fylo$e5iC}G-@mn4oMD5`8`DHkUWeYb% zfYD&CL|lXJ>yh7~i0k^3u@mys@w|7Aj^1;>-TR{{F9G>{?0mRm$**I{(f>@9FUL1) zD57t++q2+?W!6|de}`M9t^tyPe*-Gr7PzF`ms25}P6IQIMypCW*aTO$i44rFa}ZW< zl?9Fpm&ycPL?$hOw#;e+*IZ>y+j0aSsD(BopkE1s&+0xiX)wa&vx(VYGP~aY}T7*>q?HL2P(st}Gu^{SDO?bu!?>7iN)q`0vlh=dZ8QmLxCMlLCl((sRJG|peh`4!$OlO2BA#)Twnoo4^zdo23N*Z19lk=4eV_-fQkrA zk{vetR5M&Mm2g30NT{F#mM~#jge)(^wiHsaR6@_FEQcrL{UNtE=j6o$iBC7F)?6DZ zjQwS<+FgNL$OE6KktWpZDGl!UDp@WQQ7lz@XR$nx;@i%F?ct?ruUA zQI*j%B4EVL5V$aGpr}FW`FjbEqL_`SVl^Vt1XLyxaA1L#*}b+ z>gsbM-YmaICL-S2-nBoKDpw2lp!k+&`A88T*{{mi?sYOAN6?o@Z*MC%xVSha)OQ7b z#wSPs$jF(M@53LTegP3W>1BN8Mge0Vmp`k%0DVT?c5bmnY3HBzeEj99m*<|{`R??$ zrB0EfJRr`S+*~tM44Xo^0G;*qkv1&RJ|U|u>}W5K61+o?n5x&I8rX;Dyz+Xx-L}7; zd;NH(8`vn<2NuiJWvT(#Q^P~p#~5gLm?{}zuDBG0tU3IR0oFYQuT|(326z}GVZ5M* zRM5gE1QJuvw80!m)iOHp!QLUS+6Tn9-;;*@ldRZF^EaC74tJBXM2Z&!NBLQSY>(#O zus_VN*uUoe)obo1HuH&EM4+U*kA2^mCtPF%Cwx z+god|wHwgw?XW|GV-#g*Yt0!M%uL>NO1cL;n}w{rt;d^{{U?;(AEF| diff --git a/VOICE_MOBILE_SPEC.md b/VOICE_MOBILE_SPEC.md deleted file mode 100644 index 4868d9791..000000000 --- a/VOICE_MOBILE_SPEC.md +++ /dev/null @@ -1,391 +0,0 @@ -# Voice Assistant Mobile App - Technical Specification - -## Project Overview - -React Native mobile app that replicates the existing web-based voice assistant. Same functionality, same server connection, just on mobile with in-call experience for hands-free use. - -## Core Architecture - -### What We Have (Web Prototype) - -``` -Browser (React + Vite) - ↓ WebSocket -Express Server on Laptop - ├── OpenAI Whisper (STT) - ├── OpenAI GPT-4 (LLM streaming) - ├── OpenAI TTS - └── tmux terminal manager -``` - -### What We're Building (Mobile App) - -``` -React Native App (Expo) - ↓ WebSocket (same protocol) -Express Server on Laptop (unchanged) - ├── OpenAI Whisper (STT) - ├── OpenAI GPT-4 (LLM streaming) - ├── OpenAI TTS - └── tmux terminal manager -``` - -**Connection:** Direct WebSocket to laptop server (Tailscale tunnel) - -**Server changes:** ZERO. The existing server works as-is. - -## Monorepo Structure - -``` -voice-dev/ -├── packages/ -│ ├── voice-assistant/ # Existing web app (stays as-is) -│ │ └── src/ -│ │ └── server/ -│ │ ├── messages.ts # WebSocket message types (SHARED) -│ │ └── types.ts # Server types (SHARED) -│ └── voice-mobile/ # NEW - React Native app -│ ├── app/ # Expo Router screens -│ ├── components/ # RN components (NOT shared with web) -│ ├── hooks/ # WebSocket, audio hooks -│ ├── lib/ # Audio capture/playback -│ ├── app.json -│ ├── package.json -│ └── tsconfig.json -└── package.json # Root workspace config -``` - -**Code Sharing:** -- ✅ Share Zod schemas and types from `voice-assistant/src/server/` (WebSocket message types) -- ❌ Don't share UI components, hooks, or other code between web and mobile - -## Technology Stack - -- **React Native** with **Expo SDK 54+** -- **TypeScript** (strict mode) -- **Expo Router** (file-based routing) -- **NativeWind v5** (Tailwind CSS for React Native) -- **expo-audio** for audio capture and playback -- **react-native-incall-manager** for Android in-call experience -- **WebSocket** (native WebSocket API, no socket.io needed) - -## What the App Does - -**Exactly what the web app does:** -1. Connect to laptop server via WebSocket -2. Record audio from microphone -3. Stream audio chunks to server -4. Display transcription results -5. Show streaming AI responses -6. Play TTS audio responses -7. Display activity logs (tool calls, terminal output) - -**Additional mobile features:** -- Android sticky notification (like being in a phone call) -- Background audio (works when screen locked) -- Bluetooth/headphone support -- Earpiece/speaker routing - -## User Interface - -### Styling: NativeWind v5 - -All styling uses Tailwind utility classes: - -```tsx - - - Voice Assistant - - - Record - - -``` - -**Color Scheme (Dark Mode Primary):** -``` -- bg-black - Main background -- bg-zinc-900 - Surface/cards -- text-white - Primary text -- text-zinc-400 - Secondary text -- bg-red-500 - Recording indicator -- bg-blue-500 - Processing indicator -- bg-green-500 - Speaking indicator -``` - -### Screens - -**1. Main Screen** - -The conversation interface (matches web app layout). - -``` -┌─────────────────────────────┐ -│ ● Connected │ ← Status bar -├─────────────────────────────┤ -│ │ -│ You: Run git status │ ← User message (right aligned) -│ │ -│ Assistant: Running git... │ ← AI response (left aligned) -│ [Activity: git status] │ ← Expandable activity log -│ │ -│ You: What changed? │ -│ │ -│ Assistant: You modified... │ -│ │ -│ [Scrollable conversation] │ -│ │ -├─────────────────────────────┤ -│ 🎤 │ ← Voice button (large, centered) -└─────────────────────────────┘ -``` - -**Voice Button States:** -- Idle: Gray circle -- Recording: Red pulsing circle -- Transcribing: Blue spinner -- AI Speaking: Green animated waveform - -**Conversation Items:** -- User messages (right aligned, dark background) -- AI responses (left aligned, lighter background) -- Activity logs (collapsed by default, tap to expand) -- Timestamps (subtle, relative time) - -**2. Settings Screen** - -``` -┌─────────────────────────────┐ -│ Settings │ -├─────────────────────────────┤ -│ │ -│ Server Configuration │ -│ ┌─────────────────────────┐ │ -│ │ ws://100.x.x.x:3000 │ │ ← Tailscale URL -│ └─────────────────────────┘ │ -│ │ -│ Audio │ -│ □ Use Speaker │ ← Toggle earpiece/speaker -│ □ Keep Screen On │ -│ │ -│ Theme │ -│ ○ Dark ○ Light ○ Auto │ -│ │ -└─────────────────────────────┘ -``` - -## Audio System - -### Android In-Call Experience - -**What it looks like:** -- Persistent notification: "Voice Assistant • In Call" -- Notification shows hang-up button -- Phone treats it like an active call -- Audio routes properly (earpiece/speaker/bluetooth) -- Works when screen is locked -- Works when app is backgrounded - -**Implementation:** -```typescript -import InCallManager from 'react-native-incall-manager'; - -// Start voice session -InCallManager.start({ media: 'audio' }); -InCallManager.setKeepScreenOn(true); -InCallManager.setSpeakerphoneOn(false); // Use earpiece - -// End voice session -InCallManager.stop(); -``` - -### Audio Capture - -**Same configuration as web:** -```typescript -{ - sampleRate: 16000, - numberOfChannels: 1, - echoCancellation: true, - noiseSuppression: true, - autoGainControl: true, -} -``` - -**Streaming:** -- Capture in 100ms chunks (same as web) -- Send via WebSocket as base64 -- Same message format as web app uses - -### Audio Playback - -- Receive MP3 audio from server (base64) -- Decode and play via expo-audio -- Same as web app's audio playback - -## WebSocket Protocol - -**Uses the existing protocol - no changes.** - -The mobile app imports message types directly from the server: - -```typescript -import type { - WSInboundMessage, - WSOutboundMessage, - SessionOutboundMessage -} from '../../voice-assistant/src/server/messages'; -``` - -**Client → Server:** -- `audio_chunk` - Audio data -- `user_message` - Text input -- `recording_state` - Started/stopped -- `ping` - Keepalive - -**Server → Client:** -- `activity_log` - Tool calls, events -- `assistant_chunk` - Streaming response -- `audio_output` - TTS audio -- `transcription_result` - STT output -- `status` - Connection state -- `pong` - Keepalive response - -**Connection:** -```typescript -const ws = new WebSocket('ws://100.x.x.x:3000'); // Tailscale IP - -ws.onmessage = (event) => { - const message: WSOutboundMessage = JSON.parse(event.data); - // Type-safe message handling with shared types -}; -``` - -## Data Flow - -### Voice Input (Same as Web) - -``` -1. User taps mic button -2. Start recording with expo-audio -3. Capture 100ms chunks -4. Send chunks via WebSocket -5. Server transcribes with Whisper -6. Display transcription in real-time -``` - -### AI Response (Same as Web) - -``` -1. Server streams GPT-4 response chunks -2. Display text word-by-word -3. Server generates TTS audio -4. Send audio chunks to mobile -5. Play audio via expo-audio -``` - -### Activity Logs (Same as Web) - -``` -1. Claude executes tool (e.g., "create file") -2. Server sends activity_log message -3. Display in conversation with collapse/expand -``` - -## Android Features - -### Required Permissions - -```xml - - - - -``` - -### Foreground Service - -When voice session is active: -- App runs as foreground service -- Persistent notification visible -- Android won't kill the app -- Audio works in background -- Works when screen is locked - -## State Management - -**Simple, no libraries:** -- React Context for WebSocket connection -- React Context for conversation state -- Local state for UI (button press, etc.) -- AsyncStorage for settings (Tailscale URL) - -```typescript -interface AppState { - isConnected: boolean; - isRecording: boolean; - messages: Message[]; - activityLogs: ActivityLog[]; - serverUrl: string; -} -``` - -## What We're NOT Building - -**Keep it simple. These are out of scope:** -- ❌ Code diff viewer (just show text) -- ❌ Terminal emulator (just show logs) -- ❌ File browser -- ❌ Push notifications -- ❌ Conversation history sync -- ❌ Multi-device support -- ❌ Authentication (Tailscale handles it) -- ❌ Encryption layer (Tailscale handles it) -- ❌ Relay server (direct connection only) - -## Success Criteria - -**It works if:** -- ✅ Connects to laptop server (same as web app) -- ✅ Audio quality matches web app -- ✅ Shows conversation same as web app -- ✅ Works with phone locked (Android) -- ✅ Shows sticky notification (Android) -- ✅ Routes audio to bluetooth/headphones -- ✅ Latency same as web app (< 3 seconds) -- ✅ Can use hands-free in car - -**Visual/UX:** -- ✅ Dark mode looks good -- ✅ Voice button is obvious and large -- ✅ Conversation scrolls smoothly -- ✅ Works one-handed - -## Development Approach - -**Start simple:** -1. Set up Expo + NativeWind -2. Port WebSocket connection (copy from web) -3. Port audio capture (expo-audio instead of MediaRecorder) -4. Port audio playback (expo-audio instead of Web Audio) -5. Port UI (React Native + Tailwind instead of React + CSS) -6. Add InCallManager for Android experience - -**No fancy stuff:** -- No state management libraries -- No complex routing (just 2 screens) -- No animations (except button states) -- No offline support -- No caching -- Keep it simple - -## Personal Use Optimizations - -**Built for one user (you):** -- Tailscale URL can be hardcoded or stored locally -- No user accounts -- No analytics -- No crash reporting (just use it and fix bugs) -- No app store deployment (sideload APK) -- No iOS initially (Android only) diff --git a/app.json b/app.json deleted file mode 100644 index 87639cc5d..000000000 --- a/app.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "android": { - "package": "com.moboudra.voicedev" - } -} diff --git a/package-lock.json b/package-lock.json index ba7693382..2ea6913dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "MIT", "workspaces": [ - "packages/voice-assistant" + "packages/server", + "packages/app" ], "dependencies": { "@tailwindcss/oxide": "^4.1.14", @@ -107,6 +108,19 @@ "zod": "^3.25.76 || ^4.1.8" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -1422,6 +1436,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-typescript": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", @@ -1569,6 +1598,30 @@ "node": ">=6.9.0" } }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@deepgram/captions": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@deepgram/captions/-/captions-1.2.0.tgz", @@ -1613,6 +1666,49 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "license": "MIT" }, + "node_modules/@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "license": "MIT", + "dependencies": { + "@types/hammerjs": "^2.0.36" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.6.0.tgz", + "integrity": "sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.6.0.tgz", + "integrity": "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.11", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", @@ -2055,6 +2151,244 @@ "node": ">=18" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz", + "integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.16.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", + "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.38.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz", + "integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", + "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.16.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@expo/apple-utils": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@expo/apple-utils/-/apple-utils-2.1.12.tgz", + "integrity": "sha512-ugpL2URxNFxIRw943AIpX3dcvL5rhNCumpL8XTosYqZPyQQ7JRLVNd1m8FNyPg3pmFrz8M4tSucY2pt2ATuKOA==", + "dev": true, + "license": "MIT", + "bin": { + "apple-utils": "bin.js" + } + }, + "node_modules/@expo/bunyan": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.1.tgz", + "integrity": "sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@expo/bunyan/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@expo/code-signing-certificates": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", @@ -2188,6 +2522,281 @@ } } }, + "node_modules/@expo/eas-build-job": { + "version": "1.0.239", + "resolved": "https://registry.npmjs.org/@expo/eas-build-job/-/eas-build-job-1.0.239.tgz", + "integrity": "sha512-5P/dQL2S2iEyTvGKOPN95r7cNFW3HgnA4PNqXU0s5ctb10837sMX6/A5XgIg/Ow0SFGZRiP4cK9ZFAiK3m2Ong==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/logger": "1.0.221", + "joi": "^17.13.1", + "semver": "^7.6.2", + "zod": "^4.1.3" + } + }, + "node_modules/@expo/eas-build-job/node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/@expo/eas-build-job/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/eas-build-job/node_modules/zod": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz", + "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/@expo/eas-json": { + "version": "16.23.0", + "resolved": "https://registry.npmjs.org/@expo/eas-json/-/eas-json-16.23.0.tgz", + "integrity": "sha512-HgG3P5OzCp7TpC9ZqBglkamq6N4M4gdigqmCijegYMgLnJpc/Sn1zOYuLAvUdsBAZFvJBs5aeUaFbmkrF2/ivw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.23.5", + "@expo/eas-build-job": "1.0.231", + "chalk": "4.1.2", + "env-string": "1.0.1", + "fs-extra": "11.2.0", + "golden-fleece": "1.0.9", + "joi": "17.11.0", + "log-symbols": "4.1.0", + "semver": "7.5.2", + "terminal-link": "2.1.1", + "tslib": "2.4.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@expo/eas-json/node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@expo/eas-json/node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/eas-json/node_modules/@expo/eas-build-job": { + "version": "1.0.231", + "resolved": "https://registry.npmjs.org/@expo/eas-build-job/-/eas-build-job-1.0.231.tgz", + "integrity": "sha512-jktsZ7IJYcC9lbgUWftbFCpfrhcGwJX4q0qSubUrqvFTMuUyLjCzJqyIZ4znbXLXfJSUPDJNAd4H0wBqKJA9kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/logger": "1.0.221", + "joi": "^17.13.1", + "semver": "^7.6.2", + "zod": "^4.1.3" + } + }, + "node_modules/@expo/eas-json/node_modules/@expo/eas-build-job/node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/@expo/eas-json/node_modules/@expo/eas-build-job/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/eas-json/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/eas-json/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@expo/eas-json/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@expo/eas-json/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@expo/eas-json/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/eas-json/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/eas-json/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/eas-json/node_modules/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/eas-json/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/eas-json/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@expo/eas-json/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/@expo/eas-json/node_modules/zod": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz", + "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/@expo/env": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.7.tgz", @@ -2296,6 +2905,17 @@ "@babel/highlight": "^7.10.4" } }, + "node_modules/@expo/logger": { + "version": "1.0.221", + "resolved": "https://registry.npmjs.org/@expo/logger/-/logger-1.0.221.tgz", + "integrity": "sha512-arNkhzq4Ludz9J7PIYWTVYXuT1bO/A8prR8HYAviKuF6fEZfitemNVriGSetQASOE8Vnv3lmBZv6YIwLiFuv/Q==", + "dev": true, + "license": "BUSL-1.1", + "dependencies": { + "@types/bunyan": "^1.8.11", + "bunyan": "^1.8.15" + } + }, "node_modules/@expo/mcp-tunnel": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/@expo/mcp-tunnel/-/mcp-tunnel-0.0.8.tgz", @@ -2412,6 +3032,39 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/@expo/metro-runtime": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-6.1.2.tgz", + "integrity": "sha512-nvM+Qv45QH7pmYvP8JB1G8JpScrWND3KrMA6ZKe62cwwNiX/BjHU28Ear0v/4bQWXlOY0mv6B8CDIm8JxXde9g==", + "license": "MIT", + "dependencies": { + "anser": "^1.4.9", + "pretty-format": "^29.7.0", + "stacktrace-parser": "^0.1.10", + "whatwg-fetch": "^3.0.0" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-dom": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/@expo/multipart-body-parser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@expo/multipart-body-parser/-/multipart-body-parser-2.0.0.tgz", + "integrity": "sha512-yS/wsqlj0d8ZKETEN7ro3dZtjdMhpte8wp+xUzjUQC3jizxcE0E62xgvGquJObiYUMGoCF5qRYr2t78STPEaSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "multipasta": "^0.2.5" + } + }, "node_modules/@expo/osascript": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.3.7.tgz", @@ -2439,6 +3092,16 @@ "resolve-workspace-root": "^2.0.0" } }, + "node_modules/@expo/pkcs12": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@expo/pkcs12/-/pkcs12-0.1.3.tgz", + "integrity": "sha512-96MePEGppKi08vawrTPw8kMCRdsbrDbV900MlI8rrP9F57DfDl/y1P52bwIDBYCEHE3XtPMo7s1xkG0BKOLCVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-forge": "^1.2.1" + } + }, "node_modules/@expo/plist": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.7.tgz", @@ -2450,6 +3113,195 @@ "xmlbuilder": "^15.1.1" } }, + "node_modules/@expo/plugin-help": { + "version": "5.1.23", + "resolved": "https://registry.npmjs.org/@expo/plugin-help/-/plugin-help-5.1.23.tgz", + "integrity": "sha512-s0uH6cPplLj73ZVie40EYUhl7X7q9kRR+8IfZWDod3wUtVGOFInxuCPX9Jpv1UwwBgbRu2cLisqr8m45LrFgxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.11.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@expo/plugin-help/node_modules/@oclif/core": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.16.0.tgz", + "integrity": "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@expo/plugin-help/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@expo/plugin-help/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@expo/plugin-warn-if-update-available": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@expo/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.5.1.tgz", + "integrity": "sha512-B65QSIZ+TgFHnVXsTw+1Q6djsJByWwnIjYfoG8ZV9wizOC01gbAw1cOZ/YtrJ2BrDnzFQtM8qecjlmZ7C3MPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.11.1", + "chalk": "^4.1.0", + "debug": "^4.3.4", + "ejs": "^3.1.7", + "fs-extra": "^10.1.0", + "http-call": "^5.2.2", + "semver": "^7.3.7", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@expo/plugin-warn-if-update-available/node_modules/@oclif/core": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.16.0.tgz", + "integrity": "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@expo/plugin-warn-if-update-available/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@expo/plugin-warn-if-update-available/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/plugin-warn-if-update-available/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@expo/plugin-warn-if-update-available/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@expo/prebuild-config": { "version": "54.0.5", "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-54.0.5.tgz", @@ -2483,6 +3335,45 @@ "node": ">=10" } }, + "node_modules/@expo/results": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@expo/results/-/results-1.0.0.tgz", + "integrity": "sha512-qECzzXX5oJot3m2Gu9pfRDz50USdBieQVwYAzeAtQRUTD3PVeTK1tlRUoDcrK8PSruDLuVYdKkLebX4w/o55VA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/rudder-sdk-node": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz", + "integrity": "sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/bunyan": "^4.0.0", + "@segment/loosely-validate-event": "^2.0.0", + "fetch-retry": "^4.1.1", + "md5": "^2.2.1", + "node-fetch": "^2.6.1", + "remove-trailing-slash": "^0.1.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/rudder-sdk-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@expo/schema-utils": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-0.1.7.tgz", @@ -2507,12 +3398,93 @@ "node": ">=12" } }, + "node_modules/@expo/steps": { + "version": "1.0.231", + "resolved": "https://registry.npmjs.org/@expo/steps/-/steps-1.0.231.tgz", + "integrity": "sha512-o7Wj6W32S4H4geWC0b3RL5finHmiPT+e8SMP4/4Il2R0oc9er8jLXaj1tQ3fTZvpnlqoMWcFn5fAvaGnxfYDPA==", + "dev": true, + "license": "BUSL-1.1", + "dependencies": { + "@expo/eas-build-job": "1.0.231", + "@expo/logger": "1.0.221", + "@expo/spawn-async": "^1.7.2", + "arg": "^5.0.2", + "fs-extra": "^11.2.0", + "joi": "^17.13.1", + "jsep": "^1.3.8", + "lodash.clonedeep": "^4.5.0", + "lodash.get": "^4.4.2", + "this-file": "^2.0.3", + "uuid": "^9.0.1", + "yaml": "^2.4.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@expo/steps/node_modules/@expo/eas-build-job": { + "version": "1.0.231", + "resolved": "https://registry.npmjs.org/@expo/eas-build-job/-/eas-build-job-1.0.231.tgz", + "integrity": "sha512-jktsZ7IJYcC9lbgUWftbFCpfrhcGwJX4q0qSubUrqvFTMuUyLjCzJqyIZ4znbXLXfJSUPDJNAd4H0wBqKJA9kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/logger": "1.0.221", + "joi": "^17.13.1", + "semver": "^7.6.2", + "zod": "^4.1.3" + } + }, + "node_modules/@expo/steps/node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/@expo/steps/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/steps/node_modules/zod": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz", + "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/@expo/sudo-prompt": { "version": "9.3.2", "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz", "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==", "license": "MIT" }, + "node_modules/@expo/timeago.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@expo/timeago.js/-/timeago.js-1.0.0.tgz", + "integrity": "sha512-PD45CGlCL8kG0U3YcH1NvYxQThw5XAS7qE9bgP4L7dakm8lsMz+p8BQ1IjBFMmImawVWsV3py6JZINaEebXLnw==", + "dev": true, + "license": "MIT" + }, "node_modules/@expo/vector-icons": { "version": "15.0.2", "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-15.0.2.tgz", @@ -2554,6 +3526,75 @@ "@babel/highlight": "^7.10.4" } }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -3207,6 +4248,256 @@ "node": ">= 0.6" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@oclif/core": { + "version": "1.26.2", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-1.26.2.tgz", + "integrity": "sha512-6jYuZgXvHfOIc9GIaS4T3CIKGTjPmfAxuMcbCbMRKJJl4aq/4xeRlEz0E8/hz8HxvxZBGvN2GwAUHlrGWQVrVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/linewrap": "^1.0.0", + "@oclif/screen": "^3.0.4", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.10.0", + "debug": "^4.3.4", + "ejs": "^3.1.6", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "tslib": "^2.4.1", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oclif/core/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@oclif/core/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@oclif/core/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@oclif/core/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@oclif/linewrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", + "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==", + "dev": true, + "license": "ISC" + }, + "node_modules/@oclif/plugin-autocomplete": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-2.3.10.tgz", + "integrity": "sha512-Ow1AR8WtjzlyCtiWWPgzMyT8SbcDJFr47009riLioHa+MHX2BCDtVn2DVnN/E6b9JlPV5ptQpjefoRSNWBesmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.15.0", + "chalk": "^4.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@oclif/plugin-autocomplete/node_modules/@oclif/core": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.16.0.tgz", + "integrity": "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oclif/plugin-autocomplete/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@oclif/plugin-autocomplete/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@oclif/screen": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-3.0.8.tgz", + "integrity": "sha512-yx6KAqlt3TAHBduS2fMQtJDL2ufIHnDRArrJEOoTTuizxqmjLT+psGYOHpmMl3gvQpFJ11Hs76guUUktzAF9Bg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@openrouter/ai-sdk-provider": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@openrouter/ai-sdk-provider/-/ai-sdk-provider-1.2.0.tgz", @@ -3262,69 +4553,504 @@ "dev": true, "license": "MIT" }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" + "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { + "node_modules/@radix-ui/react-compose-refs": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.0.tgz", + "integrity": "sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", + "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@react-native-async-storage/async-storage": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-2.2.0.tgz", + "integrity": "sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw==", + "license": "MIT", + "dependencies": { + "merge-options": "^3.0.4" + }, + "peerDependencies": { + "react-native": "^0.0.0-0 || >=0.65 <1.0" + } }, "node_modules/@react-native/assets-registry": { "version": "0.81.4", @@ -3586,22 +5312,113 @@ "integrity": "sha512-9nRRHO1H+tcFqjb9gAM105Urtgcanbta2tuqCVY0NATHeFPDEAB7gPyiLxCHKMi1NbhP6TH0kxgSWXKZl1cyRg==", "license": "MIT" }, - "node_modules/@ricky0123/vad-web": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/@ricky0123/vad-web/-/vad-web-0.0.28.tgz", - "integrity": "sha512-Hvw8jN3r1SBxmjJa89HITxRcwlT6dc7CQPVtVQLrqfY8EeQcx41QeqKUol4lw8ZCeAIHKwYndHnB1K/4SAQJgQ==", - "license": "ISC", + "node_modules/@react-navigation/bottom-tabs": { + "version": "7.4.9", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-7.4.9.tgz", + "integrity": "sha512-Q7oUEB3YjwGyY/OLzkq+tv0STe2d9m8NAJOtKsd6GtN/LtrHmG7LdpOm5qitL60+gdY1zY7SWUD4am5c33RssA==", + "license": "MIT", "dependencies": { - "onnxruntime-web": "^1.17.0" + "@react-navigation/elements": "^2.6.5", + "color": "^4.2.3" + }, + "peerDependencies": { + "@react-navigation/native": "^7.1.18", + "react": ">= 18.2.0", + "react-native": "*", + "react-native-safe-area-context": ">= 4.0.0", + "react-native-screens": ">= 4.0.0" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", - "dev": true, + "node_modules/@react-navigation/core": { + "version": "7.12.4", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.12.4.tgz", + "integrity": "sha512-xLFho76FA7v500XID5z/8YfGTvjQPw7/fXsq4BIrVSqetNe/o/v+KAocEw4ots6kyv3XvSTyiWKh2g3pN6xZ9Q==", + "license": "MIT", + "dependencies": { + "@react-navigation/routers": "^7.5.1", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.3.11", + "query-string": "^7.1.3", + "react-is": "^19.1.0", + "use-latest-callback": "^0.2.4", + "use-sync-external-store": "^1.5.0" + }, + "peerDependencies": { + "react": ">= 18.2.0" + } + }, + "node_modules/@react-navigation/core/node_modules/react-is": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz", + "integrity": "sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==", "license": "MIT" }, + "node_modules/@react-navigation/elements": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.6.5.tgz", + "integrity": "sha512-HOaekvFeoqKyaSKP2hakL7OUnw0jIhk/1wMjcovUKblT76LMTumZpriqsc30m/Vnyy1a8zgp4VsuA1xftcalgQ==", + "license": "MIT", + "dependencies": { + "color": "^4.2.3", + "use-latest-callback": "^0.2.4", + "use-sync-external-store": "^1.5.0" + }, + "peerDependencies": { + "@react-native-masked-view/masked-view": ">= 0.2.0", + "@react-navigation/native": "^7.1.18", + "react": ">= 18.2.0", + "react-native": "*", + "react-native-safe-area-context": ">= 4.0.0" + }, + "peerDependenciesMeta": { + "@react-native-masked-view/masked-view": { + "optional": true + } + } + }, + "node_modules/@react-navigation/native": { + "version": "7.1.18", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.18.tgz", + "integrity": "sha512-DZgd6860dxcq3YX7UzIXeBr6m3UgXvo9acxp5jiJyIZXdR00Br9JwVkO7e0bUeTA2d3Z8dsmtAR84Y86NnH64Q==", + "license": "MIT", + "dependencies": { + "@react-navigation/core": "^7.12.4", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.3.11", + "use-latest-callback": "^0.2.4" + }, + "peerDependencies": { + "react": ">= 18.2.0", + "react-native": "*" + } + }, + "node_modules/@react-navigation/native-stack": { + "version": "7.3.28", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.3.28.tgz", + "integrity": "sha512-G3+BP3HgEjf3nx08JMopLDtwaMG4oNTr1EmkTBLe+Qh1+LKfPUVoDBg8kJVf50aauQdRxwlGReHBz9b0HXBuOg==", + "license": "MIT", + "dependencies": { + "@react-navigation/elements": "^2.6.5", + "warn-once": "^0.1.1" + }, + "peerDependencies": { + "@react-navigation/native": "^7.1.18", + "react": ">= 18.2.0", + "react-native": "*", + "react-native-safe-area-context": ">= 4.0.0", + "react-native-screens": ">= 4.0.0" + } + }, + "node_modules/@react-navigation/routers": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.5.1.tgz", + "integrity": "sha512-pxipMW/iEBSUrjxz2cDD7fNwkqR4xoi0E/PcfTQGCcdJwLoaxzab5kSadBLj1MTJyT0YRrOXL9umHpXtp+Dv4w==", + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.52.5", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", @@ -3910,6 +5727,47 @@ "win32" ] }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@segment/loosely-validate-event": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", + "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", + "dev": true, + "dependencies": { + "component-type": "^1.2.1", + "join-component": "^1.1.0" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -3940,6 +5798,22 @@ "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", "license": "MIT" }, + "node_modules/@tailwindcss/node": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.15.tgz", + "integrity": "sha512-HF4+7QxATZWY3Jr8OlZrBSXmwT3Watj0OogeDvdUY/ByXJHQ+LBtqA2brDb3sBxYslIFx6UP94BJ4X6a4L9Bmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.0", + "lightningcss": "1.30.2", + "magic-string": "^0.30.19", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.15" + } + }, "node_modules/@tailwindcss/oxide": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.15.tgz", @@ -4168,6 +6042,58 @@ "node": ">= 10" } }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.15.tgz", + "integrity": "sha512-IZh8IT76KujRz6d15wZw4eoeViT4TqmzVWNNfpuNCTKiaZUwgr5vtPqO4HjuYDyx3MgGR5qgPt1HMzTeLJyA3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.15", + "@tailwindcss/oxide": "4.1.15", + "postcss": "^8.4.41", + "tailwindcss": "4.1.15" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -4220,6 +6146,16 @@ "@types/node": "*" } }, + "node_modules/@types/bunyan": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz", + "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/chai": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", @@ -4231,6 +6167,16 @@ "assertion-error": "^2.0.1" } }, + "node_modules/@types/cli-progress": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.6.tgz", + "integrity": "sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -4245,7 +6191,10 @@ "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@types/ms": "*" } @@ -4261,17 +6210,9 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, "license": "MIT" }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, "node_modules/@types/express": { "version": "4.17.23", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", @@ -4307,14 +6248,11 @@ "@types/node": "*" } }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } + "node_modules/@types/hammerjs": { + "version": "2.0.46", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz", + "integrity": "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==", + "license": "MIT" }, "node_modules/@types/http-errors": { "version": "2.0.5", @@ -4347,14 +6285,19 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -4367,7 +6310,10 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" + "dev": true, + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@types/node": { "version": "20.19.23", @@ -4407,6 +6353,8 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -4415,8 +6363,9 @@ "version": "19.2.2", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", - "dev": true, "license": "MIT", + "optional": true, + "peer": true, "peerDependencies": { "@types/react": "^19.2.0" } @@ -4460,12 +6409,6 @@ "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "license": "MIT" }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, "node_modules/@types/uuid": { "version": "9.0.8", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", @@ -4498,12 +6441,526 @@ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", "license": "MIT" }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.2.tgz", + "integrity": "sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.46.2", + "@typescript-eslint/type-utils": "8.46.2", + "@typescript-eslint/utils": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.46.2", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.2.tgz", + "integrity": "sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.46.2", + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/typescript-estree": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.2.tgz", + "integrity": "sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.46.2", + "@typescript-eslint/types": "^8.46.2", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.2.tgz", + "integrity": "sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.2.tgz", + "integrity": "sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.2.tgz", + "integrity": "sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/typescript-estree": "8.46.2", + "@typescript-eslint/utils": "8.46.2", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.2.tgz", + "integrity": "sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.2.tgz", + "integrity": "sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.46.2", + "@typescript-eslint/tsconfig-utils": "8.46.2", + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/visitor-keys": "8.46.2", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.2.tgz", + "integrity": "sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.46.2", + "@typescript-eslint/types": "8.46.2", + "@typescript-eslint/typescript-estree": "8.46.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.46.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.2.tgz", + "integrity": "sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@urql/core": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.2.0.tgz", @@ -4536,27 +6993,6 @@ "node": ">= 20" } }, - "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, "node_modules/@vitest/expect": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", @@ -4694,8 +7130,12 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/@voice-dev/voice-assistant": { - "resolved": "packages/voice-assistant", + "node_modules/@voice-dev/app": { + "resolved": "packages/app", + "link": true + }, + "node_modules/@voice-dev/server": { + "resolved": "packages/server", "link": true }, "node_modules/@xmldom/xmldom": { @@ -4744,6 +7184,29 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", @@ -4799,6 +7262,48 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, "node_modules/anser": { "version": "1.4.10", "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", @@ -4856,6 +7361,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", + "dev": true, + "license": "MIT" + }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -4899,18 +7411,216 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "license": "MIT" }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "license": "MIT" }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, "node_modules/assertion-error": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", @@ -4921,6 +7631,33 @@ "node": ">=12" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", @@ -4933,6 +7670,47 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -5142,22 +7920,27 @@ "@babel/core": "^7.0.0" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, + "node_modules/bare-events": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.0.tgz", + "integrity": "sha512-AOhh6Bg5QmFIXdViHbMc2tLDsBIRxdkIaIddPslJF9Z5De3APBScuqGP2uThXnIpqFrgoxMNC6km7uXNIMLHXA==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -5243,19 +8026,6 @@ "node": ">=0.6" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/body-parser": { "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", @@ -5310,6 +8080,13 @@ "node": ">= 0.8" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC", + "peer": true + }, "node_modules/bplist-creator": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", @@ -5418,12 +8195,38 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "license": "MIT" }, + "node_modules/bunyan": { + "version": "1.8.15", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz", + "integrity": "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==", + "dev": true, + "engines": [ + "node >=0.10.0" + ], + "license": "MIT", + "bin": { + "bunyan": "bin/bunyan" + }, + "optionalDependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -5443,6 +8246,25 @@ "node": ">=8" } }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -5472,6 +8294,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -5484,6 +8316,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001751", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", @@ -5504,14 +8345,18 @@ ], "license": "CC-BY-4.0" }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" } }, "node_modules/chai": { @@ -5559,44 +8404,14 @@ "node": ">=8" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" } }, "node_modules/check-error": { @@ -5609,31 +8424,6 @@ "node": ">= 16" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/chownr": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", @@ -5690,6 +8480,22 @@ "node": ">=8" } }, + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -5702,6 +8508,19 @@ "node": ">=4" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cli-spinners": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", @@ -5714,6 +8533,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -5737,6 +8562,19 @@ "node": ">=0.8" } }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -5755,6 +8593,26 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorjs.io": { + "version": "0.6.0-alpha.1", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.6.0-alpha.1.tgz", + "integrity": "sha512-c/h/8uAmPydQcriRdX8UTAFHj6SpSHFHBA8LvMikvYWAVApPTwg/pyOXNsGmaCBd6L/EeDlRHSNhTtnIFp/qsg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/color" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -5767,16 +8625,6 @@ "node": ">= 0.8" } }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", @@ -5786,6 +8634,30 @@ "node": ">= 10" } }, + "node_modules/comment-json": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.4.1.tgz", + "integrity": "sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==", + "license": "MIT", + "dependencies": { + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", + "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -5846,34 +8718,6 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "license": "MIT" }, - "node_modules/concurrently": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", - "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "date-fns": "^2.30.0", - "lodash": "^4.17.21", - "rxjs": "^7.8.1", - "shell-quote": "^1.8.1", - "spawn-command": "0.0.2", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": "^14.13.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" - } - }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -6007,6 +8851,12 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, "node_modules/cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -6020,6 +8870,13 @@ "node": ">= 0.10" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-fetch": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", @@ -6043,6 +8900,16 @@ "node": ">= 8" } }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, "node_modules/crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -6052,27 +8919,158 @@ "node": ">=8" } }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-in-js-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", + "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "license": "MIT", + "dependencies": { + "hyphenate-style-name": "^1.0.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "devOptional": true, "license": "MIT" }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" }, "engines": { - "node": ">=0.11" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" } }, "node_modules/dayjs": { @@ -6098,17 +9096,13 @@ } } }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=0.10" } }, "node_modules/deep-eql": { @@ -6130,6 +9124,13 @@ "node": ">=4.0.0" } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -6151,6 +9152,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -6160,6 +9179,24 @@ "node": ">=8" } }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -6178,15 +9215,6 @@ "node": ">= 0.8" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -6206,17 +9234,125 @@ "node": ">=8" } }, - "node_modules/devlop": { + "node_modules/detect-node-es": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/diff": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, "license": "MIT", "dependencies": { - "dequal": "^2.0.0" + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domino": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", + "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/dotenv": { @@ -6258,6 +9394,21 @@ "url": "https://dotenvx.com" } }, + "node_modules/dtrace-provider": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", + "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", + "dev": true, + "hasInstallScript": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "nan": "^2.14.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -6272,18 +9423,1140 @@ "node": ">= 0.4" } }, + "node_modules/eas-cli": { + "version": "16.24.1", + "resolved": "https://registry.npmjs.org/eas-cli/-/eas-cli-16.24.1.tgz", + "integrity": "sha512-jhNIn5gptXoO/JGzPR/eAHtJxa5Ms3P6X5oV6k57J5AKT1qn9EwTW/WxPYtN3TzyWStFREhGiN11GfjHr8Gr+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/apple-utils": "2.1.12", + "@expo/code-signing-certificates": "0.0.5", + "@expo/config": "10.0.6", + "@expo/config-plugins": "9.0.12", + "@expo/eas-build-job": "1.0.239", + "@expo/eas-json": "16.23.0", + "@expo/env": "^1.0.0", + "@expo/json-file": "8.3.3", + "@expo/logger": "1.0.221", + "@expo/multipart-body-parser": "2.0.0", + "@expo/osascript": "2.1.4", + "@expo/package-manager": "1.7.0", + "@expo/pkcs12": "0.1.3", + "@expo/plist": "0.2.0", + "@expo/plugin-help": "5.1.23", + "@expo/plugin-warn-if-update-available": "2.5.1", + "@expo/prebuild-config": "8.0.17", + "@expo/results": "1.0.0", + "@expo/rudder-sdk-node": "1.1.1", + "@expo/spawn-async": "1.7.2", + "@expo/steps": "1.0.231", + "@expo/timeago.js": "1.0.0", + "@oclif/core": "^1.26.2", + "@oclif/plugin-autocomplete": "^2.3.10", + "@segment/ajv-human-errors": "^2.1.2", + "@urql/core": "4.0.11", + "@urql/exchange-retry": "1.2.0", + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "better-opn": "3.0.2", + "bplist-parser": "^0.3.0", + "chalk": "4.1.2", + "cli-progress": "3.12.0", + "dateformat": "4.6.3", + "diff": "7.0.0", + "dotenv": "16.3.1", + "env-paths": "2.2.0", + "envinfo": "7.11.0", + "fast-deep-equal": "3.1.3", + "fast-glob": "3.3.2", + "figures": "3.2.0", + "form-data": "^4.0.4", + "fs-extra": "11.2.0", + "getenv": "1.0.0", + "gradle-to-js": "2.0.1", + "graphql": "16.8.1", + "graphql-tag": "2.12.6", + "https-proxy-agent": "5.0.1", + "ignore": "5.3.0", + "indent-string": "4.0.0", + "jks-js": "1.1.0", + "joi": "17.11.0", + "jsonwebtoken": "9.0.0", + "keychain": "1.5.0", + "log-symbols": "4.1.0", + "mime": "3.0.0", + "minimatch": "5.1.2", + "minizlib": "3.0.1", + "nanoid": "3.3.8", + "node-fetch": "2.6.7", + "node-forge": "1.3.1", + "node-stream-zip": "1.15.0", + "nullthrows": "1.1.1", + "ora": "5.1.0", + "pkg-dir": "4.2.0", + "pngjs": "7.0.0", + "promise-limit": "2.7.0", + "promise-retry": "2.0.1", + "prompts": "2.4.2", + "qrcode-terminal": "0.12.0", + "resolve-from": "5.0.0", + "semver": "7.5.4", + "set-interval-async": "3.0.3", + "slash": "3.0.0", + "tar": "6.2.1", + "tar-stream": "3.1.7", + "terminal-link": "2.1.1", + "ts-deepmerge": "6.2.0", + "tslib": "2.6.2", + "turndown": "7.1.2", + "untildify": "4.0.0", + "uuid": "9.0.1", + "wrap-ansi": "7.0.0", + "yaml": "2.6.0", + "zod": "^4.1.3" + }, + "bin": { + "eas": "bin/run" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eas-cli/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eas-cli/node_modules/@expo/config": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-10.0.6.tgz", + "integrity": "sha512-xXkfPElrtxznkOZxFASJ7OPa6E9IHSjcZwj5BQ6XUF2dz5M7AFa2h5sXM8AalSaDU5tEBSgoUOjTh5957TlR8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "~9.0.10", + "@expo/config-types": "^52.0.0", + "@expo/json-file": "^9.0.0", + "deepmerge": "^4.3.1", + "getenv": "^1.0.0", + "glob": "^10.4.2", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0", + "resolve-workspace-root": "^2.0.0", + "semver": "^7.6.0", + "slugify": "^1.3.4", + "sucrase": "3.35.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/config-plugins": { + "version": "9.0.12", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-9.0.12.tgz", + "integrity": "sha512-/Ko/NM+GzvJyRkq8PITm8ms0KY5v0wmN1OQFYRMkcJqOi3PjlhndW+G6bHpJI9mkQXBaUnHwAiGLqIC3+MQ5Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/config-types": "^52.0.0", + "@expo/json-file": "~9.0.0", + "@expo/plist": "^0.2.0", + "@expo/sdk-runtime-versions": "^1.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.5", + "getenv": "^1.0.0", + "glob": "^10.4.2", + "resolve-from": "^5.0.0", + "semver": "^7.5.4", + "slash": "^3.0.0", + "slugify": "^1.6.6", + "xcode": "^3.0.1", + "xml2js": "0.6.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/config-plugins/node_modules/@expo/json-file": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.0.2.tgz", + "integrity": "sha512-yAznIUrybOIWp3Uax7yRflB0xsEpvIwIEqIjao9SGi2Gaa+N0OamWfe0fnXBSWF+2zzF4VvqwT4W5zwelchfgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.3", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/config-types": { + "version": "52.0.5", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-52.0.5.tgz", + "integrity": "sha512-AMDeuDLHXXqd8W+0zSjIt7f37vUd/BP8p43k68NHpyAvQO+z8mbQZm3cNQVAMySeayK2XoPigAFB1JF2NFajaA==", + "dev": true, + "license": "MIT" + }, + "node_modules/eas-cli/node_modules/@expo/config/node_modules/@expo/json-file": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.1.5.tgz", + "integrity": "sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.3" + } + }, + "node_modules/eas-cli/node_modules/@expo/config/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/@expo/env": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-1.0.7.tgz", + "integrity": "sha512-qSTEnwvuYJ3umapO9XJtrb1fAqiPlmUUg78N0IZXXGwQRt+bkp0OBls+Y5Mxw/Owj8waAM0Z3huKKskRADR5ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "debug": "^4.3.4", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "getenv": "^2.0.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/env/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/eas-cli/node_modules/@expo/env/node_modules/getenv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-2.0.0.tgz", + "integrity": "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eas-cli/node_modules/@expo/image-utils": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.6.5.tgz", + "integrity": "sha512-RsS/1CwJYzccvlprYktD42KjyfWZECH6PPIEowvoSmXfGLfdViwcUEI4RvBfKX5Jli6P67H+6YmHvPTbGOboew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.0.0", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "jimp-compact": "0.16.1", + "parse-png": "^2.1.0", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "temp-dir": "~2.0.0", + "unique-string": "~2.0.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/image-utils/node_modules/fs-extra": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/@expo/image-utils/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/@expo/image-utils/node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/json-file": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.3.tgz", + "integrity": "sha512-eZ5dld9AD0PrVRiIWpRkm5aIoWBw3kAyd8VkuWEy92sEthBKDDDHAnK2a0dw0Eil6j7rK7lS/Qaq/Zzngv2h5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.2", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/osascript": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.4.tgz", + "integrity": "sha512-LcPjxJ5FOFpqPORm+5MRLV0CuYWMthJYV6eerF+lQVXKlvgSn3EOqaHC3Vf3H+vmB0f6G4kdvvFtg40vG4bIhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "exec-async": "^2.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.7.0.tgz", + "integrity": "sha512-yWn5TIjd42wLHZjNtdZkvCkcxqUGxlI4YHb+bQmgm3tWZ8aBHnLhPb0rgU8+hVHCofmRvVUXfVZv8Uh+kkLXgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/json-file": "^9.0.0", + "@expo/spawn-async": "^1.7.2", + "ansi-regex": "^5.0.0", + "chalk": "^4.0.0", + "find-up": "^5.0.0", + "js-yaml": "^3.13.1", + "micromatch": "^4.0.8", + "npm-package-arg": "^11.0.0", + "ora": "^3.4.0", + "resolve-workspace-root": "^2.0.0", + "split": "^1.0.1", + "sudo-prompt": "9.1.1" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager/node_modules/@expo/json-file": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.1.5.tgz", + "integrity": "sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.3" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager/node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager/node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager/node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager/node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eas-cli/node_modules/@expo/package-manager/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eas-cli/node_modules/@expo/plist": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.2.0.tgz", + "integrity": "sha512-F/IZJQaf8OIVnVA6XWUeMPC3OH6MV00Wxf0WC0JhTQht2QgjyHUa3U5Gs3vRtDq8tXNsZneOQRDVwpaOnd4zTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "~0.7.7", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/prebuild-config": { + "version": "8.0.17", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-8.0.17.tgz", + "integrity": "sha512-HM+XpDox3fAZuXZXvy55VRcBbsZSDijGf8jI8i/pexgWvtsnt1ouelPXRuE1pXDicMX+lZO83QV+XkyLmBEXYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@expo/config": "~10.0.4", + "@expo/config-plugins": "~9.0.0", + "@expo/config-types": "^52.0.0", + "@expo/image-utils": "^0.6.0", + "@expo/json-file": "^9.0.0", + "@react-native/normalize-colors": "0.76.2", + "debug": "^4.3.1", + "fs-extra": "^9.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "xml2js": "0.6.0" + } + }, + "node_modules/eas-cli/node_modules/@expo/prebuild-config/node_modules/@expo/json-file": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.1.5.tgz", + "integrity": "sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.3" + } + }, + "node_modules/eas-cli/node_modules/@expo/prebuild-config/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/@expo/prebuild-config/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/@react-native/normalize-colors": { + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.76.2.tgz", + "integrity": "sha512-ICoOpaTLPsFQjNLSM00NgQr6wal300cZZonHVSDXKntX+BfkLeuCHRtr/Mn+klTtW+/1v2/2FRm9dXjvyGf9Dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eas-cli/node_modules/@segment/ajv-human-errors": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@segment/ajv-human-errors/-/ajv-human-errors-2.15.0.tgz", + "integrity": "sha512-tgeMMuYYJt3Aar5IIk3kyfL9zMvGsv5d7KsVT/2auri+hEH/L2M1i8X67ne4JjMWZqENYIGY1WuI4oPEL1H/xA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.0.0" + } + }, + "node_modules/eas-cli/node_modules/@urql/core": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/@urql/core/-/core-4.0.11.tgz", + "integrity": "sha512-FFdY97vF5xnUrElcGw9erOLvtu+KGMLfwrLNDfv4IPgdp2IBsiGe+Kb7Aypfd3kH//BETewVSLm3+y2sSzjX6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@0no-co/graphql.web": "^1.0.1", + "wonka": "^6.3.2" + } + }, + "node_modules/eas-cli/node_modules/@urql/exchange-retry": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.2.0.tgz", + "integrity": "sha512-1O/biKiVhhn0EtvDF4UOvz325K4RrLupfL8rHcmqD2TBLv4qVDWQuzx4JGa1FfqjjRb+C9TNZ6w19f32Mq85Ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@urql/core": ">=4.0.0", + "wonka": "^6.3.2" + } + }, + "node_modules/eas-cli/node_modules/@xmldom/xmldom": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz", + "integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==", + "deprecated": "this version is no longer supported, please update to at least 0.8.*", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/eas-cli/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/eas-cli/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eas-cli/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eas-cli/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/eas-cli/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eas-cli/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eas-cli/node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/eas-cli/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eas-cli/node_modules/getenv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz", + "integrity": "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eas-cli/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eas-cli/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eas-cli/node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/eas-cli/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eas-cli/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/eas-cli/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eas-cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/eas-cli/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eas-cli/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/eas-cli/node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/eas-cli/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/eas-cli/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eas-cli/node_modules/ora": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", + "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.4.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eas-cli/node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eas-cli/node_modules/pngjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/eas-cli/node_modules/qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", + "dev": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/eas-cli/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eas-cli/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eas-cli/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/eas-cli/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eas-cli/node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eas-cli/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/eas-cli/node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eas-cli/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eas-cli/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "license": "0BSD" + }, + "node_modules/eas-cli/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/eas-cli/node_modules/xmlbuilder": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz", + "integrity": "sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/eas-cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/eas-cli/node_modules/yaml": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/eas-cli/node_modules/zod": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz", + "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "license": "MIT" }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "license": "MIT" }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.5.237", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz", @@ -6305,6 +10578,26 @@ "node": ">= 0.8" } }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "license": "BSD-2-Clause" + }, "node_modules/env-editor": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", @@ -6314,6 +10607,53 @@ "node": ">=8" } }, + "node_modules/env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/env-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/env-string/-/env-string-1.0.1.tgz", + "integrity": "sha512-/DhCJDf5DSFK32joQiWRpWrT0h7p3hVQfMKxiBb7Nt8C8IF8BYyPtclDnuGGLOoj16d/8udKeiE7JbkotDmorQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/envinfo": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", + "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/error-stack-parser": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", @@ -6323,6 +10663,75 @@ "stackframe": "^1.3.4" } }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -6341,6 +10750,34 @@ "node": ">= 0.4" } }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", @@ -6375,6 +10812,37 @@ "node": ">= 0.4" } }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/esbuild": { "version": "0.25.11", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", @@ -6444,6 +10912,443 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint": { + "version": "9.38.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", + "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.1", + "@eslint/core": "^0.16.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.38.0", + "@eslint/plugin-kit": "^0.4.0", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-expo": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-expo/-/eslint-config-expo-10.0.0.tgz", + "integrity": "sha512-/XC/DvniUWTzU7Ypb/cLDhDD4DXqEio4lug1ObD/oQ9Hcx3OVOR8Mkp4u6U4iGoZSJyIQmIk3WVHe/P1NYUXKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^8.18.2", + "@typescript-eslint/parser": "^8.18.2", + "eslint-import-resolver-typescript": "^3.6.3", + "eslint-plugin-expo": "^1.0.0", + "eslint-plugin-import": "^2.30.0", + "eslint-plugin-react": "^7.37.3", + "eslint-plugin-react-hooks": "^5.1.0", + "globals": "^16.0.0" + }, + "peerDependencies": { + "eslint": ">=8.10" + } + }, + "node_modules/eslint-config-expo/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-expo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-expo/-/eslint-plugin-expo-1.0.0.tgz", + "integrity": "sha512-qLtunR+cNFtC+jwYCBia5c/PJurMjSLMOV78KrEOyQK02ohZapU4dCFFnS2hfrJuw0zxfsjVkjqg3QBqi933QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "^8.29.1", + "@typescript-eslint/utils": "^8.29.1", + "eslint": "^9.24.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.10" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -6457,14 +11362,40 @@ "node": ">=4" } }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, "node_modules/estree-walker": { @@ -6477,6 +11408,16 @@ "@types/estree": "^1.0.0" } }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -6504,6 +11445,16 @@ "node": ">=0.8.x" } }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/eventsource": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", @@ -6608,6 +11559,34 @@ "react-native": "*" } }, + "node_modules/expo-audio": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/expo-audio/-/expo-audio-1.0.13.tgz", + "integrity": "sha512-Z91jMYv/BMpn5Dkyu204RyNl2EpXRx8HgScTYlwRRYewtfTH8NN+bwZQAApn33NwGhW1cIlcuG/XCAeJBr9l4Q==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-av": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/expo-av/-/expo-av-16.0.7.tgz", + "integrity": "sha512-QReef6/RYuZ4GekTcZZw5zY26pcPOmHqK6LMgFlPhnsT0ga97HJrgMc63pvIiojDP+q4oIv24g+QPD8ljZu4XQ==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*", + "react-native-web": "*" + }, + "peerDependenciesMeta": { + "react-native-web": { + "optional": true + } + } + }, "node_modules/expo-build-properties": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/expo-build-properties/-/expo-build-properties-1.0.9.tgz", @@ -6669,6 +11648,62 @@ "react-native": "*" } }, + "node_modules/expo-dev-client": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/expo-dev-client/-/expo-dev-client-6.0.16.tgz", + "integrity": "sha512-8GLud/dtNteqChL9pNGqLBSHd7of2scFmsgN5WwWgtt2dET7+EJM/K1zp0FYUzfmIF5NLsf5xUDg6AjDldOLqg==", + "license": "MIT", + "dependencies": { + "expo-dev-launcher": "6.0.16", + "expo-dev-menu": "7.0.15", + "expo-dev-menu-interface": "2.0.0", + "expo-manifests": "~1.0.8", + "expo-updates-interface": "~2.0.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-dev-launcher": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/expo-dev-launcher/-/expo-dev-launcher-6.0.16.tgz", + "integrity": "sha512-OVg5T5ip7evh8zHJeIj2IYgtvTeY8EOiwNQYlmN0JHAw8wlUxYHnSf08RcevVgYTKcIryCyeLG5UHxsQQWbycA==", + "license": "MIT", + "dependencies": { + "expo-dev-menu": "7.0.15", + "expo-manifests": "~1.0.8" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-dev-menu": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/expo-dev-menu/-/expo-dev-menu-7.0.15.tgz", + "integrity": "sha512-aThUhoBUuQVbCS2k0MwP28/au46FqOXAAiGtCYIWp+Hne95RgFO+KaO0VGksJFwK7I9IPbbminm8ijZDf2KzXg==", + "license": "MIT", + "dependencies": { + "expo-dev-menu-interface": "2.0.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-dev-menu-interface": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/expo-dev-menu-interface/-/expo-dev-menu-interface-2.0.0.tgz", + "integrity": "sha512-BvAMPt6x+vyXpThsyjjOYyjwfjREV4OOpQkZ0tNl+nGpsPfcY9mc6DRACoWnH9KpLzyIt3BOgh3cuy/h/OxQjw==", + "license": "MIT", + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-eas-client": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/expo-eas-client/-/expo-eas-client-1.0.7.tgz", + "integrity": "sha512-Q/b1X0fM+3beqqvffok14pjxMF600NxopdSr9WJY61fF4xllcVnALS0kEudffp9ihMOfcb5xWYqzKj6jMqYDIw==", + "license": "MIT" + }, "node_modules/expo-file-system": { "version": "19.0.17", "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-19.0.17.tgz", @@ -6693,6 +11728,38 @@ "react-native": "*" } }, + "node_modules/expo-haptics": { + "version": "15.0.7", + "resolved": "https://registry.npmjs.org/expo-haptics/-/expo-haptics-15.0.7.tgz", + "integrity": "sha512-7flWsYPrwjJxZ8x82RiJtzsnk1Xp9ahnbd9PhCy3NnsemyMApoWIEUr4waPqFr80DtiLZfhD9VMLL1CKa8AImQ==", + "license": "MIT", + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-image": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-3.0.10.tgz", + "integrity": "sha512-i4qNCEf9Ur7vDqdfDdFfWnNCAF2efDTdahuDy9iELPS2nzMKBLeeGA2KxYEPuRylGCS96Rwm+SOZJu6INc2ADQ==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*", + "react-native-web": "*" + }, + "peerDependenciesMeta": { + "react-native-web": { + "optional": true + } + } + }, + "node_modules/expo-json-utils": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/expo-json-utils/-/expo-json-utils-0.15.0.tgz", + "integrity": "sha512-duRT6oGl80IDzH2LD2yEFWNwGIC2WkozsB6HF3cDYNoNNdUvFk6uN3YiwsTsqVM/D0z6LEAQ01/SlYvN+Fw0JQ==", + "license": "MIT" + }, "node_modules/expo-keep-awake": { "version": "15.0.7", "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-15.0.7.tgz", @@ -6703,6 +11770,33 @@ "react": "*" } }, + "node_modules/expo-linking": { + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/expo-linking/-/expo-linking-8.0.8.tgz", + "integrity": "sha512-MyeMcbFDKhXh4sDD1EHwd0uxFQNAc6VCrwBkNvvvufUsTYFq3glTA9Y8a+x78CPpjNqwNAamu74yIaIz7IEJyg==", + "license": "MIT", + "dependencies": { + "expo-constants": "~18.0.8", + "invariant": "^2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-manifests": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/expo-manifests/-/expo-manifests-1.0.8.tgz", + "integrity": "sha512-nA5PwU2uiUd+2nkDWf9e71AuFAtbrb330g/ecvuu52bmaXtN8J8oiilc9BDvAX0gg2fbtOaZdEdjBYopt1jdlQ==", + "license": "MIT", + "dependencies": { + "@expo/config": "~12.0.8", + "expo-json-utils": "~0.15.0" + }, + "peerDependencies": { + "expo": "*" + } + }, "node_modules/expo-modules-autolinking": { "version": "3.0.18", "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-3.0.18.tgz", @@ -6733,6 +11827,89 @@ "react-native": "*" } }, + "node_modules/expo-router": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/expo-router/-/expo-router-6.0.13.tgz", + "integrity": "sha512-ngvdEah2+/Xf3/2SSrEuaW9qawUYlkh3NEpw0ZSsjUjgliKTI2rtw1H+dNnIsZEcvnGe/b8UvQHai60KnhAnJw==", + "license": "MIT", + "dependencies": { + "@expo/metro-runtime": "^6.1.2", + "@expo/schema-utils": "^0.1.7", + "@radix-ui/react-slot": "1.2.0", + "@radix-ui/react-tabs": "^1.1.12", + "@react-navigation/bottom-tabs": "^7.4.0", + "@react-navigation/native": "^7.1.8", + "@react-navigation/native-stack": "^7.3.16", + "client-only": "^0.0.1", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "expo-server": "^1.0.2", + "fast-deep-equal": "^3.1.3", + "invariant": "^2.2.4", + "nanoid": "^3.3.8", + "query-string": "^7.1.3", + "react-fast-compare": "^3.2.2", + "react-native-is-edge-to-edge": "^1.1.6", + "semver": "~7.6.3", + "server-only": "^0.0.1", + "sf-symbols-typescript": "^2.1.0", + "shallowequal": "^1.1.0", + "use-latest-callback": "^0.2.1", + "vaul": "^1.1.2" + }, + "peerDependencies": { + "@expo/metro-runtime": "^6.1.2", + "@react-navigation/drawer": "^7.5.0", + "@testing-library/react-native": ">= 12.0.0", + "expo": "*", + "expo-constants": "^18.0.9", + "expo-linking": "^8.0.8", + "react": "*", + "react-dom": "*", + "react-native": "*", + "react-native-gesture-handler": "*", + "react-native-reanimated": "*", + "react-native-safe-area-context": ">= 5.4.0", + "react-native-screens": "*", + "react-native-web": "*", + "react-server-dom-webpack": ">= 19.0.0" + }, + "peerDependenciesMeta": { + "@react-navigation/drawer": { + "optional": true + }, + "@testing-library/react-native": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native-gesture-handler": { + "optional": true + }, + "react-native-reanimated": { + "optional": true + }, + "react-native-web": { + "optional": true + }, + "react-server-dom-webpack": { + "optional": true + } + } + }, + "node_modules/expo-router/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/expo-server": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-1.0.2.tgz", @@ -6742,6 +11919,131 @@ "node": ">=20.16.0" } }, + "node_modules/expo-splash-screen": { + "version": "31.0.10", + "resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-31.0.10.tgz", + "integrity": "sha512-i6g9IK798mae4yvflstQ1HkgahIJ6exzTCTw4vEdxV0J2SwiW3Tj+CwRjf0te7Zsb+7dDQhBTmGZwdv00VER2A==", + "license": "MIT", + "dependencies": { + "@expo/prebuild-config": "^54.0.3" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-status-bar": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-3.0.8.tgz", + "integrity": "sha512-L248XKPhum7tvREoS1VfE0H6dPCaGtoUWzRsUv7hGKdiB4cus33Rc0sxkWkoQ77wE8stlnUlL5lvmT0oqZ3ZBw==", + "license": "MIT", + "dependencies": { + "react-native-is-edge-to-edge": "^1.2.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-structured-headers": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/expo-structured-headers/-/expo-structured-headers-5.0.0.tgz", + "integrity": "sha512-RmrBtnSphk5REmZGV+lcdgdpxyzio5rJw8CXviHE6qH5pKQQ83fhMEcigvrkBdsn2Efw2EODp4Yxl1/fqMvOZw==", + "license": "MIT" + }, + "node_modules/expo-symbols": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/expo-symbols/-/expo-symbols-1.0.7.tgz", + "integrity": "sha512-ZqFUeTXbwO6BrE00n37wTXYfJmsjFrfB446jeB9k9w7aA8a6eugNUIzNsUIUfbFWoOiY4wrGmpLSLPBwk4PH+g==", + "license": "MIT", + "dependencies": { + "sf-symbols-typescript": "^2.0.0" + }, + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo-system-ui": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/expo-system-ui/-/expo-system-ui-6.0.8.tgz", + "integrity": "sha512-DzJYqG2fibBSLzPDL4BybGCiilYOtnI1OWhcYFwoM4k0pnEzMBt1Vj8Z67bXglDDuz2HCQPGNtB3tQft5saKqQ==", + "license": "MIT", + "dependencies": { + "@react-native/normalize-colors": "0.81.5", + "debug": "^4.3.2" + }, + "peerDependencies": { + "expo": "*", + "react-native": "*", + "react-native-web": "*" + }, + "peerDependenciesMeta": { + "react-native-web": { + "optional": true + } + } + }, + "node_modules/expo-system-ui/node_modules/@react-native/normalize-colors": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.81.5.tgz", + "integrity": "sha512-0HuJ8YtqlTVRXGZuGeBejLE04wSQsibpTI+RGOyVqxZvgtlLLC/Ssw0UmbHhT4lYMp2fhdtvKZSs5emWB1zR/g==", + "license": "MIT" + }, + "node_modules/expo-updates": { + "version": "29.0.12", + "resolved": "https://registry.npmjs.org/expo-updates/-/expo-updates-29.0.12.tgz", + "integrity": "sha512-gE3bU6qi5g8Y1TtBzoeHac3utR0i1Wj1ufThh+zpDyFjFbegFm+gwvNLVCBagZUClYKk/4CKxh5ytnwZmPzH+g==", + "license": "MIT", + "dependencies": { + "@expo/code-signing-certificates": "0.0.5", + "@expo/plist": "^0.4.7", + "@expo/spawn-async": "^1.7.2", + "arg": "4.1.0", + "chalk": "^4.1.2", + "debug": "^4.3.4", + "expo-eas-client": "~1.0.7", + "expo-manifests": "~1.0.8", + "expo-structured-headers": "~5.0.0", + "expo-updates-interface": "~2.0.0", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "ignore": "^5.3.1", + "resolve-from": "^5.0.0" + }, + "bin": { + "expo-updates": "bin/cli.js" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-updates-interface": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/expo-updates-interface/-/expo-updates-interface-2.0.0.tgz", + "integrity": "sha512-pTzAIufEZdVPKql6iMi5ylVSPqV1qbEopz9G6TSECQmnNde2nwq42PxdFBaUEd8IZJ/fdJLQnOT3m6+XJ5s7jg==", + "license": "MIT", + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-updates/node_modules/arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", + "license": "MIT" + }, + "node_modules/expo-web-browser": { + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-15.0.8.tgz", + "integrity": "sha512-gn+Y2ABQr6/EvFN/XSjTuzwsSPLU1vNVVV0wNe4xXkcSnYGdHxt9kHxs9uLfoCyPByoaGF4VxzAhHIMI7yDcSg==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, "node_modules/expo/node_modules/@expo/cli": { "version": "54.0.12", "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.12.tgz", @@ -6954,24 +12256,49 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "license": "MIT" }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", @@ -6988,6 +12315,16 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -6997,6 +12334,36 @@ "bser": "2.1.1" } }, + "node_modules/fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "license": "MIT", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", + "license": "MIT" + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.3" + } + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -7015,6 +12382,13 @@ } } }, + "node_modules/fetch-retry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz", + "integrity": "sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==", + "dev": true, + "license": "MIT" + }, "node_modules/fflate": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", @@ -7022,6 +12396,68 @@ "dev": true, "license": "MIT" }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -7034,6 +12470,15 @@ "node": ">=8" } }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/finalhandler": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", @@ -7083,11 +12528,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flatbuffers": { - "version": "25.9.23", - "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-25.9.23.tgz", - "integrity": "sha512-MI1qs7Lo4Syw0EOzUl0xjs2lsoeqFku44KpngfIduHBYvzm8h2+7K8YMQh1JtVVVrUvhLpNwqVi4DERegUJhPQ==", - "license": "Apache-2.0" + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } }, "node_modules/flatted": { "version": "3.3.3", @@ -7108,6 +12561,22 @@ "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==", "license": "BSD-2-Clause" }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -7186,6 +12655,54 @@ "node": ">= 0.6" } }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7215,6 +12732,47 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -7257,6 +12815,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -7279,6 +12846,24 @@ "node": ">= 0.4" } }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-tsconfig": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz", @@ -7346,6 +12931,63 @@ "node": ">=4" } }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/golden-fleece": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/golden-fleece/-/golden-fleece-1.0.9.tgz", + "integrity": "sha512-YSwLaGMOgSBx9roJlNLL12c+FRiw7VECphinc6mGucphc/ZxTHgdEz6gmJqH6NOzYEd/yr64hwjom5pZ+tJVpg==", + "dev": true + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -7364,11 +13006,64 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/guid-typescript": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/guid-typescript/-/guid-typescript-1.0.9.tgz", - "integrity": "sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==", - "license": "ISC" + "node_modules/gradle-to-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/gradle-to-js/-/gradle-to-js-2.0.1.tgz", + "integrity": "sha512-is3hDn9zb8XXnjbEeAEIqxTpLHUiGBqjegLmXPuyMBfKAggpadWFku4/AP8iYAGBX6qR9/5UIUIp47V0XI3aMw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lodash.merge": "^4.6.2" + }, + "bin": { + "gradle-to-js": "cli.js" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/has-flag": { "version": "4.0.0", @@ -7379,6 +13074,35 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -7418,46 +13142,6 @@ "node": ">= 0.4" } }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hermes-estree": { "version": "0.29.1", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", @@ -7473,6 +13157,21 @@ "hermes-estree": "0.29.1" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, "node_modules/hosted-git-info": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", @@ -7491,14 +13190,22 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, - "node_modules/html-url-attributes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", - "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/http-call": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", + "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", + "dev": true, + "license": "ISC", + "dependencies": { + "content-type": "^1.0.4", + "debug": "^4.1.1", + "is-retry-allowed": "^1.1.0", + "is-stream": "^2.0.0", + "parse-json": "^4.0.0", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=8.0.0" } }, "node_modules/http-errors": { @@ -7539,6 +13246,22 @@ "ms": "^2.0.0" } }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/hyphenate-style-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", + "license": "BSD-3-Clause" + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7595,6 +13318,33 @@ "node": ">=16.x" } }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -7604,6 +13354,16 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -7627,11 +13387,29 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "license": "ISC" }, - "node_modules/inline-style-parser": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", - "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", - "license": "MIT" + "node_modules/inline-style-prefixer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz", + "integrity": "sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==", + "license": "MIT", + "dependencies": { + "css-in-js-utils": "^3.1.0" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/invariant": { "version": "2.2.4", @@ -7651,41 +13429,125 @@ "node": ">= 0.10" } }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-core-module": { @@ -7703,14 +13565,39 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-docker": { @@ -7738,6 +13625,22 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -7747,6 +13650,26 @@ "node": ">=8" } }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -7760,14 +13683,40 @@ "node": ">=0.10.0" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number": { @@ -7779,16 +13728,21 @@ "node": ">=0.12.0" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-promise": { @@ -7797,6 +13751,187 @@ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "license": "MIT" }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -7809,6 +13944,13 @@ "node": ">=8" } }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -7840,6 +13982,24 @@ "node": ">=8" } }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -7855,6 +14015,24 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", @@ -8016,6 +14194,49 @@ "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==", "license": "MIT" }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/jks-js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jks-js/-/jks-js-1.1.0.tgz", + "integrity": "sha512-irWi8S2V029Vic63w0/TYa8NIZwXu9oeMtHQsX51JDIVBo0lrEaOoyM8ALEEh5PVKD6TrA26FixQK6TzT7dHqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-forge": "^1.3.1", + "node-int64": "^0.4.0", + "node-rsa": "^1.1.1" + } + }, + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/join-component": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", + "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==", + "dev": true, + "license": "MIT" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8040,6 +14261,16 @@ "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", "license": "0BSD" }, + "node_modules/jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -8052,6 +14283,20 @@ "node": ">=6" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", @@ -8064,6 +14309,13 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "license": "MIT" }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -8076,6 +14328,105 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwa": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keychain": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/keychain/-/keychain-1.5.0.tgz", + "integrity": "sha512-liyp4r+93RI7EB2jhwaRd4MWfdgHH6shuldkaPMkELCJjMFvOOVXuTvw1pGqFfhsrgA6OqfykWWPQgBjQakVag==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -8103,6 +14454,20 @@ "node": ">=6" } }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/lighthouse-logger": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", @@ -8383,6 +14748,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, + "node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -8405,12 +14779,34 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "license": "MIT" }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", @@ -8500,22 +14896,6 @@ "node": ">=4" } }, - "node_modules/long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", - "license": "Apache-2.0" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -8544,13 +14924,15 @@ "yallist": "^3.0.2" } }, - "node_modules/lucide-react": { + "node_modules/lucide-react-native": { "version": "0.546.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.546.0.tgz", - "integrity": "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ==", + "resolved": "https://registry.npmjs.org/lucide-react-native/-/lucide-react-native-0.546.0.tgz", + "integrity": "sha512-v/qe5JnOHKIhccqfE7Ln78wd0mn5YgmCBvkTX2ca8sWeoym3ZYZcY/mapFsxssarutO4bMI/bRtTqiusGbpOUw==", "license": "ISC", "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-native": "*", + "react-native-svg": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0" } }, "node_modules/magic-string": { @@ -8563,6 +14945,13 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -8572,6 +14961,31 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/marky": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", @@ -8587,158 +15001,30 @@ "node": ">= 0.4" } }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", - "license": "MIT", + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0", + "peer": true }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "license": "MIT" }, "node_modules/media-typer": { "version": "0.3.0", @@ -8764,12 +15050,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-options/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "license": "MIT" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -9105,448 +15422,6 @@ } } }, - "node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -9671,6 +15546,17 @@ "node": ">=10" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": "*" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -9687,6 +15573,110 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/multipasta": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multipasta/-/multipasta-0.2.7.tgz", + "integrity": "sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", + "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/mv/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/mv/node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mv/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mv/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mv/node_modules/rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^6.0.1" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -9698,6 +15688,14 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nan": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.0.tgz", + "integrity": "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -9716,6 +15714,69 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/nativewind": { + "version": "5.0.0-preview.2", + "resolved": "https://registry.npmjs.org/nativewind/-/nativewind-5.0.0-preview.2.tgz", + "integrity": "sha512-rTNrwFIwl/n2VH7KPvsZj/NdvKf+uGHF4NYtPamr5qG2eTYGT8B8VeyCPfYf/xUskpWOLJVqVEXaFO/vuIDEdw==", + "license": "MIT", + "workspaces": [ + "example" + ], + "dependencies": { + "tailwindcss-safe-area": "^1.1.0" + }, + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "react-native-css": "^3.0.1", + "tailwindcss": ">4.1.11" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "ncp": "bin/ncp" + } + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -9792,6 +15853,30 @@ "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", "license": "MIT" }, + "node_modules/node-rsa": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/node-rsa/-/node-rsa-1.1.1.tgz", + "integrity": "sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1": "^0.2.4" + } + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -9828,6 +15913,19 @@ "node": ">=10" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -9867,6 +15965,116 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -9909,26 +16117,6 @@ "node": ">=4" } }, - "node_modules/onnxruntime-common": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.23.0.tgz", - "integrity": "sha512-Auz8S9D7vpF8ok7fzTobvD1XdQDftRf/S7pHmjeCr3Xdymi4z1C7zx4vnT6nnUjbpelZdGwda0BmWHCCTMKUTg==", - "license": "MIT" - }, - "node_modules/onnxruntime-web": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/onnxruntime-web/-/onnxruntime-web-1.23.0.tgz", - "integrity": "sha512-w0bvC2RwDxphOUFF8jFGZ/dYw+duaX20jM6V4BIZJPCfK4QuCpB/pVREV+hjYbT3x4hyfa2ZbTaWx4e1Vot0fQ==", - "license": "MIT", - "dependencies": { - "flatbuffers": "^25.1.24", - "guid-typescript": "^1.0.9", - "long": "^5.2.3", - "onnxruntime-common": "1.23.0", - "platform": "^1.3.6", - "protobufjs": "^7.2.4" - } - }, "node_modules/open": { "version": "7.4.2", "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", @@ -9990,6 +16178,24 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "license": "MIT" }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/ora": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", @@ -10099,6 +16305,24 @@ "node": ">=4" } }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -10129,19 +16353,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -10157,30 +16368,32 @@ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, - "node_modules/parse-entities": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" + "callsites": "^3.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=6" } }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } }, "node_modules/parse-png": { "version": "2.1.0", @@ -10203,6 +16416,17 @@ "node": ">= 0.8" } }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "dev": true, + "license": "0BSD", + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -10264,6 +16488,16 @@ "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "license": "MIT" }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -10318,11 +16552,74 @@ "node": ">=16.20.0" } }, - "node_modules/platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", - "license": "MIT" + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/playwright": { "version": "1.56.1", @@ -10377,6 +16674,16 @@ "node": ">=4.0.0" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -10406,6 +16713,22 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -10471,6 +16794,27 @@ "asap": "~2.0.6" } }, + "node_modules/promise-limit": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/promise-limit/-/promise-limit-2.7.0.tgz", + "integrity": "sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==", + "dev": true, + "license": "ISC" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -10484,39 +16828,22 @@ "node": ">= 6" } }, - "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/proxy-addr": { "version": "2.0.7", @@ -10563,6 +16890,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/queue": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", @@ -10572,6 +16917,27 @@ "inherits": "~2.0.3" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -10671,8 +17037,8 @@ "version": "19.2.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", - "dev": true, "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -10680,39 +17046,30 @@ "react": "^19.2.0" } }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" + }, + "node_modules/react-freeze": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz", + "integrity": "sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=17.0.0" + } + }, "node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "license": "MIT" }, - "node_modules/react-markdown": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz", - "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "html-url-attributes": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "unified": "^11.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=18", - "react": ">=18" - } - }, "node_modules/react-native": { "version": "0.81.4", "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.81.4.tgz", @@ -10770,6 +17127,290 @@ } } }, + "node_modules/react-native-css": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/react-native-css/-/react-native-css-3.0.1.tgz", + "integrity": "sha512-sE/Qp2p+UaV9+W6T+GwsRH5sIynaTfhM2Khn+tN1q1YKYq1STVyAWyC+0i6ac4mFAO/FxQ/a03BDmrrt48qiuQ==", + "license": "MIT", + "workspaces": [ + "example", + "configs", + "." + ], + "dependencies": { + "babel-plugin-react-compiler": "^19.1.0-rc.2", + "colorjs.io": "0.6.0-alpha.1", + "comment-json": "^4.2.5", + "debug": "^4.4.1" + }, + "peerDependencies": { + "@expo/metro-config": ">=54", + "lightningcss": ">=1.27.0", + "react": ">=19", + "react-native": ">=0.81" + } + }, + "node_modules/react-native-css/node_modules/babel-plugin-react-compiler": { + "version": "19.1.0-rc.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.1.0-rc.3.tgz", + "integrity": "sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + } + }, + "node_modules/react-native-fit-image": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz", + "integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==", + "license": "Beerware", + "dependencies": { + "prop-types": "^15.5.10" + } + }, + "node_modules/react-native-gesture-handler": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.28.0.tgz", + "integrity": "sha512-0msfJ1vRxXKVgTgvL+1ZOoYw3/0z1R+Ked0+udoJhyplC2jbVKIJ8Z1bzWdpQRCV3QcQ87Op0zJVE5DhKK2A0A==", + "license": "MIT", + "dependencies": { + "@egjs/hammerjs": "^2.0.17", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-is-edge-to-edge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz", + "integrity": "sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==", + "license": "MIT", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-markdown-display": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/react-native-markdown-display/-/react-native-markdown-display-7.0.2.tgz", + "integrity": "sha512-Mn4wotMvMfLAwbX/huMLt202W5DsdpMO/kblk+6eUs55S57VVNni1gzZCh5qpznYLjIQELNh50VIozEfY6fvaQ==", + "license": "MIT", + "dependencies": { + "css-to-react-native": "^3.0.0", + "markdown-it": "^10.0.0", + "prop-types": "^15.7.2", + "react-native-fit-image": "^1.5.5" + }, + "peerDependencies": { + "react": ">=16.2.0", + "react-native": ">=0.50.4" + } + }, + "node_modules/react-native-permissions": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-5.4.2.tgz", + "integrity": "sha512-XNMoG1fxrB9q73MLn/ZfTaP7pS8qPu0KWypbeFKVTvoR+JJ3O7uedMOTH/mts9bTG+GKhShOoZ+k0CR63q9jwA==", + "license": "MIT", + "peerDependencies": { + "react": ">=18.1.0", + "react-native": ">=0.70.0", + "react-native-windows": ">=0.70.0" + }, + "peerDependenciesMeta": { + "react-native-windows": { + "optional": true + } + } + }, + "node_modules/react-native-reanimated": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-4.1.3.tgz", + "integrity": "sha512-GP8wsi1u3nqvC1fMab/m8gfFwFyldawElCcUSBJQgfrXeLmsPPUOpDw44lbLeCpcwUuLa05WTVePdTEwCLTUZg==", + "license": "MIT", + "dependencies": { + "react-native-is-edge-to-edge": "^1.2.1", + "semver": "7.7.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0", + "react": "*", + "react-native": "*", + "react-native-worklets": ">=0.5.0" + } + }, + "node_modules/react-native-reanimated/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-native-safe-area-context": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-5.6.1.tgz", + "integrity": "sha512-/wJE58HLEAkATzhhX1xSr+fostLsK8Q97EfpfMDKo8jlOc1QKESSX/FQrhk7HhQH/2uSaox4Y86sNaI02kteiA==", + "license": "MIT", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-screens": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.16.0.tgz", + "integrity": "sha512-yIAyh7F/9uWkOzCi1/2FqvNvK6Wb9Y1+Kzn16SuGfN9YFJDTbwlzGRvePCNTOX0recpLQF3kc2FmvMUhyTCH1Q==", + "license": "MIT", + "dependencies": { + "react-freeze": "^1.0.0", + "react-native-is-edge-to-edge": "^1.2.1", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-svg": { + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.14.0.tgz", + "integrity": "sha512-B3gYc7WztcOT4N54AtUutbe0Nuqqh/nkresY0fAXzUHYLsWuIu/yGiCCD3DKfAs6GLv5LFtWTu7N333Q+e3bkg==", + "license": "MIT", + "peer": true, + "dependencies": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3", + "warn-once": "0.1.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-web": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.21.2.tgz", + "integrity": "sha512-SO2t9/17zM4iEnFvlu2DA9jqNbzNhoUP+AItkoCOyFmDMOhUnBBznBDCYN92fGdfAkfQlWzPoez6+zLxFNsZEg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.6", + "@react-native/normalize-colors": "^0.74.1", + "fbjs": "^3.0.4", + "inline-style-prefixer": "^7.0.1", + "memoize-one": "^6.0.0", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "styleq": "^0.1.3" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-native-web/node_modules/@react-native/normalize-colors": { + "version": "0.74.89", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.89.tgz", + "integrity": "sha512-qoMMXddVKVhZ8PA1AbUCk83trpd6N+1nF2A6k1i6LsQObyS92fELuk8kU/lQs6M7BsMHwqyLCpQJ1uFgNvIQXg==", + "license": "MIT" + }, + "node_modules/react-native-web/node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/react-native-webrtc": { + "version": "124.0.7", + "resolved": "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-124.0.7.tgz", + "integrity": "sha512-gnXPdbUS8IkKHq9WNaWptW/yy5s6nMyI6cNn90LXdobPVCgYSk6NA2uUGdT4c4J14BRgaFA95F+cR28tUPkMVA==", + "license": "MIT", + "dependencies": { + "base64-js": "1.5.1", + "debug": "4.3.4", + "event-target-shim": "6.0.2" + }, + "peerDependencies": { + "react-native": ">=0.60.0" + } + }, + "node_modules/react-native-webrtc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/react-native-webrtc/node_modules/event-target-shim": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz", + "integrity": "sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/react-native-webrtc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/react-native-worklets": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/react-native-worklets/-/react-native-worklets-0.5.1.tgz", + "integrity": "sha512-lJG6Uk9YuojjEX/tQrCbcbmpdLCSFxDK1rJlkDhgqkVi1KZzG7cdcBFQRqyNOOzR9Y0CXNuldmtWTGOyM0k0+w==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-arrow-functions": "^7.0.0-0", + "@babel/plugin-transform-class-properties": "^7.0.0-0", + "@babel/plugin-transform-classes": "^7.0.0-0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0", + "@babel/plugin-transform-optional-chaining": "^7.0.0-0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0-0", + "@babel/plugin-transform-template-literals": "^7.0.0-0", + "@babel/plugin-transform-unicode-regex": "^7.0.0-0", + "@babel/preset-typescript": "^7.16.7", + "convert-source-map": "^2.0.0", + "semver": "7.7.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0", + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-worklets/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/react-native/node_modules/@react-native/virtualized-lists": { "version": "0.81.4", "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.81.4.tgz", @@ -10886,34 +17527,111 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/react-remove-scroll": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", + "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", "dev": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "esprima": "~4.0.0" } }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, "engines": { - "node": ">=8.6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/regenerate": { @@ -10940,6 +17658,27 @@ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "license": "MIT" }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regexpu-core": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", @@ -10975,38 +17714,12 @@ "regjsparser": "bin/parser" } }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/remove-trailing-slash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", + "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==", + "dev": true, + "license": "MIT" }, "node_modules/require-directory": { "version": "2.1.1", @@ -11133,6 +17846,27 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -11260,14 +17994,48 @@ "url": "https://opencollective.com/express" } }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "license": "Apache-2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "tslib": "^2.1.0" + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/safe-buffer": { @@ -11290,6 +18058,49 @@ ], "license": "MIT" }, + "node_modules/safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -11306,8 +18117,8 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/semver": { "version": "6.3.1", @@ -11390,12 +18201,98 @@ "node": ">= 0.8.0" } }, + "node_modules/server-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", + "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", + "license": "MIT" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-interval-async": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/set-interval-async/-/set-interval-async-3.0.3.tgz", + "integrity": "sha512-o4DyBv6mko+A9cH3QKek4SAAT5UyJRkfdTi6JHii6ZCKUYFun8SwgBmQrOXd158JOwBQzA+BnO8BvT64xuCaSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "license": "ISC" }, + "node_modules/sf-symbols-typescript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sf-symbols-typescript/-/sf-symbols-typescript-2.1.0.tgz", + "integrity": "sha512-ezT7gu/SHTPIOEEoG6TF+O0m5eewl0ZDAO4AtdBi5HjsrUI6JdCG17+Q8+aKp0heM06wZKApRCn5olNbs0Wb/A==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -11543,6 +18440,21 @@ "node": ">= 5.10.0" } }, + "node_modules/simple-swizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", + "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", + "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", + "license": "MIT" + }, "node_modules/sirv": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", @@ -11573,6 +18485,24 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/slugify": { "version": "1.6.6", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", @@ -11619,21 +18549,27 @@ "node": ">=0.10.0" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" } }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -11641,6 +18577,13 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "license": "BSD-3-Clause" }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -11703,6 +18646,20 @@ "dev": true, "license": "MIT" }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-buffers": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", @@ -11712,6 +18669,27 @@ "node": ">= 0.10.0" } }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -11741,18 +18719,102 @@ "node": ">=8" } }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, "license": "MIT", "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/strip-ansi": { @@ -11780,6 +18842,16 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -11815,23 +18887,11 @@ "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==", "license": "MIT" }, - "node_modules/style-to-js": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.18.tgz", - "integrity": "sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg==", - "license": "MIT", - "dependencies": { - "style-to-object": "1.0.11" - } - }, - "node_modules/style-to-object": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.11.tgz", - "integrity": "sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.4" - } + "node_modules/styleq": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/styleq/-/styleq-0.1.3.tgz", + "integrity": "sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==", + "license": "MIT" }, "node_modules/sucrase": { "version": "3.35.0", @@ -11864,6 +18924,14 @@ "node": ">= 6" } }, + "node_modules/sudo-prompt": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz", + "integrity": "sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT" + }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -11916,6 +18984,41 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tailwindcss": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.15.tgz", + "integrity": "sha512-k2WLnWkYFkdpRv+Oby3EBXIyQC8/s1HOFMBUViwtAh6Z5uAozeUSMQlIsn/c6Q2iJzqG6aJT3wdPaRNj70iYxQ==", + "license": "MIT" + }, + "node_modules/tailwindcss-safe-area": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tailwindcss-safe-area/-/tailwindcss-safe-area-1.1.0.tgz", + "integrity": "sha512-wuPUeW5BhWNv9yr3OzaGgpqImQG9FBM4mQIQh2C6yjHmOOZsJ3gh5RfNHt+TM16TMtpQs/8k2TWx8yQTFG7Fcw==", + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "url": "https://github.com/sponsors/mvllow" + }, + "peerDependencies": { + "tailwindcss": "^4.0.0" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/tar": { "version": "7.5.1", "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", @@ -11932,6 +19035,18 @@ "node": ">=18" } }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/tar/node_modules/yallist": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", @@ -12047,6 +19162,16 @@ "node": "*" } }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -12068,12 +19193,29 @@ "node": ">=0.8" } }, + "node_modules/this-file": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/this-file/-/this-file-2.0.3.tgz", + "integrity": "sha512-IdMH1bUkVJdJjM7o8v83Mv4QvVPdkAofur20STl2Bbw9uMuuS/bT/PZURkEdZsy9XC/1ZXWgZ1wIL9nvouGaEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + } + }, "node_modules/throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "license": "MIT" }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -12184,34 +19326,27 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", - "bin": { - "tree-kill": "cli.js" + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/ts-deepmerge": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ts-deepmerge/-/ts-deepmerge-6.2.0.tgz", + "integrity": "sha512-2qxI/FZVDPbzh63GwWIZYE7daWKtwXZYuyc8YNq0iTmMUwn4mL0jRLsp6hfFlgbdRSR4x2ppe+E86FnvEpN7Nw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14.13.1" } }, "node_modules/ts-interface-checker": { @@ -12220,11 +19355,97 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "license": "Apache-2.0" }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "devOptional": true, "license": "0BSD" }, "node_modules/tsx": { @@ -12262,6 +19483,42 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/turndown": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.1.2.tgz", + "integrity": "sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domino": "^2.1.6" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -12293,6 +19550,84 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", @@ -12307,6 +19642,57 @@ "node": ">=14.17" } }, + "node_modules/ua-parser-js": { + "version": "1.0.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", + "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "license": "MIT" + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/undici": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz", @@ -12362,25 +19748,6 @@ "node": ">=4" } }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -12393,72 +19760,14 @@ "node": ">=8" } }, - "node_modules/unist-util-is": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 10.0.0" } }, "node_modules/unpipe": { @@ -12470,6 +19779,51 @@ "node": ">= 0.8" } }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -12509,6 +19863,67 @@ "punycode": "^2.1.0" } }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest-callback": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.6.tgz", + "integrity": "sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -12531,6 +19946,13 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, "node_modules/validate-npm-package-name": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", @@ -12549,32 +19971,17 @@ "node": ">= 0.8" } }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "node_modules/vaul": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vaul/-/vaul-1.1.2.tgz", + "integrity": "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==", "license": "MIT", "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" + "@radix-ui/react-dialog": "^1.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" } }, "node_modules/vite": { @@ -12675,25 +20082,6 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/vite-plugin-static-copy": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-3.1.4.tgz", - "integrity": "sha512-iCmr4GSw4eSnaB+G8zc2f4dxSuDjbkjwpuBLLGvQYR9IW7rnDzftnUjOH5p4RYR+d4GsiBqXRvzuFhs5bnzVyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^3.6.0", - "p-map": "^7.0.3", - "picocolors": "^1.1.1", - "tinyglobby": "^0.2.15" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, "node_modules/vite/node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -12797,6 +20185,12 @@ "makeerror": "1.0.12" } }, + "node_modules/warn-once": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", + "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==", + "license": "MIT" + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -12875,6 +20269,95 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/why-is-node-running": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", @@ -12892,12 +20375,42 @@ "node": ">=8" } }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wonka": { "version": "6.3.5", "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.5.tgz", "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==", "license": "MIT" }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -13086,6 +20599,16 @@ "node": ">=12" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -13116,19 +20639,147 @@ "zod": "^3.24.1" } }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "packages/app": { + "name": "@voice-dev/app", + "version": "1.0.0", + "dependencies": { + "@expo/vector-icons": "^15.0.2", + "@react-native-async-storage/async-storage": "2.2.0", + "@react-navigation/bottom-tabs": "^7.4.0", + "@react-navigation/elements": "^2.6.3", + "@react-navigation/native": "^7.1.8", + "@siteed/expo-audio-studio": "^2.18.1", + "expo": "~54.0.15", + "expo-audio": "~1.0.13", + "expo-av": "^16.0.7", + "expo-constants": "~18.0.9", + "expo-dev-client": "^6.0.15", + "expo-file-system": "~19.0.17", + "expo-font": "~14.0.9", + "expo-haptics": "~15.0.7", + "expo-image": "~3.0.10", + "expo-keep-awake": "^15.0.7", + "expo-linking": "~8.0.8", + "expo-router": "~6.0.13", + "expo-splash-screen": "~31.0.10", + "expo-status-bar": "~3.0.8", + "expo-symbols": "~1.0.7", + "expo-system-ui": "~6.0.7", + "expo-updates": "~29.0.12", + "expo-web-browser": "~15.0.8", + "lucide-react-native": "^0.546.0", + "nativewind": "^5.0.0-preview.2", + "react": "19.1.0", + "react-dom": "19.1.0", + "react-native": "0.81.4", + "react-native-css": "^3.0.1", + "react-native-gesture-handler": "~2.28.0", + "react-native-markdown-display": "^7.0.2", + "react-native-permissions": "^5.4.2", + "react-native-reanimated": "~4.1.1", + "react-native-safe-area-context": "~5.6.0", + "react-native-screens": "~4.16.0", + "react-native-web": "~0.21.0", + "react-native-webrtc": "^124.0.7", + "react-native-worklets": "0.5.1" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.1.15", + "@types/react": "~19.1.0", + "eas-cli": "^16.24.1", + "eslint": "^9.25.0", + "eslint-config-expo": "~10.0.0", + "postcss": "^8.4.49", + "tailwindcss": "^4.1.15", + "typescript": "~5.9.2" + } + }, + "packages/app/node_modules/@siteed/expo-audio-studio": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/@siteed/expo-audio-studio/-/expo-audio-studio-2.18.1.tgz", + "integrity": "sha512-gyi02iaj/ZEpMOnFM7jlgXWhy4I6pvu7dK7f95nQgFkuSDogmM/pA/n+lS31ui5HzDbVRle426EpQ1hShVmqDA==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "peerDependencies": { + "expo": "*", + "expo-modules-core": "~2.4.0", + "react": "*", + "react-native": "*" + } + }, + "packages/app/node_modules/@types/react": { + "version": "19.1.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.17.tgz", + "integrity": "sha512-Qec1E3mhALmaspIrhWt9jkQMNdw6bReVu64mjvhbhq2NFPftLPVr+l1SZgmw/66WwBNpDh7ao5AT6gF5v41PFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "packages/app/node_modules/expo-modules-core": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.4.2.tgz", + "integrity": "sha512-RCb0wniYCJkxwpXrkiBA/WiNGxzYsEpL0sB50gTnS/zEfX3DImS2npc4lfZ3hPZo1UF9YC6OSI9Do+iacV0NUg==", + "license": "MIT", + "peer": true, + "dependencies": { + "invariant": "^2.2.4" + } + }, + "packages/app/node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "packages/app/node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "packages/server": { + "name": "@voice-dev/server", + "version": "0.1.0", + "dependencies": { + "@agentclientprotocol/sdk": "^0.4.9", + "@ai-sdk/openai": "^2.0.52", + "@deepgram/sdk": "^3.4.0", + "@modelcontextprotocol/sdk": "^1.20.1", + "@openrouter/ai-sdk-provider": "^1.2.0", + "ai": "^5.0.76", + "dotenv": "^17.2.3", + "express": "^4.18.2", + "express-basic-auth": "^1.2.1", + "openai": "^4.20.0", + "playwright": "^1.56.1", + "tiny-invariant": "^1.3.3", + "uuid": "^9.0.1", + "ws": "^8.14.2", + "zod": "^3.23.8" + }, + "devDependencies": { + "@playwright/test": "^1.56.1", + "@types/express": "^4.17.20", + "@types/node": "^20.9.0", + "@types/uuid": "^9.0.7", + "@types/ws": "^8.5.8", + "@vitest/ui": "^3.2.4", + "tsx": "^4.6.0", + "typescript": "^5.2.2", + "vitest": "^3.2.4" } }, "packages/voice-assistant": { "name": "@voice-dev/voice-assistant", "version": "0.1.0", + "extraneous": true, "dependencies": { "@agentclientprotocol/sdk": "^0.4.9", "@ai-sdk/openai": "^2.0.52", diff --git a/package.json b/package.json index 9922e535a..281d35abc 100644 --- a/package.json +++ b/package.json @@ -3,22 +3,18 @@ "version": "1.0.0", "private": true, "workspaces": [ - "packages/voice-assistant" + "packages/server", + "packages/app" ], "scripts": { - "dev": "npm run dev --workspace=@voice-dev/web", - "dev:agent": "npm run dev --workspace=@voice-dev/agent", - "dev:mcp": "npm run dev --workspace=@voice-dev/mcp-server", + "dev": "npm run dev --workspace=@voice-dev/server", + "dev:app": "npm run start --workspace=@voice-dev/app", "build": "npm run build --workspaces --if-present", - "build:agent": "npm run build --workspace=@voice-dev/agent", - "build:mcp": "npm run build --workspace=@voice-dev/mcp-server", - "build:web": "npm run build --workspace=@voice-dev/web", "typecheck": "npm run typecheck --workspaces --if-present", - "start": "npm run start --workspace=@voice-dev/web", - "start:agent": "npm run start --workspace=@voice-dev/agent", - "start:mcp": "npm run start --workspace=@voice-dev/mcp-server", - "android": "expo run:android", - "ios": "expo run:ios" + "start": "npm run start --workspace=@voice-dev/server", + "android": "npm run android --workspace=@voice-dev/app", + "ios": "npm run ios --workspace=@voice-dev/app", + "web": "npm run web --workspace=@voice-dev/app" }, "devDependencies": { "typescript": "^5.9.3" diff --git a/packages/voice-mobile/.gitignore b/packages/app/.gitignore similarity index 100% rename from packages/voice-mobile/.gitignore rename to packages/app/.gitignore diff --git a/packages/voice-mobile/README.md b/packages/app/README.md similarity index 100% rename from packages/voice-mobile/README.md rename to packages/app/README.md diff --git a/packages/voice-mobile/app.json b/packages/app/app.json similarity index 89% rename from packages/voice-mobile/app.json rename to packages/app/app.json index c7ef39de5..667bbba4c 100644 --- a/packages/voice-mobile/app.json +++ b/packages/app/app.json @@ -1,11 +1,11 @@ { "expo": { - "name": "voice-mobile", - "slug": "voice-mobile", + "name": "Voice Dev", + "slug": "voice-dev", "version": "1.0.0", "orientation": "portrait", "icon": "./assets/images/icon.png", - "scheme": "voicemobile", + "scheme": "voicedev", "userInterfaceStyle": "automatic", "newArchEnabled": true, "runtimeVersion": { @@ -19,7 +19,7 @@ "infoPlist": { "NSMicrophoneUsageDescription": "This app needs access to the microphone for voice commands." }, - "bundleIdentifier": "com.moboudra.voicemobile" + "bundleIdentifier": "com.moboudra.voicedev" }, "android": { "adaptiveIcon": { @@ -36,7 +36,7 @@ "android.permission.RECORD_AUDIO", "android.permission.MODIFY_AUDIO_SETTINGS" ], - "package": "com.moboudra.voicemobile" + "package": "com.moboudra.voicedev" }, "web": { "output": "static", @@ -61,7 +61,7 @@ "expo-build-properties", { "android": { - "minSdkVersion": 26 + "minSdkVersion": 29 } } ] diff --git a/packages/voice-mobile/app/_layout.tsx b/packages/app/app/_layout.tsx similarity index 100% rename from packages/voice-mobile/app/_layout.tsx rename to packages/app/app/_layout.tsx diff --git a/packages/voice-mobile/app/audio-test.tsx b/packages/app/app/audio-test.tsx similarity index 100% rename from packages/voice-mobile/app/audio-test.tsx rename to packages/app/app/audio-test.tsx diff --git a/packages/voice-mobile/app/index.tsx b/packages/app/app/index.tsx similarity index 97% rename from packages/voice-mobile/app/index.tsx rename to packages/app/app/index.tsx index 87b3762d3..3ec720654 100644 --- a/packages/voice-mobile/app/index.tsx +++ b/packages/app/app/index.tsx @@ -25,8 +25,8 @@ import type { ActivityLogPayload, SessionInboundMessage, WSInboundMessage, -} from '@voice-assistant/server/messages'; -import type { AgentStatus } from '@voice-assistant/server/acp/types'; +} from '@server/server/messages'; +import type { AgentStatus } from '@server/server/acp/types'; import type { SessionNotification } from '@agentclientprotocol/sdk'; type MessageEntry = @@ -95,29 +95,26 @@ export default function VoiceAssistantScreen() { // Realtime mode state (defined early so we can use it in audioRecorder) const [isRealtimeMode, setIsRealtimeMode] = useState(false); - const [isVADActive, setIsVADActive] = useState(false); const pulseAnim = useRef(new Animated.Value(1)).current; const audioRecorder = useAudioRecorder(); const audioPlayer = useAudioPlayer({ useSpeaker: settings.useSpeaker }); const insets = useSafeAreaInsets(); - // Realtime audio with VAD + // Realtime audio with WebRTC const realtimeAudio = useRealtimeAudio({ onSpeechStart: () => { - console.log('[App] Realtime speech started'); - setIsVADActive(true); + console.log('[App] Speech detected'); // Pause audio playback if playing if (isPlayingAudio) { audioPlayer.pause(); } }, onSpeechEnd: () => { - console.log('[App] Realtime speech ended'); - setIsVADActive(false); + console.log('[App] Speech ended'); }, - onAudioSegment: async (audioData: string, format: string) => { - console.log('[App] Received audio segment, length:', audioData.length); + onAudioSegment: (base64Audio: string) => { + console.log('[App] Sending audio segment, length:', base64Audio.length); // Send audio segment to server try { @@ -125,12 +122,11 @@ export default function VoiceAssistantScreen() { type: 'session', message: { type: 'audio_chunk', - audio: audioData, - format: format, - isLast: true, + audio: base64Audio, + format: 'audio/pcm', + isLast: true, // Complete segment }, }); - console.log('[App] Sent audio segment to server'); } catch (error) { console.error('[App] Failed to send audio segment:', error); } @@ -148,7 +144,7 @@ export default function VoiceAssistantScreen() { }, ]); }, - speechThreshold: 0.5, + volumeThreshold: 0.02, silenceDuration: 1000, }); @@ -174,9 +170,9 @@ export default function VoiceAssistantScreen() { const scrollViewRef = useRef(null); - // Pulse animation for VAD indicator + // Pulse animation for speech indicator useEffect(() => { - if (isVADActive) { + if (realtimeAudio.isSpeaking) { Animated.loop( Animated.sequence([ Animated.timing(pulseAnim, { @@ -195,7 +191,7 @@ export default function VoiceAssistantScreen() { pulseAnim.stopAnimation(); pulseAnim.setValue(1); } - }, [isVADActive, pulseAnim]); + }, [realtimeAudio.isSpeaking, pulseAnim]); // Keep screen awake if setting is enabled (mobile only) useEffect(() => { @@ -830,7 +826,6 @@ export default function VoiceAssistantScreen() { try { await realtimeAudio.stop(); setIsRealtimeMode(false); - setIsVADActive(false); console.log('[App] Realtime mode disabled'); setMessages((prev) => [ diff --git a/packages/voice-mobile/app/settings.tsx b/packages/app/app/settings.tsx similarity index 100% rename from packages/voice-mobile/app/settings.tsx rename to packages/app/app/settings.tsx diff --git a/packages/voice-mobile/assets/images/android-icon-background.png b/packages/app/assets/images/android-icon-background.png similarity index 100% rename from packages/voice-mobile/assets/images/android-icon-background.png rename to packages/app/assets/images/android-icon-background.png diff --git a/packages/voice-mobile/assets/images/android-icon-foreground.png b/packages/app/assets/images/android-icon-foreground.png similarity index 100% rename from packages/voice-mobile/assets/images/android-icon-foreground.png rename to packages/app/assets/images/android-icon-foreground.png diff --git a/packages/voice-mobile/assets/images/android-icon-monochrome.png b/packages/app/assets/images/android-icon-monochrome.png similarity index 100% rename from packages/voice-mobile/assets/images/android-icon-monochrome.png rename to packages/app/assets/images/android-icon-monochrome.png diff --git a/packages/voice-mobile/assets/images/favicon.png b/packages/app/assets/images/favicon.png similarity index 100% rename from packages/voice-mobile/assets/images/favicon.png rename to packages/app/assets/images/favicon.png diff --git a/packages/voice-mobile/assets/images/icon.png b/packages/app/assets/images/icon.png similarity index 100% rename from packages/voice-mobile/assets/images/icon.png rename to packages/app/assets/images/icon.png diff --git a/packages/voice-mobile/assets/images/partial-react-logo.png b/packages/app/assets/images/partial-react-logo.png similarity index 100% rename from packages/voice-mobile/assets/images/partial-react-logo.png rename to packages/app/assets/images/partial-react-logo.png diff --git a/packages/voice-mobile/assets/images/react-logo.png b/packages/app/assets/images/react-logo.png similarity index 100% rename from packages/voice-mobile/assets/images/react-logo.png rename to packages/app/assets/images/react-logo.png diff --git a/packages/voice-mobile/assets/images/react-logo@2x.png b/packages/app/assets/images/react-logo@2x.png similarity index 100% rename from packages/voice-mobile/assets/images/react-logo@2x.png rename to packages/app/assets/images/react-logo@2x.png diff --git a/packages/voice-mobile/assets/images/react-logo@3x.png b/packages/app/assets/images/react-logo@3x.png similarity index 100% rename from packages/voice-mobile/assets/images/react-logo@3x.png rename to packages/app/assets/images/react-logo@3x.png diff --git a/packages/voice-mobile/assets/images/splash-icon.png b/packages/app/assets/images/splash-icon.png similarity index 100% rename from packages/voice-mobile/assets/images/splash-icon.png rename to packages/app/assets/images/splash-icon.png diff --git a/packages/voice-mobile/components/active-processes.tsx b/packages/app/components/active-processes.tsx similarity index 98% rename from packages/voice-mobile/components/active-processes.tsx rename to packages/app/components/active-processes.tsx index 2125d874a..de1ade738 100644 --- a/packages/voice-mobile/components/active-processes.tsx +++ b/packages/app/components/active-processes.tsx @@ -1,5 +1,5 @@ import { View, Text, Pressable, ScrollView } from 'react-native'; -import type { AgentStatus } from '@voice-assistant/server/acp/types'; +import type { AgentStatus } from '@server/server/acp/types'; export interface ActiveProcessesProps { agents: Array<{ diff --git a/packages/voice-mobile/components/agent-stream-view.tsx b/packages/app/components/agent-stream-view.tsx similarity index 99% rename from packages/voice-mobile/components/agent-stream-view.tsx rename to packages/app/components/agent-stream-view.tsx index c0953fa70..430c6bfb5 100644 --- a/packages/voice-mobile/components/agent-stream-view.tsx +++ b/packages/app/components/agent-stream-view.tsx @@ -1,7 +1,7 @@ import { useState, useEffect, useRef } from 'react'; import { View, Text, ScrollView, Pressable } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; -import type { AgentStatus } from '@voice-assistant/server/acp/types'; +import type { AgentStatus } from '@server/server/acp/types'; import type { SessionNotification } from '@agentclientprotocol/sdk'; export interface AgentStreamViewProps { diff --git a/packages/voice-mobile/components/artifact-drawer.tsx b/packages/app/components/artifact-drawer.tsx similarity index 100% rename from packages/voice-mobile/components/artifact-drawer.tsx rename to packages/app/components/artifact-drawer.tsx diff --git a/packages/voice-mobile/components/connection-status.tsx b/packages/app/components/connection-status.tsx similarity index 100% rename from packages/voice-mobile/components/connection-status.tsx rename to packages/app/components/connection-status.tsx diff --git a/packages/voice-mobile/components/conversation-selector.tsx b/packages/app/components/conversation-selector.tsx similarity index 99% rename from packages/voice-mobile/components/conversation-selector.tsx rename to packages/app/components/conversation-selector.tsx index 4d0d2bfc2..f4fdcc589 100644 --- a/packages/voice-mobile/components/conversation-selector.tsx +++ b/packages/app/components/conversation-selector.tsx @@ -5,7 +5,7 @@ import { MessageSquare, X, Plus, Trash2 } from 'lucide-react-native'; import AsyncStorage from '@react-native-async-storage/async-storage'; import type { UseWebSocketReturn } from '../hooks/use-websocket'; -const STORAGE_KEY = '@voice-assistant:conversation-id'; +const STORAGE_KEY = '@voice-dev:conversation-id'; interface Conversation { id: string; diff --git a/packages/voice-mobile/components/message.tsx b/packages/app/components/message.tsx similarity index 100% rename from packages/voice-mobile/components/message.tsx rename to packages/app/components/message.tsx diff --git a/packages/voice-mobile/components/voice-button.tsx b/packages/app/components/voice-button.tsx similarity index 100% rename from packages/voice-mobile/components/voice-button.tsx rename to packages/app/components/voice-button.tsx diff --git a/packages/voice-mobile/constants/theme.ts b/packages/app/constants/theme.ts similarity index 100% rename from packages/voice-mobile/constants/theme.ts rename to packages/app/constants/theme.ts diff --git a/packages/voice-mobile/eas.json b/packages/app/eas.json similarity index 100% rename from packages/voice-mobile/eas.json rename to packages/app/eas.json diff --git a/packages/voice-mobile/eslint.config.js b/packages/app/eslint.config.js similarity index 100% rename from packages/voice-mobile/eslint.config.js rename to packages/app/eslint.config.js diff --git a/packages/voice-mobile/global.css b/packages/app/global.css similarity index 100% rename from packages/voice-mobile/global.css rename to packages/app/global.css diff --git a/packages/voice-mobile/hooks/use-audio-player.ts b/packages/app/hooks/use-audio-player.ts similarity index 100% rename from packages/voice-mobile/hooks/use-audio-player.ts rename to packages/app/hooks/use-audio-player.ts diff --git a/packages/voice-mobile/hooks/use-audio-recorder.ts b/packages/app/hooks/use-audio-recorder.ts similarity index 100% rename from packages/voice-mobile/hooks/use-audio-recorder.ts rename to packages/app/hooks/use-audio-recorder.ts diff --git a/packages/voice-mobile/hooks/use-color-scheme.ts b/packages/app/hooks/use-color-scheme.ts similarity index 100% rename from packages/voice-mobile/hooks/use-color-scheme.ts rename to packages/app/hooks/use-color-scheme.ts diff --git a/packages/voice-mobile/hooks/use-color-scheme.web.ts b/packages/app/hooks/use-color-scheme.web.ts similarity index 100% rename from packages/voice-mobile/hooks/use-color-scheme.web.ts rename to packages/app/hooks/use-color-scheme.web.ts diff --git a/packages/app/hooks/use-realtime-audio.ts b/packages/app/hooks/use-realtime-audio.ts new file mode 100644 index 000000000..d95f1d1eb --- /dev/null +++ b/packages/app/hooks/use-realtime-audio.ts @@ -0,0 +1,210 @@ +import { useState, useEffect, useRef } from 'react'; +import { Platform } from 'react-native'; +import { useAudioRecorder } from '@siteed/expo-audio-studio'; +import { check, request, PERMISSIONS, RESULTS } from 'react-native-permissions'; + +export interface RealtimeAudioConfig { + onAudioSegment?: (audioData: string) => void; + onSpeechStart?: () => void; + onSpeechEnd?: () => void; + onError?: (error: Error) => void; + volumeThreshold?: number; // RMS threshold for speech detection (0-1) + silenceDuration?: number; // ms of silence before ending segment +} + +export interface RealtimeAudio { + start: () => Promise; + stop: () => Promise; + isActive: boolean; + isSpeaking: boolean; +} + +/** + * Hook for realtime audio streaming with volume-based VAD + * Uses expo-audio-studio for recording with echo cancellation and noise suppression + */ +export function useRealtimeAudio(config: RealtimeAudioConfig): RealtimeAudio { + const [isActive, setIsActive] = useState(false); + const [isSpeaking, setIsSpeaking] = useState(false); + + const audioRecorder = useAudioRecorder(); + const audioBufferRef = useRef([]); + const silenceStartRef = useRef(null); + const isSpeakingRef = useRef(false); + const lastVolumeCheckRef = useRef(Date.now()); + + const VOLUME_THRESHOLD = config.volumeThreshold ?? 0.02; + const SILENCE_DURATION_MS = config.silenceDuration ?? 1000; + const VOLUME_CHECK_INTERVAL = 200; // Check volume every 200ms + + async function requestMicrophonePermission(): Promise { + try { + const permission = Platform.OS === 'ios' + ? PERMISSIONS.IOS.MICROPHONE + : PERMISSIONS.ANDROID.RECORD_AUDIO; + + const status = await check(permission); + if (status === RESULTS.GRANTED) { + return true; + } + + const result = await request(permission); + return result === RESULTS.GRANTED; + } catch (error) { + console.error('[RealtimeAudio] Permission error:', error); + return false; + } + } + + function calculateVolume(base64Audio: string): number { + try { + // Decode base64 to binary + const binary = atob(base64Audio); + const bytes = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i++) { + bytes[i] = binary.charCodeAt(i); + } + + // Calculate RMS from PCM data (assuming 16-bit PCM) + let sum = 0; + for (let i = 0; i < bytes.length - 1; i += 2) { + const sample = (bytes[i] | (bytes[i + 1] << 8)) / 32768.0; // Convert to -1 to 1 + sum += sample * sample; + } + const rms = Math.sqrt(sum / (bytes.length / 2)); + return rms; + } catch (error) { + console.error('[RealtimeAudio] Volume calculation error:', error); + return 0; + } + } + + async function start(): Promise { + if (isActive) { + console.log('[RealtimeAudio] Already active'); + return; + } + + try { + console.log('[RealtimeAudio] Starting realtime audio...'); + + // Request permissions + const hasPermission = await requestMicrophonePermission(); + if (!hasPermission) { + throw new Error('Microphone permission denied'); + } + + // Start recording with audio streaming + await audioRecorder.startRecording({ + sampleRate: 16000, + channels: 1, + encoding: 'pcm_16bit', + interval: 100, // Get chunks every 100ms + onAudioStream: async (event: any) => { + if (!event.data) return; + + const audioData = event.data; // base64 PCM data + + // Check volume periodically + const now = Date.now(); + if (now - lastVolumeCheckRef.current >= VOLUME_CHECK_INTERVAL) { + lastVolumeCheckRef.current = now; + + const volume = calculateVolume(audioData); + const speechDetected = volume > VOLUME_THRESHOLD; + + if (speechDetected && !isSpeakingRef.current) { + // Speech START + console.log('[RealtimeAudio] Speech started (volume:', volume.toFixed(4), ')'); + isSpeakingRef.current = true; + silenceStartRef.current = null; + audioBufferRef.current = [audioData]; + setIsSpeaking(true); + config.onSpeechStart?.(); + } else if (speechDetected && isSpeakingRef.current) { + // Continuing speech + audioBufferRef.current.push(audioData); + silenceStartRef.current = null; + } else if (!speechDetected && isSpeakingRef.current) { + // Potential speech END + audioBufferRef.current.push(audioData); + + if (silenceStartRef.current === null) { + silenceStartRef.current = Date.now(); + } else { + const silenceDuration = Date.now() - silenceStartRef.current; + if (silenceDuration >= SILENCE_DURATION_MS) { + // Speech END confirmed + console.log('[RealtimeAudio] Speech ended after', silenceDuration, 'ms silence'); + isSpeakingRef.current = false; + silenceStartRef.current = null; + setIsSpeaking(false); + config.onSpeechEnd?.(); + + // Send buffered audio segment + if (audioBufferRef.current.length > 0) { + const combinedAudio = audioBufferRef.current.join(''); + config.onAudioSegment?.(combinedAudio); + audioBufferRef.current = []; + } + } + } + } + } else if (isSpeakingRef.current) { + // Just buffer if we're speaking but not checking volume yet + audioBufferRef.current.push(audioData); + } + }, + }); + + setIsActive(true); + console.log('[RealtimeAudio] Realtime audio started successfully'); + } catch (error) { + console.error('[RealtimeAudio] Start error:', error); + const err = error instanceof Error ? error : new Error(String(error)); + config.onError?.(err); + + // Cleanup on error + await stop(); + throw error; + } + } + + async function stop(): Promise { + console.log('[RealtimeAudio] Stopping realtime audio...'); + + // Stop recording + if (audioRecorder.isRecording) { + try { + await audioRecorder.stopRecording(); + } catch (error) { + console.error('[RealtimeAudio] Error stopping recording:', error); + } + } + + // Reset state + audioBufferRef.current = []; + isSpeakingRef.current = false; + silenceStartRef.current = null; + setIsActive(false); + setIsSpeaking(false); + + console.log('[RealtimeAudio] Realtime audio stopped'); + } + + // Cleanup on unmount + useEffect(() => { + return () => { + if (isActive) { + stop(); + } + }; + }, []); + + return { + start, + stop, + isActive, + isSpeaking, + }; +} diff --git a/packages/voice-mobile/hooks/use-settings.ts b/packages/app/hooks/use-settings.ts similarity index 97% rename from packages/voice-mobile/hooks/use-settings.ts rename to packages/app/hooks/use-settings.ts index 1bd87d119..bca6dafd5 100644 --- a/packages/voice-mobile/hooks/use-settings.ts +++ b/packages/app/hooks/use-settings.ts @@ -1,7 +1,7 @@ import { useState, useEffect, useCallback } from 'react'; import AsyncStorage from '@react-native-async-storage/async-storage'; -const STORAGE_KEY = '@voice-assistant:settings'; +const STORAGE_KEY = '@voice-dev:settings'; export interface Settings { serverUrl: string; diff --git a/packages/voice-mobile/hooks/use-theme-color.ts b/packages/app/hooks/use-theme-color.ts similarity index 100% rename from packages/voice-mobile/hooks/use-theme-color.ts rename to packages/app/hooks/use-theme-color.ts diff --git a/packages/voice-mobile/hooks/use-websocket.ts b/packages/app/hooks/use-websocket.ts similarity index 99% rename from packages/voice-mobile/hooks/use-websocket.ts rename to packages/app/hooks/use-websocket.ts index 1e4f21eaf..6baa10991 100644 --- a/packages/voice-mobile/hooks/use-websocket.ts +++ b/packages/app/hooks/use-websocket.ts @@ -3,7 +3,7 @@ import type { WSInboundMessage, WSOutboundMessage, SessionOutboundMessage -} from '@voice-assistant/server/messages'; +} from '@server/server/messages'; export interface UseWebSocketReturn { isConnected: boolean; diff --git a/packages/voice-mobile/metro.config.js b/packages/app/metro.config.js similarity index 100% rename from packages/voice-mobile/metro.config.js rename to packages/app/metro.config.js diff --git a/packages/voice-mobile/nativewind-env.d.ts b/packages/app/nativewind-env.d.ts similarity index 100% rename from packages/voice-mobile/nativewind-env.d.ts rename to packages/app/nativewind-env.d.ts diff --git a/packages/voice-mobile/package-lock.json b/packages/app/package-lock.json similarity index 99% rename from packages/voice-mobile/package-lock.json rename to packages/app/package-lock.json index 382d2e4d5..a2144c7b2 100644 --- a/packages/voice-mobile/package-lock.json +++ b/packages/app/package-lock.json @@ -44,8 +44,8 @@ "react-native-reanimated": "~4.1.1", "react-native-safe-area-context": "~5.6.0", "react-native-screens": "~4.16.0", - "react-native-vad": "^1.0.44", "react-native-web": "~0.21.0", + "react-native-webrtc": "^124.0.7", "react-native-worklets": "0.5.1" }, "devDependencies": { @@ -15258,16 +15258,6 @@ "react-native": "*" } }, - "node_modules/react-native-vad": { - "version": "1.0.44", - "resolved": "https://registry.npmjs.org/react-native-vad/-/react-native-vad-1.0.44.tgz", - "integrity": "sha512-n8Ufijqp63EIpfwjiVhaYEGdeFYN0scHvGGe1AgeTYg6ivUam3N5HlbQg1Wwj4OX5BjXkZT558NFckhHMddFzg==", - "license": "MIT", - "peerDependencies": { - "react": "^18.3.1", - "react-native": ">=0.70.1" - } - }, "node_modules/react-native-web": { "version": "0.21.2", "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.21.2.tgz", @@ -15300,6 +15290,55 @@ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", "license": "MIT" }, + "node_modules/react-native-webrtc": { + "version": "124.0.7", + "resolved": "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-124.0.7.tgz", + "integrity": "sha512-gnXPdbUS8IkKHq9WNaWptW/yy5s6nMyI6cNn90LXdobPVCgYSk6NA2uUGdT4c4J14BRgaFA95F+cR28tUPkMVA==", + "license": "MIT", + "dependencies": { + "base64-js": "1.5.1", + "debug": "4.3.4", + "event-target-shim": "6.0.2" + }, + "peerDependencies": { + "react-native": ">=0.60.0" + } + }, + "node_modules/react-native-webrtc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/react-native-webrtc/node_modules/event-target-shim": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz", + "integrity": "sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/react-native-webrtc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, "node_modules/react-native-worklets": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/react-native-worklets/-/react-native-worklets-0.5.1.tgz", diff --git a/packages/voice-mobile/package.json b/packages/app/package.json similarity index 94% rename from packages/voice-mobile/package.json rename to packages/app/package.json index fbc040b76..7f14701a3 100644 --- a/packages/voice-mobile/package.json +++ b/packages/app/package.json @@ -1,5 +1,5 @@ { - "name": "voice-mobile", + "name": "@voice-dev/app", "main": "expo-router/entry", "version": "1.0.0", "scripts": { @@ -47,8 +47,8 @@ "react-native-reanimated": "~4.1.1", "react-native-safe-area-context": "~5.6.0", "react-native-screens": "~4.16.0", - "react-native-vad": "^1.0.44", "react-native-web": "~0.21.0", + "react-native-webrtc": "^124.0.7", "react-native-worklets": "0.5.1" }, "devDependencies": { @@ -63,9 +63,6 @@ }, "overrides": { "lightningcss": "1.30.1", - "react-native-vad": { - "react": "19.1.0" - }, "@siteed/expo-audio-studio": { "expo-modules-core": "3.0.22" } diff --git a/packages/voice-mobile/postcss.config.mjs b/packages/app/postcss.config.mjs similarity index 100% rename from packages/voice-mobile/postcss.config.mjs rename to packages/app/postcss.config.mjs diff --git a/packages/voice-mobile/scripts/reset-project.js b/packages/app/scripts/reset-project.js similarity index 100% rename from packages/voice-mobile/scripts/reset-project.js rename to packages/app/scripts/reset-project.js diff --git a/packages/voice-mobile/tsconfig.json b/packages/app/tsconfig.json similarity index 80% rename from packages/voice-mobile/tsconfig.json rename to packages/app/tsconfig.json index 50d0f7253..594b62bfb 100644 --- a/packages/voice-mobile/tsconfig.json +++ b/packages/app/tsconfig.json @@ -6,8 +6,8 @@ "@/*": [ "./*" ], - "@voice-assistant/*": [ - "../voice-assistant/src/*" + "@server/*": [ + "../server/src/*" ] } }, diff --git a/packages/voice-assistant/.env.example b/packages/server/.env.example similarity index 100% rename from packages/voice-assistant/.env.example rename to packages/server/.env.example diff --git a/packages/voice-assistant/.gitignore b/packages/server/.gitignore similarity index 100% rename from packages/voice-assistant/.gitignore rename to packages/server/.gitignore diff --git a/packages/voice-assistant/README.md b/packages/server/README.md similarity index 100% rename from packages/voice-assistant/README.md rename to packages/server/README.md diff --git a/packages/voice-assistant/agent-prompt-old.md b/packages/server/agent-prompt-old.md similarity index 100% rename from packages/voice-assistant/agent-prompt-old.md rename to packages/server/agent-prompt-old.md diff --git a/packages/voice-assistant/agent-prompt.md b/packages/server/agent-prompt.md similarity index 100% rename from packages/voice-assistant/agent-prompt.md rename to packages/server/agent-prompt.md diff --git a/packages/voice-assistant/package.json b/packages/server/package.json similarity index 63% rename from packages/voice-assistant/package.json rename to packages/server/package.json index 0d0c9120f..f8eaff85b 100644 --- a/packages/voice-assistant/package.json +++ b/packages/server/package.json @@ -1,15 +1,13 @@ { - "name": "@voice-dev/voice-assistant", + "name": "@voice-dev/server", "version": "0.1.0", - "description": "Voice-controlled terminal assistant - single service implementation", + "description": "Voice assistant backend server", "type": "module", "scripts": { "dev": "NODE_ENV=development tsx watch --ignore '**/*.timestamp-*' src/server/index.ts", - "build:ui": "vite build", - "build:server": "tsc -p tsconfig.server.json", - "build": "npm run build:ui && npm run build:server", + "build": "tsc -p tsconfig.server.json", "start": "NODE_ENV=production node dist/server/index.js", - "typecheck": "tsc --noEmit && tsc -p tsconfig.server.json --noEmit", + "typecheck": "tsc -p tsconfig.server.json --noEmit", "test": "vitest run", "test:watch": "vitest", "test:ui": "vitest --ui", @@ -23,15 +21,12 @@ "@deepgram/sdk": "^3.4.0", "@modelcontextprotocol/sdk": "^1.20.1", "@openrouter/ai-sdk-provider": "^1.2.0", - "@ricky0123/vad-web": "^0.0.28", "ai": "^5.0.76", "dotenv": "^17.2.3", "express": "^4.18.2", "express-basic-auth": "^1.2.1", - "lucide-react": "^0.546.0", "openai": "^4.20.0", "playwright": "^1.56.1", - "react-markdown": "^10.1.0", "tiny-invariant": "^1.3.3", "uuid": "^9.0.1", "ws": "^8.14.2", @@ -41,19 +36,11 @@ "@playwright/test": "^1.56.1", "@types/express": "^4.17.20", "@types/node": "^20.9.0", - "@types/react": "^19.1.0", - "@types/react-dom": "^19.1.0", "@types/uuid": "^9.0.7", "@types/ws": "^8.5.8", - "@vitejs/plugin-react": "^4.2.0", "@vitest/ui": "^3.2.4", - "concurrently": "^8.2.2", - "react": "^19.1.0", - "react-dom": "^19.1.0", "tsx": "^4.6.0", "typescript": "^5.2.2", - "vite": "^7.1.10", - "vite-plugin-static-copy": "^3.1.4", "vitest": "^3.2.4" } } diff --git a/packages/voice-assistant/playwright.config.ts b/packages/server/playwright.config.ts similarity index 100% rename from packages/voice-assistant/playwright.config.ts rename to packages/server/playwright.config.ts diff --git a/packages/voice-assistant/scripts/process-conversation.ts b/packages/server/scripts/process-conversation.ts similarity index 100% rename from packages/voice-assistant/scripts/process-conversation.ts rename to packages/server/scripts/process-conversation.ts diff --git a/packages/voice-assistant/src/server/acp/IMPLEMENTATION.md b/packages/server/src/server/acp/IMPLEMENTATION.md similarity index 100% rename from packages/voice-assistant/src/server/acp/IMPLEMENTATION.md rename to packages/server/src/server/acp/IMPLEMENTATION.md diff --git a/packages/voice-assistant/src/server/acp/PHASE2-INTEGRATION.md b/packages/server/src/server/acp/PHASE2-INTEGRATION.md similarity index 100% rename from packages/voice-assistant/src/server/acp/PHASE2-INTEGRATION.md rename to packages/server/src/server/acp/PHASE2-INTEGRATION.md diff --git a/packages/voice-assistant/src/server/acp/README.md b/packages/server/src/server/acp/README.md similarity index 100% rename from packages/voice-assistant/src/server/acp/README.md rename to packages/server/src/server/acp/README.md diff --git a/packages/voice-assistant/src/server/acp/TEST-RESULTS.md b/packages/server/src/server/acp/TEST-RESULTS.md similarity index 100% rename from packages/voice-assistant/src/server/acp/TEST-RESULTS.md rename to packages/server/src/server/acp/TEST-RESULTS.md diff --git a/packages/voice-assistant/src/server/acp/activity-curator.ts b/packages/server/src/server/acp/activity-curator.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/activity-curator.ts rename to packages/server/src/server/acp/activity-curator.ts diff --git a/packages/voice-assistant/src/server/acp/agent-manager.test.ts b/packages/server/src/server/acp/agent-manager.test.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/agent-manager.test.ts rename to packages/server/src/server/acp/agent-manager.test.ts diff --git a/packages/voice-assistant/src/server/acp/agent-manager.ts b/packages/server/src/server/acp/agent-manager.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/agent-manager.ts rename to packages/server/src/server/acp/agent-manager.ts diff --git a/packages/voice-assistant/src/server/acp/index.ts b/packages/server/src/server/acp/index.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/index.ts rename to packages/server/src/server/acp/index.ts diff --git a/packages/voice-assistant/src/server/acp/mcp-server.ts b/packages/server/src/server/acp/mcp-server.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/mcp-server.ts rename to packages/server/src/server/acp/mcp-server.ts diff --git a/packages/voice-assistant/src/server/acp/test-agent.ts b/packages/server/src/server/acp/test-agent.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/test-agent.ts rename to packages/server/src/server/acp/test-agent.ts diff --git a/packages/voice-assistant/src/server/acp/test-comprehensive.ts b/packages/server/src/server/acp/test-comprehensive.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/test-comprehensive.ts rename to packages/server/src/server/acp/test-comprehensive.ts diff --git a/packages/voice-assistant/src/server/acp/test-concurrent.ts b/packages/server/src/server/acp/test-concurrent.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/test-concurrent.ts rename to packages/server/src/server/acp/test-concurrent.ts diff --git a/packages/voice-assistant/src/server/acp/test-exports.ts b/packages/server/src/server/acp/test-exports.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/test-exports.ts rename to packages/server/src/server/acp/test-exports.ts diff --git a/packages/voice-assistant/src/server/acp/test-integration.ts b/packages/server/src/server/acp/test-integration.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/test-integration.ts rename to packages/server/src/server/acp/test-integration.ts diff --git a/packages/voice-assistant/src/server/acp/test-simple.ts b/packages/server/src/server/acp/test-simple.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/test-simple.ts rename to packages/server/src/server/acp/test-simple.ts diff --git a/packages/voice-assistant/src/server/acp/types.ts b/packages/server/src/server/acp/types.ts similarity index 100% rename from packages/voice-assistant/src/server/acp/types.ts rename to packages/server/src/server/acp/types.ts diff --git a/packages/voice-assistant/src/server/agent/llm-openai.ts b/packages/server/src/server/agent/llm-openai.ts similarity index 100% rename from packages/voice-assistant/src/server/agent/llm-openai.ts rename to packages/server/src/server/agent/llm-openai.ts diff --git a/packages/voice-assistant/src/server/agent/orchestrator.ts b/packages/server/src/server/agent/orchestrator.ts similarity index 100% rename from packages/voice-assistant/src/server/agent/orchestrator.ts rename to packages/server/src/server/agent/orchestrator.ts diff --git a/packages/voice-assistant/src/server/agent/stt-manager.ts b/packages/server/src/server/agent/stt-manager.ts similarity index 100% rename from packages/voice-assistant/src/server/agent/stt-manager.ts rename to packages/server/src/server/agent/stt-manager.ts diff --git a/packages/voice-assistant/src/server/agent/stt-openai.ts b/packages/server/src/server/agent/stt-openai.ts similarity index 100% rename from packages/voice-assistant/src/server/agent/stt-openai.ts rename to packages/server/src/server/agent/stt-openai.ts diff --git a/packages/voice-assistant/src/server/agent/system-prompt.ts b/packages/server/src/server/agent/system-prompt.ts similarity index 100% rename from packages/voice-assistant/src/server/agent/system-prompt.ts rename to packages/server/src/server/agent/system-prompt.ts diff --git a/packages/voice-assistant/src/server/agent/tts-manager.ts b/packages/server/src/server/agent/tts-manager.ts similarity index 100% rename from packages/voice-assistant/src/server/agent/tts-manager.ts rename to packages/server/src/server/agent/tts-manager.ts diff --git a/packages/voice-assistant/src/server/agent/tts-openai.ts b/packages/server/src/server/agent/tts-openai.ts similarity index 100% rename from packages/voice-assistant/src/server/agent/tts-openai.ts rename to packages/server/src/server/agent/tts-openai.ts diff --git a/packages/voice-assistant/src/server/index.ts b/packages/server/src/server/index.ts similarity index 50% rename from packages/voice-assistant/src/server/index.ts rename to packages/server/src/server/index.ts index 4367b2bce..75fad07a0 100644 --- a/packages/voice-assistant/src/server/index.ts +++ b/packages/server/src/server/index.ts @@ -1,13 +1,7 @@ import "dotenv/config"; import express from "express"; import basicAuth from "express-basic-auth"; -import path from "path"; -import { fileURLToPath } from "url"; -import { createServer as createHTTPServer, Server as HttpServer } from "http"; -import { readFile } from "fs/promises"; -import { createServer as createViteServer } from "vite"; -import type { ViteDevServer } from "vite"; -import type { ServerConfig } from "./types.js"; +import { createServer as createHTTPServer } from "http"; import { VoiceAssistantWebSocketServer } from "./websocket-server.js"; import { initializeSTT } from "./agent/stt-openai.js"; import { initializeTTS } from "./agent/tts-openai.js"; @@ -16,10 +10,7 @@ import { deleteConversation, } from "./persistence.js"; -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); - -async function createServer(httpServer: HttpServer, config: ServerConfig) { +function createServer() { const app = express(); // Basic authentication @@ -61,75 +52,14 @@ async function createServer(httpServer: HttpServer, config: ServerConfig) { } }); - let vite: ViteDevServer | undefined; - - if (config.isDev) { - // Development: Create Vite server in middleware mode - vite = await createViteServer({ - server: { - middlewareMode: true, - allowedHosts: ["localhost", "mohameds-macbook-pro.tail8fe838.ts.net"], - hmr: { - server: httpServer, - port: config.port, - protocol: "wss", - path: "/hmr", - }, - }, - appType: "custom", - }); - - // Use Vite's middleware to handle HMR, module transformation, etc. - app.use(vite.middlewares); - } else { - // Production: Serve static files from dist/ui - const uiPath = path.join(__dirname, "../ui"); - app.use(express.static(uiPath)); - } - - // SPA fallback - serve index.html for all non-API routes - app.use("*", async (req, res, next) => { - if (req.originalUrl.startsWith("/api")) { - return res.status(404).json({ error: "Not found" }); - } - - try { - const indexHtmlPath = config.isDev - ? path.resolve(__dirname, "../../src/ui/index.html") - : path.join(__dirname, "../ui/index.html"); - - let html = await readFile(indexHtmlPath, "utf-8"); - - // In development, transform the HTML with Vite - if (config.isDev && vite) { - html = await vite.transformIndexHtml(req.originalUrl, html); - } - - res.status(200).set({ "Content-Type": "text/html" }).end(html); - } catch (e) { - if (config.isDev && vite) { - vite.ssrFixStacktrace(e as Error); - } - next(e); - } - }); - - return { app, vite }; + return app; } -async function main() { +function main() { const port = parseInt(process.env.PORT || "6767", 10); - const isDev = process.env.NODE_ENV !== "production"; - const config: ServerConfig = { port, isDev }; - - const httpServer = createHTTPServer((req, res) => { - app(req, res); - }); - - const { app, vite } = await createServer(httpServer, config); - - // Create HTTP server + const app = createServer(); + const httpServer = createHTTPServer(app); // Initialize WebSocket server const wsServer = new VoiceAssistantWebSocketServer(httpServer); @@ -167,18 +97,12 @@ async function main() { console.log( `\n✓ Voice Assistant server running on http://localhost:${port}` ); - if (isDev) { - console.log(`✓ Vite dev server integrated (HMR enabled)\n`); - } }); // Graceful shutdown - process.on("SIGTERM", async () => { + process.on("SIGTERM", () => { console.log("\nSIGTERM received, shutting down gracefully..."); wsServer.close(); - if (vite) { - await vite.close(); - } httpServer.close(() => { console.log("Server closed"); process.exit(0); @@ -186,7 +110,4 @@ async function main() { }); } -main().catch((error) => { - console.error("Failed to start server:", error); - process.exit(1); -}); +main(); diff --git a/packages/voice-assistant/src/server/messages.ts b/packages/server/src/server/messages.ts similarity index 100% rename from packages/voice-assistant/src/server/messages.ts rename to packages/server/src/server/messages.ts diff --git a/packages/voice-assistant/src/server/persistence.ts b/packages/server/src/server/persistence.ts similarity index 100% rename from packages/voice-assistant/src/server/persistence.ts rename to packages/server/src/server/persistence.ts diff --git a/packages/voice-assistant/src/server/session.ts b/packages/server/src/server/session.ts similarity index 100% rename from packages/voice-assistant/src/server/session.ts rename to packages/server/src/server/session.ts diff --git a/packages/voice-assistant/src/server/terminal-mcp/REFERENCES.md b/packages/server/src/server/terminal-mcp/REFERENCES.md similarity index 100% rename from packages/voice-assistant/src/server/terminal-mcp/REFERENCES.md rename to packages/server/src/server/terminal-mcp/REFERENCES.md diff --git a/packages/voice-assistant/src/server/terminal-mcp/index.ts b/packages/server/src/server/terminal-mcp/index.ts similarity index 100% rename from packages/voice-assistant/src/server/terminal-mcp/index.ts rename to packages/server/src/server/terminal-mcp/index.ts diff --git a/packages/voice-assistant/src/server/terminal-mcp/server.ts b/packages/server/src/server/terminal-mcp/server.ts similarity index 100% rename from packages/voice-assistant/src/server/terminal-mcp/server.ts rename to packages/server/src/server/terminal-mcp/server.ts diff --git a/packages/voice-assistant/src/server/terminal-mcp/terminal-manager.test.ts b/packages/server/src/server/terminal-mcp/terminal-manager.test.ts similarity index 100% rename from packages/voice-assistant/src/server/terminal-mcp/terminal-manager.test.ts rename to packages/server/src/server/terminal-mcp/terminal-manager.test.ts diff --git a/packages/voice-assistant/src/server/terminal-mcp/terminal-manager.ts b/packages/server/src/server/terminal-mcp/terminal-manager.ts similarity index 100% rename from packages/voice-assistant/src/server/terminal-mcp/terminal-manager.ts rename to packages/server/src/server/terminal-mcp/terminal-manager.ts diff --git a/packages/voice-assistant/src/server/terminal-mcp/tmux.ts b/packages/server/src/server/terminal-mcp/tmux.ts similarity index 100% rename from packages/voice-assistant/src/server/terminal-mcp/tmux.ts rename to packages/server/src/server/terminal-mcp/tmux.ts diff --git a/packages/voice-assistant/src/server/types.ts b/packages/server/src/server/types.ts similarity index 100% rename from packages/voice-assistant/src/server/types.ts rename to packages/server/src/server/types.ts diff --git a/packages/voice-assistant/src/server/websocket-server.ts b/packages/server/src/server/websocket-server.ts similarity index 100% rename from packages/voice-assistant/src/server/websocket-server.ts rename to packages/server/src/server/websocket-server.ts diff --git a/packages/voice-assistant/tsconfig.server.json b/packages/server/tsconfig.server.json similarity index 100% rename from packages/voice-assistant/tsconfig.server.json rename to packages/server/tsconfig.server.json diff --git a/packages/voice-assistant/vitest.config.ts b/packages/server/vitest.config.ts similarity index 100% rename from packages/voice-assistant/vitest.config.ts rename to packages/server/vitest.config.ts diff --git a/packages/voice-assistant/.claude/settings.local.json b/packages/voice-assistant/.claude/settings.local.json deleted file mode 100644 index fbfcab7fa..000000000 --- a/packages/voice-assistant/.claude/settings.local.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "permissions": { - "allow": [ - "WebFetch(domain:vite.dev)", - "Read(//Users/moboudra/dev/voice-dev/packages/web/app/hooks/**)", - "Read(//Users/moboudra/dev/voice-dev/packages/web/app/**)", - "Read(//Users/moboudra/dev/voice-dev/**)", - "Bash(cat:*)" - ], - "deny": [], - "ask": [] - } -} diff --git a/packages/voice-assistant/.playwright-mcp/after-fix-verification.png b/packages/voice-assistant/.playwright-mcp/after-fix-verification.png deleted file mode 100644 index 891eb9e8a4241e711160bd5b74e83013d5806a79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16251 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 Xk@H|`4Z;nmL6Uv1C|UMS*YAG;65_;o diff --git a/packages/voice-assistant/.playwright-mcp/faro-homepage.png b/packages/voice-assistant/.playwright-mcp/faro-homepage.png deleted file mode 100644 index 189a2c841afcaf81a570534f35c598724e91136b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136693 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�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 z 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 H?;iI*;Ymnf diff --git a/packages/voice-assistant/.playwright-mcp/iphone-se-initial.png b/packages/voice-assistant/.playwright-mcp/iphone-se-initial.png deleted file mode 100644 index cbea6498551c2823b877e26de4fbde2f904c5e64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44055 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 diff --git a/packages/voice-assistant/.playwright-mcp/iphone-se-long-text.png b/packages/voice-assistant/.playwright-mcp/iphone-se-long-text.png deleted file mode 100644 index 1433756d6b3547f765ca961ca006754cfd5ad463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55183 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

2u-`G2AKvx1;b|iipr@qiqfY)=8v@mbFVG$q986 zRpAqEMKznjRVNMC8Y|Yt08ZWhr%OJ!j(r{hTxq^+D!bVOD4!B=eTDU63bxoR64C8L z5_xaY<^>lCHg0$L%R^ePs!dG(i4DCZNE!P<+K$BsJc`yXXw8mTzP z78Wgjf_=x+j$<`9H0`*65C%QG7&$WBR7W9ewP3}i^m(3uTvHeVC4FA@n^le=-*>NY z5Nck%4XfE!DOC?|i}-!DJa3|+b;UCjAvOwn`q(3eg3>QNqWJ3Y81@@-{)sb3qOC@( zQX8S8C@Wrt))(`xBGtE^O0P{0t2r?P`>1gz>TkB=!>dZkSn-HQwGDD+l+G}qC}k_* zUj6gu7oBH;kS_*MjlcXedQCFdpTi;{w2k5lQ(rv2iWeE$BvCaz0v5kpNwQ_k`F z`kFV+YB5L4gdB+Y34O<$a6luO+`Fxlpn}H%Cs2_RC3f}GYDQYi9#4B;TFf|9upm9E zQsfW!$FCB(l&XI1KV?Mp14Fmhi@ys=%ivu8Bveh_m>_4r63Y2~UVr=iI%o03%#s;5 z`4*V(C36d3SGVs@q9BpPmd|NBZLRx=!9=Gvf07S^FA5D+`2DMZ+Z`4H7kj?tVSb+Yib8QhZv*qCM;Ao0fn_gR~@{CFnuBkwe zo@Lt(opz|{Gz&87WfGr~UaM_7gGUa@o=z}v2%=SVWZ(L!op2{L;BR5of0`fv#9IGd zA(^2I)NK29{8Z@{QPw*7Y zUta&N07L}LAqKtGgLv59?b16LHq3cMMtgn_qG;g}Th!Fl)oVp1+(**QG#C-2x{Lf* ztoYx3|9=FKs=H>X z#^~{+5 KsSwih`~Lv2#Z~bD diff --git a/packages/voice-assistant/.playwright-mcp/iphone-se-recording.png b/packages/voice-assistant/.playwright-mcp/iphone-se-recording.png deleted file mode 100644 index be0446d253a99e5783db82d276c1da34afefdff6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54992 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

X4s}|l@663i8=RVFPD{f>9l@U5D zu`l2l)I>`m!px;x_fQ(2^tV-yZ`iFmGpDRh)?2zR%0Ezm!l%;u8B&M&BZ7W~0pMpO zcC39@CTO@TZvFRV&CPbtu`AgM0_Q~v_^%#_&51gO{LrGOPT|hR@5i<7P7V&L-M0gv zTN~Hk8fR(EQz%1l8I#YdeaI5i=W^LisnF2?7wTWtyg zlOnLp7q-uo`sH$^tliIRTc^whAHkg6ufgx4*sH$bfBjwU}0CUzXh8*6Q^M!6+cJq})+^fdwbYTsk+80n#LP}dK`^ffo5_~+os8KVJnMS;1n>U&u%n9-o0|jMhO%2l=<&Nz zxL@Rd=ssspW*#F;FYrGly!Y;OQ1}^-EgL|bA1+v#M9dcv)yW99Ss0ENm#0AqUFF0r zY>Vq4J%`0XmZ67F*bF@#H7E*&z+yAm< zh1RZ2Cg8Zf{aF)qWBcV2fK{SN3GadVlie0mRs?fG(%&3S3NFw{q?|9Pf)18@*lG!v zTD!`P9yHo`mFMd$aojNmr~EM&z(vWvX`nkiC_A>79`TviRq`~5lh#H^z|8d(vWn0% zEEzrm(tiw8>aE7KhbuZhoLT8~&S<6AP5DS444I;>a8~rwi4$Qr5+=SofJ;02?0QI9 z3%475@t$2FuwYovEjtWPh*K$`B(#2vQUB#*qCzkwUe6@t=fx0+Kh>itp&5(86A8!s zDCmDWGT;XYn+J;y#*v6ZD1qG5CcG_eH}4et%|BSx!|IEs=M2RxxhbFf@)5M}D+kT! zAnnDc4oU4cF?#`O}nAIm6ujjF_=%!^chlqlku1e^wGAc({Y@29*8?;DbF zc&k6=R`DG^92%Hd2U7@g7zkrL`?-Ur>#!S=J#7y_2nx%qH-358`FWEx)0nHN!50ML z+_N9O9=)j%Vq^|8Y+n!OZ!uyg8F{d}q=f18h+Rt|hgHz4-o4~tc0*-L~JMOC+8U4vFFEP^%3M%O0Z2CcGx`x8nJ3PY* ze0F!)*YfA7F+4i{xYl&c+h%Cl#BRHmn+yf^0Eq_pz})zjL#yB!ireP=WnOM(a*^_Q zp!GK}hFQ54EyT{B3@{wCU3mE35gPR-*daB;Nw3wgx&U6KqYdruT>orcmo|oXy9lCl zp>4aOqX%pzV?NpQ+iA-#@E^J}X?b*=1{|gfmRVs9k^ogPuOHH^8k?fG&7O1HtvEpD z`Fl9)gdyJT%LNE0m30jP_dN*9E+?(b(k}(!1*7(gAe1vT)aH(Xd@g3P*Z?e|(+}$_&q4uW8jfbB2c+mV<`LA6Eg2k+E z6TXN;y^-`a(aRSVH@R)5c*Mbppifqa&jd(mdstU$$5x6L41M>bNv@=KJ|=qpFrzrr z+Gr`1Jk5m?79xtAhW2kH3waIc_-OX1o%MgCw&h)HYFPtmb08HzK7by?3^Y@C!0udJJ+Wq3cu!k?LI?nl)z)1vNlzyO{}!zR-X|p(+v_`N;GbHD z)t12@}E)aX{e+OM;Mb6#aAnnUq2Ekf&PM!Dh9w2cJq0hzwRv zmWcH=(tiPQR`d8*#M$GeKTV&8#*Ox<`%)xm%CvGbR!Q?j4xPne9OkbXh7q_;rb+{i z8T8H&^P(`unVN_I*29l+`4YskwQ`nUlzQ`4IrDMG%msWO~QvTfg(WzTF zoT493JJ1b83W7I^);j`{-YS43ggOdKMuU|`gb2pM316%YQwgM4F7;yW@M7)&VK{pc zyz1Aw2Jj<;CyLvOo%;j}GIYVJb979iwG?riCNnL?fEw;XFrSe4sd&V423L)XMt|-g2B%@Iy6$XVUt%w zPcNsQip&Nr_6@48C0tRw7M^f~$hv!4g+$hs?A{Tja3o>`q@*UQg<7k%Akr4=aXJ`1 zfDPo|tsJih%el1}$W{GNpajS&fm{rrBOF#dDfxK)FLZ?VN`KQ41~lKFP5=8k!YuZG z)Ddp2|5Zmg!jAa6j!-qxUbpYyU+4(gcK#h5A({%tzt$1T@cp49R85=$bcEDW=OrJX z|3OE{N3Hz3ju4{sHyxq9(*F$|;kX;(A38#Hs$V)nl~SCuXyCp#R+o2p$zJK-(-EG& z`;(3^A+NQ}U-~5A)a6;xc9U*GT-*kjjs(_AgIsWfD zLh8pq>j+h=ngJc*hz#Q2b%afn|95qSYUTgiI>P@f!Ss8C`Oij%aDs%;$jCgvP1qG# zU0scK2`Co`!2n-@pIFEMpdtKEQ&GQvW|>mT+1c5bF9<2pqQJXPF(UgP9v)Itv3&3Q zl#o-p7^UqAoMwA6Y>XNbG*wX`*8*jwq#Rl&_Z?R+B=V-BaJe+fRJR#Zq=6vR8T>=I zVi8KHu!x9A`y&i)*%$7`XZmdVF@DSMHuxJpmP zXpWeUIBOiQVMy;LOlq~vObAofDZ0WY%~*gBMSyLF<%DmJZh&PK+oz{sMYlwQ3l&{hJDgvi!)G7Lz-pl%kg?kU|OVYRuM;x7Ou`kG4UMR zE^Qm1r_}>0iJ1^@fzBRQQ(gOU&$_uRhX=;%u&e>z!=TgWtsL+Dwq-@z&-RgVzE{r` zr+Fw!E!VLTf62V&tthU-k#3ugXI7_!nVZpjwyt|ijb_LF?KpTZebn{uV%PzJc#n5g4-;TM5QQrUjh=CN!Qi+z@uS8RxSRP}?kDDX)7UyGRIc~xjaV_B6nF$Ei z1JQLl+5Nfsp0AWDbO4$&1_oeYu1-r!>kCIeU93Cwf6ogE2j|2W5Fa03(edJbd$KZ; zM32vG0=srZ-|=*D(sKHfdD-)FRM+!d#M${KH<}j<7dMirr@Q;-=vS8|>jtmOQMMA* zGD#VkK#!3450-O!6CPWUY<_-zIB&=qQ^z?N4QomYKTH5!HK3{sRMh0f)xQp&u^J&#`ts(S;n3yi|_S;pD!p*H{ zzJ3XQsXHa;&CSiMEwi)RHScI#zNa&xq$!5V*R|K@wd;A^=&c9fg=EsnKE;zh*N5|b zXPxh&tnilBYE0#3>bzfHbiJQv^<`Y8ukKdv%`zTuccfKS6EEih0`%Y@uoHm}ya4a# zOifBo4iWZ5Y-HaZ&y0Q&_q^Xp+S=NBJ&*QY_I`a{9Xs2fE+`s_YEteA7({I|T&E5- zR3T(@jC8X^L0*`F`F?*;4e=U~r{sAFeVm^^kWVOm5IA7@(o&#zv6=H@1WRq_d_OI) z%+1ASqc$_#=6=-no8JZYXS*J5ze72)IG(4oo?v*~?(1Q`WnX%Bc6JPG+oJWI)z6Q| zch34Rz^*%B?6Sd;>HXs7=wq7cg{IaaTj240Jx|#pw_2oBu$$rWX(*O7n(u|ZoNu?i z>m5gDpPIHdT%->|C(Gelq~p3E5@P>_6rLBu+bC+jHNVp}Mn|?{l5DI!xw>3`FC5 zA5{%JTpt4cf7fjRr_3?lcrrfmaUf4_AS&f2%@NuosD)|cMb0#;Csanj|K5r ztrmW*hRj#i?6|^N3rAT;h8GsW8G8o@e9tq1G@R8)k)?@X!nM6P25!5=39BTK4flvT ze}miOrQ0bf`nHQ<>Mu|%7z5q6AES@O3gM@~XMF@WW;P<6PL_Wd=0u;48D4UK)*Z7R z8y|OhN&Vs%biCYzj19As6#pC7|6~i!h z{lXkw&)E{L(%E{5paWi>!WC7N7kT*M($@#b9X7f(93=$>L^}Be_B{-YC4^U@AH)D-q^tcfi8?1ht*F)nn}NBg!5xY**%kE%~@8q7;KxGIO!g1ER4K zGxISyFH*W{17cjFtLHFh`0$jjs(CC(!jwgMn3HoTMJo1!j0+-64^gtAuVaxXh()4C zslVmr9I!bnylh+)N$cp~aT2m(VPR#_!{hrxkb#5aT;Y5i*_-9HnnZKx&h#UGGY{^C z{Ty8F!4t)LhHdudAz~y7;|t?w1A?73gU;;%Z=Z8~Lo7Nj7nl%;C_-aU@ck1*>qx669&5)wyg~LNJvN%vtm&=p)n~JAm8aC zdY)MOtsP}+yPiqposaoDL~Mj-JvldZ_c~9EH~H_@Uj4-)Ix2;6j(10;qmKtDMQVV{ z!gQ`!ba}nM;cj#v&*YZNZkZczJG~7*^gY}lCJFdxzl0B(5NXX()>O$W8@#bLk-;in z-vRA|mvLlAdXeX6n0CY21(fL~cMZy-&m|Hx-$mdOi}Qoi@+7)Y_?|~5a`Z4wYc;~K z5DpWJS$OE_PSHf}BS#9DJRO6APrr=mZ4d1E`eG@OB%`+0 zEm0Y;684_kkn>G!KGhIl6Z$yln5+!q7fVkhJfeE+@V5NRw|!Ajf@cl2wKFk(Z!yyY z)|_>C-lfmAz1{1K0wIO>Io0wqLcDwA2zRgW?<91%lh$t(Kj6|bHp%b;B-v$($iCS)i%vxpvq9( z#|ar3`5j@<5?C;LKC)9Ch_=t$9IQB+C}k#SyUs6Bt}478Dm6d3m4lwWZ%%mGqb}Ot z-PN?*=5wWgoBnETG*r<&$TY*+AIF%F!4RtC;+HOHp>@P5vzh2T#Sa1pb;2M6A|&-B zHdw1PWlkW&#qVoGfEkN`Z4eRa7ANyWggI1gq+V})xZ`NkoV2p!IX*I2?dYPhUn}bJ z@|kRFnYN^D_LyhQD`TyuA&dm2qKCC+;UnhzAk+Lwm8Ql77`wQL;(l;3y4u0oMymI4 z7=ciZ?u-ndfwQ(e+mBW^hsAhI7a2!VdGghI>#vhaA6uNu8Yd3EAAvvgv-4o(VsuK( zvWskqC9y4#DLzyMb557X4!9yM{kk#5s#0VwEeE zl-D^Wb*IrX2e6dFxZ}7+jN^=b+3a?VNLlGjhMb1JU3PfyzQ5;Txcn)?{cKXV)s-&phz`KjDHK8#PCg{$)2>{XA`nM6e?AkI#(wgJVF;iKcH)H!LM1u{1$%&qV?SZ z%_;@=2YB_xz?3NM{FM>MR?%U{4VBB#!=&0LnP^~v2aTZ`FKWnh~^e13^> zrz_2X0@LN8qhZ!=*Z1ir`3WyyDLm3k$tZQr`^`-w$kOt83bJz*KP47o*e`_kZl7W92HTJ+8w4_+NEw3t~4 zG>q210jiU&)i`8A`Tl`{3rCGR8Al9ZeC}6fi?7@6`en(bMify*<%*2?C3!G)Yz95{ zKa|VBmIO$$Es4oU-RH||N5odOwJ}?J192+p4sH&11JGqdLXj@QGvI z8;L=@mM`BE9jel`+S|XiPh>dX4>Eyu#HGv4Rp>?+L-a$M?>3Ra;i|ww%f~J>I~@+i zk>h(mozo=cXn&seyfxFBw(J#FcBR2$ltDHTl|C9lh^b3v5;mgEhecE$QMSgM#_UO= zLX2@UV^=qM7e`JvFjM9vebP}BfByJPY{?;PgoGuVXqg{tBhzJl!Ye>_yQVyRb$v}4 zW}x*TBTSY(l(iAj+A~CPK%IWSl-`wL_&Qo@eo)M9x6w^rYOV!+AG)HDLLsM@wSDb= z?ChbYrgn1^`y|w{ydLK%8>5E67@F>luo2<1fa#`^QFLe=q@t`GpO9dD-_jvWLKn}( zC_g+Ej@ft9#Bp(u;&yIY6GM+d5xEqOscx9^aTozHrK{v3WbZ_PAMcjXYj|O zve3MU>3v6boG_*#%>X2Y_GuPcyy&k@ghvcDl*A*|16%s-2-+JF9r6LIqU<=VZc0Wq zE~qBG2$Kxoe9ujlM;Q{BFen%eLd-~v{Dvx6QYA50yTd~InNnc$515Vy5hg#9#rZP- z`2AP?hcBm;#avOU@W6HwOCU*UTa6CMhtiglJik;t3qkpWsss#%MQ^<%OMc{dBta4l zJ1Cx2PCYA`>vbeU=f5b1jqD()o7Xg$!{DKeSqKP&b*iVAw&K3hL%^HpGGayMYx7>v z=Sg=pinbh_7#*X7A)=zyTGoDwsnJprrPqm1yL9mjfkxC|TWlPZDW{A}yGIB9Ry(og z-id|v<<8${<&R_Q;<7;oUQ5CfP2HmAosC`dV+|`tETTK$zj_pZ4$RvJS%-OPW zrhiXD1sc=mD%R4yE1S`5YCQ0hufl~hT`2oYhBVpcxyETz0_tPhR2D%shEjf~#L!;s z)a{|^K59Zj!|KicVw1!3^E)9SA>Xbp=)9WtZ!!q#5ybf*YUODkxgE~*l*ac@PQKc- z@63H@uz;%D_rFCBZ5%bBudAXLN;K5X&ocMLHes!J{C-?cy2R$u_Rc#3mJE@w=J6C4WBc?aGAm>m3-oR@A)V_T)NUO zc1BcL=!(%p7kvF8qVa90Y0u|oXVWQ%yV-4)jy*e9p*;44}i;YW@!blT4KTiL#_pv|dJHqg6d30>*8H1Eo5X<@`$ zYwh%IMV4rZ$>pP=aeTwZK8CBSf2M^J0Q03(vYqJyyP3ybr1aJmk#SO)<~mI~=I~aL z(bo0WwOl&S+T!fk9m^`5?lq!&a$3y$n#jJ&84GA8q%tX+ZTvlMyBbFby{!FrH!?xJ zUz}k_PMe3W(`ox!;CnZVUAHT^GhbKN#R_IV%yYavpGqN+VmMg8T1{HYoL9V3eB4Ia z!z64)5ur&fYjq-dnc+*EnWw1mLU`S1(|K}L!mc4ZWi*BkD;GUT(5AL{ylL~wQL2S_ zc#!nkDZ?e_pPk1iZZqHvH>Nx4+AhR@l$`djTFL|tw*TxMOHv$RTRGCG@4P8`eC$zpUek&H z{H&b`wDRLAaom}7ayzPWZX8LFXze-QWl#7D1&48G@OSc&P|a}Mnv>3lhg$L$rJqbw zNp5qgwMw?M5u};FNwfl;>97+$HmIC`rjH#l8YZ z?b_0UUe>9jmOhNM##3^fe+s|Zs2iJlYYo|yeoQ)@yFx$BnEM3Iv(?@>)U)_@lT(N> zol@ydG80%1Q@g3kF(GLR`|OX&)www?hIQNK+Hd))HsW(ulgG%^SNTrgl%8LtVr*XX zcKN?H--_ed`A8lsRlqx4eY4LVq+FRX8!+4k=>~y9iY%x$bjtNo@!v|(7IJMZ?)n6q zD}SY}V6)~#zw0WMXiKi~DcPx)(7Zs-xxS(P=Kk3^ zNebQGpnpZ(6Y!M<+H@oX=3o@-+lKN5!do?XOeg=w;1d%QuDXlpy}15T4(73Y@oUQQ1c zo{kzapzei+lJF@#EKTnh^P=cq3G^KOLw*FzsJCn7dRw4< z;;hTvRwb6Y_EWNAls?+AKGV$75*Id*R9$wEm(jFE*{P*bi^;2|h+aEh*nsneyuT-e zl0-V?i52CD=W1ip!E{Vd6bcu5#Vb~vVAj2%3(pun(?q2RKh#;dTjY(9ErW6!X z+80kqWXWh8GN|!S7B%Hb`+3v(??Hdjlp5b3d!yK>ve%k`sUR?2rz|xtP=1RazvUWWUI#{Pn2F;eFGc@`C?4UMNZ#QkCT) z4%VzqrEPWzCCK3>2YXMw!j}Mk6JEq%JU^lrZ1wKZNv`e0dInb|wzngSKi<@lhq7;6 zs*9LImMW5|Pi;qkH{ba+gktS{QTLy2QDV`(iOiN7QK%V9+>joX@#c9W0a0`OkP$G# zs`?nQf=Pr0mEvQ>P?P_I+OcPY!9OSjR{R|>=t>w>^^OBxh5@vr;Ddz}Py~e4NVZ|X zCCNM(gF;6c`{)pah4ZzU3}Q(n5D<4vlw-AGnQ)*H6;4D+he#<6YtD&yh=ykiNt#HE zjnqvh5ESUX5Q@jfNQsUcIY5VokiqTy!eZ7jj9xP(mzzWfg^)ov`Cf_Fa33#<6F>PB z7bj!SJ82^z8v9_9I_mes#|If7)vQDG-*|?EkcANw|9NYl5#PLdeJw)>c7F5b4fwB< b{<}B9Agd0@YxfDjk~b0}vclzpdVc={8o!T3 diff --git a/packages/voice-assistant/.playwright-mcp/mobile-layout-iphone12.png b/packages/voice-assistant/.playwright-mcp/mobile-layout-iphone12.png deleted file mode 100644 index b370ad1995a2ab623d8540b73ca2b5b693d55ac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46995 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 H>+^pAZkAW4 diff --git a/packages/voice-assistant/.playwright-mcp/mobile-long-text-input.png b/packages/voice-assistant/.playwright-mcp/mobile-long-text-input.png deleted file mode 100644 index 1b888568ba5d4e526d1b5860cd8361f59323da7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87957 zcmb5VbChLG*C&{^ZQGT$ZD&?mm9}lO(yFv=+qRuqY1^9nJn#3->YnbNHS_1aC)SCx zW5tg6Vebe63cIWn$WAQ)m*OM!ub(L)6%KtW{#w^mKQpmw$PxuS)=AqvTl zk=&7OB$|x__*He_A&N+BuMGh8Hw53-~8cny4va}d8E?U-|6iY zBqc4VXI_3sco;btOZZ(*S zd2C_$s@|7v)OogmuQH7A56jh_CHrEBiIeltD{F~9ghMcIp@ziap`YK9%NEqz?-4ae z&MU9sJwFTIUtiBF<+g{p@WXlX%`)w`bns58*)_3~YBt1YY`8~NKSAn=8~)PfSj`Tv zw}#=?D?LKelIwQ5*A*92(9uOt9FCj77_qakoUhgy%gf6CoGn$Teͯ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 Ok``AGs}(T}{(k_#_>sc^ diff --git a/packages/voice-assistant/.playwright-mcp/mobile-recording-state.png b/packages/voice-assistant/.playwright-mcp/mobile-recording-state.png deleted file mode 100644 index 9922f693dcd60b9ef6740a6b555fe3fe13bbbfe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89671 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%0AP>W9wA|5W>k`l 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 diff --git a/packages/voice-assistant/.playwright-mcp/narrow-viewport-273-fixed.png b/packages/voice-assistant/.playwright-mcp/narrow-viewport-273-fixed.png deleted file mode 100644 index 70ef52da1b0e148986b2f52e371c35e8a83419fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26504 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 z 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 diff --git a/packages/voice-assistant/.playwright-mcp/narrow-viewport-273.png b/packages/voice-assistant/.playwright-mcp/narrow-viewport-273.png deleted file mode 100644 index 70ef52da1b0e148986b2f52e371c35e8a83419fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26504 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 z 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 diff --git a/packages/voice-assistant/src/ui/App.css b/packages/voice-assistant/src/ui/App.css deleted file mode 100644 index 2df5619c3..000000000 --- a/packages/voice-assistant/src/ui/App.css +++ /dev/null @@ -1,1278 +0,0 @@ -.app { - display: flex; - flex-direction: column; - height: 100svh; - width: 100%; - overflow: hidden; -} - -.header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0.5rem; - background-color: #1a1a1a; - border-bottom: 1px solid #333; - flex-shrink: 0; - gap: 0.5rem; -} - -.audio-playing-indicator { - width: 8px; - height: 8px; - background-color: #0f766e; - border-radius: 50%; - animation: pulse-audio 1.5s ease-in-out infinite; -} - -@keyframes pulse-audio { - 0%, 100% { - opacity: 1; - transform: scale(1); - } - 50% { - opacity: 0.5; - transform: scale(1.2); - } -} - -@keyframes pulse { - 0%, 100% { - opacity: 1; - } - 50% { - opacity: 0.6; - } -} - -.main { - display: flex; - flex: 1; - gap: 0.5rem; - overflow: hidden; - padding: 0.5rem; - min-height: 0; - max-width: 100%; -} - -.chat-interface { - flex: 1; - background-color: #1a1a1a; - border-radius: 8px; - padding: 1rem; - display: flex; - flex-direction: column; - gap: 0.5rem; - min-height: 0; - max-width: 100%; - overflow: hidden; -} - -.chat-interface h2 { - font-size: 1.25rem; - font-weight: 600; - margin: 0; - padding-bottom: 0.75rem; - border-bottom: 1px solid #333; -} - -.ping-button { - padding: 0.75rem 2rem; - font-size: 1rem; - font-weight: 500; - background-color: #22c55e; - color: #000; - border: none; - border-radius: 6px; - cursor: pointer; - transition: background-color 0.2s; -} - -.ping-button:hover:not(:disabled) { - background-color: #16a34a; -} - -.ping-button:disabled { - background-color: #444; - color: #999; - cursor: not-allowed; -} - -.connection-info { - color: #999; - font-size: 0.875rem; - text-align: center; - max-width: 400px; -} - -.activity-log { - flex: 1; - display: flex; - flex-direction: column; - overflow: hidden; - min-height: 0; - max-width: 100%; -} - -.log-entries { - flex: 1; - overflow-y: auto; - overflow-x: hidden; - display: flex; - flex-direction: column; - gap: 0.25rem; - min-height: 0; - max-width: 100%; -} - -.log-entry { - padding: 0.5rem; - border-radius: 4px; - font-size: 0.875rem; - line-height: 1.4; - display: flex; - gap: 0.5rem; - flex-shrink: 0; - max-width: 100%; - overflow: hidden; -} - -.log-time { - font-family: monospace; - color: #666; - flex-shrink: 0; -} - -.log-message { - flex: 1; - min-width: 0; - word-wrap: break-word; - overflow-wrap: break-word; -} - -.log-entry.system { - background-color: #2a2a2a; - color: #999; - font-style: italic; -} - -.log-entry.info { - background-color: #1e3a8a; - color: #93c5fd; -} - -.log-entry.success { - background-color: #14532d; - color: #86efac; -} - -.log-entry.error { - background-color: #7f1d1d; - color: #fca5a5; -} - -.log-entry.user { - background-color: #1e293b; - color: #e2e8f0; -} - -.log-entry.assistant { - background-color: #0f766e; - color: #ccfbf1; -} - -.log-entry.tool { - background-color: #581c87; - color: #e9d5ff; - font-family: monospace; - font-size: 0.75rem; -} - -.log-entry.artifact { - background-color: #1e3a5f; - color: #93c5fd; - border: 1px solid #3b82f6; -} - -.log-entry.artifact.clickable { - cursor: pointer; - transition: all 0.2s ease; -} - -.log-entry.artifact.clickable:hover { - background-color: #2563eb; - color: #fff; - transform: translateX(4px); -} - -.log-entry.artifact.clickable:active { - transform: translateX(2px); -} - -.log-entry.streaming { - opacity: 0.8; -} - -.streaming-indicator { - animation: dots 1.5s steps(3, end) infinite; - color: #666; -} - -@keyframes dots { - 0%, 20% { content: '.'; } - 40% { content: '..'; } - 60%, 100% { content: '...'; } -} - -.log-metadata { - margin-top: 0.5rem; - max-width: 100%; - overflow: hidden; -} - -.log-metadata summary { - cursor: pointer; - color: #999; - font-size: 0.75rem; -} - -.log-metadata pre { - margin-top: 0.5rem; - padding: 0.5rem; - background-color: #000; - border-radius: 4px; - overflow-x: auto; - font-size: 0.75rem; - max-width: 100%; - word-wrap: break-word; - overflow-wrap: break-word; - white-space: pre-wrap; -} - -.message-form { - display: flex; - align-items: flex-end; - gap: 0.5rem; - padding-top: 0.5rem; - border-top: 1px solid #333; - flex-shrink: 0; - min-width: 0; - max-width: 100%; - overflow: hidden; -} - -.message-input { - flex: 1; - min-width: 0; - padding: 0.5rem 0.75rem; - background-color: #2a2a2a; - border: 1px solid #444; - border-radius: 6px; - color: #fff; - font-size: 0.875rem; - font-family: inherit; - outline: none; - resize: none; - overflow-y: auto; - max-height: 200px; - line-height: 1.5; - min-height: 26px; -} - -.message-input:focus { - border-color: #22c55e; -} - -.message-input:disabled { - opacity: 0.5; - cursor: not-allowed; -} - -.send-button { - width: 44px; - height: 44px; - min-width: 44px; - min-height: 44px; - padding: 0; - background-color: #3b82f6; - color: #fff; - border: none; - border-radius: 8px; - cursor: pointer; - transition: all 0.2s; - flex-shrink: 0; - display: flex; - align-items: center; - justify-content: center; -} - -.send-button.has-text { - background-color: #22c55e; - color: #000; -} - -.send-button.has-text:hover:not(:disabled) { - background-color: #16a34a; -} - -.send-button:not(.has-text):hover:not(:disabled) { - background-color: #2563eb; -} - -.send-button.recording { - background-color: #ef4444; - animation: pulse-red 1.5s ease-in-out infinite; -} - -.send-button.recording:hover:not(:disabled) { - background-color: #dc2626; -} - -.send-button.processing { - background-color: #f59e0b; -} - -.send-button.cancelling { - background-color: #ef4444; -} - -.send-button.cancelling:hover:not(:disabled) { - background-color: #dc2626; -} - -.send-button:disabled { - background-color: #444; - color: #999; - cursor: not-allowed; -} - -.send-button .recording-indicator { - display: inline-block; - width: 12px; - height: 12px; - background-color: #fff; - border-radius: 50%; - animation: pulse 1s ease-in-out infinite; -} - -.send-button .processing-indicator { - display: inline-block; - width: 12px; - height: 12px; - border: 2px solid #fff; - border-top-color: transparent; - border-radius: 50%; - animation: spin 0.8s linear infinite; -} - -/* Realtime mode button styles */ -.send-button.realtime-button { - background-color: #8b5cf6; -} - -.send-button.realtime-button:hover:not(:disabled) { - background-color: #7c3aed; -} - -.send-button.realtime-button.active { - background-color: #10b981; - animation: pulse-realtime 2s ease-in-out infinite; -} - -.send-button.realtime-button.active:hover:not(:disabled) { - background-color: #059669; -} - -.send-button.realtime-button.speech-detected { - background-color: #ef4444; - animation: pulse-speech 0.8s ease-in-out infinite; -} - -.send-button.realtime-button.loading { - background-color: #f59e0b; -} - -.send-button .loading-indicator { - display: inline-block; - width: 12px; - height: 12px; - border: 2px solid #fff; - border-top-color: transparent; - border-radius: 50%; - animation: spin 0.8s linear infinite; -} - -@keyframes pulse-realtime { - 0%, 100% { - opacity: 1; - transform: scale(1); - } - 50% { - opacity: 0.7; - transform: scale(1.05); - } -} - -@keyframes pulse-speech { - 0%, 100% { - opacity: 1; - box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); - } - 50% { - opacity: 0.9; - box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); - } -} - -.test-controls { - padding-top: 0.5rem; - border-top: 1px solid #333; - display: flex; - justify-content: center; -} - -/* Voice Controls */ -.voice-controls { - display: flex; - flex-direction: column; - gap: 0.5rem; - padding: 0.75rem; - background-color: #2a2a2a; - border-radius: 6px; - flex-shrink: 0; - min-width: 0; - max-width: 100%; - overflow: hidden; -} - -.voice-button { - display: flex; - align-items: center; - justify-content: center; - gap: 0.5rem; - padding: 0.75rem 1.5rem; - background-color: #3b82f6; - color: #fff; - border: none; - border-radius: 8px; - font-size: 0.875rem; - font-weight: 500; - cursor: pointer; - transition: all 0.2s; - max-width: 100%; - overflow: hidden; -} - -.voice-button:hover:not(:disabled) { - background-color: #2563eb; - transform: scale(1.02); -} - -.voice-button:disabled { - background-color: #444; - color: #999; - cursor: not-allowed; - transform: none; -} - -.voice-button.recording { - background-color: #ef4444; - animation: pulse-red 1.5s ease-in-out infinite; -} - -.voice-button.recording:hover:not(:disabled) { - background-color: #dc2626; -} - -.voice-button.processing { - background-color: #f59e0b; -} - -@keyframes pulse-red { - 0%, 100% { - opacity: 1; - } - 50% { - opacity: 0.7; - } -} - -.recording-indicator { - display: inline-block; - width: 12px; - height: 12px; - background-color: #fff; - border-radius: 50%; - animation: pulse 1s ease-in-out infinite; -} - -.processing-indicator { - display: inline-block; - width: 12px; - height: 12px; - border: 2px solid #fff; - border-top-color: transparent; - border-radius: 50%; - animation: spin 0.8s linear infinite; -} - -@keyframes spin { - to { - transform: rotate(360deg); - } -} - -.microphone-icon { - font-size: 1.25rem; -} - -.voice-error { - padding: 0.75rem; - background-color: #7f1d1d; - color: #fca5a5; - border-radius: 4px; - font-size: 0.875rem; -} - -.permission-denied { - padding: 0.75rem; - background-color: #7c2d12; - color: #fed7aa; - border-radius: 4px; - font-size: 0.875rem; -} - -/* Tool Call Card Styles */ -.tool-call-card { - background-color: #2a2a2a; - border-radius: 6px; - overflow: hidden; - margin: 0.25rem 0; - border: 1px solid #444; - flex-shrink: 0; -} - -.tool-call-card[data-status="executing"] { - border-color: #f59e0b; -} - -.tool-call-card[data-status="completed"] { - border-color: #22c55e; -} - -.tool-call-card[data-status="failed"] { - border-color: #ef4444; -} - -.tool-call-header { - width: 100%; - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.75rem; - background: none; - border: none; - color: #e2e8f0; - cursor: pointer; - font-family: inherit; - font-size: 0.875rem; - text-align: left; - transition: background-color 0.2s; -} - -.tool-call-header:hover { - background-color: #333; -} - -.tool-call-icon { - display: flex; - align-items: center; - justify-content: center; - color: #999; - flex-shrink: 0; -} - -.tool-call-name { - flex: 1; - font-family: monospace; - font-weight: 500; - color: #e2e8f0; -} - -.tool-call-status { - display: flex; - align-items: center; - gap: 0.375rem; - padding: 0.25rem 0.5rem; - border-radius: 4px; - font-size: 0.75rem; - flex-shrink: 0; -} - -.tool-call-card[data-status="executing"] .tool-call-status { - background-color: rgba(245, 158, 11, 0.2); - color: #fbbf24; -} - -.tool-call-card[data-status="completed"] .tool-call-status { - background-color: rgba(34, 197, 94, 0.2); - color: #86efac; -} - -.tool-call-card[data-status="failed"] .tool-call-status { - background-color: rgba(239, 68, 68, 0.2); - color: #fca5a5; -} - -.status-icon { - flex-shrink: 0; -} - -.status-icon.spinning { - animation: spin 1s linear infinite; -} - -.status-text { - font-weight: 500; - text-transform: capitalize; -} - -.tool-call-details { - padding: 0 0.75rem 0.75rem 0.75rem; - display: flex; - flex-direction: column; - gap: 0.75rem; - animation: expand 0.2s ease-out; -} - -@keyframes expand { - from { - opacity: 0; - max-height: 0; - } - to { - opacity: 1; - max-height: 1000px; - } -} - -.tool-call-section { - display: flex; - flex-direction: column; - gap: 0.375rem; -} - -.section-header { - font-size: 0.75rem; - font-weight: 600; - color: #999; - text-transform: uppercase; - letter-spacing: 0.025em; -} - -.section-content { - padding: 0.5rem; - background-color: #1a1a1a; - border-radius: 4px; - font-family: monospace; - font-size: 0.75rem; - color: #e2e8f0; - overflow-x: auto; - border: 1px solid #444; - margin: 0; - white-space: pre-wrap; - word-wrap: break-word; - overflow-wrap: break-word; -} - -@media (max-width: 1024px) { - .main { - flex-direction: column; - } -} - -@media (max-width: 768px) { - .main { - padding: 0.25rem; - gap: 0.25rem; - } - - .chat-interface { - padding: 0.5rem; - } -} - -/* Conversation Selector Styles */ -.conversation-selector { - position: relative; -} - -.conversation-selector-button { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.5rem 0.75rem; - background-color: #2a2a2a; - border: 1px solid #444; - border-radius: 6px; - color: #e2e8f0; - font-size: 0.875rem; - cursor: pointer; - transition: all 0.2s; - white-space: nowrap; -} - -.conversation-selector-button:hover { - background-color: #333; - border-color: #555; -} - -.conversation-selector-label { - font-weight: 500; -} - -.conversation-selector-dropdown { - position: absolute; - top: calc(100% + 0.5rem); - left: 0; - min-width: 300px; - max-width: 400px; - max-height: 500px; - background-color: #2a2a2a; - border: 1px solid #444; - border-radius: 8px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); - z-index: 1000; - overflow: hidden; - display: flex; - flex-direction: column; -} - -.conversation-selector-header { - padding: 0.75rem; - border-bottom: 1px solid #444; - flex-shrink: 0; -} - -.conversation-selector-new { - display: flex; - align-items: center; - gap: 0.5rem; - width: 100%; - padding: 0.5rem 0.75rem; - background-color: #22c55e; - color: #000; - border: none; - border-radius: 6px; - font-size: 0.875rem; - font-weight: 600; - cursor: pointer; - transition: all 0.2s; -} - -.conversation-selector-new:hover { - background-color: #16a34a; -} - -.conversation-selector-list { - flex: 1; - overflow-y: auto; - padding: 0.5rem; -} - -.conversation-selector-item { - display: flex; - align-items: center; - justify-content: space-between; - padding: 0.75rem; - margin-bottom: 0.5rem; - background-color: #1a1a1a; - border: 1px solid #444; - border-radius: 6px; - cursor: pointer; - transition: all 0.2s; -} - -.conversation-selector-item:hover { - background-color: #333; - border-color: #555; -} - -.conversation-selector-item.active { - background-color: #1e3a8a; - border-color: #3b82f6; -} - -.conversation-selector-item-info { - flex: 1; - min-width: 0; -} - -.conversation-selector-item-title { - font-size: 0.875rem; - font-weight: 600; - color: #e2e8f0; - margin-bottom: 0.25rem; -} - -.conversation-selector-item-date { - font-size: 0.75rem; - color: #999; -} - -.conversation-selector-delete { - padding: 0.5rem; - background-color: transparent; - border: none; - color: #ef4444; - cursor: pointer; - border-radius: 4px; - transition: all 0.2s; - display: flex; - align-items: center; - justify-content: center; -} - -.conversation-selector-delete:hover { - background-color: rgba(239, 68, 68, 0.1); -} - -.conversation-selector-footer { - padding: 0.75rem; - border-top: 1px solid #444; - flex-shrink: 0; -} - -.conversation-selector-clear-all { - display: flex; - align-items: center; - justify-content: center; - gap: 0.5rem; - width: 100%; - padding: 0.5rem 0.75rem; - background-color: transparent; - border: 1px solid #ef4444; - color: #ef4444; - border-radius: 6px; - font-size: 0.875rem; - font-weight: 600; - cursor: pointer; - transition: all 0.2s; -} - -.conversation-selector-clear-all:hover { - background-color: rgba(239, 68, 68, 0.1); -} - -.conversation-selector-loading, -.conversation-selector-empty { - padding: 2rem 1rem; - text-align: center; - color: #999; - font-size: 0.875rem; -} - -/* Active Processes Bar */ -.active-processes-bar { - position: fixed; - bottom: 0; - left: 0; - right: 0; - background-color: #1a1a1a; - border-top: 1px solid #333; - padding: 0.5rem; - display: flex; - align-items: center; - gap: 0.75rem; - z-index: 100; - overflow-x: auto; - flex-shrink: 0; -} - -.back-to-orchestrator-button { - padding: 0.5rem 1rem; - background-color: #3b82f6; - color: #fff; - border: none; - border-radius: 6px; - font-size: 0.875rem; - font-weight: 500; - cursor: pointer; - transition: background-color 0.2s; - white-space: nowrap; - flex-shrink: 0; -} - -.back-to-orchestrator-button:hover { - background-color: #2563eb; -} - -.processes-pills { - display: flex; - gap: 0.5rem; - align-items: center; - flex: 1; - overflow-x: auto; - padding: 0.25rem 0; -} - -.process-pill { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.5rem 0.75rem; - background-color: #2a2a2a; - border: 1px solid #444; - border-radius: 6px; - color: #e2e8f0; - font-size: 0.875rem; - cursor: pointer; - transition: all 0.2s; - white-space: nowrap; - flex-shrink: 0; -} - -.process-pill:hover { - background-color: #333; - border-color: #555; - transform: translateY(-2px); -} - -.process-pill.active { - background-color: #1e3a8a; - border-color: #3b82f6; -} - -.process-pill.terminal { - border-left: 3px solid #22c55e; -} - -.process-pill.agent { - border-left: 3px solid #8b5cf6; -} - -.process-name { - font-weight: 500; -} - -.process-status-indicator { - width: 8px; - height: 8px; - border-radius: 50%; - flex-shrink: 0; -} - -.process-status-indicator.running { - background-color: #22c55e; - animation: pulse 2s ease-in-out infinite; -} - -.process-status-indicator.processing { - animation: pulse-processing 1s ease-in-out infinite; -} - -@keyframes pulse-processing { - 0%, 100% { - opacity: 1; - transform: scale(1); - } - 50% { - opacity: 0.5; - transform: scale(1.3); - } -} - -/* Agent Stream View */ -.agent-stream-view { - display: flex; - flex-direction: column; - height: 100%; - overflow: hidden; -} - -.agent-header { - display: flex; - align-items: center; - gap: 1rem; - padding: 1rem; - background-color: #2a2a2a; - border-bottom: 1px solid #444; - flex-shrink: 0; -} - -.back-button { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.5rem 1rem; - background-color: #3b82f6; - color: #fff; - border: none; - border-radius: 6px; - font-size: 0.875rem; - font-weight: 500; - cursor: pointer; - transition: background-color 0.2s; - white-space: nowrap; -} - -.back-button:hover { - background-color: #2563eb; -} - -.agent-info { - display: flex; - align-items: center; - gap: 1rem; - flex: 1; - flex-wrap: wrap; -} - -.agent-id { - font-size: 0.875rem; - color: #999; -} - -.agent-id-value { - font-family: monospace; - color: #e2e8f0; - font-weight: 600; -} - -.agent-status-badge { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.375rem 0.75rem; - border-radius: 6px; - font-size: 0.875rem; - font-weight: 600; - color: #000; -} - -.agent-status-badge .spinning { - animation: spin 1s linear infinite; -} - -.agent-created { - font-size: 0.75rem; - color: #999; -} - -.agent-controls { - display: flex; - gap: 0.5rem; - flex-shrink: 0; -} - -.control-button { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.5rem 0.75rem; - border: none; - border-radius: 6px; - font-size: 0.875rem; - font-weight: 500; - cursor: pointer; - transition: all 0.2s; - white-space: nowrap; -} - -.cancel-button { - background-color: #f59e0b; - color: #000; -} - -.cancel-button:hover { - background-color: #d97706; -} - -.kill-button { - background-color: #ef4444; - color: #fff; -} - -.kill-button:hover { - background-color: #dc2626; -} - -.agent-updates-container { - flex: 1; - overflow: hidden; - display: flex; - flex-direction: column; -} - -.agent-updates-list { - flex: 1; - overflow-y: auto; - padding: 1rem; - display: flex; - flex-direction: column; - gap: 0.5rem; -} - -.no-updates { - display: flex; - align-items: center; - justify-content: center; - height: 100%; - color: #999; - font-size: 0.875rem; - font-style: italic; -} - -.agent-update { - background-color: #2a2a2a; - border-radius: 6px; - padding: 0.75rem; - border-left: 3px solid #8b5cf6; -} - -.agent-update.message-chunk { - border-left-color: #0f766e; - background-color: rgba(15, 118, 110, 0.1); -} - -.agent-update.tool-call { - border-left-color: #f59e0b; - background-color: rgba(245, 158, 11, 0.1); -} - -.agent-update.tool-call-update { - border-left-color: #fbbf24; - background-color: rgba(251, 191, 36, 0.1); -} - -.agent-update.available-commands { - border-left-color: #3b82f6; - background-color: rgba(59, 130, 246, 0.1); -} - -.agent-update.session-update, -.agent-update.unknown { - border-left-color: #9ca3af; - background-color: rgba(156, 163, 175, 0.1); -} - -.update-header { - display: flex; - align-items: center; - gap: 0.5rem; - cursor: pointer; - margin-bottom: 0.5rem; -} - -.update-header:hover { - opacity: 0.8; -} - -.update-timestamp { - font-size: 0.75rem; - color: #999; - font-family: monospace; - flex-shrink: 0; -} - -.update-title { - font-weight: 600; - color: #e2e8f0; - font-size: 0.875rem; -} - -.update-content { - margin-top: 0.5rem; -} - -.message-text { - color: #e2e8f0; - font-size: 0.875rem; - line-height: 1.5; - white-space: pre-wrap; - word-wrap: break-word; -} - -.tool-arguments, -.update-data { - background-color: #1a1a1a; - border-radius: 4px; - padding: 0.5rem; - font-family: monospace; - font-size: 0.75rem; - color: #e2e8f0; - overflow-x: auto; - border: 1px solid #444; - margin: 0; - white-space: pre-wrap; - word-wrap: break-word; -} - -.tool-update-status { - color: #fbbf24; - font-size: 0.875rem; - font-weight: 500; -} - -.commands-list { - list-style: none; - padding: 0; - margin: 0; - display: flex; - flex-direction: column; - gap: 0.375rem; -} - -.commands-list li { - padding: 0.5rem; - background-color: #1a1a1a; - border-radius: 4px; - border: 1px solid #444; - font-family: monospace; - font-size: 0.75rem; - color: #e2e8f0; -} - -/* Adjust chat interface to account for active processes bar */ -.chat-interface { - padding-bottom: 60px; /* Make room for the active processes bar */ -} - -/* Mobile responsive adjustments */ -@media (max-width: 768px) { - .active-processes-bar { - padding: 0.375rem; - gap: 0.5rem; - } - - .back-to-orchestrator-button { - padding: 0.375rem 0.75rem; - font-size: 0.75rem; - } - - .process-pill { - padding: 0.375rem 0.5rem; - font-size: 0.75rem; - } - - .agent-header { - flex-direction: column; - align-items: flex-start; - gap: 0.75rem; - } - - .agent-info { - flex-direction: column; - align-items: flex-start; - gap: 0.5rem; - } - - .agent-controls { - width: 100%; - justify-content: stretch; - } - - .control-button { - flex: 1; - } -} diff --git a/packages/voice-assistant/src/ui/App.tsx b/packages/voice-assistant/src/ui/App.tsx deleted file mode 100644 index 9a8c267c4..000000000 --- a/packages/voice-assistant/src/ui/App.tsx +++ /dev/null @@ -1,939 +0,0 @@ -import { useState, useEffect, useRef } from "react"; -import { Mic, Send, Radio, X } from "lucide-react"; -import { useWebSocket } from "./hooks/useWebSocket"; -import { createAudioPlayer } from "./lib/audio-playback"; -import { createAudioRecorder, type AudioRecorder } from "./lib/audio-capture"; -import { - createRealtimeVAD, - float32ArrayToBlob, - type RealtimeVAD, -} from "./lib/audio-realtime"; -import { ToolCallCard } from "./components/ToolCallCard"; -import { ArtifactDrawer, type Artifact } from "./components/ArtifactDrawer"; -import { ConversationSelector } from "./components/ConversationSelector"; -import { ActiveProcesses } from "./components/ActiveProcesses"; -import { AgentStreamView } from "./components/AgentStreamView"; -import { - getCurrentConversationId, - setCurrentConversationId, - clearCurrentConversationId, -} from "./lib/conversation-storage"; -import type { AgentStatus } from "../server/acp/types.js"; -import type { SessionNotification } from "@agentclientprotocol/sdk"; -import "./App.css"; - -type LogEntry = - | { - type: "system" | "info" | "success" | "error" | "user" | "assistant"; - id: string; - timestamp: number; - message: string; - metadata?: Record; - } - | { - type: "tool_call"; - id: string; - timestamp: number; - toolName: string; - args: any; - result?: any; - error?: any; - status: "executing" | "completed" | "failed"; - } - | { - type: "artifact"; - id: string; - timestamp: number; - artifactId: string; - artifactType: string; - title: string; - }; - -function App() { - const [logs, setLogs] = useState([ - { - id: "1", - timestamp: Date.now(), - type: "system", - message: "System initialized", - }, - ]); - const [userInput, setUserInput] = useState(""); - const [currentAssistantMessage, setCurrentAssistantMessage] = useState(""); - const [isProcessingAudio, setIsProcessingAudio] = useState(false); - const [isPlayingAudio, setIsPlayingAudio] = useState(false); - const [isRecording, setIsRecording] = useState(false); - const [isRealtimeMode, setIsRealtimeMode] = useState(false); - const [isSpeechDetected, setIsSpeechDetected] = useState(false); - const [isVADLoading, setIsVADLoading] = useState(false); - const [currentArtifact, setCurrentArtifact] = useState(null); - const [artifacts, setArtifacts] = useState>(new Map()); - const [selectedConversationId, setSelectedConversationId] = useState< - string | null - >(() => getCurrentConversationId()); - const [agents, setAgents] = useState< - Map< - string, - { - id: string; - status: AgentStatus; - createdAt: Date; - type: "claude"; - currentModeId?: string; - availableModes?: Array<{ id: string; name: string; description?: string | null }>; - } - > - >(new Map()); - const [commands, setCommands] = useState< - Array<{ - id: string; - name: string; - workingDirectory: string; - currentCommand: string; - isDead: boolean; - exitCode: number | null; - }> - >([]); - const [agentUpdates, setAgentUpdates] = useState< - Map> - >(new Map()); - const [activeView, setActiveView] = useState< - "orchestrator" | "terminal" | "agent" - >("orchestrator"); - const [activeProcessId, setActiveProcessId] = useState(null); - const logEndRef = useRef(null); - const audioPlayerRef = useRef(createAudioPlayer()); - const recorderRef = useRef(null); - const vadRef = useRef(null); - const textareaRef = useRef(null); - - // WebSocket URL - use ws://localhost:3000/ws in dev, or construct from current host in prod - const wsUrl = `${window.location.protocol === "https:" ? "wss" : "ws"}://${ - window.location.host - }/ws`; - - const ws = useWebSocket(wsUrl, selectedConversationId); - - useEffect(() => { - recorderRef.current = createAudioRecorder(); - - // Cleanup VAD on unmount - return () => { - if (vadRef.current) { - vadRef.current.destroy(); - } - }; - }, []); - - useEffect(() => { - if (textareaRef.current) { - textareaRef.current.style.height = "auto"; - const newHeight = Math.max(textareaRef.current.scrollHeight, 44); - textareaRef.current.style.height = `${newHeight}px`; - } - }, [userInput]); - - const addLog = ( - type: "system" | "info" | "success" | "error" | "user" | "assistant", - message: string, - metadata?: Record - ) => { - setLogs((prev) => [ - ...prev, - { - id: Date.now().toString(), - timestamp: Date.now(), - type, - message, - metadata, - }, - ]); - }; - - useEffect(() => { - // Listen for status messages - const unsubStatus = ws.on("status", (message) => { - if (message.type !== "status") return; - const msg = - "message" in message.payload - ? String(message.payload.message) - : undefined; - addLog("info", msg || `Status: ${message.payload.status}`); - }); - - // Listen for activity log messages - const unsubActivity = ws.on("activity_log", (message) => { - if (message.type !== "activity_log") return; - const data = message.payload; - - // Handle tool calls - if (data.type === "tool_call" && data.metadata) { - const { - toolCallId, - toolName, - arguments: args, - } = data.metadata as { - toolCallId: string; - toolName: string; - arguments: unknown; - }; - - setLogs((prev) => [ - ...prev, - { - type: "tool_call", - id: toolCallId, - timestamp: Date.now(), - toolName, - args, - status: "executing", - }, - ]); - return; - } - - if (data.type === "tool_result" && data.metadata) { - const { toolCallId, result } = data.metadata as { - toolCallId: string; - result: unknown; - }; - - setLogs((prev) => - prev.map((log) => - log.type === "tool_call" && log.id === toolCallId - ? { ...log, result, status: "completed" as const } - : log - ) - ); - return; - } - - // Handle tool errors - update tool call status to failed - if ( - data.type === "error" && - data.metadata && - "toolCallId" in data.metadata - ) { - const { toolCallId, error } = data.metadata as { - toolCallId: string; - error: unknown; - }; - - setLogs((prev) => - prev.map((log) => - log.type === "tool_call" && log.id === toolCallId - ? { ...log, error, status: "failed" as const } - : log - ) - ); - // Don't return - still add the error message to the log - } - - // Map activity log types to UI log types - let logType: - | "system" - | "info" - | "success" - | "error" - | "user" - | "assistant" = "info"; - if (data.type === "transcript") logType = "user"; - else if (data.type === "assistant") logType = "assistant"; - else if (data.type === "error") logType = "error"; - - addLog(logType, data.content, data.metadata); - - // Clear streaming state when assistant segment is received - if (data.type === "assistant") { - setCurrentAssistantMessage(""); - } - }); - - // Listen for streaming assistant chunks - const unsubChunk = ws.on("assistant_chunk", (message) => { - if (message.type !== "assistant_chunk") return; - setCurrentAssistantMessage((prev) => prev + message.payload.chunk); - }); - - // Listen for transcription results - const unsubTranscription = ws.on("transcription_result", (message) => { - if (message.type !== "transcription_result") return; - - setIsProcessingAudio(false); - - const transcriptText = message.payload.text.trim(); - - if (!transcriptText) { - // Empty transcription - false positive, resume playback - console.log( - "[App] Empty transcription (false positive) - resuming playback" - ); - audioPlayerRef.current.resume(); - } else { - // Has content - real speech detected - // Server will handle abort, just stop playback on client - console.log("[App] Transcription received - stopping playback"); - audioPlayerRef.current.stop(); - setIsPlayingAudio(false); - setCurrentAssistantMessage(""); - } - }); - - // Listen for conversation loaded confirmation - const unsubConversationLoaded = ws.on("conversation_loaded", (message) => { - if (message.type !== "conversation_loaded") return; - const { conversationId, messageCount } = message.payload; - - // Save to localStorage for persistence - setCurrentConversationId(conversationId); - - addLog( - "success", - `Loaded conversation with ${messageCount} messages` - ); - }); - - // Listen for artifacts - const unsubArtifact = ws.on("artifact", (message) => { - if (message.type !== "artifact") return; - const artifact = message.payload; - - // Add to artifacts map - setArtifacts((prev) => { - const newMap = new Map(prev); - newMap.set(artifact.id, artifact); - return newMap; - }); - - // Add as clickable log entry - setLogs((prev) => [ - ...prev, - { - type: "artifact" as const, - id: Date.now().toString(), - timestamp: Date.now(), - artifactId: artifact.id, - artifactType: artifact.type, - title: artifact.title, - }, - ]); - - // Show drawer by default - setCurrentArtifact(artifact); - }); - - // Listen for audio output (TTS) - const unsubAudioOutput = ws.on("audio_output", async (message) => { - if (message.type !== "audio_output") return; - const data = message.payload; - - try { - setIsPlayingAudio(true); - - // Decode base64 audio - const binaryString = atob(data.audio); - const bytes = new Uint8Array(binaryString.length); - for (let i = 0; i < binaryString.length; i++) { - bytes[i] = binaryString.charCodeAt(i); - } - - // Create blob with correct mime type - const mimeType = - data.format === "mp3" ? "audio/mpeg" : `audio/${data.format}`; - const audioBlob = new Blob([bytes], { type: mimeType }); - - // Play audio - await audioPlayerRef.current.play(audioBlob); - - // Send confirmation back to server - ws.send({ - type: "session", - message: { - type: "audio_played", - id: data.id, - }, - }); - - setIsPlayingAudio(false); - } catch (error: any) { - console.error("[App] Audio playback error:", error); - addLog("error", `Audio playback failed: ${error.message}`); - setIsPlayingAudio(false); - } - }); - - // Listen for session state - const unsubSessionState = ws.on("session_state", (message) => { - if (message.type !== "session_state") return; - const { agents: liveAgents, commands: liveCommands } = message.payload; - - // Update agents with session modes - setAgents((prev) => { - const newMap = new Map(prev); - liveAgents.forEach((agent) => { - newMap.set(agent.id, { - id: agent.id, - status: agent.status as AgentStatus, - createdAt: new Date(agent.createdAt), - type: agent.type, - currentModeId: agent.currentModeId, - availableModes: agent.availableModes, - }); - }); - return newMap; - }); - - // Update commands - setCommands(liveCommands); - - console.log( - `[App] Session state loaded: ${liveAgents.length} agents, ${liveCommands.length} commands` - ); - }); - - // Listen for agent created - const unsubAgentCreated = ws.on("agent_created", (message) => { - if (message.type !== "agent_created") return; - const { agentId, status, type, currentModeId, availableModes } = message.payload; - - setAgents((prev) => { - const newMap = new Map(prev); - newMap.set(agentId, { - id: agentId, - status: status as AgentStatus, - createdAt: new Date(), - type, - currentModeId, - availableModes, - }); - return newMap; - }); - - addLog("success", `Agent ${agentId.substring(0, 8)} created`); - }); - - // Listen for agent updates - const unsubAgentUpdate = ws.on("agent_update", (message) => { - if (message.type !== "agent_update") return; - const { agentId, timestamp, notification } = message.payload; - - setAgentUpdates((prev) => { - const newMap = new Map(prev); - const updates = newMap.get(agentId) || []; - newMap.set(agentId, [ - ...updates, - { - timestamp: new Date(timestamp), - notification: notification as SessionNotification, - }, - ]); - return newMap; - }); - }); - - // Listen for agent status changes - const unsubAgentStatus = ws.on("agent_status", (message) => { - if (message.type !== "agent_status") return; - const { agentId, status } = message.payload; - - setAgents((prev) => { - const newMap = new Map(prev); - const agent = newMap.get(agentId); - if (agent) { - newMap.set(agentId, { - ...agent, - status: status as AgentStatus, - }); - } - return newMap; - }); - - addLog("info", `Agent ${agentId.substring(0, 8)}: ${status}`); - }); - - return () => { - unsubStatus(); - unsubActivity(); - unsubChunk(); - unsubTranscription(); - unsubConversationLoaded(); - unsubArtifact(); - unsubAudioOutput(); - unsubSessionState(); - unsubAgentCreated(); - unsubAgentUpdate(); - unsubAgentStatus(); - }; - }, [ws]); - - useEffect(() => { - if (ws.isConnected) { - addLog("success", "WebSocket connected"); - } else { - addLog("system", "WebSocket disconnected"); - } - }, [ws.isConnected]); - - // Auto-scroll to bottom when new logs are added - useEffect(() => { - logEndRef.current?.scrollIntoView({ behavior: "smooth" }); - }, [logs, currentAssistantMessage]); - - const handleSendMessage = () => { - if (!userInput.trim() || !ws.isConnected) return; - - // Stop any currently playing audio and clear the queue - audioPlayerRef.current.stop(); - setIsPlayingAudio(false); - - // Send message to server - ws.sendUserMessage(userInput); - - // Clear input and reset streaming state - setUserInput(""); - setCurrentAssistantMessage(""); - }; - - const handleToggleRecording = async () => { - const recorder = recorderRef.current; - if (!recorder || !ws.isConnected) return; - - try { - if (isRecording) { - console.log("[App] Stopping recording..."); - const audioBlob = await recorder.stop(); - setIsRecording(false); - - const format = audioBlob.type || "audio/webm"; - console.log( - `[App] Recording complete: ${audioBlob.size} bytes, format: ${format}` - ); - - setIsProcessingAudio(true); - addLog("info", "Sending audio to server..."); - - const arrayBuffer = await audioBlob.arrayBuffer(); - const base64Audio = btoa( - new Uint8Array(arrayBuffer).reduce( - (data, byte) => data + String.fromCharCode(byte), - "" - ) - ); - - ws.send({ - type: "session", - message: { - type: "audio_chunk", - audio: base64Audio, - format: format, - isLast: true, - }, - }); - - console.log( - `[App] Sent audio: ${audioBlob.size} bytes, format: ${format}` - ); - } else { - console.log("[App] Starting recording..."); - - // Stop any currently playing audio when starting to record - audioPlayerRef.current.stop(); - setIsPlayingAudio(false); - - await recorder.start(); - setIsRecording(true); - } - } catch (error: any) { - console.error("[App] Recording error:", error); - addLog("error", `Failed to record audio: ${error.message}`); - setIsRecording(false); - } - }; - - const handleCancel = async () => { - console.log("[App] Cancelling operations..."); - - // Stop audio playback - audioPlayerRef.current.stop(); - setIsPlayingAudio(false); - - // Clear streaming state - setCurrentAssistantMessage(""); - - // Reset processing state - setIsProcessingAudio(false); - - // Send abort request to server - ws.send({ - type: "session", - message: { - type: "abort_request", - }, - }); - - addLog("info", "Operations cancelled"); - }; - - // Compute if we're processing an already sent request (not including recording) - const isInProgress = - isProcessingAudio || isPlayingAudio || currentAssistantMessage.length > 0; - - const handleButtonClick = async (e: React.MouseEvent) => { - e.preventDefault(); - - if (isRecording) { - // Stop recording and send the audio - await handleToggleRecording(); - } else if (isInProgress) { - // Cancel processing/playback of already sent request - await handleCancel(); - } else if (userInput.trim()) { - handleSendMessage(); - } else { - // Start recording - await handleToggleRecording(); - } - }; - - const handleKeyDown = (e: React.KeyboardEvent) => { - // Detect if device is desktop (not mobile/tablet) - const isDesktop = window.matchMedia("(pointer: fine)").matches; - - if (e.key === "Enter") { - if (isDesktop && !e.shiftKey && userInput.trim()) { - // Desktop: plain Enter sends message - e.preventDefault(); - handleSendMessage(); - } - // Desktop: Shift+Enter creates new line (default behavior) - // Mobile: Enter creates new line (default behavior) - } - }; - - const handleCloseArtifact = () => { - setCurrentArtifact(null); - }; - - const handleOpenArtifact = (artifactId: string) => { - const artifact = artifacts.get(artifactId); - if (artifact) { - setCurrentArtifact(artifact); - } - }; - - const handleSelectConversation = (conversationId: string | null) => { - if (conversationId === null) { - // New conversation - clearCurrentConversationId(); - } else { - // Load existing conversation - setCurrentConversationId(conversationId); - } - - // Update state to trigger WebSocket reconnection - setSelectedConversationId(conversationId); - - // Clear UI state - setLogs([ - { - id: "1", - timestamp: Date.now(), - type: "system", - message: conversationId - ? "Loading conversation..." - : "Starting new conversation...", - }, - ]); - setUserInput(""); - setCurrentAssistantMessage(""); - setArtifacts(new Map()); - setCurrentArtifact(null); - setAgents(new Map()); - setCommands([]); - }; - - const handleSelectProcess = (id: string, type: "terminal" | "agent") => { - setActiveProcessId(id); - setActiveView(type); - }; - - const handleBackToOrchestrator = () => { - setActiveView("orchestrator"); - setActiveProcessId(null); - }; - - const handleKillAgent = async (agentId: string) => { - // In a full implementation, this would send a message to the server - // For now, just log - console.log("[App] Kill agent:", agentId); - addLog("info", `Killing agent ${agentId.substring(0, 8)}...`); - }; - - const handleCancelAgent = async (agentId: string) => { - // In a full implementation, this would send a message to the server - // For now, just log - console.log("[App] Cancel agent:", agentId); - addLog("info", `Cancelling agent ${agentId.substring(0, 8)}...`); - }; - - const handleToggleRealtimeMode = async () => { - if (!ws.isConnected) return; - - try { - if (isRealtimeMode) { - // Stop realtime mode - if (vadRef.current) { - vadRef.current.pause(); - } - setIsRealtimeMode(false); - setIsSpeechDetected(false); - addLog("info", "Realtime mode stopped"); - } else { - // Start realtime mode - setIsVADLoading(true); - addLog("info", "Starting realtime mode..."); - - // Create VAD instance if it doesn't exist - if (!vadRef.current) { - vadRef.current = createRealtimeVAD({ - onModelLoading: () => { - console.log("[App] VAD model loading..."); - setIsVADLoading(true); - }, - onModelLoaded: () => { - console.log("[App] VAD model loaded"); - setIsVADLoading(false); - }, - onSpeechStart: () => { - console.log("[App] Speech detected!"); - setIsSpeechDetected(true); - - // Pause playback when speech is detected - // Will resume if false positive, or stop completely if real speech - audioPlayerRef.current.pause(); - }, - onSpeechEnd: async (audioData: Float32Array) => { - console.log("[App] Speech ended, processing..."); - setIsSpeechDetected(false); - setIsProcessingAudio(true); - - try { - // Convert Float32Array to audio blob - const audioBlob = float32ArrayToBlob(audioData, 16000); - console.log(`[App] Converted to blob: ${audioBlob.size} bytes`); - - // Send to server - const arrayBuffer = await audioBlob.arrayBuffer(); - const base64Audio = btoa( - new Uint8Array(arrayBuffer).reduce( - (data, byte) => data + String.fromCharCode(byte), - "" - ) - ); - - ws.send({ - type: "session", - message: { - type: "audio_chunk", - audio: base64Audio, - format: audioBlob.type, - isLast: true, - }, - }); - - console.log(`[App] Sent realtime audio to server`); - } catch (error: any) { - console.error("[App] Failed to process VAD audio:", error); - addLog("error", `Failed to process audio: ${error.message}`); - setIsProcessingAudio(false); - } - }, - onVADMisfire: () => { - console.log("[App] VAD misfire - resuming playback"); - setIsSpeechDetected(false); - - // Resume playback since it was a false positive - audioPlayerRef.current.resume(); - }, - onError: (error: Error) => { - console.error("[App] VAD error:", error); - addLog("error", `VAD error: ${error.message}`); - setIsVADLoading(false); - setIsRealtimeMode(false); - }, - }); - } - - // Start VAD - await vadRef.current.start(); - setIsRealtimeMode(true); - setIsVADLoading(false); - addLog("success", "Realtime mode started - speak anytime!"); - } - } catch (error: any) { - console.error("[App] Realtime mode error:", error); - addLog("error", `Failed to toggle realtime mode: ${error.message}`); - setIsRealtimeMode(false); - setIsVADLoading(false); - } - }; - - return ( -

-
- - {isPlayingAudio && ( -
- )} -
- -
-
- {activeView === "orchestrator" && ( - <> -
-
- {logs.map((log) => { - if (log.type === "tool_call") { - return ( - - ); - } - - if (log.type === "artifact") { - return ( -
handleOpenArtifact(log.artifactId)} - role="button" - tabIndex={0} - onKeyDown={(e) => { - if (e.key === "Enter" || e.key === " ") { - handleOpenArtifact(log.artifactId); - } - }} - > - - 📋 {log.artifactType}: {log.title} - -
- ); - } - - return ( -
- {log.message} - {log.metadata && ( -
- Details -
{JSON.stringify(log.metadata, null, 2)}
-
- )} -
- ); - })} - {currentAssistantMessage && ( -
- {currentAssistantMessage} - ... -
- )} -
-
-
- -
-