overmind-mcp 2.5.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/.mcp.json.example +21 -0
  2. package/README.md +107 -80
  3. package/assets/overmind.png +0 -0
  4. package/bin/.gitkeep +0 -0
  5. package/bin/README.md +34 -0
  6. package/bin/install-overmind-unix.sh +412 -0
  7. package/bin/install-overmind-windows.bat +407 -0
  8. package/dist/bin/cli.js +438 -7
  9. package/dist/bin/cli.js.map +1 -1
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +3 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/lib/InstallHelper.d.ts +14 -0
  15. package/dist/lib/InstallHelper.d.ts.map +1 -0
  16. package/dist/lib/InstallHelper.js +113 -0
  17. package/dist/lib/InstallHelper.js.map +1 -0
  18. package/dist/lib/config.d.ts +31 -1
  19. package/dist/lib/config.d.ts.map +1 -1
  20. package/dist/lib/config.js +19 -27
  21. package/dist/lib/config.js.map +1 -1
  22. package/dist/lib/envUtils.d.ts +10 -0
  23. package/dist/lib/envUtils.d.ts.map +1 -0
  24. package/dist/lib/envUtils.js +24 -0
  25. package/dist/lib/envUtils.js.map +1 -0
  26. package/dist/lib/loadEnv.d.ts +2 -0
  27. package/dist/lib/loadEnv.d.ts.map +1 -0
  28. package/dist/lib/loadEnv.js +26 -0
  29. package/dist/lib/loadEnv.js.map +1 -0
  30. package/dist/lib/logger.d.ts +8 -0
  31. package/dist/lib/logger.d.ts.map +1 -0
  32. package/dist/lib/logger.js +81 -0
  33. package/dist/lib/logger.js.map +1 -0
  34. package/dist/lib/modelMapping.d.ts +18 -0
  35. package/dist/lib/modelMapping.d.ts.map +1 -0
  36. package/dist/lib/modelMapping.js +90 -0
  37. package/dist/lib/modelMapping.js.map +1 -0
  38. package/dist/lib/orchestration/dispatcher.d.ts +32 -0
  39. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -0
  40. package/dist/lib/orchestration/dispatcher.js +113 -0
  41. package/dist/lib/orchestration/dispatcher.js.map +1 -0
  42. package/dist/lib/orchestration/swarm.d.ts +75 -0
  43. package/dist/lib/orchestration/swarm.d.ts.map +1 -0
  44. package/dist/lib/orchestration/swarm.js +238 -0
  45. package/dist/lib/orchestration/swarm.js.map +1 -0
  46. package/dist/lib/sessions.d.ts +3 -2
  47. package/dist/lib/sessions.d.ts.map +1 -1
  48. package/dist/lib/sessions.js +94 -25
  49. package/dist/lib/sessions.js.map +1 -1
  50. package/dist/lib/telemetry.d.ts +21 -0
  51. package/dist/lib/telemetry.d.ts.map +1 -0
  52. package/dist/lib/telemetry.js +30 -0
  53. package/dist/lib/telemetry.js.map +1 -0
  54. package/dist/memory/MemoryFactory.d.ts +15 -1
  55. package/dist/memory/MemoryFactory.d.ts.map +1 -1
  56. package/dist/memory/MemoryFactory.js +53 -3
  57. package/dist/memory/MemoryFactory.js.map +1 -1
  58. package/dist/memory/PostgresMemoryProvider.d.ts +7 -0
  59. package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
  60. package/dist/memory/PostgresMemoryProvider.js +180 -105
  61. package/dist/memory/PostgresMemoryProvider.js.map +1 -1
  62. package/dist/server.d.ts +41 -0
  63. package/dist/server.d.ts.map +1 -1
  64. package/dist/server.js +145 -41
  65. package/dist/server.js.map +1 -1
  66. package/dist/services/AgentManager.d.ts.map +1 -1
  67. package/dist/services/AgentManager.js +67 -11
  68. package/dist/services/AgentManager.js.map +1 -1
  69. package/dist/services/ClaudeRunner.d.ts +8 -0
  70. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  71. package/dist/services/ClaudeRunner.js +510 -281
  72. package/dist/services/ClaudeRunner.js.map +1 -1
  73. package/dist/services/ClineRunner.d.ts +7 -0
  74. package/dist/services/ClineRunner.d.ts.map +1 -1
  75. package/dist/services/ClineRunner.js +76 -22
  76. package/dist/services/ClineRunner.js.map +1 -1
  77. package/dist/services/GeminiRunner.d.ts +6 -0
  78. package/dist/services/GeminiRunner.d.ts.map +1 -1
  79. package/dist/services/GeminiRunner.js +283 -69
  80. package/dist/services/GeminiRunner.js.map +1 -1
  81. package/dist/services/KiloRunner.d.ts +12 -0
  82. package/dist/services/KiloRunner.d.ts.map +1 -1
  83. package/dist/services/KiloRunner.js +439 -70
  84. package/dist/services/KiloRunner.js.map +1 -1
  85. package/dist/services/{QwenRunner.d.ts → NousHermesRunner.d.ts} +12 -3
  86. package/dist/services/NousHermesRunner.d.ts.map +1 -0
  87. package/dist/services/NousHermesRunner.js +460 -0
  88. package/dist/services/NousHermesRunner.js.map +1 -0
  89. package/dist/services/OpenClawRunner.d.ts +7 -0
  90. package/dist/services/OpenClawRunner.d.ts.map +1 -1
  91. package/dist/services/OpenClawRunner.js +75 -22
  92. package/dist/services/OpenClawRunner.js.map +1 -1
  93. package/dist/services/OpenCodeRunner.d.ts +7 -0
  94. package/dist/services/OpenCodeRunner.d.ts.map +1 -1
  95. package/dist/services/OpenCodeRunner.js +75 -22
  96. package/dist/services/OpenCodeRunner.js.map +1 -1
  97. package/dist/services/{TraeRunner.d.ts → QwenCliRunner.d.ts} +9 -2
  98. package/dist/services/QwenCliRunner.d.ts.map +1 -0
  99. package/dist/services/QwenCliRunner.js +155 -0
  100. package/dist/services/QwenCliRunner.js.map +1 -0
  101. package/dist/tools/agent_control.d.ts +2 -2
  102. package/dist/tools/config_example.d.ts +7 -4
  103. package/dist/tools/config_example.d.ts.map +1 -1
  104. package/dist/tools/config_example.js +191 -86
  105. package/dist/tools/config_example.js.map +1 -1
  106. package/dist/tools/create_agent.d.ts +13 -7
  107. package/dist/tools/create_agent.d.ts.map +1 -1
  108. package/dist/tools/create_agent.js +8 -9
  109. package/dist/tools/create_agent.js.map +1 -1
  110. package/dist/tools/get_agent_configs.d.ts +10 -4
  111. package/dist/tools/get_agent_configs.d.ts.map +1 -1
  112. package/dist/tools/get_agent_configs.js.map +1 -1
  113. package/dist/tools/initialization_check.d.ts +2 -0
  114. package/dist/tools/initialization_check.d.ts.map +1 -0
  115. package/dist/tools/initialization_check.js +23 -0
  116. package/dist/tools/initialization_check.js.map +1 -0
  117. package/dist/tools/manage_agents.d.ts +34 -16
  118. package/dist/tools/manage_agents.d.ts.map +1 -1
  119. package/dist/tools/manage_agents.js +2 -2
  120. package/dist/tools/manage_agents.js.map +1 -1
  121. package/dist/tools/manage_prompts.d.ts +13 -8
  122. package/dist/tools/manage_prompts.d.ts.map +1 -1
  123. package/dist/tools/manage_prompts.js.map +1 -1
  124. package/dist/tools/memory_runs.d.ts +3 -4
  125. package/dist/tools/memory_runs.d.ts.map +1 -1
  126. package/dist/tools/memory_runs.js.map +1 -1
  127. package/dist/tools/memory_search.d.ts +3 -4
  128. package/dist/tools/memory_search.d.ts.map +1 -1
  129. package/dist/tools/memory_search.js.map +1 -1
  130. package/dist/tools/memory_store.d.ts +11 -5
  131. package/dist/tools/memory_store.d.ts.map +1 -1
  132. package/dist/tools/memory_store.js.map +1 -1
  133. package/dist/tools/run_agent.d.ts +13 -14
  134. package/dist/tools/run_agent.d.ts.map +1 -1
  135. package/dist/tools/run_agent.js +128 -160
  136. package/dist/tools/run_agent.js.map +1 -1
  137. package/dist/tools/run_agent_cli.d.ts +21 -0
  138. package/dist/tools/run_agent_cli.d.ts.map +1 -0
  139. package/dist/tools/run_agent_cli.js +129 -0
  140. package/dist/tools/run_agent_cli.js.map +1 -0
  141. package/dist/tools/run_agents_parallel.d.ts +34 -0
  142. package/dist/tools/run_agents_parallel.d.ts.map +1 -0
  143. package/dist/tools/run_agents_parallel.js +28 -0
  144. package/dist/tools/run_agents_parallel.js.map +1 -0
  145. package/dist/tools/run_claude.d.ts +8 -3
  146. package/dist/tools/run_claude.d.ts.map +1 -1
  147. package/dist/tools/run_claude.js +59 -41
  148. package/dist/tools/run_claude.js.map +1 -1
  149. package/dist/tools/run_cline.d.ts +13 -4
  150. package/dist/tools/run_cline.d.ts.map +1 -1
  151. package/dist/tools/run_cline.js +55 -43
  152. package/dist/tools/run_cline.js.map +1 -1
  153. package/dist/tools/run_gemini.d.ts +13 -4
  154. package/dist/tools/run_gemini.d.ts.map +1 -1
  155. package/dist/tools/run_gemini.js +53 -33
  156. package/dist/tools/run_gemini.js.map +1 -1
  157. package/dist/tools/run_hermes.d.ts +25 -0
  158. package/dist/tools/run_hermes.d.ts.map +1 -0
  159. package/dist/tools/run_hermes.js +93 -0
  160. package/dist/tools/run_hermes.js.map +1 -0
  161. package/dist/tools/run_kilo.d.ts +17 -7
  162. package/dist/tools/run_kilo.d.ts.map +1 -1
  163. package/dist/tools/run_kilo.js +68 -41
  164. package/dist/tools/run_kilo.js.map +1 -1
  165. package/dist/tools/run_openclaw.d.ts +13 -4
  166. package/dist/tools/run_openclaw.d.ts.map +1 -1
  167. package/dist/tools/run_openclaw.js +52 -44
  168. package/dist/tools/run_openclaw.js.map +1 -1
  169. package/dist/tools/run_opencode.d.ts +13 -4
  170. package/dist/tools/run_opencode.d.ts.map +1 -1
  171. package/dist/tools/run_opencode.js +52 -39
  172. package/dist/tools/run_opencode.js.map +1 -1
  173. package/dist/tools/run_qwencli.d.ts +24 -0
  174. package/dist/tools/run_qwencli.d.ts.map +1 -0
  175. package/dist/tools/run_qwencli.js +59 -0
  176. package/dist/tools/run_qwencli.js.map +1 -0
  177. package/docs/README.md +128 -0
  178. package/docs/agent_control.md +656 -0
  179. package/docs/index.html +493 -0
  180. package/docs/library.html +239 -0
  181. package/docs/prompt.html +1212 -0
  182. package/docs/script.js +428 -0
  183. package/docs/styles.css +2816 -0
  184. package/package.json +114 -83
  185. package/scripts/auto-changelog.mjs +132 -0
  186. package/scripts/auto-install.mjs +322 -0
  187. package/scripts/install-dependencies.mjs +462 -0
  188. package/scripts/postgres-manager.mjs +219 -0
  189. package/scripts/postinstall.mjs +538 -0
  190. package/scripts/setup-overmind-db.mjs +199 -0
  191. package/scripts/setup-windows.js +266 -0
  192. package/scripts/setup.mjs +397 -0
  193. package/scripts/test-installation.mjs +158 -0
  194. package/scripts/uninstall.mjs +238 -0
  195. package/assets/overmind_mcp_pro_banner_v3.png +0 -0
  196. package/dist/services/QwenRunner.d.ts.map +0 -1
  197. package/dist/services/QwenRunner.js +0 -102
  198. package/dist/services/QwenRunner.js.map +0 -1
  199. package/dist/services/TraeRunner.d.ts.map +0 -1
  200. package/dist/services/TraeRunner.js +0 -103
  201. package/dist/services/TraeRunner.js.map +0 -1
  202. package/dist/tools/run_qwen.d.ts +0 -15
  203. package/dist/tools/run_qwen.d.ts.map +0 -1
  204. package/dist/tools/run_qwen.js +0 -61
  205. package/dist/tools/run_qwen.js.map +0 -1
  206. package/dist/tools/run_trae.d.ts +0 -15
  207. package/dist/tools/run_trae.d.ts.map +0 -1
  208. package/dist/tools/run_trae.js +0 -66
  209. package/dist/tools/run_trae.js.map +0 -1
  210. package/dist/tools/shell_execute.d.ts +0 -10
  211. package/dist/tools/shell_execute.d.ts.map +0 -1
  212. package/dist/tools/shell_execute.js +0 -24
  213. package/dist/tools/shell_execute.js.map +0 -1
  214. package/dist/tools/test_agent_control.d.ts +0 -2
  215. package/dist/tools/test_agent_control.d.ts.map +0 -1
  216. package/dist/tools/test_agent_control.js +0 -92
  217. package/dist/tools/test_agent_control.js.map +0 -1
@@ -0,0 +1,238 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ═══════════════════════════════════════════════════════════════════════════════
4
+ * UNINSTALL SCRIPT — OverMind-MCP
5
+ * ═══════════════════════════════════════════════════════════════════════════════
6
+ * Désinstallation propre : supprime containers, volumes, images, config.
7
+ *
8
+ * Usage:
9
+ * overmind uninstall # interactif (recommandé)
10
+ * overmind uninstall --force # skip prompts,Tout supprime
11
+ * ═══════════════════════════════════════════════════════════════════════════════
12
+ */
13
+
14
+ import { execSync } from 'child_process';
15
+ import { existsSync, rmSync } from 'fs';
16
+ import { join, dirname } from 'path';
17
+ import { fileURLToPath } from 'url';
18
+ import { createInterface } from 'readline';
19
+
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = dirname(__filename);
22
+
23
+ const INSTALL_DIR = join(process.env.HOME || process.env.USERPROFILE || process.env.HOMEPATH, '.overmind');
24
+ const FORCE = process.argv.includes('--force');
25
+
26
+ // ─────────────────────────────────────────────────────────────────────────────
27
+ // UTILS
28
+ // ─────────────────────────────────────────────────────────────────────────────
29
+
30
+ function p(prompt) {
31
+ return new Promise((resolve) => {
32
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
33
+ rl.question(prompt, (answer) => { rl.close(); resolve(answer); });
34
+ });
35
+ }
36
+
37
+ async function yesNo(question, def = false) {
38
+ const answer = await p(`${question} ${def ? '[Y/n]' : '[y/N]'}: `);
39
+ return answer.toLowerCase().startsWith('y');
40
+ }
41
+
42
+ function log(msg) { console.log(msg); }
43
+ function section(title) {
44
+ console.log(`\n╔${'═'.repeat(68)}╗`);
45
+ console.log(`║ ${title.padEnd(66)} ║`);
46
+ console.log(`╚${'═'.repeat(68)}╝`);
47
+ }
48
+
49
+ function cmd(command, label) {
50
+ try {
51
+ execSync(command, { stdio: 'pipe' });
52
+ log(`✅ ${label}`);
53
+ return true;
54
+ } catch (e) {
55
+ const msg = e.message || '';
56
+ if (msg.includes('No such container') || msg.includes('no such container')) {
57
+ log(`⚠️ ${label} (déjà absent)`);
58
+ } else if (msg.includes('No such volume')) {
59
+ log(`⚠️ ${label} (volume déjà absent)`);
60
+ } else {
61
+ log(`❌ ${label} — ${msg.split('\n')[0]}`);
62
+ }
63
+ return false;
64
+ }
65
+ }
66
+
67
+ // ─────────────────────────────────────────────────────────────────────────────
68
+ // DETECTION & LISTING
69
+ // ─────────────────────────────────────────────────────────────────────────────
70
+
71
+ function listContainers() {
72
+ // ⚠️ CORRECTION CRITIQUE: Ne cibler que les containers OverMind, pas les containers personnels
73
+ // Les containers personnels comme "postgres-pgvector" ne doivent JAMAIS être supprimés
74
+ const overmindContainers = [
75
+ 'overmind-postgres-pgvector', // Container créé par OverMind 2.2.0+
76
+ ];
77
+
78
+ return overmindContainers.filter((containerName) => {
79
+ try {
80
+ execSync(`docker inspect ${containerName}`, { stdio: 'pipe' });
81
+ return true;
82
+ } catch { return false; }
83
+ });
84
+ }
85
+
86
+ function listVolumes() {
87
+ // ⚠️ CORRECTION CRITIQUE: Ne cibler que les volumes OverMind, pas les volumes personnels
88
+ const overmindVolumes = [
89
+ 'overmind_postgres_data',
90
+ ];
91
+
92
+ return overmindVolumes.filter((volumeName) => {
93
+ try {
94
+ execSync(`docker volume inspect ${volumeName}`, { stdio: 'pipe' });
95
+ return true;
96
+ } catch { return false; }
97
+ });
98
+ }
99
+
100
+ function listImages() {
101
+ const imgs = ['pgvector/pgvector:pg16'];
102
+ return imgs.filter((img) => {
103
+ try {
104
+ execSync(`docker image inspect ${img}`, { stdio: 'pipe' });
105
+ return true;
106
+ } catch { return false; }
107
+ });
108
+ }
109
+
110
+ // ─────────────────────────────────────────────────────────────────────────────
111
+ // MAIN
112
+ // ─────────────────────────────────────────────────────────────────────────────
113
+
114
+ async function main() {
115
+ console.log(`\n╔${'═'.repeat(68)}╗`);
116
+ console.log(`║ ║`);
117
+ console.log(`║ 🧹 OVERMIND-MCP — DÉSINSTALLATION PROPRE ║`);
118
+ console.log(`║ ║`);
119
+ console.log(`╚${'═'.repeat(68)}╝`);
120
+
121
+ // ⚠️ AVERTISSEMENT DE SÉCURITÉ
122
+ console.log('\n⚠️ SÉCURITÉ: Ce script ne supprime QUE les containers/volumes OverMind.');
123
+ console.log(' Vos containers personnels (comme postgres-pgvector) sont PROTÉGÉS.');
124
+ console.log(' Seuls les containers commençant par "overmind-" seront supprimés.\n');
125
+
126
+ // ── 1. Containers actifs ──────────────────────────────────────────────
127
+ const containers = listContainers();
128
+ const volumes = listVolumes();
129
+ const images = listImages();
130
+ const hasInstallDir = existsSync(INSTALL_DIR);
131
+
132
+ if (!containers.length && !volumes.length && !images.length && !hasInstallDir) {
133
+ log('\n✅ OverMind-MCP ne laisse aucune trace détectable.');
134
+ log(' Supprimez le package manuellement :\n npm uninstall -g overmind-mcp\n');
135
+ return;
136
+ }
137
+
138
+ log('\n📋 Éléments OverMind détectés sur cette machine :\n');
139
+
140
+ if (containers.length) {
141
+ log(' Containers :');
142
+ containers.forEach((c) => log(` - ${c}`));
143
+ } else {
144
+ log(' Containers : aucun');
145
+ }
146
+
147
+ if (volumes.length) {
148
+ log(' Volumes Docker :');
149
+ volumes.forEach((v) => log(` - ${v}`));
150
+ } else {
151
+ log(' Volumes Docker : aucun');
152
+ }
153
+
154
+ if (images.length) {
155
+ log(' Images Docker (↺ réutilisables) :');
156
+ images.forEach((i) => log(` - ${i}`));
157
+ } else {
158
+ log(' Images Docker : aucune');
159
+ }
160
+
161
+ if (hasInstallDir) {
162
+ log(` Config ~/.overmind/ : présent`);
163
+ } else {
164
+ log(' Config ~/.overmind/ : absent');
165
+ }
166
+
167
+ if (FORCE) {
168
+ log('\n⚠️ Mode --force : suppression sans confirmation.\n');
169
+ } else {
170
+ log('\n⏳ Les données des volumes Docker seront DÉTRUITES.\n');
171
+ const confirm = await yesNo('Procéder à la désinstallation ?');
172
+ if (!confirm) { log('\n🛑 Annulé.'); return; }
173
+ }
174
+
175
+ // ── 2. Stop & remove containers ───────────────────────────────────────
176
+ section('SUPPRESSION CONTENEURS');
177
+ for (const c of containers) {
178
+ cmd(`docker stop ${c}`, `Stop ${c}`);
179
+ cmd(`docker rm -f ${c}`, `Remove ${c}`);
180
+ }
181
+
182
+ // ── 3. Remove volumes ─────────────────────────────────────────────────
183
+ if (FORCE || await yesNo('\n🗑️ Supprimer les volumes Docker (DESTRUCTIF) ?')) {
184
+ section('SUPPRESSION VOLUMES');
185
+ for (const v of volumes) {
186
+ cmd(`docker volume rm ${v}`, `Remove volume ${v}`);
187
+ }
188
+ } else {
189
+ log('\n⚠️ Volumes conservés (données PostgreSQL intactes).');
190
+ }
191
+
192
+ // ── 4. Remove images ────────────────────────────────────────────────────
193
+ if (FORCE || await yesNo('\n🗑️ Supprimer les images OverMind Docker (~3-4 GB) ?')) {
194
+ section('SUPPRESSION IMAGES');
195
+ for (const img of images) {
196
+ cmd(`docker rmi ${img}`, `Remove image ${img}`);
197
+ }
198
+ } else {
199
+ log('\n⚠️ Images conservées.');
200
+ }
201
+
202
+ // ── 5. Remove ~/.overmind ──────────────────────────────────────────────
203
+ if (FORCE || await yesNo('\n📁 Supprimer ~/.overmind/ (config + .env avec credentials) ?')) {
204
+ section('SUPPRESSION CONFIG');
205
+ if (existsSync(INSTALL_DIR)) {
206
+ try {
207
+ rmSync(INSTALL_DIR, { recursive: true, force: true });
208
+ log(`✅ ~/.overmind/ supprimé`);
209
+ } catch (e) {
210
+ log(`❌ ~/.overmind/ : ${e.message.split('\n')[0]}`);
211
+ }
212
+ } else {
213
+ log('⚠️ ~/.overmind/ déjà absent');
214
+ }
215
+ } else {
216
+ log('\n⚠️ Config ~/.overmind/ conservée.');
217
+ }
218
+
219
+ // ── Done ───────────────────────────────────────────────────────────────
220
+ section('DÉSINSTALLATION TERMINÉE');
221
+ console.log(`
222
+ ✅ OverMind-MCP a été retiré proprement.
223
+
224
+ 📋 Pour désinstaller complètement le package NPM :
225
+ npm uninstall -g overmind-mcp
226
+
227
+ 💡 Si vous réinstallez plus tard :
228
+ npm install -g overmind-mcp
229
+ overmind-setup --full # (si vous voulez le Mode Avancé)
230
+
231
+ ══════════════════════════════════════════════════════════════════════
232
+ `);
233
+ }
234
+
235
+ main().catch((e) => {
236
+ console.error('\n❌ ERREUR FATALE:', e.message);
237
+ process.exit(1);
238
+ });
@@ -1 +0,0 @@
1
- {"version":3,"file":"QwenRunner.d.ts","sourceRoot":"","sources":["../../src/services/QwenRunner.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAqGlE"}
@@ -1,102 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { spawn } from 'child_process';
4
- import { CONFIG, resolveConfigPath } from '../lib/config.js';
5
- import { getLastSessionId, saveSessionId } from '../lib/sessions.js';
6
- import { registerProcess, appendOutput, updateProcessStatus } from '../lib/processRegistry.js';
7
- export class QwenRunner {
8
- config;
9
- timeoutMs;
10
- constructor() {
11
- this.config = CONFIG.CLAUDE;
12
- this.timeoutMs = CONFIG.TIMEOUT_MS || 30000;
13
- }
14
- async runAgent(options) {
15
- const { prompt, agentName, autoResume } = options;
16
- let { sessionId } = options;
17
- const { PATHS } = this.config;
18
- // --- Auto Resume ---
19
- if (autoResume && agentName && !sessionId) {
20
- const lastId = await getLastSessionId(agentName);
21
- if (lastId) {
22
- sessionId = lastId;
23
- }
24
- }
25
- let customTimeoutMs = this.timeoutMs;
26
- // --- Isolation ---
27
- if (agentName) {
28
- try {
29
- const agentSettingsPath = resolveConfigPath(path.join(path.dirname(PATHS.SETTINGS), `settings_${agentName}.json`));
30
- if (fs.existsSync(agentSettingsPath)) {
31
- const settings = JSON.parse(fs.readFileSync(agentSettingsPath, 'utf8'));
32
- if (settings.env && settings.env.AGENT_TIMEOUT_MS) {
33
- customTimeoutMs = parseInt(settings.env.AGENT_TIMEOUT_MS, 10) || customTimeoutMs;
34
- }
35
- }
36
- }
37
- catch (_e) {
38
- // silent
39
- }
40
- }
41
- // qwen-code CLI: `qwen -p "prompt"` (non-interactive mode via stdin)
42
- const argsSpawn = ['-p', prompt];
43
- return new Promise((resolve) => {
44
- const isWin = process.platform === 'win32';
45
- // `qwen` binary from @qwen-code/qwen-code global install
46
- const command = isWin ? 'qwen.cmd' : 'qwen';
47
- const child = spawn(command, argsSpawn, {
48
- cwd: process.cwd(),
49
- shell: isWin,
50
- windowsHide: true,
51
- env: {
52
- ...process.env,
53
- ...(agentName ? { OVERMIND_AGENT_NAME: agentName } : {}),
54
- },
55
- });
56
- if (child.pid) {
57
- registerProcess(child.pid, { agentName: agentName || 'unknown', runner: 'qwencli' }).catch(() => { });
58
- }
59
- let stdout = '';
60
- let stderr = '';
61
- if (child.stdout) {
62
- child.stdout.on('data', (d) => {
63
- stdout += d.toString();
64
- if (child.pid)
65
- appendOutput(child.pid, d.toString()).catch(() => { });
66
- });
67
- }
68
- if (child.stderr) {
69
- child.stderr.on('data', (d) => (stderr += d.toString()));
70
- }
71
- const timeout = setTimeout(() => {
72
- child.kill();
73
- if (child.pid)
74
- updateProcessStatus(child.pid, 'failed', null).catch(() => { });
75
- resolve({ result: '', error: 'TIMEOUT', rawOutput: stdout });
76
- }, customTimeoutMs);
77
- child.on('close', async (code) => {
78
- clearTimeout(timeout);
79
- if (child.pid) {
80
- updateProcessStatus(child.pid, code === 0 ? 'done' : 'failed', code).catch(() => { });
81
- }
82
- if (code !== 0 && !stdout) {
83
- return resolve({ result: '', error: `EXIT_CODE_${code}`, rawOutput: stderr });
84
- }
85
- if (agentName && sessionId) {
86
- await saveSessionId(agentName, sessionId);
87
- }
88
- resolve({
89
- result: stdout.trim(),
90
- sessionId,
91
- rawOutput: stdout,
92
- });
93
- });
94
- child.on('error', (err) => {
95
- resolve({ result: '', error: err.message, rawOutput: '' });
96
- });
97
- if (child.stdin)
98
- child.stdin.end();
99
- });
100
- }
101
- }
102
- //# sourceMappingURL=QwenRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QwenRunner.js","sourceRoot":"","sources":["../../src/services/QwenRunner.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TraeRunner.d.ts","sourceRoot":"","sources":["../../src/services/TraeRunner.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAqGlE"}
@@ -1,103 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { spawn } from 'child_process';
4
- import { CONFIG, resolveConfigPath } from '../lib/config.js';
5
- import { getLastSessionId, saveSessionId } from '../lib/sessions.js';
6
- import { registerProcess, appendOutput, updateProcessStatus } from '../lib/processRegistry.js';
7
- export class TraeRunner {
8
- config;
9
- timeoutMs;
10
- constructor() {
11
- this.config = CONFIG.CLAUDE;
12
- this.timeoutMs = CONFIG.TIMEOUT_MS || 60000; // Trae may need more time
13
- }
14
- async runAgent(options) {
15
- const { prompt, agentName, autoResume } = options;
16
- let { sessionId } = options;
17
- const { PATHS } = this.config;
18
- // --- Auto Resume ---
19
- if (autoResume && agentName && !sessionId) {
20
- const lastId = await getLastSessionId(agentName);
21
- if (lastId) {
22
- sessionId = lastId;
23
- }
24
- }
25
- let customTimeoutMs = this.timeoutMs;
26
- // --- Isolation ---
27
- if (agentName) {
28
- try {
29
- const agentSettingsPath = resolveConfigPath(path.join(path.dirname(PATHS.SETTINGS), `settings_${agentName}.json`));
30
- if (fs.existsSync(agentSettingsPath)) {
31
- const settings = JSON.parse(fs.readFileSync(agentSettingsPath, 'utf8'));
32
- if (settings.env && settings.env.AGENT_TIMEOUT_MS) {
33
- customTimeoutMs = parseInt(settings.env.AGENT_TIMEOUT_MS, 10) || customTimeoutMs;
34
- }
35
- }
36
- }
37
- catch (_e) {
38
- // silent
39
- }
40
- }
41
- // Trae CLI: `trae solo "prompt"` for SOLO agentic mode
42
- const argsSpawn = ['solo', '--headless', prompt];
43
- if (sessionId)
44
- argsSpawn.push('--session', sessionId);
45
- return new Promise((resolve) => {
46
- const isWin = process.platform === 'win32';
47
- const command = isWin ? 'trae.exe' : 'trae';
48
- const child = spawn(command, argsSpawn, {
49
- cwd: process.cwd(),
50
- shell: isWin,
51
- windowsHide: true,
52
- env: {
53
- ...process.env,
54
- ...(agentName ? { OVERMIND_AGENT_NAME: agentName } : {}),
55
- },
56
- });
57
- if (child.pid) {
58
- registerProcess(child.pid, { agentName: agentName || 'unknown', runner: 'trae' }).catch(() => { });
59
- }
60
- let stdout = '';
61
- let stderr = '';
62
- if (child.stdout) {
63
- child.stdout.on('data', (d) => {
64
- stdout += d.toString();
65
- if (child.pid)
66
- appendOutput(child.pid, d.toString()).catch(() => { });
67
- });
68
- }
69
- if (child.stderr) {
70
- child.stderr.on('data', (d) => (stderr += d.toString()));
71
- }
72
- const timeout = setTimeout(() => {
73
- child.kill();
74
- if (child.pid)
75
- updateProcessStatus(child.pid, 'failed', null).catch(() => { });
76
- resolve({ result: '', error: 'TIMEOUT', rawOutput: stdout });
77
- }, customTimeoutMs);
78
- child.on('close', async (code) => {
79
- clearTimeout(timeout);
80
- if (child.pid) {
81
- updateProcessStatus(child.pid, code === 0 ? 'done' : 'failed', code).catch(() => { });
82
- }
83
- if (code !== 0 && !stdout) {
84
- return resolve({ result: '', error: `EXIT_CODE_${code}`, rawOutput: stderr });
85
- }
86
- if (agentName && sessionId) {
87
- await saveSessionId(agentName, sessionId);
88
- }
89
- resolve({
90
- result: stdout.trim(),
91
- sessionId,
92
- rawOutput: stdout,
93
- });
94
- });
95
- child.on('error', (err) => {
96
- resolve({ result: '', error: err.message, rawOutput: '' });
97
- });
98
- if (child.stdin)
99
- child.stdin.end();
100
- });
101
- }
102
- }
103
- //# sourceMappingURL=TraeRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TraeRunner.js","sourceRoot":"","sources":["../../src/services/TraeRunner.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const runQwenSchema: z.ZodObject<{
3
- prompt: z.ZodString;
4
- sessionId: z.ZodOptional<z.ZodString>;
5
- agentName: z.ZodOptional<z.ZodString>;
6
- autoResume: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
- }, z.core.$strip>;
8
- export declare function runQwenAgent(args: z.infer<typeof runQwenSchema>): Promise<{
9
- content: Array<{
10
- type: 'text';
11
- text: string;
12
- }>;
13
- isError?: boolean;
14
- }>;
15
- //# sourceMappingURL=run_qwen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run_qwen.d.ts","sourceRoot":"","sources":["../../src/tools/run_qwen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;iBAiBxB,CAAC;AAEH,wBAAsB,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,OAAO,CAAC;IAC/E,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CA6CD"}
@@ -1,61 +0,0 @@
1
- import { z } from 'zod';
2
- import { QwenRunner } from '../services/QwenRunner.js';
3
- import { storeRun } from '../memory/MemoryFactory.js';
4
- export const runQwenSchema = z.object({
5
- prompt: z.string().describe("Le prompt à envoyer à l'agent Qwen Code"),
6
- sessionId: z
7
- .string()
8
- .optional()
9
- .describe('ID de session pour continuer une conversation (manuel)'),
10
- agentName: z
11
- .string()
12
- .optional()
13
- .describe("Nom de l'agent (pour logging/monitoring et persistance)"),
14
- autoResume: z
15
- .boolean()
16
- .optional()
17
- .default(false)
18
- .describe('Si true (et agentName fourni), reprend automatiquement la dernière conversation de cet agent'),
19
- });
20
- export async function runQwenAgent(args) {
21
- const runner = new QwenRunner();
22
- const { prompt, agentName, autoResume, sessionId } = args;
23
- const start = Date.now();
24
- const result = await runner.runAgent({ prompt, agentName, autoResume, sessionId });
25
- const durationMs = Date.now() - start;
26
- // Auto-instrumentation
27
- storeRun({
28
- runner: 'qwen',
29
- agentName,
30
- prompt,
31
- result: result.result,
32
- error: result.error,
33
- durationMs,
34
- success: !result.error,
35
- sessionId: result.sessionId,
36
- });
37
- if (result.error === 'INVALID_AGENT') {
38
- return {
39
- content: [
40
- {
41
- type: 'text',
42
- text: `❌ **Erreur Configuration Agent**\n\nL'agent '${agentName}' est introuvable ou mal configuré.\n\n💡 **Solution:**\nUtilisez l'outil \`create_agent\` pour créer cet agent avant de l'exécuter.`,
43
- },
44
- ],
45
- isError: true,
46
- };
47
- }
48
- if (result.error) {
49
- return {
50
- content: [{ type: 'text', text: `❌ Erreur lors de l'exécution Qwen Code: ${result.error}` }],
51
- isError: true,
52
- };
53
- }
54
- return {
55
- content: [
56
- { type: 'text', text: result.result },
57
- { type: 'text', text: `RAW: ${result.rawOutput}` },
58
- ],
59
- };
60
- }
61
- //# sourceMappingURL=run_qwen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run_qwen.js","sourceRoot":"","sources":["../../src/tools/run_qwen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACtE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,8FAA8F,CAC/F;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAmC;IAIpE,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtC,uBAAuB;IACvB,QAAQ,CAAC;QACP,MAAM,EAAE,MAAM;QACd,SAAS;QACT,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU;QACV,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK;QACtB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gDAAgD,SAAS,sIAAsI;iBACtM;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5F,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YACrC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,MAAM,CAAC,SAAS,EAAE,EAAE;SACnD;KACF,CAAC;AACJ,CAAC"}
@@ -1,15 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const runTraeSchema: z.ZodObject<{
3
- prompt: z.ZodString;
4
- sessionId: z.ZodOptional<z.ZodString>;
5
- agentName: z.ZodOptional<z.ZodString>;
6
- autoResume: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
- }, z.core.$strip>;
8
- export declare function runTraeAgent(args: z.infer<typeof runTraeSchema>): Promise<{
9
- content: Array<{
10
- type: 'text';
11
- text: string;
12
- }>;
13
- isError?: boolean;
14
- }>;
15
- //# sourceMappingURL=run_trae.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run_trae.d.ts","sourceRoot":"","sources":["../../src/tools/run_trae.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;iBAiBxB,CAAC;AAEH,wBAAsB,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,OAAO,CAAC;IAC/E,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAkDD"}
@@ -1,66 +0,0 @@
1
- import { z } from 'zod';
2
- import { TraeRunner } from '../services/TraeRunner.js';
3
- import { storeRun } from '../memory/MemoryFactory.js';
4
- export const runTraeSchema = z.object({
5
- prompt: z.string().describe("Le prompt à envoyer à l'agent Trae (mode SOLO)"),
6
- sessionId: z
7
- .string()
8
- .optional()
9
- .describe('ID de session pour continuer une conversation (manuel)'),
10
- agentName: z
11
- .string()
12
- .optional()
13
- .describe("Nom de l'agent (pour logging/monitoring et persistance)"),
14
- autoResume: z
15
- .boolean()
16
- .optional()
17
- .default(false)
18
- .describe('Si true (et agentName fourni), reprend automatiquement la dernière conversation de cet agent'),
19
- });
20
- export async function runTraeAgent(args) {
21
- const runner = new TraeRunner();
22
- const { prompt, agentName, autoResume, sessionId } = args;
23
- const start = Date.now();
24
- const result = await runner.runAgent({ prompt, agentName, autoResume, sessionId });
25
- const durationMs = Date.now() - start;
26
- // Auto-instrumentation
27
- storeRun({
28
- runner: 'trae',
29
- agentName,
30
- prompt,
31
- result: result.result,
32
- error: result.error,
33
- durationMs,
34
- success: !result.error,
35
- sessionId: result.sessionId,
36
- });
37
- if (result.error === 'INVALID_AGENT') {
38
- return {
39
- content: [
40
- {
41
- type: 'text',
42
- text: `❌ **Erreur Configuration Agent**\n\nL'agent '${agentName}' est introuvable ou mal configuré.\n\n💡 **Solution:**\nUtilisez l'outil \`create_agent\` pour créer cet agent avant de l'exécuter.`,
43
- },
44
- ],
45
- isError: true,
46
- };
47
- }
48
- if (result.error) {
49
- return {
50
- content: [
51
- {
52
- type: 'text',
53
- text: `❌ Erreur lors de l'exécution Trae: ${result.error}\n\n💡 **Note:** Trae requiert une installation locale (trae.ai/download). Vérifiez que le binaire \`trae\` est dans votre PATH.`,
54
- },
55
- ],
56
- isError: true,
57
- };
58
- }
59
- return {
60
- content: [
61
- { type: 'text', text: result.result },
62
- { type: 'text', text: `RAW: ${result.rawOutput}` },
63
- ],
64
- };
65
- }
66
- //# sourceMappingURL=run_trae.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run_trae.js","sourceRoot":"","sources":["../../src/tools/run_trae.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC7E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,8FAA8F,CAC/F;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAmC;IAIpE,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtC,uBAAuB;IACvB,QAAQ,CAAC;QACP,MAAM,EAAE,MAAM;QACd,SAAS;QACT,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU;QACV,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK;QACtB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gDAAgD,SAAS,sIAAsI;iBACtM;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sCAAsC,MAAM,CAAC,KAAK,kIAAkI;iBAC3L;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YACrC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,MAAM,CAAC,SAAS,EAAE,EAAE;SACnD;KACF,CAAC;AACJ,CAAC"}