@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
85 lines • 2.38 kB
TypeScript
/**
* ArtifactHub API Client
*
* Handles searching and retrieving Helm chart information from ArtifactHub
* API Documentation: https://artifacthub.io/docs/api/
*/
/**
* Raw search result from ArtifactHub API
*/
export interface ArtifactHubSearchResult {
package_id: string;
name: string;
normalized_name: string;
logo_image_id?: string;
stars: number;
official: boolean;
verified_publisher: boolean;
repository: {
name: string;
url: string;
official: boolean;
verified_publisher: boolean;
};
version: string;
app_version?: string;
description: string;
}
/**
* Raw package details from ArtifactHub API
*/
export interface ArtifactHubPackageDetails {
package_id: string;
name: string;
normalized_name: string;
version: string;
app_version?: string;
description: string;
readme?: string;
values_schema?: Record<string, unknown>;
default_values?: string;
repository: {
name: string;
url: string;
};
maintainers?: Array<{
name: string;
email?: string;
}>;
links?: Array<{
name: string;
url: string;
}>;
}
/**
* ArtifactHub API client for Helm chart discovery
*/
export declare class ArtifactHubService {
private baseUrl;
private timeout;
private excludedRepos;
/**
* Search for Helm charts matching the query
*
* @param query - Search query (e.g., "argo cd", "prometheus")
* @param limit - Maximum number of results to return
* @returns Array of search results sorted by relevance (excludes Bitnami)
*/
searchCharts(query: string, limit?: number): Promise<ArtifactHubSearchResult[]>;
/**
* Get detailed information about a specific chart
*
* @param repoName - Repository name (e.g., "argo")
* @param chartName - Chart name (e.g., "argo-cd")
* @returns Detailed chart information including README and values schema
*/
getChartDetails(repoName: string, chartName: string): Promise<ArtifactHubPackageDetails>;
/**
* Format chart results for AI analysis prompt
*
* @param charts - Array of ArtifactHub search results
* @returns Formatted string for AI prompt
*/
formatChartsForAI(charts: ArtifactHubSearchResult[]): string;
}
//# sourceMappingURL=artifacthub.d.ts.map