@oalacea/daemon 0.6.4 → 0.7.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 (285) hide show
  1. package/README.md +268 -58
  2. package/bin/Dockerfile +158 -16
  3. package/dist/cli/cli.d.ts.map +1 -1
  4. package/dist/cli/cli.js +22 -2
  5. package/dist/cli/cli.js.map +1 -1
  6. package/dist/cli/commands/command.types.d.ts +216 -0
  7. package/dist/cli/commands/command.types.d.ts.map +1 -0
  8. package/dist/cli/commands/command.types.js +64 -0
  9. package/dist/cli/commands/command.types.js.map +1 -0
  10. package/dist/cli/commands/history.command.d.ts +91 -0
  11. package/dist/cli/commands/history.command.d.ts.map +1 -0
  12. package/dist/cli/commands/history.command.js +336 -0
  13. package/dist/cli/commands/history.command.js.map +1 -0
  14. package/dist/cli/commands/index.d.ts +14 -3
  15. package/dist/cli/commands/index.d.ts.map +1 -1
  16. package/dist/cli/commands/index.js +7 -0
  17. package/dist/cli/commands/index.js.map +1 -1
  18. package/dist/cli/commands/optimize.command.d.ts +110 -0
  19. package/dist/cli/commands/optimize.command.d.ts.map +1 -0
  20. package/dist/cli/commands/optimize.command.js +497 -0
  21. package/dist/cli/commands/optimize.command.js.map +1 -0
  22. package/dist/cli/commands/report.command.d.ts +110 -0
  23. package/dist/cli/commands/report.command.d.ts.map +1 -0
  24. package/dist/cli/commands/report.command.js +532 -0
  25. package/dist/cli/commands/report.command.js.map +1 -0
  26. package/dist/cli/commands/review.command.d.ts +110 -0
  27. package/dist/cli/commands/review.command.d.ts.map +1 -0
  28. package/dist/cli/commands/review.command.js +520 -0
  29. package/dist/cli/commands/review.command.js.map +1 -0
  30. package/dist/cli/commands/score.command.d.ts +47 -0
  31. package/dist/cli/commands/score.command.d.ts.map +1 -0
  32. package/dist/cli/commands/score.command.js +261 -0
  33. package/dist/cli/commands/score.command.js.map +1 -0
  34. package/dist/cli/utils/index.d.ts +10 -0
  35. package/dist/cli/utils/index.d.ts.map +1 -0
  36. package/dist/cli/utils/index.js +10 -0
  37. package/dist/cli/utils/index.js.map +1 -0
  38. package/dist/cli/utils/output.d.ts +192 -0
  39. package/dist/cli/utils/output.d.ts.map +1 -0
  40. package/dist/cli/utils/output.js +411 -0
  41. package/dist/cli/utils/output.js.map +1 -0
  42. package/dist/cli/utils/progress.d.ts +204 -0
  43. package/dist/cli/utils/progress.d.ts.map +1 -0
  44. package/dist/cli/utils/progress.js +396 -0
  45. package/dist/cli/utils/progress.js.map +1 -0
  46. package/dist/core/types/index.d.ts +1 -0
  47. package/dist/core/types/index.d.ts.map +1 -1
  48. package/dist/core/types/project.types.d.ts +3 -3
  49. package/dist/core/types/project.types.d.ts.map +1 -1
  50. package/dist/core/types/scoring.types.d.ts +301 -0
  51. package/dist/core/types/scoring.types.d.ts.map +1 -0
  52. package/dist/core/types/scoring.types.js +8 -0
  53. package/dist/core/types/scoring.types.js.map +1 -0
  54. package/dist/services/detection/framework-detector.d.ts.map +1 -1
  55. package/dist/services/detection/framework-detector.js +74 -5
  56. package/dist/services/detection/framework-detector.js.map +1 -1
  57. package/dist/services/index.d.ts +12 -0
  58. package/dist/services/index.d.ts.map +1 -1
  59. package/dist/services/index.js +14 -0
  60. package/dist/services/index.js.map +1 -1
  61. package/dist/services/optimization/detectors/bug-detector.d.ts +82 -0
  62. package/dist/services/optimization/detectors/bug-detector.d.ts.map +1 -0
  63. package/dist/services/optimization/detectors/bug-detector.js +443 -0
  64. package/dist/services/optimization/detectors/bug-detector.js.map +1 -0
  65. package/dist/services/optimization/detectors/code-smell-detector.d.ts +108 -0
  66. package/dist/services/optimization/detectors/code-smell-detector.d.ts.map +1 -0
  67. package/dist/services/optimization/detectors/code-smell-detector.js +569 -0
  68. package/dist/services/optimization/detectors/code-smell-detector.js.map +1 -0
  69. package/dist/services/optimization/detectors/index.d.ts +7 -0
  70. package/dist/services/optimization/detectors/index.d.ts.map +1 -0
  71. package/dist/services/optimization/detectors/index.js +7 -0
  72. package/dist/services/optimization/detectors/index.js.map +1 -0
  73. package/dist/services/optimization/detectors/perf-detector.d.ts +80 -0
  74. package/dist/services/optimization/detectors/perf-detector.d.ts.map +1 -0
  75. package/dist/services/optimization/detectors/perf-detector.js +451 -0
  76. package/dist/services/optimization/detectors/perf-detector.js.map +1 -0
  77. package/dist/services/optimization/index.d.ts +61 -0
  78. package/dist/services/optimization/index.d.ts.map +1 -0
  79. package/dist/services/optimization/index.js +69 -0
  80. package/dist/services/optimization/index.js.map +1 -0
  81. package/dist/services/optimization/optimization.service.d.ts +65 -0
  82. package/dist/services/optimization/optimization.service.d.ts.map +1 -0
  83. package/dist/services/optimization/optimization.service.js +511 -0
  84. package/dist/services/optimization/optimization.service.js.map +1 -0
  85. package/dist/services/optimization/optimization.types.d.ts +343 -0
  86. package/dist/services/optimization/optimization.types.d.ts.map +1 -0
  87. package/dist/services/optimization/optimization.types.js +8 -0
  88. package/dist/services/optimization/optimization.types.js.map +1 -0
  89. package/dist/services/optimization/optimizers/code-optimizer.d.ts +87 -0
  90. package/dist/services/optimization/optimizers/code-optimizer.d.ts.map +1 -0
  91. package/dist/services/optimization/optimizers/code-optimizer.js +436 -0
  92. package/dist/services/optimization/optimizers/code-optimizer.js.map +1 -0
  93. package/dist/services/optimization/optimizers/index.d.ts +7 -0
  94. package/dist/services/optimization/optimizers/index.d.ts.map +1 -0
  95. package/dist/services/optimization/optimizers/index.js +7 -0
  96. package/dist/services/optimization/optimizers/index.js.map +1 -0
  97. package/dist/services/optimization/optimizers/perf-optimizer.d.ts +64 -0
  98. package/dist/services/optimization/optimizers/perf-optimizer.d.ts.map +1 -0
  99. package/dist/services/optimization/optimizers/perf-optimizer.js +330 -0
  100. package/dist/services/optimization/optimizers/perf-optimizer.js.map +1 -0
  101. package/dist/services/optimization/optimizers/refact-optimizer.d.ts +82 -0
  102. package/dist/services/optimization/optimizers/refact-optimizer.d.ts.map +1 -0
  103. package/dist/services/optimization/optimizers/refact-optimizer.js +354 -0
  104. package/dist/services/optimization/optimizers/refact-optimizer.js.map +1 -0
  105. package/dist/services/optimization/patterns/anti-patterns.d.ts +31 -0
  106. package/dist/services/optimization/patterns/anti-patterns.d.ts.map +1 -0
  107. package/dist/services/optimization/patterns/anti-patterns.js +501 -0
  108. package/dist/services/optimization/patterns/anti-patterns.js.map +1 -0
  109. package/dist/services/optimization/patterns/index.d.ts +5 -0
  110. package/dist/services/optimization/patterns/index.d.ts.map +1 -0
  111. package/dist/services/optimization/patterns/index.js +5 -0
  112. package/dist/services/optimization/patterns/index.js.map +1 -0
  113. package/dist/services/reporting/export/chart.exporter.d.ts +59 -0
  114. package/dist/services/reporting/export/chart.exporter.d.ts.map +1 -0
  115. package/dist/services/reporting/export/chart.exporter.js +350 -0
  116. package/dist/services/reporting/export/chart.exporter.js.map +1 -0
  117. package/dist/services/reporting/export/index.d.ts +9 -0
  118. package/dist/services/reporting/export/index.d.ts.map +1 -0
  119. package/dist/services/reporting/export/index.js +10 -0
  120. package/dist/services/reporting/export/index.js.map +1 -0
  121. package/dist/services/reporting/export/pdf.exporter.d.ts +133 -0
  122. package/dist/services/reporting/export/pdf.exporter.d.ts.map +1 -0
  123. package/dist/services/reporting/export/pdf.exporter.js +270 -0
  124. package/dist/services/reporting/export/pdf.exporter.js.map +1 -0
  125. package/dist/services/reporting/history.service.d.ts +93 -0
  126. package/dist/services/reporting/history.service.d.ts.map +1 -0
  127. package/dist/services/reporting/history.service.js +285 -0
  128. package/dist/services/reporting/history.service.js.map +1 -0
  129. package/dist/services/reporting/index.d.ts +15 -0
  130. package/dist/services/reporting/index.d.ts.map +1 -0
  131. package/dist/services/reporting/index.js +16 -0
  132. package/dist/services/reporting/index.js.map +1 -0
  133. package/dist/services/reporting/report.service.d.ts +102 -0
  134. package/dist/services/reporting/report.service.d.ts.map +1 -0
  135. package/dist/services/reporting/report.service.js +240 -0
  136. package/dist/services/reporting/report.service.js.map +1 -0
  137. package/dist/services/reporting/reporting.types.d.ts +329 -0
  138. package/dist/services/reporting/reporting.types.d.ts.map +1 -0
  139. package/dist/services/reporting/reporting.types.js +8 -0
  140. package/dist/services/reporting/reporting.types.js.map +1 -0
  141. package/dist/services/reporting/templates/html.template.d.ts +81 -0
  142. package/dist/services/reporting/templates/html.template.d.ts.map +1 -0
  143. package/dist/services/reporting/templates/html.template.js +741 -0
  144. package/dist/services/reporting/templates/html.template.js.map +1 -0
  145. package/dist/services/reporting/templates/json.template.d.ts +85 -0
  146. package/dist/services/reporting/templates/json.template.d.ts.map +1 -0
  147. package/dist/services/reporting/templates/json.template.js +308 -0
  148. package/dist/services/reporting/templates/json.template.js.map +1 -0
  149. package/dist/services/reporting/templates/markdown.template.d.ts +69 -0
  150. package/dist/services/reporting/templates/markdown.template.d.ts.map +1 -0
  151. package/dist/services/reporting/templates/markdown.template.js +311 -0
  152. package/dist/services/reporting/templates/markdown.template.js.map +1 -0
  153. package/dist/services/reporting/trend-analyzer.d.ts +73 -0
  154. package/dist/services/reporting/trend-analyzer.d.ts.map +1 -0
  155. package/dist/services/reporting/trend-analyzer.js +291 -0
  156. package/dist/services/reporting/trend-analyzer.js.map +1 -0
  157. package/dist/services/review/analyzers/dependency-analyzer.d.ts +87 -0
  158. package/dist/services/review/analyzers/dependency-analyzer.d.ts.map +1 -0
  159. package/dist/services/review/analyzers/dependency-analyzer.js +458 -0
  160. package/dist/services/review/analyzers/dependency-analyzer.js.map +1 -0
  161. package/dist/services/review/analyzers/index.d.ts +13 -0
  162. package/dist/services/review/analyzers/index.d.ts.map +1 -0
  163. package/dist/services/review/analyzers/index.js +13 -0
  164. package/dist/services/review/analyzers/index.js.map +1 -0
  165. package/dist/services/review/analyzers/nestjs-analyzer.d.ts +210 -0
  166. package/dist/services/review/analyzers/nestjs-analyzer.d.ts.map +1 -0
  167. package/dist/services/review/analyzers/nestjs-analyzer.js +571 -0
  168. package/dist/services/review/analyzers/nestjs-analyzer.js.map +1 -0
  169. package/dist/services/review/analyzers/performance-analyzer.d.ts +91 -0
  170. package/dist/services/review/analyzers/performance-analyzer.d.ts.map +1 -0
  171. package/dist/services/review/analyzers/performance-analyzer.js +589 -0
  172. package/dist/services/review/analyzers/performance-analyzer.js.map +1 -0
  173. package/dist/services/review/analyzers/security-analyzer.d.ts +96 -0
  174. package/dist/services/review/analyzers/security-analyzer.d.ts.map +1 -0
  175. package/dist/services/review/analyzers/security-analyzer.js +512 -0
  176. package/dist/services/review/analyzers/security-analyzer.js.map +1 -0
  177. package/dist/services/review/analyzers/static-analyzer.d.ts +90 -0
  178. package/dist/services/review/analyzers/static-analyzer.d.ts.map +1 -0
  179. package/dist/services/review/analyzers/static-analyzer.js +423 -0
  180. package/dist/services/review/analyzers/static-analyzer.js.map +1 -0
  181. package/dist/services/review/fixers/auto-fixer.d.ts +94 -0
  182. package/dist/services/review/fixers/auto-fixer.d.ts.map +1 -0
  183. package/dist/services/review/fixers/auto-fixer.js +404 -0
  184. package/dist/services/review/fixers/auto-fixer.js.map +1 -0
  185. package/dist/services/review/fixers/index.d.ts +11 -0
  186. package/dist/services/review/fixers/index.d.ts.map +1 -0
  187. package/dist/services/review/fixers/index.js +11 -0
  188. package/dist/services/review/fixers/index.js.map +1 -0
  189. package/dist/services/review/fixers/refactor-suggester.d.ts +100 -0
  190. package/dist/services/review/fixers/refactor-suggester.d.ts.map +1 -0
  191. package/dist/services/review/fixers/refactor-suggester.js +555 -0
  192. package/dist/services/review/fixers/refactor-suggester.js.map +1 -0
  193. package/dist/services/review/fixers/test-generator.d.ts +99 -0
  194. package/dist/services/review/fixers/test-generator.d.ts.map +1 -0
  195. package/dist/services/review/fixers/test-generator.js +458 -0
  196. package/dist/services/review/fixers/test-generator.js.map +1 -0
  197. package/dist/services/review/index.d.ts +14 -0
  198. package/dist/services/review/index.d.ts.map +1 -0
  199. package/dist/services/review/index.js +14 -0
  200. package/dist/services/review/index.js.map +1 -0
  201. package/dist/services/review/reporters/fix-reporter.d.ts +67 -0
  202. package/dist/services/review/reporters/fix-reporter.d.ts.map +1 -0
  203. package/dist/services/review/reporters/fix-reporter.js +437 -0
  204. package/dist/services/review/reporters/fix-reporter.js.map +1 -0
  205. package/dist/services/review/reporters/index.d.ts +10 -0
  206. package/dist/services/review/reporters/index.d.ts.map +1 -0
  207. package/dist/services/review/reporters/index.js +10 -0
  208. package/dist/services/review/reporters/index.js.map +1 -0
  209. package/dist/services/review/reporters/score-reporter.d.ts +84 -0
  210. package/dist/services/review/reporters/score-reporter.d.ts.map +1 -0
  211. package/dist/services/review/reporters/score-reporter.js +560 -0
  212. package/dist/services/review/reporters/score-reporter.js.map +1 -0
  213. package/dist/services/review/review.service.d.ts +129 -0
  214. package/dist/services/review/review.service.d.ts.map +1 -0
  215. package/dist/services/review/review.service.js +396 -0
  216. package/dist/services/review/review.service.js.map +1 -0
  217. package/dist/services/review/review.types.d.ts +443 -0
  218. package/dist/services/review/review.types.d.ts.map +1 -0
  219. package/dist/services/review/review.types.js +11 -0
  220. package/dist/services/review/review.types.js.map +1 -0
  221. package/dist/services/scoring/dimensions/accessibility.analyzer.d.ts +53 -0
  222. package/dist/services/scoring/dimensions/accessibility.analyzer.d.ts.map +1 -0
  223. package/dist/services/scoring/dimensions/accessibility.analyzer.js +260 -0
  224. package/dist/services/scoring/dimensions/accessibility.analyzer.js.map +1 -0
  225. package/dist/services/scoring/dimensions/backend-logic.analyzer.d.ts +138 -0
  226. package/dist/services/scoring/dimensions/backend-logic.analyzer.d.ts.map +1 -0
  227. package/dist/services/scoring/dimensions/backend-logic.analyzer.js +713 -0
  228. package/dist/services/scoring/dimensions/backend-logic.analyzer.js.map +1 -0
  229. package/dist/services/scoring/dimensions/business-logic.analyzer.d.ts +142 -0
  230. package/dist/services/scoring/dimensions/business-logic.analyzer.d.ts.map +1 -0
  231. package/dist/services/scoring/dimensions/business-logic.analyzer.js +747 -0
  232. package/dist/services/scoring/dimensions/business-logic.analyzer.js.map +1 -0
  233. package/dist/services/scoring/dimensions/code-quality.analyzer.d.ts +142 -0
  234. package/dist/services/scoring/dimensions/code-quality.analyzer.d.ts.map +1 -0
  235. package/dist/services/scoring/dimensions/code-quality.analyzer.js +685 -0
  236. package/dist/services/scoring/dimensions/code-quality.analyzer.js.map +1 -0
  237. package/dist/services/scoring/dimensions/index.d.ts +18 -0
  238. package/dist/services/scoring/dimensions/index.d.ts.map +1 -0
  239. package/dist/services/scoring/dimensions/index.js +27 -0
  240. package/dist/services/scoring/dimensions/index.js.map +1 -0
  241. package/dist/services/scoring/dimensions/performance.analyzer.d.ts +125 -0
  242. package/dist/services/scoring/dimensions/performance.analyzer.d.ts.map +1 -0
  243. package/dist/services/scoring/dimensions/performance.analyzer.js +615 -0
  244. package/dist/services/scoring/dimensions/performance.analyzer.js.map +1 -0
  245. package/dist/services/scoring/dimensions/security.analyzer.d.ts +53 -0
  246. package/dist/services/scoring/dimensions/security.analyzer.d.ts.map +1 -0
  247. package/dist/services/scoring/dimensions/security.analyzer.js +327 -0
  248. package/dist/services/scoring/dimensions/security.analyzer.js.map +1 -0
  249. package/dist/services/scoring/dimensions/seo.analyzer.d.ts +77 -0
  250. package/dist/services/scoring/dimensions/seo.analyzer.d.ts.map +1 -0
  251. package/dist/services/scoring/dimensions/seo.analyzer.js +502 -0
  252. package/dist/services/scoring/dimensions/seo.analyzer.js.map +1 -0
  253. package/dist/services/scoring/dimensions/test-coverage.analyzer.d.ts +106 -0
  254. package/dist/services/scoring/dimensions/test-coverage.analyzer.d.ts.map +1 -0
  255. package/dist/services/scoring/dimensions/test-coverage.analyzer.js +496 -0
  256. package/dist/services/scoring/dimensions/test-coverage.analyzer.js.map +1 -0
  257. package/dist/services/scoring/dimensions/ui-ux.analyzer.d.ts +126 -0
  258. package/dist/services/scoring/dimensions/ui-ux.analyzer.d.ts.map +1 -0
  259. package/dist/services/scoring/dimensions/ui-ux.analyzer.js +665 -0
  260. package/dist/services/scoring/dimensions/ui-ux.analyzer.js.map +1 -0
  261. package/dist/services/scoring/index.d.ts +10 -0
  262. package/dist/services/scoring/index.d.ts.map +1 -0
  263. package/dist/services/scoring/index.js +10 -0
  264. package/dist/services/scoring/index.js.map +1 -0
  265. package/dist/services/scoring/scoring-service.d.ts +222 -0
  266. package/dist/services/scoring/scoring-service.d.ts.map +1 -0
  267. package/dist/services/scoring/scoring-service.js +636 -0
  268. package/dist/services/scoring/scoring-service.js.map +1 -0
  269. package/package.json +11 -3
  270. package/templates/README.md +183 -0
  271. package/templates/nestjs/controller.spec.ts +203 -0
  272. package/templates/nestjs/e2e/api.e2e-spec.ts +451 -0
  273. package/templates/nestjs/e2e/auth.e2e-spec.ts +533 -0
  274. package/templates/nestjs/fixtures/test-module.ts +311 -0
  275. package/templates/nestjs/guard.spec.ts +314 -0
  276. package/templates/nestjs/interceptor.spec.ts +458 -0
  277. package/templates/nestjs/module.spec.ts +173 -0
  278. package/templates/nestjs/pipe.spec.ts +474 -0
  279. package/templates/nestjs/service.spec.ts +296 -0
  280. package/templates/rust/Cargo.toml +72 -0
  281. package/templates/rust/actix-controller.test.rs +114 -0
  282. package/templates/rust/axum-handler.test.rs +117 -0
  283. package/templates/rust/integration.test.rs +63 -0
  284. package/templates/rust/rocket-route.test.rs +106 -0
  285. package/templates/rust/unit.test.rs +38 -0
@@ -0,0 +1,329 @@
1
+ /**
2
+ * Reporting & History Types
3
+ *
4
+ * Types for the reporting and historical tracking system.
5
+ * Extends core scoring types with reporting-specific functionality.
6
+ */
7
+ import type { CodeDimension } from '../../core/types/scoring.types.js';
8
+ export type { CodeDimension } from '../../core/types/scoring.types.js';
9
+ export type { ProjectScore } from '../../core/types/scoring.types.js';
10
+ /**
11
+ * Report format types
12
+ */
13
+ export type ReportFormat = 'html' | 'markdown' | 'json' | 'junit';
14
+ /**
15
+ * Issue severity levels (aligned with core types)
16
+ */
17
+ export type IssueSeverity = 'critical' | 'high' | 'medium' | 'low' | 'info';
18
+ /**
19
+ * Status indicators for dimension scores
20
+ */
21
+ export type DimensionStatus = 'excellent' | 'good' | 'fair' | 'poor' | 'critical';
22
+ /**
23
+ * Issue detected during reporting (simplified for reporting)
24
+ */
25
+ export interface ReportIssue {
26
+ /** Issue severity */
27
+ severity: IssueSeverity;
28
+ /** Issue category */
29
+ category: string;
30
+ /** Issue message */
31
+ message: string;
32
+ /** File path where issue was found */
33
+ file?: string;
34
+ /** Line number */
35
+ line?: number;
36
+ /** Suggestion for fixing */
37
+ suggestion?: string;
38
+ /** Rule or check that generated this issue */
39
+ rule?: string;
40
+ }
41
+ /**
42
+ * Dimension score details for reporting
43
+ */
44
+ export interface ReportDimensionScore {
45
+ /** Score value (0-100) */
46
+ score: number;
47
+ /** Weight in overall calculation */
48
+ weight: number;
49
+ /** Status indicator */
50
+ status: DimensionStatus;
51
+ /** Issues found in this dimension */
52
+ issues: ReportIssue[];
53
+ }
54
+ /**
55
+ * Extended project score for reporting with additional metadata
56
+ */
57
+ export interface ExtendedProjectScore {
58
+ /** Overall score (0-100) */
59
+ overall: number;
60
+ /** Score per dimension */
61
+ dimensions: Record<string, ReportDimensionScore>;
62
+ /** All issues aggregated */
63
+ issues: ReportIssue[];
64
+ /** Timestamp when score was calculated */
65
+ timestamp: Date;
66
+ /** Project path */
67
+ projectPath: string;
68
+ /** Git commit hash */
69
+ commit?: string;
70
+ /** Git branch */
71
+ branch?: string;
72
+ /** Metadata */
73
+ metadata?: Record<string, unknown>;
74
+ }
75
+ /**
76
+ * Score snapshot for historical tracking
77
+ */
78
+ export interface ScoreSnapshot {
79
+ /** Timestamp when snapshot was taken */
80
+ timestamp: Date;
81
+ /** Git commit hash */
82
+ commit: string;
83
+ /** Git branch */
84
+ branch: string;
85
+ /** Overall score */
86
+ overall: number;
87
+ /** Dimension scores */
88
+ dimensions: Record<string, ReportDimensionScore>;
89
+ /** Number of issues */
90
+ issueCount: number;
91
+ /** Critical issues count */
92
+ criticalCount: number;
93
+ }
94
+ /**
95
+ * Score trend information
96
+ */
97
+ export interface ScoreTrend {
98
+ /** Dimension or 'overall' */
99
+ dimension: CodeDimension | 'overall';
100
+ /** Current score value */
101
+ current: number;
102
+ /** Previous score value */
103
+ previous: number;
104
+ /** Score difference */
105
+ delta: number;
106
+ /** Trend direction */
107
+ trend: 'improving' | 'stable' | 'declining';
108
+ /** Historical values for charting */
109
+ history: number[];
110
+ /** Timestamps for history values */
111
+ timestamps: Date[];
112
+ }
113
+ /**
114
+ * Regression detected
115
+ */
116
+ export interface Regression {
117
+ /** Dimension that regressed */
118
+ dimension: CodeDimension | 'overall';
119
+ /** Previous score */
120
+ previousScore: number;
121
+ /** Current score */
122
+ currentScore: number;
123
+ /** Score drop amount */
124
+ drop: number;
125
+ /** Severity of regression */
126
+ severity: 'minor' | 'moderate' | 'severe';
127
+ }
128
+ /**
129
+ * Improvement detected
130
+ */
131
+ export interface Improvement {
132
+ /** Dimension that improved */
133
+ dimension: CodeDimension | 'overall';
134
+ /** Previous score */
135
+ previousScore: number;
136
+ /** Current score */
137
+ currentScore: number;
138
+ /** Score increase amount */
139
+ increase: number;
140
+ }
141
+ /**
142
+ * Trend analysis result
143
+ */
144
+ export interface TrendAnalysis {
145
+ /** Overall trend */
146
+ overallTrend: ScoreTrend;
147
+ /** Per-dimension trends */
148
+ dimensionTrends: Record<string, ScoreTrend>;
149
+ /** Detected regressions */
150
+ regressions: Regression[];
151
+ /** Detected improvements */
152
+ improvements: Improvement[];
153
+ /** Development velocity (points per snapshot) */
154
+ velocity: number;
155
+ /** Analysis period */
156
+ period: {
157
+ start: Date;
158
+ end: Date;
159
+ snapshotCount: number;
160
+ };
161
+ }
162
+ /**
163
+ * Trend prediction
164
+ */
165
+ export interface TrendPrediction {
166
+ /** Dimension being predicted */
167
+ dimension: CodeDimension | 'overall';
168
+ /** Current score */
169
+ current: number;
170
+ /** Predicted score */
171
+ predicted: number;
172
+ /** Confidence level (0-1) */
173
+ confidence: number;
174
+ /** Prediction horizon (snapshots) */
175
+ horizon: number;
176
+ /** Predicted trend */
177
+ trend: 'improving' | 'stable' | 'declining';
178
+ }
179
+ /**
180
+ * Comparison between two snapshots
181
+ */
182
+ export interface Comparison {
183
+ /** Before snapshot */
184
+ before: ScoreSnapshot;
185
+ /** After snapshot */
186
+ after: ScoreSnapshot;
187
+ /** Overall score change */
188
+ overallChange: number;
189
+ /** Dimension changes */
190
+ dimensionChanges: Record<string, {
191
+ before: number;
192
+ after: number;
193
+ delta: number;
194
+ trend: 'improving' | 'stable' | 'declining';
195
+ }>;
196
+ /** New issues added */
197
+ addedIssues: ReportIssue[];
198
+ /** Issues resolved */
199
+ resolvedIssues: ReportIssue[];
200
+ /** Summary of comparison */
201
+ summary: string;
202
+ }
203
+ /**
204
+ * Generated report
205
+ */
206
+ export interface Report {
207
+ /** Report format */
208
+ format: ReportFormat;
209
+ /** Report content */
210
+ content: string;
211
+ /** Report timestamp */
212
+ timestamp: Date;
213
+ /** Project path */
214
+ projectPath: string;
215
+ /** Score used for report */
216
+ score: ExtendedProjectScore;
217
+ /** Optional trend data */
218
+ trend?: TrendAnalysis;
219
+ }
220
+ /**
221
+ * History storage format
222
+ */
223
+ export interface HistoryStorage {
224
+ /** Project path */
225
+ projectPath: string;
226
+ /** Score snapshots */
227
+ scores: ScoreSnapshot[];
228
+ /** Storage version */
229
+ version: number;
230
+ /** Last updated timestamp */
231
+ lastUpdated: Date;
232
+ }
233
+ /**
234
+ * Chart configuration
235
+ */
236
+ export interface ChartConfig {
237
+ /** Chart width */
238
+ width: number;
239
+ /** Chart height */
240
+ height: number;
241
+ /** Primary color */
242
+ color?: string;
243
+ /** Secondary color */
244
+ secondaryColor?: string;
245
+ /** Background color */
246
+ backgroundColor?: string;
247
+ /** Text color */
248
+ textColor?: string;
249
+ /** Show grid */
250
+ showGrid?: boolean;
251
+ /** Show labels */
252
+ showLabels?: boolean;
253
+ }
254
+ /**
255
+ * Gauge chart options
256
+ */
257
+ export interface GaugeOptions extends ChartConfig {
258
+ /** Score value (0-100) */
259
+ value: number;
260
+ /** Gauge label */
261
+ label: string;
262
+ /** Minimum value */
263
+ min?: number;
264
+ /** Maximum value */
265
+ max?: number;
266
+ /** Color zones */
267
+ zones?: Array<{
268
+ from: number;
269
+ to: number;
270
+ color: string;
271
+ }>;
272
+ }
273
+ /**
274
+ * Trend chart data point
275
+ */
276
+ export interface TrendDataPoint {
277
+ /** Timestamp */
278
+ timestamp: Date;
279
+ /** Value */
280
+ value: number;
281
+ /** Optional label */
282
+ label?: string;
283
+ }
284
+ /**
285
+ * Bar chart data
286
+ */
287
+ export interface BarChartData {
288
+ /** Bar label */
289
+ label: string;
290
+ /** Bar value */
291
+ value: number;
292
+ /** Optional color override */
293
+ color?: string;
294
+ }
295
+ /**
296
+ * Report generation options
297
+ */
298
+ export interface ReportOptions {
299
+ /** Include trend data */
300
+ includeTrend?: boolean;
301
+ /** Include recommendations */
302
+ includeRecommendations?: boolean;
303
+ /** Theme for HTML reports */
304
+ theme?: 'light' | 'dark' | 'auto';
305
+ /** Number of historical snapshots to include */
306
+ historyLimit?: number;
307
+ /** Custom title */
308
+ title?: string;
309
+ /** Include charts in HTML report */
310
+ includeCharts?: boolean;
311
+ }
312
+ /**
313
+ * Test result for JUnit reports (re-export from test types)
314
+ */
315
+ export interface TestResultForReport {
316
+ /** Test name/identifier */
317
+ name: string;
318
+ /** Test file path */
319
+ file: string;
320
+ /** Test status */
321
+ status: 'passed' | 'failed' | 'skipped' | 'timed-out';
322
+ /** Execution duration in milliseconds */
323
+ duration: number;
324
+ /** Error message if failed */
325
+ error?: string;
326
+ /** Error stack trace if failed */
327
+ stack?: string;
328
+ }
329
+ //# sourceMappingURL=reporting.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting.types.d.ts","sourceRoot":"","sources":["../../../src/services/reporting/reporting.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Reporting & History Types
3
+ *
4
+ * Types for the reporting and historical tracking system.
5
+ * Extends core scoring types with reporting-specific functionality.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=reporting.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting.types.js","sourceRoot":"","sources":["../../../src/services/reporting/reporting.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * HTML Report Template
3
+ *
4
+ * Generates modern, responsive HTML reports with interactive charts.
5
+ */
6
+ import type { ExtendedProjectScore, TrendAnalysis } from '../reporting.types.js';
7
+ /**
8
+ * HTML report template generator
9
+ */
10
+ export declare class HtmlTemplate {
11
+ /**
12
+ * Generate a complete HTML report
13
+ *
14
+ * @param score - Project score to report
15
+ * @param trend - Optional trend analysis
16
+ * @param theme - Color theme (light, dark, or auto)
17
+ * @returns HTML string
18
+ */
19
+ static generate(score: ExtendedProjectScore, trend?: TrendAnalysis, theme?: 'light' | 'dark' | 'auto'): string;
20
+ /**
21
+ * Generate CSS styles for the report
22
+ */
23
+ private static generateStyles;
24
+ /**
25
+ * Generate header section
26
+ */
27
+ private static generateHeader;
28
+ /**
29
+ * Generate score card section
30
+ */
31
+ private static generateScoreCard;
32
+ /**
33
+ * Generate dimensions section
34
+ */
35
+ private static generateDimensionsSection;
36
+ /**
37
+ * Generate trend section
38
+ */
39
+ private static generateTrendSection;
40
+ /**
41
+ * Generate issues section
42
+ */
43
+ private static generateIssuesSection;
44
+ /**
45
+ * Generate recommendations section
46
+ */
47
+ private static generateRecommendationsSection;
48
+ /**
49
+ * Generate footer
50
+ */
51
+ private static generateFooter;
52
+ /**
53
+ * Generate inline scripts
54
+ */
55
+ private static generateScripts;
56
+ /**
57
+ * Get light color scheme
58
+ */
59
+ private static getLightColors;
60
+ /**
61
+ * Get dark color scheme
62
+ */
63
+ private static getDarkColors;
64
+ /**
65
+ * Check if dark mode should be used
66
+ */
67
+ private static shouldUseDarkMode;
68
+ /**
69
+ * Get status from score
70
+ */
71
+ private static getScoreStatus;
72
+ /**
73
+ * Get color for score
74
+ */
75
+ private static getScoreColor;
76
+ /**
77
+ * Generate recommendations based on score
78
+ */
79
+ private static generateRecommendations;
80
+ }
81
+ //# sourceMappingURL=html.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.template.d.ts","sourceRoot":"","sources":["../../../../src/services/reporting/templates/html.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAe,MAAM,uBAAuB,CAAC;AAG9F;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,GAAE,OAAO,GAAG,MAAM,GAAG,MAAe,GAAG,MAAM;IAwCtH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAkV7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAmB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmDhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAwBxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAuCnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA6CpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAmB7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAO7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyC9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAgB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgB5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAQ7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAkCvC"}