overmind-mcp 2.0.1 → 2.0.3

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 (38) hide show
  1. package/README.md +145 -232
  2. package/dist/server.d.ts +40 -0
  3. package/dist/server.d.ts.map +1 -1
  4. package/dist/server.js +104 -61
  5. package/dist/server.js.map +1 -1
  6. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  7. package/dist/services/ClaudeRunner.js +68 -47
  8. package/dist/services/ClaudeRunner.js.map +1 -1
  9. package/docs/INDEX.md +144 -0
  10. package/docs/README.md +128 -0
  11. package/docs/api/prompt/Claude_code.md +74 -0
  12. package/docs/api/prompt/Kilo.md +74 -0
  13. package/docs/api/prompt/Kilo_Hermes.md +170 -0
  14. package/docs/api/prompt/Minimax4.md +96 -0
  15. package/docs/changelog/CHANGELOG.add.md +106 -0
  16. package/docs/index.html +569 -0
  17. package/docs/library.html +239 -0
  18. package/docs/prompt.html +1212 -0
  19. package/docs/script.js +428 -0
  20. package/docs/styles.css +2816 -0
  21. package/docs/tools.md +794 -0
  22. package/install-overmind-unix.sh +250 -0
  23. package/install-overmind-windows.bat +257 -0
  24. package/package.json +6 -12
  25. package/scripts/docker-manager.mjs +2 -2
  26. package/scripts/install-dependencies.mjs +266 -87
  27. package/scripts/postinstall.mjs +98 -129
  28. package/scripts/setup.mjs +4 -6
  29. package/scripts/uninstall.mjs +224 -0
  30. package/SETUP_WINDOWS.md +0 -362
  31. package/dist/tools/metadata.d.ts +0 -20
  32. package/dist/tools/metadata.d.ts.map +0 -1
  33. package/dist/tools/metadata.js +0 -246
  34. package/dist/tools/metadata.js.map +0 -1
  35. package/docker-compose.overmind.yml +0 -172
  36. /package/{CHANGELOG.md → docs/changelog/CHANGELOG.md} +0 -0
  37. /package/{DEPLOYMENT.md → docs/guides/DEPLOYMENT.md} +0 -0
  38. /package/{SWARM_USAGE.md → docs/guides/SWARM_USAGE.md} +0 -0
package/dist/server.js CHANGED
@@ -1,3 +1,43 @@
1
+ /**
2
+ * OverMind-MCP Server
3
+ * ====================
4
+ *
5
+ * Ce fichier enregistre les 13 outils MCP du serveur Overmind.
6
+ *
7
+ * ─── ARCHITECTURE ───────────────────────────────────────────────────────────
8
+ *
9
+ * CHAQUE OUTIL MCP VIT DANS SON PROPRE FICHIER sous src/tools/.
10
+ * Cela garantit :
11
+ * - Maintenabilité : un outil = un fichier, pas de fichier fourre-tout
12
+ * - Testabilité : chaque outil peut être importé et testé isolément
13
+ * - Lisibilité : server.ts reste un index lisible, pas 500 lignes de code
14
+ * - DX : retrouver un tool = grep src/tools/, pas explorer 2000 lignes
15
+ *
16
+ * Convention de nommage :
17
+ * src/tools/<nom_du_tool>.ts → contient le schéma Zod ET la fonction execute
18
+ * src/tools/run_<runner>.ts → implémentation par runner (pas des outils MCP)
19
+ *
20
+ * Ajout d'un nouvel outil :
21
+ * 1. Créer src/tools/<nom>.ts → exporter <nom>Schema + <nom>Function
22
+ * 2. L'importer dans server.ts → import { <nom> } from './tools/<nom>.js'
23
+ * 3. Ajouter server.addTool() → name, description, parameters, execute
24
+ *
25
+ * ─── LISTE DES 13 OUTILS ─────────────────────────────────────────────────
26
+ *
27
+ * 1. run_agent → src/tools/run_agent.ts
28
+ * 2. run_agents_parallel → src/tools/run_agents_parallel.ts
29
+ * 3. create_agent → src/tools/create_agent.ts
30
+ * 4. list_agents → src/tools/manage_agents.ts
31
+ * 5. delete_agent → src/tools/manage_agents.ts
32
+ * 6. update_agent_config → src/tools/manage_agents.ts
33
+ * 7. create_prompt → src/tools/manage_prompts.ts
34
+ * 8. edit_prompt → src/tools/manage_prompts.ts
35
+ * 9. memory_search → src/tools/memory_search.ts
36
+ * 10. memory_store → src/tools/memory_store.ts
37
+ * 11. memory_runs → src/tools/memory_runs.ts
38
+ * 12. get_agent_configs → src/tools/get_agent_configs.ts
39
+ * 13. config_example → src/tools/config_example.ts
40
+ */
1
41
  import { FastMCP } from 'fastmcp';
2
42
  import { withSpan } from './lib/telemetry.js';
3
43
  import { runAgent, runAgentSchema } from './tools/run_agent.js';
@@ -18,139 +58,142 @@ export function createServer(name = 'OverMind-MCP') {
18
58
  name,
19
59
  version: '1.0.0',
20
60
  });
21
- // ─── OUTIL UNIFIÉ D'EXÉCUTION D'AGENT ────────────────────────────────────────
61
+ // ─── 1. run_agent ─────────────────────────────────────────────────────────────
22
62
  server.addTool({
23
63
  name: 'run_agent',
24
- description: `Exécute une commande sur un agent IA via le runner spécifié.
25
-
26
- **Runners disponibles:**
27
- - claude: Claude Code (Nécessite 'create_agent' au préalable)
28
- - gemini: Gemini CLI
29
- - kilo: Kilocode (modes: code, architect, ask, debug, orchestrator)
30
- - qwencli: Qwen Code CLI (qwen -p)
31
- - openclaw: OpenClaw (openclaw message send)
32
- - cline: Cline (modes: plan, act)
33
- - opencode: OpenCode (opencode run)
34
- - hermes: Nous Hermes Agent (Nécessite 'create_agent' au préalable)
35
-
36
- **Modèles recommandés :**
37
- | Fournisseur | Modèle recommandé | Usage |
38
- | :--- | :--- | :--- |
39
- | **Mistral** | **Devstral 2** (\`codestral-latest\`) | Expert Coding & Développement |
40
- | **Mistral** | **Mistral Large 3** (\`mistral-large-latest\`) | Raisonnement & Architecture |
41
- | **Kilo** | **step 3.5 flash** | Polyvalent (262K context) |
42
- | **Kilo** | **free** | Modèle par défaut gratuit |
43
-
44
- **Parameters:**
45
- - runner: Type de runner (claude, gemini, etc.)
46
- - prompt: Instruction à envoyer à l'agent
47
- - agentName: Nom de l'agent (optionnel)
48
- - path: Répertoire de travail (CWD). Par défaut: dossier Overmind.
49
- - config: Répertoire racine de l'Overmind. Par défaut: dossier Overmind.
50
-
51
- **Exemples:**
52
- run_agent(runner: "claude", agentName: "expert_python", prompt: "Analyse ce code")
53
- run_agent(runner: "kilo", agentName: "architect", mode: "architect", prompt: "Conçois une API REST", path: "./my-project")
64
+ description: `Exécute une commande sur un agent IA via le runner spécifié.
65
+
66
+ **Runners disponibles:**
67
+ - claude: Claude Code (Nécessite 'create_agent' au préalable)
68
+ - gemini: Gemini CLI
69
+ - kilo: Kilocode (modes: code, architect, ask, debug, orchestrator)
70
+ - qwencli: Qwen Code CLI (qwen -p)
71
+ - openclaw: OpenClaw (openclaw message send)
72
+ - cline: Cline (modes: plan, act)
73
+ - opencode: OpenCode (opencode run)
74
+ - hermes: Nous Hermes Agent (Nécessite 'create_agent' au préalable)
75
+
76
+ **Modèles recommandés :**
77
+ | Fournisseur | Modèle recommandé | Usage |
78
+ | :--- | :--- | :--- |
79
+ | **Mistral** | **Devstral 2** (\`codestral-latest\`) | Expert Coding & Développement |
80
+ | **Mistral** | **Mistral Large 3** (\`mistral-large-latest\`) | Raisonnement & Architecture |
81
+ | **Kilo** | **step 3.5 flash** | Polyvalent (262K context) |
82
+ | **Kilo** | **free** | Modèle par défaut gratuit |
83
+
84
+ **Parameters:**
85
+ - runner: Type de runner (claude, gemini, etc.)
86
+ - prompt: Instruction à envoyer à l'agent
87
+ - agentName: Nom de l'agent (optionnel)
88
+ - path: Répertoire de travail (CWD). Par défaut: dossier Overmind.
89
+ - config: Répertoire racine de l'Overmind. Par défaut: dossier Overmind.
90
+
91
+ **Exemples:**
92
+ run_agent(runner: "claude", agentName: "expert_python", prompt: "Analyse ce code")
93
+ run_agent(runner: "kilo", agentName: "architect", mode: "architect", prompt: "Conçois une API REST", path: "./my-project")
54
94
  run_agent(runner: "cline", agentName: "planner", mode: "plan", prompt: "Planifie l'implémentation")`,
55
95
  parameters: runAgentSchema,
56
96
  execute: wrapExecute('run_agent', runAgent),
57
97
  });
58
- // ─── OUTIL PARALLÈLE MULTI-AGENTS ──────────────────────────────────────────
98
+ // ─── 2. run_agents_parallel ─────────────────────────────────────────────────
59
99
  server.addTool({
60
100
  name: 'run_agents_parallel',
61
- description: `🚀 Lance plusieurs agents IA EN PARALLÈLE depuis un seul appel MCP. Polyglotte (mixe runners/modèles). Retourne les résultats consolidés une fois tous terminés.
62
-
63
- **Cas d'usage :** Orchestration de flotte, rotation de tokens, tâches indépendantes simultanées.
64
-
65
- **Exemple :**
66
- run_agents_parallel(agents: [
67
- { taskId: "build", runner: "kilo", agentName: "mistral_1", prompt: "npm run build", path: "./project" },
68
- { taskId: "lint", runner: "kilo", agentName: "mistral_2", prompt: "npm run lint", path: "./project" },
69
- { taskId: "test", runner: "kilo", agentName: "mistral_3", prompt: "npm test", path: "./project" },
70
- { taskId: "audit", runner: "kilo", agentName: "mistral_4", prompt: "Analyse le fichier audit.md", path: "./project" },
71
- ])
72
-
73
- **Options :**
74
- - waitAll (défaut: true) : attend tous les agents avant de retourner.
101
+ description: `🚀 Lance plusieurs agents IA EN PARALLÈLE depuis un seul appel MCP. Polyglotte (mixe runners/modèles). Retourne les résultats consolidés une fois tous terminés.
102
+
103
+ **Cas d'usage :** Orchestration de flotte, rotation de tokens, tâches indépendantes simultanées.
104
+
105
+ **Exemple :**
106
+ run_agents_parallel(agents: [
107
+ { taskId: "build", runner: "kilo", agentName: "mistral_1", prompt: "npm run build", path: "./project" },
108
+ { taskId: "lint", runner: "kilo", agentName: "mistral_2", prompt: "npm run lint", path: "./project" },
109
+ { taskId: "test", runner: "kilo", agentName: "mistral_3", prompt: "npm test", path: "./project" },
110
+ { taskId: "audit", runner: "kilo", agentName: "mistral_4", prompt: "Analyse le fichier audit.md", path: "./project" },
111
+ ])
112
+
113
+ **Options :**
114
+ - waitAll (défaut: true) : attend tous les agents avant de retourner.
75
115
  - waitAll: false : retourne dès que le premier agent réussit (race mode).`,
76
116
  parameters: runAgentsParallelSchema,
77
117
  execute: wrapExecute('run_agents_parallel', runAgentsParallel),
78
118
  });
79
- // Outil : Créer un nouvel agent (tous runners supportés)
119
+ // ─── 3. create_agent ────────────────────────────────────────────────────────
80
120
  server.addTool({
81
121
  name: 'create_agent',
82
- description: `Crée un nouvel agent (Prompt + Config) compatible avec tous les runners.
83
-
84
- **Runners supportés:** claude, gemini, kilo, qwencli, openclaw, cline, opencode, hermes
85
-
86
- **Exemples:**
87
- create_agent(name: "expert_python", runner: "claude", prompt: "Tu es un expert Python...")
88
- create_agent(name: "architecte", runner: "kilo", mode: "architect", prompt: "Tu es un architecte logiciel...")
122
+ description: `Crée un nouvel agent (Prompt + Config) compatible avec tous les runners.
123
+
124
+ **Runners supportés:** claude, gemini, kilo, qwencli, openclaw, cline, opencode, hermes
125
+
126
+ **Exemples:**
127
+ create_agent(name: "expert_python", runner: "claude", prompt: "Tu es un expert Python...")
128
+ create_agent(name: "architecte", runner: "kilo", mode: "architect", prompt: "Tu es un architecte logiciel...")
89
129
  create_agent(name: "planner", runner: "cline", mode: "plan", prompt: "Tu es un planificateur de tâches...")`,
90
130
  parameters: createAgentSchema,
91
131
  execute: createAgent,
92
132
  });
93
- // Outil : Lister les agents
133
+ // ─── 4. list_agents ─────────────────────────────────────────────────────────
94
134
  server.addTool({
95
135
  name: 'list_agents',
96
136
  description: "Liste tous les agents disponibles. Option 'details=true' pour voir la config complète.",
97
137
  parameters: listAgentsSchema,
98
138
  execute: listAgents,
99
139
  });
100
- // Outil : Supprimer un agent
140
+ // ─── 5. delete_agent ───────────────────────────────────────────────────────
101
141
  server.addTool({
102
142
  name: 'delete_agent',
103
143
  description: 'Supprime définitivement un agent (Prompt et Config)',
104
144
  parameters: deleteAgentSchema,
105
145
  execute: deleteAgent,
106
146
  });
107
- // Outil : Mettre à jour la config d'un agent
147
+ // ─── 6. update_agent_config ────────────────────────────────────────────────
108
148
  server.addTool({
109
149
  name: 'update_agent_config',
110
150
  description: "Modifie la configuration technique d'un agent (Runner, Modèle, Serveurs MCP, Variables d'environnement) OU réécrit entièrement l'un des 4 fichiers (prompt, settings, mcp, skill)",
111
151
  parameters: updateAgentConfigSchema,
112
152
  execute: updateAgentConfig,
113
153
  });
114
- // ─── GESTION DES PROMPTS ─────────────────────────────────────────────────────
115
- // Outil : Créer un prompt seul
154
+ // ─── 7. create_prompt ───────────────────────────────────────────────────────
116
155
  server.addTool({
117
156
  name: 'create_prompt',
118
157
  description: 'Crée ou écrase un fichier prompt Markdown (Persona)',
119
158
  parameters: createPromptSchema,
120
159
  execute: createPrompt,
121
160
  });
122
- // Outil : Éditer un prompt par search/replace (Diff)
161
+ // ─── 8. edit_prompt ─────────────────────────────────────────────────────────
123
162
  server.addTool({
124
163
  name: 'edit_prompt',
125
164
  description: 'Modifie un prompt existant en remplaçant un bloc de texte spécifique',
126
165
  parameters: editPromptSchema,
127
166
  execute: editPrompt,
128
167
  });
129
- // ─── MÉMOIRE OVERMIND ─────────────────────────────────────────────────────────
168
+ // ─── 9. memory_search ──────────────────────────────────────────────────────
130
169
  server.addTool({
131
170
  name: 'memory_search',
132
171
  description: 'Recherche sémantique + full-text dans la mémoire OverMind (connaissances + historique)',
133
172
  parameters: memorySearchSchema,
134
173
  execute: memorySearchTool,
135
174
  });
175
+ // ─── 10. memory_store ───────────────────────────────────────────────────────
136
176
  server.addTool({
137
177
  name: 'memory_store',
138
178
  description: "Mémorise durablement une connaissance, décision ou pattern d'orchestration",
139
179
  parameters: memoryStoreSchema,
140
180
  execute: memoryStoreTool,
141
181
  });
182
+ // ─── 11. memory_runs ───────────────────────────────────────────────────────
142
183
  server.addTool({
143
184
  name: 'memory_runs',
144
185
  description: "Liste l'historique des runs d'agents enregistrés par OverMind (avec stats optionnelles)",
145
186
  parameters: memoryRunsSchema,
146
187
  execute: memoryRunsTool,
147
188
  });
189
+ // ─── 12. get_agent_configs ─────────────────────────────────────────────────
148
190
  server.addTool({
149
191
  name: 'get_agent_configs',
150
192
  description: "Affiche les 4 fichiers de configuration d'un agent (prompt.md, .mcp.json, settings.json, skill.md)",
151
193
  parameters: getAgentConfigsSchema,
152
194
  execute: getAgentConfigs,
153
195
  });
196
+ // ─── 13. config_example ─────────────────────────────────────────────────────
154
197
  server.addTool({
155
198
  name: 'config_example',
156
199
  description: 'Fournit des exemples de configuration settings.json pour différents LLM (GLM, MiniMax, OpenRouter).',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeRunner.d.ts","sourceRoot":"","sources":["../../src/services/ClaudeRunner.ts"],"names":[],"mappings":"AAUA,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;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,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;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA+kBlE"}
1
+ {"version":3,"file":"ClaudeRunner.d.ts","sourceRoot":"","sources":["../../src/services/ClaudeRunner.ts"],"names":[],"mappings":"AAuDA,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;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,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;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAqjBlE"}
@@ -1,11 +1,57 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { spawn } from 'child_process';
3
+ import { spawn, exec } from 'child_process';
4
4
  import { CONFIG, resolveConfigPath } from '../lib/config.js';
5
5
  import { getLastSessionId, saveSessionId } from '../lib/sessions.js';
6
6
  import { interpolateEnvVars } from '../lib/envUtils.js';
7
7
  import { resolveModel } from '../lib/modelMapping.js';
8
8
  import { withSpan } from '../lib/telemetry.js';
9
+ // Sur Windows, `child.kill()` ne tue que cmd.exe (le wrapper) — claude.exe
10
+ // devient orphelin et garde la session bound au token initial côté provider.
11
+ // On utilise `taskkill /F /T /PID` pour propager le kill au sous-arbre,
12
+ // puis on attend l'event 'exit' avant de respawn.
13
+ const killProcessTree = (child) => {
14
+ return new Promise((resolve) => {
15
+ if (!child || child.exitCode !== null || child.killed) {
16
+ resolve();
17
+ return;
18
+ }
19
+ let settled = false;
20
+ const finish = () => {
21
+ if (settled)
22
+ return;
23
+ settled = true;
24
+ resolve();
25
+ };
26
+ child.once('exit', finish);
27
+ if (process.platform === 'win32' && child.pid) {
28
+ exec(`taskkill /F /T /PID ${child.pid}`, () => {
29
+ // taskkill peut échouer si le process est déjà mort — on s'appuie sur 'exit'
30
+ });
31
+ }
32
+ else {
33
+ try {
34
+ child.kill('SIGTERM');
35
+ }
36
+ catch {
37
+ // Ignored
38
+ }
39
+ setTimeout(() => {
40
+ if (child.exitCode === null && !child.killed) {
41
+ try {
42
+ child.kill('SIGKILL');
43
+ }
44
+ catch {
45
+ // Ignored
46
+ }
47
+ }
48
+ }, 2000);
49
+ }
50
+ // Filet de sécurité : si 'exit' ne se déclenche pas (process zombie),
51
+ // on débloque le respawn après 5s plutôt que de bloquer indéfiniment.
52
+ setTimeout(finish, 5000);
53
+ });
54
+ };
9
55
  export class ClaudeRunner {
10
56
  config;
11
57
  timeoutMs;
@@ -211,7 +257,7 @@ export class ClaudeRunner {
211
257
  }
212
258
  options.signal?.addEventListener('abort', () => {
213
259
  if (currentChildRef)
214
- currentChildRef.kill('SIGTERM');
260
+ void killProcessTree(currentChildRef);
215
261
  });
216
262
  const runImpl = async (span) => {
217
263
  span.setAttribute('agentName', agentName || '');
@@ -233,19 +279,22 @@ export class ClaudeRunner {
233
279
  resolve(value);
234
280
  }
235
281
  };
236
- const triggerRetry = (targetRetryCount) => {
282
+ const triggerRetry = async (targetRetryCount) => {
237
283
  if (earlyExitTriggered)
238
284
  return;
239
285
  earlyExitTriggered = true;
240
- if (currentChildRef && !currentChildRef.killed) {
241
- currentChildRef.kill();
242
- }
243
286
  if (hardTimeoutTimer)
244
287
  clearTimeout(hardTimeoutTimer);
245
288
  if (killTimer)
246
289
  clearTimeout(killTimer);
247
290
  if (timeout)
248
291
  clearTimeout(timeout);
292
+ // Attendre la mort effective de l'arbre (cmd.exe + claude.exe sur Win)
293
+ // avant de respawn, sinon le nouveau process tape sur la même session
294
+ // encore "vivante" côté provider → 429 fantôme.
295
+ if (currentChildRef) {
296
+ await killProcessTree(currentChildRef);
297
+ }
249
298
  retryCount = targetRetryCount;
250
299
  const tokenInfo = getTokenForIndex(retryCount);
251
300
  if (!options.silent) {
@@ -316,28 +365,16 @@ export class ClaudeRunner {
316
365
  currentStdout = '';
317
366
  let command = 'claude';
318
367
  let spawnArgs = [];
319
- // Sur retry avec un token fallback, on doit démarrer une nouvelle session.
320
- // Reprendre (--resume) une session créée par un autre compte/token fait que
321
- // le provider (ex: Z.AI) lie la session au compte original → le quota du
322
- // compte original s'applique même avec un nouveau token → 429 parasite.
323
- const isFallbackRetry = tokenInfo !== null && tokenInfo.tokenEnvKey.startsWith('AUTH_FALLBACK_');
324
- let effectiveArgs = argsSpawn;
325
- if (isFallbackRetry) {
326
- effectiveArgs = [];
327
- for (let i = 0; i < argsSpawn.length; i++) {
328
- if (argsSpawn[i] === '--resume') {
329
- i++; // skip the value too
330
- continue;
331
- }
332
- effectiveArgs.push(argsSpawn[i]);
333
- }
334
- }
368
+ // Sur retry fallback, on garde --resume : le nouveau noeud reprend la
369
+ // même session avec un token différent. Le précédent process est tué via
370
+ // killProcessTree (taskkill /F /T) avant le respawn, donc la session
371
+ // n'est plus bound côté provider à l'ancien token vivant.
335
372
  if (process.platform === 'win32') {
336
373
  command = 'cmd.exe';
337
- spawnArgs = ['/c', 'claude', ...effectiveArgs, '-p'];
374
+ spawnArgs = ['/c', 'claude', ...argsSpawn, '-p'];
338
375
  }
339
376
  else {
340
- spawnArgs = [...effectiveArgs, '-p'];
377
+ spawnArgs = [...argsSpawn, '-p'];
341
378
  }
342
379
  if (!options.silent) {
343
380
  const tokenLabel = tokenInfo ? ` (token: ${tokenInfo.tokenEnvKey})` : '';
@@ -393,11 +430,7 @@ export class ClaudeRunner {
393
430
  const hardTimeoutDelay = CONFIG.HARD_TIMEOUT_MS || 60000;
394
431
  hardTimeoutTimer = setTimeout(() => {
395
432
  if (currentChildRef)
396
- currentChildRef.kill();
397
- killTimer = setTimeout(() => {
398
- if (currentChildRef && !currentChildRef.killed)
399
- currentChildRef.kill('SIGKILL');
400
- }, 5000);
433
+ void killProcessTree(currentChildRef);
401
434
  cleanupTmpFiles();
402
435
  safeResolve({
403
436
  result: '',
@@ -436,25 +469,13 @@ export class ClaudeRunner {
436
469
  }
437
470
  }
438
471
  }
439
- // ─── Fallback retry — DÉSACTIVÉ (en standby) ───────────────────────
440
- // Le retry interne au runner ne peut pas changer effectivement de token :
441
- // Claude CLI réutilise l'auth de la session (--resume / session-env) ou
442
- // d'autres credentials hérités, donc le fallback se retrouve à soumettre
443
- // la même clé que l'attempt précédent. Conséquence observée : 429 répété
444
- // avec exactement le même message (Anthropic Console quota), même quand
445
- // la clé fallback fonctionne en direct (curl OK, primary OK).
446
- //
447
- // TODO(bridge/client) : réimplémenter le fallback en amont du runner —
448
- // côté bridge HTTP (overmind-bridge.js / nexus-api-server) ou côté
449
- // client Discord. Au lieu de relancer un subprocess `claude` qui hérite
450
- // de l'état session, le bridge doit :
451
- // 1. détecter la 429/401 dans la réponse JSON du runner
452
- // 2. relancer un nouveau call run_agent avec un agent/settings dont
453
- // le ANTHROPIC_AUTH_TOKEN primary pointe sur la clé suivante
454
- // (ou cloner l'agent à la volée avec settings overridés)
455
- // 3. ne PAS passer de sessionId pour cette nouvelle tentative
472
+ // ─── Fallback retry ─────────────────────────────────────────────────
473
+ // Sur 401/429/5xx, on tue l'arbre du process courant via killProcessTree
474
+ // (taskkill /F /T sur Windows pour ne pas laisser claude.exe orphelin),
475
+ // puis on respawn un nouveau noeud avec --resume + le token fallback
476
+ // suivant (AUTH_FALLBACK_1 2 3).
456
477
  // ───────────────────────────────────────────────────────────────────
457
- const FALLBACK_RETRY_ENABLED = false;
478
+ const FALLBACK_RETRY_ENABLED = true;
458
479
  const isRetryable = isRetryableError(currentStderr, jsonEnvelope);
459
480
  const hasRetryableStatus = jsonEnvelope !== null &&
460
481
  (jsonEnvelope.api_error_status === 401 ||
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeRunner.js","sourceRoot":"","sources":["../../src/services/ClaudeRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClaudeRunner.js","sourceRoot":"","sources":["../../src/services/ClaudeRunner.ts"],"names":[],"mappings":"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"}