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
@@ -1,175 +1,154 @@
1
1
  import { z } from 'zod';
2
- import { ClaudeRunner } from '../services/ClaudeRunner.js';
3
- import { GeminiRunner } from '../services/GeminiRunner.js';
4
- import { KiloRunner } from '../services/KiloRunner.js';
5
- import { QwenRunner } from '../services/QwenRunner.js';
6
- import { OpenClawRunner } from '../services/OpenClawRunner.js';
7
- import { ClineRunner } from '../services/ClineRunner.js';
8
- import { OpenCodeRunner } from '../services/OpenCodeRunner.js';
9
- import { TraeRunner } from '../services/TraeRunner.js';
10
- import { storeRun } from '../memory/MemoryFactory.js';
11
- // SchΓ©ma unifiΓ© pour tous les runners
12
- export const runAgentSchema = z.object({
2
+ import { runClaudeAgent } from './run_claude.js';
3
+ import { runGeminiAgent } from './run_gemini.js';
4
+ import { runKiloAgent } from './run_kilo.js';
5
+ import { runQwenCLIAgent } from './run_qwencli.js';
6
+ import { runOpenClawAgent } from './run_openclaw.js';
7
+ import { runClineAgent } from './run_cline.js';
8
+ import { runOpenCodeAgent } from './run_opencode.js';
9
+ import { runHermesAgent } from './run_hermes.js';
10
+ import { verifyInstallation } from '../lib/InstallHelper.js';
11
+ import { withSpan } from '../lib/telemetry.js';
12
+ // Schema unified for all runners
13
+ export const runAgentSchema = z
14
+ .object({
13
15
  runner: z
14
- .enum(['claude', 'gemini', 'kilo', 'qwen', 'openclaw', 'cline', 'opencode', 'trae'])
15
- .describe('Type de runner Γ  utiliser'),
16
- prompt: z.string().describe("Le prompt Γ  envoyer Γ  l'agent"),
17
- sessionId: z
16
+ .enum(['claude', 'gemini', 'kilo', 'qwencli', 'openclaw', 'cline', 'opencode', 'hermes'])
17
+ .describe('Type de runner a utiliser'),
18
+ prompt: z.string().min(1, 'prompt vide interdit').describe("Le prompt a envoyer a l'agent"),
19
+ sessionId: z.string().optional().describe('Session ID'),
20
+ agentName: z
18
21
  .string()
22
+ .regex(/^[a-zA-Z0-9_-]+$/, 'agentName ne doit contenir que des caractères alphanumériques, tirets ou underscores')
19
23
  .optional()
20
- .describe('ID de session pour continuer une conversation (manuel)'),
21
- agentName: z
24
+ .describe("Nom de l'agent"),
25
+ autoResume: z.boolean().optional().default(false).describe('Auto resume session'),
26
+ mode: z.string().optional().describe('Mode specifique'),
27
+ path: z.string().optional().describe('Working directory'),
28
+ config: z.string().optional().describe('Config directory'),
29
+ silent: z.boolean().optional().default(false).describe('Silent mode'),
30
+ model: z
22
31
  .string()
23
32
  .optional()
24
- .describe("Nom de l'agent (pour logging/monitoring et persistance)"),
25
- autoResume: z
33
+ .describe("Nom du modèle. Pour Hermes : priorité OpenAI ou NVIDIA. Pour Kilo (gratuits) : 'tencent/hy3-preview:free' ou 'step 3.5 flash'."),
34
+ detached: z
26
35
  .boolean()
27
36
  .optional()
28
37
  .default(false)
29
- .describe('CORE: --output-format json, si true (et agentName fourni), reprend automatiquement la dernière conversation de cet agent'),
30
- // Options spΓ©cifiques Γ  certains runners
31
- mode: z
32
- .enum(['code', 'architect', 'ask', 'debug', 'orchestrator', 'plan', 'act'])
33
- .optional()
34
- .describe('Mode spΓ©cifique pour Kilo (code, architect, ask, debug, orchestrator) ou Cline (plan, act)'),
38
+ .describe('Fire-and-forget : retourne immédiatement après spawn. Monitor via agent_control. ' +
39
+ 'SupportΓ© uniquement par le runner "claude" pour l\'instant.'),
40
+ })
41
+ .passthrough();
42
+ // Validation stricte des paramètres pour chaque runner (remplace les casts dangereux)
43
+ const validateAndExtractParams = (params, schema) => {
44
+ return schema.parse(params);
45
+ };
46
+ // SchΓ©mas de validation pour chaque runner (basΓ©s sur leurs signatures rΓ©elles)
47
+ const claudeParamsSchema = z.object({
48
+ prompt: z.string(),
49
+ sessionId: z.string().optional(),
50
+ agentName: z.string().optional(),
51
+ autoResume: z.boolean().default(false),
52
+ model: z.string().optional(),
53
+ path: z.string().optional(),
54
+ config: z.string().optional(),
55
+ silent: z.boolean().default(false),
56
+ signal: z.custom().optional(),
57
+ detached: z.boolean().default(false),
35
58
  });
36
- export async function runAgent(args) {
37
- const { runner, prompt, agentName, autoResume, sessionId, mode } = args;
38
- const start = Date.now();
39
- // SΓ©lection du runner appropriΓ©
40
- let result;
41
- try {
42
- switch (runner) {
43
- case 'claude': {
44
- const claudeRunner = new ClaudeRunner();
45
- result = await claudeRunner.runAgent({ prompt, agentName, autoResume, sessionId });
46
- break;
47
- }
48
- case 'gemini': {
49
- const geminiRunner = new GeminiRunner();
50
- result = await geminiRunner.runAgent({ prompt, agentName, autoResume, sessionId });
51
- break;
52
- }
53
- case 'kilo': {
54
- const kiloRunner = new KiloRunner();
55
- result = await kiloRunner.runAgent({
56
- prompt,
57
- agentName,
58
- autoResume,
59
- sessionId,
60
- mode: mode,
61
- });
62
- break;
63
- }
64
- case 'qwen': {
65
- const qwenRunner = new QwenRunner();
66
- result = await qwenRunner.runAgent({ prompt, agentName, autoResume, sessionId });
67
- break;
68
- }
69
- case 'openclaw': {
70
- const openClawRunner = new OpenClawRunner();
71
- result = await openClawRunner.runAgent({ prompt, agentName, autoResume, sessionId });
72
- break;
73
- }
74
- case 'cline': {
75
- const clineRunner = new ClineRunner();
76
- result = await clineRunner.runAgent({
77
- prompt,
78
- agentName,
79
- autoResume,
80
- sessionId,
81
- mode: mode,
82
- });
83
- break;
84
- }
85
- case 'opencode': {
86
- const openCodeRunner = new OpenCodeRunner();
87
- result = await openCodeRunner.runAgent({ prompt, agentName, autoResume, sessionId });
88
- break;
89
- }
90
- case 'trae': {
91
- const traeRunner = new TraeRunner();
92
- result = await traeRunner.runAgent({ prompt, agentName, autoResume, sessionId });
93
- break;
94
- }
95
- default:
96
- return {
97
- content: [
98
- {
99
- type: 'text',
100
- text: `❌ Runner inconnu: ${runner}\n\nRunners disponibles: claude, gemini, kilo, qwen, openclaw, cline, opencode, trae`,
101
- },
102
- ],
103
- isError: true,
104
- };
105
- }
106
- }
107
- catch (error) {
108
- return {
109
- content: [
110
- {
111
- type: 'text',
112
- text: `❌ Erreur lors de l'exécution du runner ${runner}: ${error instanceof Error ? error.message : String(error)}`,
113
- },
114
- ],
115
- isError: true,
116
- };
59
+ const kiloParamsSchema = z.object({
60
+ prompt: z.string(),
61
+ sessionId: z.string().optional(),
62
+ agentName: z.string().optional(),
63
+ autoResume: z.boolean().default(false),
64
+ model: z.string().optional(),
65
+ path: z.string().optional(),
66
+ config: z.string().optional(),
67
+ silent: z.boolean().default(false),
68
+ mode: z.enum(['code', 'architect', 'ask', 'debug', 'orchestrator']).optional(),
69
+ signal: z.custom().optional(),
70
+ });
71
+ const clineParamsSchema = z.object({
72
+ prompt: z.string(),
73
+ sessionId: z.string().optional(),
74
+ agentName: z.string().optional(),
75
+ autoResume: z.boolean().default(false),
76
+ model: z.string().optional(),
77
+ path: z.string().optional(),
78
+ config: z.string().optional(),
79
+ silent: z.boolean().default(false),
80
+ mode: z.enum(['plan', 'act']).optional(),
81
+ signal: z.custom().optional(),
82
+ });
83
+ const genericParamsSchema = z.object({
84
+ prompt: z.string(),
85
+ sessionId: z.string().optional(),
86
+ agentName: z.string().optional(),
87
+ autoResume: z.boolean().default(false),
88
+ model: z.string().optional(),
89
+ path: z.string().optional(),
90
+ config: z.string().optional(),
91
+ silent: z.boolean().default(false),
92
+ signal: z.custom().optional(),
93
+ });
94
+ // Validation manuelle des modes (dΓ©placΓ©e ici pour compatibilitΓ© FastMCP)
95
+ const RUNNER_MODES = {
96
+ kilo: ['code', 'architect', 'ask', 'debug', 'orchestrator'],
97
+ cline: ['plan', 'act'],
98
+ };
99
+ function validateMode(runner, mode) {
100
+ const allowed = RUNNER_MODES[runner];
101
+ if (mode && allowed && !allowed.includes(mode)) {
102
+ throw new Error(`mode "${mode}" non supportΓ© par runner "${runner}". AutorisΓ©s : ${allowed.join('|')}`);
117
103
  }
118
- const durationMs = Date.now() - start;
119
- // Auto-instrument: enregistrer chaque run dans la mΓ©moire OverMind
120
- Promise.resolve(storeRun({
121
- runner,
122
- agentName,
123
- prompt,
124
- result: result.result,
125
- error: result.error,
126
- durationMs,
127
- success: !result.error,
128
- sessionId: result.sessionId,
129
- })).catch(() => {
130
- /* silent β€” la mΓ©moire ne doit jamais bloquer le runner */
131
- });
132
- // Gestion des erreurs spΓ©cifiques
133
- if (result.error === 'INVALID_AGENT') {
134
- return {
135
- content: [
136
- {
137
- type: 'text',
138
- 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.`,
139
- },
140
- ],
141
- isError: true,
142
- };
104
+ if (mode && !allowed) {
105
+ throw new Error(`runner "${runner}" n'accepte pas de mode`);
143
106
  }
144
- if (result.error === 'JSON_PARSE_ERROR') {
145
- const preview = result.rawOutput?.trim().substring(0, 500);
146
- return {
147
- content: [
148
- {
149
- type: 'text',
150
- text: `⚠️ **RΓ©ponse Agent Non-Conforme (JSON invalide)**\n\nL'agent '${agentName || 'default'}' a rΓ©pondu, mais le format JSON est cassΓ©.\n\nπŸ” **DΓ©but de la rΓ©ponse reΓ§ue:**\n\`\`\`text\n${preview}...\n\`\`\`\n\nπŸ’‘ **Conseil:** VΓ©rifiez que le prompt demande explicitement une sortie JSON pure.`,
151
- },
152
- ],
153
- isError: true,
154
- };
107
+ }
108
+ export async function runAgent(args) {
109
+ const { runner, mode, ...params } = args;
110
+ // Validation des modes
111
+ validateMode(runner, mode);
112
+ // detached n'est honorΓ© que par claude pour l'instant β€” avertir si demandΓ© ailleurs.
113
+ if (params.detached && runner !== 'claude') {
114
+ console.error(`[runAgent] ⚠️ detached=true non supportΓ© par runner "${runner}" β€” sera ignorΓ© (comportement attachΓ©).`);
155
115
  }
156
- if (result.error) {
116
+ // VΓ©rification de l'installation avec logging
117
+ const check = await verifyInstallation(runner);
118
+ if (!check.ok) {
119
+ const errorMsg = check.message || `CLI non installΓ©e pour runner "${runner}"`;
120
+ console.error(`[runAgent] Installation check failed for ${runner}:`, errorMsg);
157
121
  return {
158
- content: [
159
- {
160
- type: 'text',
161
- text: `❌ Erreur lors de l'exΓ©cution du runner ${runner}: ${result.error}${result.rawOutput ? `\n\nπŸ” **DΓ©tails:**\n\`\`\`text\n${result.rawOutput}\n\`\`\`` : ''}`,
162
- },
163
- ],
122
+ content: [{ type: 'text', text: errorMsg }],
164
123
  isError: true,
165
124
  };
166
125
  }
167
- return {
168
- content: [
169
- { type: 'text', text: result.result || '' },
170
- { type: 'text', text: `RUNNER: ${runner}` },
171
- { type: 'text', text: `SESSION_ID: ${result.sessionId}` },
172
- ],
173
- };
126
+ // ExΓ©cution avec telemetry
127
+ return withSpan('runAgent.execute', async () => {
128
+ switch (runner) {
129
+ case 'claude':
130
+ return runClaudeAgent(validateAndExtractParams(params, claudeParamsSchema));
131
+ case 'gemini':
132
+ return runGeminiAgent(validateAndExtractParams(params, genericParamsSchema));
133
+ case 'kilo':
134
+ return runKiloAgent(validateAndExtractParams(params, kiloParamsSchema));
135
+ case 'qwencli':
136
+ return runQwenCLIAgent(validateAndExtractParams(params, genericParamsSchema));
137
+ case 'openclaw':
138
+ return runOpenClawAgent(validateAndExtractParams(params, genericParamsSchema));
139
+ case 'cline':
140
+ return runClineAgent(validateAndExtractParams(params, clineParamsSchema));
141
+ case 'opencode':
142
+ return runOpenCodeAgent(validateAndExtractParams(params, genericParamsSchema));
143
+ case 'hermes':
144
+ return runHermesAgent(validateAndExtractParams(params, genericParamsSchema));
145
+ default: {
146
+ // Ce cas est thΓ©oriquement impossible grΓ’ce Γ  la validation Zod de l'enum
147
+ const error = `Runner inconnu: ${runner}`;
148
+ console.error(`[runAgent] ${error}`);
149
+ throw new Error(error);
150
+ }
151
+ }
152
+ }, { runner, agentName: params.agentName || '', mode: mode || '' });
174
153
  }
175
154
  //# sourceMappingURL=run_agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run_agent.js","sourceRoot":"","sources":["../../src/tools/run_agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run_agent.js","sourceRoot":"","sources":["../../src/tools/run_agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * ╔══════════════════════════════════════════════════════════════╗
3
+ * β•‘ πŸš€ OVERMIND CLI TESTER β€” Mode Dual β•‘
4
+ * ╠══════════════════════════════════════════════════════════════╣
5
+ * β•‘ --lib : appelle runAgent() directement (rapide, in-proc) β•‘
6
+ * β•‘ --mcp : spawn le serveur MCP + appel via SDK officiel β•‘
7
+ * ╠══════════════════════════════════════════════════════════════╣
8
+ * β•‘ USAGE β•‘
9
+ * β•‘ npx tsx src/tools/run_agent_cli.ts [--lib|--mcp] β•‘
10
+ * β•‘ <runner> <agentName> <prompt> [model] β•‘
11
+ * β•‘ β•‘
12
+ * β•‘ EXEMPLES β•‘
13
+ * β•‘ npx tsx src/tools/run_agent_cli.ts --lib β•‘
14
+ * β•‘ kilo sniper_analyst "Analyse le marchΓ©" β•‘
15
+ * β•‘ β•‘
16
+ * β•‘ npx tsx src/tools/run_agent_cli.ts --mcp β•‘
17
+ * β•‘ kilo mistral_test_kilo_1 "Hello" mistral-large-latest β•‘
18
+ * β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=run_agent_cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_agent_cli.d.ts","sourceRoot":"","sources":["../../src/tools/run_agent_cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * ╔══════════════════════════════════════════════════════════════╗
3
+ * β•‘ πŸš€ OVERMIND CLI TESTER β€” Mode Dual β•‘
4
+ * ╠══════════════════════════════════════════════════════════════╣
5
+ * β•‘ --lib : appelle runAgent() directement (rapide, in-proc) β•‘
6
+ * β•‘ --mcp : spawn le serveur MCP + appel via SDK officiel β•‘
7
+ * ╠══════════════════════════════════════════════════════════════╣
8
+ * β•‘ USAGE β•‘
9
+ * β•‘ npx tsx src/tools/run_agent_cli.ts [--lib|--mcp] β•‘
10
+ * β•‘ <runner> <agentName> <prompt> [model] β•‘
11
+ * β•‘ β•‘
12
+ * β•‘ EXEMPLES β•‘
13
+ * β•‘ npx tsx src/tools/run_agent_cli.ts --lib β•‘
14
+ * β•‘ kilo sniper_analyst "Analyse le marchΓ©" β•‘
15
+ * β•‘ β•‘
16
+ * β•‘ npx tsx src/tools/run_agent_cli.ts --mcp β•‘
17
+ * β•‘ kilo mistral_test_kilo_1 "Hello" mistral-large-latest β•‘
18
+ * β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
19
+ */
20
+ // ─── ENV: chargΓ©e en tout premier (avant tout import qui lirait process.env) ────
21
+ import { fileURLToPath } from 'url';
22
+ import path from 'path';
23
+ import fs from 'fs';
24
+ const __filename = fileURLToPath(import.meta.url);
25
+ const __dirname = path.dirname(__filename);
26
+ // RΓ©solution du .env relatif au projet (src/tools β†’ ../../.env)
27
+ const envPath = path.resolve(__dirname, '../../.env');
28
+ if (fs.existsSync(envPath)) {
29
+ const { config } = await import('dotenv');
30
+ config({ path: envPath });
31
+ }
32
+ // ─── Imports mΓ©tier ─────────────────────────────────────────────────────────
33
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
34
+ import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
35
+ import { runAgent } from './run_agent.js';
36
+ // ─── Parsing des arguments ───────────────────────────────────────────────────
37
+ const argv = process.argv.slice(2);
38
+ // Flags optionnels en tΓͺte : --lib|--mcp et --detached (ordre libre)
39
+ let mode = 'lib';
40
+ let detached = false;
41
+ let rest = argv;
42
+ while (rest.length > 0 && rest[0].startsWith('--')) {
43
+ const flag = rest[0];
44
+ if (flag === '--lib')
45
+ mode = 'lib';
46
+ else if (flag === '--mcp')
47
+ mode = 'mcp';
48
+ else if (flag === '--detached')
49
+ detached = true;
50
+ else
51
+ break;
52
+ rest = rest.slice(1);
53
+ }
54
+ if (rest.length < 3) {
55
+ console.error('\n❌ Paramètres manquants !');
56
+ console.error('Usage: npx tsx src/tools/run_agent_cli.ts [--lib|--mcp] [--detached] <runner> <agentName> <prompt> [model]\n');
57
+ console.error('Modes:');
58
+ console.error(' --lib (dΓ©faut) : appel direct Γ  runAgent() β€” rapide, sans serveur');
59
+ console.error(' --mcp : spawn du serveur MCP + appel via SDK officiel');
60
+ console.error(' --detached : fire-and-forget (claude only) β€” retourne immΓ©diatement\n');
61
+ console.error('Runners: claude, gemini, kilo, qwencli, openclaw, cline, opencode, hermes\n');
62
+ process.exit(1);
63
+ }
64
+ const [runner, agentName, prompt, model] = rest;
65
+ // ─── MODE LIB ────────────────────────────────────────────────────────────────
66
+ async function runViaLib() {
67
+ console.error(`\n[CLI:lib] πŸ€– runner="${runner}" agent="${agentName}"${model ? ` modΓ¨le="${model}"` : ''}${detached ? ' [DETACHED]' : ''}`);
68
+ const result = await runAgent({
69
+ runner: runner,
70
+ agentName,
71
+ prompt,
72
+ model,
73
+ autoResume: !detached, // detached ne peut pas auto-resume (pas de session lookup)
74
+ silent: false,
75
+ detached,
76
+ });
77
+ console.log('\n── RΓ©sultat ──────────────────────────────────────────────');
78
+ console.log(JSON.stringify(result, null, 2));
79
+ }
80
+ // ─── MODE MCP ────────────────────────────────────────────────────────────────
81
+ async function runViaMcp() {
82
+ // Chemin vers le binaire compilΓ©, rΓ©solu relativement Γ  ce fichier
83
+ // src/tools/run_agent_cli.ts β†’ dist/bin/cli.js
84
+ const serverBin = path.resolve(__dirname, '../../dist/bin/cli.js');
85
+ if (!fs.existsSync(serverBin)) {
86
+ console.error(`\n❌ Binaire serveur introuvable : ${serverBin}`);
87
+ console.error(" Lancez d'abord : pnpm run build\n");
88
+ process.exit(1);
89
+ }
90
+ console.error(`\n[CLI:mcp] πŸš€ DΓ©marrage du serveur MCP : node ${serverBin}`);
91
+ console.error(`[CLI:mcp] πŸ€– runner="${runner}" agent="${agentName}"${model ? ` modΓ¨le="${model}"` : ''}\n`);
92
+ // Le serveur hΓ©rite de process.env (donc du .env dΓ©jΓ  chargΓ©)
93
+ const transport = new StdioClientTransport({
94
+ command: 'node',
95
+ args: ['--no-warnings', serverBin],
96
+ env: { ...process.env },
97
+ });
98
+ const client = new Client({ name: 'overmind-cli-tester', version: '1.0.0' }, { capabilities: {} });
99
+ try {
100
+ await client.connect(transport);
101
+ // Listing des outils disponibles (optionnel, utile pour le debug)
102
+ const { tools } = await client.listTools();
103
+ console.error(`[CLI:mcp] βœ… ConnectΓ© β€” ${tools.length} outil(s) disponible(s) : ${tools.map((t) => t.name).join(', ')}\n`);
104
+ const args = {
105
+ runner,
106
+ agentName,
107
+ prompt,
108
+ autoResume: !detached,
109
+ silent: false,
110
+ detached,
111
+ };
112
+ if (model)
113
+ args.model = model;
114
+ console.error(`[CLI:mcp] πŸ“€ Appel run_agent…`);
115
+ const result = await client.callTool({ name: 'run_agent', arguments: args });
116
+ console.log('\n── RΓ©sultat MCP ──────────────────────────────────────────');
117
+ console.log(JSON.stringify(result, null, 2));
118
+ }
119
+ finally {
120
+ await transport.close();
121
+ console.error('\n[CLI:mcp] πŸ”Œ Connexion fermΓ©e.');
122
+ }
123
+ }
124
+ // ─── Dispatch ────────────────────────────────────────────────────────────────
125
+ try {
126
+ if (mode === 'mcp') {
127
+ await runViaMcp();
128
+ }
129
+ else {
130
+ await runViaLib();
131
+ }
132
+ }
133
+ catch (err) {
134
+ console.error('\nπŸ’₯ Erreur fatale :', err);
135
+ process.exit(1);
136
+ }
137
+ //# sourceMappingURL=run_agent_cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_agent_cli.js","sourceRoot":"","sources":["../../src/tools/run_agent_cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ export declare const runAgentsParallelSchema: z.ZodObject<{
3
+ agents: z.ZodArray<z.ZodObject<{
4
+ runner: z.ZodEnum<{
5
+ claude: "claude";
6
+ gemini: "gemini";
7
+ kilo: "kilo";
8
+ qwencli: "qwencli";
9
+ hermes: "hermes";
10
+ openclaw: "openclaw";
11
+ cline: "cline";
12
+ opencode: "opencode";
13
+ }>;
14
+ prompt: z.ZodString;
15
+ sessionId: z.ZodOptional<z.ZodString>;
16
+ agentName: z.ZodOptional<z.ZodString>;
17
+ autoResume: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
18
+ mode: z.ZodOptional<z.ZodString>;
19
+ path: z.ZodOptional<z.ZodString>;
20
+ config: z.ZodOptional<z.ZodString>;
21
+ silent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
22
+ model: z.ZodOptional<z.ZodString>;
23
+ detached: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
24
+ taskId: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$loose>>;
26
+ waitAll: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
27
+ }, z.core.$strip>;
28
+ export declare function runAgentsParallel(args: z.infer<typeof runAgentsParallelSchema>): Promise<{
29
+ content: [{
30
+ type: "text";
31
+ text: string;
32
+ }];
33
+ isError: boolean;
34
+ }>;
35
+ //# sourceMappingURL=run_agents_parallel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_agents_parallel.d.ts","sourceRoot":"","sources":["../../src/tools/run_agents_parallel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;iBAelC,CAAC;AAIH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC;;;;;;GAGpF"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ import { runAgentSchema } from './run_agent.js';
3
+ import { dispatchAgents } from '../lib/orchestration/dispatcher.js';
4
+ // ─── Schema ──────────────────────────────────────────────────────────────────
5
+ const AgentTaskSchema = runAgentSchema.extend({
6
+ taskId: z
7
+ .string()
8
+ .optional()
9
+ .describe("Identifiant optionnel pour la tΓ’che (ex: 'build', 'lint', 'test')"),
10
+ });
11
+ export const runAgentsParallelSchema = z.object({
12
+ agents: z
13
+ .array(AgentTaskSchema)
14
+ .min(1, 'Au moins un agent requis.')
15
+ .max(10, 'Maximum 10 agents en parallèle.')
16
+ .describe('Liste des agents Γ  lancer en parallΓ¨le. Chaque entrΓ©e est un appel run_agent complet (runner, prompt, agentName, model, path, mode…).'),
17
+ waitAll: z
18
+ .boolean()
19
+ .optional()
20
+ .default(true)
21
+ .describe('Si true (défaut), attend que TOUS les agents terminent avant de retourner le résultat. Si false, retourne dès que le premier réussit.'),
22
+ });
23
+ // ─── Tool ────────────────────────────────────────────────────────────────────
24
+ export async function runAgentsParallel(args) {
25
+ const { agents, waitAll } = args;
26
+ return dispatchAgents(agents, { waitAll });
27
+ }
28
+ //# sourceMappingURL=run_agents_parallel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_agents_parallel.js","sourceRoot":"","sources":["../../src/tools/run_agents_parallel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,gFAAgF;AAEhF,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;CACjF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,eAAe,CAAC;SACtB,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;SACnC,GAAG,CAAC,EAAE,EAAE,iCAAiC,CAAC;SAC1C,QAAQ,CACP,uIAAuI,CACxI;IACH,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,uIAAuI,CACxI;CACJ,CAAC,CAAC;AAEH,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA6C;IACnF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,OAAO,cAAc,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,11 +1,17 @@
1
1
  import { z } from 'zod';
2
- export declare const runAgentSchema: z.ZodObject<{
2
+ export declare const runClaudeSchema: z.ZodObject<{
3
3
  prompt: z.ZodString;
4
4
  sessionId: z.ZodOptional<z.ZodString>;
5
5
  agentName: z.ZodOptional<z.ZodString>;
6
6
  autoResume: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
- }, z.core.$strip>;
8
- export declare function runClaudeAgent(args: z.infer<typeof runAgentSchema>): Promise<{
7
+ model: z.ZodOptional<z.ZodString>;
8
+ path: z.ZodOptional<z.ZodString>;
9
+ config: z.ZodOptional<z.ZodString>;
10
+ silent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
+ signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
12
+ detached: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
13
+ }, z.core.$loose>;
14
+ export declare function runClaudeAgent(args: z.infer<typeof runClaudeSchema>): Promise<{
9
15
  content: Array<{
10
16
  type: 'text';
11
17
  text: string;