diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx index 467b840a09..0059f3879c 100644 --- a/webview-ui/src/components/settings/ApiOptions.tsx +++ b/webview-ui/src/components/settings/ApiOptions.tsx @@ -825,6 +825,11 @@ const ApiOptions = ({ organizationAllowList={organizationAllowList} simplifySettings={fromWelcomeView} hidePricing + extraOptions={ + selectedProvider === "bedrock" + ? [{ value: "custom-arn", label: t("settings:labels.useCustomArn") }] + : undefined + } /> {selectedProvider === "bedrock" && selectedModelId === "custom-arn" && ( diff --git a/webview-ui/src/components/settings/ModelPicker.tsx b/webview-ui/src/components/settings/ModelPicker.tsx index 4fe4c02dda..accfa9efb6 100644 --- a/webview-ui/src/components/settings/ModelPicker.tsx +++ b/webview-ui/src/components/settings/ModelPicker.tsx @@ -39,6 +39,11 @@ type ModelIdKey = keyof Pick< | "apiModelId" > +interface ExtraOption { + value: string + label: string +} + interface ModelPickerProps { defaultModelId: string models: Record | null @@ -55,6 +60,7 @@ interface ModelPickerProps { errorMessage?: string simplifySettings?: boolean hidePricing?: boolean + extraOptions?: ExtraOption[] } export const ModelPicker = ({ @@ -69,6 +75,7 @@ export const ModelPicker = ({ errorMessage, simplifySettings, hidePricing, + extraOptions, }: ModelPickerProps) => { const { t } = useAppTranslation() @@ -232,6 +239,23 @@ export const ModelPicker = ({ /> ))} + {extraOptions?.map((option) => ( + + + {option.label} + + + + ))} {searchValue && !modelIds.includes(searchValue) && (