From f0251d14bb5991906225cda5969eced8f2cfde3e Mon Sep 17 00:00:00 2001 From: di-sukharev Date: Mon, 18 Mar 2024 15:19:59 +0800 Subject: [PATCH] build --- out/cli.cjs | 32 ++++++++++++++++++++++++-------- out/github-action.cjs | 30 +++++++++++++++++++++++------- 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/out/cli.cjs b/out/cli.cjs index 0e0cbde..f33017d 100755 --- a/out/cli.cjs +++ b/out/cli.cjs @@ -18660,7 +18660,11 @@ var validateConfig = (key, condition, validationMessage) => { }; var configValidators = { ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) { - validateConfig("API_KEY", value || config8.OCO_AI_PROVIDER == "ollama", "You need to provide an API key"); + validateConfig( + "API_KEY", + value || config8.OCO_AI_PROVIDER == "ollama", + "You need to provide an API key" + ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, value.startsWith("sk-"), @@ -18742,12 +18746,13 @@ var configValidators = { "OCO_MODEL" /* OCO_MODEL */, [ "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", "gpt-4", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-0613", - "gpt-4-1106-preview" + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo-16k' (default), 'gpt-3.5-turbo-0613', 'gpt-3.5-turbo' or 'gpt-4-1106-preview'` + `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` ); return value; }, @@ -18778,6 +18783,14 @@ var configValidators = { `${value} is not supported yet, use 'ollama' or 'openai' (default)` ); return value; + }, + ["OCO_ONE_LINE_COMMIT" /* OCO_ONE_LINE_COMMIT */](value) { + validateConfig( + "OCO_ONE_LINE_COMMIT" /* OCO_ONE_LINE_COMMIT */, + typeof value === "boolean", + "Must be true or false" + ); + return value; } }; var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); @@ -18789,11 +18802,12 @@ var getConfig = () => { OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo-16k", + OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", - OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai" + OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", + OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false }; const configExists = (0, import_fs.existsSync)(configPath); if (!configExists) @@ -19013,6 +19027,7 @@ var INIT_MAIN_PROMPT = (language, prompts) => ({ ${config2?.OCO_EMOJI ? "Use GitMoji convention to preface the commit." : "Do not preface the commit with anything."} ${config2?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} Use the present tense. Use ${language} to answer. +${config2?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} You will strictly follow the following conventions to generate the content of the commit message: - ${prompts.join("\n- ")} @@ -22077,6 +22092,7 @@ var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = { @@ -22765,7 +22781,7 @@ Z2( if (await isHookCalled()) { prepareCommitMessageHook(); } else { - commit(extraArgs, flags.fgm); + commit(extraArgs, false, flags.fgm); } }, extraArgs diff --git a/out/github-action.cjs b/out/github-action.cjs index 3c6febe..967d82a 100644 --- a/out/github-action.cjs +++ b/out/github-action.cjs @@ -24155,7 +24155,11 @@ var validateConfig = (key, condition, validationMessage) => { }; var configValidators = { ["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config7 = {}) { - validateConfig("API_KEY", value || config7.OCO_AI_PROVIDER == "ollama", "You need to provide an API key"); + validateConfig( + "API_KEY", + value || config7.OCO_AI_PROVIDER == "ollama", + "You need to provide an API key" + ); validateConfig( "OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, value.startsWith("sk-"), @@ -24237,12 +24241,13 @@ var configValidators = { "OCO_MODEL" /* OCO_MODEL */, [ "gpt-3.5-turbo", + "gpt-3.5-turbo-0125", "gpt-4", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-0613", - "gpt-4-1106-preview" + "gpt-4-1106-preview", + "gpt-4-turbo-preview", + "gpt-4-0125-preview" ].includes(value), - `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo-16k' (default), 'gpt-3.5-turbo-0613', 'gpt-3.5-turbo' or 'gpt-4-1106-preview'` + `${value} is not supported yet, use 'gpt-4', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview'` ); return value; }, @@ -24273,6 +24278,14 @@ var configValidators = { `${value} is not supported yet, use 'ollama' or 'openai' (default)` ); return value; + }, + ["OCO_ONE_LINE_COMMIT" /* OCO_ONE_LINE_COMMIT */](value) { + validateConfig( + "OCO_ONE_LINE_COMMIT" /* OCO_ONE_LINE_COMMIT */, + typeof value === "boolean", + "Must be true or false" + ); + return value; } }; var configPath = (0, import_path.join)((0, import_os.homedir)(), ".opencommit"); @@ -24284,11 +24297,12 @@ var getConfig = () => { OCO_OPENAI_BASE_PATH: process.env.OCO_OPENAI_BASE_PATH, OCO_DESCRIPTION: process.env.OCO_DESCRIPTION === "true" ? true : false, OCO_EMOJI: process.env.OCO_EMOJI === "true" ? true : false, - OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo-16k", + OCO_MODEL: process.env.OCO_MODEL || "gpt-3.5-turbo", OCO_LANGUAGE: process.env.OCO_LANGUAGE || "en", OCO_MESSAGE_TEMPLATE_PLACEHOLDER: process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || "$msg", OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || "conventional-commit", - OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai" + OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || "openai", + OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === "true" ? true : false }; const configExists = (0, import_fs.existsSync)(configPath); if (!configExists) @@ -24508,6 +24522,7 @@ var INIT_MAIN_PROMPT = (language, prompts) => ({ ${config2?.OCO_EMOJI ? "Use GitMoji convention to preface the commit." : "Do not preface the commit with anything."} ${config2?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} Use the present tense. Use ${language} to answer. +${config2?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} You will strictly follow the following conventions to generate the content of the commit message: - ${prompts.join("\n- ")} @@ -27572,6 +27587,7 @@ var INIT_MAIN_PROMPT2 = (language, fullGitMojiSpec) => ({ content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the ${fullGitMojiSpec ? "GitMoji specification" : "conventional commit convention"} and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message. ${config5?.OCO_EMOJI ? `Use GitMoji convention to preface the commit. Here are some help to choose the right emoji (emoji, description): \u{1F41B}, Fix a bug; \u2728, Introduce new features; \u{1F4DD}, Add or update documentation; \u{1F680}, Deploy stuff; \u2705, Add, update, or pass tests; \u267B\uFE0F, Refactor code; \u2B06\uFE0F, Upgrade dependencies; \u{1F527}, Add or update configuration files; \u{1F310}, Internationalization and localization; \u{1F4A1}, Add or update comments in source code; ${fullGitMojiSpec ? "\u{1F3A8}, Improve structure / format of the code; \u26A1\uFE0F, Improve performance; \u{1F525}, Remove code or files; \u{1F691}\uFE0F, Critical hotfix; \u{1F484}, Add or update the UI and style files; \u{1F389}, Begin a project; \u{1F512}\uFE0F, Fix security issues; \u{1F510}, Add or update secrets; \u{1F516}, Release / Version tags; \u{1F6A8}, Fix compiler / linter warnings; \u{1F6A7}, Work in progress; \u{1F49A}, Fix CI Build; \u2B07\uFE0F, Downgrade dependencies; \u{1F4CC}, Pin dependencies to specific versions; \u{1F477}, Add or update CI build system; \u{1F4C8}, Add or update analytics or track code; \u2795, Add a dependency; \u2796, Remove a dependency; \u{1F528}, Add or update development scripts; \u270F\uFE0F, Fix typos; \u{1F4A9}, Write bad code that needs to be improved; \u23EA\uFE0F, Revert changes; \u{1F500}, Merge branches; \u{1F4E6}\uFE0F, Add or update compiled files or packages; \u{1F47D}\uFE0F, Update code due to external API changes; \u{1F69A}, Move or rename resources (e.g.: files, paths, routes); \u{1F4C4}, Add or update license; \u{1F4A5}, Introduce breaking changes; \u{1F371}, Add or update assets; \u267F\uFE0F, Improve accessibility; \u{1F37B}, Write code drunkenly; \u{1F4AC}, Add or update text and literals; \u{1F5C3}\uFE0F, Perform database related changes; \u{1F50A}, Add or update logs; \u{1F507}, Remove logs; \u{1F465}, Add or update contributor(s); \u{1F6B8}, Improve user experience / usability; \u{1F3D7}\uFE0F, Make architectural changes; \u{1F4F1}, Work on responsive design; \u{1F921}, Mock things; \u{1F95A}, Add or update an easter egg; \u{1F648}, Add or update a .gitignore file; \u{1F4F8}, Add or update snapshots; \u2697\uFE0F, Perform experiments; \u{1F50D}\uFE0F, Improve SEO; \u{1F3F7}\uFE0F, Add or update types; \u{1F331}, Add or update seed files; \u{1F6A9}, Add, update, or remove feature flags; \u{1F945}, Catch errors; \u{1F4AB}, Add or update animations and transitions; \u{1F5D1}\uFE0F, Deprecate code that needs to be cleaned up; \u{1F6C2}, Work on code related to authorization, roles and permissions; \u{1FA79}, Simple fix for a non-critical issue; \u{1F9D0}, Data exploration/inspection; \u26B0\uFE0F, Remove dead code; \u{1F9EA}, Add a failing test; \u{1F454}, Add or update business logic; \u{1FA7A}, Add or update healthcheck; \u{1F9F1}, Infrastructure related changes; \u{1F9D1}\u200D\u{1F4BB}, Improve developer experience; \u{1F4B8}, Add sponsorships or money related infrastructure; \u{1F9F5}, Add or update code related to multithreading or concurrency; \u{1F9BA}, Add or update code related to validation." : ""}` : "Do not preface the commit with anything. Conventional commit keywords:fix, feat, build, chore, ci, docs, style, refactor, perf, test."} ${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."} + ${config5?.OCO_ONE_LINE_COMMIT ? "Craft a concise commit message that encapsulates all changes made, with an emphasis on the primary updates. If the modifications share a common theme or scope, mention it succinctly; otherwise, leave the scope out to maintain focus. The goal is to provide a clear and unified overview of the changes in a one single message, without diverging into a list of commit per file change." : ""} Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.` }); var INIT_DIFF_PROMPT = {