agentic-qe 2.6.1 → 2.6.3

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 (158) hide show
  1. package/.claude/agents/qe-code-intelligence.md +88 -1
  2. package/CHANGELOG.md +134 -0
  3. package/README.md +222 -159
  4. package/dist/agents/BaseAgent.d.ts +19 -0
  5. package/dist/agents/BaseAgent.d.ts.map +1 -1
  6. package/dist/agents/BaseAgent.js +41 -1
  7. package/dist/agents/BaseAgent.js.map +1 -1
  8. package/dist/agents/CodeIntelligenceAgent.d.ts +18 -1
  9. package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -1
  10. package/dist/agents/CodeIntelligenceAgent.js +96 -1
  11. package/dist/agents/CodeIntelligenceAgent.js.map +1 -1
  12. package/dist/agents/CoverageAnalyzerAgent.d.ts +8 -0
  13. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  14. package/dist/agents/CoverageAnalyzerAgent.js +65 -1
  15. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  16. package/dist/agents/TestGeneratorAgent.d.ts +2 -2
  17. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  18. package/dist/agents/TestGeneratorAgent.js +16 -6
  19. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  20. package/dist/agents/adapters/AgentLLMAdapter.d.ts +127 -0
  21. package/dist/agents/adapters/AgentLLMAdapter.d.ts.map +1 -0
  22. package/dist/agents/adapters/AgentLLMAdapter.js +366 -0
  23. package/dist/agents/adapters/AgentLLMAdapter.js.map +1 -0
  24. package/dist/agents/adapters/index.d.ts +1 -0
  25. package/dist/agents/adapters/index.d.ts.map +1 -1
  26. package/dist/agents/adapters/index.js +5 -1
  27. package/dist/agents/adapters/index.js.map +1 -1
  28. package/dist/agents/interfaces/IAgentLLM.d.ts +257 -0
  29. package/dist/agents/interfaces/IAgentLLM.d.ts.map +1 -0
  30. package/dist/agents/interfaces/IAgentLLM.js +39 -0
  31. package/dist/agents/interfaces/IAgentLLM.js.map +1 -0
  32. package/dist/agents/interfaces/index.d.ts +10 -0
  33. package/dist/agents/interfaces/index.d.ts.map +1 -0
  34. package/dist/agents/interfaces/index.js +14 -0
  35. package/dist/agents/interfaces/index.js.map +1 -0
  36. package/dist/agents/n8n/N8nBaseAgent.d.ts +18 -0
  37. package/dist/agents/n8n/N8nBaseAgent.d.ts.map +1 -1
  38. package/dist/agents/n8n/N8nBaseAgent.js +80 -0
  39. package/dist/agents/n8n/N8nBaseAgent.js.map +1 -1
  40. package/dist/cli/commands/knowledge-graph.d.ts +30 -0
  41. package/dist/cli/commands/knowledge-graph.d.ts.map +1 -1
  42. package/dist/cli/commands/knowledge-graph.js +206 -4
  43. package/dist/cli/commands/knowledge-graph.js.map +1 -1
  44. package/dist/cli/commands/providers.d.ts +50 -0
  45. package/dist/cli/commands/providers.d.ts.map +1 -0
  46. package/dist/cli/commands/providers.js +403 -0
  47. package/dist/cli/commands/providers.js.map +1 -0
  48. package/dist/cli/index.js +214 -0
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -1
  51. package/dist/code-intelligence/indexing/FileWatcher.js +11 -8
  52. package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -1
  53. package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.d.ts +75 -0
  54. package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.d.ts.map +1 -0
  55. package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.js +400 -0
  56. package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.js.map +1 -0
  57. package/dist/code-intelligence/inference/ExternalSystemDetector.d.ts +31 -0
  58. package/dist/code-intelligence/inference/ExternalSystemDetector.d.ts.map +1 -0
  59. package/dist/code-intelligence/inference/ExternalSystemDetector.js +523 -0
  60. package/dist/code-intelligence/inference/ExternalSystemDetector.js.map +1 -0
  61. package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.d.ts +78 -0
  62. package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.d.ts.map +1 -0
  63. package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.js +491 -0
  64. package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.js.map +1 -0
  65. package/dist/code-intelligence/inference/index.d.ts +36 -0
  66. package/dist/code-intelligence/inference/index.d.ts.map +1 -0
  67. package/dist/code-intelligence/inference/index.js +65 -0
  68. package/dist/code-intelligence/inference/index.js.map +1 -0
  69. package/dist/code-intelligence/inference/types.d.ts +196 -0
  70. package/dist/code-intelligence/inference/types.d.ts.map +1 -0
  71. package/dist/code-intelligence/inference/types.js +9 -0
  72. package/dist/code-intelligence/inference/types.js.map +1 -0
  73. package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.d.ts +75 -0
  74. package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.d.ts.map +1 -0
  75. package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.js +267 -0
  76. package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.js.map +1 -0
  77. package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.d.ts +138 -0
  78. package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.d.ts.map +1 -0
  79. package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.js +343 -0
  80. package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.js.map +1 -0
  81. package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.d.ts +67 -0
  82. package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.d.ts.map +1 -0
  83. package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.js +152 -0
  84. package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.js.map +1 -0
  85. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +79 -0
  86. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -1
  87. package/dist/code-intelligence/visualization/MermaidGenerator.js +143 -0
  88. package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -1
  89. package/dist/config/ConfigLoader.d.ts +86 -0
  90. package/dist/config/ConfigLoader.d.ts.map +1 -0
  91. package/dist/config/ConfigLoader.js +450 -0
  92. package/dist/config/ConfigLoader.js.map +1 -0
  93. package/dist/config/ProviderConfig.d.ts +153 -0
  94. package/dist/config/ProviderConfig.d.ts.map +1 -0
  95. package/dist/config/ProviderConfig.js +155 -0
  96. package/dist/config/ProviderConfig.js.map +1 -0
  97. package/dist/config/index.d.ts +35 -0
  98. package/dist/config/index.d.ts.map +1 -0
  99. package/dist/config/index.js +45 -0
  100. package/dist/config/index.js.map +1 -0
  101. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  102. package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts.map +1 -1
  103. package/dist/mcp/handlers/integration/integration-test-orchestrate.js +6 -9
  104. package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -1
  105. package/dist/mcp/server-instructions.d.ts +1 -1
  106. package/dist/mcp/server-instructions.js +1 -1
  107. package/dist/mcp/server.d.ts +1 -0
  108. package/dist/mcp/server.d.ts.map +1 -1
  109. package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
  110. package/dist/memory/HNSWPatternStore.js +23 -0
  111. package/dist/memory/HNSWPatternStore.js.map +1 -1
  112. package/dist/memory/RuVectorPatternStore.d.ts +5 -0
  113. package/dist/memory/RuVectorPatternStore.d.ts.map +1 -1
  114. package/dist/memory/RuVectorPatternStore.js +11 -0
  115. package/dist/memory/RuVectorPatternStore.js.map +1 -1
  116. package/dist/providers/CostOptimizationStrategies.d.ts +297 -0
  117. package/dist/providers/CostOptimizationStrategies.d.ts.map +1 -0
  118. package/dist/providers/CostOptimizationStrategies.js +831 -0
  119. package/dist/providers/CostOptimizationStrategies.js.map +1 -0
  120. package/dist/providers/HybridRouter.d.ts +142 -5
  121. package/dist/providers/HybridRouter.d.ts.map +1 -1
  122. package/dist/providers/HybridRouter.js +472 -6
  123. package/dist/providers/HybridRouter.js.map +1 -1
  124. package/dist/providers/HybridRouterComplexityIntegration.d.ts +169 -0
  125. package/dist/providers/HybridRouterComplexityIntegration.d.ts.map +1 -0
  126. package/dist/providers/HybridRouterComplexityIntegration.js +319 -0
  127. package/dist/providers/HybridRouterComplexityIntegration.js.map +1 -0
  128. package/dist/providers/HybridRouterModelSelection.d.ts +106 -0
  129. package/dist/providers/HybridRouterModelSelection.d.ts.map +1 -0
  130. package/dist/providers/HybridRouterModelSelection.js +420 -0
  131. package/dist/providers/HybridRouterModelSelection.js.map +1 -0
  132. package/dist/providers/LLMProviderFactory.d.ts +23 -9
  133. package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
  134. package/dist/providers/LLMProviderFactory.js +54 -11
  135. package/dist/providers/LLMProviderFactory.js.map +1 -1
  136. package/dist/providers/OllamaProvider.d.ts +122 -0
  137. package/dist/providers/OllamaProvider.d.ts.map +1 -0
  138. package/dist/providers/OllamaProvider.js +425 -0
  139. package/dist/providers/OllamaProvider.js.map +1 -0
  140. package/dist/providers/index.d.ts +6 -1
  141. package/dist/providers/index.d.ts.map +1 -1
  142. package/dist/providers/index.js +17 -1
  143. package/dist/providers/index.js.map +1 -1
  144. package/dist/routing/ComplexityClassifier.d.ts +266 -0
  145. package/dist/routing/ComplexityClassifier.d.ts.map +1 -0
  146. package/dist/routing/ComplexityClassifier.js +567 -0
  147. package/dist/routing/ComplexityClassifier.js.map +1 -0
  148. package/dist/routing/ModelCapabilityRegistry.d.ts +98 -0
  149. package/dist/routing/ModelCapabilityRegistry.d.ts.map +1 -0
  150. package/dist/routing/ModelCapabilityRegistry.js +216 -0
  151. package/dist/routing/ModelCapabilityRegistry.js.map +1 -0
  152. package/dist/routing/index.d.ts +13 -0
  153. package/dist/routing/index.d.ts.map +1 -0
  154. package/dist/routing/index.js +24 -0
  155. package/dist/routing/index.js.map +1 -0
  156. package/docs/reference/model-capability-registry.md +402 -0
  157. package/docs/reference/provider-config-schema.md +608 -0
  158. package/package.json +20 -4
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.C4ContextDiagramBuilder = void 0;
4
+ /**
5
+ * Builds C4 Context diagrams in Mermaid syntax
6
+ *
7
+ * Context diagrams show the system in its environment with users and external systems.
8
+ * This is the highest level of abstraction in C4 modeling.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const builder = new C4ContextDiagramBuilder();
13
+ * const diagram = builder.build(metadata, externalSystems);
14
+ * ```
15
+ */
16
+ class C4ContextDiagramBuilder {
17
+ /**
18
+ * Build a C4 Context diagram in Mermaid syntax
19
+ *
20
+ * @param metadata - Project metadata containing system information
21
+ * @param externalSystems - Detected external systems and dependencies
22
+ * @returns Mermaid C4Context diagram as string
23
+ */
24
+ build(metadata, externalSystems) {
25
+ const systemName = this.formatSystemName(metadata.name);
26
+ const description = metadata.description || 'Application system';
27
+ const lines = [
28
+ 'C4Context',
29
+ ` title System Context diagram for ${metadata.name}`,
30
+ '',
31
+ this.generatePersons(),
32
+ ` System(${systemName}, "${metadata.name}", "${description}")`,
33
+ ];
34
+ // Add external systems
35
+ if (externalSystems.length > 0) {
36
+ lines.push('');
37
+ lines.push(this.generateExternalSystems(externalSystems));
38
+ }
39
+ // Add relationships
40
+ lines.push('');
41
+ lines.push(this.generateRelationships(metadata, externalSystems));
42
+ return lines.filter(line => line !== undefined && line !== '').join('\n');
43
+ }
44
+ /**
45
+ * Sanitize system name for Mermaid syntax
46
+ * Removes special characters and replaces spaces with underscores
47
+ *
48
+ * @param name - Original system name
49
+ * @returns Sanitized name safe for Mermaid
50
+ */
51
+ formatSystemName(name) {
52
+ return name
53
+ .replace(/[^a-zA-Z0-9_\s-]/g, '')
54
+ .replace(/\s+/g, '_')
55
+ .replace(/-+/g, '_')
56
+ .toLowerCase();
57
+ }
58
+ /**
59
+ * Generate default user/person actors
60
+ *
61
+ * @returns Mermaid Person definitions
62
+ */
63
+ generatePersons() {
64
+ const lines = [
65
+ ' Person(user, "User", "A user of the system")',
66
+ ' Person(developer, "Developer", "A developer maintaining the system")',
67
+ ];
68
+ return lines.join('\n');
69
+ }
70
+ /**
71
+ * Generate external system definitions
72
+ *
73
+ * @param systems - Detected external systems
74
+ * @returns Mermaid System_Ext definitions
75
+ */
76
+ generateExternalSystems(systems) {
77
+ const lines = [];
78
+ const seen = new Set();
79
+ for (const system of systems) {
80
+ const systemId = this.formatSystemName(system.name);
81
+ // Avoid duplicates
82
+ if (seen.has(systemId)) {
83
+ continue;
84
+ }
85
+ seen.add(systemId);
86
+ const description = this.getSystemDescription(system);
87
+ lines.push(` System_Ext(${systemId}, "${system.name}", "${description}")`);
88
+ }
89
+ return lines.join('\n');
90
+ }
91
+ /**
92
+ * Get description for external system based on type
93
+ *
94
+ * @param system - External system
95
+ * @returns Human-readable description
96
+ */
97
+ getSystemDescription(system) {
98
+ const typeDescriptions = {
99
+ database: 'Database system',
100
+ api: 'External API service',
101
+ npm: 'NPM package dependency',
102
+ service: 'External service',
103
+ cloud: 'Cloud service',
104
+ messageQueue: 'Message queue system',
105
+ cache: 'Caching system',
106
+ storage: 'Storage system',
107
+ };
108
+ return typeDescriptions[system.type] || 'External system';
109
+ }
110
+ /**
111
+ * Generate relationships between system and external systems
112
+ *
113
+ * @param metadata - Project metadata
114
+ * @param externals - External systems
115
+ * @returns Mermaid Rel definitions
116
+ */
117
+ generateRelationships(metadata, externals) {
118
+ const lines = [];
119
+ const systemName = this.formatSystemName(metadata.name);
120
+ // User -> System
121
+ lines.push(` Rel(user, ${systemName}, "Uses")`);
122
+ lines.push(` Rel(developer, ${systemName}, "Develops and maintains")`);
123
+ // System -> External Systems
124
+ for (const external of externals) {
125
+ const externalId = this.formatSystemName(external.name);
126
+ const relationship = this.getRelationshipLabel(external);
127
+ lines.push(` Rel(${systemName}, ${externalId}, "${relationship}")`);
128
+ }
129
+ return lines.join('\n');
130
+ }
131
+ /**
132
+ * Get relationship label based on external system type
133
+ *
134
+ * @param system - External system
135
+ * @returns Relationship description
136
+ */
137
+ getRelationshipLabel(system) {
138
+ const labels = {
139
+ database: 'Reads from and writes to',
140
+ api: 'Makes API calls to',
141
+ npm: 'Uses',
142
+ service: 'Integrates with',
143
+ cloud: 'Deploys to',
144
+ messageQueue: 'Publishes to and consumes from',
145
+ cache: 'Reads from and writes to',
146
+ storage: 'Stores files in',
147
+ };
148
+ return labels[system.type] || 'Depends on';
149
+ }
150
+ }
151
+ exports.C4ContextDiagramBuilder = C4ContextDiagramBuilder;
152
+ //# sourceMappingURL=C4ContextDiagramBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C4ContextDiagramBuilder.js","sourceRoot":"","sources":["../../../src/code-intelligence/visualization/C4ContextDiagramBuilder.ts"],"names":[],"mappings":"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"}
@@ -72,5 +72,84 @@ export declare class MermaidGenerator {
72
72
  * Generate dependency graph with circular dependency highlighting.
73
73
  */
74
74
  static generateDependencyGraphWithCycles(nodes: GraphNode[], edges: GraphEdge[], options?: MermaidOptions): string;
75
+ /**
76
+ * Generate C4 Context diagram from project analysis.
77
+ *
78
+ * Context diagrams show the system in its environment with users and external systems.
79
+ * This is the highest level of abstraction in C4 modeling.
80
+ *
81
+ * @param rootDir - Root directory of the project to analyze
82
+ * @returns Mermaid C4Context diagram as string
83
+ * @throws Error if project analysis fails
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const diagram = await MermaidGenerator.generateC4Context('/path/to/project');
88
+ * console.log(diagram);
89
+ * ```
90
+ */
91
+ static generateC4Context(rootDir: string): Promise<string>;
92
+ /**
93
+ * Generate C4 Container diagram from project analysis.
94
+ *
95
+ * Container diagrams show the high-level technology choices and how containers
96
+ * communicate with each other. Containers represent applications or data stores.
97
+ *
98
+ * @param rootDir - Root directory of the project to analyze
99
+ * @returns Mermaid C4Container diagram as string
100
+ * @throws Error if project analysis fails
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const diagram = await MermaidGenerator.generateC4Container('/path/to/project');
105
+ * console.log(diagram);
106
+ * ```
107
+ */
108
+ static generateC4Container(rootDir: string): Promise<string>;
109
+ /**
110
+ * Generate C4 Component diagram from project analysis.
111
+ *
112
+ * Component diagrams show the internal structure of a container, breaking it down
113
+ * into components and showing their relationships. Components are typically classes,
114
+ * modules, or services within a container.
115
+ *
116
+ * @param rootDir - Root directory of the project to analyze
117
+ * @param containerName - Optional name of the container to detail (defaults to project name)
118
+ * @returns Mermaid C4Component diagram as string
119
+ * @throws Error if project analysis fails
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const diagram = await MermaidGenerator.generateC4Component('/path/to/project');
124
+ * console.log(diagram);
125
+ * ```
126
+ */
127
+ static generateC4Component(rootDir: string, containerName?: string): Promise<string>;
128
+ /**
129
+ * Generate C4 diagram of specified type.
130
+ *
131
+ * Unified method to generate any C4 diagram type with optional configuration.
132
+ *
133
+ * @param type - Type of C4 diagram to generate ('context' | 'container' | 'component')
134
+ * @param rootDir - Root directory of the project to analyze
135
+ * @param options - Optional configuration for diagram generation
136
+ * @param options.containerName - Container name for component diagrams
137
+ * @returns Mermaid C4 diagram as string
138
+ * @throws Error if diagram type is invalid or generation fails
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * // Generate context diagram
143
+ * const context = await MermaidGenerator.generateC4Diagram('context', '/path/to/project');
144
+ *
145
+ * // Generate component diagram for specific container
146
+ * const component = await MermaidGenerator.generateC4Diagram('component', '/path/to/project', {
147
+ * containerName: 'API Application'
148
+ * });
149
+ * ```
150
+ */
151
+ static generateC4Diagram(type: 'context' | 'container' | 'component', rootDir: string, options?: {
152
+ containerName?: string;
153
+ }): Promise<string>;
75
154
  }
76
155
  //# sourceMappingURL=MermaidGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidGenerator.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/visualization/MermaidGenerator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,gDAAgD;IAChD,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtC,kBAAkB;IAClB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAElD,2BAA2B;IAC3B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE5B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,WAAW,EAC5C,OAAO,GAAE,cAAmB,GAC3B,MAAM;IAyCT;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAkEnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAkDhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAgBlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAsB3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAqB3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAwB3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA+B3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAW1B;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,GACjB,MAAM,EAAE,EAAE;IA8Cb;;OAEG;IACH,MAAM,CAAC,iCAAiC,CACtC,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,cAAmB,GAC3B,MAAM;CAgCV"}
1
+ {"version":3,"file":"MermaidGenerator.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/visualization/MermaidGenerator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAgB7E,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,gDAAgD;IAChD,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtC,kBAAkB;IAClB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAElD,2BAA2B;IAC3B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE5B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,WAAW,EAC5C,OAAO,GAAE,cAAmB,GAC3B,MAAM;IAyCT;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAkEnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAkDhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAgBlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAsB3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAqB3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAwB3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA+B3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAW1B;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,GACjB,MAAM,EAAE,EAAE;IA8Cb;;OAEG;IACH,MAAM,CAAC,iCAAiC,CACtC,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,cAAmB,GAC3B,MAAM;IAiCT;;;;;;;;;;;;;;;OAeG;WACU,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBhE;;;;;;;;;;;;;;;OAeG;WACU,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBlE;;;;;;;;;;;;;;;;;OAiBG;WACU,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB1F;;;;;;;;;;;;;;;;;;;;;;OAsBG;WACU,iBAAiB,CAC5B,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,EAC3C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,MAAM,CAAC;CAYnB"}
@@ -7,6 +7,12 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.MermaidGenerator = void 0;
10
+ const C4ContextDiagramBuilder_js_1 = require("./C4ContextDiagramBuilder.js");
11
+ const C4ContainerDiagramBuilder_js_1 = require("./C4ContainerDiagramBuilder.js");
12
+ const C4ComponentDiagramBuilder_js_1 = require("./C4ComponentDiagramBuilder.js");
13
+ const ProjectMetadataAnalyzer_js_1 = require("../inference/ProjectMetadataAnalyzer.js");
14
+ const ExternalSystemDetector_js_1 = require("../inference/ExternalSystemDetector.js");
15
+ const ComponentBoundaryAnalyzer_js_1 = require("../inference/ComponentBoundaryAnalyzer.js");
10
16
  class MermaidGenerator {
11
17
  /**
12
18
  * Generate Mermaid diagram from nodes and edges.
@@ -363,6 +369,143 @@ class MermaidGenerator {
363
369
  }
364
370
  return [...lines, ...styleLines].join('\n');
365
371
  }
372
+ /**
373
+ * Generate C4 Context diagram from project analysis.
374
+ *
375
+ * Context diagrams show the system in its environment with users and external systems.
376
+ * This is the highest level of abstraction in C4 modeling.
377
+ *
378
+ * @param rootDir - Root directory of the project to analyze
379
+ * @returns Mermaid C4Context diagram as string
380
+ * @throws Error if project analysis fails
381
+ *
382
+ * @example
383
+ * ```typescript
384
+ * const diagram = await MermaidGenerator.generateC4Context('/path/to/project');
385
+ * console.log(diagram);
386
+ * ```
387
+ */
388
+ static async generateC4Context(rootDir) {
389
+ try {
390
+ // Analyze project metadata
391
+ const metadataAnalyzer = new ProjectMetadataAnalyzer_js_1.ProjectMetadataAnalyzer(rootDir);
392
+ const metadata = await metadataAnalyzer.analyze();
393
+ // Detect external systems
394
+ const externalDetector = new ExternalSystemDetector_js_1.ExternalSystemDetector(rootDir);
395
+ const externalSystems = await externalDetector.detect();
396
+ // Build C4 Context diagram
397
+ const builder = new C4ContextDiagramBuilder_js_1.C4ContextDiagramBuilder();
398
+ return builder.build(metadata, externalSystems);
399
+ }
400
+ catch (error) {
401
+ throw new Error(`Failed to generate C4 Context diagram: ${error instanceof Error ? error.message : String(error)}`);
402
+ }
403
+ }
404
+ /**
405
+ * Generate C4 Container diagram from project analysis.
406
+ *
407
+ * Container diagrams show the high-level technology choices and how containers
408
+ * communicate with each other. Containers represent applications or data stores.
409
+ *
410
+ * @param rootDir - Root directory of the project to analyze
411
+ * @returns Mermaid C4Container diagram as string
412
+ * @throws Error if project analysis fails
413
+ *
414
+ * @example
415
+ * ```typescript
416
+ * const diagram = await MermaidGenerator.generateC4Container('/path/to/project');
417
+ * console.log(diagram);
418
+ * ```
419
+ */
420
+ static async generateC4Container(rootDir) {
421
+ try {
422
+ // Analyze project metadata
423
+ const metadataAnalyzer = new ProjectMetadataAnalyzer_js_1.ProjectMetadataAnalyzer(rootDir);
424
+ const metadata = await metadataAnalyzer.analyze();
425
+ // Detect external systems
426
+ const externalDetector = new ExternalSystemDetector_js_1.ExternalSystemDetector(rootDir);
427
+ const externalSystems = await externalDetector.detect();
428
+ // Build C4 Container diagram
429
+ const builder = new C4ContainerDiagramBuilder_js_1.C4ContainerDiagramBuilder();
430
+ return builder.build(metadata, externalSystems);
431
+ }
432
+ catch (error) {
433
+ throw new Error(`Failed to generate C4 Container diagram: ${error instanceof Error ? error.message : String(error)}`);
434
+ }
435
+ }
436
+ /**
437
+ * Generate C4 Component diagram from project analysis.
438
+ *
439
+ * Component diagrams show the internal structure of a container, breaking it down
440
+ * into components and showing their relationships. Components are typically classes,
441
+ * modules, or services within a container.
442
+ *
443
+ * @param rootDir - Root directory of the project to analyze
444
+ * @param containerName - Optional name of the container to detail (defaults to project name)
445
+ * @returns Mermaid C4Component diagram as string
446
+ * @throws Error if project analysis fails
447
+ *
448
+ * @example
449
+ * ```typescript
450
+ * const diagram = await MermaidGenerator.generateC4Component('/path/to/project');
451
+ * console.log(diagram);
452
+ * ```
453
+ */
454
+ static async generateC4Component(rootDir, containerName) {
455
+ try {
456
+ // Analyze component boundaries
457
+ const boundaryAnalyzer = new ComponentBoundaryAnalyzer_js_1.ComponentBoundaryAnalyzer(rootDir);
458
+ const analysisResult = await boundaryAnalyzer.analyze();
459
+ // Get container name from metadata if not provided
460
+ let finalContainerName = containerName;
461
+ if (!finalContainerName) {
462
+ const metadataAnalyzer = new ProjectMetadataAnalyzer_js_1.ProjectMetadataAnalyzer(rootDir);
463
+ const metadata = await metadataAnalyzer.analyze();
464
+ finalContainerName = metadata.name;
465
+ }
466
+ // Build C4 Component diagram
467
+ const builder = new C4ComponentDiagramBuilder_js_1.C4ComponentDiagramBuilder();
468
+ return builder.build(finalContainerName, analysisResult.components, analysisResult.relationships);
469
+ }
470
+ catch (error) {
471
+ throw new Error(`Failed to generate C4 Component diagram: ${error instanceof Error ? error.message : String(error)}`);
472
+ }
473
+ }
474
+ /**
475
+ * Generate C4 diagram of specified type.
476
+ *
477
+ * Unified method to generate any C4 diagram type with optional configuration.
478
+ *
479
+ * @param type - Type of C4 diagram to generate ('context' | 'container' | 'component')
480
+ * @param rootDir - Root directory of the project to analyze
481
+ * @param options - Optional configuration for diagram generation
482
+ * @param options.containerName - Container name for component diagrams
483
+ * @returns Mermaid C4 diagram as string
484
+ * @throws Error if diagram type is invalid or generation fails
485
+ *
486
+ * @example
487
+ * ```typescript
488
+ * // Generate context diagram
489
+ * const context = await MermaidGenerator.generateC4Diagram('context', '/path/to/project');
490
+ *
491
+ * // Generate component diagram for specific container
492
+ * const component = await MermaidGenerator.generateC4Diagram('component', '/path/to/project', {
493
+ * containerName: 'API Application'
494
+ * });
495
+ * ```
496
+ */
497
+ static async generateC4Diagram(type, rootDir, options) {
498
+ switch (type) {
499
+ case 'context':
500
+ return this.generateC4Context(rootDir);
501
+ case 'container':
502
+ return this.generateC4Container(rootDir);
503
+ case 'component':
504
+ return this.generateC4Component(rootDir, options?.containerName);
505
+ default:
506
+ throw new Error(`Unsupported C4 diagram type: ${type}`);
507
+ }
508
+ }
366
509
  }
367
510
  exports.MermaidGenerator = MermaidGenerator;
368
511
  //# sourceMappingURL=MermaidGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidGenerator.js","sourceRoot":"","sources":["../../../src/code-intelligence/visualization/MermaidGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MermaidGenerator.js","sourceRoot":"","sources":["../../../src/code-intelligence/visualization/MermaidGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Configuration Loader for Multi-Provider LLM System
3
+ *
4
+ * Loads and validates provider configurations from:
5
+ * - YAML files (.aqe/providers.yaml)
6
+ * - Environment variables
7
+ * - Programmatic configuration objects
8
+ *
9
+ * Supports environment variable interpolation and schema validation.
10
+ *
11
+ * @module config/ConfigLoader
12
+ * @version 1.0.0
13
+ */
14
+ import { MultiProviderConfig, ConfigValidationResult } from './ProviderConfig';
15
+ /**
16
+ * Configuration source options
17
+ */
18
+ export interface ConfigLoadOptions {
19
+ /** Path to YAML config file */
20
+ configPath?: string;
21
+ /** Base directory for resolving relative paths */
22
+ baseDir?: string;
23
+ /** Whether to load from environment variables */
24
+ loadFromEnv?: boolean;
25
+ /** Whether to merge with defaults */
26
+ mergeDefaults?: boolean;
27
+ /** Whether to validate the configuration */
28
+ validate?: boolean;
29
+ /** Whether to interpolate environment variables */
30
+ interpolateEnv?: boolean;
31
+ }
32
+ /**
33
+ * Configuration loader class
34
+ */
35
+ export declare class ConfigLoader {
36
+ private logger;
37
+ private baseDir;
38
+ constructor(baseDir?: string);
39
+ /**
40
+ * Load configuration from various sources
41
+ */
42
+ load(options?: ConfigLoadOptions): Promise<MultiProviderConfig>;
43
+ /**
44
+ * Load configuration from YAML file
45
+ */
46
+ private loadFromYaml;
47
+ /**
48
+ * Load configuration from environment variables
49
+ */
50
+ private loadFromEnvironment;
51
+ /**
52
+ * Merge configuration with defaults
53
+ */
54
+ private mergeWithDefaults;
55
+ /**
56
+ * Interpolate environment variables in configuration
57
+ * Replaces ${ENV_VAR} with the value of ENV_VAR
58
+ */
59
+ private interpolateEnvironmentVariables;
60
+ /**
61
+ * Validate configuration
62
+ */
63
+ validate(config: MultiProviderConfig): ConfigValidationResult;
64
+ /**
65
+ * Deep merge two objects
66
+ */
67
+ private deepMerge;
68
+ /**
69
+ * Set nested property using dot notation
70
+ * Includes comprehensive prototype pollution protection
71
+ */
72
+ private setNestedProperty;
73
+ /**
74
+ * Save configuration to YAML file
75
+ */
76
+ save(config: MultiProviderConfig, outputPath: string): Promise<void>;
77
+ }
78
+ /**
79
+ * Convenience function to load configuration
80
+ */
81
+ export declare function loadConfig(options?: ConfigLoadOptions): Promise<MultiProviderConfig>;
82
+ /**
83
+ * Convenience function to validate configuration
84
+ */
85
+ export declare function validateConfig(config: MultiProviderConfig): ConfigValidationResult;
86
+ //# sourceMappingURL=ConfigLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigLoader.d.ts","sourceRoot":"","sources":["../../src/config/ConfigLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EACL,mBAAmB,EAInB,sBAAsB,EAGvB,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAkBD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE,MAAM;IAK5B;;OAEG;IACG,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsEzE;;OAEG;YACW,YAAY;IAsB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiE3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAqCvC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,sBAAsB;IAkG7D;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA+CzB;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqB3E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAG1F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,sBAAsB,CAGlF"}