From 1ea5fbc4309672373e3631dedb285ab6ecb1b17d Mon Sep 17 00:00:00 2001 From: di-sukharev Date: Tue, 7 Mar 2023 15:51:10 +0800 Subject: [PATCH] =?UTF-8?q?*=20=F0=9F=90=9B=20fix(api.ts):=20return=20mess?= =?UTF-8?q?age=20content=20instead=20of=20whole=20response=20object=20*=20?= =?UTF-8?q?=F0=9F=9A=80=20chore(generateCommitMessageFromGitDiff.ts):=20fi?= =?UTF-8?q?lter=20out=20null=20promises=20and=20update=20TODO=20comment=20?= =?UTF-8?q?*=20=F0=9F=9A=80=20chore(tsconfig.json):=20update=20target=20to?= =?UTF-8?q?=20ES2020=20and=20remove=20ES5=20from=20lib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api.ts | 5 ++--- src/generateCommitMessageFromGitDiff.ts | 21 +++++++++++---------- tsconfig.json | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) 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",