40fa275b4f
* 378: fix hook env (#402) * fix(prepare-commit-msg-hook): update error handling to provide clearer instructions for setting API keys and improve user guidance * Fix: a bug that causes an error when pushing without setting git remote (#396) * update deploy commands * feat(cli): add context flag for providing additional commit message input * Fix [Bug]: punycode` module is deprecated #426 (#433) Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> * npm audit fix (#432) Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> * Feat: Add an option to `Don't push` when there are multiple git remotes (#434) --------- Co-authored-by: GPT8 <57486732+di-sukharev@users.noreply.github.com> * feat(engine): add support for MLX AI provider (#437) --------- Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com> Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com> * feat(config, engine): add support for Mistral AI provider and engine (#436) * docs(CONTRIBUTING.md): update `TODO.md` reference (#435) Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com> * feat(config, engine): add support for Mistral AI provider and engine * ``` feat(package): add mistralai and zod dependencies ``` * fix: recreate package-lock.json with node20 * fix: recreate package-lock.json with node v20.18.1 based on branch dev --------- Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com> Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com> Co-authored-by: pedro-valentim <> --------- Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com> Co-authored-by: Takanori Matsumoto <matscube@gmail.com> Co-authored-by: BILLY Maxime <ozeliurs@gmail.com> Co-authored-by: Welington Sampaio <welington.sampaio@icloud.com> Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> Co-authored-by: albi ⚡️ <sigismondi.alberto@gmail.com> Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com> Co-authored-by: Pedro Valentim Silva Leite <18179935+pedro-valentim@users.noreply.github.com>
31 lines
856 B
TypeScript
31 lines
856 B
TypeScript
import AnthropicClient from '@anthropic-ai/sdk';
|
|
import { OpenAIClient as AzureOpenAIClient } from '@azure/openai';
|
|
import { GoogleGenerativeAI as GeminiClient } from '@google/generative-ai';
|
|
import { AxiosInstance as RawAxiosClient } from 'axios';
|
|
import { OpenAI as OpenAIClient } from 'openai';
|
|
import { Mistral as MistralClient } from '@mistralai/mistralai';
|
|
|
|
export interface AiEngineConfig {
|
|
apiKey: string;
|
|
model: string;
|
|
maxTokensOutput: number;
|
|
maxTokensInput: number;
|
|
baseURL?: string;
|
|
}
|
|
|
|
type Client =
|
|
| OpenAIClient
|
|
| AzureOpenAIClient
|
|
| AnthropicClient
|
|
| RawAxiosClient
|
|
| GeminiClient
|
|
| MistralClient;
|
|
|
|
export interface AiEngine {
|
|
config: AiEngineConfig;
|
|
client: Client;
|
|
generateCommitMessage(
|
|
messages: Array<OpenAIClient.Chat.Completions.ChatCompletionMessageParam>
|
|
): Promise<string | null | undefined>;
|
|
}
|