overmind-mcp 2.6.1 → 2.7.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 (48) hide show
  1. package/dist/bin/cli.js +0 -0
  2. package/dist/lib/config.js +1 -1
  3. package/dist/lib/config.js.map +1 -1
  4. package/dist/lib/orchestration/swarm.d.ts.map +1 -1
  5. package/dist/lib/orchestration/swarm.js +0 -1
  6. package/dist/lib/orchestration/swarm.js.map +1 -1
  7. package/dist/lib/processRegistry.d.ts +0 -10
  8. package/dist/lib/processRegistry.d.ts.map +1 -1
  9. package/dist/lib/processRegistry.js +29 -85
  10. package/dist/lib/processRegistry.js.map +1 -1
  11. package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
  12. package/dist/memory/PostgresMemoryProvider.js +12 -0
  13. package/dist/memory/PostgresMemoryProvider.js.map +1 -1
  14. package/dist/services/AgentManager.d.ts.map +1 -1
  15. package/dist/services/AgentManager.js +10 -1
  16. package/dist/services/AgentManager.js.map +1 -1
  17. package/dist/services/ClaudeRunner.d.ts +0 -12
  18. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  19. package/dist/services/ClaudeRunner.js +1 -126
  20. package/dist/services/ClaudeRunner.js.map +1 -1
  21. package/dist/services/NousHermesRunner.d.ts +4 -0
  22. package/dist/services/NousHermesRunner.d.ts.map +1 -1
  23. package/dist/services/NousHermesRunner.js +131 -34
  24. package/dist/services/NousHermesRunner.js.map +1 -1
  25. package/dist/tools/agent_control.d.ts.map +1 -1
  26. package/dist/tools/agent_control.js +50 -79
  27. package/dist/tools/agent_control.js.map +1 -1
  28. package/dist/tools/memory_store.d.ts +1 -1
  29. package/dist/tools/run_agent.d.ts +0 -1
  30. package/dist/tools/run_agent.d.ts.map +1 -1
  31. package/dist/tools/run_agent.js +0 -11
  32. package/dist/tools/run_agent.js.map +1 -1
  33. package/dist/tools/run_agent_cli.js +14 -22
  34. package/dist/tools/run_agent_cli.js.map +1 -1
  35. package/dist/tools/run_agents_parallel.d.ts +0 -1
  36. package/dist/tools/run_agents_parallel.d.ts.map +1 -1
  37. package/dist/tools/run_claude.d.ts +0 -1
  38. package/dist/tools/run_claude.d.ts.map +1 -1
  39. package/dist/tools/run_claude.js +1 -9
  40. package/dist/tools/run_claude.js.map +1 -1
  41. package/dist/tools/run_hermes.d.ts +1 -0
  42. package/dist/tools/run_hermes.d.ts.map +1 -1
  43. package/dist/tools/run_hermes.js +4 -3
  44. package/dist/tools/run_hermes.js.map +1 -1
  45. package/package.json +114 -112
  46. package/scripts/postgres-manager.mjs +0 -0
  47. package/scripts/setup.mjs +0 -0
  48. package/scripts/uninstall.mjs +0 -0
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
- import { spawn, exec, execSync } from 'child_process';
4
+ import { spawn, exec } from 'child_process';
5
5
  import { CONFIG, resolveConfigPath, getWorkspaceDir } from '../lib/config.js';
6
6
  import { getLastSessionId, saveSessionId } from '../lib/sessions.js';
7
7
  import { interpolateEnvVars } from '../lib/envUtils.js';
@@ -15,54 +15,6 @@ const __dirname = path.dirname(__filename);
15
15
  // devient orphelin et garde la session bound au token initial côté provider.
16
16
  // On utilise `taskkill /F /T /PID` pour propager le kill au sous-arbre,
17
17
  // puis on attend l'event 'exit' avant de respawn.
18
- /**
19
- * On Windows, `claude` on PATH is a `.cmd` shim. cmd.exe-based shims don't
20
- * reliably forward inherited file FDs to their child `.exe` when the whole
21
- * thing is spawned `detached`, which leaves the log file empty. To dodge that,
22
- * the detached path needs to invoke `claude.exe` directly.
23
- *
24
- * Returns null if we cannot locate the .exe — caller falls back to cmd.exe.
25
- */
26
- let cachedClaudeExe;
27
- function resolveClaudeExePath() {
28
- if (cachedClaudeExe !== undefined)
29
- return cachedClaudeExe;
30
- try {
31
- const out = execSync('where claude.exe', {
32
- encoding: 'utf-8',
33
- stdio: ['ignore', 'pipe', 'ignore'],
34
- });
35
- const found = out.split(/\r?\n/).map((l) => l.trim()).find((l) => l.toLowerCase().endsWith('.exe'));
36
- if (found && fs.existsSync(found)) {
37
- cachedClaudeExe = found;
38
- return found;
39
- }
40
- }
41
- catch {
42
- // `where` may not be on PATH (extremely unusual) — fall through.
43
- }
44
- try {
45
- // Fallback: derive from `claude.cmd` location → npm prefix → node_modules path.
46
- const cmdOut = execSync('where claude', {
47
- encoding: 'utf-8',
48
- stdio: ['ignore', 'pipe', 'ignore'],
49
- });
50
- const cmdPath = cmdOut.split(/\r?\n/).map((l) => l.trim()).find((l) => l.toLowerCase().endsWith('.cmd'));
51
- if (cmdPath) {
52
- const npmPrefix = path.dirname(cmdPath);
53
- const exePath = path.join(npmPrefix, 'node_modules', '@anthropic-ai', 'claude-code', 'bin', 'claude.exe');
54
- if (fs.existsSync(exePath)) {
55
- cachedClaudeExe = exePath;
56
- return exePath;
57
- }
58
- }
59
- }
60
- catch {
61
- // ignored
62
- }
63
- cachedClaudeExe = null;
64
- return null;
65
- }
66
18
  const killProcessTree = (child) => {
67
19
  return new Promise((resolve) => {
68
20
  if (!child || child.exitCode !== null || child.killed) {
@@ -336,83 +288,6 @@ export class ClaudeRunner {
336
288
  if (currentChildRef)
337
289
  void killProcessTree(currentChildRef);
338
290
  });
339
- // ─── DETACHED FAST-PATH ─────────────────────────────────────────────────────
340
- // Fire-and-forget: parent returns immediately after spawn. Monitoring is done
341
- // via the process registry + agent_control. No token retry, no in-process
342
- // output capture — stdio is redirected to a log file the child writes to
343
- // directly, so output keeps flowing even if our MCP server exits.
344
- if (options.detached) {
345
- const tokenInfo = getTokenForIndex(0);
346
- const spawnEnv = {
347
- ...process.env,
348
- ...agentCustomEnv,
349
- };
350
- if (tokenInfo) {
351
- for (const tk of TOKEN_KEYS)
352
- delete spawnEnv[tk];
353
- let resolvedToken = tokenInfo.tokenValue;
354
- if (resolvedToken.startsWith('$')) {
355
- resolvedToken = process.env[resolvedToken.slice(1)] || resolvedToken;
356
- }
357
- spawnEnv['ANTHROPIC_AUTH_TOKEN'] = resolvedToken;
358
- }
359
- const logDir = path.resolve(options.configPath || getWorkspaceDir(), '.claude/agent_logs');
360
- fs.mkdirSync(logDir, { recursive: true });
361
- const stamp = `${Date.now()}`;
362
- const logFile = path.join(logDir, `${agentName || 'agent'}_${stamp}.log`);
363
- const promptFile = path.join(logDir, `${agentName || 'agent'}_${stamp}.prompt`);
364
- fs.writeFileSync(promptFile, prompt, 'utf-8');
365
- // On Windows the `claude` shim is a .cmd file. Inherited file FDs survive
366
- // a direct .exe spawn fine, but cmd.exe (in detached mode) silently drops
367
- // them before they reach claude.cmd → log file ends up empty. We resolve
368
- // `claude.exe` directly to skip the shim entirely. On Unix we just call
369
- // `claude` (a real executable on PATH).
370
- const promptFd = fs.openSync(promptFile, 'r');
371
- const logFd = fs.openSync(logFile, 'a');
372
- const claudeExe = process.platform === 'win32' ? resolveClaudeExePath() : null;
373
- const detachedCommand = claudeExe ?? 'claude';
374
- const detachedArgs = [...argsSpawn, '-p'];
375
- const child = spawn(detachedCommand, detachedArgs, {
376
- cwd: options.cwd || process.cwd(),
377
- windowsHide: true,
378
- env: spawnEnv,
379
- shell: false,
380
- detached: true,
381
- stdio: [promptFd, logFd, logFd],
382
- });
383
- try {
384
- fs.closeSync(promptFd);
385
- }
386
- catch { /* ignored */ }
387
- try {
388
- fs.closeSync(logFd);
389
- }
390
- catch { /* ignored */ }
391
- if (child.pid) {
392
- await registerProcess(child.pid, {
393
- agentName: agentName || '',
394
- runner: 'claude',
395
- configPath: options.configPath,
396
- logFile,
397
- detached: true,
398
- });
399
- }
400
- // Best-effort cleanup of the prompt file once the child is done reading it.
401
- // 30s is generous: claude reads stdin within the first second normally.
402
- setTimeout(() => {
403
- try {
404
- fs.unlinkSync(promptFile);
405
- }
406
- catch { /* ignored */ }
407
- }, 30000).unref();
408
- child.unref();
409
- return {
410
- result: `DETACHED: pid=${child.pid ?? 'unknown'}, agentName=${agentName || ''}\n` +
411
- `logFile=${logFile}\n` +
412
- `Use agent_control({action:"status"|"stream"|"wait"|"kill", agentName, runner:"claude"}) to monitor.`,
413
- sessionId: undefined,
414
- };
415
- }
416
291
  const runImpl = async (span) => {
417
292
  span.setAttribute('agentName', agentName || '');
418
293
  span.setAttribute('model', modelUsed || '');
@@ -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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"}
@@ -7,6 +7,10 @@ export interface RunAgentOptions {
7
7
  configPath?: string;
8
8
  silent?: boolean;
9
9
  model?: string;
10
+ provider?: string;
11
+ hermesArgs?: string[];
12
+ mcpConfigPath?: string;
13
+ signal?: AbortSignal;
10
14
  }
11
15
  export interface RunAgentResult {
12
16
  result: string;
@@ -1 +1 @@
1
- {"version":3,"file":"NousHermesRunner.d.ts","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"AA+CA,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,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;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;CACnB;AAoFD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAoB;;IAMnC,gBAAgB,IAAI,IAAI;IAclB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3D,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAkf1E"}
1
+ {"version":3,"file":"NousHermesRunner.d.ts","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"AA+CA,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,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,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;CACnB;AAsFD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAoB;;IAMnC,gBAAgB,IAAI,IAAI;IAclB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3D,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA2lB1E"}
@@ -70,6 +70,8 @@ async function findHermesBinary() {
70
70
  // 3. Platform-specific paths
71
71
  const platformPaths = isWin
72
72
  ? [
73
+ // Hermes venv (Nous Research install) — PRIORITÉ haute (v0.13.0, supporte -z)
74
+ path.join(process.env.LOCALAPPDATA || '', 'hermes', 'hermes-agent', 'venv', 'Scripts', 'hermes.exe'),
73
75
  // Officiel installer Windows (install.ps1) — chemin natif
74
76
  path.join(process.env.LOCALAPPDATA || '', 'hermes', 'bin', 'hermes.exe'),
75
77
  path.join(process.env.LOCALAPPDATA || '', 'hermes', 'hermes.exe'),
@@ -207,9 +209,16 @@ export class NousHermesRunner {
207
209
  'MINIMAXI_API_KEY',
208
210
  'MINIMAX_API_KEY',
209
211
  'ANTHROPIC_AUTH_TOKEN',
212
+ 'ANTHROPIC_AUTH_TOKEN_1',
213
+ 'ANTHROPIC_AUTH_TOKEN_2',
214
+ 'ANTHROPIC_AUTH_TOKEN_3',
215
+ 'ANTHROPIC_AUTH_TOKEN_4',
216
+ 'MINIMAX_CN_API_KEY',
210
217
  'OPENROUTER_API_KEY',
211
218
  'OPENAI_API_KEY',
212
219
  'Z_AI_API_KEY',
220
+ 'GLM_API_KEY',
221
+ 'Z_AI_API_KEY_2',
213
222
  'MISTRAL_API_KEY',
214
223
  'NVIDIA_API_KEY',
215
224
  ];
@@ -229,15 +238,6 @@ export class NousHermesRunner {
229
238
  console.error(`[NousHermesRunner] Wrote ${dotEnvEntries.length} keys to ${dotEnvPath}`);
230
239
  }
231
240
  };
232
- // Write to our isolation dir
233
- writeHermesDotEnv(path.join(overmindHermesSubPath, '.env'));
234
- // Also write to default ~/.hermes/.env (Hermes init peut lire ~/.hermes avant HERMES_HOME)
235
- const defaultHermesHome = path.join(process.env.HOME || process.env.USERPROFILE || '', '.hermes');
236
- if (defaultHermesHome !== overmindHermesSubPath) {
237
- if (!fs.existsSync(defaultHermesHome))
238
- fs.mkdirSync(defaultHermesHome, { recursive: true });
239
- writeHermesDotEnv(path.join(defaultHermesHome, '.env'));
240
- }
241
241
  let systemPrompt = '';
242
242
  if (agentName) {
243
243
  try {
@@ -268,13 +268,24 @@ export class NousHermesRunner {
268
268
  }
269
269
  const rawSettings = JSON.parse(fs.readFileSync(agentSettingsPath, 'utf8'));
270
270
  const settings = interpolateEnvVars(rawSettings);
271
+ // Create a temporary settings file with interpolated values (same approach as ClaudeRunner)
272
+ // This ensures $VAR placeholders are resolved before Hermes reads them
273
+ const tmpSettingsPath = path.join(path.dirname(agentSettingsPath), `settings_${agentName}_tmp.json`);
274
+ fs.writeFileSync(tmpSettingsPath, JSON.stringify(settings, null, 2), 'utf8');
275
+ this.tempFiles.push(tmpSettingsPath);
276
+ const interpolatedSettingsPath = tmpSettingsPath;
271
277
  // Only use settings.model if it's a string (not a config object like {provider:"custom",...})
272
278
  if (!options.model && typeof settings.model === 'string') {
273
279
  options.model = settings.model;
274
280
  }
275
- if (!options.model && settings.env?.ANTHROPIC_MODEL) {
281
+ // Extract ANTHROPIC_MODEL from env (used by some agents like sniperbot_analyst)
282
+ if (!options.model && settings.env?.ANTHROPIC_MODEL && !settings.env.ANTHROPIC_MODEL.startsWith('$')) {
276
283
  options.model = settings.env.ANTHROPIC_MODEL;
277
284
  }
285
+ // Extract ANTHROPIC_PROVIDER from env if present
286
+ if (!options.provider && settings.env?.ANTHROPIC_PROVIDER && !settings.env.ANTHROPIC_PROVIDER.startsWith('$')) {
287
+ options.provider = settings.env.ANTHROPIC_PROVIDER;
288
+ }
278
289
  if (settings.env) {
279
290
  // Fusion intelligente : préserver les clés critiques (API keys)
280
291
  const criticalKeys = [
@@ -340,6 +351,16 @@ export class NousHermesRunner {
340
351
  }
341
352
  }
342
353
  }
354
+ // Map ANTHROPIC_AUTH_TOKEN to provider-specific env vars
355
+ // Hermes z-ai provider needs GLM_API_KEY, not ANTHROPIC_AUTH_TOKEN
356
+ const providerForEnv = options.provider || settings.env?.ANTHROPIC_PROVIDER || '';
357
+ if (providerForEnv.toLowerCase().includes('z-ai') || providerForEnv.toLowerCase().includes('zai')) {
358
+ if (agentCustomEnv.ANTHROPIC_AUTH_TOKEN && !agentCustomEnv['GLM_API_KEY']) {
359
+ agentCustomEnv['GLM_API_KEY'] = agentCustomEnv.ANTHROPIC_AUTH_TOKEN;
360
+ if (!silent)
361
+ console.error(`[NousHermesRunner] Mapped ANTHROPIC_AUTH_TOKEN → GLM_API_KEY for z-ai provider`);
362
+ }
363
+ }
343
364
  }
344
365
  // --- Load System Prompt (agents/agentName.md) ---
345
366
  const agentPromptPath = resolveConfigPath(path.join(path.dirname(settingsDir), 'agents', `${agentName}.md`), options.configPath);
@@ -408,10 +429,12 @@ export class NousHermesRunner {
408
429
  console.warn(`[NousHermesRunner] ⚠️ Prompt tronqué de ${cliPrompt.length} à ${MAX_PROMPT_LEN} chars`);
409
430
  cliPrompt = cliPrompt.substring(0, MAX_PROMPT_LEN);
410
431
  }
411
- // En version 0.11.0, on simplifie pour éviter les erreurs d'arguments
412
- const cleanArgs = ['chat', '-q', cliPrompt, '--source', 'tool', '-Q'];
413
- if (!silent)
414
- cleanArgs.push('-v');
432
+ // Hermes CLI modes:
433
+ // - `hermes -z <prompt>` : top-level one-shot (no banner, clean stdout, auto-exit)
434
+ // - `hermes chat -q <prompt>` : query mode with banner (interactive)
435
+ // - `hermes chat -z <prompt>` : INVALID (subcommand doesn't accept -z)
436
+ // We use top-level `-z` for runner mode (clean output, auto-exit).
437
+ const cleanArgs = ['-z', cliPrompt];
415
438
  // --- Model & Provider selection ---
416
439
  const DEFAULT_MODEL = 'tencent/hy3-preview:free'; // Modèle OpenRouter gratuit
417
440
  const originalModel = options.model || DEFAULT_MODEL;
@@ -428,7 +451,12 @@ export class NousHermesRunner {
428
451
  lowModel.includes('o3');
429
452
  const hasOpenAIKey = !!agentCustomEnv.OPENAI_API_KEY;
430
453
  const isMiniMaxModel = lowModel.includes('minimax') || lowModel.includes('mini-max');
431
- const hasMiniMaxKey = !!(agentCustomEnv.MINIMAXI_API_KEY || agentCustomEnv.ANTHROPIC_AUTH_TOKEN);
454
+ const hasMiniMaxKey = !!(agentCustomEnv.MINIMAXI_API_KEY ||
455
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN ||
456
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN_1 ||
457
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN_2 ||
458
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN_3 ||
459
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN_4);
432
460
  const isGLMModel = lowModel.includes('glm');
433
461
  const hasGLMKey = !!agentCustomEnv.Z_AI_API_KEY;
434
462
  const isMistralModel = model.includes('mistral') || model.includes('codestral') || model.includes('devstral');
@@ -450,23 +478,38 @@ export class NousHermesRunner {
450
478
  logger.info({ model, provider: 'minimax-cn' }, 'Using MiniMax via minimax-cn provider');
451
479
  cleanArgs.push('--provider', 'minimax-cn');
452
480
  // Write base_url to config.yaml later (see below, after config generation)
453
- const resolvedMiniMaxKey = agentCustomEnv.MINIMAXI_API_KEY ||
454
- (agentCustomEnv.ANTHROPIC_AUTH_TOKEN && !agentCustomEnv.ANTHROPIC_AUTH_TOKEN.startsWith('$')
455
- ? agentCustomEnv.ANTHROPIC_AUTH_TOKEN
456
- : undefined) ||
457
- process.env.ANTHROPIC_AUTH_TOKEN_2 ||
481
+ const resolvedMiniMaxKey = agentCustomEnv.ANTHROPIC_AUTH_TOKEN_4 ||
482
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN_3 ||
483
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN_2 ||
484
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN ||
485
+ agentCustomEnv.MINIMAXI_API_KEY ||
458
486
  process.env.MINIMAXI_API_KEY;
459
487
  if (resolvedMiniMaxKey) {
460
488
  agentCustomEnv.ANTHROPIC_TOKEN = resolvedMiniMaxKey;
461
489
  agentCustomEnv.ANTHROPIC_AUTH_TOKEN = resolvedMiniMaxKey;
490
+ agentCustomEnv.ANTHROPIC_AUTH_TOKEN_4 = resolvedMiniMaxKey;
462
491
  agentCustomEnv.MINIMAXI_API_KEY = resolvedMiniMaxKey;
463
492
  agentCustomEnv.MINIMAX_API_KEY = resolvedMiniMaxKey;
464
493
  // minimax-cn provider reads MINIMAX_CN_API_KEY specifically
465
494
  agentCustomEnv.MINIMAX_CN_API_KEY = resolvedMiniMaxKey;
466
- // Store base_url override for config generation
467
- agentCustomEnv.MINIMAX_BASE_URL_OVERRIDE = 'https://api.minimaxi.com/v1';
495
+ // Force rewrite the auth.json so Hermes picks up the new key
496
+ try {
497
+ const authPath = path.join(process.env.HOME || process.env.USERPROFILE || '', '.hermes', 'auth.json');
498
+ if (fs.existsSync(authPath)) {
499
+ const auth = JSON.parse(fs.readFileSync(authPath, 'utf8'));
500
+ if (auth.credential_pool?.['minimax-cn']?.[0]) {
501
+ auth.credential_pool['minimax-cn'][0].access_token = resolvedMiniMaxKey;
502
+ auth.credential_pool['minimax-cn'][0].last_status = null;
503
+ auth.credential_pool['minimax-cn'][0].last_error_code = null;
504
+ fs.writeFileSync(authPath, JSON.stringify(auth, null, 2), 'utf8');
505
+ if (!silent)
506
+ console.error(`[NousHermesRunner] Updated minimax-cn credential in auth.json`);
507
+ }
508
+ }
509
+ }
510
+ catch (e) { /* non-critical */ }
468
511
  if (!silent)
469
- console.error(`[NousHermesRunner] Set ANTHROPIC_TOKEN + MINIMAX_BASE_URL_OVERRIDE for MiniMax`);
512
+ console.error(`[NousHermesRunner] Set ANTHROPIC_AUTH_TOKEN_4 for MiniMax via minimax-cn`);
470
513
  }
471
514
  delete agentCustomEnv.OPENROUTER_API_KEY;
472
515
  delete agentCustomEnv.OVERMIND_EMBEDDING_KEY;
@@ -477,14 +520,20 @@ export class NousHermesRunner {
477
520
  delete agentCustomEnv.Z_AI_API_KEY;
478
521
  }
479
522
  else if (isGLMModel && hasGLMKey) {
480
- logger.info({ model, provider: 'zhipuai' }, 'Using ZhipuAI/GLM provider');
481
- cleanArgs.push('--provider', 'zhipuai');
523
+ logger.info({ model, provider: 'z-ai' }, 'Using ZhipuAI/GLM provider');
524
+ cleanArgs.push('--provider', 'z-ai');
525
+ // Hermes z-ai provider needs GLM_API_KEY specifically
526
+ const resolvedGLMKey = agentCustomEnv.Z_AI_API_KEY;
527
+ if (resolvedGLMKey) {
528
+ agentCustomEnv['GLM_API_KEY'] = resolvedGLMKey;
529
+ }
482
530
  // Nettoyage des clés conflictuelles
483
531
  delete agentCustomEnv.OPENROUTER_API_KEY;
484
532
  delete agentCustomEnv.NVIDIA_API_KEY;
485
533
  delete agentCustomEnv.NVAPI_KEY;
486
534
  delete agentCustomEnv.OPENAI_API_KEY;
487
535
  delete agentCustomEnv.MINIMAXI_API_KEY;
536
+ delete agentCustomEnv.ANTHROPIC_AUTH_TOKEN_4;
488
537
  }
489
538
  else if (isMistralModel && hasMistralKey) {
490
539
  logger.info({ model, provider: 'mistral' }, 'Using Mistral provider');
@@ -504,15 +553,32 @@ export class NousHermesRunner {
504
553
  logger.info({ model, provider: 'openrouter' }, 'Using OpenRouter provider');
505
554
  cleanArgs.push('--provider', 'openrouter');
506
555
  }
556
+ // Re-write .env with all provider-specific keys now resolved (e.g. GLM_API_KEY for z-ai)
557
+ const defaultHermesHome = path.join(process.env.HOME || process.env.USERPROFILE || '', '.hermes');
558
+ writeHermesDotEnv(path.join(overmindHermesSubPath, '.env'));
559
+ writeHermesDotEnv(path.join(defaultHermesHome, '.env'));
560
+ // --- Hermes-native flags: --resume, --mcp-config ---
561
+ // NOTE: --name is NOT supported by Hermes CLI v0.11.0+ (unrecognized argument error).
562
+ // Session naming works via --resume or --continue, not --name.
563
+ // --resume: continue existing session
564
+ if (sessionId) {
565
+ cleanArgs.push('--resume', sessionId);
566
+ }
567
+ // --mcp-config: point Hermes to our generated config.yaml
568
+ // Generated at lines 419-448 in overmindHermesSubPath
569
+ const configYamlPath = path.join(overmindHermesSubPath, 'config.yaml');
570
+ if (fs.existsSync(configYamlPath)) {
571
+ cleanArgs.push('--mcp-config', configYamlPath);
572
+ this.tempFiles.push(path.join(overmindHermesSubPath, 'mcp.json'), configYamlPath);
573
+ }
574
+ // --hermes-dir: isolate this agent's hermes state (auth.json, .env, sessions)
575
+ // Pass via HERMES_DIR env var (not as CLI flag — --hermes-dir is only for subcommands like "chat")
576
+ const hermesDirEnv = { HERMES_DIR: overmindHermesSubPath };
507
577
  // --- Find Hermes Binary (cross-platform) ---
508
578
  const spawnCommand = await findHermesBinary();
509
579
  if (!silent) {
510
580
  logger.info({ command: spawnCommand, args: cleanArgs }, 'Starting Hermes Agent');
511
581
  }
512
- // Track temp files for MCP config
513
- const mcpJsonPath = path.join(overmindHermesSubPath, 'mcp.json');
514
- const configYamlPath = path.join(overmindHermesSubPath, 'config.yaml');
515
- this.tempFiles.push(mcpJsonPath, configYamlPath);
516
582
  return new Promise((resolve) => {
517
583
  let resolved = false;
518
584
  const safeResolve = (value) => {
@@ -527,7 +593,7 @@ export class NousHermesRunner {
527
593
  cwd: options.cwd || process.cwd(),
528
594
  shell: useShell,
529
595
  windowsHide: true,
530
- env: agentCustomEnv,
596
+ env: { ...agentCustomEnv, HERMES_DIR: overmindHermesSubPath },
531
597
  });
532
598
  if (child.pid) {
533
599
  void registerProcess(child.pid, { agentName: agentName || '', runner: 'hermes', configPath: options.configPath });
@@ -568,22 +634,54 @@ export class NousHermesRunner {
568
634
  nickname: originalModel !== model ? originalModel : undefined,
569
635
  });
570
636
  }, this.timeoutMs);
637
+ // AbortSignal support (like ClaudeRunner)
638
+ if (options.signal) {
639
+ const onAbort = () => {
640
+ clearTimeout(timeout);
641
+ killProcessTree(child);
642
+ if (child.pid)
643
+ void updateProcessStatus(child.pid, 'failed', null, options.configPath);
644
+ safeResolve({
645
+ result: stdout.trim(),
646
+ error: 'ABORTED',
647
+ rawOutput: stdout + '\n\n' + stderr,
648
+ model,
649
+ nickname: originalModel !== model ? originalModel : undefined,
650
+ });
651
+ };
652
+ if (options.signal.aborted) {
653
+ onAbort();
654
+ }
655
+ else {
656
+ options.signal.addEventListener('abort', onAbort, { once: true });
657
+ }
658
+ }
571
659
  child.on('close', async (code) => {
572
660
  clearTimeout(timeout);
573
661
  if (child.pid)
574
662
  void updateProcessStatus(child.pid, code === 0 ? 'done' : 'failed', code, options.configPath);
663
+ // Parse session ID from Hermes output (e.g. "Session: 20260515_204158_7093cd")
664
+ // This works even when Hermes exits with error, as the banner is still printed
665
+ let parsedSessionId = sessionId;
666
+ const sessionMatch = stdout.match(/Session:\s+(\S+)/);
667
+ if (sessionMatch) {
668
+ parsedSessionId = sessionMatch[1];
669
+ }
670
+ // Hermes exits code 2 on API errors (e.g. max_tokens > 40000).
671
+ // When stdout has content, return it even on non-zero exit — it's useful output.
575
672
  if (code !== 0 && !stdout) {
576
673
  return safeResolve({
577
674
  result: '',
578
675
  error: `EXIT_CODE_${code}`,
579
676
  rawOutput: stderr || stdout,
677
+ sessionId: parsedSessionId,
580
678
  model,
581
679
  nickname: originalModel !== model ? originalModel : undefined,
582
680
  });
583
681
  }
584
682
  safeResolve({
585
683
  result: stdout.trim(),
586
- sessionId: sessionId,
684
+ sessionId: parsedSessionId,
587
685
  rawOutput: stdout,
588
686
  model,
589
687
  nickname: originalModel !== model ? originalModel : undefined,
@@ -595,9 +693,8 @@ export class NousHermesRunner {
595
693
  void updateProcessStatus(child.pid, 'failed', null, options.configPath);
596
694
  safeResolve({ result: '', error: `SPAWN_ERROR: ${err.message}`, rawOutput: '' });
597
695
  });
598
- if (child.stdin) {
599
- child.stdin.end();
600
- }
696
+ // Do NOT call child.stdin.end() — it sends EOF and Hermes closes.
697
+ // Keep stdin open so Hermes stays alive for resume.
601
698
  });
602
699
  }
603
700
  }