anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
93 lines • 2.58 kB
TypeScript
/**
* OpenAI MCP Provider Implementation
*
* Provider implementation for OpenAI LLM services
*/
import { LLMRequest, LLMResponse, LLMResponseChunk, ProviderConfig, FunctionDefinition } from '../types';
import { BaseLLMProvider, ProviderRequestContext } from './base-provider';
/**
* OpenAI MCP Provider
*/
export declare class OpenAIProvider extends BaseLLMProvider {
private apiKey;
private baseURL;
private organization?;
constructor(config: ProviderConfig);
/**
* Initialize the provider
*/
initialize(): Promise<void>;
/**
* Test connection to OpenAI API
*/
private testConnection;
/**
* Check provider health
*/
health(): Promise<{
status: 'healthy' | 'unhealthy';
latency?: number;
details?: any;
}>;
/**
* Send completion request
*/
completion(request: LLMRequest, context: ProviderRequestContext): Promise<LLMResponse>;
/**
* Send streaming completion request
*/
stream(request: LLMRequest, context: ProviderRequestContext): AsyncIterable<LLMResponseChunk>;
/**
* Generate embeddings
*/
embed(request: LLMRequest, context: ProviderRequestContext): Promise<LLMResponse>;
/**
* Moderate content
*/
moderate(request: LLMRequest, context: ProviderRequestContext): Promise<LLMResponse>;
/**
* Build completion request body
*/
private buildCompletionRequest;
/**
* Build messages array for OpenAI API
*/
private buildMessages;
/**
* Convert function definitions to OpenAI format
*/
protected convertFunctions(functions: FunctionDefinition[]): any[];
/**
* Convert OpenAI completion response to standard format
*/
private convertCompletionResponse;
/**
* Convert OpenAI stream chunk to standard format
*/
private convertStreamChunk;
/**
* Convert OpenAI embedding response to standard format
*/
private convertEmbeddingResponse;
/**
* Convert OpenAI moderation response to standard format
*/
private convertModerationResponse;
/**
* Get HTTP headers for OpenAI API
*/
private getHeaders;
/**
* Handle OpenAI API errors
*/
private handleAPIError;
}
/**
* OpenAI Provider Factory
*/
export declare class OpenAIProviderFactory {
static createProvider(config: ProviderConfig): OpenAIProvider;
static validateConfig(config: ProviderConfig): boolean;
static getProviderType(): string;
}
//# sourceMappingURL=openai-provider.d.ts.map