@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
TypeScript
/**
* 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