review-copilot
Version:
ReviewCopilot - AI-powered code review assistant with customizable prompts
36 lines (35 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AIProviderFactory = void 0;
const openai_provider_1 = require("./openai-provider");
const deepseek_provider_1 = require("./deepseek-provider");
const provider_config_1 = require("./provider-config");
class AIProviderFactory {
static createProvider(config) {
const provider = config.provider;
let providerDefaults;
if (provider === 'openai') {
providerDefaults = provider_config_1.PROVIDER_DEFAULTS.openai;
}
else if (provider === 'deepseek') {
providerDefaults = provider_config_1.PROVIDER_DEFAULTS.deepseek;
}
else {
throw new Error(`Unsupported AI provider: ${provider}`);
}
const finalConfig = {
...config,
baseURL: config.baseURL || providerDefaults.defaultBaseURL,
model: config.model || providerDefaults.defaultModel,
};
switch (provider) {
case 'deepseek':
return new deepseek_provider_1.DeepSeekProvider(finalConfig);
case 'openai':
return new openai_provider_1.OpenAIProvider(finalConfig);
default:
throw new Error(`Provider ${provider} is not yet implemented`);
}
}
}
exports.AIProviderFactory = AIProviderFactory;