diff --git a/package-lock.json b/package-lock.json index f94e4f1..15beeab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ }, "bin": { "oc": "out/cli.cjs", + "oco": "out/cli.cjs", "opencommit": "out/cli.cjs" }, "devDependencies": { diff --git a/src/api.ts b/src/api.ts index d3d65ef..3b38733 100644 --- a/src/api.ts +++ b/src/api.ts @@ -13,6 +13,7 @@ const config = getConfig(); let apiKey = config?.OPENAI_API_KEY; let basePath = config?.OPENAI_BASE_PATH; +let maxTokens = config?.OPENAI_MAX_TOKENS; const [command, mode] = process.argv.slice(2); @@ -53,7 +54,7 @@ class OpenAi { messages, temperature: 0, top_p: 0.1, - max_tokens: 196 + max_tokens: maxTokens ?? 196 }); const message = data.choices[0].message; diff --git a/src/commands/config.ts b/src/commands/config.ts index 68aa7ea..9f16034 100644 --- a/src/commands/config.ts +++ b/src/commands/config.ts @@ -10,6 +10,7 @@ import { getI18nLocal } from '../i18n'; export enum CONFIG_KEYS { OPENAI_API_KEY = 'OPENAI_API_KEY', + OPENAI_MAX_TOKENS = 'OPENAI_MAX_TOKENS', OPENAI_BASE_PATH = 'OPENAI_BASE_PATH', description = 'description', emoji = 'emoji', @@ -63,6 +64,16 @@ export const configValidators = { return value; }, + [CONFIG_KEYS.OPENAI_MAX_TOKENS](value: any) { + validateConfig( + CONFIG_KEYS.OPENAI_MAX_TOKENS, + typeof value === 'number', + 'Must be a number' + ); + + return value; + }, + [CONFIG_KEYS.emoji](value: any) { validateConfig( CONFIG_KEYS.emoji,