clawatch 1.0.14 → 1.0.21

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 (115) hide show
  1. package/backend/dist/alertChecker.d.ts.map +1 -1
  2. package/backend/dist/alertChecker.js +130 -1
  3. package/backend/dist/alertChecker.js.map +1 -1
  4. package/backend/dist/db.d.ts.map +1 -1
  5. package/backend/dist/db.js +1 -0
  6. package/backend/dist/db.js.map +1 -1
  7. package/backend/dist/projects.d.ts +9 -0
  8. package/backend/dist/projects.d.ts.map +1 -1
  9. package/backend/dist/projects.js +87 -23
  10. package/backend/dist/projects.js.map +1 -1
  11. package/backend/dist/routes.d.ts.map +1 -1
  12. package/backend/dist/routes.js +687 -54
  13. package/backend/dist/routes.js.map +1 -1
  14. package/backend/dist/sessions.d.ts +14 -7
  15. package/backend/dist/sessions.d.ts.map +1 -1
  16. package/backend/dist/sessions.js +199 -43
  17. package/backend/dist/sessions.js.map +1 -1
  18. package/backend/dist/sync.d.ts.map +1 -1
  19. package/backend/dist/sync.js +293 -33
  20. package/backend/dist/sync.js.map +1 -1
  21. package/dist/cli.js +222 -91
  22. package/dist/cli.js.map +1 -1
  23. package/dist/collector.d.ts.map +1 -1
  24. package/dist/collector.js +67 -62
  25. package/dist/collector.js.map +1 -1
  26. package/dist/config.d.ts +16 -1
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +69 -5
  29. package/dist/config.js.map +1 -1
  30. package/frontend/.next/BUILD_ID +1 -1
  31. package/frontend/.next/build-manifest.json +4 -4
  32. package/frontend/.next/server/app/_global-error/page/build-manifest.json +2 -2
  33. package/frontend/.next/server/app/_global-error/page.js.nft.json +1 -1
  34. package/frontend/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  35. package/frontend/.next/server/app/_global-error.html +2 -2
  36. package/frontend/.next/server/app/_global-error.rsc +8 -8
  37. package/frontend/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  38. package/frontend/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  39. package/frontend/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
  40. package/frontend/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  41. package/frontend/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  42. package/frontend/.next/server/app/_not-found/page/build-manifest.json +2 -2
  43. package/frontend/.next/server/app/_not-found/page.js.nft.json +1 -1
  44. package/frontend/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  45. package/frontend/.next/server/app/_not-found.html +1 -1
  46. package/frontend/.next/server/app/_not-found.rsc +9 -9
  47. package/frontend/.next/server/app/_not-found.segments/_full.segment.rsc +9 -9
  48. package/frontend/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  49. package/frontend/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  50. package/frontend/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  51. package/frontend/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  52. package/frontend/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  53. package/frontend/.next/server/app/dashboard/page/build-manifest.json +2 -2
  54. package/frontend/.next/server/app/dashboard/page.js.nft.json +1 -1
  55. package/frontend/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  56. package/frontend/.next/server/app/dashboard/projects/[id]/page/build-manifest.json +2 -2
  57. package/frontend/.next/server/app/dashboard/projects/[id]/page.js.nft.json +1 -1
  58. package/frontend/.next/server/app/dashboard/projects/[id]/page_client-reference-manifest.js +1 -1
  59. package/frontend/.next/server/app/dashboard/sessions/[id]/page/build-manifest.json +2 -2
  60. package/frontend/.next/server/app/dashboard/sessions/[id]/page.js.nft.json +1 -1
  61. package/frontend/.next/server/app/dashboard/sessions/[id]/page_client-reference-manifest.js +1 -1
  62. package/frontend/.next/server/app/dashboard.html +1 -1
  63. package/frontend/.next/server/app/dashboard.rsc +10 -10
  64. package/frontend/.next/server/app/dashboard.segments/_full.segment.rsc +10 -10
  65. package/frontend/.next/server/app/dashboard.segments/_head.segment.rsc +4 -4
  66. package/frontend/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
  67. package/frontend/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  68. package/frontend/.next/server/app/dashboard.segments/dashboard/__PAGE__.segment.rsc +4 -4
  69. package/frontend/.next/server/app/dashboard.segments/dashboard.segment.rsc +3 -3
  70. package/frontend/.next/server/app/index.html +1 -1
  71. package/frontend/.next/server/app/index.rsc +10 -10
  72. package/frontend/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  73. package/frontend/.next/server/app/index.segments/_full.segment.rsc +10 -10
  74. package/frontend/.next/server/app/index.segments/_head.segment.rsc +4 -4
  75. package/frontend/.next/server/app/index.segments/_index.segment.rsc +4 -4
  76. package/frontend/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  77. package/frontend/.next/server/app/page/build-manifest.json +2 -2
  78. package/frontend/.next/server/app/page.js.nft.json +1 -1
  79. package/frontend/.next/server/app/page_client-reference-manifest.js +1 -1
  80. package/frontend/.next/server/chunks/ssr/[root-of-the-server]__008d27c3._.js +1 -1
  81. package/frontend/.next/server/chunks/ssr/{[root-of-the-server]__bdeac1dc._.js → [root-of-the-server]__32661fd1._.js} +2 -2
  82. package/frontend/.next/server/chunks/ssr/{[root-of-the-server]__8511f4a3._.js → [root-of-the-server]__9b38782c._.js} +2 -2
  83. package/frontend/.next/server/chunks/ssr/[root-of-the-server]__a64655ed._.js +2 -2
  84. package/frontend/.next/server/chunks/ssr/[root-of-the-server]__d2832b3e._.js +3 -0
  85. package/frontend/.next/server/chunks/ssr/[root-of-the-server]__f437da88._.js +1 -1
  86. package/frontend/.next/server/chunks/ssr/_2bfdd77b._.js +1 -1
  87. package/frontend/.next/server/chunks/ssr/_b0ae6d33._.js +1 -1
  88. package/frontend/.next/server/chunks/ssr/_e17fe96b._.js +3 -0
  89. package/frontend/.next/server/chunks/ssr/_f26b1aca._.js +1 -1
  90. package/frontend/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js +1 -1
  91. package/frontend/.next/server/chunks/ssr/{node_modules_next_dist_27457240._.js → node_modules_next_dist_esm_eedfc1fd._.js} +2 -2
  92. package/frontend/.next/server/middleware-build-manifest.js +2 -2
  93. package/frontend/.next/server/pages/404.html +1 -1
  94. package/frontend/.next/server/pages/500.html +2 -2
  95. package/frontend/.next/static/chunks/641e855850e79de9.css +3 -0
  96. package/frontend/.next/static/chunks/{d702a24e2b6c48fa.js → 6b50f8d2ee1d2bea.js} +2 -2
  97. package/frontend/.next/static/chunks/88faea50dcf8f778.js +1 -0
  98. package/frontend/.next/static/chunks/8ffedcb68f4a998f.js +1 -0
  99. package/frontend/.next/static/chunks/{d2be314c3ece3fbe.js → a2dfb6fc5208ab9b.js} +1 -1
  100. package/frontend/.next/static/chunks/a909e37955d0604e.js +1 -0
  101. package/frontend/.next/static/chunks/ba72b58eb8cb3f4e.js +1 -0
  102. package/frontend/.next/static/chunks/e975763f7a359fb5.js +1 -0
  103. package/frontend/.next/static/chunks/{turbopack-0df1acbb994b2a74.js → turbopack-1e12e8d4e4225e2f.js} +1 -1
  104. package/frontend/package.json +1 -0
  105. package/package.json +4 -3
  106. package/frontend/.next/server/chunks/ssr/[root-of-the-server]__48e09bc8._.js +0 -3
  107. package/frontend/.next/server/chunks/ssr/src_app_dashboard_page_tsx_196c74b5._.js +0 -3
  108. package/frontend/.next/static/chunks/284aee0eb323076c.js +0 -1
  109. package/frontend/.next/static/chunks/2b7d8037bb74445e.css +0 -3
  110. package/frontend/.next/static/chunks/520be2943f8ae266.js +0 -1
  111. package/frontend/.next/static/chunks/58873fd2347d1c88.js +0 -1
  112. package/frontend/.next/static/chunks/a308a3cc32b8bc4a.js +0 -1
  113. /package/frontend/.next/static/{MXEzMiO_GmJh6uODpfgzU → Q4SarPs6hugI0HGjYUgVg}/_buildManifest.js +0 -0
  114. /package/frontend/.next/static/{MXEzMiO_GmJh6uODpfgzU → Q4SarPs6hugI0HGjYUgVg}/_clientMiddlewareManifest.json +0 -0
  115. /package/frontend/.next/static/{MXEzMiO_GmJh6uODpfgzU → Q4SarPs6hugI0HGjYUgVg}/_ssgManifest.js +0 -0
package/dist/cli.js CHANGED
@@ -38,30 +38,95 @@ const commander_1 = require("commander");
38
38
  const chalk = require("chalk");
39
39
  const fs = __importStar(require("fs"));
40
40
  const path = __importStar(require("path"));
41
- const os = __importStar(require("os"));
42
41
  const child_process_1 = require("child_process");
43
42
  const config_1 = require("./config");
44
43
  const child_process_2 = require("child_process");
45
44
  const net = __importStar(require("net"));
46
45
  // SSOT: read version from package.json
47
46
  const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf-8'));
48
- // --- Helper: find a free port starting from preferred ---
49
- function findFreePort(preferred) {
47
+ // --- Helper: check if a port is free ---
48
+ function isPortFree(port) {
50
49
  return new Promise((resolve) => {
51
50
  const server = net.createServer();
52
- server.listen(preferred, () => {
53
- server.close(() => resolve(preferred));
54
- });
55
- server.on('error', () => {
56
- // Port taken, try next
57
- const next = net.createServer();
58
- next.listen(0, () => {
59
- const port = next.address().port;
60
- next.close(() => resolve(port));
61
- });
51
+ server.listen(port, () => {
52
+ server.close(() => resolve(true));
62
53
  });
54
+ server.on('error', () => resolve(false));
63
55
  });
64
56
  }
57
+ // --- Helper: kill a process by PID (returns true if killed) ---
58
+ function killPid(pid) {
59
+ try {
60
+ process.kill(pid, 0); // check if alive
61
+ process.kill(pid, 'SIGTERM');
62
+ return true;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ // --- Helper: kill process occupying a port (macOS/Linux) ---
69
+ function killProcessOnPort(port, signal = 'SIGTERM') {
70
+ try {
71
+ const output = (0, child_process_2.execSync)(`lsof -ti :${port} 2>/dev/null || /usr/sbin/lsof -ti :${port} 2>/dev/null`, { encoding: 'utf-8' }).trim();
72
+ if (!output)
73
+ return false;
74
+ const pids = output.split('\n').map(p => parseInt(p, 10)).filter(p => !isNaN(p));
75
+ for (const pid of pids) {
76
+ try {
77
+ process.kill(pid, signal);
78
+ }
79
+ catch { /* already dead */ }
80
+ }
81
+ return pids.length > 0;
82
+ }
83
+ catch {
84
+ return false;
85
+ }
86
+ }
87
+ // --- Helper: kill ALL managed ClaWatch processes ---
88
+ function killAllManagedProcesses() {
89
+ // 1. Kill tracked PIDs from pids file
90
+ const pids = (0, config_1.loadPids)();
91
+ for (const [role, pid] of Object.entries(pids)) {
92
+ if (pid && typeof pid === 'number') {
93
+ if (killPid(pid)) {
94
+ console.log(chalk.yellow(` Killed previous ${role} (PID: ${pid})`));
95
+ }
96
+ }
97
+ }
98
+ // 2. Also kill legacy single PID file
99
+ if (fs.existsSync(config_1.paths.pid)) {
100
+ const oldPid = parseInt(fs.readFileSync(config_1.paths.pid, 'utf-8').trim(), 10);
101
+ if (!isNaN(oldPid))
102
+ killPid(oldPid);
103
+ }
104
+ (0, config_1.clearPids)();
105
+ }
106
+ // --- Helper: ensure port is available, killing stale ClaWatch processes if needed ---
107
+ async function ensurePort(port, label) {
108
+ if (await isPortFree(port))
109
+ return;
110
+ // Try SIGTERM first
111
+ console.log(chalk.yellow(` Port ${port} is occupied (${label}). Killing stale process (SIGTERM)...`));
112
+ killProcessOnPort(port, 'SIGTERM');
113
+ for (let i = 0; i < 6; i++) {
114
+ await new Promise(r => setTimeout(r, 500));
115
+ if (await isPortFree(port))
116
+ return;
117
+ }
118
+ // Escalate to SIGKILL
119
+ console.log(chalk.yellow(` Process didn't exit cleanly. Sending SIGKILL...`));
120
+ killProcessOnPort(port, 'SIGKILL');
121
+ for (let i = 0; i < 6; i++) {
122
+ await new Promise(r => setTimeout(r, 500));
123
+ if (await isPortFree(port))
124
+ return;
125
+ }
126
+ console.log(chalk.red(` ERROR: Port ${port} is still occupied after cleanup. Cannot start ${label}.`));
127
+ console.log(chalk.red(` Run: lsof -i :${port} to see what's using it.`));
128
+ process.exit(1);
129
+ }
65
130
  // --- Helper: ensure better-sqlite3 native addon is built ---
66
131
  function ensureNativeAddon(backendDir) {
67
132
  const bsqlite = path.join(backendDir, 'node_modules', 'better-sqlite3');
@@ -119,9 +184,10 @@ function findDir(name) {
119
184
  }
120
185
  // --- Helper: auto-init if not configured ---
121
186
  function autoInit() {
122
- const openclawDir = path.join(os.homedir(), '.openclaw');
187
+ const { discoverOpenclawDirs } = require('./config');
188
+ const openclawDirs = discoverOpenclawDirs();
123
189
  const config = {
124
- openclawDir,
190
+ openclawDirs,
125
191
  backendUrl: 'http://localhost:3001',
126
192
  apiKey: '',
127
193
  scanIntervalMs: 60000,
@@ -138,46 +204,40 @@ program
138
204
  .option('--no-open', 'Don\'t open browser')
139
205
  .action(async (opts) => {
140
206
  console.log(chalk.bold('\n🔍 ClaWatch — AI Agent Observability\n'));
141
- // Kill existing daemon if running
142
- if (fs.existsSync(config_1.paths.pid)) {
143
- const oldPid = parseInt(fs.readFileSync(config_1.paths.pid, 'utf-8').trim(), 10);
144
- try {
145
- process.kill(oldPid, 'SIGTERM');
146
- console.log(chalk.yellow(`Stopped previous daemon (PID: ${oldPid})`));
147
- }
148
- catch {
149
- // Already dead
150
- }
151
- fs.unlinkSync(config_1.paths.pid);
152
- }
207
+ // Kill ALL existing ClaWatch processes (daemon + backend + frontend)
208
+ console.log(chalk.blue('Cleaning up previous processes...'));
209
+ killAllManagedProcesses();
153
210
  // Auto-init if needed
154
211
  if (!(0, config_1.configExists)()) {
155
- const openclawDir = path.join(os.homedir(), '.openclaw');
156
- if (!fs.existsSync(openclawDir)) {
157
- console.log(chalk.red('OpenClaw directory not found: ~/.openclaw'));
212
+ const { discoverOpenclawDirs } = require('./config');
213
+ const openclawDirs = discoverOpenclawDirs();
214
+ if (openclawDirs.length === 0 || !openclawDirs.some((d) => fs.existsSync(d))) {
215
+ console.log(chalk.red('No OpenClaw directories found (~/.openclaw or ~/.openclaw-*)'));
158
216
  console.log(chalk.yellow('Install OpenClaw first: https://openclaw.ai'));
159
217
  process.exit(1);
160
218
  }
161
219
  console.log(chalk.blue('First run — auto-configuring...'));
162
220
  autoInit();
163
- const agentsDir = path.join(openclawDir, 'agents');
164
- const agents = fs.existsSync(agentsDir)
165
- ? fs.readdirSync(agentsDir).filter(n => fs.existsSync(path.join(agentsDir, n, 'sessions')))
166
- : [];
167
- console.log(chalk.green(` Found ${agents.length} agents: ${agents.join(', ')}`));
221
+ let totalAgents = 0;
222
+ for (const openclawDir of openclawDirs) {
223
+ const agentsDir = path.join(openclawDir, 'agents');
224
+ const agents = fs.existsSync(agentsDir)
225
+ ? fs.readdirSync(agentsDir).filter(n => fs.existsSync(path.join(agentsDir, n, 'sessions')))
226
+ : [];
227
+ const profileName = path.basename(openclawDir) === '.openclaw' ? 'default' : path.basename(openclawDir).slice('.openclaw-'.length);
228
+ if (agents.length > 0) {
229
+ console.log(chalk.green(` Profile "${profileName}": ${agents.length} agents (${agents.join(', ')})`));
230
+ }
231
+ totalAgents += agents.length;
232
+ }
233
+ console.log(chalk.green(` Total: ${totalAgents} agents across ${openclawDirs.length} profile(s)`));
168
234
  }
169
235
  const config = (0, config_1.loadConfig)();
170
- const port = opts.port || '3001';
171
- const preferredBackend = 3001;
172
- const preferredFrontend = parseInt(port, 10) || 3456;
173
- const backendPort = await findFreePort(preferredBackend);
174
- const frontendPort = await findFreePort(preferredFrontend === backendPort ? preferredFrontend + 1 : preferredFrontend);
175
- if (backendPort !== preferredBackend) {
176
- console.log(chalk.yellow(` Port ${preferredBackend} in use, using ${backendPort} for API`));
177
- }
178
- if (frontendPort !== preferredFrontend) {
179
- console.log(chalk.yellow(` Port ${preferredFrontend} in use, using ${frontendPort} for dashboard`));
180
- }
236
+ const backendPort = 3001;
237
+ const frontendPort = parseInt(opts.port, 10) || 3456;
238
+ // Ensure ports are available — kill stale processes, don't silently pick random ports
239
+ await ensurePort(backendPort, 'backend API');
240
+ await ensurePort(frontendPort, 'dashboard');
181
241
  const BACKEND_PORT = String(backendPort);
182
242
  const FRONTEND_PORT = String(frontendPort);
183
243
  // 1. Start backend server (API)
@@ -250,8 +310,9 @@ program
250
310
  // 3. Start monitoring daemon
251
311
  console.log(chalk.blue('Starting monitoring...'));
252
312
  const daemonPath = path.join(__dirname, 'daemon.js');
313
+ let daemonProcess = null;
253
314
  if (fs.existsSync(daemonPath)) {
254
- const daemonProcess = (0, child_process_1.fork)(daemonPath, [], {
315
+ daemonProcess = (0, child_process_1.fork)(daemonPath, [], {
255
316
  stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
256
317
  });
257
318
  daemonProcess.stdout?.on('data', (d) => {
@@ -260,7 +321,21 @@ program
260
321
  console.log(chalk.gray(` [monitor] ${line}`));
261
322
  });
262
323
  }
263
- // 4. Wait for dashboard to be ready, then open browser
324
+ // 4. Save ALL process PIDs for reliable cleanup
325
+ const managedPids = {};
326
+ if (daemonProcess?.pid)
327
+ managedPids.daemon = daemonProcess.pid;
328
+ if (backendProcess?.pid)
329
+ managedPids.backend = backendProcess.pid;
330
+ if (frontendProcess?.pid)
331
+ managedPids.frontend = frontendProcess.pid;
332
+ (0, config_1.savePids)(managedPids);
333
+ // Also write legacy PID file for backward compat
334
+ if (daemonProcess?.pid) {
335
+ fs.writeFileSync(config_1.paths.pid, String(daemonProcess.pid));
336
+ }
337
+ console.log(chalk.gray(` Tracking PIDs: ${JSON.stringify(managedPids)}`));
338
+ // 5. Wait for dashboard to be ready, then open browser
264
339
  const dashUrl = `http://localhost:${FRONTEND_PORT}`;
265
340
  console.log(chalk.blue(`\nWaiting for dashboard...`));
266
341
  let ready = false;
@@ -297,21 +372,38 @@ program
297
372
  console.log(chalk.yellow(`\n⚠️ Server not ready yet, but processes started.`));
298
373
  console.log(chalk.yellow(` Try opening ${dashUrl} manually.`));
299
374
  }
300
- // Keep process alive
301
- process.on('SIGINT', () => {
302
- console.log(chalk.yellow('\nShutting down...'));
303
- if (backendProcess)
304
- backendProcess.kill();
305
- if (frontendProcess)
306
- frontendProcess.kill();
307
- process.exit(0);
308
- });
309
- process.on('SIGTERM', () => {
375
+ // Keep process alive — clean shutdown kills ALL child processes and clears PID files
376
+ const shutdown = (signal) => {
377
+ console.log(chalk.yellow(`\nShutting down (${signal})...`));
310
378
  if (backendProcess)
311
379
  backendProcess.kill();
312
380
  if (frontendProcess)
313
381
  frontendProcess.kill();
382
+ if (daemonProcess)
383
+ daemonProcess.kill();
384
+ (0, config_1.clearPids)();
314
385
  process.exit(0);
386
+ };
387
+ process.on('SIGINT', () => shutdown('SIGINT'));
388
+ process.on('SIGTERM', () => shutdown('SIGTERM'));
389
+ process.on('exit', () => {
390
+ // Last-resort cleanup: if parent dies, kill children
391
+ if (backendProcess?.pid)
392
+ try {
393
+ process.kill(backendProcess.pid, 'SIGTERM');
394
+ }
395
+ catch { }
396
+ if (frontendProcess?.pid)
397
+ try {
398
+ process.kill(frontendProcess.pid, 'SIGTERM');
399
+ }
400
+ catch { }
401
+ if (daemonProcess?.pid)
402
+ try {
403
+ process.kill(daemonProcess.pid, 'SIGTERM');
404
+ }
405
+ catch { }
406
+ (0, config_1.clearPids)();
315
407
  });
316
408
  });
317
409
  program
@@ -325,22 +417,50 @@ program
325
417
  // 'start' is the default command (see above) — no separate start needed
326
418
  program
327
419
  .command('stop')
328
- .description('Stop the ClaWatch daemon')
420
+ .description('Stop all ClaWatch processes (backend, frontend, daemon)')
329
421
  .action(() => {
330
- if (!fs.existsSync(config_1.paths.pid)) {
331
- console.log(chalk.yellow('No daemon running'));
422
+ const pids = (0, config_1.loadPids)();
423
+ const hasPids = Object.keys(pids).length > 0;
424
+ const hasLegacyPid = fs.existsSync(config_1.paths.pid);
425
+ if (!hasPids && !hasLegacyPid) {
426
+ // Last resort: try killing processes on known ports
427
+ const killedBackend = killProcessOnPort(3001);
428
+ const killedFrontend = killProcessOnPort(3456);
429
+ if (killedBackend || killedFrontend) {
430
+ console.log(chalk.green('Killed ClaWatch processes found on ports 3001/3456'));
431
+ }
432
+ else {
433
+ console.log(chalk.yellow('No ClaWatch processes found'));
434
+ }
332
435
  process.exit(0);
333
436
  }
334
- const pid = parseInt(fs.readFileSync(config_1.paths.pid, 'utf-8').trim(), 10);
335
- try {
336
- process.kill(pid, 'SIGTERM');
337
- fs.unlinkSync(config_1.paths.pid);
338
- console.log(chalk.green(`Daemon stopped (PID: ${pid})`));
437
+ let stopped = 0;
438
+ for (const [role, pid] of Object.entries(pids)) {
439
+ if (pid && typeof pid === 'number') {
440
+ if (killPid(pid)) {
441
+ console.log(chalk.green(`Stopped ${role} (PID: ${pid})`));
442
+ stopped++;
443
+ }
444
+ else {
445
+ console.log(chalk.yellow(`${role} (PID: ${pid}) was not running`));
446
+ }
447
+ }
339
448
  }
340
- catch {
341
- fs.unlinkSync(config_1.paths.pid);
342
- console.log(chalk.yellow('Daemon was not running (stale PID removed)'));
449
+ // Also handle legacy PID file
450
+ if (hasLegacyPid) {
451
+ const legacyPid = parseInt(fs.readFileSync(config_1.paths.pid, 'utf-8').trim(), 10);
452
+ if (!isNaN(legacyPid) && !Object.values(pids).includes(legacyPid)) {
453
+ if (killPid(legacyPid)) {
454
+ console.log(chalk.green(`Stopped legacy daemon (PID: ${legacyPid})`));
455
+ stopped++;
456
+ }
457
+ }
343
458
  }
459
+ // Also kill anything left on known ports
460
+ killProcessOnPort(3001);
461
+ killProcessOnPort(3456);
462
+ (0, config_1.clearPids)();
463
+ console.log(chalk.green(`\nAll ClaWatch processes stopped (${stopped} killed)`));
344
464
  });
345
465
  program
346
466
  .command('status')
@@ -351,34 +471,45 @@ program
351
471
  process.exit(1);
352
472
  }
353
473
  const config = (0, config_1.loadConfig)();
354
- let daemonRunning = false;
355
- let daemonPid = 0;
356
- if (fs.existsSync(config_1.paths.pid)) {
357
- daemonPid = parseInt(fs.readFileSync(config_1.paths.pid, 'utf-8').trim(), 10);
474
+ const pids = (0, config_1.loadPids)();
475
+ const processStatus = (role, pid) => {
476
+ if (!pid)
477
+ return chalk.red('not tracked');
358
478
  try {
359
- process.kill(daemonPid, 0);
360
- daemonRunning = true;
479
+ process.kill(pid, 0);
480
+ return chalk.green(`running (PID: ${pid})`);
361
481
  }
362
482
  catch {
363
- daemonRunning = false;
483
+ return chalk.red(`stopped (stale PID: ${pid})`);
364
484
  }
365
- }
366
- const agentsDir = path.join(config.openclawDir, 'agents');
367
- let agentCount = 0;
368
- let sessionCount = 0;
369
- if (fs.existsSync(agentsDir)) {
370
- const agents = fs.readdirSync(agentsDir).filter(n => fs.existsSync(path.join(agentsDir, n, 'sessions')));
371
- agentCount = agents.length;
372
- for (const agent of agents) {
373
- const sessionsDir = path.join(agentsDir, agent, 'sessions');
374
- sessionCount += fs.readdirSync(sessionsDir).filter(f => f.endsWith('.jsonl')).length;
485
+ };
486
+ let totalAgentCount = 0;
487
+ let totalSessionCount = 0;
488
+ console.log(chalk.bold('\n🔍 ClaWatch Status\n'));
489
+ console.log(` Backend: ${processStatus('backend', pids.backend)}`);
490
+ console.log(` Frontend: ${processStatus('frontend', pids.frontend)}`);
491
+ console.log(` Daemon: ${processStatus('daemon', pids.daemon)}`);
492
+ console.log(` API URL: ${config.backendUrl}`);
493
+ console.log(` Profiles: ${config.openclawDirs.length}`);
494
+ for (const openclawDir of config.openclawDirs) {
495
+ const dirName = path.basename(openclawDir);
496
+ const profileName = dirName === '.openclaw' ? 'default' : dirName.slice('.openclaw-'.length);
497
+ const agentsDir = path.join(openclawDir, 'agents');
498
+ let agentCount = 0;
499
+ let sessionCount = 0;
500
+ if (fs.existsSync(agentsDir)) {
501
+ const agents = fs.readdirSync(agentsDir).filter(n => fs.existsSync(path.join(agentsDir, n, 'sessions')));
502
+ agentCount = agents.length;
503
+ for (const agent of agents) {
504
+ const sessionsDir = path.join(agentsDir, agent, 'sessions');
505
+ sessionCount += fs.readdirSync(sessionsDir).filter(f => f.endsWith('.jsonl')).length;
506
+ }
375
507
  }
508
+ totalAgentCount += agentCount;
509
+ totalSessionCount += sessionCount;
510
+ console.log(` Profile "${profileName}": ${agentCount} agents, ${sessionCount} sessions`);
376
511
  }
377
- console.log(chalk.bold('\n🔍 ClaWatch Status\n'));
378
- console.log(` Daemon: ${daemonRunning ? chalk.green(`running (PID: ${daemonPid})`) : chalk.red('stopped')}`);
379
- console.log(` Backend: ${config.backendUrl}`);
380
- console.log(` Agents: ${agentCount}`);
381
- console.log(` Sessions: ${sessionCount}`);
512
+ console.log(` Total: ${totalAgentCount} agents, ${totalSessionCount} sessions`);
382
513
  });
383
514
  program
384
515
  .command('logs')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAS,MAAM,UAAU,CAAC;AAqNjD,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAcpC"}
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAS,MAAM,UAAU,CAAC;AA4NjD,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAcpC"}