@revealui/mcp 0.0.1-pre.0 → 0.1.0

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 (270) hide show
  1. package/.env.example +9 -0
  2. package/MCP_MAINTENANCE.md +265 -0
  3. package/README.md +260 -0
  4. package/__tests__/crdt.integration.test.ts +156 -0
  5. package/configs/README.md +77 -0
  6. package/configs/claude-template.json +54 -0
  7. package/dist/packages/core/src/database/ssl-config.d.ts +9 -0
  8. package/dist/packages/core/src/database/ssl-config.d.ts.map +1 -0
  9. package/dist/packages/core/src/database/ssl-config.js +8 -0
  10. package/dist/packages/core/src/database/ssl-config.js.map +1 -0
  11. package/dist/packages/core/src/features.d.ts +86 -0
  12. package/dist/packages/core/src/features.d.ts.map +1 -0
  13. package/dist/packages/core/src/features.js +93 -0
  14. package/dist/packages/core/src/features.js.map +1 -0
  15. package/dist/packages/core/src/license.d.ts +75 -0
  16. package/dist/packages/core/src/license.d.ts.map +1 -0
  17. package/dist/packages/core/src/license.js +174 -0
  18. package/dist/packages/core/src/license.js.map +1 -0
  19. package/dist/packages/core/src/monitoring/alerts.d.ts +118 -0
  20. package/dist/packages/core/src/monitoring/alerts.d.ts.map +1 -0
  21. package/dist/packages/core/src/monitoring/alerts.js +325 -0
  22. package/dist/packages/core/src/monitoring/alerts.js.map +1 -0
  23. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts +71 -0
  24. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts.map +1 -0
  25. package/dist/packages/core/src/monitoring/cleanup-manager.js +227 -0
  26. package/dist/packages/core/src/monitoring/cleanup-manager.js.map +1 -0
  27. package/dist/packages/core/src/monitoring/health-monitor.d.ts +22 -0
  28. package/dist/packages/core/src/monitoring/health-monitor.d.ts.map +1 -0
  29. package/dist/packages/core/src/monitoring/health-monitor.js +143 -0
  30. package/dist/packages/core/src/monitoring/health-monitor.js.map +1 -0
  31. package/dist/packages/core/src/monitoring/index.d.ts +14 -0
  32. package/dist/packages/core/src/monitoring/index.d.ts.map +1 -0
  33. package/dist/packages/core/src/monitoring/index.js +18 -0
  34. package/dist/packages/core/src/monitoring/index.js.map +1 -0
  35. package/dist/packages/core/src/monitoring/process-registry.d.ts +97 -0
  36. package/dist/packages/core/src/monitoring/process-registry.d.ts.map +1 -0
  37. package/dist/packages/core/src/monitoring/process-registry.js +223 -0
  38. package/dist/packages/core/src/monitoring/process-registry.js.map +1 -0
  39. package/dist/packages/core/src/monitoring/types.d.ts +231 -0
  40. package/dist/packages/core/src/monitoring/types.d.ts.map +1 -0
  41. package/dist/packages/core/src/monitoring/types.js +43 -0
  42. package/dist/packages/core/src/monitoring/types.js.map +1 -0
  43. package/dist/packages/core/src/monitoring/zombie-detector.d.ts +81 -0
  44. package/dist/packages/core/src/monitoring/zombie-detector.d.ts.map +1 -0
  45. package/dist/packages/core/src/monitoring/zombie-detector.js +232 -0
  46. package/dist/packages/core/src/monitoring/zombie-detector.js.map +1 -0
  47. package/dist/packages/core/src/observability/logger.d.ts +47 -0
  48. package/dist/packages/core/src/observability/logger.d.ts.map +1 -0
  49. package/dist/packages/core/src/observability/logger.js +141 -0
  50. package/dist/packages/core/src/observability/logger.js.map +1 -0
  51. package/dist/packages/core/src/utils/logger-server.d.ts +32 -0
  52. package/dist/packages/core/src/utils/logger-server.d.ts.map +1 -0
  53. package/dist/packages/core/src/utils/logger-server.js +69 -0
  54. package/dist/packages/core/src/utils/logger-server.js.map +1 -0
  55. package/dist/packages/core/src/utils/request-context.d.ts +143 -0
  56. package/dist/packages/core/src/utils/request-context.d.ts.map +1 -0
  57. package/dist/packages/core/src/utils/request-context.js +169 -0
  58. package/dist/packages/core/src/utils/request-context.js.map +1 -0
  59. package/dist/packages/dev/src/code-validator/index.d.ts +20 -0
  60. package/dist/packages/dev/src/code-validator/index.d.ts.map +1 -0
  61. package/dist/packages/dev/src/code-validator/index.js +20 -0
  62. package/dist/packages/dev/src/code-validator/index.js.map +1 -0
  63. package/dist/packages/dev/src/code-validator/types.d.ts +67 -0
  64. package/dist/packages/dev/src/code-validator/types.d.ts.map +1 -0
  65. package/dist/packages/dev/src/code-validator/types.js +7 -0
  66. package/dist/packages/dev/src/code-validator/types.js.map +1 -0
  67. package/dist/packages/dev/src/code-validator/validator.d.ts +48 -0
  68. package/dist/packages/dev/src/code-validator/validator.d.ts.map +1 -0
  69. package/dist/packages/dev/src/code-validator/validator.js +176 -0
  70. package/dist/packages/dev/src/code-validator/validator.js.map +1 -0
  71. package/dist/packages/mcp/src/adapters/db.d.ts +46 -0
  72. package/dist/packages/mcp/src/adapters/db.d.ts.map +1 -0
  73. package/dist/packages/mcp/src/adapters/db.js +127 -0
  74. package/dist/packages/mcp/src/adapters/db.js.map +1 -0
  75. package/dist/packages/mcp/src/config/index.d.ts +11 -0
  76. package/dist/packages/mcp/src/config/index.d.ts.map +1 -0
  77. package/dist/packages/mcp/src/config/index.js +18 -0
  78. package/dist/packages/mcp/src/config/index.js.map +1 -0
  79. package/dist/packages/mcp/src/contracts.d.ts +131 -0
  80. package/dist/packages/mcp/src/contracts.d.ts.map +1 -0
  81. package/dist/packages/mcp/src/contracts.js +153 -0
  82. package/dist/packages/mcp/src/contracts.js.map +1 -0
  83. package/dist/packages/mcp/src/hypervisor.d.ts +132 -0
  84. package/dist/packages/mcp/src/hypervisor.d.ts.map +1 -0
  85. package/dist/packages/mcp/src/hypervisor.js +359 -0
  86. package/dist/packages/mcp/src/hypervisor.js.map +1 -0
  87. package/dist/packages/mcp/src/index.d.ts +25 -0
  88. package/dist/packages/mcp/src/index.d.ts.map +1 -0
  89. package/dist/packages/mcp/src/index.js +41 -0
  90. package/dist/packages/mcp/src/index.js.map +1 -0
  91. package/dist/packages/mcp/src/servers/adapter.d.ts +199 -0
  92. package/dist/packages/mcp/src/servers/adapter.d.ts.map +1 -0
  93. package/dist/packages/mcp/src/servers/adapter.js +487 -0
  94. package/dist/packages/mcp/src/servers/adapter.js.map +1 -0
  95. package/dist/packages/mcp/src/servers/code-validator.d.ts +24 -0
  96. package/dist/packages/mcp/src/servers/code-validator.d.ts.map +1 -0
  97. package/dist/packages/mcp/src/servers/code-validator.js +156 -0
  98. package/dist/packages/mcp/src/servers/code-validator.js.map +1 -0
  99. package/dist/packages/mcp/src/servers/neon.d.ts +11 -0
  100. package/dist/packages/mcp/src/servers/neon.d.ts.map +1 -0
  101. package/dist/packages/mcp/src/servers/neon.js +90 -0
  102. package/dist/packages/mcp/src/servers/neon.js.map +1 -0
  103. package/dist/packages/mcp/src/servers/next-devtools.d.ts +11 -0
  104. package/dist/packages/mcp/src/servers/next-devtools.d.ts.map +1 -0
  105. package/dist/packages/mcp/src/servers/next-devtools.js +215 -0
  106. package/dist/packages/mcp/src/servers/next-devtools.js.map +1 -0
  107. package/dist/packages/mcp/src/servers/playwright.d.ts +11 -0
  108. package/dist/packages/mcp/src/servers/playwright.d.ts.map +1 -0
  109. package/dist/packages/mcp/src/servers/playwright.js +68 -0
  110. package/dist/packages/mcp/src/servers/playwright.js.map +1 -0
  111. package/dist/packages/mcp/src/servers/stripe.d.ts +11 -0
  112. package/dist/packages/mcp/src/servers/stripe.d.ts.map +1 -0
  113. package/dist/packages/mcp/src/servers/stripe.js +86 -0
  114. package/dist/packages/mcp/src/servers/stripe.js.map +1 -0
  115. package/dist/packages/mcp/src/servers/supabase.d.ts +11 -0
  116. package/dist/packages/mcp/src/servers/supabase.d.ts.map +1 -0
  117. package/dist/packages/mcp/src/servers/supabase.js +144 -0
  118. package/dist/packages/mcp/src/servers/supabase.js.map +1 -0
  119. package/dist/packages/mcp/src/servers/vercel.d.ts +11 -0
  120. package/dist/packages/mcp/src/servers/vercel.d.ts.map +1 -0
  121. package/dist/packages/mcp/src/servers/vercel.js +87 -0
  122. package/dist/packages/mcp/src/servers/vercel.js.map +1 -0
  123. package/dist/packages/mcp/src/servers/vultr-test.d.ts +3 -0
  124. package/dist/packages/mcp/src/servers/vultr-test.d.ts.map +1 -0
  125. package/dist/packages/mcp/src/servers/vultr-test.js +82 -0
  126. package/dist/packages/mcp/src/servers/vultr-test.js.map +1 -0
  127. package/dist/scripts/lib/analyzers/console-analyzer.d.ts +188 -0
  128. package/dist/scripts/lib/analyzers/console-analyzer.d.ts.map +1 -0
  129. package/dist/scripts/lib/analyzers/console-analyzer.js +432 -0
  130. package/dist/scripts/lib/analyzers/console-analyzer.js.map +1 -0
  131. package/dist/scripts/lib/analyzers/index.d.ts +11 -0
  132. package/dist/scripts/lib/analyzers/index.d.ts.map +1 -0
  133. package/dist/scripts/lib/analyzers/index.js +11 -0
  134. package/dist/scripts/lib/analyzers/index.js.map +1 -0
  135. package/dist/scripts/lib/args.d.ts +104 -0
  136. package/dist/scripts/lib/args.d.ts.map +1 -0
  137. package/dist/scripts/lib/args.js +304 -0
  138. package/dist/scripts/lib/args.js.map +1 -0
  139. package/dist/scripts/lib/cache.d.ts +185 -0
  140. package/dist/scripts/lib/cache.d.ts.map +1 -0
  141. package/dist/scripts/lib/cache.js +390 -0
  142. package/dist/scripts/lib/cache.js.map +1 -0
  143. package/dist/scripts/lib/cli/dispatch.d.ts +116 -0
  144. package/dist/scripts/lib/cli/dispatch.d.ts.map +1 -0
  145. package/dist/scripts/lib/cli/dispatch.js +206 -0
  146. package/dist/scripts/lib/cli/dispatch.js.map +1 -0
  147. package/dist/scripts/lib/cli/index.d.ts +10 -0
  148. package/dist/scripts/lib/cli/index.d.ts.map +1 -0
  149. package/dist/scripts/lib/cli/index.js +10 -0
  150. package/dist/scripts/lib/cli/index.js.map +1 -0
  151. package/dist/scripts/lib/database/ssl-config.d.ts +26 -0
  152. package/dist/scripts/lib/database/ssl-config.d.ts.map +1 -0
  153. package/dist/scripts/lib/database/ssl-config.js +47 -0
  154. package/dist/scripts/lib/database/ssl-config.js.map +1 -0
  155. package/dist/scripts/lib/errors.d.ts +218 -0
  156. package/dist/scripts/lib/errors.d.ts.map +1 -0
  157. package/dist/scripts/lib/errors.js +543 -0
  158. package/dist/scripts/lib/errors.js.map +1 -0
  159. package/dist/scripts/lib/exec.d.ts +107 -0
  160. package/dist/scripts/lib/exec.d.ts.map +1 -0
  161. package/dist/scripts/lib/exec.js +232 -0
  162. package/dist/scripts/lib/exec.js.map +1 -0
  163. package/dist/scripts/lib/index.d.ts +50 -0
  164. package/dist/scripts/lib/index.d.ts.map +1 -0
  165. package/dist/scripts/lib/index.js +65 -0
  166. package/dist/scripts/lib/index.js.map +1 -0
  167. package/dist/scripts/lib/logger.d.ts +50 -0
  168. package/dist/scripts/lib/logger.d.ts.map +1 -0
  169. package/dist/scripts/lib/logger.js +159 -0
  170. package/dist/scripts/lib/logger.js.map +1 -0
  171. package/dist/scripts/lib/output.d.ts +149 -0
  172. package/dist/scripts/lib/output.d.ts.map +1 -0
  173. package/dist/scripts/lib/output.js +263 -0
  174. package/dist/scripts/lib/output.js.map +1 -0
  175. package/dist/scripts/lib/parallel.d.ts +164 -0
  176. package/dist/scripts/lib/parallel.d.ts.map +1 -0
  177. package/dist/scripts/lib/parallel.js +355 -0
  178. package/dist/scripts/lib/parallel.js.map +1 -0
  179. package/dist/scripts/lib/paths.d.ts +92 -0
  180. package/dist/scripts/lib/paths.d.ts.map +1 -0
  181. package/dist/scripts/lib/paths.js +171 -0
  182. package/dist/scripts/lib/paths.js.map +1 -0
  183. package/dist/scripts/lib/state/adapters/memory.d.ts +42 -0
  184. package/dist/scripts/lib/state/adapters/memory.d.ts.map +1 -0
  185. package/dist/scripts/lib/state/adapters/memory.js +110 -0
  186. package/dist/scripts/lib/state/adapters/memory.js.map +1 -0
  187. package/dist/scripts/lib/state/adapters/pglite.d.ts +46 -0
  188. package/dist/scripts/lib/state/adapters/pglite.d.ts.map +1 -0
  189. package/dist/scripts/lib/state/adapters/pglite.js +256 -0
  190. package/dist/scripts/lib/state/adapters/pglite.js.map +1 -0
  191. package/dist/scripts/lib/state/index.d.ts +16 -0
  192. package/dist/scripts/lib/state/index.d.ts.map +1 -0
  193. package/dist/scripts/lib/state/index.js +16 -0
  194. package/dist/scripts/lib/state/index.js.map +1 -0
  195. package/dist/scripts/lib/state/types.d.ts +111 -0
  196. package/dist/scripts/lib/state/types.d.ts.map +1 -0
  197. package/dist/scripts/lib/state/types.js +8 -0
  198. package/dist/scripts/lib/state/types.js.map +1 -0
  199. package/dist/scripts/lib/state/workflow-state.d.ts +110 -0
  200. package/dist/scripts/lib/state/workflow-state.d.ts.map +1 -0
  201. package/dist/scripts/lib/state/workflow-state.js +331 -0
  202. package/dist/scripts/lib/state/workflow-state.js.map +1 -0
  203. package/dist/scripts/lib/telemetry.d.ts +194 -0
  204. package/dist/scripts/lib/telemetry.d.ts.map +1 -0
  205. package/dist/scripts/lib/telemetry.js +394 -0
  206. package/dist/scripts/lib/telemetry.js.map +1 -0
  207. package/dist/scripts/lib/utils.d.ts +270 -0
  208. package/dist/scripts/lib/utils.d.ts.map +1 -0
  209. package/dist/scripts/lib/utils.js +473 -0
  210. package/dist/scripts/lib/utils.js.map +1 -0
  211. package/dist/scripts/lib/validation/database.d.ts +83 -0
  212. package/dist/scripts/lib/validation/database.d.ts.map +1 -0
  213. package/dist/scripts/lib/validation/database.js +199 -0
  214. package/dist/scripts/lib/validation/database.js.map +1 -0
  215. package/dist/scripts/lib/validation/env.d.ts +80 -0
  216. package/dist/scripts/lib/validation/env.d.ts.map +1 -0
  217. package/dist/scripts/lib/validation/env.js +246 -0
  218. package/dist/scripts/lib/validation/env.js.map +1 -0
  219. package/dist/scripts/lib/validation/index.d.ts +16 -0
  220. package/dist/scripts/lib/validation/index.d.ts.map +1 -0
  221. package/dist/scripts/lib/validation/index.js +16 -0
  222. package/dist/scripts/lib/validation/index.js.map +1 -0
  223. package/dist/scripts/lib/validation/post-execution.d.ts +74 -0
  224. package/dist/scripts/lib/validation/post-execution.d.ts.map +1 -0
  225. package/dist/scripts/lib/validation/post-execution.js +110 -0
  226. package/dist/scripts/lib/validation/post-execution.js.map +1 -0
  227. package/dist/scripts/lib/validation/pre-execution.d.ts +165 -0
  228. package/dist/scripts/lib/validation/pre-execution.d.ts.map +1 -0
  229. package/dist/scripts/lib/validation/pre-execution.js +466 -0
  230. package/dist/scripts/lib/validation/pre-execution.js.map +1 -0
  231. package/dist/scripts/lib/validators/documentation-validator.d.ts +242 -0
  232. package/dist/scripts/lib/validators/documentation-validator.d.ts.map +1 -0
  233. package/dist/scripts/lib/validators/documentation-validator.js +584 -0
  234. package/dist/scripts/lib/validators/documentation-validator.js.map +1 -0
  235. package/dist/scripts/lib/validators/index.d.ts +11 -0
  236. package/dist/scripts/lib/validators/index.d.ts.map +1 -0
  237. package/dist/scripts/lib/validators/index.js +11 -0
  238. package/dist/scripts/lib/validators/index.js.map +1 -0
  239. package/docker-compose.yml +46 -0
  240. package/docs/INDEX.md +88 -0
  241. package/docs/README.md +774 -0
  242. package/docs/SETUP.md +264 -0
  243. package/docs/servers/code-validator.md +586 -0
  244. package/eslint.config.js +7 -0
  245. package/migrations/0001_add_crdt_columns.sql +8 -0
  246. package/migrations/0001_rollback.sql +6 -0
  247. package/migrations/005_performance_indexes.sql +190 -0
  248. package/migrations/backfill_crdt_meta.js +45 -0
  249. package/package.json +21 -85
  250. package/src/__tests__/hypervisor.test.ts +212 -0
  251. package/src/adapters/db.ts +180 -0
  252. package/src/config/config.json +49 -0
  253. package/src/config/index.ts +30 -0
  254. package/src/contracts.ts +221 -0
  255. package/src/hypervisor.ts +464 -0
  256. package/src/index.ts +87 -0
  257. package/src/servers/adapter.ts +643 -0
  258. package/src/servers/code-validator.ts +188 -0
  259. package/src/servers/neon.ts +103 -0
  260. package/src/servers/next-devtools.ts +230 -0
  261. package/src/servers/playwright.ts +77 -0
  262. package/src/servers/stripe.ts +99 -0
  263. package/src/servers/supabase.ts +161 -0
  264. package/src/servers/vercel.ts +100 -0
  265. package/src/servers/vultr-test.ts +97 -0
  266. package/tsconfig.json +12 -0
  267. package/vitest.config.ts +22 -0
  268. package/LICENSE +0 -202
  269. package/dist/index.js +0 -10990
  270. package/dist/index.js.map +0 -1
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Unified Documentation Validator
3
+ *
4
+ * Consolidates logic from:
5
+ * - analyze/docs.ts (JSDoc coverage, quality metrics)
6
+ * - validate/validate-docs.ts (JSDoc, references)
7
+ * - validate/validate-docs-comprehensive.ts (script refs, links, patterns)
8
+ * - analyze/audit-docs.ts (false claim detection)
9
+ *
10
+ * Provides modular validators for comprehensive documentation validation.
11
+ *
12
+ * @dependencies
13
+ * - node:fs - Synchronous file system checks
14
+ * - node:fs/promises - File system operations for reading documentation
15
+ * - node:path - Path manipulation utilities
16
+ */
17
+ export interface ValidationIssue {
18
+ file: string;
19
+ line?: number;
20
+ column?: number;
21
+ severity: 'critical' | 'high' | 'medium' | 'low' | 'info' | 'error' | 'warning';
22
+ category: ValidationCategory;
23
+ message: string;
24
+ suggestedFix?: string;
25
+ actual?: string;
26
+ expected?: string;
27
+ }
28
+ export type ValidationCategory = 'broken-link' | 'nonexistent-script' | 'nonexistent-directory' | 'outdated-package' | 'incorrect-path' | 'deprecated-reference' | 'version-mismatch' | 'naming-inconsistency' | 'false-claim' | 'missing-jsdoc' | 'incomplete-jsdoc';
29
+ export interface JSDocCoverage {
30
+ totalExports: number;
31
+ documentedExports: number;
32
+ coverage: number;
33
+ undocumented: Array<{
34
+ file: string;
35
+ exports: string[];
36
+ }>;
37
+ }
38
+ export interface QualityMetrics {
39
+ totalFiles: number;
40
+ totalSize: number;
41
+ avgFileSize: number;
42
+ largestFile: {
43
+ path: string;
44
+ size: number;
45
+ };
46
+ oldestFile: {
47
+ path: string;
48
+ mtime: Date;
49
+ };
50
+ newestFile: {
51
+ path: string;
52
+ mtime: Date;
53
+ };
54
+ filesByExtension: Record<string, number>;
55
+ filesByAge: {
56
+ lastWeek: number;
57
+ lastMonth: number;
58
+ lastQuarter: number;
59
+ older: number;
60
+ };
61
+ }
62
+ export interface ValidationResult {
63
+ totalFiles: number;
64
+ totalIssues: number;
65
+ bySeverity: Record<string, number>;
66
+ byCategory: Record<string, number>;
67
+ issues: ValidationIssue[];
68
+ accuracyScore: number;
69
+ }
70
+ export interface DocValidationOptions {
71
+ projectRoot: string;
72
+ validateLinks?: boolean;
73
+ validateJSDoc?: boolean;
74
+ validateScriptRefs?: boolean;
75
+ validateFalseClaims?: boolean;
76
+ validateDeprecated?: boolean;
77
+ validateNaming?: boolean;
78
+ }
79
+ /**
80
+ * Find all markdown and documentation files in the project.
81
+ * Scans common documentation locations and optionally source files.
82
+ *
83
+ * @param projectRoot - Root directory of the project
84
+ * @param includeSource - Whether to include source files (*.ts, *.tsx) for JSDoc validation
85
+ * @returns Array of relative file paths to documentation files
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * // Find only markdown files
90
+ * const mdFiles = await findDocumentationFiles('/app')
91
+ * console.log(`Found ${mdFiles.length} markdown files`)
92
+ *
93
+ * // Include source files for JSDoc analysis
94
+ * const allFiles = await findDocumentationFiles('/app', true)
95
+ * ```
96
+ */
97
+ export declare function findDocumentationFiles(projectRoot: string, includeSource?: boolean): Promise<string[]>;
98
+ /**
99
+ * Validate links in markdown content for broken references.
100
+ * Checks relative file links (ignoring HTTP/HTTPS and anchor-only links).
101
+ *
102
+ * @param content - Markdown file content to validate
103
+ * @param filePath - Relative path to the markdown file (for error reporting)
104
+ * @param projectRoot - Root directory of the project
105
+ * @returns Array of validation issues for broken links
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * const content = await readFile('README.md', 'utf-8')
110
+ * const issues = await validateLinks(content, 'README.md', process.cwd())
111
+ *
112
+ * issues.forEach(issue => {
113
+ * console.log(`${issue.file}:${issue.line} - ${issue.message}`)
114
+ * })
115
+ * ```
116
+ */
117
+ export declare function validateLinks(content: string, filePath: string, projectRoot: string): Promise<ValidationIssue[]>;
118
+ /**
119
+ * Validate JSDoc coverage in source files
120
+ */
121
+ export declare function validateJSDoc(filePath: string, projectRoot: string): Promise<ValidationIssue[]>;
122
+ /**
123
+ * Calculate JSDoc coverage across project source directories.
124
+ * Analyzes exported functions and classes for JSDoc documentation.
125
+ *
126
+ * @param sourceDirs - Array of source directories to scan (e.g., ['packages', 'apps'])
127
+ * @param projectRoot - Root directory of the project
128
+ * @returns JSDoc coverage statistics including percentage and undocumented exports
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const coverage = await calculateJSDocCoverage(
133
+ * ['packages', 'apps'],
134
+ * process.cwd()
135
+ * )
136
+ *
137
+ * console.log(`JSDoc Coverage: ${coverage.coverage}%`)
138
+ * console.log(`Total exports: ${coverage.totalExports}`)
139
+ * console.log(`Documented: ${coverage.documentedExports}`)
140
+ * console.log(`Undocumented: ${coverage.undocumented.length}`)
141
+ *
142
+ * coverage.undocumented.forEach(item => {
143
+ * console.log(`Missing JSDoc in ${item.file}:`)
144
+ * item.exports.forEach(exp => console.log(` - ${exp}`))
145
+ * })
146
+ * ```
147
+ */
148
+ export declare function calculateJSDocCoverage(sourceDirs: string[], projectRoot: string): Promise<JSDocCoverage>;
149
+ /**
150
+ * Validate script references in documentation
151
+ */
152
+ export declare function validateScriptRefs(content: string, filePath: string, projectRoot: string): Promise<ValidationIssue[]>;
153
+ /**
154
+ * Validate for false claims in documentation
155
+ */
156
+ export declare function validateFalseClaims(content: string, filePath: string): Promise<ValidationIssue[]>;
157
+ /**
158
+ * Validate for deprecated references
159
+ */
160
+ export declare function validateDeprecated(content: string, filePath: string): Promise<ValidationIssue[]>;
161
+ /**
162
+ * Calculate quality metrics for documentation
163
+ */
164
+ export declare function calculateQualityMetrics(files: string[], projectRoot: string): Promise<QualityMetrics>;
165
+ /**
166
+ * Comprehensive documentation validator for validating markdown files,
167
+ * JSDoc coverage, links, script references, and documentation quality.
168
+ *
169
+ * Consolidates functionality from:
170
+ * - analyze/docs.ts
171
+ * - validate/validate-docs.ts
172
+ * - validate/validate-docs-comprehensive.ts
173
+ * - analyze/audit-docs.ts
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const validator = new DocumentationValidator('/path/to/project')
178
+ *
179
+ * // Validate everything
180
+ * const result = await validator.validate()
181
+ * console.log(`Found ${result.issues.length} issues`)
182
+ * console.log(`By category:`, result.byCategory)
183
+ *
184
+ * // Validate only links
185
+ * const linkResult = await validator.validate({
186
+ * validateLinks: true,
187
+ * validateJSDoc: false,
188
+ * validateScriptRefs: false
189
+ * })
190
+ *
191
+ * // Get JSDoc coverage metrics
192
+ * const coverage = await validator.getJSDocCoverage()
193
+ * console.log(`JSDoc coverage: ${coverage.coverage}%`)
194
+ * ```
195
+ */
196
+ export declare class DocumentationValidator {
197
+ private projectRoot;
198
+ /**
199
+ * Create a new DocumentationValidator instance.
200
+ *
201
+ * @param projectRoot - Root directory of the project
202
+ */
203
+ constructor(projectRoot: string);
204
+ /**
205
+ * Validate all aspects of documentation with comprehensive checks.
206
+ * Scans markdown files and optionally source code for various issues.
207
+ *
208
+ * @param options - Validation options (all checks enabled by default)
209
+ * @returns Validation result with issues grouped by category and severity
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * const validator = new DocumentationValidator(process.cwd())
214
+ *
215
+ * // Full validation
216
+ * const result = await validator.validate()
217
+ *
218
+ * // Selective validation
219
+ * const result = await validator.validate({
220
+ * validateLinks: true,
221
+ * validateJSDoc: false,
222
+ * validateScriptRefs: true,
223
+ * validateFalseClaims: true
224
+ * })
225
+ *
226
+ * // Print results
227
+ * console.log(`Total issues: ${result.issues.length}`)
228
+ * console.log(`Errors: ${result.bySeverity.error}`)
229
+ * console.log(`Warnings: ${result.bySeverity.warning}`)
230
+ * ```
231
+ */
232
+ validate(options?: Partial<DocValidationOptions>): Promise<ValidationResult>;
233
+ /**
234
+ * Get JSDoc coverage across the project
235
+ */
236
+ getJSDocCoverage(): Promise<JSDocCoverage>;
237
+ /**
238
+ * Get quality metrics for documentation
239
+ */
240
+ getQualityMetrics(): Promise<QualityMetrics>;
241
+ }
242
+ //# sourceMappingURL=documentation-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation-validator.d.ts","sourceRoot":"","sources":["../../../../../../scripts/lib/validators/documentation-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;IAC/E,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,oBAAoB,GACpB,uBAAuB,GACvB,kBAAkB,GAClB,gBAAgB,GAChB,sBAAsB,GACtB,kBAAkB,GAClB,sBAAsB,GACtB,aAAa,GACb,eAAe,GACf,kBAAkB,CAAA;AAEtB,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,CAAA;IACzC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,CAAA;IACzC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAmED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,aAAa,UAAQ,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsCnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiC5B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiD5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CA+DxB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAuC5B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CA4B5B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CA0B5B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAwDzB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,sBAAsB;IAMrB,OAAO,CAAC,WAAW;IAL/B;;;;OAIG;gBACiB,WAAW,EAAE,MAAM;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,QAAQ,CAAC,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0EtF;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAIhD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;CAInD"}