@vfarcic/dot-ai 0.150.0 → 0.152.0
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/README.md +1 -1
- package/dist/core/ai-provider-factory.d.ts +0 -9
- package/dist/core/ai-provider-factory.d.ts.map +1 -1
- package/dist/core/ai-provider-factory.js +2 -34
- package/dist/core/ai-provider.interface.d.ts +2 -14
- package/dist/core/ai-provider.interface.d.ts.map +1 -1
- package/dist/core/artifacthub.d.ts +85 -0
- package/dist/core/artifacthub.d.ts.map +1 -0
- package/dist/core/artifacthub.js +106 -0
- package/dist/core/embedding-service.js +1 -1
- package/dist/core/helm-types.d.ts +39 -0
- package/dist/core/helm-types.d.ts.map +1 -0
- package/dist/core/helm-types.js +5 -0
- package/dist/core/helm-utils.d.ts +66 -0
- package/dist/core/helm-utils.d.ts.map +1 -0
- package/dist/core/helm-utils.js +196 -0
- package/dist/core/index.d.ts +7 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +12 -0
- package/dist/core/providers/noop-provider.d.ts +0 -4
- package/dist/core/providers/noop-provider.d.ts.map +1 -1
- package/dist/core/providers/noop-provider.js +0 -6
- package/dist/core/providers/vercel-provider.d.ts +0 -1
- package/dist/core/providers/vercel-provider.d.ts.map +1 -1
- package/dist/core/providers/vercel-provider.js +1 -4
- package/dist/core/schema.d.ts +32 -4
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +200 -18
- package/dist/core/solution-cr.d.ts.map +1 -1
- package/dist/core/solution-cr.js +2 -3
- package/dist/tools/answer-question.d.ts +1 -1
- package/dist/tools/answer-question.d.ts.map +1 -1
- package/dist/tools/answer-question.js +85 -16
- package/dist/tools/choose-solution.d.ts.map +1 -1
- package/dist/tools/choose-solution.js +36 -24
- package/dist/tools/deploy-manifests.d.ts +2 -1
- package/dist/tools/deploy-manifests.d.ts.map +1 -1
- package/dist/tools/deploy-manifests.js +86 -2
- package/dist/tools/generate-manifests.d.ts +1 -0
- package/dist/tools/generate-manifests.d.ts.map +1 -1
- package/dist/tools/generate-manifests.js +204 -1
- package/dist/tools/recommend.d.ts +3 -2
- package/dist/tools/recommend.d.ts.map +1 -1
- package/dist/tools/recommend.js +116 -3
- package/package.json +11 -12
- package/prompts/helm-chart-selection.md +65 -0
- package/prompts/helm-generation.md +85 -0
- package/prompts/intent-analysis.md +17 -0
- package/prompts/question-generation.md +34 -24
- package/prompts/resource-selection.md +52 -8
- package/shared-prompts/prd-start.md +20 -10
- package/shared-prompts/prd-update-progress.md +18 -8
- package/dist/core/providers/anthropic-provider.d.ts +0 -51
- package/dist/core/providers/anthropic-provider.d.ts.map +0 -1
- package/dist/core/providers/anthropic-provider.js +0 -468
- /package/prompts/{manifest-generation.md → capabilities-generation.md} +0 -0
package/README.md
CHANGED
|
@@ -57,7 +57,7 @@ DevOps AI Toolkit democratizes platform engineering and cloud native operations
|
|
|
57
57
|
## Key Features
|
|
58
58
|
|
|
59
59
|
### 🔍 Resource Provisioning Intelligence
|
|
60
|
-
Automatically discovers cluster resources using semantic capability management. AI understands what each resource actually does, providing intelligent recommendations for provisioning resources across clouds using Kubernetes as a control plane.
|
|
60
|
+
Automatically discovers cluster resources using semantic capability management. AI understands what each resource actually does, providing intelligent recommendations for provisioning resources across clouds using Kubernetes as a control plane. When no matching capability exists, automatically discovers and installs third-party tools (Prometheus, Argo CD, Crossplane, etc.) via Helm charts from ArtifactHub.
|
|
61
61
|
📖 [Deployment Guide](./docs/mcp-recommendation-guide.md) | [Capability Management](./docs/mcp-capability-management-guide.md)
|
|
62
62
|
|
|
63
63
|
### 🛠️ Issue Remediation
|
|
@@ -41,18 +41,9 @@ export declare class AIProviderFactory {
|
|
|
41
41
|
* If no API keys are configured, returns a NoOpAIProvider that allows
|
|
42
42
|
* the MCP server to start but returns helpful errors when AI is needed.
|
|
43
43
|
*
|
|
44
|
-
* Supports AI_PROVIDER_SDK env var to override SDK choice:
|
|
45
|
-
* - 'native' (default): Use native provider SDK
|
|
46
|
-
* - 'vercel': Use Vercel AI SDK for the provider
|
|
47
|
-
*
|
|
48
44
|
* @returns Configured AI provider instance or NoOpProvider if no keys available
|
|
49
45
|
*/
|
|
50
46
|
static createFromEnv(): AIProvider;
|
|
51
|
-
/**
|
|
52
|
-
* Create Anthropic provider instance
|
|
53
|
-
* @private
|
|
54
|
-
*/
|
|
55
|
-
private static createAnthropicProvider;
|
|
56
47
|
/**
|
|
57
48
|
* Check if a provider is available (has API key configured)
|
|
58
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider-factory.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-provider-factory.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AA2BjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAuBnD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU;IA8ElC;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMrD;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAMxC;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C"}
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AIProviderFactory = void 0;
|
|
13
13
|
exports.createAIProvider = createAIProvider;
|
|
14
|
-
const anthropic_provider_1 = require("./providers/anthropic-provider");
|
|
15
14
|
const vercel_provider_1 = require("./providers/vercel-provider");
|
|
16
15
|
const noop_provider_1 = require("./providers/noop-provider");
|
|
17
16
|
const model_config_1 = require("./model-config");
|
|
@@ -67,17 +66,8 @@ class AIProviderFactory {
|
|
|
67
66
|
`Phase 1 providers: ${IMPLEMENTED_PROVIDERS.join(', ')}. ` +
|
|
68
67
|
`Future phases will add support for additional Vercel AI SDK providers.`);
|
|
69
68
|
}
|
|
70
|
-
//
|
|
71
|
-
|
|
72
|
-
case 'anthropic':
|
|
73
|
-
case 'anthropic_opus':
|
|
74
|
-
case 'anthropic_haiku':
|
|
75
|
-
return this.createAnthropicProvider(config);
|
|
76
|
-
default:
|
|
77
|
-
// All non-Anthropic providers use VercelProvider
|
|
78
|
-
// This matches the integration test behavior with AI_PROVIDER_SDK=vercel
|
|
79
|
-
return new vercel_provider_1.VercelProvider(config);
|
|
80
|
-
}
|
|
69
|
+
// All providers use VercelProvider (PRD #238: consolidated on Vercel AI SDK)
|
|
70
|
+
return new vercel_provider_1.VercelProvider(config);
|
|
81
71
|
}
|
|
82
72
|
/**
|
|
83
73
|
* Create provider from environment variables
|
|
@@ -88,15 +78,10 @@ class AIProviderFactory {
|
|
|
88
78
|
* If no API keys are configured, returns a NoOpAIProvider that allows
|
|
89
79
|
* the MCP server to start but returns helpful errors when AI is needed.
|
|
90
80
|
*
|
|
91
|
-
* Supports AI_PROVIDER_SDK env var to override SDK choice:
|
|
92
|
-
* - 'native' (default): Use native provider SDK
|
|
93
|
-
* - 'vercel': Use Vercel AI SDK for the provider
|
|
94
|
-
*
|
|
95
81
|
* @returns Configured AI provider instance or NoOpProvider if no keys available
|
|
96
82
|
*/
|
|
97
83
|
static createFromEnv() {
|
|
98
84
|
const providerType = process.env.AI_PROVIDER || 'anthropic';
|
|
99
|
-
const sdkPreference = process.env.AI_PROVIDER_SDK || 'native';
|
|
100
85
|
// Validate provider is implemented
|
|
101
86
|
if (!IMPLEMENTED_PROVIDERS.includes(providerType)) {
|
|
102
87
|
// Write to stderr for logging
|
|
@@ -150,16 +135,6 @@ class AIProviderFactory {
|
|
|
150
135
|
// Generic custom endpoint (Ollama, vLLM, LiteLLM, etc.)
|
|
151
136
|
effectiveProviderType = 'custom';
|
|
152
137
|
}
|
|
153
|
-
// If SDK override to 'vercel', use VercelProvider for all providers
|
|
154
|
-
if (sdkPreference === 'vercel') {
|
|
155
|
-
return new vercel_provider_1.VercelProvider({
|
|
156
|
-
provider: effectiveProviderType,
|
|
157
|
-
apiKey,
|
|
158
|
-
model,
|
|
159
|
-
debugMode,
|
|
160
|
-
baseURL
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
138
|
return this.create({
|
|
164
139
|
provider: effectiveProviderType,
|
|
165
140
|
apiKey,
|
|
@@ -168,13 +143,6 @@ class AIProviderFactory {
|
|
|
168
143
|
baseURL
|
|
169
144
|
});
|
|
170
145
|
}
|
|
171
|
-
/**
|
|
172
|
-
* Create Anthropic provider instance
|
|
173
|
-
* @private
|
|
174
|
-
*/
|
|
175
|
-
static createAnthropicProvider(config) {
|
|
176
|
-
return new anthropic_provider_1.AnthropicProvider(config);
|
|
177
|
-
}
|
|
178
146
|
/**
|
|
179
147
|
* Check if a provider is available (has API key configured)
|
|
180
148
|
*
|
|
@@ -220,23 +220,11 @@ export interface AIProvider {
|
|
|
220
220
|
*/
|
|
221
221
|
getModelName(): string;
|
|
222
222
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
* @returns SDK provider name (e.g., 'xai', 'anthropic', 'openai') or the provider type for native SDKs
|
|
226
|
-
*/
|
|
227
|
-
getSDKProvider(): string;
|
|
228
|
-
/**
|
|
229
|
-
* Execute agentic loop with tool calling (NEW - PRD #136)
|
|
223
|
+
* Execute agentic loop with tool calling (PRD #136)
|
|
230
224
|
*
|
|
231
225
|
* AI autonomously decides which tools to call and when to stop.
|
|
232
226
|
* Supports multi-turn conversations with tool execution.
|
|
233
|
-
*
|
|
234
|
-
* NOTE: Currently NOT USED in codebase. PRD #136 analysis showed JSON-based loops
|
|
235
|
-
* achieve same goals without SDK overhead. Kept for potential future use.
|
|
236
|
-
*
|
|
237
|
-
* IMPLEMENTATION STATUS:
|
|
238
|
-
* - AnthropicProvider: ✅ Implemented
|
|
239
|
-
* - VercelAIProvider: ❌ Not implemented (not needed for current workflows)
|
|
227
|
+
* Used by remediate and operate tools for AI-driven investigations.
|
|
240
228
|
*
|
|
241
229
|
* @param config Tool loop configuration with system prompt, tools, and executor
|
|
242
230
|
* @returns Agentic result with final message, iterations, tool calls, and token usage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider.interface.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ai-provider.interface.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ArtifactHub API Client
|
|
3
|
+
*
|
|
4
|
+
* Handles searching and retrieving Helm chart information from ArtifactHub
|
|
5
|
+
* API Documentation: https://artifacthub.io/docs/api/
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Raw search result from ArtifactHub API
|
|
9
|
+
*/
|
|
10
|
+
export interface ArtifactHubSearchResult {
|
|
11
|
+
package_id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
normalized_name: string;
|
|
14
|
+
logo_image_id?: string;
|
|
15
|
+
stars: number;
|
|
16
|
+
official: boolean;
|
|
17
|
+
verified_publisher: boolean;
|
|
18
|
+
repository: {
|
|
19
|
+
name: string;
|
|
20
|
+
url: string;
|
|
21
|
+
official: boolean;
|
|
22
|
+
verified_publisher: boolean;
|
|
23
|
+
};
|
|
24
|
+
version: string;
|
|
25
|
+
app_version?: string;
|
|
26
|
+
description: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Raw package details from ArtifactHub API
|
|
30
|
+
*/
|
|
31
|
+
export interface ArtifactHubPackageDetails {
|
|
32
|
+
package_id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
normalized_name: string;
|
|
35
|
+
version: string;
|
|
36
|
+
app_version?: string;
|
|
37
|
+
description: string;
|
|
38
|
+
readme?: string;
|
|
39
|
+
values_schema?: Record<string, any>;
|
|
40
|
+
default_values?: string;
|
|
41
|
+
repository: {
|
|
42
|
+
name: string;
|
|
43
|
+
url: string;
|
|
44
|
+
};
|
|
45
|
+
maintainers?: Array<{
|
|
46
|
+
name: string;
|
|
47
|
+
email?: string;
|
|
48
|
+
}>;
|
|
49
|
+
links?: Array<{
|
|
50
|
+
name: string;
|
|
51
|
+
url: string;
|
|
52
|
+
}>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* ArtifactHub API client for Helm chart discovery
|
|
56
|
+
*/
|
|
57
|
+
export declare class ArtifactHubService {
|
|
58
|
+
private baseUrl;
|
|
59
|
+
private timeout;
|
|
60
|
+
private excludedRepos;
|
|
61
|
+
/**
|
|
62
|
+
* Search for Helm charts matching the query
|
|
63
|
+
*
|
|
64
|
+
* @param query - Search query (e.g., "argo cd", "prometheus")
|
|
65
|
+
* @param limit - Maximum number of results to return
|
|
66
|
+
* @returns Array of search results sorted by relevance (excludes Bitnami)
|
|
67
|
+
*/
|
|
68
|
+
searchCharts(query: string, limit?: number): Promise<ArtifactHubSearchResult[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Get detailed information about a specific chart
|
|
71
|
+
*
|
|
72
|
+
* @param repoName - Repository name (e.g., "argo")
|
|
73
|
+
* @param chartName - Chart name (e.g., "argo-cd")
|
|
74
|
+
* @returns Detailed chart information including README and values schema
|
|
75
|
+
*/
|
|
76
|
+
getChartDetails(repoName: string, chartName: string): Promise<ArtifactHubPackageDetails>;
|
|
77
|
+
/**
|
|
78
|
+
* Format chart results for AI analysis prompt
|
|
79
|
+
*
|
|
80
|
+
* @param charts - Array of ArtifactHub search results
|
|
81
|
+
* @returns Formatted string for AI prompt
|
|
82
|
+
*/
|
|
83
|
+
formatChartsForAI(charts: ArtifactHubSearchResult[]): string;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=artifacthub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacthub.d.ts","sourceRoot":"","sources":["../../src/core/artifacthub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,OAAO,CAAS;IAIxB,OAAO,CAAC,aAAa,CAAe;IAEpC;;;;;;OAMG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAsCzF;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA8B9F;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM;CAW7D"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ArtifactHub API Client
|
|
4
|
+
*
|
|
5
|
+
* Handles searching and retrieving Helm chart information from ArtifactHub
|
|
6
|
+
* API Documentation: https://artifacthub.io/docs/api/
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ArtifactHubService = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* ArtifactHub API client for Helm chart discovery
|
|
12
|
+
*/
|
|
13
|
+
class ArtifactHubService {
|
|
14
|
+
baseUrl = 'https://artifacthub.io/api/v1';
|
|
15
|
+
timeout = 10000; // 10 seconds
|
|
16
|
+
// Repositories to exclude from search results
|
|
17
|
+
// Bitnami charts often have non-standard configurations
|
|
18
|
+
excludedRepos = ['bitnami'];
|
|
19
|
+
/**
|
|
20
|
+
* Search for Helm charts matching the query
|
|
21
|
+
*
|
|
22
|
+
* @param query - Search query (e.g., "argo cd", "prometheus")
|
|
23
|
+
* @param limit - Maximum number of results to return
|
|
24
|
+
* @returns Array of search results sorted by relevance (excludes Bitnami)
|
|
25
|
+
*/
|
|
26
|
+
async searchCharts(query, limit = 10) {
|
|
27
|
+
const encodedQuery = encodeURIComponent(query);
|
|
28
|
+
// kind=0 filters for Helm charts only
|
|
29
|
+
const url = `${this.baseUrl}/packages/search?ts_query_web=${encodedQuery}&kind=0&limit=${limit}`;
|
|
30
|
+
try {
|
|
31
|
+
const controller = new AbortController();
|
|
32
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
33
|
+
const response = await fetch(url, {
|
|
34
|
+
method: 'GET',
|
|
35
|
+
headers: {
|
|
36
|
+
'Accept': 'application/json',
|
|
37
|
+
},
|
|
38
|
+
signal: controller.signal,
|
|
39
|
+
});
|
|
40
|
+
clearTimeout(timeoutId);
|
|
41
|
+
if (!response.ok) {
|
|
42
|
+
throw new Error(`ArtifactHub API error: ${response.status} ${response.statusText}`);
|
|
43
|
+
}
|
|
44
|
+
const data = await response.json();
|
|
45
|
+
// Filter out excluded repositories (e.g., Bitnami)
|
|
46
|
+
const packages = data.packages || [];
|
|
47
|
+
return packages.filter(pkg => !this.excludedRepos.includes(pkg.repository.name.toLowerCase()));
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
|
51
|
+
throw new Error(`ArtifactHub API timeout after ${this.timeout}ms`);
|
|
52
|
+
}
|
|
53
|
+
throw new Error(`ArtifactHub search failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get detailed information about a specific chart
|
|
58
|
+
*
|
|
59
|
+
* @param repoName - Repository name (e.g., "argo")
|
|
60
|
+
* @param chartName - Chart name (e.g., "argo-cd")
|
|
61
|
+
* @returns Detailed chart information including README and values schema
|
|
62
|
+
*/
|
|
63
|
+
async getChartDetails(repoName, chartName) {
|
|
64
|
+
const url = `${this.baseUrl}/packages/helm/${repoName}/${chartName}`;
|
|
65
|
+
try {
|
|
66
|
+
const controller = new AbortController();
|
|
67
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
68
|
+
const response = await fetch(url, {
|
|
69
|
+
method: 'GET',
|
|
70
|
+
headers: {
|
|
71
|
+
'Accept': 'application/json',
|
|
72
|
+
},
|
|
73
|
+
signal: controller.signal,
|
|
74
|
+
});
|
|
75
|
+
clearTimeout(timeoutId);
|
|
76
|
+
if (!response.ok) {
|
|
77
|
+
throw new Error(`ArtifactHub API error: ${response.status} ${response.statusText}`);
|
|
78
|
+
}
|
|
79
|
+
return await response.json();
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
|
83
|
+
throw new Error(`ArtifactHub API timeout after ${this.timeout}ms`);
|
|
84
|
+
}
|
|
85
|
+
throw new Error(`ArtifactHub chart details failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Format chart results for AI analysis prompt
|
|
90
|
+
*
|
|
91
|
+
* @param charts - Array of ArtifactHub search results
|
|
92
|
+
* @returns Formatted string for AI prompt
|
|
93
|
+
*/
|
|
94
|
+
formatChartsForAI(charts) {
|
|
95
|
+
return charts.map((chart, index) => `
|
|
96
|
+
Chart ${index + 1}: ${chart.name}
|
|
97
|
+
Repository: ${chart.repository.name} (${chart.repository.url})
|
|
98
|
+
Version: ${chart.version}${chart.app_version ? ` (App: ${chart.app_version})` : ''}
|
|
99
|
+
Description: ${chart.description || 'No description'}
|
|
100
|
+
Official: ${chart.official || chart.repository.official ? 'Yes' : 'No'}
|
|
101
|
+
Verified Publisher: ${chart.verified_publisher || chart.repository.verified_publisher ? 'Yes' : 'No'}
|
|
102
|
+
Stars: ${chart.stars}
|
|
103
|
+
`).join('\n');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.ArtifactHubService = ArtifactHubService;
|
|
@@ -39,7 +39,7 @@ class VercelEmbeddingProvider {
|
|
|
39
39
|
break;
|
|
40
40
|
case 'google':
|
|
41
41
|
this.apiKey = config.apiKey || process.env.GOOGLE_API_KEY || '';
|
|
42
|
-
this.model = config.model || '
|
|
42
|
+
this.model = config.model || process.env.EMBEDDINGS_MODEL || 'gemini-embedding-001';
|
|
43
43
|
this.dimensions = config.dimensions || 768;
|
|
44
44
|
break;
|
|
45
45
|
case 'amazon_bedrock':
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Helm-based solutions and sessions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Helm chart information from ArtifactHub
|
|
6
|
+
*/
|
|
7
|
+
export interface HelmChartInfo {
|
|
8
|
+
repository: string;
|
|
9
|
+
repositoryName: string;
|
|
10
|
+
chartName: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
appVersion?: string;
|
|
13
|
+
official?: boolean;
|
|
14
|
+
verifiedPublisher?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Solution data for Helm-based installations
|
|
18
|
+
* Stored in sol-* sessions alongside capability-based solutions
|
|
19
|
+
*/
|
|
20
|
+
export interface HelmSolutionData {
|
|
21
|
+
intent: string;
|
|
22
|
+
type: 'helm';
|
|
23
|
+
chart: HelmChartInfo;
|
|
24
|
+
score: number;
|
|
25
|
+
description: string;
|
|
26
|
+
reasons: string[];
|
|
27
|
+
questions?: {
|
|
28
|
+
required?: any[];
|
|
29
|
+
basic?: any[];
|
|
30
|
+
advanced?: any[];
|
|
31
|
+
};
|
|
32
|
+
answers: Record<string, any>;
|
|
33
|
+
generatedValues?: Record<string, any>;
|
|
34
|
+
helmCommand?: string;
|
|
35
|
+
namespace?: string;
|
|
36
|
+
releaseName?: string;
|
|
37
|
+
timestamp: string;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=helm-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-types.d.ts","sourceRoot":"","sources":["../../src/core/helm-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helm Utilities - Shared functions for Helm chart operations
|
|
3
|
+
*/
|
|
4
|
+
import { HelmChartInfo } from './helm-types';
|
|
5
|
+
/**
|
|
6
|
+
* Sanitize input for safe shell command usage.
|
|
7
|
+
* Validates that input contains only safe characters to prevent command injection.
|
|
8
|
+
* @throws Error if input contains potentially dangerous characters
|
|
9
|
+
*/
|
|
10
|
+
export declare function sanitizeShellArg(arg: string, fieldName?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Validate and sanitize HelmChartInfo for safe shell command usage
|
|
13
|
+
*/
|
|
14
|
+
export declare function sanitizeChartInfo(chart: HelmChartInfo): {
|
|
15
|
+
repositoryName: string;
|
|
16
|
+
repository: string;
|
|
17
|
+
chartName: string;
|
|
18
|
+
version?: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Build the Helm command from chart info and deployment options
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildHelmCommand(chart: HelmChartInfo, releaseName: string, namespace: string, valuesPath?: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Ensure Helm repository is added and updated
|
|
26
|
+
*/
|
|
27
|
+
export declare function ensureHelmRepo(chart: HelmChartInfo): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Execute a Helm command with proper error handling
|
|
30
|
+
*/
|
|
31
|
+
export declare function executeHelmCommand(command: string, options?: {
|
|
32
|
+
timeout?: number;
|
|
33
|
+
maxBuffer?: number;
|
|
34
|
+
}): Promise<{
|
|
35
|
+
stdout: string;
|
|
36
|
+
stderr: string;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Get the path for Helm values file
|
|
40
|
+
*/
|
|
41
|
+
export declare function getHelmValuesPath(solutionId: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Check if Helm values file exists for a solution
|
|
44
|
+
*/
|
|
45
|
+
export declare function helmValuesExist(solutionId: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Ensure tmp directory exists
|
|
48
|
+
*/
|
|
49
|
+
export declare function ensureTmpDir(): string;
|
|
50
|
+
/**
|
|
51
|
+
* Result of Helm command execution
|
|
52
|
+
*/
|
|
53
|
+
export interface HelmExecutionResult {
|
|
54
|
+
success: boolean;
|
|
55
|
+
output: string;
|
|
56
|
+
error?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Run Helm dry-run validation
|
|
60
|
+
*/
|
|
61
|
+
export declare function validateHelmDryRun(chart: HelmChartInfo, releaseName: string, namespace: string, valuesPath: string): Promise<HelmExecutionResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Deploy a Helm chart
|
|
64
|
+
*/
|
|
65
|
+
export declare function deployHelmRelease(chart: HelmChartInfo, releaseName: string, namespace: string, valuesPath: string | undefined, timeout: number): Promise<HelmExecutionResult>;
|
|
66
|
+
//# sourceMappingURL=helm-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-utils.d.ts","sourceRoot":"","sources":["../../src/core/helm-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAmB,GAAG,MAAM,CAOpF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAOA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAwBR;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAO7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAyB9B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CA6B9B"}
|