@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,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"}
@@ -1,143 +0,0 @@
1
- /**
2
- * Request Context Management
3
- *
4
- * Provides request ID generation and context propagation for distributed tracing.
5
- * Request IDs enable tracking a single request across multiple services and logs.
6
- *
7
- * WARNING: This module uses Node.js-specific APIs (async_hooks, crypto).
8
- * Do NOT import in client-side code or edge runtime.
9
- */
10
- /**
11
- * Request context data stored in AsyncLocalStorage
12
- */
13
- export interface RequestContext {
14
- /** Unique request identifier */
15
- requestId: string;
16
- /** Request start timestamp */
17
- startTime: number;
18
- /** User ID (if authenticated) */
19
- userId?: string;
20
- /** IP address */
21
- ip?: string;
22
- /** User agent */
23
- userAgent?: string;
24
- /** Request path */
25
- path?: string;
26
- /** Request method */
27
- method?: string;
28
- /** Additional metadata */
29
- metadata?: Record<string, unknown>;
30
- }
31
- /**
32
- * Generate a new request ID
33
- * Uses UUID v4 for guaranteed uniqueness
34
- */
35
- export declare function generateRequestId(): string;
36
- /**
37
- * Get the current request context
38
- * Returns undefined if not in a request context
39
- */
40
- export declare function getRequestContext(): RequestContext | undefined;
41
- /**
42
- * Get the current request ID
43
- * Returns undefined if not in a request context
44
- */
45
- export declare function getRequestId(): string | undefined;
46
- /**
47
- * Run a function within a request context
48
- *
49
- * @param context - Request context data
50
- * @param fn - Function to run within the context
51
- * @returns Result of the function
52
- *
53
- * @example
54
- * ```typescript
55
- * await runInRequestContext(
56
- * {
57
- * requestId: generateRequestId(),
58
- * startTime: Date.now(),
59
- * userId: 'user-123',
60
- * path: '/api/users',
61
- * method: 'GET',
62
- * },
63
- * async () => {
64
- * // All code here has access to request context
65
- * const requestId = getRequestId()
66
- * logger.info('Processing request', { requestId })
67
- * }
68
- * )
69
- * ```
70
- */
71
- export declare function runInRequestContext<T>(context: RequestContext, fn: () => T): T;
72
- /**
73
- * Update the current request context with additional data
74
- *
75
- * @param updates - Partial context updates to merge
76
- *
77
- * @example
78
- * ```typescript
79
- * updateRequestContext({ userId: 'user-123' })
80
- * ```
81
- */
82
- export declare function updateRequestContext(updates: Partial<RequestContext>): void;
83
- /**
84
- * Extract request ID from various header formats
85
- *
86
- * Checks multiple common header names:
87
- * - x-request-id (standard)
88
- * - x-correlation-id (correlation pattern)
89
- * - x-trace-id (OpenTelemetry)
90
- * - request-id (simple)
91
- *
92
- * @param headers - Request headers (any format)
93
- * @returns Request ID or undefined
94
- */
95
- export declare function extractRequestId(headers: Record<string, string | string[] | undefined>): string | undefined;
96
- /**
97
- * Create request context from HTTP request
98
- *
99
- * @param options - Request information
100
- * @returns Request context
101
- *
102
- * @example
103
- * ```typescript
104
- * const context = createRequestContext({
105
- * headers: request.headers,
106
- * path: request.url,
107
- * method: request.method,
108
- * ip: request.ip,
109
- * })
110
- * ```
111
- */
112
- export declare function createRequestContext(options: {
113
- headers?: Record<string, string | string[] | undefined>;
114
- path?: string;
115
- method?: string;
116
- ip?: string;
117
- userId?: string;
118
- }): RequestContext;
119
- /**
120
- * Get request duration in milliseconds
121
- *
122
- * @returns Duration in ms, or undefined if not in request context
123
- */
124
- export declare function getRequestDuration(): number | undefined;
125
- /**
126
- * Request context headers for propagating across services
127
- *
128
- * Use these when making HTTP requests to other services to maintain trace continuity
129
- *
130
- * @returns Headers object with request ID
131
- *
132
- * @example
133
- * ```typescript
134
- * const response = await fetch('https://api.example.com/users', {
135
- * headers: {
136
- * ...getRequestHeaders(),
137
- * 'Authorization': 'Bearer token',
138
- * }
139
- * })
140
- * ```
141
- */
142
- export declare function getRequestHeaders(): Record<string, string>;
143
- //# sourceMappingURL=request-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../../../../../core/src/utils/request-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IAEjB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAA;IAEjB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IAEX,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAK3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,MAAM,GAAG,SAAS,CAWpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,cAAc,CAajB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAKvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO1D"}
@@ -1,169 +0,0 @@
1
- /**
2
- * Request Context Management
3
- *
4
- * Provides request ID generation and context propagation for distributed tracing.
5
- * Request IDs enable tracking a single request across multiple services and logs.
6
- *
7
- * WARNING: This module uses Node.js-specific APIs (async_hooks, crypto).
8
- * Do NOT import in client-side code or edge runtime.
9
- */
10
- import { AsyncLocalStorage } from 'node:async_hooks';
11
- import { randomUUID } from 'node:crypto';
12
- /**
13
- * AsyncLocalStorage for request context
14
- * Provides request-scoped storage without passing context through every function
15
- */
16
- const requestContextStorage = new AsyncLocalStorage();
17
- /**
18
- * Generate a new request ID
19
- * Uses UUID v4 for guaranteed uniqueness
20
- */
21
- export function generateRequestId() {
22
- return randomUUID();
23
- }
24
- /**
25
- * Get the current request context
26
- * Returns undefined if not in a request context
27
- */
28
- export function getRequestContext() {
29
- return requestContextStorage.getStore();
30
- }
31
- /**
32
- * Get the current request ID
33
- * Returns undefined if not in a request context
34
- */
35
- export function getRequestId() {
36
- return getRequestContext()?.requestId;
37
- }
38
- /**
39
- * Run a function within a request context
40
- *
41
- * @param context - Request context data
42
- * @param fn - Function to run within the context
43
- * @returns Result of the function
44
- *
45
- * @example
46
- * ```typescript
47
- * await runInRequestContext(
48
- * {
49
- * requestId: generateRequestId(),
50
- * startTime: Date.now(),
51
- * userId: 'user-123',
52
- * path: '/api/users',
53
- * method: 'GET',
54
- * },
55
- * async () => {
56
- * // All code here has access to request context
57
- * const requestId = getRequestId()
58
- * logger.info('Processing request', { requestId })
59
- * }
60
- * )
61
- * ```
62
- */
63
- export function runInRequestContext(context, fn) {
64
- return requestContextStorage.run(context, fn);
65
- }
66
- /**
67
- * Update the current request context with additional data
68
- *
69
- * @param updates - Partial context updates to merge
70
- *
71
- * @example
72
- * ```typescript
73
- * updateRequestContext({ userId: 'user-123' })
74
- * ```
75
- */
76
- export function updateRequestContext(updates) {
77
- const current = getRequestContext();
78
- if (current) {
79
- Object.assign(current, updates);
80
- }
81
- }
82
- /**
83
- * Extract request ID from various header formats
84
- *
85
- * Checks multiple common header names:
86
- * - x-request-id (standard)
87
- * - x-correlation-id (correlation pattern)
88
- * - x-trace-id (OpenTelemetry)
89
- * - request-id (simple)
90
- *
91
- * @param headers - Request headers (any format)
92
- * @returns Request ID or undefined
93
- */
94
- export function extractRequestId(headers) {
95
- const headerNames = ['x-request-id', 'x-correlation-id', 'x-trace-id', 'request-id'];
96
- for (const name of headerNames) {
97
- const value = headers[name];
98
- if (value) {
99
- return Array.isArray(value) ? value[0] : value;
100
- }
101
- }
102
- return undefined;
103
- }
104
- /**
105
- * Create request context from HTTP request
106
- *
107
- * @param options - Request information
108
- * @returns Request context
109
- *
110
- * @example
111
- * ```typescript
112
- * const context = createRequestContext({
113
- * headers: request.headers,
114
- * path: request.url,
115
- * method: request.method,
116
- * ip: request.ip,
117
- * })
118
- * ```
119
- */
120
- export function createRequestContext(options) {
121
- // Try to extract existing request ID from headers, or generate new one
122
- const requestId = options.headers ? extractRequestId(options.headers) : undefined;
123
- return {
124
- requestId: requestId || generateRequestId(),
125
- startTime: Date.now(),
126
- path: options.path,
127
- method: options.method,
128
- ip: options.ip,
129
- userId: options.userId,
130
- userAgent: options.headers?.['user-agent'],
131
- };
132
- }
133
- /**
134
- * Get request duration in milliseconds
135
- *
136
- * @returns Duration in ms, or undefined if not in request context
137
- */
138
- export function getRequestDuration() {
139
- const context = getRequestContext();
140
- if (!context)
141
- return undefined;
142
- return Date.now() - context.startTime;
143
- }
144
- /**
145
- * Request context headers for propagating across services
146
- *
147
- * Use these when making HTTP requests to other services to maintain trace continuity
148
- *
149
- * @returns Headers object with request ID
150
- *
151
- * @example
152
- * ```typescript
153
- * const response = await fetch('https://api.example.com/users', {
154
- * headers: {
155
- * ...getRequestHeaders(),
156
- * 'Authorization': 'Bearer token',
157
- * }
158
- * })
159
- * ```
160
- */
161
- export function getRequestHeaders() {
162
- const requestId = getRequestId();
163
- if (!requestId)
164
- return {};
165
- return {
166
- 'x-request-id': requestId,
167
- };
168
- }
169
- //# sourceMappingURL=request-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../../../../../core/src/utils/request-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA+BxC;;;GAGG;AACH,MAAM,qBAAqB,GAAG,IAAI,iBAAiB,EAAkB,CAAA;AAErE;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,EAAE,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,qBAAqB,CAAC,QAAQ,EAAE,CAAA;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,iBAAiB,EAAE,EAAE,SAAS,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CAAI,OAAuB,EAAE,EAAW;IACzE,OAAO,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgC;IACnE,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAsD;IAEtD,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;IAEpF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAMpC;IACC,uEAAuE;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEjF,OAAO;QACL,SAAS,EAAE,SAAS,IAAI,iBAAiB,EAAE;QAC3C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,YAAY,CAAuB;KACjE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAE9B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAA;IAEzB,OAAO;QACL,cAAc,EAAE,SAAS;KAC1B,CAAA;AACH,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Code Validator
3
- *
4
- * AI Code Standards Enforcer - Prevents technical debt in AI-generated code
5
- *
6
- * @example
7
- * ```typescript
8
- * import { createValidator } from 'dev/code-validator'
9
- *
10
- * const validator = await createValidator('.revealui/code-standards.json')
11
- * const result = validator.validate(code, { filePath: 'src/foo.ts' })
12
- *
13
- * if (!result.valid) {
14
- * process.stdout.write(validator.formatResult(result))
15
- * }
16
- * ```
17
- */
18
- export * from './types';
19
- export * from './validator';
20
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../dev/src/code-validator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Code Validator
3
- *
4
- * AI Code Standards Enforcer - Prevents technical debt in AI-generated code
5
- *
6
- * @example
7
- * ```typescript
8
- * import { createValidator } from 'dev/code-validator'
9
- *
10
- * const validator = await createValidator('.revealui/code-standards.json')
11
- * const result = validator.validate(code, { filePath: 'src/foo.ts' })
12
- *
13
- * if (!result.valid) {
14
- * process.stdout.write(validator.formatResult(result))
15
- * }
16
- * ```
17
- */
18
- export * from './types';
19
- export * from './validator';
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/src/code-validator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA"}