overmind-mcp 2.7.0 → 2.8.1

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 (104) hide show
  1. package/.mcp.json.example +21 -21
  2. package/README.md +179 -187
  3. package/bin/README.md +44 -34
  4. package/bin/install-overmind-windows.bat +51 -7
  5. package/bin/overmind-pool.mjs +248 -0
  6. package/dist/bin/cli.js +115 -24
  7. package/dist/bin/cli.js.map +1 -1
  8. package/dist/bin/overmind-client.d.ts +77 -0
  9. package/dist/bin/overmind-client.d.ts.map +1 -0
  10. package/dist/bin/overmind-client.js +221 -0
  11. package/dist/bin/overmind-client.js.map +1 -0
  12. package/dist/lib/agent_lifecycle.d.ts +91 -0
  13. package/dist/lib/agent_lifecycle.d.ts.map +1 -0
  14. package/dist/lib/agent_lifecycle.js +155 -0
  15. package/dist/lib/agent_lifecycle.js.map +1 -0
  16. package/dist/lib/config.d.ts +5 -26
  17. package/dist/lib/config.d.ts.map +1 -1
  18. package/dist/lib/config.js +33 -12
  19. package/dist/lib/config.js.map +1 -1
  20. package/dist/lib/envUtils.d.ts +1 -1
  21. package/dist/lib/envUtils.d.ts.map +1 -1
  22. package/dist/lib/envUtils.js +11 -4
  23. package/dist/lib/envUtils.js.map +1 -1
  24. package/dist/lib/loadEnv.d.ts.map +1 -1
  25. package/dist/lib/loadEnv.js +9 -4
  26. package/dist/lib/loadEnv.js.map +1 -1
  27. package/dist/lib/logger.d.ts.map +1 -1
  28. package/dist/lib/logger.js +20 -4
  29. package/dist/lib/logger.js.map +1 -1
  30. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
  31. package/dist/lib/orchestration/dispatcher.js +10 -1
  32. package/dist/lib/orchestration/dispatcher.js.map +1 -1
  33. package/dist/lib/orchestration/swarm.d.ts +1 -0
  34. package/dist/lib/orchestration/swarm.d.ts.map +1 -1
  35. package/dist/lib/orchestration/swarm.js +11 -8
  36. package/dist/lib/orchestration/swarm.js.map +1 -1
  37. package/dist/lib/processRegistry.d.ts +2 -40
  38. package/dist/lib/processRegistry.d.ts.map +1 -1
  39. package/dist/lib/processRegistry.js +191 -230
  40. package/dist/lib/processRegistry.js.map +1 -1
  41. package/dist/memory/MemoryFactory.d.ts.map +1 -1
  42. package/dist/memory/MemoryFactory.js +2 -1
  43. package/dist/memory/MemoryFactory.js.map +1 -1
  44. package/dist/memory/PostgresMemoryProvider.d.ts +1 -0
  45. package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
  46. package/dist/memory/PostgresMemoryProvider.js +11 -4
  47. package/dist/memory/PostgresMemoryProvider.js.map +1 -1
  48. package/dist/server.d.ts +1 -1
  49. package/dist/server.d.ts.map +1 -1
  50. package/dist/server.js +84 -80
  51. package/dist/server.js.map +1 -1
  52. package/dist/services/AgentManager.d.ts +1 -0
  53. package/dist/services/AgentManager.d.ts.map +1 -1
  54. package/dist/services/AgentManager.js +17 -0
  55. package/dist/services/AgentManager.js.map +1 -1
  56. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  57. package/dist/services/ClaudeRunner.js +25 -6
  58. package/dist/services/ClaudeRunner.js.map +1 -1
  59. package/dist/services/ClineRunner.d.ts.map +1 -1
  60. package/dist/services/ClineRunner.js +16 -7
  61. package/dist/services/ClineRunner.js.map +1 -1
  62. package/dist/services/GeminiRunner.d.ts.map +1 -1
  63. package/dist/services/GeminiRunner.js +13 -6
  64. package/dist/services/GeminiRunner.js.map +1 -1
  65. package/dist/services/KiloRunner.d.ts.map +1 -1
  66. package/dist/services/KiloRunner.js +7 -4
  67. package/dist/services/KiloRunner.js.map +1 -1
  68. package/dist/services/OpenClawRunner.d.ts.map +1 -1
  69. package/dist/services/OpenClawRunner.js +16 -7
  70. package/dist/services/OpenClawRunner.js.map +1 -1
  71. package/dist/services/OpenCodeRunner.d.ts.map +1 -1
  72. package/dist/services/OpenCodeRunner.js +16 -7
  73. package/dist/services/OpenCodeRunner.js.map +1 -1
  74. package/dist/services/PromptManager.d.ts.map +1 -1
  75. package/dist/services/PromptManager.js +4 -0
  76. package/dist/services/PromptManager.js.map +1 -1
  77. package/dist/services/QwenCliRunner.d.ts.map +1 -1
  78. package/dist/services/QwenCliRunner.js +16 -7
  79. package/dist/services/QwenCliRunner.js.map +1 -1
  80. package/dist/tools/agent_control.d.ts +2 -69
  81. package/dist/tools/agent_control.d.ts.map +1 -1
  82. package/dist/tools/agent_control.js +186 -241
  83. package/dist/tools/agent_control.js.map +1 -1
  84. package/dist/tools/config_example.d.ts +2 -2
  85. package/dist/tools/config_example.d.ts.map +1 -1
  86. package/dist/tools/config_example.js +2 -4
  87. package/dist/tools/config_example.js.map +1 -1
  88. package/dist/tools/create_agent.d.ts.map +1 -1
  89. package/dist/tools/create_agent.js +11 -0
  90. package/dist/tools/create_agent.js.map +1 -1
  91. package/dist/tools/manage_agents.d.ts.map +1 -1
  92. package/dist/tools/manage_agents.js +3 -2
  93. package/dist/tools/manage_agents.js.map +1 -1
  94. package/dist/tools/run_agent.d.ts +1 -1
  95. package/dist/tools/run_agent.d.ts.map +1 -1
  96. package/dist/tools/run_agent.js +1 -2
  97. package/dist/tools/run_agent.js.map +1 -1
  98. package/dist/tools/run_agent_cli.d.ts +4 -10
  99. package/dist/tools/run_agent_cli.d.ts.map +1 -1
  100. package/dist/tools/run_agent_cli.js +10 -82
  101. package/dist/tools/run_agent_cli.js.map +1 -1
  102. package/dist/tools/run_agents_parallel.d.ts +1 -1
  103. package/docs/agent-http-tutorial.md +524 -0
  104. package/package.json +3 -3
@@ -1,294 +1,255 @@
1
+ /**
2
+ * processRegistry.ts — Persistence layer (disk) + OS-level kill helpers
3
+ * =====================================================================
4
+ *
5
+ * ONLY handles:
6
+ * - Read/write ProcessEntry to .claude/process-registry.json
7
+ * - Background sweeper (cleanupRegistry every 5min)
8
+ * - OS-level killProcessTree + isPidAlive (Windows tasklist / Unix kill -0)
9
+ *
10
+ * Hot-path state (outputBuffer, live status) lives in agent_lifecycle.
11
+ */
1
12
  import fs from 'fs/promises';
2
13
  import path from 'path';
3
- import { exec } from 'child_process';
4
- import { promisify } from 'util';
5
- import { Mutex } from 'async-mutex';
14
+ import { spawn } from 'child_process';
6
15
  import { getWorkspaceDir } from './config.js';
7
- const execAsync = promisify(exec);
8
- const registryMutex = new Mutex();
9
- const SESSIONS_FILE = '.claude/sessions.json';
10
- const PROCESS_TTL_MS = 60 * 60 * 1000; // 1h after done/failed → cleanup
11
- function getSessionsPath(workspaceDir) {
12
- return path.resolve(workspaceDir || getWorkspaceDir(), SESSIONS_FILE);
16
+ const REGISTRY_FILE = '.claude/process-registry.json';
17
+ const PROCESS_TTL_MS = 60 * 60 * 1000;
18
+ const CLEANUP_INTERVAL_MS = 5 * 60 * 1000;
19
+ // ─── Path helpers ─────────────────────────────────────────────────────────────
20
+ function getRegistryPath(workspaceDir) {
21
+ return path.resolve(workspaceDir || getWorkspaceDir(), REGISTRY_FILE);
13
22
  }
14
23
  function buildKey(runner, agentName) {
15
24
  return runner ? `${runner}:${agentName}` : agentName;
16
25
  }
26
+ // ─── Disk persistence ──────────────────────────────────────────────────────────
17
27
  async function readStore(workspaceDir) {
18
- const filePath = getSessionsPath(workspaceDir);
28
+ const filePath = getRegistryPath(workspaceDir);
19
29
  try {
20
30
  const content = await fs.readFile(filePath, 'utf-8');
21
31
  return { store: JSON.parse(content), path: filePath };
22
32
  }
23
33
  catch {
24
- return { store: {}, path: filePath };
34
+ return { store: { processes: {}, version: 2 }, path: filePath };
25
35
  }
26
36
  }
37
+ let writeTimer = null;
38
+ let writePending = false;
39
+ const pendingWrites = new Map();
27
40
  async function writeStore(store, filePath) {
28
- const dir = path.dirname(filePath);
29
- await fs.mkdir(dir, { recursive: true });
30
- await fs.writeFile(filePath, JSON.stringify(store, null, 2), 'utf-8');
41
+ pendingWrites.set(filePath, store);
42
+ if (writePending)
43
+ return;
44
+ writePending = true;
45
+ await new Promise((resolve) => {
46
+ writeTimer = setTimeout(async () => {
47
+ writePending = false;
48
+ writeTimer = null;
49
+ const entries = new Map(pendingWrites);
50
+ pendingWrites.clear();
51
+ for (const [fPath, s] of entries) {
52
+ try {
53
+ await fs.mkdir(path.dirname(fPath), { recursive: true });
54
+ const tmp = fPath + '.tmp.' + Math.random().toString(36).slice(2);
55
+ await fs.writeFile(tmp, JSON.stringify(s, null, 2), 'utf-8');
56
+ await fs.rename(tmp, fPath);
57
+ }
58
+ catch (e) {
59
+ console.error(`[ProcessRegistry] Write failed for ${fPath}:`, e);
60
+ }
61
+ }
62
+ resolve();
63
+ }, 250);
64
+ });
31
65
  }
32
- /**
33
- * Check if a PID is still alive on the system.
34
- * On Windows: parse tasklist output to verify the PID actually appears.
35
- * On Unix: use `kill -0` which returns error if process doesn't exist.
36
- */
66
+ // ─── OS-level process utilities ───────────────────────────────────────────────
67
+ const pidCache = new Map();
68
+ const PID_CACHE_TTL = 2000;
37
69
  export async function isPidAlive(pid) {
70
+ if (!Number.isFinite(pid) || pid <= 0)
71
+ return false;
72
+ const cached = pidCache.get(pid);
73
+ if (cached && Date.now() - cached.ts < PID_CACHE_TTL)
74
+ return cached.alive;
38
75
  try {
39
76
  if (process.platform === 'win32') {
40
- const { stdout } = await execAsync(`tasklist /FI "PID eq ${pid}" /FO CSV /NH`);
41
- // tasklist returns "INFO: No tasks are running." with exit code 0 when no match
42
- const trimmed = stdout.trim();
43
- if (trimmed.includes('No tasks are running') || !trimmed) {
44
- return false;
45
- }
46
- // Output format: "imagename","pid","sessionname","sessionnum","memory"
47
- // If PID appears, it will be in the second CSV field
48
- const lines = trimmed.split('\n');
49
- for (const line of lines) {
50
- const parts = line.split(',');
51
- if (parts.length >= 2) {
52
- const pidStr = parts[1].replace(/"/g, '').trim();
53
- if (pidStr === String(pid)) {
54
- return true;
55
- }
56
- }
57
- }
58
- return false;
77
+ const result = await new Promise((resolve) => {
78
+ const child = spawn('tasklist', ['/FI', `PID eq ${pid}`, '/FO', 'CSV', '/NH'], {
79
+ windowsHide: true,
80
+ stdio: ['pipe', 'pipe', 'pipe'],
81
+ });
82
+ let out = '';
83
+ child.stdout.on('data', (d) => { out += d.toString(); });
84
+ child.on('close', () => {
85
+ const trimmed = out.trim();
86
+ resolve(!trimmed.includes('No tasks are running') && trimmed.includes(String(pid)));
87
+ });
88
+ child.on('error', () => resolve(false));
89
+ });
90
+ pidCache.set(pid, { alive: result, ts: Date.now() });
91
+ return result;
59
92
  }
60
93
  else {
61
- await execAsync(`kill -0 ${pid}`);
62
- return true;
94
+ const { execFileSync } = await import('child_process');
95
+ try {
96
+ execFileSync('kill', ['-0', String(pid)], { timeout: 2000 });
97
+ pidCache.set(pid, { alive: true, ts: Date.now() });
98
+ return true;
99
+ }
100
+ catch {
101
+ pidCache.set(pid, { alive: false, ts: Date.now() });
102
+ return false;
103
+ }
63
104
  }
64
105
  }
65
106
  catch {
66
107
  return false;
67
108
  }
68
109
  }
69
- /**
70
- * Kill a process tree (PID + all children) — Windows or Unix.
71
- */
72
110
  export async function killProcessTree(pid) {
111
+ if (!Number.isFinite(pid) || pid <= 0)
112
+ return;
73
113
  try {
74
114
  if (process.platform === 'win32') {
75
- await execAsync(`taskkill /F /T /PID ${pid}`);
115
+ await new Promise((resolve) => {
116
+ const child = spawn('taskkill', ['/F', '/T', '/PID', String(pid)], {
117
+ windowsHide: true,
118
+ stdio: 'pipe',
119
+ });
120
+ child.on('close', () => resolve());
121
+ child.on('error', () => resolve());
122
+ });
76
123
  }
77
124
  else {
78
- await execAsync(`kill -9 ${pid}`);
125
+ await new Promise((resolve) => {
126
+ const child = spawn('kill', ['-9', String(pid)], { stdio: 'pipe' });
127
+ child.on('close', () => resolve());
128
+ child.on('error', () => resolve());
129
+ });
79
130
  }
131
+ pidCache.delete(pid);
80
132
  }
81
133
  catch {
82
- // Process may have already exited that's fine
134
+ // Already dead — fine
83
135
  }
84
136
  }
85
- /**
86
- * Register a new running process. Called immediately after spawn(),
87
- * before sessionId is known.
88
- */
137
+ // ─── Registry operations ──────────────────────────────────────────────────────
89
138
  export async function registerProcess(pid, meta) {
90
- return registryMutex.runExclusive(async () => {
91
- const { store, path: filePath } = await readStore(meta.configPath);
92
- const key = buildKey(meta.runner, meta.agentName);
93
- // Preserve existing id/ts if any (legacy entry), just update pid/status
94
- const existing = store[key];
95
- const entry = typeof existing === 'object' && existing !== null
96
- ? { ...existing, pid, status: 'running', outputBuffer: existing.outputBuffer || '' }
97
- : {
98
- id: '',
99
- ts: Date.now(),
100
- pid,
101
- runner: meta.runner,
102
- agentName: meta.agentName,
103
- status: 'running',
104
- outputBuffer: '',
105
- };
106
- store[key] = entry;
107
- await writeStore(store, filePath);
108
- });
139
+ const { store, path: filePath } = await readStore(meta.configPath);
140
+ const key = buildKey(meta.runner, meta.agentName);
141
+ store.processes[key] = {
142
+ id: '',
143
+ ts: Date.now(),
144
+ pid,
145
+ runner: meta.runner,
146
+ agentName: meta.agentName,
147
+ status: 'running',
148
+ exitCode: null,
149
+ };
150
+ await writeStore(store, filePath);
109
151
  }
110
- /**
111
- * Link a sessionId to an already-registered PID.
112
- * Called when the runner emits a sessionId for the first time.
113
- */
114
152
  export async function linkSessionToPid(sessionId, pid, configPath) {
115
- return registryMutex.runExclusive(async () => {
116
- const { store, path: filePath } = await readStore(configPath);
117
- for (const key of Object.keys(store)) {
118
- const entry = store[key];
119
- if (typeof entry === 'object' && entry !== null && entry.pid === pid && !entry.id) {
120
- entry.id = sessionId;
121
- entry.ts = Date.now();
122
- entry.lastOutputAt = Date.now();
123
- store[key] = entry;
124
- await writeStore(store, filePath);
125
- return;
126
- }
153
+ const { store, path: filePath } = await readStore(configPath);
154
+ for (const key of Object.keys(store.processes)) {
155
+ const entry = store.processes[key];
156
+ if (entry.pid === pid) {
157
+ entry.id = sessionId;
158
+ entry.ts = Date.now();
159
+ store.processes[key] = entry;
160
+ await writeStore(store, filePath);
161
+ return;
127
162
  }
128
- });
163
+ }
129
164
  }
130
- /**
131
- * Update output buffer for a running process.
132
- * Called in stdout 'data' handler to enable live streaming.
133
- */
165
+ /** appendOutput — NO-OP: agent_lifecycle handles output in RAM */
134
166
  export async function appendOutput(pid, chunk, configPath) {
135
- return registryMutex.runExclusive(async () => {
136
- const { store, path: filePath } = await readStore(configPath);
137
- for (const key of Object.keys(store)) {
138
- const entry = store[key];
139
- if (typeof entry === 'object' && entry !== null && entry.pid === pid) {
140
- entry.outputBuffer += chunk;
141
- entry.lastOutputAt = Date.now();
142
- store[key] = entry;
143
- await writeStore(store, filePath);
144
- return;
145
- }
146
- }
147
- });
167
+ void pid;
168
+ void chunk;
169
+ void configPath;
148
170
  }
149
- /**
150
- * Mark a process as done/failed/orphaned.
151
- */
152
171
  export async function updateProcessStatus(pid, status, exitCode, configPath) {
153
- return registryMutex.runExclusive(async () => {
154
- const { store, path: filePath } = await readStore(configPath);
155
- for (const key of Object.keys(store)) {
156
- const entry = store[key];
157
- if (typeof entry === 'object' && entry !== null && entry.pid === pid) {
158
- entry.status = status;
159
- entry.exitCode = exitCode ?? null;
160
- entry.lastOutputAt = Date.now();
161
- store[key] = entry;
162
- await writeStore(store, filePath);
163
- return;
164
- }
172
+ const { store, path: filePath } = await readStore(configPath);
173
+ for (const key of Object.keys(store.processes)) {
174
+ const entry = store.processes[key];
175
+ if (entry.pid === pid) {
176
+ entry.status = status;
177
+ entry.exitCode = exitCode ?? null;
178
+ entry.lastOutputAt = Date.now();
179
+ store.processes[key] = entry;
180
+ await writeStore(store, filePath);
181
+ return;
165
182
  }
166
- });
183
+ }
167
184
  }
168
- /**
169
- * Get current status + output for an agent.
170
- */
171
185
  export async function getProcessStatus(agentName, runner, configPath) {
172
- return registryMutex.runExclusive(async () => {
173
- const { store } = await readStore(configPath);
174
- const key = buildKey(runner, agentName);
175
- const entry = store[key];
176
- if (!entry)
177
- return null;
178
- if (typeof entry === 'string') {
179
- return { id: entry, ts: Date.now(), agentName, status: 'done', outputBuffer: '' };
180
- }
181
- // Check if running process is actually dead
182
- if (entry.status === 'running' && entry.pid) {
183
- const alive = await isPidAlive(entry.pid);
184
- if (!alive) {
185
- entry.status = 'orphaned';
186
- }
187
- }
188
- return entry;
189
- });
186
+ const { store } = await readStore(configPath);
187
+ const key = buildKey(runner, agentName);
188
+ return store.processes[key] ?? null;
190
189
  }
191
- /**
192
- * Kill a running agent by PID.
193
- */
194
190
  export async function killAgent(agentName, runner, configPath) {
195
- return registryMutex.runExclusive(async () => {
196
- const { store, path: filePath } = await readStore(configPath);
197
- const key = buildKey(runner, agentName);
198
- const entry = store[key];
199
- if (!entry || typeof entry !== 'object' || entry.status !== 'running') {
200
- return { killed: false };
201
- }
202
- const pid = entry.pid;
203
- if (!pid)
204
- return { killed: false };
191
+ const { store, path: filePath } = await readStore(configPath);
192
+ const key = buildKey(runner, agentName);
193
+ const entry = store.processes[key];
194
+ if (!entry || entry.status !== 'running')
195
+ return { killed: false };
196
+ const pid = entry.pid;
197
+ if (pid)
205
198
  await killProcessTree(pid);
206
- entry.status = 'failed';
207
- entry.exitCode = null;
208
- entry.lastOutputAt = Date.now();
209
- store[key] = entry;
210
- await writeStore(store, filePath);
211
- return { killed: true, pid };
212
- });
199
+ entry.status = 'failed';
200
+ entry.exitCode = null;
201
+ entry.lastOutputAt = Date.now();
202
+ store.processes[key] = entry;
203
+ await writeStore(store, filePath);
204
+ return { killed: true, pid };
213
205
  }
214
- /**
215
- * Unregister (remove) a process entry. Call after TTL expires.
216
- */
217
206
  export async function unregisterProcess(pid, configPath) {
218
- return registryMutex.runExclusive(async () => {
219
- const { store, path: filePath } = await readStore(configPath);
220
- let changed = false;
221
- for (const key of Object.keys(store)) {
222
- const entry = store[key];
223
- if (typeof entry === 'object' && entry !== null && entry.pid === pid) {
224
- delete store[key];
225
- changed = true;
226
- }
227
- }
228
- if (changed) {
229
- await writeStore(store, filePath);
207
+ const { store, path: filePath } = await readStore(configPath);
208
+ let changed = false;
209
+ for (const key of Object.keys(store.processes)) {
210
+ if (store.processes[key].pid === pid) {
211
+ delete store.processes[key];
212
+ changed = true;
230
213
  }
231
- });
214
+ }
215
+ if (changed)
216
+ await writeStore(store, filePath);
232
217
  }
233
- /**
234
- * Scan all entries and clean up dead processes and old entries.
235
- * Called on startup and periodically.
236
- */
237
218
  export async function cleanupRegistry(configPath) {
238
- return registryMutex.runExclusive(async () => {
239
- const { store, path: filePath } = await readStore(configPath);
240
- const now = Date.now();
241
- let orphaned = 0;
242
- let expired = 0;
243
- let changed = false;
244
- for (const key of Object.keys(store)) {
245
- const entry = store[key];
246
- if (typeof entry !== 'object' || entry === null)
247
- continue;
248
- // Check running processes
249
- if (entry.status === 'running' && entry.pid) {
250
- const alive = await isPidAlive(entry.pid);
251
- if (!alive) {
252
- entry.status = 'orphaned';
253
- orphaned++;
254
- changed = true;
255
- }
256
- }
257
- // TTL cleanup for done/failed/orphaned
258
- if (entry.status !== 'running') {
259
- const age = now - (entry.lastOutputAt || entry.ts);
260
- if (age > PROCESS_TTL_MS) {
261
- delete store[key];
262
- expired++;
263
- changed = true;
264
- }
219
+ const { store, path: filePath } = await readStore(configPath);
220
+ const now = Date.now();
221
+ let orphaned = 0;
222
+ let expired = 0;
223
+ let changed = false;
224
+ for (const key of Object.keys(store.processes)) {
225
+ const entry = store.processes[key];
226
+ if (entry.status === 'running' && entry.pid) {
227
+ const alive = await isPidAlive(entry.pid);
228
+ if (!alive) {
229
+ entry.status = 'orphaned';
230
+ orphaned++;
231
+ changed = true;
265
232
  }
266
233
  }
267
- if (changed) {
268
- await writeStore(store, filePath);
234
+ if (entry.status !== 'running') {
235
+ const age = now - (entry.lastOutputAt || entry.ts);
236
+ if (age > PROCESS_TTL_MS) {
237
+ delete store.processes[key];
238
+ expired++;
239
+ changed = true;
240
+ }
269
241
  }
270
- return { orphaned, expired };
271
- });
242
+ }
243
+ if (changed)
244
+ await writeStore(store, filePath);
245
+ return { orphaned, expired };
272
246
  }
273
- /**
274
- * Get all running processes.
275
- */
276
247
  export async function getRunningProcesses(configPath) {
277
- return registryMutex.runExclusive(async () => {
278
- const { store } = await readStore(configPath);
279
- const result = [];
280
- for (const entry of Object.values(store)) {
281
- if (typeof entry === 'object' && entry !== null && entry.status === 'running') {
282
- if (entry.pid) {
283
- const alive = await isPidAlive(entry.pid);
284
- if (!alive) {
285
- entry.status = 'orphaned';
286
- }
287
- }
288
- result.push(entry);
289
- }
290
- }
291
- return result;
292
- });
248
+ const { store } = await readStore(configPath);
249
+ return Object.values(store.processes).filter((e) => e.status === 'running');
250
+ }
251
+ export function startAutoCleanup(configPath) {
252
+ cleanupRegistry(configPath).catch(() => { });
253
+ setInterval(() => { cleanupRegistry(configPath).catch(() => { }); }, CLEANUP_INTERVAL_MS);
293
254
  }
294
255
  //# sourceMappingURL=processRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processRegistry.js","sourceRoot":"","sources":["../../src/lib/processRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processRegistry.js","sourceRoot":"","sources":["../../src/lib/processRegistry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryFactory.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAc5D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEzG;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAIlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC;AAKD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBtE"}
1
+ {"version":3,"file":"MemoryFactory.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAc5D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEzG;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAIlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC;AAKD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBtE"}
@@ -63,7 +63,8 @@ export async function storeRun(params) {
63
63
  agentName: params.agentName,
64
64
  }, 'CRITICAL: Failed to store run in memory - database may be unavailable!');
65
65
  // Re-throw so the runner can report this to the user
66
- throw new Error(`MEMORY_UNAVAILABLE: ${err.message}`, { cause: error });
66
+ // Don't leak connection details keep error generic, details in logs
67
+ throw new Error('MEMORY_UNAVAILABLE: Database operation failed — check server logs', { cause: error });
67
68
  }
68
69
  }
69
70
  //# sourceMappingURL=MemoryFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryFactory.js","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAE/C,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEzG;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,2BAA2B,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7C,cAAc,GAAG,KAAK,CAAC;QACvB,YAAY,GAAG,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAC;QAExF,uEAAuE;IACzE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC;AAED,4BAA4B;AAC5B,iBAAiB,EAAE,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,CAAC;QACtB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,GAAG,KAAK,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC;YACX,KAAK,EAAE,GAAG,CAAC,OAAO;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,EAAE,wEAAwE,CAAC,CAAC;QAE7E,qDAAqD;QACrD,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"MemoryFactory.js","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAE/C,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEzG;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,2BAA2B,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7C,cAAc,GAAG,KAAK,CAAC;QACvB,YAAY,GAAG,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAC;QAExF,uEAAuE;IACzE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC;AAED,4BAA4B;AAC5B,iBAAiB,EAAE,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,CAAC;QACtB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,GAAG,KAAK,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC;YACX,KAAK,EAAE,GAAG,CAAC,OAAO;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,EAAE,wEAAwE,CAAC,CAAC;QAE7E,qDAAqD;QACrD,sEAAsE;QACtE,MAAM,IAAI,KAAK,CAAC,mEAAmE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC"}
@@ -11,6 +11,7 @@ export declare class PostgresMemoryProvider implements MemoryProvider {
11
11
  private coreDbName;
12
12
  private dbVectorSupport;
13
13
  private dbCreationInProgress;
14
+ private poolCleanupHandlers;
14
15
  constructor();
15
16
  private sanitizeIdentifier;
16
17
  private getDbName;
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresMemoryProvider.d.ts","sourceRoot":"","sources":["../../src/memory/PostgresMemoryProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAgBpB,UAAU,aAAa;IACrB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACxC;AAMD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAGzE;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAE3E;AA6BD,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAO;IAC9B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,oBAAoB,CAAqB;;IAOjD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,SAAS;YAKH,UAAU;YAmFV,oBAAoB;YA+FpB,YAAY;IAoGpB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA8CjD,cAAc,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4Bb,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkEjE,aAAa,CAAC,MAAM,EAAE;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAsBjB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAuBzD"}
1
+ {"version":3,"file":"PostgresMemoryProvider.d.ts","sourceRoot":"","sources":["../../src/memory/PostgresMemoryProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAgBpB,UAAU,aAAa;IACrB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACxC;AAMD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAGzE;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAE3E;AA6BD,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAO;IAC9B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,mBAAmB,CAAiC;;IAO5D,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,SAAS;YAKH,UAAU;YAqFV,oBAAoB;YAmGpB,YAAY;IAoGpB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA8CjD,cAAc,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4Bb,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkEjE,aAAa,CAAC,MAAM,EAAE;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAsBjB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAuBzD"}