@revealui/mcp 0.1.0 → 0.1.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 (293) hide show
  1. package/LICENSE +22 -0
  2. package/LICENSE.commercial +112 -0
  3. package/README.md +3 -0
  4. package/dist/adapters/db.d.ts.map +1 -0
  5. package/dist/adapters/db.js.map +1 -0
  6. package/dist/config/index.d.ts.map +1 -0
  7. package/dist/config/index.js.map +1 -0
  8. package/dist/contracts.d.ts.map +1 -0
  9. package/dist/contracts.js.map +1 -0
  10. package/dist/hypervisor.d.ts.map +1 -0
  11. package/dist/hypervisor.js.map +1 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/{packages/mcp/src/servers → servers}/adapter.d.ts +11 -1
  15. package/dist/servers/adapter.d.ts.map +1 -0
  16. package/dist/{packages/mcp/src/servers → servers}/adapter.js +20 -4
  17. package/dist/servers/adapter.js.map +1 -0
  18. package/dist/servers/revealui-content.d.ts +21 -0
  19. package/dist/servers/revealui-content.d.ts.map +1 -0
  20. package/dist/servers/revealui-content.js +199 -0
  21. package/dist/servers/revealui-content.js.map +1 -0
  22. package/dist/servers/revealui-email.d.ts +18 -0
  23. package/dist/servers/revealui-email.d.ts.map +1 -0
  24. package/dist/servers/revealui-email.js +185 -0
  25. package/dist/servers/revealui-email.js.map +1 -0
  26. package/dist/servers/revealui-stripe.d.ts +19 -0
  27. package/dist/servers/revealui-stripe.d.ts.map +1 -0
  28. package/dist/servers/revealui-stripe.js +211 -0
  29. package/dist/servers/revealui-stripe.js.map +1 -0
  30. package/package.json +47 -8
  31. package/.env.example +0 -9
  32. package/MCP_MAINTENANCE.md +0 -265
  33. package/__tests__/crdt.integration.test.ts +0 -156
  34. package/configs/README.md +0 -77
  35. package/configs/claude-template.json +0 -54
  36. package/dist/packages/core/src/database/ssl-config.d.ts +0 -9
  37. package/dist/packages/core/src/database/ssl-config.d.ts.map +0 -1
  38. package/dist/packages/core/src/database/ssl-config.js +0 -8
  39. package/dist/packages/core/src/database/ssl-config.js.map +0 -1
  40. package/dist/packages/core/src/features.d.ts +0 -86
  41. package/dist/packages/core/src/features.d.ts.map +0 -1
  42. package/dist/packages/core/src/features.js +0 -93
  43. package/dist/packages/core/src/features.js.map +0 -1
  44. package/dist/packages/core/src/license.d.ts +0 -75
  45. package/dist/packages/core/src/license.d.ts.map +0 -1
  46. package/dist/packages/core/src/license.js +0 -174
  47. package/dist/packages/core/src/license.js.map +0 -1
  48. package/dist/packages/core/src/monitoring/alerts.d.ts +0 -118
  49. package/dist/packages/core/src/monitoring/alerts.d.ts.map +0 -1
  50. package/dist/packages/core/src/monitoring/alerts.js +0 -325
  51. package/dist/packages/core/src/monitoring/alerts.js.map +0 -1
  52. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts +0 -71
  53. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts.map +0 -1
  54. package/dist/packages/core/src/monitoring/cleanup-manager.js +0 -227
  55. package/dist/packages/core/src/monitoring/cleanup-manager.js.map +0 -1
  56. package/dist/packages/core/src/monitoring/health-monitor.d.ts +0 -22
  57. package/dist/packages/core/src/monitoring/health-monitor.d.ts.map +0 -1
  58. package/dist/packages/core/src/monitoring/health-monitor.js +0 -143
  59. package/dist/packages/core/src/monitoring/health-monitor.js.map +0 -1
  60. package/dist/packages/core/src/monitoring/index.d.ts +0 -14
  61. package/dist/packages/core/src/monitoring/index.d.ts.map +0 -1
  62. package/dist/packages/core/src/monitoring/index.js +0 -18
  63. package/dist/packages/core/src/monitoring/index.js.map +0 -1
  64. package/dist/packages/core/src/monitoring/process-registry.d.ts +0 -97
  65. package/dist/packages/core/src/monitoring/process-registry.d.ts.map +0 -1
  66. package/dist/packages/core/src/monitoring/process-registry.js +0 -223
  67. package/dist/packages/core/src/monitoring/process-registry.js.map +0 -1
  68. package/dist/packages/core/src/monitoring/types.d.ts +0 -231
  69. package/dist/packages/core/src/monitoring/types.d.ts.map +0 -1
  70. package/dist/packages/core/src/monitoring/types.js +0 -43
  71. package/dist/packages/core/src/monitoring/types.js.map +0 -1
  72. package/dist/packages/core/src/monitoring/zombie-detector.d.ts +0 -81
  73. package/dist/packages/core/src/monitoring/zombie-detector.d.ts.map +0 -1
  74. package/dist/packages/core/src/monitoring/zombie-detector.js +0 -232
  75. package/dist/packages/core/src/monitoring/zombie-detector.js.map +0 -1
  76. package/dist/packages/core/src/observability/logger.d.ts +0 -47
  77. package/dist/packages/core/src/observability/logger.d.ts.map +0 -1
  78. package/dist/packages/core/src/observability/logger.js +0 -141
  79. package/dist/packages/core/src/observability/logger.js.map +0 -1
  80. package/dist/packages/core/src/utils/logger-server.d.ts +0 -32
  81. package/dist/packages/core/src/utils/logger-server.d.ts.map +0 -1
  82. package/dist/packages/core/src/utils/logger-server.js +0 -69
  83. package/dist/packages/core/src/utils/logger-server.js.map +0 -1
  84. package/dist/packages/core/src/utils/request-context.d.ts +0 -143
  85. package/dist/packages/core/src/utils/request-context.d.ts.map +0 -1
  86. package/dist/packages/core/src/utils/request-context.js +0 -169
  87. package/dist/packages/core/src/utils/request-context.js.map +0 -1
  88. package/dist/packages/dev/src/code-validator/index.d.ts +0 -20
  89. package/dist/packages/dev/src/code-validator/index.d.ts.map +0 -1
  90. package/dist/packages/dev/src/code-validator/index.js +0 -20
  91. package/dist/packages/dev/src/code-validator/index.js.map +0 -1
  92. package/dist/packages/dev/src/code-validator/types.d.ts +0 -67
  93. package/dist/packages/dev/src/code-validator/types.d.ts.map +0 -1
  94. package/dist/packages/dev/src/code-validator/types.js +0 -7
  95. package/dist/packages/dev/src/code-validator/types.js.map +0 -1
  96. package/dist/packages/dev/src/code-validator/validator.d.ts +0 -48
  97. package/dist/packages/dev/src/code-validator/validator.d.ts.map +0 -1
  98. package/dist/packages/dev/src/code-validator/validator.js +0 -176
  99. package/dist/packages/dev/src/code-validator/validator.js.map +0 -1
  100. package/dist/packages/mcp/src/adapters/db.d.ts.map +0 -1
  101. package/dist/packages/mcp/src/adapters/db.js.map +0 -1
  102. package/dist/packages/mcp/src/config/index.d.ts.map +0 -1
  103. package/dist/packages/mcp/src/config/index.js.map +0 -1
  104. package/dist/packages/mcp/src/contracts.d.ts.map +0 -1
  105. package/dist/packages/mcp/src/contracts.js.map +0 -1
  106. package/dist/packages/mcp/src/hypervisor.d.ts.map +0 -1
  107. package/dist/packages/mcp/src/hypervisor.js.map +0 -1
  108. package/dist/packages/mcp/src/index.d.ts.map +0 -1
  109. package/dist/packages/mcp/src/index.js.map +0 -1
  110. package/dist/packages/mcp/src/servers/adapter.d.ts.map +0 -1
  111. package/dist/packages/mcp/src/servers/adapter.js.map +0 -1
  112. package/dist/packages/mcp/src/servers/code-validator.d.ts +0 -24
  113. package/dist/packages/mcp/src/servers/code-validator.d.ts.map +0 -1
  114. package/dist/packages/mcp/src/servers/code-validator.js +0 -156
  115. package/dist/packages/mcp/src/servers/code-validator.js.map +0 -1
  116. package/dist/packages/mcp/src/servers/neon.d.ts +0 -11
  117. package/dist/packages/mcp/src/servers/neon.d.ts.map +0 -1
  118. package/dist/packages/mcp/src/servers/neon.js +0 -90
  119. package/dist/packages/mcp/src/servers/neon.js.map +0 -1
  120. package/dist/packages/mcp/src/servers/next-devtools.d.ts +0 -11
  121. package/dist/packages/mcp/src/servers/next-devtools.d.ts.map +0 -1
  122. package/dist/packages/mcp/src/servers/next-devtools.js +0 -215
  123. package/dist/packages/mcp/src/servers/next-devtools.js.map +0 -1
  124. package/dist/packages/mcp/src/servers/playwright.d.ts +0 -11
  125. package/dist/packages/mcp/src/servers/playwright.d.ts.map +0 -1
  126. package/dist/packages/mcp/src/servers/playwright.js +0 -68
  127. package/dist/packages/mcp/src/servers/playwright.js.map +0 -1
  128. package/dist/packages/mcp/src/servers/stripe.d.ts +0 -11
  129. package/dist/packages/mcp/src/servers/stripe.d.ts.map +0 -1
  130. package/dist/packages/mcp/src/servers/stripe.js +0 -86
  131. package/dist/packages/mcp/src/servers/stripe.js.map +0 -1
  132. package/dist/packages/mcp/src/servers/supabase.d.ts +0 -11
  133. package/dist/packages/mcp/src/servers/supabase.d.ts.map +0 -1
  134. package/dist/packages/mcp/src/servers/supabase.js +0 -144
  135. package/dist/packages/mcp/src/servers/supabase.js.map +0 -1
  136. package/dist/packages/mcp/src/servers/vercel.d.ts +0 -11
  137. package/dist/packages/mcp/src/servers/vercel.d.ts.map +0 -1
  138. package/dist/packages/mcp/src/servers/vercel.js +0 -87
  139. package/dist/packages/mcp/src/servers/vercel.js.map +0 -1
  140. package/dist/packages/mcp/src/servers/vultr-test.d.ts +0 -3
  141. package/dist/packages/mcp/src/servers/vultr-test.d.ts.map +0 -1
  142. package/dist/packages/mcp/src/servers/vultr-test.js +0 -82
  143. package/dist/packages/mcp/src/servers/vultr-test.js.map +0 -1
  144. package/dist/scripts/lib/analyzers/console-analyzer.d.ts +0 -188
  145. package/dist/scripts/lib/analyzers/console-analyzer.d.ts.map +0 -1
  146. package/dist/scripts/lib/analyzers/console-analyzer.js +0 -432
  147. package/dist/scripts/lib/analyzers/console-analyzer.js.map +0 -1
  148. package/dist/scripts/lib/analyzers/index.d.ts +0 -11
  149. package/dist/scripts/lib/analyzers/index.d.ts.map +0 -1
  150. package/dist/scripts/lib/analyzers/index.js +0 -11
  151. package/dist/scripts/lib/analyzers/index.js.map +0 -1
  152. package/dist/scripts/lib/args.d.ts +0 -104
  153. package/dist/scripts/lib/args.d.ts.map +0 -1
  154. package/dist/scripts/lib/args.js +0 -304
  155. package/dist/scripts/lib/args.js.map +0 -1
  156. package/dist/scripts/lib/cache.d.ts +0 -185
  157. package/dist/scripts/lib/cache.d.ts.map +0 -1
  158. package/dist/scripts/lib/cache.js +0 -390
  159. package/dist/scripts/lib/cache.js.map +0 -1
  160. package/dist/scripts/lib/cli/dispatch.d.ts +0 -116
  161. package/dist/scripts/lib/cli/dispatch.d.ts.map +0 -1
  162. package/dist/scripts/lib/cli/dispatch.js +0 -206
  163. package/dist/scripts/lib/cli/dispatch.js.map +0 -1
  164. package/dist/scripts/lib/cli/index.d.ts +0 -10
  165. package/dist/scripts/lib/cli/index.d.ts.map +0 -1
  166. package/dist/scripts/lib/cli/index.js +0 -10
  167. package/dist/scripts/lib/cli/index.js.map +0 -1
  168. package/dist/scripts/lib/database/ssl-config.d.ts +0 -26
  169. package/dist/scripts/lib/database/ssl-config.d.ts.map +0 -1
  170. package/dist/scripts/lib/database/ssl-config.js +0 -47
  171. package/dist/scripts/lib/database/ssl-config.js.map +0 -1
  172. package/dist/scripts/lib/errors.d.ts +0 -218
  173. package/dist/scripts/lib/errors.d.ts.map +0 -1
  174. package/dist/scripts/lib/errors.js +0 -543
  175. package/dist/scripts/lib/errors.js.map +0 -1
  176. package/dist/scripts/lib/exec.d.ts +0 -107
  177. package/dist/scripts/lib/exec.d.ts.map +0 -1
  178. package/dist/scripts/lib/exec.js +0 -232
  179. package/dist/scripts/lib/exec.js.map +0 -1
  180. package/dist/scripts/lib/index.d.ts +0 -50
  181. package/dist/scripts/lib/index.d.ts.map +0 -1
  182. package/dist/scripts/lib/index.js +0 -65
  183. package/dist/scripts/lib/index.js.map +0 -1
  184. package/dist/scripts/lib/logger.d.ts +0 -50
  185. package/dist/scripts/lib/logger.d.ts.map +0 -1
  186. package/dist/scripts/lib/logger.js +0 -159
  187. package/dist/scripts/lib/logger.js.map +0 -1
  188. package/dist/scripts/lib/output.d.ts +0 -149
  189. package/dist/scripts/lib/output.d.ts.map +0 -1
  190. package/dist/scripts/lib/output.js +0 -263
  191. package/dist/scripts/lib/output.js.map +0 -1
  192. package/dist/scripts/lib/parallel.d.ts +0 -164
  193. package/dist/scripts/lib/parallel.d.ts.map +0 -1
  194. package/dist/scripts/lib/parallel.js +0 -355
  195. package/dist/scripts/lib/parallel.js.map +0 -1
  196. package/dist/scripts/lib/paths.d.ts +0 -92
  197. package/dist/scripts/lib/paths.d.ts.map +0 -1
  198. package/dist/scripts/lib/paths.js +0 -171
  199. package/dist/scripts/lib/paths.js.map +0 -1
  200. package/dist/scripts/lib/state/adapters/memory.d.ts +0 -42
  201. package/dist/scripts/lib/state/adapters/memory.d.ts.map +0 -1
  202. package/dist/scripts/lib/state/adapters/memory.js +0 -110
  203. package/dist/scripts/lib/state/adapters/memory.js.map +0 -1
  204. package/dist/scripts/lib/state/adapters/pglite.d.ts +0 -46
  205. package/dist/scripts/lib/state/adapters/pglite.d.ts.map +0 -1
  206. package/dist/scripts/lib/state/adapters/pglite.js +0 -256
  207. package/dist/scripts/lib/state/adapters/pglite.js.map +0 -1
  208. package/dist/scripts/lib/state/index.d.ts +0 -16
  209. package/dist/scripts/lib/state/index.d.ts.map +0 -1
  210. package/dist/scripts/lib/state/index.js +0 -16
  211. package/dist/scripts/lib/state/index.js.map +0 -1
  212. package/dist/scripts/lib/state/types.d.ts +0 -111
  213. package/dist/scripts/lib/state/types.d.ts.map +0 -1
  214. package/dist/scripts/lib/state/types.js +0 -8
  215. package/dist/scripts/lib/state/types.js.map +0 -1
  216. package/dist/scripts/lib/state/workflow-state.d.ts +0 -110
  217. package/dist/scripts/lib/state/workflow-state.d.ts.map +0 -1
  218. package/dist/scripts/lib/state/workflow-state.js +0 -331
  219. package/dist/scripts/lib/state/workflow-state.js.map +0 -1
  220. package/dist/scripts/lib/telemetry.d.ts +0 -194
  221. package/dist/scripts/lib/telemetry.d.ts.map +0 -1
  222. package/dist/scripts/lib/telemetry.js +0 -394
  223. package/dist/scripts/lib/telemetry.js.map +0 -1
  224. package/dist/scripts/lib/utils.d.ts +0 -270
  225. package/dist/scripts/lib/utils.d.ts.map +0 -1
  226. package/dist/scripts/lib/utils.js +0 -473
  227. package/dist/scripts/lib/utils.js.map +0 -1
  228. package/dist/scripts/lib/validation/database.d.ts +0 -83
  229. package/dist/scripts/lib/validation/database.d.ts.map +0 -1
  230. package/dist/scripts/lib/validation/database.js +0 -199
  231. package/dist/scripts/lib/validation/database.js.map +0 -1
  232. package/dist/scripts/lib/validation/env.d.ts +0 -80
  233. package/dist/scripts/lib/validation/env.d.ts.map +0 -1
  234. package/dist/scripts/lib/validation/env.js +0 -246
  235. package/dist/scripts/lib/validation/env.js.map +0 -1
  236. package/dist/scripts/lib/validation/index.d.ts +0 -16
  237. package/dist/scripts/lib/validation/index.d.ts.map +0 -1
  238. package/dist/scripts/lib/validation/index.js +0 -16
  239. package/dist/scripts/lib/validation/index.js.map +0 -1
  240. package/dist/scripts/lib/validation/post-execution.d.ts +0 -74
  241. package/dist/scripts/lib/validation/post-execution.d.ts.map +0 -1
  242. package/dist/scripts/lib/validation/post-execution.js +0 -110
  243. package/dist/scripts/lib/validation/post-execution.js.map +0 -1
  244. package/dist/scripts/lib/validation/pre-execution.d.ts +0 -165
  245. package/dist/scripts/lib/validation/pre-execution.d.ts.map +0 -1
  246. package/dist/scripts/lib/validation/pre-execution.js +0 -466
  247. package/dist/scripts/lib/validation/pre-execution.js.map +0 -1
  248. package/dist/scripts/lib/validators/documentation-validator.d.ts +0 -242
  249. package/dist/scripts/lib/validators/documentation-validator.d.ts.map +0 -1
  250. package/dist/scripts/lib/validators/documentation-validator.js +0 -584
  251. package/dist/scripts/lib/validators/documentation-validator.js.map +0 -1
  252. package/dist/scripts/lib/validators/index.d.ts +0 -11
  253. package/dist/scripts/lib/validators/index.d.ts.map +0 -1
  254. package/dist/scripts/lib/validators/index.js +0 -11
  255. package/dist/scripts/lib/validators/index.js.map +0 -1
  256. package/docker-compose.yml +0 -46
  257. package/docs/INDEX.md +0 -88
  258. package/docs/README.md +0 -774
  259. package/docs/SETUP.md +0 -264
  260. package/docs/servers/code-validator.md +0 -586
  261. package/eslint.config.js +0 -7
  262. package/migrations/0001_add_crdt_columns.sql +0 -8
  263. package/migrations/0001_rollback.sql +0 -6
  264. package/migrations/005_performance_indexes.sql +0 -190
  265. package/migrations/backfill_crdt_meta.js +0 -45
  266. package/src/__tests__/hypervisor.test.ts +0 -212
  267. package/src/adapters/db.ts +0 -180
  268. package/src/config/config.json +0 -49
  269. package/src/config/index.ts +0 -30
  270. package/src/contracts.ts +0 -221
  271. package/src/hypervisor.ts +0 -464
  272. package/src/index.ts +0 -87
  273. package/src/servers/adapter.ts +0 -643
  274. package/src/servers/code-validator.ts +0 -188
  275. package/src/servers/neon.ts +0 -103
  276. package/src/servers/next-devtools.ts +0 -230
  277. package/src/servers/playwright.ts +0 -77
  278. package/src/servers/stripe.ts +0 -99
  279. package/src/servers/supabase.ts +0 -161
  280. package/src/servers/vercel.ts +0 -100
  281. package/src/servers/vultr-test.ts +0 -97
  282. package/tsconfig.json +0 -12
  283. package/vitest.config.ts +0 -22
  284. /package/dist/{packages/mcp/src/adapters → adapters}/db.d.ts +0 -0
  285. /package/dist/{packages/mcp/src/adapters → adapters}/db.js +0 -0
  286. /package/dist/{packages/mcp/src/config → config}/index.d.ts +0 -0
  287. /package/dist/{packages/mcp/src/config → config}/index.js +0 -0
  288. /package/dist/{packages/mcp/src/contracts.d.ts → contracts.d.ts} +0 -0
  289. /package/dist/{packages/mcp/src/contracts.js → contracts.js} +0 -0
  290. /package/dist/{packages/mcp/src/hypervisor.d.ts → hypervisor.d.ts} +0 -0
  291. /package/dist/{packages/mcp/src/hypervisor.js → hypervisor.js} +0 -0
  292. /package/dist/{packages/mcp/src/index.d.ts → index.d.ts} +0 -0
  293. /package/dist/{packages/mcp/src/index.js → index.js} +0 -0
@@ -1,143 +0,0 @@
1
- /**
2
- * Health Monitor
3
- *
4
- * Collects and aggregates system health metrics including process stats,
5
- * database pools, memory/CPU usage, and active alerts.
6
- */
7
- import * as os from 'node:os';
8
- import { processRegistry } from './process-registry.js';
9
- import { DEFAULT_MONITORING_CONFIG } from './types.js';
10
- import { zombieDetector } from './zombie-detector.js';
11
- /**
12
- * Get current system health metrics
13
- */
14
- export function getHealthMetrics(databasePools) {
15
- const stats = processRegistry.getStats();
16
- const spawnRate = processRegistry.getSpawnRate();
17
- const zombies = zombieDetector.getHistory();
18
- // System metrics
19
- const memUsage = process.memoryUsage();
20
- const memoryUsageMB = Math.round(memUsage.rss / 1024 / 1024);
21
- const cpuUsage = process.cpuUsage();
22
- const uptimeSeconds = Math.floor(process.uptime());
23
- // Generate alerts
24
- const alerts = generateAlerts(stats, spawnRate, memoryUsageMB, databasePools);
25
- return {
26
- system: {
27
- memoryUsage: memoryUsageMB,
28
- cpuUsage: calculateCPUPercentage(cpuUsage),
29
- uptime: uptimeSeconds,
30
- platform: os.platform(),
31
- nodeVersion: process.version,
32
- },
33
- processes: {
34
- active: stats.running,
35
- zombies: stats.zombies,
36
- failed: stats.failed,
37
- spawnRate,
38
- bySource: stats.bySource,
39
- },
40
- database: databasePools || {
41
- rest: [],
42
- vector: [],
43
- },
44
- recentZombies: zombies.slice(0, 10), // Last 10 zombies
45
- alerts,
46
- timestamp: Date.now(),
47
- };
48
- }
49
- /**
50
- * Calculate CPU usage percentage
51
- */
52
- function calculateCPUPercentage(cpuUsage) {
53
- // This is approximate - for better accuracy, would need to track over time
54
- const totalMicroseconds = cpuUsage.user + cpuUsage.system;
55
- const uptimeMicroseconds = process.uptime() * 1_000_000;
56
- const percentage = (totalMicroseconds / uptimeMicroseconds) * 100;
57
- return Math.round(percentage * 100) / 100; // Round to 2 decimal places
58
- }
59
- /**
60
- * Generate alerts based on current metrics and thresholds
61
- */
62
- function generateAlerts(stats, spawnRate, memoryUsageMB, databasePools) {
63
- const alerts = [];
64
- const thresholds = DEFAULT_MONITORING_CONFIG.alertThresholds;
65
- const now = Date.now();
66
- // Check zombie processes
67
- if (stats.zombies >= thresholds.zombies.critical) {
68
- alerts.push(createAlert('critical', 'zombies', stats.zombies, thresholds.zombies.critical, now));
69
- }
70
- else if (stats.zombies >= thresholds.zombies.warning) {
71
- alerts.push(createAlert('warning', 'zombies', stats.zombies, thresholds.zombies.warning, now));
72
- }
73
- // Check memory usage
74
- if (memoryUsageMB >= thresholds.memory.critical) {
75
- alerts.push(createAlert('critical', 'memory', memoryUsageMB, thresholds.memory.critical, now));
76
- }
77
- else if (memoryUsageMB >= thresholds.memory.warning) {
78
- alerts.push(createAlert('warning', 'memory', memoryUsageMB, thresholds.memory.warning, now));
79
- }
80
- // Check active processes
81
- if (stats.running >= thresholds.processes.active.critical) {
82
- alerts.push(createAlert('critical', 'active_processes', stats.running, thresholds.processes.active.critical, now));
83
- }
84
- else if (stats.running >= thresholds.processes.active.warning) {
85
- alerts.push(createAlert('warning', 'active_processes', stats.running, thresholds.processes.active.warning, now));
86
- }
87
- // Check spawn rate
88
- if (spawnRate >= thresholds.spawnRate.critical) {
89
- alerts.push(createAlert('critical', 'spawn_rate', spawnRate, thresholds.spawnRate.critical, now));
90
- }
91
- else if (spawnRate >= thresholds.spawnRate.warning) {
92
- alerts.push(createAlert('warning', 'spawn_rate', spawnRate, thresholds.spawnRate.warning, now));
93
- }
94
- // Check database waiting connections
95
- if (databasePools) {
96
- const allPools = [...databasePools.rest, ...databasePools.vector];
97
- const totalWaiting = allPools.reduce((sum, pool) => sum + pool.waitingCount, 0);
98
- if (totalWaiting >= thresholds.database.waiting.critical) {
99
- alerts.push(createAlert('critical', 'database_waiting', totalWaiting, thresholds.database.waiting.critical, now));
100
- }
101
- else if (totalWaiting >= thresholds.database.waiting.warning) {
102
- alerts.push(createAlert('warning', 'database_waiting', totalWaiting, thresholds.database.waiting.warning, now));
103
- }
104
- }
105
- return alerts;
106
- }
107
- /**
108
- * Create an alert object
109
- */
110
- function createAlert(level, metric, value, threshold, timestamp) {
111
- const messages = {
112
- zombies: (v, t) => `${v} zombie processes detected (threshold: ${t})`,
113
- memory: (v, t) => `Memory usage at ${v}MB (threshold: ${t}MB)`,
114
- active_processes: (v, t) => `${v} active processes (threshold: ${t})`,
115
- database_waiting: (v, t) => `${v} database connections waiting (threshold: ${t})`,
116
- spawn_rate: (v, t) => `Process spawn rate at ${v}/min (threshold: ${t}/min)`,
117
- };
118
- return {
119
- level,
120
- metric,
121
- message: messages[metric](value, threshold),
122
- value,
123
- threshold,
124
- timestamp,
125
- };
126
- }
127
- /**
128
- * Get health status based on alerts
129
- */
130
- export function getHealthStatus(alerts) {
131
- const hasCritical = alerts.some((a) => a.level === 'critical');
132
- const hasWarning = alerts.some((a) => a.level === 'warning');
133
- if (hasCritical) {
134
- return { status: 'unhealthy', statusCode: 503 };
135
- }
136
- else if (hasWarning) {
137
- return { status: 'degraded', statusCode: 206 };
138
- }
139
- else {
140
- return { status: 'healthy', statusCode: 200 };
141
- }
142
- }
143
- //# sourceMappingURL=health-monitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-monitor.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/health-monitor.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Process Health Monitoring
3
- *
4
- * Centralized system for tracking processes, detecting zombies,
5
- * managing cleanup, and monitoring system health.
6
- */
7
- export { alertManager, getAlertStats, sendAlert, sendAlerts, setAlertChannels, } from './alerts.js';
8
- export { cleanupManager, forceCleanup, getCleanupHandlers, initiateCleanup, isShutdownInProgress, registerCleanupHandler, unregisterCleanupHandler, } from './cleanup-manager.js';
9
- export { getHealthMetrics, getHealthStatus } from './health-monitor.js';
10
- export { getAllProcesses, getProcess, getProcessStats, getRunningProcesses, getSpawnRate, getZombieProcesses, markProcessZombie, processRegistry, registerProcess, updateProcessStatus, } from './process-registry.js';
11
- export type * from './types.js';
12
- export { DEFAULT_MONITORING_CONFIG } from './types.js';
13
- export { getZombieCount, getZombieHistory, onZombieDetected, scanForZombies, startZombieDetection, stopZombieDetection, zombieDetector, } from './zombie-detector.js';
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEvE,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAE9B,mBAAmB,YAAY,CAAA;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,sBAAsB,CAAA"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Process Health Monitoring
3
- *
4
- * Centralized system for tracking processes, detecting zombies,
5
- * managing cleanup, and monitoring system health.
6
- */
7
- // Export alert system
8
- export { alertManager, getAlertStats, sendAlert, sendAlerts, setAlertChannels, } from './alerts.js';
9
- // Export cleanup manager
10
- export { cleanupManager, forceCleanup, getCleanupHandlers, initiateCleanup, isShutdownInProgress, registerCleanupHandler, unregisterCleanupHandler, } from './cleanup-manager.js';
11
- // Export health monitor
12
- export { getHealthMetrics, getHealthStatus } from './health-monitor.js';
13
- // Export process registry
14
- export { getAllProcesses, getProcess, getProcessStats, getRunningProcesses, getSpawnRate, getZombieProcesses, markProcessZombie, processRegistry, registerProcess, updateProcessStatus, } from './process-registry.js';
15
- export { DEFAULT_MONITORING_CONFIG } from './types.js';
16
- // Export zombie detector
17
- export { getZombieCount, getZombieHistory, onZombieDetected, scanForZombies, startZombieDetection, stopZombieDetection, zombieDetector, } from './zombie-detector.js';
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sBAAsB;AACtB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACvE,0BAA0B;AAC1B,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACtD,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,sBAAsB,CAAA"}
@@ -1,97 +0,0 @@
1
- /**
2
- * Process Registry
3
- *
4
- * Central registry for tracking all spawned processes in the RevealUI system.
5
- * Maintains process lifecycle information and provides query capabilities.
6
- */
7
- import type { ProcessMetadata, ProcessSource, ProcessStatus, RegistryStats, TrackedProcess } from './types.js';
8
- /**
9
- * Global process registry instance
10
- */
11
- declare class ProcessRegistry {
12
- private processes;
13
- private enabled;
14
- private maxHistorySize;
15
- /**
16
- * Register a new process
17
- */
18
- register(pid: number, command: string, args: string[], source: ProcessSource, metadata?: ProcessMetadata, ppid?: number): void;
19
- /**
20
- * Update process status
21
- */
22
- updateStatus(pid: number, status: ProcessStatus, exitCode?: number, signal?: string): void;
23
- /**
24
- * Mark process as zombie
25
- */
26
- markZombie(pid: number): void;
27
- /**
28
- * Get process by PID
29
- */
30
- get(pid: number): TrackedProcess | undefined;
31
- /**
32
- * Get all processes
33
- */
34
- getAll(): TrackedProcess[];
35
- /**
36
- * Get processes by status
37
- */
38
- getByStatus(status: ProcessStatus): TrackedProcess[];
39
- /**
40
- * Get processes by source
41
- */
42
- getBySource(source: ProcessSource): TrackedProcess[];
43
- /**
44
- * Get running processes
45
- */
46
- getRunning(): TrackedProcess[];
47
- /**
48
- * Get zombie processes
49
- */
50
- getZombies(): TrackedProcess[];
51
- /**
52
- * Get failed processes
53
- */
54
- getFailed(): TrackedProcess[];
55
- /**
56
- * Get registry statistics
57
- */
58
- getStats(): RegistryStats;
59
- /**
60
- * Calculate spawn rate (processes per minute)
61
- */
62
- getSpawnRate(): number;
63
- /**
64
- * Clear completed/failed processes older than retention period
65
- */
66
- private trimHistory;
67
- /**
68
- * Clear all processes
69
- */
70
- clear(): void;
71
- /**
72
- * Enable or disable tracking
73
- */
74
- setEnabled(enabled: boolean): void;
75
- /**
76
- * Check if tracking is enabled
77
- */
78
- isEnabled(): boolean;
79
- }
80
- /**
81
- * Singleton instance
82
- */
83
- export declare const processRegistry: ProcessRegistry;
84
- /**
85
- * Convenience functions
86
- */
87
- export declare function registerProcess(pid: number, command: string, args: string[], source: ProcessSource, metadata?: ProcessMetadata, ppid?: number): void;
88
- export declare function updateProcessStatus(pid: number, status: ProcessStatus, exitCode?: number, signal?: string): void;
89
- export declare function markProcessZombie(pid: number): void;
90
- export declare function getProcess(pid: number): TrackedProcess | undefined;
91
- export declare function getAllProcesses(): TrackedProcess[];
92
- export declare function getRunningProcesses(): TrackedProcess[];
93
- export declare function getZombieProcesses(): TrackedProcess[];
94
- export declare function getProcessStats(): RegistryStats;
95
- export declare function getSpawnRate(): number;
96
- export {};
97
- //# sourceMappingURL=process-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-registry.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/process-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAA;AAGnB;;GAEG;AACH,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,cAAc,CAAmD;IAEzE;;OAEG;IACH,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,eAAe,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI;IAkBP;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAkB1F;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5C;;OAEG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE;IAIpD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE;IAIpD;;OAEG;IACH,UAAU,IAAI,cAAc,EAAE;IAI9B;;OAEG;IACH,UAAU,IAAI,cAAc,EAAE;IAI9B;;OAEG;IACH,SAAS,IAAI,cAAc,EAAE;IAI7B;;OAEG;IACH,QAAQ,IAAI,aAAa;IA2BzB;;OAEG;IACH,YAAY,IAAI,MAAM;IAStB;;OAEG;IACH,OAAO,CAAC,WAAW;IAqCnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,iBAAwB,CAAA;AAEpD;;GAEG;AAEH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,eAAe,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAEN;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAElE;AAED,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAElD;AAED,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAEtD;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAErD;AAED,wBAAgB,eAAe,IAAI,aAAa,CAE/C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
@@ -1,223 +0,0 @@
1
- /**
2
- * Process Registry
3
- *
4
- * Central registry for tracking all spawned processes in the RevealUI system.
5
- * Maintains process lifecycle information and provides query capabilities.
6
- */
7
- import { DEFAULT_MONITORING_CONFIG } from './types.js';
8
- /**
9
- * Global process registry instance
10
- */
11
- class ProcessRegistry {
12
- processes = new Map();
13
- enabled = DEFAULT_MONITORING_CONFIG.enabled;
14
- maxHistorySize = DEFAULT_MONITORING_CONFIG.maxHistorySize;
15
- /**
16
- * Register a new process
17
- */
18
- register(pid, command, args, source, metadata, ppid) {
19
- if (!this.enabled)
20
- return;
21
- const process = {
22
- pid,
23
- command,
24
- args,
25
- source,
26
- status: 'running',
27
- startTime: Date.now(),
28
- metadata,
29
- ppid,
30
- };
31
- this.processes.set(pid, process);
32
- this.trimHistory();
33
- }
34
- /**
35
- * Update process status
36
- */
37
- updateStatus(pid, status, exitCode, signal) {
38
- if (!this.enabled)
39
- return;
40
- const process = this.processes.get(pid);
41
- if (!process)
42
- return;
43
- process.status = status;
44
- process.endTime = Date.now();
45
- if (exitCode !== undefined) {
46
- process.exitCode = exitCode;
47
- }
48
- if (signal !== undefined) {
49
- process.signal = signal;
50
- }
51
- }
52
- /**
53
- * Mark process as zombie
54
- */
55
- markZombie(pid) {
56
- this.updateStatus(pid, 'zombie');
57
- }
58
- /**
59
- * Get process by PID
60
- */
61
- get(pid) {
62
- return this.processes.get(pid);
63
- }
64
- /**
65
- * Get all processes
66
- */
67
- getAll() {
68
- return Array.from(this.processes.values());
69
- }
70
- /**
71
- * Get processes by status
72
- */
73
- getByStatus(status) {
74
- return this.getAll().filter((p) => p.status === status);
75
- }
76
- /**
77
- * Get processes by source
78
- */
79
- getBySource(source) {
80
- return this.getAll().filter((p) => p.source === source);
81
- }
82
- /**
83
- * Get running processes
84
- */
85
- getRunning() {
86
- return this.getByStatus('running');
87
- }
88
- /**
89
- * Get zombie processes
90
- */
91
- getZombies() {
92
- return this.getByStatus('zombie');
93
- }
94
- /**
95
- * Get failed processes
96
- */
97
- getFailed() {
98
- return this.getByStatus('failed');
99
- }
100
- /**
101
- * Get registry statistics
102
- */
103
- getStats() {
104
- const all = this.getAll();
105
- const bySource = {
106
- exec: 0,
107
- orchestration: 0,
108
- mcp: 0,
109
- 'ai-runtime': 0,
110
- 'dev-server': 0,
111
- database: 0,
112
- unknown: 0,
113
- };
114
- for (const process of all) {
115
- bySource[process.source]++;
116
- }
117
- return {
118
- total: all.length,
119
- running: this.getByStatus('running').length,
120
- completed: this.getByStatus('completed').length,
121
- failed: this.getByStatus('failed').length,
122
- zombies: this.getByStatus('zombie').length,
123
- killed: this.getByStatus('killed').length,
124
- bySource,
125
- };
126
- }
127
- /**
128
- * Calculate spawn rate (processes per minute)
129
- */
130
- getSpawnRate() {
131
- const now = Date.now();
132
- const oneMinuteAgo = now - 60_000;
133
- const recentProcesses = this.getAll().filter((p) => p.startTime >= oneMinuteAgo);
134
- return recentProcesses.length;
135
- }
136
- /**
137
- * Clear completed/failed processes older than retention period
138
- */
139
- trimHistory() {
140
- if (this.processes.size <= this.maxHistorySize)
141
- return;
142
- const processArray = Array.from(this.processes.entries());
143
- // Sort by end time (oldest first), then start time
144
- processArray.sort(([, a], [, b]) => {
145
- const aTime = a.endTime || a.startTime;
146
- const bTime = b.endTime || b.startTime;
147
- return aTime - bTime;
148
- });
149
- // Keep only running processes and recent completed/failed
150
- const toKeep = new Map();
151
- let keptCount = 0;
152
- // First pass: keep all running and zombie processes
153
- for (const [pid, process] of processArray) {
154
- if (process.status === 'running' || process.status === 'zombie') {
155
- toKeep.set(pid, process);
156
- keptCount++;
157
- }
158
- }
159
- // Second pass: keep most recent completed/failed up to limit
160
- for (const [pid, process] of processArray.reverse()) {
161
- if (keptCount >= this.maxHistorySize)
162
- break;
163
- if (process.status !== 'running' && process.status !== 'zombie' && !toKeep.has(pid)) {
164
- toKeep.set(pid, process);
165
- keptCount++;
166
- }
167
- }
168
- this.processes = toKeep;
169
- }
170
- /**
171
- * Clear all processes
172
- */
173
- clear() {
174
- this.processes.clear();
175
- }
176
- /**
177
- * Enable or disable tracking
178
- */
179
- setEnabled(enabled) {
180
- this.enabled = enabled;
181
- }
182
- /**
183
- * Check if tracking is enabled
184
- */
185
- isEnabled() {
186
- return this.enabled;
187
- }
188
- }
189
- /**
190
- * Singleton instance
191
- */
192
- export const processRegistry = new ProcessRegistry();
193
- /**
194
- * Convenience functions
195
- */
196
- export function registerProcess(pid, command, args, source, metadata, ppid) {
197
- processRegistry.register(pid, command, args, source, metadata, ppid);
198
- }
199
- export function updateProcessStatus(pid, status, exitCode, signal) {
200
- processRegistry.updateStatus(pid, status, exitCode, signal);
201
- }
202
- export function markProcessZombie(pid) {
203
- processRegistry.markZombie(pid);
204
- }
205
- export function getProcess(pid) {
206
- return processRegistry.get(pid);
207
- }
208
- export function getAllProcesses() {
209
- return processRegistry.getAll();
210
- }
211
- export function getRunningProcesses() {
212
- return processRegistry.getRunning();
213
- }
214
- export function getZombieProcesses() {
215
- return processRegistry.getZombies();
216
- }
217
- export function getProcessStats() {
218
- return processRegistry.getStats();
219
- }
220
- export function getSpawnRate() {
221
- return processRegistry.getSpawnRate();
222
- }
223
- //# sourceMappingURL=process-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-registry.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/process-registry.ts"],"names":[],"mappings":"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"}