overmind-mcp 2.3.0 → 2.3.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.
Files changed (96) hide show
  1. package/dist/index.d.ts +0 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +0 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/orchestration/dispatcher.d.ts +3 -3
  6. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
  7. package/dist/lib/orchestration/dispatcher.js +1 -56
  8. package/dist/lib/orchestration/dispatcher.js.map +1 -1
  9. package/dist/lib/processRegistry.d.ts +2 -0
  10. package/dist/lib/processRegistry.d.ts.map +1 -1
  11. package/dist/lib/processRegistry.js +21 -2
  12. package/dist/lib/processRegistry.js.map +1 -1
  13. package/dist/lib/telemetry.d.ts +17 -5
  14. package/dist/lib/telemetry.d.ts.map +1 -1
  15. package/dist/lib/telemetry.js +20 -65
  16. package/dist/lib/telemetry.js.map +1 -1
  17. package/dist/server.d.ts +16 -28
  18. package/dist/server.d.ts.map +1 -1
  19. package/dist/server.js +62 -69
  20. package/dist/server.js.map +1 -1
  21. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  22. package/dist/services/ClaudeRunner.js.map +1 -1
  23. package/dist/services/GeminiRunner.d.ts.map +1 -1
  24. package/dist/services/GeminiRunner.js +4 -1
  25. package/dist/services/GeminiRunner.js.map +1 -1
  26. package/dist/services/KiloRunner.d.ts.map +1 -1
  27. package/dist/services/KiloRunner.js.map +1 -1
  28. package/dist/tools/agent_control.d.ts +101 -0
  29. package/dist/tools/agent_control.d.ts.map +1 -0
  30. package/dist/tools/agent_control.js +320 -0
  31. package/dist/tools/agent_control.js.map +1 -0
  32. package/dist/tools/run_agents_parallel.d.ts +3 -3
  33. package/docs/agent_control.md +656 -0
  34. package/package.json +1 -12
  35. package/scripts/auto-install.mjs +0 -5
  36. package/scripts/uninstall.mjs +2 -15
  37. package/dist/bin/rabbitmq-worker.d.ts +0 -2
  38. package/dist/bin/rabbitmq-worker.d.ts.map +0 -1
  39. package/dist/bin/rabbitmq-worker.js +0 -63
  40. package/dist/bin/rabbitmq-worker.js.map +0 -1
  41. package/dist/bin/temporal-worker.d.ts +0 -2
  42. package/dist/bin/temporal-worker.d.ts.map +0 -1
  43. package/dist/bin/temporal-worker.js +0 -24
  44. package/dist/bin/temporal-worker.js.map +0 -1
  45. package/dist/lib/broker/rabbitmq.d.ts +0 -28
  46. package/dist/lib/broker/rabbitmq.d.ts.map +0 -1
  47. package/dist/lib/broker/rabbitmq.js +0 -67
  48. package/dist/lib/broker/rabbitmq.js.map +0 -1
  49. package/dist/lib/broker/rabbitmqDispatch.d.ts +0 -23
  50. package/dist/lib/broker/rabbitmqDispatch.d.ts.map +0 -1
  51. package/dist/lib/broker/rabbitmqDispatch.js +0 -77
  52. package/dist/lib/broker/rabbitmqDispatch.js.map +0 -1
  53. package/dist/lib/workflow/temporal/activities.d.ts +0 -15
  54. package/dist/lib/workflow/temporal/activities.d.ts.map +0 -1
  55. package/dist/lib/workflow/temporal/activities.js +0 -18
  56. package/dist/lib/workflow/temporal/activities.js.map +0 -1
  57. package/dist/lib/workflow/temporal/client.d.ts +0 -8
  58. package/dist/lib/workflow/temporal/client.d.ts.map +0 -1
  59. package/dist/lib/workflow/temporal/client.js +0 -48
  60. package/dist/lib/workflow/temporal/client.js.map +0 -1
  61. package/dist/lib/workflow/temporal/dispatch.d.ts +0 -13
  62. package/dist/lib/workflow/temporal/dispatch.d.ts.map +0 -1
  63. package/dist/lib/workflow/temporal/dispatch.js +0 -19
  64. package/dist/lib/workflow/temporal/dispatch.js.map +0 -1
  65. package/dist/lib/workflow/temporal/workflows.d.ts +0 -31
  66. package/dist/lib/workflow/temporal/workflows.d.ts.map +0 -1
  67. package/dist/lib/workflow/temporal/workflows.js +0 -79
  68. package/dist/lib/workflow/temporal/workflows.js.map +0 -1
  69. package/dist/tools/get_agent_status.d.ts +0 -29
  70. package/dist/tools/get_agent_status.d.ts.map +0 -1
  71. package/dist/tools/get_agent_status.js +0 -45
  72. package/dist/tools/get_agent_status.js.map +0 -1
  73. package/dist/tools/kill_agent.d.ts +0 -22
  74. package/dist/tools/kill_agent.d.ts.map +0 -1
  75. package/dist/tools/kill_agent.js +0 -33
  76. package/dist/tools/kill_agent.js.map +0 -1
  77. package/dist/tools/stream_agent_output.d.ts +0 -30
  78. package/dist/tools/stream_agent_output.d.ts.map +0 -1
  79. package/dist/tools/stream_agent_output.js +0 -44
  80. package/dist/tools/stream_agent_output.js.map +0 -1
  81. package/dist/tools/wait_agent.d.ts +0 -30
  82. package/dist/tools/wait_agent.d.ts.map +0 -1
  83. package/dist/tools/wait_agent.js +0 -68
  84. package/dist/tools/wait_agent.js.map +0 -1
  85. package/docs/ASYNC_AGENT_INTEGRATION.md +0 -311
  86. package/docs/INDEX.md +0 -144
  87. package/docs/changelog/CHANGELOG.add.md +0 -106
  88. package/docs/changelog/CHANGELOG.md +0 -339
  89. package/docs/docs/OVERMIND_WORKFLOW_GUIDE.md +0 -595
  90. package/docs/docs/PROJECT_STRUCTURE.md +0 -101
  91. package/docs/docs/README_POSTGRES_INTEGRATION.md +0 -229
  92. package/docs/prompt/Claude_code.md +0 -74
  93. package/docs/prompt/Kilo.md +0 -74
  94. package/docs/prompt/Kilo_Hermes.md +0 -170
  95. package/docs/prompt/Minimax4.md +0 -96
  96. package/docs/tools.md +0 -794
@@ -1,311 +0,0 @@
1
- # OverMind Async Agent Integration — Process Registry & PID Tracking
2
-
3
- > **Problème résolu** : Les agents IA sont invoked en async via MCP, mais le seul lien avec le processus fils est le `sessionId` (généré par le runner, opaque pour OverMind). Si le processus parent meurt, le `sessionId` est perdu et le child process devient orphelin.
4
- >
5
- > **Solution** : Un **Process Registry** qui stocke le mapping `pid ↔ sessionId ↔ agentName`, persistant dans `sessions.json`, permettant de :
6
- > - Se rattacher à un agent en cours via son PID
7
- > - Vérifier si un agent est encore vivant
8
- > - Tuer un agent par son PID
9
- > - Streamer output en temps réel
10
-
11
- ---
12
-
13
- ## 1. Architecture
14
-
15
- ```
16
- ┌──────────────────────────────────────────────────────────────┐
17
- │ MCP Tool: run_agent() (async, non-blocking) │
18
- │ │
19
- │ 1. Spawn child process (claude/kilo/gemini/etc.) │
20
- │ 2. Register { pid, sessionId, agentName, runner, ts } │
21
- │ 3. Return immediately with { sessionId, pid } │
22
- │ → Client can poll / attach to PID │
23
- │ │
24
- │ ┌──────────────────┐ ┌──────────────────────────────┐ │
25
- │ │ Process Registry │◄──│ child.on('data') │ │
26
- │ │ (sessions.json) │ │ → buffers output │ │
27
- │ │ │ │ → checks liveliness │ │
28
- │ │ { pid, sessionId,│ └──────────────────────────────┘ │
29
- │ │ agentName, │ │
30
- │ │ runner, status,│ ┌──────────────────────────────┐ │
31
- │ │ startedAt } │ │ MCP Tool: get_agent_status() │ │
32
- │ └──────────────────┘ │ → returns live output │ │
33
- │ │ → pid / alive / output so far │ │
34
- │ └──────────────────────────────┘ │
35
- └──────────────────────────────────────────────────────────────┘
36
- ```
37
-
38
- ---
39
-
40
- ## 2. Sessions JSON — Nouveau Format
41
-
42
- **Avant** (sessions.json) :
43
- ```json
44
- {
45
- "kilo:sniper_analyst": { "id": "sess_abc123", "ts": 1746892800000 }
46
- }
47
- ```
48
-
49
- **Après** (sessions.json + process registry) :
50
- ```json
51
- {
52
- "kilo:sniper_analyst": {
53
- "id": "sess_abc123",
54
- "ts": 1746892800000,
55
- "pid": 12345,
56
- "status": "running",
57
- "outputBuffer": ""
58
- },
59
- "claude:planner": {
60
- "id": "sess_def456",
61
- "ts": 1746892900000,
62
- "pid": 67890,
63
- "status": "running",
64
- "outputBuffer": "Thinking...\n"
65
- }
66
- }
67
- ```
68
-
69
- Le champ `status` peut être :
70
- - `running` — processus actif, PID valide
71
- - `done` — terminé avec succès (garde le last output pour retrieval)
72
- - `failed` — terminé avec erreur
73
- - `orphaned` — le parent a crash mais le child tourne encore
74
-
75
- ---
76
-
77
- ## 3. Runner Changes — Spawn & Register
78
-
79
- Chaque runner (Claude, Kilo, Gemini, Hermes, etc.) doit :
80
-
81
- 1. **Stocker le PID** dès le `spawn()` :
82
- ```typescript
83
- const child = spawn(command, args, options);
84
- // Immediately register
85
- await registerProcess(child.pid, {
86
- sessionId: undefined, // filled when runner gives us sessionId
87
- agentName,
88
- runner,
89
- startedAt: Date.now(),
90
- status: 'running',
91
- });
92
- ```
93
-
94
- 2. **Mettre à jour avec le sessionId** dès qu'il est reçu :
95
- ```typescript
96
- child.stdout?.on('data', (d) => {
97
- const chunk = d.toString();
98
- outputBuffer += chunk;
99
- // Si le sessionId arrive pour la première fois
100
- if (sessionId && !currentSessionId) {
101
- currentSessionId = sessionId;
102
- await updateProcessSession(sessionId, child.pid);
103
- }
104
- });
105
- ```
106
-
107
- 3. **Marquer `done/failed`** à `child.on('close')` :
108
- ```typescript
109
- child.on('close', async (code) => {
110
- await updateProcessStatus(child.pid, code === 0 ? 'done' : 'failed');
111
- });
112
- ```
113
-
114
- 4. **Cleanup à la terminaison** :
115
- ```typescript
116
- // Supprimer après 1h ( TTL ) ou sur explicit delete
117
- await unregisterProcess(pid);
118
- ```
119
-
120
- ---
121
-
122
- ## 4. Nouvelles Fonctions Registry
123
-
124
- ```typescript
125
- // ─── Register a new running process ───────────────────────────
126
- /**
127
- * Called immediately after spawn(). Records the PID before the sessionId
128
- * is known (sessionId arrives later from stdout).
129
- */
130
- export async function registerProcess(
131
- pid: number,
132
- meta: {
133
- agentName: string;
134
- runner: string;
135
- startedAt: number;
136
- configPath?: string;
137
- },
138
- ): Promise<void> { ... }
139
-
140
- /**
141
- * Called when the runner emits a sessionId for the first time.
142
- * Links sessionId ↔ pid in the registry.
143
- */
144
- export async function linkSessionToPid(
145
- sessionId: string,
146
- pid: number,
147
- configPath?: string,
148
- ): Promise<void> { ... }
149
-
150
- /**
151
- * Update output buffer for live streaming.
152
- */
153
- export async function appendOutput(
154
- pid: number,
155
- chunk: string,
156
- configPath?: string,
157
- ): Promise<void> { ... }
158
-
159
- /**
160
- * Get current status + output buffer for a process.
161
- */
162
- export async function getProcessStatus(
163
- agentName: string,
164
- runner?: string,
165
- configPath?: string,
166
- ): Promise<ProcessStatus | null> { ... }
167
-
168
- /**
169
- * Kill a running agent by PID (Windows: taskkill /F /T /PID; Unix: SIGKILL).
170
- */
171
- export async function killAgent(
172
- agentName: string,
173
- runner?: string,
174
- configPath?: string,
175
- ): Promise<boolean> { ... }
176
-
177
- /**
178
- * Unregister (cleanup) a process entry.
179
- */
180
- export async function unregisterProcess(
181
- pid: number,
182
- configPath?: string,
183
- ): Promise<void> { ... }
184
- ```
185
-
186
- ---
187
-
188
- ## 5. TTL & Cleanup
189
-
190
- ```typescript
191
- const PROCESS_TTL_MS = 60 * 60 * 1000; // 1 hour after 'done'/'failed'
192
- const ORPHAN_CHECK_INTERVAL = 5 * 60 * 1000; // 5 minutes
193
-
194
- // On startup, scan for:
195
- // 1. 'running' entries where the PID no longer exists → mark 'orphaned'
196
- // 2. 'done'/'failed' entries older than PROCESS_TTL_MS → unregister
197
- ```
198
-
199
- ---
200
-
201
- ## 6. Nouveaux Outils MCP
202
-
203
- ### `get_agent_status`
204
- ```typescript
205
- {
206
- agentName: string;
207
- runner?: string; // defaults to 'claude' if omitted
208
- }
209
- // Returns:
210
- // { status, pid, outputBuffer, startedAt, sessionId }
211
- ```
212
-
213
- ### `stream_agent_output`
214
- ```typescript
215
- {
216
- agentName: string;
217
- runner?: string;
218
- sinceTimestamp?: number; // only return output after this ts
219
- }
220
- // Returns:
221
- // { output: string, status, isComplete: boolean }
222
- ```
223
-
224
- ### `kill_agent`
225
- ```typescript
226
- {
227
- agentName: string;
228
- runner?: string;
229
- }
230
- // Returns:
231
- // { killed: boolean, pid: number }
232
- ```
233
-
234
- ### `wait_agent`
235
- ```typescript
236
- {
237
- agentName: string;
238
- runner?: string;
239
- timeoutMs?: number; // default: 900000 (15 min)
240
- }
241
- // Polls until status !== 'running', returns final result
242
- // Returns:
243
- // { status, result, exitCode }
244
- ```
245
-
246
- ---
247
-
248
- ## 7. Flux Complet — Async Agent Lifecycle
249
-
250
- ```
251
- Client OverMind MCP Runner
252
- │ │ │
253
- │ run_agent() │ │
254
- │─────────────────────────►│ │
255
- │ │ spawn(child) │
256
- │ │───────────────────────────►│
257
- │ │ registerProcess(pid) │
258
- │ │ Return { sessionId, pid } │
259
- │ { sessionId, pid } │ │
260
- │◄──────────────────────────│ │
261
- │ │ │
262
- │ get_agent_status() │ │
263
- │─────────────────────────►│ │
264
- │ │ getProcessStatus() │
265
- │ { status, outputBuffer }│ │
266
- │◄──────────────────────────│ │
267
- │ │ stdout.on('data') │
268
- │ │◄──────────────────────────│
269
- │ │ appendOutput(pid, chunk) │
270
- │ │ │
271
- │ stream_agent_output() │ │
272
- │─────────────────────────►│ │
273
- │ { output, status } │ │
274
- │◄──────────────────────────│ │
275
- │ │ child.on('close') │
276
- │ │◄──────────────────────────│
277
- │ │ updateProcessStatus(done) │
278
- │ │ │
279
- │ wait_agent() │ │
280
- │─────────────────────────►│ │
281
- │ Polls until done │ │
282
- │ { status, result } │ │
283
- │◄──────────────────────────│ │
284
- ```
285
-
286
- ---
287
-
288
- ## 8. Backward Compatibility
289
-
290
- - Les champs existants (`id`, `ts`) dans `sessions.json` ne changent pas
291
- - `status`, `pid`, `outputBuffer` sont **ajoutés** (optionnels)
292
- - Le `sessionId` reste le même — les outils existants (`autoResume`) continuent de fonctionner
293
- - Si `pid` n'existe pas dans une entrée (sessions anciennes), le status est déduit de `ts` :
294
- - `ts` < 30 jours + pas de `pid` → `done` (legacy)
295
- - `ts` récent + pas de `pid` → `running` (legacy, mais incertain)
296
-
297
- ---
298
-
299
- ## 9. Implémentation Minimale — Checklist
300
-
301
- - [ ] `src/lib/processRegistry.ts` — nouvelles fonctions (register, link, append, status, kill, unregister)
302
- - [ ] `src/lib/sessions.ts` — ajout champs `pid`, `status`, `outputBuffer`
303
- - [ ] Chaque runner (8 fichiers) — ajouter `registerProcess()` après `spawn()`
304
- - [ ] Chaque runner — ajouter `appendOutput()` dans `stdout.on('data')`
305
- - [ ] Chaque runner — ajouter `updateProcessStatus()` dans `child.on('close')`
306
- - [ ] `src/tools/get_agent_status.ts` — nouvel outil MCP
307
- - [ ] `src/tools/stream_agent_output.ts` — nouvel outil MCP
308
- - [ ] `src/tools/kill_agent.ts` — nouvel outil MCP
309
- - [ ] `src/tools/wait_agent.ts` — nouvel outil MCP
310
- - [ ] `server.ts` — register les 4 nouveaux outils
311
- - [ ] Tests dans `src/__tests__/processRegistry.test.ts`
package/docs/INDEX.md DELETED
@@ -1,144 +0,0 @@
1
- # Documentation OverMind-MCP
2
-
3
- Bienvenue dans la documentation centralisée d'OverMind-MCP.
4
-
5
- > **Note** : Le site web cyberpunk avec animations est disponible dans ce dossier. Ce fichier INDEX.md sert de table des matières pour la documentation technique.
6
-
7
- ## 📑 Structure
8
-
9
- ```
10
- Workflow/
11
- ├── dock../docker/docker-compose.yml # Stack principale (9 services)
12
- ├── docker-compose.exporters.yml # Exporters métriques
13
- ├── scripts/ # Scripts setup/gestion
14
- │ ├── setup.mjs
15
- │ ├── install-dependencies.mjs
16
- │ └── docker-manager.mjs
17
-
18
- └── docs/ # Documentation
19
- ├── index.html # Site web cyberpunk
20
- ├── INDEX.md # Ce fichier (table des matières)
21
- ├── guides/ # Guides utilisateur
22
- │ ├── README.md # Guide principal
23
- │ ├── DEPLOYMENT.md # Guide déploiement
24
- │ └── SWARM_USAGE.md # Guide Swarm
25
- ├── api/ # Documentation API
26
- │ ├── prompt/ # Prompts système
27
- │ └── tools.md # Référence outils
28
- └── changelog/ # Historique versions
29
- ├── CHANGELOG.md
30
- └── CHANGELOG.add.md
31
- ```
32
-
33
- ## 🚀 Par où commencer ?
34
-
35
- 1. **Nouveau utilisateur ?** → Commencez par [`guides/README.md`](./guides/README.md)
36
- 2. **Veut déployer en production ?** → Voir [`guides/DEPLOYMENT.md`](./guides/DEPLOYMENT.md)
37
- 3. **Intéressé par le Swarm ?** → Lire [`guides/SWARM_USAGE.md`](./guides/SWARM_USAGE.md)
38
- 4. **Besoin de la référence API ?** → Consulter [`api/tools.md`](./api/tools.md)
39
-
40
- ## 📚 Guides Utilisateur
41
-
42
- ### [`guides/README.md`](./guides/README.md)
43
- Guide principal d'utilisation :
44
- - Installation et setup
45
- - Configuration des agents
46
- - Utilisation des runners
47
- - Exemples pratiques
48
-
49
- ### [`guides/DEPLOYMENT.md`](./guides/DEPLOYMENT.md)
50
- Guide complet de déploiement :
51
- - Prérequis système
52
- - Configuration Docker Compose
53
- - Setup infrastructure (PostgreSQL, RabbitMQ, Temporal)
54
- - Sécurité et maintenance
55
- - Monitoring avec Prometheus/Grafana
56
-
57
- ### [`guides/SWARM_USAGE.md`](./guides/SWARM_USAGE.md)
58
- Guide d'orchestration Swarm :
59
- - Configuration du swarm
60
- - Allocation dynamique de tâches
61
- - Workflows long-running
62
- - Exemples concrets
63
- - Monitoring et debug
64
-
65
- ## 🏗️ Infrastructure
66
-
67
- ### Docker Compose
68
- - **[`../dock../docker/docker-compose.yml`](../dock../docker/docker-compose.yml)** - Stack principale (9 services)
69
- - RabbitMQ (Message Broker)
70
- - Temporal (Workflow Orchestrator)
71
- - PostgreSQL + pgvector (Vector DB)
72
- - Redis (Cache)
73
- - Prometheus (Metrics)
74
- - Grafana (Dashboards)
75
- - Jaeger (Tracing)
76
- - OpenTelemetry Collector
77
- - Node Exporter
78
-
79
- - **[`../docker-compose.exporters.yml`](../docker-compose.exporters.yml)** - Exporters de métriques
80
- - RabbitMQ Exporter
81
- - PostgreSQL Exporter
82
- - Redis Exporter
83
-
84
- ### Scripts Setup
85
- Voir [`../scripts/`](../scripts/) :
86
- - `setup.mjs` - Setup interactif complet
87
- - `install-dependencies.mjs` - Installation Docker/PostgreSQL
88
- - `docker-manager.mjs` - Gestion infrastructure (up/down/logs/status)
89
- - `postinstall.mjs` - Post-installation NPM
90
-
91
- ## 🔌 API & Référence
92
-
93
- ### [`api/prompt/`](./api/prompt/)
94
- Documentation des prompts système pour chaque runner :
95
- - Claude Code
96
- - Kilo (code, architect, ask, debug)
97
- - Hermes
98
- - Minimax 4
99
-
100
- ### [`api/tools.md`](./api/tools.md)
101
- Référence complète des outils MCP :
102
- - `run_agent` - Exécuter un agent
103
- - `create_agent` - Créer un nouvel agent
104
- - `list_agents` - Lister les agents
105
- - `memory_search` - Recherche mémoire
106
- - `run_agents_parallel` - Exécution parallèle
107
-
108
- ## 📝 Changelog
109
-
110
- ### [`changelog/CHANGELOG.md`](./changelog/CHANGELOG.md)
111
- Historique complet des versions :
112
- - Toutes les versions de 1.x à 2.0.0
113
- - Features, bug fixes, breaking changes
114
- - Notes de migration
115
-
116
- ### [`changelog/CHANGELOG.add.md`](./changelog/CHANGELOG.add.md)
117
- Notes détaillées de la v2.0.0 :
118
- - Swarm Orchestration
119
- - Long-Running Workflows
120
- - Infrastructure Docker complète
121
- - Observabilité de niveau production
122
-
123
- ## 🔍 Recherche Rapide
124
-
125
- ### Je veux...
126
-
127
- - **Installer OverMind** → [`guides/README.md`](./guides/README.md)
128
- - **Déployer en production** → [`guides/DEPLOYMENT.md`](./guides/DEPLOYMENT.md)
129
- - **Créer un agent** → [`guides/README.md`](./guides/README.md)
130
- - **Utiliser le Swarm** → [`guides/SWARM_USAGE.md`](./guides/SWARM_USAGE.md)
131
- - **Voir la référence API** → [`tools.md`](./tools.md)
132
- - **Setup Docker** → [`../dock../docker/docker-compose.yml`](../dock../docker/docker-compose.yml)
133
- - **Voir les nouveautés** → [`changelog/CHANGELOG.md`](./changelog/CHANGELOG.md)
134
- - **Debug un problème** → [`guides/DEPLOYMENT.md`](./guides/DEPLOYMENT.md) (section Monitoring)
135
-
136
- ## 📖 Ressources Externes
137
-
138
- - **GitHub** : https://github.com/DeamonDev888/overmind-mcp
139
- - **Discord** : https://discord.gg/4AR82phtBz
140
- - **Site Web** : https://deamondev888.github.io/overmind-mcp/
141
-
142
- ---
143
-
144
- **Retour au README principal** : [`../README.md`](../README.md)
@@ -1,106 +0,0 @@
1
- # Changelog
2
-
3
- ## [2.0.0] - 2026-05-09
4
-
5
- ### 🚀 OverMind-MCP v2.0.0 - Swarm & Observabilité Unifiée
6
-
7
- Cette version majeure marque l'achèvement complet de l'infrastructure OverMind-MCP avec des fonctionnalités d'orchestration avancées et une observabilité de niveau production.
8
-
9
- #### 🎯 Nouvelles Fonctionnalités Majeures
10
-
11
- **Swarm Orchestration (NOUVEAU)**
12
- - Allocation dynamique de tâches aux agents spécialisés
13
- - Load Balancing automatique avec scoring intelligent
14
- - Support de capacités multiples par agent (code, analysis, scraping, etc.)
15
- - Gestion de priorités de tâches (1-10)
16
- - Statistiques en temps réel (completed, failed, running, pending)
17
- - `createSwarmOrchestrator()` avec API complète
18
- - Fichier: `src/lib/orchestration/swarm.ts`
19
-
20
- **Workflows Long-Running Temporal (NOUVEAU)**
21
- - `longRunningWorkflow` pour tâches stateful (OSINT, analyses complètes)
22
- - Support de workflows jusqu'à 7 jours
23
- - Signaux de contrôle: `cancel`, `pause`, `resume`
24
- - Query d'état temps réel du workflow
25
- - Survit aux crashes (persistance Temporal)
26
- - API enrichie: `startLongRunningWorkflow()`, `getLongRunningWorkflowHandle()`
27
- - Fichiers: `src/lib/workflow/temporal/workflows.ts`, `client.ts`
28
-
29
- **Infrastructure Docker Complète (NOUVEAU)**
30
- - `docker-compose.yml`: Stack principale (9 services)
31
- - RabbitMQ (Message Broker) avec Management UI
32
- - Temporal (Workflow Orchestrator) avec Web UI
33
- - PostgreSQL + pgvector (Vector DB 4096D)
34
- - Redis (Cache & Sessions)
35
- - Prometheus (Metrics Collection)
36
- - Grafana (Dashboards)
37
- - Jaeger (Distributed Tracing)
38
- - OpenTelemetry Collector (Traces Bridge)
39
- - Node Exporter (Host metrics)
40
- - `docker-compose.exporters.yml`: Exporters de métriques
41
- - RabbitMQ Exporter
42
- - PostgreSQL Exporter
43
- - Redis Exporter
44
- - `init-db.sql`: Script d'initialisation PostgreSQL
45
- - `config/prometheus.yml`: Configuration Prometheus
46
- - `config/otel-collector.yml`: Configuration OpenTelemetry Collector
47
-
48
- **Observabilité de Niveau Production (NOUVEAU)**
49
- - Traces distribuées via OpenTelemetry → Jaeger
50
- - Métriques temps réel via Prometheus
51
- - Dashboards Grafana prêts à l'emploi
52
- - Support complet de télémétrie sur tous les runners
53
- - Scripts NPM ajoutés: `deploy:infra`, `deploy:exporters`, `deploy:all`, `deploy:logs`, `deploy:status`
54
-
55
- #### 📚 Documentation
56
-
57
- **Nouveaux Guides**
58
- - `DEPLOYMENT.md` (600+ lignes): Guide déploiement complet
59
- - Prérequis, configuration, Docker Compose setup
60
- - Tests & validation, sécurité & maintenance
61
- - Workflows avancés, monitoring
62
- - `SWARM_USAGE.md` (500+ lignes): Guide Swarm Orchestration
63
- - Configuration du swarm, allocation de tâches
64
- - Workflows long-running, exemples pratiques
65
- - Monitoring & debug
66
- - Configuration .env étendue avec toutes les variables
67
-
68
- #### 🔧 Améliorations Techniques
69
-
70
- - **Correction TypeScript**: `swarm.ts` (possibly undefined values)
71
- - **Correction ESLint**: Suppression warnings (unused vars, any types)
72
- - **Correction Tests**: Mock `registerMemoryAlertCallback` dans tests
73
- - **Tests**: 69 passed, 3 skipped (100% succès)
74
- - **Build**: TypeScript compilation clean
75
- - **Linting**: ESLint clean (0 errors, 0 warnings)
76
-
77
- #### 🚨 Breaking Changes
78
-
79
- - **Version majeure** (1.x → 2.0) dû à l'ajout significatif de fonctionnalités
80
- - **Nouvelles APIs publiques**: Swarm, Long-Running Workflows
81
- - **Nouvelle structure de projet**: `docker/`, `config/`, scripts déploiement
82
- - **Configuration .env**: Variables étendues (rétro-compatible)
83
-
84
- #### 🔄 Migration
85
-
86
- - Aucune migration nécessaire pour les utilisateurs existants
87
- - Les nouvelles fonctionnalités sont opt-in
88
- - Configuration .env étendue (rétro-compatible)
89
-
90
- #### 📦 Dependencies
91
-
92
- Mises à jour mineures de dépendances
93
-
94
- ---
95
-
96
- **Déploiement 100% terminé !** 🎉
97
-
98
- OverMind-MCP est maintenant un orchestrateur d'agents IA complet avec:
99
- - ✅ Message Broker RabbitMQ
100
- - ✅ Vector DB pgvector (4096D)
101
- - ✅ Temporal Workflows long-running
102
- - ✅ Swarm Orchestration avec allocation dynamique
103
- - ✅ Observabilité complète (Prometheus, Grafana, Jaeger)
104
- - ✅ Documentation production-ready
105
-
106
- **Prêt pour la production** 🚀