UNPKG

@vfarcic/dot-ai

Version:

AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance

79 lines 3.06 kB
/** * Capability Vector Service * * Vector-based storage and retrieval for resource capabilities * Extends BaseVectorService to provide capability-specific operations */ import { BaseVectorService, BaseSearchOptions, BaseSearchResult } from './base-vector-service'; import { EmbeddingService } from './embedding-service'; import { ResourceCapability, PrinterColumn } from './capabilities'; export type { ResourceCapability, PrinterColumn }; export interface CapabilitySearchOptions extends BaseSearchOptions { complexityFilter?: 'low' | 'medium' | 'high'; providerFilter?: string[]; } /** * Vector service for storing and searching resource capabilities */ export declare class CapabilityVectorService extends BaseVectorService<ResourceCapability> { constructor(collectionName?: string, embeddingService?: EmbeddingService); /** * Create searchable text from capability data for embedding generation */ protected createSearchText(capability: ResourceCapability): string; /** * Extract unique ID from capability data */ protected extractId(capability: ResourceCapability): string; /** * Convert capability to storage payload format */ protected createPayload(capability: ResourceCapability): Record<string, unknown>; /** * Convert storage payload back to capability object */ protected payloadToData(payload: Record<string, unknown>): ResourceCapability; /** * Store a capability in the vector database */ storeCapability(capability: ResourceCapability): Promise<void>; /** * Search capabilities by user intent with optional filters */ searchCapabilities(intent: string, options?: CapabilitySearchOptions): Promise<BaseSearchResult<ResourceCapability>[]>; /** * Get capability by ID * Used by MCP operations with IDs from list/search results */ getCapability(id: string): Promise<ResourceCapability | null>; /** * Get capability by kind and apiVersion * Used for JSON format lookup from dashboard UI * * @param kind - Resource kind (e.g., "Deployment", "Cluster") * @param apiVersion - Full apiVersion (e.g., "apps/v1", "postgresql.cnpg.io/v1") * @returns Matching capability or null if not found */ getCapabilityByKindApiVersion(kind: string, apiVersion: string): Promise<ResourceCapability | null>; /** * Delete capability by resource name */ deleteCapability(resourceName: string): Promise<void>; /** * Delete capability by ID (for MCP tool interface) */ deleteCapabilityById(id: string): Promise<void>; /** * Delete all capabilities efficiently by recreating collection */ deleteAllCapabilities(): Promise<void>; /** * List all capabilities with optional pagination */ getAllCapabilities(limit?: number): Promise<ResourceCapability[]>; /** * Get count of stored capabilities */ getCapabilitiesCount(): Promise<number>; } //# sourceMappingURL=capability-vector-service.d.ts.map