optivise
Version:
Optivise - The Ultimate Optimizely Development Assistant with AI-powered features, zero-config setup, and comprehensive development support
74 lines • 1.93 kB
TypeScript
/**
* OpenAI Client Integration Service
* Provides embeddings and AI capabilities with automatic API key detection
*/
export interface EmbeddingRequest {
text: string;
model?: string;
}
export interface EmbeddingResponse {
embedding: number[];
tokens: number;
model: string;
}
export interface OpenAIConfig {
apiKey?: string;
organization?: string;
baseURL?: string;
timeout?: number;
maxRetries?: number;
}
export declare class OpenAIClientService {
private client;
private keyDetector;
private config;
private breaker;
constructor(config?: OpenAIConfig);
/**
* Initialize OpenAI client with automatic API key detection
*/
initialize(): Promise<boolean>;
/**
* Initialize client with a specific API key
*/
private initializeWithKey;
/**
* Get API key value from detected source
*/
private getKeyValue;
/**
* Check if OpenAI client is available
*/
isAvailable(): boolean;
/**
* Generate embeddings for text
*/
generateEmbedding(request: EmbeddingRequest): Promise<EmbeddingResponse | null>;
/**
* Generate embeddings for multiple texts (batch processing)
*/
generateEmbeddings(texts: string[], model?: string): Promise<EmbeddingResponse[]>;
/**
* Test the OpenAI connection
*/
testConnection(): Promise<boolean>;
/**
* Get client usage statistics
*/
getUsageStats(): {
clientInitialized: boolean;
config: {
timeout: number | undefined;
maxRetries: number | undefined;
hasOrganization: boolean;
hasCustomBaseURL: boolean;
};
};
/**
* Cleanup resources
*/
cleanup(): void;
getCircuitState(): 'closed' | 'open' | 'half-open';
}
export declare const openAIClient: OpenAIClientService;
//# sourceMappingURL=openai-client.d.ts.map