@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,325 +0,0 @@
1
- /**
2
- * Alert System
3
- *
4
- * Manages alert channels (logger, Sentry, console) and alert delivery.
5
- * Provides configurable thresholds and aggregation for production.
6
- */
7
- import { logger } from '../utils/logger-server.js';
8
- import { getRequestContext } from '../utils/request-context.js';
9
- /**
10
- * Get Sentry client if available
11
- * Using dynamic import with string variable to avoid build-time resolution
12
- */
13
- async function getSentryClient() {
14
- try {
15
- // Use string variable to prevent static analysis and bundler resolution
16
- const moduleName = '@sentry' + '/node';
17
- const sentry = await import(/* webpackIgnore: true */ moduleName);
18
- return sentry;
19
- }
20
- catch {
21
- return null;
22
- }
23
- }
24
- /**
25
- * Synchronous version that caches the client
26
- */
27
- let sentryClientCache;
28
- function getSentryClientSync() {
29
- if (sentryClientCache !== undefined) {
30
- return sentryClientCache;
31
- }
32
- // Initialize asynchronously in the background
33
- getSentryClient()
34
- .then((client) => {
35
- sentryClientCache = client;
36
- })
37
- .catch(() => {
38
- sentryClientCache = null;
39
- });
40
- return null;
41
- }
42
- /**
43
- * Default alert configuration
44
- */
45
- const DEFAULT_ALERT_CONFIG = {
46
- channels: ['logger', 'console'],
47
- aggregateInProduction: true,
48
- aggregationInterval: 5 * 60 * 1000, // 5 minutes
49
- sentryProductionOnly: true,
50
- };
51
- /**
52
- * Alert manager class
53
- */
54
- class AlertManager {
55
- config;
56
- alertQueue = [];
57
- aggregationTimer = null;
58
- lastAggregationTime = 0;
59
- sentryClient = null;
60
- constructor(config = {}, sentryClient) {
61
- this.config = { ...DEFAULT_ALERT_CONFIG, ...config };
62
- this.sentryClient = sentryClient !== undefined ? sentryClient : getSentryClientSync();
63
- // Start aggregation timer if enabled
64
- if (this.config.aggregateInProduction && this.isProduction()) {
65
- this.startAggregation();
66
- }
67
- }
68
- /**
69
- * Send an alert through configured channels
70
- */
71
- sendAlert(alert) {
72
- if (this.config.aggregateInProduction && this.isProduction()) {
73
- // In production, queue alerts for aggregation
74
- this.alertQueue.push(alert);
75
- }
76
- else {
77
- // In development, send immediately
78
- this.deliverAlert(alert);
79
- }
80
- }
81
- /**
82
- * Send multiple alerts
83
- */
84
- sendAlerts(alerts) {
85
- for (const alert of alerts) {
86
- this.sendAlert(alert);
87
- }
88
- }
89
- /**
90
- * Deliver an alert to configured channels
91
- */
92
- deliverAlert(alert) {
93
- for (const channel of this.config.channels) {
94
- switch (channel) {
95
- case 'logger':
96
- this.sendToLogger(alert);
97
- break;
98
- case 'console':
99
- this.sendToConsole(alert);
100
- break;
101
- case 'sentry':
102
- if (!this.config.sentryProductionOnly || this.isProduction()) {
103
- this.sendToSentry(alert);
104
- }
105
- break;
106
- }
107
- }
108
- }
109
- /**
110
- * Send alert to logger
111
- */
112
- sendToLogger(alert) {
113
- // Get request context for additional metadata
114
- const context = getRequestContext();
115
- const logData = {
116
- metric: alert.metric,
117
- value: alert.value,
118
- threshold: alert.threshold,
119
- timestamp: alert.timestamp,
120
- // Include request context if available
121
- ...(context?.userId && { userId: context.userId }),
122
- ...(context?.path && { path: context.path }),
123
- ...(context?.method && { method: context.method }),
124
- ...(context?.ip && { ip: context.ip }),
125
- };
126
- if (alert.level === 'critical') {
127
- logger.error(alert.message, logData);
128
- }
129
- else {
130
- logger.warn(alert.message, logData);
131
- }
132
- }
133
- /**
134
- * Send alert to console (uses logger for structured output)
135
- */
136
- sendToConsole(alert) {
137
- const logLevel = alert.level === 'critical' ? 'error' : 'warn';
138
- const prefix = alert.level === 'critical' ? '🔴 CRITICAL' : '⚠️ WARNING';
139
- logger[logLevel](`${prefix}: ${alert.message}`, {
140
- metric: alert.metric,
141
- value: alert.value,
142
- threshold: alert.threshold,
143
- timestamp: alert.timestamp,
144
- });
145
- }
146
- /**
147
- * Send alert to Sentry
148
- */
149
- sendToSentry(alert) {
150
- // Only send critical alerts to Sentry
151
- if (alert.level !== 'critical')
152
- return;
153
- // Check if Sentry is available
154
- if (!this.sentryClient) {
155
- logger.debug('Sentry not available for alert delivery');
156
- return;
157
- }
158
- try {
159
- // Get request context for rich tracing
160
- const context = getRequestContext();
161
- // Build tags (indexed, searchable fields)
162
- const tags = {
163
- metric: alert.metric,
164
- alert_level: alert.level,
165
- };
166
- // Add request context to tags for better filtering
167
- if (context?.requestId)
168
- tags.request_id = context.requestId;
169
- if (context?.userId)
170
- tags.user_id = context.userId;
171
- if (context?.path)
172
- tags.path = context.path;
173
- if (context?.method)
174
- tags.method = context.method;
175
- // Build extra context (non-indexed, rich data)
176
- const extra = {
177
- value: alert.value,
178
- threshold: alert.threshold,
179
- timestamp: alert.timestamp,
180
- };
181
- // Add full request context for debugging
182
- if (context) {
183
- extra.request_context = {
184
- requestId: context.requestId,
185
- startTime: context.startTime,
186
- duration: Date.now() - context.startTime,
187
- userId: context.userId,
188
- path: context.path,
189
- method: context.method,
190
- ip: context.ip,
191
- userAgent: context.userAgent,
192
- };
193
- }
194
- // Set user context if available (for Sentry user tracking)
195
- if (context?.userId) {
196
- this.sentryClient.setUser({
197
- id: context.userId,
198
- ip_address: context.ip,
199
- });
200
- }
201
- // Capture the alert as a Sentry event
202
- this.sentryClient.captureMessage(alert.message, {
203
- level: 'error',
204
- tags,
205
- extra,
206
- });
207
- }
208
- catch (error) {
209
- // Sentry error, log and continue
210
- logger.debug('Sentry not available for alert delivery', { error });
211
- }
212
- }
213
- /**
214
- * Start aggregation timer
215
- */
216
- startAggregation() {
217
- if (this.aggregationTimer)
218
- return;
219
- this.aggregationTimer = setInterval(() => {
220
- this.flushAlerts();
221
- }, this.config.aggregationInterval);
222
- // Don't keep process alive
223
- this.aggregationTimer.unref();
224
- this.lastAggregationTime = Date.now();
225
- }
226
- /**
227
- * Flush aggregated alerts
228
- */
229
- flushAlerts() {
230
- if (this.alertQueue.length === 0)
231
- return;
232
- // Group alerts by metric and level
233
- const grouped = new Map();
234
- for (const alert of this.alertQueue) {
235
- const key = `${alert.metric}:${alert.level}`;
236
- const existing = grouped.get(key) || [];
237
- existing.push(alert);
238
- grouped.set(key, existing);
239
- }
240
- // Send aggregated alerts
241
- for (const [_key, alerts] of Array.from(grouped.entries())) {
242
- if (alerts.length === 0)
243
- continue;
244
- const first = alerts[0];
245
- if (!first)
246
- continue;
247
- const count = alerts.length;
248
- const avgValue = alerts.reduce((sum, a) => sum + a.value, 0) / count;
249
- const aggregatedAlert = {
250
- level: first.level,
251
- metric: first.metric,
252
- value: first.value,
253
- threshold: first.threshold,
254
- message: `${first.message} (occurred ${count} times, avg value: ${Math.round(avgValue)})`,
255
- timestamp: Date.now(),
256
- };
257
- this.deliverAlert(aggregatedAlert);
258
- }
259
- // Clear queue
260
- this.alertQueue = [];
261
- this.lastAggregationTime = Date.now();
262
- }
263
- /**
264
- * Stop aggregation timer
265
- */
266
- stopAggregation() {
267
- if (this.aggregationTimer) {
268
- clearInterval(this.aggregationTimer);
269
- this.aggregationTimer = null;
270
- }
271
- }
272
- /**
273
- * Check if running in production
274
- */
275
- isProduction() {
276
- return process.env.NODE_ENV === 'production';
277
- }
278
- /**
279
- * Get alert queue stats
280
- */
281
- getStats() {
282
- return {
283
- queueSize: this.alertQueue.length,
284
- lastAggregationTime: this.lastAggregationTime,
285
- aggregationEnabled: this.config.aggregateInProduction && this.isProduction(),
286
- };
287
- }
288
- /**
289
- * Configure alert channels
290
- */
291
- setChannels(channels) {
292
- this.config.channels = channels;
293
- }
294
- /**
295
- * Cleanup resources
296
- */
297
- dispose() {
298
- this.stopAggregation();
299
- this.flushAlerts(); // Flush remaining alerts
300
- }
301
- }
302
- /**
303
- * Singleton instance
304
- */
305
- export const alertManager = new AlertManager();
306
- /**
307
- * Export AlertManager class for testing
308
- */
309
- export { AlertManager };
310
- /**
311
- * Convenience functions
312
- */
313
- export function sendAlert(alert) {
314
- alertManager.sendAlert(alert);
315
- }
316
- export function sendAlerts(alerts) {
317
- alertManager.sendAlerts(alerts);
318
- }
319
- export function getAlertStats() {
320
- return alertManager.getStats();
321
- }
322
- export function setAlertChannels(channels) {
323
- alertManager.setChannels(channels);
324
- }
325
- //# sourceMappingURL=alerts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/alerts.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /**
2
- * Cleanup Manager
3
- *
4
- * Global cleanup handler registry and graceful shutdown coordination.
5
- * Ensures all resources are properly released when the process exits.
6
- */
7
- import type { CleanupHandler, CleanupRegistration } from './types.js';
8
- /**
9
- * Cleanup manager class
10
- */
11
- declare class CleanupManager {
12
- private handlers;
13
- private isShuttingDown;
14
- private shutdownTimeout;
15
- private signalHandlersRegistered;
16
- /**
17
- * Register a cleanup handler
18
- */
19
- register(id: string, handler: CleanupHandler, description: string, priority?: number): void;
20
- /**
21
- * Unregister a cleanup handler
22
- */
23
- unregister(id: string): void;
24
- /**
25
- * Execute all cleanup handlers
26
- */
27
- cleanup(signal?: string): Promise<void>;
28
- /**
29
- * Execute cleanup handlers in sequence
30
- */
31
- private executeHandlers;
32
- /**
33
- * Register signal handlers for graceful shutdown
34
- */
35
- private registerSignalHandlers;
36
- /**
37
- * Force immediate cleanup (skip timeout)
38
- */
39
- forceCleanup(): Promise<void>;
40
- /**
41
- * Get registered handlers
42
- */
43
- getHandlers(): CleanupRegistration[];
44
- /**
45
- * Check if shutdown is in progress
46
- */
47
- isShutdownInProgress(): boolean;
48
- /**
49
- * Set shutdown timeout
50
- */
51
- setShutdownTimeout(ms: number): void;
52
- /**
53
- * Clear all handlers
54
- */
55
- clear(): void;
56
- }
57
- /**
58
- * Singleton instance
59
- */
60
- export declare const cleanupManager: CleanupManager;
61
- /**
62
- * Convenience functions
63
- */
64
- export declare function registerCleanupHandler(id: string, handler: CleanupHandler, description: string, priority?: number): void;
65
- export declare function unregisterCleanupHandler(id: string): void;
66
- export declare function initiateCleanup(signal?: string): Promise<void>;
67
- export declare function forceCleanup(): Promise<void>;
68
- export declare function getCleanupHandlers(): CleanupRegistration[];
69
- export declare function isShutdownInProgress(): boolean;
70
- export {};
71
- //# sourceMappingURL=cleanup-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup-manager.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/cleanup-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErE;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,wBAAwB,CAAQ;IAExC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,IAAI;IAqBtF;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM5B;;OAEG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD7C;;OAEG;YACW,eAAe;IAsC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmD9B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnC;;OAEG;IACH,WAAW,IAAI,mBAAmB,EAAE;IAIpC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAA;AAElD;;GAEG;AAEH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,SAAI,GACX,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAgB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C;AAED,wBAAgB,kBAAkB,IAAI,mBAAmB,EAAE,CAE1D;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
@@ -1,227 +0,0 @@
1
- /**
2
- * Cleanup Manager
3
- *
4
- * Global cleanup handler registry and graceful shutdown coordination.
5
- * Ensures all resources are properly released when the process exits.
6
- */
7
- import { logger } from '../utils/logger-server.js';
8
- /**
9
- * Cleanup manager class
10
- */
11
- class CleanupManager {
12
- handlers = new Map();
13
- isShuttingDown = false;
14
- shutdownTimeout = 30_000; // 30 seconds
15
- signalHandlersRegistered = false;
16
- /**
17
- * Register a cleanup handler
18
- */
19
- register(id, handler, description, priority = 0) {
20
- if (this.handlers.has(id)) {
21
- logger.warn('Cleanup handler already registered', { id });
22
- return;
23
- }
24
- this.handlers.set(id, {
25
- id,
26
- handler,
27
- priority,
28
- description,
29
- });
30
- logger.debug('Registered cleanup handler', { id, description, priority });
31
- // Register signal handlers on first handler registration
32
- if (!this.signalHandlersRegistered) {
33
- this.registerSignalHandlers();
34
- }
35
- }
36
- /**
37
- * Unregister a cleanup handler
38
- */
39
- unregister(id) {
40
- if (this.handlers.delete(id)) {
41
- logger.debug('Unregistered cleanup handler', { id });
42
- }
43
- }
44
- /**
45
- * Execute all cleanup handlers
46
- */
47
- async cleanup(signal) {
48
- if (this.isShuttingDown) {
49
- logger.warn('Cleanup already in progress');
50
- return;
51
- }
52
- this.isShuttingDown = true;
53
- logger.info('Starting graceful shutdown', {
54
- signal,
55
- handlers: this.handlers.size,
56
- });
57
- // Sort handlers by priority (highest first)
58
- const sortedHandlers = Array.from(this.handlers.values()).sort((a, b) => b.priority - a.priority);
59
- const results = [];
60
- // Execute handlers with timeout
61
- const cleanupPromise = this.executeHandlers(sortedHandlers, results);
62
- const timeoutPromise = new Promise((resolve) => {
63
- setTimeout(() => {
64
- logger.error('Cleanup timeout exceeded, forcing shutdown', {
65
- timeout: this.shutdownTimeout,
66
- });
67
- resolve();
68
- }, this.shutdownTimeout);
69
- });
70
- await Promise.race([cleanupPromise, timeoutPromise]);
71
- // Log results
72
- const successCount = results.filter((r) => r.success).length;
73
- const failureCount = results.filter((r) => !r.success).length;
74
- logger.info('Cleanup complete', {
75
- total: results.length,
76
- success: successCount,
77
- failures: failureCount,
78
- });
79
- if (failureCount > 0) {
80
- logger.error('Some cleanup handlers failed', {
81
- failures: results.filter((r) => !r.success),
82
- });
83
- }
84
- }
85
- /**
86
- * Execute cleanup handlers in sequence
87
- */
88
- async executeHandlers(handlers, results) {
89
- for (const registration of handlers) {
90
- try {
91
- logger.debug('Executing cleanup handler', {
92
- id: registration.id,
93
- description: registration.description,
94
- });
95
- const handlerPromise = Promise.resolve(registration.handler());
96
- // Individual handler timeout (10 seconds)
97
- const handlerTimeout = new Promise((_, reject) => {
98
- setTimeout(() => {
99
- reject(new Error('Handler timeout'));
100
- }, 10_000);
101
- });
102
- await Promise.race([handlerPromise, handlerTimeout]);
103
- results.push({ id: registration.id, success: true });
104
- logger.debug('Cleanup handler completed', {
105
- id: registration.id,
106
- });
107
- }
108
- catch (error) {
109
- logger.error('Cleanup handler failed', {
110
- id: registration.id,
111
- error,
112
- });
113
- results.push({ id: registration.id, success: false, error });
114
- }
115
- }
116
- }
117
- /**
118
- * Register signal handlers for graceful shutdown
119
- */
120
- registerSignalHandlers() {
121
- if (this.signalHandlersRegistered)
122
- return;
123
- const signals = ['SIGTERM', 'SIGINT', 'SIGHUP'];
124
- for (const signal of signals) {
125
- process.on(signal, () => {
126
- logger.info('Received signal, initiating cleanup', { signal });
127
- this.cleanup(signal)
128
- .then(() => {
129
- logger.info('Cleanup successful, exiting', { signal });
130
- process.exit(0);
131
- })
132
- .catch((error) => {
133
- logger.error('Cleanup failed, forcing exit', { signal, error });
134
- process.exit(1);
135
- });
136
- });
137
- }
138
- // Handle uncaught exceptions
139
- process.on('uncaughtException', (error) => {
140
- logger.error('Uncaught exception, initiating cleanup', { error });
141
- this.cleanup('uncaughtException')
142
- .then(() => {
143
- process.exit(1);
144
- })
145
- .catch(() => {
146
- process.exit(1);
147
- });
148
- });
149
- // Handle unhandled rejections
150
- process.on('unhandledRejection', (reason) => {
151
- logger.error('Unhandled rejection, initiating cleanup', { reason });
152
- this.cleanup('unhandledRejection')
153
- .then(() => {
154
- process.exit(1);
155
- })
156
- .catch(() => {
157
- process.exit(1);
158
- });
159
- });
160
- this.signalHandlersRegistered = true;
161
- logger.debug('Signal handlers registered', { signals });
162
- }
163
- /**
164
- * Force immediate cleanup (skip timeout)
165
- */
166
- async forceCleanup() {
167
- const originalTimeout = this.shutdownTimeout;
168
- this.shutdownTimeout = 0;
169
- try {
170
- await this.cleanup('force');
171
- }
172
- finally {
173
- this.shutdownTimeout = originalTimeout;
174
- }
175
- }
176
- /**
177
- * Get registered handlers
178
- */
179
- getHandlers() {
180
- return Array.from(this.handlers.values());
181
- }
182
- /**
183
- * Check if shutdown is in progress
184
- */
185
- isShutdownInProgress() {
186
- return this.isShuttingDown;
187
- }
188
- /**
189
- * Set shutdown timeout
190
- */
191
- setShutdownTimeout(ms) {
192
- this.shutdownTimeout = ms;
193
- }
194
- /**
195
- * Clear all handlers
196
- */
197
- clear() {
198
- this.handlers.clear();
199
- this.isShuttingDown = false;
200
- }
201
- }
202
- /**
203
- * Singleton instance
204
- */
205
- export const cleanupManager = new CleanupManager();
206
- /**
207
- * Convenience functions
208
- */
209
- export function registerCleanupHandler(id, handler, description, priority = 0) {
210
- cleanupManager.register(id, handler, description, priority);
211
- }
212
- export function unregisterCleanupHandler(id) {
213
- cleanupManager.unregister(id);
214
- }
215
- export function initiateCleanup(signal) {
216
- return cleanupManager.cleanup(signal);
217
- }
218
- export function forceCleanup() {
219
- return cleanupManager.forceCleanup();
220
- }
221
- export function getCleanupHandlers() {
222
- return cleanupManager.getHandlers();
223
- }
224
- export function isShutdownInProgress() {
225
- return cleanupManager.isShutdownInProgress();
226
- }
227
- //# sourceMappingURL=cleanup-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup-manager.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/cleanup-manager.ts"],"names":[],"mappings":"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"}
@@ -1,22 +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 type { Alert, HealthMetrics, PoolMetrics } from './types.js';
8
- /**
9
- * Get current system health metrics
10
- */
11
- export declare function getHealthMetrics(databasePools?: {
12
- rest: PoolMetrics[];
13
- vector: PoolMetrics[];
14
- }): HealthMetrics;
15
- /**
16
- * Get health status based on alerts
17
- */
18
- export declare function getHealthStatus(alerts: Alert[]): {
19
- status: 'healthy' | 'degraded' | 'unhealthy';
20
- statusCode: number;
21
- };
22
- //# sourceMappingURL=health-monitor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-monitor.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/health-monitor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAA2B,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI5F;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE;IAC/C,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB,GAAG,aAAa,CAqChB;AAoID;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG;IAChD,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;IAC5C,UAAU,EAAE,MAAM,CAAA;CACnB,CAWA"}