overmind-mcp 2.7.0 → 2.8.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 (104) hide show
  1. package/.mcp.json.example +21 -21
  2. package/README.md +179 -187
  3. package/bin/README.md +44 -34
  4. package/bin/install-overmind-windows.bat +51 -7
  5. package/bin/overmind-pool.mjs +248 -0
  6. package/dist/bin/cli.js +115 -24
  7. package/dist/bin/cli.js.map +1 -1
  8. package/dist/bin/overmind-client.d.ts +77 -0
  9. package/dist/bin/overmind-client.d.ts.map +1 -0
  10. package/dist/bin/overmind-client.js +221 -0
  11. package/dist/bin/overmind-client.js.map +1 -0
  12. package/dist/lib/agent_lifecycle.d.ts +91 -0
  13. package/dist/lib/agent_lifecycle.d.ts.map +1 -0
  14. package/dist/lib/agent_lifecycle.js +155 -0
  15. package/dist/lib/agent_lifecycle.js.map +1 -0
  16. package/dist/lib/config.d.ts +5 -26
  17. package/dist/lib/config.d.ts.map +1 -1
  18. package/dist/lib/config.js +33 -12
  19. package/dist/lib/config.js.map +1 -1
  20. package/dist/lib/envUtils.d.ts +1 -1
  21. package/dist/lib/envUtils.d.ts.map +1 -1
  22. package/dist/lib/envUtils.js +11 -4
  23. package/dist/lib/envUtils.js.map +1 -1
  24. package/dist/lib/loadEnv.d.ts.map +1 -1
  25. package/dist/lib/loadEnv.js +9 -4
  26. package/dist/lib/loadEnv.js.map +1 -1
  27. package/dist/lib/logger.d.ts.map +1 -1
  28. package/dist/lib/logger.js +20 -4
  29. package/dist/lib/logger.js.map +1 -1
  30. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
  31. package/dist/lib/orchestration/dispatcher.js +10 -1
  32. package/dist/lib/orchestration/dispatcher.js.map +1 -1
  33. package/dist/lib/orchestration/swarm.d.ts +1 -0
  34. package/dist/lib/orchestration/swarm.d.ts.map +1 -1
  35. package/dist/lib/orchestration/swarm.js +11 -8
  36. package/dist/lib/orchestration/swarm.js.map +1 -1
  37. package/dist/lib/processRegistry.d.ts +2 -40
  38. package/dist/lib/processRegistry.d.ts.map +1 -1
  39. package/dist/lib/processRegistry.js +191 -230
  40. package/dist/lib/processRegistry.js.map +1 -1
  41. package/dist/memory/MemoryFactory.d.ts.map +1 -1
  42. package/dist/memory/MemoryFactory.js +2 -1
  43. package/dist/memory/MemoryFactory.js.map +1 -1
  44. package/dist/memory/PostgresMemoryProvider.d.ts +1 -0
  45. package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
  46. package/dist/memory/PostgresMemoryProvider.js +11 -4
  47. package/dist/memory/PostgresMemoryProvider.js.map +1 -1
  48. package/dist/server.d.ts +1 -1
  49. package/dist/server.d.ts.map +1 -1
  50. package/dist/server.js +84 -80
  51. package/dist/server.js.map +1 -1
  52. package/dist/services/AgentManager.d.ts +1 -0
  53. package/dist/services/AgentManager.d.ts.map +1 -1
  54. package/dist/services/AgentManager.js +17 -0
  55. package/dist/services/AgentManager.js.map +1 -1
  56. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  57. package/dist/services/ClaudeRunner.js +25 -6
  58. package/dist/services/ClaudeRunner.js.map +1 -1
  59. package/dist/services/ClineRunner.d.ts.map +1 -1
  60. package/dist/services/ClineRunner.js +16 -7
  61. package/dist/services/ClineRunner.js.map +1 -1
  62. package/dist/services/GeminiRunner.d.ts.map +1 -1
  63. package/dist/services/GeminiRunner.js +13 -6
  64. package/dist/services/GeminiRunner.js.map +1 -1
  65. package/dist/services/KiloRunner.d.ts.map +1 -1
  66. package/dist/services/KiloRunner.js +7 -4
  67. package/dist/services/KiloRunner.js.map +1 -1
  68. package/dist/services/OpenClawRunner.d.ts.map +1 -1
  69. package/dist/services/OpenClawRunner.js +16 -7
  70. package/dist/services/OpenClawRunner.js.map +1 -1
  71. package/dist/services/OpenCodeRunner.d.ts.map +1 -1
  72. package/dist/services/OpenCodeRunner.js +16 -7
  73. package/dist/services/OpenCodeRunner.js.map +1 -1
  74. package/dist/services/PromptManager.d.ts.map +1 -1
  75. package/dist/services/PromptManager.js +4 -0
  76. package/dist/services/PromptManager.js.map +1 -1
  77. package/dist/services/QwenCliRunner.d.ts.map +1 -1
  78. package/dist/services/QwenCliRunner.js +16 -7
  79. package/dist/services/QwenCliRunner.js.map +1 -1
  80. package/dist/tools/agent_control.d.ts +2 -69
  81. package/dist/tools/agent_control.d.ts.map +1 -1
  82. package/dist/tools/agent_control.js +186 -241
  83. package/dist/tools/agent_control.js.map +1 -1
  84. package/dist/tools/config_example.d.ts +2 -2
  85. package/dist/tools/config_example.d.ts.map +1 -1
  86. package/dist/tools/config_example.js +2 -4
  87. package/dist/tools/config_example.js.map +1 -1
  88. package/dist/tools/create_agent.d.ts.map +1 -1
  89. package/dist/tools/create_agent.js +11 -0
  90. package/dist/tools/create_agent.js.map +1 -1
  91. package/dist/tools/manage_agents.d.ts.map +1 -1
  92. package/dist/tools/manage_agents.js +3 -2
  93. package/dist/tools/manage_agents.js.map +1 -1
  94. package/dist/tools/run_agent.d.ts +1 -1
  95. package/dist/tools/run_agent.d.ts.map +1 -1
  96. package/dist/tools/run_agent.js +1 -2
  97. package/dist/tools/run_agent.js.map +1 -1
  98. package/dist/tools/run_agent_cli.d.ts +4 -10
  99. package/dist/tools/run_agent_cli.d.ts.map +1 -1
  100. package/dist/tools/run_agent_cli.js +10 -82
  101. package/dist/tools/run_agent_cli.js.map +1 -1
  102. package/dist/tools/run_agents_parallel.d.ts +1 -1
  103. package/docs/agent-http-tutorial.md +524 -0
  104. package/package.json +3 -3
@@ -1,320 +1,265 @@
1
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 ────────────────────────────────────────────────────────────────
2
+ import { getProcessStatus, killAgent } from '../lib/processRegistry.js';
3
+ import { getLiveAgent, getLiveAgentByPid, } from '../lib/agent_lifecycle.js';
4
+ // ─── Schema + Types ──────────────────────────────────────────────────────────
71
5
  export const agentControlSchema = z
72
6
  .object({
73
- agentName: z.string().describe('Nom unique de l agent à contrôler'),
7
+ agentName: z.string().describe("Nom unique de l'agent à contrôler"),
74
8
  runner: z
75
9
  .enum(['claude', 'gemini', 'kilo', 'qwencli', 'openclaw', 'cline', 'opencode', 'hermes'])
76
10
  .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/)'),
11
+ .describe("Type de runner (optionnel — déduit si omis)"),
12
+ config: z.string().optional().describe('Chemin racine Overmind'),
82
13
  action: z
83
14
  .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)'),
15
+ .describe('status état courant (pid, status, sessionId, output)\n' +
16
+ 'stream output en temps réel + isComplete\n' +
17
+ 'kill arrêt forcé du process tree\n' +
18
+ 'wait bloque jusquà terminaison (max timeoutMs)'),
89
19
  timeoutMs: z
90
20
  .number()
21
+ .int()
22
+ .min(1000)
23
+ .max(3600000)
91
24
  .optional()
92
25
  .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) {
26
+ .describe('Timeout wait en ms (défaut: 900s, max: 1h)'),
27
+ sinceTimestamp: z.number().optional().describe('Pour stream: output après ce timestamp'),
28
+ });
29
+ /** Try in-memory first (fast), fall back to disk registry */
30
+ async function resolveAgent(agentName, runner) {
31
+ const live = getLiveAgent(agentName, runner);
32
+ if (live)
33
+ return { live, disk: null };
34
+ const disk = await getProcessStatus(agentName, runner);
35
+ return { live: null, disk };
36
+ }
37
+ // ─── Formatting ───────────────────────────────────────────────────────────────
38
+ function formatAgent(view, action) {
102
39
  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()}`);
40
+ const runningFor = view.startedAt ? `${Date.now() - view.startedAt}ms` : '?';
41
+ lines.push(`**Agent:** ${view.agentName}`);
42
+ lines.push(`**Runner:** ${view.runner || 'inconnu'}`);
43
+ lines.push(`**Status:** ${view.status}`);
44
+ lines.push(`**Running:** ${runningFor}`);
45
+ if (view.pid)
46
+ lines.push(`**PID:** ${view.pid}`);
47
+ if (view.sessionId)
48
+ lines.push(`**Session:** ${view.sessionId}`);
49
+ if (view.exitCode !== null)
50
+ lines.push(`**Exit Code:** ${view.exitCode}`);
51
+ if (view.lastOutputAt) {
52
+ lines.push(`**Last Output:** ${new Date(view.lastOutputAt).toISOString()}`);
116
53
  }
117
- const bufLen = entry.outputBuffer?.length ?? 0;
54
+ const bufLen = view.outputBuffer.length;
118
55
  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);
56
+ lines.push(`\n**Output (${bufLen} chars):**`);
122
57
  lines.push('```');
123
- lines.push(preview);
58
+ lines.push(view.outputBuffer.slice(-2000));
124
59
  lines.push('```');
125
60
  }
126
61
  else {
127
- lines.push('\n_(output vide ou pas encore de sortie)_');
62
+ lines.push('\n_(output vide)_');
128
63
  }
129
64
  return lines.join('\n');
130
65
  }
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) {
66
+ // ─── Actions ───────────────────────────────────────────────────────────────────
67
+ /** STATUS zero side-effect read */
68
+ async function doStatus(agentName, runner) {
69
+ const { live, disk } = await resolveAgent(agentName, runner);
70
+ if (!live && !disk) {
135
71
  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',
72
+ content: [{ type: 'text', text: `Agent "${agentName}" non trouvé.` }],
73
+ isError: true,
139
74
  };
140
75
  }
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;
76
+ const view = live
77
+ ? {
78
+ agentName: live.agentName,
79
+ runner: live.runner,
80
+ status: live.status,
81
+ pid: live.pid,
82
+ sessionId: live.sessionId,
83
+ exitCode: live.exitCode,
84
+ outputBuffer: live.outputBuffer,
85
+ startedAt: live.startedAt,
86
+ lastOutputAt: live.lastOutputAt,
87
+ }
88
+ : {
89
+ agentName: disk.agentName,
90
+ runner: disk.runner,
91
+ status: disk.status,
92
+ pid: disk.pid,
93
+ sessionId: disk.id,
94
+ exitCode: disk.exitCode ?? null,
95
+ outputBuffer: '', // disk entry has no outputBuffer
96
+ startedAt: disk.ts,
97
+ lastOutputAt: disk.lastOutputAt ?? disk.ts,
98
+ };
99
+ const isZombie = view.status === 'running' && view.pid && !getLiveAgentByPid(view.pid);
150
100
  return {
151
- content: [{ type: 'text', text: formatStatus(resolved, 'status') }],
152
- isError: isZombie,
101
+ content: [{ type: 'text', text: formatAgent(view, 'status') }],
102
+ isError: !!isZombie,
153
103
  };
154
104
  }
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 };
105
+ /** STREAM — read + completeness flag */
106
+ async function doStream(agentName, runner, sinceTimestamp) {
107
+ const { live, disk } = await resolveAgent(agentName, runner);
108
+ if (!live && !disk) {
109
+ return {
110
+ content: [{ type: 'text', text: `Agent "${agentName}" non trouvé.` }],
111
+ isError: true,
112
+ };
160
113
  }
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.
114
+ const isComplete = live
115
+ ? live.status !== 'running'
116
+ : disk.status !== 'running';
117
+ const output = live ? live.outputBuffer : '';
118
+ if (sinceTimestamp && live) {
119
+ // Ring buffer doesn't support per-chunk timestamps best-effort: return last 2000
120
+ void sinceTimestamp;
170
121
  }
122
+ const view = live
123
+ ? {
124
+ agentName: live.agentName,
125
+ runner: live.runner,
126
+ status: live.status,
127
+ pid: live.pid,
128
+ sessionId: live.sessionId,
129
+ exitCode: live.exitCode,
130
+ outputBuffer: output,
131
+ startedAt: live.startedAt,
132
+ lastOutputAt: live.lastOutputAt,
133
+ }
134
+ : {
135
+ agentName: disk.agentName,
136
+ runner: disk.runner,
137
+ status: disk.status,
138
+ pid: disk.pid,
139
+ sessionId: disk.id,
140
+ exitCode: disk.exitCode ?? null,
141
+ outputBuffer: '',
142
+ startedAt: disk.ts,
143
+ lastOutputAt: disk.lastOutputAt ?? disk.ts,
144
+ };
171
145
  const lines = [];
172
- lines.push(`**Agent:** ${resolved.agentName}`);
173
- lines.push(`**Status:** ${resolved.status}`);
146
+ lines.push(`**Agent:** ${view.agentName}`);
147
+ lines.push(`**Status:** ${view.status}`);
174
148
  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
- }
149
+ if (view.pid)
150
+ lines.push(`**PID:** ${view.pid}`);
151
+ if (view.lastOutputAt)
152
+ lines.push(`**Last Output At:** ${new Date(view.lastOutputAt).toISOString()}`);
180
153
  lines.push(`\n**Output (${output.length} chars):**`);
181
154
  lines.push('```');
182
- lines.push(output || '(no output yet)');
155
+ lines.push(output.slice(-2000) || '(no output yet)');
183
156
  lines.push('```');
184
157
  return {
185
158
  content: [{ type: 'text', text: lines.join('\n') }],
186
- isError: isComplete && resolved.status === 'failed',
159
+ isError: isComplete && view.status === 'failed',
187
160
  };
188
161
  }
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) {
162
+ /** KILL — force termination */
163
+ async function doKill(agentName, runner) {
164
+ const { live } = await resolveAgent(agentName, runner);
165
+ if (!live || live.status !== 'running') {
166
+ const disk = await getProcessStatus(agentName, runner);
209
167
  return {
210
168
  content: [
211
169
  {
212
170
  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).`,
171
+ text: disk
172
+ ? `Agent "${agentName}" nest plus en cours (status: ${disk.status}).`
173
+ : `Agent "${agentName}" non trouvé.`,
216
174
  },
217
175
  ],
218
176
  isError: true,
219
177
  };
220
178
  }
179
+ const pid = live.pid;
180
+ const result = await killAgent(agentName, runner);
221
181
  return {
222
182
  content: [
223
183
  {
224
184
  type: 'text',
225
- text: `Agent "${agentName}" tué avec succès (PID: ${killResult.pid}). ` +
226
- `Status mis à jour → 'failed' dans le registry.`,
185
+ text: result.killed
186
+ ? `Agent "${agentName}" tué (PID: ${pid}).`
187
+ : `Échec du kill pour "${agentName}".`,
227
188
  },
228
189
  ],
190
+ isError: !result.killed,
229
191
  };
230
192
  }
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') {
193
+ /** WAIT — block until completion, using AbortController when available */
194
+ async function doWait(agentName, runner, timeoutMs) {
195
+ const live = getLiveAgent(agentName, runner);
196
+ // Fast path: agent already done
197
+ if (live) {
198
+ if (live.status !== 'running') {
242
199
  return {
243
- content: [
244
- {
245
- type: 'text',
246
- text: resolved.outputBuffer || 'Agent terminé avec succès.',
247
- },
248
- ],
200
+ content: [{ type: 'text', text: live.outputBuffer || `Agent terminé (${live.status}).` }],
201
+ isError: live.status === 'failed' || live.status === 'orphaned',
249
202
  };
250
203
  }
251
- if (resolved.status === 'failed' || resolved.status === 'orphaned') {
204
+ // Use AbortController if available (instant wake on kill/status change)
205
+ if (live.abortController) {
206
+ try {
207
+ await Promise.race([
208
+ new Promise((_, reject) => {
209
+ live.abortController.signal.addEventListener('abort', () => reject(new Error('done')));
210
+ }),
211
+ new Promise((r) => setTimeout(r, timeoutMs)),
212
+ ]);
213
+ }
214
+ catch {
215
+ // Aborted — agent finished
216
+ }
217
+ // Re-read state after wake
218
+ const updated = getLiveAgent(agentName, runner);
219
+ if (updated) {
220
+ return {
221
+ content: [{ type: 'text', text: updated.outputBuffer || `Agent terminé (${updated.status}).` }],
222
+ isError: updated.status === 'failed' || updated.status === 'orphaned',
223
+ };
224
+ }
225
+ }
226
+ }
227
+ else {
228
+ // Fallback: disk polling
229
+ const disk = await getProcessStatus(agentName, runner);
230
+ if (!disk || disk.status !== 'running') {
252
231
  return {
253
- content: [
254
- {
255
- type: 'text',
256
- text: `Agent terminé avec erreur (${resolved.status}):\n\n${resolved.outputBuffer || 'N/A'}`,
257
- },
258
- ],
232
+ content: [{ type: 'text', text: disk ? `Agent terminé (${disk.status}).` : `Agent non trouvé.` }],
259
233
  isError: true,
260
234
  };
261
235
  }
262
236
  }
263
- // Boucle de polling
237
+ // Polling fallback (disk or no AbortController)
238
+ const start = Date.now();
239
+ const pollInterval = 1000;
264
240
  while (Date.now() - start < timeoutMs) {
265
241
  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') {
242
+ const current = getLiveAgent(agentName, runner);
243
+ if (!current || current.status !== 'running') {
271
244
  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,
245
+ content: [{ type: 'text', text: current?.outputBuffer || 'Agent terminé.' }],
246
+ isError: current?.status === 'failed' || current?.status === 'orphaned' || !current,
289
247
  };
290
248
  }
291
- // Status still 'running' — continue polling
292
249
  }
293
- // Timeout atteint
294
250
  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
- ],
251
+ content: [{ type: 'text', text: `Timeout ${timeoutMs}ms atteint. Agent toujours en cours.` }],
303
252
  isError: true,
304
253
  };
305
254
  }
306
- // ─── FONCTION PRINCIPALE ───────────────────────────────────────────────────────
255
+ // ─── Main entry point ─────────────────────────────────────────────────────────
307
256
  export async function agentControl(args) {
308
- const { agentName, runner, config: configPath, action, timeoutMs, sinceTimestamp } = args;
257
+ const { agentName, runner, action, timeoutMs, sinceTimestamp } = args;
309
258
  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);
259
+ case 'status': return doStatus(agentName, runner);
260
+ case 'stream': return doStream(agentName, runner, sinceTimestamp);
261
+ case 'kill': return doKill(agentName, runner);
262
+ case 'wait': return doWait(agentName, runner, timeoutMs ?? 900000);
318
263
  }
319
264
  }
320
265
  //# sourceMappingURL=agent_control.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_control.js","sourceRoot":"","sources":["../../src/tools/agent_control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_control.js","sourceRoot":"","sources":["../../src/tools/agent_control.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,11 @@ export declare const configExampleSchema: z.ZodObject<{
4
4
  ilmu: "ilmu";
5
5
  glm: "glm";
6
6
  minimax: "minimax";
7
- openrouter: "openrouter";
8
7
  overmind: "overmind";
8
+ openrouter: "openrouter";
9
9
  minimaxi: "minimaxi";
10
10
  }>;
11
- }, z.core.$loose>;
11
+ }, z.core.$strip>;
12
12
  export declare function configExample(args: z.infer<typeof configExampleSchema>): Promise<{
13
13
  content: {
14
14
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"config_example.d.ts","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;iBAMhB,CAAC;AAEjB,wBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;GA4Q5E"}
1
+ {"version":3,"file":"config_example.d.ts","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;iBAI9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;GA4Q5E"}
@@ -1,11 +1,9 @@
1
1
  import { z } from 'zod';
2
- export const configExampleSchema = z
3
- .object({
2
+ export const configExampleSchema = z.object({
4
3
  provider: z
5
4
  .enum(['glm', 'minimax', 'openrouter', 'ilmu', 'minimaxi', 'overmind'])
6
5
  .describe('Le fournisseur pour lequel vous voulez un exemple de configuration.'),
7
- })
8
- .passthrough();
6
+ });
9
7
  export async function configExample(args) {
10
8
  const { provider } = args;
11
9
  let text = '';
@@ -1 +1 @@
1
- {"version":3,"file":"config_example.js","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;SACtE,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAyC;IAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,MAAM,mBAAmB,GAAG;;;;GAI3B,CAAC;IAEF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;EAqBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;EAoBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;EAoBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,UAAU;YACb,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;EAqBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,yDAAyD;QACzD,KAAK,UAAU;YACb,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGA+G0F,CAAC;YAClG,MAAM;IACV,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config_example.js","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;SACtE,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAyC;IAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,MAAM,mBAAmB,GAAG;;;;GAI3B,CAAC;IAEF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;EAqBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;EAoBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;EAoBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,UAAU;YACb,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;EAqBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,yDAAyD;QACzD,KAAK,UAAU;YACb,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGA+G0F,CAAC;YAClG,MAAM;IACV,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create_agent.d.ts","sourceRoot":"","sources":["../../src/tools/create_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;iBAuC5B,CAAC;AAEH,wBAAsB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;;;;;;;;GAuDxE"}
1
+ {"version":3,"file":"create_agent.d.ts","sourceRoot":"","sources":["../../src/tools/create_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;iBAgD5B,CAAC;AAEH,wBAAsB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;;;;;;;;GAuDxE"}