-
Notifications
You must be signed in to change notification settings - Fork 389
refactoring_v1 #391
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactoring_v1 #391
Conversation
…t' command chore(example.txt): remove unused example.txt file fix(config.ts): correct import order and improve validation messages fix(githook.ts): improve error message for unsupported mode fix(azure.ts): add non-null assertion for message content fix(gemini.ts): use strict equality for role comparison refactor(generateCommitMessageFromGitDiff.ts): reorder imports for consistency refactor(github-action.ts): reorder imports for consistency refactor(prompts.ts): simplify prompt content generation and improve readability style(engine.ts): fix inconsistent spacing and import order
refactor(commitlint.ts): update import path to use ENUMS for command constants refactor(config.ts): update import path to use ENUMS for command constants refactor(githook.ts): update import path to use ENUMS for command constants fix(prompts.ts): correct conventional commit keywords instruction text
…pport multiple AI providers and improve configurability - Introduce `AiEngineConfig` interface for consistent configuration across AI engines. - Update `generateCommitMessage` method signatures to use `OpenAIClient.Chat.Completions.ChatCompletionMessageParam`. - Implement specific configurations for each AI provider (Anthropic, Azure, Gemini, Ollama, OpenAI) to enhance flexibility. - Replace hardcoded values with configurable parameters for model, API key, and token limits. - Refactor client initialization to use Axios instances for better HTTP request handling. - Remove deprecated code and improve error handling for better user feedback.
… the application refactor(commit.ts): restructure generateCommitMessageFromGitDiff function to use an interface for parameters and improve readability fix(config.ts): update DEFAULT_TOKEN_LIMITS to correct values for max tokens input and output chore(config.ts): enhance config validation to handle undefined and null values more effectively style(commit.ts): improve formatting and consistency in the commit confirmation logic style(config.ts): clean up error messages and improve clarity in config setting process
…better clarity and maintainability fix(testAi.ts): change parameter type in generateCommitMessage method to align with OpenAI's updated type definitions
…nability refactor(generateCommitMessageFromGitDiff): update types for OpenAI messages to improve type safety fix(commitlint/config): remove optional chaining for OCO_LANGUAGE to ensure proper access refactor(commitlint/prompts): update types for OpenAI messages to improve type safety refactor(prompts): update types for OpenAI messages to improve type safety
…tails docs(README.md): improve instructions for using OpenCommit CLI and configuration fix(README.md): correct default model name to gpt-4o-mini in usage examples fix(package.json): update openai package version to 4.56.0 for compatibility
…nterfaces and implementations fix(engine): update Azure and Flowise engines to use baseURL instead of basePath for API configuration fix(engine): adjust Ollama engine to handle baseURL and fallback to default URL style(engine): clean up constructor formatting in OpenAiEngine for better readability chore(engine): update getEngine function to use baseURL in configuration for all engines
…ity and prevent potential runtime errors refactor(flowise.ts, ollama.ts): update axios client configuration to use a consistent URL format for API requests fix: update README example to reflect the removal of optional chaining in config access
| case 'flowise': | ||
| return new FlowiseAi({ | ||
| ...DEFAULT_CONFIG, | ||
| baseURL: config.OCO_FLOWISE_ENDPOINT || DEFAULT_CONFIG.baseURL, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OCO_FLOWISE_ENDPOINT will be deprecated together with OCO_OPENAI_BASE_PATH and OCO_GEMINI_BASE_PATH
all of the above will be one variable: OCO_API_URL
in this specific case it's expected to include full flowise url with /api/v1/prediction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changing the usage also
Before it was: url = http://${config.OCO_FLOWISE_ENDPOINT}/api/v1/prediction/${config.OCO_FLOWISE_API_KEY};
Now it's: url = ${config.OCO_FLOWISE_ENDPOINT}/${config.OCO_FLOWISE_API_KEY}
so you need to put the full url http://${config.OCO_FLOWISE_ENDPOINT}/api/v1/prediction/ into config.OCO_FLOWISE_ENDPOINT
…tantiation to ensure consistent configuration across engines
…form users of upcoming changes refactor(commit.ts): remove early return for non-pushing users to streamline commit process refactor(config.ts): add deprecation comments for OCO_GITPUSH to indicate future removal test(config.test.ts): enhance tests to ensure correct handling of local and global config priorities test(gemini.test.ts): improve tests for Gemini class to ensure proper functionality and error handling
… AI provider constants refactor(config): simplify mergeObjects function to improve readability and maintainability refactor(setConfig): remove unnecessary keysToSet variable to streamline logging refactor(engine): update switch cases to use OCO_AI_PROVIDER_ENUM for better consistency and clarity
…nfig object for clarity refactor(config.ts): rename configFromEnv to envConfig for better readability refactor(gemini.ts): simplify client initialization in the Gemini constructor test(config.test.ts): add test case to check overriding global config with null values in local .env test(gemini.test.ts): update AI provider assignment to use OCO_AI_PROVIDER_ENUM for consistency
…bject for content to improve readability and maintainability
cleaned config.ts code and simplified prompt construction.