mnemos-coder
Version:
CLI-based coding agent with graph-based execution loop and terminal UI
81 lines • 1.96 kB
TypeScript
/**
* API-based embedding service for code semantic search
* Uses external embedding models via REST API
*/
import { EmbeddingConfig } from '../config/GlobalConfig.js';
export interface EmbeddingResult {
embedding: number[];
dimension: number;
processingTime: number;
model: string;
}
export interface BatchEmbeddingResult {
embeddings: number[][];
dimension: number;
processingTime: number;
model: string;
total_tokens?: number;
}
export interface EmbeddingRequest {
input: string | string[];
model: string;
encoding_format?: string;
dimensions?: number;
}
export interface EmbeddingResponse {
object: string;
data: Array<{
object: string;
embedding: number[];
index: number;
}>;
model: string;
usage: {
prompt_tokens: number;
total_tokens: number;
};
}
export declare class ApiEmbedder {
private config;
private baseURL;
private headers;
constructor(config: EmbeddingConfig);
/**
* Generate embedding for a single text
*/
embed(text: string): Promise<EmbeddingResult>;
/**
* Generate embeddings for multiple texts (batch processing)
*/
embedBatch(texts: string[]): Promise<BatchEmbeddingResult>;
/**
* Calculate cosine similarity between two embeddings
*/
calculateSimilarity(embedding1: number[], embedding2: number[]): number;
/**
* Get embedding configuration
*/
getConfig(): EmbeddingConfig;
/**
* Test API connection
*/
testConnection(): Promise<{
success: boolean;
message: string;
latency?: number;
}>;
/**
* Get model information
*/
getModelInfo(): {
name: string;
model: string;
dimension: number;
baseURL: string;
};
/**
* Make HTTP request to embedding API
*/
private makeRequest;
}
//# sourceMappingURL=ApiEmbedder.d.ts.map