overmind-mcp 2.5.0 → 2.6.0

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 (225) 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 +115 -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 +239 -0
  45. package/dist/lib/orchestration/swarm.js.map +1 -0
  46. package/dist/lib/processRegistry.d.ts +10 -0
  47. package/dist/lib/processRegistry.d.ts.map +1 -1
  48. package/dist/lib/processRegistry.js +85 -29
  49. package/dist/lib/processRegistry.js.map +1 -1
  50. package/dist/lib/sessions.d.ts +3 -2
  51. package/dist/lib/sessions.d.ts.map +1 -1
  52. package/dist/lib/sessions.js +94 -25
  53. package/dist/lib/sessions.js.map +1 -1
  54. package/dist/lib/telemetry.d.ts +21 -0
  55. package/dist/lib/telemetry.d.ts.map +1 -0
  56. package/dist/lib/telemetry.js +30 -0
  57. package/dist/lib/telemetry.js.map +1 -0
  58. package/dist/memory/MemoryFactory.d.ts +15 -1
  59. package/dist/memory/MemoryFactory.d.ts.map +1 -1
  60. package/dist/memory/MemoryFactory.js +53 -3
  61. package/dist/memory/MemoryFactory.js.map +1 -1
  62. package/dist/memory/PostgresMemoryProvider.d.ts +7 -0
  63. package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
  64. package/dist/memory/PostgresMemoryProvider.js +180 -105
  65. package/dist/memory/PostgresMemoryProvider.js.map +1 -1
  66. package/dist/server.d.ts +41 -0
  67. package/dist/server.d.ts.map +1 -1
  68. package/dist/server.js +145 -41
  69. package/dist/server.js.map +1 -1
  70. package/dist/services/AgentManager.d.ts.map +1 -1
  71. package/dist/services/AgentManager.js +67 -11
  72. package/dist/services/AgentManager.js.map +1 -1
  73. package/dist/services/ClaudeRunner.d.ts +20 -0
  74. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  75. package/dist/services/ClaudeRunner.js +626 -272
  76. package/dist/services/ClaudeRunner.js.map +1 -1
  77. package/dist/services/ClineRunner.d.ts +7 -0
  78. package/dist/services/ClineRunner.d.ts.map +1 -1
  79. package/dist/services/ClineRunner.js +76 -22
  80. package/dist/services/ClineRunner.js.map +1 -1
  81. package/dist/services/GeminiRunner.d.ts +6 -0
  82. package/dist/services/GeminiRunner.d.ts.map +1 -1
  83. package/dist/services/GeminiRunner.js +283 -69
  84. package/dist/services/GeminiRunner.js.map +1 -1
  85. package/dist/services/KiloRunner.d.ts +12 -0
  86. package/dist/services/KiloRunner.d.ts.map +1 -1
  87. package/dist/services/KiloRunner.js +439 -70
  88. package/dist/services/KiloRunner.js.map +1 -1
  89. package/dist/services/NousHermesRunner.d.ts +35 -0
  90. package/dist/services/NousHermesRunner.d.ts.map +1 -0
  91. package/dist/services/NousHermesRunner.js +535 -0
  92. package/dist/services/NousHermesRunner.js.map +1 -0
  93. package/dist/services/OpenClawRunner.d.ts +7 -0
  94. package/dist/services/OpenClawRunner.d.ts.map +1 -1
  95. package/dist/services/OpenClawRunner.js +75 -22
  96. package/dist/services/OpenClawRunner.js.map +1 -1
  97. package/dist/services/OpenCodeRunner.d.ts +7 -0
  98. package/dist/services/OpenCodeRunner.d.ts.map +1 -1
  99. package/dist/services/OpenCodeRunner.js +75 -22
  100. package/dist/services/OpenCodeRunner.js.map +1 -1
  101. package/dist/services/{TraeRunner.d.ts → QwenCliRunner.d.ts} +9 -2
  102. package/dist/services/QwenCliRunner.d.ts.map +1 -0
  103. package/dist/services/QwenCliRunner.js +155 -0
  104. package/dist/services/QwenCliRunner.js.map +1 -0
  105. package/dist/tools/agent_control.d.ts +2 -2
  106. package/dist/tools/agent_control.d.ts.map +1 -1
  107. package/dist/tools/agent_control.js +79 -50
  108. package/dist/tools/agent_control.js.map +1 -1
  109. package/dist/tools/config_example.d.ts +7 -4
  110. package/dist/tools/config_example.d.ts.map +1 -1
  111. package/dist/tools/config_example.js +191 -86
  112. package/dist/tools/config_example.js.map +1 -1
  113. package/dist/tools/create_agent.d.ts +13 -7
  114. package/dist/tools/create_agent.d.ts.map +1 -1
  115. package/dist/tools/create_agent.js +8 -9
  116. package/dist/tools/create_agent.js.map +1 -1
  117. package/dist/tools/get_agent_configs.d.ts +10 -4
  118. package/dist/tools/get_agent_configs.d.ts.map +1 -1
  119. package/dist/tools/get_agent_configs.js.map +1 -1
  120. package/dist/tools/initialization_check.d.ts +2 -0
  121. package/dist/tools/initialization_check.d.ts.map +1 -0
  122. package/dist/tools/initialization_check.js +23 -0
  123. package/dist/tools/initialization_check.js.map +1 -0
  124. package/dist/tools/manage_agents.d.ts +34 -16
  125. package/dist/tools/manage_agents.d.ts.map +1 -1
  126. package/dist/tools/manage_agents.js +2 -2
  127. package/dist/tools/manage_agents.js.map +1 -1
  128. package/dist/tools/manage_prompts.d.ts +13 -8
  129. package/dist/tools/manage_prompts.d.ts.map +1 -1
  130. package/dist/tools/manage_prompts.js.map +1 -1
  131. package/dist/tools/memory_runs.d.ts +3 -4
  132. package/dist/tools/memory_runs.d.ts.map +1 -1
  133. package/dist/tools/memory_runs.js.map +1 -1
  134. package/dist/tools/memory_search.d.ts +3 -4
  135. package/dist/tools/memory_search.d.ts.map +1 -1
  136. package/dist/tools/memory_search.js.map +1 -1
  137. package/dist/tools/memory_store.d.ts +10 -4
  138. package/dist/tools/memory_store.d.ts.map +1 -1
  139. package/dist/tools/memory_store.js.map +1 -1
  140. package/dist/tools/run_agent.d.ts +14 -14
  141. package/dist/tools/run_agent.d.ts.map +1 -1
  142. package/dist/tools/run_agent.js +135 -156
  143. package/dist/tools/run_agent.js.map +1 -1
  144. package/dist/tools/run_agent_cli.d.ts +21 -0
  145. package/dist/tools/run_agent_cli.d.ts.map +1 -0
  146. package/dist/tools/run_agent_cli.js +137 -0
  147. package/dist/tools/run_agent_cli.js.map +1 -0
  148. package/dist/tools/run_agents_parallel.d.ts +35 -0
  149. package/dist/tools/run_agents_parallel.d.ts.map +1 -0
  150. package/dist/tools/run_agents_parallel.js +28 -0
  151. package/dist/tools/run_agents_parallel.js.map +1 -0
  152. package/dist/tools/run_claude.d.ts +9 -3
  153. package/dist/tools/run_claude.d.ts.map +1 -1
  154. package/dist/tools/run_claude.js +67 -41
  155. package/dist/tools/run_claude.js.map +1 -1
  156. package/dist/tools/run_cline.d.ts +13 -4
  157. package/dist/tools/run_cline.d.ts.map +1 -1
  158. package/dist/tools/run_cline.js +55 -43
  159. package/dist/tools/run_cline.js.map +1 -1
  160. package/dist/tools/run_gemini.d.ts +13 -4
  161. package/dist/tools/run_gemini.d.ts.map +1 -1
  162. package/dist/tools/run_gemini.js +53 -33
  163. package/dist/tools/run_gemini.js.map +1 -1
  164. package/dist/tools/run_hermes.d.ts +25 -0
  165. package/dist/tools/run_hermes.d.ts.map +1 -0
  166. package/dist/tools/run_hermes.js +93 -0
  167. package/dist/tools/run_hermes.js.map +1 -0
  168. package/dist/tools/run_kilo.d.ts +17 -7
  169. package/dist/tools/run_kilo.d.ts.map +1 -1
  170. package/dist/tools/run_kilo.js +68 -41
  171. package/dist/tools/run_kilo.js.map +1 -1
  172. package/dist/tools/run_openclaw.d.ts +13 -4
  173. package/dist/tools/run_openclaw.d.ts.map +1 -1
  174. package/dist/tools/run_openclaw.js +52 -44
  175. package/dist/tools/run_openclaw.js.map +1 -1
  176. package/dist/tools/run_opencode.d.ts +13 -4
  177. package/dist/tools/run_opencode.d.ts.map +1 -1
  178. package/dist/tools/run_opencode.js +52 -39
  179. package/dist/tools/run_opencode.js.map +1 -1
  180. package/dist/tools/run_qwencli.d.ts +24 -0
  181. package/dist/tools/run_qwencli.d.ts.map +1 -0
  182. package/dist/tools/run_qwencli.js +59 -0
  183. package/dist/tools/run_qwencli.js.map +1 -0
  184. package/docs/README.md +128 -0
  185. package/docs/agent_control.md +656 -0
  186. package/docs/index.html +493 -0
  187. package/docs/library.html +239 -0
  188. package/docs/prompt.html +1212 -0
  189. package/docs/script.js +428 -0
  190. package/docs/styles.css +2816 -0
  191. package/package.json +54 -25
  192. package/scripts/auto-changelog.mjs +132 -0
  193. package/scripts/auto-install.mjs +322 -0
  194. package/scripts/install-dependencies.mjs +462 -0
  195. package/scripts/postgres-manager.mjs +219 -0
  196. package/scripts/postinstall.mjs +538 -0
  197. package/scripts/setup-overmind-db.mjs +199 -0
  198. package/scripts/setup-windows.js +266 -0
  199. package/scripts/setup.mjs +397 -0
  200. package/scripts/test-installation.mjs +158 -0
  201. package/scripts/uninstall.mjs +238 -0
  202. package/assets/overmind_mcp_pro_banner_v3.png +0 -0
  203. package/dist/services/QwenRunner.d.ts +0 -19
  204. package/dist/services/QwenRunner.d.ts.map +0 -1
  205. package/dist/services/QwenRunner.js +0 -102
  206. package/dist/services/QwenRunner.js.map +0 -1
  207. package/dist/services/TraeRunner.d.ts.map +0 -1
  208. package/dist/services/TraeRunner.js +0 -103
  209. package/dist/services/TraeRunner.js.map +0 -1
  210. package/dist/tools/run_qwen.d.ts +0 -15
  211. package/dist/tools/run_qwen.d.ts.map +0 -1
  212. package/dist/tools/run_qwen.js +0 -61
  213. package/dist/tools/run_qwen.js.map +0 -1
  214. package/dist/tools/run_trae.d.ts +0 -15
  215. package/dist/tools/run_trae.d.ts.map +0 -1
  216. package/dist/tools/run_trae.js +0 -66
  217. package/dist/tools/run_trae.js.map +0 -1
  218. package/dist/tools/shell_execute.d.ts +0 -10
  219. package/dist/tools/shell_execute.d.ts.map +0 -1
  220. package/dist/tools/shell_execute.js +0 -24
  221. package/dist/tools/shell_execute.js.map +0 -1
  222. package/dist/tools/test_agent_control.d.ts +0 -2
  223. package/dist/tools/test_agent_control.d.ts.map +0 -1
  224. package/dist/tools/test_agent_control.js +0 -92
  225. 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,19 +0,0 @@
1
- export interface RunAgentOptions {
2
- prompt: string;
3
- agentName?: string;
4
- sessionId?: string;
5
- autoResume?: boolean;
6
- }
7
- export interface RunAgentResult {
8
- result: string;
9
- sessionId?: string;
10
- error?: string;
11
- rawOutput?: string;
12
- }
13
- export declare class QwenRunner {
14
- private config;
15
- private timeoutMs;
16
- constructor();
17
- runAgent(options: RunAgentOptions): Promise<RunAgentResult>;
18
- }
19
- //# sourceMappingURL=QwenRunner.d.ts.map
@@ -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"}