@revealui/mcp 0.1.0 → 0.1.3

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 +111 -0
  3. package/README.md +3 -0
  4. package/dist/{packages/mcp/src/adapters → adapters}/db.d.ts +1 -1
  5. package/dist/adapters/db.d.ts.map +1 -0
  6. package/dist/adapters/db.js.map +1 -0
  7. package/dist/config/index.d.ts.map +1 -0
  8. package/dist/config/index.js.map +1 -0
  9. package/dist/contracts.d.ts.map +1 -0
  10. package/dist/contracts.js.map +1 -0
  11. package/dist/{packages/mcp/src/hypervisor.d.ts → hypervisor.d.ts} +56 -0
  12. package/dist/hypervisor.d.ts.map +1 -0
  13. package/dist/{packages/mcp/src/hypervisor.js → hypervisor.js} +209 -1
  14. package/dist/hypervisor.js.map +1 -0
  15. package/dist/{packages/mcp/src/index.d.ts → index.d.ts} +9 -5
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/{packages/mcp/src/index.js → index.js} +8 -4
  18. package/dist/index.js.map +1 -0
  19. package/dist/{packages/mcp/src/servers → servers}/adapter.d.ts +11 -1
  20. package/dist/servers/adapter.d.ts.map +1 -0
  21. package/dist/{packages/mcp/src/servers → servers}/adapter.js +20 -4
  22. package/dist/servers/adapter.js.map +1 -0
  23. package/dist/servers/revealui-content.d.ts +21 -0
  24. package/dist/servers/revealui-content.d.ts.map +1 -0
  25. package/dist/servers/revealui-content.js +211 -0
  26. package/dist/servers/revealui-content.js.map +1 -0
  27. package/dist/servers/revealui-email.d.ts +18 -0
  28. package/dist/servers/revealui-email.d.ts.map +1 -0
  29. package/dist/servers/revealui-email.js +190 -0
  30. package/dist/servers/revealui-email.js.map +1 -0
  31. package/dist/servers/revealui-stripe.d.ts +19 -0
  32. package/dist/servers/revealui-stripe.d.ts.map +1 -0
  33. package/dist/servers/revealui-stripe.js +228 -0
  34. package/dist/servers/revealui-stripe.js.map +1 -0
  35. package/package.json +50 -11
  36. package/.env.example +0 -9
  37. package/MCP_MAINTENANCE.md +0 -265
  38. package/__tests__/crdt.integration.test.ts +0 -156
  39. package/configs/README.md +0 -77
  40. package/configs/claude-template.json +0 -54
  41. package/dist/packages/core/src/database/ssl-config.d.ts +0 -9
  42. package/dist/packages/core/src/database/ssl-config.d.ts.map +0 -1
  43. package/dist/packages/core/src/database/ssl-config.js +0 -8
  44. package/dist/packages/core/src/database/ssl-config.js.map +0 -1
  45. package/dist/packages/core/src/features.d.ts +0 -86
  46. package/dist/packages/core/src/features.d.ts.map +0 -1
  47. package/dist/packages/core/src/features.js +0 -93
  48. package/dist/packages/core/src/features.js.map +0 -1
  49. package/dist/packages/core/src/license.d.ts +0 -75
  50. package/dist/packages/core/src/license.d.ts.map +0 -1
  51. package/dist/packages/core/src/license.js +0 -174
  52. package/dist/packages/core/src/license.js.map +0 -1
  53. package/dist/packages/core/src/monitoring/alerts.d.ts +0 -118
  54. package/dist/packages/core/src/monitoring/alerts.d.ts.map +0 -1
  55. package/dist/packages/core/src/monitoring/alerts.js +0 -325
  56. package/dist/packages/core/src/monitoring/alerts.js.map +0 -1
  57. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts +0 -71
  58. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts.map +0 -1
  59. package/dist/packages/core/src/monitoring/cleanup-manager.js +0 -227
  60. package/dist/packages/core/src/monitoring/cleanup-manager.js.map +0 -1
  61. package/dist/packages/core/src/monitoring/health-monitor.d.ts +0 -22
  62. package/dist/packages/core/src/monitoring/health-monitor.d.ts.map +0 -1
  63. package/dist/packages/core/src/monitoring/health-monitor.js +0 -143
  64. package/dist/packages/core/src/monitoring/health-monitor.js.map +0 -1
  65. package/dist/packages/core/src/monitoring/index.d.ts +0 -14
  66. package/dist/packages/core/src/monitoring/index.d.ts.map +0 -1
  67. package/dist/packages/core/src/monitoring/index.js +0 -18
  68. package/dist/packages/core/src/monitoring/index.js.map +0 -1
  69. package/dist/packages/core/src/monitoring/process-registry.d.ts +0 -97
  70. package/dist/packages/core/src/monitoring/process-registry.d.ts.map +0 -1
  71. package/dist/packages/core/src/monitoring/process-registry.js +0 -223
  72. package/dist/packages/core/src/monitoring/process-registry.js.map +0 -1
  73. package/dist/packages/core/src/monitoring/types.d.ts +0 -231
  74. package/dist/packages/core/src/monitoring/types.d.ts.map +0 -1
  75. package/dist/packages/core/src/monitoring/types.js +0 -43
  76. package/dist/packages/core/src/monitoring/types.js.map +0 -1
  77. package/dist/packages/core/src/monitoring/zombie-detector.d.ts +0 -81
  78. package/dist/packages/core/src/monitoring/zombie-detector.d.ts.map +0 -1
  79. package/dist/packages/core/src/monitoring/zombie-detector.js +0 -232
  80. package/dist/packages/core/src/monitoring/zombie-detector.js.map +0 -1
  81. package/dist/packages/core/src/observability/logger.d.ts +0 -47
  82. package/dist/packages/core/src/observability/logger.d.ts.map +0 -1
  83. package/dist/packages/core/src/observability/logger.js +0 -141
  84. package/dist/packages/core/src/observability/logger.js.map +0 -1
  85. package/dist/packages/core/src/utils/logger-server.d.ts +0 -32
  86. package/dist/packages/core/src/utils/logger-server.d.ts.map +0 -1
  87. package/dist/packages/core/src/utils/logger-server.js +0 -69
  88. package/dist/packages/core/src/utils/logger-server.js.map +0 -1
  89. package/dist/packages/core/src/utils/request-context.d.ts +0 -143
  90. package/dist/packages/core/src/utils/request-context.d.ts.map +0 -1
  91. package/dist/packages/core/src/utils/request-context.js +0 -169
  92. package/dist/packages/core/src/utils/request-context.js.map +0 -1
  93. package/dist/packages/dev/src/code-validator/index.d.ts +0 -20
  94. package/dist/packages/dev/src/code-validator/index.d.ts.map +0 -1
  95. package/dist/packages/dev/src/code-validator/index.js +0 -20
  96. package/dist/packages/dev/src/code-validator/index.js.map +0 -1
  97. package/dist/packages/dev/src/code-validator/types.d.ts +0 -67
  98. package/dist/packages/dev/src/code-validator/types.d.ts.map +0 -1
  99. package/dist/packages/dev/src/code-validator/types.js +0 -7
  100. package/dist/packages/dev/src/code-validator/types.js.map +0 -1
  101. package/dist/packages/dev/src/code-validator/validator.d.ts +0 -48
  102. package/dist/packages/dev/src/code-validator/validator.d.ts.map +0 -1
  103. package/dist/packages/dev/src/code-validator/validator.js +0 -176
  104. package/dist/packages/dev/src/code-validator/validator.js.map +0 -1
  105. package/dist/packages/mcp/src/adapters/db.d.ts.map +0 -1
  106. package/dist/packages/mcp/src/adapters/db.js.map +0 -1
  107. package/dist/packages/mcp/src/config/index.d.ts.map +0 -1
  108. package/dist/packages/mcp/src/config/index.js.map +0 -1
  109. package/dist/packages/mcp/src/contracts.d.ts.map +0 -1
  110. package/dist/packages/mcp/src/contracts.js.map +0 -1
  111. package/dist/packages/mcp/src/hypervisor.d.ts.map +0 -1
  112. package/dist/packages/mcp/src/hypervisor.js.map +0 -1
  113. package/dist/packages/mcp/src/index.d.ts.map +0 -1
  114. package/dist/packages/mcp/src/index.js.map +0 -1
  115. package/dist/packages/mcp/src/servers/adapter.d.ts.map +0 -1
  116. package/dist/packages/mcp/src/servers/adapter.js.map +0 -1
  117. package/dist/packages/mcp/src/servers/code-validator.d.ts +0 -24
  118. package/dist/packages/mcp/src/servers/code-validator.d.ts.map +0 -1
  119. package/dist/packages/mcp/src/servers/code-validator.js +0 -156
  120. package/dist/packages/mcp/src/servers/code-validator.js.map +0 -1
  121. package/dist/packages/mcp/src/servers/neon.d.ts +0 -11
  122. package/dist/packages/mcp/src/servers/neon.d.ts.map +0 -1
  123. package/dist/packages/mcp/src/servers/neon.js +0 -90
  124. package/dist/packages/mcp/src/servers/neon.js.map +0 -1
  125. package/dist/packages/mcp/src/servers/next-devtools.d.ts +0 -11
  126. package/dist/packages/mcp/src/servers/next-devtools.d.ts.map +0 -1
  127. package/dist/packages/mcp/src/servers/next-devtools.js +0 -215
  128. package/dist/packages/mcp/src/servers/next-devtools.js.map +0 -1
  129. package/dist/packages/mcp/src/servers/playwright.d.ts +0 -11
  130. package/dist/packages/mcp/src/servers/playwright.d.ts.map +0 -1
  131. package/dist/packages/mcp/src/servers/playwright.js +0 -68
  132. package/dist/packages/mcp/src/servers/playwright.js.map +0 -1
  133. package/dist/packages/mcp/src/servers/stripe.d.ts +0 -11
  134. package/dist/packages/mcp/src/servers/stripe.d.ts.map +0 -1
  135. package/dist/packages/mcp/src/servers/stripe.js +0 -86
  136. package/dist/packages/mcp/src/servers/stripe.js.map +0 -1
  137. package/dist/packages/mcp/src/servers/supabase.d.ts +0 -11
  138. package/dist/packages/mcp/src/servers/supabase.d.ts.map +0 -1
  139. package/dist/packages/mcp/src/servers/supabase.js +0 -144
  140. package/dist/packages/mcp/src/servers/supabase.js.map +0 -1
  141. package/dist/packages/mcp/src/servers/vercel.d.ts +0 -11
  142. package/dist/packages/mcp/src/servers/vercel.d.ts.map +0 -1
  143. package/dist/packages/mcp/src/servers/vercel.js +0 -87
  144. package/dist/packages/mcp/src/servers/vercel.js.map +0 -1
  145. package/dist/packages/mcp/src/servers/vultr-test.d.ts +0 -3
  146. package/dist/packages/mcp/src/servers/vultr-test.d.ts.map +0 -1
  147. package/dist/packages/mcp/src/servers/vultr-test.js +0 -82
  148. package/dist/packages/mcp/src/servers/vultr-test.js.map +0 -1
  149. package/dist/scripts/lib/analyzers/console-analyzer.d.ts +0 -188
  150. package/dist/scripts/lib/analyzers/console-analyzer.d.ts.map +0 -1
  151. package/dist/scripts/lib/analyzers/console-analyzer.js +0 -432
  152. package/dist/scripts/lib/analyzers/console-analyzer.js.map +0 -1
  153. package/dist/scripts/lib/analyzers/index.d.ts +0 -11
  154. package/dist/scripts/lib/analyzers/index.d.ts.map +0 -1
  155. package/dist/scripts/lib/analyzers/index.js +0 -11
  156. package/dist/scripts/lib/analyzers/index.js.map +0 -1
  157. package/dist/scripts/lib/args.d.ts +0 -104
  158. package/dist/scripts/lib/args.d.ts.map +0 -1
  159. package/dist/scripts/lib/args.js +0 -304
  160. package/dist/scripts/lib/args.js.map +0 -1
  161. package/dist/scripts/lib/cache.d.ts +0 -185
  162. package/dist/scripts/lib/cache.d.ts.map +0 -1
  163. package/dist/scripts/lib/cache.js +0 -390
  164. package/dist/scripts/lib/cache.js.map +0 -1
  165. package/dist/scripts/lib/cli/dispatch.d.ts +0 -116
  166. package/dist/scripts/lib/cli/dispatch.d.ts.map +0 -1
  167. package/dist/scripts/lib/cli/dispatch.js +0 -206
  168. package/dist/scripts/lib/cli/dispatch.js.map +0 -1
  169. package/dist/scripts/lib/cli/index.d.ts +0 -10
  170. package/dist/scripts/lib/cli/index.d.ts.map +0 -1
  171. package/dist/scripts/lib/cli/index.js +0 -10
  172. package/dist/scripts/lib/cli/index.js.map +0 -1
  173. package/dist/scripts/lib/database/ssl-config.d.ts +0 -26
  174. package/dist/scripts/lib/database/ssl-config.d.ts.map +0 -1
  175. package/dist/scripts/lib/database/ssl-config.js +0 -47
  176. package/dist/scripts/lib/database/ssl-config.js.map +0 -1
  177. package/dist/scripts/lib/errors.d.ts +0 -218
  178. package/dist/scripts/lib/errors.d.ts.map +0 -1
  179. package/dist/scripts/lib/errors.js +0 -543
  180. package/dist/scripts/lib/errors.js.map +0 -1
  181. package/dist/scripts/lib/exec.d.ts +0 -107
  182. package/dist/scripts/lib/exec.d.ts.map +0 -1
  183. package/dist/scripts/lib/exec.js +0 -232
  184. package/dist/scripts/lib/exec.js.map +0 -1
  185. package/dist/scripts/lib/index.d.ts +0 -50
  186. package/dist/scripts/lib/index.d.ts.map +0 -1
  187. package/dist/scripts/lib/index.js +0 -65
  188. package/dist/scripts/lib/index.js.map +0 -1
  189. package/dist/scripts/lib/logger.d.ts +0 -50
  190. package/dist/scripts/lib/logger.d.ts.map +0 -1
  191. package/dist/scripts/lib/logger.js +0 -159
  192. package/dist/scripts/lib/logger.js.map +0 -1
  193. package/dist/scripts/lib/output.d.ts +0 -149
  194. package/dist/scripts/lib/output.d.ts.map +0 -1
  195. package/dist/scripts/lib/output.js +0 -263
  196. package/dist/scripts/lib/output.js.map +0 -1
  197. package/dist/scripts/lib/parallel.d.ts +0 -164
  198. package/dist/scripts/lib/parallel.d.ts.map +0 -1
  199. package/dist/scripts/lib/parallel.js +0 -355
  200. package/dist/scripts/lib/parallel.js.map +0 -1
  201. package/dist/scripts/lib/paths.d.ts +0 -92
  202. package/dist/scripts/lib/paths.d.ts.map +0 -1
  203. package/dist/scripts/lib/paths.js +0 -171
  204. package/dist/scripts/lib/paths.js.map +0 -1
  205. package/dist/scripts/lib/state/adapters/memory.d.ts +0 -42
  206. package/dist/scripts/lib/state/adapters/memory.d.ts.map +0 -1
  207. package/dist/scripts/lib/state/adapters/memory.js +0 -110
  208. package/dist/scripts/lib/state/adapters/memory.js.map +0 -1
  209. package/dist/scripts/lib/state/adapters/pglite.d.ts +0 -46
  210. package/dist/scripts/lib/state/adapters/pglite.d.ts.map +0 -1
  211. package/dist/scripts/lib/state/adapters/pglite.js +0 -256
  212. package/dist/scripts/lib/state/adapters/pglite.js.map +0 -1
  213. package/dist/scripts/lib/state/index.d.ts +0 -16
  214. package/dist/scripts/lib/state/index.d.ts.map +0 -1
  215. package/dist/scripts/lib/state/index.js +0 -16
  216. package/dist/scripts/lib/state/index.js.map +0 -1
  217. package/dist/scripts/lib/state/types.d.ts +0 -111
  218. package/dist/scripts/lib/state/types.d.ts.map +0 -1
  219. package/dist/scripts/lib/state/types.js +0 -8
  220. package/dist/scripts/lib/state/types.js.map +0 -1
  221. package/dist/scripts/lib/state/workflow-state.d.ts +0 -110
  222. package/dist/scripts/lib/state/workflow-state.d.ts.map +0 -1
  223. package/dist/scripts/lib/state/workflow-state.js +0 -331
  224. package/dist/scripts/lib/state/workflow-state.js.map +0 -1
  225. package/dist/scripts/lib/telemetry.d.ts +0 -194
  226. package/dist/scripts/lib/telemetry.d.ts.map +0 -1
  227. package/dist/scripts/lib/telemetry.js +0 -394
  228. package/dist/scripts/lib/telemetry.js.map +0 -1
  229. package/dist/scripts/lib/utils.d.ts +0 -270
  230. package/dist/scripts/lib/utils.d.ts.map +0 -1
  231. package/dist/scripts/lib/utils.js +0 -473
  232. package/dist/scripts/lib/utils.js.map +0 -1
  233. package/dist/scripts/lib/validation/database.d.ts +0 -83
  234. package/dist/scripts/lib/validation/database.d.ts.map +0 -1
  235. package/dist/scripts/lib/validation/database.js +0 -199
  236. package/dist/scripts/lib/validation/database.js.map +0 -1
  237. package/dist/scripts/lib/validation/env.d.ts +0 -80
  238. package/dist/scripts/lib/validation/env.d.ts.map +0 -1
  239. package/dist/scripts/lib/validation/env.js +0 -246
  240. package/dist/scripts/lib/validation/env.js.map +0 -1
  241. package/dist/scripts/lib/validation/index.d.ts +0 -16
  242. package/dist/scripts/lib/validation/index.d.ts.map +0 -1
  243. package/dist/scripts/lib/validation/index.js +0 -16
  244. package/dist/scripts/lib/validation/index.js.map +0 -1
  245. package/dist/scripts/lib/validation/post-execution.d.ts +0 -74
  246. package/dist/scripts/lib/validation/post-execution.d.ts.map +0 -1
  247. package/dist/scripts/lib/validation/post-execution.js +0 -110
  248. package/dist/scripts/lib/validation/post-execution.js.map +0 -1
  249. package/dist/scripts/lib/validation/pre-execution.d.ts +0 -165
  250. package/dist/scripts/lib/validation/pre-execution.d.ts.map +0 -1
  251. package/dist/scripts/lib/validation/pre-execution.js +0 -466
  252. package/dist/scripts/lib/validation/pre-execution.js.map +0 -1
  253. package/dist/scripts/lib/validators/documentation-validator.d.ts +0 -242
  254. package/dist/scripts/lib/validators/documentation-validator.d.ts.map +0 -1
  255. package/dist/scripts/lib/validators/documentation-validator.js +0 -584
  256. package/dist/scripts/lib/validators/documentation-validator.js.map +0 -1
  257. package/dist/scripts/lib/validators/index.d.ts +0 -11
  258. package/dist/scripts/lib/validators/index.d.ts.map +0 -1
  259. package/dist/scripts/lib/validators/index.js +0 -11
  260. package/dist/scripts/lib/validators/index.js.map +0 -1
  261. package/docker-compose.yml +0 -46
  262. package/docs/INDEX.md +0 -88
  263. package/docs/README.md +0 -774
  264. package/docs/SETUP.md +0 -264
  265. package/docs/servers/code-validator.md +0 -586
  266. package/eslint.config.js +0 -7
  267. package/migrations/0001_add_crdt_columns.sql +0 -8
  268. package/migrations/0001_rollback.sql +0 -6
  269. package/migrations/005_performance_indexes.sql +0 -190
  270. package/migrations/backfill_crdt_meta.js +0 -45
  271. package/src/__tests__/hypervisor.test.ts +0 -212
  272. package/src/adapters/db.ts +0 -180
  273. package/src/config/config.json +0 -49
  274. package/src/config/index.ts +0 -30
  275. package/src/contracts.ts +0 -221
  276. package/src/hypervisor.ts +0 -464
  277. package/src/index.ts +0 -87
  278. package/src/servers/adapter.ts +0 -643
  279. package/src/servers/code-validator.ts +0 -188
  280. package/src/servers/neon.ts +0 -103
  281. package/src/servers/next-devtools.ts +0 -230
  282. package/src/servers/playwright.ts +0 -77
  283. package/src/servers/stripe.ts +0 -99
  284. package/src/servers/supabase.ts +0 -161
  285. package/src/servers/vercel.ts +0 -100
  286. package/src/servers/vultr-test.ts +0 -97
  287. package/tsconfig.json +0 -12
  288. package/vitest.config.ts +0 -22
  289. /package/dist/{packages/mcp/src/adapters → adapters}/db.js +0 -0
  290. /package/dist/{packages/mcp/src/config → config}/index.d.ts +0 -0
  291. /package/dist/{packages/mcp/src/config → config}/index.js +0 -0
  292. /package/dist/{packages/mcp/src/contracts.d.ts → contracts.d.ts} +0 -0
  293. /package/dist/{packages/mcp/src/contracts.js → contracts.js} +0 -0
@@ -1,232 +0,0 @@
1
- /**
2
- * Zombie Process Detector
3
- *
4
- * Periodically scans for defunct (zombie) processes and attempts automatic cleanup.
5
- * Zombie processes are dead processes that haven't been reaped by their parent.
6
- */
7
- import { exec } from 'node:child_process';
8
- import { promisify } from 'node:util';
9
- import { logger } from '../utils/logger-server.js';
10
- import { processRegistry } from './process-registry.js';
11
- import { DEFAULT_MONITORING_CONFIG } from './types.js';
12
- const execAsync = promisify(exec);
13
- /**
14
- * Zombie detector class
15
- */
16
- class ZombieDetector {
17
- interval = null;
18
- zombieHistory = [];
19
- enabled = DEFAULT_MONITORING_CONFIG.enabled;
20
- detectionInterval = DEFAULT_MONITORING_CONFIG.zombieDetectionInterval;
21
- maxHistory = DEFAULT_MONITORING_CONFIG.maxZombieHistory;
22
- onZombieDetected;
23
- /**
24
- * Start zombie detection
25
- */
26
- start() {
27
- if (!this.enabled || this.interval)
28
- return;
29
- logger.info('Starting zombie process detector', {
30
- interval: this.detectionInterval,
31
- });
32
- this.interval = setInterval(() => {
33
- this.scan().catch((error) => {
34
- logger.error('Zombie detection scan failed', { error });
35
- });
36
- }, this.detectionInterval);
37
- // Prevent interval from keeping process alive
38
- this.interval.unref();
39
- }
40
- /**
41
- * Stop zombie detection
42
- */
43
- stop() {
44
- if (this.interval) {
45
- clearInterval(this.interval);
46
- this.interval = null;
47
- logger.info('Stopped zombie process detector');
48
- }
49
- }
50
- /**
51
- * Perform a single scan for zombie processes
52
- */
53
- async scan() {
54
- if (!this.enabled)
55
- return [];
56
- try {
57
- // Use ps to find defunct processes
58
- // Format: PID PPID COMMAND STATE
59
- const { stdout } = await execAsync("ps axo pid,ppid,comm,state | grep -E ' (Z|z)' || true");
60
- const zombies = [];
61
- if (stdout.trim()) {
62
- const lines = stdout.trim().split('\n');
63
- for (const line of lines) {
64
- const match = line.trim().match(/^(\d+)\s+(\d+)\s+(\S+)\s+[Zz]/);
65
- if (match?.[1] && match[2] && match[3]) {
66
- const pid = parseInt(match[1], 10);
67
- const ppid = parseInt(match[2], 10);
68
- const command = match[3];
69
- const zombie = {
70
- pid,
71
- ppid,
72
- command,
73
- detectedAt: Date.now(),
74
- trackedProcess: processRegistry.get(pid),
75
- };
76
- zombies.push(zombie);
77
- // Mark in registry
78
- processRegistry.markZombie(pid);
79
- // Add to history
80
- this.addToHistory(zombie);
81
- // Log detection
82
- logger.warn('Zombie process detected', {
83
- pid,
84
- ppid,
85
- command,
86
- });
87
- // Attempt cleanup
88
- await this.attemptCleanup(zombie);
89
- // Notify callback
90
- if (this.onZombieDetected) {
91
- this.onZombieDetected(zombie);
92
- }
93
- }
94
- }
95
- }
96
- return zombies;
97
- }
98
- catch (error) {
99
- logger.error('Failed to scan for zombie processes', { error });
100
- return [];
101
- }
102
- }
103
- /**
104
- * Attempt to clean up a zombie process
105
- */
106
- async attemptCleanup(zombie) {
107
- try {
108
- // Zombies can't be killed directly - need to signal parent to reap them
109
- // Try sending SIGCHLD to parent process
110
- logger.info('Attempting zombie cleanup by signaling parent', {
111
- zombie: zombie.pid,
112
- parent: zombie.ppid,
113
- });
114
- // Check if parent exists
115
- const { stdout: parentExists } = await execAsync(`ps -p ${zombie.ppid} -o pid= || true`);
116
- if (!parentExists.trim()) {
117
- logger.warn('Zombie parent process does not exist', {
118
- zombie: zombie.pid,
119
- parent: zombie.ppid,
120
- });
121
- return false;
122
- }
123
- // Send SIGCHLD to parent
124
- process.kill(zombie.ppid, 'SIGCHLD');
125
- // Wait a moment and check if zombie is gone
126
- await new Promise((resolve) => setTimeout(resolve, 1000));
127
- const { stdout: zombieStillExists } = await execAsync(`ps -p ${zombie.pid} -o state= || true`);
128
- if (!zombieStillExists.trim()) {
129
- logger.info('Zombie process successfully reaped', {
130
- pid: zombie.pid,
131
- });
132
- return true;
133
- }
134
- logger.warn('Zombie process persists after cleanup attempt', {
135
- pid: zombie.pid,
136
- ppid: zombie.ppid,
137
- });
138
- return false;
139
- }
140
- catch (error) {
141
- logger.error('Failed to cleanup zombie process', {
142
- zombie: zombie.pid,
143
- error,
144
- });
145
- return false;
146
- }
147
- }
148
- /**
149
- * Add zombie to history
150
- */
151
- addToHistory(zombie) {
152
- this.zombieHistory.unshift(zombie);
153
- // Trim history
154
- if (this.zombieHistory.length > this.maxHistory) {
155
- this.zombieHistory = this.zombieHistory.slice(0, this.maxHistory);
156
- }
157
- }
158
- /**
159
- * Get zombie history
160
- */
161
- getHistory() {
162
- return [...this.zombieHistory];
163
- }
164
- /**
165
- * Get current zombie count
166
- */
167
- getCount() {
168
- return processRegistry.getZombies().length;
169
- }
170
- /**
171
- * Clear history
172
- */
173
- clearHistory() {
174
- this.zombieHistory = [];
175
- }
176
- /**
177
- * Set zombie detection callback
178
- */
179
- onZombie(callback) {
180
- this.onZombieDetected = callback;
181
- }
182
- /**
183
- * Enable or disable detection
184
- */
185
- setEnabled(enabled) {
186
- this.enabled = enabled;
187
- if (!enabled && this.interval) {
188
- this.stop();
189
- }
190
- else if (enabled && !this.interval) {
191
- this.start();
192
- }
193
- }
194
- /**
195
- * Check if detection is enabled
196
- */
197
- isEnabled() {
198
- return this.enabled;
199
- }
200
- /**
201
- * Check if detector is running
202
- */
203
- isRunning() {
204
- return this.interval !== null;
205
- }
206
- }
207
- /**
208
- * Singleton instance
209
- */
210
- export const zombieDetector = new ZombieDetector();
211
- /**
212
- * Convenience functions
213
- */
214
- export function startZombieDetection() {
215
- zombieDetector.start();
216
- }
217
- export function stopZombieDetection() {
218
- zombieDetector.stop();
219
- }
220
- export function scanForZombies() {
221
- return zombieDetector.scan();
222
- }
223
- export function getZombieHistory() {
224
- return zombieDetector.getHistory();
225
- }
226
- export function getZombieCount() {
227
- return zombieDetector.getCount();
228
- }
229
- export function onZombieDetected(callback) {
230
- zombieDetector.onZombie(callback);
231
- }
232
- //# sourceMappingURL=zombie-detector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zombie-detector.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/zombie-detector.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Structured Logging Infrastructure
3
- *
4
- * Re-exports from @revealui/utils to maintain backward compatibility.
5
- * The actual implementation has been moved to @revealui/utils to break circular dependencies.
6
- */
7
- export type { LogContext, LogEntry, LoggerConfig, LogLevel, } from '@revealui/utils/logger';
8
- export { createLogger, Logger, logAudit, logError, logger, logQuery, } from '@revealui/utils/logger';
9
- /**
10
- * Request logger middleware
11
- */
12
- export declare function createRequestLogger<TRequest = unknown, TResponse = unknown>(options?: {
13
- includeBody?: boolean;
14
- includeHeaders?: boolean;
15
- }): (request: TRequest & {
16
- method: string;
17
- url: string;
18
- headers?: {
19
- get?: (key: string) => string | null;
20
- entries?: () => Iterable<[string, string]>;
21
- };
22
- }, next: () => Promise<TResponse>) => Promise<TResponse>;
23
- /**
24
- * Performance logger
25
- */
26
- export declare function logPerformance(operation: string, duration: number, context?: Record<string, unknown>): void;
27
- /**
28
- * API call logger
29
- */
30
- export declare function logAPICall(method: string, url: string, status: number, duration: number, context?: Record<string, unknown>): void;
31
- /**
32
- * Cache operation logger
33
- */
34
- export declare function logCache(operation: 'hit' | 'miss' | 'set' | 'delete', key: string, context?: Record<string, unknown>): void;
35
- /**
36
- * User action logger
37
- */
38
- export declare function logUserAction(action: string, userId?: string, context?: Record<string, unknown>): void;
39
- /**
40
- * System event logger
41
- */
42
- export declare function logSystemEvent(event: string, context?: Record<string, unknown>): void;
43
- /**
44
- * Sanitize sensitive data from logs
45
- */
46
- export declare function sanitizeLogData(data: Record<string, unknown>): Record<string, unknown>;
47
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../../core/src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,YAAY,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,GACT,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,MAAM,wBAAwB,CAAA;AAK/B;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,GAAG,OAAO,EAAE,SAAS,GAAG,OAAO,EACzE,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,IAG/D,SAAS,QAAQ,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,CAAA;CAC/F,EACD,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,KAC7B,OAAO,CAAC,SAAS,CAAC,CA6CtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EAC5C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAKrF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BtF"}
@@ -1,141 +0,0 @@
1
- /**
2
- * Structured Logging Infrastructure
3
- *
4
- * Re-exports from @revealui/utils to maintain backward compatibility.
5
- * The actual implementation has been moved to @revealui/utils to break circular dependencies.
6
- */
7
- // Import logger for internal use
8
- import { logger as utilsLogger } from '@revealui/utils/logger';
9
- export { createLogger, Logger, logAudit, logError, logger, logQuery, } from '@revealui/utils/logger';
10
- // Additional helper functions that were in core but not in utils
11
- // These can stay here as they're core-specific
12
- /**
13
- * Request logger middleware
14
- */
15
- export function createRequestLogger(options = {}) {
16
- return async (request, next) => {
17
- // Import logger at runtime to avoid circular deps
18
- const { logger } = await import('@revealui/utils/logger');
19
- const requestId = crypto.randomUUID();
20
- const startTime = Date.now();
21
- const requestLogger = logger.child({
22
- requestId,
23
- method: request.method,
24
- url: request.url,
25
- userAgent: request.headers?.get?.('user-agent'),
26
- });
27
- requestLogger.info('Request started');
28
- if (options.includeHeaders) {
29
- requestLogger.debug('Request headers', {
30
- headers: Object.fromEntries(request.headers?.entries?.() || []),
31
- });
32
- }
33
- try {
34
- const response = await next();
35
- const duration = Date.now() - startTime;
36
- const responseWithStatus = response;
37
- requestLogger.info('Request completed', {
38
- status: responseWithStatus.status ?? 200,
39
- duration,
40
- });
41
- return response;
42
- }
43
- catch (error) {
44
- const duration = Date.now() - startTime;
45
- requestLogger.error('Request failed', error instanceof Error ? error : new Error(String(error)), { duration });
46
- throw error;
47
- }
48
- };
49
- }
50
- /**
51
- * Performance logger
52
- */
53
- export function logPerformance(operation, duration, context) {
54
- const level = duration > 1000 ? 'warn' : 'info';
55
- utilsLogger[level](`Performance: ${operation}`, {
56
- ...context,
57
- operation,
58
- duration,
59
- slow: duration > 1000,
60
- });
61
- }
62
- /**
63
- * API call logger
64
- */
65
- export function logAPICall(method, url, status, duration, context) {
66
- const apiContext = {
67
- ...context,
68
- method,
69
- url,
70
- status,
71
- duration,
72
- };
73
- if (status >= 400) {
74
- utilsLogger.error('API call', undefined, apiContext);
75
- }
76
- else if (status >= 300) {
77
- utilsLogger.warn('API call', apiContext);
78
- }
79
- else {
80
- utilsLogger.info('API call', apiContext);
81
- }
82
- }
83
- /**
84
- * Cache operation logger
85
- */
86
- export function logCache(operation, key, context) {
87
- utilsLogger.debug(`Cache ${operation}`, {
88
- ...context,
89
- operation,
90
- key,
91
- });
92
- }
93
- /**
94
- * User action logger
95
- */
96
- export function logUserAction(action, userId, context) {
97
- utilsLogger.info('User action', {
98
- ...context,
99
- action,
100
- userId,
101
- });
102
- }
103
- /**
104
- * System event logger
105
- */
106
- export function logSystemEvent(event, context) {
107
- utilsLogger.info('System event', {
108
- ...context,
109
- event,
110
- });
111
- }
112
- /**
113
- * Sanitize sensitive data from logs
114
- */
115
- export function sanitizeLogData(data) {
116
- const sensitiveKeys = [
117
- 'password',
118
- 'token',
119
- 'secret',
120
- 'apiKey',
121
- 'accessToken',
122
- 'refreshToken',
123
- 'creditCard',
124
- 'ssn',
125
- ];
126
- const sanitized = {};
127
- for (const [key, value] of Object.entries(data)) {
128
- const lowerKey = key.toLowerCase();
129
- if (sensitiveKeys.some((sensitive) => lowerKey.includes(sensitive))) {
130
- sanitized[key] = '[REDACTED]';
131
- }
132
- else if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
133
- sanitized[key] = sanitizeLogData(value);
134
- }
135
- else {
136
- sanitized[key] = value;
137
- }
138
- }
139
- return sanitized;
140
- }
141
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../../core/src/observability/logger.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Server Logger Utility
3
- *
4
- * Server-side logging utility for RevealUI framework.
5
- * Supports different log levels and structured output.
6
- * Automatically includes request ID from request context when available.
7
- *
8
- * WARNING: This module uses Node.js APIs (async_hooks via request-context).
9
- * For client-safe logging, use './logger-client.js' instead.
10
- */
11
- export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
12
- export interface LogContext {
13
- [key: string]: unknown;
14
- }
15
- export interface Logger {
16
- debug(message: string, context?: LogContext): void;
17
- info(message: string, context?: LogContext): void;
18
- warn(message: string, context?: LogContext): void;
19
- error(message: string, context?: LogContext): void;
20
- }
21
- /**
22
- * Create a logger instance
23
- *
24
- * @param minLevel - Minimum log level to output (default: 'info')
25
- * @returns Logger instance
26
- */
27
- export declare function createLogger(minLevel?: LogLevel): Logger;
28
- /**
29
- * Default logger instance
30
- */
31
- export declare const logger: Logger;
32
- //# sourceMappingURL=logger-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-server.d.ts","sourceRoot":"","sources":["../../../../../../core/src/utils/logger-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAClD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CACnD;AAsDD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAKxD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAiB,CAAA"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Server Logger Utility
3
- *
4
- * Server-side logging utility for RevealUI framework.
5
- * Supports different log levels and structured output.
6
- * Automatically includes request ID from request context when available.
7
- *
8
- * WARNING: This module uses Node.js APIs (async_hooks via request-context).
9
- * For client-safe logging, use './logger-client.js' instead.
10
- */
11
- import { getRequestId } from './request-context.js';
12
- class ConsoleLogger {
13
- minLevel;
14
- constructor(minLevel = 'info') {
15
- this.minLevel = minLevel;
16
- }
17
- shouldLog(level) {
18
- const levels = ['debug', 'info', 'warn', 'error'];
19
- return levels.indexOf(level) >= levels.indexOf(this.minLevel);
20
- }
21
- formatMessage(level, message, context) {
22
- const timestamp = new Date().toISOString();
23
- const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
24
- // Automatically include request ID if available
25
- const requestId = getRequestId();
26
- const enrichedContext = requestId ? { requestId, ...context } : context;
27
- if (enrichedContext && Object.keys(enrichedContext).length > 0) {
28
- return `${prefix} ${message} ${JSON.stringify(enrichedContext)}`;
29
- }
30
- return `${prefix} ${message}`;
31
- }
32
- debug(message, context) {
33
- if (process.env.NODE_ENV !== 'production') {
34
- console.debug(this.formatMessage('debug', message, context));
35
- }
36
- }
37
- info(message, context) {
38
- if (process.env.NODE_ENV !== 'production') {
39
- console.info(this.formatMessage('info', message, context));
40
- }
41
- }
42
- warn(message, context) {
43
- if (process.env.NODE_ENV !== 'production') {
44
- console.warn(this.formatMessage('warn', message, context));
45
- }
46
- }
47
- error(message, context) {
48
- if (this.shouldLog('error')) {
49
- console.error(this.formatMessage('error', message, context));
50
- }
51
- }
52
- }
53
- /**
54
- * Create a logger instance
55
- *
56
- * @param minLevel - Minimum log level to output (default: 'info')
57
- * @returns Logger instance
58
- */
59
- export function createLogger(minLevel) {
60
- // In production, can be extended to use structured logging services
61
- // For now, use console-based logger
62
- const level = minLevel || process.env.LOG_LEVEL || 'info';
63
- return new ConsoleLogger(level);
64
- }
65
- /**
66
- * Default logger instance
67
- */
68
- export const logger = createLogger();
69
- //# sourceMappingURL=logger-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-server.js","sourceRoot":"","sources":["../../../../../../core/src/utils/logger-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAenD,MAAM,aAAa;IACT,QAAQ,CAAU;IAE1B,YAAY,WAAqB,MAAM;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,MAAM,MAAM,GAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,OAAe,EAAE,OAAoB;QAC1E,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,CAAA;QAExD,gDAAgD;QAChD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAEvE,IAAI,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAA;QAClE,CAAC;QAED,OAAO,GAAG,MAAM,IAAI,OAAO,EAAE,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAoB;QACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB;QACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB;QACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAoB;QACzC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,QAAmB;IAC9C,oEAAoE;IACpE,oCAAoC;IACpC,MAAM,KAAK,GAAG,QAAQ,IAAK,OAAO,CAAC,GAAG,CAAC,SAAsB,IAAI,MAAM,CAAA;IACvE,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA"}