UNPKG

@thecodingwhale/cv-processor

Version:

CV Processor to extract structured data from PDF resumes using TypeScript

35 lines (34 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AIProviderFactory = void 0; const AWSBedrockProvider_1 = require("./AWSBedrockProvider"); const AzureOpenAIProvider_1 = require("./AzureOpenAIProvider"); const GeminiAIProvider_1 = require("./GeminiAIProvider"); const GrokAIProvider_1 = require("./GrokAIProvider"); const OpenAIProvider_1 = require("./OpenAIProvider"); class AIProviderFactory { /** * Create an AI provider instance based on the specified type */ static createProvider(type, config) { switch (type) { case 'gemini': return new GeminiAIProvider_1.GeminiAIProvider(config); case 'openai': return new OpenAIProvider_1.OpenAIProvider(config); case 'azure': if (!('endpoint' in config)) { throw new Error('Azure OpenAI provider requires an endpoint'); } return new AzureOpenAIProvider_1.AzureOpenAIProvider(config); case 'grok': return new GrokAIProvider_1.GrokAIProvider(config); case 'aws': return new AWSBedrockProvider_1.AWSBedrockProvider(config); // Add more providers as needed default: throw new Error(`AI provider type ${type} not supported`); } } } exports.AIProviderFactory = AIProviderFactory;