UNPKG

remcode

Version:

Turn your AI assistant into a codebase expert. Intelligent code analysis, semantic search, and software engineering guidance through MCP integration.

74 lines (73 loc) 2.18 kB
/** * Model Initialization Service * * Handles programmatic initialization and validation of HuggingFace models * during remcode setup. Ensures embedding models are available and working * before proceeding with repository processing. */ /** * Model initialization result */ export interface ModelInitializationResult { success: boolean; modelId: string; modelName: string; embeddingDimension: number; isHealthy: boolean; error?: string; availableModels?: Array<{ id: string; name: string; isHealthy: boolean; }>; } /** * Model initialization options */ export interface ModelInitializationOptions { token: string; preferredModel?: string; testEmbedding?: boolean; } /** * Class for initializing and validating embedding models during setup */ export declare class ModelInitializer { private token; constructor(token: string); /** * Initialize embedding model for remcode setup * Tests model availability and validates embedding generation * @param options Initialization options * @returns Model initialization result */ initializeEmbeddingModel(options: ModelInitializationOptions): Promise<ModelInitializationResult>; /** * Test embedding generation with sample code * @param embeddingManager The embedding manager to test */ private testEmbeddingGeneration; /** * Validate HuggingFace token by testing API access * @param token The token to validate * @returns True if token is valid and has required permissions */ static validateToken(token: string): Promise<boolean>; /** * Get model configuration for .remcode file * @param initResult Model initialization result * @returns Model configuration object */ static getModelConfiguration(initResult: ModelInitializationResult): { embeddingModel: string; embeddingModelName: string; embeddingDimension: number; modelHealthy: boolean; lastModelCheck: string; availableModels: { id: string; name: string; isHealthy: boolean; }[]; }; }