sfcoe-ailabs
Version:
AI-powered code review tool with static analysis integration for comprehensive code quality assessment.
25 lines (24 loc) • 1.09 kB
JavaScript
import { OpenAiClient, AzureOpenAiClient, AIProviderType, AnthropicAiClient, } from './index.js';
export default class AIProviderFactory {
/**
* Gets an AI provider instance
*
* @param type - The type of AI provider to create
* @param token - The API token for the provider
* @param model - The model name to use
* @returns An instance of the specified AI provider
* @throws Error when the provider type is unsupported
*/
static getInstance(type, token, model, apiEndpoint, apiVersion) {
switch (type) {
case AIProviderType.OpenAI:
return new OpenAiClient(token, model, apiEndpoint ?? '', apiVersion ?? '');
case AIProviderType.Anthropic:
return new AnthropicAiClient(token, model, apiEndpoint ?? '', apiVersion ?? '');
case AIProviderType.AzureOpenAI:
return new AzureOpenAiClient(token, model, apiEndpoint ?? '', apiVersion ?? '');
default:
throw new Error(`Unsupported AI provider type: ${type}`);
}
}
}