@ai-coders/context 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/README.md +25 -5
  2. package/dist/generators/agents/agentGenerator.d.ts +2 -0
  3. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  4. package/dist/generators/agents/agentGenerator.js +29 -4
  5. package/dist/generators/agents/agentGenerator.js.map +1 -1
  6. package/dist/generators/documentation/codebaseMapGenerator.d.ts +45 -0
  7. package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -1
  8. package/dist/generators/documentation/codebaseMapGenerator.js +429 -10
  9. package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -1
  10. package/dist/generators/documentation/documentationGenerator.d.ts +2 -0
  11. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  12. package/dist/generators/documentation/documentationGenerator.js +28 -6
  13. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  14. package/dist/generators/documentation/index.d.ts +1 -1
  15. package/dist/generators/documentation/index.d.ts.map +1 -1
  16. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  17. package/dist/generators/plans/templates/planTemplate.js +54 -18
  18. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  19. package/dist/generators/shared/structures/agents/definitions.d.ts +1 -1
  20. package/dist/generators/shared/structures/agents/definitions.d.ts.map +1 -1
  21. package/dist/generators/shared/structures/agents/definitions.js +554 -15
  22. package/dist/generators/shared/structures/agents/definitions.js.map +1 -1
  23. package/dist/generators/shared/structures/agents/factory.d.ts +17 -1
  24. package/dist/generators/shared/structures/agents/factory.d.ts.map +1 -1
  25. package/dist/generators/shared/structures/agents/factory.js +117 -91
  26. package/dist/generators/shared/structures/agents/factory.js.map +1 -1
  27. package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -1
  28. package/dist/generators/shared/structures/documentation/architecture.js +55 -0
  29. package/dist/generators/shared/structures/documentation/architecture.js.map +1 -1
  30. package/dist/generators/shared/structures/documentation/dataFlow.d.ts.map +1 -1
  31. package/dist/generators/shared/structures/documentation/dataFlow.js +35 -0
  32. package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -1
  33. package/dist/generators/shared/structures/documentation/glossary.d.ts.map +1 -1
  34. package/dist/generators/shared/structures/documentation/glossary.js +20 -0
  35. package/dist/generators/shared/structures/documentation/glossary.js.map +1 -1
  36. package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -1
  37. package/dist/generators/shared/structures/documentation/projectOverview.js +48 -0
  38. package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -1
  39. package/dist/generators/shared/structures/documentation/security.d.ts.map +1 -1
  40. package/dist/generators/shared/structures/documentation/security.js +45 -0
  41. package/dist/generators/shared/structures/documentation/security.js.map +1 -1
  42. package/dist/generators/shared/structures/documentation/testing.d.ts.map +1 -1
  43. package/dist/generators/shared/structures/documentation/testing.js +73 -0
  44. package/dist/generators/shared/structures/documentation/testing.js.map +1 -1
  45. package/dist/generators/shared/structures/documentation/tooling.d.ts.map +1 -1
  46. package/dist/generators/shared/structures/documentation/tooling.js +59 -0
  47. package/dist/generators/shared/structures/documentation/tooling.js.map +1 -1
  48. package/dist/generators/shared/structures/documentation/workflow.d.ts.map +1 -1
  49. package/dist/generators/shared/structures/documentation/workflow.js +60 -0
  50. package/dist/generators/shared/structures/documentation/workflow.js.map +1 -1
  51. package/dist/generators/shared/structures/serialization.d.ts.map +1 -1
  52. package/dist/generators/shared/structures/serialization.js +5 -0
  53. package/dist/generators/shared/structures/serialization.js.map +1 -1
  54. package/dist/generators/shared/structures/skills/definitions.d.ts +1 -1
  55. package/dist/generators/shared/structures/skills/definitions.d.ts.map +1 -1
  56. package/dist/generators/shared/structures/skills/definitions.js +420 -11
  57. package/dist/generators/shared/structures/skills/definitions.js.map +1 -1
  58. package/dist/generators/shared/structures/skills/factory.d.ts +10 -1
  59. package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -1
  60. package/dist/generators/shared/structures/skills/factory.js +55 -36
  61. package/dist/generators/shared/structures/skills/factory.js.map +1 -1
  62. package/dist/generators/shared/structures/types.d.ts +2 -0
  63. package/dist/generators/shared/structures/types.d.ts.map +1 -1
  64. package/dist/index.js +68 -59
  65. package/dist/index.js.map +1 -1
  66. package/dist/services/ai/schemas.d.ts +2 -0
  67. package/dist/services/ai/schemas.d.ts.map +1 -1
  68. package/dist/services/ai/schemas.js +3 -1
  69. package/dist/services/ai/schemas.js.map +1 -1
  70. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +1 -0
  71. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -1
  72. package/dist/services/ai/tools/fillScaffoldingTool.js +19 -1
  73. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -1
  74. package/dist/services/ai/tools/getCodebaseMapTool.d.ts +1 -1
  75. package/dist/services/ai/tools/getCodebaseMapTool.js +5 -1
  76. package/dist/services/ai/tools/getCodebaseMapTool.js.map +1 -1
  77. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -1
  78. package/dist/services/ai/tools/initializeContextTool.js +13 -0
  79. package/dist/services/ai/tools/initializeContextTool.js.map +1 -1
  80. package/dist/services/autoFill/autoFillService.d.ts +52 -0
  81. package/dist/services/autoFill/autoFillService.d.ts.map +1 -0
  82. package/dist/services/autoFill/autoFillService.js +473 -0
  83. package/dist/services/autoFill/autoFillService.js.map +1 -0
  84. package/dist/services/autoFill/index.d.ts +2 -0
  85. package/dist/services/autoFill/index.d.ts.map +1 -0
  86. package/dist/services/autoFill/index.js +6 -0
  87. package/dist/services/autoFill/index.js.map +1 -0
  88. package/dist/services/init/initService.d.ts +2 -0
  89. package/dist/services/init/initService.d.ts.map +1 -1
  90. package/dist/services/init/initService.js +29 -3
  91. package/dist/services/init/initService.js.map +1 -1
  92. package/dist/services/semantic/contextBuilder.d.ts.map +1 -1
  93. package/dist/services/semantic/contextBuilder.js +2 -1
  94. package/dist/services/semantic/contextBuilder.js.map +1 -1
  95. package/dist/services/semantic/types.d.ts.map +1 -1
  96. package/dist/services/semantic/types.js +2 -0
  97. package/dist/services/semantic/types.js.map +1 -1
  98. package/dist/utils/i18n.d.ts +4 -2
  99. package/dist/utils/i18n.d.ts.map +1 -1
  100. package/dist/utils/i18n.js +8 -4
  101. package/dist/utils/i18n.js.map +1 -1
  102. package/package.json +1 -1
@@ -44,24 +44,101 @@ const path = __importStar(require("path"));
44
44
  // ============================================================================
45
45
  // Generator
46
46
  // ============================================================================
47
+ // Directory description heuristics
48
+ const DIRECTORY_DESCRIPTIONS = {
49
+ 'src': 'Source code root',
50
+ 'services': 'Business logic and orchestration services',
51
+ 'generators': 'Content and scaffold generation',
52
+ 'utils': 'Shared utilities and helpers',
53
+ 'types': 'TypeScript type definitions',
54
+ 'tests': 'Test files and fixtures',
55
+ '__tests__': 'Unit and integration tests',
56
+ 'components': 'UI components',
57
+ 'hooks': 'React hooks',
58
+ 'api': 'API endpoints and handlers',
59
+ 'config': 'Configuration files',
60
+ 'models': 'Data models and entities',
61
+ 'controllers': 'Request handlers',
62
+ 'middleware': 'Request/response middleware',
63
+ 'routes': 'Route definitions',
64
+ 'views': 'View templates',
65
+ 'assets': 'Static assets (images, fonts)',
66
+ 'styles': 'CSS/SCSS stylesheets',
67
+ 'lib': 'Shared library code',
68
+ 'core': 'Core application logic',
69
+ 'shared': 'Shared code across modules',
70
+ 'workflow': 'Workflow and orchestration',
71
+ 'mcp': 'MCP server implementation',
72
+ 'ai': 'AI/LLM integration',
73
+ 'semantic': 'Semantic code analysis',
74
+ 'plans': 'Development plans',
75
+ 'agents': 'AI agent definitions',
76
+ 'skills': 'Skill definitions',
77
+ 'docs': 'Documentation files',
78
+ 'scripts': 'Build and utility scripts',
79
+ 'prompts': 'Prompt templates',
80
+ 'public': 'Public static assets',
81
+ 'dist': 'Build output directory',
82
+ 'build': 'Build output directory',
83
+ 'bin': 'CLI binaries and executables',
84
+ 'test': 'Test files',
85
+ 'spec': 'Test specifications',
86
+ 'fixtures': 'Test fixtures and mock data',
87
+ 'mocks': 'Mock implementations',
88
+ 'pages': 'Page components (Next.js/Nuxt)',
89
+ 'app': 'Application entry (Next.js app router)',
90
+ 'store': 'State management',
91
+ 'reducers': 'Redux reducers',
92
+ 'actions': 'Redux actions',
93
+ 'selectors': 'Redux selectors',
94
+ 'contexts': 'React contexts',
95
+ 'providers': 'Context providers',
96
+ 'layouts': 'Layout components',
97
+ 'templates': 'Template files',
98
+ 'i18n': 'Internationalization',
99
+ 'locales': 'Locale files',
100
+ 'translations': 'Translation files',
101
+ };
102
+ // Key file pattern matchers
103
+ const KEY_FILE_PATTERNS = [
104
+ { pattern: /^src\/index\.(ts|js)$/, description: 'Main library entry point', category: 'entrypoint' },
105
+ { pattern: /^src\/main\.(ts|js)$/, description: 'Application entry point', category: 'entrypoint' },
106
+ { pattern: /^src\/cli\.(ts|js)$/, description: 'CLI entry point', category: 'entrypoint' },
107
+ { pattern: /^src\/server\.(ts|js)$/, description: 'Server entry point', category: 'entrypoint' },
108
+ { pattern: /^src\/app\.(ts|js)$/, description: 'Application entry point', category: 'entrypoint' },
109
+ { pattern: /^bin\//, description: 'CLI executable', category: 'entrypoint' },
110
+ { pattern: /^index\.(ts|js)$/, description: 'Package entry point', category: 'entrypoint' },
111
+ { pattern: /types?\.(ts|d\.ts)$/, description: 'Type definitions', category: 'types' },
112
+ { pattern: /tsconfig.*\.json$/, description: 'TypeScript configuration', category: 'config' },
113
+ { pattern: /^package\.json$/, description: 'Package manifest', category: 'config' },
114
+ { pattern: /\.config\.(ts|js|mjs|cjs)$/, description: 'Tool configuration', category: 'config' },
115
+ { pattern: /^\.env/, description: 'Environment variables', category: 'config' },
116
+ { pattern: /Service\.(ts|js)$/, description: 'Service class', category: 'service' },
117
+ { pattern: /Generator\.(ts|js)$/, description: 'Generator class', category: 'generator' },
118
+ { pattern: /utils?\.(ts|js)$/, description: 'Utility functions', category: 'util' },
119
+ { pattern: /helpers?\.(ts|js)$/, description: 'Helper functions', category: 'util' },
120
+ ];
47
121
  class CodebaseMapGenerator {
48
122
  constructor(options = {}) {
49
- this.maxSymbols = options.maxSymbolsPerCategory ?? 50;
123
+ this.maxSymbols = options.maxSymbolsPerCategory ?? 30;
50
124
  }
51
125
  generate(repoStructure, semantics, stackInfo) {
126
+ const architecture = this.buildArchitectureSection(repoStructure.rootPath, semantics);
52
127
  return {
53
128
  version: '1.0.0',
54
129
  generated: new Date().toISOString(),
55
- stack: this.buildStackSection(stackInfo),
130
+ stack: this.buildStackSection(stackInfo, repoStructure.rootPath),
56
131
  structure: this.buildStructureSection(repoStructure),
57
- architecture: this.buildArchitectureSection(repoStructure.rootPath, semantics),
132
+ architecture,
58
133
  symbols: this.buildSymbolsSection(repoStructure.rootPath, semantics),
59
134
  publicAPI: this.buildPublicAPISection(repoStructure.rootPath, semantics),
60
- dependencies: this.buildDependenciesSection(semantics),
135
+ dependencies: this.buildDependenciesSection(repoStructure.rootPath, semantics),
61
136
  stats: this.buildStatsSection(semantics),
137
+ keyFiles: this.buildKeyFilesSection(repoStructure, semantics),
138
+ navigation: this.buildNavigationSection(repoStructure, stackInfo),
62
139
  };
63
140
  }
64
- buildStackSection(stackInfo) {
141
+ buildStackSection(stackInfo, repoRoot) {
65
142
  if (!stackInfo) {
66
143
  return {
67
144
  primaryLanguage: null,
@@ -75,6 +152,42 @@ class CodebaseMapGenerator {
75
152
  hasCI: false,
76
153
  };
77
154
  }
155
+ // Detect node version and runtime environment from package.json
156
+ let nodeVersion;
157
+ let runtimeEnvironment;
158
+ if (repoRoot) {
159
+ try {
160
+ const packageJsonPath = path.join(repoRoot, 'package.json');
161
+ const fs = require('fs-extra');
162
+ if (fs.existsSync(packageJsonPath)) {
163
+ const packageJson = fs.readJsonSync(packageJsonPath);
164
+ // Get node version from engines
165
+ if (packageJson.engines?.node) {
166
+ nodeVersion = packageJson.engines.node;
167
+ }
168
+ // Determine runtime environment
169
+ const hasBrowserField = !!packageJson.browser;
170
+ const hasMainField = !!packageJson.main || !!packageJson.exports;
171
+ const hasBinField = !!packageJson.bin;
172
+ // Check for browser-specific frameworks
173
+ const isBrowserFramework = stackInfo.frameworks.some(f => ['nextjs', 'nuxt', 'vue', 'angular', 'svelte', 'react', 'gatsby', 'astro'].includes(f));
174
+ // Check for Node-specific indicators
175
+ const isNodeFramework = stackInfo.frameworks.some(f => ['nestjs', 'express', 'fastify', 'koa', 'hapi'].includes(f)) || hasBinField || stackInfo.frameworks.includes('cli');
176
+ if (isBrowserFramework && isNodeFramework) {
177
+ runtimeEnvironment = 'both';
178
+ }
179
+ else if (isBrowserFramework || hasBrowserField) {
180
+ runtimeEnvironment = 'browser';
181
+ }
182
+ else if (isNodeFramework || hasMainField) {
183
+ runtimeEnvironment = 'node';
184
+ }
185
+ }
186
+ }
187
+ catch {
188
+ // Ignore errors reading package.json
189
+ }
190
+ }
78
191
  return {
79
192
  primaryLanguage: stackInfo.primaryLanguage,
80
193
  languages: stackInfo.languages,
@@ -85,12 +198,27 @@ class CodebaseMapGenerator {
85
198
  isMonorepo: stackInfo.isMonorepo,
86
199
  hasDocker: stackInfo.hasDocker,
87
200
  hasCI: stackInfo.hasCI,
201
+ ...(nodeVersion && { nodeVersion }),
202
+ ...(runtimeEnvironment && { runtimeEnvironment }),
88
203
  };
89
204
  }
90
205
  buildStructureSection(repoStructure) {
91
- const topDirectories = (repoStructure.topLevelDirectoryStats ?? []).map(stat => ({
206
+ // Filter to only include actual directories (items with multiple files or subdirectories)
207
+ // and exclude files at the root level
208
+ const topDirectories = (repoStructure.topLevelDirectoryStats ?? [])
209
+ .filter(stat => {
210
+ // Check if this is actually a directory by seeing if we have files under it
211
+ const hasFilesUnder = repoStructure.files.some(f => f.relativePath.startsWith(stat.name + '/') || f.relativePath.startsWith(stat.name + '\\'));
212
+ // Also check if it's a directory entry itself
213
+ const isDirectory = repoStructure.directories.some(d => d.relativePath === stat.name || path.basename(d.relativePath) === stat.name);
214
+ // It's a directory if it has files under it or is marked as directory
215
+ // Also check: if fileCount > 1, it's likely a directory
216
+ return hasFilesUnder || isDirectory || stat.fileCount > 1;
217
+ })
218
+ .map(stat => ({
92
219
  name: stat.name,
93
220
  fileCount: stat.fileCount,
221
+ description: this.getDirectoryDescription(stat.name),
94
222
  }));
95
223
  // Build language distribution from files
96
224
  const extensionCounts = new Map();
@@ -106,16 +234,42 @@ class CodebaseMapGenerator {
106
234
  .slice(0, 10);
107
235
  return {
108
236
  totalFiles: repoStructure.totalFiles,
237
+ rootPath: '.',
109
238
  topDirectories,
110
239
  languageDistribution,
111
240
  };
112
241
  }
242
+ getDirectoryDescription(dirName) {
243
+ // Check direct match first
244
+ const lowerName = dirName.toLowerCase();
245
+ if (DIRECTORY_DESCRIPTIONS[lowerName]) {
246
+ return DIRECTORY_DESCRIPTIONS[lowerName];
247
+ }
248
+ // Check partial matches
249
+ for (const [key, desc] of Object.entries(DIRECTORY_DESCRIPTIONS)) {
250
+ if (lowerName.includes(key) || key.includes(lowerName)) {
251
+ return desc;
252
+ }
253
+ }
254
+ // Infer from naming patterns
255
+ if (lowerName.includes('test'))
256
+ return 'Test files';
257
+ if (lowerName.includes('spec'))
258
+ return 'Test specifications';
259
+ if (lowerName.endsWith('s') && !['utils', 'types', 'tests'].includes(lowerName)) {
260
+ const singular = lowerName.slice(0, -1);
261
+ return `${singular.charAt(0).toUpperCase() + singular.slice(1)} definitions`;
262
+ }
263
+ return 'Module directory';
264
+ }
113
265
  buildArchitectureSection(repoRoot, semantics) {
114
266
  if (!semantics) {
115
267
  return {
116
268
  layers: [],
117
269
  patterns: [],
118
270
  entryPoints: [],
271
+ mainEntryPoints: [],
272
+ moduleExports: [],
119
273
  };
120
274
  }
121
275
  const layers = semantics.architecture.layers.map(layer => ({
@@ -131,8 +285,63 @@ class CodebaseMapGenerator {
131
285
  description: pattern.description,
132
286
  occurrences: pattern.locations.length,
133
287
  }));
134
- const entryPoints = semantics.architecture.entryPoints.map(ep => this.relativePath(repoRoot, ep));
135
- return { layers, patterns, entryPoints };
288
+ // Convert all entry points to relative paths
289
+ const allEntryPoints = semantics.architecture.entryPoints.map(ep => this.relativePath(repoRoot, ep));
290
+ // Separate main entry points from barrel exports (module exports)
291
+ const { mainEntryPoints, moduleExports } = this.categorizeEntryPoints(allEntryPoints);
292
+ return {
293
+ layers,
294
+ patterns,
295
+ entryPoints: allEntryPoints, // Keep for backward compatibility
296
+ mainEntryPoints,
297
+ moduleExports,
298
+ };
299
+ }
300
+ /**
301
+ * Categorize entry points into main (actual CLI/server/library) vs barrel exports
302
+ */
303
+ categorizeEntryPoints(entryPoints) {
304
+ const mainEntryPoints = [];
305
+ const moduleExports = [];
306
+ // Patterns that indicate a MAIN entry point (not just a barrel export)
307
+ const mainPatterns = [
308
+ /^src\/index\.(ts|js)$/, // Root src/index is the library entry
309
+ /^index\.(ts|js)$/, // Root index is package entry
310
+ /^src\/main\.(ts|js)$/, // main.ts is usually app entry
311
+ /^src\/cli\.(ts|js)$/, // CLI entry point
312
+ /^src\/server\.(ts|js)$/, // Server entry point
313
+ /^src\/app\.(ts|js)$/, // App entry point
314
+ /^bin\//, // Anything in bin/
315
+ /^cli\.(ts|js)$/, // Root CLI file
316
+ /^server\.(ts|js)$/, // Root server file
317
+ /^app\.(ts|js)$/, // Root app file
318
+ /^main\.(ts|js)$/, // Root main file
319
+ ];
320
+ // Patterns that indicate a barrel export (just re-exports)
321
+ const barrelPatterns = [
322
+ /\/index\.(ts|js)$/, // Any nested index file is typically a barrel
323
+ ];
324
+ for (const ep of entryPoints) {
325
+ const isMain = mainPatterns.some(p => p.test(ep));
326
+ const isBarrel = barrelPatterns.some(p => p.test(ep)) && !isMain;
327
+ if (isMain) {
328
+ mainEntryPoints.push(ep);
329
+ }
330
+ else if (isBarrel) {
331
+ moduleExports.push(ep);
332
+ }
333
+ else {
334
+ // Default: if it's a top-level file, consider it main; otherwise barrel
335
+ const depth = ep.split('/').length;
336
+ if (depth <= 2) {
337
+ mainEntryPoints.push(ep);
338
+ }
339
+ else {
340
+ moduleExports.push(ep);
341
+ }
342
+ }
343
+ }
344
+ return { mainEntryPoints, moduleExports };
136
345
  }
137
346
  buildSymbolsSection(repoRoot, semantics) {
138
347
  if (!semantics) {
@@ -158,16 +367,18 @@ class CodebaseMapGenerator {
158
367
  }
159
368
  return this.extractSymbols(semantics.architecture.publicAPI, repoRoot);
160
369
  }
161
- buildDependenciesSection(semantics) {
370
+ buildDependenciesSection(repoRoot, semantics) {
162
371
  if (!semantics) {
163
372
  return { mostImported: [] };
164
373
  }
165
374
  // Calculate import counts from reverse dependency graph
166
375
  const importCounts = [];
167
376
  for (const [file, importers] of semantics.dependencies.reverseGraph.entries()) {
377
+ const relativePath = this.relativePath(repoRoot, file);
168
378
  importCounts.push({
169
- file,
379
+ file: relativePath,
170
380
  importedBy: importers.length,
381
+ description: this.inferFileDescription(relativePath),
171
382
  });
172
383
  }
173
384
  // Sort by most imported and take top 20
@@ -176,6 +387,42 @@ class CodebaseMapGenerator {
176
387
  .slice(0, 20);
177
388
  return { mostImported };
178
389
  }
390
+ /**
391
+ * Infer a description for a file based on its path and name
392
+ */
393
+ inferFileDescription(filePath) {
394
+ const basename = path.basename(filePath, path.extname(filePath));
395
+ const dirname = path.dirname(filePath);
396
+ // Check common naming patterns
397
+ if (basename === 'index') {
398
+ const parentDir = path.basename(dirname);
399
+ if (parentDir && DIRECTORY_DESCRIPTIONS[parentDir.toLowerCase()]) {
400
+ return `${parentDir} module exports`;
401
+ }
402
+ return 'Module exports';
403
+ }
404
+ if (basename === 'types' || basename === 'type') {
405
+ return 'Type definitions';
406
+ }
407
+ if (basename.endsWith('Service')) {
408
+ return `${basename.replace(/Service$/, '')} service`;
409
+ }
410
+ if (basename.endsWith('Generator')) {
411
+ return `${basename.replace(/Generator$/, '')} generator`;
412
+ }
413
+ if (basename.endsWith('Utils') || basename.endsWith('Util')) {
414
+ return 'Utility functions';
415
+ }
416
+ if (basename === 'constants' || basename === 'config') {
417
+ return 'Configuration and constants';
418
+ }
419
+ // Check directory context
420
+ const dirName = path.basename(dirname).toLowerCase();
421
+ if (DIRECTORY_DESCRIPTIONS[dirName]) {
422
+ return DIRECTORY_DESCRIPTIONS[dirName];
423
+ }
424
+ return undefined;
425
+ }
179
426
  buildStatsSection(semantics) {
180
427
  if (!semantics) {
181
428
  return {
@@ -242,6 +489,178 @@ class CodebaseMapGenerator {
242
489
  }
243
490
  return filePath;
244
491
  }
492
+ /**
493
+ * Build key files section with descriptions and categories
494
+ */
495
+ buildKeyFilesSection(repoStructure, semantics) {
496
+ const keyFiles = [];
497
+ const seenPaths = new Set();
498
+ // Process all files and check against key file patterns
499
+ for (const file of repoStructure.files) {
500
+ const relativePath = file.relativePath;
501
+ for (const { pattern, description, category } of KEY_FILE_PATTERNS) {
502
+ if (pattern.test(relativePath) && !seenPaths.has(relativePath)) {
503
+ seenPaths.add(relativePath);
504
+ keyFiles.push({
505
+ path: relativePath,
506
+ description: this.enhanceFileDescription(relativePath, description, semantics),
507
+ category,
508
+ });
509
+ break;
510
+ }
511
+ }
512
+ }
513
+ // Add entry points that aren't already included
514
+ if (semantics) {
515
+ for (const ep of semantics.architecture.entryPoints) {
516
+ const relativePath = this.relativePath(repoStructure.rootPath, ep);
517
+ if (!seenPaths.has(relativePath)) {
518
+ seenPaths.add(relativePath);
519
+ const category = this.inferCategory(relativePath);
520
+ keyFiles.push({
521
+ path: relativePath,
522
+ description: this.inferFileDescription(relativePath) || 'Entry point',
523
+ category,
524
+ });
525
+ }
526
+ }
527
+ }
528
+ // Sort by category priority then by path
529
+ const categoryPriority = {
530
+ 'entrypoint': 0,
531
+ 'config': 1,
532
+ 'types': 2,
533
+ 'service': 3,
534
+ 'generator': 4,
535
+ 'util': 5,
536
+ };
537
+ return keyFiles
538
+ .sort((a, b) => {
539
+ const aPriority = categoryPriority[a.category] ?? 99;
540
+ const bPriority = categoryPriority[b.category] ?? 99;
541
+ if (aPriority !== bPriority)
542
+ return aPriority - bPriority;
543
+ return a.path.localeCompare(b.path);
544
+ })
545
+ .slice(0, 30); // Limit to 30 key files
546
+ }
547
+ /**
548
+ * Enhance a file description with semantic context if available
549
+ */
550
+ enhanceFileDescription(filePath, defaultDescription, semantics) {
551
+ if (!semantics)
552
+ return defaultDescription;
553
+ // Try to find symbols in this file to provide more context
554
+ const allSymbols = [
555
+ ...semantics.symbols.classes,
556
+ ...semantics.symbols.interfaces,
557
+ ...semantics.symbols.functions,
558
+ ];
559
+ const fileSymbols = allSymbols.filter(s => s.location.file.endsWith(filePath) || filePath.endsWith(path.basename(s.location.file)));
560
+ if (fileSymbols.length > 0) {
561
+ const mainSymbol = fileSymbols.find(s => s.exported) || fileSymbols[0];
562
+ if (mainSymbol.documentation) {
563
+ const firstLine = mainSymbol.documentation.split('\n')[0].trim();
564
+ if (firstLine.length > 0 && firstLine.length <= 100) {
565
+ return firstLine;
566
+ }
567
+ }
568
+ }
569
+ return defaultDescription;
570
+ }
571
+ /**
572
+ * Infer category from file path
573
+ */
574
+ inferCategory(filePath) {
575
+ const lowerPath = filePath.toLowerCase();
576
+ if (lowerPath.includes('service'))
577
+ return 'service';
578
+ if (lowerPath.includes('generator'))
579
+ return 'generator';
580
+ if (lowerPath.includes('util') || lowerPath.includes('helper'))
581
+ return 'util';
582
+ if (lowerPath.includes('type') || lowerPath.endsWith('.d.ts'))
583
+ return 'types';
584
+ if (lowerPath.includes('config') || lowerPath.endsWith('.json'))
585
+ return 'config';
586
+ // Check for entry point patterns
587
+ const basename = path.basename(filePath).toLowerCase();
588
+ if (['index', 'main', 'cli', 'server', 'app'].some(n => basename.startsWith(n))) {
589
+ return 'entrypoint';
590
+ }
591
+ return 'util'; // Default category
592
+ }
593
+ /**
594
+ * Build navigation hints section
595
+ */
596
+ buildNavigationSection(repoStructure, stackInfo) {
597
+ const files = repoStructure.files.map(f => f.relativePath);
598
+ // Detect test pattern
599
+ let testPattern = 'src/**/*.test.ts';
600
+ if (files.some(f => f.includes('__tests__'))) {
601
+ testPattern = '**/__tests__/**/*.ts';
602
+ }
603
+ else if (files.some(f => f.includes('.spec.'))) {
604
+ testPattern = '**/*.spec.ts';
605
+ }
606
+ else if (files.some(f => f.endsWith('.test.ts') || f.endsWith('.test.js'))) {
607
+ testPattern = '**/*.test.{ts,js}';
608
+ }
609
+ // Detect config files
610
+ const configPatterns = [
611
+ 'package.json',
612
+ 'tsconfig.json',
613
+ 'tsconfig.*.json',
614
+ 'jest.config.js',
615
+ 'jest.config.ts',
616
+ 'vitest.config.ts',
617
+ '.eslintrc.js',
618
+ '.eslintrc.json',
619
+ 'eslint.config.js',
620
+ '.prettierrc',
621
+ '.prettierrc.json',
622
+ 'vite.config.ts',
623
+ 'webpack.config.js',
624
+ 'next.config.js',
625
+ 'next.config.ts',
626
+ ];
627
+ const configFiles = configPatterns.filter(pattern => {
628
+ if (pattern.includes('*')) {
629
+ return files.some(f => {
630
+ const regex = new RegExp('^' + pattern.replace(/\./g, '\\.').replace(/\*/g, '.*') + '$');
631
+ return regex.test(f);
632
+ });
633
+ }
634
+ return files.some(f => f === pattern || f.endsWith('/' + pattern));
635
+ });
636
+ // Detect type definition files
637
+ const typeFiles = [];
638
+ for (const file of files) {
639
+ if (file.endsWith('.d.ts') ||
640
+ file.endsWith('/types.ts') ||
641
+ file.endsWith('/types/index.ts') ||
642
+ file === 'src/types.ts') {
643
+ typeFiles.push(file);
644
+ }
645
+ }
646
+ // Detect main logic directories
647
+ const mainLogicPatterns = ['src/services', 'src/core', 'src/lib', 'lib', 'src/modules'];
648
+ const mainLogic = mainLogicPatterns.filter(pattern => files.some(f => f.startsWith(pattern + '/')));
649
+ // Add detected layers from stack info if available
650
+ if (stackInfo) {
651
+ if (stackInfo.frameworks.includes('nestjs') && !mainLogic.includes('src/modules')) {
652
+ if (files.some(f => f.startsWith('src/modules/'))) {
653
+ mainLogic.push('src/modules');
654
+ }
655
+ }
656
+ }
657
+ return {
658
+ tests: testPattern,
659
+ config: configFiles.slice(0, 10),
660
+ types: typeFiles.slice(0, 10),
661
+ mainLogic: mainLogic.length > 0 ? mainLogic : ['src'],
662
+ };
663
+ }
245
664
  }
246
665
  exports.CodebaseMapGenerator = CodebaseMapGenerator;
247
666
  //# sourceMappingURL=codebaseMapGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codebaseMapGenerator.js","sourceRoot":"","sources":["../../../src/generators/documentation/codebaseMapGenerator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAmF7B,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAa,oBAAoB;IAG/B,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ,CACN,aAA4B,EAC5B,SAA2B,EAC3B,SAAqB;QAErB,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACxC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;YACpD,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC9E,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YACpE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YACxE,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC;YACtD,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;SACzC,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,SAAqB;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;gBACd,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QAED,OAAO;YACL,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,aAA4B;QACxD,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC,CAAC;QAEJ,yCAAyC;QACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,IAAI,GAAG,EAAE,CAAC;gBACR,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;aAC/D,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,OAAO;YACL,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,cAAc;YACd,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC9B,QAAgB,EAChB,SAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,EAAE;aAChB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACvE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YACjC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;SACtC,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAChC,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAEO,mBAAmB,CACzB,QAAgB,EAChB,SAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YACvE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;YACrE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC7D,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;SAC9D,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,QAAgB,EAChB,SAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEO,wBAAwB,CAAC,SAA2B;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAC9B,CAAC;QAED,wDAAwD;QACxD,MAAM,YAAY,GAAgD,EAAE,CAAC;QAErE,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9E,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI;gBACJ,UAAU,EAAE,SAAS,CAAC,MAAM;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,YAAY;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CAAC,SAA2B;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;aAClB,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG;YACjB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;YAC5B,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU;YAC/B,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS;YAC9B,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK;YAC1B,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK;SAC3B,CAAC;QAEF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QAEhE,OAAO;YACL,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY;YAC1C,eAAe,EAAE,aAAa;YAC9B,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,cAAc;SAC/C,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,OAA0B,EAAE,QAAgB;QACjE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChG,CAAC;IAEO,eAAe,CAAC,MAAuB,EAAE,QAAgB;QAC/D,MAAM,OAAO,GAAkB;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvD,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,8BAA8B;QAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU;iBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACpD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;YAC/C,OAAO,CAAC,SAAS,GAAG,IAAI,MAAM,MAAM,UAAU,EAAE,CAAC;QACnD,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,GAAG;oBAC1C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;oBACjC,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,QAAgB,EAAE,QAAgB;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAvPD,oDAuPC"}
1
+ {"version":3,"file":"codebaseMapGenerator.js","sourceRoot":"","sources":["../../../src/generators/documentation/codebaseMapGenerator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAwG7B,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,mCAAmC;AACnC,MAAM,sBAAsB,GAA2B;IACrD,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,2CAA2C;IACvD,YAAY,EAAE,iCAAiC;IAC/C,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,6BAA6B;IACtC,OAAO,EAAE,yBAAyB;IAClC,WAAW,EAAE,4BAA4B;IACzC,YAAY,EAAE,eAAe;IAC7B,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,4BAA4B;IACnC,QAAQ,EAAE,qBAAqB;IAC/B,QAAQ,EAAE,0BAA0B;IACpC,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,6BAA6B;IAC3C,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,+BAA+B;IACzC,QAAQ,EAAE,sBAAsB;IAChC,KAAK,EAAE,qBAAqB;IAC5B,MAAM,EAAE,wBAAwB;IAChC,QAAQ,EAAE,4BAA4B;IACtC,UAAU,EAAE,4BAA4B;IACxC,KAAK,EAAE,2BAA2B;IAClC,IAAI,EAAE,oBAAoB;IAC1B,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,2BAA2B;IACtC,SAAS,EAAE,kBAAkB;IAC7B,QAAQ,EAAE,sBAAsB;IAChC,MAAM,EAAE,wBAAwB;IAChC,OAAO,EAAE,wBAAwB;IACjC,KAAK,EAAE,8BAA8B;IACrC,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,qBAAqB;IAC7B,UAAU,EAAE,6BAA6B;IACzC,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EAAE,gCAAgC;IACzC,KAAK,EAAE,wCAAwC;IAC/C,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,eAAe;IAC1B,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,mBAAmB;IAChC,SAAS,EAAE,mBAAmB;IAC9B,WAAW,EAAE,gBAAgB;IAC7B,MAAM,EAAE,sBAAsB;IAC9B,SAAS,EAAE,cAAc;IACzB,cAAc,EAAE,mBAAmB;CACpC,CAAC;AAEF,4BAA4B;AAC5B,MAAM,iBAAiB,GAAmF;IACxG,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,YAAY,EAAE;IACrG,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE;IACnG,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC1F,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE;IAChG,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE;IAClG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC5E,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC3F,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE;IACtF,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAC7F,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACnF,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAChG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAC/E,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE;IACnF,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE;IACzF,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE;IACnF,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE;CACrF,CAAC;AAEF,MAAa,oBAAoB;IAG/B,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ,CACN,aAA4B,EAC5B,SAA2B,EAC3B,SAAqB;QAErB,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEtF,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;YAChE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;YACpD,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YACpE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YACxE,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC9E,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,SAAS,CAAC;YAC7D,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,SAAS,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,SAAqB,EAAE,QAAiB;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;gBACd,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,IAAI,WAA+B,CAAC;QACpC,IAAI,kBAA2D,CAAC;QAEhE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC5D,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;oBAErD,gCAAgC;oBAChC,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC9B,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;oBACzC,CAAC;oBAED,gCAAgC;oBAChC,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;oBAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;oBACjE,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;oBAEtC,wCAAwC;oBACxC,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvD,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACvF,CAAC;oBAEF,qCAAqC;oBACrC,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC5D,IAAI,WAAW,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAEzD,IAAI,kBAAkB,IAAI,eAAe,EAAE,CAAC;wBAC1C,kBAAkB,GAAG,MAAM,CAAC;oBAC9B,CAAC;yBAAM,IAAI,kBAAkB,IAAI,eAAe,EAAE,CAAC;wBACjD,kBAAkB,GAAG,SAAS,CAAC;oBACjC,CAAC;yBAAM,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;wBAC3C,kBAAkB,GAAG,MAAM,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;QAED,OAAO;YACL,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;YACnC,GAAG,CAAC,kBAAkB,IAAI,EAAE,kBAAkB,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,aAA4B;QACxD,0FAA0F;QAC1F,sCAAsC;QACtC,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,sBAAsB,IAAI,EAAE,CAAC;aAChE,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,4EAA4E;YAC5E,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACjD,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAC1F,CAAC;YACF,8CAA8C;YAC9C,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI,CAC5E,CAAC;YACF,sEAAsE;YACtE,wDAAwD;YACxD,OAAO,aAAa,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;SACrD,CAAC,CAAC,CAAC;QAEN,yCAAyC;QACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,IAAI,GAAG,EAAE,CAAC;gBACR,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;aAC/D,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,OAAO;YACL,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,QAAQ,EAAE,GAAG;YACb,cAAc;YACd,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,OAAe;QAC7C,2BAA2B;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,wBAAwB;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACjE,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,YAAY,CAAC;QACpD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,qBAAqB,CAAC;QAC7D,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAEO,wBAAwB,CAC9B,QAAgB,EAChB,SAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,EAAE;gBACf,eAAe,EAAE,EAAE;gBACnB,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACvE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YACjC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;SACtC,CAAC,CAAC,CAAC;QAEJ,6CAA6C;QAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACjE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAChC,CAAC;QAEF,kEAAkE;QAClE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEtF,OAAO;YACL,MAAM;YACN,QAAQ;YACR,WAAW,EAAE,cAAc,EAAE,kCAAkC;YAC/D,eAAe;YACf,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,WAAqB;QAIjD,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,uEAAuE;QACvE,MAAM,YAAY,GAAG;YACnB,uBAAuB,EAAY,sCAAsC;YACzE,kBAAkB,EAAiB,8BAA8B;YACjE,sBAAsB,EAAa,+BAA+B;YAClE,qBAAqB,EAAc,kBAAkB;YACrD,wBAAwB,EAAW,qBAAqB;YACxD,qBAAqB,EAAc,kBAAkB;YACrD,QAAQ,EAA2B,mBAAmB;YACtD,gBAAgB,EAAmB,gBAAgB;YACnD,mBAAmB,EAAgB,mBAAmB;YACtD,gBAAgB,EAAmB,gBAAgB;YACnD,iBAAiB,EAAkB,iBAAiB;SACrD,CAAC;QAEF,2DAA2D;QAC3D,MAAM,cAAc,GAAG;YACrB,mBAAmB,EAAgB,8CAA8C;SAClF,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAEjE,IAAI,MAAM,EAAE,CAAC;gBACX,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;IAC5C,CAAC;IAEO,mBAAmB,CACzB,QAAgB,EAChB,SAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YACvE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;YACrE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC7D,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;SAC9D,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,QAAgB,EAChB,SAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEO,wBAAwB,CAAC,QAAgB,EAAE,SAA2B;QAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAC9B,CAAC;QAED,wDAAwD;QACxD,MAAM,YAAY,GAAsE,EAAE,CAAC;QAE3F,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,SAAS,CAAC,MAAM;gBAC5B,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;aACrD,CAAC,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,YAAY;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,QAAgB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvC,+BAA+B;QAC/B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,SAAS,IAAI,sBAAsB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjE,OAAO,GAAG,SAAS,iBAAiB,CAAC;YACvC,CAAC;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChD,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;QACvD,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC;QAC3D,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,6BAA6B,CAAC;QACvC,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,SAA2B;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;aAClB,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG;YACjB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;YAC5B,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU;YAC/B,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS;YAC9B,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK;YAC1B,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK;SAC3B,CAAC;QAEF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QAEhE,OAAO;YACL,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY;YAC1C,eAAe,EAAE,aAAa;YAC9B,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,cAAc;SAC/C,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,OAA0B,EAAE,QAAgB;QACjE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChG,CAAC;IAEO,eAAe,CAAC,MAAuB,EAAE,QAAgB;QAC/D,MAAM,OAAO,GAAkB;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvD,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,8BAA8B;QAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU;iBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACpD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;YAC/C,OAAO,CAAC,SAAS,GAAG,IAAI,MAAM,MAAM,UAAU,EAAE,CAAC;QACnD,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,GAAG;oBAC1C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;oBACjC,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,QAAgB,EAAE,QAAgB;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,aAA4B,EAAE,SAA2B;QACpF,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,wDAAwD;QACxD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAEvC,KAAK,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACnE,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC/D,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC;wBAC9E,QAAQ;qBACT,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBAClD,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,aAAa;wBACrE,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,MAAM,gBAAgB,GAA2B;YAC/C,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,CAAC;SACV,CAAC;QAEF,OAAO,QAAQ;aACZ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,SAAS,GAAG,SAAS,CAAC;YAC1D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;IAC3C,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,QAAgB,EAChB,kBAA0B,EAC1B,SAA2B;QAE3B,IAAI,CAAC,SAAS;YAAE,OAAO,kBAAkB,CAAC;QAE1C,2DAA2D;QAC3D,MAAM,UAAU,GAAG;YACjB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;YAC5B,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU;YAC/B,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS;SAC/B,CAAC;QAEF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACxF,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBACpD,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAgB;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACpD,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,WAAW,CAAC;QACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;QAC9E,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC9E,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEjF,iCAAiC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC,CAAC,mBAAmB;IACpC,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,aAA4B,EAAE,SAAqB;QAChF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAE3D,sBAAsB;QACtB,IAAI,WAAW,GAAG,kBAAkB,CAAC;QACrC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC7C,WAAW,GAAG,sBAAsB,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACjD,WAAW,GAAG,cAAc,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC7E,WAAW,GAAG,mBAAmB,CAAC;QACpC,CAAC;QAED,sBAAsB;QACtB,MAAM,cAAc,GAAG;YACrB,cAAc;YACd,eAAe;YACf,iBAAiB;YACjB,gBAAgB;YAChB,gBAAgB;YAChB,kBAAkB;YAClB,cAAc;YACd,gBAAgB;YAChB,kBAAkB;YAClB,aAAa;YACb,kBAAkB;YAClB,gBAAgB;YAChB,mBAAmB;YACnB,gBAAgB;YAChB,gBAAgB;SACjB,CAAC;QAEF,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACpB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;oBACzF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAChC,IAAI,KAAK,cAAc,EACvB,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,iBAAiB,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAC7C,CAAC;QAEF,mDAAmD;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBAClD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7B,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACtD,CAAC;IACJ,CAAC;CACF;AAvoBD,oDAuoBC"}
@@ -6,6 +6,8 @@ interface DocumentationGenerationConfig {
6
6
  filteredDocs?: string[];
7
7
  /** Include section headings and guidance in scaffolds (CLI mode) */
8
8
  includeContentStubs?: boolean;
9
+ /** Fill scaffolds with semantic data (no LLM required) */
10
+ autoFill?: boolean;
9
11
  }
10
12
  export declare class DocumentationGenerator {
11
13
  private analyzer?;
@@ -1 +1 @@
1
- {"version":3,"file":"documentationGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/documentation/documentationGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgD5C,UAAU,6BAA6B;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAmB;gBAExB,GAAG,WAAW,EAAE,OAAO,EAAE;IAE/B,qBAAqB,CACzB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,6BAAkC,EAC1C,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,CAAC;IAwFlB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,yBAAyB;YAWnB,0BAA0B;IAgCxC,OAAO,CAAC,uBAAuB;CA0ChC"}
1
+ {"version":3,"file":"documentationGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/documentation/documentationGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiD5C,UAAU,6BAA6B;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAmB;gBAExB,GAAG,WAAW,EAAE,OAAO,EAAE;IAE/B,qBAAqB,CACzB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,6BAAkC,EAC1C,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,CAAC;IA4GlB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,yBAAyB;YAWnB,0BAA0B;IAgCxC,OAAO,CAAC,uBAAuB;CA0ChC"}