@@ -25,6 +25,7 @@ export enum CONFIG_KEYS {
2525 OCO_ONE_LINE_COMMIT = 'OCO_ONE_LINE_COMMIT' ,
2626 OCO_TEST_MOCK_TYPE = 'OCO_TEST_MOCK_TYPE' ,
2727 OCO_API_URL = 'OCO_API_URL' ,
28+ OCO_PROXY = 'OCO_PROXY' ,
2829 OCO_API_CUSTOM_HEADERS = 'OCO_API_CUSTOM_HEADERS' ,
2930 OCO_OMIT_SCOPE = 'OCO_OMIT_SCOPE' ,
3031 OCO_GITPUSH = 'OCO_GITPUSH' , // todo: deprecate
@@ -727,6 +728,15 @@ export const configValidators = {
727728 return value ;
728729 } ,
729730
731+ [ CONFIG_KEYS . OCO_PROXY ] ( value : any ) {
732+ validateConfig (
733+ CONFIG_KEYS . OCO_PROXY ,
734+ typeof value === 'string' ,
735+ `${ value } is not a valid URL. It should start with 'http://' or 'https://'.`
736+ ) ;
737+ return value ;
738+ } ,
739+
730740 [ CONFIG_KEYS . OCO_MODEL ] ( value : any , config : any = { } ) {
731741 validateConfig (
732742 CONFIG_KEYS . OCO_MODEL ,
@@ -880,6 +890,7 @@ export type ConfigType = {
880890 [ CONFIG_KEYS . OCO_TOKENS_MAX_INPUT ] : number ;
881891 [ CONFIG_KEYS . OCO_TOKENS_MAX_OUTPUT ] : number ;
882892 [ CONFIG_KEYS . OCO_API_URL ] ?: string ;
893+ [ CONFIG_KEYS . OCO_PROXY ] ?: string ;
883894 [ CONFIG_KEYS . OCO_API_CUSTOM_HEADERS ] ?: string ;
884895 [ CONFIG_KEYS . OCO_DESCRIPTION ] : boolean ;
885896 [ CONFIG_KEYS . OCO_EMOJI ] : boolean ;
@@ -964,6 +975,7 @@ const getEnvConfig = (envPath: string) => {
964975 return {
965976 OCO_MODEL : process . env . OCO_MODEL ,
966977 OCO_API_URL : process . env . OCO_API_URL ,
978+ OCO_PROXY : process . env . OCO_PROXY || process . env . HTTPS_PROXY || process . env . HTTP_PROXY ,
967979 OCO_API_KEY : process . env . OCO_API_KEY ,
968980 OCO_API_CUSTOM_HEADERS : process . env . OCO_API_CUSTOM_HEADERS ,
969981 OCO_AI_PROVIDER : process . env . OCO_AI_PROVIDER as OCO_AI_PROVIDER_ENUM ,
@@ -1189,6 +1201,11 @@ function getConfigKeyDetails(key) {
11891201 'Custom API URL - may be used to set proxy path to OpenAI API' ,
11901202 values : [ "URL string (must start with 'http://' or 'https://')" ]
11911203 } ;
1204+ case CONFIG_KEYS . OCO_PROXY :
1205+ return {
1206+ description : 'HTTP/HTTPS Proxy URL' ,
1207+ values : [ "URL string (must start with 'http://' or 'https://')" ]
1208+ } ;
11921209 case CONFIG_KEYS . OCO_MESSAGE_TEMPLATE_PLACEHOLDER :
11931210 return {
11941211 description : 'Message template placeholder' ,
0 commit comments