overmind-mcp 2.3.0 → 2.3.2

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 (96) hide show
  1. package/dist/index.d.ts +0 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +0 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/orchestration/dispatcher.d.ts +3 -3
  6. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
  7. package/dist/lib/orchestration/dispatcher.js +1 -56
  8. package/dist/lib/orchestration/dispatcher.js.map +1 -1
  9. package/dist/lib/processRegistry.d.ts +2 -0
  10. package/dist/lib/processRegistry.d.ts.map +1 -1
  11. package/dist/lib/processRegistry.js +21 -2
  12. package/dist/lib/processRegistry.js.map +1 -1
  13. package/dist/lib/telemetry.d.ts +17 -5
  14. package/dist/lib/telemetry.d.ts.map +1 -1
  15. package/dist/lib/telemetry.js +20 -65
  16. package/dist/lib/telemetry.js.map +1 -1
  17. package/dist/server.d.ts +16 -28
  18. package/dist/server.d.ts.map +1 -1
  19. package/dist/server.js +62 -69
  20. package/dist/server.js.map +1 -1
  21. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  22. package/dist/services/ClaudeRunner.js.map +1 -1
  23. package/dist/services/GeminiRunner.d.ts.map +1 -1
  24. package/dist/services/GeminiRunner.js +4 -1
  25. package/dist/services/GeminiRunner.js.map +1 -1
  26. package/dist/services/KiloRunner.d.ts.map +1 -1
  27. package/dist/services/KiloRunner.js.map +1 -1
  28. package/dist/tools/agent_control.d.ts +101 -0
  29. package/dist/tools/agent_control.d.ts.map +1 -0
  30. package/dist/tools/agent_control.js +320 -0
  31. package/dist/tools/agent_control.js.map +1 -0
  32. package/dist/tools/run_agents_parallel.d.ts +3 -3
  33. package/docs/agent_control.md +656 -0
  34. package/package.json +1 -12
  35. package/scripts/auto-install.mjs +0 -5
  36. package/scripts/uninstall.mjs +2 -15
  37. package/dist/bin/rabbitmq-worker.d.ts +0 -2
  38. package/dist/bin/rabbitmq-worker.d.ts.map +0 -1
  39. package/dist/bin/rabbitmq-worker.js +0 -63
  40. package/dist/bin/rabbitmq-worker.js.map +0 -1
  41. package/dist/bin/temporal-worker.d.ts +0 -2
  42. package/dist/bin/temporal-worker.d.ts.map +0 -1
  43. package/dist/bin/temporal-worker.js +0 -24
  44. package/dist/bin/temporal-worker.js.map +0 -1
  45. package/dist/lib/broker/rabbitmq.d.ts +0 -28
  46. package/dist/lib/broker/rabbitmq.d.ts.map +0 -1
  47. package/dist/lib/broker/rabbitmq.js +0 -67
  48. package/dist/lib/broker/rabbitmq.js.map +0 -1
  49. package/dist/lib/broker/rabbitmqDispatch.d.ts +0 -23
  50. package/dist/lib/broker/rabbitmqDispatch.d.ts.map +0 -1
  51. package/dist/lib/broker/rabbitmqDispatch.js +0 -77
  52. package/dist/lib/broker/rabbitmqDispatch.js.map +0 -1
  53. package/dist/lib/workflow/temporal/activities.d.ts +0 -15
  54. package/dist/lib/workflow/temporal/activities.d.ts.map +0 -1
  55. package/dist/lib/workflow/temporal/activities.js +0 -18
  56. package/dist/lib/workflow/temporal/activities.js.map +0 -1
  57. package/dist/lib/workflow/temporal/client.d.ts +0 -8
  58. package/dist/lib/workflow/temporal/client.d.ts.map +0 -1
  59. package/dist/lib/workflow/temporal/client.js +0 -48
  60. package/dist/lib/workflow/temporal/client.js.map +0 -1
  61. package/dist/lib/workflow/temporal/dispatch.d.ts +0 -13
  62. package/dist/lib/workflow/temporal/dispatch.d.ts.map +0 -1
  63. package/dist/lib/workflow/temporal/dispatch.js +0 -19
  64. package/dist/lib/workflow/temporal/dispatch.js.map +0 -1
  65. package/dist/lib/workflow/temporal/workflows.d.ts +0 -31
  66. package/dist/lib/workflow/temporal/workflows.d.ts.map +0 -1
  67. package/dist/lib/workflow/temporal/workflows.js +0 -79
  68. package/dist/lib/workflow/temporal/workflows.js.map +0 -1
  69. package/dist/tools/get_agent_status.d.ts +0 -29
  70. package/dist/tools/get_agent_status.d.ts.map +0 -1
  71. package/dist/tools/get_agent_status.js +0 -45
  72. package/dist/tools/get_agent_status.js.map +0 -1
  73. package/dist/tools/kill_agent.d.ts +0 -22
  74. package/dist/tools/kill_agent.d.ts.map +0 -1
  75. package/dist/tools/kill_agent.js +0 -33
  76. package/dist/tools/kill_agent.js.map +0 -1
  77. package/dist/tools/stream_agent_output.d.ts +0 -30
  78. package/dist/tools/stream_agent_output.d.ts.map +0 -1
  79. package/dist/tools/stream_agent_output.js +0 -44
  80. package/dist/tools/stream_agent_output.js.map +0 -1
  81. package/dist/tools/wait_agent.d.ts +0 -30
  82. package/dist/tools/wait_agent.d.ts.map +0 -1
  83. package/dist/tools/wait_agent.js +0 -68
  84. package/dist/tools/wait_agent.js.map +0 -1
  85. package/docs/ASYNC_AGENT_INTEGRATION.md +0 -311
  86. package/docs/INDEX.md +0 -144
  87. package/docs/changelog/CHANGELOG.add.md +0 -106
  88. package/docs/changelog/CHANGELOG.md +0 -339
  89. package/docs/docs/OVERMIND_WORKFLOW_GUIDE.md +0 -595
  90. package/docs/docs/PROJECT_STRUCTURE.md +0 -101
  91. package/docs/docs/README_POSTGRES_INTEGRATION.md +0 -229
  92. package/docs/prompt/Claude_code.md +0 -74
  93. package/docs/prompt/Kilo.md +0 -74
  94. package/docs/prompt/Kilo_Hermes.md +0 -170
  95. package/docs/prompt/Minimax4.md +0 -96
  96. package/docs/tools.md +0 -794
@@ -0,0 +1,320 @@
1
+ import { z } from 'zod';
2
+ import { getProcessStatus, killAgent, } from '../lib/processRegistry.js';
3
+ /**
4
+ * agent_control — Outil MCP unifié pour contrôler le cycle de vie des agents OverMind
5
+ * ================================================================================
6
+ *
7
+ * Cet outil remplace les 4 outils individuels précédents :
8
+ * - get_agent_status → action: "status"
9
+ * - stream_agent_output → action: "stream"
10
+ * - kill_agent → action: "kill"
11
+ * - wait_agent → action: "wait"
12
+ *
13
+ * L'UNIFICATION est intentionnelle :
14
+ * - Un seul appel MCP pour la toolbox du client (pas 4 imports)
15
+ * - Cohérence des paramètres (agentName, runner, config communs)
16
+ * - Comportement déterministe : chaque action a une sémantique claire
17
+ * - Debugging simplifié : une seule source de vérité
18
+ *
19
+ * ─── SÉMANTIQUE DES ACTIONS ──────────────────────────────────────────────────
20
+ *
21
+ * status ─── Lecture pure, zero side-effect
22
+ * → Retourne l'état courant du process (pid, status, sessionId, outputBuffer)
23
+ * → NE MODIFIE PAS le registry (pas de mise à jour de timestamps artificiels)
24
+ * → Use-case : dashboard, polling léger, diagnostic
25
+ *
26
+ * stream ─── Lecture + indicateur de complétude
27
+ * → Retourne outputBuffer ET un flag isComplete
28
+ * → Use-case : récupérer la sortie en temps réel sans savoir si c'est fini
29
+ * → Option sinceTimestamp pour ne récupérer que le增量 (si implémenté)
30
+ *
31
+ * kill ─── Action destructive, irréversible
32
+ * → Tue le process tree via taskkill /F /T (Windows) ou kill -9 (Unix)
33
+ * → Met à jour le status → 'failed' dans le registry
34
+ * → Use-case : abort d'urgence, kill-switch
35
+ *
36
+ * wait ─── Blocage async avec polling
37
+ * → Poll toutes les 1s jusqu'à status !== 'running' ou timeout
38
+ * → Retourne le résultat final (outputBuffer ou erreur)
39
+ * → Use-case : synchronisation dans un workflow d'orchestration
40
+ *
41
+ * ─── ÉTATS DU PROCESS ─────────────────────────────────────────────────────────
42
+ *
43
+ * running → Process actif, PID valide, output en cours d'accumulation
44
+ * done → Process terminé avec code 0, outputBuffer gelé
45
+ * failed → Process terminé avec erreur (exit code != 0 ou crash)
46
+ * orphaned → Parent mort mais child tourne encore (detecté via isPidAlive)
47
+ *
48
+ * ─── ERREURS COMMUNES ─────────────────────────────────────────────────────────
49
+ *
50
+ * AGENT_NOT_FOUND → Agent absent du registry (jamais lancé ou déjà nettoyé)
51
+ * AGENT_NOT_RUNNING → Action "kill" sur un agent déjà terminé
52
+ * KILL_FAILED → taskkill/kill a échoué (pas assez de permissions, etc.)
53
+ * WAIT_TIMEOUT → Action "wait" a atteint le timeout sans terminaison
54
+ * ORPHANED_PROCESS → Status 'orphaned' détecté (process zombie)
55
+ *
56
+ * ─── EXEMPLES ─────────────────────────────────────────────────────────────────
57
+ *
58
+ * // Vérifier si un agent tourne encore
59
+ * agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "status" })
60
+ *
61
+ * // Récupérer la sortie sans bloquer
62
+ * agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "stream" })
63
+ *
64
+ * // Forcer l'arrêt d'un agent
65
+ * agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "kill" })
66
+ *
67
+ * // Attendre la fin d'un agent (max 5 min)
68
+ * agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "wait", timeoutMs: 300000 })
69
+ */
70
+ // ─── SCHÉMA ZOD ────────────────────────────────────────────────────────────────
71
+ export const agentControlSchema = z
72
+ .object({
73
+ agentName: z.string().describe('Nom unique de l agent à contrôler'),
74
+ runner: z
75
+ .enum(['claude', 'gemini', 'kilo', 'qwencli', 'openclaw', 'cline', 'opencode', 'hermes'])
76
+ .optional()
77
+ .describe("Type de runner de l'agent (optionnel — déduit du registry si omis)"),
78
+ config: z
79
+ .string()
80
+ .optional()
81
+ .describe('Chemin racine Overmind (dossier contenant .claude/)'),
82
+ action: z
83
+ .enum(['status', 'stream', 'kill', 'wait'])
84
+ .describe('Action à effectuer.\n' +
85
+ ' status — Lire l\'état courant (pid, status, sessionId, outputBuffer)\n' +
86
+ ' stream — Lire l\'output en temps réel + flag isComplete\n' +
87
+ ' kill — Forcer l\'arrêt du process tree (irréversible)\n' +
88
+ ' wait — Bloquer jusqu\'à terminaison naturelle (max timeoutMs)'),
89
+ timeoutMs: z
90
+ .number()
91
+ .optional()
92
+ .default(900000)
93
+ .describe('Timeout pour action="wait" en ms (défaut: 900000 = 15 min)'),
94
+ sinceTimestamp: z
95
+ .number()
96
+ .optional()
97
+ .describe('Pour action="stream" : ne retourner que l\'output après ce timestamp (ms epoch)'),
98
+ })
99
+ .passthrough();
100
+ /** Construit un rapport d'état formaté depuis une ProcessEntry */
101
+ function formatStatus(entry, _action) {
102
+ const lines = [];
103
+ lines.push(`**Agent:** ${entry.agentName}`);
104
+ lines.push(`**Runner:** ${entry.runner || 'inconnu'}`);
105
+ lines.push(`**Status:** ${entry.status}`);
106
+ lines.push(`**Started:** ${new Date(entry.ts).toISOString()}`);
107
+ if (entry.pid)
108
+ lines.push(`**PID:** ${entry.pid}`);
109
+ if (entry.id)
110
+ lines.push(`**Session ID:** ${entry.id}`);
111
+ if (entry.exitCode !== null && entry.exitCode !== undefined) {
112
+ lines.push(`**Exit Code:** ${entry.exitCode}`);
113
+ }
114
+ if (entry.lastOutputAt) {
115
+ lines.push(`**Last Output:** ${new Date(entry.lastOutputAt).toISOString()}`);
116
+ }
117
+ const bufLen = entry.outputBuffer?.length ?? 0;
118
+ if (bufLen > 0) {
119
+ lines.push(`\n**Output Buffer (${bufLen} chars):**`);
120
+ // On limite l'output dans le rapport à 2000 derniers caractères
121
+ const preview = entry.outputBuffer.slice(-2000);
122
+ lines.push('```');
123
+ lines.push(preview);
124
+ lines.push('```');
125
+ }
126
+ else {
127
+ lines.push('\n_(output vide ou pas encore de sortie)_');
128
+ }
129
+ return lines.join('\n');
130
+ }
131
+ /** Récupère l'entrée depuis le registry ou retourne une erreur structurée */
132
+ async function resolveEntry(agentName, runner, configPath) {
133
+ const entry = await getProcessStatus(agentName, runner, configPath);
134
+ if (!entry) {
135
+ return {
136
+ error: `Agent "${agentName}" (runner: ${runner || 'any'}) non trouvé dans le registry. ` +
137
+ `Il n'est pas en cours d'exécution ou a été nettoyé (TTL 1h après terminaison).`,
138
+ code: 'AGENT_NOT_FOUND',
139
+ };
140
+ }
141
+ return entry;
142
+ }
143
+ /** Action STATUS — lecture pure */
144
+ async function doStatus(agentName, runner, configPath) {
145
+ const resolved = await resolveEntry(agentName, runner, configPath);
146
+ if ('error' in resolved) {
147
+ return { content: [{ type: 'text', text: resolved.error }], isError: true };
148
+ }
149
+ const isZombie = resolved.status === 'running' && !!resolved.pid;
150
+ return {
151
+ content: [{ type: 'text', text: formatStatus(resolved, 'status') }],
152
+ isError: isZombie,
153
+ };
154
+ }
155
+ /** Action STREAM — lecture + complétude */
156
+ async function doStream(agentName, runner, configPath, sinceTimestamp) {
157
+ const resolved = await resolveEntry(agentName, runner, configPath);
158
+ if ('error' in resolved) {
159
+ return { content: [{ type: 'text', text: resolved.error }], isError: true };
160
+ }
161
+ const isComplete = resolved.status === 'done' ||
162
+ resolved.status === 'failed' ||
163
+ resolved.status === 'orphaned';
164
+ const output = resolved.outputBuffer || '';
165
+ // Filtering by sinceTimestamp is best-effort if lastOutputAt is available
166
+ if (sinceTimestamp && resolved.lastOutputAt && resolved.lastOutputAt > sinceTimestamp) {
167
+ // NOTE: per-chunk timestamps ne sont pas encore implémentés dans processRegistry.
168
+ // Pour l'instant on retourne tout l'outputBuffer. La filtering precise
169
+ // nécéssite d'ajouter un tableau de chunks avec timestamps dans ProcessEntry.
170
+ }
171
+ const lines = [];
172
+ lines.push(`**Agent:** ${resolved.agentName}`);
173
+ lines.push(`**Status:** ${resolved.status}`);
174
+ lines.push(`**isComplete:** ${isComplete}`);
175
+ if (resolved.pid)
176
+ lines.push(`**PID:** ${resolved.pid}`);
177
+ if (resolved.lastOutputAt) {
178
+ lines.push(`**Last Output At:** ${new Date(resolved.lastOutputAt).toISOString()}`);
179
+ }
180
+ lines.push(`\n**Output (${output.length} chars):**`);
181
+ lines.push('```');
182
+ lines.push(output || '(no output yet)');
183
+ lines.push('```');
184
+ return {
185
+ content: [{ type: 'text', text: lines.join('\n') }],
186
+ isError: isComplete && resolved.status === 'failed',
187
+ };
188
+ }
189
+ /** Action KILL — destruction */
190
+ async function doKill(agentName, runner, configPath) {
191
+ const resolved = await resolveEntry(agentName, runner, configPath);
192
+ if ('error' in resolved) {
193
+ return { content: [{ type: 'text', text: resolved.error }], isError: true };
194
+ }
195
+ if (resolved.status !== 'running') {
196
+ return {
197
+ content: [
198
+ {
199
+ type: 'text',
200
+ text: `Agent "${agentName}" n'est pas en cours d'exécution (status: ${resolved.status}). ` +
201
+ `Impossible de tuer un agent déjà terminé.`,
202
+ },
203
+ ],
204
+ isError: true,
205
+ };
206
+ }
207
+ const killResult = await killAgent(agentName, runner, configPath);
208
+ if (!killResult.killed) {
209
+ return {
210
+ content: [
211
+ {
212
+ type: 'text',
213
+ text: `Échec du kill pour "${agentName}". ` +
214
+ `Le process n'a pas pu être terminé (possible: permissions insuffisantes, ` +
215
+ `process déjà terminé entre-temps).`,
216
+ },
217
+ ],
218
+ isError: true,
219
+ };
220
+ }
221
+ return {
222
+ content: [
223
+ {
224
+ type: 'text',
225
+ text: `Agent "${agentName}" tué avec succès (PID: ${killResult.pid}). ` +
226
+ `Status mis à jour → 'failed' dans le registry.`,
227
+ },
228
+ ],
229
+ };
230
+ }
231
+ /** Action WAIT — blocage async */
232
+ async function doWait(agentName, runner, configPath, timeoutMs) {
233
+ const start = Date.now();
234
+ const pollInterval = 1000; // 1 seconde entre chaque poll
235
+ // Premier check immédiat
236
+ {
237
+ const resolved = await resolveEntry(agentName, runner, configPath);
238
+ if ('error' in resolved) {
239
+ return { content: [{ type: 'text', text: resolved.error }], isError: true };
240
+ }
241
+ if (resolved.status === 'done') {
242
+ return {
243
+ content: [
244
+ {
245
+ type: 'text',
246
+ text: resolved.outputBuffer || 'Agent terminé avec succès.',
247
+ },
248
+ ],
249
+ };
250
+ }
251
+ if (resolved.status === 'failed' || resolved.status === 'orphaned') {
252
+ return {
253
+ content: [
254
+ {
255
+ type: 'text',
256
+ text: `Agent terminé avec erreur (${resolved.status}):\n\n${resolved.outputBuffer || 'N/A'}`,
257
+ },
258
+ ],
259
+ isError: true,
260
+ };
261
+ }
262
+ }
263
+ // Boucle de polling
264
+ while (Date.now() - start < timeoutMs) {
265
+ await new Promise((r) => setTimeout(r, pollInterval));
266
+ const resolved = await resolveEntry(agentName, runner, configPath);
267
+ if ('error' in resolved) {
268
+ return { content: [{ type: 'text', text: resolved.error }], isError: true };
269
+ }
270
+ if (resolved.status === 'done') {
271
+ return {
272
+ content: [
273
+ {
274
+ type: 'text',
275
+ text: resolved.outputBuffer || 'Agent terminé avec succès.',
276
+ },
277
+ ],
278
+ };
279
+ }
280
+ if (resolved.status === 'failed' || resolved.status === 'orphaned') {
281
+ return {
282
+ content: [
283
+ {
284
+ type: 'text',
285
+ text: `Agent terminé avec erreur (${resolved.status}):\n\n${resolved.outputBuffer || 'N/A'}`,
286
+ },
287
+ ],
288
+ isError: true,
289
+ };
290
+ }
291
+ // Status still 'running' — continue polling
292
+ }
293
+ // Timeout atteint
294
+ return {
295
+ content: [
296
+ {
297
+ type: 'text',
298
+ text: `Timeout de ${timeoutMs}ms atteint. ` +
299
+ `L'agent "${agentName}" est toujours en cours d'exécution (status: running). ` +
300
+ `Utilisez action="kill" pour forcer l'arrêt ou augmentez timeoutMs.`,
301
+ },
302
+ ],
303
+ isError: true,
304
+ };
305
+ }
306
+ // ─── FONCTION PRINCIPALE ───────────────────────────────────────────────────────
307
+ export async function agentControl(args) {
308
+ const { agentName, runner, config: configPath, action, timeoutMs, sinceTimestamp } = args;
309
+ switch (action) {
310
+ case 'status':
311
+ return doStatus(agentName, runner, configPath);
312
+ case 'stream':
313
+ return doStream(agentName, runner, configPath, sinceTimestamp);
314
+ case 'kill':
315
+ return doKill(agentName, runner, configPath);
316
+ case 'wait':
317
+ return doWait(agentName, runner, configPath, timeoutMs ?? 900000);
318
+ }
319
+ }
320
+ //# sourceMappingURL=agent_control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_control.js","sourceRoot":"","sources":["../../src/tools/agent_control.ts"],"names":[],"mappings":"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"}
@@ -24,11 +24,11 @@ export declare const runAgentsParallelSchema: z.ZodObject<{
24
24
  }, z.core.$loose>>;
25
25
  waitAll: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
26
26
  }, z.core.$strip>;
27
- export declare function runAgentsParallel(args: z.infer<typeof runAgentsParallelSchema>): Promise<import("../lib/workflow/temporal/dispatch.js").DispatchResult[] | {
28
- content: {
27
+ export declare function runAgentsParallel(args: z.infer<typeof runAgentsParallelSchema>): Promise<{
28
+ content: [{
29
29
  type: "text";
30
30
  text: string;
31
- }[];
31
+ }];
32
32
  isError: boolean;
33
33
  }>;
34
34
  //# sourceMappingURL=run_agents_parallel.d.ts.map