@yalehwang/archguard 0.1.18 → 0.1.21

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 (91) hide show
  1. package/dist/analysis/test-analyzer.d.ts +19 -0
  2. package/dist/analysis/test-analyzer.d.ts.map +1 -0
  3. package/dist/analysis/test-analyzer.js +196 -0
  4. package/dist/analysis/test-analyzer.js.map +1 -0
  5. package/dist/analysis/test-coverage-mapper.d.ts +6 -0
  6. package/dist/analysis/test-coverage-mapper.d.ts.map +1 -0
  7. package/dist/analysis/test-coverage-mapper.js +76 -0
  8. package/dist/analysis/test-coverage-mapper.js.map +1 -0
  9. package/dist/analysis/test-issue-detector.d.ts +5 -0
  10. package/dist/analysis/test-issue-detector.d.ts.map +1 -0
  11. package/dist/analysis/test-issue-detector.js +53 -0
  12. package/dist/analysis/test-issue-detector.js.map +1 -0
  13. package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
  14. package/dist/cli/analyze/run-analysis.js +61 -0
  15. package/dist/cli/analyze/run-analysis.js.map +1 -1
  16. package/dist/cli/cache-manager.d.ts +4 -0
  17. package/dist/cli/cache-manager.d.ts.map +1 -1
  18. package/dist/cli/cache-manager.js +20 -1
  19. package/dist/cli/cache-manager.js.map +1 -1
  20. package/dist/cli/commands/analyze.d.ts.map +1 -1
  21. package/dist/cli/commands/analyze.js +2 -0
  22. package/dist/cli/commands/analyze.js.map +1 -1
  23. package/dist/cli/mcp/analyze-tool.d.ts.map +1 -1
  24. package/dist/cli/mcp/analyze-tool.js +11 -1
  25. package/dist/cli/mcp/analyze-tool.js.map +1 -1
  26. package/dist/cli/mcp/mcp-server.d.ts.map +1 -1
  27. package/dist/cli/mcp/mcp-server.js +2 -0
  28. package/dist/cli/mcp/mcp-server.js.map +1 -1
  29. package/dist/cli/mcp/tools/test-analysis-tools.d.ts +3 -0
  30. package/dist/cli/mcp/tools/test-analysis-tools.d.ts.map +1 -0
  31. package/dist/cli/mcp/tools/test-analysis-tools.js +204 -0
  32. package/dist/cli/mcp/tools/test-analysis-tools.js.map +1 -0
  33. package/dist/cli/processors/diagram-processor.d.ts +5 -1
  34. package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
  35. package/dist/cli/processors/diagram-processor.js +28 -0
  36. package/dist/cli/processors/diagram-processor.js.map +1 -1
  37. package/dist/cli/query/engine-loader.d.ts.map +1 -1
  38. package/dist/cli/query/engine-loader.js +11 -0
  39. package/dist/cli/query/engine-loader.js.map +1 -1
  40. package/dist/cli/query/query-engine.d.ts +4 -1
  41. package/dist/cli/query/query-engine.d.ts.map +1 -1
  42. package/dist/cli/query/query-engine.js +25 -2
  43. package/dist/cli/query/query-engine.js.map +1 -1
  44. package/dist/cli/utils/java-project-structure-detector.d.ts.map +1 -1
  45. package/dist/cli/utils/java-project-structure-detector.js +1 -0
  46. package/dist/cli/utils/java-project-structure-detector.js.map +1 -1
  47. package/dist/cli/utils/test-output-writer.d.ts +7 -0
  48. package/dist/cli/utils/test-output-writer.d.ts.map +1 -0
  49. package/dist/cli/utils/test-output-writer.js +71 -0
  50. package/dist/cli/utils/test-output-writer.js.map +1 -0
  51. package/dist/core/interfaces/language-plugin.d.ts +17 -0
  52. package/dist/core/interfaces/language-plugin.d.ts.map +1 -1
  53. package/dist/mermaid/test-coverage-renderer.d.ts +8 -0
  54. package/dist/mermaid/test-coverage-renderer.d.ts.map +1 -0
  55. package/dist/mermaid/test-coverage-renderer.js +74 -0
  56. package/dist/mermaid/test-coverage-renderer.js.map +1 -0
  57. package/dist/plugins/cpp/index.d.ts +4 -1
  58. package/dist/plugins/cpp/index.d.ts.map +1 -1
  59. package/dist/plugins/cpp/index.js +95 -0
  60. package/dist/plugins/cpp/index.js.map +1 -1
  61. package/dist/plugins/golang/index.d.ts +5 -1
  62. package/dist/plugins/golang/index.d.ts.map +1 -1
  63. package/dist/plugins/golang/index.js +62 -0
  64. package/dist/plugins/golang/index.js.map +1 -1
  65. package/dist/plugins/java/index.d.ts +6 -1
  66. package/dist/plugins/java/index.d.ts.map +1 -1
  67. package/dist/plugins/java/index.js +135 -0
  68. package/dist/plugins/java/index.js.map +1 -1
  69. package/dist/plugins/python/archjson-mapper.d.ts +2 -2
  70. package/dist/plugins/python/archjson-mapper.d.ts.map +1 -1
  71. package/dist/plugins/python/archjson-mapper.js +31 -17
  72. package/dist/plugins/python/archjson-mapper.js.map +1 -1
  73. package/dist/plugins/python/index.d.ts +5 -2
  74. package/dist/plugins/python/index.d.ts.map +1 -1
  75. package/dist/plugins/python/index.js +85 -3
  76. package/dist/plugins/python/index.js.map +1 -1
  77. package/dist/plugins/typescript/index.d.ts +4 -1
  78. package/dist/plugins/typescript/index.d.ts.map +1 -1
  79. package/dist/plugins/typescript/index.js +93 -0
  80. package/dist/plugins/typescript/index.js.map +1 -1
  81. package/dist/types/config-cli.d.ts +2 -0
  82. package/dist/types/config-cli.d.ts.map +1 -1
  83. package/dist/types/extensions.d.ts +60 -0
  84. package/dist/types/extensions.d.ts.map +1 -1
  85. package/dist/types/extensions.js +1 -0
  86. package/dist/types/extensions.js.map +1 -1
  87. package/dist/types/index.d.ts +2 -2
  88. package/dist/types/index.d.ts.map +1 -1
  89. package/dist/types/index.js +1 -1
  90. package/dist/types/index.js.map +1 -1
  91. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-engine.ts"],"names":[],"mappings":"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"}
@@ -66,8 +66,9 @@ export class QueryEngine {
66
66
  const topDependedOnNote = hasAtlas
67
67
  ? 'Not available for Go Atlas projects. Use archguard_get_atlas_layer({ layer: "package" }) to find the most-imported packages.'
68
68
  : undefined;
69
- const topPackagesResult = this.getPackageStats(2, 10);
70
- const topPackages = topPackagesResult.packages;
69
+ const topPackagesResult = this.getPackageStats(2);
70
+ const totalPackageCount = topPackagesResult.packages.length;
71
+ const topPackages = topPackagesResult.packages.slice(0, 10);
71
72
  return {
72
73
  entityCount: this.archJson.entities.length,
73
74
  relationCount: atlasEdgeCount > 0 ? atlasEdgeCount : this.archJson.relations.length,
@@ -77,6 +78,7 @@ export class QueryEngine {
77
78
  topDependedOnNote,
78
79
  capabilities,
79
80
  topPackages,
81
+ totalPackageCount,
80
82
  };
81
83
  }
82
84
  findByType(entityType) {
@@ -114,6 +116,12 @@ export class QueryEngine {
114
116
  hasAtlasExtension() {
115
117
  return !!this.archJson.extensions?.goAtlas;
116
118
  }
119
+ getTestAnalysis() {
120
+ return this.archJson.extensions?.testAnalysis;
121
+ }
122
+ hasTestAnalysis() {
123
+ return this.archJson.extensions?.testAnalysis !== undefined;
124
+ }
117
125
  getPackageStats(depth = 2, topN) {
118
126
  const clampedDepth = Math.max(1, Math.min(5, depth));
119
127
  const pg = this.getAtlasLayer('package');
@@ -184,6 +192,7 @@ export class QueryEngine {
184
192
  const testPattern = this.buildTestPattern();
185
193
  const packageFiles = new Map();
186
194
  const ooWs = this.archJson.workspaceRoot;
195
+ const addedRelFiles = new Set();
187
196
  for (const rawFile of Object.keys(this.index.fileToIds)) {
188
197
  let file = rawFile;
189
198
  if (path.isAbsolute(file)) {
@@ -194,6 +203,20 @@ export class QueryEngine {
194
203
  ? parts.slice(0, -1).join('/') || '.'
195
204
  : parts.slice(0, clampedDepth).join('/');
196
205
  packageFiles.set(pkg, [...(packageFiles.get(pkg) ?? []), file]);
206
+ addedRelFiles.add(file);
207
+ }
208
+ for (const rawFile of this.archJson.sourceFiles) {
209
+ let file = rawFile;
210
+ if (path.isAbsolute(file)) {
211
+ file = ooWs ? path.relative(ooWs, file) : file.replace(/^.*?(?=\w)/, '');
212
+ }
213
+ if (addedRelFiles.has(file))
214
+ continue;
215
+ const parts = file.split('/');
216
+ const pkg = parts.length <= clampedDepth
217
+ ? parts.slice(0, -1).join('/') || '.'
218
+ : parts.slice(0, clampedDepth).join('/');
219
+ packageFiles.set(pkg, [...(packageFiles.get(pkg) ?? []), file]);
197
220
  }
198
221
  const packages = [];
199
222
  for (const [pkg, files] of packageFiles) {
@@ -1 +1 @@
1
- {"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../../src/cli/query/query-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../../src/cli/query/query-engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"java-project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgE3D,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjF,OAAO,CAAC,aAAa,EAAE,CAAC,CA+C1B"}
1
+ {"version":3,"file":"java-project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgE3D,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjF,OAAO,CAAC,aAAa,EAAE,CAAC,CAgD1B"}
@@ -73,6 +73,7 @@ export async function detectJavaProjectStructure(projectRoot, options) {
73
73
  name: `${label}/class/all-classes`,
74
74
  sources: [projectRoot],
75
75
  level: 'class',
76
+ queryRole: 'primary',
76
77
  },
77
78
  ];
78
79
  const modules = await readMavenModules(projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"java-project-structure-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"java-project-structure-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { TestAnalysis } from '../../types/extensions.js';
2
+ export declare class TestOutputWriter {
3
+ write(analysis: TestAnalysis, outputDir: string): Promise<void>;
4
+ private writeMetrics;
5
+ private writeIssues;
6
+ }
7
+ //# sourceMappingURL=test-output-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-output-writer.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/test-output-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,gBAAgB;IACrB,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAOvD,YAAY;YA8BZ,WAAW;CA+B1B"}
@@ -0,0 +1,71 @@
1
+ import path from 'path';
2
+ import fs from 'fs-extra';
3
+ export class TestOutputWriter {
4
+ async write(analysis, outputDir) {
5
+ const testDir = path.join(outputDir, 'test');
6
+ await fs.ensureDir(testDir);
7
+ await this.writeMetrics(analysis, testDir);
8
+ await this.writeIssues(analysis, testDir);
9
+ }
10
+ async writeMetrics(analysis, dir) {
11
+ const lines = [
12
+ '# Test Metrics',
13
+ '',
14
+ `> Pattern config source: ${analysis.patternConfigSource}`,
15
+ '',
16
+ '## Summary',
17
+ '',
18
+ `| Metric | Value |`,
19
+ `|--------|-------|`,
20
+ `| Total test files | ${analysis.metrics.totalTestFiles} |`,
21
+ `| Entity coverage ratio | ${(analysis.metrics.entityCoverageRatio * 100).toFixed(1)}% |`,
22
+ `| Assertion density | ${analysis.metrics.assertionDensity.toFixed(2)} per test |`,
23
+ `| Skip ratio | ${(analysis.metrics.skipRatio * 100).toFixed(1)}% |`,
24
+ '',
25
+ '## Test Files by Type',
26
+ '',
27
+ `| Type | Count |`,
28
+ `|------|-------|`,
29
+ ...Object.entries(analysis.metrics.byType).map(([type, count]) => `| ${type} | ${count} |`),
30
+ '',
31
+ '## Issues by Type',
32
+ '',
33
+ `| Issue | Count |`,
34
+ `|-------|-------|`,
35
+ ...Object.entries(analysis.metrics.issueCount).map(([type, count]) => `| ${type} | ${count} |`),
36
+ ];
37
+ await fs.writeFile(path.join(dir, 'metrics.md'), lines.join('\n') + '\n');
38
+ }
39
+ async writeIssues(analysis, dir) {
40
+ const warnings = analysis.issues.filter((i) => i.severity === 'warning');
41
+ const infos = analysis.issues.filter((i) => i.severity === 'info');
42
+ const lines = ['# Test Issues', ''];
43
+ if (analysis.issues.length === 0) {
44
+ lines.push('No issues detected.');
45
+ }
46
+ else {
47
+ if (warnings.length > 0) {
48
+ lines.push('## Warnings', '');
49
+ for (const issue of warnings) {
50
+ lines.push(`### ${issue.testFileId}`, '');
51
+ lines.push(`**${issue.type}**: ${issue.message}`);
52
+ if (issue.suggestion)
53
+ lines.push(`> ${issue.suggestion}`);
54
+ lines.push('');
55
+ }
56
+ }
57
+ if (infos.length > 0) {
58
+ lines.push('## Info', '');
59
+ for (const issue of infos) {
60
+ lines.push(`### ${issue.testFileId}`, '');
61
+ lines.push(`**${issue.type}**: ${issue.message}`);
62
+ if (issue.suggestion)
63
+ lines.push(`> ${issue.suggestion}`);
64
+ lines.push('');
65
+ }
66
+ }
67
+ }
68
+ await fs.writeFile(path.join(dir, 'issues.md'), lines.join('\n') + '\n');
69
+ }
70
+ }
71
+ //# sourceMappingURL=test-output-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-output-writer.js","sourceRoot":"","sources":["../../../src/cli/utils/test-output-writer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,26 @@
1
1
  import type { IParser } from './parser.js';
2
2
  import type { IDependencyExtractor } from './dependency.js';
3
3
  import type { IValidator } from './validation.js';
4
+ import type { TestPatternConfig } from '../../types/extensions.js';
5
+ export interface RawTestCase {
6
+ name: string;
7
+ isSkipped: boolean;
8
+ assertionCount: number;
9
+ }
10
+ export interface RawTestFile {
11
+ filePath: string;
12
+ frameworks: string[];
13
+ testTypeHint: 'unit' | 'integration' | 'e2e' | 'performance' | 'unknown';
14
+ testCases: RawTestCase[];
15
+ importedSourceFiles: string[];
16
+ totalAssertions?: number;
17
+ }
4
18
  export interface PluginCapabilities {
5
19
  singleFileParsing: boolean;
6
20
  incrementalParsing: boolean;
7
21
  dependencyExtraction: boolean;
8
22
  typeInference: boolean;
23
+ testStructureExtraction?: boolean;
9
24
  }
10
25
  export interface PluginMetadata {
11
26
  name: string;
@@ -30,5 +45,7 @@ export interface ILanguagePlugin extends IParser {
30
45
  readonly supportedLevels: readonly string[];
31
46
  readonly dependencyExtractor?: IDependencyExtractor;
32
47
  readonly validator?: IValidator;
48
+ isTestFile?(filePath: string, patternConfig?: TestPatternConfig): boolean;
49
+ extractTestStructure?(filePath: string, code: string, patternConfig?: TestPatternConfig): RawTestFile | null;
33
50
  }
34
51
  //# sourceMappingURL=language-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"language-plugin.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/language-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD,MAAM,WAAW,kBAAkB;IAKjC,iBAAiB,EAAE,OAAO,CAAC;IAM3B,kBAAkB,EAAE,OAAO,CAAC;IAM5B,oBAAoB,EAAE,OAAO,CAAC;IAM9B,aAAa,EAAE,OAAO,CAAC;CACxB;AAOD,MAAM,WAAW,cAAc;IAI7B,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,WAAW,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,EAAE,CAAC;IAKzB,MAAM,EAAE,MAAM,CAAC;IAKf,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,CAAC;IAKvB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAKD,MAAM,WAAW,gBAAgB;IAI/B,aAAa,EAAE,MAAM,CAAC;IAMtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAI9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAclC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAYpD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAYvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAQzB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAQ5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAQpD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;CACjC"}
1
+ {"version":3,"file":"language-plugin.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/language-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,OAAO,CAAC;IAKnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,EAAE,CAAC;IAMrB,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,CAAC;IACzE,SAAS,EAAE,WAAW,EAAE,CAAC;IAEzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAM9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAOD,MAAM,WAAW,kBAAkB;IAKjC,iBAAiB,EAAE,OAAO,CAAC;IAM3B,kBAAkB,EAAE,OAAO,CAAC;IAM5B,oBAAoB,EAAE,OAAO,CAAC;IAM9B,aAAa,EAAE,OAAO,CAAC;IAMvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAOD,MAAM,WAAW,cAAc;IAI7B,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC;IAKhB,WAAW,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,EAAE,CAAC;IAKzB,MAAM,EAAE,MAAM,CAAC;IAKf,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,cAAc,EAAE,MAAM,CAAC;IAKvB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAKD,MAAM,WAAW,gBAAgB;IAI/B,aAAa,EAAE,MAAM,CAAC;IAMtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAI9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAclC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAYpD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAYvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAQzB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAQ5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAQpD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAYhC,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAiB1E,oBAAoB,CAAC,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,iBAAiB,GAChC,WAAW,GAAG,IAAI,CAAC;CACvB"}
@@ -0,0 +1,8 @@
1
+ import type { TestAnalysis } from '../types/extensions.js';
2
+ import type { ArchJSON } from '../types/index.js';
3
+ export declare class TestCoverageRenderer {
4
+ render(analysis: TestAnalysis, archJson: ArchJSON): string;
5
+ private nodeId;
6
+ private truncate;
7
+ }
8
+ //# sourceMappingURL=test-coverage-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-coverage-renderer.d.ts","sourceRoot":"","sources":["../../src/mermaid/test-coverage-renderer.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAuE1D,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,74 @@
1
+ const MAX_NODES_PER_BUCKET = 20;
2
+ export class TestCoverageRenderer {
3
+ render(analysis, archJson) {
4
+ const coveredMap = new Map();
5
+ for (const link of analysis.coverageMap) {
6
+ coveredMap.set(link.sourceEntityId, link.coverageScore);
7
+ }
8
+ const wellTested = [];
9
+ const partiallyTested = [];
10
+ const notTested = [];
11
+ for (const entity of archJson.entities) {
12
+ if (entity.type === 'class' || entity.type === 'interface') {
13
+ const score = coveredMap.get(entity.id) ?? 0;
14
+ const label = this.truncate(entity.name ?? entity.id, 30);
15
+ if (score >= 0.7)
16
+ wellTested.push(label);
17
+ else if (score >= 0.3)
18
+ partiallyTested.push(label);
19
+ else
20
+ notTested.push(label);
21
+ }
22
+ }
23
+ const debugFiles = analysis.testFiles
24
+ .filter((f) => f.testType === 'debug')
25
+ .map((f) => this.truncate(f.id, 30));
26
+ const lines = ['graph TD'];
27
+ lines.push(' subgraph WT["✓ Well Tested (score ≥ 0.7)"]');
28
+ const wtSlice = wellTested.slice(0, MAX_NODES_PER_BUCKET);
29
+ for (const label of wtSlice) {
30
+ lines.push(` ${this.nodeId(label)}["${label}"]`);
31
+ }
32
+ if (wellTested.length > MAX_NODES_PER_BUCKET) {
33
+ lines.push(` wt_more["... +${wellTested.length - MAX_NODES_PER_BUCKET} more"]`);
34
+ }
35
+ lines.push(' end');
36
+ lines.push(' subgraph PT["~ Partially Tested (0.3 ≤ score < 0.7)"]');
37
+ const ptSlice = partiallyTested.slice(0, MAX_NODES_PER_BUCKET);
38
+ for (const label of ptSlice) {
39
+ lines.push(` ${this.nodeId(label)}["${label}"]`);
40
+ }
41
+ if (partiallyTested.length > MAX_NODES_PER_BUCKET) {
42
+ lines.push(` pt_more["... +${partiallyTested.length - MAX_NODES_PER_BUCKET} more"]`);
43
+ }
44
+ lines.push(' end');
45
+ lines.push(' subgraph NT["✗ Not Tested (score < 0.3)"]');
46
+ const ntSlice = notTested.slice(0, MAX_NODES_PER_BUCKET);
47
+ for (const label of ntSlice) {
48
+ lines.push(` ${this.nodeId(label)}["${label}"]`);
49
+ }
50
+ if (notTested.length > MAX_NODES_PER_BUCKET) {
51
+ lines.push(` nt_more["... +${notTested.length - MAX_NODES_PER_BUCKET} more"]`);
52
+ }
53
+ lines.push(' end');
54
+ if (debugFiles.length > 0) {
55
+ lines.push(' subgraph DO["⚠ Debug Only (zero assertions)"]');
56
+ const doSlice = debugFiles.slice(0, MAX_NODES_PER_BUCKET);
57
+ for (const label of doSlice) {
58
+ lines.push(` ${this.nodeId('do_' + label)}["${label}"]`);
59
+ }
60
+ if (debugFiles.length > MAX_NODES_PER_BUCKET) {
61
+ lines.push(` do_more["... +${debugFiles.length - MAX_NODES_PER_BUCKET} more"]`);
62
+ }
63
+ lines.push(' end');
64
+ }
65
+ return lines.join('\n');
66
+ }
67
+ nodeId(label) {
68
+ return label.replace(/[^a-zA-Z0-9_]/g, '_').replace(/^(\d)/, '_$1');
69
+ }
70
+ truncate(s, maxLen) {
71
+ return s.length > maxLen ? s.slice(0, maxLen - 1) + '\u2026' : s;
72
+ }
73
+ }
74
+ //# sourceMappingURL=test-coverage-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-coverage-renderer.js","sourceRoot":"","sources":["../../src/mermaid/test-coverage-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { ILanguagePlugin, PluginMetadata, PluginInitConfig } from '../../core/interfaces/language-plugin.js';
1
+ import type { ILanguagePlugin, PluginMetadata, PluginInitConfig, RawTestFile } from '../../core/interfaces/language-plugin.js';
2
+ import type { TestPatternConfig } from '../../types/extensions.js';
2
3
  import type { ParseConfig } from '../../core/interfaces/parser.js';
3
4
  import type { ArchJSON } from '../../types/index.js';
4
5
  import type { IDependencyExtractor } from '../../core/interfaces/dependency.js';
@@ -16,6 +17,8 @@ export declare class CppPlugin implements ILanguagePlugin {
16
17
  parseProject(workspaceRoot: string, config: ParseConfig): Promise<ArchJSON>;
17
18
  parseCode(code: string, filePath?: string): ArchJSON;
18
19
  dispose(): Promise<void>;
20
+ isTestFile(filePath: string, _patternConfig?: TestPatternConfig): boolean;
21
+ extractTestStructure(filePath: string, code: string, _patternConfig?: TestPatternConfig): RawTestFile | null;
19
22
  private ensureInitialized;
20
23
  }
21
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAM5E,qBAAa,SAAU,YAAW,eAAe;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAa/B;IAEF,QAAQ,CAAC,eAAe,gCAAiC;IAGzD,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEnD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAS;;IAUtB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA4BhC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8CjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAe,GAAG,QAAQ;IA2BpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAM5E,qBAAa,SAAU,YAAW,eAAe;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,QAAQ,CAAC,eAAe,gCAAiC;IAGzD,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEnD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAS;;IAUtB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA4BhC,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8CjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAe,GAAG,QAAQ;IA2BpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAWzE,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,iBAAiB,GACjC,WAAW,GAAG,IAAI;IA6FrB,OAAO,CAAC,iBAAiB;CAK1B"}
@@ -18,6 +18,7 @@ export class CppPlugin {
18
18
  incrementalParsing: false,
19
19
  dependencyExtraction: true,
20
20
  typeInference: false,
21
+ testStructureExtraction: true,
21
22
  },
22
23
  };
23
24
  supportedLevels = ['package', 'class'];
@@ -104,6 +105,100 @@ export class CppPlugin {
104
105
  async dispose() {
105
106
  this.initialized = false;
106
107
  }
108
+ isTestFile(filePath, _patternConfig) {
109
+ const base = path.basename(filePath);
110
+ const ext = path.extname(base).toLowerCase();
111
+ if (!['.cpp', '.cxx', '.cc'].includes(ext))
112
+ return false;
113
+ if (/^test[-_]/i.test(base) || /[-_]test\./i.test(base) || /Test\./.test(base))
114
+ return true;
115
+ const parts = filePath.replace(/\\/g, '/').split('/');
116
+ return parts.some((p) => p === 'tests' || p === 'test');
117
+ }
118
+ extractTestStructure(filePath, code, _patternConfig) {
119
+ if (!this.isTestFile(filePath))
120
+ return null;
121
+ const frameworks = [];
122
+ if (/#include\s*[<"]gtest\/gtest/.test(code))
123
+ frameworks.push('gtest');
124
+ if (/#include\s*[<"]catch2\//.test(code) || /CATCH_CONFIG_MAIN/.test(code))
125
+ frameworks.push('catch2');
126
+ if (/#include\s*[<"]doctest\.h/.test(code))
127
+ frameworks.push('doctest');
128
+ if (frameworks.length === 0)
129
+ frameworks.push('assert');
130
+ const assertionPatterns = [
131
+ /\bassert\s*\(/g,
132
+ /\bassert_\w+\s*\(/g,
133
+ /\bt\.assert_\w+\s*\(/g,
134
+ /\bGGML_ASSERT\s*\(/g,
135
+ /\bLLAMA_ASSERT\s*\(/g,
136
+ /\bEXPECT_\w+\s*\(/g,
137
+ /\bASSERT_\w+\s*\(/g,
138
+ /\bREQUIRE\s*\(/g,
139
+ /\bCHECK\s*\(/g,
140
+ ];
141
+ let totalAssertions = 0;
142
+ for (const pat of assertionPatterns) {
143
+ const m = code.match(pat);
144
+ if (m)
145
+ totalAssertions += m.length;
146
+ }
147
+ const testCases = [];
148
+ if (frameworks.includes('gtest')) {
149
+ const re = /\bTEST(?:_F|_P)?\s*\(\s*\w+\s*,\s*(\w+)\s*\)/g;
150
+ let m;
151
+ while ((m = re.exec(code)) !== null) {
152
+ testCases.push({ name: m[1], assertionCount: 0, isSkipped: false });
153
+ }
154
+ }
155
+ else if (frameworks.includes('catch2') || frameworks.includes('doctest')) {
156
+ const re = /\b(?:TEST_CASE|SCENARIO)\s*\(\s*"([^"]+)"/g;
157
+ let m;
158
+ while ((m = re.exec(code)) !== null) {
159
+ testCases.push({ name: m[1], assertionCount: 0, isSkipped: false });
160
+ }
161
+ }
162
+ else {
163
+ const re = /^(?:static\s+)?(?:void|bool|int)\s+((?:test|verify|check)_?\w*)\s*\(/gm;
164
+ let m;
165
+ while ((m = re.exec(code)) !== null) {
166
+ if (m[1] === 'main')
167
+ continue;
168
+ testCases.push({ name: m[1], assertionCount: 0, isSkipped: false });
169
+ }
170
+ if (testCases.length === 0 && /\bint\s+main\s*\(/.test(code)) {
171
+ testCases.push({ name: path.basename(filePath, path.extname(filePath)), assertionCount: totalAssertions, isSkipped: false });
172
+ }
173
+ }
174
+ if (testCases.length === 0)
175
+ return null;
176
+ if (totalAssertions > 0 && testCases.length > 0) {
177
+ const base = Math.floor(totalAssertions / testCases.length);
178
+ const remainder = totalAssertions % testCases.length;
179
+ for (let i = 0; i < testCases.length; i++) {
180
+ if (testCases[i].assertionCount === 0) {
181
+ testCases[i].assertionCount = base + (i < remainder ? 1 : 0);
182
+ }
183
+ }
184
+ }
185
+ const importedSourceFiles = [];
186
+ const includeRe = /^#include\s+"([^"]+)"/gm;
187
+ let im;
188
+ while ((im = includeRe.exec(code)) !== null) {
189
+ importedSourceFiles.push(im[1]);
190
+ }
191
+ const isBenchmark = /benchmark|bench|perf/i.test(path.basename(filePath));
192
+ const testTypeHint = isBenchmark ? 'performance' : 'unit';
193
+ return {
194
+ filePath,
195
+ frameworks,
196
+ testTypeHint,
197
+ testCases,
198
+ importedSourceFiles,
199
+ totalAssertions,
200
+ };
201
+ }
107
202
  ensureInitialized() {
108
203
  if (!this.initialized) {
109
204
  throw new Error('CppPlugin not initialized. Call initialize() first.');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/cpp/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { ILanguagePlugin, PluginMetadata, PluginInitConfig } from '../../core/interfaces/language-plugin.js';
1
+ import type { ILanguagePlugin, PluginMetadata, PluginInitConfig, RawTestFile } from '../../core/interfaces/language-plugin.js';
2
+ import type { TestPatternConfig } from '../../types/extensions.js';
2
3
  import type { ParseConfig } from '../../core/interfaces/parser.js';
3
4
  import type { ArchJSON } from '../../types/index.js';
4
5
  import type { IDependencyExtractor } from '../../core/interfaces/dependency.js';
@@ -20,6 +21,7 @@ export declare class GoPlugin implements ILanguagePlugin, IGoAtlas {
20
21
  private goplsClient;
21
22
  private initialized;
22
23
  private workspaceRoot;
24
+ private cachedModuleName;
23
25
  private behaviorAnalyzer;
24
26
  private atlasRenderer;
25
27
  private goModResolver;
@@ -35,6 +37,8 @@ export declare class GoPlugin implements ILanguagePlugin, IGoAtlas {
35
37
  dispose(): Promise<void>;
36
38
  private buildAtlasFromRawData;
37
39
  private ensureInitialized;
40
+ isTestFile(filePath: string, _patternConfig?: TestPatternConfig): boolean;
41
+ extractTestStructure(filePath: string, code: string, _patternConfig?: TestPatternConfig): RawTestFile | null;
38
42
  private readModuleName;
39
43
  }
40
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKtE,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAK1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAC;AAI1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AA2B5E,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChG,WAAW,CACT,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAcD,qBAAa,QAAS,YAAW,eAAe,EAAE,QAAQ;IACxD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,QAAQ,CAAC,eAAe,0DAA2D;IAEnF,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAGnD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAM;IAG3B,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAiB;;IAShC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BzD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAyBtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAoB,GAAG,QAAQ;IAyB3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkFlD,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoF3E,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,sBAAsB,GAC3C,OAAO,CAAC,SAAS,CAAC;IA0Gf,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAgCzB,WAAW,CACf,KAAK,EAAE,mBAAmB,EAC1B,KAAK,GAAE,UAAkB,EACzB,MAAM,GAAE,YAAwB,GAC/B,OAAO,CAAC,YAAY,CAAC;IAOlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAoBhB,qBAAqB;IA6EnC,OAAO,CAAC,iBAAiB;YAMX,cAAc;CAS7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKtE,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAK1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAC;AAI1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AA2B5E,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChG,WAAW,CACT,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAcD,qBAAa,QAAS,YAAW,eAAe,EAAE,QAAQ;IACxD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAe/B;IAEF,QAAQ,CAAC,eAAe,0DAA2D;IAEnF,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAGnD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,gBAAgB,CAAM;IAG9B,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAiB;;IAShC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCzD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAyBtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAoB,GAAG,QAAQ;IAyB3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkFlD,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoF3E,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,sBAAsB,GAC3C,OAAO,CAAC,SAAS,CAAC;IA0Gf,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAgCzB,WAAW,CACf,KAAK,EAAE,mBAAmB,EAC1B,KAAK,GAAE,UAAkB,EACzB,MAAM,GAAE,YAAwB,GAC/B,OAAO,CAAC,YAAY,CAAC;IAOlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAoBhB,qBAAqB;IA6EnC,OAAO,CAAC,iBAAiB;IAMzB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAIzE,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,iBAAiB,GACjC,WAAW,GAAG,IAAI;YAmEP,cAAc;CAS7B"}