From 49e17b3a7f26e0d0b27e3edd788f48cc2f0f6264 Mon Sep 17 00:00:00 2001 From: Awilen Bernkastel Date: Thu, 17 Jul 2025 11:41:30 +0200 Subject: [PATCH 1/2] Add support for custom request headers in commit generation --- README.md | 2 ++ src/config.ts | 5 +++++ src/generator.ts | 3 ++- src/types/config.d.ts | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 422a8f2..1b86214 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,8 @@ Default value: `{{type}} {{emoji}}: {{message}}` - Custom Description Prompt: A custom prompt to generate the commit description. +- Request headers: custom request headers that will be sent with each request to Ollama or a custom endpoint. This is useful for authentication and other purposes. + ## Known Issues Sometimes, depending on the model used, it can generate quite long commit messages. However, it provides a good starting point for what the commit should be and can be manually edited to achieve the desired length. diff --git a/src/config.ts b/src/config.ts index f7b749c..b500acd 100644 --- a/src/config.ts +++ b/src/config.ts @@ -16,6 +16,7 @@ export const defaultConfig = { language: Languages.English, commitTemplate: '{{type}} {{emoji}}: {{message}}', promptTemperature: 0.2, + requestHeaders: {}, emojis: { feat: '✨', fix: '🐛', @@ -83,6 +84,9 @@ class Config { const customCommitMessageRules = getConfig('custom.commitMessageRules') const customDescriptionPrompt = getConfig('custom.descriptionPrompt') + // Load request headers + const requestHeaders = getConfig('request.headers') || defaultConfig.requestHeaders + return { commitEmojis, promptTemperature, @@ -97,6 +101,7 @@ class Config { useDescription, useEmojis, useLowerCase, + requestHeaders, } } } diff --git a/src/generator.ts b/src/generator.ts index 599bb35..ad8b627 100644 --- a/src/generator.ts +++ b/src/generator.ts @@ -23,8 +23,9 @@ export async function generateStructuredCommit( customTypeRules, customCommitMessageRules, customDescriptionPrompt, + requestHeaders, } = config.inference - const ollama = new Ollama({ host: endpoint }) + const ollama = new Ollama({ host: endpoint, headers: requestHeaders }) const typeRules = customTypeRules || diff --git a/src/types/config.d.ts b/src/types/config.d.ts index 2d9bf95..2707732 100644 --- a/src/types/config.d.ts +++ b/src/types/config.d.ts @@ -16,4 +16,5 @@ export type ExtensionConfig = { 'custom.typeRules'?: string 'custom.commitMessageRules'?: string 'custom.descriptionPrompt'?: string + 'request.headers': Record } From df3b6a466f6744a48bbdd3736a77bf240b295552 Mon Sep 17 00:00:00 2001 From: Awilen Bernkastel Date: Thu, 17 Jul 2025 13:31:29 +0200 Subject: [PATCH 2/2] Make 'request.headers' optional in ExtensionConfig --- src/types/config.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/config.d.ts b/src/types/config.d.ts index 2707732..adc05eb 100644 --- a/src/types/config.d.ts +++ b/src/types/config.d.ts @@ -16,5 +16,5 @@ export type ExtensionConfig = { 'custom.typeRules'?: string 'custom.commitMessageRules'?: string 'custom.descriptionPrompt'?: string - 'request.headers': Record + 'request.headers'?: Record }