File tree Expand file tree Collapse file tree 1 file changed +12
-10
lines changed
webview-ui/src/components/settings Expand file tree Collapse file tree 1 file changed +12
-10
lines changed Original file line number Diff line number Diff line change @@ -23,17 +23,19 @@ import { vscode } from "../../utils/vscode"
2323import { normalizeApiConfiguration } from "./ApiOptions"
2424import { ModelInfoView } from "./ModelInfoView"
2525
26- interface ModelPickerProps {
26+ type ModelProvider = "glama" | "openRouter" | "unbound" | "requesty" | "openAi"
27+
28+ type ModelKeys < T extends ModelProvider > = `${T } Models`
29+ type ConfigKeys < T extends ModelProvider > = `${T } ModelId`
30+ type InfoKeys < T extends ModelProvider > = `${T } ModelInfo`
31+ type RefreshMessageType < T extends ModelProvider > = `refresh${Capitalize < T > } Models`
32+
33+ interface ModelPickerProps < T extends ModelProvider = ModelProvider > {
2734 defaultModelId : string
28- modelsKey : "glamaModels" | "openRouterModels" | "unboundModels" | "requestyModels" | "openAiModels"
29- configKey : "glamaModelId" | "openRouterModelId" | "unboundModelId" | "requestyModelId" | "openAiModelId"
30- infoKey : "glamaModelInfo" | "openRouterModelInfo" | "unboundModelInfo" | "requestyModelInfo" | "openAiModelInfo"
31- refreshMessageType :
32- | "refreshGlamaModels"
33- | "refreshOpenRouterModels"
34- | "refreshUnboundModels"
35- | "refreshRequestyModels"
36- | "refreshOpenAiModels"
35+ modelsKey : ModelKeys < T >
36+ configKey : ConfigKeys < T >
37+ infoKey : InfoKeys < T >
38+ refreshMessageType : RefreshMessageType < T >
3739 refreshValues ?: Record < string , any >
3840 serviceName : string
3941 serviceUrl : string
You can’t perform that action at this time.
0 commit comments