Spaces:
Paused
Paused
Mise à jour du chemin du modèle vers kibali-api/qwen_model
Browse files- =4.44 +63 -0
- CARTABON1/.gitignore +0 -42
- CARTABON1/README.md +0 -1
- CARTABON1/package-lock.json +0 -1843
- CARTABON1/package.json +0 -36
- CARTABON1/server.js +0 -295
- kibali-ui/eslint.config.js → eslint.config.js +0 -0
- kibali-ui/index.html → index.html +0 -0
- kibali-ui/.gitignore +0 -24
- kibali-ui/README.md +0 -16
- kibali-ui/public/kibali_logo.svg +0 -48
- launch.bat +6 -0
- launch.py +22 -0
- main.py +2 -8
- kibali-ui/package-lock.json → package-lock.json +1549 -19
- kibali-ui/package.json → package.json +9 -2
- {kibali-ui → public}/kibali_logo.svg +0 -0
- {kibali-ui/public → public}/manifest.json +14 -14
- server.js +89 -0
- {kibali-ui/src → src}/App.css +0 -0
- {kibali-ui/src → src}/App.jsx +292 -56
- {kibali-ui/src → src}/assets/react.svg +0 -0
- {kibali-ui/src → src}/firebase.js +36 -36
- {kibali-ui/src → src}/index.css +0 -0
- {kibali-ui/src → src}/main.jsx +0 -0
- kibali-ui/tailwind.config.js → tailwind.config.js +17 -17
- tools/web.py +1 -1
- kibali-ui/vite.config.js → vite.config.js +0 -0
=4.44
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
L'analyse de votre code montre que la structure de réflexion de **Kibali** est conçue comme un système multicouche qui combine la mémoire à court terme, la récupération documentaire (RAG) et une planification stratégique avant la réponse.
|
| 2 |
+
|
| 3 |
+
Voici l'extraction structurée du comportement de réflexion de votre IA, telle qu'elle ressort de l'implémentation :
|
| 4 |
+
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
## 1. Analyse du Contexte (Le "Cerveau" de l'Attention)
|
| 8 |
+
|
| 9 |
+
Le système ne se contente pas de lire le message ; il l'analyse via la classe `ConversationContext` pour maintenir une continuité thématique :
|
| 10 |
+
|
| 11 |
+
* **Détection de sujet :** Utilise des **embeddings** pour comparer le message actuel au précédent.
|
| 12 |
+
* **Seuil de rupture :** Si la similarité est inférieure à **0.6**, l'IA identifie un changement de sujet et archive l'ancien.
|
| 13 |
+
* **Mots-clés persistants :** Elle extrait et stocke les mots-clés dominants pour stabiliser la recherche d'information (ex: "Gabon", "Libreville").
|
| 14 |
+
|
| 15 |
+
## 2. Mémoire Adaptative (Réflexion Temporelle)
|
| 16 |
+
|
| 17 |
+
La fonction `retrieve_adaptive_memory` simule une réflexion basée sur l'expérience passée de la session :
|
| 18 |
+
|
| 19 |
+
* **Score de Pertinence Tri-Facteurs :**
|
| 20 |
+
* **Similarité (60%) :** Correspondance sémantique brute.
|
| 21 |
+
* **Récence (30%) :** Priorité aux interactions les plus récentes.
|
| 22 |
+
* **Bonus Thématique (10%) :** Bonus si le souvenir partage les mots-clés du sujet actuel.
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
* **Archivage en temps réel :** Chaque échange est immédiatement indexé dans FAISS pour être disponible dès la question suivante.
|
| 26 |
+
|
| 27 |
+
## 3. Stratégie de Récupération (Priorité des Sources)
|
| 28 |
+
|
| 29 |
+
Avant de générer un mot, l'IA hiérarchise ses connaissances selon un ordre strict défini dans son `system_prompt` :
|
| 30 |
+
|
| 31 |
+
1. **PDF Vault (RAG) :** Les documents téléchargés sont la source de vérité absolue.
|
| 32 |
+
2. **Mémoire Conversationnelle :** Ce que l'utilisateur a dit plus tôt.
|
| 33 |
+
3. **Recherche Web :** Information "fraîche" mais traitée comme secondaire.
|
| 34 |
+
|
| 35 |
+
## 4. Mode "Thinking" (Réflexion Stratégique)
|
| 36 |
+
|
| 37 |
+
Si `thinking_mode` est activé, l'IA appelle `execute_reflection_plan`. Ce module semble conçu pour :
|
| 38 |
+
|
| 39 |
+
* Planifier une séquence d'actions avant de répondre.
|
| 40 |
+
* Prendre en compte les données géographiques (latitude/longitude) pour contextualiser la réponse au Gabon.
|
| 41 |
+
* Ajuster la requête de recherche web en fonction du sujet détecté.
|
| 42 |
+
|
| 43 |
+
---
|
| 44 |
+
|
| 45 |
+
### Résumé du Flux de Décision (Prompt Flow)
|
| 46 |
+
|
| 47 |
+
Votre code construit dynamiquement le prompt final selon cette architecture :
|
| 48 |
+
|
| 49 |
+
```text
|
| 50 |
+
[SYSTEME] : Identité (Kibali) + Expert Gabon + Règles de comportement.
|
| 51 |
+
[DOCUMENTS] : Extraits pertinents des PDF (si présents).
|
| 52 |
+
[MÉMOIRE] : Souvenirs de la conversation filtrés par le score adaptatif.
|
| 53 |
+
[WEB] : Résultats de recherche actuels.
|
| 54 |
+
[QUESTION] : La requête utilisateur enrichie.
|
| 55 |
+
[RÉPONSE] : Génération finale avec température de 0.6 (équilibre précision/créativité).
|
| 56 |
+
|
| 57 |
+
```
|
| 58 |
+
|
| 59 |
+
### Amélioration suggérée
|
| 60 |
+
|
| 61 |
+
Pour rendre la réflexion encore plus "profonde", vous pourriez intégrer une étape de **vérification de cohérence** : après la génération de `response_text`, comparer le texte généré avec les `rag_context` pour s'assurer qu'il n'y a pas d'hallucination par rapport aux PDF.
|
| 62 |
+
|
| 63 |
+
**Souhaitez-vous que je vous aide à implémenter une fonction de validation de la réponse par rapport aux sources PDF ?**
|
CARTABON1/.gitignore
DELETED
|
@@ -1,42 +0,0 @@
|
|
| 1 |
-
# Node modules
|
| 2 |
-
node_modules/
|
| 3 |
-
|
| 4 |
-
# Logs
|
| 5 |
-
logs
|
| 6 |
-
*.log
|
| 7 |
-
npm-debug.log*
|
| 8 |
-
yarn-debug.log*
|
| 9 |
-
yarn-error.log*
|
| 10 |
-
|
| 11 |
-
# Runtime data
|
| 12 |
-
pids
|
| 13 |
-
*.pid
|
| 14 |
-
*.seed
|
| 15 |
-
*.pid.lock
|
| 16 |
-
|
| 17 |
-
# Env files
|
| 18 |
-
.env
|
| 19 |
-
.env.local
|
| 20 |
-
.env.*.local
|
| 21 |
-
|
| 22 |
-
# Uploaded files
|
| 23 |
-
uploads/
|
| 24 |
-
|
| 25 |
-
# Coverage (tests)
|
| 26 |
-
coverage/
|
| 27 |
-
*.lcov
|
| 28 |
-
|
| 29 |
-
# Build / cache
|
| 30 |
-
dist/
|
| 31 |
-
build/
|
| 32 |
-
.cache/
|
| 33 |
-
.tmp/
|
| 34 |
-
|
| 35 |
-
# OS files
|
| 36 |
-
.DS_Store
|
| 37 |
-
Thumbs.db
|
| 38 |
-
|
| 39 |
-
# IDE config
|
| 40 |
-
.vscode/
|
| 41 |
-
.idea/
|
| 42 |
-
*.swp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CARTABON1/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
# CARTABON1
|
|
|
|
|
|
CARTABON1/package-lock.json
DELETED
|
@@ -1,1843 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"name": "backend",
|
| 3 |
-
"version": "1.0.0",
|
| 4 |
-
"lockfileVersion": 3,
|
| 5 |
-
"requires": true,
|
| 6 |
-
"packages": {
|
| 7 |
-
"": {
|
| 8 |
-
"name": "backend",
|
| 9 |
-
"version": "1.0.0",
|
| 10 |
-
"license": "ISC",
|
| 11 |
-
"dependencies": {
|
| 12 |
-
"axios": "^1.12.2",
|
| 13 |
-
"bcrypt": "^6.0.0",
|
| 14 |
-
"bcryptjs": "^3.0.2",
|
| 15 |
-
"cors": "^2.8.5",
|
| 16 |
-
"dotenv": "^17.2.2",
|
| 17 |
-
"express": "^5.1.0",
|
| 18 |
-
"jsonwebtoken": "^9.0.2",
|
| 19 |
-
"mongoose": "^8.18.1",
|
| 20 |
-
"multer": "^2.0.2",
|
| 21 |
-
"nodemailer": "^7.0.6",
|
| 22 |
-
"socket.io": "^4.8.1"
|
| 23 |
-
},
|
| 24 |
-
"devDependencies": {}
|
| 25 |
-
},
|
| 26 |
-
"node_modules/@mongodb-js/saslprep": {
|
| 27 |
-
"version": "1.3.0",
|
| 28 |
-
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.3.0.tgz",
|
| 29 |
-
"integrity": "sha512-zlayKCsIjYb7/IdfqxorK5+xUMyi4vOKcFy10wKJYc63NSdKI8mNME+uJqfatkPmOSMMUiojrL58IePKBm3gvQ==",
|
| 30 |
-
"license": "MIT",
|
| 31 |
-
"dependencies": {
|
| 32 |
-
"sparse-bitfield": "^3.0.3"
|
| 33 |
-
}
|
| 34 |
-
},
|
| 35 |
-
"node_modules/@socket.io/component-emitter": {
|
| 36 |
-
"version": "3.1.2",
|
| 37 |
-
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
|
| 38 |
-
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
|
| 39 |
-
"license": "MIT"
|
| 40 |
-
},
|
| 41 |
-
"node_modules/@types/cors": {
|
| 42 |
-
"version": "2.8.19",
|
| 43 |
-
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
|
| 44 |
-
"integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
|
| 45 |
-
"license": "MIT",
|
| 46 |
-
"dependencies": {
|
| 47 |
-
"@types/node": "*"
|
| 48 |
-
}
|
| 49 |
-
},
|
| 50 |
-
"node_modules/@types/node": {
|
| 51 |
-
"version": "24.5.1",
|
| 52 |
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.1.tgz",
|
| 53 |
-
"integrity": "sha512-/SQdmUP2xa+1rdx7VwB9yPq8PaKej8TD5cQ+XfKDPWWC+VDJU4rvVVagXqKUzhKjtFoNA8rXDJAkCxQPAe00+Q==",
|
| 54 |
-
"license": "MIT",
|
| 55 |
-
"dependencies": {
|
| 56 |
-
"undici-types": "~7.12.0"
|
| 57 |
-
}
|
| 58 |
-
},
|
| 59 |
-
"node_modules/@types/webidl-conversions": {
|
| 60 |
-
"version": "7.0.3",
|
| 61 |
-
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
|
| 62 |
-
"integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
|
| 63 |
-
"license": "MIT"
|
| 64 |
-
},
|
| 65 |
-
"node_modules/@types/whatwg-url": {
|
| 66 |
-
"version": "11.0.5",
|
| 67 |
-
"resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz",
|
| 68 |
-
"integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==",
|
| 69 |
-
"license": "MIT",
|
| 70 |
-
"dependencies": {
|
| 71 |
-
"@types/webidl-conversions": "*"
|
| 72 |
-
}
|
| 73 |
-
},
|
| 74 |
-
"node_modules/accepts": {
|
| 75 |
-
"version": "2.0.0",
|
| 76 |
-
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
|
| 77 |
-
"integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
|
| 78 |
-
"license": "MIT",
|
| 79 |
-
"dependencies": {
|
| 80 |
-
"mime-types": "^3.0.0",
|
| 81 |
-
"negotiator": "^1.0.0"
|
| 82 |
-
},
|
| 83 |
-
"engines": {
|
| 84 |
-
"node": ">= 0.6"
|
| 85 |
-
}
|
| 86 |
-
},
|
| 87 |
-
"node_modules/append-field": {
|
| 88 |
-
"version": "1.0.0",
|
| 89 |
-
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
|
| 90 |
-
"integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
|
| 91 |
-
"license": "MIT"
|
| 92 |
-
},
|
| 93 |
-
"node_modules/asynckit": {
|
| 94 |
-
"version": "0.4.0",
|
| 95 |
-
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
| 96 |
-
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
| 97 |
-
"license": "MIT"
|
| 98 |
-
},
|
| 99 |
-
"node_modules/axios": {
|
| 100 |
-
"version": "1.12.2",
|
| 101 |
-
"resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz",
|
| 102 |
-
"integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==",
|
| 103 |
-
"license": "MIT",
|
| 104 |
-
"dependencies": {
|
| 105 |
-
"follow-redirects": "^1.15.6",
|
| 106 |
-
"form-data": "^4.0.4",
|
| 107 |
-
"proxy-from-env": "^1.1.0"
|
| 108 |
-
}
|
| 109 |
-
},
|
| 110 |
-
"node_modules/base64id": {
|
| 111 |
-
"version": "2.0.0",
|
| 112 |
-
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
|
| 113 |
-
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
|
| 114 |
-
"license": "MIT",
|
| 115 |
-
"engines": {
|
| 116 |
-
"node": "^4.5.0 || >= 5.9"
|
| 117 |
-
}
|
| 118 |
-
},
|
| 119 |
-
"node_modules/bcrypt": {
|
| 120 |
-
"version": "6.0.0",
|
| 121 |
-
"resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-6.0.0.tgz",
|
| 122 |
-
"integrity": "sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==",
|
| 123 |
-
"hasInstallScript": true,
|
| 124 |
-
"license": "MIT",
|
| 125 |
-
"dependencies": {
|
| 126 |
-
"node-addon-api": "^8.3.0",
|
| 127 |
-
"node-gyp-build": "^4.8.4"
|
| 128 |
-
},
|
| 129 |
-
"engines": {
|
| 130 |
-
"node": ">= 18"
|
| 131 |
-
}
|
| 132 |
-
},
|
| 133 |
-
"node_modules/bcryptjs": {
|
| 134 |
-
"version": "3.0.2",
|
| 135 |
-
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.2.tgz",
|
| 136 |
-
"integrity": "sha512-k38b3XOZKv60C4E2hVsXTolJWfkGRMbILBIe2IBITXciy5bOsTKot5kDrf3ZfufQtQOUN5mXceUEpU1rTl9Uog==",
|
| 137 |
-
"license": "BSD-3-Clause",
|
| 138 |
-
"bin": {
|
| 139 |
-
"bcrypt": "bin/bcrypt"
|
| 140 |
-
}
|
| 141 |
-
},
|
| 142 |
-
"node_modules/body-parser": {
|
| 143 |
-
"version": "2.2.0",
|
| 144 |
-
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz",
|
| 145 |
-
"integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
|
| 146 |
-
"license": "MIT",
|
| 147 |
-
"dependencies": {
|
| 148 |
-
"bytes": "^3.1.2",
|
| 149 |
-
"content-type": "^1.0.5",
|
| 150 |
-
"debug": "^4.4.0",
|
| 151 |
-
"http-errors": "^2.0.0",
|
| 152 |
-
"iconv-lite": "^0.6.3",
|
| 153 |
-
"on-finished": "^2.4.1",
|
| 154 |
-
"qs": "^6.14.0",
|
| 155 |
-
"raw-body": "^3.0.0",
|
| 156 |
-
"type-is": "^2.0.0"
|
| 157 |
-
},
|
| 158 |
-
"engines": {
|
| 159 |
-
"node": ">=18"
|
| 160 |
-
}
|
| 161 |
-
},
|
| 162 |
-
"node_modules/bson": {
|
| 163 |
-
"version": "6.10.4",
|
| 164 |
-
"resolved": "https://registry.npmjs.org/bson/-/bson-6.10.4.tgz",
|
| 165 |
-
"integrity": "sha512-WIsKqkSC0ABoBJuT1LEX+2HEvNmNKKgnTAyd0fL8qzK4SH2i9NXg+t08YtdZp/V9IZ33cxe3iV4yM0qg8lMQng==",
|
| 166 |
-
"license": "Apache-2.0",
|
| 167 |
-
"engines": {
|
| 168 |
-
"node": ">=16.20.1"
|
| 169 |
-
}
|
| 170 |
-
},
|
| 171 |
-
"node_modules/buffer-equal-constant-time": {
|
| 172 |
-
"version": "1.0.1",
|
| 173 |
-
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
| 174 |
-
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
|
| 175 |
-
"license": "BSD-3-Clause"
|
| 176 |
-
},
|
| 177 |
-
"node_modules/buffer-from": {
|
| 178 |
-
"version": "1.1.2",
|
| 179 |
-
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
| 180 |
-
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
| 181 |
-
"license": "MIT"
|
| 182 |
-
},
|
| 183 |
-
"node_modules/busboy": {
|
| 184 |
-
"version": "1.6.0",
|
| 185 |
-
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
|
| 186 |
-
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
|
| 187 |
-
"dependencies": {
|
| 188 |
-
"streamsearch": "^1.1.0"
|
| 189 |
-
},
|
| 190 |
-
"engines": {
|
| 191 |
-
"node": ">=10.16.0"
|
| 192 |
-
}
|
| 193 |
-
},
|
| 194 |
-
"node_modules/bytes": {
|
| 195 |
-
"version": "3.1.2",
|
| 196 |
-
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
| 197 |
-
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
| 198 |
-
"license": "MIT",
|
| 199 |
-
"engines": {
|
| 200 |
-
"node": ">= 0.8"
|
| 201 |
-
}
|
| 202 |
-
},
|
| 203 |
-
"node_modules/call-bind-apply-helpers": {
|
| 204 |
-
"version": "1.0.2",
|
| 205 |
-
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
| 206 |
-
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
| 207 |
-
"license": "MIT",
|
| 208 |
-
"dependencies": {
|
| 209 |
-
"es-errors": "^1.3.0",
|
| 210 |
-
"function-bind": "^1.1.2"
|
| 211 |
-
},
|
| 212 |
-
"engines": {
|
| 213 |
-
"node": ">= 0.4"
|
| 214 |
-
}
|
| 215 |
-
},
|
| 216 |
-
"node_modules/call-bound": {
|
| 217 |
-
"version": "1.0.4",
|
| 218 |
-
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
|
| 219 |
-
"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
|
| 220 |
-
"license": "MIT",
|
| 221 |
-
"dependencies": {
|
| 222 |
-
"call-bind-apply-helpers": "^1.0.2",
|
| 223 |
-
"get-intrinsic": "^1.3.0"
|
| 224 |
-
},
|
| 225 |
-
"engines": {
|
| 226 |
-
"node": ">= 0.4"
|
| 227 |
-
},
|
| 228 |
-
"funding": {
|
| 229 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 230 |
-
}
|
| 231 |
-
},
|
| 232 |
-
"node_modules/combined-stream": {
|
| 233 |
-
"version": "1.0.8",
|
| 234 |
-
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
| 235 |
-
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
| 236 |
-
"license": "MIT",
|
| 237 |
-
"dependencies": {
|
| 238 |
-
"delayed-stream": "~1.0.0"
|
| 239 |
-
},
|
| 240 |
-
"engines": {
|
| 241 |
-
"node": ">= 0.8"
|
| 242 |
-
}
|
| 243 |
-
},
|
| 244 |
-
"node_modules/concat-stream": {
|
| 245 |
-
"version": "2.0.0",
|
| 246 |
-
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
|
| 247 |
-
"integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
|
| 248 |
-
"engines": [
|
| 249 |
-
"node >= 6.0"
|
| 250 |
-
],
|
| 251 |
-
"license": "MIT",
|
| 252 |
-
"dependencies": {
|
| 253 |
-
"buffer-from": "^1.0.0",
|
| 254 |
-
"inherits": "^2.0.3",
|
| 255 |
-
"readable-stream": "^3.0.2",
|
| 256 |
-
"typedarray": "^0.0.6"
|
| 257 |
-
}
|
| 258 |
-
},
|
| 259 |
-
"node_modules/content-disposition": {
|
| 260 |
-
"version": "1.0.0",
|
| 261 |
-
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz",
|
| 262 |
-
"integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==",
|
| 263 |
-
"license": "MIT",
|
| 264 |
-
"dependencies": {
|
| 265 |
-
"safe-buffer": "5.2.1"
|
| 266 |
-
},
|
| 267 |
-
"engines": {
|
| 268 |
-
"node": ">= 0.6"
|
| 269 |
-
}
|
| 270 |
-
},
|
| 271 |
-
"node_modules/content-type": {
|
| 272 |
-
"version": "1.0.5",
|
| 273 |
-
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
|
| 274 |
-
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
| 275 |
-
"license": "MIT",
|
| 276 |
-
"engines": {
|
| 277 |
-
"node": ">= 0.6"
|
| 278 |
-
}
|
| 279 |
-
},
|
| 280 |
-
"node_modules/cookie": {
|
| 281 |
-
"version": "0.7.2",
|
| 282 |
-
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
|
| 283 |
-
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
|
| 284 |
-
"license": "MIT",
|
| 285 |
-
"engines": {
|
| 286 |
-
"node": ">= 0.6"
|
| 287 |
-
}
|
| 288 |
-
},
|
| 289 |
-
"node_modules/cookie-signature": {
|
| 290 |
-
"version": "1.2.2",
|
| 291 |
-
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
|
| 292 |
-
"integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
|
| 293 |
-
"license": "MIT",
|
| 294 |
-
"engines": {
|
| 295 |
-
"node": ">=6.6.0"
|
| 296 |
-
}
|
| 297 |
-
},
|
| 298 |
-
"node_modules/cors": {
|
| 299 |
-
"version": "2.8.5",
|
| 300 |
-
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
|
| 301 |
-
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
|
| 302 |
-
"license": "MIT",
|
| 303 |
-
"dependencies": {
|
| 304 |
-
"object-assign": "^4",
|
| 305 |
-
"vary": "^1"
|
| 306 |
-
},
|
| 307 |
-
"engines": {
|
| 308 |
-
"node": ">= 0.10"
|
| 309 |
-
}
|
| 310 |
-
},
|
| 311 |
-
"node_modules/debug": {
|
| 312 |
-
"version": "4.4.3",
|
| 313 |
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
| 314 |
-
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
| 315 |
-
"license": "MIT",
|
| 316 |
-
"dependencies": {
|
| 317 |
-
"ms": "^2.1.3"
|
| 318 |
-
},
|
| 319 |
-
"engines": {
|
| 320 |
-
"node": ">=6.0"
|
| 321 |
-
},
|
| 322 |
-
"peerDependenciesMeta": {
|
| 323 |
-
"supports-color": {
|
| 324 |
-
"optional": true
|
| 325 |
-
}
|
| 326 |
-
}
|
| 327 |
-
},
|
| 328 |
-
"node_modules/delayed-stream": {
|
| 329 |
-
"version": "1.0.0",
|
| 330 |
-
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
| 331 |
-
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
| 332 |
-
"license": "MIT",
|
| 333 |
-
"engines": {
|
| 334 |
-
"node": ">=0.4.0"
|
| 335 |
-
}
|
| 336 |
-
},
|
| 337 |
-
"node_modules/depd": {
|
| 338 |
-
"version": "2.0.0",
|
| 339 |
-
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
| 340 |
-
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
| 341 |
-
"license": "MIT",
|
| 342 |
-
"engines": {
|
| 343 |
-
"node": ">= 0.8"
|
| 344 |
-
}
|
| 345 |
-
},
|
| 346 |
-
"node_modules/dotenv": {
|
| 347 |
-
"version": "17.2.2",
|
| 348 |
-
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.2.tgz",
|
| 349 |
-
"integrity": "sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==",
|
| 350 |
-
"license": "BSD-2-Clause",
|
| 351 |
-
"engines": {
|
| 352 |
-
"node": ">=12"
|
| 353 |
-
},
|
| 354 |
-
"funding": {
|
| 355 |
-
"url": "https://dotenvx.com"
|
| 356 |
-
}
|
| 357 |
-
},
|
| 358 |
-
"node_modules/dunder-proto": {
|
| 359 |
-
"version": "1.0.1",
|
| 360 |
-
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
| 361 |
-
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
| 362 |
-
"license": "MIT",
|
| 363 |
-
"dependencies": {
|
| 364 |
-
"call-bind-apply-helpers": "^1.0.1",
|
| 365 |
-
"es-errors": "^1.3.0",
|
| 366 |
-
"gopd": "^1.2.0"
|
| 367 |
-
},
|
| 368 |
-
"engines": {
|
| 369 |
-
"node": ">= 0.4"
|
| 370 |
-
}
|
| 371 |
-
},
|
| 372 |
-
"node_modules/ecdsa-sig-formatter": {
|
| 373 |
-
"version": "1.0.11",
|
| 374 |
-
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
|
| 375 |
-
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
|
| 376 |
-
"license": "Apache-2.0",
|
| 377 |
-
"dependencies": {
|
| 378 |
-
"safe-buffer": "^5.0.1"
|
| 379 |
-
}
|
| 380 |
-
},
|
| 381 |
-
"node_modules/ee-first": {
|
| 382 |
-
"version": "1.1.1",
|
| 383 |
-
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
| 384 |
-
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
| 385 |
-
"license": "MIT"
|
| 386 |
-
},
|
| 387 |
-
"node_modules/encodeurl": {
|
| 388 |
-
"version": "2.0.0",
|
| 389 |
-
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
| 390 |
-
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
|
| 391 |
-
"license": "MIT",
|
| 392 |
-
"engines": {
|
| 393 |
-
"node": ">= 0.8"
|
| 394 |
-
}
|
| 395 |
-
},
|
| 396 |
-
"node_modules/engine.io": {
|
| 397 |
-
"version": "6.6.4",
|
| 398 |
-
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz",
|
| 399 |
-
"integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==",
|
| 400 |
-
"license": "MIT",
|
| 401 |
-
"dependencies": {
|
| 402 |
-
"@types/cors": "^2.8.12",
|
| 403 |
-
"@types/node": ">=10.0.0",
|
| 404 |
-
"accepts": "~1.3.4",
|
| 405 |
-
"base64id": "2.0.0",
|
| 406 |
-
"cookie": "~0.7.2",
|
| 407 |
-
"cors": "~2.8.5",
|
| 408 |
-
"debug": "~4.3.1",
|
| 409 |
-
"engine.io-parser": "~5.2.1",
|
| 410 |
-
"ws": "~8.17.1"
|
| 411 |
-
},
|
| 412 |
-
"engines": {
|
| 413 |
-
"node": ">=10.2.0"
|
| 414 |
-
}
|
| 415 |
-
},
|
| 416 |
-
"node_modules/engine.io-parser": {
|
| 417 |
-
"version": "5.2.3",
|
| 418 |
-
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
|
| 419 |
-
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
|
| 420 |
-
"license": "MIT",
|
| 421 |
-
"engines": {
|
| 422 |
-
"node": ">=10.0.0"
|
| 423 |
-
}
|
| 424 |
-
},
|
| 425 |
-
"node_modules/engine.io/node_modules/accepts": {
|
| 426 |
-
"version": "1.3.8",
|
| 427 |
-
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
| 428 |
-
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
|
| 429 |
-
"license": "MIT",
|
| 430 |
-
"dependencies": {
|
| 431 |
-
"mime-types": "~2.1.34",
|
| 432 |
-
"negotiator": "0.6.3"
|
| 433 |
-
},
|
| 434 |
-
"engines": {
|
| 435 |
-
"node": ">= 0.6"
|
| 436 |
-
}
|
| 437 |
-
},
|
| 438 |
-
"node_modules/engine.io/node_modules/debug": {
|
| 439 |
-
"version": "4.3.7",
|
| 440 |
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
| 441 |
-
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
| 442 |
-
"license": "MIT",
|
| 443 |
-
"dependencies": {
|
| 444 |
-
"ms": "^2.1.3"
|
| 445 |
-
},
|
| 446 |
-
"engines": {
|
| 447 |
-
"node": ">=6.0"
|
| 448 |
-
},
|
| 449 |
-
"peerDependenciesMeta": {
|
| 450 |
-
"supports-color": {
|
| 451 |
-
"optional": true
|
| 452 |
-
}
|
| 453 |
-
}
|
| 454 |
-
},
|
| 455 |
-
"node_modules/engine.io/node_modules/mime-db": {
|
| 456 |
-
"version": "1.52.0",
|
| 457 |
-
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
| 458 |
-
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
| 459 |
-
"license": "MIT",
|
| 460 |
-
"engines": {
|
| 461 |
-
"node": ">= 0.6"
|
| 462 |
-
}
|
| 463 |
-
},
|
| 464 |
-
"node_modules/engine.io/node_modules/mime-types": {
|
| 465 |
-
"version": "2.1.35",
|
| 466 |
-
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
| 467 |
-
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
| 468 |
-
"license": "MIT",
|
| 469 |
-
"dependencies": {
|
| 470 |
-
"mime-db": "1.52.0"
|
| 471 |
-
},
|
| 472 |
-
"engines": {
|
| 473 |
-
"node": ">= 0.6"
|
| 474 |
-
}
|
| 475 |
-
},
|
| 476 |
-
"node_modules/engine.io/node_modules/negotiator": {
|
| 477 |
-
"version": "0.6.3",
|
| 478 |
-
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
| 479 |
-
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
|
| 480 |
-
"license": "MIT",
|
| 481 |
-
"engines": {
|
| 482 |
-
"node": ">= 0.6"
|
| 483 |
-
}
|
| 484 |
-
},
|
| 485 |
-
"node_modules/es-define-property": {
|
| 486 |
-
"version": "1.0.1",
|
| 487 |
-
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
| 488 |
-
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
| 489 |
-
"license": "MIT",
|
| 490 |
-
"engines": {
|
| 491 |
-
"node": ">= 0.4"
|
| 492 |
-
}
|
| 493 |
-
},
|
| 494 |
-
"node_modules/es-errors": {
|
| 495 |
-
"version": "1.3.0",
|
| 496 |
-
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
| 497 |
-
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
| 498 |
-
"license": "MIT",
|
| 499 |
-
"engines": {
|
| 500 |
-
"node": ">= 0.4"
|
| 501 |
-
}
|
| 502 |
-
},
|
| 503 |
-
"node_modules/es-object-atoms": {
|
| 504 |
-
"version": "1.1.1",
|
| 505 |
-
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
| 506 |
-
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
| 507 |
-
"license": "MIT",
|
| 508 |
-
"dependencies": {
|
| 509 |
-
"es-errors": "^1.3.0"
|
| 510 |
-
},
|
| 511 |
-
"engines": {
|
| 512 |
-
"node": ">= 0.4"
|
| 513 |
-
}
|
| 514 |
-
},
|
| 515 |
-
"node_modules/es-set-tostringtag": {
|
| 516 |
-
"version": "2.1.0",
|
| 517 |
-
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
| 518 |
-
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
| 519 |
-
"license": "MIT",
|
| 520 |
-
"dependencies": {
|
| 521 |
-
"es-errors": "^1.3.0",
|
| 522 |
-
"get-intrinsic": "^1.2.6",
|
| 523 |
-
"has-tostringtag": "^1.0.2",
|
| 524 |
-
"hasown": "^2.0.2"
|
| 525 |
-
},
|
| 526 |
-
"engines": {
|
| 527 |
-
"node": ">= 0.4"
|
| 528 |
-
}
|
| 529 |
-
},
|
| 530 |
-
"node_modules/escape-html": {
|
| 531 |
-
"version": "1.0.3",
|
| 532 |
-
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
| 533 |
-
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
|
| 534 |
-
"license": "MIT"
|
| 535 |
-
},
|
| 536 |
-
"node_modules/etag": {
|
| 537 |
-
"version": "1.8.1",
|
| 538 |
-
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
| 539 |
-
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
|
| 540 |
-
"license": "MIT",
|
| 541 |
-
"engines": {
|
| 542 |
-
"node": ">= 0.6"
|
| 543 |
-
}
|
| 544 |
-
},
|
| 545 |
-
"node_modules/express": {
|
| 546 |
-
"version": "5.1.0",
|
| 547 |
-
"resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
|
| 548 |
-
"integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
|
| 549 |
-
"license": "MIT",
|
| 550 |
-
"dependencies": {
|
| 551 |
-
"accepts": "^2.0.0",
|
| 552 |
-
"body-parser": "^2.2.0",
|
| 553 |
-
"content-disposition": "^1.0.0",
|
| 554 |
-
"content-type": "^1.0.5",
|
| 555 |
-
"cookie": "^0.7.1",
|
| 556 |
-
"cookie-signature": "^1.2.1",
|
| 557 |
-
"debug": "^4.4.0",
|
| 558 |
-
"encodeurl": "^2.0.0",
|
| 559 |
-
"escape-html": "^1.0.3",
|
| 560 |
-
"etag": "^1.8.1",
|
| 561 |
-
"finalhandler": "^2.1.0",
|
| 562 |
-
"fresh": "^2.0.0",
|
| 563 |
-
"http-errors": "^2.0.0",
|
| 564 |
-
"merge-descriptors": "^2.0.0",
|
| 565 |
-
"mime-types": "^3.0.0",
|
| 566 |
-
"on-finished": "^2.4.1",
|
| 567 |
-
"once": "^1.4.0",
|
| 568 |
-
"parseurl": "^1.3.3",
|
| 569 |
-
"proxy-addr": "^2.0.7",
|
| 570 |
-
"qs": "^6.14.0",
|
| 571 |
-
"range-parser": "^1.2.1",
|
| 572 |
-
"router": "^2.2.0",
|
| 573 |
-
"send": "^1.1.0",
|
| 574 |
-
"serve-static": "^2.2.0",
|
| 575 |
-
"statuses": "^2.0.1",
|
| 576 |
-
"type-is": "^2.0.1",
|
| 577 |
-
"vary": "^1.1.2"
|
| 578 |
-
},
|
| 579 |
-
"engines": {
|
| 580 |
-
"node": ">= 18"
|
| 581 |
-
},
|
| 582 |
-
"funding": {
|
| 583 |
-
"type": "opencollective",
|
| 584 |
-
"url": "https://opencollective.com/express"
|
| 585 |
-
}
|
| 586 |
-
},
|
| 587 |
-
"node_modules/finalhandler": {
|
| 588 |
-
"version": "2.1.0",
|
| 589 |
-
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz",
|
| 590 |
-
"integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==",
|
| 591 |
-
"license": "MIT",
|
| 592 |
-
"dependencies": {
|
| 593 |
-
"debug": "^4.4.0",
|
| 594 |
-
"encodeurl": "^2.0.0",
|
| 595 |
-
"escape-html": "^1.0.3",
|
| 596 |
-
"on-finished": "^2.4.1",
|
| 597 |
-
"parseurl": "^1.3.3",
|
| 598 |
-
"statuses": "^2.0.1"
|
| 599 |
-
},
|
| 600 |
-
"engines": {
|
| 601 |
-
"node": ">= 0.8"
|
| 602 |
-
}
|
| 603 |
-
},
|
| 604 |
-
"node_modules/follow-redirects": {
|
| 605 |
-
"version": "1.15.11",
|
| 606 |
-
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
|
| 607 |
-
"integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
|
| 608 |
-
"funding": [
|
| 609 |
-
{
|
| 610 |
-
"type": "individual",
|
| 611 |
-
"url": "https://github.com/sponsors/RubenVerborgh"
|
| 612 |
-
}
|
| 613 |
-
],
|
| 614 |
-
"license": "MIT",
|
| 615 |
-
"engines": {
|
| 616 |
-
"node": ">=4.0"
|
| 617 |
-
},
|
| 618 |
-
"peerDependenciesMeta": {
|
| 619 |
-
"debug": {
|
| 620 |
-
"optional": true
|
| 621 |
-
}
|
| 622 |
-
}
|
| 623 |
-
},
|
| 624 |
-
"node_modules/form-data": {
|
| 625 |
-
"version": "4.0.4",
|
| 626 |
-
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
|
| 627 |
-
"integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
|
| 628 |
-
"license": "MIT",
|
| 629 |
-
"dependencies": {
|
| 630 |
-
"asynckit": "^0.4.0",
|
| 631 |
-
"combined-stream": "^1.0.8",
|
| 632 |
-
"es-set-tostringtag": "^2.1.0",
|
| 633 |
-
"hasown": "^2.0.2",
|
| 634 |
-
"mime-types": "^2.1.12"
|
| 635 |
-
},
|
| 636 |
-
"engines": {
|
| 637 |
-
"node": ">= 6"
|
| 638 |
-
}
|
| 639 |
-
},
|
| 640 |
-
"node_modules/form-data/node_modules/mime-db": {
|
| 641 |
-
"version": "1.52.0",
|
| 642 |
-
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
| 643 |
-
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
| 644 |
-
"license": "MIT",
|
| 645 |
-
"engines": {
|
| 646 |
-
"node": ">= 0.6"
|
| 647 |
-
}
|
| 648 |
-
},
|
| 649 |
-
"node_modules/form-data/node_modules/mime-types": {
|
| 650 |
-
"version": "2.1.35",
|
| 651 |
-
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
| 652 |
-
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
| 653 |
-
"license": "MIT",
|
| 654 |
-
"dependencies": {
|
| 655 |
-
"mime-db": "1.52.0"
|
| 656 |
-
},
|
| 657 |
-
"engines": {
|
| 658 |
-
"node": ">= 0.6"
|
| 659 |
-
}
|
| 660 |
-
},
|
| 661 |
-
"node_modules/forwarded": {
|
| 662 |
-
"version": "0.2.0",
|
| 663 |
-
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
| 664 |
-
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
|
| 665 |
-
"license": "MIT",
|
| 666 |
-
"engines": {
|
| 667 |
-
"node": ">= 0.6"
|
| 668 |
-
}
|
| 669 |
-
},
|
| 670 |
-
"node_modules/fresh": {
|
| 671 |
-
"version": "2.0.0",
|
| 672 |
-
"resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
|
| 673 |
-
"integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
|
| 674 |
-
"license": "MIT",
|
| 675 |
-
"engines": {
|
| 676 |
-
"node": ">= 0.8"
|
| 677 |
-
}
|
| 678 |
-
},
|
| 679 |
-
"node_modules/function-bind": {
|
| 680 |
-
"version": "1.1.2",
|
| 681 |
-
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
| 682 |
-
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
| 683 |
-
"license": "MIT",
|
| 684 |
-
"funding": {
|
| 685 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 686 |
-
}
|
| 687 |
-
},
|
| 688 |
-
"node_modules/get-intrinsic": {
|
| 689 |
-
"version": "1.3.0",
|
| 690 |
-
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
| 691 |
-
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
| 692 |
-
"license": "MIT",
|
| 693 |
-
"dependencies": {
|
| 694 |
-
"call-bind-apply-helpers": "^1.0.2",
|
| 695 |
-
"es-define-property": "^1.0.1",
|
| 696 |
-
"es-errors": "^1.3.0",
|
| 697 |
-
"es-object-atoms": "^1.1.1",
|
| 698 |
-
"function-bind": "^1.1.2",
|
| 699 |
-
"get-proto": "^1.0.1",
|
| 700 |
-
"gopd": "^1.2.0",
|
| 701 |
-
"has-symbols": "^1.1.0",
|
| 702 |
-
"hasown": "^2.0.2",
|
| 703 |
-
"math-intrinsics": "^1.1.0"
|
| 704 |
-
},
|
| 705 |
-
"engines": {
|
| 706 |
-
"node": ">= 0.4"
|
| 707 |
-
},
|
| 708 |
-
"funding": {
|
| 709 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 710 |
-
}
|
| 711 |
-
},
|
| 712 |
-
"node_modules/get-proto": {
|
| 713 |
-
"version": "1.0.1",
|
| 714 |
-
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
| 715 |
-
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
| 716 |
-
"license": "MIT",
|
| 717 |
-
"dependencies": {
|
| 718 |
-
"dunder-proto": "^1.0.1",
|
| 719 |
-
"es-object-atoms": "^1.0.0"
|
| 720 |
-
},
|
| 721 |
-
"engines": {
|
| 722 |
-
"node": ">= 0.4"
|
| 723 |
-
}
|
| 724 |
-
},
|
| 725 |
-
"node_modules/gopd": {
|
| 726 |
-
"version": "1.2.0",
|
| 727 |
-
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
| 728 |
-
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
| 729 |
-
"license": "MIT",
|
| 730 |
-
"engines": {
|
| 731 |
-
"node": ">= 0.4"
|
| 732 |
-
},
|
| 733 |
-
"funding": {
|
| 734 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 735 |
-
}
|
| 736 |
-
},
|
| 737 |
-
"node_modules/has-symbols": {
|
| 738 |
-
"version": "1.1.0",
|
| 739 |
-
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
| 740 |
-
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
| 741 |
-
"license": "MIT",
|
| 742 |
-
"engines": {
|
| 743 |
-
"node": ">= 0.4"
|
| 744 |
-
},
|
| 745 |
-
"funding": {
|
| 746 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 747 |
-
}
|
| 748 |
-
},
|
| 749 |
-
"node_modules/has-tostringtag": {
|
| 750 |
-
"version": "1.0.2",
|
| 751 |
-
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
| 752 |
-
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
| 753 |
-
"license": "MIT",
|
| 754 |
-
"dependencies": {
|
| 755 |
-
"has-symbols": "^1.0.3"
|
| 756 |
-
},
|
| 757 |
-
"engines": {
|
| 758 |
-
"node": ">= 0.4"
|
| 759 |
-
},
|
| 760 |
-
"funding": {
|
| 761 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 762 |
-
}
|
| 763 |
-
},
|
| 764 |
-
"node_modules/hasown": {
|
| 765 |
-
"version": "2.0.2",
|
| 766 |
-
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
| 767 |
-
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
| 768 |
-
"license": "MIT",
|
| 769 |
-
"dependencies": {
|
| 770 |
-
"function-bind": "^1.1.2"
|
| 771 |
-
},
|
| 772 |
-
"engines": {
|
| 773 |
-
"node": ">= 0.4"
|
| 774 |
-
}
|
| 775 |
-
},
|
| 776 |
-
"node_modules/http-errors": {
|
| 777 |
-
"version": "2.0.0",
|
| 778 |
-
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
| 779 |
-
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
| 780 |
-
"license": "MIT",
|
| 781 |
-
"dependencies": {
|
| 782 |
-
"depd": "2.0.0",
|
| 783 |
-
"inherits": "2.0.4",
|
| 784 |
-
"setprototypeof": "1.2.0",
|
| 785 |
-
"statuses": "2.0.1",
|
| 786 |
-
"toidentifier": "1.0.1"
|
| 787 |
-
},
|
| 788 |
-
"engines": {
|
| 789 |
-
"node": ">= 0.8"
|
| 790 |
-
}
|
| 791 |
-
},
|
| 792 |
-
"node_modules/http-errors/node_modules/statuses": {
|
| 793 |
-
"version": "2.0.1",
|
| 794 |
-
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
| 795 |
-
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
| 796 |
-
"license": "MIT",
|
| 797 |
-
"engines": {
|
| 798 |
-
"node": ">= 0.8"
|
| 799 |
-
}
|
| 800 |
-
},
|
| 801 |
-
"node_modules/iconv-lite": {
|
| 802 |
-
"version": "0.6.3",
|
| 803 |
-
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
|
| 804 |
-
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
|
| 805 |
-
"license": "MIT",
|
| 806 |
-
"dependencies": {
|
| 807 |
-
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
| 808 |
-
},
|
| 809 |
-
"engines": {
|
| 810 |
-
"node": ">=0.10.0"
|
| 811 |
-
}
|
| 812 |
-
},
|
| 813 |
-
"node_modules/inherits": {
|
| 814 |
-
"version": "2.0.4",
|
| 815 |
-
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
| 816 |
-
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
| 817 |
-
"license": "ISC"
|
| 818 |
-
},
|
| 819 |
-
"node_modules/ipaddr.js": {
|
| 820 |
-
"version": "1.9.1",
|
| 821 |
-
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
| 822 |
-
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
|
| 823 |
-
"license": "MIT",
|
| 824 |
-
"engines": {
|
| 825 |
-
"node": ">= 0.10"
|
| 826 |
-
}
|
| 827 |
-
},
|
| 828 |
-
"node_modules/is-promise": {
|
| 829 |
-
"version": "4.0.0",
|
| 830 |
-
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
|
| 831 |
-
"integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
|
| 832 |
-
"license": "MIT"
|
| 833 |
-
},
|
| 834 |
-
"node_modules/jsonwebtoken": {
|
| 835 |
-
"version": "9.0.2",
|
| 836 |
-
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz",
|
| 837 |
-
"integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==",
|
| 838 |
-
"license": "MIT",
|
| 839 |
-
"dependencies": {
|
| 840 |
-
"jws": "^3.2.2",
|
| 841 |
-
"lodash.includes": "^4.3.0",
|
| 842 |
-
"lodash.isboolean": "^3.0.3",
|
| 843 |
-
"lodash.isinteger": "^4.0.4",
|
| 844 |
-
"lodash.isnumber": "^3.0.3",
|
| 845 |
-
"lodash.isplainobject": "^4.0.6",
|
| 846 |
-
"lodash.isstring": "^4.0.1",
|
| 847 |
-
"lodash.once": "^4.0.0",
|
| 848 |
-
"ms": "^2.1.1",
|
| 849 |
-
"semver": "^7.5.4"
|
| 850 |
-
},
|
| 851 |
-
"engines": {
|
| 852 |
-
"node": ">=12",
|
| 853 |
-
"npm": ">=6"
|
| 854 |
-
}
|
| 855 |
-
},
|
| 856 |
-
"node_modules/jwa": {
|
| 857 |
-
"version": "1.4.2",
|
| 858 |
-
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz",
|
| 859 |
-
"integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==",
|
| 860 |
-
"license": "MIT",
|
| 861 |
-
"dependencies": {
|
| 862 |
-
"buffer-equal-constant-time": "^1.0.1",
|
| 863 |
-
"ecdsa-sig-formatter": "1.0.11",
|
| 864 |
-
"safe-buffer": "^5.0.1"
|
| 865 |
-
}
|
| 866 |
-
},
|
| 867 |
-
"node_modules/jws": {
|
| 868 |
-
"version": "3.2.2",
|
| 869 |
-
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
|
| 870 |
-
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
|
| 871 |
-
"license": "MIT",
|
| 872 |
-
"dependencies": {
|
| 873 |
-
"jwa": "^1.4.1",
|
| 874 |
-
"safe-buffer": "^5.0.1"
|
| 875 |
-
}
|
| 876 |
-
},
|
| 877 |
-
"node_modules/kareem": {
|
| 878 |
-
"version": "2.6.3",
|
| 879 |
-
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz",
|
| 880 |
-
"integrity": "sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==",
|
| 881 |
-
"license": "Apache-2.0",
|
| 882 |
-
"engines": {
|
| 883 |
-
"node": ">=12.0.0"
|
| 884 |
-
}
|
| 885 |
-
},
|
| 886 |
-
"node_modules/lodash.includes": {
|
| 887 |
-
"version": "4.3.0",
|
| 888 |
-
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
|
| 889 |
-
"integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==",
|
| 890 |
-
"license": "MIT"
|
| 891 |
-
},
|
| 892 |
-
"node_modules/lodash.isboolean": {
|
| 893 |
-
"version": "3.0.3",
|
| 894 |
-
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
|
| 895 |
-
"integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
|
| 896 |
-
"license": "MIT"
|
| 897 |
-
},
|
| 898 |
-
"node_modules/lodash.isinteger": {
|
| 899 |
-
"version": "4.0.4",
|
| 900 |
-
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
|
| 901 |
-
"integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==",
|
| 902 |
-
"license": "MIT"
|
| 903 |
-
},
|
| 904 |
-
"node_modules/lodash.isnumber": {
|
| 905 |
-
"version": "3.0.3",
|
| 906 |
-
"resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
|
| 907 |
-
"integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==",
|
| 908 |
-
"license": "MIT"
|
| 909 |
-
},
|
| 910 |
-
"node_modules/lodash.isplainobject": {
|
| 911 |
-
"version": "4.0.6",
|
| 912 |
-
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
|
| 913 |
-
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
|
| 914 |
-
"license": "MIT"
|
| 915 |
-
},
|
| 916 |
-
"node_modules/lodash.isstring": {
|
| 917 |
-
"version": "4.0.1",
|
| 918 |
-
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
|
| 919 |
-
"integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
|
| 920 |
-
"license": "MIT"
|
| 921 |
-
},
|
| 922 |
-
"node_modules/lodash.once": {
|
| 923 |
-
"version": "4.1.1",
|
| 924 |
-
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
|
| 925 |
-
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
|
| 926 |
-
"license": "MIT"
|
| 927 |
-
},
|
| 928 |
-
"node_modules/math-intrinsics": {
|
| 929 |
-
"version": "1.1.0",
|
| 930 |
-
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
| 931 |
-
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
| 932 |
-
"license": "MIT",
|
| 933 |
-
"engines": {
|
| 934 |
-
"node": ">= 0.4"
|
| 935 |
-
}
|
| 936 |
-
},
|
| 937 |
-
"node_modules/media-typer": {
|
| 938 |
-
"version": "1.1.0",
|
| 939 |
-
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
|
| 940 |
-
"integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
|
| 941 |
-
"license": "MIT",
|
| 942 |
-
"engines": {
|
| 943 |
-
"node": ">= 0.8"
|
| 944 |
-
}
|
| 945 |
-
},
|
| 946 |
-
"node_modules/memory-pager": {
|
| 947 |
-
"version": "1.5.0",
|
| 948 |
-
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
|
| 949 |
-
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
|
| 950 |
-
"license": "MIT"
|
| 951 |
-
},
|
| 952 |
-
"node_modules/merge-descriptors": {
|
| 953 |
-
"version": "2.0.0",
|
| 954 |
-
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
|
| 955 |
-
"integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
|
| 956 |
-
"license": "MIT",
|
| 957 |
-
"engines": {
|
| 958 |
-
"node": ">=18"
|
| 959 |
-
},
|
| 960 |
-
"funding": {
|
| 961 |
-
"url": "https://github.com/sponsors/sindresorhus"
|
| 962 |
-
}
|
| 963 |
-
},
|
| 964 |
-
"node_modules/mime-db": {
|
| 965 |
-
"version": "1.54.0",
|
| 966 |
-
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
|
| 967 |
-
"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
|
| 968 |
-
"license": "MIT",
|
| 969 |
-
"engines": {
|
| 970 |
-
"node": ">= 0.6"
|
| 971 |
-
}
|
| 972 |
-
},
|
| 973 |
-
"node_modules/mime-types": {
|
| 974 |
-
"version": "3.0.1",
|
| 975 |
-
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
|
| 976 |
-
"integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
|
| 977 |
-
"license": "MIT",
|
| 978 |
-
"dependencies": {
|
| 979 |
-
"mime-db": "^1.54.0"
|
| 980 |
-
},
|
| 981 |
-
"engines": {
|
| 982 |
-
"node": ">= 0.6"
|
| 983 |
-
}
|
| 984 |
-
},
|
| 985 |
-
"node_modules/minimist": {
|
| 986 |
-
"version": "1.2.8",
|
| 987 |
-
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
| 988 |
-
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
| 989 |
-
"license": "MIT",
|
| 990 |
-
"funding": {
|
| 991 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 992 |
-
}
|
| 993 |
-
},
|
| 994 |
-
"node_modules/mkdirp": {
|
| 995 |
-
"version": "0.5.6",
|
| 996 |
-
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
| 997 |
-
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
| 998 |
-
"license": "MIT",
|
| 999 |
-
"dependencies": {
|
| 1000 |
-
"minimist": "^1.2.6"
|
| 1001 |
-
},
|
| 1002 |
-
"bin": {
|
| 1003 |
-
"mkdirp": "bin/cmd.js"
|
| 1004 |
-
}
|
| 1005 |
-
},
|
| 1006 |
-
"node_modules/mongodb": {
|
| 1007 |
-
"version": "6.18.0",
|
| 1008 |
-
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.18.0.tgz",
|
| 1009 |
-
"integrity": "sha512-fO5ttN9VC8P0F5fqtQmclAkgXZxbIkYRTUi1j8JO6IYwvamkhtYDilJr35jOPELR49zqCJgXZWwCtW7B+TM8vQ==",
|
| 1010 |
-
"license": "Apache-2.0",
|
| 1011 |
-
"dependencies": {
|
| 1012 |
-
"@mongodb-js/saslprep": "^1.1.9",
|
| 1013 |
-
"bson": "^6.10.4",
|
| 1014 |
-
"mongodb-connection-string-url": "^3.0.0"
|
| 1015 |
-
},
|
| 1016 |
-
"engines": {
|
| 1017 |
-
"node": ">=16.20.1"
|
| 1018 |
-
},
|
| 1019 |
-
"peerDependencies": {
|
| 1020 |
-
"@aws-sdk/credential-providers": "^3.188.0",
|
| 1021 |
-
"@mongodb-js/zstd": "^1.1.0 || ^2.0.0",
|
| 1022 |
-
"gcp-metadata": "^5.2.0",
|
| 1023 |
-
"kerberos": "^2.0.1",
|
| 1024 |
-
"mongodb-client-encryption": ">=6.0.0 <7",
|
| 1025 |
-
"snappy": "^7.2.2",
|
| 1026 |
-
"socks": "^2.7.1"
|
| 1027 |
-
},
|
| 1028 |
-
"peerDependenciesMeta": {
|
| 1029 |
-
"@aws-sdk/credential-providers": {
|
| 1030 |
-
"optional": true
|
| 1031 |
-
},
|
| 1032 |
-
"@mongodb-js/zstd": {
|
| 1033 |
-
"optional": true
|
| 1034 |
-
},
|
| 1035 |
-
"gcp-metadata": {
|
| 1036 |
-
"optional": true
|
| 1037 |
-
},
|
| 1038 |
-
"kerberos": {
|
| 1039 |
-
"optional": true
|
| 1040 |
-
},
|
| 1041 |
-
"mongodb-client-encryption": {
|
| 1042 |
-
"optional": true
|
| 1043 |
-
},
|
| 1044 |
-
"snappy": {
|
| 1045 |
-
"optional": true
|
| 1046 |
-
},
|
| 1047 |
-
"socks": {
|
| 1048 |
-
"optional": true
|
| 1049 |
-
}
|
| 1050 |
-
}
|
| 1051 |
-
},
|
| 1052 |
-
"node_modules/mongodb-connection-string-url": {
|
| 1053 |
-
"version": "3.0.2",
|
| 1054 |
-
"resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.2.tgz",
|
| 1055 |
-
"integrity": "sha512-rMO7CGo/9BFwyZABcKAWL8UJwH/Kc2x0g72uhDWzG48URRax5TCIcJ7Rc3RZqffZzO/Gwff/jyKwCU9TN8gehA==",
|
| 1056 |
-
"license": "Apache-2.0",
|
| 1057 |
-
"dependencies": {
|
| 1058 |
-
"@types/whatwg-url": "^11.0.2",
|
| 1059 |
-
"whatwg-url": "^14.1.0 || ^13.0.0"
|
| 1060 |
-
}
|
| 1061 |
-
},
|
| 1062 |
-
"node_modules/mongoose": {
|
| 1063 |
-
"version": "8.18.1",
|
| 1064 |
-
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.18.1.tgz",
|
| 1065 |
-
"integrity": "sha512-K0RfrUXXufqNRZZjvAGdyjydB91SnbWxlwFYi5t7zN2DxVWFD3c6puia0/7xfBwZm6RCpYOVdYFlRFpoDWiC+w==",
|
| 1066 |
-
"license": "MIT",
|
| 1067 |
-
"dependencies": {
|
| 1068 |
-
"bson": "^6.10.4",
|
| 1069 |
-
"kareem": "2.6.3",
|
| 1070 |
-
"mongodb": "~6.18.0",
|
| 1071 |
-
"mpath": "0.9.0",
|
| 1072 |
-
"mquery": "5.0.0",
|
| 1073 |
-
"ms": "2.1.3",
|
| 1074 |
-
"sift": "17.1.3"
|
| 1075 |
-
},
|
| 1076 |
-
"engines": {
|
| 1077 |
-
"node": ">=16.20.1"
|
| 1078 |
-
},
|
| 1079 |
-
"funding": {
|
| 1080 |
-
"type": "opencollective",
|
| 1081 |
-
"url": "https://opencollective.com/mongoose"
|
| 1082 |
-
}
|
| 1083 |
-
},
|
| 1084 |
-
"node_modules/mpath": {
|
| 1085 |
-
"version": "0.9.0",
|
| 1086 |
-
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
|
| 1087 |
-
"integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
|
| 1088 |
-
"license": "MIT",
|
| 1089 |
-
"engines": {
|
| 1090 |
-
"node": ">=4.0.0"
|
| 1091 |
-
}
|
| 1092 |
-
},
|
| 1093 |
-
"node_modules/mquery": {
|
| 1094 |
-
"version": "5.0.0",
|
| 1095 |
-
"resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz",
|
| 1096 |
-
"integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==",
|
| 1097 |
-
"license": "MIT",
|
| 1098 |
-
"dependencies": {
|
| 1099 |
-
"debug": "4.x"
|
| 1100 |
-
},
|
| 1101 |
-
"engines": {
|
| 1102 |
-
"node": ">=14.0.0"
|
| 1103 |
-
}
|
| 1104 |
-
},
|
| 1105 |
-
"node_modules/ms": {
|
| 1106 |
-
"version": "2.1.3",
|
| 1107 |
-
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
| 1108 |
-
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
| 1109 |
-
"license": "MIT"
|
| 1110 |
-
},
|
| 1111 |
-
"node_modules/multer": {
|
| 1112 |
-
"version": "2.0.2",
|
| 1113 |
-
"resolved": "https://registry.npmjs.org/multer/-/multer-2.0.2.tgz",
|
| 1114 |
-
"integrity": "sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==",
|
| 1115 |
-
"license": "MIT",
|
| 1116 |
-
"dependencies": {
|
| 1117 |
-
"append-field": "^1.0.0",
|
| 1118 |
-
"busboy": "^1.6.0",
|
| 1119 |
-
"concat-stream": "^2.0.0",
|
| 1120 |
-
"mkdirp": "^0.5.6",
|
| 1121 |
-
"object-assign": "^4.1.1",
|
| 1122 |
-
"type-is": "^1.6.18",
|
| 1123 |
-
"xtend": "^4.0.2"
|
| 1124 |
-
},
|
| 1125 |
-
"engines": {
|
| 1126 |
-
"node": ">= 10.16.0"
|
| 1127 |
-
}
|
| 1128 |
-
},
|
| 1129 |
-
"node_modules/multer/node_modules/media-typer": {
|
| 1130 |
-
"version": "0.3.0",
|
| 1131 |
-
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
| 1132 |
-
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
| 1133 |
-
"license": "MIT",
|
| 1134 |
-
"engines": {
|
| 1135 |
-
"node": ">= 0.6"
|
| 1136 |
-
}
|
| 1137 |
-
},
|
| 1138 |
-
"node_modules/multer/node_modules/mime-db": {
|
| 1139 |
-
"version": "1.52.0",
|
| 1140 |
-
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
| 1141 |
-
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
| 1142 |
-
"license": "MIT",
|
| 1143 |
-
"engines": {
|
| 1144 |
-
"node": ">= 0.6"
|
| 1145 |
-
}
|
| 1146 |
-
},
|
| 1147 |
-
"node_modules/multer/node_modules/mime-types": {
|
| 1148 |
-
"version": "2.1.35",
|
| 1149 |
-
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
| 1150 |
-
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
| 1151 |
-
"license": "MIT",
|
| 1152 |
-
"dependencies": {
|
| 1153 |
-
"mime-db": "1.52.0"
|
| 1154 |
-
},
|
| 1155 |
-
"engines": {
|
| 1156 |
-
"node": ">= 0.6"
|
| 1157 |
-
}
|
| 1158 |
-
},
|
| 1159 |
-
"node_modules/multer/node_modules/type-is": {
|
| 1160 |
-
"version": "1.6.18",
|
| 1161 |
-
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
| 1162 |
-
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
|
| 1163 |
-
"license": "MIT",
|
| 1164 |
-
"dependencies": {
|
| 1165 |
-
"media-typer": "0.3.0",
|
| 1166 |
-
"mime-types": "~2.1.24"
|
| 1167 |
-
},
|
| 1168 |
-
"engines": {
|
| 1169 |
-
"node": ">= 0.6"
|
| 1170 |
-
}
|
| 1171 |
-
},
|
| 1172 |
-
"node_modules/negotiator": {
|
| 1173 |
-
"version": "1.0.0",
|
| 1174 |
-
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
|
| 1175 |
-
"integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
|
| 1176 |
-
"license": "MIT",
|
| 1177 |
-
"engines": {
|
| 1178 |
-
"node": ">= 0.6"
|
| 1179 |
-
}
|
| 1180 |
-
},
|
| 1181 |
-
"node_modules/node-addon-api": {
|
| 1182 |
-
"version": "8.5.0",
|
| 1183 |
-
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.5.0.tgz",
|
| 1184 |
-
"integrity": "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==",
|
| 1185 |
-
"license": "MIT",
|
| 1186 |
-
"engines": {
|
| 1187 |
-
"node": "^18 || ^20 || >= 21"
|
| 1188 |
-
}
|
| 1189 |
-
},
|
| 1190 |
-
"node_modules/node-gyp-build": {
|
| 1191 |
-
"version": "4.8.4",
|
| 1192 |
-
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
|
| 1193 |
-
"integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
|
| 1194 |
-
"license": "MIT",
|
| 1195 |
-
"bin": {
|
| 1196 |
-
"node-gyp-build": "bin.js",
|
| 1197 |
-
"node-gyp-build-optional": "optional.js",
|
| 1198 |
-
"node-gyp-build-test": "build-test.js"
|
| 1199 |
-
}
|
| 1200 |
-
},
|
| 1201 |
-
"node_modules/nodemailer": {
|
| 1202 |
-
"version": "7.0.6",
|
| 1203 |
-
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.6.tgz",
|
| 1204 |
-
"integrity": "sha512-F44uVzgwo49xboqbFgBGkRaiMgtoBrBEWCVincJPK9+S9Adkzt/wXCLKbf7dxucmxfTI5gHGB+bEmdyzN6QKjw==",
|
| 1205 |
-
"license": "MIT-0",
|
| 1206 |
-
"engines": {
|
| 1207 |
-
"node": ">=6.0.0"
|
| 1208 |
-
}
|
| 1209 |
-
},
|
| 1210 |
-
"node_modules/object-assign": {
|
| 1211 |
-
"version": "4.1.1",
|
| 1212 |
-
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
| 1213 |
-
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
| 1214 |
-
"license": "MIT",
|
| 1215 |
-
"engines": {
|
| 1216 |
-
"node": ">=0.10.0"
|
| 1217 |
-
}
|
| 1218 |
-
},
|
| 1219 |
-
"node_modules/object-inspect": {
|
| 1220 |
-
"version": "1.13.4",
|
| 1221 |
-
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
| 1222 |
-
"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
|
| 1223 |
-
"license": "MIT",
|
| 1224 |
-
"engines": {
|
| 1225 |
-
"node": ">= 0.4"
|
| 1226 |
-
},
|
| 1227 |
-
"funding": {
|
| 1228 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 1229 |
-
}
|
| 1230 |
-
},
|
| 1231 |
-
"node_modules/on-finished": {
|
| 1232 |
-
"version": "2.4.1",
|
| 1233 |
-
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
| 1234 |
-
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
| 1235 |
-
"license": "MIT",
|
| 1236 |
-
"dependencies": {
|
| 1237 |
-
"ee-first": "1.1.1"
|
| 1238 |
-
},
|
| 1239 |
-
"engines": {
|
| 1240 |
-
"node": ">= 0.8"
|
| 1241 |
-
}
|
| 1242 |
-
},
|
| 1243 |
-
"node_modules/once": {
|
| 1244 |
-
"version": "1.4.0",
|
| 1245 |
-
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
| 1246 |
-
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
| 1247 |
-
"license": "ISC",
|
| 1248 |
-
"dependencies": {
|
| 1249 |
-
"wrappy": "1"
|
| 1250 |
-
}
|
| 1251 |
-
},
|
| 1252 |
-
"node_modules/parseurl": {
|
| 1253 |
-
"version": "1.3.3",
|
| 1254 |
-
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
| 1255 |
-
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
|
| 1256 |
-
"license": "MIT",
|
| 1257 |
-
"engines": {
|
| 1258 |
-
"node": ">= 0.8"
|
| 1259 |
-
}
|
| 1260 |
-
},
|
| 1261 |
-
"node_modules/path-to-regexp": {
|
| 1262 |
-
"version": "8.3.0",
|
| 1263 |
-
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
|
| 1264 |
-
"integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==",
|
| 1265 |
-
"license": "MIT",
|
| 1266 |
-
"funding": {
|
| 1267 |
-
"type": "opencollective",
|
| 1268 |
-
"url": "https://opencollective.com/express"
|
| 1269 |
-
}
|
| 1270 |
-
},
|
| 1271 |
-
"node_modules/proxy-addr": {
|
| 1272 |
-
"version": "2.0.7",
|
| 1273 |
-
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
| 1274 |
-
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
|
| 1275 |
-
"license": "MIT",
|
| 1276 |
-
"dependencies": {
|
| 1277 |
-
"forwarded": "0.2.0",
|
| 1278 |
-
"ipaddr.js": "1.9.1"
|
| 1279 |
-
},
|
| 1280 |
-
"engines": {
|
| 1281 |
-
"node": ">= 0.10"
|
| 1282 |
-
}
|
| 1283 |
-
},
|
| 1284 |
-
"node_modules/proxy-from-env": {
|
| 1285 |
-
"version": "1.1.0",
|
| 1286 |
-
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
| 1287 |
-
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
| 1288 |
-
"license": "MIT"
|
| 1289 |
-
},
|
| 1290 |
-
"node_modules/punycode": {
|
| 1291 |
-
"version": "2.3.1",
|
| 1292 |
-
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
| 1293 |
-
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
|
| 1294 |
-
"license": "MIT",
|
| 1295 |
-
"engines": {
|
| 1296 |
-
"node": ">=6"
|
| 1297 |
-
}
|
| 1298 |
-
},
|
| 1299 |
-
"node_modules/qs": {
|
| 1300 |
-
"version": "6.14.0",
|
| 1301 |
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
|
| 1302 |
-
"integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
|
| 1303 |
-
"license": "BSD-3-Clause",
|
| 1304 |
-
"dependencies": {
|
| 1305 |
-
"side-channel": "^1.1.0"
|
| 1306 |
-
},
|
| 1307 |
-
"engines": {
|
| 1308 |
-
"node": ">=0.6"
|
| 1309 |
-
},
|
| 1310 |
-
"funding": {
|
| 1311 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 1312 |
-
}
|
| 1313 |
-
},
|
| 1314 |
-
"node_modules/range-parser": {
|
| 1315 |
-
"version": "1.2.1",
|
| 1316 |
-
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
| 1317 |
-
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
|
| 1318 |
-
"license": "MIT",
|
| 1319 |
-
"engines": {
|
| 1320 |
-
"node": ">= 0.6"
|
| 1321 |
-
}
|
| 1322 |
-
},
|
| 1323 |
-
"node_modules/raw-body": {
|
| 1324 |
-
"version": "3.0.1",
|
| 1325 |
-
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz",
|
| 1326 |
-
"integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==",
|
| 1327 |
-
"license": "MIT",
|
| 1328 |
-
"dependencies": {
|
| 1329 |
-
"bytes": "3.1.2",
|
| 1330 |
-
"http-errors": "2.0.0",
|
| 1331 |
-
"iconv-lite": "0.7.0",
|
| 1332 |
-
"unpipe": "1.0.0"
|
| 1333 |
-
},
|
| 1334 |
-
"engines": {
|
| 1335 |
-
"node": ">= 0.10"
|
| 1336 |
-
}
|
| 1337 |
-
},
|
| 1338 |
-
"node_modules/raw-body/node_modules/iconv-lite": {
|
| 1339 |
-
"version": "0.7.0",
|
| 1340 |
-
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
|
| 1341 |
-
"integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
|
| 1342 |
-
"license": "MIT",
|
| 1343 |
-
"dependencies": {
|
| 1344 |
-
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
| 1345 |
-
},
|
| 1346 |
-
"engines": {
|
| 1347 |
-
"node": ">=0.10.0"
|
| 1348 |
-
},
|
| 1349 |
-
"funding": {
|
| 1350 |
-
"type": "opencollective",
|
| 1351 |
-
"url": "https://opencollective.com/express"
|
| 1352 |
-
}
|
| 1353 |
-
},
|
| 1354 |
-
"node_modules/readable-stream": {
|
| 1355 |
-
"version": "3.6.2",
|
| 1356 |
-
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
| 1357 |
-
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
| 1358 |
-
"license": "MIT",
|
| 1359 |
-
"dependencies": {
|
| 1360 |
-
"inherits": "^2.0.3",
|
| 1361 |
-
"string_decoder": "^1.1.1",
|
| 1362 |
-
"util-deprecate": "^1.0.1"
|
| 1363 |
-
},
|
| 1364 |
-
"engines": {
|
| 1365 |
-
"node": ">= 6"
|
| 1366 |
-
}
|
| 1367 |
-
},
|
| 1368 |
-
"node_modules/router": {
|
| 1369 |
-
"version": "2.2.0",
|
| 1370 |
-
"resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
|
| 1371 |
-
"integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
|
| 1372 |
-
"license": "MIT",
|
| 1373 |
-
"dependencies": {
|
| 1374 |
-
"debug": "^4.4.0",
|
| 1375 |
-
"depd": "^2.0.0",
|
| 1376 |
-
"is-promise": "^4.0.0",
|
| 1377 |
-
"parseurl": "^1.3.3",
|
| 1378 |
-
"path-to-regexp": "^8.0.0"
|
| 1379 |
-
},
|
| 1380 |
-
"engines": {
|
| 1381 |
-
"node": ">= 18"
|
| 1382 |
-
}
|
| 1383 |
-
},
|
| 1384 |
-
"node_modules/safe-buffer": {
|
| 1385 |
-
"version": "5.2.1",
|
| 1386 |
-
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
| 1387 |
-
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
| 1388 |
-
"funding": [
|
| 1389 |
-
{
|
| 1390 |
-
"type": "github",
|
| 1391 |
-
"url": "https://github.com/sponsors/feross"
|
| 1392 |
-
},
|
| 1393 |
-
{
|
| 1394 |
-
"type": "patreon",
|
| 1395 |
-
"url": "https://www.patreon.com/feross"
|
| 1396 |
-
},
|
| 1397 |
-
{
|
| 1398 |
-
"type": "consulting",
|
| 1399 |
-
"url": "https://feross.org/support"
|
| 1400 |
-
}
|
| 1401 |
-
],
|
| 1402 |
-
"license": "MIT"
|
| 1403 |
-
},
|
| 1404 |
-
"node_modules/safer-buffer": {
|
| 1405 |
-
"version": "2.1.2",
|
| 1406 |
-
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
| 1407 |
-
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
| 1408 |
-
"license": "MIT"
|
| 1409 |
-
},
|
| 1410 |
-
"node_modules/semver": {
|
| 1411 |
-
"version": "7.7.2",
|
| 1412 |
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
|
| 1413 |
-
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
|
| 1414 |
-
"license": "ISC",
|
| 1415 |
-
"bin": {
|
| 1416 |
-
"semver": "bin/semver.js"
|
| 1417 |
-
},
|
| 1418 |
-
"engines": {
|
| 1419 |
-
"node": ">=10"
|
| 1420 |
-
}
|
| 1421 |
-
},
|
| 1422 |
-
"node_modules/send": {
|
| 1423 |
-
"version": "1.2.0",
|
| 1424 |
-
"resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
|
| 1425 |
-
"integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
|
| 1426 |
-
"license": "MIT",
|
| 1427 |
-
"dependencies": {
|
| 1428 |
-
"debug": "^4.3.5",
|
| 1429 |
-
"encodeurl": "^2.0.0",
|
| 1430 |
-
"escape-html": "^1.0.3",
|
| 1431 |
-
"etag": "^1.8.1",
|
| 1432 |
-
"fresh": "^2.0.0",
|
| 1433 |
-
"http-errors": "^2.0.0",
|
| 1434 |
-
"mime-types": "^3.0.1",
|
| 1435 |
-
"ms": "^2.1.3",
|
| 1436 |
-
"on-finished": "^2.4.1",
|
| 1437 |
-
"range-parser": "^1.2.1",
|
| 1438 |
-
"statuses": "^2.0.1"
|
| 1439 |
-
},
|
| 1440 |
-
"engines": {
|
| 1441 |
-
"node": ">= 18"
|
| 1442 |
-
}
|
| 1443 |
-
},
|
| 1444 |
-
"node_modules/serve-static": {
|
| 1445 |
-
"version": "2.2.0",
|
| 1446 |
-
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz",
|
| 1447 |
-
"integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==",
|
| 1448 |
-
"license": "MIT",
|
| 1449 |
-
"dependencies": {
|
| 1450 |
-
"encodeurl": "^2.0.0",
|
| 1451 |
-
"escape-html": "^1.0.3",
|
| 1452 |
-
"parseurl": "^1.3.3",
|
| 1453 |
-
"send": "^1.2.0"
|
| 1454 |
-
},
|
| 1455 |
-
"engines": {
|
| 1456 |
-
"node": ">= 18"
|
| 1457 |
-
}
|
| 1458 |
-
},
|
| 1459 |
-
"node_modules/setprototypeof": {
|
| 1460 |
-
"version": "1.2.0",
|
| 1461 |
-
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
| 1462 |
-
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
| 1463 |
-
"license": "ISC"
|
| 1464 |
-
},
|
| 1465 |
-
"node_modules/side-channel": {
|
| 1466 |
-
"version": "1.1.0",
|
| 1467 |
-
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
|
| 1468 |
-
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
|
| 1469 |
-
"license": "MIT",
|
| 1470 |
-
"dependencies": {
|
| 1471 |
-
"es-errors": "^1.3.0",
|
| 1472 |
-
"object-inspect": "^1.13.3",
|
| 1473 |
-
"side-channel-list": "^1.0.0",
|
| 1474 |
-
"side-channel-map": "^1.0.1",
|
| 1475 |
-
"side-channel-weakmap": "^1.0.2"
|
| 1476 |
-
},
|
| 1477 |
-
"engines": {
|
| 1478 |
-
"node": ">= 0.4"
|
| 1479 |
-
},
|
| 1480 |
-
"funding": {
|
| 1481 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 1482 |
-
}
|
| 1483 |
-
},
|
| 1484 |
-
"node_modules/side-channel-list": {
|
| 1485 |
-
"version": "1.0.0",
|
| 1486 |
-
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
|
| 1487 |
-
"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
|
| 1488 |
-
"license": "MIT",
|
| 1489 |
-
"dependencies": {
|
| 1490 |
-
"es-errors": "^1.3.0",
|
| 1491 |
-
"object-inspect": "^1.13.3"
|
| 1492 |
-
},
|
| 1493 |
-
"engines": {
|
| 1494 |
-
"node": ">= 0.4"
|
| 1495 |
-
},
|
| 1496 |
-
"funding": {
|
| 1497 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 1498 |
-
}
|
| 1499 |
-
},
|
| 1500 |
-
"node_modules/side-channel-map": {
|
| 1501 |
-
"version": "1.0.1",
|
| 1502 |
-
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
|
| 1503 |
-
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
|
| 1504 |
-
"license": "MIT",
|
| 1505 |
-
"dependencies": {
|
| 1506 |
-
"call-bound": "^1.0.2",
|
| 1507 |
-
"es-errors": "^1.3.0",
|
| 1508 |
-
"get-intrinsic": "^1.2.5",
|
| 1509 |
-
"object-inspect": "^1.13.3"
|
| 1510 |
-
},
|
| 1511 |
-
"engines": {
|
| 1512 |
-
"node": ">= 0.4"
|
| 1513 |
-
},
|
| 1514 |
-
"funding": {
|
| 1515 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 1516 |
-
}
|
| 1517 |
-
},
|
| 1518 |
-
"node_modules/side-channel-weakmap": {
|
| 1519 |
-
"version": "1.0.2",
|
| 1520 |
-
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
|
| 1521 |
-
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
|
| 1522 |
-
"license": "MIT",
|
| 1523 |
-
"dependencies": {
|
| 1524 |
-
"call-bound": "^1.0.2",
|
| 1525 |
-
"es-errors": "^1.3.0",
|
| 1526 |
-
"get-intrinsic": "^1.2.5",
|
| 1527 |
-
"object-inspect": "^1.13.3",
|
| 1528 |
-
"side-channel-map": "^1.0.1"
|
| 1529 |
-
},
|
| 1530 |
-
"engines": {
|
| 1531 |
-
"node": ">= 0.4"
|
| 1532 |
-
},
|
| 1533 |
-
"funding": {
|
| 1534 |
-
"url": "https://github.com/sponsors/ljharb"
|
| 1535 |
-
}
|
| 1536 |
-
},
|
| 1537 |
-
"node_modules/sift": {
|
| 1538 |
-
"version": "17.1.3",
|
| 1539 |
-
"resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz",
|
| 1540 |
-
"integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==",
|
| 1541 |
-
"license": "MIT"
|
| 1542 |
-
},
|
| 1543 |
-
"node_modules/socket.io": {
|
| 1544 |
-
"version": "4.8.1",
|
| 1545 |
-
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
|
| 1546 |
-
"integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==",
|
| 1547 |
-
"license": "MIT",
|
| 1548 |
-
"dependencies": {
|
| 1549 |
-
"accepts": "~1.3.4",
|
| 1550 |
-
"base64id": "~2.0.0",
|
| 1551 |
-
"cors": "~2.8.5",
|
| 1552 |
-
"debug": "~4.3.2",
|
| 1553 |
-
"engine.io": "~6.6.0",
|
| 1554 |
-
"socket.io-adapter": "~2.5.2",
|
| 1555 |
-
"socket.io-parser": "~4.2.4"
|
| 1556 |
-
},
|
| 1557 |
-
"engines": {
|
| 1558 |
-
"node": ">=10.2.0"
|
| 1559 |
-
}
|
| 1560 |
-
},
|
| 1561 |
-
"node_modules/socket.io-adapter": {
|
| 1562 |
-
"version": "2.5.5",
|
| 1563 |
-
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz",
|
| 1564 |
-
"integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==",
|
| 1565 |
-
"license": "MIT",
|
| 1566 |
-
"dependencies": {
|
| 1567 |
-
"debug": "~4.3.4",
|
| 1568 |
-
"ws": "~8.17.1"
|
| 1569 |
-
}
|
| 1570 |
-
},
|
| 1571 |
-
"node_modules/socket.io-adapter/node_modules/debug": {
|
| 1572 |
-
"version": "4.3.7",
|
| 1573 |
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
| 1574 |
-
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
| 1575 |
-
"license": "MIT",
|
| 1576 |
-
"dependencies": {
|
| 1577 |
-
"ms": "^2.1.3"
|
| 1578 |
-
},
|
| 1579 |
-
"engines": {
|
| 1580 |
-
"node": ">=6.0"
|
| 1581 |
-
},
|
| 1582 |
-
"peerDependenciesMeta": {
|
| 1583 |
-
"supports-color": {
|
| 1584 |
-
"optional": true
|
| 1585 |
-
}
|
| 1586 |
-
}
|
| 1587 |
-
},
|
| 1588 |
-
"node_modules/socket.io-parser": {
|
| 1589 |
-
"version": "4.2.4",
|
| 1590 |
-
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
|
| 1591 |
-
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
|
| 1592 |
-
"license": "MIT",
|
| 1593 |
-
"dependencies": {
|
| 1594 |
-
"@socket.io/component-emitter": "~3.1.0",
|
| 1595 |
-
"debug": "~4.3.1"
|
| 1596 |
-
},
|
| 1597 |
-
"engines": {
|
| 1598 |
-
"node": ">=10.0.0"
|
| 1599 |
-
}
|
| 1600 |
-
},
|
| 1601 |
-
"node_modules/socket.io-parser/node_modules/debug": {
|
| 1602 |
-
"version": "4.3.7",
|
| 1603 |
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
| 1604 |
-
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
| 1605 |
-
"license": "MIT",
|
| 1606 |
-
"dependencies": {
|
| 1607 |
-
"ms": "^2.1.3"
|
| 1608 |
-
},
|
| 1609 |
-
"engines": {
|
| 1610 |
-
"node": ">=6.0"
|
| 1611 |
-
},
|
| 1612 |
-
"peerDependenciesMeta": {
|
| 1613 |
-
"supports-color": {
|
| 1614 |
-
"optional": true
|
| 1615 |
-
}
|
| 1616 |
-
}
|
| 1617 |
-
},
|
| 1618 |
-
"node_modules/socket.io/node_modules/accepts": {
|
| 1619 |
-
"version": "1.3.8",
|
| 1620 |
-
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
| 1621 |
-
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
|
| 1622 |
-
"license": "MIT",
|
| 1623 |
-
"dependencies": {
|
| 1624 |
-
"mime-types": "~2.1.34",
|
| 1625 |
-
"negotiator": "0.6.3"
|
| 1626 |
-
},
|
| 1627 |
-
"engines": {
|
| 1628 |
-
"node": ">= 0.6"
|
| 1629 |
-
}
|
| 1630 |
-
},
|
| 1631 |
-
"node_modules/socket.io/node_modules/debug": {
|
| 1632 |
-
"version": "4.3.7",
|
| 1633 |
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
| 1634 |
-
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
| 1635 |
-
"license": "MIT",
|
| 1636 |
-
"dependencies": {
|
| 1637 |
-
"ms": "^2.1.3"
|
| 1638 |
-
},
|
| 1639 |
-
"engines": {
|
| 1640 |
-
"node": ">=6.0"
|
| 1641 |
-
},
|
| 1642 |
-
"peerDependenciesMeta": {
|
| 1643 |
-
"supports-color": {
|
| 1644 |
-
"optional": true
|
| 1645 |
-
}
|
| 1646 |
-
}
|
| 1647 |
-
},
|
| 1648 |
-
"node_modules/socket.io/node_modules/mime-db": {
|
| 1649 |
-
"version": "1.52.0",
|
| 1650 |
-
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
| 1651 |
-
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
| 1652 |
-
"license": "MIT",
|
| 1653 |
-
"engines": {
|
| 1654 |
-
"node": ">= 0.6"
|
| 1655 |
-
}
|
| 1656 |
-
},
|
| 1657 |
-
"node_modules/socket.io/node_modules/mime-types": {
|
| 1658 |
-
"version": "2.1.35",
|
| 1659 |
-
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
| 1660 |
-
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
| 1661 |
-
"license": "MIT",
|
| 1662 |
-
"dependencies": {
|
| 1663 |
-
"mime-db": "1.52.0"
|
| 1664 |
-
},
|
| 1665 |
-
"engines": {
|
| 1666 |
-
"node": ">= 0.6"
|
| 1667 |
-
}
|
| 1668 |
-
},
|
| 1669 |
-
"node_modules/socket.io/node_modules/negotiator": {
|
| 1670 |
-
"version": "0.6.3",
|
| 1671 |
-
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
| 1672 |
-
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
|
| 1673 |
-
"license": "MIT",
|
| 1674 |
-
"engines": {
|
| 1675 |
-
"node": ">= 0.6"
|
| 1676 |
-
}
|
| 1677 |
-
},
|
| 1678 |
-
"node_modules/sparse-bitfield": {
|
| 1679 |
-
"version": "3.0.3",
|
| 1680 |
-
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
|
| 1681 |
-
"integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
|
| 1682 |
-
"license": "MIT",
|
| 1683 |
-
"dependencies": {
|
| 1684 |
-
"memory-pager": "^1.0.2"
|
| 1685 |
-
}
|
| 1686 |
-
},
|
| 1687 |
-
"node_modules/statuses": {
|
| 1688 |
-
"version": "2.0.2",
|
| 1689 |
-
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
|
| 1690 |
-
"integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
|
| 1691 |
-
"license": "MIT",
|
| 1692 |
-
"engines": {
|
| 1693 |
-
"node": ">= 0.8"
|
| 1694 |
-
}
|
| 1695 |
-
},
|
| 1696 |
-
"node_modules/streamsearch": {
|
| 1697 |
-
"version": "1.1.0",
|
| 1698 |
-
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
|
| 1699 |
-
"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
|
| 1700 |
-
"engines": {
|
| 1701 |
-
"node": ">=10.0.0"
|
| 1702 |
-
}
|
| 1703 |
-
},
|
| 1704 |
-
"node_modules/string_decoder": {
|
| 1705 |
-
"version": "1.3.0",
|
| 1706 |
-
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
| 1707 |
-
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
| 1708 |
-
"license": "MIT",
|
| 1709 |
-
"dependencies": {
|
| 1710 |
-
"safe-buffer": "~5.2.0"
|
| 1711 |
-
}
|
| 1712 |
-
},
|
| 1713 |
-
"node_modules/toidentifier": {
|
| 1714 |
-
"version": "1.0.1",
|
| 1715 |
-
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
| 1716 |
-
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
| 1717 |
-
"license": "MIT",
|
| 1718 |
-
"engines": {
|
| 1719 |
-
"node": ">=0.6"
|
| 1720 |
-
}
|
| 1721 |
-
},
|
| 1722 |
-
"node_modules/tr46": {
|
| 1723 |
-
"version": "5.1.1",
|
| 1724 |
-
"resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
|
| 1725 |
-
"integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
|
| 1726 |
-
"license": "MIT",
|
| 1727 |
-
"dependencies": {
|
| 1728 |
-
"punycode": "^2.3.1"
|
| 1729 |
-
},
|
| 1730 |
-
"engines": {
|
| 1731 |
-
"node": ">=18"
|
| 1732 |
-
}
|
| 1733 |
-
},
|
| 1734 |
-
"node_modules/type-is": {
|
| 1735 |
-
"version": "2.0.1",
|
| 1736 |
-
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
|
| 1737 |
-
"integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
|
| 1738 |
-
"license": "MIT",
|
| 1739 |
-
"dependencies": {
|
| 1740 |
-
"content-type": "^1.0.5",
|
| 1741 |
-
"media-typer": "^1.1.0",
|
| 1742 |
-
"mime-types": "^3.0.0"
|
| 1743 |
-
},
|
| 1744 |
-
"engines": {
|
| 1745 |
-
"node": ">= 0.6"
|
| 1746 |
-
}
|
| 1747 |
-
},
|
| 1748 |
-
"node_modules/typedarray": {
|
| 1749 |
-
"version": "0.0.6",
|
| 1750 |
-
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
| 1751 |
-
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
|
| 1752 |
-
"license": "MIT"
|
| 1753 |
-
},
|
| 1754 |
-
"node_modules/undici-types": {
|
| 1755 |
-
"version": "7.12.0",
|
| 1756 |
-
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz",
|
| 1757 |
-
"integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==",
|
| 1758 |
-
"license": "MIT"
|
| 1759 |
-
},
|
| 1760 |
-
"node_modules/unpipe": {
|
| 1761 |
-
"version": "1.0.0",
|
| 1762 |
-
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
| 1763 |
-
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
| 1764 |
-
"license": "MIT",
|
| 1765 |
-
"engines": {
|
| 1766 |
-
"node": ">= 0.8"
|
| 1767 |
-
}
|
| 1768 |
-
},
|
| 1769 |
-
"node_modules/util-deprecate": {
|
| 1770 |
-
"version": "1.0.2",
|
| 1771 |
-
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
| 1772 |
-
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
| 1773 |
-
"license": "MIT"
|
| 1774 |
-
},
|
| 1775 |
-
"node_modules/vary": {
|
| 1776 |
-
"version": "1.1.2",
|
| 1777 |
-
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
| 1778 |
-
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
|
| 1779 |
-
"license": "MIT",
|
| 1780 |
-
"engines": {
|
| 1781 |
-
"node": ">= 0.8"
|
| 1782 |
-
}
|
| 1783 |
-
},
|
| 1784 |
-
"node_modules/webidl-conversions": {
|
| 1785 |
-
"version": "7.0.0",
|
| 1786 |
-
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
|
| 1787 |
-
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
|
| 1788 |
-
"license": "BSD-2-Clause",
|
| 1789 |
-
"engines": {
|
| 1790 |
-
"node": ">=12"
|
| 1791 |
-
}
|
| 1792 |
-
},
|
| 1793 |
-
"node_modules/whatwg-url": {
|
| 1794 |
-
"version": "14.2.0",
|
| 1795 |
-
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
|
| 1796 |
-
"integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
|
| 1797 |
-
"license": "MIT",
|
| 1798 |
-
"dependencies": {
|
| 1799 |
-
"tr46": "^5.1.0",
|
| 1800 |
-
"webidl-conversions": "^7.0.0"
|
| 1801 |
-
},
|
| 1802 |
-
"engines": {
|
| 1803 |
-
"node": ">=18"
|
| 1804 |
-
}
|
| 1805 |
-
},
|
| 1806 |
-
"node_modules/wrappy": {
|
| 1807 |
-
"version": "1.0.2",
|
| 1808 |
-
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
| 1809 |
-
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
| 1810 |
-
"license": "ISC"
|
| 1811 |
-
},
|
| 1812 |
-
"node_modules/ws": {
|
| 1813 |
-
"version": "8.17.1",
|
| 1814 |
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
|
| 1815 |
-
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
|
| 1816 |
-
"license": "MIT",
|
| 1817 |
-
"engines": {
|
| 1818 |
-
"node": ">=10.0.0"
|
| 1819 |
-
},
|
| 1820 |
-
"peerDependencies": {
|
| 1821 |
-
"bufferutil": "^4.0.1",
|
| 1822 |
-
"utf-8-validate": ">=5.0.2"
|
| 1823 |
-
},
|
| 1824 |
-
"peerDependenciesMeta": {
|
| 1825 |
-
"bufferutil": {
|
| 1826 |
-
"optional": true
|
| 1827 |
-
},
|
| 1828 |
-
"utf-8-validate": {
|
| 1829 |
-
"optional": true
|
| 1830 |
-
}
|
| 1831 |
-
}
|
| 1832 |
-
},
|
| 1833 |
-
"node_modules/xtend": {
|
| 1834 |
-
"version": "4.0.2",
|
| 1835 |
-
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
| 1836 |
-
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
| 1837 |
-
"license": "MIT",
|
| 1838 |
-
"engines": {
|
| 1839 |
-
"node": ">=0.4"
|
| 1840 |
-
}
|
| 1841 |
-
}
|
| 1842 |
-
}
|
| 1843 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CARTABON1/package.json
DELETED
|
@@ -1,36 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"name": "backend",
|
| 3 |
-
"version": "1.0.0",
|
| 4 |
-
"description": "",
|
| 5 |
-
"main": "server.js",
|
| 6 |
-
"scripts": {
|
| 7 |
-
"test": "echo \"Error: no test specified\" && exit 1",
|
| 8 |
-
"start": "node server.js"
|
| 9 |
-
},
|
| 10 |
-
"keywords": [],
|
| 11 |
-
"author": "",
|
| 12 |
-
"license": "ISC",
|
| 13 |
-
"type": "module",
|
| 14 |
-
"dependencies": {
|
| 15 |
-
"axios": "^1.12.2",
|
| 16 |
-
"bcrypt": "^6.0.0",
|
| 17 |
-
"bcryptjs": "^3.0.2",
|
| 18 |
-
"cors": "^2.8.5",
|
| 19 |
-
"dotenv": "^17.2.2",
|
| 20 |
-
"express": "^5.1.0",
|
| 21 |
-
"jsonwebtoken": "^9.0.2",
|
| 22 |
-
"mongoose": "^8.18.1",
|
| 23 |
-
"multer": "^2.0.2",
|
| 24 |
-
"nodemailer": "^7.0.6",
|
| 25 |
-
"socket.io": "^4.8.1"
|
| 26 |
-
},
|
| 27 |
-
"devDependencies": {},
|
| 28 |
-
"repository": {
|
| 29 |
-
"type": "git",
|
| 30 |
-
"url": "git+https://github.com/BelikanM/CARTABON1.git"
|
| 31 |
-
},
|
| 32 |
-
"bugs": {
|
| 33 |
-
"url": "https://github.com/BelikanM/CARTABON1/issues"
|
| 34 |
-
},
|
| 35 |
-
"homepage": "https://github.com/BelikanM/CARTABON1#readme"
|
| 36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CARTABON1/server.js
DELETED
|
@@ -1,295 +0,0 @@
|
|
| 1 |
-
// server.js (ou index.js)
|
| 2 |
-
import express from "express";
|
| 3 |
-
import mongoose from "mongoose";
|
| 4 |
-
import dotenv from "dotenv";
|
| 5 |
-
import cors from "cors";
|
| 6 |
-
import http from "http";
|
| 7 |
-
import { Server } from "socket.io";
|
| 8 |
-
import bcrypt from "bcrypt";
|
| 9 |
-
import jwt from "jsonwebtoken";
|
| 10 |
-
import multer from "multer";
|
| 11 |
-
import path from "path";
|
| 12 |
-
import fs from "fs";
|
| 13 |
-
import crypto from "crypto";
|
| 14 |
-
|
| 15 |
-
dotenv.config();
|
| 16 |
-
|
| 17 |
-
const app = express();
|
| 18 |
-
const server = http.createServer(app);
|
| 19 |
-
const io = new Server(server, {
|
| 20 |
-
cors: {
|
| 21 |
-
origin: "*",
|
| 22 |
-
methods: ["GET", "POST", "PATCH"]
|
| 23 |
-
}
|
| 24 |
-
});
|
| 25 |
-
|
| 26 |
-
app.use(express.json({ limit: "50mb" }));
|
| 27 |
-
app.use(cors());
|
| 28 |
-
app.use("/uploads", express.static(path.join(process.cwd(), "uploads")));
|
| 29 |
-
|
| 30 |
-
if (!fs.existsSync("uploads")) {
|
| 31 |
-
fs.mkdirSync("uploads");
|
| 32 |
-
}
|
| 33 |
-
|
| 34 |
-
const storage = multer.diskStorage({
|
| 35 |
-
destination: (req, file, cb) => cb(null, "uploads/"),
|
| 36 |
-
filename: (req, file, cb) => cb(null, Date.now() + "-" + file.originalname)
|
| 37 |
-
});
|
| 38 |
-
const upload = multer({ storage });
|
| 39 |
-
|
| 40 |
-
// =========================
|
| 41 |
-
// MongoDB Connection
|
| 42 |
-
// =========================
|
| 43 |
-
mongoose
|
| 44 |
-
.connect(process.env.MONGO_URI)
|
| 45 |
-
.then(() => console.log("MongoDB connecté avec succès ✅"))
|
| 46 |
-
.catch(err => console.error("Erreur connexion MongoDB ❌:", err));
|
| 47 |
-
|
| 48 |
-
// =========================
|
| 49 |
-
// Modèles
|
| 50 |
-
// =========================
|
| 51 |
-
const userSchema = new mongoose.Schema({
|
| 52 |
-
name: { type: String, required: true },
|
| 53 |
-
email: { type: String, required: true, unique: true, lowercase: true },
|
| 54 |
-
password: { type: String }, // hashé ou null si OTP uniquement
|
| 55 |
-
latitude: { type: Number, default: 0 },
|
| 56 |
-
longitude: { type: Number, default: 0 },
|
| 57 |
-
otp: { type: String }, // OTP temporaire
|
| 58 |
-
otpExpires: { type: Date }, // expiration OTP
|
| 59 |
-
createdAt: { type: Date, default: Date.now }
|
| 60 |
-
});
|
| 61 |
-
|
| 62 |
-
const User = mongoose.model("User", userSchema);
|
| 63 |
-
|
| 64 |
-
const markerSchema = new mongoose.Schema({
|
| 65 |
-
latitude: { type: Number, required: true },
|
| 66 |
-
longitude: { type: Number, required: true },
|
| 67 |
-
title: { type: String, default: "" },
|
| 68 |
-
comment: { type: String, default: "" },
|
| 69 |
-
color: { type: String, default: "#ff0000" },
|
| 70 |
-
photos: { type: [String], default: [] },
|
| 71 |
-
videos: { type: [String], default: [] },
|
| 72 |
-
createdBy: { type: mongoose.Schema.Types.ObjectId, ref: "User" },
|
| 73 |
-
createdAt: { type: Date, default: Date.now }
|
| 74 |
-
});
|
| 75 |
-
const Marker = mongoose.model("Marker", markerSchema);
|
| 76 |
-
|
| 77 |
-
// =========================
|
| 78 |
-
// Helpers
|
| 79 |
-
// =========================
|
| 80 |
-
const generateOTP = () => Math.floor(100000 + Math.random() * 900000).toString();
|
| 81 |
-
|
| 82 |
-
const sendOTPByEmail = async (email, otp) => {
|
| 83 |
-
// À intégrer avec Nodemailer, SMTP, ou service comme Brevo/SendGrid
|
| 84 |
-
console.log(`📧 OTP pour ${email} : ${otp}`); // Simulation en console
|
| 85 |
-
// Exemple avec Nodemailer (à décommenter et configurer)
|
| 86 |
-
/*
|
| 87 |
-
const transporter = nodemailer.createTransport({
|
| 88 |
-
host: "smtp.gmail.com",
|
| 89 |
-
port: 587,
|
| 90 |
-
auth: { user: "tonemail@gmail.com", pass: "app-password" }
|
| 91 |
-
});
|
| 92 |
-
await transporter.sendMail({
|
| 93 |
-
from: "Kibali <no-reply@kibali.ga>",
|
| 94 |
-
to: email,
|
| 95 |
-
subject: "Votre code OTP Kibali",
|
| 96 |
-
text: `Votre code de connexion est : ${otp}\nValable 10 minutes.`
|
| 97 |
-
});
|
| 98 |
-
*/
|
| 99 |
-
};
|
| 100 |
-
|
| 101 |
-
// =========================
|
| 102 |
-
// Routes Auth avec OTP
|
| 103 |
-
// =========================
|
| 104 |
-
app.post("/auth/request-otp", async (req, res) => {
|
| 105 |
-
try {
|
| 106 |
-
const { email, name } = req.body;
|
| 107 |
-
if (!email) return res.status(400).json({ message: "Email requis" });
|
| 108 |
-
|
| 109 |
-
let user = await User.findOne({ email });
|
| 110 |
-
if (!user) {
|
| 111 |
-
user = await User.create({ email, name: name || email.split("@")[0], password: null });
|
| 112 |
-
}
|
| 113 |
-
|
| 114 |
-
const otp = generateOTP();
|
| 115 |
-
user.otp = otp;
|
| 116 |
-
user.otpExpires = Date.now() + 10 * 60 * 1000; // 10 minutes
|
| 117 |
-
await user.save();
|
| 118 |
-
|
| 119 |
-
await sendOTPByEmail(email, otp);
|
| 120 |
-
|
| 121 |
-
res.json({ message: "OTP envoyé à votre email" });
|
| 122 |
-
} catch (err) {
|
| 123 |
-
console.error(err);
|
| 124 |
-
res.status(500).json({ message: "Erreur serveur" });
|
| 125 |
-
}
|
| 126 |
-
});
|
| 127 |
-
|
| 128 |
-
app.post("/auth/verify-otp", async (req, res) => {
|
| 129 |
-
try {
|
| 130 |
-
const { email, otp } = req.body;
|
| 131 |
-
const user = await User.findOne({ email });
|
| 132 |
-
|
| 133 |
-
if (!user || !user.otp || user.otp !== otp || user.otpExpires < Date.now()) {
|
| 134 |
-
return res.status(400).json({ message: "OTP invalide ou expiré" });
|
| 135 |
-
}
|
| 136 |
-
|
| 137 |
-
// OTP valide → générer JWT
|
| 138 |
-
const token = jwt.sign({ userId: user._id }, process.env.JWT_SECRET, { expiresIn: "7d" });
|
| 139 |
-
|
| 140 |
-
// Nettoyer OTP
|
| 141 |
-
user.otp = undefined;
|
| 142 |
-
user.otpExpires = undefined;
|
| 143 |
-
await user.save();
|
| 144 |
-
|
| 145 |
-
res.json({
|
| 146 |
-
token,
|
| 147 |
-
user: {
|
| 148 |
-
_id: user._id,
|
| 149 |
-
name: user.name,
|
| 150 |
-
email: user.email,
|
| 151 |
-
latitude: user.latitude,
|
| 152 |
-
longitude: user.longitude
|
| 153 |
-
}
|
| 154 |
-
});
|
| 155 |
-
} catch (err) {
|
| 156 |
-
console.error(err);
|
| 157 |
-
res.status(500).json({ message: "Erreur serveur" });
|
| 158 |
-
}
|
| 159 |
-
});
|
| 160 |
-
|
| 161 |
-
// =========================
|
| 162 |
-
// Routes protégées (vérification JWT)
|
| 163 |
-
// =========================
|
| 164 |
-
const authenticateToken = (req, res, next) => {
|
| 165 |
-
const authHeader = req.headers["authorization"];
|
| 166 |
-
const token = authHeader && authHeader.split(" ")[1];
|
| 167 |
-
if (!token) return res.status(401).json({ message: "Accès refusé" });
|
| 168 |
-
|
| 169 |
-
jwt.verify(token, process.env.JWT_SECRET, (err, payload) => {
|
| 170 |
-
if (err) return res.status(403).json({ message: "Token invalide" });
|
| 171 |
-
req.userId = payload.userId;
|
| 172 |
-
next();
|
| 173 |
-
});
|
| 174 |
-
};
|
| 175 |
-
|
| 176 |
-
// Mise à jour position utilisateur
|
| 177 |
-
app.post("/update-position", authenticateToken, async (req, res) => {
|
| 178 |
-
try {
|
| 179 |
-
const { latitude, longitude } = req.body;
|
| 180 |
-
const user = await User.findByIdAndUpdate(
|
| 181 |
-
req.userId,
|
| 182 |
-
{ latitude, longitude },
|
| 183 |
-
{ new: true }
|
| 184 |
-
);
|
| 185 |
-
res.json({ latitude: user.latitude, longitude: user.longitude });
|
| 186 |
-
} catch (err) {
|
| 187 |
-
res.status(500).json({ message: err.message });
|
| 188 |
-
}
|
| 189 |
-
});
|
| 190 |
-
|
| 191 |
-
// =========================
|
| 192 |
-
// Routes Markers
|
| 193 |
-
// =========================
|
| 194 |
-
app.get("/markers", async (req, res) => {
|
| 195 |
-
try {
|
| 196 |
-
const markers = await Marker.find().populate("createdBy", "name email");
|
| 197 |
-
res.json(markers);
|
| 198 |
-
} catch (err) {
|
| 199 |
-
res.status(500).json({ error: err.message });
|
| 200 |
-
}
|
| 201 |
-
});
|
| 202 |
-
|
| 203 |
-
app.post("/markers", authenticateToken, upload.fields([
|
| 204 |
-
{ name: "photos", maxCount: 10 },
|
| 205 |
-
{ name: "videos", maxCount: 10 }
|
| 206 |
-
]), async (req, res) => {
|
| 207 |
-
try {
|
| 208 |
-
const { latitude, longitude, title, comment, color } = req.body;
|
| 209 |
-
const photos = req.files.photos ? req.files.photos.map(f => `/uploads/${f.filename}`) : [];
|
| 210 |
-
const videos = req.files.videos ? req.files.videos.map(f => `/uploads/${f.filename}`) : [];
|
| 211 |
-
|
| 212 |
-
const marker = await Marker.create({
|
| 213 |
-
latitude: parseFloat(latitude),
|
| 214 |
-
longitude: parseFloat(longitude),
|
| 215 |
-
title,
|
| 216 |
-
comment,
|
| 217 |
-
color,
|
| 218 |
-
photos,
|
| 219 |
-
videos,
|
| 220 |
-
createdBy: req.userId
|
| 221 |
-
});
|
| 222 |
-
|
| 223 |
-
const populated = await marker.populate("createdBy", "name email");
|
| 224 |
-
io.emit("newMarker", populated);
|
| 225 |
-
res.status(201).json(populated);
|
| 226 |
-
} catch (err) {
|
| 227 |
-
console.error(err);
|
| 228 |
-
res.status(500).json({ message: err.message });
|
| 229 |
-
}
|
| 230 |
-
});
|
| 231 |
-
|
| 232 |
-
app.patch("/markers/:id", authenticateToken, upload.fields([
|
| 233 |
-
{ name: "photos", maxCount: 10 },
|
| 234 |
-
{ name: "videos", maxCount: 10 }
|
| 235 |
-
]), async (req, res) => {
|
| 236 |
-
try {
|
| 237 |
-
const marker = await Marker.findById(req.params.id);
|
| 238 |
-
if (!marker) return res.status(404).json({ message: "Marqueur non trouvé" });
|
| 239 |
-
|
| 240 |
-
const updates = req.body;
|
| 241 |
-
if (updates.title !== undefined) marker.title = updates.title;
|
| 242 |
-
if (updates.comment !== undefined) marker.comment = updates.comment;
|
| 243 |
-
if (updates.color !== undefined) marker.color = updates.color;
|
| 244 |
-
if (req.files.photos) marker.photos.push(...req.files.photos.map(f => `/uploads/${f.filename}`));
|
| 245 |
-
if (req.files.videos) marker.videos.push(...req.files.videos.map(f => `/uploads/${f.filename}`));
|
| 246 |
-
|
| 247 |
-
await marker.save();
|
| 248 |
-
const populated = await marker.populate("createdBy", "name email");
|
| 249 |
-
io.emit("updatedMarker", populated);
|
| 250 |
-
res.json(populated);
|
| 251 |
-
} catch (err) {
|
| 252 |
-
res.status(500).json({ message: err.message });
|
| 253 |
-
}
|
| 254 |
-
});
|
| 255 |
-
|
| 256 |
-
// =========================
|
| 257 |
-
// Socket.IO
|
| 258 |
-
// =========================
|
| 259 |
-
io.on("connection", (socket) => {
|
| 260 |
-
console.log("Client connecté:", socket.id);
|
| 261 |
-
|
| 262 |
-
// Envoyer tous les marqueurs au nouveau client
|
| 263 |
-
Marker.find().populate("createdBy", "name email").then(markers => {
|
| 264 |
-
socket.emit("allMarkers", markers);
|
| 265 |
-
});
|
| 266 |
-
|
| 267 |
-
// Mise à jour position en temps réel
|
| 268 |
-
socket.on("updatePosition", async ({ userId, latitude, longitude }) => {
|
| 269 |
-
try {
|
| 270 |
-
const user = await User.findByIdAndUpdate(userId, { latitude, longitude }, { new: true });
|
| 271 |
-
if (user) {
|
| 272 |
-
io.emit("positionsUpdate", {
|
| 273 |
-
userId: user._id,
|
| 274 |
-
name: user.name,
|
| 275 |
-
latitude,
|
| 276 |
-
longitude
|
| 277 |
-
});
|
| 278 |
-
}
|
| 279 |
-
} catch (err) {
|
| 280 |
-
console.error("Erreur position:", err);
|
| 281 |
-
}
|
| 282 |
-
});
|
| 283 |
-
|
| 284 |
-
socket.on("disconnect", () => {
|
| 285 |
-
console.log("Client déconnecté:", socket.id);
|
| 286 |
-
});
|
| 287 |
-
});
|
| 288 |
-
|
| 289 |
-
// =========================
|
| 290 |
-
// Démarrage
|
| 291 |
-
// =========================
|
| 292 |
-
const PORT = process.env.PORT || 8000;
|
| 293 |
-
server.listen(PORT, () => {
|
| 294 |
-
console.log(`🚀 Serveur Kibali démarré sur http://localhost:${PORT}`);
|
| 295 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kibali-ui/eslint.config.js → eslint.config.js
RENAMED
|
File without changes
|
kibali-ui/index.html → index.html
RENAMED
|
File without changes
|
kibali-ui/.gitignore
DELETED
|
@@ -1,24 +0,0 @@
|
|
| 1 |
-
# Logs
|
| 2 |
-
logs
|
| 3 |
-
*.log
|
| 4 |
-
npm-debug.log*
|
| 5 |
-
yarn-debug.log*
|
| 6 |
-
yarn-error.log*
|
| 7 |
-
pnpm-debug.log*
|
| 8 |
-
lerna-debug.log*
|
| 9 |
-
|
| 10 |
-
node_modules
|
| 11 |
-
dist
|
| 12 |
-
dist-ssr
|
| 13 |
-
*.local
|
| 14 |
-
|
| 15 |
-
# Editor directories and files
|
| 16 |
-
.vscode/*
|
| 17 |
-
!.vscode/extensions.json
|
| 18 |
-
.idea
|
| 19 |
-
.DS_Store
|
| 20 |
-
*.suo
|
| 21 |
-
*.ntvs*
|
| 22 |
-
*.njsproj
|
| 23 |
-
*.sln
|
| 24 |
-
*.sw?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kibali-ui/README.md
DELETED
|
@@ -1,16 +0,0 @@
|
|
| 1 |
-
# React + Vite
|
| 2 |
-
|
| 3 |
-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
|
| 4 |
-
|
| 5 |
-
Currently, two official plugins are available:
|
| 6 |
-
|
| 7 |
-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
|
| 8 |
-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
|
| 9 |
-
|
| 10 |
-
## React Compiler
|
| 11 |
-
|
| 12 |
-
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
|
| 13 |
-
|
| 14 |
-
## Expanding the ESLint configuration
|
| 15 |
-
|
| 16 |
-
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kibali-ui/public/kibali_logo.svg
DELETED
launch.bat
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@echo off
|
| 2 |
+
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr /R /C:"IPv4 Address"') do set ip=%%i
|
| 3 |
+
set ip=%ip:~1%
|
| 4 |
+
echo Lancement de Streamlit sur %ip%:8501
|
| 5 |
+
"C:/Program Files/Epic Games/UE_5.7/Engine/Binaries/ThirdParty/Python3/Win64/python.exe" -m streamlit run main.py --server.address %ip% --server.port 8501
|
| 6 |
+
pause
|
launch.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import socket
|
| 2 |
+
import subprocess
|
| 3 |
+
import sys
|
| 4 |
+
import os
|
| 5 |
+
|
| 6 |
+
def get_local_ip():
|
| 7 |
+
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
| 8 |
+
try:
|
| 9 |
+
s.connect(("8.8.8.8", 80))
|
| 10 |
+
ip = s.getsockname()[0]
|
| 11 |
+
except:
|
| 12 |
+
ip = "127.0.0.1"
|
| 13 |
+
finally:
|
| 14 |
+
s.close()
|
| 15 |
+
return ip
|
| 16 |
+
|
| 17 |
+
if __name__ == "__main__":
|
| 18 |
+
ip = get_local_ip()
|
| 19 |
+
port = 8501
|
| 20 |
+
print(f"Lancement de Streamlit sur {ip}:{port}")
|
| 21 |
+
cmd = [sys.executable, "-m", "streamlit", "run", "main.py", "--server.address", ip, "--server.port", str(port)]
|
| 22 |
+
subprocess.run(cmd)
|
main.py
CHANGED
|
@@ -19,7 +19,7 @@ import base64
|
|
| 19 |
# --- CONFIGURATION PAGE ---
|
| 20 |
st.set_page_config(
|
| 21 |
page_title="Kibali AI - Assistant IA du Gabon",
|
| 22 |
-
page_icon="kibali_logo.
|
| 23 |
layout="wide"
|
| 24 |
)
|
| 25 |
|
|
@@ -50,7 +50,7 @@ from tools.todo import execute_reflection_plan
|
|
| 50 |
from tools.geo import get_geo_context
|
| 51 |
|
| 52 |
# --- CHARGEMENT DES MODÈLES ---
|
| 53 |
-
HF_MODEL_ID = "C:/Users/Admin/Desktop/logiciel/qwen_model"
|
| 54 |
CACHE_DIR = "/data/cache"
|
| 55 |
os.makedirs(CACHE_DIR, exist_ok=True)
|
| 56 |
|
|
@@ -98,12 +98,6 @@ model = load_model()
|
|
| 98 |
|
| 99 |
# --- BASES VECTORIELLES ---
|
| 100 |
dimension = 384
|
| 101 |
-
INDEX_FILE = "faiss_index.idx"
|
| 102 |
-
CHUNKS_FILE = "doc_chunks.json"
|
| 103 |
-
METADATA_FILE = "doc_metadata.json"
|
| 104 |
-
MEMORY_INDEX_FILE = "memory_index.idx"
|
| 105 |
-
MEMORY_TEXTS_FILE = "memory_texts.json"
|
| 106 |
-
MEMORY_METADATA_FILE = "memory_metadata.json"
|
| 107 |
if 'doc_index' not in st.session_state:
|
| 108 |
st.session_state.doc_index = faiss.IndexFlatL2(dimension)
|
| 109 |
st.session_state.doc_chunks = []
|
|
|
|
| 19 |
# --- CONFIGURATION PAGE ---
|
| 20 |
st.set_page_config(
|
| 21 |
page_title="Kibali AI - Assistant IA du Gabon",
|
| 22 |
+
page_icon="kibali_logo.svg",
|
| 23 |
layout="wide"
|
| 24 |
)
|
| 25 |
|
|
|
|
| 50 |
from tools.geo import get_geo_context
|
| 51 |
|
| 52 |
# --- CHARGEMENT DES MODÈLES ---
|
| 53 |
+
HF_MODEL_ID = "C:/Users/Admin/Desktop/logiciel/kibali-api/qwen_model"
|
| 54 |
CACHE_DIR = "/data/cache"
|
| 55 |
os.makedirs(CACHE_DIR, exist_ok=True)
|
| 56 |
|
|
|
|
| 98 |
|
| 99 |
# --- BASES VECTORIELLES ---
|
| 100 |
dimension = 384
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
if 'doc_index' not in st.session_state:
|
| 102 |
st.session_state.doc_index = faiss.IndexFlatL2(dimension)
|
| 103 |
st.session_state.doc_chunks = []
|
kibali-ui/package-lock.json → package-lock.json
RENAMED
|
@@ -8,23 +8,30 @@
|
|
| 8 |
"name": "kibali-ui",
|
| 9 |
"version": "0.0.0",
|
| 10 |
"dependencies": {
|
|
|
|
| 11 |
"axios": "^1.13.2",
|
| 12 |
"bcrypt": "^6.0.0",
|
|
|
|
|
|
|
|
|
|
| 13 |
"cors": "^2.8.5",
|
| 14 |
"dotenv": "^17.2.3",
|
| 15 |
"express": "^5.2.1",
|
| 16 |
"firebase": "^12.7.0",
|
|
|
|
| 17 |
"jsonwebtoken": "^9.0.3",
|
| 18 |
"leaflet": "^1.9.4",
|
| 19 |
"lucide-react": "^0.562.0",
|
| 20 |
-
"mongoose": "^9.1.
|
| 21 |
"multer": "^2.0.2",
|
|
|
|
| 22 |
"react": "^19.2.0",
|
| 23 |
"react-dom": "^19.2.0",
|
| 24 |
"react-leaflet": "^5.0.0",
|
| 25 |
"react-markdown": "^10.1.0",
|
| 26 |
"socket.io": "^4.8.3",
|
| 27 |
-
"socket.io-client": "^4.8.3"
|
|
|
|
| 28 |
},
|
| 29 |
"devDependencies": {
|
| 30 |
"@eslint/js": "^9.39.1",
|
|
@@ -922,6 +929,12 @@
|
|
| 922 |
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
| 923 |
}
|
| 924 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 925 |
"node_modules/@firebase/ai": {
|
| 926 |
"version": "2.6.1",
|
| 927 |
"resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-2.6.1.tgz",
|
|
@@ -1530,6 +1543,94 @@
|
|
| 1530 |
"integrity": "sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw==",
|
| 1531 |
"license": "Apache-2.0"
|
| 1532 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1533 |
"node_modules/@grpc/grpc-js": {
|
| 1534 |
"version": "1.9.15",
|
| 1535 |
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz",
|
|
@@ -1613,6 +1714,116 @@
|
|
| 1613 |
"url": "https://github.com/sponsors/nzakas"
|
| 1614 |
}
|
| 1615 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1616 |
"node_modules/@jridgewell/gen-mapping": {
|
| 1617 |
"version": "0.3.13",
|
| 1618 |
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
|
|
@@ -1663,6 +1874,17 @@
|
|
| 1663 |
"@jridgewell/sourcemap-codec": "^1.4.14"
|
| 1664 |
}
|
| 1665 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1666 |
"node_modules/@mongodb-js/saslprep": {
|
| 1667 |
"version": "1.4.4",
|
| 1668 |
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.4.tgz",
|
|
@@ -1672,6 +1894,27 @@
|
|
| 1672 |
"sparse-bitfield": "^3.0.3"
|
| 1673 |
}
|
| 1674 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1675 |
"node_modules/@protobufjs/aspromise": {
|
| 1676 |
"version": "1.1.2",
|
| 1677 |
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
|
@@ -2062,12 +2305,28 @@
|
|
| 2062 |
"win32"
|
| 2063 |
]
|
| 2064 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2065 |
"node_modules/@socket.io/component-emitter": {
|
| 2066 |
"version": "3.1.2",
|
| 2067 |
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
|
| 2068 |
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
|
| 2069 |
"license": "MIT"
|
| 2070 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2071 |
"node_modules/@types/babel__core": {
|
| 2072 |
"version": "7.20.5",
|
| 2073 |
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
|
|
@@ -2113,6 +2372,32 @@
|
|
| 2113 |
"@babel/types": "^7.28.2"
|
| 2114 |
}
|
| 2115 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2116 |
"node_modules/@types/cors": {
|
| 2117 |
"version": "2.8.19",
|
| 2118 |
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
|
|
@@ -2146,6 +2431,30 @@
|
|
| 2146 |
"@types/estree": "*"
|
| 2147 |
}
|
| 2148 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2149 |
"node_modules/@types/hast": {
|
| 2150 |
"version": "3.0.4",
|
| 2151 |
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
|
|
@@ -2155,6 +2464,12 @@
|
|
| 2155 |
"@types/unist": "*"
|
| 2156 |
}
|
| 2157 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2158 |
"node_modules/@types/json-schema": {
|
| 2159 |
"version": "7.0.15",
|
| 2160 |
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
|
|
@@ -2162,6 +2477,23 @@
|
|
| 2162 |
"dev": true,
|
| 2163 |
"license": "MIT"
|
| 2164 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2165 |
"node_modules/@types/mdast": {
|
| 2166 |
"version": "4.0.4",
|
| 2167 |
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
|
|
@@ -2171,6 +2503,12 @@
|
|
| 2171 |
"@types/unist": "*"
|
| 2172 |
}
|
| 2173 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2174 |
"node_modules/@types/ms": {
|
| 2175 |
"version": "2.1.0",
|
| 2176 |
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
|
|
@@ -2186,6 +2524,18 @@
|
|
| 2186 |
"undici-types": "~7.16.0"
|
| 2187 |
}
|
| 2188 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2189 |
"node_modules/@types/react": {
|
| 2190 |
"version": "19.2.7",
|
| 2191 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
|
|
@@ -2205,6 +2555,74 @@
|
|
| 2205 |
"@types/react": "^19.2.0"
|
| 2206 |
}
|
| 2207 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2208 |
"node_modules/@types/unist": {
|
| 2209 |
"version": "3.0.3",
|
| 2210 |
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
|
|
@@ -2253,6 +2671,19 @@
|
|
| 2253 |
"vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
|
| 2254 |
}
|
| 2255 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2256 |
"node_modules/accepts": {
|
| 2257 |
"version": "2.0.0",
|
| 2258 |
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
|
|
@@ -2314,6 +2745,15 @@
|
|
| 2314 |
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
| 2315 |
}
|
| 2316 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2317 |
"node_modules/ajv": {
|
| 2318 |
"version": "6.12.6",
|
| 2319 |
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
|
@@ -2368,6 +2808,26 @@
|
|
| 2368 |
"dev": true,
|
| 2369 |
"license": "Python-2.0"
|
| 2370 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2371 |
"node_modules/asynckit": {
|
| 2372 |
"version": "0.4.0",
|
| 2373 |
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
@@ -2436,7 +2896,27 @@
|
|
| 2436 |
"version": "1.0.2",
|
| 2437 |
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
| 2438 |
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
| 2439 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2440 |
"license": "MIT"
|
| 2441 |
},
|
| 2442 |
"node_modules/base64id": {
|
|
@@ -2472,6 +2952,24 @@
|
|
| 2472 |
"node": ">= 18"
|
| 2473 |
}
|
| 2474 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2475 |
"node_modules/body-parser": {
|
| 2476 |
"version": "2.2.1",
|
| 2477 |
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz",
|
|
@@ -2723,10 +3221,23 @@
|
|
| 2723 |
"node": ">=12"
|
| 2724 |
}
|
| 2725 |
},
|
| 2726 |
-
"node_modules/
|
| 2727 |
-
"version": "2.0
|
| 2728 |
-
"resolved": "https://registry.npmjs.org/
|
| 2729 |
-
"integrity": "sha512-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2730 |
"license": "MIT",
|
| 2731 |
"dependencies": {
|
| 2732 |
"color-name": "~1.1.4"
|
|
@@ -2849,7 +3360,7 @@
|
|
| 2849 |
"version": "7.0.6",
|
| 2850 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
| 2851 |
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
| 2852 |
-
"
|
| 2853 |
"license": "MIT",
|
| 2854 |
"dependencies": {
|
| 2855 |
"path-key": "^3.1.0",
|
|
@@ -2866,6 +3377,17 @@
|
|
| 2866 |
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
| 2867 |
"license": "MIT"
|
| 2868 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2869 |
"node_modules/debug": {
|
| 2870 |
"version": "4.4.3",
|
| 2871 |
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
|
@@ -2969,6 +3491,27 @@
|
|
| 2969 |
"node": ">= 0.4"
|
| 2970 |
}
|
| 2971 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2972 |
"node_modules/ecdsa-sig-formatter": {
|
| 2973 |
"version": "1.0.11",
|
| 2974 |
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
|
|
@@ -3006,6 +3549,16 @@
|
|
| 3006 |
"node": ">= 0.8"
|
| 3007 |
}
|
| 3008 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3009 |
"node_modules/engine.io": {
|
| 3010 |
"version": "6.6.5",
|
| 3011 |
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz",
|
|
@@ -3388,6 +3941,16 @@
|
|
| 3388 |
"node": ">= 0.6"
|
| 3389 |
}
|
| 3390 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3391 |
"node_modules/express": {
|
| 3392 |
"version": "5.2.1",
|
| 3393 |
"resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
|
|
@@ -3462,11 +4025,19 @@
|
|
| 3462 |
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
|
| 3463 |
"license": "MIT"
|
| 3464 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3465 |
"node_modules/fast-deep-equal": {
|
| 3466 |
"version": "3.1.3",
|
| 3467 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
| 3468 |
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
| 3469 |
-
"dev": true,
|
| 3470 |
"license": "MIT"
|
| 3471 |
},
|
| 3472 |
"node_modules/fast-json-stable-stringify": {
|
|
@@ -3483,6 +4054,25 @@
|
|
| 3483 |
"dev": true,
|
| 3484 |
"license": "MIT"
|
| 3485 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3486 |
"node_modules/faye-websocket": {
|
| 3487 |
"version": "0.11.4",
|
| 3488 |
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
|
|
@@ -3513,6 +4103,31 @@
|
|
| 3513 |
}
|
| 3514 |
}
|
| 3515 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3516 |
"node_modules/file-entry-cache": {
|
| 3517 |
"version": "8.0.0",
|
| 3518 |
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
|
|
@@ -3600,6 +4215,47 @@
|
|
| 3600 |
"@firebase/util": "1.13.0"
|
| 3601 |
}
|
| 3602 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3603 |
"node_modules/flat-cache": {
|
| 3604 |
"version": "4.0.1",
|
| 3605 |
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
|
|
@@ -3641,6 +4297,24 @@
|
|
| 3641 |
}
|
| 3642 |
}
|
| 3643 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3644 |
"node_modules/form-data": {
|
| 3645 |
"version": "4.0.5",
|
| 3646 |
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
|
@@ -3657,6 +4331,20 @@
|
|
| 3657 |
"node": ">= 6"
|
| 3658 |
}
|
| 3659 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3660 |
"node_modules/forwarded": {
|
| 3661 |
"version": "0.2.0",
|
| 3662 |
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
|
@@ -3713,6 +4401,95 @@
|
|
| 3713 |
"url": "https://github.com/sponsors/ljharb"
|
| 3714 |
}
|
| 3715 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3716 |
"node_modules/gensync": {
|
| 3717 |
"version": "1.0.0-beta.2",
|
| 3718 |
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
|
|
@@ -3769,6 +4546,28 @@
|
|
| 3769 |
"node": ">= 0.4"
|
| 3770 |
}
|
| 3771 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3772 |
"node_modules/glob-parent": {
|
| 3773 |
"version": "6.0.2",
|
| 3774 |
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
|
@@ -3782,6 +4581,34 @@
|
|
| 3782 |
"node": ">=10.13.0"
|
| 3783 |
}
|
| 3784 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3785 |
"node_modules/globals": {
|
| 3786 |
"version": "16.5.0",
|
| 3787 |
"resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz",
|
|
@@ -3795,6 +4622,128 @@
|
|
| 3795 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 3796 |
}
|
| 3797 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3798 |
"node_modules/gopd": {
|
| 3799 |
"version": "1.2.0",
|
| 3800 |
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
|
@@ -3807,6 +4756,19 @@
|
|
| 3807 |
"url": "https://github.com/sponsors/ljharb"
|
| 3808 |
}
|
| 3809 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3810 |
"node_modules/has-flag": {
|
| 3811 |
"version": "4.0.0",
|
| 3812 |
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
@@ -3913,6 +4875,23 @@
|
|
| 3913 |
"hermes-estree": "0.25.1"
|
| 3914 |
}
|
| 3915 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3916 |
"node_modules/html-url-attributes": {
|
| 3917 |
"version": "3.0.1",
|
| 3918 |
"resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
|
|
@@ -3949,6 +4928,47 @@
|
|
| 3949 |
"integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
|
| 3950 |
"license": "MIT"
|
| 3951 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3952 |
"node_modules/iconv-lite": {
|
| 3953 |
"version": "0.7.1",
|
| 3954 |
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz",
|
|
@@ -4123,13 +5143,51 @@
|
|
| 4123 |
"integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
|
| 4124 |
"license": "MIT"
|
| 4125 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4126 |
"node_modules/isexe": {
|
| 4127 |
"version": "2.0.0",
|
| 4128 |
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
| 4129 |
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
| 4130 |
-
"
|
| 4131 |
"license": "ISC"
|
| 4132 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4133 |
"node_modules/js-tokens": {
|
| 4134 |
"version": "4.0.0",
|
| 4135 |
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
|
@@ -4163,6 +5221,15 @@
|
|
| 4163 |
"node": ">=6"
|
| 4164 |
}
|
| 4165 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4166 |
"node_modules/json-buffer": {
|
| 4167 |
"version": "3.0.1",
|
| 4168 |
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
|
@@ -4242,6 +5309,23 @@
|
|
| 4242 |
"safe-buffer": "^5.0.1"
|
| 4243 |
}
|
| 4244 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4245 |
"node_modules/jws": {
|
| 4246 |
"version": "4.0.1",
|
| 4247 |
"resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
|
|
@@ -4291,6 +5375,11 @@
|
|
| 4291 |
"node": ">= 0.8.0"
|
| 4292 |
}
|
| 4293 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4294 |
"node_modules/locate-path": {
|
| 4295 |
"version": "6.0.0",
|
| 4296 |
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
|
@@ -4307,12 +5396,24 @@
|
|
| 4307 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 4308 |
}
|
| 4309 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4310 |
"node_modules/lodash.camelcase": {
|
| 4311 |
"version": "4.3.0",
|
| 4312 |
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
|
| 4313 |
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
|
| 4314 |
"license": "MIT"
|
| 4315 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4316 |
"node_modules/lodash.includes": {
|
| 4317 |
"version": "4.3.0",
|
| 4318 |
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
|
|
@@ -4388,6 +5489,34 @@
|
|
| 4388 |
"yallist": "^3.0.2"
|
| 4389 |
}
|
| 4390 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4391 |
"node_modules/lucide-react": {
|
| 4392 |
"version": "0.562.0",
|
| 4393 |
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.562.0.tgz",
|
|
@@ -5028,6 +6157,19 @@
|
|
| 5028 |
],
|
| 5029 |
"license": "MIT"
|
| 5030 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5031 |
"node_modules/mime-db": {
|
| 5032 |
"version": "1.52.0",
|
| 5033 |
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
|
@@ -5071,6 +6213,17 @@
|
|
| 5071 |
"url": "https://github.com/sponsors/ljharb"
|
| 5072 |
}
|
| 5073 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5074 |
"node_modules/mkdirp": {
|
| 5075 |
"version": "0.5.6",
|
| 5076 |
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
|
@@ -5143,9 +6296,9 @@
|
|
| 5143 |
}
|
| 5144 |
},
|
| 5145 |
"node_modules/mongoose": {
|
| 5146 |
-
"version": "9.1.
|
| 5147 |
-
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-9.1.
|
| 5148 |
-
"integrity": "sha512
|
| 5149 |
"license": "MIT",
|
| 5150 |
"dependencies": {
|
| 5151 |
"kareem": "3.0.0",
|
|
@@ -5271,6 +6424,79 @@
|
|
| 5271 |
"node": "^18 || ^20 || >= 21"
|
| 5272 |
}
|
| 5273 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5274 |
"node_modules/node-gyp-build": {
|
| 5275 |
"version": "4.8.4",
|
| 5276 |
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
|
|
@@ -5289,6 +6515,15 @@
|
|
| 5289 |
"dev": true,
|
| 5290 |
"license": "MIT"
|
| 5291 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5292 |
"node_modules/object-assign": {
|
| 5293 |
"version": "4.1.1",
|
| 5294 |
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
|
@@ -5298,6 +6533,16 @@
|
|
| 5298 |
"node": ">=0.10.0"
|
| 5299 |
}
|
| 5300 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5301 |
"node_modules/object-inspect": {
|
| 5302 |
"version": "1.13.4",
|
| 5303 |
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
|
@@ -5353,7 +6598,7 @@
|
|
| 5353 |
"version": "3.1.0",
|
| 5354 |
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
| 5355 |
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
| 5356 |
-
"
|
| 5357 |
"license": "MIT",
|
| 5358 |
"dependencies": {
|
| 5359 |
"yocto-queue": "^0.1.0"
|
|
@@ -5381,6 +6626,14 @@
|
|
| 5381 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 5382 |
}
|
| 5383 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5384 |
"node_modules/parent-module": {
|
| 5385 |
"version": "1.0.1",
|
| 5386 |
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
|
@@ -5442,12 +6695,38 @@
|
|
| 5442 |
"version": "3.1.1",
|
| 5443 |
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
| 5444 |
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
| 5445 |
-
"
|
| 5446 |
"license": "MIT",
|
| 5447 |
"engines": {
|
| 5448 |
"node": ">=8"
|
| 5449 |
}
|
| 5450 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5451 |
"node_modules/path-to-regexp": {
|
| 5452 |
"version": "8.3.0",
|
| 5453 |
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
|
|
@@ -5534,6 +6813,19 @@
|
|
| 5534 |
"url": "https://github.com/sponsors/wooorm"
|
| 5535 |
}
|
| 5536 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5537 |
"node_modules/protobufjs": {
|
| 5538 |
"version": "7.5.4",
|
| 5539 |
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz",
|
|
@@ -5586,6 +6878,17 @@
|
|
| 5586 |
"node": ">=6"
|
| 5587 |
}
|
| 5588 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5589 |
"node_modules/qs": {
|
| 5590 |
"version": "6.14.1",
|
| 5591 |
"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
|
|
@@ -5763,6 +7066,48 @@
|
|
| 5763 |
"node": ">=4"
|
| 5764 |
}
|
| 5765 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5766 |
"node_modules/rollup": {
|
| 5767 |
"version": "4.54.0",
|
| 5768 |
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.54.0.tgz",
|
|
@@ -5943,7 +7288,7 @@
|
|
| 5943 |
"version": "2.0.0",
|
| 5944 |
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
| 5945 |
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
| 5946 |
-
"
|
| 5947 |
"license": "MIT",
|
| 5948 |
"dependencies": {
|
| 5949 |
"shebang-regex": "^3.0.0"
|
|
@@ -5956,7 +7301,7 @@
|
|
| 5956 |
"version": "3.0.0",
|
| 5957 |
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
| 5958 |
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
| 5959 |
-
"
|
| 5960 |
"license": "MIT",
|
| 5961 |
"engines": {
|
| 5962 |
"node": ">=8"
|
|
@@ -6040,6 +7385,20 @@
|
|
| 6040 |
"integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==",
|
| 6041 |
"license": "MIT"
|
| 6042 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6043 |
"node_modules/socket.io": {
|
| 6044 |
"version": "4.8.3",
|
| 6045 |
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz",
|
|
@@ -6156,6 +7515,23 @@
|
|
| 6156 |
"node": ">= 0.8"
|
| 6157 |
}
|
| 6158 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6159 |
"node_modules/streamsearch": {
|
| 6160 |
"version": "1.1.0",
|
| 6161 |
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
|
|
@@ -6187,6 +7563,23 @@
|
|
| 6187 |
"node": ">=8"
|
| 6188 |
}
|
| 6189 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6190 |
"node_modules/stringify-entities": {
|
| 6191 |
"version": "4.0.4",
|
| 6192 |
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
|
|
@@ -6213,6 +7606,21 @@
|
|
| 6213 |
"node": ">=8"
|
| 6214 |
}
|
| 6215 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6216 |
"node_modules/strip-json-comments": {
|
| 6217 |
"version": "3.1.1",
|
| 6218 |
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
|
@@ -6226,6 +7634,26 @@
|
|
| 6226 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 6227 |
}
|
| 6228 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6229 |
"node_modules/style-to-js": {
|
| 6230 |
"version": "1.1.21",
|
| 6231 |
"resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
|
|
@@ -6264,6 +7692,64 @@
|
|
| 6264 |
"dev": true,
|
| 6265 |
"license": "MIT"
|
| 6266 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6267 |
"node_modules/tinyglobby": {
|
| 6268 |
"version": "0.2.15",
|
| 6269 |
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
|
@@ -6535,6 +8021,19 @@
|
|
| 6535 |
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
| 6536 |
"license": "MIT"
|
| 6537 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6538 |
"node_modules/vary": {
|
| 6539 |
"version": "1.1.2",
|
| 6540 |
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
|
@@ -6647,6 +8146,17 @@
|
|
| 6647 |
}
|
| 6648 |
}
|
| 6649 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6650 |
"node_modules/web-vitals": {
|
| 6651 |
"version": "4.2.4",
|
| 6652 |
"resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz",
|
|
@@ -6702,7 +8212,7 @@
|
|
| 6702 |
"version": "2.0.2",
|
| 6703 |
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
| 6704 |
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
| 6705 |
-
"
|
| 6706 |
"license": "ISC",
|
| 6707 |
"dependencies": {
|
| 6708 |
"isexe": "^2.0.0"
|
|
@@ -6741,6 +8251,26 @@
|
|
| 6741 |
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 6742 |
}
|
| 6743 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6744 |
"node_modules/wrappy": {
|
| 6745 |
"version": "1.0.2",
|
| 6746 |
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
|
@@ -6832,7 +8362,7 @@
|
|
| 6832 |
"version": "0.1.0",
|
| 6833 |
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
| 6834 |
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
|
| 6835 |
-
"
|
| 6836 |
"license": "MIT",
|
| 6837 |
"engines": {
|
| 6838 |
"node": ">=10"
|
|
|
|
| 8 |
"name": "kibali-ui",
|
| 9 |
"version": "0.0.0",
|
| 10 |
"dependencies": {
|
| 11 |
+
"@simplewebauthn/browser": "^13.2.2",
|
| 12 |
"axios": "^1.13.2",
|
| 13 |
"bcrypt": "^6.0.0",
|
| 14 |
+
"bcryptjs": "^3.0.3",
|
| 15 |
+
"body-parser": "^2.2.1",
|
| 16 |
+
"cloudinary": "^2.8.0",
|
| 17 |
"cors": "^2.8.5",
|
| 18 |
"dotenv": "^17.2.3",
|
| 19 |
"express": "^5.2.1",
|
| 20 |
"firebase": "^12.7.0",
|
| 21 |
+
"firebase-admin": "^13.6.0",
|
| 22 |
"jsonwebtoken": "^9.0.3",
|
| 23 |
"leaflet": "^1.9.4",
|
| 24 |
"lucide-react": "^0.562.0",
|
| 25 |
+
"mongoose": "^9.1.1",
|
| 26 |
"multer": "^2.0.2",
|
| 27 |
+
"nodemailer": "^7.0.12",
|
| 28 |
"react": "^19.2.0",
|
| 29 |
"react-dom": "^19.2.0",
|
| 30 |
"react-leaflet": "^5.0.0",
|
| 31 |
"react-markdown": "^10.1.0",
|
| 32 |
"socket.io": "^4.8.3",
|
| 33 |
+
"socket.io-client": "^4.8.3",
|
| 34 |
+
"ws": "^8.18.3"
|
| 35 |
},
|
| 36 |
"devDependencies": {
|
| 37 |
"@eslint/js": "^9.39.1",
|
|
|
|
| 929 |
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
| 930 |
}
|
| 931 |
},
|
| 932 |
+
"node_modules/@fastify/busboy": {
|
| 933 |
+
"version": "3.2.0",
|
| 934 |
+
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz",
|
| 935 |
+
"integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==",
|
| 936 |
+
"license": "MIT"
|
| 937 |
+
},
|
| 938 |
"node_modules/@firebase/ai": {
|
| 939 |
"version": "2.6.1",
|
| 940 |
"resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-2.6.1.tgz",
|
|
|
|
| 1543 |
"integrity": "sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw==",
|
| 1544 |
"license": "Apache-2.0"
|
| 1545 |
},
|
| 1546 |
+
"node_modules/@google-cloud/firestore": {
|
| 1547 |
+
"version": "7.11.6",
|
| 1548 |
+
"resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-7.11.6.tgz",
|
| 1549 |
+
"integrity": "sha512-EW/O8ktzwLfyWBOsNuhRoMi8lrC3clHM5LVFhGvO1HCsLozCOOXRAlHrYBoE6HL42Sc8yYMuCb2XqcnJ4OOEpw==",
|
| 1550 |
+
"license": "Apache-2.0",
|
| 1551 |
+
"optional": true,
|
| 1552 |
+
"dependencies": {
|
| 1553 |
+
"@opentelemetry/api": "^1.3.0",
|
| 1554 |
+
"fast-deep-equal": "^3.1.1",
|
| 1555 |
+
"functional-red-black-tree": "^1.0.1",
|
| 1556 |
+
"google-gax": "^4.3.3",
|
| 1557 |
+
"protobufjs": "^7.2.6"
|
| 1558 |
+
},
|
| 1559 |
+
"engines": {
|
| 1560 |
+
"node": ">=14.0.0"
|
| 1561 |
+
}
|
| 1562 |
+
},
|
| 1563 |
+
"node_modules/@google-cloud/paginator": {
|
| 1564 |
+
"version": "5.0.2",
|
| 1565 |
+
"resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-5.0.2.tgz",
|
| 1566 |
+
"integrity": "sha512-DJS3s0OVH4zFDB1PzjxAsHqJT6sKVbRwwML0ZBP9PbU7Yebtu/7SWMRzvO2J3nUi9pRNITCfu4LJeooM2w4pjg==",
|
| 1567 |
+
"license": "Apache-2.0",
|
| 1568 |
+
"optional": true,
|
| 1569 |
+
"dependencies": {
|
| 1570 |
+
"arrify": "^2.0.0",
|
| 1571 |
+
"extend": "^3.0.2"
|
| 1572 |
+
},
|
| 1573 |
+
"engines": {
|
| 1574 |
+
"node": ">=14.0.0"
|
| 1575 |
+
}
|
| 1576 |
+
},
|
| 1577 |
+
"node_modules/@google-cloud/projectify": {
|
| 1578 |
+
"version": "4.0.0",
|
| 1579 |
+
"resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-4.0.0.tgz",
|
| 1580 |
+
"integrity": "sha512-MmaX6HeSvyPbWGwFq7mXdo0uQZLGBYCwziiLIGq5JVX+/bdI3SAq6bP98trV5eTWfLuvsMcIC1YJOF2vfteLFA==",
|
| 1581 |
+
"license": "Apache-2.0",
|
| 1582 |
+
"optional": true,
|
| 1583 |
+
"engines": {
|
| 1584 |
+
"node": ">=14.0.0"
|
| 1585 |
+
}
|
| 1586 |
+
},
|
| 1587 |
+
"node_modules/@google-cloud/promisify": {
|
| 1588 |
+
"version": "4.0.0",
|
| 1589 |
+
"resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-4.0.0.tgz",
|
| 1590 |
+
"integrity": "sha512-Orxzlfb9c67A15cq2JQEyVc7wEsmFBmHjZWZYQMUyJ1qivXyMwdyNOs9odi79hze+2zqdTtu1E19IM/FtqZ10g==",
|
| 1591 |
+
"license": "Apache-2.0",
|
| 1592 |
+
"optional": true,
|
| 1593 |
+
"engines": {
|
| 1594 |
+
"node": ">=14"
|
| 1595 |
+
}
|
| 1596 |
+
},
|
| 1597 |
+
"node_modules/@google-cloud/storage": {
|
| 1598 |
+
"version": "7.18.0",
|
| 1599 |
+
"resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-7.18.0.tgz",
|
| 1600 |
+
"integrity": "sha512-r3ZwDMiz4nwW6R922Z1pwpePxyRwE5GdevYX63hRmAQUkUQJcBH/79EnQPDv5cOv1mFBgevdNWQfi3tie3dHrQ==",
|
| 1601 |
+
"license": "Apache-2.0",
|
| 1602 |
+
"optional": true,
|
| 1603 |
+
"dependencies": {
|
| 1604 |
+
"@google-cloud/paginator": "^5.0.0",
|
| 1605 |
+
"@google-cloud/projectify": "^4.0.0",
|
| 1606 |
+
"@google-cloud/promisify": "<4.1.0",
|
| 1607 |
+
"abort-controller": "^3.0.0",
|
| 1608 |
+
"async-retry": "^1.3.3",
|
| 1609 |
+
"duplexify": "^4.1.3",
|
| 1610 |
+
"fast-xml-parser": "^4.4.1",
|
| 1611 |
+
"gaxios": "^6.0.2",
|
| 1612 |
+
"google-auth-library": "^9.6.3",
|
| 1613 |
+
"html-entities": "^2.5.2",
|
| 1614 |
+
"mime": "^3.0.0",
|
| 1615 |
+
"p-limit": "^3.0.1",
|
| 1616 |
+
"retry-request": "^7.0.0",
|
| 1617 |
+
"teeny-request": "^9.0.0",
|
| 1618 |
+
"uuid": "^8.0.0"
|
| 1619 |
+
},
|
| 1620 |
+
"engines": {
|
| 1621 |
+
"node": ">=14"
|
| 1622 |
+
}
|
| 1623 |
+
},
|
| 1624 |
+
"node_modules/@google-cloud/storage/node_modules/uuid": {
|
| 1625 |
+
"version": "8.3.2",
|
| 1626 |
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
| 1627 |
+
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
| 1628 |
+
"license": "MIT",
|
| 1629 |
+
"optional": true,
|
| 1630 |
+
"bin": {
|
| 1631 |
+
"uuid": "dist/bin/uuid"
|
| 1632 |
+
}
|
| 1633 |
+
},
|
| 1634 |
"node_modules/@grpc/grpc-js": {
|
| 1635 |
"version": "1.9.15",
|
| 1636 |
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz",
|
|
|
|
| 1714 |
"url": "https://github.com/sponsors/nzakas"
|
| 1715 |
}
|
| 1716 |
},
|
| 1717 |
+
"node_modules/@isaacs/cliui": {
|
| 1718 |
+
"version": "8.0.2",
|
| 1719 |
+
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
| 1720 |
+
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
| 1721 |
+
"license": "ISC",
|
| 1722 |
+
"optional": true,
|
| 1723 |
+
"peer": true,
|
| 1724 |
+
"dependencies": {
|
| 1725 |
+
"string-width": "^5.1.2",
|
| 1726 |
+
"string-width-cjs": "npm:string-width@^4.2.0",
|
| 1727 |
+
"strip-ansi": "^7.0.1",
|
| 1728 |
+
"strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
|
| 1729 |
+
"wrap-ansi": "^8.1.0",
|
| 1730 |
+
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
|
| 1731 |
+
},
|
| 1732 |
+
"engines": {
|
| 1733 |
+
"node": ">=12"
|
| 1734 |
+
}
|
| 1735 |
+
},
|
| 1736 |
+
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
|
| 1737 |
+
"version": "6.2.2",
|
| 1738 |
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
| 1739 |
+
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
| 1740 |
+
"license": "MIT",
|
| 1741 |
+
"optional": true,
|
| 1742 |
+
"peer": true,
|
| 1743 |
+
"engines": {
|
| 1744 |
+
"node": ">=12"
|
| 1745 |
+
},
|
| 1746 |
+
"funding": {
|
| 1747 |
+
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
| 1748 |
+
}
|
| 1749 |
+
},
|
| 1750 |
+
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
|
| 1751 |
+
"version": "6.2.3",
|
| 1752 |
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
| 1753 |
+
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
| 1754 |
+
"license": "MIT",
|
| 1755 |
+
"optional": true,
|
| 1756 |
+
"peer": true,
|
| 1757 |
+
"engines": {
|
| 1758 |
+
"node": ">=12"
|
| 1759 |
+
},
|
| 1760 |
+
"funding": {
|
| 1761 |
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
| 1762 |
+
}
|
| 1763 |
+
},
|
| 1764 |
+
"node_modules/@isaacs/cliui/node_modules/emoji-regex": {
|
| 1765 |
+
"version": "9.2.2",
|
| 1766 |
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
| 1767 |
+
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
| 1768 |
+
"license": "MIT",
|
| 1769 |
+
"optional": true,
|
| 1770 |
+
"peer": true
|
| 1771 |
+
},
|
| 1772 |
+
"node_modules/@isaacs/cliui/node_modules/string-width": {
|
| 1773 |
+
"version": "5.1.2",
|
| 1774 |
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
| 1775 |
+
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
| 1776 |
+
"license": "MIT",
|
| 1777 |
+
"optional": true,
|
| 1778 |
+
"peer": true,
|
| 1779 |
+
"dependencies": {
|
| 1780 |
+
"eastasianwidth": "^0.2.0",
|
| 1781 |
+
"emoji-regex": "^9.2.2",
|
| 1782 |
+
"strip-ansi": "^7.0.1"
|
| 1783 |
+
},
|
| 1784 |
+
"engines": {
|
| 1785 |
+
"node": ">=12"
|
| 1786 |
+
},
|
| 1787 |
+
"funding": {
|
| 1788 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1789 |
+
}
|
| 1790 |
+
},
|
| 1791 |
+
"node_modules/@isaacs/cliui/node_modules/strip-ansi": {
|
| 1792 |
+
"version": "7.1.2",
|
| 1793 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
| 1794 |
+
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
| 1795 |
+
"license": "MIT",
|
| 1796 |
+
"optional": true,
|
| 1797 |
+
"peer": true,
|
| 1798 |
+
"dependencies": {
|
| 1799 |
+
"ansi-regex": "^6.0.1"
|
| 1800 |
+
},
|
| 1801 |
+
"engines": {
|
| 1802 |
+
"node": ">=12"
|
| 1803 |
+
},
|
| 1804 |
+
"funding": {
|
| 1805 |
+
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
| 1806 |
+
}
|
| 1807 |
+
},
|
| 1808 |
+
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
|
| 1809 |
+
"version": "8.1.0",
|
| 1810 |
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
| 1811 |
+
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
|
| 1812 |
+
"license": "MIT",
|
| 1813 |
+
"optional": true,
|
| 1814 |
+
"peer": true,
|
| 1815 |
+
"dependencies": {
|
| 1816 |
+
"ansi-styles": "^6.1.0",
|
| 1817 |
+
"string-width": "^5.0.1",
|
| 1818 |
+
"strip-ansi": "^7.0.1"
|
| 1819 |
+
},
|
| 1820 |
+
"engines": {
|
| 1821 |
+
"node": ">=12"
|
| 1822 |
+
},
|
| 1823 |
+
"funding": {
|
| 1824 |
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 1825 |
+
}
|
| 1826 |
+
},
|
| 1827 |
"node_modules/@jridgewell/gen-mapping": {
|
| 1828 |
"version": "0.3.13",
|
| 1829 |
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
|
|
|
|
| 1874 |
"@jridgewell/sourcemap-codec": "^1.4.14"
|
| 1875 |
}
|
| 1876 |
},
|
| 1877 |
+
"node_modules/@js-sdsl/ordered-map": {
|
| 1878 |
+
"version": "4.4.2",
|
| 1879 |
+
"resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
|
| 1880 |
+
"integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
|
| 1881 |
+
"license": "MIT",
|
| 1882 |
+
"optional": true,
|
| 1883 |
+
"funding": {
|
| 1884 |
+
"type": "opencollective",
|
| 1885 |
+
"url": "https://opencollective.com/js-sdsl"
|
| 1886 |
+
}
|
| 1887 |
+
},
|
| 1888 |
"node_modules/@mongodb-js/saslprep": {
|
| 1889 |
"version": "1.4.4",
|
| 1890 |
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.4.tgz",
|
|
|
|
| 1894 |
"sparse-bitfield": "^3.0.3"
|
| 1895 |
}
|
| 1896 |
},
|
| 1897 |
+
"node_modules/@opentelemetry/api": {
|
| 1898 |
+
"version": "1.9.0",
|
| 1899 |
+
"resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
|
| 1900 |
+
"integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
|
| 1901 |
+
"license": "Apache-2.0",
|
| 1902 |
+
"optional": true,
|
| 1903 |
+
"engines": {
|
| 1904 |
+
"node": ">=8.0.0"
|
| 1905 |
+
}
|
| 1906 |
+
},
|
| 1907 |
+
"node_modules/@pkgjs/parseargs": {
|
| 1908 |
+
"version": "0.11.0",
|
| 1909 |
+
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
| 1910 |
+
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
| 1911 |
+
"license": "MIT",
|
| 1912 |
+
"optional": true,
|
| 1913 |
+
"peer": true,
|
| 1914 |
+
"engines": {
|
| 1915 |
+
"node": ">=14"
|
| 1916 |
+
}
|
| 1917 |
+
},
|
| 1918 |
"node_modules/@protobufjs/aspromise": {
|
| 1919 |
"version": "1.1.2",
|
| 1920 |
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
|
|
|
| 2305 |
"win32"
|
| 2306 |
]
|
| 2307 |
},
|
| 2308 |
+
"node_modules/@simplewebauthn/browser": {
|
| 2309 |
+
"version": "13.2.2",
|
| 2310 |
+
"resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.2.2.tgz",
|
| 2311 |
+
"integrity": "sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==",
|
| 2312 |
+
"license": "MIT"
|
| 2313 |
+
},
|
| 2314 |
"node_modules/@socket.io/component-emitter": {
|
| 2315 |
"version": "3.1.2",
|
| 2316 |
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
|
| 2317 |
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
|
| 2318 |
"license": "MIT"
|
| 2319 |
},
|
| 2320 |
+
"node_modules/@tootallnate/once": {
|
| 2321 |
+
"version": "2.0.0",
|
| 2322 |
+
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
|
| 2323 |
+
"integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
|
| 2324 |
+
"license": "MIT",
|
| 2325 |
+
"optional": true,
|
| 2326 |
+
"engines": {
|
| 2327 |
+
"node": ">= 10"
|
| 2328 |
+
}
|
| 2329 |
+
},
|
| 2330 |
"node_modules/@types/babel__core": {
|
| 2331 |
"version": "7.20.5",
|
| 2332 |
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
|
|
|
|
| 2372 |
"@babel/types": "^7.28.2"
|
| 2373 |
}
|
| 2374 |
},
|
| 2375 |
+
"node_modules/@types/body-parser": {
|
| 2376 |
+
"version": "1.19.6",
|
| 2377 |
+
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
|
| 2378 |
+
"integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
|
| 2379 |
+
"license": "MIT",
|
| 2380 |
+
"dependencies": {
|
| 2381 |
+
"@types/connect": "*",
|
| 2382 |
+
"@types/node": "*"
|
| 2383 |
+
}
|
| 2384 |
+
},
|
| 2385 |
+
"node_modules/@types/caseless": {
|
| 2386 |
+
"version": "0.12.5",
|
| 2387 |
+
"resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.5.tgz",
|
| 2388 |
+
"integrity": "sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==",
|
| 2389 |
+
"license": "MIT",
|
| 2390 |
+
"optional": true
|
| 2391 |
+
},
|
| 2392 |
+
"node_modules/@types/connect": {
|
| 2393 |
+
"version": "3.4.38",
|
| 2394 |
+
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
|
| 2395 |
+
"integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
|
| 2396 |
+
"license": "MIT",
|
| 2397 |
+
"dependencies": {
|
| 2398 |
+
"@types/node": "*"
|
| 2399 |
+
}
|
| 2400 |
+
},
|
| 2401 |
"node_modules/@types/cors": {
|
| 2402 |
"version": "2.8.19",
|
| 2403 |
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
|
|
|
|
| 2431 |
"@types/estree": "*"
|
| 2432 |
}
|
| 2433 |
},
|
| 2434 |
+
"node_modules/@types/express": {
|
| 2435 |
+
"version": "4.17.25",
|
| 2436 |
+
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz",
|
| 2437 |
+
"integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==",
|
| 2438 |
+
"license": "MIT",
|
| 2439 |
+
"dependencies": {
|
| 2440 |
+
"@types/body-parser": "*",
|
| 2441 |
+
"@types/express-serve-static-core": "^4.17.33",
|
| 2442 |
+
"@types/qs": "*",
|
| 2443 |
+
"@types/serve-static": "^1"
|
| 2444 |
+
}
|
| 2445 |
+
},
|
| 2446 |
+
"node_modules/@types/express-serve-static-core": {
|
| 2447 |
+
"version": "4.19.7",
|
| 2448 |
+
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz",
|
| 2449 |
+
"integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==",
|
| 2450 |
+
"license": "MIT",
|
| 2451 |
+
"dependencies": {
|
| 2452 |
+
"@types/node": "*",
|
| 2453 |
+
"@types/qs": "*",
|
| 2454 |
+
"@types/range-parser": "*",
|
| 2455 |
+
"@types/send": "*"
|
| 2456 |
+
}
|
| 2457 |
+
},
|
| 2458 |
"node_modules/@types/hast": {
|
| 2459 |
"version": "3.0.4",
|
| 2460 |
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
|
|
|
|
| 2464 |
"@types/unist": "*"
|
| 2465 |
}
|
| 2466 |
},
|
| 2467 |
+
"node_modules/@types/http-errors": {
|
| 2468 |
+
"version": "2.0.5",
|
| 2469 |
+
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
|
| 2470 |
+
"integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
|
| 2471 |
+
"license": "MIT"
|
| 2472 |
+
},
|
| 2473 |
"node_modules/@types/json-schema": {
|
| 2474 |
"version": "7.0.15",
|
| 2475 |
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
|
|
|
|
| 2477 |
"dev": true,
|
| 2478 |
"license": "MIT"
|
| 2479 |
},
|
| 2480 |
+
"node_modules/@types/jsonwebtoken": {
|
| 2481 |
+
"version": "9.0.10",
|
| 2482 |
+
"resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz",
|
| 2483 |
+
"integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==",
|
| 2484 |
+
"license": "MIT",
|
| 2485 |
+
"dependencies": {
|
| 2486 |
+
"@types/ms": "*",
|
| 2487 |
+
"@types/node": "*"
|
| 2488 |
+
}
|
| 2489 |
+
},
|
| 2490 |
+
"node_modules/@types/long": {
|
| 2491 |
+
"version": "4.0.2",
|
| 2492 |
+
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
|
| 2493 |
+
"integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
|
| 2494 |
+
"license": "MIT",
|
| 2495 |
+
"optional": true
|
| 2496 |
+
},
|
| 2497 |
"node_modules/@types/mdast": {
|
| 2498 |
"version": "4.0.4",
|
| 2499 |
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
|
|
|
|
| 2503 |
"@types/unist": "*"
|
| 2504 |
}
|
| 2505 |
},
|
| 2506 |
+
"node_modules/@types/mime": {
|
| 2507 |
+
"version": "1.3.5",
|
| 2508 |
+
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
|
| 2509 |
+
"integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
|
| 2510 |
+
"license": "MIT"
|
| 2511 |
+
},
|
| 2512 |
"node_modules/@types/ms": {
|
| 2513 |
"version": "2.1.0",
|
| 2514 |
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
|
|
|
|
| 2524 |
"undici-types": "~7.16.0"
|
| 2525 |
}
|
| 2526 |
},
|
| 2527 |
+
"node_modules/@types/qs": {
|
| 2528 |
+
"version": "6.14.0",
|
| 2529 |
+
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
|
| 2530 |
+
"integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
|
| 2531 |
+
"license": "MIT"
|
| 2532 |
+
},
|
| 2533 |
+
"node_modules/@types/range-parser": {
|
| 2534 |
+
"version": "1.2.7",
|
| 2535 |
+
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
|
| 2536 |
+
"integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
|
| 2537 |
+
"license": "MIT"
|
| 2538 |
+
},
|
| 2539 |
"node_modules/@types/react": {
|
| 2540 |
"version": "19.2.7",
|
| 2541 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
|
|
|
|
| 2555 |
"@types/react": "^19.2.0"
|
| 2556 |
}
|
| 2557 |
},
|
| 2558 |
+
"node_modules/@types/request": {
|
| 2559 |
+
"version": "2.48.13",
|
| 2560 |
+
"resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.13.tgz",
|
| 2561 |
+
"integrity": "sha512-FGJ6udDNUCjd19pp0Q3iTiDkwhYup7J8hpMW9c4k53NrccQFFWKRho6hvtPPEhnXWKvukfwAlB6DbDz4yhH5Gg==",
|
| 2562 |
+
"license": "MIT",
|
| 2563 |
+
"optional": true,
|
| 2564 |
+
"dependencies": {
|
| 2565 |
+
"@types/caseless": "*",
|
| 2566 |
+
"@types/node": "*",
|
| 2567 |
+
"@types/tough-cookie": "*",
|
| 2568 |
+
"form-data": "^2.5.5"
|
| 2569 |
+
}
|
| 2570 |
+
},
|
| 2571 |
+
"node_modules/@types/request/node_modules/form-data": {
|
| 2572 |
+
"version": "2.5.5",
|
| 2573 |
+
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
|
| 2574 |
+
"integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==",
|
| 2575 |
+
"license": "MIT",
|
| 2576 |
+
"optional": true,
|
| 2577 |
+
"dependencies": {
|
| 2578 |
+
"asynckit": "^0.4.0",
|
| 2579 |
+
"combined-stream": "^1.0.8",
|
| 2580 |
+
"es-set-tostringtag": "^2.1.0",
|
| 2581 |
+
"hasown": "^2.0.2",
|
| 2582 |
+
"mime-types": "^2.1.35",
|
| 2583 |
+
"safe-buffer": "^5.2.1"
|
| 2584 |
+
},
|
| 2585 |
+
"engines": {
|
| 2586 |
+
"node": ">= 0.12"
|
| 2587 |
+
}
|
| 2588 |
+
},
|
| 2589 |
+
"node_modules/@types/send": {
|
| 2590 |
+
"version": "1.2.1",
|
| 2591 |
+
"resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz",
|
| 2592 |
+
"integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==",
|
| 2593 |
+
"license": "MIT",
|
| 2594 |
+
"dependencies": {
|
| 2595 |
+
"@types/node": "*"
|
| 2596 |
+
}
|
| 2597 |
+
},
|
| 2598 |
+
"node_modules/@types/serve-static": {
|
| 2599 |
+
"version": "1.15.10",
|
| 2600 |
+
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz",
|
| 2601 |
+
"integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==",
|
| 2602 |
+
"license": "MIT",
|
| 2603 |
+
"dependencies": {
|
| 2604 |
+
"@types/http-errors": "*",
|
| 2605 |
+
"@types/node": "*",
|
| 2606 |
+
"@types/send": "<1"
|
| 2607 |
+
}
|
| 2608 |
+
},
|
| 2609 |
+
"node_modules/@types/serve-static/node_modules/@types/send": {
|
| 2610 |
+
"version": "0.17.6",
|
| 2611 |
+
"resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz",
|
| 2612 |
+
"integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==",
|
| 2613 |
+
"license": "MIT",
|
| 2614 |
+
"dependencies": {
|
| 2615 |
+
"@types/mime": "^1",
|
| 2616 |
+
"@types/node": "*"
|
| 2617 |
+
}
|
| 2618 |
+
},
|
| 2619 |
+
"node_modules/@types/tough-cookie": {
|
| 2620 |
+
"version": "4.0.5",
|
| 2621 |
+
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
|
| 2622 |
+
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
|
| 2623 |
+
"license": "MIT",
|
| 2624 |
+
"optional": true
|
| 2625 |
+
},
|
| 2626 |
"node_modules/@types/unist": {
|
| 2627 |
"version": "3.0.3",
|
| 2628 |
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
|
|
|
|
| 2671 |
"vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
|
| 2672 |
}
|
| 2673 |
},
|
| 2674 |
+
"node_modules/abort-controller": {
|
| 2675 |
+
"version": "3.0.0",
|
| 2676 |
+
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
| 2677 |
+
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
| 2678 |
+
"license": "MIT",
|
| 2679 |
+
"optional": true,
|
| 2680 |
+
"dependencies": {
|
| 2681 |
+
"event-target-shim": "^5.0.0"
|
| 2682 |
+
},
|
| 2683 |
+
"engines": {
|
| 2684 |
+
"node": ">=6.5"
|
| 2685 |
+
}
|
| 2686 |
+
},
|
| 2687 |
"node_modules/accepts": {
|
| 2688 |
"version": "2.0.0",
|
| 2689 |
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
|
|
|
|
| 2745 |
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
| 2746 |
}
|
| 2747 |
},
|
| 2748 |
+
"node_modules/agent-base": {
|
| 2749 |
+
"version": "7.1.4",
|
| 2750 |
+
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
|
| 2751 |
+
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
|
| 2752 |
+
"license": "MIT",
|
| 2753 |
+
"engines": {
|
| 2754 |
+
"node": ">= 14"
|
| 2755 |
+
}
|
| 2756 |
+
},
|
| 2757 |
"node_modules/ajv": {
|
| 2758 |
"version": "6.12.6",
|
| 2759 |
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
|
|
|
| 2808 |
"dev": true,
|
| 2809 |
"license": "Python-2.0"
|
| 2810 |
},
|
| 2811 |
+
"node_modules/arrify": {
|
| 2812 |
+
"version": "2.0.1",
|
| 2813 |
+
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
|
| 2814 |
+
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
|
| 2815 |
+
"license": "MIT",
|
| 2816 |
+
"optional": true,
|
| 2817 |
+
"engines": {
|
| 2818 |
+
"node": ">=8"
|
| 2819 |
+
}
|
| 2820 |
+
},
|
| 2821 |
+
"node_modules/async-retry": {
|
| 2822 |
+
"version": "1.3.3",
|
| 2823 |
+
"resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz",
|
| 2824 |
+
"integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
|
| 2825 |
+
"license": "MIT",
|
| 2826 |
+
"optional": true,
|
| 2827 |
+
"dependencies": {
|
| 2828 |
+
"retry": "0.13.1"
|
| 2829 |
+
}
|
| 2830 |
+
},
|
| 2831 |
"node_modules/asynckit": {
|
| 2832 |
"version": "0.4.0",
|
| 2833 |
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
|
|
| 2896 |
"version": "1.0.2",
|
| 2897 |
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
| 2898 |
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
| 2899 |
+
"devOptional": true,
|
| 2900 |
+
"license": "MIT"
|
| 2901 |
+
},
|
| 2902 |
+
"node_modules/base64-js": {
|
| 2903 |
+
"version": "1.5.1",
|
| 2904 |
+
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
| 2905 |
+
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
| 2906 |
+
"funding": [
|
| 2907 |
+
{
|
| 2908 |
+
"type": "github",
|
| 2909 |
+
"url": "https://github.com/sponsors/feross"
|
| 2910 |
+
},
|
| 2911 |
+
{
|
| 2912 |
+
"type": "patreon",
|
| 2913 |
+
"url": "https://www.patreon.com/feross"
|
| 2914 |
+
},
|
| 2915 |
+
{
|
| 2916 |
+
"type": "consulting",
|
| 2917 |
+
"url": "https://feross.org/support"
|
| 2918 |
+
}
|
| 2919 |
+
],
|
| 2920 |
"license": "MIT"
|
| 2921 |
},
|
| 2922 |
"node_modules/base64id": {
|
|
|
|
| 2952 |
"node": ">= 18"
|
| 2953 |
}
|
| 2954 |
},
|
| 2955 |
+
"node_modules/bcryptjs": {
|
| 2956 |
+
"version": "3.0.3",
|
| 2957 |
+
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.3.tgz",
|
| 2958 |
+
"integrity": "sha512-GlF5wPWnSa/X5LKM1o0wz0suXIINz1iHRLvTS+sLyi7XPbe5ycmYI3DlZqVGZZtDgl4DmasFg7gOB3JYbphV5g==",
|
| 2959 |
+
"license": "BSD-3-Clause",
|
| 2960 |
+
"bin": {
|
| 2961 |
+
"bcrypt": "bin/bcrypt"
|
| 2962 |
+
}
|
| 2963 |
+
},
|
| 2964 |
+
"node_modules/bignumber.js": {
|
| 2965 |
+
"version": "9.3.1",
|
| 2966 |
+
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
|
| 2967 |
+
"integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
|
| 2968 |
+
"license": "MIT",
|
| 2969 |
+
"engines": {
|
| 2970 |
+
"node": "*"
|
| 2971 |
+
}
|
| 2972 |
+
},
|
| 2973 |
"node_modules/body-parser": {
|
| 2974 |
"version": "2.2.1",
|
| 2975 |
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz",
|
|
|
|
| 3221 |
"node": ">=12"
|
| 3222 |
}
|
| 3223 |
},
|
| 3224 |
+
"node_modules/cloudinary": {
|
| 3225 |
+
"version": "2.8.0",
|
| 3226 |
+
"resolved": "https://registry.npmjs.org/cloudinary/-/cloudinary-2.8.0.tgz",
|
| 3227 |
+
"integrity": "sha512-s7frvR0HnQXeJsQSIsbLa/I09IMb1lOnVLEDH5b5E53WTiCYgrNNOBGV/i/nLHwrcEOUkqjfSwP1+enXWNYmdw==",
|
| 3228 |
+
"license": "MIT",
|
| 3229 |
+
"dependencies": {
|
| 3230 |
+
"lodash": "^4.17.21",
|
| 3231 |
+
"q": "^1.5.1"
|
| 3232 |
+
},
|
| 3233 |
+
"engines": {
|
| 3234 |
+
"node": ">=9"
|
| 3235 |
+
}
|
| 3236 |
+
},
|
| 3237 |
+
"node_modules/color-convert": {
|
| 3238 |
+
"version": "2.0.1",
|
| 3239 |
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
| 3240 |
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
| 3241 |
"license": "MIT",
|
| 3242 |
"dependencies": {
|
| 3243 |
"color-name": "~1.1.4"
|
|
|
|
| 3360 |
"version": "7.0.6",
|
| 3361 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
| 3362 |
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
| 3363 |
+
"devOptional": true,
|
| 3364 |
"license": "MIT",
|
| 3365 |
"dependencies": {
|
| 3366 |
"path-key": "^3.1.0",
|
|
|
|
| 3377 |
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
| 3378 |
"license": "MIT"
|
| 3379 |
},
|
| 3380 |
+
"node_modules/data-uri-to-buffer": {
|
| 3381 |
+
"version": "4.0.1",
|
| 3382 |
+
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
|
| 3383 |
+
"integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
|
| 3384 |
+
"license": "MIT",
|
| 3385 |
+
"optional": true,
|
| 3386 |
+
"peer": true,
|
| 3387 |
+
"engines": {
|
| 3388 |
+
"node": ">= 12"
|
| 3389 |
+
}
|
| 3390 |
+
},
|
| 3391 |
"node_modules/debug": {
|
| 3392 |
"version": "4.4.3",
|
| 3393 |
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
|
|
|
| 3491 |
"node": ">= 0.4"
|
| 3492 |
}
|
| 3493 |
},
|
| 3494 |
+
"node_modules/duplexify": {
|
| 3495 |
+
"version": "4.1.3",
|
| 3496 |
+
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
|
| 3497 |
+
"integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
|
| 3498 |
+
"license": "MIT",
|
| 3499 |
+
"optional": true,
|
| 3500 |
+
"dependencies": {
|
| 3501 |
+
"end-of-stream": "^1.4.1",
|
| 3502 |
+
"inherits": "^2.0.3",
|
| 3503 |
+
"readable-stream": "^3.1.1",
|
| 3504 |
+
"stream-shift": "^1.0.2"
|
| 3505 |
+
}
|
| 3506 |
+
},
|
| 3507 |
+
"node_modules/eastasianwidth": {
|
| 3508 |
+
"version": "0.2.0",
|
| 3509 |
+
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
| 3510 |
+
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
| 3511 |
+
"license": "MIT",
|
| 3512 |
+
"optional": true,
|
| 3513 |
+
"peer": true
|
| 3514 |
+
},
|
| 3515 |
"node_modules/ecdsa-sig-formatter": {
|
| 3516 |
"version": "1.0.11",
|
| 3517 |
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
|
|
|
|
| 3549 |
"node": ">= 0.8"
|
| 3550 |
}
|
| 3551 |
},
|
| 3552 |
+
"node_modules/end-of-stream": {
|
| 3553 |
+
"version": "1.4.5",
|
| 3554 |
+
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
|
| 3555 |
+
"integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
|
| 3556 |
+
"license": "MIT",
|
| 3557 |
+
"optional": true,
|
| 3558 |
+
"dependencies": {
|
| 3559 |
+
"once": "^1.4.0"
|
| 3560 |
+
}
|
| 3561 |
+
},
|
| 3562 |
"node_modules/engine.io": {
|
| 3563 |
"version": "6.6.5",
|
| 3564 |
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz",
|
|
|
|
| 3941 |
"node": ">= 0.6"
|
| 3942 |
}
|
| 3943 |
},
|
| 3944 |
+
"node_modules/event-target-shim": {
|
| 3945 |
+
"version": "5.0.1",
|
| 3946 |
+
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
| 3947 |
+
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
|
| 3948 |
+
"license": "MIT",
|
| 3949 |
+
"optional": true,
|
| 3950 |
+
"engines": {
|
| 3951 |
+
"node": ">=6"
|
| 3952 |
+
}
|
| 3953 |
+
},
|
| 3954 |
"node_modules/express": {
|
| 3955 |
"version": "5.2.1",
|
| 3956 |
"resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
|
|
|
|
| 4025 |
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
|
| 4026 |
"license": "MIT"
|
| 4027 |
},
|
| 4028 |
+
"node_modules/farmhash-modern": {
|
| 4029 |
+
"version": "1.1.0",
|
| 4030 |
+
"resolved": "https://registry.npmjs.org/farmhash-modern/-/farmhash-modern-1.1.0.tgz",
|
| 4031 |
+
"integrity": "sha512-6ypT4XfgqJk/F3Yuv4SX26I3doUjt0GTG4a+JgWxXQpxXzTBq8fPUeGHfcYMMDPHJHm3yPOSjaeBwBGAHWXCdA==",
|
| 4032 |
+
"license": "MIT",
|
| 4033 |
+
"engines": {
|
| 4034 |
+
"node": ">=18.0.0"
|
| 4035 |
+
}
|
| 4036 |
+
},
|
| 4037 |
"node_modules/fast-deep-equal": {
|
| 4038 |
"version": "3.1.3",
|
| 4039 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
| 4040 |
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
|
|
|
| 4041 |
"license": "MIT"
|
| 4042 |
},
|
| 4043 |
"node_modules/fast-json-stable-stringify": {
|
|
|
|
| 4054 |
"dev": true,
|
| 4055 |
"license": "MIT"
|
| 4056 |
},
|
| 4057 |
+
"node_modules/fast-xml-parser": {
|
| 4058 |
+
"version": "4.5.3",
|
| 4059 |
+
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
|
| 4060 |
+
"integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
|
| 4061 |
+
"funding": [
|
| 4062 |
+
{
|
| 4063 |
+
"type": "github",
|
| 4064 |
+
"url": "https://github.com/sponsors/NaturalIntelligence"
|
| 4065 |
+
}
|
| 4066 |
+
],
|
| 4067 |
+
"license": "MIT",
|
| 4068 |
+
"optional": true,
|
| 4069 |
+
"dependencies": {
|
| 4070 |
+
"strnum": "^1.1.1"
|
| 4071 |
+
},
|
| 4072 |
+
"bin": {
|
| 4073 |
+
"fxparser": "src/cli/cli.js"
|
| 4074 |
+
}
|
| 4075 |
+
},
|
| 4076 |
"node_modules/faye-websocket": {
|
| 4077 |
"version": "0.11.4",
|
| 4078 |
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
|
|
|
|
| 4103 |
}
|
| 4104 |
}
|
| 4105 |
},
|
| 4106 |
+
"node_modules/fetch-blob": {
|
| 4107 |
+
"version": "3.2.0",
|
| 4108 |
+
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
|
| 4109 |
+
"integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
|
| 4110 |
+
"funding": [
|
| 4111 |
+
{
|
| 4112 |
+
"type": "github",
|
| 4113 |
+
"url": "https://github.com/sponsors/jimmywarting"
|
| 4114 |
+
},
|
| 4115 |
+
{
|
| 4116 |
+
"type": "paypal",
|
| 4117 |
+
"url": "https://paypal.me/jimmywarting"
|
| 4118 |
+
}
|
| 4119 |
+
],
|
| 4120 |
+
"license": "MIT",
|
| 4121 |
+
"optional": true,
|
| 4122 |
+
"peer": true,
|
| 4123 |
+
"dependencies": {
|
| 4124 |
+
"node-domexception": "^1.0.0",
|
| 4125 |
+
"web-streams-polyfill": "^3.0.3"
|
| 4126 |
+
},
|
| 4127 |
+
"engines": {
|
| 4128 |
+
"node": "^12.20 || >= 14.13"
|
| 4129 |
+
}
|
| 4130 |
+
},
|
| 4131 |
"node_modules/file-entry-cache": {
|
| 4132 |
"version": "8.0.0",
|
| 4133 |
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
|
|
|
|
| 4215 |
"@firebase/util": "1.13.0"
|
| 4216 |
}
|
| 4217 |
},
|
| 4218 |
+
"node_modules/firebase-admin": {
|
| 4219 |
+
"version": "13.6.0",
|
| 4220 |
+
"resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-13.6.0.tgz",
|
| 4221 |
+
"integrity": "sha512-GdPA/t0+Cq8p1JnjFRBmxRxAGvF/kl2yfdhALl38PrRp325YxyQ5aNaHui0XmaKcKiGRFIJ/EgBNWFoDP0onjw==",
|
| 4222 |
+
"license": "Apache-2.0",
|
| 4223 |
+
"dependencies": {
|
| 4224 |
+
"@fastify/busboy": "^3.0.0",
|
| 4225 |
+
"@firebase/database-compat": "^2.0.0",
|
| 4226 |
+
"@firebase/database-types": "^1.0.6",
|
| 4227 |
+
"@types/node": "^22.8.7",
|
| 4228 |
+
"farmhash-modern": "^1.1.0",
|
| 4229 |
+
"fast-deep-equal": "^3.1.1",
|
| 4230 |
+
"google-auth-library": "^9.14.2",
|
| 4231 |
+
"jsonwebtoken": "^9.0.0",
|
| 4232 |
+
"jwks-rsa": "^3.1.0",
|
| 4233 |
+
"node-forge": "^1.3.1",
|
| 4234 |
+
"uuid": "^11.0.2"
|
| 4235 |
+
},
|
| 4236 |
+
"engines": {
|
| 4237 |
+
"node": ">=18"
|
| 4238 |
+
},
|
| 4239 |
+
"optionalDependencies": {
|
| 4240 |
+
"@google-cloud/firestore": "^7.11.0",
|
| 4241 |
+
"@google-cloud/storage": "^7.14.0"
|
| 4242 |
+
}
|
| 4243 |
+
},
|
| 4244 |
+
"node_modules/firebase-admin/node_modules/@types/node": {
|
| 4245 |
+
"version": "22.19.3",
|
| 4246 |
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz",
|
| 4247 |
+
"integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==",
|
| 4248 |
+
"license": "MIT",
|
| 4249 |
+
"dependencies": {
|
| 4250 |
+
"undici-types": "~6.21.0"
|
| 4251 |
+
}
|
| 4252 |
+
},
|
| 4253 |
+
"node_modules/firebase-admin/node_modules/undici-types": {
|
| 4254 |
+
"version": "6.21.0",
|
| 4255 |
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
| 4256 |
+
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
| 4257 |
+
"license": "MIT"
|
| 4258 |
+
},
|
| 4259 |
"node_modules/flat-cache": {
|
| 4260 |
"version": "4.0.1",
|
| 4261 |
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
|
|
|
|
| 4297 |
}
|
| 4298 |
}
|
| 4299 |
},
|
| 4300 |
+
"node_modules/foreground-child": {
|
| 4301 |
+
"version": "3.3.1",
|
| 4302 |
+
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
|
| 4303 |
+
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
|
| 4304 |
+
"license": "ISC",
|
| 4305 |
+
"optional": true,
|
| 4306 |
+
"peer": true,
|
| 4307 |
+
"dependencies": {
|
| 4308 |
+
"cross-spawn": "^7.0.6",
|
| 4309 |
+
"signal-exit": "^4.0.1"
|
| 4310 |
+
},
|
| 4311 |
+
"engines": {
|
| 4312 |
+
"node": ">=14"
|
| 4313 |
+
},
|
| 4314 |
+
"funding": {
|
| 4315 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 4316 |
+
}
|
| 4317 |
+
},
|
| 4318 |
"node_modules/form-data": {
|
| 4319 |
"version": "4.0.5",
|
| 4320 |
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
|
|
|
| 4331 |
"node": ">= 6"
|
| 4332 |
}
|
| 4333 |
},
|
| 4334 |
+
"node_modules/formdata-polyfill": {
|
| 4335 |
+
"version": "4.0.10",
|
| 4336 |
+
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
|
| 4337 |
+
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
|
| 4338 |
+
"license": "MIT",
|
| 4339 |
+
"optional": true,
|
| 4340 |
+
"peer": true,
|
| 4341 |
+
"dependencies": {
|
| 4342 |
+
"fetch-blob": "^3.1.2"
|
| 4343 |
+
},
|
| 4344 |
+
"engines": {
|
| 4345 |
+
"node": ">=12.20.0"
|
| 4346 |
+
}
|
| 4347 |
+
},
|
| 4348 |
"node_modules/forwarded": {
|
| 4349 |
"version": "0.2.0",
|
| 4350 |
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
|
|
|
| 4401 |
"url": "https://github.com/sponsors/ljharb"
|
| 4402 |
}
|
| 4403 |
},
|
| 4404 |
+
"node_modules/functional-red-black-tree": {
|
| 4405 |
+
"version": "1.0.1",
|
| 4406 |
+
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
|
| 4407 |
+
"integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
|
| 4408 |
+
"license": "MIT",
|
| 4409 |
+
"optional": true
|
| 4410 |
+
},
|
| 4411 |
+
"node_modules/gaxios": {
|
| 4412 |
+
"version": "6.7.1",
|
| 4413 |
+
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.7.1.tgz",
|
| 4414 |
+
"integrity": "sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==",
|
| 4415 |
+
"license": "Apache-2.0",
|
| 4416 |
+
"dependencies": {
|
| 4417 |
+
"extend": "^3.0.2",
|
| 4418 |
+
"https-proxy-agent": "^7.0.1",
|
| 4419 |
+
"is-stream": "^2.0.0",
|
| 4420 |
+
"node-fetch": "^2.6.9",
|
| 4421 |
+
"uuid": "^9.0.1"
|
| 4422 |
+
},
|
| 4423 |
+
"engines": {
|
| 4424 |
+
"node": ">=14"
|
| 4425 |
+
}
|
| 4426 |
+
},
|
| 4427 |
+
"node_modules/gaxios/node_modules/uuid": {
|
| 4428 |
+
"version": "9.0.1",
|
| 4429 |
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
|
| 4430 |
+
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
|
| 4431 |
+
"funding": [
|
| 4432 |
+
"https://github.com/sponsors/broofa",
|
| 4433 |
+
"https://github.com/sponsors/ctavan"
|
| 4434 |
+
],
|
| 4435 |
+
"license": "MIT",
|
| 4436 |
+
"bin": {
|
| 4437 |
+
"uuid": "dist/bin/uuid"
|
| 4438 |
+
}
|
| 4439 |
+
},
|
| 4440 |
+
"node_modules/gcp-metadata": {
|
| 4441 |
+
"version": "7.0.1",
|
| 4442 |
+
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-7.0.1.tgz",
|
| 4443 |
+
"integrity": "sha512-UcO3kefx6dCcZkgcTGgVOTFb7b1LlQ02hY1omMjjrrBzkajRMCFgYOjs7J71WqnuG1k2b+9ppGL7FsOfhZMQKQ==",
|
| 4444 |
+
"license": "Apache-2.0",
|
| 4445 |
+
"optional": true,
|
| 4446 |
+
"peer": true,
|
| 4447 |
+
"dependencies": {
|
| 4448 |
+
"gaxios": "^7.0.0",
|
| 4449 |
+
"google-logging-utils": "^1.0.0",
|
| 4450 |
+
"json-bigint": "^1.0.0"
|
| 4451 |
+
},
|
| 4452 |
+
"engines": {
|
| 4453 |
+
"node": ">=18"
|
| 4454 |
+
}
|
| 4455 |
+
},
|
| 4456 |
+
"node_modules/gcp-metadata/node_modules/gaxios": {
|
| 4457 |
+
"version": "7.1.3",
|
| 4458 |
+
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz",
|
| 4459 |
+
"integrity": "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==",
|
| 4460 |
+
"license": "Apache-2.0",
|
| 4461 |
+
"optional": true,
|
| 4462 |
+
"peer": true,
|
| 4463 |
+
"dependencies": {
|
| 4464 |
+
"extend": "^3.0.2",
|
| 4465 |
+
"https-proxy-agent": "^7.0.1",
|
| 4466 |
+
"node-fetch": "^3.3.2",
|
| 4467 |
+
"rimraf": "^5.0.1"
|
| 4468 |
+
},
|
| 4469 |
+
"engines": {
|
| 4470 |
+
"node": ">=18"
|
| 4471 |
+
}
|
| 4472 |
+
},
|
| 4473 |
+
"node_modules/gcp-metadata/node_modules/node-fetch": {
|
| 4474 |
+
"version": "3.3.2",
|
| 4475 |
+
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
|
| 4476 |
+
"integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
|
| 4477 |
+
"license": "MIT",
|
| 4478 |
+
"optional": true,
|
| 4479 |
+
"peer": true,
|
| 4480 |
+
"dependencies": {
|
| 4481 |
+
"data-uri-to-buffer": "^4.0.0",
|
| 4482 |
+
"fetch-blob": "^3.1.4",
|
| 4483 |
+
"formdata-polyfill": "^4.0.10"
|
| 4484 |
+
},
|
| 4485 |
+
"engines": {
|
| 4486 |
+
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
| 4487 |
+
},
|
| 4488 |
+
"funding": {
|
| 4489 |
+
"type": "opencollective",
|
| 4490 |
+
"url": "https://opencollective.com/node-fetch"
|
| 4491 |
+
}
|
| 4492 |
+
},
|
| 4493 |
"node_modules/gensync": {
|
| 4494 |
"version": "1.0.0-beta.2",
|
| 4495 |
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
|
|
|
|
| 4546 |
"node": ">= 0.4"
|
| 4547 |
}
|
| 4548 |
},
|
| 4549 |
+
"node_modules/glob": {
|
| 4550 |
+
"version": "10.5.0",
|
| 4551 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
|
| 4552 |
+
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
|
| 4553 |
+
"license": "ISC",
|
| 4554 |
+
"optional": true,
|
| 4555 |
+
"peer": true,
|
| 4556 |
+
"dependencies": {
|
| 4557 |
+
"foreground-child": "^3.1.0",
|
| 4558 |
+
"jackspeak": "^3.1.2",
|
| 4559 |
+
"minimatch": "^9.0.4",
|
| 4560 |
+
"minipass": "^7.1.2",
|
| 4561 |
+
"package-json-from-dist": "^1.0.0",
|
| 4562 |
+
"path-scurry": "^1.11.1"
|
| 4563 |
+
},
|
| 4564 |
+
"bin": {
|
| 4565 |
+
"glob": "dist/esm/bin.mjs"
|
| 4566 |
+
},
|
| 4567 |
+
"funding": {
|
| 4568 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 4569 |
+
}
|
| 4570 |
+
},
|
| 4571 |
"node_modules/glob-parent": {
|
| 4572 |
"version": "6.0.2",
|
| 4573 |
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
|
|
|
| 4581 |
"node": ">=10.13.0"
|
| 4582 |
}
|
| 4583 |
},
|
| 4584 |
+
"node_modules/glob/node_modules/brace-expansion": {
|
| 4585 |
+
"version": "2.0.2",
|
| 4586 |
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
| 4587 |
+
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
| 4588 |
+
"license": "MIT",
|
| 4589 |
+
"optional": true,
|
| 4590 |
+
"peer": true,
|
| 4591 |
+
"dependencies": {
|
| 4592 |
+
"balanced-match": "^1.0.0"
|
| 4593 |
+
}
|
| 4594 |
+
},
|
| 4595 |
+
"node_modules/glob/node_modules/minimatch": {
|
| 4596 |
+
"version": "9.0.5",
|
| 4597 |
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
| 4598 |
+
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
|
| 4599 |
+
"license": "ISC",
|
| 4600 |
+
"optional": true,
|
| 4601 |
+
"peer": true,
|
| 4602 |
+
"dependencies": {
|
| 4603 |
+
"brace-expansion": "^2.0.1"
|
| 4604 |
+
},
|
| 4605 |
+
"engines": {
|
| 4606 |
+
"node": ">=16 || 14 >=14.17"
|
| 4607 |
+
},
|
| 4608 |
+
"funding": {
|
| 4609 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 4610 |
+
}
|
| 4611 |
+
},
|
| 4612 |
"node_modules/globals": {
|
| 4613 |
"version": "16.5.0",
|
| 4614 |
"resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz",
|
|
|
|
| 4622 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 4623 |
}
|
| 4624 |
},
|
| 4625 |
+
"node_modules/google-auth-library": {
|
| 4626 |
+
"version": "9.15.1",
|
| 4627 |
+
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.15.1.tgz",
|
| 4628 |
+
"integrity": "sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng==",
|
| 4629 |
+
"license": "Apache-2.0",
|
| 4630 |
+
"dependencies": {
|
| 4631 |
+
"base64-js": "^1.3.0",
|
| 4632 |
+
"ecdsa-sig-formatter": "^1.0.11",
|
| 4633 |
+
"gaxios": "^6.1.1",
|
| 4634 |
+
"gcp-metadata": "^6.1.0",
|
| 4635 |
+
"gtoken": "^7.0.0",
|
| 4636 |
+
"jws": "^4.0.0"
|
| 4637 |
+
},
|
| 4638 |
+
"engines": {
|
| 4639 |
+
"node": ">=14"
|
| 4640 |
+
}
|
| 4641 |
+
},
|
| 4642 |
+
"node_modules/google-auth-library/node_modules/gcp-metadata": {
|
| 4643 |
+
"version": "6.1.1",
|
| 4644 |
+
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.1.tgz",
|
| 4645 |
+
"integrity": "sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A==",
|
| 4646 |
+
"license": "Apache-2.0",
|
| 4647 |
+
"dependencies": {
|
| 4648 |
+
"gaxios": "^6.1.1",
|
| 4649 |
+
"google-logging-utils": "^0.0.2",
|
| 4650 |
+
"json-bigint": "^1.0.0"
|
| 4651 |
+
},
|
| 4652 |
+
"engines": {
|
| 4653 |
+
"node": ">=14"
|
| 4654 |
+
}
|
| 4655 |
+
},
|
| 4656 |
+
"node_modules/google-auth-library/node_modules/google-logging-utils": {
|
| 4657 |
+
"version": "0.0.2",
|
| 4658 |
+
"resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-0.0.2.tgz",
|
| 4659 |
+
"integrity": "sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==",
|
| 4660 |
+
"license": "Apache-2.0",
|
| 4661 |
+
"engines": {
|
| 4662 |
+
"node": ">=14"
|
| 4663 |
+
}
|
| 4664 |
+
},
|
| 4665 |
+
"node_modules/google-gax": {
|
| 4666 |
+
"version": "4.6.1",
|
| 4667 |
+
"resolved": "https://registry.npmjs.org/google-gax/-/google-gax-4.6.1.tgz",
|
| 4668 |
+
"integrity": "sha512-V6eky/xz2mcKfAd1Ioxyd6nmA61gao3n01C+YeuIwu3vzM9EDR6wcVzMSIbLMDXWeoi9SHYctXuKYC5uJUT3eQ==",
|
| 4669 |
+
"license": "Apache-2.0",
|
| 4670 |
+
"optional": true,
|
| 4671 |
+
"dependencies": {
|
| 4672 |
+
"@grpc/grpc-js": "^1.10.9",
|
| 4673 |
+
"@grpc/proto-loader": "^0.7.13",
|
| 4674 |
+
"@types/long": "^4.0.0",
|
| 4675 |
+
"abort-controller": "^3.0.0",
|
| 4676 |
+
"duplexify": "^4.0.0",
|
| 4677 |
+
"google-auth-library": "^9.3.0",
|
| 4678 |
+
"node-fetch": "^2.7.0",
|
| 4679 |
+
"object-hash": "^3.0.0",
|
| 4680 |
+
"proto3-json-serializer": "^2.0.2",
|
| 4681 |
+
"protobufjs": "^7.3.2",
|
| 4682 |
+
"retry-request": "^7.0.0",
|
| 4683 |
+
"uuid": "^9.0.1"
|
| 4684 |
+
},
|
| 4685 |
+
"engines": {
|
| 4686 |
+
"node": ">=14"
|
| 4687 |
+
}
|
| 4688 |
+
},
|
| 4689 |
+
"node_modules/google-gax/node_modules/@grpc/grpc-js": {
|
| 4690 |
+
"version": "1.14.3",
|
| 4691 |
+
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.3.tgz",
|
| 4692 |
+
"integrity": "sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==",
|
| 4693 |
+
"license": "Apache-2.0",
|
| 4694 |
+
"optional": true,
|
| 4695 |
+
"dependencies": {
|
| 4696 |
+
"@grpc/proto-loader": "^0.8.0",
|
| 4697 |
+
"@js-sdsl/ordered-map": "^4.4.2"
|
| 4698 |
+
},
|
| 4699 |
+
"engines": {
|
| 4700 |
+
"node": ">=12.10.0"
|
| 4701 |
+
}
|
| 4702 |
+
},
|
| 4703 |
+
"node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": {
|
| 4704 |
+
"version": "0.8.0",
|
| 4705 |
+
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.8.0.tgz",
|
| 4706 |
+
"integrity": "sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==",
|
| 4707 |
+
"license": "Apache-2.0",
|
| 4708 |
+
"optional": true,
|
| 4709 |
+
"dependencies": {
|
| 4710 |
+
"lodash.camelcase": "^4.3.0",
|
| 4711 |
+
"long": "^5.0.0",
|
| 4712 |
+
"protobufjs": "^7.5.3",
|
| 4713 |
+
"yargs": "^17.7.2"
|
| 4714 |
+
},
|
| 4715 |
+
"bin": {
|
| 4716 |
+
"proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
|
| 4717 |
+
},
|
| 4718 |
+
"engines": {
|
| 4719 |
+
"node": ">=6"
|
| 4720 |
+
}
|
| 4721 |
+
},
|
| 4722 |
+
"node_modules/google-gax/node_modules/uuid": {
|
| 4723 |
+
"version": "9.0.1",
|
| 4724 |
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
|
| 4725 |
+
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
|
| 4726 |
+
"funding": [
|
| 4727 |
+
"https://github.com/sponsors/broofa",
|
| 4728 |
+
"https://github.com/sponsors/ctavan"
|
| 4729 |
+
],
|
| 4730 |
+
"license": "MIT",
|
| 4731 |
+
"optional": true,
|
| 4732 |
+
"bin": {
|
| 4733 |
+
"uuid": "dist/bin/uuid"
|
| 4734 |
+
}
|
| 4735 |
+
},
|
| 4736 |
+
"node_modules/google-logging-utils": {
|
| 4737 |
+
"version": "1.1.3",
|
| 4738 |
+
"resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz",
|
| 4739 |
+
"integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==",
|
| 4740 |
+
"license": "Apache-2.0",
|
| 4741 |
+
"optional": true,
|
| 4742 |
+
"peer": true,
|
| 4743 |
+
"engines": {
|
| 4744 |
+
"node": ">=14"
|
| 4745 |
+
}
|
| 4746 |
+
},
|
| 4747 |
"node_modules/gopd": {
|
| 4748 |
"version": "1.2.0",
|
| 4749 |
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
|
|
|
| 4756 |
"url": "https://github.com/sponsors/ljharb"
|
| 4757 |
}
|
| 4758 |
},
|
| 4759 |
+
"node_modules/gtoken": {
|
| 4760 |
+
"version": "7.1.0",
|
| 4761 |
+
"resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.1.0.tgz",
|
| 4762 |
+
"integrity": "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==",
|
| 4763 |
+
"license": "MIT",
|
| 4764 |
+
"dependencies": {
|
| 4765 |
+
"gaxios": "^6.0.0",
|
| 4766 |
+
"jws": "^4.0.0"
|
| 4767 |
+
},
|
| 4768 |
+
"engines": {
|
| 4769 |
+
"node": ">=14.0.0"
|
| 4770 |
+
}
|
| 4771 |
+
},
|
| 4772 |
"node_modules/has-flag": {
|
| 4773 |
"version": "4.0.0",
|
| 4774 |
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
|
|
| 4875 |
"hermes-estree": "0.25.1"
|
| 4876 |
}
|
| 4877 |
},
|
| 4878 |
+
"node_modules/html-entities": {
|
| 4879 |
+
"version": "2.6.0",
|
| 4880 |
+
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz",
|
| 4881 |
+
"integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
|
| 4882 |
+
"funding": [
|
| 4883 |
+
{
|
| 4884 |
+
"type": "github",
|
| 4885 |
+
"url": "https://github.com/sponsors/mdevils"
|
| 4886 |
+
},
|
| 4887 |
+
{
|
| 4888 |
+
"type": "patreon",
|
| 4889 |
+
"url": "https://patreon.com/mdevils"
|
| 4890 |
+
}
|
| 4891 |
+
],
|
| 4892 |
+
"license": "MIT",
|
| 4893 |
+
"optional": true
|
| 4894 |
+
},
|
| 4895 |
"node_modules/html-url-attributes": {
|
| 4896 |
"version": "3.0.1",
|
| 4897 |
"resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
|
|
|
|
| 4928 |
"integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
|
| 4929 |
"license": "MIT"
|
| 4930 |
},
|
| 4931 |
+
"node_modules/http-proxy-agent": {
|
| 4932 |
+
"version": "5.0.0",
|
| 4933 |
+
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
|
| 4934 |
+
"integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
|
| 4935 |
+
"license": "MIT",
|
| 4936 |
+
"optional": true,
|
| 4937 |
+
"dependencies": {
|
| 4938 |
+
"@tootallnate/once": "2",
|
| 4939 |
+
"agent-base": "6",
|
| 4940 |
+
"debug": "4"
|
| 4941 |
+
},
|
| 4942 |
+
"engines": {
|
| 4943 |
+
"node": ">= 6"
|
| 4944 |
+
}
|
| 4945 |
+
},
|
| 4946 |
+
"node_modules/http-proxy-agent/node_modules/agent-base": {
|
| 4947 |
+
"version": "6.0.2",
|
| 4948 |
+
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
| 4949 |
+
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
| 4950 |
+
"license": "MIT",
|
| 4951 |
+
"optional": true,
|
| 4952 |
+
"dependencies": {
|
| 4953 |
+
"debug": "4"
|
| 4954 |
+
},
|
| 4955 |
+
"engines": {
|
| 4956 |
+
"node": ">= 6.0.0"
|
| 4957 |
+
}
|
| 4958 |
+
},
|
| 4959 |
+
"node_modules/https-proxy-agent": {
|
| 4960 |
+
"version": "7.0.6",
|
| 4961 |
+
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
|
| 4962 |
+
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
|
| 4963 |
+
"license": "MIT",
|
| 4964 |
+
"dependencies": {
|
| 4965 |
+
"agent-base": "^7.1.2",
|
| 4966 |
+
"debug": "4"
|
| 4967 |
+
},
|
| 4968 |
+
"engines": {
|
| 4969 |
+
"node": ">= 14"
|
| 4970 |
+
}
|
| 4971 |
+
},
|
| 4972 |
"node_modules/iconv-lite": {
|
| 4973 |
"version": "0.7.1",
|
| 4974 |
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz",
|
|
|
|
| 5143 |
"integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
|
| 5144 |
"license": "MIT"
|
| 5145 |
},
|
| 5146 |
+
"node_modules/is-stream": {
|
| 5147 |
+
"version": "2.0.1",
|
| 5148 |
+
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
| 5149 |
+
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
| 5150 |
+
"license": "MIT",
|
| 5151 |
+
"engines": {
|
| 5152 |
+
"node": ">=8"
|
| 5153 |
+
},
|
| 5154 |
+
"funding": {
|
| 5155 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 5156 |
+
}
|
| 5157 |
+
},
|
| 5158 |
"node_modules/isexe": {
|
| 5159 |
"version": "2.0.0",
|
| 5160 |
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
| 5161 |
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
| 5162 |
+
"devOptional": true,
|
| 5163 |
"license": "ISC"
|
| 5164 |
},
|
| 5165 |
+
"node_modules/jackspeak": {
|
| 5166 |
+
"version": "3.4.3",
|
| 5167 |
+
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
|
| 5168 |
+
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
|
| 5169 |
+
"license": "BlueOak-1.0.0",
|
| 5170 |
+
"optional": true,
|
| 5171 |
+
"peer": true,
|
| 5172 |
+
"dependencies": {
|
| 5173 |
+
"@isaacs/cliui": "^8.0.2"
|
| 5174 |
+
},
|
| 5175 |
+
"funding": {
|
| 5176 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 5177 |
+
},
|
| 5178 |
+
"optionalDependencies": {
|
| 5179 |
+
"@pkgjs/parseargs": "^0.11.0"
|
| 5180 |
+
}
|
| 5181 |
+
},
|
| 5182 |
+
"node_modules/jose": {
|
| 5183 |
+
"version": "4.15.9",
|
| 5184 |
+
"resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz",
|
| 5185 |
+
"integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==",
|
| 5186 |
+
"license": "MIT",
|
| 5187 |
+
"funding": {
|
| 5188 |
+
"url": "https://github.com/sponsors/panva"
|
| 5189 |
+
}
|
| 5190 |
+
},
|
| 5191 |
"node_modules/js-tokens": {
|
| 5192 |
"version": "4.0.0",
|
| 5193 |
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
|
|
|
| 5221 |
"node": ">=6"
|
| 5222 |
}
|
| 5223 |
},
|
| 5224 |
+
"node_modules/json-bigint": {
|
| 5225 |
+
"version": "1.0.0",
|
| 5226 |
+
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
|
| 5227 |
+
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
|
| 5228 |
+
"license": "MIT",
|
| 5229 |
+
"dependencies": {
|
| 5230 |
+
"bignumber.js": "^9.0.0"
|
| 5231 |
+
}
|
| 5232 |
+
},
|
| 5233 |
"node_modules/json-buffer": {
|
| 5234 |
"version": "3.0.1",
|
| 5235 |
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
|
|
|
| 5309 |
"safe-buffer": "^5.0.1"
|
| 5310 |
}
|
| 5311 |
},
|
| 5312 |
+
"node_modules/jwks-rsa": {
|
| 5313 |
+
"version": "3.2.0",
|
| 5314 |
+
"resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-3.2.0.tgz",
|
| 5315 |
+
"integrity": "sha512-PwchfHcQK/5PSydeKCs1ylNym0w/SSv8a62DgHJ//7x2ZclCoinlsjAfDxAAbpoTPybOum/Jgy+vkvMmKz89Ww==",
|
| 5316 |
+
"license": "MIT",
|
| 5317 |
+
"dependencies": {
|
| 5318 |
+
"@types/express": "^4.17.20",
|
| 5319 |
+
"@types/jsonwebtoken": "^9.0.4",
|
| 5320 |
+
"debug": "^4.3.4",
|
| 5321 |
+
"jose": "^4.15.4",
|
| 5322 |
+
"limiter": "^1.1.5",
|
| 5323 |
+
"lru-memoizer": "^2.2.0"
|
| 5324 |
+
},
|
| 5325 |
+
"engines": {
|
| 5326 |
+
"node": ">=14"
|
| 5327 |
+
}
|
| 5328 |
+
},
|
| 5329 |
"node_modules/jws": {
|
| 5330 |
"version": "4.0.1",
|
| 5331 |
"resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
|
|
|
|
| 5375 |
"node": ">= 0.8.0"
|
| 5376 |
}
|
| 5377 |
},
|
| 5378 |
+
"node_modules/limiter": {
|
| 5379 |
+
"version": "1.1.5",
|
| 5380 |
+
"resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
|
| 5381 |
+
"integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA=="
|
| 5382 |
+
},
|
| 5383 |
"node_modules/locate-path": {
|
| 5384 |
"version": "6.0.0",
|
| 5385 |
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
|
|
|
| 5396 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 5397 |
}
|
| 5398 |
},
|
| 5399 |
+
"node_modules/lodash": {
|
| 5400 |
+
"version": "4.17.21",
|
| 5401 |
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
| 5402 |
+
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
| 5403 |
+
"license": "MIT"
|
| 5404 |
+
},
|
| 5405 |
"node_modules/lodash.camelcase": {
|
| 5406 |
"version": "4.3.0",
|
| 5407 |
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
|
| 5408 |
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
|
| 5409 |
"license": "MIT"
|
| 5410 |
},
|
| 5411 |
+
"node_modules/lodash.clonedeep": {
|
| 5412 |
+
"version": "4.5.0",
|
| 5413 |
+
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
|
| 5414 |
+
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
|
| 5415 |
+
"license": "MIT"
|
| 5416 |
+
},
|
| 5417 |
"node_modules/lodash.includes": {
|
| 5418 |
"version": "4.3.0",
|
| 5419 |
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
|
|
|
|
| 5489 |
"yallist": "^3.0.2"
|
| 5490 |
}
|
| 5491 |
},
|
| 5492 |
+
"node_modules/lru-memoizer": {
|
| 5493 |
+
"version": "2.3.0",
|
| 5494 |
+
"resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.3.0.tgz",
|
| 5495 |
+
"integrity": "sha512-GXn7gyHAMhO13WSKrIiNfztwxodVsP8IoZ3XfrJV4yH2x0/OeTO/FIaAHTY5YekdGgW94njfuKmyyt1E0mR6Ug==",
|
| 5496 |
+
"license": "MIT",
|
| 5497 |
+
"dependencies": {
|
| 5498 |
+
"lodash.clonedeep": "^4.5.0",
|
| 5499 |
+
"lru-cache": "6.0.0"
|
| 5500 |
+
}
|
| 5501 |
+
},
|
| 5502 |
+
"node_modules/lru-memoizer/node_modules/lru-cache": {
|
| 5503 |
+
"version": "6.0.0",
|
| 5504 |
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
| 5505 |
+
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
| 5506 |
+
"license": "ISC",
|
| 5507 |
+
"dependencies": {
|
| 5508 |
+
"yallist": "^4.0.0"
|
| 5509 |
+
},
|
| 5510 |
+
"engines": {
|
| 5511 |
+
"node": ">=10"
|
| 5512 |
+
}
|
| 5513 |
+
},
|
| 5514 |
+
"node_modules/lru-memoizer/node_modules/yallist": {
|
| 5515 |
+
"version": "4.0.0",
|
| 5516 |
+
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
| 5517 |
+
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
| 5518 |
+
"license": "ISC"
|
| 5519 |
+
},
|
| 5520 |
"node_modules/lucide-react": {
|
| 5521 |
"version": "0.562.0",
|
| 5522 |
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.562.0.tgz",
|
|
|
|
| 6157 |
],
|
| 6158 |
"license": "MIT"
|
| 6159 |
},
|
| 6160 |
+
"node_modules/mime": {
|
| 6161 |
+
"version": "3.0.0",
|
| 6162 |
+
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
|
| 6163 |
+
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
|
| 6164 |
+
"license": "MIT",
|
| 6165 |
+
"optional": true,
|
| 6166 |
+
"bin": {
|
| 6167 |
+
"mime": "cli.js"
|
| 6168 |
+
},
|
| 6169 |
+
"engines": {
|
| 6170 |
+
"node": ">=10.0.0"
|
| 6171 |
+
}
|
| 6172 |
+
},
|
| 6173 |
"node_modules/mime-db": {
|
| 6174 |
"version": "1.52.0",
|
| 6175 |
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
|
|
|
| 6213 |
"url": "https://github.com/sponsors/ljharb"
|
| 6214 |
}
|
| 6215 |
},
|
| 6216 |
+
"node_modules/minipass": {
|
| 6217 |
+
"version": "7.1.2",
|
| 6218 |
+
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
| 6219 |
+
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
|
| 6220 |
+
"license": "ISC",
|
| 6221 |
+
"optional": true,
|
| 6222 |
+
"peer": true,
|
| 6223 |
+
"engines": {
|
| 6224 |
+
"node": ">=16 || 14 >=14.17"
|
| 6225 |
+
}
|
| 6226 |
+
},
|
| 6227 |
"node_modules/mkdirp": {
|
| 6228 |
"version": "0.5.6",
|
| 6229 |
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
|
|
|
| 6296 |
}
|
| 6297 |
},
|
| 6298 |
"node_modules/mongoose": {
|
| 6299 |
+
"version": "9.1.1",
|
| 6300 |
+
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-9.1.1.tgz",
|
| 6301 |
+
"integrity": "sha512-/CgKSAmjzgIj4o1FyWZIpQ2rmUQlhalwWd4l/Ht3XUVWscHRHev1TIwKz1ADNC5tHHyOQEaUDkEh0jI91c4Ydw==",
|
| 6302 |
"license": "MIT",
|
| 6303 |
"dependencies": {
|
| 6304 |
"kareem": "3.0.0",
|
|
|
|
| 6424 |
"node": "^18 || ^20 || >= 21"
|
| 6425 |
}
|
| 6426 |
},
|
| 6427 |
+
"node_modules/node-domexception": {
|
| 6428 |
+
"version": "1.0.0",
|
| 6429 |
+
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
|
| 6430 |
+
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
|
| 6431 |
+
"deprecated": "Use your platform's native DOMException instead",
|
| 6432 |
+
"funding": [
|
| 6433 |
+
{
|
| 6434 |
+
"type": "github",
|
| 6435 |
+
"url": "https://github.com/sponsors/jimmywarting"
|
| 6436 |
+
},
|
| 6437 |
+
{
|
| 6438 |
+
"type": "github",
|
| 6439 |
+
"url": "https://paypal.me/jimmywarting"
|
| 6440 |
+
}
|
| 6441 |
+
],
|
| 6442 |
+
"license": "MIT",
|
| 6443 |
+
"optional": true,
|
| 6444 |
+
"peer": true,
|
| 6445 |
+
"engines": {
|
| 6446 |
+
"node": ">=10.5.0"
|
| 6447 |
+
}
|
| 6448 |
+
},
|
| 6449 |
+
"node_modules/node-fetch": {
|
| 6450 |
+
"version": "2.7.0",
|
| 6451 |
+
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
| 6452 |
+
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
| 6453 |
+
"license": "MIT",
|
| 6454 |
+
"dependencies": {
|
| 6455 |
+
"whatwg-url": "^5.0.0"
|
| 6456 |
+
},
|
| 6457 |
+
"engines": {
|
| 6458 |
+
"node": "4.x || >=6.0.0"
|
| 6459 |
+
},
|
| 6460 |
+
"peerDependencies": {
|
| 6461 |
+
"encoding": "^0.1.0"
|
| 6462 |
+
},
|
| 6463 |
+
"peerDependenciesMeta": {
|
| 6464 |
+
"encoding": {
|
| 6465 |
+
"optional": true
|
| 6466 |
+
}
|
| 6467 |
+
}
|
| 6468 |
+
},
|
| 6469 |
+
"node_modules/node-fetch/node_modules/tr46": {
|
| 6470 |
+
"version": "0.0.3",
|
| 6471 |
+
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
| 6472 |
+
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
| 6473 |
+
"license": "MIT"
|
| 6474 |
+
},
|
| 6475 |
+
"node_modules/node-fetch/node_modules/webidl-conversions": {
|
| 6476 |
+
"version": "3.0.1",
|
| 6477 |
+
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
| 6478 |
+
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
| 6479 |
+
"license": "BSD-2-Clause"
|
| 6480 |
+
},
|
| 6481 |
+
"node_modules/node-fetch/node_modules/whatwg-url": {
|
| 6482 |
+
"version": "5.0.0",
|
| 6483 |
+
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
| 6484 |
+
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
| 6485 |
+
"license": "MIT",
|
| 6486 |
+
"dependencies": {
|
| 6487 |
+
"tr46": "~0.0.3",
|
| 6488 |
+
"webidl-conversions": "^3.0.0"
|
| 6489 |
+
}
|
| 6490 |
+
},
|
| 6491 |
+
"node_modules/node-forge": {
|
| 6492 |
+
"version": "1.3.3",
|
| 6493 |
+
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz",
|
| 6494 |
+
"integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==",
|
| 6495 |
+
"license": "(BSD-3-Clause OR GPL-2.0)",
|
| 6496 |
+
"engines": {
|
| 6497 |
+
"node": ">= 6.13.0"
|
| 6498 |
+
}
|
| 6499 |
+
},
|
| 6500 |
"node_modules/node-gyp-build": {
|
| 6501 |
"version": "4.8.4",
|
| 6502 |
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
|
|
|
|
| 6515 |
"dev": true,
|
| 6516 |
"license": "MIT"
|
| 6517 |
},
|
| 6518 |
+
"node_modules/nodemailer": {
|
| 6519 |
+
"version": "7.0.12",
|
| 6520 |
+
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.12.tgz",
|
| 6521 |
+
"integrity": "sha512-H+rnK5bX2Pi/6ms3sN4/jRQvYSMltV6vqup/0SFOrxYYY/qoNvhXPlYq3e+Pm9RFJRwrMGbMIwi81M4dxpomhA==",
|
| 6522 |
+
"license": "MIT-0",
|
| 6523 |
+
"engines": {
|
| 6524 |
+
"node": ">=6.0.0"
|
| 6525 |
+
}
|
| 6526 |
+
},
|
| 6527 |
"node_modules/object-assign": {
|
| 6528 |
"version": "4.1.1",
|
| 6529 |
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
|
|
|
| 6533 |
"node": ">=0.10.0"
|
| 6534 |
}
|
| 6535 |
},
|
| 6536 |
+
"node_modules/object-hash": {
|
| 6537 |
+
"version": "3.0.0",
|
| 6538 |
+
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
|
| 6539 |
+
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
|
| 6540 |
+
"license": "MIT",
|
| 6541 |
+
"optional": true,
|
| 6542 |
+
"engines": {
|
| 6543 |
+
"node": ">= 6"
|
| 6544 |
+
}
|
| 6545 |
+
},
|
| 6546 |
"node_modules/object-inspect": {
|
| 6547 |
"version": "1.13.4",
|
| 6548 |
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
|
|
|
| 6598 |
"version": "3.1.0",
|
| 6599 |
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
| 6600 |
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
| 6601 |
+
"devOptional": true,
|
| 6602 |
"license": "MIT",
|
| 6603 |
"dependencies": {
|
| 6604 |
"yocto-queue": "^0.1.0"
|
|
|
|
| 6626 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 6627 |
}
|
| 6628 |
},
|
| 6629 |
+
"node_modules/package-json-from-dist": {
|
| 6630 |
+
"version": "1.0.1",
|
| 6631 |
+
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
|
| 6632 |
+
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
| 6633 |
+
"license": "BlueOak-1.0.0",
|
| 6634 |
+
"optional": true,
|
| 6635 |
+
"peer": true
|
| 6636 |
+
},
|
| 6637 |
"node_modules/parent-module": {
|
| 6638 |
"version": "1.0.1",
|
| 6639 |
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
|
|
|
| 6695 |
"version": "3.1.1",
|
| 6696 |
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
| 6697 |
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
| 6698 |
+
"devOptional": true,
|
| 6699 |
"license": "MIT",
|
| 6700 |
"engines": {
|
| 6701 |
"node": ">=8"
|
| 6702 |
}
|
| 6703 |
},
|
| 6704 |
+
"node_modules/path-scurry": {
|
| 6705 |
+
"version": "1.11.1",
|
| 6706 |
+
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
|
| 6707 |
+
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
|
| 6708 |
+
"license": "BlueOak-1.0.0",
|
| 6709 |
+
"optional": true,
|
| 6710 |
+
"peer": true,
|
| 6711 |
+
"dependencies": {
|
| 6712 |
+
"lru-cache": "^10.2.0",
|
| 6713 |
+
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
| 6714 |
+
},
|
| 6715 |
+
"engines": {
|
| 6716 |
+
"node": ">=16 || 14 >=14.18"
|
| 6717 |
+
},
|
| 6718 |
+
"funding": {
|
| 6719 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 6720 |
+
}
|
| 6721 |
+
},
|
| 6722 |
+
"node_modules/path-scurry/node_modules/lru-cache": {
|
| 6723 |
+
"version": "10.4.3",
|
| 6724 |
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
| 6725 |
+
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
| 6726 |
+
"license": "ISC",
|
| 6727 |
+
"optional": true,
|
| 6728 |
+
"peer": true
|
| 6729 |
+
},
|
| 6730 |
"node_modules/path-to-regexp": {
|
| 6731 |
"version": "8.3.0",
|
| 6732 |
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
|
|
|
|
| 6813 |
"url": "https://github.com/sponsors/wooorm"
|
| 6814 |
}
|
| 6815 |
},
|
| 6816 |
+
"node_modules/proto3-json-serializer": {
|
| 6817 |
+
"version": "2.0.2",
|
| 6818 |
+
"resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-2.0.2.tgz",
|
| 6819 |
+
"integrity": "sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ==",
|
| 6820 |
+
"license": "Apache-2.0",
|
| 6821 |
+
"optional": true,
|
| 6822 |
+
"dependencies": {
|
| 6823 |
+
"protobufjs": "^7.2.5"
|
| 6824 |
+
},
|
| 6825 |
+
"engines": {
|
| 6826 |
+
"node": ">=14.0.0"
|
| 6827 |
+
}
|
| 6828 |
+
},
|
| 6829 |
"node_modules/protobufjs": {
|
| 6830 |
"version": "7.5.4",
|
| 6831 |
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz",
|
|
|
|
| 6878 |
"node": ">=6"
|
| 6879 |
}
|
| 6880 |
},
|
| 6881 |
+
"node_modules/q": {
|
| 6882 |
+
"version": "1.5.1",
|
| 6883 |
+
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
|
| 6884 |
+
"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
|
| 6885 |
+
"deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)",
|
| 6886 |
+
"license": "MIT",
|
| 6887 |
+
"engines": {
|
| 6888 |
+
"node": ">=0.6.0",
|
| 6889 |
+
"teleport": ">=0.2.0"
|
| 6890 |
+
}
|
| 6891 |
+
},
|
| 6892 |
"node_modules/qs": {
|
| 6893 |
"version": "6.14.1",
|
| 6894 |
"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
|
|
|
|
| 7066 |
"node": ">=4"
|
| 7067 |
}
|
| 7068 |
},
|
| 7069 |
+
"node_modules/retry": {
|
| 7070 |
+
"version": "0.13.1",
|
| 7071 |
+
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
|
| 7072 |
+
"integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
|
| 7073 |
+
"license": "MIT",
|
| 7074 |
+
"optional": true,
|
| 7075 |
+
"engines": {
|
| 7076 |
+
"node": ">= 4"
|
| 7077 |
+
}
|
| 7078 |
+
},
|
| 7079 |
+
"node_modules/retry-request": {
|
| 7080 |
+
"version": "7.0.2",
|
| 7081 |
+
"resolved": "https://registry.npmjs.org/retry-request/-/retry-request-7.0.2.tgz",
|
| 7082 |
+
"integrity": "sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w==",
|
| 7083 |
+
"license": "MIT",
|
| 7084 |
+
"optional": true,
|
| 7085 |
+
"dependencies": {
|
| 7086 |
+
"@types/request": "^2.48.8",
|
| 7087 |
+
"extend": "^3.0.2",
|
| 7088 |
+
"teeny-request": "^9.0.0"
|
| 7089 |
+
},
|
| 7090 |
+
"engines": {
|
| 7091 |
+
"node": ">=14"
|
| 7092 |
+
}
|
| 7093 |
+
},
|
| 7094 |
+
"node_modules/rimraf": {
|
| 7095 |
+
"version": "5.0.10",
|
| 7096 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
|
| 7097 |
+
"integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
|
| 7098 |
+
"license": "ISC",
|
| 7099 |
+
"optional": true,
|
| 7100 |
+
"peer": true,
|
| 7101 |
+
"dependencies": {
|
| 7102 |
+
"glob": "^10.3.7"
|
| 7103 |
+
},
|
| 7104 |
+
"bin": {
|
| 7105 |
+
"rimraf": "dist/esm/bin.mjs"
|
| 7106 |
+
},
|
| 7107 |
+
"funding": {
|
| 7108 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 7109 |
+
}
|
| 7110 |
+
},
|
| 7111 |
"node_modules/rollup": {
|
| 7112 |
"version": "4.54.0",
|
| 7113 |
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.54.0.tgz",
|
|
|
|
| 7288 |
"version": "2.0.0",
|
| 7289 |
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
| 7290 |
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
| 7291 |
+
"devOptional": true,
|
| 7292 |
"license": "MIT",
|
| 7293 |
"dependencies": {
|
| 7294 |
"shebang-regex": "^3.0.0"
|
|
|
|
| 7301 |
"version": "3.0.0",
|
| 7302 |
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
| 7303 |
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
| 7304 |
+
"devOptional": true,
|
| 7305 |
"license": "MIT",
|
| 7306 |
"engines": {
|
| 7307 |
"node": ">=8"
|
|
|
|
| 7385 |
"integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==",
|
| 7386 |
"license": "MIT"
|
| 7387 |
},
|
| 7388 |
+
"node_modules/signal-exit": {
|
| 7389 |
+
"version": "4.1.0",
|
| 7390 |
+
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
|
| 7391 |
+
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
| 7392 |
+
"license": "ISC",
|
| 7393 |
+
"optional": true,
|
| 7394 |
+
"peer": true,
|
| 7395 |
+
"engines": {
|
| 7396 |
+
"node": ">=14"
|
| 7397 |
+
},
|
| 7398 |
+
"funding": {
|
| 7399 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 7400 |
+
}
|
| 7401 |
+
},
|
| 7402 |
"node_modules/socket.io": {
|
| 7403 |
"version": "4.8.3",
|
| 7404 |
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz",
|
|
|
|
| 7515 |
"node": ">= 0.8"
|
| 7516 |
}
|
| 7517 |
},
|
| 7518 |
+
"node_modules/stream-events": {
|
| 7519 |
+
"version": "1.0.5",
|
| 7520 |
+
"resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
|
| 7521 |
+
"integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
|
| 7522 |
+
"license": "MIT",
|
| 7523 |
+
"optional": true,
|
| 7524 |
+
"dependencies": {
|
| 7525 |
+
"stubs": "^3.0.0"
|
| 7526 |
+
}
|
| 7527 |
+
},
|
| 7528 |
+
"node_modules/stream-shift": {
|
| 7529 |
+
"version": "1.0.3",
|
| 7530 |
+
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
|
| 7531 |
+
"integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
|
| 7532 |
+
"license": "MIT",
|
| 7533 |
+
"optional": true
|
| 7534 |
+
},
|
| 7535 |
"node_modules/streamsearch": {
|
| 7536 |
"version": "1.1.0",
|
| 7537 |
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
|
|
|
|
| 7563 |
"node": ">=8"
|
| 7564 |
}
|
| 7565 |
},
|
| 7566 |
+
"node_modules/string-width-cjs": {
|
| 7567 |
+
"name": "string-width",
|
| 7568 |
+
"version": "4.2.3",
|
| 7569 |
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
| 7570 |
+
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
| 7571 |
+
"license": "MIT",
|
| 7572 |
+
"optional": true,
|
| 7573 |
+
"peer": true,
|
| 7574 |
+
"dependencies": {
|
| 7575 |
+
"emoji-regex": "^8.0.0",
|
| 7576 |
+
"is-fullwidth-code-point": "^3.0.0",
|
| 7577 |
+
"strip-ansi": "^6.0.1"
|
| 7578 |
+
},
|
| 7579 |
+
"engines": {
|
| 7580 |
+
"node": ">=8"
|
| 7581 |
+
}
|
| 7582 |
+
},
|
| 7583 |
"node_modules/stringify-entities": {
|
| 7584 |
"version": "4.0.4",
|
| 7585 |
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
|
|
|
|
| 7606 |
"node": ">=8"
|
| 7607 |
}
|
| 7608 |
},
|
| 7609 |
+
"node_modules/strip-ansi-cjs": {
|
| 7610 |
+
"name": "strip-ansi",
|
| 7611 |
+
"version": "6.0.1",
|
| 7612 |
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
| 7613 |
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
| 7614 |
+
"license": "MIT",
|
| 7615 |
+
"optional": true,
|
| 7616 |
+
"peer": true,
|
| 7617 |
+
"dependencies": {
|
| 7618 |
+
"ansi-regex": "^5.0.1"
|
| 7619 |
+
},
|
| 7620 |
+
"engines": {
|
| 7621 |
+
"node": ">=8"
|
| 7622 |
+
}
|
| 7623 |
+
},
|
| 7624 |
"node_modules/strip-json-comments": {
|
| 7625 |
"version": "3.1.1",
|
| 7626 |
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
|
|
|
| 7634 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 7635 |
}
|
| 7636 |
},
|
| 7637 |
+
"node_modules/strnum": {
|
| 7638 |
+
"version": "1.1.2",
|
| 7639 |
+
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
|
| 7640 |
+
"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
|
| 7641 |
+
"funding": [
|
| 7642 |
+
{
|
| 7643 |
+
"type": "github",
|
| 7644 |
+
"url": "https://github.com/sponsors/NaturalIntelligence"
|
| 7645 |
+
}
|
| 7646 |
+
],
|
| 7647 |
+
"license": "MIT",
|
| 7648 |
+
"optional": true
|
| 7649 |
+
},
|
| 7650 |
+
"node_modules/stubs": {
|
| 7651 |
+
"version": "3.0.0",
|
| 7652 |
+
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
|
| 7653 |
+
"integrity": "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==",
|
| 7654 |
+
"license": "MIT",
|
| 7655 |
+
"optional": true
|
| 7656 |
+
},
|
| 7657 |
"node_modules/style-to-js": {
|
| 7658 |
"version": "1.1.21",
|
| 7659 |
"resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
|
|
|
|
| 7692 |
"dev": true,
|
| 7693 |
"license": "MIT"
|
| 7694 |
},
|
| 7695 |
+
"node_modules/teeny-request": {
|
| 7696 |
+
"version": "9.0.0",
|
| 7697 |
+
"resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-9.0.0.tgz",
|
| 7698 |
+
"integrity": "sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g==",
|
| 7699 |
+
"license": "Apache-2.0",
|
| 7700 |
+
"optional": true,
|
| 7701 |
+
"dependencies": {
|
| 7702 |
+
"http-proxy-agent": "^5.0.0",
|
| 7703 |
+
"https-proxy-agent": "^5.0.0",
|
| 7704 |
+
"node-fetch": "^2.6.9",
|
| 7705 |
+
"stream-events": "^1.0.5",
|
| 7706 |
+
"uuid": "^9.0.0"
|
| 7707 |
+
},
|
| 7708 |
+
"engines": {
|
| 7709 |
+
"node": ">=14"
|
| 7710 |
+
}
|
| 7711 |
+
},
|
| 7712 |
+
"node_modules/teeny-request/node_modules/agent-base": {
|
| 7713 |
+
"version": "6.0.2",
|
| 7714 |
+
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
| 7715 |
+
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
| 7716 |
+
"license": "MIT",
|
| 7717 |
+
"optional": true,
|
| 7718 |
+
"dependencies": {
|
| 7719 |
+
"debug": "4"
|
| 7720 |
+
},
|
| 7721 |
+
"engines": {
|
| 7722 |
+
"node": ">= 6.0.0"
|
| 7723 |
+
}
|
| 7724 |
+
},
|
| 7725 |
+
"node_modules/teeny-request/node_modules/https-proxy-agent": {
|
| 7726 |
+
"version": "5.0.1",
|
| 7727 |
+
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
| 7728 |
+
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
| 7729 |
+
"license": "MIT",
|
| 7730 |
+
"optional": true,
|
| 7731 |
+
"dependencies": {
|
| 7732 |
+
"agent-base": "6",
|
| 7733 |
+
"debug": "4"
|
| 7734 |
+
},
|
| 7735 |
+
"engines": {
|
| 7736 |
+
"node": ">= 6"
|
| 7737 |
+
}
|
| 7738 |
+
},
|
| 7739 |
+
"node_modules/teeny-request/node_modules/uuid": {
|
| 7740 |
+
"version": "9.0.1",
|
| 7741 |
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
|
| 7742 |
+
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
|
| 7743 |
+
"funding": [
|
| 7744 |
+
"https://github.com/sponsors/broofa",
|
| 7745 |
+
"https://github.com/sponsors/ctavan"
|
| 7746 |
+
],
|
| 7747 |
+
"license": "MIT",
|
| 7748 |
+
"optional": true,
|
| 7749 |
+
"bin": {
|
| 7750 |
+
"uuid": "dist/bin/uuid"
|
| 7751 |
+
}
|
| 7752 |
+
},
|
| 7753 |
"node_modules/tinyglobby": {
|
| 7754 |
"version": "0.2.15",
|
| 7755 |
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
|
|
|
| 8021 |
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
| 8022 |
"license": "MIT"
|
| 8023 |
},
|
| 8024 |
+
"node_modules/uuid": {
|
| 8025 |
+
"version": "11.1.0",
|
| 8026 |
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
|
| 8027 |
+
"integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
|
| 8028 |
+
"funding": [
|
| 8029 |
+
"https://github.com/sponsors/broofa",
|
| 8030 |
+
"https://github.com/sponsors/ctavan"
|
| 8031 |
+
],
|
| 8032 |
+
"license": "MIT",
|
| 8033 |
+
"bin": {
|
| 8034 |
+
"uuid": "dist/esm/bin/uuid"
|
| 8035 |
+
}
|
| 8036 |
+
},
|
| 8037 |
"node_modules/vary": {
|
| 8038 |
"version": "1.1.2",
|
| 8039 |
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
|
|
|
| 8146 |
}
|
| 8147 |
}
|
| 8148 |
},
|
| 8149 |
+
"node_modules/web-streams-polyfill": {
|
| 8150 |
+
"version": "3.3.3",
|
| 8151 |
+
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
|
| 8152 |
+
"integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
|
| 8153 |
+
"license": "MIT",
|
| 8154 |
+
"optional": true,
|
| 8155 |
+
"peer": true,
|
| 8156 |
+
"engines": {
|
| 8157 |
+
"node": ">= 8"
|
| 8158 |
+
}
|
| 8159 |
+
},
|
| 8160 |
"node_modules/web-vitals": {
|
| 8161 |
"version": "4.2.4",
|
| 8162 |
"resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz",
|
|
|
|
| 8212 |
"version": "2.0.2",
|
| 8213 |
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
| 8214 |
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
| 8215 |
+
"devOptional": true,
|
| 8216 |
"license": "ISC",
|
| 8217 |
"dependencies": {
|
| 8218 |
"isexe": "^2.0.0"
|
|
|
|
| 8251 |
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 8252 |
}
|
| 8253 |
},
|
| 8254 |
+
"node_modules/wrap-ansi-cjs": {
|
| 8255 |
+
"name": "wrap-ansi",
|
| 8256 |
+
"version": "7.0.0",
|
| 8257 |
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
| 8258 |
+
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
| 8259 |
+
"license": "MIT",
|
| 8260 |
+
"optional": true,
|
| 8261 |
+
"peer": true,
|
| 8262 |
+
"dependencies": {
|
| 8263 |
+
"ansi-styles": "^4.0.0",
|
| 8264 |
+
"string-width": "^4.1.0",
|
| 8265 |
+
"strip-ansi": "^6.0.0"
|
| 8266 |
+
},
|
| 8267 |
+
"engines": {
|
| 8268 |
+
"node": ">=10"
|
| 8269 |
+
},
|
| 8270 |
+
"funding": {
|
| 8271 |
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 8272 |
+
}
|
| 8273 |
+
},
|
| 8274 |
"node_modules/wrappy": {
|
| 8275 |
"version": "1.0.2",
|
| 8276 |
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
|
|
|
| 8362 |
"version": "0.1.0",
|
| 8363 |
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
| 8364 |
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
|
| 8365 |
+
"devOptional": true,
|
| 8366 |
"license": "MIT",
|
| 8367 |
"engines": {
|
| 8368 |
"node": ">=10"
|
kibali-ui/package.json → package.json
RENAMED
|
@@ -10,23 +10,30 @@
|
|
| 10 |
"preview": "vite preview"
|
| 11 |
},
|
| 12 |
"dependencies": {
|
|
|
|
| 13 |
"axios": "^1.13.2",
|
| 14 |
"bcrypt": "^6.0.0",
|
|
|
|
|
|
|
|
|
|
| 15 |
"cors": "^2.8.5",
|
| 16 |
"dotenv": "^17.2.3",
|
| 17 |
"express": "^5.2.1",
|
| 18 |
"firebase": "^12.7.0",
|
|
|
|
| 19 |
"jsonwebtoken": "^9.0.3",
|
| 20 |
"leaflet": "^1.9.4",
|
| 21 |
"lucide-react": "^0.562.0",
|
| 22 |
-
"mongoose": "^9.1.
|
| 23 |
"multer": "^2.0.2",
|
|
|
|
| 24 |
"react": "^19.2.0",
|
| 25 |
"react-dom": "^19.2.0",
|
| 26 |
"react-leaflet": "^5.0.0",
|
| 27 |
"react-markdown": "^10.1.0",
|
| 28 |
"socket.io": "^4.8.3",
|
| 29 |
-
"socket.io-client": "^4.8.3"
|
|
|
|
| 30 |
},
|
| 31 |
"devDependencies": {
|
| 32 |
"@eslint/js": "^9.39.1",
|
|
|
|
| 10 |
"preview": "vite preview"
|
| 11 |
},
|
| 12 |
"dependencies": {
|
| 13 |
+
"@simplewebauthn/browser": "^13.2.2",
|
| 14 |
"axios": "^1.13.2",
|
| 15 |
"bcrypt": "^6.0.0",
|
| 16 |
+
"bcryptjs": "^3.0.3",
|
| 17 |
+
"body-parser": "^2.2.1",
|
| 18 |
+
"cloudinary": "^2.8.0",
|
| 19 |
"cors": "^2.8.5",
|
| 20 |
"dotenv": "^17.2.3",
|
| 21 |
"express": "^5.2.1",
|
| 22 |
"firebase": "^12.7.0",
|
| 23 |
+
"firebase-admin": "^13.6.0",
|
| 24 |
"jsonwebtoken": "^9.0.3",
|
| 25 |
"leaflet": "^1.9.4",
|
| 26 |
"lucide-react": "^0.562.0",
|
| 27 |
+
"mongoose": "^9.1.1",
|
| 28 |
"multer": "^2.0.2",
|
| 29 |
+
"nodemailer": "^7.0.12",
|
| 30 |
"react": "^19.2.0",
|
| 31 |
"react-dom": "^19.2.0",
|
| 32 |
"react-leaflet": "^5.0.0",
|
| 33 |
"react-markdown": "^10.1.0",
|
| 34 |
"socket.io": "^4.8.3",
|
| 35 |
+
"socket.io-client": "^4.8.3",
|
| 36 |
+
"ws": "^8.18.3"
|
| 37 |
},
|
| 38 |
"devDependencies": {
|
| 39 |
"@eslint/js": "^9.39.1",
|
{kibali-ui → public}/kibali_logo.svg
RENAMED
|
File without changes
|
{kibali-ui/public → public}/manifest.json
RENAMED
|
@@ -1,15 +1,15 @@
|
|
| 1 |
-
{
|
| 2 |
-
"short_name": "Kibali",
|
| 3 |
-
"name": "Kibali AI Assistant",
|
| 4 |
-
"icons": [
|
| 5 |
-
{
|
| 6 |
-
"src": "/kibali_logo.svg",
|
| 7 |
-
"type": "image/svg+xml",
|
| 8 |
-
"sizes": "512x512"
|
| 9 |
-
}
|
| 10 |
-
],
|
| 11 |
-
"start_url": ".",
|
| 12 |
-
"display": "standalone",
|
| 13 |
-
"theme_color": "#000000",
|
| 14 |
-
"background_color": "#ffffff"
|
| 15 |
}
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"short_name": "Kibali",
|
| 3 |
+
"name": "Kibali AI Assistant",
|
| 4 |
+
"icons": [
|
| 5 |
+
{
|
| 6 |
+
"src": "/kibali_logo.svg",
|
| 7 |
+
"type": "image/svg+xml",
|
| 8 |
+
"sizes": "512x512"
|
| 9 |
+
}
|
| 10 |
+
],
|
| 11 |
+
"start_url": ".",
|
| 12 |
+
"display": "standalone",
|
| 13 |
+
"theme_color": "#000000",
|
| 14 |
+
"background_color": "#ffffff"
|
| 15 |
}
|
server.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import 'dotenv/config';
|
| 2 |
+
import express from 'express';
|
| 3 |
+
import mongoose from 'mongoose';
|
| 4 |
+
import cors from 'cors';
|
| 5 |
+
import bcrypt from 'bcryptjs';
|
| 6 |
+
import jwt from 'jsonwebtoken';
|
| 7 |
+
import nodemailer from 'nodemailer';
|
| 8 |
+
import crypto from 'crypto';
|
| 9 |
+
import path from 'path';
|
| 10 |
+
import fs from 'fs';
|
| 11 |
+
import { fileURLToPath } from 'url';
|
| 12 |
+
|
| 13 |
+
const __filename = fileURLToPath(import.meta.url);
|
| 14 |
+
const __dirname = path.dirname(__filename);
|
| 15 |
+
|
| 16 |
+
const app = express();
|
| 17 |
+
app.use(cors());
|
| 18 |
+
app.use(express.json());
|
| 19 |
+
|
| 20 |
+
// --- CONNEXION MONGODB ---
|
| 21 |
+
mongoose.connect(process.env.MONGO_URI)
|
| 22 |
+
.then(() => console.log('✅ MongoDB Connecté'))
|
| 23 |
+
.catch(err => console.error('❌ Erreur DB:', err));
|
| 24 |
+
|
| 25 |
+
// --- CONFIGURATION NODEMAILER (CORRIGÉE) ---
|
| 26 |
+
const transporter = nodemailer.createTransport({
|
| 27 |
+
host: 'smtp.gmail.com',
|
| 28 |
+
port: 465,
|
| 29 |
+
secure: true, // Utilisation du port SSL 465
|
| 30 |
+
auth: {
|
| 31 |
+
user: process.env.EMAIL_USER,
|
| 32 |
+
pass: process.env.EMAIL_PASS
|
| 33 |
+
},
|
| 34 |
+
tls: {
|
| 35 |
+
rejectUnauthorized: false // Aide à passer outre certains blocages réseau
|
| 36 |
+
}
|
| 37 |
+
});
|
| 38 |
+
|
| 39 |
+
// Vérification immédiate
|
| 40 |
+
transporter.verify((error) => {
|
| 41 |
+
if (error) {
|
| 42 |
+
console.error('❌ Erreur SMTP Persistante:', error.message);
|
| 43 |
+
} else {
|
| 44 |
+
console.log('📧 Serveur SMTP authentifié avec succès !');
|
| 45 |
+
}
|
| 46 |
+
});
|
| 47 |
+
|
| 48 |
+
const User = mongoose.model('User', new mongoose.Schema({
|
| 49 |
+
email: { type: String, unique: true, required: true },
|
| 50 |
+
password: { type: String, required: true },
|
| 51 |
+
otp: String,
|
| 52 |
+
otpExpires: Date
|
| 53 |
+
}));
|
| 54 |
+
|
| 55 |
+
// --- ROUTE REGISTER ---
|
| 56 |
+
app.post('/api/auth/register', async (req, res) => {
|
| 57 |
+
const { email, password } = req.body;
|
| 58 |
+
const otp = Math.floor(100000 + Math.random() * 900000).toString();
|
| 59 |
+
|
| 60 |
+
try {
|
| 61 |
+
let user = await User.findOne({ email });
|
| 62 |
+
if (!user) {
|
| 63 |
+
const hashedPassword = await bcrypt.hash(password, 10);
|
| 64 |
+
user = new User({ email, password: hashedPassword, otp, otpExpires: Date.now() + 600000 });
|
| 65 |
+
} else {
|
| 66 |
+
user.otp = otp;
|
| 67 |
+
user.otpExpires = Date.now() + 600000;
|
| 68 |
+
}
|
| 69 |
+
await user.save();
|
| 70 |
+
|
| 71 |
+
await transporter.sendMail({
|
| 72 |
+
from: `"Kibali AI" <${process.env.EMAIL_USER}>`,
|
| 73 |
+
to: email,
|
| 74 |
+
subject: `Code de vérification : ${otp}`,
|
| 75 |
+
html: `<div style="text-align:center; padding:20px; border:2px solid #10b981;">
|
| 76 |
+
<h1>Votre code Kibali</h1>
|
| 77 |
+
<p style="font-size:30px; font-weight:bold;">${otp}</p>
|
| 78 |
+
</div>`
|
| 79 |
+
});
|
| 80 |
+
|
| 81 |
+
res.json({ message: "OTP envoyé" });
|
| 82 |
+
} catch (err) {
|
| 83 |
+
console.error("Erreur lors du register:", err);
|
| 84 |
+
res.status(500).json({ error: "Erreur serveur ou SMTP" });
|
| 85 |
+
}
|
| 86 |
+
});
|
| 87 |
+
|
| 88 |
+
const PORT = process.env.PORT || 5000;
|
| 89 |
+
app.listen(PORT, () => console.log(`🚀 Serveur actif sur le port ${PORT}`));
|
{kibali-ui/src → src}/App.css
RENAMED
|
File without changes
|
{kibali-ui/src → src}/App.jsx
RENAMED
|
@@ -3,10 +3,36 @@ import axios from 'axios';
|
|
| 3 |
import {
|
| 4 |
Send, FileText, Upload, Globe, MapPin,
|
| 5 |
Loader2, Trash2, Image as ImageIcon, Search, Brain, ChevronDown, ChevronUp, User,
|
| 6 |
-
Database, Clock, TrendingUp, AlertCircle, CheckCircle, Zap
|
|
|
|
| 7 |
} from 'lucide-react';
|
| 8 |
-
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
const LOGO_PATH = "/kibali_logo.svg";
|
| 11 |
|
| 12 |
function App() {
|
|
@@ -18,18 +44,49 @@ function App() {
|
|
| 18 |
doc_chunks: 0,
|
| 19 |
memory_entries: 0,
|
| 20 |
current_subject: null,
|
| 21 |
-
subject_message_count: 0
|
|
|
|
|
|
|
| 22 |
});
|
| 23 |
const [showThinking, setShowThinking] = useState({});
|
| 24 |
const [uploadProgress, setUploadProgress] = useState(null);
|
|
|
|
|
|
|
|
|
|
| 25 |
const scrollRef = useRef(null);
|
| 26 |
const pollingInterval = useRef(null);
|
| 27 |
|
| 28 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
useEffect(() => {
|
| 30 |
fetchStatus();
|
| 31 |
-
pollingInterval.current = setInterval(fetchStatus, 10000);
|
| 32 |
-
|
| 33 |
return () => {
|
| 34 |
if (pollingInterval.current) {
|
| 35 |
clearInterval(pollingInterval.current);
|
|
@@ -46,6 +103,26 @@ function App() {
|
|
| 46 |
}
|
| 47 |
};
|
| 48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
// Auto-scroll vers le bas
|
| 50 |
useEffect(() => {
|
| 51 |
scrollRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
@@ -55,7 +132,12 @@ function App() {
|
|
| 55 |
const handleSend = async () => {
|
| 56 |
if (!input.trim() || loading) return;
|
| 57 |
|
| 58 |
-
const userMsg = {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
setMessages(prev => [...prev, userMsg]);
|
| 60 |
setInput("");
|
| 61 |
setLoading(true);
|
|
@@ -68,7 +150,7 @@ function App() {
|
|
| 68 |
city: "Libreville",
|
| 69 |
thinking_mode: true
|
| 70 |
}, {
|
| 71 |
-
timeout: 120000
|
| 72 |
});
|
| 73 |
|
| 74 |
const aiResponse = response.data.response || "Réponse reçue du serveur.";
|
|
@@ -83,16 +165,15 @@ function App() {
|
|
| 83 |
timestamp: new Date().toISOString()
|
| 84 |
}]);
|
| 85 |
|
| 86 |
-
// Mise à jour du status après la réponse
|
| 87 |
fetchStatus();
|
| 88 |
} catch (error) {
|
| 89 |
console.error("Erreur lors de l'appel au backend:", error);
|
| 90 |
let errorMsg = "Erreur : impossible de contacter le serveur IA.";
|
| 91 |
-
|
| 92 |
if (error.code === 'ERR_NETWORK') {
|
| 93 |
-
errorMsg = "⚠️ Serveur injoignable. Vérifiez que votre backend est
|
| 94 |
} else if (error.code === 'ECONNABORTED') {
|
| 95 |
-
errorMsg = "⏱️ Timeout : la requête a pris trop de temps.
|
| 96 |
} else if (error.response?.status === 400) {
|
| 97 |
errorMsg = `❌ Erreur de requête : ${error.response.data.detail || 'Format invalide'}`;
|
| 98 |
} else if (error.response?.status === 500) {
|
|
@@ -112,7 +193,7 @@ function App() {
|
|
| 112 |
}
|
| 113 |
};
|
| 114 |
|
| 115 |
-
// Upload de fichiers PDF
|
| 116 |
const handleFileUpload = async (e) => {
|
| 117 |
const files = Array.from(e.target.files);
|
| 118 |
if (!files.length) return;
|
|
@@ -126,7 +207,7 @@ function App() {
|
|
| 126 |
try {
|
| 127 |
const res = await axios.post(`${API_BASE}/upload`, formData, {
|
| 128 |
headers: { 'Content-Type': 'multipart/form-data' },
|
| 129 |
-
timeout: 180000,
|
| 130 |
onUploadProgress: (progressEvent) => {
|
| 131 |
const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
|
| 132 |
setUploadProgress(prev => ({ ...prev, percent: percentCompleted }));
|
|
@@ -137,7 +218,6 @@ function App() {
|
|
| 137 |
const filesProcessed = res.data.files_processed || 0;
|
| 138 |
const totalChunks = res.data.total_doc_chunks || 0;
|
| 139 |
|
| 140 |
-
// Mise à jour du status immédiate
|
| 141 |
setStatus(prev => ({ ...prev, doc_chunks: totalChunks }));
|
| 142 |
|
| 143 |
setMessages(prev => [...prev, {
|
|
@@ -147,12 +227,10 @@ function App() {
|
|
| 147 |
timestamp: new Date().toISOString()
|
| 148 |
}]);
|
| 149 |
|
| 150 |
-
// Refresh complet du status
|
| 151 |
fetchStatus();
|
| 152 |
} catch (err) {
|
| 153 |
console.error("Erreur upload:", err);
|
| 154 |
let errorMsg = "❌ Échec de l'import des documents.";
|
| 155 |
-
|
| 156 |
if (err.code === 'ECONNABORTED') {
|
| 157 |
errorMsg += " Timeout : les fichiers sont peut-être trop volumineux.";
|
| 158 |
} else if (err.response?.data?.detail) {
|
|
@@ -172,18 +250,15 @@ function App() {
|
|
| 172 |
}
|
| 173 |
};
|
| 174 |
|
| 175 |
-
// Réinitialisation
|
| 176 |
const handleReset = async () => {
|
| 177 |
-
if (!window.confirm("Voulez-vous réinitialiser la conversation ET effacer la mémoire du modèle ?"))
|
| 178 |
-
return;
|
| 179 |
-
}
|
| 180 |
|
| 181 |
try {
|
| 182 |
-
// Appeler l'endpoint de clear memory
|
| 183 |
await axios.post(`${API_BASE}/clear-memory`, {}, { timeout: 5000 });
|
| 184 |
setMessages([]);
|
| 185 |
fetchStatus();
|
| 186 |
-
|
| 187 |
setMessages([{
|
| 188 |
role: "assistant",
|
| 189 |
content: "✅ Conversation et mémoire réinitialisées avec succès.",
|
|
@@ -195,17 +270,16 @@ function App() {
|
|
| 195 |
setMessages([{
|
| 196 |
role: "assistant",
|
| 197 |
content: "⚠️ Chat réinitialisé, mais impossible de contacter le serveur pour effacer la mémoire.",
|
| 198 |
-
error: true
|
|
|
|
| 199 |
}]);
|
| 200 |
}
|
| 201 |
};
|
| 202 |
|
| 203 |
-
// Toggle thinking pour chaque message
|
| 204 |
const toggleThinking = (msgIndex) => {
|
| 205 |
setShowThinking(prev => ({ ...prev, [msgIndex]: !prev[msgIndex] }));
|
| 206 |
};
|
| 207 |
|
| 208 |
-
// Formatage du temps relatif
|
| 209 |
const formatTimeAgo = (timestamp) => {
|
| 210 |
if (!timestamp) return "";
|
| 211 |
const seconds = Math.floor((new Date() - new Date(timestamp)) / 1000);
|
|
@@ -230,7 +304,34 @@ function App() {
|
|
| 230 |
inputField: { flex: 1, background: 'transparent', border: 'none', color: 'white', padding: '0.8rem', outline: 'none', fontSize: '1rem' },
|
| 231 |
sendBtn: { backgroundColor: '#10b981', color: 'white', border: 'none', borderRadius: '1rem', width: '45px', height: '45px', display: 'flex', alignItems: 'center', justifyContent: 'center', cursor: 'pointer', transition: 'all 0.2s' },
|
| 232 |
toolBadge: { display: 'flex', alignItems: 'center', gap: '6px', fontSize: '11px', backgroundColor: '#020617', padding: '6px 12px', borderRadius: '10px', border: '1px solid #1e293b', color: '#94a3b8' },
|
| 233 |
-
statCard: { backgroundColor: 'rgba(2, 6, 23, 0.5)', borderRadius: '1rem', padding: '1rem', border: '1px solid #1e293b', marginBottom: '0.8rem' }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 234 |
};
|
| 235 |
|
| 236 |
return (
|
|
@@ -252,7 +353,97 @@ function App() {
|
|
| 252 |
</div>
|
| 253 |
|
| 254 |
<div style={{ padding: '2rem', flex: 1, display: 'flex', flexDirection: 'column', gap: '2rem' }}>
|
| 255 |
-
{/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 256 |
<div>
|
| 257 |
<h2 style={{ fontSize: '11px', color: '#475569', textTransform: 'uppercase', letterSpacing: '1.5px', marginBottom: '1rem', fontWeight: '800' }}>
|
| 258 |
📚 Documents
|
|
@@ -298,13 +489,12 @@ function App() {
|
|
| 298 |
</label>
|
| 299 |
</div>
|
| 300 |
|
| 301 |
-
{/* Statistiques
|
| 302 |
<div>
|
| 303 |
<h3 style={{ fontSize: '11px', color: '#475569', textTransform: 'uppercase', marginBottom: '1rem', fontWeight: '800', letterSpacing: '1.5px' }}>
|
| 304 |
📊 Statistiques
|
| 305 |
</h3>
|
| 306 |
-
|
| 307 |
-
{/* Base de connaissances */}
|
| 308 |
<div style={styles.statCard}>
|
| 309 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 310 |
<span style={{ color: '#64748b', fontSize: '12px', display: 'flex', alignItems: 'center', gap: '6px' }}>
|
|
@@ -319,7 +509,6 @@ function App() {
|
|
| 319 |
</div>
|
| 320 |
</div>
|
| 321 |
|
| 322 |
-
{/* Mémoire conversationnelle */}
|
| 323 |
<div style={styles.statCard}>
|
| 324 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 325 |
<span style={{ color: '#64748b', fontSize: '12px', display: 'flex', alignItems: 'center', gap: '6px' }}>
|
|
@@ -334,7 +523,6 @@ function App() {
|
|
| 334 |
</div>
|
| 335 |
</div>
|
| 336 |
|
| 337 |
-
{/* Contexte conversationnel */}
|
| 338 |
{status.current_subject && (
|
| 339 |
<div style={styles.statCard}>
|
| 340 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
|
@@ -351,7 +539,6 @@ function App() {
|
|
| 351 |
</div>
|
| 352 |
)}
|
| 353 |
|
| 354 |
-
{/* Localisation */}
|
| 355 |
<div style={styles.statCard}>
|
| 356 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 357 |
<span style={{ color: '#64748b', fontSize: '12px' }}>Position</span>
|
|
@@ -361,7 +548,6 @@ function App() {
|
|
| 361 |
</div>
|
| 362 |
</div>
|
| 363 |
|
| 364 |
-
{/* Santé du système */}
|
| 365 |
<div style={styles.statCard}>
|
| 366 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 367 |
<span style={{ color: '#64748b', fontSize: '12px', display: 'flex', alignItems: 'center', gap: '6px' }}>
|
|
@@ -431,6 +617,43 @@ function App() {
|
|
| 431 |
<p style={{ color: '#64748b', maxWidth: '450px', lineHeight: '1.7', fontSize: '1.1rem' }}>
|
| 432 |
Assistant IA expert du Gabon avec mémoire contextuelle et analyse documentaire avancée.
|
| 433 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 434 |
<div style={{ display: 'flex', gap: '1rem', marginTop: '2rem' }}>
|
| 435 |
<div style={{ textAlign: 'center' }}>
|
| 436 |
<div style={{ fontSize: '2rem', fontWeight: 'bold', color: '#10b981' }}>{status.doc_chunks}</div>
|
|
@@ -456,10 +679,27 @@ function App() {
|
|
| 456 |
justifyContent: 'center',
|
| 457 |
backgroundColor: m.role === 'user' ? '#059669' : m.error ? '#7f1d1d' : m.success ? '#064e3b' : '#1e293b',
|
| 458 |
flexShrink: 0,
|
| 459 |
-
border: '1px solid #334155'
|
|
|
|
| 460 |
}}>
|
| 461 |
{m.role === 'user' ? (
|
| 462 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 463 |
) : m.error ? (
|
| 464 |
<AlertCircle size={24} color="#ef4444" />
|
| 465 |
) : m.success ? (
|
|
@@ -470,7 +710,6 @@ function App() {
|
|
| 470 |
</div>
|
| 471 |
|
| 472 |
<div style={{ display: 'flex', flexDirection: 'column', gap: '0.8rem', width: '100%' }}>
|
| 473 |
-
{/* Informations contextuelles */}
|
| 474 |
{m.role === 'assistant' && !m.error && !m.success && m.context_info && (
|
| 475 |
<div style={{ backgroundColor: 'rgba(30, 41, 59, 0.3)', borderRadius: '12px', padding: '10px 14px', border: '1px solid #1e293b' }}>
|
| 476 |
<button
|
|
@@ -482,7 +721,7 @@ function App() {
|
|
| 482 |
</span>
|
| 483 |
{showThinking[i] ? <ChevronUp size={14} /> : <ChevronDown size={14} />}
|
| 484 |
</button>
|
| 485 |
-
|
| 486 |
{showThinking[i] && (
|
| 487 |
<>
|
| 488 |
<div style={{ display: 'flex', gap: '8px', marginTop: '12px', flexWrap: 'wrap' }}>
|
|
@@ -503,7 +742,6 @@ function App() {
|
|
| 503 |
</div>
|
| 504 |
</div>
|
| 505 |
|
| 506 |
-
{/* Détails du contexte */}
|
| 507 |
<div style={{ marginTop: '12px', fontSize: '11px', color: '#64748b', padding: '10px', backgroundColor: '#020617', borderRadius: '8px' }}>
|
| 508 |
{m.context_info.subject_keywords?.length > 0 && (
|
| 509 |
<div style={{ marginBottom: '8px' }}>
|
|
@@ -526,7 +764,6 @@ function App() {
|
|
| 526 |
</div>
|
| 527 |
)}
|
| 528 |
|
| 529 |
-
{/* Bulle de message */}
|
| 530 |
<div style={{
|
| 531 |
...(m.role === 'user' ? styles.userBubble : m.error ? styles.errorBubble : m.success ? styles.successBubble : styles.aiBubble),
|
| 532 |
position: 'relative'
|
|
@@ -541,14 +778,13 @@ function App() {
|
|
| 541 |
)}
|
| 542 |
</div>
|
| 543 |
|
| 544 |
-
{/* Images */}
|
| 545 |
{m.images && m.images.length > 0 && (
|
| 546 |
<div style={{ display: 'flex', gap: '12px', marginTop: '8px', overflowX: 'auto', paddingBottom: '10px' }}>
|
| 547 |
{m.images.map((img, idx) => (
|
| 548 |
<div key={idx} style={{ flexShrink: 0, position: 'relative', borderRadius: '1.2rem', overflow: 'hidden', border: '2px solid #334155', backgroundColor: '#0f172a' }}>
|
| 549 |
-
<img
|
| 550 |
-
src={img}
|
| 551 |
-
alt={`Image ${idx + 1}`}
|
| 552 |
style={{ height: '180px', width: '280px', objectFit: 'cover' }}
|
| 553 |
onError={(e) => {
|
| 554 |
e.target.style.display = 'none';
|
|
@@ -597,28 +833,28 @@ function App() {
|
|
| 597 |
<Search size={22} color="#475569" style={{ marginRight: '10px' }} />
|
| 598 |
<input
|
| 599 |
style={styles.inputField}
|
| 600 |
-
placeholder="Posez votre question sur le Gabon, vos documents ou l'actualité..."
|
| 601 |
value={input}
|
| 602 |
onChange={(e) => setInput(e.target.value)}
|
| 603 |
onKeyDown={(e) => {
|
| 604 |
-
if (e.key === 'Enter' && !e.shiftKey) {
|
| 605 |
e.preventDefault();
|
| 606 |
handleSend();
|
| 607 |
}
|
| 608 |
}}
|
| 609 |
-
disabled={loading}
|
| 610 |
/>
|
| 611 |
<button
|
| 612 |
-
style={{
|
| 613 |
-
...styles.sendBtn,
|
| 614 |
-
opacity: input.trim() && !loading ? 1 : 0.4,
|
| 615 |
-
cursor: input.trim() && !loading ? 'pointer' : 'not-allowed',
|
| 616 |
-
transform: input.trim() && !loading ? 'scale(1)' : 'scale(0.95)'
|
| 617 |
}}
|
| 618 |
onClick={handleSend}
|
| 619 |
-
disabled={loading || !input.trim()}
|
| 620 |
onMouseEnter={(e) => {
|
| 621 |
-
if (input.trim() && !loading) {
|
| 622 |
e.target.style.backgroundColor = '#059669';
|
| 623 |
e.target.style.transform = 'scale(1.05)';
|
| 624 |
}
|
|
|
|
| 3 |
import {
|
| 4 |
Send, FileText, Upload, Globe, MapPin,
|
| 5 |
Loader2, Trash2, Image as ImageIcon, Search, Brain, ChevronDown, ChevronUp, User,
|
| 6 |
+
Database, Clock, TrendingUp, AlertCircle, CheckCircle, Zap,
|
| 7 |
+
LogOut
|
| 8 |
} from 'lucide-react';
|
| 9 |
+
import { initializeApp } from 'firebase/app';
|
| 10 |
+
import {
|
| 11 |
+
getAuth,
|
| 12 |
+
GoogleAuthProvider,
|
| 13 |
+
signInWithRedirect,
|
| 14 |
+
signOut,
|
| 15 |
+
onAuthStateChanged,
|
| 16 |
+
getRedirectResult
|
| 17 |
+
} from 'firebase/auth';
|
| 18 |
+
|
| 19 |
+
// Configuration Firebase
|
| 20 |
+
const firebaseConfig = {
|
| 21 |
+
apiKey: import.meta.env.VITE_FIREBASE_API_KEY || "AIzaSyCel4qvAtZomh4aQOCArCLIYSYmeZ4Qbig",
|
| 22 |
+
authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN || "sevenstatut.firebaseapp.com",
|
| 23 |
+
databaseURL: import.meta.env.VITE_FIREBASE_DATABASE_URL || "https://sevenstatut-default-rtdb.firebaseio.com",
|
| 24 |
+
projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID || "sevenstatut",
|
| 25 |
+
storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET || "sevenstatut.firebasestorage.app",
|
| 26 |
+
messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID || "838268990346",
|
| 27 |
+
appId: import.meta.env.VITE_FIREBASE_APP_ID || "1:838268990346:web:dba8702c39e82981704e73"
|
| 28 |
+
};
|
| 29 |
+
|
| 30 |
+
// Initialiser Firebase
|
| 31 |
+
const app = initializeApp(firebaseConfig);
|
| 32 |
+
const auth = getAuth(app);
|
| 33 |
+
const googleProvider = new GoogleAuthProvider();
|
| 34 |
+
|
| 35 |
+
const API_BASE = "https://belikanm-kibali-api.hf.space";
|
| 36 |
const LOGO_PATH = "/kibali_logo.svg";
|
| 37 |
|
| 38 |
function App() {
|
|
|
|
| 44 |
doc_chunks: 0,
|
| 45 |
memory_entries: 0,
|
| 46 |
current_subject: null,
|
| 47 |
+
subject_message_count: 0,
|
| 48 |
+
torch_cuda_available: false,
|
| 49 |
+
status: 'unknown'
|
| 50 |
});
|
| 51 |
const [showThinking, setShowThinking] = useState({});
|
| 52 |
const [uploadProgress, setUploadProgress] = useState(null);
|
| 53 |
+
const [user, setUser] = useState(null);
|
| 54 |
+
const [authLoading, setAuthLoading] = useState(true);
|
| 55 |
+
|
| 56 |
const scrollRef = useRef(null);
|
| 57 |
const pollingInterval = useRef(null);
|
| 58 |
|
| 59 |
+
// Gestion de l'authentification
|
| 60 |
+
useEffect(() => {
|
| 61 |
+
// Vérifier le résultat de la redirection
|
| 62 |
+
getRedirectResult(auth)
|
| 63 |
+
.then((result) => {
|
| 64 |
+
if (result) {
|
| 65 |
+
setUser(result.user);
|
| 66 |
+
}
|
| 67 |
+
setAuthLoading(false);
|
| 68 |
+
})
|
| 69 |
+
.catch((error) => {
|
| 70 |
+
console.error("Erreur lors de la redirection:", error);
|
| 71 |
+
setAuthLoading(false);
|
| 72 |
+
});
|
| 73 |
+
|
| 74 |
+
// Écouter les changements d'état d'authentification
|
| 75 |
+
const unsubscribe = onAuthStateChanged(auth, (firebaseUser) => {
|
| 76 |
+
setUser(firebaseUser);
|
| 77 |
+
if (!firebaseUser) {
|
| 78 |
+
setAuthLoading(false);
|
| 79 |
+
}
|
| 80 |
+
});
|
| 81 |
+
|
| 82 |
+
return () => unsubscribe();
|
| 83 |
+
}, []);
|
| 84 |
+
|
| 85 |
+
// Récupération du statut du backend au démarrage et toutes les 10 secondes
|
| 86 |
useEffect(() => {
|
| 87 |
fetchStatus();
|
| 88 |
+
pollingInterval.current = setInterval(fetchStatus, 10000);
|
| 89 |
+
|
| 90 |
return () => {
|
| 91 |
if (pollingInterval.current) {
|
| 92 |
clearInterval(pollingInterval.current);
|
|
|
|
| 103 |
}
|
| 104 |
};
|
| 105 |
|
| 106 |
+
// Connexion Google avec redirection
|
| 107 |
+
const handleGoogleLogin = async () => {
|
| 108 |
+
try {
|
| 109 |
+
await signInWithRedirect(auth, googleProvider);
|
| 110 |
+
} catch (error) {
|
| 111 |
+
console.error("Erreur de connexion Google:", error);
|
| 112 |
+
alert(`Erreur de connexion: ${error.message}`);
|
| 113 |
+
}
|
| 114 |
+
};
|
| 115 |
+
|
| 116 |
+
// Déconnexion
|
| 117 |
+
const handleLogout = async () => {
|
| 118 |
+
try {
|
| 119 |
+
await signOut(auth);
|
| 120 |
+
setUser(null);
|
| 121 |
+
} catch (error) {
|
| 122 |
+
console.error("Erreur de déconnexion:", error);
|
| 123 |
+
}
|
| 124 |
+
};
|
| 125 |
+
|
| 126 |
// Auto-scroll vers le bas
|
| 127 |
useEffect(() => {
|
| 128 |
scrollRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
|
|
| 132 |
const handleSend = async () => {
|
| 133 |
if (!input.trim() || loading) return;
|
| 134 |
|
| 135 |
+
const userMsg = {
|
| 136 |
+
role: "user",
|
| 137 |
+
content: input.trim(),
|
| 138 |
+
userPhoto: user?.photoURL || null,
|
| 139 |
+
userName: user?.displayName || "Utilisateur"
|
| 140 |
+
};
|
| 141 |
setMessages(prev => [...prev, userMsg]);
|
| 142 |
setInput("");
|
| 143 |
setLoading(true);
|
|
|
|
| 150 |
city: "Libreville",
|
| 151 |
thinking_mode: true
|
| 152 |
}, {
|
| 153 |
+
timeout: 120000
|
| 154 |
});
|
| 155 |
|
| 156 |
const aiResponse = response.data.response || "Réponse reçue du serveur.";
|
|
|
|
| 165 |
timestamp: new Date().toISOString()
|
| 166 |
}]);
|
| 167 |
|
|
|
|
| 168 |
fetchStatus();
|
| 169 |
} catch (error) {
|
| 170 |
console.error("Erreur lors de l'appel au backend:", error);
|
| 171 |
let errorMsg = "Erreur : impossible de contacter le serveur IA.";
|
| 172 |
+
|
| 173 |
if (error.code === 'ERR_NETWORK') {
|
| 174 |
+
errorMsg = "⚠️ Serveur injoignable. Vérifiez que votre backend est lancé.";
|
| 175 |
} else if (error.code === 'ECONNABORTED') {
|
| 176 |
+
errorMsg = "⏱️ Timeout : la requête a pris trop de temps.";
|
| 177 |
} else if (error.response?.status === 400) {
|
| 178 |
errorMsg = `❌ Erreur de requête : ${error.response.data.detail || 'Format invalide'}`;
|
| 179 |
} else if (error.response?.status === 500) {
|
|
|
|
| 193 |
}
|
| 194 |
};
|
| 195 |
|
| 196 |
+
// Upload de fichiers PDF
|
| 197 |
const handleFileUpload = async (e) => {
|
| 198 |
const files = Array.from(e.target.files);
|
| 199 |
if (!files.length) return;
|
|
|
|
| 207 |
try {
|
| 208 |
const res = await axios.post(`${API_BASE}/upload`, formData, {
|
| 209 |
headers: { 'Content-Type': 'multipart/form-data' },
|
| 210 |
+
timeout: 180000,
|
| 211 |
onUploadProgress: (progressEvent) => {
|
| 212 |
const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
|
| 213 |
setUploadProgress(prev => ({ ...prev, percent: percentCompleted }));
|
|
|
|
| 218 |
const filesProcessed = res.data.files_processed || 0;
|
| 219 |
const totalChunks = res.data.total_doc_chunks || 0;
|
| 220 |
|
|
|
|
| 221 |
setStatus(prev => ({ ...prev, doc_chunks: totalChunks }));
|
| 222 |
|
| 223 |
setMessages(prev => [...prev, {
|
|
|
|
| 227 |
timestamp: new Date().toISOString()
|
| 228 |
}]);
|
| 229 |
|
|
|
|
| 230 |
fetchStatus();
|
| 231 |
} catch (err) {
|
| 232 |
console.error("Erreur upload:", err);
|
| 233 |
let errorMsg = "❌ Échec de l'import des documents.";
|
|
|
|
| 234 |
if (err.code === 'ECONNABORTED') {
|
| 235 |
errorMsg += " Timeout : les fichiers sont peut-être trop volumineux.";
|
| 236 |
} else if (err.response?.data?.detail) {
|
|
|
|
| 250 |
}
|
| 251 |
};
|
| 252 |
|
| 253 |
+
// Réinitialisation complète (chat + mémoire)
|
| 254 |
const handleReset = async () => {
|
| 255 |
+
if (!window.confirm("Voulez-vous réinitialiser la conversation ET effacer la mémoire du modèle ?")) return;
|
|
|
|
|
|
|
| 256 |
|
| 257 |
try {
|
|
|
|
| 258 |
await axios.post(`${API_BASE}/clear-memory`, {}, { timeout: 5000 });
|
| 259 |
setMessages([]);
|
| 260 |
fetchStatus();
|
| 261 |
+
|
| 262 |
setMessages([{
|
| 263 |
role: "assistant",
|
| 264 |
content: "✅ Conversation et mémoire réinitialisées avec succès.",
|
|
|
|
| 270 |
setMessages([{
|
| 271 |
role: "assistant",
|
| 272 |
content: "⚠️ Chat réinitialisé, mais impossible de contacter le serveur pour effacer la mémoire.",
|
| 273 |
+
error: true,
|
| 274 |
+
timestamp: new Date().toISOString()
|
| 275 |
}]);
|
| 276 |
}
|
| 277 |
};
|
| 278 |
|
|
|
|
| 279 |
const toggleThinking = (msgIndex) => {
|
| 280 |
setShowThinking(prev => ({ ...prev, [msgIndex]: !prev[msgIndex] }));
|
| 281 |
};
|
| 282 |
|
|
|
|
| 283 |
const formatTimeAgo = (timestamp) => {
|
| 284 |
if (!timestamp) return "";
|
| 285 |
const seconds = Math.floor((new Date() - new Date(timestamp)) / 1000);
|
|
|
|
| 304 |
inputField: { flex: 1, background: 'transparent', border: 'none', color: 'white', padding: '0.8rem', outline: 'none', fontSize: '1rem' },
|
| 305 |
sendBtn: { backgroundColor: '#10b981', color: 'white', border: 'none', borderRadius: '1rem', width: '45px', height: '45px', display: 'flex', alignItems: 'center', justifyContent: 'center', cursor: 'pointer', transition: 'all 0.2s' },
|
| 306 |
toolBadge: { display: 'flex', alignItems: 'center', gap: '6px', fontSize: '11px', backgroundColor: '#020617', padding: '6px 12px', borderRadius: '10px', border: '1px solid #1e293b', color: '#94a3b8' },
|
| 307 |
+
statCard: { backgroundColor: 'rgba(2, 6, 23, 0.5)', borderRadius: '1rem', padding: '1rem', border: '1px solid #1e293b', marginBottom: '0.8rem' },
|
| 308 |
+
googleBtn: {
|
| 309 |
+
width: '100%',
|
| 310 |
+
padding: '12px 16px',
|
| 311 |
+
backgroundColor: '#0f172a',
|
| 312 |
+
border: '1px solid #334155',
|
| 313 |
+
borderRadius: '12px',
|
| 314 |
+
color: '#f1f5f9',
|
| 315 |
+
display: 'flex',
|
| 316 |
+
alignItems: 'center',
|
| 317 |
+
justifyContent: 'center',
|
| 318 |
+
gap: '10px',
|
| 319 |
+
cursor: 'pointer',
|
| 320 |
+
fontWeight: '600',
|
| 321 |
+
fontSize: '14px',
|
| 322 |
+
transition: 'all 0.2s',
|
| 323 |
+
marginBottom: '1rem'
|
| 324 |
+
},
|
| 325 |
+
userProfile: {
|
| 326 |
+
display: 'flex',
|
| 327 |
+
alignItems: 'center',
|
| 328 |
+
gap: '12px',
|
| 329 |
+
padding: '12px 16px',
|
| 330 |
+
backgroundColor: 'rgba(2, 6, 23, 0.5)',
|
| 331 |
+
borderRadius: '12px',
|
| 332 |
+
border: '1px solid #334155',
|
| 333 |
+
marginBottom: '1rem'
|
| 334 |
+
}
|
| 335 |
};
|
| 336 |
|
| 337 |
return (
|
|
|
|
| 353 |
</div>
|
| 354 |
|
| 355 |
<div style={{ padding: '2rem', flex: 1, display: 'flex', flexDirection: 'column', gap: '2rem' }}>
|
| 356 |
+
{/* Section Connexion */}
|
| 357 |
+
{authLoading ? (
|
| 358 |
+
<div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '80px' }}>
|
| 359 |
+
<Loader2 className="animate-spin" color="#10b981" size={24} />
|
| 360 |
+
</div>
|
| 361 |
+
) : user ? (
|
| 362 |
+
<div style={styles.userProfile}>
|
| 363 |
+
<div style={{ position: 'relative' }}>
|
| 364 |
+
<img
|
| 365 |
+
src={user.photoURL}
|
| 366 |
+
alt={user.displayName || "Utilisateur"}
|
| 367 |
+
style={{
|
| 368 |
+
width: '50px',
|
| 369 |
+
height: '50px',
|
| 370 |
+
borderRadius: '50%',
|
| 371 |
+
border: '2px solid #10b981'
|
| 372 |
+
}}
|
| 373 |
+
onError={(e) => {
|
| 374 |
+
e.target.src = `https://ui-avatars.com/api/?name=${encodeURIComponent(user.displayName || "User")}&background=059669&color=fff`;
|
| 375 |
+
}}
|
| 376 |
+
/>
|
| 377 |
+
<div style={{
|
| 378 |
+
position: 'absolute',
|
| 379 |
+
bottom: 0,
|
| 380 |
+
right: 0,
|
| 381 |
+
width: '12px',
|
| 382 |
+
height: '12px',
|
| 383 |
+
backgroundColor: '#10b981',
|
| 384 |
+
borderRadius: '50%',
|
| 385 |
+
border: '2px solid #0f172a'
|
| 386 |
+
}} />
|
| 387 |
+
</div>
|
| 388 |
+
<div style={{ flex: 1 }}>
|
| 389 |
+
<div style={{ fontWeight: '600', fontSize: '15px', color: '#f1f5f9' }}>
|
| 390 |
+
{user.displayName || "Utilisateur"}
|
| 391 |
+
</div>
|
| 392 |
+
<div style={{ fontSize: '12px', color: '#64748b', marginTop: '4px' }}>
|
| 393 |
+
{user.email}
|
| 394 |
+
</div>
|
| 395 |
+
</div>
|
| 396 |
+
<button
|
| 397 |
+
onClick={handleLogout}
|
| 398 |
+
style={{
|
| 399 |
+
backgroundColor: 'transparent',
|
| 400 |
+
border: '1px solid #334155',
|
| 401 |
+
borderRadius: '8px',
|
| 402 |
+
width: '36px',
|
| 403 |
+
height: '36px',
|
| 404 |
+
display: 'flex',
|
| 405 |
+
alignItems: 'center',
|
| 406 |
+
justifyContent: 'center',
|
| 407 |
+
cursor: 'pointer',
|
| 408 |
+
color: '#94a3b8',
|
| 409 |
+
transition: 'all 0.2s'
|
| 410 |
+
}}
|
| 411 |
+
onMouseEnter={(e) => {
|
| 412 |
+
e.target.style.borderColor = '#ef4444';
|
| 413 |
+
e.target.style.color = '#ef4444';
|
| 414 |
+
}}
|
| 415 |
+
onMouseLeave={(e) => {
|
| 416 |
+
e.target.style.borderColor = '#334155';
|
| 417 |
+
e.target.style.color = '#94a3b8';
|
| 418 |
+
}}
|
| 419 |
+
>
|
| 420 |
+
<LogOut size={18} />
|
| 421 |
+
</button>
|
| 422 |
+
</div>
|
| 423 |
+
) : (
|
| 424 |
+
<button
|
| 425 |
+
onClick={handleGoogleLogin}
|
| 426 |
+
style={styles.googleBtn}
|
| 427 |
+
onMouseEnter={(e) => {
|
| 428 |
+
e.target.style.backgroundColor = '#1e293b';
|
| 429 |
+
e.target.style.borderColor = '#475569';
|
| 430 |
+
}}
|
| 431 |
+
onMouseLeave={(e) => {
|
| 432 |
+
e.target.style.backgroundColor = '#0f172a';
|
| 433 |
+
e.target.style.borderColor = '#334155';
|
| 434 |
+
}}
|
| 435 |
+
>
|
| 436 |
+
<svg width="20" height="20" viewBox="0 0 24 24">
|
| 437 |
+
<path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/>
|
| 438 |
+
<path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/>
|
| 439 |
+
<path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/>
|
| 440 |
+
<path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/>
|
| 441 |
+
</svg>
|
| 442 |
+
Connexion Google
|
| 443 |
+
</button>
|
| 444 |
+
)}
|
| 445 |
+
|
| 446 |
+
{/* Upload */}
|
| 447 |
<div>
|
| 448 |
<h2 style={{ fontSize: '11px', color: '#475569', textTransform: 'uppercase', letterSpacing: '1.5px', marginBottom: '1rem', fontWeight: '800' }}>
|
| 449 |
📚 Documents
|
|
|
|
| 489 |
</label>
|
| 490 |
</div>
|
| 491 |
|
| 492 |
+
{/* Statistiques */}
|
| 493 |
<div>
|
| 494 |
<h3 style={{ fontSize: '11px', color: '#475569', textTransform: 'uppercase', marginBottom: '1rem', fontWeight: '800', letterSpacing: '1.5px' }}>
|
| 495 |
📊 Statistiques
|
| 496 |
</h3>
|
| 497 |
+
|
|
|
|
| 498 |
<div style={styles.statCard}>
|
| 499 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 500 |
<span style={{ color: '#64748b', fontSize: '12px', display: 'flex', alignItems: 'center', gap: '6px' }}>
|
|
|
|
| 509 |
</div>
|
| 510 |
</div>
|
| 511 |
|
|
|
|
| 512 |
<div style={styles.statCard}>
|
| 513 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 514 |
<span style={{ color: '#64748b', fontSize: '12px', display: 'flex', alignItems: 'center', gap: '6px' }}>
|
|
|
|
| 523 |
</div>
|
| 524 |
</div>
|
| 525 |
|
|
|
|
| 526 |
{status.current_subject && (
|
| 527 |
<div style={styles.statCard}>
|
| 528 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
|
|
|
| 539 |
</div>
|
| 540 |
)}
|
| 541 |
|
|
|
|
| 542 |
<div style={styles.statCard}>
|
| 543 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 544 |
<span style={{ color: '#64748b', fontSize: '12px' }}>Position</span>
|
|
|
|
| 548 |
</div>
|
| 549 |
</div>
|
| 550 |
|
|
|
|
| 551 |
<div style={styles.statCard}>
|
| 552 |
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
| 553 |
<span style={{ color: '#64748b', fontSize: '12px', display: 'flex', alignItems: 'center', gap: '6px' }}>
|
|
|
|
| 617 |
<p style={{ color: '#64748b', maxWidth: '450px', lineHeight: '1.7', fontSize: '1.1rem' }}>
|
| 618 |
Assistant IA expert du Gabon avec mémoire contextuelle et analyse documentaire avancée.
|
| 619 |
</p>
|
| 620 |
+
{!user && (
|
| 621 |
+
<div style={{ marginTop: '2rem' }}>
|
| 622 |
+
<button
|
| 623 |
+
onClick={handleGoogleLogin}
|
| 624 |
+
style={{
|
| 625 |
+
padding: '12px 24px',
|
| 626 |
+
backgroundColor: '#0f172a',
|
| 627 |
+
border: '1px solid #334155',
|
| 628 |
+
borderRadius: '12px',
|
| 629 |
+
color: '#f1f5f9',
|
| 630 |
+
display: 'flex',
|
| 631 |
+
alignItems: 'center',
|
| 632 |
+
gap: '10px',
|
| 633 |
+
cursor: 'pointer',
|
| 634 |
+
fontWeight: '600',
|
| 635 |
+
fontSize: '14px',
|
| 636 |
+
transition: 'all 0.2s'
|
| 637 |
+
}}
|
| 638 |
+
onMouseEnter={(e) => {
|
| 639 |
+
e.target.style.backgroundColor = '#1e293b';
|
| 640 |
+
e.target.style.borderColor = '#475569';
|
| 641 |
+
}}
|
| 642 |
+
onMouseLeave={(e) => {
|
| 643 |
+
e.target.style.backgroundColor = '#0f172a';
|
| 644 |
+
e.target.style.borderColor = '#334155';
|
| 645 |
+
}}
|
| 646 |
+
>
|
| 647 |
+
<svg width="20" height="20" viewBox="0 0 24 24">
|
| 648 |
+
<path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/>
|
| 649 |
+
<path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/>
|
| 650 |
+
<path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/>
|
| 651 |
+
<path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/>
|
| 652 |
+
</svg>
|
| 653 |
+
Connectez-vous pour commencer
|
| 654 |
+
</button>
|
| 655 |
+
</div>
|
| 656 |
+
)}
|
| 657 |
<div style={{ display: 'flex', gap: '1rem', marginTop: '2rem' }}>
|
| 658 |
<div style={{ textAlign: 'center' }}>
|
| 659 |
<div style={{ fontSize: '2rem', fontWeight: 'bold', color: '#10b981' }}>{status.doc_chunks}</div>
|
|
|
|
| 679 |
justifyContent: 'center',
|
| 680 |
backgroundColor: m.role === 'user' ? '#059669' : m.error ? '#7f1d1d' : m.success ? '#064e3b' : '#1e293b',
|
| 681 |
flexShrink: 0,
|
| 682 |
+
border: '1px solid #334155',
|
| 683 |
+
overflow: 'hidden'
|
| 684 |
}}>
|
| 685 |
{m.role === 'user' ? (
|
| 686 |
+
m.userPhoto ? (
|
| 687 |
+
<img
|
| 688 |
+
src={m.userPhoto}
|
| 689 |
+
alt={m.userName}
|
| 690 |
+
style={{
|
| 691 |
+
width: '100%',
|
| 692 |
+
height: '100%',
|
| 693 |
+
objectFit: 'cover'
|
| 694 |
+
}}
|
| 695 |
+
onError={(e) => {
|
| 696 |
+
e.target.style.display = 'none';
|
| 697 |
+
e.target.parentElement.innerHTML = `<div style="display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#059669;"><User size={24} color="white" /></div>`;
|
| 698 |
+
}}
|
| 699 |
+
/>
|
| 700 |
+
) : (
|
| 701 |
+
<User size={24} color="white" />
|
| 702 |
+
)
|
| 703 |
) : m.error ? (
|
| 704 |
<AlertCircle size={24} color="#ef4444" />
|
| 705 |
) : m.success ? (
|
|
|
|
| 710 |
</div>
|
| 711 |
|
| 712 |
<div style={{ display: 'flex', flexDirection: 'column', gap: '0.8rem', width: '100%' }}>
|
|
|
|
| 713 |
{m.role === 'assistant' && !m.error && !m.success && m.context_info && (
|
| 714 |
<div style={{ backgroundColor: 'rgba(30, 41, 59, 0.3)', borderRadius: '12px', padding: '10px 14px', border: '1px solid #1e293b' }}>
|
| 715 |
<button
|
|
|
|
| 721 |
</span>
|
| 722 |
{showThinking[i] ? <ChevronUp size={14} /> : <ChevronDown size={14} />}
|
| 723 |
</button>
|
| 724 |
+
|
| 725 |
{showThinking[i] && (
|
| 726 |
<>
|
| 727 |
<div style={{ display: 'flex', gap: '8px', marginTop: '12px', flexWrap: 'wrap' }}>
|
|
|
|
| 742 |
</div>
|
| 743 |
</div>
|
| 744 |
|
|
|
|
| 745 |
<div style={{ marginTop: '12px', fontSize: '11px', color: '#64748b', padding: '10px', backgroundColor: '#020617', borderRadius: '8px' }}>
|
| 746 |
{m.context_info.subject_keywords?.length > 0 && (
|
| 747 |
<div style={{ marginBottom: '8px' }}>
|
|
|
|
| 764 |
</div>
|
| 765 |
)}
|
| 766 |
|
|
|
|
| 767 |
<div style={{
|
| 768 |
...(m.role === 'user' ? styles.userBubble : m.error ? styles.errorBubble : m.success ? styles.successBubble : styles.aiBubble),
|
| 769 |
position: 'relative'
|
|
|
|
| 778 |
)}
|
| 779 |
</div>
|
| 780 |
|
|
|
|
| 781 |
{m.images && m.images.length > 0 && (
|
| 782 |
<div style={{ display: 'flex', gap: '12px', marginTop: '8px', overflowX: 'auto', paddingBottom: '10px' }}>
|
| 783 |
{m.images.map((img, idx) => (
|
| 784 |
<div key={idx} style={{ flexShrink: 0, position: 'relative', borderRadius: '1.2rem', overflow: 'hidden', border: '2px solid #334155', backgroundColor: '#0f172a' }}>
|
| 785 |
+
<img
|
| 786 |
+
src={img}
|
| 787 |
+
alt={`Image ${idx + 1}`}
|
| 788 |
style={{ height: '180px', width: '280px', objectFit: 'cover' }}
|
| 789 |
onError={(e) => {
|
| 790 |
e.target.style.display = 'none';
|
|
|
|
| 833 |
<Search size={22} color="#475569" style={{ marginRight: '10px' }} />
|
| 834 |
<input
|
| 835 |
style={styles.inputField}
|
| 836 |
+
placeholder={user ? "Posez votre question sur le Gabon, vos documents ou l'actualité..." : "Connectez-vous pour poser des questions..."}
|
| 837 |
value={input}
|
| 838 |
onChange={(e) => setInput(e.target.value)}
|
| 839 |
onKeyDown={(e) => {
|
| 840 |
+
if (e.key === 'Enter' && !e.shiftKey && user) {
|
| 841 |
e.preventDefault();
|
| 842 |
handleSend();
|
| 843 |
}
|
| 844 |
}}
|
| 845 |
+
disabled={loading || !user}
|
| 846 |
/>
|
| 847 |
<button
|
| 848 |
+
style={{
|
| 849 |
+
...styles.sendBtn,
|
| 850 |
+
opacity: (input.trim() && !loading && user) ? 1 : 0.4,
|
| 851 |
+
cursor: (input.trim() && !loading && user) ? 'pointer' : 'not-allowed',
|
| 852 |
+
transform: (input.trim() && !loading && user) ? 'scale(1)' : 'scale(0.95)'
|
| 853 |
}}
|
| 854 |
onClick={handleSend}
|
| 855 |
+
disabled={loading || !input.trim() || !user}
|
| 856 |
onMouseEnter={(e) => {
|
| 857 |
+
if (input.trim() && !loading && user) {
|
| 858 |
e.target.style.backgroundColor = '#059669';
|
| 859 |
e.target.style.transform = 'scale(1.05)';
|
| 860 |
}
|
{kibali-ui/src → src}/assets/react.svg
RENAMED
|
File without changes
|
{kibali-ui/src → src}/firebase.js
RENAMED
|
@@ -1,37 +1,37 @@
|
|
| 1 |
-
// src/firebase.js
|
| 2 |
-
import { initializeApp } from "firebase/app";
|
| 3 |
-
import { getAuth, GoogleAuthProvider } from "firebase/auth";
|
| 4 |
-
|
| 5 |
-
// Vérifie que les variables sont bien chargées (très utile pour debug)
|
| 6 |
-
const apiKey = import.meta.env.VITE_FIREBASE_API_KEY;
|
| 7 |
-
const authDomain = import.meta.env.VITE_FIREBASE_AUTH_DOMAIN;
|
| 8 |
-
const projectId = import.meta.env.VITE_FIREBASE_PROJECT_ID;
|
| 9 |
-
const storageBucket = import.meta.env.VITE_FIREBASE_STORAGE_BUCKET;
|
| 10 |
-
const messagingSenderId = import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID;
|
| 11 |
-
const appId = import.meta.env.VITE_FIREBASE_APP_ID;
|
| 12 |
-
|
| 13 |
-
// Debug temporaire (à supprimer plus tard)
|
| 14 |
-
console.log("Firebase Config chargée :", {
|
| 15 |
-
apiKey: apiKey ? "OK (cachée)" : "MANQUANTE !",
|
| 16 |
-
authDomain,
|
| 17 |
-
projectId,
|
| 18 |
-
appId
|
| 19 |
-
});
|
| 20 |
-
|
| 21 |
-
if (!apiKey || !authDomain || !projectId || !appId) {
|
| 22 |
-
throw new Error("Variables Firebase manquantes dans .env ! Vérifie ton fichier .env à la racine.");
|
| 23 |
-
}
|
| 24 |
-
|
| 25 |
-
const firebaseConfig = {
|
| 26 |
-
apiKey,
|
| 27 |
-
authDomain,
|
| 28 |
-
projectId,
|
| 29 |
-
storageBucket,
|
| 30 |
-
messagingSenderId,
|
| 31 |
-
appId,
|
| 32 |
-
};
|
| 33 |
-
|
| 34 |
-
// Initialiser Firebase
|
| 35 |
-
const app = initializeApp(firebaseConfig);
|
| 36 |
-
export const auth = getAuth(app);
|
| 37 |
export const googleProvider = new GoogleAuthProvider();
|
|
|
|
| 1 |
+
// src/firebase.js
|
| 2 |
+
import { initializeApp } from "firebase/app";
|
| 3 |
+
import { getAuth, GoogleAuthProvider } from "firebase/auth";
|
| 4 |
+
|
| 5 |
+
// Vérifie que les variables sont bien chargées (très utile pour debug)
|
| 6 |
+
const apiKey = import.meta.env.VITE_FIREBASE_API_KEY;
|
| 7 |
+
const authDomain = import.meta.env.VITE_FIREBASE_AUTH_DOMAIN;
|
| 8 |
+
const projectId = import.meta.env.VITE_FIREBASE_PROJECT_ID;
|
| 9 |
+
const storageBucket = import.meta.env.VITE_FIREBASE_STORAGE_BUCKET;
|
| 10 |
+
const messagingSenderId = import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID;
|
| 11 |
+
const appId = import.meta.env.VITE_FIREBASE_APP_ID;
|
| 12 |
+
|
| 13 |
+
// Debug temporaire (à supprimer plus tard)
|
| 14 |
+
console.log("Firebase Config chargée :", {
|
| 15 |
+
apiKey: apiKey ? "OK (cachée)" : "MANQUANTE !",
|
| 16 |
+
authDomain,
|
| 17 |
+
projectId,
|
| 18 |
+
appId
|
| 19 |
+
});
|
| 20 |
+
|
| 21 |
+
if (!apiKey || !authDomain || !projectId || !appId) {
|
| 22 |
+
throw new Error("Variables Firebase manquantes dans .env ! Vérifie ton fichier .env à la racine.");
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
const firebaseConfig = {
|
| 26 |
+
apiKey,
|
| 27 |
+
authDomain,
|
| 28 |
+
projectId,
|
| 29 |
+
storageBucket,
|
| 30 |
+
messagingSenderId,
|
| 31 |
+
appId,
|
| 32 |
+
};
|
| 33 |
+
|
| 34 |
+
// Initialiser Firebase
|
| 35 |
+
const app = initializeApp(firebaseConfig);
|
| 36 |
+
export const auth = getAuth(app);
|
| 37 |
export const googleProvider = new GoogleAuthProvider();
|
{kibali-ui/src → src}/index.css
RENAMED
|
File without changes
|
{kibali-ui/src → src}/main.jsx
RENAMED
|
File without changes
|
kibali-ui/tailwind.config.js → tailwind.config.js
RENAMED
|
@@ -1,18 +1,18 @@
|
|
| 1 |
-
export default {
|
| 2 |
-
content: [
|
| 3 |
-
"./index.html",
|
| 4 |
-
"./src/**/*.{js,ts,jsx,tsx}",
|
| 5 |
-
],
|
| 6 |
-
theme: {
|
| 7 |
-
extend: {
|
| 8 |
-
colors: {
|
| 9 |
-
kibali: {
|
| 10 |
-
dark: "#0f172a",
|
| 11 |
-
card: "#1e293b",
|
| 12 |
-
green: "#22c55e"
|
| 13 |
-
}
|
| 14 |
-
}
|
| 15 |
-
},
|
| 16 |
-
},
|
| 17 |
-
plugins: [],
|
| 18 |
}
|
|
|
|
| 1 |
+
export default {
|
| 2 |
+
content: [
|
| 3 |
+
"./index.html",
|
| 4 |
+
"./src/**/*.{js,ts,jsx,tsx}",
|
| 5 |
+
],
|
| 6 |
+
theme: {
|
| 7 |
+
extend: {
|
| 8 |
+
colors: {
|
| 9 |
+
kibali: {
|
| 10 |
+
dark: "#0f172a",
|
| 11 |
+
card: "#1e293b",
|
| 12 |
+
green: "#22c55e"
|
| 13 |
+
}
|
| 14 |
+
}
|
| 15 |
+
},
|
| 16 |
+
},
|
| 17 |
+
plugins: [],
|
| 18 |
}
|
tools/web.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
from tavily import TavilyClient
|
| 2 |
-
from
|
| 3 |
import os
|
| 4 |
from dotenv import load_dotenv
|
| 5 |
|
|
|
|
| 1 |
from tavily import TavilyClient
|
| 2 |
+
from ddgs import DDGS
|
| 3 |
import os
|
| 4 |
from dotenv import load_dotenv
|
| 5 |
|
kibali-ui/vite.config.js → vite.config.js
RENAMED
|
File without changes
|