@urbicon-ui/docs-gen 6.1.4

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 (263) hide show
  1. package/README.md +92 -0
  2. package/dist/cli/CLI.d.ts +10 -0
  3. package/dist/cli/CLI.d.ts.map +1 -0
  4. package/dist/cli/CLI.js +340 -0
  5. package/dist/cli/CLI.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +7 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/core/discovery/ComponentFinder.d.ts +43 -0
  11. package/dist/core/discovery/ComponentFinder.d.ts.map +1 -0
  12. package/dist/core/discovery/ComponentFinder.js +421 -0
  13. package/dist/core/discovery/ComponentFinder.js.map +1 -0
  14. package/dist/core/discovery/FileStructureAnalyzer.d.ts +15 -0
  15. package/dist/core/discovery/FileStructureAnalyzer.d.ts.map +1 -0
  16. package/dist/core/discovery/FileStructureAnalyzer.js +35 -0
  17. package/dist/core/discovery/FileStructureAnalyzer.js.map +1 -0
  18. package/dist/core/discovery/MetadataExtractor.d.ts +15 -0
  19. package/dist/core/discovery/MetadataExtractor.d.ts.map +1 -0
  20. package/dist/core/discovery/MetadataExtractor.js +47 -0
  21. package/dist/core/discovery/MetadataExtractor.js.map +1 -0
  22. package/dist/core/discovery/index.d.ts +2 -0
  23. package/dist/core/discovery/index.d.ts.map +1 -0
  24. package/dist/core/discovery/index.js +2 -0
  25. package/dist/core/discovery/index.js.map +1 -0
  26. package/dist/core/enrichment/APIDataGenerator.d.ts +77 -0
  27. package/dist/core/enrichment/APIDataGenerator.d.ts.map +1 -0
  28. package/dist/core/enrichment/APIDataGenerator.js +663 -0
  29. package/dist/core/enrichment/APIDataGenerator.js.map +1 -0
  30. package/dist/core/enrichment/index.d.ts +2 -0
  31. package/dist/core/enrichment/index.d.ts.map +1 -0
  32. package/dist/core/enrichment/index.js +6 -0
  33. package/dist/core/enrichment/index.js.map +1 -0
  34. package/dist/core/extraction/ExtractionCoordinator.d.ts +53 -0
  35. package/dist/core/extraction/ExtractionCoordinator.d.ts.map +1 -0
  36. package/dist/core/extraction/ExtractionCoordinator.js +352 -0
  37. package/dist/core/extraction/ExtractionCoordinator.js.map +1 -0
  38. package/dist/core/extraction/index.d.ts +2 -0
  39. package/dist/core/extraction/index.d.ts.map +1 -0
  40. package/dist/core/extraction/index.js +2 -0
  41. package/dist/core/extraction/index.js.map +1 -0
  42. package/dist/core/generation/GenerationCoordinator.d.ts +51 -0
  43. package/dist/core/generation/GenerationCoordinator.d.ts.map +1 -0
  44. package/dist/core/generation/GenerationCoordinator.js +206 -0
  45. package/dist/core/generation/GenerationCoordinator.js.map +1 -0
  46. package/dist/core/generation/index.d.ts +2 -0
  47. package/dist/core/generation/index.d.ts.map +1 -0
  48. package/dist/core/generation/index.js +2 -0
  49. package/dist/core/generation/index.js.map +1 -0
  50. package/dist/core/index.d.ts +7 -0
  51. package/dist/core/index.d.ts.map +1 -0
  52. package/dist/core/index.js +16 -0
  53. package/dist/core/index.js.map +1 -0
  54. package/dist/core/pipeline/ErrorHandler.d.ts +129 -0
  55. package/dist/core/pipeline/ErrorHandler.d.ts.map +1 -0
  56. package/dist/core/pipeline/ErrorHandler.js +321 -0
  57. package/dist/core/pipeline/ErrorHandler.js.map +1 -0
  58. package/dist/core/pipeline/PipelineOrchestrator.d.ts +45 -0
  59. package/dist/core/pipeline/PipelineOrchestrator.d.ts.map +1 -0
  60. package/dist/core/pipeline/PipelineOrchestrator.js +216 -0
  61. package/dist/core/pipeline/PipelineOrchestrator.js.map +1 -0
  62. package/dist/core/pipeline/index.d.ts +1 -0
  63. package/dist/core/pipeline/index.d.ts.map +1 -0
  64. package/dist/core/pipeline/index.js +2 -0
  65. package/dist/core/pipeline/index.js.map +1 -0
  66. package/dist/extractors/BaseExtractor.d.ts +33 -0
  67. package/dist/extractors/BaseExtractor.d.ts.map +1 -0
  68. package/dist/extractors/BaseExtractor.js +68 -0
  69. package/dist/extractors/BaseExtractor.js.map +1 -0
  70. package/dist/extractors/ExtractorFactory.d.ts +35 -0
  71. package/dist/extractors/ExtractorFactory.d.ts.map +1 -0
  72. package/dist/extractors/ExtractorFactory.js +88 -0
  73. package/dist/extractors/ExtractorFactory.js.map +1 -0
  74. package/dist/extractors/documentation/index.d.ts +1 -0
  75. package/dist/extractors/documentation/index.d.ts.map +1 -0
  76. package/dist/extractors/documentation/index.js +2 -0
  77. package/dist/extractors/documentation/index.js.map +1 -0
  78. package/dist/extractors/index.d.ts +1 -0
  79. package/dist/extractors/index.d.ts.map +1 -0
  80. package/dist/extractors/index.js +2 -0
  81. package/dist/extractors/index.js.map +1 -0
  82. package/dist/extractors/typescript/ExamplesExtractor.d.ts +32 -0
  83. package/dist/extractors/typescript/ExamplesExtractor.d.ts.map +1 -0
  84. package/dist/extractors/typescript/ExamplesExtractor.js +209 -0
  85. package/dist/extractors/typescript/ExamplesExtractor.js.map +1 -0
  86. package/dist/extractors/typescript/InheritanceExtractor.d.ts +45 -0
  87. package/dist/extractors/typescript/InheritanceExtractor.d.ts.map +1 -0
  88. package/dist/extractors/typescript/InheritanceExtractor.js +368 -0
  89. package/dist/extractors/typescript/InheritanceExtractor.js.map +1 -0
  90. package/dist/extractors/typescript/LocalTypesExtractor.d.ts +20 -0
  91. package/dist/extractors/typescript/LocalTypesExtractor.d.ts.map +1 -0
  92. package/dist/extractors/typescript/LocalTypesExtractor.js +100 -0
  93. package/dist/extractors/typescript/LocalTypesExtractor.js.map +1 -0
  94. package/dist/extractors/typescript/PropsExtractor.d.ts +142 -0
  95. package/dist/extractors/typescript/PropsExtractor.d.ts.map +1 -0
  96. package/dist/extractors/typescript/PropsExtractor.js +709 -0
  97. package/dist/extractors/typescript/PropsExtractor.js.map +1 -0
  98. package/dist/extractors/typescript/TypeScriptBaseExtractor.d.ts +74 -0
  99. package/dist/extractors/typescript/TypeScriptBaseExtractor.d.ts.map +1 -0
  100. package/dist/extractors/typescript/TypeScriptBaseExtractor.js +249 -0
  101. package/dist/extractors/typescript/TypeScriptBaseExtractor.js.map +1 -0
  102. package/dist/extractors/typescript/index.d.ts +1 -0
  103. package/dist/extractors/typescript/index.d.ts.map +1 -0
  104. package/dist/extractors/typescript/index.js +2 -0
  105. package/dist/extractors/typescript/index.js.map +1 -0
  106. package/dist/extractors/variants/TailwindVariantsParser.d.ts +16 -0
  107. package/dist/extractors/variants/TailwindVariantsParser.d.ts.map +1 -0
  108. package/dist/extractors/variants/TailwindVariantsParser.js +53 -0
  109. package/dist/extractors/variants/TailwindVariantsParser.js.map +1 -0
  110. package/dist/extractors/variants/VariantsExtractor.d.ts +45 -0
  111. package/dist/extractors/variants/VariantsExtractor.d.ts.map +1 -0
  112. package/dist/extractors/variants/VariantsExtractor.js +340 -0
  113. package/dist/extractors/variants/VariantsExtractor.js.map +1 -0
  114. package/dist/extractors/variants/index.d.ts +2 -0
  115. package/dist/extractors/variants/index.d.ts.map +1 -0
  116. package/dist/extractors/variants/index.js +2 -0
  117. package/dist/extractors/variants/index.js.map +1 -0
  118. package/dist/generators/api/APIFileGenerator.d.ts +32 -0
  119. package/dist/generators/api/APIFileGenerator.d.ts.map +1 -0
  120. package/dist/generators/api/APIFileGenerator.js +450 -0
  121. package/dist/generators/api/APIFileGenerator.js.map +1 -0
  122. package/dist/generators/api/TypeDefinitionGenerator.d.ts +1 -0
  123. package/dist/generators/api/TypeDefinitionGenerator.d.ts.map +1 -0
  124. package/dist/generators/api/TypeDefinitionGenerator.js +2 -0
  125. package/dist/generators/api/TypeDefinitionGenerator.js.map +1 -0
  126. package/dist/generators/api/index.d.ts +2 -0
  127. package/dist/generators/api/index.d.ts.map +1 -0
  128. package/dist/generators/api/index.js +2 -0
  129. package/dist/generators/api/index.js.map +1 -0
  130. package/dist/generators/index.d.ts +5 -0
  131. package/dist/generators/index.d.ts.map +1 -0
  132. package/dist/generators/index.js +4 -0
  133. package/dist/generators/index.js.map +1 -0
  134. package/dist/generators/llm/LLMDocumentationGenerator.d.ts +34 -0
  135. package/dist/generators/llm/LLMDocumentationGenerator.d.ts.map +1 -0
  136. package/dist/generators/llm/LLMDocumentationGenerator.js +480 -0
  137. package/dist/generators/llm/LLMDocumentationGenerator.js.map +1 -0
  138. package/dist/generators/llm/LLMFormatter.d.ts +4 -0
  139. package/dist/generators/llm/LLMFormatter.d.ts.map +1 -0
  140. package/dist/generators/llm/LLMFormatter.js +8 -0
  141. package/dist/generators/llm/LLMFormatter.js.map +1 -0
  142. package/dist/generators/llm/LlmsFullAssembler.d.ts +20 -0
  143. package/dist/generators/llm/LlmsFullAssembler.d.ts.map +1 -0
  144. package/dist/generators/llm/LlmsFullAssembler.js +63 -0
  145. package/dist/generators/llm/LlmsFullAssembler.js.map +1 -0
  146. package/dist/generators/llm/index.d.ts +1 -0
  147. package/dist/generators/llm/index.d.ts.map +1 -0
  148. package/dist/generators/llm/index.js +2 -0
  149. package/dist/generators/llm/index.js.map +1 -0
  150. package/dist/generators/mcp/MCPCatalogAssembler.d.ts +27 -0
  151. package/dist/generators/mcp/MCPCatalogAssembler.d.ts.map +1 -0
  152. package/dist/generators/mcp/MCPCatalogAssembler.js +147 -0
  153. package/dist/generators/mcp/MCPCatalogAssembler.js.map +1 -0
  154. package/dist/generators/mcp/MCPCatalogGenerator.d.ts +55 -0
  155. package/dist/generators/mcp/MCPCatalogGenerator.d.ts.map +1 -0
  156. package/dist/generators/mcp/MCPCatalogGenerator.js +153 -0
  157. package/dist/generators/mcp/MCPCatalogGenerator.js.map +1 -0
  158. package/dist/generators/svelte/PageGenerator.d.ts +82 -0
  159. package/dist/generators/svelte/PageGenerator.d.ts.map +1 -0
  160. package/dist/generators/svelte/PageGenerator.js +557 -0
  161. package/dist/generators/svelte/PageGenerator.js.map +1 -0
  162. package/dist/generators/svelte/PlaygroundPresets.d.ts +2 -0
  163. package/dist/generators/svelte/PlaygroundPresets.d.ts.map +1 -0
  164. package/dist/generators/svelte/PlaygroundPresets.js +4 -0
  165. package/dist/generators/svelte/PlaygroundPresets.js.map +1 -0
  166. package/dist/generators/svelte/SectionMerger.d.ts +38 -0
  167. package/dist/generators/svelte/SectionMerger.d.ts.map +1 -0
  168. package/dist/generators/svelte/SectionMerger.js +154 -0
  169. package/dist/generators/svelte/SectionMerger.js.map +1 -0
  170. package/dist/generators/svelte/TemplateEngine.d.ts +91 -0
  171. package/dist/generators/svelte/TemplateEngine.d.ts.map +1 -0
  172. package/dist/generators/svelte/TemplateEngine.js +500 -0
  173. package/dist/generators/svelte/TemplateEngine.js.map +1 -0
  174. package/dist/generators/svelte/index.d.ts +8 -0
  175. package/dist/generators/svelte/index.d.ts.map +1 -0
  176. package/dist/generators/svelte/index.js +11 -0
  177. package/dist/generators/svelte/index.js.map +1 -0
  178. package/dist/generators/svelte/renderers/ApiRenderer.d.ts +17 -0
  179. package/dist/generators/svelte/renderers/ApiRenderer.d.ts.map +1 -0
  180. package/dist/generators/svelte/renderers/ApiRenderer.js +44 -0
  181. package/dist/generators/svelte/renderers/ApiRenderer.js.map +1 -0
  182. package/dist/generators/svelte/renderers/ExampleRenderer.d.ts +33 -0
  183. package/dist/generators/svelte/renderers/ExampleRenderer.d.ts.map +1 -0
  184. package/dist/generators/svelte/renderers/ExampleRenderer.js +137 -0
  185. package/dist/generators/svelte/renderers/ExampleRenderer.js.map +1 -0
  186. package/dist/generators/svelte/renderers/OverviewRenderer.d.ts +9 -0
  187. package/dist/generators/svelte/renderers/OverviewRenderer.d.ts.map +1 -0
  188. package/dist/generators/svelte/renderers/OverviewRenderer.js +45 -0
  189. package/dist/generators/svelte/renderers/OverviewRenderer.js.map +1 -0
  190. package/dist/generators/svelte/renderers/PlaygroundRenderer.d.ts +35 -0
  191. package/dist/generators/svelte/renderers/PlaygroundRenderer.d.ts.map +1 -0
  192. package/dist/generators/svelte/renderers/PlaygroundRenderer.js +319 -0
  193. package/dist/generators/svelte/renderers/PlaygroundRenderer.js.map +1 -0
  194. package/dist/generators/svelte/renderers/TypesRenderer.d.ts +9 -0
  195. package/dist/generators/svelte/renderers/TypesRenderer.d.ts.map +1 -0
  196. package/dist/generators/svelte/renderers/TypesRenderer.js +23 -0
  197. package/dist/generators/svelte/renderers/TypesRenderer.js.map +1 -0
  198. package/dist/generators/svelte/renderers/UsageRenderer.d.ts +14 -0
  199. package/dist/generators/svelte/renderers/UsageRenderer.d.ts.map +1 -0
  200. package/dist/generators/svelte/renderers/UsageRenderer.js +91 -0
  201. package/dist/generators/svelte/renderers/UsageRenderer.js.map +1 -0
  202. package/dist/generators/svelte/renderers/VariantsRenderer.d.ts +43 -0
  203. package/dist/generators/svelte/renderers/VariantsRenderer.d.ts.map +1 -0
  204. package/dist/generators/svelte/renderers/VariantsRenderer.js +277 -0
  205. package/dist/generators/svelte/renderers/VariantsRenderer.js.map +1 -0
  206. package/dist/generators/svelte/renderers/index.d.ts +8 -0
  207. package/dist/generators/svelte/renderers/index.d.ts.map +1 -0
  208. package/dist/generators/svelte/renderers/index.js +8 -0
  209. package/dist/generators/svelte/renderers/index.js.map +1 -0
  210. package/dist/generators/svelte/types.d.ts +13 -0
  211. package/dist/generators/svelte/types.d.ts.map +1 -0
  212. package/dist/generators/svelte/types.js +2 -0
  213. package/dist/generators/svelte/types.js.map +1 -0
  214. package/dist/index.d.ts +5 -0
  215. package/dist/index.d.ts.map +1 -0
  216. package/dist/index.js +4 -0
  217. package/dist/index.js.map +1 -0
  218. package/dist/parsers/SvelteDocsParser.d.ts +44 -0
  219. package/dist/parsers/SvelteDocsParser.d.ts.map +1 -0
  220. package/dist/parsers/SvelteDocsParser.js +141 -0
  221. package/dist/parsers/SvelteDocsParser.js.map +1 -0
  222. package/dist/parsers/index.d.ts +2 -0
  223. package/dist/parsers/index.d.ts.map +1 -0
  224. package/dist/parsers/index.js +6 -0
  225. package/dist/parsers/index.js.map +1 -0
  226. package/dist/schema/ConfigurationBuilder.d.ts +55 -0
  227. package/dist/schema/ConfigurationBuilder.d.ts.map +1 -0
  228. package/dist/schema/ConfigurationBuilder.js +447 -0
  229. package/dist/schema/ConfigurationBuilder.js.map +1 -0
  230. package/dist/schema/index.d.ts +1 -0
  231. package/dist/schema/index.d.ts.map +1 -0
  232. package/dist/schema/index.js +2 -0
  233. package/dist/schema/index.js.map +1 -0
  234. package/dist/tsconfig.tsbuildinfo +1 -0
  235. package/dist/types/configuration.d.ts +255 -0
  236. package/dist/types/configuration.d.ts.map +1 -0
  237. package/dist/types/configuration.js +2 -0
  238. package/dist/types/configuration.js.map +1 -0
  239. package/dist/types/core.d.ts +96 -0
  240. package/dist/types/core.d.ts.map +1 -0
  241. package/dist/types/core.js +2 -0
  242. package/dist/types/core.js.map +1 -0
  243. package/dist/types/docs-config.d.ts +5 -0
  244. package/dist/types/docs-config.d.ts.map +1 -0
  245. package/dist/types/docs-config.js +51 -0
  246. package/dist/types/docs-config.js.map +1 -0
  247. package/dist/types/index.d.ts +6 -0
  248. package/dist/types/index.d.ts.map +1 -0
  249. package/dist/types/index.js +9 -0
  250. package/dist/types/index.js.map +1 -0
  251. package/dist/types/validation.d.ts +321 -0
  252. package/dist/types/validation.d.ts.map +1 -0
  253. package/dist/types/validation.js +2 -0
  254. package/dist/types/validation.js.map +1 -0
  255. package/dist/utils/DeploymentManager.d.ts +80 -0
  256. package/dist/utils/DeploymentManager.d.ts.map +1 -0
  257. package/dist/utils/DeploymentManager.js +360 -0
  258. package/dist/utils/DeploymentManager.js.map +1 -0
  259. package/dist/utils/index.d.ts +1 -0
  260. package/dist/utils/index.d.ts.map +1 -0
  261. package/dist/utils/index.js +2 -0
  262. package/dist/utils/index.js.map +1 -0
  263. package/package.json +74 -0
@@ -0,0 +1,321 @@
1
+ /**
2
+ * Centralized error handling for the documentation pipeline
3
+ */
4
+ export class ErrorHandler {
5
+ options;
6
+ errors = [];
7
+ warnings = [];
8
+ context = {};
9
+ constructor(options = {}) {
10
+ this.options = options;
11
+ this.options = {
12
+ failFast: false,
13
+ maxErrors: 100,
14
+ logLevel: 'info',
15
+ ...options
16
+ };
17
+ }
18
+ // ==========================================
19
+ // ERROR REPORTING
20
+ // ==========================================
21
+ /**
22
+ * Report an error during pipeline execution
23
+ */
24
+ reportError(error) {
25
+ this.errors.push({
26
+ ...error,
27
+ timestamp: new Date().toISOString(),
28
+ context: { ...this.context }
29
+ });
30
+ this.logError(error);
31
+ // Check if we should fail fast
32
+ if (this.options.failFast) {
33
+ throw new PipelineException(error.message, error);
34
+ }
35
+ // Check if we've exceeded max errors
36
+ if (this.errors.length >= this.options.maxErrors) {
37
+ throw new PipelineException(`Maximum error count exceeded (${this.options.maxErrors})`, this.errors[this.errors.length - 1]);
38
+ }
39
+ }
40
+ /**
41
+ * Report a warning during pipeline execution
42
+ */
43
+ reportWarning(warning) {
44
+ this.warnings.push({
45
+ ...warning,
46
+ timestamp: new Date().toISOString(),
47
+ context: { ...this.context }
48
+ });
49
+ this.logWarning(warning);
50
+ }
51
+ /**
52
+ * Convert extraction errors to pipeline errors
53
+ */
54
+ handleExtractionError(extractionError, component, phase) {
55
+ const pipelineError = {
56
+ type: 'extraction_error',
57
+ message: extractionError.message,
58
+ originalError: extractionError,
59
+ severity: 'error',
60
+ recoverable: true
61
+ };
62
+ if (phase)
63
+ pipelineError.phase = phase;
64
+ else
65
+ pipelineError.phase = 'extraction';
66
+ if (component?.name)
67
+ pipelineError.component = component.name;
68
+ if (extractionError.location)
69
+ pipelineError.location = extractionError.location;
70
+ this.reportError(pipelineError);
71
+ }
72
+ /**
73
+ * Convert extraction warnings to pipeline warnings
74
+ */
75
+ handleExtractionWarning(extractionWarning, component, phase) {
76
+ const pipelineWarning = {
77
+ type: 'extraction_warning',
78
+ message: extractionWarning.message,
79
+ severity: 'warning'
80
+ };
81
+ if (phase)
82
+ pipelineWarning.phase = phase;
83
+ else
84
+ pipelineWarning.phase = 'extraction';
85
+ if (component?.name)
86
+ pipelineWarning.component = component.name;
87
+ if (extractionWarning.suggestion)
88
+ pipelineWarning.suggestion = extractionWarning.suggestion;
89
+ this.reportWarning(pipelineWarning);
90
+ }
91
+ // ==========================================
92
+ // CONTEXT MANAGEMENT
93
+ // ==========================================
94
+ /**
95
+ * Set context for error reporting
96
+ */
97
+ setContext(context) {
98
+ this.context = { ...this.context, ...context };
99
+ }
100
+ /**
101
+ * Clear context
102
+ */
103
+ clearContext() {
104
+ this.context = {};
105
+ }
106
+ /**
107
+ * Execute code with temporary context
108
+ */
109
+ async withContext(context, fn) {
110
+ const previousContext = { ...this.context };
111
+ this.setContext(context);
112
+ try {
113
+ return await fn();
114
+ }
115
+ finally {
116
+ this.context = previousContext;
117
+ }
118
+ }
119
+ // ==========================================
120
+ // ERROR RECOVERY
121
+ // ==========================================
122
+ async attemptRecovery(_error) {
123
+ return false;
124
+ }
125
+ // ==========================================
126
+ // REPORTING & SUMMARY
127
+ // ==========================================
128
+ /**
129
+ * Get error summary
130
+ */
131
+ getSummary() {
132
+ const errorsByType = this.groupErrorsByType();
133
+ const errorsByComponent = this.groupErrorsByComponent();
134
+ const errorsByPhase = this.groupErrorsByPhase();
135
+ return {
136
+ totalErrors: this.errors.length,
137
+ totalWarnings: this.warnings.length,
138
+ criticalErrors: this.errors.filter((e) => e.severity === 'critical').length,
139
+ recoverableErrors: this.errors.filter((e) => e.recoverable).length,
140
+ errorsByType,
141
+ errorsByComponent,
142
+ errorsByPhase,
143
+ hasBlockingErrors: this.errors.some((e) => e.severity === 'critical' || !e.recoverable)
144
+ };
145
+ }
146
+ /**
147
+ * Check if pipeline can continue
148
+ */
149
+ canContinue() {
150
+ const summary = this.getSummary();
151
+ return !summary.hasBlockingErrors;
152
+ }
153
+ /**
154
+ * Generate detailed error report
155
+ */
156
+ generateReport() {
157
+ const summary = this.getSummary();
158
+ const lines = [];
159
+ lines.push('📊 Pipeline Error Report');
160
+ lines.push('========================');
161
+ lines.push('');
162
+ if (summary.totalErrors === 0 && summary.totalWarnings === 0) {
163
+ lines.push('✅ No errors or warnings reported');
164
+ return lines.join('\n');
165
+ }
166
+ lines.push(`📊 Summary:`);
167
+ lines.push(` • Errors: ${summary.totalErrors} (${summary.criticalErrors} critical)`);
168
+ lines.push(` • Warnings: ${summary.totalWarnings}`);
169
+ lines.push(` • Recoverable: ${summary.recoverableErrors}`);
170
+ lines.push('');
171
+ if (summary.totalErrors > 0) {
172
+ lines.push('❌ Errors by Type:');
173
+ Object.entries(summary.errorsByType).forEach(([type, count]) => {
174
+ lines.push(` • ${type}: ${count}`);
175
+ });
176
+ lines.push('');
177
+ lines.push('❌ Errors by Component:');
178
+ Object.entries(summary.errorsByComponent).forEach(([component, count]) => {
179
+ lines.push(` • ${component || 'unknown'}: ${count}`);
180
+ });
181
+ lines.push('');
182
+ lines.push('❌ Recent Errors:');
183
+ this.errors.slice(-5).forEach((error) => {
184
+ lines.push(` • [${error.phase}] ${error.component || 'unknown'}: ${error.message}`);
185
+ });
186
+ lines.push('');
187
+ }
188
+ if (summary.totalWarnings > 0) {
189
+ lines.push('⚠️ Recent Warnings:');
190
+ this.warnings.slice(-5).forEach((warning) => {
191
+ lines.push(` • [${warning.phase}] ${warning.component || 'unknown'}: ${warning.message}`);
192
+ });
193
+ }
194
+ return lines.join('\n');
195
+ }
196
+ // ==========================================
197
+ // PRIVATE METHODS
198
+ // ==========================================
199
+ logError(error) {
200
+ const prefix = error.component ? `[${error.component}]` : '[Pipeline]';
201
+ const phaseInfo = error.phase ? ` (${error.phase})` : '';
202
+ console.error(`❌ ${prefix}${phaseInfo} ${error.message}`);
203
+ if (error.location && this.options.logLevel === 'debug') {
204
+ console.error(` 📍 ${error.location.file}:${error.location.line}:${error.location.column}`);
205
+ }
206
+ }
207
+ logWarning(warning) {
208
+ const prefix = warning.component ? `[${warning.component}]` : '[Pipeline]';
209
+ const phaseInfo = warning.phase ? ` (${warning.phase})` : '';
210
+ console.warn(`⚠️ ${prefix}${phaseInfo} ${warning.message}`);
211
+ if (warning.suggestion && this.options.logLevel !== 'error') {
212
+ console.warn(` 💡 ${warning.suggestion}`);
213
+ }
214
+ }
215
+ groupErrorsByType() {
216
+ const groups = {};
217
+ this.errors.forEach((error) => {
218
+ groups[error.type] = (groups[error.type] || 0) + 1;
219
+ });
220
+ return groups;
221
+ }
222
+ groupErrorsByComponent() {
223
+ const groups = {};
224
+ this.errors.forEach((error) => {
225
+ const component = error.component || 'unknown';
226
+ groups[component] = (groups[component] || 0) + 1;
227
+ });
228
+ return groups;
229
+ }
230
+ groupErrorsByPhase() {
231
+ const groups = {};
232
+ this.errors.forEach((error) => {
233
+ const phase = error.phase || 'unknown';
234
+ groups[phase] = (groups[phase] || 0) + 1;
235
+ });
236
+ return groups;
237
+ }
238
+ /**
239
+ * Reset error state (useful for watch mode)
240
+ */
241
+ reset() {
242
+ this.errors = [];
243
+ this.warnings = [];
244
+ this.context = {};
245
+ }
246
+ }
247
+ /**
248
+ * Custom exception for pipeline failures
249
+ */
250
+ export class PipelineException extends Error {
251
+ pipelineError;
252
+ constructor(message, pipelineError) {
253
+ super(message);
254
+ this.pipelineError = pipelineError;
255
+ this.name = 'PipelineException';
256
+ }
257
+ }
258
+ // ==========================================
259
+ // UTILITY FUNCTIONS
260
+ // ==========================================
261
+ /**
262
+ * Create a standard pipeline error
263
+ */
264
+ export function createError(type, message, options = {}) {
265
+ return {
266
+ type,
267
+ message,
268
+ severity: 'error',
269
+ recoverable: true,
270
+ ...options
271
+ };
272
+ }
273
+ /**
274
+ * Create a standard pipeline warning
275
+ */
276
+ export function createWarning(type, message, options = {}) {
277
+ return {
278
+ type,
279
+ message,
280
+ severity: 'warning',
281
+ ...options
282
+ };
283
+ }
284
+ /**
285
+ * Wrap async operations with error handling
286
+ */
287
+ export async function withErrorHandling(operation, errorHandler, context = {}) {
288
+ return errorHandler.withContext(context, async () => {
289
+ try {
290
+ return await operation();
291
+ }
292
+ catch (error) {
293
+ const opts = { originalError: error, recoverable: true };
294
+ if (context.phase)
295
+ opts.phase = context.phase;
296
+ if (context.packageName)
297
+ opts.component = context.packageName;
298
+ const pipelineError = createError('operation_failed', error instanceof Error ? error.message : String(error), opts);
299
+ errorHandler.reportError(pipelineError);
300
+ // Try to recover
301
+ const recovered = await errorHandler.attemptRecovery(pipelineError);
302
+ if (!recovered) {
303
+ return null;
304
+ }
305
+ // Retry if recovery succeeded
306
+ try {
307
+ return await operation();
308
+ }
309
+ catch (retryError) {
310
+ const retryOpts = { recoverable: false };
311
+ if (context.phase)
312
+ retryOpts.phase = context.phase;
313
+ if (context.packageName)
314
+ retryOpts.component = context.packageName;
315
+ errorHandler.reportError(createError('recovery_retry_failed', `Retry after recovery failed: ${retryError instanceof Error ? retryError.message : String(retryError)}`, retryOpts));
316
+ return null;
317
+ }
318
+ }
319
+ });
320
+ }
321
+ //# sourceMappingURL=ErrorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../../src/core/pipeline/ErrorHandler.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,YAAY;IAKH;IAJZ,MAAM,GAAoB,EAAE,CAAC;IAC7B,QAAQ,GAAsB,EAAE,CAAC;IACjC,OAAO,GAAiB,EAAE,CAAC;IAEnC,YAAoB,UAA+B,EAAE;QAAjC,YAAO,GAAP,OAAO,CAA0B;QACnD,IAAI,CAAC,OAAO,GAAG;YACb,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,MAAM;YAChB,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,kBAAkB;IAClB,6CAA6C;IAE7C;;OAEG;IACH,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAU,EAAE,CAAC;YAClD,MAAM,IAAI,iBAAiB,CACzB,iCAAiC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAwB;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,GAAG,OAAO;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,eAAgC,EAChC,SAAyB,EACzB,KAAc;QAEd,MAAM,aAAa,GAAkB;YACnC,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,aAAa,EAAE,eAAe;YAC9B,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,IAAI,KAAK;YAAE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;;YAClC,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC;QACxC,IAAI,SAAS,EAAE,IAAI;YAAE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAC9D,IAAI,eAAe,CAAC,QAAQ;YAAE,aAAa,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QAEhF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,uBAAuB,CACrB,iBAAoC,EACpC,SAAyB,EACzB,KAAc;QAEd,MAAM,eAAe,GAAoB;YACvC,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,QAAQ,EAAE,SAAS;SACpB,CAAC;QACF,IAAI,KAAK;YAAE,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;;YACpC,eAAe,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1C,IAAI,SAAS,EAAE,IAAI;YAAE,eAAe,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAChE,IAAI,iBAAiB,CAAC,UAAU;YAAE,eAAe,CAAC,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAE5F,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED,6CAA6C;IAC7C,qBAAqB;IACrB,6CAA6C;IAE7C;;OAEG;IACH,UAAU,CAAC,OAA8B;QACvC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,OAA8B,EAAE,EAAoB;QACvE,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QACjC,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,iBAAiB;IACjB,6CAA6C;IAE7C,KAAK,CAAC,eAAe,CAAC,MAAqB;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,sBAAsB;IACtB,6CAA6C;IAE7C;;OAEG;IACH,UAAU;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YACnC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;YAC3E,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM;YAClE,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;SACxF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,cAAc,YAAY,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;gBACvE,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,6CAA6C;IAC7C,kBAAkB;IAClB,6CAA6C;IAErC,QAAQ,CAAC,KAAoB;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;QACvE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzD,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,GAAG,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1D,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,OAAwB;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,OAAO,CAAC,IAAI,CAAC,OAAO,MAAM,GAAG,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,sBAAsB;QAC5B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;YAC/C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB;QACxB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AA4DD;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAGxB;IAFlB,YACE,OAAe,EACC,aAA6B;QAE7C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,kBAAa,GAAb,aAAa,CAAgB;QAG7C,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,6CAA6C;AAC7C,oBAAoB;AACpB,6CAA6C;AAE7C;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,OAAe,EACf,UAAkC,EAAE;IAEpC,OAAO;QACL,IAAI;QACJ,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,IAAI;QACjB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,OAAe,EACf,UAAoC,EAAE;IAEtC,OAAO;QACL,IAAI;QACJ,OAAO;QACP,QAAQ,EAAE,SAAS;QACnB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAA2B,EAC3B,YAA0B,EAC1B,UAAiC,EAAE;IAEnC,OAAO,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAClD,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAA2B,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACjF,IAAI,OAAO,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAe,CAAC;YACxD,IAAI,OAAO,CAAC,WAAW;gBAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,WAAqB,CAAC;YACxE,MAAM,aAAa,GAAG,WAAW,CAC/B,kBAAkB,EAClB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,IAAI,CACL,CAAC;YAEF,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAExC,iBAAiB;YACjB,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC;YACd,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,SAAS,GAA2B,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBACjE,IAAI,OAAO,CAAC,KAAK;oBAAE,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,KAAe,CAAC;gBAC7D,IAAI,OAAO,CAAC,WAAW;oBAAE,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,WAAqB,CAAC;gBAC7E,YAAY,CAAC,WAAW,CACtB,WAAW,CACT,uBAAuB,EACvB,gCAAgC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EACvG,SAAS,CACV,CACF,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { GenerationResult, GeneratorConfig } from '../../types';
2
+ /**
3
+ * Main orchestrator for the documentation generation pipeline.
4
+ * Coordinates all phases: Discovery → Extraction → Enrichment → Generation
5
+ */
6
+ export declare class PipelineOrchestrator {
7
+ private config;
8
+ private startTime;
9
+ private errorHandler;
10
+ constructor(config: GeneratorConfig);
11
+ /**
12
+ * Execute the complete documentation generation pipeline
13
+ */
14
+ execute(): Promise<GenerationResult>;
15
+ /**
16
+ * Phase 1: Discovery - Find all components and their files
17
+ */
18
+ private discoveryPhase;
19
+ /**
20
+ * Phase 2: Extraction - Extract props, variants, inheritance, docs
21
+ */
22
+ private extractionPhase;
23
+ /**
24
+ * Phase 3: Enrichment - Add cross-references, validate examples, generate API data
25
+ */
26
+ private enrichmentPhase;
27
+ /**
28
+ * Phase 4: Generation - Generate API file, then LLM docs
29
+ * CRITICAL: API must be generated FIRST, then consumed by LLM
30
+ */
31
+ private generationPhase;
32
+ /**
33
+ * Create error result for failed pipeline execution
34
+ */
35
+ private createErrorResult;
36
+ /**
37
+ * Get current configuration
38
+ */
39
+ getConfig(): GeneratorConfig;
40
+ /**
41
+ * Update configuration (useful for watch mode)
42
+ */
43
+ updateConfig(newConfig: GeneratorConfig): void;
44
+ }
45
+ //# sourceMappingURL=PipelineOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/pipeline/PipelineOrchestrator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AASrB;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,eAAe;IASnC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwF1C;;OAEG;YACW,cAAc;IAqC5B;;OAEG;YACW,eAAe;IAuB7B;;OAEG;YACW,eAAe;IAyC7B;;;OAGG;YACW,eAAe;IA2B7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;CAG/C"}
@@ -0,0 +1,216 @@
1
+ import { ErrorHandler, ExtractionCoordinator, GenerationCoordinator, PipelineException, withErrorHandling } from '..';
2
+ /**
3
+ * Main orchestrator for the documentation generation pipeline.
4
+ * Coordinates all phases: Discovery → Extraction → Enrichment → Generation
5
+ */
6
+ export class PipelineOrchestrator {
7
+ config;
8
+ startTime = 0;
9
+ errorHandler;
10
+ constructor(config) {
11
+ this.config = config;
12
+ this.errorHandler = new ErrorHandler({
13
+ failFast: !config.processing?.parallel?.enabled,
14
+ maxErrors: 50,
15
+ logLevel: config.debug?.level || 'info'
16
+ });
17
+ }
18
+ /**
19
+ * Execute the complete documentation generation pipeline
20
+ */
21
+ async execute() {
22
+ this.startTime = Date.now();
23
+ this.errorHandler.reset();
24
+ try {
25
+ console.log('🚀 Starting documentation generation pipeline...');
26
+ // Phase 1: Discovery
27
+ const manifests = await withErrorHandling(() => this.discoveryPhase(), this.errorHandler, {
28
+ phase: 'discovery'
29
+ });
30
+ if (!manifests || manifests.length === 0) {
31
+ throw new PipelineException('No components discovered');
32
+ }
33
+ // Phase 2: Extraction
34
+ const richComponents = await withErrorHandling(() => this.extractionPhase(manifests), this.errorHandler, { phase: 'extraction' });
35
+ if (!richComponents) {
36
+ throw new PipelineException('Component extraction failed');
37
+ }
38
+ // Phase 3: Enrichment
39
+ const enrichmentResult = await withErrorHandling(() => this.enrichmentPhase(richComponents), this.errorHandler, { phase: 'enrichment' });
40
+ if (!enrichmentResult) {
41
+ throw new PipelineException('Component enrichment failed');
42
+ }
43
+ // Phase 4: Generation (API first, then others)
44
+ const result = await withErrorHandling(() => this.generationPhase(enrichmentResult.enrichedComponents, enrichmentResult.apiData), this.errorHandler, { phase: 'generation' });
45
+ if (!result) {
46
+ throw new PipelineException('Documentation generation failed');
47
+ }
48
+ // Check if we can continue despite errors
49
+ if (!this.errorHandler.canContinue()) {
50
+ console.error('❌ Pipeline completed with blocking errors');
51
+ console.error(this.errorHandler.generateReport());
52
+ return this.createErrorResult(new Error('Pipeline had blocking errors'));
53
+ }
54
+ const summary = this.errorHandler.getSummary();
55
+ if (summary.totalErrors > 0 || summary.totalWarnings > 0) {
56
+ console.warn(`⚠️ Pipeline completed with ${summary.totalErrors} errors and ${summary.totalWarnings} warnings`);
57
+ if (this.config.debug?.enabled) {
58
+ console.warn(this.errorHandler.generateReport());
59
+ }
60
+ }
61
+ else {
62
+ console.log('✅ Pipeline completed successfully');
63
+ }
64
+ return {
65
+ ...result,
66
+ errors: result.errors.concat(summary.totalErrors > 0
67
+ ? [
68
+ {
69
+ type: 'pipeline_warnings',
70
+ message: `Pipeline completed with ${summary.totalErrors} errors and ${summary.totalWarnings} warnings`
71
+ }
72
+ ]
73
+ : [])
74
+ };
75
+ }
76
+ catch (error) {
77
+ console.error('❌ Pipeline failed:', error);
78
+ console.error(this.errorHandler.generateReport());
79
+ return this.createErrorResult(error);
80
+ }
81
+ }
82
+ /**
83
+ * Phase 1: Discovery - Find all components and their files
84
+ */
85
+ async discoveryPhase() {
86
+ console.log('📍 Phase 1: Discovery');
87
+ const { ComponentFinder } = await import('../discovery/ComponentFinder');
88
+ const componentFinder = new ComponentFinder();
89
+ const allManifests = [];
90
+ for (const packageConfig of this.config.input.packages) {
91
+ console.log(` 📦 Processing package: ${packageConfig.name}`);
92
+ try {
93
+ const manifests = await componentFinder.findComponents(packageConfig);
94
+ allManifests.push(...manifests);
95
+ console.log(` ✅ Found ${manifests.length} components in ${packageConfig.name}`);
96
+ // Validate each manifest
97
+ for (const manifest of manifests) {
98
+ const validation = await componentFinder.validateManifest(manifest);
99
+ if (!validation.success) {
100
+ console.warn(` ⚠️ Validation issues for ${manifest.component.name}:`, validation.errors.map((e) => e.message).join(', '));
101
+ }
102
+ }
103
+ }
104
+ catch (error) {
105
+ console.error(` ❌ Failed to process package ${packageConfig.name}:`, error);
106
+ // Continue with other packages
107
+ }
108
+ }
109
+ console.log(` 📊 Discovery complete: ${allManifests.length} total components`);
110
+ return allManifests;
111
+ }
112
+ /**
113
+ * Phase 2: Extraction - Extract props, variants, inheritance, docs
114
+ */
115
+ async extractionPhase(manifests) {
116
+ console.log('📍 Phase 2: Extraction');
117
+ const extractionCoordinator = new ExtractionCoordinator(this.config.processing, this.errorHandler);
118
+ const richComponents = await extractionCoordinator.extractAllComponents(manifests);
119
+ // Display statistics
120
+ const stats = extractionCoordinator.generateExtractionStats(richComponents);
121
+ console.log(` 📊 Extraction statistics:`);
122
+ console.log(` Components: ${stats.totalComponents}`);
123
+ console.log(` Props: ${stats.totalProps} (avg: ${stats.averagePropsPerComponent}/component)`);
124
+ console.log(` Variants: ${stats.totalVariants}`);
125
+ console.log(` With Documentation: ${stats.componentsWithDocumentation}`);
126
+ return richComponents;
127
+ }
128
+ /**
129
+ * Phase 3: Enrichment - Add cross-references, validate examples, generate API data
130
+ */
131
+ async enrichmentPhase(richComponents) {
132
+ console.log('📍 Phase 3: Enrichment');
133
+ // Could be moved into EnrichmentCoordinator, but it is already fairly clean
134
+ const { APIDataGenerator } = await import('../enrichment/APIDataGenerator');
135
+ // Create enriched components with basic stats for now
136
+ const enrichedComponents = richComponents.map((component) => ({
137
+ ...component,
138
+ crossReferences: [],
139
+ examples: [],
140
+ stats: {
141
+ totalProps: component.props.length,
142
+ directProps: component.props.filter((p) => p.source.type === 'direct').length,
143
+ variantProps: component.variants.length,
144
+ inheritedProps: component.props.filter((p) => p.source.type === 'inherited').length
145
+ }
146
+ }));
147
+ // Generate API data using APIDataGenerator
148
+ console.log(' 📊 Generating API data...');
149
+ const apiDataGenerator = new APIDataGenerator();
150
+ const apiData = await apiDataGenerator.generate(richComponents, {
151
+ routeBasePath: '/components'
152
+ });
153
+ console.log(` ✅ Enrichment complete: ${enrichedComponents.length} components, ${apiData.metadata.totalProps} total props`);
154
+ // Harmonize stats: prefer API data (single source of truth)
155
+ const enrichedWithApiStats = enrichedComponents.map((c) => {
156
+ const api = apiData.components[c.name];
157
+ return api ? { ...c, stats: api.stats } : c;
158
+ });
159
+ return { enrichedComponents: enrichedWithApiStats, apiData };
160
+ }
161
+ /**
162
+ * Phase 4: Generation - Generate API file, then LLM docs
163
+ * CRITICAL: API must be generated FIRST, then consumed by LLM
164
+ */
165
+ async generationPhase(enrichedComponents, apiData) {
166
+ console.log('📍 Phase 4: Generation');
167
+ // Dedicated coordinator handles the entire generation logic
168
+ const generationCoordinator = new GenerationCoordinator(this.config.output, this.errorHandler);
169
+ // Validate configuration
170
+ const configValidation = generationCoordinator.validateConfiguration();
171
+ if (!configValidation.valid) {
172
+ console.warn('⚠️ Generation configuration issues:', configValidation.errors);
173
+ }
174
+ // Display the generation plan (for debugging)
175
+ const plan = generationCoordinator.getGenerationPlan();
176
+ console.log(` 📋 Generation plan: ${plan.totalOutputs} outputs, ${plan.phases.filter((p) => p.enabled).length} active phases`);
177
+ // Run all generations
178
+ const result = await generationCoordinator.generateAll(enrichedComponents, apiData);
179
+ return result;
180
+ }
181
+ /**
182
+ * Create error result for failed pipeline execution
183
+ */
184
+ createErrorResult(error) {
185
+ const duration = Date.now() - this.startTime;
186
+ return {
187
+ success: false,
188
+ outputs: [],
189
+ errors: [
190
+ {
191
+ type: 'pipeline_error',
192
+ message: error instanceof Error ? error.message : String(error)
193
+ }
194
+ ],
195
+ stats: {
196
+ totalComponents: 0,
197
+ totalProps: 0,
198
+ apiDataSize: 0
199
+ },
200
+ duration
201
+ };
202
+ }
203
+ /**
204
+ * Get current configuration
205
+ */
206
+ getConfig() {
207
+ return this.config;
208
+ }
209
+ /**
210
+ * Update configuration (useful for watch mode)
211
+ */
212
+ updateConfig(newConfig) {
213
+ this.config = newConfig;
214
+ }
215
+ }
216
+ //# sourceMappingURL=PipelineOrchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineOrchestrator.js","sourceRoot":"","sources":["../../../src/core/pipeline/PipelineOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/pipeline/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/pipeline/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import type { ExtractionResult, ExtractionWarning } from '../types';
2
+ /**
3
+ * Generic base class for all extractors (TypeScript and non-TypeScript)
4
+ */
5
+ export declare abstract class BaseExtractor<TInput = unknown, TOutput = unknown> {
6
+ protected config: unknown;
7
+ constructor(config?: unknown);
8
+ /**
9
+ * Main extraction method - must be implemented by subclasses
10
+ */
11
+ abstract extract(input: TInput): Promise<ExtractionResult<TOutput>>;
12
+ /**
13
+ * Validate input before extraction - can be overridden
14
+ */
15
+ protected validateInput(input: TInput): boolean;
16
+ /**
17
+ * Handle extraction errors - can be overridden for custom error handling
18
+ */
19
+ protected handleError(error: unknown, context?: unknown): ExtractionResult<TOutput>;
20
+ /**
21
+ * Create a successful extraction result
22
+ */
23
+ protected createSuccessResult(data: TOutput, warnings?: ExtractionWarning[], sourceFile?: string, duration?: number): ExtractionResult<TOutput>;
24
+ /**
25
+ * Add warning to extraction result
26
+ */
27
+ protected addWarning(type: string, message: string, suggestion?: string): ExtractionWarning;
28
+ /**
29
+ * Clear any caches (useful for watch mode)
30
+ */
31
+ clearCache(): void;
32
+ }
33
+ //# sourceMappingURL=BaseExtractor.d.ts.map