overmind-mcp 2.0.0 → 2.0.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.
@@ -0,0 +1,339 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [2.0.0] - 2026-05-09
6
+
7
+ ### 🚀 OverMind-MCP v2.0.0 - Swarm & Observabilité Unifiée
8
+
9
+ 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.
10
+
11
+ #### 🎯 Nouvelles Fonctionnalités Majeures
12
+
13
+ **Swarm Orchestration (NOUVEAU)**
14
+ - Allocation dynamique de tâches aux agents spécialisés
15
+ - Load Balancing automatique avec scoring intelligent
16
+ - Support de capacités multiples par agent (code, analysis, scraping, etc.)
17
+ - Gestion de priorités de tâches (1-10)
18
+ - Statistiques en temps réel (completed, failed, running, pending)
19
+ - `createSwarmOrchestrator()` avec API complète
20
+
21
+ **Workflows Long-Running Temporal (NOUVEAU)**
22
+ - `longRunningWorkflow` pour tâches stateful (OSINT, analyses complètes)
23
+ - Support de workflows jusqu'à 7 jours
24
+ - Signaux de contrôle: `cancel`, `pause`, `resume`
25
+ - Query d'état temps réel du workflow
26
+ - Survit aux crashes (persistance Temporal)
27
+
28
+ **Infrastructure Docker Complète (NOUVEAU)**
29
+ - `docker-compose.yml`: Stack principale (9 services)
30
+ - `docker-compose.exporters.yml`: Exporters de métriques
31
+ - `init-db.sql`: Script d'initialisation PostgreSQL
32
+ - `config/prometheus.yml`: Configuration Prometheus
33
+ - `config/otel-collector.yml`: Configuration OpenTelemetry Collector
34
+
35
+ **Observabilité de Niveau Production (NOUVEAU)**
36
+ - Traces distribuées via OpenTelemetry → Jaeger
37
+ - Métriques temps réel via Prometheus
38
+ - Dashboards Grafana prêts à l'emploi
39
+ - Scripts NPM: `deploy:infra`, `deploy:exporters`, `deploy:all`
40
+
41
+ #### 📚 Documentation
42
+
43
+ **Nouveaux Guides**
44
+ - `DEPLOYMENT.md` (600+ lignes): Guide déploiement complet
45
+ - `SWARM_USAGE.md` (500+ lignes): Guide Swarm Orchestration
46
+ - Configuration .env étendue
47
+
48
+ #### 🔧 Améliorations Techniques
49
+
50
+ - Correction TypeScript (possibly undefined)
51
+ - Correction ESLint (unused vars, any types)
52
+ - Correction tests (mock PostgresMemoryProvider)
53
+ - Tests: 69 passed, 3 skipped
54
+ - Build TypeScript clean
55
+ - Linting ESLint clean (0 errors, 0 warnings)
56
+
57
+ #### 🚨 Breaking Changes
58
+
59
+ - Version majeure (1.x → 2.0)
60
+ - Nouvelles APIs publiques: Swarm, Long-Running Workflows
61
+ - Nouvelle structure de projet (docker/, config/)
62
+
63
+ #### 🔄 Migration
64
+
65
+ - Aucune migration nécessaire (opt-in)
66
+ - Configuration .env étendue (rétro-compatible)
67
+
68
+ ---
69
+
70
+ **Déploiement 100% terminé !** 🎉
71
+
72
+ ## 1.13.13 (2026-05-09)
73
+
74
+ ### Features
75
+
76
+ - **All runners 10/10 quality score**: All 8 runners (Claude, Gemini, Kilo, Hermes, OpenClaw, Cline, OpenCode, QwenCLI) now share a consistent enterprise-grade architecture
77
+
78
+ ### All Runners Upgraded
79
+
80
+ - Pino logger for structured logging
81
+ - OpenTelemetry integration for distributed tracing
82
+ - 10MB buffer management (prevents memory leaks)
83
+ - Hard timeout (SIGTERM → 5s → SIGKILL)
84
+ - Automatic cleanup of temporary files
85
+ - Session persistence via saveSessionId
86
+
87
+ ### Specific Improvements
88
+
89
+ - **Hermes**: Cross-platform binary detection (Windows/Linux/macOS), HERMES_BIN_PATH env override support
90
+ - **QwenCLI**: Added buffer management and hard timeout (critical fixes)
91
+ - **Cline**: Added telemetry with mode attribute in spans
92
+ - **OpenCode**: Added structured logging and cleanup
93
+ - **OpenClaw**: Added telemetry and structured logging
94
+ - **run_agent.ts**: Replaced unsafe casts with strict Zod validation
95
+ - **telemetry.ts**: Dynamic version from package.json, graceful shutdown method
96
+ - **MemoryFactory**: Robust error handling with logging (no more runner crashes on DB failure)
97
+
98
+ ### Bug Fixes
99
+
100
+ - Fixed control character regex in sanitization (Kilo)
101
+ - Fixed lexical declaration in switch default case
102
+ - Removed unused variables across all runners
103
+ - Removed deprecated metadata tool
104
+
105
+ ## 1.13.11-alpha (2026-05-08)
106
+
107
+ ### Fixed
108
+
109
+ - **Fallback tokens $VAR resolution**: `getTokenForIndex` retournait les valeurs `$VAR` brutes (ex: `"$ANTHROPIC_AUTH_TOKEN_E"`) au lieu des tokens résolus pour les retry. Ajout de la résolution `$VAR` dans `spawnWithToken` : si `tokenValue` commence par `$`, on résout via `process.env[envKey]`. Le primary token (index=0) accepte aussi les `$VAR` non résolus (le check `!val.startsWith('$')` a été retiré).
110
+
111
+ ## 1.13.10-alpha (2026-05-08)
112
+
113
+ ### Fixed
114
+
115
+ - **triggerRetry targetRetryCount bug**: `triggerRetry()` était appelé sans argument, le tokenInfo était obtenu après. Du coup `retryCount` était toujours 0 lors du `getTokenForIndex(0)` → primary token au lieu du fallback. Maintenant `triggerRetry(targetRetryCount)` passe le bon index directement.
116
+
117
+ ## 1.13.9-alpha (2026-05-08)
118
+
119
+ ### Fixed
120
+
121
+ - **ClaudeRunner fast-fail on retryable errors**: Le retry n'attendait plus la fermeture complète du processus (slow). Ajout de `triggerRetry()` qui kill immédiatement le processus, clear tous les timers, et relance via `setImmediate`. Flag `earlyExitTriggered` empêche le double-exit.
122
+
123
+ ## 1.13.8-alpha (2026-05-08)
124
+
125
+ ### Fixed
126
+
127
+ - **ClaudeRunner retry token switch**: Le retry ne changeait pas de token correctement (utilisait encore le primary après 429). Logique corrigée : index 0 = primary, index 1+ = AUTH_FALLBACK_1/2/3 directement.
128
+
129
+ ## 1.13.7-alpha (2026-05-08)
130
+
131
+ ### Changed
132
+
133
+ - **`config_example` tool**: Documentation complète des fallback tokens (401, 429, 5xx). Exemples clairs avec syntaxe `$ANTHROPIC_AUTH_TOKEN_2`, etc.
134
+
135
+ ## 1.13.6-alpha (2026-05-08)
136
+
137
+ ### Fixed
138
+
139
+ - **`ClaudeRunner fallback retry`**: Le fallback ne se déclenchait que sur les erreurs 401 (auth). Ajout de la détection des erreurs retryable : 429 (rate limit/quota exhausted), 500/502/503 (server errors) et leurs messages correspondants dans stderr. Les tokens fallback (AUTH_FALLBACK_1/2/3) sont désormais essayés pour toutes ces erreurs.
140
+
141
+ ## 1.13.5-alpha (2026-05-08)
142
+
143
+ ### Fixed
144
+
145
+ - **`getDetailedConfigs` fallback path**: Les paths de fallback utilisaient `.overmind/agents/` hardcodé au lieu de passer par `getWorkspaceDir()` qui lit `OVERMIND_WORKSPACE`. Maintenant le fallback utilise le workspace dynamiques depuis la variable d'environnement, cohérence avec `listAgents`.
146
+
147
+ ## 1.13.4-alpha (2026-05-08)
148
+
149
+ ### Fixed
150
+
151
+ - **OOM-1 (vrai)** : le cap stdout/stderr de 10 Mo n'était auparavant présent que dans `OpenClawRunner`. Désormais aussi appliqué dans `ClaudeRunner.ts`, `KiloRunner.ts`, `GeminiRunner.ts` (rotation `slice(-MAX_BUF)` quand l'accumulation dépasserait 10 Mo).
152
+ - **ASYNC-3 (vrai)** : `GeminiRunner.ts` reçoit un helper `cleanup()` qui retire les listeners (`removeAllListeners()` sur stdout/stderr/child) et est appelé après timeout et après `close`.
153
+
154
+ ### Changed
155
+
156
+ - Corrections appliquées en parallèle par 3 agents Minimax (claude runner) via `dispatchAgents()` — preuve de bout en bout du parallélisme local.
157
+
158
+ ## 1.13.3-alpha (2026-05-08)
159
+
160
+ ### Fixed
161
+
162
+ - **`tools/list` MCP error** : `runAgentSchema` exposait un champ `signal: z.custom<AbortSignal>()` que FastMCP ne pouvait pas sérialiser en JSON Schema (`Custom types cannot be represented in JSON Schema`), ce qui empêchait la découverte des outils côté client MCP. Le champ `signal` est désormais retiré du schéma public et passé en interne via le type `RunAgentInternalArgs`.
163
+
164
+ ## 1.13.2-alpha (2026-05-08)
165
+
166
+ ### Fixed
167
+
168
+ - **Telemetry no-op span** : `withSpan()` retournait `{} as Span` quand `OTEL_ENABLED!=true`, ce qui plantait dès le premier `span.setAttribute(...)` (`TypeError: span.setAttribute is not a function`) et empêchait `runAgent` de s'exécuter sans OpenTelemetry. Désormais `withSpan()` passe systématiquement par `tracer.startActiveSpan(...)` — l'API OpenTelemetry fournit un `NonRecordingSpan` no-op valide quand le SDK n'est pas démarré.
169
+ - **Chargement du `.env` utilisateur** : la binaire installée globalement (`npm i -g overmind-mcp`) ne lisait que son propre `.env` (`<install-dir>/.env`) et ignorait le `.env` du projet (`OVERMIND_WORKSPACE`, etc.). Ajout d'une cascade de chargement : `$OVERMIND_ENV_FILE` → `<process.cwd()>/.env` → fallback historique. Les valeurs déjà présentes dans `process.env` (injectées par le client MCP) restent prioritaires.
170
+
171
+ ## 1.13.1-alpha (2026-05-08)
172
+
173
+ ### Fixed
174
+
175
+ - **Dispatcher Temporal fallback** : `dispatchAgents()` n'attendait pas la promesse retournée par `dispatchViaTemporal()` (`return` sans `await`), ce qui faisait fuir les rejets asynchrones hors du `try/catch` et provoquait un `uncaughtException` (`Failed to start Workflow`/`ECONNREFUSED ::1:7233`) lorsque Temporal n'était pas joignable. Désormais le fallback local est bien déclenché si Temporal est indisponible.
176
+
177
+ ## 1.13.0-alpha (2026-05-08)
178
+
179
+ ### Recovered
180
+
181
+ - **Prompt files recovered**: Restored `Claude_code.md`, `Kilo.md`, `Kilo_Hermes.md`, `Minimax4.md` from git history (were deleted in commit 86ca1da).
182
+
183
+ ## 1.12.1-alpha (2026-05-08)
184
+
185
+ ### Changed
186
+
187
+ - `preferGlobal: true` ajouté dans package.json (CLI tool — recommande install global)
188
+
189
+ ## 1.12.0-alpha.1 (2026-05-08)
190
+
191
+ ### Removed
192
+
193
+ - Docker infrastructure files (out of scope, users wire their own RabbitMQ/Temporal/Jaeger)
194
+ - `infra:up/down/logs` npm scripts
195
+
196
+ ## 1.12.0-alpha (2026-05-08)
197
+
198
+ ### Added
199
+
200
+ - OpenTelemetry tracing : module `src/lib/telemetry.ts` (init no-op si OTEL_ENABLED!=true), spans sur ClaudeRunner/KiloRunner/GeminiRunner et tools clés
201
+ - RabbitMQ broker : `src/lib/broker/rabbitmq.ts` (publisher/consumer queues durables) + `rabbitmqDispatch.ts` + worker `src/bin/rabbitmq-worker.ts`
202
+ - Temporal workflow engine : activities/workflows/client/dispatch + worker `src/bin/temporal-worker.ts` (retry x2, timeout 15min)
203
+ - Orchestration dispatcher : `src/lib/orchestration/dispatcher.ts` route vers Temporal/RabbitMQ/local selon flags (fallback automatique)
204
+ - AbortSignal propagé à ClaudeRunner pour annulation propre
205
+ - Scripts npm : `worker:rabbitmq`, `worker:temporal`
206
+ - Dépendance `async-mutex` pour sérialisation d'écritures concurrentes
207
+
208
+ ### Fixed
209
+
210
+ - OOM-1 : stdout/stderr bornés à 10 MB dans ClaudeRunner, KiloRunner, GeminiRunner
211
+ - OOM-2 : `run_agents_parallel` mode `waitAll:false` — abort des promesses perdantes via AbortController par agent
212
+ - OOM-3 : `metadata` — `depth.max(8)` + skip des fichiers >1 MB
213
+ - OOM-4 : OpenClawRunner — SIGTERM→SIGKILL fallback 5s + cleanup listeners + cap stdout/stderr
214
+ - ASYNC-1 : ClaudeRunner — détection deconnexion MCP via AbortSignal, kill propre du child process
215
+ - ASYNC-2 : KiloRunner — fuite killTimer corrigée (clearTimeout avant retry 401)
216
+ - ASYNC-3 : GeminiRunner — helper `cleanup()` retire tous les listeners après timeout/close
217
+ - ASYNC-4 : `sessions.ts` — race condition supprimée via `async-mutex` autour des read-modify-write
218
+
219
+ ### Changed
220
+
221
+ - `run_agents_parallel.ts` simplifié (38 lignes) — délègue toute la logique au dispatcher
222
+ - Workers de tests validés : `tests/feature_flags.test.ts` (3 tests passants)
223
+
224
+ ## 0.0.2-alpha (2026-05-08)
225
+
226
+ ### Fixes
227
+
228
+ - **OVERMIND_WORKSPACE protection**: Fixed auto-injection in cli.ts that was overwriting `OVERMIND_WORKSPACE` on every boot. Now preserves existing value if already set.
229
+
230
+ ### Maintenance
231
+
232
+ - **Overmind MCP cleanup**: Removed duplicate `overmind-mcp` from root `node_modules` — now uses only the Workflow repo instance.
233
+ - **Lint fix**: Installed missing `tinyglobby` dependency.
234
+
235
+ ## 0.0.0.1a (2026-05-07)
236
+
237
+ ### Alpha Release — Versioning Switch
238
+
239
+ - **Switch to alpha versioning**: Abandoned semantic versioning (`1.x.0`) in favor of alpha format (`0.0.0.1a`)
240
+ - **Fix 401 detection in JSON result**: Claude CLI can exit with code 0 while embedding `api_error_status: 401` in the JSON response. Retry now triggers on both stderr patterns AND `jsonEnvelope.api_error_status === 401` AND auth error strings in `result` field.
241
+ - **KiloRunner 401 fallback retry**: Same automatic retry logic as ClaudeRunner — `AUTH_FALLBACK_1` → `AUTH_FALLBACK_2` → `AUTH_FALLBACK_3`
242
+ - **New `overmind` provider in `config_example` tool**: Complete guide on `$VAR` substitution and fallback token system with examples for both ClaudeRunner and KiloRunner
243
+
244
+ ## 1.11.0 (2026-05-07)
245
+
246
+ ### Minor Changes
247
+
248
+ - **Automatic 401 retry with fallback tokens**: Overmind now detects auth errors (401) from Claude CLI and automatically retries with `AUTH_FALLBACK_1` → `AUTH_FALLBACK_2` → `AUTH_FALLBACK_3` tokens
249
+ - Detection covers: `401`, `unauthorized`, `invalid api key`, `authentication failed`, `auth error`
250
+ - Each fallback token is resolved via `$VAR` substitution from `.env`
251
+
252
+ ## 1.7.0 (2026-05-07)
253
+
254
+ ### Minor Changes
255
+
256
+ - Add `cwd` parameter to `run_agent` tool for ClaudeRunner and KiloRunner
257
+ - Add `$VAR` environment variable substitution in agent settings (e.g. `$ANTHROPIC_AUTH_TOKEN_2` resolves to actual token value)
258
+ - Fix workspace directory resolution for agent settings (`settingsPath` now uses correct directory)
259
+ - Add `ANTHROPIC_AUTH_FALLBACK_1/2/3` fields as resolvable references for automatic token retry
260
+ - Update documentation with new `cwd` parameter, `$VAR` substitution, and fallback tokens sections
261
+
262
+ ## 1.6.0 (2026-05-07)
263
+
264
+ - Initial granular token support for npm publish
265
+
266
+ ## 1.5.11 (2026-05-06)
267
+
268
+ - Security: lint warnings cleanup and removal of hardcoded API keys from scratch/test.js
269
+
270
+ ## 1.5.10 (2026-05-03)
271
+
272
+ - Adjust Minimax fleet to 3 agents and update documentation
273
+ - Integration of 4 Minimax agents with ClaudeRunner
274
+
275
+ ## 1.5.9 (2026-04-26)
276
+
277
+ - Fix Hermes runner ENOENT error on Windows and improve runner robustness
278
+ - Add envUtils interpolation and improve session handling
279
+
280
+ ## 1.5.8 (2026-04-26)
281
+
282
+ - Improve Kilo runner for polyglot agents
283
+ - Enhance CLI tester with dual-mode support
284
+
285
+ ## 1.5.7 (2026-04-26)
286
+
287
+ - Expand Mistral fleet to 6 parallel agents
288
+ - Add Kilo Parallel orchestrator documentation
289
+
290
+ ## 1.5.6 (2026-04-25)
291
+
292
+ - Implement DeepSeek V4 Pro default, NVIDIA fallback
293
+ - Update docs site
294
+
295
+ ## 1.5.5 (2026-04-25)
296
+
297
+ - Convert Kilo & Hermes mode to Hermes Solo in prompts and documentation
298
+
299
+ ## 1.5.3 (2026-04-25)
300
+
301
+ - Full 1:1 sync across all markdown files and frontend
302
+
303
+ ## 1.5.2 (2026-04-25)
304
+
305
+ - Restore grandiose header and implement full markdown rendering
306
+
307
+ ## 1.5.1 (2026-04-25)
308
+
309
+ - Full premium redesign of all engine sections
310
+ - Add real runner logic and CLI pipelines extracted from source code
311
+
312
+ ## 1.5.0 (2026-04-25)
313
+
314
+ - Grandiose dashboard upgrade with SVG architectures and live metrics
315
+ - Orchestrator prompts: expand mission to include agent creation and supervision
316
+ - Authorize agent to proactively create and edit agents
317
+ - Authorize proactive use of `list_agents` and `get_agent_configs`
318
+
319
+ ## 1.4.7 (2026-04-19)
320
+
321
+ - Bump pnpm dependencies
322
+
323
+ ## 1.4.3 (2026-04-06)
324
+
325
+ - Add additional anonymized MCP examples (memory, X) to config_example
326
+
327
+ ## 1.4.2 (2026-04-06)
328
+
329
+ - Security: anonymize local paths in config_example examples
330
+
331
+ ## 1.4.1 (2026-04-06)
332
+
333
+ - Enhance config_example tool with MCP examples and naming conventions
334
+
335
+ ## 1.4.0 (2026-04-06)
336
+
337
+ - Standardize agent configuration
338
+ - Add `config_example` tool
339
+ - Security: redact API tokens in examples