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.
- package/.claude/agents/qe-code-intelligence.md +88 -1
- package/CHANGELOG.md +134 -0
- package/README.md +222 -159
- package/dist/agents/BaseAgent.d.ts +19 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +41 -1
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.d.ts +18 -1
- package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.js +96 -1
- package/dist/agents/CodeIntelligenceAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +8 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +65 -1
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +2 -2
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +16 -6
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/adapters/AgentLLMAdapter.d.ts +127 -0
- package/dist/agents/adapters/AgentLLMAdapter.d.ts.map +1 -0
- package/dist/agents/adapters/AgentLLMAdapter.js +366 -0
- package/dist/agents/adapters/AgentLLMAdapter.js.map +1 -0
- package/dist/agents/adapters/index.d.ts +1 -0
- package/dist/agents/adapters/index.d.ts.map +1 -1
- package/dist/agents/adapters/index.js +5 -1
- package/dist/agents/adapters/index.js.map +1 -1
- package/dist/agents/interfaces/IAgentLLM.d.ts +257 -0
- package/dist/agents/interfaces/IAgentLLM.d.ts.map +1 -0
- package/dist/agents/interfaces/IAgentLLM.js +39 -0
- package/dist/agents/interfaces/IAgentLLM.js.map +1 -0
- package/dist/agents/interfaces/index.d.ts +10 -0
- package/dist/agents/interfaces/index.d.ts.map +1 -0
- package/dist/agents/interfaces/index.js +14 -0
- package/dist/agents/interfaces/index.js.map +1 -0
- package/dist/agents/n8n/N8nBaseAgent.d.ts +18 -0
- package/dist/agents/n8n/N8nBaseAgent.d.ts.map +1 -1
- package/dist/agents/n8n/N8nBaseAgent.js +80 -0
- package/dist/agents/n8n/N8nBaseAgent.js.map +1 -1
- package/dist/cli/commands/knowledge-graph.d.ts +30 -0
- package/dist/cli/commands/knowledge-graph.d.ts.map +1 -1
- package/dist/cli/commands/knowledge-graph.js +206 -4
- package/dist/cli/commands/knowledge-graph.js.map +1 -1
- package/dist/cli/commands/providers.d.ts +50 -0
- package/dist/cli/commands/providers.d.ts.map +1 -0
- package/dist/cli/commands/providers.js +403 -0
- package/dist/cli/commands/providers.js.map +1 -0
- package/dist/cli/index.js +214 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -1
- package/dist/code-intelligence/indexing/FileWatcher.js +11 -8
- package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -1
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.d.ts +75 -0
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.d.ts.map +1 -0
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.js +400 -0
- package/dist/code-intelligence/inference/ComponentBoundaryAnalyzer.js.map +1 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.d.ts +31 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.d.ts.map +1 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.js +523 -0
- package/dist/code-intelligence/inference/ExternalSystemDetector.js.map +1 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.d.ts +78 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.d.ts.map +1 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.js +491 -0
- package/dist/code-intelligence/inference/ProjectMetadataAnalyzer.js.map +1 -0
- package/dist/code-intelligence/inference/index.d.ts +36 -0
- package/dist/code-intelligence/inference/index.d.ts.map +1 -0
- package/dist/code-intelligence/inference/index.js +65 -0
- package/dist/code-intelligence/inference/index.js.map +1 -0
- package/dist/code-intelligence/inference/types.d.ts +196 -0
- package/dist/code-intelligence/inference/types.d.ts.map +1 -0
- package/dist/code-intelligence/inference/types.js +9 -0
- package/dist/code-intelligence/inference/types.js.map +1 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.d.ts +75 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.js +267 -0
- package/dist/code-intelligence/visualization/C4ComponentDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.d.ts +138 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.js +343 -0
- package/dist/code-intelligence/visualization/C4ContainerDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.d.ts +67 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.js +152 -0
- package/dist/code-intelligence/visualization/C4ContextDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +79 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -1
- package/dist/code-intelligence/visualization/MermaidGenerator.js +143 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -1
- package/dist/config/ConfigLoader.d.ts +86 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +450 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/config/ProviderConfig.d.ts +153 -0
- package/dist/config/ProviderConfig.d.ts.map +1 -0
- package/dist/config/ProviderConfig.js +155 -0
- package/dist/config/ProviderConfig.js.map +1 -0
- package/dist/config/index.d.ts +35 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +45 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js +6 -9
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.js +23 -0
- package/dist/memory/HNSWPatternStore.js.map +1 -1
- package/dist/memory/RuVectorPatternStore.d.ts +5 -0
- package/dist/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/memory/RuVectorPatternStore.js +11 -0
- package/dist/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/providers/CostOptimizationStrategies.d.ts +297 -0
- package/dist/providers/CostOptimizationStrategies.d.ts.map +1 -0
- package/dist/providers/CostOptimizationStrategies.js +831 -0
- package/dist/providers/CostOptimizationStrategies.js.map +1 -0
- package/dist/providers/HybridRouter.d.ts +142 -5
- package/dist/providers/HybridRouter.d.ts.map +1 -1
- package/dist/providers/HybridRouter.js +472 -6
- package/dist/providers/HybridRouter.js.map +1 -1
- package/dist/providers/HybridRouterComplexityIntegration.d.ts +169 -0
- package/dist/providers/HybridRouterComplexityIntegration.d.ts.map +1 -0
- package/dist/providers/HybridRouterComplexityIntegration.js +319 -0
- package/dist/providers/HybridRouterComplexityIntegration.js.map +1 -0
- package/dist/providers/HybridRouterModelSelection.d.ts +106 -0
- package/dist/providers/HybridRouterModelSelection.d.ts.map +1 -0
- package/dist/providers/HybridRouterModelSelection.js +420 -0
- package/dist/providers/HybridRouterModelSelection.js.map +1 -0
- package/dist/providers/LLMProviderFactory.d.ts +23 -9
- package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
- package/dist/providers/LLMProviderFactory.js +54 -11
- package/dist/providers/LLMProviderFactory.js.map +1 -1
- package/dist/providers/OllamaProvider.d.ts +122 -0
- package/dist/providers/OllamaProvider.d.ts.map +1 -0
- package/dist/providers/OllamaProvider.js +425 -0
- package/dist/providers/OllamaProvider.js.map +1 -0
- package/dist/providers/index.d.ts +6 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +17 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/routing/ComplexityClassifier.d.ts +266 -0
- package/dist/routing/ComplexityClassifier.d.ts.map +1 -0
- package/dist/routing/ComplexityClassifier.js +567 -0
- package/dist/routing/ComplexityClassifier.js.map +1 -0
- package/dist/routing/ModelCapabilityRegistry.d.ts +98 -0
- package/dist/routing/ModelCapabilityRegistry.d.ts.map +1 -0
- package/dist/routing/ModelCapabilityRegistry.js +216 -0
- package/dist/routing/ModelCapabilityRegistry.js.map +1 -0
- package/dist/routing/index.d.ts +13 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +24 -0
- package/dist/routing/index.js.map +1 -0
- package/docs/reference/model-capability-registry.md +402 -0
- package/docs/reference/provider-config-schema.md +608 -0
- 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":";;;AAEA;;;;;;;;;;;GAWG;AACH,MAAa,uBAAuB;IAClC;;;;;;OAMG;IACH,KAAK,CAAC,QAAyB,EAAE,eAAiC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,oBAAoB,CAAC;QAEjE,MAAM,KAAK,GAAa;YACtB,WAAW;YACX,sCAAsC,QAAQ,CAAC,IAAI,EAAE;YACrD,EAAE;YACF,IAAI,CAAC,eAAe,EAAE;YACtB,YAAY,UAAU,MAAM,QAAQ,CAAC,IAAI,OAAO,WAAW,IAAI;SAChE,CAAC;QAEF,uBAAuB;QACvB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QAElE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,IAAY;QACnC,OAAO,IAAI;aACR,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;aAChC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,WAAW,EAAE,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,eAAe;QACrB,MAAM,KAAK,GAAa;YACtB,gDAAgD;YAChD,wEAAwE;SACzE,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,OAAyB;QACvD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpD,mBAAmB;YACnB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,MAAM,MAAM,CAAC,IAAI,OAAO,WAAW,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,MAAsB;QACjD,MAAM,gBAAgB,GAA2B;YAC/C,QAAQ,EAAE,iBAAiB;YAC3B,GAAG,EAAE,sBAAsB;YAC3B,GAAG,EAAE,wBAAwB;YAC7B,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,eAAe;YACtB,YAAY,EAAE,sBAAsB;YACpC,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,gBAAgB;SAC1B,CAAC;QAEF,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAAC,QAAyB,EAAE,SAA2B;QAClF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAExD,iBAAiB;QACjB,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,WAAW,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,6BAA6B,CAAC,CAAC;QAExE,6BAA6B;QAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,KAAK,UAAU,MAAM,YAAY,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,MAAsB;QACjD,MAAM,MAAM,GAA2B;YACrC,QAAQ,EAAE,0BAA0B;YACpC,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,iBAAiB;YAC1B,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,gCAAgC;YAC9C,KAAK,EAAE,0BAA0B;YACjC,OAAO,EAAE,iBAAiB;SAC3B,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;IAC7C,CAAC;CACF;AA1JD,0DA0JC"}
|
|
@@ -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;
|
|
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"}
|