@@ -32,6 +32,7 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
3232 const [ customProviderSlug , setCustomProviderSlug ] = useState ( '' )
3333 const [ customProviderUrl , setCustomProviderUrl ] = useState ( '' )
3434 const [ customProviderKey , setCustomProviderKey ] = useState ( '' )
35+ const [ customProviderProxy , setCustomProviderProxy ] = useState ( '' )
3536 const [ customProviderField , setCustomProviderField ] = useState ( 0 )
3637 const [ customSaving , setCustomSaving ] = useState ( false )
3738 const [ customError , setCustomError ] = useState ( '' )
@@ -173,7 +174,7 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
173174 }
174175
175176 if ( key . return ) {
176- if ( customProviderField < 2 ) {
177+ if ( customProviderField < 3 ) {
177178 setCustomProviderField ( f => f + 1 )
178179 } else {
179180 // Save on last field
@@ -189,6 +190,7 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
189190 name : slug ,
190191 base_url : customProviderUrl . trim ( ) || undefined ,
191192 api_key : customProviderKey . trim ( ) || undefined ,
193+ proxy : customProviderProxy . trim ( ) || null ,
192194 ...( sessionId ? { session_id : sessionId } : { } )
193195 } )
194196 . then ( raw => {
@@ -205,6 +207,7 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
205207 setCustomProviderSlug ( '' )
206208 setCustomProviderUrl ( '' )
207209 setCustomProviderKey ( '' )
210+ setCustomProviderProxy ( '' )
208211 setCustomProviderField ( 0 )
209212 setCustomSaving ( false )
210213 setProviderIdx ( providers . length )
@@ -221,21 +224,21 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
221224 }
222225
223226 if ( key . backspace || key . delete ) {
224- const setters = [ setCustomProviderSlug , setCustomProviderUrl , setCustomProviderKey ]
227+ const setters = [ setCustomProviderSlug , setCustomProviderUrl , setCustomProviderKey , setCustomProviderProxy ]
225228 setters [ customProviderField ] ( v => v . slice ( 0 , - 1 ) )
226229
227230 return
228231 }
229232
230233 if ( ch === '' ) {
231- const setters = [ setCustomProviderSlug , setCustomProviderUrl , setCustomProviderKey ]
234+ const setters = [ setCustomProviderSlug , setCustomProviderUrl , setCustomProviderKey , setCustomProviderProxy ]
232235 setters [ customProviderField ] ( '' )
233236
234237 return
235238 }
236239
237240 if ( ch && ! key . ctrl && ! key . meta ) {
238- const setters = [ setCustomProviderSlug , setCustomProviderUrl , setCustomProviderKey ]
241+ const setters = [ setCustomProviderSlug , setCustomProviderUrl , setCustomProviderKey , setCustomProviderProxy ]
239242 setters [ customProviderField ] ( v => v + ch )
240243 }
241244
@@ -502,6 +505,7 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
502505 setCustomProviderSlug ( '' )
503506 setCustomProviderUrl ( '' )
504507 setCustomProviderKey ( '' )
508+ setCustomProviderProxy ( '' )
505509 setCustomProviderField ( 0 )
506510 setCustomSaving ( false )
507511 setCustomError ( '' )
@@ -743,9 +747,9 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
743747
744748 // ── Custom provider creation stage ────────────────────────────────────
745749 if ( stage === 'custom_provider' ) {
746- const fieldLabels = [ 'Provider slug' , 'Base URL (optional)' , 'API Key (optional)' ]
747- const fieldValues = [ customProviderSlug , customProviderUrl , customProviderKey ]
748- const fieldMasked = [ false , false , true ]
750+ const fieldLabels = [ 'Provider slug' , 'Base URL (optional)' , 'API Key (optional)' , 'Proxy URL (optional)' ]
751+ const fieldValues = [ customProviderSlug , customProviderUrl , customProviderKey , customProviderProxy ]
752+ const fieldMasked = [ false , false , true , false ]
749753
750754 return (
751755 < Box flexDirection = "column" width = { width } >
@@ -804,7 +808,7 @@ export function ModelPicker({ allowPersistGlobal = true, gw, onCancel, onSelect,
804808 ) }
805809
806810 < OverlayHint t = { t } >
807- { customProviderField < 2
811+ { customProviderField < 3
808812 ? 'Enter next field · Ctrl+U clear field · Esc back'
809813 : 'Enter save · Ctrl+U clear field · Esc back' }
810814 </ OverlayHint >
0 commit comments