overmind-mcp 2.8.52 → 2.9.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 (85) hide show
  1. package/dist/bridge/ScenarioLoader.d.ts +20 -1
  2. package/dist/bridge/ScenarioLoader.d.ts.map +1 -1
  3. package/dist/bridge/ScenarioLoader.js +42 -0
  4. package/dist/bridge/ScenarioLoader.js.map +1 -1
  5. package/dist/index.d.ts +4 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/agent_lifecycle.d.ts +19 -0
  10. package/dist/lib/agent_lifecycle.d.ts.map +1 -1
  11. package/dist/lib/agent_lifecycle.js +92 -1
  12. package/dist/lib/agent_lifecycle.js.map +1 -1
  13. package/dist/lib/config.d.ts +21 -49
  14. package/dist/lib/config.d.ts.map +1 -1
  15. package/dist/lib/config.js +40 -94
  16. package/dist/lib/config.js.map +1 -1
  17. package/dist/lib/orchestration/dispatcher.d.ts +13 -0
  18. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
  19. package/dist/lib/orchestration/dispatcher.js +100 -0
  20. package/dist/lib/orchestration/dispatcher.js.map +1 -1
  21. package/dist/lib/processRegistry.js +1 -1
  22. package/dist/lib/processRegistry.js.map +1 -1
  23. package/dist/lib/sessions.js +1 -1
  24. package/dist/lib/sessions.js.map +1 -1
  25. package/dist/services/AgentManager.d.ts +4 -4
  26. package/dist/services/AgentManager.d.ts.map +1 -1
  27. package/dist/services/AgentManager.js +151 -201
  28. package/dist/services/AgentManager.js.map +1 -1
  29. package/dist/services/HermesProfileManager.d.ts +106 -0
  30. package/dist/services/HermesProfileManager.d.ts.map +1 -0
  31. package/dist/services/HermesProfileManager.js +401 -0
  32. package/dist/services/HermesProfileManager.js.map +1 -0
  33. package/dist/services/HermesRunner.d.ts +53 -0
  34. package/dist/services/HermesRunner.d.ts.map +1 -0
  35. package/dist/services/HermesRunner.js +313 -0
  36. package/dist/services/HermesRunner.js.map +1 -0
  37. package/dist/services/KanbanAdapter.d.ts +135 -0
  38. package/dist/services/KanbanAdapter.d.ts.map +1 -0
  39. package/dist/services/KanbanAdapter.js +320 -0
  40. package/dist/services/KanbanAdapter.js.map +1 -0
  41. package/dist/tools/manage_agents.js +4 -4
  42. package/dist/tools/manage_agents.js.map +1 -1
  43. package/dist/tools/memory_store.d.ts +1 -1
  44. package/dist/tools/run_hermes.d.ts +1 -0
  45. package/dist/tools/run_hermes.d.ts.map +1 -1
  46. package/dist/tools/run_hermes.js +12 -6
  47. package/dist/tools/run_hermes.js.map +1 -1
  48. package/docs/MIGRATION_V3.1.md +143 -0
  49. package/docs/PLAN_MIGRATION_V3.md +339 -0
  50. package/package.json +2 -2
  51. package/scripts/migrate-to-profiles.mjs +205 -0
  52. package/dist/lib/orchestration/swarm.d.ts +0 -76
  53. package/dist/lib/orchestration/swarm.d.ts.map +0 -1
  54. package/dist/lib/orchestration/swarm.js +0 -241
  55. package/dist/lib/orchestration/swarm.js.map +0 -1
  56. package/dist/prompts/agent_prompts.d.ts +0 -2
  57. package/dist/prompts/agent_prompts.d.ts.map +0 -1
  58. package/dist/prompts/agent_prompts.js +0 -21
  59. package/dist/prompts/agent_prompts.js.map +0 -1
  60. package/dist/services/NousHermesRunner.d.ts +0 -83
  61. package/dist/services/NousHermesRunner.d.ts.map +0 -1
  62. package/dist/services/NousHermesRunner.js +0 -1241
  63. package/dist/services/NousHermesRunner.js.map +0 -1
  64. package/dist/services/hermes/binaryFinder.d.ts +0 -8
  65. package/dist/services/hermes/binaryFinder.d.ts.map +0 -1
  66. package/dist/services/hermes/binaryFinder.js +0 -92
  67. package/dist/services/hermes/binaryFinder.js.map +0 -1
  68. package/dist/services/hermes/configYamlFilter.d.ts +0 -12
  69. package/dist/services/hermes/configYamlFilter.d.ts.map +0 -1
  70. package/dist/services/hermes/configYamlFilter.js +0 -70
  71. package/dist/services/hermes/configYamlFilter.js.map +0 -1
  72. package/dist/services/hermes/providerConfig.d.ts +0 -19
  73. package/dist/services/hermes/providerConfig.d.ts.map +0 -1
  74. package/dist/services/hermes/providerConfig.js +0 -53
  75. package/dist/services/hermes/providerConfig.js.map +0 -1
  76. package/dist/services/hermesTokenResolver.d.ts +0 -74
  77. package/dist/services/hermesTokenResolver.d.ts.map +0 -1
  78. package/dist/services/hermesTokenResolver.js +0 -140
  79. package/dist/services/hermesTokenResolver.js.map +0 -1
  80. package/dist/tools/initialization_check.d.ts +0 -2
  81. package/dist/tools/initialization_check.d.ts.map +0 -1
  82. package/dist/tools/initialization_check.js +0 -23
  83. package/dist/tools/initialization_check.js.map +0 -1
  84. /package/bin/{launch.js → launch.cjs} +0 -0
  85. /package/dist/bin/{launch.js → launch.cjs} +0 -0
@@ -0,0 +1,320 @@
1
+ /**
2
+ * KanbanAdapter — Thin wrapper around `hermes kanban` CLI.
3
+ *
4
+ * ╔════════════════════════════════════════════════════════════════════════╗
5
+ * ║ PURPOSE (v3.0 — Refactored) ║
6
+ * ║ ║
7
+ * ║ Replaces the old swarm.ts (368 lines) and the parallel orchestration ║
8
+ * ║ in dispatcher.ts with native Hermes Kanban tasks. ║
9
+ * ║ ║
10
+ * ║ Kanban = durable SQLite-backed task board shared across all Hermes ║
11
+ * ║ profiles. The dispatcher loop (60s default) atomically claims ready ║
12
+ * ║ tasks and spawns the assigned profile as its own OS process. ║
13
+ * ║ ║
14
+ * ║ YOLO CONFIG (no human-in-the-loop): ║
15
+ * ║ - autoReclaim on crash/timeout ║
16
+ * ║ - maxRetries: 5 (vs default 2) before block ║
17
+ * ║ - autoUnblock via admin API (no manual human intervention) ║
18
+ * ║ - dispatcherTick: 30s (vs default 60s — faster pickup) ║
19
+ * ╚════════════════════════════════════════════════════════════════════════╝
20
+ */
21
+ import { exec } from 'child_process';
22
+ import { promisify } from 'util';
23
+ import { rootLogger } from '../lib/logger.js';
24
+ const execAsync = promisify(exec);
25
+ const logger = rootLogger.child({ module: 'KanbanAdapter' });
26
+ // ─── YOLO Config ──────────────────────────────────────────────────────────────
27
+ export const YOLO_CONFIG = {
28
+ autoReclaim: true,
29
+ maxRetries: 5,
30
+ autoUnblock: true,
31
+ reclaimStaleMs: 900000, // 15min
32
+ dispatcherTickSeconds: 30,
33
+ goalModeMaxTurns: 20,
34
+ };
35
+ // ─── Helper: run hermes kanban CLI ────────────────────────────────────────────
36
+ async function runKanban(args, opts) {
37
+ const timeout = opts?.timeout ?? 30000;
38
+ const cmd = `hermes kanban ${args.join(' ')}`;
39
+ try {
40
+ const result = await execAsync(cmd, { timeout, maxBuffer: 5 * 1024 * 1024 });
41
+ return { stdout: result.stdout, stderr: result.stderr };
42
+ }
43
+ catch (e) {
44
+ const err = e;
45
+ logger.error({ cmd, error: err.message, stdout: err.stdout?.slice(0, 500), stderr: err.stderr?.slice(0, 500) }, '[KANBAN] CLI command failed.');
46
+ throw new Error(`Kanban CLI failed: ${err.message}`);
47
+ }
48
+ }
49
+ // ─── Main Class ───────────────────────────────────────────────────────────────
50
+ export class KanbanAdapter {
51
+ board;
52
+ constructor(board) {
53
+ this.board = board;
54
+ }
55
+ get boardArgs() {
56
+ return this.board ? ['--board', this.board] : [];
57
+ }
58
+ /**
59
+ * Initialize the kanban board (idempotent).
60
+ */
61
+ async init() {
62
+ await runKanban([...this.boardArgs, 'init']);
63
+ logger.info({ board: this.board }, '[INIT] Kanban board initialized.');
64
+ }
65
+ /**
66
+ * Force a dispatcher tick immediately (don't wait for the 60s loop).
67
+ */
68
+ async nudge() {
69
+ try {
70
+ await runKanban([...this.boardArgs, 'dispatch'], { timeout: 10000 });
71
+ }
72
+ catch (e) {
73
+ logger.warn({ error: e }, '[NUDGE] Dispatcher tick failed — will retry on next interval.');
74
+ }
75
+ }
76
+ /**
77
+ * Create a single task.
78
+ */
79
+ async createTask(opts) {
80
+ const args = [...this.boardArgs, 'create'];
81
+ // Title (positional)
82
+ args.push(`"${opts.title.replace(/"/g, '\\"')}"`);
83
+ if (opts.assignee)
84
+ args.push('--assignee', opts.assignee);
85
+ if (opts.body)
86
+ args.push('--body', `"${opts.body.replace(/"/g, '\\"')}"`);
87
+ if (opts.tenant)
88
+ args.push('--tenant', opts.tenant);
89
+ if (opts.priority !== undefined)
90
+ args.push('--priority', String(opts.priority));
91
+ if (opts.workspace)
92
+ args.push('--workspace', opts.workspace);
93
+ if (opts.idempotencyKey)
94
+ args.push('--idempotency-key', opts.idempotencyKey);
95
+ if (opts.maxRuntime)
96
+ args.push('--max-runtime', opts.maxRuntime);
97
+ if (opts.goalMode) {
98
+ args.push('--goal');
99
+ args.push('--goal-max-turns', String(opts.goalMaxTurns || YOLO_CONFIG.goalModeMaxTurns));
100
+ }
101
+ if (opts.skills) {
102
+ for (const skill of opts.skills) {
103
+ args.push('--skill', skill);
104
+ }
105
+ }
106
+ if (opts.parents && opts.parents.length > 0) {
107
+ for (const p of opts.parents) {
108
+ args.push('--parent', p);
109
+ }
110
+ }
111
+ // YOLO: set high retry limit
112
+ args.push('--max-retries', String(YOLO_CONFIG.maxRetries));
113
+ args.push('--json');
114
+ const { stdout } = await runKanban(args);
115
+ const parsed = JSON.parse(stdout.trim());
116
+ const taskId = parsed.id || parsed.task_id || '';
117
+ if (!taskId) {
118
+ throw new Error(`Kanban create did not return a task ID. Output: ${stdout.slice(0, 200)}`);
119
+ }
120
+ logger.info({ taskId, title: opts.title, assignee: opts.assignee }, '[CREATE] Task created.');
121
+ // Nudge dispatcher immediately for faster pickup
122
+ void this.nudge();
123
+ return { taskId };
124
+ }
125
+ /**
126
+ * Create multiple independent tasks in parallel (fan-out).
127
+ */
128
+ async createParallelTasks(tasks) {
129
+ const results = await Promise.all(tasks.map(t => this.createTask(t)));
130
+ return results.map(r => r.taskId);
131
+ }
132
+ /**
133
+ * Create a pipeline (sequential chain: task[0] → task[1] → task[2]...).
134
+ * Each task has the previous one as parent.
135
+ */
136
+ async createPipeline(tasks) {
137
+ const taskIds = [];
138
+ for (let i = 0; i < tasks.length; i++) {
139
+ const taskOpts = { ...tasks[i] };
140
+ if (i > 0 && taskIds[i - 1]) {
141
+ taskOpts.parents = [...(taskOpts.parents || []), taskIds[i - 1]];
142
+ }
143
+ const { taskId } = await this.createTask(taskOpts);
144
+ taskIds.push(taskId);
145
+ }
146
+ return taskIds;
147
+ }
148
+ /**
149
+ * Get the status of a task.
150
+ */
151
+ async getStatus(taskId) {
152
+ const { stdout } = await runKanban([...this.boardArgs, 'show', taskId, '--json']);
153
+ const parsed = JSON.parse(stdout.trim());
154
+ // Hermes wraps the task in a "task" key
155
+ const t = parsed.task || parsed;
156
+ return {
157
+ id: t.id || taskId,
158
+ title: t.title || '',
159
+ assignee: t.assignee || '',
160
+ status: t.status || 'unknown',
161
+ body: t.body,
162
+ tenant: t.tenant,
163
+ workspace: t.workspace_kind || t.workspace,
164
+ };
165
+ }
166
+ /**
167
+ * Wait for a task to complete (polling loop).
168
+ * YOLO: auto-reclaim on stale claims.
169
+ */
170
+ async wait(taskId, timeoutMs = 600000) {
171
+ const startTime = Date.now();
172
+ const pollInterval = 5000; // 5s poll
173
+ let lastReclaimTime = 0;
174
+ while (Date.now() - startTime < timeoutMs) {
175
+ try {
176
+ const status = await this.getStatus(taskId);
177
+ // ─── Terminal states ─────────────────────────────────────────────
178
+ if (status.status === 'done') {
179
+ const { stdout } = await runKanban([...this.boardArgs, 'show', taskId, '--json']);
180
+ const parsed = JSON.parse(stdout.trim());
181
+ const t = parsed.task || parsed;
182
+ const runs = parsed.runs || t.runs || [];
183
+ const lastRun = runs[runs.length - 1];
184
+ return {
185
+ id: taskId,
186
+ status: 'done',
187
+ summary: lastRun?.summary || '',
188
+ metadata: lastRun?.metadata,
189
+ durationMs: lastRun?.started_at && lastRun?.ended_at
190
+ ? lastRun.ended_at - lastRun.started_at
191
+ : undefined,
192
+ };
193
+ }
194
+ if (status.status === 'archived') {
195
+ return {
196
+ id: taskId,
197
+ status: 'archived',
198
+ error: 'Task was archived',
199
+ };
200
+ }
201
+ // ─── Blocked → YOLO auto-unblock ─────────────────────────────────
202
+ if (status.status === 'blocked' && YOLO_CONFIG.autoUnblock) {
203
+ logger.warn({ taskId }, '[WAIT] Task is blocked — YOLO auto-unblock.');
204
+ try {
205
+ await runKanban([...this.boardArgs, 'unblock', taskId]);
206
+ logger.info({ taskId }, '[WAIT] Task auto-unblocked.');
207
+ }
208
+ catch (e) {
209
+ logger.error({ taskId, error: e }, '[WAIT] Auto-unblock failed.');
210
+ }
211
+ }
212
+ // ─── Running → check for stale claim ─────────────────────────────
213
+ if (status.status === 'running' && YOLO_CONFIG.autoReclaim) {
214
+ const now = Date.now();
215
+ if (now - lastReclaimTime > YOLO_CONFIG.reclaimStaleMs) {
216
+ // Check if the claim is stale (no heartbeat for 15min)
217
+ const { stdout } = await runKanban([...this.boardArgs, 'show', taskId, '--json']);
218
+ const parsed = JSON.parse(stdout.trim());
219
+ const runs = parsed.runs || [];
220
+ const activeRun = runs.find((r) => r.outcome === 'active');
221
+ if (activeRun && activeRun.started_at) {
222
+ const claimAge = now - activeRun.started_at * 1000;
223
+ if (claimAge > YOLO_CONFIG.reclaimStaleMs) {
224
+ logger.warn({ taskId, claimAgeMs: claimAge }, '[WAIT] Stale claim detected — auto-reclaim.');
225
+ try {
226
+ await runKanban([...this.boardArgs, 'reclaim', taskId]);
227
+ logger.info({ taskId }, '[WAIT] Task reclaimed.');
228
+ }
229
+ catch (e) {
230
+ logger.error({ taskId, error: e }, '[WAIT] Auto-reclaim failed.');
231
+ }
232
+ lastReclaimTime = now;
233
+ }
234
+ }
235
+ }
236
+ }
237
+ }
238
+ catch (e) {
239
+ logger.warn({ taskId, error: e }, '[WAIT] Status check failed — will retry.');
240
+ }
241
+ // Sleep before next poll
242
+ await new Promise(resolve => setTimeout(resolve, pollInterval));
243
+ }
244
+ // Timeout reached
245
+ return {
246
+ id: taskId,
247
+ status: 'timeout',
248
+ error: `Task did not complete within ${timeoutMs}ms`,
249
+ };
250
+ }
251
+ /**
252
+ * Reclaim a task (abort running worker, reset to ready).
253
+ */
254
+ async reclaim(taskId) {
255
+ await runKanban([...this.boardArgs, 'reclaim', taskId]);
256
+ logger.info({ taskId }, '[RECLAIM] Task reclaimed.');
257
+ }
258
+ /**
259
+ * Unblock a blocked task.
260
+ */
261
+ async unblock(taskId) {
262
+ await runKanban([...this.boardArgs, 'unblock', taskId]);
263
+ logger.info({ taskId }, '[UNBLOCK] Task unblocked.');
264
+ }
265
+ /**
266
+ * Archive a task.
267
+ */
268
+ async archive(taskId) {
269
+ await runKanban([...this.boardArgs, 'archive', taskId]);
270
+ logger.info({ taskId }, '[ARCHIVE] Task archived.');
271
+ }
272
+ /**
273
+ * List tasks with optional filter.
274
+ */
275
+ async listTasks(filter) {
276
+ const args = [...this.boardArgs, 'list', '--json'];
277
+ const { stdout } = await runKanban(args);
278
+ let tasks;
279
+ try {
280
+ const parsed = JSON.parse(stdout.trim());
281
+ tasks = Array.isArray(parsed) ? parsed : (parsed.tasks || []);
282
+ }
283
+ catch {
284
+ // Fallback: parse text output
285
+ logger.warn('[LIST] Failed to parse JSON output — returning empty list.');
286
+ return [];
287
+ }
288
+ // Apply filters
289
+ if (filter?.status) {
290
+ tasks = tasks.filter(t => t.status === filter.status);
291
+ }
292
+ if (filter?.assignee) {
293
+ tasks = tasks.filter(t => t.assignee === filter.assignee);
294
+ }
295
+ if (filter?.tenant) {
296
+ tasks = tasks.filter(t => t.tenant === filter.tenant);
297
+ }
298
+ return tasks;
299
+ }
300
+ /**
301
+ * Add a comment to a task (inter-agent protocol).
302
+ */
303
+ async comment(taskId, body) {
304
+ const args = [...this.boardArgs, 'comment', taskId, '--body', `"${body.replace(/"/g, '\\"')}"`];
305
+ await runKanban(args);
306
+ }
307
+ /**
308
+ * Create a board for a specific project/workstream.
309
+ */
310
+ async createBoard(slug, name, opts) {
311
+ const args = ['boards', 'create', slug, '--name', `"${name}"`];
312
+ if (opts?.description)
313
+ args.push('--description', `"${opts.description}"`);
314
+ if (opts?.switch)
315
+ args.push('--switch');
316
+ await runKanban(args);
317
+ logger.info({ slug, name }, '[CREATE_BOARD] Board created.');
318
+ }
319
+ }
320
+ //# sourceMappingURL=KanbanAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanAdapter.js","sourceRoot":"","sources":["../../src/services/KanbanAdapter.ts"],"names":[],"mappings":"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"}
@@ -110,7 +110,7 @@ export async function updateAgentConfig(args) {
110
110
  const isUnitUpdate = !!(model || mcpServers || env || mode || cliPath);
111
111
  const isFileRewrite = !!(file && content);
112
112
  if (isUnitUpdate && !isFileRewrite && !runner) {
113
- const detected = manager.peekRunner(name); // (b) lecture du runner déjà en place
113
+ const detected = await manager.peekRunner(name); // (b) lecture du runner déjà en place
114
114
  const detectedTxt = detected ? `**${detected}**` : '**non défini** (sera initialisé à `claude`)';
115
115
  return {
116
116
  content: [
@@ -140,10 +140,10 @@ export async function updateAgentConfig(args) {
140
140
  content,
141
141
  });
142
142
  // (b) Validation runtime : on confirme le runner effectif après update
143
- const effectiveRunner = manager.peekRunner(name);
143
+ const effectiveRunner = await manager.peekRunner(name);
144
144
  const runnerNotice = effectiveRunner
145
- ? `\n\n🏃 Runner effectif (lu dans settings_${name}.json) : **${effectiveRunner}**`
146
- : `\n\n⚠️ Aucun runner détectable dans settings_${name}.json — un futur run_agent risque d'échouer.`;
145
+ ? `\n\n🏃 Runner effectif : **${effectiveRunner}**`
146
+ : `\n\n⚠️ Aucun runner détectable — un futur run_agent risque d'échouer.`;
147
147
  if (changes.length === 0) {
148
148
  return {
149
149
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"manage_agents.js","sourceRoot":"","sources":["../../src/tools/manage_agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manage_agents.js","sourceRoot":"","sources":["../../src/tools/manage_agents.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@ export declare const memoryStoreSchema: z.ZodObject<{
3
3
  text: z.ZodString;
4
4
  source: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
5
5
  error: "error";
6
+ agent: "agent";
6
7
  pattern: "pattern";
7
8
  user: "user";
8
9
  decision: "decision";
9
- agent: "agent";
10
10
  }>>>;
11
11
  agent_name: z.ZodOptional<z.ZodString>;
12
12
  }, z.core.$strip>;
@@ -8,6 +8,7 @@ export declare const runHermesSchema: z.ZodObject<{
8
8
  config: z.ZodOptional<z.ZodString>;
9
9
  silent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
10
10
  model: z.ZodOptional<z.ZodString>;
11
+ provider: z.ZodOptional<z.ZodString>;
11
12
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
12
13
  overmindMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
13
14
  }, z.core.$loose>;
@@ -1 +1 @@
1
- {"version":3,"file":"run_hermes.d.ts","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;;;;;;;;;iBAmBZ,CAAC;AAIjB,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;GAyFzE"}
1
+ {"version":3,"file":"run_hermes.d.ts","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;;;;;;;;;;iBAyBZ,CAAC;AAIjB,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;GA4FzE"}
@@ -1,11 +1,11 @@
1
1
  import { z } from 'zod';
2
- import { NousHermesRunner } from '../services/NousHermesRunner.js';
2
+ import { HermesRunner } from '../services/HermesRunner.js';
3
3
  import { storeRun } from '../memory/MemoryFactory.js';
4
4
  import { getWorkspaceDir } from '../lib/config.js';
5
5
  import { deleteSessionId } from '../lib/sessions.js';
6
6
  export const runHermesSchema = z
7
7
  .object({
8
- prompt: z.string().describe("Le prompt à envoyer à l'agent Nous Hermes"),
8
+ prompt: z.string().describe("Le prompt à envoyer à l'agent Hermes"),
9
9
  sessionId: z.string().optional(),
10
10
  agentName: z.string().optional(),
11
11
  autoResume: z.boolean().optional().default(false),
@@ -15,7 +15,11 @@ export const runHermesSchema = z
15
15
  model: z
16
16
  .string()
17
17
  .optional()
18
- .describe('Le modèle à utiliser. Priorité OpenAI (ex: gpt-4o), NVIDIA NIM (ex: deepseek-ai/deepseek-v4-pro) ou OpenRouter (ex: tencent/hy3-preview)'),
18
+ .describe('Model override (optional the profile config.yaml is the default)'),
19
+ provider: z
20
+ .string()
21
+ .optional()
22
+ .describe('Provider override (optional — the profile config.yaml is the default)'),
19
23
  signal: z.custom().optional().describe("AbortSignal pour annuler l'agent"),
20
24
  /** Quand true, skip storeRun() — utilisé par Overmind MCP (le stockage est fait cote MCP Server) */
21
25
  overmindMode: z.boolean().optional().default(false),
@@ -31,8 +35,8 @@ export async function runHermesAgent(args) {
31
35
  isError: true,
32
36
  };
33
37
  }
34
- const runner = new NousHermesRunner();
35
- const { prompt, agentName, autoResume, sessionId, path: argPath, config: argConfig, silent, model, signal, overmindMode, } = args;
38
+ const runner = new HermesRunner();
39
+ const { prompt, agentName, autoResume, sessionId, path: argPath, config: argConfig, silent, model, provider, signal, overmindMode, } = args;
36
40
  const finalPath = argPath || getWorkspaceDir();
37
41
  const finalConfig = argConfig || getWorkspaceDir();
38
42
  const start = Date.now();
@@ -45,6 +49,7 @@ export async function runHermesAgent(args) {
45
49
  configPath: finalConfig,
46
50
  silent,
47
51
  model,
52
+ provider,
48
53
  signal,
49
54
  });
50
55
  // Retry if session invalid
@@ -60,6 +65,7 @@ export async function runHermesAgent(args) {
60
65
  configPath: finalConfig,
61
66
  silent,
62
67
  model,
68
+ provider,
63
69
  signal,
64
70
  });
65
71
  }
@@ -86,7 +92,7 @@ export async function runHermesAgent(args) {
86
92
  }
87
93
  if (result.error)
88
94
  return {
89
- content: [{ type: 'text', text: `❌ Erreur NousHermes: ${result.error}` }],
95
+ content: [{ type: 'text', text: `❌ Erreur Hermes: ${result.error}` }],
90
96
  isError: true,
91
97
  };
92
98
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"run_hermes.js","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run_hermes.js","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE,CACrE;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE,CACxE;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACvF,oGAAoG;IACpG,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAqC;IACxE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,iBAAiB;IACrE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC;YACvF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,EACJ,MAAM,EACN,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,EACjB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,YAAY,GACb,GAAG,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,SAAS,IAAI,eAAe,EAAE,CAAC;IAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM;QACN,SAAS;QACT,UAAU;QACV,SAAS;QACT,GAAG,EAAE,SAAS;QACd,UAAU,EAAE,WAAW;QACvB,MAAM;QACN,KAAK;QACL,QAAQ;QACR,MAAM;KACP,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/E,IAAI,SAAS;YAAE,MAAM,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YAC7B,MAAM;YACN,SAAS;YACT,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE,SAAS;YACd,UAAU,EAAE,WAAW;YACvB,MAAM;YACN,KAAK;YACL,QAAQ;YACR,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IACtC,yFAAyF;IACzF,oFAAoF;IACpF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC;gBACb,MAAM,EAAE,QAAQ;gBAChB,SAAS;gBACT,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU;gBACV,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK;gBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,uFAAuF;YACvF,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,KAAK;QACd,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,OAAO;QACL,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAC9C,GAAG,CAAC,MAAM,CAAC,SAAS;gBAClB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,eAAe,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;gBACtE,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,143 @@
1
+ # Migration v3.1 — Guide de mise à jour Overmind MCP
2
+
3
+ > **Version**: 2.8.53 → 2.9.0+
4
+ > **Impact**: Changement de l'arborescence des profils Hermes
5
+ > **Rétrocompatibilité**: Oui (fallback automatique vers l'ancien layout)
6
+
7
+ ---
8
+
9
+ ## Ce qui change
10
+
11
+ ```
12
+ AVANT (v2.8.x) APRÈS (v3.1)
13
+ ───────────────────────────── ─────────────────────────────
14
+ ~/.hermes/profiles/<name>/ ~/.overmind/hermes/profiles/<name>/
15
+ config.yaml config.yaml
16
+ .env .env
17
+ SOUL.md SOUL.md
18
+ profile.yaml ← NOUVEAU
19
+ workspace.yaml ← NOUVEAU
20
+ README.md ← NOUVEAU
21
+
22
+ .claude/sessions.json → bridge/agents.json
23
+ .claude/process-registry.json → bridge/process-registry.json
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Étape 1 — Mettre à jour le package
29
+
30
+ ```bash
31
+ # Sur le serveur Ubuntu (ou Windows local)
32
+ sudo npm install -g overmind-mcp@latest
33
+ ```
34
+
35
+ Le postinstall crée `~/.overmind/bridge/` automatiquement.
36
+
37
+ ---
38
+
39
+ ## Étape 2 — Migration des profils existants
40
+
41
+ Le code v3.1 a un **fallback automatique**: si un profil n'existe pas dans
42
+ `~/.overmind/hermes/profiles/`, il le cherche dans `~/.hermes/profiles/`.
43
+ Vos agents **continuent de fonctionner** sans migration.
44
+
45
+ Pour migrer un profil vers le nouveau layout:
46
+
47
+ ```bash
48
+ # Créer le nouveau répertoire
49
+ mkdir -p ~/.overmind/hermes/profiles
50
+
51
+ # Pour chaque profil existant:
52
+ cp -r ~/.hermes/profiles/sniperbot_analyst ~/.overmind/hermes/profiles/
53
+ cp -r ~/.hermes/profiles/tradingview_analyst ~/.overmind/hermes/profiles/
54
+ cp -r ~/.hermes/profiles/pdf_bon_travail ~/.overmind/hermes/profiles/
55
+
56
+ # Générer les fichiers manquants (profile.yaml, workspace.yaml, README.md)
57
+ # via le tool MCP create_agent ou manuellement:
58
+ hermes profile create <name> --description "..." # régénère si existe déjà
59
+ ```
60
+
61
+ ---
62
+
63
+ ## Étape 3 — Migrer les sessions (bridge)
64
+
65
+ ```bash
66
+ # Déplacer l'ancien sessions.json vers le nouveau chemin
67
+ mkdir -p ~/.overmind/bridge
68
+ cp ~/.overmind/.claude/sessions.json ~/.overmind/bridge/agents.json 2>/dev/null
69
+ cp ~/.overmind/.claude/process-registry.json ~/.overmind/bridge/process-registry.json 2>/dev/null
70
+
71
+ # Ou si le workspace est le dossier source:
72
+ cp .claude/sessions.json ~/.overmind/bridge/agents.json 2>/dev/null
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Étape 4 — Symlinks rétrocompat (optionnel)
78
+
79
+ ```bash
80
+ # Ancien layout → nouveau (pour les scripts existants)
81
+ ln -sfn ~/.overmind/hermes/profiles ~/.overmind/hermes/agents
82
+ ln -sfn ~/.overmind/hermes/profiles ~/.overmind/hermes/runs
83
+ ln -sfn ~/.overmind/hermes/profiles ~/.overmind/hermes/sessions
84
+ ```
85
+
86
+ ---
87
+
88
+ ## Étape 5 — Redémarrer les services
89
+
90
+ ```bash
91
+ # Ubuntu (systemd)
92
+ sudo systemctl restart overmind-mcp.service
93
+ sudo systemctl restart discord-llm.service
94
+ sudo systemctl restart tradingview-analyst.service
95
+
96
+ # Vérifier
97
+ systemctl is-active overmind-mcp discord-llm tradingview-analyst
98
+ ```
99
+
100
+ ---
101
+
102
+ ## Étape 6 — Valider
103
+
104
+ ```bash
105
+ # Lister les agents
106
+ overmind list_agents
107
+ # ou via MCP:
108
+ curl -s -X POST http://localhost:3099/mcp \
109
+ -H "Content-Type: application/json" \
110
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_agents","arguments":{}}}'
111
+
112
+ # Tester un agent
113
+ !sniper allo # sur Discord
114
+ !trade BTCUSDT 60
115
+
116
+ # Vérifier les sessions
117
+ cat ~/.overmind/bridge/agents.json
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Rollback (en cas de problème)
123
+
124
+ ```bash
125
+ # Revenir à l'ancienne version
126
+ sudo npm install -g overmind-mcp@2.8.53
127
+
128
+ # Restaurer l'ancien layout
129
+ cp ~/.overmind/bridge/agents.json ~/.overmind/.claude/sessions.json 2>/dev/null
130
+ cp ~/.overmind/bridge/process-registry.json ~/.overmind/.claude/process-registry.json 2>/dev/null
131
+
132
+ sudo systemctl restart overmind-mcp.service
133
+ ```
134
+
135
+ ---
136
+
137
+ ## Note importante
138
+
139
+ Le fallback automatique signifie que **même si vous ne migrez rien**, vos agents
140
+ existentants continueront de fonctionner. La migration est recommandée mais
141
+ pas obligatoire immédiatement. Les nouveaux agents créés après la mise à jour
142
+ seront automatiquement placés dans le nouveau layout avec profile.yaml +
143
+ workspace.yaml + README.md.