@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,450 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ /**
4
+ * Generates the api-props.ts file that other phases can consume
5
+ * This is the critical output that enables the API-first architecture
6
+ */
7
+ export class APIFileGenerator {
8
+ config;
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ /**
13
+ * Generate API file from API data
14
+ */
15
+ async generate(apiData) {
16
+ console.log(`📄 Generating API output: ${this.config.outputPath}`);
17
+ const startTime = Date.now();
18
+ try {
19
+ // Generate file content based on format
20
+ let content;
21
+ switch (this.config.format) {
22
+ case 'typescript':
23
+ content = this.generateTypeScriptFile(apiData);
24
+ break;
25
+ case 'json':
26
+ content = this.generateJSONFile(apiData);
27
+ break;
28
+ case 'yaml':
29
+ content = this.generateYAMLFile(apiData);
30
+ break;
31
+ default:
32
+ throw new Error(`Unsupported API format: ${this.config.format}`);
33
+ }
34
+ // If outputPath has no extension, treat it as a directory and write per-component files
35
+ const ext = path.extname(this.config.outputPath);
36
+ if (!ext) {
37
+ let totalSize = 0;
38
+ await fs.mkdir(this.config.outputPath, { recursive: true });
39
+ for (const [componentName, componentData] of Object.entries(apiData.components)) {
40
+ const group = componentData.group;
41
+ const slug = this.toSlug(componentName);
42
+ // Avoid nested duplicate group segment (e.g., components/components)
43
+ const dir = group
44
+ ? path.join(this.config.outputPath, group, slug)
45
+ : path.join(this.config.outputPath, slug);
46
+ await fs.mkdir(dir, { recursive: true });
47
+ const filePath = path.join(dir, 'api.ts');
48
+ const fileContent = this.generatePerComponentTypeScriptFile(componentName, componentData, apiData);
49
+ await fs.writeFile(filePath, fileContent, 'utf-8');
50
+ const st = await fs.stat(filePath);
51
+ totalSize += st.size;
52
+ }
53
+ const duration = Date.now() - startTime;
54
+ console.log(`✅ API component files generated in ${duration}ms`);
55
+ console.log(` 📦 Total size: ${Math.round(totalSize / 1024)}KB`);
56
+ console.log(` 🧩 Components: ${Object.keys(apiData.components).length}`);
57
+ return {
58
+ type: 'api',
59
+ path: this.config.outputPath,
60
+ size: totalSize,
61
+ components: Object.keys(apiData.components)
62
+ };
63
+ }
64
+ // Else: write single aggregate file
65
+ const outputDir = path.dirname(this.config.outputPath);
66
+ await fs.mkdir(outputDir, { recursive: true });
67
+ // Write file
68
+ await fs.writeFile(this.config.outputPath, content, 'utf-8');
69
+ const stats = await fs.stat(this.config.outputPath);
70
+ const duration = Date.now() - startTime;
71
+ console.log(`✅ API file generated successfully in ${duration}ms`);
72
+ console.log(` 📦 Size: ${Math.round(stats.size / 1024)}KB`);
73
+ console.log(` 🧩 Components: ${Object.keys(apiData.components).length}`);
74
+ return {
75
+ type: 'api',
76
+ path: this.config.outputPath,
77
+ size: stats.size,
78
+ components: Object.keys(apiData.components)
79
+ };
80
+ }
81
+ catch (error) {
82
+ throw new Error(`Failed to generate API file: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
83
+ }
84
+ }
85
+ // ==========================================
86
+ // TYPESCRIPT FILE GENERATION
87
+ // ==========================================
88
+ generateTypeScriptFile(apiData) {
89
+ const lines = [];
90
+ // File header
91
+ lines.push('// ==========================================');
92
+ lines.push('// AUTO-GENERATED API PROPS FILE');
93
+ lines.push('// ==========================================');
94
+ lines.push('// This file is automatically generated by docs-gen');
95
+ lines.push(`// Generated: ${apiData.metadata.generated}`);
96
+ lines.push(`// Version: ${apiData.metadata.version}`);
97
+ lines.push(`// Components: ${apiData.metadata.totalComponents}`);
98
+ lines.push(`// Total Props: ${apiData.metadata.totalProps}`);
99
+ lines.push('// ==========================================');
100
+ lines.push('');
101
+ // Import statements
102
+ lines.push('// Type imports for component props');
103
+ lines.push("import type { ComponentEvents, Snippet } from 'svelte';");
104
+ lines.push("import type { HTMLAttributes } from 'svelte/elements';");
105
+ lines.push('');
106
+ // Generate type definitions
107
+ if (apiData.types.length > 0) {
108
+ lines.push('// ==========================================');
109
+ lines.push('// TYPE DEFINITIONS');
110
+ lines.push('// ==========================================');
111
+ lines.push('');
112
+ for (const typeDef of apiData.types) {
113
+ lines.push(`// ${typeDef.documentation || typeDef.name}`);
114
+ if (typeDef.type === 'enum' || typeDef.type === 'interface') {
115
+ // For enums/interfaces, the definition already contains full syntax
116
+ lines.push(`export ${typeDef.type} ${typeDef.name} ${typeDef.definition}`);
117
+ }
118
+ else {
119
+ // Default to type alias
120
+ lines.push(`export type ${typeDef.name} = ${typeDef.definition};`);
121
+ }
122
+ lines.push('');
123
+ }
124
+ }
125
+ // Generate prop interfaces
126
+ lines.push('// ==========================================');
127
+ lines.push('// COMPONENT PROP INTERFACES');
128
+ lines.push('// ==========================================');
129
+ lines.push('');
130
+ for (const [componentName, componentData] of Object.entries(apiData.components)) {
131
+ lines.push(...this.generateComponentInterface(componentName, componentData));
132
+ lines.push('');
133
+ }
134
+ // Generate component API data export
135
+ lines.push('// ==========================================');
136
+ lines.push('// COMPONENT API DATA');
137
+ lines.push('// ==========================================');
138
+ lines.push('');
139
+ lines.push('export interface ComponentAPIInfo {');
140
+ lines.push(' name: string;');
141
+ lines.push(' props: PropInfo[];');
142
+ lines.push(' variants: VariantInfo[];');
143
+ lines.push(' inheritance: InheritanceInfo[];');
144
+ lines.push(' examples: string[];');
145
+ lines.push(' stats: ComponentStats;');
146
+ lines.push('}');
147
+ lines.push('');
148
+ lines.push('export interface PropInfo {');
149
+ lines.push(' name: string;');
150
+ lines.push(' type: string;');
151
+ lines.push(' required: boolean;');
152
+ lines.push(' description: string;');
153
+ lines.push(' defaultValue?: string;');
154
+ // Optional extras to match generated data structure
155
+ lines.push(' examples?: PropExample[];');
156
+ lines.push(' deprecated?: DeprecationInfo;');
157
+ lines.push(' experimental?: boolean;');
158
+ lines.push(' values?: string[];');
159
+ lines.push(' seeAlso?: string;');
160
+ lines.push(" source?: { type: 'direct' | 'inherited' | 'variant'; name?: string; package?: string; url?: string };");
161
+ lines.push(' conditionalOn?: { propName: string; values: string[] };');
162
+ lines.push('}');
163
+ lines.push('');
164
+ lines.push('export interface VariantInfo {');
165
+ lines.push(' name: string;');
166
+ lines.push(' values: string[];');
167
+ lines.push(' defaultValue?: string;');
168
+ // optional description in shared VariantInfo is not present; omit
169
+ lines.push(' examples?: VariantExample[];');
170
+ lines.push('}');
171
+ lines.push('');
172
+ // Minimal supporting types used in COMPONENT_API_DATA
173
+ lines.push('export interface PropExample { title: string; code: string; description?: string }');
174
+ lines.push('export interface DeprecationInfo { message: string; since?: string; alternative?: string }');
175
+ lines.push('export interface VariantExample { value: string; label?: string; description?: string; code?: string }');
176
+ lines.push('export interface InheritanceProp { name: string; type: string; required: boolean; description?: string; source?: { type: string; name: string; package?: string } }');
177
+ lines.push('export interface InheritanceInfo { typeName: string; source: string; url?: string; props: InheritanceProp[] }');
178
+ lines.push('export interface ComponentStats { totalProps: number; directProps: number; variantProps: number; inheritedProps: number }');
179
+ lines.push('export type MintProp = string | string[] | Record<string, unknown>;');
180
+ lines.push('');
181
+ // Export component data
182
+ lines.push('export const COMPONENT_API_DATA: Record<string, ComponentAPIInfo> = {');
183
+ const componentEntries = Object.entries(apiData.components).map(([name, data]) => {
184
+ const dataStr = JSON.stringify(data, null, 2)
185
+ .split('\n')
186
+ .map((line, index) => (index === 0 ? line : ` ${line}`))
187
+ .join('\n');
188
+ return ` "${name}": ${dataStr}`;
189
+ });
190
+ lines.push(componentEntries.join(',\n'));
191
+ lines.push('} as const;');
192
+ lines.push('');
193
+ // Export convenience functions
194
+ lines.push('// ==========================================');
195
+ lines.push('// CONVENIENCE FUNCTIONS');
196
+ lines.push('// ==========================================');
197
+ lines.push('');
198
+ lines.push('export function getComponentAPI(componentName: string): ComponentAPIInfo | undefined {');
199
+ lines.push(' return COMPONENT_API_DATA[componentName];');
200
+ lines.push('}');
201
+ lines.push('');
202
+ lines.push('export function getComponentProps(componentName: string): PropInfo[] {');
203
+ lines.push(' return getComponentAPI(componentName)?.props || [];');
204
+ lines.push('}');
205
+ lines.push('');
206
+ lines.push('export function getComponentVariants(componentName: string): VariantInfo[] {');
207
+ lines.push(' return getComponentAPI(componentName)?.variants || [];');
208
+ lines.push('}');
209
+ lines.push('');
210
+ lines.push('export function getAllComponents(): string[] {');
211
+ lines.push(' return Object.keys(COMPONENT_API_DATA);');
212
+ lines.push('}');
213
+ lines.push('');
214
+ // Deprecated: category is not part of PropInfo in this bundle; keep helper but always returns empty
215
+ lines.push('export function getComponentsByCategory(_category: string): string[] {');
216
+ lines.push(' return [];');
217
+ lines.push('}');
218
+ lines.push('');
219
+ // Export metadata
220
+ lines.push('// ==========================================');
221
+ lines.push('// METADATA');
222
+ lines.push('// ==========================================');
223
+ lines.push('');
224
+ lines.push('export const API_METADATA = {');
225
+ lines.push(` generated: "${apiData.metadata.generated}",`);
226
+ lines.push(` version: "${apiData.metadata.version}",`);
227
+ lines.push(` totalComponents: ${apiData.metadata.totalComponents},`);
228
+ lines.push(` totalProps: ${apiData.metadata.totalProps},`);
229
+ lines.push(` generator: "${apiData.metadata.generator}"`);
230
+ lines.push('} as const;');
231
+ return lines.join('\n');
232
+ }
233
+ generateComponentInterface(componentName, componentData) {
234
+ const lines = [];
235
+ // Interface comment
236
+ lines.push(`/**`);
237
+ lines.push(` * Props interface for ${componentName} component`);
238
+ lines.push(` * @generated Generated by docs-gen`);
239
+ lines.push(` */`);
240
+ // Interface definition
241
+ lines.push(`export interface ${componentName}Props {`);
242
+ // Add props
243
+ for (const prop of componentData.props) {
244
+ if (prop.name.startsWith('...'))
245
+ continue;
246
+ // Add JSDoc comment for prop
247
+ if (prop.description) {
248
+ lines.push(` /**`);
249
+ lines.push(` * ${prop.description}`);
250
+ if (prop.defaultValue) {
251
+ lines.push(` * @default ${prop.defaultValue}`);
252
+ }
253
+ if (prop.deprecated) {
254
+ lines.push(` * @deprecated ${prop.deprecated.message}`);
255
+ }
256
+ if (prop.experimental) {
257
+ lines.push(` * @experimental`);
258
+ }
259
+ lines.push(` */`);
260
+ }
261
+ // Property definition
262
+ const optional = prop.required ? '' : '?';
263
+ lines.push(` ${prop.name}${optional}: ${prop.type};`);
264
+ }
265
+ lines.push('}');
266
+ return lines;
267
+ }
268
+ // ==========================================
269
+ // PER-COMPONENT FILE GENERATION (DIRECTORY MODE)
270
+ // ==========================================
271
+ toSlug(input) {
272
+ return input
273
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
274
+ .replace(/_/g, '-')
275
+ .replace(/\s+/g, '-')
276
+ .toLowerCase();
277
+ }
278
+ generatePerComponentTypeScriptFile(componentName, componentData, apiData) {
279
+ const lines = [];
280
+ lines.push('// AUTO-GENERATED FILE (per component)');
281
+ lines.push(`// Generated: ${apiData.metadata.generated}`);
282
+ lines.push(`// Component: ${componentName}`);
283
+ lines.push('');
284
+ lines.push('export interface PropExample { title: string; code: string; description?: string }');
285
+ lines.push('export interface DeprecationInfo { message: string; since?: string; alternative?: string }');
286
+ lines.push('export interface VariantExample { value: string; label?: string; description?: string; code?: string }');
287
+ lines.push("export interface InheritanceProp { name: string; type: string; required: boolean; description?: string; source?: { type: 'direct' | 'inherited' | 'variant'; name?: string; package?: string; url?: string }; seeAlso?: string; typeAnchor?: string; typePreview?: string; examples?: PropExample[] }");
288
+ lines.push('export interface InheritanceInfo { typeName: string; source: string; url?: string; props: InheritanceProp[] }');
289
+ lines.push('export interface ComponentStats { totalProps: number; directProps: number; variantProps: number; inheritedProps: number }');
290
+ lines.push('');
291
+ lines.push('export interface PropInfo {');
292
+ lines.push(' name: string;');
293
+ lines.push(' type: string;');
294
+ lines.push(' required: boolean;');
295
+ lines.push(' description: string;');
296
+ lines.push(' defaultValue?: string;');
297
+ lines.push(' examples?: PropExample[];');
298
+ lines.push(' deprecated?: DeprecationInfo;');
299
+ lines.push(' experimental?: boolean;');
300
+ lines.push(' values?: string[];');
301
+ lines.push(' seeAlso?: string;');
302
+ lines.push(' typeAnchor?: string;');
303
+ lines.push(' typePreview?: string;');
304
+ lines.push(" source?: { type: 'direct' | 'inherited' | 'variant'; name?: string; package?: string; url?: string };");
305
+ lines.push(' conditionalOn?: { propName: string; values: string[] };');
306
+ lines.push('}');
307
+ lines.push('');
308
+ lines.push('export interface VariantInfo {');
309
+ lines.push(' name: string;');
310
+ lines.push(' values: string[];');
311
+ lines.push(' defaultValue?: string;');
312
+ lines.push(' examples?: VariantExample[];');
313
+ lines.push('}');
314
+ lines.push('');
315
+ lines.push("export type ComponentStability = 'experimental' | 'beta' | 'stable' | 'deprecated';");
316
+ lines.push('');
317
+ lines.push('export interface ComponentAPIInfo {');
318
+ lines.push(' name: string;');
319
+ lines.push(' props: PropInfo[];');
320
+ lines.push(' variants: VariantInfo[];');
321
+ lines.push(' inheritance: InheritanceInfo[];');
322
+ lines.push(' examples: string[];');
323
+ lines.push(' stats: ComponentStats;');
324
+ lines.push(' group?: string;');
325
+ lines.push(' stability?: ComponentStability;');
326
+ lines.push(' sourceHref?: string;');
327
+ lines.push(' relatedComponents?: string[];');
328
+ lines.push(' types?: Array<{ name: string; type: string; definition: string; [key: string]: unknown }>;');
329
+ lines.push('}');
330
+ lines.push('');
331
+ const dataStr = JSON.stringify(componentData, null, 2);
332
+ lines.push(`export const componentData: ComponentAPIInfo = ${dataStr} as const;`);
333
+ lines.push('');
334
+ return lines.join('\n');
335
+ }
336
+ // ==========================================
337
+ // JSON FILE GENERATION
338
+ // ==========================================
339
+ generateJSONFile(apiData) {
340
+ // Clean up data for JSON (remove functions, etc.)
341
+ const cleanData = {
342
+ components: apiData.components,
343
+ types: apiData.types,
344
+ metadata: apiData.metadata
345
+ };
346
+ return JSON.stringify(cleanData, null, this.config.optimization?.minify ? 0 : 2);
347
+ }
348
+ // ==========================================
349
+ // YAML FILE GENERATION
350
+ // ==========================================
351
+ generateYAMLFile(apiData) {
352
+ // Simple YAML conversion (could use a proper YAML library)
353
+ const lines = [];
354
+ lines.push('# Auto-generated API data');
355
+ lines.push(`# Generated: ${apiData.metadata.generated}`);
356
+ lines.push(`# Components: ${apiData.metadata.totalComponents}`);
357
+ lines.push('');
358
+ lines.push('metadata:');
359
+ lines.push(` generated: "${apiData.metadata.generated}"`);
360
+ lines.push(` version: "${apiData.metadata.version}"`);
361
+ lines.push(` totalComponents: ${apiData.metadata.totalComponents}`);
362
+ lines.push(` totalProps: ${apiData.metadata.totalProps}`);
363
+ lines.push(` generator: "${apiData.metadata.generator}"`);
364
+ lines.push('');
365
+ lines.push('components:');
366
+ for (const [componentName, componentData] of Object.entries(apiData.components)) {
367
+ lines.push(` ${componentName}:`);
368
+ lines.push(` name: "${componentData.name}"`);
369
+ lines.push(` props:`);
370
+ for (const prop of componentData.props) {
371
+ lines.push(` - name: "${prop.name}"`);
372
+ lines.push(` type: "${prop.type}"`);
373
+ lines.push(` required: ${prop.required}`);
374
+ lines.push(` description: "${(prop.description || '').replace(/"/g, '\\"')}"`);
375
+ }
376
+ lines.push(` variants:`);
377
+ for (const variant of componentData.variants) {
378
+ lines.push(` - name: "${variant.name}"`);
379
+ lines.push(` values: [${variant.values.map((v) => `"${v}"`).join(', ')}]`);
380
+ lines.push(` defaultValue: "${variant.defaultValue || ''}"`);
381
+ lines.push(` description: "${variant.description || ''}"`);
382
+ }
383
+ lines.push('');
384
+ }
385
+ return lines.join('\n');
386
+ }
387
+ // ==========================================
388
+ // UTILITY METHODS
389
+ // ==========================================
390
+ /**
391
+ * Validate API data before generation
392
+ */
393
+ validateAPIData(apiData) {
394
+ if (!apiData.components || Object.keys(apiData.components).length === 0) {
395
+ throw new Error('API data must contain at least one component');
396
+ }
397
+ if (!apiData.metadata) {
398
+ throw new Error('API data must contain metadata');
399
+ }
400
+ // Validate each component
401
+ for (const [componentName, componentData] of Object.entries(apiData.components)) {
402
+ if (!componentData.name) {
403
+ throw new Error(`Component ${componentName} missing name`);
404
+ }
405
+ if (!Array.isArray(componentData.props)) {
406
+ throw new Error(`Component ${componentName} props must be an array`);
407
+ }
408
+ if (!Array.isArray(componentData.variants)) {
409
+ throw new Error(`Component ${componentName} variants must be an array`);
410
+ }
411
+ }
412
+ }
413
+ /**
414
+ * Generate backup of existing API file if it exists
415
+ */
416
+ async createBackup() {
417
+ try {
418
+ await fs.access(this.config.outputPath);
419
+ // File exists, create backup
420
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
421
+ const backupPath = `${this.config.outputPath}.backup-${timestamp}`;
422
+ await fs.copyFile(this.config.outputPath, backupPath);
423
+ console.log(`📋 Created backup: ${backupPath}`);
424
+ }
425
+ catch {
426
+ // File doesn't exist, no backup needed
427
+ }
428
+ }
429
+ /**
430
+ * Compare with existing API file and report changes
431
+ */
432
+ async reportChanges(newAPIData) {
433
+ try {
434
+ const existingContent = await fs.readFile(this.config.outputPath, 'utf-8');
435
+ // Extract metadata from existing file
436
+ const metadataMatch = existingContent.match(/\/\/ Components: (\d+)/);
437
+ const existingComponentCount = parseInt(metadataMatch?.[1] ?? '0', 10);
438
+ const newComponentCount = Object.keys(newAPIData.components).length;
439
+ if (existingComponentCount !== newComponentCount) {
440
+ console.log(`📊 Component count changed: ${existingComponentCount} → ${newComponentCount}`);
441
+ }
442
+ // Could do more detailed change detection here
443
+ }
444
+ catch (_error) {
445
+ // File doesn't exist yet
446
+ console.log('📄 Creating new API file');
447
+ }
448
+ }
449
+ }
450
+ //# sourceMappingURL=APIFileGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"APIFileGenerator.js","sourceRoot":"","sources":["../../../src/generators/api/APIFileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAkB;IAEhC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,wCAAwC;YACxC,IAAI,OAAe,CAAC;YAEpB,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC3B,KAAK,YAAY;oBACf,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,wFAAwF;YACxF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,KAAK,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;oBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACxC,qEAAqE;oBACrE,MAAM,GAAG,GAAG,KAAK;wBACf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;wBAChD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,CACzD,aAAa,EACb,aAAa,EACb,OAAO,CACR,CAAC;oBACF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC;gBACvB,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,IAAI,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE3E,OAAO;oBACL,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;oBAC5B,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;iBAC5C,CAAC;YACJ,CAAC;YAED,oCAAoC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/C,aAAa;YACb,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE7D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAE3E,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC5C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,6BAA6B;IAC7B,6CAA6C;IAErC,sBAAsB,CAAC,OAAgB;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,4BAA4B;QAC5B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC5D,oEAAoE;oBACpE,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,wBAAwB;oBACxB,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;gBACrE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,qCAAqC;QACrC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,oDAAoD;QACpD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CACR,yGAAyG,CAC1G,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,kEAAkE;QAClE,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,sDAAsD;QACtD,KAAK,CAAC,IAAI,CACR,oFAAoF,CACrF,CAAC;QACF,KAAK,CAAC,IAAI,CACR,4FAA4F,CAC7F,CAAC;QACF,KAAK,CAAC,IAAI,CACR,wGAAwG,CACzG,CAAC;QACF,KAAK,CAAC,IAAI,CACR,qKAAqK,CACtK,CAAC;QACF,KAAK,CAAC,IAAI,CACR,+GAA+G,CAChH,CAAC;QACF,KAAK,CAAC,IAAI,CACR,2HAA2H,CAC5H,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,wBAAwB;QACxB,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAEpF,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1C,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;iBACxD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO,MAAM,IAAI,MAAM,OAAO,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,+BAA+B;QAC/B,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CACR,wFAAwF,CACzF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,oGAAoG;QACpG,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,kBAAkB;QAClB,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,0BAA0B,CAChC,aAAqB,EACrB,aAA+B;QAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,0BAA0B,aAAa,YAAY,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElB,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,aAAa,SAAS,CAAC,CAAC;QAEvD,YAAY;QACZ,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC1C,6BAA6B;YAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACnC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAED,sBAAsB;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,QAAQ,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,iDAAiD;IACjD,6CAA6C;IAErC,MAAM,CAAC,KAAa;QAC1B,OAAO,KAAK;aACT,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;aACtC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,WAAW,EAAE,CAAC;IACnB,CAAC;IAEO,kCAAkC,CACxC,aAAqB,EACrB,aAA+B,EAC/B,OAAgB;QAEhB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,iBAAiB,aAAa,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,oFAAoF,CACrF,CAAC;QACF,KAAK,CAAC,IAAI,CACR,4FAA4F,CAC7F,CAAC;QACF,KAAK,CAAC,IAAI,CACR,wGAAwG,CACzG,CAAC;QACF,KAAK,CAAC,IAAI,CACR,uSAAuS,CACxS,CAAC;QACF,KAAK,CAAC,IAAI,CACR,+GAA+G,CAChH,CAAC;QACF,KAAK,CAAC,IAAI,CACR,2HAA2H,CAC5H,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,yGAAyG,CAC1G,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,qFAAqF,CACtF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CACR,8FAA8F,CAC/F,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,kDAAkD,OAAO,YAAY,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,6CAA6C;IAC7C,uBAAuB;IACvB,6CAA6C;IAErC,gBAAgB,CAAC,OAAgB;QACvC,kDAAkD;QAClD,MAAM,SAAS,GAAG;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,6CAA6C;IAC7C,uBAAuB;IACvB,6CAA6C;IAErC,gBAAgB,CAAC,OAAgB;QACvC,2DAA2D;QAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,KAAK,aAAa,GAAG,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEzB,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACxF,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1F,KAAK,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,YAAY,IAAI,EAAE,GAAG,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CACR,yBAA0B,OAAkD,CAAC,WAAW,IAAI,EAAE,GAAG,CAClG,CAAC;YACJ,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,6CAA6C;IAC7C,kBAAkB;IAClB,6CAA6C;IAE7C;;OAEG;IACH,eAAe,CAAC,OAAgB;QAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,0BAA0B;QAC1B,KAAK,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,aAAa,aAAa,eAAe,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,aAAa,aAAa,yBAAyB,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,aAAa,aAAa,4BAA4B,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAExC,6BAA6B;YAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,WAAW,SAAS,EAAE,CAAC;YAEnE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAmB;QACrC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAE3E,sCAAsC;YACtC,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACtE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAEvE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAEpE,IAAI,sBAAsB,KAAK,iBAAiB,EAAE,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,+BAA+B,sBAAsB,MAAM,iBAAiB,EAAE,CAAC,CAAC;YAC9F,CAAC;YAED,+CAA+C;QACjD,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,yBAAyB;YACzB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TypeDefinitionGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeDefinitionGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/api/TypeDefinitionGenerator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=TypeDefinitionGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeDefinitionGenerator.js","sourceRoot":"","sources":["../../../src/generators/api/TypeDefinitionGenerator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { APIFileGenerator } from './APIFileGenerator';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { APIFileGenerator } from './APIFileGenerator';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './api';
2
+ export { LLMDocumentationGenerator } from './llm/LLMDocumentationGenerator';
3
+ export type { LlmsFullAssemblerConfig } from './llm/LlmsFullAssembler';
4
+ export { LlmsFullAssembler } from './llm/LlmsFullAssembler';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './api';
2
+ export { LLMDocumentationGenerator } from './llm/LLMDocumentationGenerator';
3
+ export { LlmsFullAssembler } from './llm/LlmsFullAssembler';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { APIData, EnrichedComponentInfo, GeneratedOutput } from '../../types';
2
+ import type { LLMOutputConfig } from '../../types/configuration';
3
+ /**
4
+ * Minimal LLM documentation generator
5
+ * - Focuses on API quick reference; optionally includes variants and examples
6
+ * - Respects SvelteDocsConfig.llm (include, priority, excludeTypes, maxSections)
7
+ * - Supports file or directory output depending on config.llm.outputPath
8
+ */
9
+ export declare class LLMDocumentationGenerator {
10
+ private config;
11
+ private docsParser;
12
+ constructor(config: LLMOutputConfig);
13
+ generate(enrichedComponents: EnrichedComponentInfo[], apiData: APIData): Promise<GeneratedOutput>;
14
+ private generateSingleFileContent;
15
+ private generateComponentContent;
16
+ private renderOverviewMarkdown;
17
+ private renderApiMarkdown;
18
+ private renderVariantsMarkdown;
19
+ private renderExamplesMarkdown;
20
+ private loadDocsConfig;
21
+ private resolveDocsFilePath;
22
+ private shouldIncludeInLLM;
23
+ private orderAndLimitSections;
24
+ private calculateTotalSize;
25
+ private generateLlmsTxt;
26
+ private generateGlobalLlmsTxt;
27
+ private buildComponentJson;
28
+ private renderContextHeader;
29
+ private renderPatternsSection;
30
+ private extractSlotInfo;
31
+ private capitalize;
32
+ private toSlug;
33
+ }
34
+ //# sourceMappingURL=LLMDocumentationGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMDocumentationGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/llm/LLMDocumentationGenerator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,OAAO,EAEP,qBAAqB,EACrB,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAA0B;gBAEhC,MAAM,EAAE,eAAe;IAI7B,QAAQ,CACZ,kBAAkB,EAAE,qBAAqB,EAAE,EAC3C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,CAAC;YAgFb,yBAAyB;YAyCzB,wBAAwB;IA+EtC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,sBAAsB;YAiBhB,cAAc;YAMd,mBAAmB;IAyBjC,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,qBAAqB;YAmBf,kBAAkB;IAahC,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,qBAAqB;IA2D7B,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,MAAM;CAOf"}