@@ -112,13 +112,17 @@ const baseUrlLabelEl = $("baseUrlLabel");
112112const baseUrlEl = $ ( "baseUrl" ) ;
113113const thinkingIndicatorEl = $ ( "thinkingIndicator" ) ;
114114const modelEl = $ ( "model" ) ;
115- const providerEl = $ ( "provider" ) ;
115+ const providerEls = document . querySelectorAll ( 'input[name= "provider"]' ) ;
116116const ifcFileEl = $ ( "ifcFile" ) ;
117117const newBtn = $ ( "newModel" ) ;
118118const downloadBtn = $ ( "downloadIfc" ) ;
119119
120+ function getProviderValue ( ) {
121+ return document . querySelector ( 'input[name="provider"]:checked' ) ?. value || "openai" ;
122+ }
123+
120124function onProviderChange ( ) {
121- const provider = PROVIDERS [ providerEl . value ] ;
125+ const provider = PROVIDERS [ getProviderValue ( ) ] ;
122126 apiKeyLabelEl . innerHTML = `${ provider . apiKeyLabel } <span class="small">stored in browser memory; only sent to provider servers</span>` ;
123127 apiKeyEl . placeholder = provider . apiKeyPlaceholder ;
124128 baseUrlRowEl . hidden = ! provider . baseUrlDefault ;
@@ -133,7 +137,9 @@ function onProviderChange() {
133137 modelEl . innerHTML = provider . models . map ( m => `<option value="${ m . value } ">${ m . label } </option>` ) . join ( "" ) ;
134138}
135139
136- providerEl . addEventListener ( "change" , onProviderChange ) ;
140+ for ( const providerEl of providerEls ) {
141+ providerEl . addEventListener ( "change" , onProviderChange ) ;
142+ }
137143onProviderChange ( ) ;
138144
139145function setBusy ( isBusy , reason = "" ) {
@@ -467,7 +473,7 @@ async function runAgentTurn(userText) {
467473 const apiKey = apiKeyEl . value . trim ( ) ;
468474 if ( ! apiKey ) throw new Error ( "Missing API key" ) ;
469475
470- const provider = PROVIDERS [ providerEl . value ] ;
476+ const provider = PROVIDERS [ getProviderValue ( ) ] ;
471477 const { chat } = provider . api ;
472478 const baseURL = provider . baseUrlDefault ? baseUrlEl . value . trim ( ) : undefined ;
473479
0 commit comments