import { generateCommitMessage as generateCommitMessageGemini } from './gemini'; import { generateCommitMessageOpenAI } from './openai'; import chalk from 'chalk'; import * as dotenv from 'dotenv'; import 'dotenv/config'; dotenv.config({ quiet: true } as any); export async function generateCommitMessage(diff: string): Promise { try { return await generateCommitMessageGemini(diff); } catch (error: any) { console.warn(chalk.yellow(`⚠️ Gemini failed: ${error.message}. Switching to OpenAI...`)); try { return await generateCommitMessageOpenAI(diff); } catch (openaiError: any) { throw new Error(`Both Gemini and OpenAI failed. Gemini: ${error.message} | OpenAI: ${openaiError.message}`); } } }