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}