overmind-mcp 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overmind-mcp",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "preferGlobal": true,
5
5
  "description": "Orchestrateur universel agents IA multi-modeles via MCP. Inclut le protocole 'Custom-Nickname' pour identifier vos agents avec des surnoms originaux (The Chaos Prophet, Shadow Sniper, etc.), l'isolation mémoire (Private Memory Context) et le support pour QwenCli et Nous Hermes. Installation automatique des dépendances Docker (PostgreSQL, pgvector) inclus.",
6
6
  "type": "module",
@@ -221,8 +221,8 @@ async function installPostgresMCP() {
221
221
  log(COLORS.green, '✅ overmind-postgres-mcp installé avec succès !');
222
222
  return true;
223
223
  } catch (error) {
224
- log(COLORS.yellow, '⚠️ Erreur installation overmind-postgres-mcp: ' + error.message);
225
- log(COLORS.cyan, '💡 Vous pouvez l''installer manuellement: npm install -g overmind-postgres-mcp');
224
+ log(COLORS.yellow, "⚠️ Erreur installation overmind-postgres-mcp: " + error.message);
225
+ log(COLORS.cyan, "💡 Vous pouvez l'installer manuellement: npm install -g overmind-postgres-mcp");
226
226
  return false; // Non bloquant
227
227
  }
228
228
  }
@@ -329,24 +329,42 @@ EMBEDDING_CACHE_SIZE=1000
329
329
  }
330
330
 
331
331
  async function startPostgreSQL() {
332
- logSection('DÉMARRAGE POSTGRESQL + PGVECTOR');
332
+ logSection('VÉRIFICATION POSTGRESQL + PGVECTOR');
333
333
 
334
334
  try {
335
- const existingContainer = runCommand(
336
- 'docker ps --filter "name=overmind-postgres-pgvector" --format "{{.Names}}"',
335
+ // Vérifier si PostgreSQL existe déjà (n'importe quel container postgres)
336
+ const anyPostgres = runCommand(
337
+ 'docker ps --filter "name=postgres" --filter "publish=5432" --format "{{.Names}}"',
337
338
  { stdio: 'pipe' }
338
339
  );
339
340
 
340
- if (existingContainer) {
341
- log(COLORS.green, '✅ PostgreSQL + pgvector déjà démarré');
341
+ if (anyPostgres) {
342
+ log(COLORS.green, '✅ PostgreSQL déjà actif sur le port 5432');
343
+ log(COLORS.cyan, ' Container: ' + anyPostgres.trim());
344
+ log(COLORS.yellow, ' 💡 Utilisation de PostgreSQL existant (pas de création OverMind)');
342
345
  return true;
343
346
  }
344
347
 
345
- log(COLORS.yellow, '🚀 Démarrage PostgreSQL + pgvector...');
348
+ // Vérifier si le container OverMind existe déjà
349
+ const overmindContainer = runCommand(
350
+ 'docker ps -a --filter "name=overmind-postgres-pgvector" --format "{{.Names}}"',
351
+ { stdio: 'pipe' }
352
+ );
353
+
354
+ if (overmindContainer) {
355
+ log(COLORS.yellow, '⚠️ Container OverMind existe mais non démarré');
356
+ await runCommandAsync(
357
+ 'docker start overmind-postgres-pgvector',
358
+ 'Démarrage container OverMind existant'
359
+ );
360
+ return true;
361
+ }
362
+
363
+ log(COLORS.yellow, '🚀 Création et démarrage PostgreSQL + pgvector...');
346
364
 
347
365
  await runCommandAsync(
348
366
  'docker run -d --name overmind-postgres-pgvector -p 5432:5432 -e POSTGRES_PASSWORD=overmind_temp_password_change_me -e POSTGRES_USER=postgres -v overmind_postgres_data:/var/lib/postgresql/data --restart unless-stopped pgvector/pgvector:pg16',
349
- 'Démarrage PostgreSQL'
367
+ 'Création PostgreSQL OverMind'
350
368
  );
351
369
 
352
370
  log(COLORS.cyan, '\n⏳ Attente démarrage PostgreSQL (20s)...');
@@ -385,7 +403,7 @@ function showSummary() {
385
403
  console.log('║' + ' '.repeat(64) + '║');
386
404
  console.log('╚══════════════════════════════════════════════════════════════════╝');
387
405
  console.log('');
388
- log(COLORS.yellow, '📋 COMPOSANTS INSTALLÉS:');
406
+ log(COLORS.yellow, "📋 COMPOSANTS INSTALLÉS:");
389
407
  console.log('');
390
408
  console.log('┌─────────────────────────────────────────────────────────────────┐');
391
409
  console.log('│ ' + COLORS.cyan + 'Ouvrez Docker Desktop → onglet "Containers"' + COLORS.reset + ' │');
@@ -402,25 +420,25 @@ function showSummary() {
402
420
  console.log('│ • Database: overmind_memory' + ' │');
403
421
  console.log('└─────────────────────────────────────────────────────────────────┘');
404
422
  console.log('');
405
- log(COLORS.yellow, '📁 FICHIERS DE CONFIGURATION:');
406
- console.log(' • ~/.overmind/.env (Configuration OverMind)');
407
- console.log(' • ~/.overmind/.env.postgres (Configuration PostgreSQL MCP)');
408
- console.log(' • ~/.overmind/.mcp.json (Configuration serveurs MCP)');
423
+ log(COLORS.yellow, "📁 FICHIERS DE CONFIGURATION:");
424
+ console.log(" • ~/.overmind/.env (Configuration OverMind)");
425
+ console.log(" • ~/.overmind/.env.postgres (Configuration PostgreSQL MCP)");
426
+ console.log(" • ~/.overmind/.mcp.json (Configuration serveurs MCP)");
409
427
  console.log('');
410
- log(COLORS.yellow, '🔧 SERVEURS MCP ACTIFS:');
411
- console.log(' • overmind (Orchestration d''agents)');
412
- console.log(' • memory (Gestion mémoire vectorielle)');
413
- console.log(' • overmind-postgres (PostgreSQL vectoriel)');
428
+ log(COLORS.yellow, "🔧 SERVEURS MCP ACTIFS:");
429
+ console.log(" • overmind (Orchestration d'agents)");
430
+ console.log(" • memory (Gestion mémoire vectorielle)");
431
+ console.log(" • overmind-postgres (PostgreSQL vectoriel)");
414
432
  console.log('');
415
- log(COLORS.yellow, '📚 DOCUMENTATION:');
416
- console.log(' • https://github.com/DeamonDev888/overmind-mcp');
417
- console.log(' • https://www.npmjs.com/package/overmind-mcp');
418
- console.log(' • https://github.com/DeamonDev888/PostgreSQL-MCP-Serveur');
433
+ log(COLORS.yellow, "📚 DOCUMENTATION:");
434
+ console.log(" • https://github.com/DeamonDev888/overmind-mcp");
435
+ console.log(" • https://www.npmjs.com/package/overmind-mcp");
436
+ console.log(" • https://github.com/DeamonDev888/PostgreSQL-MCP-Serveur");
419
437
  console.log('');
420
- log(COLORS.yellow, '🎉 PROCHAINE ÉTAPE:');
421
- console.log(' • Créez votre premier agent: overmind create-agent');
422
- console.log(' • Ou listez les agents: overmind list-agents');
423
- console.log(' • Gestion PostgreSQL: overmind-postgres up/status/down');
438
+ log(COLORS.yellow, "🎉 PROCHAINE ÉTAPE:");
439
+ console.log(" • Créez votre premier agent: overmind create-agent");
440
+ console.log(" • Ou listez les agents: overmind list-agents");
441
+ console.log(" • Gestion PostgreSQL: overmind-postgres up/status/down");
424
442
  console.log('');
425
443
  }
426
444
 
@@ -69,20 +69,42 @@ function cmd(command, label) {
69
69
  // ─────────────────────────────────────────────────────────────────────────────
70
70
 
71
71
  function listContainers() {
72
- const names = ['postgres-pgvector', 'overmind-rabbitmq', 'overmind-temporal', 'overmind-temporal-web'];
73
- return names.filter((n) => {
72
+ // ⚠️ CORRECTION CRITIQUE: Ne cibler que les containers OverMind, pas les containers personnels
73
+ // Les containers personnels comme "postgres-pgvector" ne doivent JAMAIS être supprimés
74
+ const overmindContainers = [
75
+ 'overmind-postgres-pgvector', // Container créé par OverMind 2.2.0+
76
+ 'overmind-rabbitmq', // Ancien container OverMind
77
+ 'overmind-temporal', // Ancien container OverMind
78
+ 'overmind-temporal-web', // Ancien container OverMind
79
+ 'overmind-postgres', // Variant possible
80
+ 'overmind-redis', // Variant possible
81
+ 'overmind-prometheus', // Variant possible
82
+ 'overmind-grafana', // Variant possible
83
+ 'overmind-jaeger' // Variant possible
84
+ ];
85
+
86
+ return overmindContainers.filter((containerName) => {
74
87
  try {
75
- execSync(`docker inspect ${n}`, { stdio: 'pipe' });
88
+ execSync(`docker inspect ${containerName}`, { stdio: 'pipe' });
76
89
  return true;
77
90
  } catch { return false; }
78
91
  });
79
92
  }
80
93
 
81
94
  function listVolumes() {
82
- const names = ['postgres_data', 'rabbitmq_data'];
83
- return names.filter((n) => {
95
+ // ⚠️ CORRECTION CRITIQUE: Ne cibler que les volumes OverMind, pas les volumes personnels
96
+ const overmindVolumes = [
97
+ 'overmind_postgres_data', // Volume créé par OverMind 2.2.0+
98
+ 'overmind-rabbitmq_data', // Ancien volume OverMind
99
+ 'overmind-temporal_data', // Ancien volume OverMind
100
+ 'overmind_prometheus_data', // Ancien volume OverMind
101
+ 'overmind-grafana_data', // Ancien volume OverMind
102
+ 'overmind-jaeger_data' // Ancien volume OverMind
103
+ ];
104
+
105
+ return overmindVolumes.filter((volumeName) => {
84
106
  try {
85
- execSync(`docker volume inspect ${n}`, { stdio: 'pipe' });
107
+ execSync(`docker volume inspect ${volumeName}`, { stdio: 'pipe' });
86
108
  return true;
87
109
  } catch { return false; }
88
110
  });
@@ -109,6 +131,11 @@ async function main() {
109
131
  console.log(`║ ║`);
110
132
  console.log(`╚${'═'.repeat(68)}╝`);
111
133
 
134
+ // ⚠️ AVERTISSEMENT DE SÉCURITÉ
135
+ console.log('\n⚠️ SÉCURITÉ: Ce script ne supprime QUE les containers/volumes OverMind.');
136
+ console.log(' Vos containers personnels (comme postgres-pgvector) sont PROTÉGÉS.');
137
+ console.log(' Seuls les containers commençant par "overmind-" seront supprimés.\n');
138
+
112
139
  // ── 1. Containers actifs ──────────────────────────────────────────────
113
140
  const containers = listContainers();
114
141
  const volumes = listVolumes();