diff --git a/src/api.ts b/src/api.ts index 743bea4..cf6e1fe 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,7 +1,6 @@ import { intro, outro } from '@clack/prompts'; import { ChatCompletionRequestMessage, - ChatCompletionResponseMessage, Configuration as OpenAiApiConfiguration, OpenAIApi } from 'openai'; @@ -43,7 +42,7 @@ class OpenAi { public generateCommitMessage = async ( messages: Array - ): Promise => { + ): Promise => { try { const { data } = await this.openAI.createChatCompletion({ model: 'gpt-3.5-turbo', @@ -55,7 +54,7 @@ class OpenAi { const message = data.choices[0].message; - return message; + return message?.content; } catch (error) { console.error('openAI api error', { error }); throw error; diff --git a/src/generateCommitMessageFromGitDiff.ts b/src/generateCommitMessageFromGitDiff.ts index 6c09479..c3fb638 100644 --- a/src/generateCommitMessageFromGitDiff.ts +++ b/src/generateCommitMessageFromGitDiff.ts @@ -92,17 +92,18 @@ export const generateCommitMessageWithChatCompletion = async ( const diffByFiles = diff.split(separator).slice(1); - const commitMessagePromises = diffByFiles.map((fileDiff) => { - // TODO: split by files - if (INIT_MESSAGES_PROMPT_LENGTH + fileDiff.length >= MAX_REQ_TOKENS) - return null; + const commitMessagePromises = diffByFiles + .map((fileDiff) => { + // TODO: split by files + if (fileDiff.length >= MAX_REQ_TOKENS) return null; - const messages = generateCommitMessageChatCompletionPrompt( - separator + fileDiff - ); + const messages = generateCommitMessageChatCompletionPrompt( + separator + fileDiff + ); - return api.generateCommitMessage(messages); - }); + return api.generateCommitMessage(messages); + }) + .filter(Boolean); const commitMessages = await Promise.all(commitMessagePromises); @@ -116,7 +117,7 @@ export const generateCommitMessageWithChatCompletion = async ( if (!commitMessage) return { error: GenerateCommitMessageErrorEnum.emptyMessage }; - return commitMessage.content; + return commitMessage; } catch (error) { return { error: GenerateCommitMessageErrorEnum.internalError }; } diff --git a/tsconfig.json b/tsconfig.json index 6dedf1a..ca6f857 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ESNext", + "target": "ES2020", "lib": ["ES5", "ES6"], "module": "ESNext",