diff --git a/packages/client/ui-models/src/client/ProviderEditor.tsx b/packages/client/ui-models/src/client/ProviderEditor.tsx
index 64c946dff2..8ea1fb22fe 100644
--- a/packages/client/ui-models/src/client/ProviderEditor.tsx
+++ b/packages/client/ui-models/src/client/ProviderEditor.tsx
@@ -199,7 +199,72 @@ export function ProviderEditor(props: ProviderEditorProps): ReactNode {
}
const keyLocked = keyState?.writable === false
- const effortField = layout === 'unknown' ? undefined : EFFORT_FIELD[layout]
+
+ /**
+ * The curated fields of one known adapter family. Taking the narrowed
+ * family as a parameter is what makes `EFFORT_FIELD` total here: an
+ * unknown namespace never reaches this body.
+ */
+ const curatedFields = (family: 'deepseek' | 'pi-ai'): ReactNode => {
+ const effortField = EFFORT_FIELD[family]
+ return (
+ <>
+
+ {t('keyInput')}
+ { setKeyDraft(event.target.value) }}
+ />
+
+
+ {t('customized')}
+
+
+ {t('baseUrl')}
+ {
+ setField('baseURL', event.target.value === '' ? undefined : event.target.value)
+ }}
+ />
+
+
+ {t('effort')}
+
+
+
+
+ >
+ )
+ }
return (
@@ -215,68 +280,7 @@ export function ProviderEditor(props: ProviderEditorProps): ReactNode {
)}
{layout === 'unknown'
?
{`${t('advancedHint')} (${namespace.ns})`}
- : (
- <>
-
- {t('keyInput')}
- { setKeyDraft(event.target.value) }}
- />
-
-
- {t('customized')}
-
-
- {t('baseUrl')}
- {
- setField('baseURL', event.target.value === '' ? undefined : event.target.value)
- }}
- />
-
- {/* v8 ignore next -- EFFORT_FIELD is total over non-unknown layouts; the check only narrows the type */}
- {effortField !== undefined
- ? (
-
- {t('effort')}
-
-
- )
- : null}
-
-
- >
- )}
+ : curatedFields(layout)}
{failure !== undefined ?
{failure}
: null}