mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 19:01:08 +02:00
🔧 chore: switch chat backend to OpenRouter API
- Replace Azure OpenAI and Google Gemini with OpenRouter API - Update generate-env.mjs to use OPENROUTER_API_KEY - Remove temporary doc_nils.md file 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
a9aeffabb1
commit
612f6a10ef
4 changed files with 260 additions and 1234 deletions
|
|
@ -67,17 +67,9 @@ CHAT_DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/chat
|
|||
DEV_BYPASS_AUTH=true
|
||||
DEV_USER_ID=00000000-0000-0000-0000-000000000000
|
||||
|
||||
# Google Gemini API (primary - fast & cost-effective)
|
||||
GOOGLE_GENAI_API_KEY=AIzaSyApsYQXxN6PuXpF8-7j6MonCACwS0ZxNRc
|
||||
|
||||
# Azure OpenAI (fallback)
|
||||
AZURE_OPENAI_ENDPOINT=https://memoroseopenai.openai.azure.com
|
||||
AZURE_OPENAI_API_KEY=3082103c9b0d4270a795686ccaa89921
|
||||
AZURE_OPENAI_API_VERSION=2024-12-01-preview
|
||||
|
||||
# Chat Supabase (if using Supabase for chat data)
|
||||
CHAT_SUPABASE_URL=https://your-chat-project.supabase.co
|
||||
CHAT_SUPABASE_ANON_KEY=your-supabase-anon-key
|
||||
# OpenRouter API (all AI models via OpenRouter)
|
||||
# Get your API key at https://openrouter.ai/keys
|
||||
OPENROUTER_API_KEY=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
|
||||
|
||||
# ============================================
|
||||
# MAERCHENZAUBER PROJECT
|
||||
|
|
|
|||
973
doc_nils.md
973
doc_nils.md
|
|
@ -1,973 +0,0 @@
|
|||
why do i need to set it in envs?
|
||||
|
||||
⏺ Great questions! Let me explain the Docker Compose deployment architecture:
|
||||
|
||||
How This Setup Works
|
||||
|
||||
1. Containers Are Always Running
|
||||
|
||||
Yes! The Docker containers run continuously on your staging server:
|
||||
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Staging Server (Ubuntu) │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ Docker Compose Network │ │
|
||||
│ │ │ │
|
||||
│ │ ┌──────────┐ ┌─────────────┐ │ │
|
||||
│ │ │ Postgres │ │ Redis │ │ │
|
||||
│ │ │ :5432 │ │ :6379 │ │ │
|
||||
│ │ └──────────┘ └─────────────┘ │ │
|
||||
│ │ │ │
|
||||
│ │ ┌──────────┐ ┌─────────────┐ │ │
|
||||
│ │ │ Auth │ │ Chat │ │ │
|
||||
│ │ │ :3001 │ │ :3002 │ │ │
|
||||
│ │ └──────────┘ └─────────────┘ │ │
|
||||
│ │ │ │
|
||||
│ │ ┌──────────┐ ┌─────────────┐ │ │
|
||||
│ │ │ ManaDeck │ │ Nginx │ │ │
|
||||
│ │ │ :3003 │ │ :80 :443 │ │ │
|
||||
│ │ └──────────┘ └─────────────┘ │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────┘
|
||||
↑
|
||||
│ Users access via HTTP/HTTPS
|
||||
│ Nginx routes to backend services
|
||||
|
||||
2. Data Persistence - YES!
|
||||
|
||||
The postgres data is persistent across redeployments. Look at the
|
||||
docker-compose.staging.yml:
|
||||
|
||||
postgres:
|
||||
volumes: - postgres_data:/var/lib/postgresql/data # ← Persistent volume
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
name: manacore-postgres-staging # ← Named volume stored on server disk
|
||||
|
||||
What happens on redeploy:
|
||||
|
||||
1. docker compose pull - Downloads new backend images
|
||||
2. docker compose up -d - Recreates containers with new code
|
||||
3. Postgres volume stays untouched - Your data survives!
|
||||
|
||||
# First deployment
|
||||
|
||||
docker compose up -d
|
||||
|
||||
# Creates: postgres_data volume →
|
||||
|
||||
/var/lib/docker/volumes/manacore-postgres-staging
|
||||
|
||||
# After redeploy (10 times later)
|
||||
|
||||
docker compose up -d
|
||||
|
||||
# Uses: SAME postgres_data volume → Your data is still there!
|
||||
|
||||
3. Risks
|
||||
|
||||
Current Risks:
|
||||
|
||||
❌ No backups - If the server disk fails, all data is lost❌ No password set -
|
||||
Postgres won't start without POSTGRES_PASSWORD❌ Single server - If it goes
|
||||
down, everything is offline⚠️ Docker volume only - Data lives in
|
||||
/var/lib/docker/volumes/, not easily inspectable
|
||||
|
||||
Recommended Setup:
|
||||
|
||||
# 1. Regular backups (add to server crontab)
|
||||
|
||||
0 2 \* \* \* docker exec manacore-postgres-staging pg*dump -U postgres manacore >
|
||||
/backup/db*$(date +\%Y\%m\%d).sql
|
||||
|
||||
# 2. Or use Supabase for production data (you're already using it!)
|
||||
|
||||
# Keep postgres in staging for testing, but production uses Supabase's managed
|
||||
|
||||
database
|
||||
|
||||
4. Why You Need POSTGRES_PASSWORD
|
||||
|
||||
The Problem:
|
||||
|
||||
Postgres refuses to start without a password for security reasons. When the
|
||||
container starts for the first time, it initializes the database and needs to
|
||||
set the postgres superuser password.
|
||||
|
||||
How to Set It:
|
||||
|
||||
⏺ Read(.github/workflows/cd-staging.yml)
|
||||
⎿ Read 40 lines
|
||||
|
||||
⏺ The workflow creates the .env file from GitHub Secrets. Here's what you need:
|
||||
|
||||
How to Fix This
|
||||
|
||||
Step 1: Set GitHub Secrets
|
||||
|
||||
Go to your GitHub repository:
|
||||
Settings → Secrets and variables → Actions → New repository secret
|
||||
|
||||
You need to add these secrets:
|
||||
|
||||
STAGING_POSTGRES_HOST=postgres
|
||||
STAGING_POSTGRES_PORT=5432
|
||||
STAGING_POSTGRES_DB=manacore
|
||||
STAGING_POSTGRES_USER=postgres
|
||||
STAGING_POSTGRES_PASSWORD=<choose-a-secure-password>
|
||||
|
||||
STAGING_REDIS_HOST=redis
|
||||
STAGING_REDIS_PORT=6379
|
||||
STAGING_REDIS_PASSWORD=<choose-a-secure-password>
|
||||
|
||||
STAGING_MANA_SERVICE_URL=http://mana-core-auth:3001
|
||||
STAGING_JWT_SECRET=<generate-a-secret>
|
||||
STAGING_JWT_PUBLIC_KEY=<your-public-key>
|
||||
STAGING_JWT_PRIVATE_KEY=<your-private-key>
|
||||
|
||||
STAGING_SUPABASE_URL=<your-supabase-url>
|
||||
STAGING_SUPABASE_ANON_KEY=<your-supabase-anon-key>
|
||||
STAGING_SUPABASE_SERVICE_ROLE_KEY=<your-supabase-service-role-key>
|
||||
|
||||
STAGING_AZURE_OPENAI_ENDPOINT=<your-azure-endpoint>
|
||||
STAGING_AZURE_OPENAI_API_KEY=<your-azure-api-key>
|
||||
|
||||
Step 2: For Testing NOW (Temporary)
|
||||
|
||||
Since you're on the server already, manually create the .env file:
|
||||
|
||||
# You're already here: ~/manacore-staging
|
||||
|
||||
nano .env
|
||||
|
||||
Add this content:
|
||||
|
||||
# Database
|
||||
|
||||
POSTGRES_HOST=postgres
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_DB=manacore
|
||||
POSTGRES_USER=postgres
|
||||
POSTGRES_PASSWORD=staging_password_123 # ← Use any password you want
|
||||
|
||||
# Redis
|
||||
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=redis_password_123
|
||||
|
||||
# Mana Core Auth
|
||||
|
||||
MANA_SERVICE_URL=http://mana-core-auth:3001
|
||||
JWT_SECRET=your_jwt_secret_here
|
||||
JWT_PUBLIC_KEY=your_public_key_here
|
||||
JWT_PRIVATE_KEY=your_private_key_here
|
||||
|
||||
# Supabase
|
||||
|
||||
SUPABASE_URL=your_supabase_url
|
||||
SUPABASE_ANON_KEY=your_supabase_anon_key
|
||||
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
|
||||
|
||||
# Azure OpenAI
|
||||
|
||||
AZURE_OPENAI_ENDPOINT=your_azure_endpoint
|
||||
AZURE_OPENAI_API_KEY=your_azure_api_key
|
||||
AZURE_OPENAI_API_VERSION=2024-12-01-preview
|
||||
|
||||
# Environment
|
||||
|
||||
NODE_ENV=staging
|
||||
|
||||
Save and exit (Ctrl+X, Y, Enter), then:
|
||||
|
||||
# Restart postgres with the new password
|
||||
|
||||
docker compose down postgres
|
||||
docker compose up -d postgres
|
||||
|
||||
# Check if it's healthy now
|
||||
|
||||
docker compose ps
|
||||
docker compose logs --tail=20 postgres
|
||||
|
||||
Once it works, you should see:
|
||||
✅ manacore-postgres-staging Up healthy
|
||||
|
||||
Would you like me to help you generate secure passwords for the production
|
||||
GitHub secrets?
|
||||
|
||||
> Would you like me to help you generate secure passwords for the production
|
||||
> GitHub secrets? -> yes write me an script which outputs this so i can copy
|
||||
> paste it to github secrets
|
||||
|
||||
⏺ Write(scripts/generate-staging-secrets.sh)
|
||||
⎿ Wrote 138 lines to scripts/generate-staging-secrets.sh
|
||||
#!/bin/bash # Generate Staging Secrets for GitHub # Run this script and copy the output to GitHub Secrets
|
||||
set -e
|
||||
echo "================================================"
|
||||
echo " STAGING SECRETS GENERATOR"
|
||||
echo "================================================"
|
||||
… +128 lines (ctrl+o to expand)
|
||||
|
||||
⏺ Bash(chmod +x /Users/wuesteon/dev/mana_universe/manacore-monorepo/scripts/generate-
|
||||
staging-secrets.sh)
|
||||
⎿ (No content)
|
||||
|
||||
⏺ Bash(/Users/wuesteon/dev/mana_universe/manacore-monorepo/scripts/generate-staging-s
|
||||
ecrets.sh)
|
||||
⎿ ================================================
|
||||
STAGING SECRETS GENERATOR
|
||||
================================================
|
||||
… +108 lines (ctrl+o to expand)
|
||||
|
||||
⏺ Perfect! 🎉 The script has generated secure secrets for you. Here's what to do:
|
||||
|
||||
Quick Copy Guide
|
||||
|
||||
For each secret, go to GitHub → Settings → Secrets and variables → Actions →
|
||||
New repository secret
|
||||
|
||||
Database Secrets:
|
||||
|
||||
Name: STAGING_POSTGRES_PASSWORD
|
||||
Value: qUHBDzlc0fMntYPdT0LXwLHnvMUdUFfp
|
||||
|
||||
Name: STAGING_REDIS_PASSWORD
|
||||
Value: OxYL7XQgPAG4HjS29UFDYEmrkfk5kJoJ
|
||||
|
||||
Name: STAGING_JWT_SECRET
|
||||
Value: ayNMdsOOlAWIjduJ1aqPe9ep9DtCzvKwgmV0qGrct4WZyXJn1NMxrTIAa6EkiijMfuh5ZyGY
|
||||
D0TcTGbkWF4g
|
||||
|
||||
Name: STAGING_JWT_PRIVATE_KEY
|
||||
Value: b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQy
|
||||
NTUxOQAAACDnbEhUMtYMTPhwKuqc8DV+J0i/oyWWJ+wWw7p6YwivmwAAAJjKVMoXylTKFwAAAAtzc2g
|
||||
tZWQyNTUxOQAAACDnbEhUMtYMTPhwKuqc8DV+J0i/oyWWJ+wWw7p6YwivmwAAAEBjB/hkfSdozgvi/S
|
||||
JsvbYxA2URarKSVkgVBwqbB1+yQedsSFQy1gxM+HAq6pzwNX4nSL+jJZYn7BbDunpjCK+bAAAAFG1hb
|
||||
mFjb3JlLXN0YWdpbmctand0AQ==
|
||||
|
||||
Simple Values (copy as-is):
|
||||
|
||||
STAGING_POSTGRES_HOST = postgres
|
||||
STAGING_POSTGRES_PORT = 5432
|
||||
STAGING_POSTGRES_DB = manacore
|
||||
STAGING_POSTGRES_USER = postgres
|
||||
STAGING_REDIS_HOST = redis
|
||||
STAGING_REDIS_PORT = 6379
|
||||
STAGING_MANA_SERVICE_URL = http://mana-core-auth:3001
|
||||
STAGING_HOST = 46.224.108.214
|
||||
STAGING_USER = deploy
|
||||
|
||||
SSH Key (get from your local machine):
|
||||
|
||||
⏺ Write(scripts/get-ssh-key.sh)
|
||||
⎿ Wrote 19 lines to scripts/get-ssh-key.sh
|
||||
#!/bin/bash # Get SSH Private Key Content for GitHub Secret
|
||||
echo "================================================"
|
||||
echo " SSH PRIVATE KEY FOR STAGING_SSH_KEY"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
echo "Copy the ENTIRE output below (including BEGIN and END lines):"
|
||||
echo ""
|
||||
… +9 lines (ctrl+o to expand)
|
||||
|
||||
⏺ Bash(chmod +x
|
||||
/Users/wuesteon/dev/mana_universe/manacore-monorepo/scripts/get-ssh-key.sh &&
|
||||
/Users/wuesteon/dev/mana_universe/manacore-monorepo/scripts/get-ssh-key.s…)
|
||||
⎿ ================================================
|
||||
SSH PRIVATE KEY FOR STAGING_SSH_KEY
|
||||
================================================
|
||||
… +14 lines (ctrl+o to expand)
|
||||
|
||||
⏺ Perfect! Now for the SSH key:
|
||||
|
||||
Name: STAGING_SSH_KEY
|
||||
Value: (Copy the entire content above, including -----BEGIN and -----END lines)
|
||||
|
||||
---
|
||||
|
||||
Still Need to Fill Manually:
|
||||
|
||||
You need to add your Supabase and Azure OpenAI credentials:
|
||||
|
||||
1. STAGING_SUPABASE_URL - Get from your Supabase project settings
|
||||
2. STAGING_SUPABASE_ANON_KEY - Get from Supabase project settings
|
||||
3. STAGING_SUPABASE_SERVICE_ROLE_KEY - Get from Supabase project settings
|
||||
4. STAGING_AZURE_OPENAI_ENDPOINT - Your Azure OpenAI endpoint
|
||||
5. STAGING_AZURE_OPENAI_API_KEY - Your Azure OpenAI API key
|
||||
|
||||
---
|
||||
|
||||
Quick Test Locally First
|
||||
|
||||
Before setting all GitHub secrets, let's test with the generated passwords on
|
||||
your server:
|
||||
|
||||
# On your staging server (you're already SSH'd in)
|
||||
|
||||
nano ~/manacore-staging/.env
|
||||
|
||||
# Add/update just these lines:
|
||||
|
||||
POSTGRES_PASSWORD=qUHBDzlc0fMntYPdT0LXwLHnvMUdUFfp
|
||||
REDIS_PASSWORD=OxYL7XQgPAG4HjS29UFDYEmrkfk5kJoJ
|
||||
|
||||
# Save and restart
|
||||
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
|
||||
# Check if postgres starts successfully
|
||||
|
||||
docker compose logs --tail=20 postgres
|
||||
docker compose ps
|
||||
|
||||
Once postgres is healthy, you'll know the setup works! Then you can add all the
|
||||
secrets to GitHub for CI/CD deployments. 🚀
|
||||
|
||||
Would you like me to also create a script that shows you where to get your
|
||||
Supabase credentials?
|
||||
|
||||
> do i need to add those ->
|
||||
> STAGING_POSTGRES_HOST = postgres
|
||||
> STAGING_POSTGRES_PORT = 5432
|
||||
> STAGING_POSTGRES_DB = manacore
|
||||
> STAGING_POSTGRES_USER = postgres
|
||||
> STAGING_REDIS_HOST = redis
|
||||
> STAGING_REDIS_PORT = 6379
|
||||
> STAGING_MANA_SERVICE_URL = http://mana-core-auth:3001
|
||||
> STAGING_HOST = 46.224.108.214
|
||||
> STAGING_USER = deploy
|
||||
> ?
|
||||
|
||||
⏺ Yes! You need to add ALL of them to GitHub Secrets.
|
||||
|
||||
Even though they're not "secret" values (like postgres,
|
||||
5432), the workflow reads them from secrets.\*, so GitHub
|
||||
Actions needs them defined.
|
||||
|
||||
Looking at the workflow file
|
||||
.github/workflows/cd-staging.yml:
|
||||
|
||||
POSTGRES_HOST=${{ secrets.STAGING_POSTGRES_HOST }}
|
||||
POSTGRES_PORT=${{ secrets.STAGING_POSTGRES_PORT }}
|
||||
POSTGRES_DB=${{ secrets.STAGING_POSTGRES_DB }}
|
||||
POSTGRES_USER=${{ secrets.STAGING_POSTGRES_USER }}
|
||||
POSTGRES_PASSWORD=${{ secrets.STAGING_POSTGRES_PASSWORD }}
|
||||
|
||||
REDIS_HOST=${{ secrets.STAGING_REDIS_HOST }}
|
||||
REDIS_PORT=${{ secrets.STAGING_REDIS_PORT }}
|
||||
REDIS_PASSWORD=${{ secrets.STAGING_REDIS_PASSWORD }}
|
||||
|
||||
MANA_SERVICE_URL=${{ secrets.STAGING_MANA_SERVICE_URL }}
|
||||
|
||||
And for SSH connection:
|
||||
ssh ${{ secrets.STAGING_USER }}@${{ secrets.STAGING_HOST }}
|
||||
|
||||
All of these must be GitHub secrets or the workflow will fail
|
||||
with "secret not found" errors.
|
||||
|
||||
---
|
||||
|
||||
Complete List of Secrets to Add:
|
||||
|
||||
Required (17 total):
|
||||
|
||||
✅ Database:
|
||||
|
||||
- STAGING_POSTGRES_HOST = postgres
|
||||
- STAGING_POSTGRES_PORT = 5432
|
||||
- STAGING_POSTGRES_DB = manacore
|
||||
- STAGING_POSTGRES_USER = postgres
|
||||
- STAGING_POSTGRES_PASSWORD = (generated password)
|
||||
|
||||
✅ Redis:
|
||||
|
||||
- STAGING_REDIS_HOST = redis
|
||||
- STAGING_REDIS_PORT = 6379
|
||||
- STAGING_REDIS_PASSWORD = (generated password)
|
||||
|
||||
✅ Mana Core Auth:
|
||||
|
||||
- STAGING_MANA_SERVICE_URL = http://mana-core-auth:3001
|
||||
- STAGING_JWT_SECRET = (generated secret)
|
||||
- STAGING_JWT_PUBLIC_KEY = (empty for now, or generated)
|
||||
- STAGING_JWT_PRIVATE_KEY = (generated key)
|
||||
|
||||
✅ Supabase (you fill these):
|
||||
|
||||
- STAGING_SUPABASE_URL
|
||||
- STAGING_SUPABASE_ANON_KEY
|
||||
- STAGING_SUPABASE_SERVICE_ROLE_KEY
|
||||
|
||||
✅ Azure OpenAI (you fill these):
|
||||
|
||||
- STAGING_AZURE_OPENAI_ENDPOINT
|
||||
- STAGING_AZURE_OPENAI_API_KEY
|
||||
|
||||
✅ SSH:
|
||||
|
||||
- STAGING_SSH_KEY = (your SSH private key)
|
||||
- STAGING_HOST = 46.224.108.214
|
||||
- STAGING_USER = deploy
|
||||
|
||||
---
|
||||
|
||||
Why even simple values?
|
||||
|
||||
GitHub Actions doesn't distinguish between "secret" and
|
||||
"non-secret" values. Everything passed via ${{ secrets.* }}
|
||||
must be defined in GitHub Secrets, even if it's just postgres
|
||||
or 5432.
|
||||
|
||||
This is actually good for flexibility - you can change these
|
||||
values (like switching to a different database name) without
|
||||
modifying the workflow file.
|
||||
|
||||
> cant i set them in the ci/cd file? - STAGING_POSTGRES_HOST =
|
||||
> postgres
|
||||
|
||||
- STAGING_POSTGRES_PORT = 5432
|
||||
- STAGING_POSTGRES_DB = manacore
|
||||
- STAGING_POSTGRES_USER = postgres
|
||||
|
||||
⏺ YES! Absolutely! That's actually a better practice. Only
|
||||
truly sensitive values (passwords, API keys) should be GitHub
|
||||
Secrets.
|
||||
|
||||
Let me update the workflow to hardcode the non-sensitive
|
||||
configuration values:
|
||||
|
||||
⏺ Read(.github/workflows/cd-staging.yml)
|
||||
⎿ Read 40 lines
|
||||
|
||||
⏺ Update(.github/workflows/cd-staging.yml)
|
||||
⎿ Updated .github/workflows/cd-staging.yml with 11 addition
|
||||
and 11 removals
|
||||
61
|
||||
62 - name: Copy environment file
|
||||
63 run: |
|
||||
64 - # Create staging env file from - secrets
|
||||
64 + # Create staging env file (mix + of hardcoded config and secrets)
|
||||
65 cat > .env.staging << EOF
|
||||
66 - # Database
|
||||
67 - POSTGRES_HOST=${{
|
||||
- secrets.STAGING_POSTGRES_HOST }}
|
||||
68 - POSTGRES_PORT=${{
|
||||
- secrets.STAGING_POSTGRES_PORT }}
|
||||
69 - POSTGRES_DB=${{
|
||||
- secrets.STAGING_POSTGRES_DB }}
|
||||
70 - POSTGRES_USER=${{
|
||||
- secrets.STAGING_POSTGRES_USER }}
|
||||
66 + # Database - Configuration
|
||||
67 + POSTGRES_HOST=postgres
|
||||
68 + POSTGRES_PORT=5432
|
||||
69 + POSTGRES_DB=manacore
|
||||
70 + POSTGRES_USER=postgres
|
||||
71 POSTGRES_PASSWORD=${{
|
||||
secrets.STAGING_POSTGRES_PASSWORD }}
|
||||
72
|
||||
73 - # Redis
|
||||
74 - REDIS_HOST=${{
|
||||
- secrets.STAGING_REDIS_HOST }}
|
||||
75 - REDIS_PORT=${{
|
||||
- secrets.STAGING_REDIS_PORT }}
|
||||
73 + # Redis - Configuration
|
||||
74 + REDIS_HOST=redis
|
||||
75 + REDIS_PORT=6379
|
||||
76 REDIS_PASSWORD=${{
|
||||
secrets.STAGING_REDIS_PASSWORD }}
|
||||
77
|
||||
78 - # Mana Core Auth
|
||||
79 - MANA_SERVICE_URL=${{
|
||||
- secrets.STAGING_MANA_SERVICE_URL }}
|
||||
78 + # Mana Core Auth - Configuration
|
||||
79 +
|
||||
+ MANA_SERVICE_URL=http://mana-core-auth:3001
|
||||
80 JWT_SECRET=${{
|
||||
secrets.STAGING_JWT_SECRET }}
|
||||
81 JWT_PUBLIC_KEY=${{
|
||||
secrets.STAGING_JWT_PUBLIC_KEY }}
|
||||
82 JWT_PRIVATE_KEY=${{
|
||||
secrets.STAGING_JWT_PRIVATE_KEY }}
|
||||
|
||||
⏺ Perfect! Now let's update the SSH connection parts too:
|
||||
|
||||
⏺ Update(.github/workflows/cd-staging.yml)
|
||||
⎿ Updated .github/workflows/cd-staging.yml with 7 additions
|
||||
and 2 removals
|
||||
39 ssh-private-key: ${{
|
||||
secrets.STAGING_SSH_KEY }}
|
||||
40
|
||||
41 - name: Add staging server to known hosts
|
||||
42 + env:
|
||||
43 + STAGING_HOST: 46.224.108.214
|
||||
44 run: |
|
||||
45 mkdir -p ~/.ssh
|
||||
46 - ssh-keyscan -H ${{ secrets.
|
||||
- STAGING_HOST }} >> ~/.ssh/known_hosts
|
||||
46 + ssh-keyscan -H $STAGING_HOST
|
||||
+ >> ~/.ssh/known_hosts
|
||||
47
|
||||
48 - name: Prepare deployment directory
|
||||
49 + env:
|
||||
50 + STAGING_USER: deploy
|
||||
51 + STAGING_HOST: 46.224.108.214
|
||||
52 run: |
|
||||
53 - ssh ${{ secrets.STAGING_USER }}@$ - {{ secrets.STAGING_HOST }} << 'EOF'
|
||||
53 + ssh $STAGING_USER@$STAGING_HOST + << 'EOF'
|
||||
54 mkdir -p ~/manacore-staging
|
||||
55 cd ~/manacore-staging
|
||||
56
|
||||
|
||||
⏺ Update(.github/workflows/cd-staging.yml)
|
||||
⎿ Updated .github/workflows/cd-staging.yml with 4 additions
|
||||
and 1 removal
|
||||
61 EOF
|
||||
62
|
||||
63 - name: Copy docker-compose file
|
||||
64 + env:
|
||||
65 + STAGING_USER: deploy
|
||||
66 + STAGING_HOST: 46.224.108.214
|
||||
67 run: |
|
||||
68 - scp docker-compose.staging.yml $
|
||||
- {{ secrets.STAGING_USER }}@${{ secrets.
|
||||
- STAGING_HOST }} - :~/manacore-staging/docker-compose.yml
|
||||
68 + scp docker-compose.staging.yml $
|
||||
+ STAGING_USER@$STAGING_HOST + :~/manacore-staging/docker-compose.yml
|
||||
69
|
||||
70 - name: Copy environment file
|
||||
71 run: |
|
||||
|
||||
⏺ Update(.github/workflows/cd-staging.yml)
|
||||
⎿ Updated .github/workflows/cd-staging.yml with 4 additions
|
||||
and 1 removal
|
||||
68 scp docker-compose.staging.yml
|
||||
$STAGING_USER@$STAGING_HOST:~/manacore-staging/d
|
||||
ocker-compose.yml
|
||||
69
|
||||
70 - name: Copy environment file
|
||||
71 + env:
|
||||
72 + STAGING_USER: deploy
|
||||
73 + STAGING_HOST: 46.224.108.214
|
||||
74 run: |
|
||||
75 # Create staging env file (mix of
|
||||
hardcoded config and secrets)
|
||||
76 cat > .env.staging << EOF
|
||||
...
|
||||
103 NODE_ENV=staging
|
||||
104 EOF
|
||||
105
|
||||
106 - scp .env.staging ${{ secrets.
|
||||
- STAGING_USER }}@${{ secrets.STAGING_HOST }} - :~/manacore-staging/.env
|
||||
106 + scp .env.staging $STAGING_USER@$ + STAGING_HOST:~/manacore-staging/.env
|
||||
107 rm .env.staging
|
||||
108
|
||||
109 - name: Login to GitHub Container
|
||||
Registry on staging server
|
||||
|
||||
⏺ Read(.github/workflows/cd-staging.yml)
|
||||
⎿ Read 60 lines
|
||||
|
||||
⏺ Update(.github/workflows/cd-staging.yml)
|
||||
⎿ Updated .github/workflows/cd-staging.yml with 16 addition
|
||||
and 4 removals
|
||||
110 rm .env.staging
|
||||
111
|
||||
112 - name: Login to GitHub Container
|
||||
Registry on staging server
|
||||
113 + env:
|
||||
114 + STAGING_USER: deploy
|
||||
115 + STAGING_HOST: 46.224.108.214
|
||||
116 run: |
|
||||
117 - ssh ${{ secrets.STAGING_USER }}@$ - {{ secrets.STAGING_HOST }} << EOF
|
||||
117 + ssh $STAGING_USER@$STAGING_HOST + << EOF
|
||||
118 # Login to ghcr.io with GitHub
|
||||
token
|
||||
119 echo "${{ secrets.GITHUB_TOKEN }}"
|
||||
| docker login ghcr.io -u ${{ github.actor }}
|
||||
--password-stdin
|
||||
120 EOF
|
||||
121
|
||||
122 - name: Pull latest Docker images
|
||||
123 + env:
|
||||
124 + STAGING_USER: deploy
|
||||
125 + STAGING_HOST: 46.224.108.214
|
||||
126 run: |
|
||||
127 - ssh ${{ secrets.STAGING_USER }}@$ - {{ secrets.STAGING_HOST }} << 'EOF'
|
||||
127 + ssh $STAGING_USER@$STAGING_HOST + << 'EOF'
|
||||
128 cd ~/manacore-staging
|
||||
129 docker compose pull
|
||||
130 EOF
|
||||
131
|
||||
132 - name: Deploy services
|
||||
133 + env:
|
||||
134 + STAGING_USER: deploy
|
||||
135 + STAGING_HOST: 46.224.108.214
|
||||
136 run: |
|
||||
137 SERVICE="${{
|
||||
github.event.inputs.service || 'all' }}"
|
||||
138
|
||||
139 - ssh ${{ secrets.STAGING_USER }}@$ - {{ secrets.STAGING_HOST }} << EOF
|
||||
139 + ssh $STAGING_USER@$STAGING_HOST + << EOF
|
||||
140 cd ~/manacore-staging
|
||||
141
|
||||
142 # Determine which services to
|
||||
deploy
|
||||
...
|
||||
148 EOF
|
||||
149
|
||||
150 - name: Run health checks
|
||||
151 + env:
|
||||
152 + STAGING_USER: deploy
|
||||
153 + STAGING_HOST: 46.224.108.214
|
||||
154 run: |
|
||||
155 - ssh ${{ secrets.STAGING_USER }}@$ - {{ secrets.STAGING_HOST }} << 'EOF'
|
||||
155 + ssh $STAGING_USER@$STAGING_HOST + << 'EOF'
|
||||
156 cd ~/manacore-staging
|
||||
157
|
||||
158 # Wait for services to fully start
|
||||
|
||||
⏺ Read(.github/workflows/cd-staging.yml)
|
||||
⎿ Read 15 lines
|
||||
|
||||
⏺ Update(.github/workflows/cd-staging.yml)
|
||||
⎿ Updated .github/workflows/cd-staging.yml with 4 additions
|
||||
and 1 removal
|
||||
212 EOF
|
||||
213
|
||||
214 - name: Run database migrations
|
||||
215 + env:
|
||||
216 + STAGING_USER: deploy
|
||||
217 + STAGING_HOST: 46.224.108.214
|
||||
218 run: |
|
||||
219 # Run migrations for services that
|
||||
need them
|
||||
220 - ssh ${{ secrets.STAGING_USER }}@$ - {{ secrets.STAGING_HOST }} << 'EOF'
|
||||
220 + ssh $STAGING_USER@$STAGING_HOST + << 'EOF'
|
||||
221 cd ~/manacore-staging
|
||||
222
|
||||
223 # Mana Core Auth migrations
|
||||
|
||||
⏺ Perfect! Now let me update the secrets generation script to
|
||||
reflect the reduced list:
|
||||
|
||||
⏺ Write(scripts/generate-staging-secrets.sh)
|
||||
⎿ Updated scripts/generate-staging-secrets.sh with 25
|
||||
additions and 38 removals
|
||||
11 echo ""
|
||||
12 echo "Copy each value below to GitHub Settings
|
||||
→ Secrets and variables → Actions"
|
||||
13 echo ""
|
||||
14 + echo "Note: Configuration values (host, ports, + etc.) are now hardcoded in the workflow"
|
||||
15 + echo "Only sensitive values (passwords, keys) + need to be added as secrets"
|
||||
16 + echo ""
|
||||
17 echo "=========================================
|
||||
======="
|
||||
18 echo ""
|
||||
19
|
||||
...
|
||||
32
|
||||
33 # Output all secrets in GitHub format
|
||||
34 echo "#
|
||||
============================================"
|
||||
35 - echo "# DATABASE SECRETS"
|
||||
35 + echo "# DATABASE SECRETS (2 secrets)"
|
||||
36 echo "#
|
||||
============================================"
|
||||
37 echo ""
|
||||
38 - echo "STAGING_POSTGRES_HOST"
|
||||
39 - echo "postgres"
|
||||
40 - echo ""
|
||||
41 - echo "STAGING_POSTGRES_PORT"
|
||||
42 - echo "5432"
|
||||
43 - echo ""
|
||||
44 - echo "STAGING_POSTGRES_DB"
|
||||
45 - echo "manacore"
|
||||
46 - echo ""
|
||||
47 - echo "STAGING_POSTGRES_USER"
|
||||
48 - echo "postgres"
|
||||
49 - echo ""
|
||||
38 echo "STAGING_POSTGRES_PASSWORD"
|
||||
39 echo "$POSTGRES_PASSWORD"
|
||||
40 echo ""
|
||||
41
|
||||
42 echo "#
|
||||
============================================"
|
||||
43 - echo "# REDIS SECRETS"
|
||||
43 + echo "# REDIS SECRETS (1 secret)"
|
||||
44 echo "#
|
||||
============================================"
|
||||
45 echo ""
|
||||
46 - echo "STAGING_REDIS_HOST"
|
||||
47 - echo "redis"
|
||||
48 - echo ""
|
||||
49 - echo "STAGING_REDIS_PORT"
|
||||
50 - echo "6379"
|
||||
51 - echo ""
|
||||
46 echo "STAGING_REDIS_PASSWORD"
|
||||
47 echo "$REDIS_PASSWORD"
|
||||
48 echo ""
|
||||
49
|
||||
50 echo "#
|
||||
============================================"
|
||||
51 - echo "# MANA CORE AUTH SECRETS"
|
||||
51 + echo "# MANA CORE AUTH SECRETS (3 secrets)"
|
||||
52 echo "#
|
||||
============================================"
|
||||
53 echo ""
|
||||
54 - echo "STAGING_MANA_SERVICE_URL"
|
||||
55 - echo "http://mana-core-auth:3001"
|
||||
56 - echo ""
|
||||
54 echo "STAGING_JWT_SECRET"
|
||||
55 echo "$JWT_SECRET"
|
||||
56 echo ""
|
||||
...
|
||||
83 echo ""
|
||||
84
|
||||
85 echo "#
|
||||
============================================"
|
||||
86 - echo "# SUPABASE SECRETS (Fill these manually)"
|
||||
86 + echo "# SUPABASE SECRETS (Fill these manually + - 3 secrets)"
|
||||
87 echo "#
|
||||
============================================"
|
||||
88 echo ""
|
||||
89 echo "STAGING_SUPABASE_URL"
|
||||
...
|
||||
97 echo ""
|
||||
98
|
||||
99 echo "#
|
||||
============================================"
|
||||
100 - echo "# AZURE OPENAI SECRETS (Fill these - manually)"
|
||||
100 + echo "# AZURE OPENAI SECRETS (Fill these + manually - 2 secrets)"
|
||||
101 echo "#
|
||||
============================================"
|
||||
102 echo ""
|
||||
103 echo "STAGING_AZURE_OPENAI_ENDPOINT"
|
||||
...
|
||||
108 echo ""
|
||||
109
|
||||
110 echo "#
|
||||
============================================"
|
||||
111 - echo "# SSH DEPLOYMENT SECRETS (Fill these - manually)"
|
||||
111 + echo "# SSH DEPLOYMENT SECRETS (Fill these + manually - 1 secret)"
|
||||
112 echo "#
|
||||
============================================"
|
||||
113 echo ""
|
||||
114 echo "STAGING_SSH_KEY"
|
||||
115 - echo "Contents of: ~/.ssh/hetzner_deploy_key"
|
||||
115 + echo "Run: cat ~/.ssh/hetzner_deploy_key"
|
||||
116 + echo "(Copy the ENTIRE output including + -----BEGIN and -----END lines)"
|
||||
117 echo ""
|
||||
118 - echo "STAGING_HOST"
|
||||
119 - echo "46.224.108.214"
|
||||
120 - echo ""
|
||||
121 - echo "STAGING_USER"
|
||||
122 - echo "deploy"
|
||||
123 - echo ""
|
||||
118
|
||||
119 echo "========================================
|
||||
========"
|
||||
120 - echo " DONE!"
|
||||
120 + echo " SUMMARY"
|
||||
121 echo "========================================
|
||||
========"
|
||||
122 echo ""
|
||||
123 - echo "IMPORTANT: Save these values securely!"
|
||||
124 - echo "You will need them to add to GitHub - Secrets."
|
||||
123 + echo "Total secrets to add: 12"
|
||||
124 + echo " - Auto-generated: 6 (passwords, JWT + keys)"
|
||||
125 + echo " - Manual: 6 (Supabase, Azure, SSH + key)"
|
||||
126 echo ""
|
||||
127 + echo "The following are now HARDCODED in the + workflow:"
|
||||
128 + echo " - POSTGRES_HOST, POSTGRES_PORT, + POSTGRES_DB, POSTGRES_USER"
|
||||
129 + echo " - REDIS_HOST, REDIS_PORT"
|
||||
130 + echo " - MANA_SERVICE_URL"
|
||||
131 + echo " - STAGING_HOST (46.224.108.214)"
|
||||
132 + echo " - STAGING_USER (deploy)"
|
||||
133 + echo ""
|
||||
134 + echo "======================================== + ========"
|
||||
135 + echo ""
|
||||
136 echo "Next steps:"
|
||||
137 echo "1. Go to: https://github.com/YOUR_ORG/ma
|
||||
nacore-monorepo/settings/secrets/actions"
|
||||
138 echo "2. Click 'New repository secret' for
|
||||
each value above"
|
||||
139 echo "3. Copy the secret name (e.g.,
|
||||
STAGING_POSTGRES_PASSWORD)"
|
||||
140 echo "4. Copy the secret value (the line below
|
||||
the name)"
|
||||
141 - echo "5. Fill in Supabase and Azure - values manually"
|
||||
141 + echo "5. Fill in Supabase, Azure, and SSH key + values manually"
|
||||
142 echo ""
|
||||
|
||||
⏺ Perfect! Now let's commit these workflow improvements:
|
||||
|
||||
⏺ Bash(git add .github/workflows/cd-staging.yml
|
||||
scripts/generate-staging-secrets.sh scripts/get-ssh-key.sh)
|
||||
⎿ (No content)
|
||||
|
||||
⏺ Bash(git commit -m "♻️ refactor(cd): hardcode non-sensitive
|
||||
config in staging workflow…)
|
||||
⎿ [main 234703a1] ♻️ refactor(cd): hardcode non-sensitive co
|
||||
nfig in staging workflow
|
||||
3 files changed, 188 insertions(+), 20 deletions(-)
|
||||
… +690 lines (ctrl+o to expand)
|
||||
|
||||
⏺ Bash(git push)
|
||||
⎿ To https://github.com/Memo-2023/manacore-monorepo.git
|
||||
cf2b6aaa..234703a1 main -> main
|
||||
|
||||
⏺ Perfect! All changes committed and pushed to GitHub. 🎉
|
||||
|
||||
Summary of What We Did
|
||||
|
||||
Reduced GitHub Secrets Requirements: 21 → 12
|
||||
|
||||
Hardcoded in workflow (no longer secrets):
|
||||
|
||||
- POSTGRES_HOST=postgres
|
||||
- POSTGRES_PORT=5432
|
||||
- POSTGRES_DB=manacore
|
||||
- POSTGRES_USER=postgres
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MANA_SERVICE_URL=http://mana-core-auth:3001
|
||||
- STAGING_HOST=46.224.108.214
|
||||
- STAGING_USER=deploy
|
||||
|
||||
Still need as GitHub Secrets (12 total):
|
||||
|
||||
1. Auto-generated (6):
|
||||
- STAGING_POSTGRES_PASSWORD
|
||||
- STAGING_REDIS_PASSWORD
|
||||
- STAGING_JWT_SECRET
|
||||
- STAGING_JWT_PUBLIC_KEY
|
||||
- STAGING_JWT_PRIVATE_KEY
|
||||
- STAGING_SSH_KEY
|
||||
|
||||
2. You provide manually (6):
|
||||
- STAGING_SUPABASE_URL
|
||||
- STAGING_SUPABASE_ANON_KEY
|
||||
- STAGING_SUPABASE_SERVICE_ROLE_KEY
|
||||
- STAGING_AZURE_OPENAI_ENDPOINT
|
||||
- STAGING_AZURE_OPENAI_API_KEY
|
||||
|
||||
---
|
||||
|
||||
Next Steps
|
||||
|
||||
1. Generate secrets (auto-generated ones are already shown
|
||||
earlier in this chat)
|
||||
2. Add them to GitHub at: https://github.com/Memo-2023/manaco
|
||||
re-monorepo/settings/secrets/actions
|
||||
3. Add your Supabase and Azure credentials manually
|
||||
4. Test the staging deployment - trigger a manual workflow
|
||||
run
|
||||
|
||||
Would you like me to re-run the secrets generator script to
|
||||
get fresh values, or shall we now test the postgres setup on
|
||||
your server?
|
||||
|
||||
> which secrets am i missing: Repository secrets
|
||||
> Name
|
||||
|
||||
Last updated
|
||||
sort ascending
|
||||
Actions
|
||||
STAGING_HOST
|
||||
2 days ago
|
||||
STAGING_JWT_PRIVATE_KEY
|
||||
4 minutes ago
|
||||
STAGING_JWT_SECRET
|
||||
6 minutes ago
|
||||
STAGING_POSTGRES_HOST
|
||||
4 minutes ago
|
||||
STAGING_POSTGRES_PASSWORD
|
||||
6 minutes ago
|
||||
STAGING_POSTGRES_PORT
|
||||
4 minutes ago
|
||||
STAGING_REDIS_PASSWORD
|
||||
6 minutes ago
|
||||
STAGING_SSH_KEY
|
||||
2 days ago
|
||||
STAGING_USER
|
||||
|
||||
⏺ Looking at your secrets, you're missing 6 required secrets:
|
||||
|
||||
Missing Secrets (6):
|
||||
|
||||
1. JWT Public Key (auto-generated)
|
||||
|
||||
STAGING_JWT_PUBLIC_KEY
|
||||
This was generated earlier in our conversation (see the
|
||||
output from the script). If you need a new one, I can
|
||||
regenerate it.
|
||||
|
||||
2-4. Supabase (you need to provide these):
|
||||
|
||||
STAGING_SUPABASE_URL
|
||||
STAGING_SUPABASE_ANON_KEY
|
||||
STAGING_SUPABASE_SERVICE_ROLE_KEY
|
||||
Get these from your Supabase project dashboard → Settings →
|
||||
API
|
||||
|
||||
5-6. Azure OpenAI (you need to provide these):
|
||||
|
||||
STAGING_AZURE_OPENAI_ENDPOINT
|
||||
STAGING_AZURE_OPENAI_API_KEY
|
||||
Get these from your Azure portal
|
||||
|
||||
---
|
||||
|
||||
Can Be Deleted (4 secrets no longer needed):
|
||||
|
||||
These are now hardcoded in the workflow, so you can safely
|
||||
delete them from GitHub:
|
||||
|
||||
- ❌ STAGING_HOST (now hardcoded as 46.224.108.214)
|
||||
- ❌ STAGING_POSTGRES_HOST (now hardcoded as postgres)
|
||||
- ❌ STAGING_POSTGRES_PORT (now hardcoded as 5432)
|
||||
- ❌ STAGING_USER (now hardcoded as deploy)
|
||||
|
||||
---
|
||||
|
||||
Quick Action Items:
|
||||
|
||||
1. Add STAGING_JWT_PUBLIC_KEY - The value from earlier was
|
||||
empty. Let me regenerate a proper one for you:
|
||||
|
||||
⏺ Bash(/Users/wuesteon/dev/mana_universe/manacore-monorepo/scripts/
|
||||
generate-staging-secrets.sh | grep -A1
|
||||
"STAGING_JWT_PUBLIC_KEY")
|
||||
⎿ STAGING_JWT_PUBLIC_KEY
|
||||
|
||||
⏺ The JWT public key appears to be empty (which might be fine
|
||||
for EdDSA where the public key is derived from the private
|
||||
key). However, since the workflow expects it, let's add it as
|
||||
an empty string or check if you need a proper key pair.
|
||||
|
||||
For now, add these secrets:
|
||||
|
||||
2. Add Supabase credentials:
|
||||
Go to your Supabase project → Settings → API:
|
||||
STAGING_SUPABASE_URL = https://YOUR_PROJECT.supabase.co
|
||||
STAGING_SUPABASE_ANON_KEY = eyJhbGciOiJI... (your anon key)
|
||||
STAGING_SUPABASE_SERVICE_ROLE_KEY = eyJhbGciOiJI... (your
|
||||
service role key)
|
||||
|
||||
3. Add Azure OpenAI credentials:
|
||||
Go to Azure portal → Your OpenAI resource:
|
||||
STAGING_AZURE_OPENAI_ENDPOINT =
|
||||
https://YOUR_RESOURCE.openai.azure.com/
|
||||
STAGING_AZURE_OPENAI_API_KEY = your-api-key-here
|
||||
|
||||
4. Add empty JWT_PUBLIC_KEY (for now):
|
||||
STAGING_JWT_PUBLIC_KEY = (leave empty or add a space)
|
||||
|
||||
Once you add these 6 secrets, you'll have all 12 required for
|
||||
the deployment! Do you have access to your Supabase and
|
||||
Azure credentials?
|
||||
502
pnpm-lock.yaml
generated
502
pnpm-lock.yaml
generated
|
|
@ -116,7 +116,7 @@ importers:
|
|||
devDependencies:
|
||||
'@nestjs/cli':
|
||||
specifier: ^10.4.9
|
||||
version: 10.4.9(esbuild@0.19.12)
|
||||
version: 10.4.9(esbuild@0.27.0)
|
||||
'@nestjs/schematics':
|
||||
specifier: ^10.2.3
|
||||
version: 10.2.3(chokidar@3.6.0)(typescript@5.9.3)
|
||||
|
|
@ -149,7 +149,7 @@ importers:
|
|||
version: 0.5.21
|
||||
ts-loader:
|
||||
specifier: ^9.5.1
|
||||
version: 9.5.4(typescript@5.9.3)(webpack@5.97.1(esbuild@0.19.12))
|
||||
version: 9.5.4(typescript@5.9.3)(webpack@5.100.2(esbuild@0.27.0))
|
||||
ts-node:
|
||||
specifier: ^10.9.2
|
||||
version: 10.9.2(@types/node@22.19.1)(typescript@5.9.3)
|
||||
|
|
@ -173,14 +173,14 @@ importers:
|
|||
version: link:../../../../packages/shared-landing-ui
|
||||
astro:
|
||||
specifier: ^5.16.0
|
||||
version: 5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@1.21.7)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1)
|
||||
version: 5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1)
|
||||
typescript:
|
||||
specifier: ^5.9.2
|
||||
version: 5.9.3
|
||||
devDependencies:
|
||||
'@astrojs/tailwind':
|
||||
specifier: ^6.0.2
|
||||
version: 6.0.2(astro@5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@1.21.7)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1))(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.9.3))
|
||||
version: 6.0.2(astro@5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1))(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.9.3))
|
||||
'@tailwindcss/typography':
|
||||
specifier: ^0.5.18
|
||||
version: 0.5.19(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1))
|
||||
|
|
@ -189,13 +189,13 @@ importers:
|
|||
version: 20.19.25
|
||||
eslint:
|
||||
specifier: ^9.0.0
|
||||
version: 9.39.1(jiti@1.21.7)
|
||||
version: 9.39.1(jiti@2.6.1)
|
||||
eslint-config-prettier:
|
||||
specifier: ^9.1.0
|
||||
version: 9.1.2(eslint@9.39.1(jiti@1.21.7))
|
||||
version: 9.1.2(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-astro:
|
||||
specifier: ^1.0.0
|
||||
version: 1.5.0(eslint@9.39.1(jiti@1.21.7))
|
||||
version: 1.5.0(eslint@9.39.1(jiti@2.6.1))
|
||||
prettier:
|
||||
specifier: ^3.6.2
|
||||
version: 3.6.2
|
||||
|
|
@ -343,9 +343,6 @@ importers:
|
|||
|
||||
apps/chat/apps/backend:
|
||||
dependencies:
|
||||
'@google/generative-ai':
|
||||
specifier: ^0.24.1
|
||||
version: 0.24.1
|
||||
'@manacore/shared-errors':
|
||||
specifier: workspace:*
|
||||
version: link:../../../../packages/shared-errors
|
||||
|
|
@ -394,7 +391,7 @@ importers:
|
|||
devDependencies:
|
||||
'@nestjs/cli':
|
||||
specifier: ^10.4.9
|
||||
version: 10.4.9(esbuild@0.27.0)
|
||||
version: 10.4.9(esbuild@0.19.12)
|
||||
'@nestjs/schematics':
|
||||
specifier: ^10.2.3
|
||||
version: 10.2.3(chokidar@3.6.0)(typescript@5.9.3)
|
||||
|
|
@ -427,7 +424,7 @@ importers:
|
|||
version: 0.5.21
|
||||
ts-loader:
|
||||
specifier: ^9.5.1
|
||||
version: 9.5.4(typescript@5.9.3)(webpack@5.100.2(esbuild@0.27.0))
|
||||
version: 9.5.4(typescript@5.9.3)(webpack@5.97.1(esbuild@0.19.12))
|
||||
ts-node:
|
||||
specifier: ^10.9.2
|
||||
version: 10.9.2(@types/node@22.19.1)(typescript@5.9.3)
|
||||
|
|
@ -555,19 +552,19 @@ importers:
|
|||
version: 18.3.27
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: ^7.7.0
|
||||
version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/parser':
|
||||
specifier: ^7.7.0
|
||||
version: 7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
version: 7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
dotenv:
|
||||
specifier: ^16.4.7
|
||||
version: 16.6.1
|
||||
eslint:
|
||||
specifier: ^9.39.1
|
||||
version: 9.39.1(jiti@2.6.1)
|
||||
version: 9.39.1(jiti@1.21.7)
|
||||
eslint-config-universe:
|
||||
specifier: ^12.0.1
|
||||
version: 12.1.0(@types/eslint@9.6.1)(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)(typescript@5.3.3)
|
||||
version: 12.1.0(@types/eslint@9.6.1)(eslint@9.39.1(jiti@1.21.7))(prettier@3.6.2)(typescript@5.3.3)
|
||||
prettier:
|
||||
specifier: ^3.2.5
|
||||
version: 3.6.2
|
||||
|
|
@ -6788,7 +6785,7 @@ packages:
|
|||
|
||||
'@expo/bunyan@4.0.1':
|
||||
resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==}
|
||||
engines: {'0': node >=0.10.0}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
'@expo/cli@0.22.26':
|
||||
resolution: {integrity: sha512-I689wc8Fn/AX7aUGiwrh3HnssiORMJtR2fpksX+JIe8Cj/EDleblYMSwRPd0025wrwOV9UN1KM/RuEt/QjCS3Q==}
|
||||
|
|
@ -19978,16 +19975,6 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
'@astrojs/tailwind@6.0.2(astro@5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@1.21.7)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1))(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.9.3))':
|
||||
dependencies:
|
||||
astro: 5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@1.21.7)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1)
|
||||
autoprefixer: 10.4.22(postcss@8.5.6)
|
||||
postcss: 8.5.6
|
||||
postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.9.3))
|
||||
tailwindcss: 3.4.18(tsx@4.20.6)(yaml@2.8.1)
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
'@astrojs/tailwind@6.0.2(astro@5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1))(tailwindcss@3.4.18(tsx@4.20.6)(yaml@2.8.1))(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.9.3))':
|
||||
dependencies:
|
||||
astro: 5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1)
|
||||
|
|
@ -22501,7 +22488,7 @@ snapshots:
|
|||
wrap-ansi: 7.0.0
|
||||
ws: 8.18.3
|
||||
optionalDependencies:
|
||||
expo-router: 6.0.15(5e7ih2rh6mb55wruwvjljgzihq)
|
||||
expo-router: 6.0.15(jiucxy5ca3jdtbnulaxuc46jdq)
|
||||
react-native: 0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0)
|
||||
transitivePeerDependencies:
|
||||
- '@modelcontextprotocol/sdk'
|
||||
|
|
@ -27376,6 +27363,19 @@ snapshots:
|
|||
react-test-renderer: 19.1.0(react@19.1.0)
|
||||
redent: 3.0.0
|
||||
|
||||
'@testing-library/react-native@13.3.3(jest@30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0)))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react-test-renderer@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
dependencies:
|
||||
jest-matcher-utils: 30.2.0
|
||||
picocolors: 1.1.1
|
||||
pretty-format: 30.2.0
|
||||
react: 19.1.0
|
||||
react-native: 0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0)
|
||||
react-test-renderer: 19.1.0(react@19.1.0)
|
||||
redent: 3.0.0
|
||||
optionalDependencies:
|
||||
jest: 30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0))
|
||||
optional: true
|
||||
|
||||
'@testing-library/react-native@13.3.3(jest@30.2.0(@types/node@22.19.1)(esbuild-register@3.6.0(esbuild@0.19.12))(ts-node@10.9.2(@types/node@22.19.1)(typescript@5.9.3)))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react-test-renderer@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
dependencies:
|
||||
jest-matcher-utils: 30.2.0
|
||||
|
|
@ -27920,16 +27920,16 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.12.2
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/scope-manager': 6.21.0
|
||||
'@typescript-eslint/type-utils': 6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/type-utils': 6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 6.21.0
|
||||
debug: 4.4.3
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.2
|
||||
natural-compare: 1.4.0
|
||||
|
|
@ -27978,15 +27978,15 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.12.2
|
||||
'@typescript-eslint/parser': 7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/scope-manager': 7.18.0
|
||||
'@typescript-eslint/type-utils': 7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/type-utils': 7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 7.18.0
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.2
|
||||
natural-compare: 1.4.0
|
||||
|
|
@ -28078,14 +28078,14 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 6.21.0
|
||||
'@typescript-eslint/types': 6.21.0
|
||||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 6.21.0
|
||||
debug: 4.4.3
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -28117,14 +28117,14 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/parser@7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 7.18.0
|
||||
'@typescript-eslint/types': 7.18.0
|
||||
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 7.18.0
|
||||
debug: 4.4.3
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -28250,12 +28250,12 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/type-utils@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/type-utils@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
debug: 4.4.3
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
ts-api-utils: 1.4.3(typescript@5.3.3)
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
|
|
@ -28286,12 +28286,12 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/type-utils@7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/type-utils@7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
debug: 4.4.3
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
ts-api-utils: 1.4.3(typescript@5.3.3)
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
|
|
@ -28473,15 +28473,15 @@ snapshots:
|
|||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@typescript-eslint/utils@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/utils@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1))
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7))
|
||||
'@types/json-schema': 7.0.15
|
||||
'@types/semver': 7.7.1
|
||||
'@typescript-eslint/scope-manager': 6.21.0
|
||||
'@typescript-eslint/types': 6.21.0
|
||||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
semver: 7.7.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
|
@ -28512,13 +28512,13 @@ snapshots:
|
|||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@typescript-eslint/utils@7.18.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)':
|
||||
'@typescript-eslint/utils@7.18.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1))
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7))
|
||||
'@typescript-eslint/scope-manager': 7.18.0
|
||||
'@typescript-eslint/types': 7.18.0
|
||||
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.3.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
|
@ -29319,108 +29319,6 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
astro@5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@1.21.7)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1):
|
||||
dependencies:
|
||||
'@astrojs/compiler': 2.13.0
|
||||
'@astrojs/internal-helpers': 0.7.5
|
||||
'@astrojs/markdown-remark': 6.3.9
|
||||
'@astrojs/telemetry': 3.3.0
|
||||
'@capsizecss/unpack': 3.0.1
|
||||
'@oslojs/encoding': 1.1.0
|
||||
'@rollup/pluginutils': 5.3.0(rollup@4.53.3)
|
||||
acorn: 8.15.0
|
||||
aria-query: 5.3.2
|
||||
axobject-query: 4.1.0
|
||||
boxen: 8.0.1
|
||||
ci-info: 4.3.1
|
||||
clsx: 2.1.1
|
||||
common-ancestor-path: 1.0.1
|
||||
cookie: 1.1.0
|
||||
cssesc: 3.0.0
|
||||
debug: 4.4.3
|
||||
deterministic-object-hash: 2.0.2
|
||||
devalue: 5.5.0
|
||||
diff: 5.2.0
|
||||
dlv: 1.1.3
|
||||
dset: 3.1.4
|
||||
es-module-lexer: 1.7.0
|
||||
esbuild: 0.25.12
|
||||
estree-walker: 3.0.3
|
||||
flattie: 1.1.1
|
||||
fontace: 0.3.1
|
||||
github-slugger: 2.0.0
|
||||
html-escaper: 3.0.3
|
||||
http-cache-semantics: 4.2.0
|
||||
import-meta-resolve: 4.2.0
|
||||
js-yaml: 4.1.1
|
||||
magic-string: 0.30.21
|
||||
magicast: 0.5.1
|
||||
mrmime: 2.0.1
|
||||
neotraverse: 0.6.18
|
||||
p-limit: 6.2.0
|
||||
p-queue: 8.1.1
|
||||
package-manager-detector: 1.5.0
|
||||
piccolore: 0.1.3
|
||||
picomatch: 4.0.3
|
||||
prompts: 2.4.2
|
||||
rehype: 13.0.2
|
||||
semver: 7.7.3
|
||||
shiki: 3.15.0
|
||||
smol-toml: 1.5.2
|
||||
svgo: 4.0.0
|
||||
tinyexec: 1.0.2
|
||||
tinyglobby: 0.2.15
|
||||
tsconfck: 3.1.6(typescript@5.9.3)
|
||||
ultrahtml: 1.6.0
|
||||
unifont: 0.6.0
|
||||
unist-util-visit: 5.0.0
|
||||
unstorage: 1.17.3(@netlify/blobs@10.4.1)(ioredis@5.8.2)
|
||||
vfile: 6.0.3
|
||||
vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
vitefu: 1.1.1(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1))
|
||||
xxhash-wasm: 1.1.0
|
||||
yargs-parser: 21.1.1
|
||||
yocto-spinner: 0.2.3
|
||||
zod: 3.25.76
|
||||
zod-to-json-schema: 3.25.0(zod@3.25.76)
|
||||
zod-to-ts: 1.2.0(typescript@5.9.3)(zod@3.25.76)
|
||||
optionalDependencies:
|
||||
sharp: 0.34.5
|
||||
transitivePeerDependencies:
|
||||
- '@azure/app-configuration'
|
||||
- '@azure/cosmos'
|
||||
- '@azure/data-tables'
|
||||
- '@azure/identity'
|
||||
- '@azure/keyvault-secrets'
|
||||
- '@azure/storage-blob'
|
||||
- '@capacitor/preferences'
|
||||
- '@deno/kv'
|
||||
- '@netlify/blobs'
|
||||
- '@planetscale/database'
|
||||
- '@types/node'
|
||||
- '@upstash/redis'
|
||||
- '@vercel/blob'
|
||||
- '@vercel/functions'
|
||||
- '@vercel/kv'
|
||||
- aws4fetch
|
||||
- db0
|
||||
- idb-keyval
|
||||
- ioredis
|
||||
- jiti
|
||||
- less
|
||||
- lightningcss
|
||||
- rollup
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
- tsx
|
||||
- typescript
|
||||
- uploadthing
|
||||
- yaml
|
||||
|
||||
astro@5.16.0(@netlify/blobs@10.4.1)(@types/node@20.19.25)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.53.3)(terser@5.44.1)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1):
|
||||
dependencies:
|
||||
'@astrojs/compiler': 2.13.0
|
||||
|
|
@ -31706,11 +31604,6 @@ snapshots:
|
|||
optionalDependencies:
|
||||
source-map: 0.6.1
|
||||
|
||||
eslint-compat-utils@0.6.5(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
semver: 7.7.3
|
||||
|
||||
eslint-compat-utils@0.6.5(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
|
|
@ -31721,9 +31614,9 @@ snapshots:
|
|||
'@typescript-eslint/eslint-plugin': 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
|
||||
'@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-expo: 1.0.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-react: 7.37.5(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-react-hooks: 5.2.0(eslint@9.39.1(jiti@2.6.1))
|
||||
globals: 16.5.0
|
||||
|
|
@ -31738,9 +31631,9 @@ snapshots:
|
|||
'@typescript-eslint/eslint-plugin': 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3)
|
||||
'@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-expo: 0.1.4(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3)
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-react: 7.37.5(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-react-hooks: 5.2.0(eslint@9.39.1(jiti@2.6.1))
|
||||
globals: 16.5.0
|
||||
|
|
@ -31758,14 +31651,14 @@ snapshots:
|
|||
dependencies:
|
||||
eslint: 8.57.1
|
||||
|
||||
eslint-config-prettier@8.10.2(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
|
||||
eslint-config-prettier@8.10.2(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
|
||||
eslint-config-prettier@9.1.2(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
|
||||
eslint-config-prettier@9.1.2(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
|
|
@ -31790,17 +31683,17 @@ snapshots:
|
|||
- supports-color
|
||||
- typescript
|
||||
|
||||
eslint-config-universe@12.1.0(@types/eslint@9.6.1)(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)(typescript@5.3.3):
|
||||
eslint-config-universe@12.1.0(@types/eslint@9.6.1)(eslint@9.39.1(jiti@1.21.7))(prettier@3.6.2)(typescript@5.3.3):
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint-config-prettier: 8.10.2(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-node: 11.1.0(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-prettier: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.10.2(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2)
|
||||
eslint-plugin-react: 7.37.5(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-react-hooks: 4.6.2(eslint@9.39.1(jiti@2.6.1))
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
eslint-config-prettier: 8.10.2(eslint@9.39.1(jiti@1.21.7))
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint@9.39.1(jiti@1.21.7))
|
||||
eslint-plugin-node: 11.1.0(eslint@9.39.1(jiti@1.21.7))
|
||||
eslint-plugin-prettier: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.10.2(eslint@9.39.1(jiti@1.21.7)))(eslint@9.39.1(jiti@1.21.7))(prettier@3.6.2)
|
||||
eslint-plugin-react: 7.37.5(eslint@9.39.1(jiti@1.21.7))
|
||||
eslint-plugin-react-hooks: 4.6.2(eslint@9.39.1(jiti@1.21.7))
|
||||
optionalDependencies:
|
||||
prettier: 3.6.2
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -31838,7 +31731,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)):
|
||||
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
'@nolyfill/is-core-module': 1.0.39
|
||||
debug: 4.4.3
|
||||
|
|
@ -31849,22 +31742,7 @@ snapshots:
|
|||
tinyglobby: 0.2.15
|
||||
unrs-resolver: 1.11.1
|
||||
optionalDependencies:
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
'@nolyfill/is-core-module': 1.0.39
|
||||
debug: 4.4.3
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
get-tsconfig: 4.13.0
|
||||
is-bun-module: 2.0.0
|
||||
stable-hash: 0.0.5
|
||||
tinyglobby: 0.2.15
|
||||
unrs-resolver: 1.11.1
|
||||
optionalDependencies:
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
|
|
@ -31878,12 +31756,12 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@2.6.1)):
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
|
@ -31898,39 +31776,25 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)):
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)):
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-astro@1.5.0(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7))
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
'@typescript-eslint/types': 8.48.0
|
||||
astro-eslint-parser: 1.2.2
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@1.21.7))
|
||||
globals: 16.5.0
|
||||
postcss: 8.5.6
|
||||
postcss-selector-parser: 7.1.0
|
||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@2.6.1))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
|
|
@ -31954,6 +31818,12 @@ snapshots:
|
|||
eslint-utils: 2.1.0
|
||||
regexpp: 3.2.0
|
||||
|
||||
eslint-plugin-es@3.0.1(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
eslint-utils: 2.1.0
|
||||
regexpp: 3.2.0
|
||||
|
||||
eslint-plugin-es@3.0.1(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
|
|
@ -32007,7 +31877,7 @@ snapshots:
|
|||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint@9.39.1(jiti@2.6.1)):
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.9
|
||||
|
|
@ -32016,9 +31886,9 @@ snapshots:
|
|||
array.prototype.flatmap: 1.3.3
|
||||
debug: 3.2.7
|
||||
doctrine: 2.1.0
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1(jiti@1.21.7))
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
|
|
@ -32030,7 +31900,7 @@ snapshots:
|
|||
string.prototype.trimend: 1.0.9
|
||||
tsconfig-paths: 3.15.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
|
|
@ -32065,7 +31935,7 @@ snapshots:
|
|||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)):
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.9
|
||||
|
|
@ -32076,7 +31946,7 @@ snapshots:
|
|||
doctrine: 2.1.0
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1))
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
|
|
@ -32094,7 +31964,7 @@ snapshots:
|
|||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1)):
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.9
|
||||
|
|
@ -32105,7 +31975,7 @@ snapshots:
|
|||
doctrine: 2.1.0
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.1(jiti@2.6.1))
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
|
|
@ -32133,6 +32003,16 @@ snapshots:
|
|||
resolve: 1.22.11
|
||||
semver: 6.3.1
|
||||
|
||||
eslint-plugin-node@11.1.0(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
eslint-plugin-es: 3.0.1(eslint@9.39.1(jiti@1.21.7))
|
||||
eslint-utils: 2.1.0
|
||||
ignore: 5.3.2
|
||||
minimatch: 3.1.2
|
||||
resolve: 1.22.11
|
||||
semver: 6.3.1
|
||||
|
||||
eslint-plugin-node@11.1.0(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
|
|
@ -32163,6 +32043,16 @@ snapshots:
|
|||
'@types/eslint': 9.6.1
|
||||
eslint-config-prettier: 8.10.2(eslint@8.57.1)
|
||||
|
||||
eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.10.2(eslint@9.39.1(jiti@1.21.7)))(eslint@9.39.1(jiti@1.21.7))(prettier@3.6.2):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
prettier: 3.6.2
|
||||
prettier-linter-helpers: 1.0.0
|
||||
synckit: 0.11.11
|
||||
optionalDependencies:
|
||||
'@types/eslint': 9.6.1
|
||||
eslint-config-prettier: 8.10.2(eslint@9.39.1(jiti@1.21.7))
|
||||
|
||||
eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@8.10.2(eslint@9.39.1(jiti@2.6.1)))(eslint@9.39.1(jiti@2.6.1))(prettier@3.6.2):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
|
|
@ -32187,6 +32077,10 @@ snapshots:
|
|||
dependencies:
|
||||
eslint: 8.57.1
|
||||
|
||||
eslint-plugin-react-hooks@4.6.2(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
|
||||
eslint-plugin-react-hooks@4.6.2(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
eslint: 9.39.1(jiti@2.6.1)
|
||||
|
|
@ -32217,6 +32111,28 @@ snapshots:
|
|||
string.prototype.matchall: 4.0.12
|
||||
string.prototype.repeat: 1.0.0
|
||||
|
||||
eslint-plugin-react@7.37.5(eslint@9.39.1(jiti@1.21.7)):
|
||||
dependencies:
|
||||
array-includes: 3.1.9
|
||||
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
|
||||
eslint: 9.39.1(jiti@1.21.7)
|
||||
estraverse: 5.3.0
|
||||
hasown: 2.0.2
|
||||
jsx-ast-utils: 3.3.5
|
||||
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
|
||||
|
||||
eslint-plugin-react@7.37.5(eslint@9.39.1(jiti@2.6.1)):
|
||||
dependencies:
|
||||
array-includes: 3.1.9
|
||||
|
|
@ -33436,6 +33352,53 @@ snapshots:
|
|||
- supports-color
|
||||
optional: true
|
||||
|
||||
expo-router@6.0.15(jiucxy5ca3jdtbnulaxuc46jdq):
|
||||
dependencies:
|
||||
'@expo/metro-runtime': 6.1.2(expo@54.0.25)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
'@expo/schema-utils': 0.1.7
|
||||
'@radix-ui/react-slot': 1.2.0(@types/react@19.2.7)(react@19.1.0)
|
||||
'@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@react-navigation/bottom-tabs': 7.8.6(@react-navigation/native@7.1.21(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.2(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
'@react-navigation/native': 7.1.21(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
'@react-navigation/native-stack': 7.8.0(@react-navigation/native@7.1.21(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.2(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
client-only: 0.0.1
|
||||
debug: 4.4.3
|
||||
escape-string-regexp: 4.0.0
|
||||
expo: 54.0.25(@babel/core@7.28.5)(@expo/metro-runtime@6.1.2)(expo-router@6.0.15)(react-native-webview@13.12.2(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
expo-constants: 18.0.10(expo@54.0.25)(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))
|
||||
expo-linking: 8.0.9(expo@54.0.25)(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
expo-server: 1.0.4
|
||||
fast-deep-equal: 3.1.3
|
||||
invariant: 2.2.4
|
||||
nanoid: 3.3.11
|
||||
query-string: 7.1.3
|
||||
react: 19.1.0
|
||||
react-fast-compare: 3.2.2
|
||||
react-native: 0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0)
|
||||
react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
react-native-safe-area-context: 5.6.2(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
react-native-screens: 4.16.0(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
semver: 7.6.3
|
||||
server-only: 0.0.1
|
||||
sf-symbols-typescript: 2.1.0
|
||||
shallowequal: 1.1.0
|
||||
use-latest-callback: 0.2.6(react@19.1.0)
|
||||
vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
optionalDependencies:
|
||||
'@react-navigation/drawer': 7.7.4(@react-navigation/native@7.1.21(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-gesture-handler@2.28.0(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-reanimated@4.1.5(@babel/core@7.28.5)(react-native-worklets@0.6.1(@babel/core@7.28.5)(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.2(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
'@testing-library/react-native': 13.3.3(jest@30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0)))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react-test-renderer@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
react-dom: 19.1.0(react@19.1.0)
|
||||
react-native-gesture-handler: 2.28.0(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
react-native-reanimated: 4.1.5(@babel/core@7.28.5)(react-native-worklets@0.6.1(@babel/core@7.28.5)(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
react-native-web: 0.21.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
react-server-dom-webpack: 19.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(webpack@5.100.2(esbuild@0.27.0))
|
||||
transitivePeerDependencies:
|
||||
- '@react-native-masked-view/masked-view'
|
||||
- '@types/react'
|
||||
- '@types/react-dom'
|
||||
- supports-color
|
||||
optional: true
|
||||
|
||||
expo-router@6.0.15(nttrd3tw67nnyhowcwgdzipb5e):
|
||||
dependencies:
|
||||
'@expo/metro-runtime': 6.1.2(expo@54.0.25)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.2.7)(react@19.1.0))(react@19.1.0)
|
||||
|
|
@ -35625,6 +35588,26 @@ snapshots:
|
|||
- supports-color
|
||||
- ts-node
|
||||
|
||||
jest-cli@30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0)):
|
||||
dependencies:
|
||||
'@jest/core': 30.2.0(esbuild-register@3.6.0(esbuild@0.27.0))
|
||||
'@jest/test-result': 30.2.0
|
||||
'@jest/types': 30.2.0
|
||||
chalk: 4.1.2
|
||||
exit-x: 0.2.2
|
||||
import-local: 3.2.0
|
||||
jest-config: 30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0))
|
||||
jest-util: 30.2.0
|
||||
jest-validate: 30.2.0
|
||||
yargs: 17.7.2
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- babel-plugin-macros
|
||||
- esbuild-register
|
||||
- supports-color
|
||||
- ts-node
|
||||
optional: true
|
||||
|
||||
jest-cli@30.2.0(@types/node@22.19.1)(esbuild-register@3.6.0(esbuild@0.19.12))(ts-node@10.9.2(@types/node@22.19.1)(typescript@5.9.3)):
|
||||
dependencies:
|
||||
'@jest/core': 30.2.0(esbuild-register@3.6.0(esbuild@0.19.12))(ts-node@10.9.2(@types/node@22.19.1)(typescript@5.9.3))
|
||||
|
|
@ -35815,6 +35798,40 @@ snapshots:
|
|||
- babel-plugin-macros
|
||||
- supports-color
|
||||
|
||||
jest-config@30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0)):
|
||||
dependencies:
|
||||
'@babel/core': 7.28.5
|
||||
'@jest/get-type': 30.1.0
|
||||
'@jest/pattern': 30.0.1
|
||||
'@jest/test-sequencer': 30.2.0
|
||||
'@jest/types': 30.2.0
|
||||
babel-jest: 30.2.0(@babel/core@7.28.5)
|
||||
chalk: 4.1.2
|
||||
ci-info: 4.3.1
|
||||
deepmerge: 4.3.1
|
||||
glob: 10.5.0
|
||||
graceful-fs: 4.2.11
|
||||
jest-circus: 30.2.0
|
||||
jest-docblock: 30.2.0
|
||||
jest-environment-node: 30.2.0
|
||||
jest-regex-util: 30.0.1
|
||||
jest-resolve: 30.2.0
|
||||
jest-runner: 30.2.0
|
||||
jest-util: 30.2.0
|
||||
jest-validate: 30.2.0
|
||||
micromatch: 4.0.8
|
||||
parse-json: 5.2.0
|
||||
pretty-format: 30.2.0
|
||||
slash: 3.0.0
|
||||
strip-json-comments: 3.1.1
|
||||
optionalDependencies:
|
||||
'@types/node': 20.19.25
|
||||
esbuild-register: 3.6.0(esbuild@0.27.0)
|
||||
transitivePeerDependencies:
|
||||
- babel-plugin-macros
|
||||
- supports-color
|
||||
optional: true
|
||||
|
||||
jest-config@30.2.0(@types/node@22.19.1)(esbuild-register@3.6.0(esbuild@0.19.12))(ts-node@10.9.2(@types/node@22.19.1)(typescript@5.9.3)):
|
||||
dependencies:
|
||||
'@babel/core': 7.28.5
|
||||
|
|
@ -36505,6 +36522,20 @@ snapshots:
|
|||
- supports-color
|
||||
- ts-node
|
||||
|
||||
jest@30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0)):
|
||||
dependencies:
|
||||
'@jest/core': 30.2.0(esbuild-register@3.6.0(esbuild@0.27.0))
|
||||
'@jest/types': 30.2.0
|
||||
import-local: 3.2.0
|
||||
jest-cli: 30.2.0(@types/node@20.19.25)(esbuild-register@3.6.0(esbuild@0.27.0))
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- babel-plugin-macros
|
||||
- esbuild-register
|
||||
- supports-color
|
||||
- ts-node
|
||||
optional: true
|
||||
|
||||
jest@30.2.0(@types/node@22.19.1)(esbuild-register@3.6.0(esbuild@0.19.12))(ts-node@10.9.2(@types/node@22.19.1)(typescript@5.9.3)):
|
||||
dependencies:
|
||||
'@jest/core': 30.2.0(esbuild-register@3.6.0(esbuild@0.19.12))(ts-node@10.9.2(@types/node@22.19.1)(typescript@5.9.3))
|
||||
|
|
@ -42703,23 +42734,6 @@ snapshots:
|
|||
lightningcss: 1.30.2
|
||||
terser: 5.44.1
|
||||
|
||||
vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1):
|
||||
dependencies:
|
||||
esbuild: 0.25.12
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
picomatch: 4.0.3
|
||||
postcss: 8.5.6
|
||||
rollup: 4.53.3
|
||||
tinyglobby: 0.2.15
|
||||
optionalDependencies:
|
||||
'@types/node': 20.19.25
|
||||
fsevents: 2.3.3
|
||||
jiti: 1.21.7
|
||||
lightningcss: 1.30.2
|
||||
terser: 5.44.1
|
||||
tsx: 4.20.6
|
||||
yaml: 2.8.1
|
||||
|
||||
vite@6.4.1(@types/node@20.19.25)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1):
|
||||
dependencies:
|
||||
esbuild: 0.25.12
|
||||
|
|
@ -42822,10 +42836,6 @@ snapshots:
|
|||
tsx: 4.20.6
|
||||
yaml: 2.8.1
|
||||
|
||||
vitefu@1.1.1(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1)):
|
||||
optionalDependencies:
|
||||
vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
|
||||
vitefu@1.1.1(vite@6.4.1(@types/node@20.19.25)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1)):
|
||||
optionalDependencies:
|
||||
vite: 6.4.1(@types/node@20.19.25)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.20.6)(yaml@2.8.1)
|
||||
|
|
|
|||
|
|
@ -92,10 +92,7 @@ const APP_CONFIGS = [
|
|||
PORT: (env) => env.CHAT_BACKEND_PORT || '3002',
|
||||
DEV_BYPASS_AUTH: () => 'true',
|
||||
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
|
||||
AZURE_OPENAI_ENDPOINT: (env) => env.AZURE_OPENAI_ENDPOINT,
|
||||
AZURE_OPENAI_API_KEY: (env) => env.AZURE_OPENAI_API_KEY,
|
||||
AZURE_OPENAI_API_VERSION: (env) => env.AZURE_OPENAI_API_VERSION,
|
||||
GOOGLE_GENAI_API_KEY: (env) => env.GOOGLE_GENAI_API_KEY,
|
||||
OPENROUTER_API_KEY: (env) => env.OPENROUTER_API_KEY,
|
||||
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
|
||||
DATABASE_URL: (env) => env.CHAT_DATABASE_URL,
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue