

















@@ -1,14 +1,16 @@
1+import { normalizeOptionalString } from "../shared/string-coerce.js";
2+13type ModelDisplaySelectionParams = {
2-runtimeProvider?: string | null;
3-runtimeModel?: string | null;
4-overrideProvider?: string | null;
5-overrideModel?: string | null;
6-fallbackModel?: string | null;
4+runtimeProvider?: unknown;
5+runtimeModel?: unknown;
6+overrideProvider?: unknown;
7+overrideModel?: unknown;
8+fallbackModel?: unknown;
79};
810911export function resolveModelDisplayRef(params: ModelDisplaySelectionParams): string | undefined {
10-const runtimeModel = params.runtimeModel?.trim();
11-const runtimeProvider = params.runtimeProvider?.trim();
12+const runtimeModel = normalizeOptionalString(params.runtimeModel);
13+const runtimeProvider = normalizeOptionalString(params.runtimeProvider);
1214if (runtimeModel) {
1315if (runtimeModel.includes("/")) {
1416return runtimeModel;
@@ -22,8 +24,8 @@ export function resolveModelDisplayRef(params: ModelDisplaySelectionParams): str
2224return runtimeProvider;
2325}
242625-const overrideModel = params.overrideModel?.trim();
26-const overrideProvider = params.overrideProvider?.trim();
27+const overrideModel = normalizeOptionalString(params.overrideModel);
28+const overrideProvider = normalizeOptionalString(params.overrideProvider);
2729if (overrideModel) {
2830if (overrideModel.includes("/")) {
2931return overrideModel;
@@ -37,7 +39,7 @@ export function resolveModelDisplayRef(params: ModelDisplaySelectionParams): str
3739return overrideProvider;
3840}
394140-const fallbackModel = params.fallbackModel?.trim();
42+const fallbackModel = normalizeOptionalString(params.fallbackModel);
4143return fallbackModel || undefined;
4244}
4345@@ -54,33 +56,39 @@ export function resolveModelDisplayName(params: ModelDisplaySelectionParams): st
5456}
55575658type SessionInfoModelSelectionParams = {
57-currentProvider?: string | null;
58-currentModel?: string | null;
59-defaultProvider?: string | null;
60-defaultModel?: string | null;
61-entryProvider?: string | null;
62-entryModel?: string | null;
63-overrideProvider?: string | null;
64-overrideModel?: string | null;
59+currentProvider?: unknown;
60+currentModel?: unknown;
61+defaultProvider?: unknown;
62+defaultModel?: unknown;
63+entryProvider?: unknown;
64+entryModel?: unknown;
65+overrideProvider?: unknown;
66+overrideModel?: unknown;
6567};
66686769export function resolveSessionInfoModelSelection(params: SessionInfoModelSelectionParams): {
6870modelProvider?: string;
6971model?: string;
7072} {
71-const fallbackProvider = params.currentProvider ?? params.defaultProvider ?? undefined;
72-const fallbackModel = params.currentModel ?? params.defaultModel ?? undefined;
73+const fallbackProvider =
74+normalizeOptionalString(params.currentProvider) ??
75+normalizeOptionalString(params.defaultProvider) ??
76+undefined;
77+const fallbackModel =
78+normalizeOptionalString(params.currentModel) ??
79+normalizeOptionalString(params.defaultModel) ??
80+undefined;
73817482if (params.entryProvider !== undefined || params.entryModel !== undefined) {
7583return {
76-modelProvider: params.entryProvider ?? fallbackProvider,
77-model: params.entryModel ?? fallbackModel,
84+modelProvider: normalizeOptionalString(params.entryProvider) ?? fallbackProvider,
85+model: normalizeOptionalString(params.entryModel) ?? fallbackModel,
7886};
7987}
808881-const overrideModel = params.overrideModel?.trim();
89+const overrideModel = normalizeOptionalString(params.overrideModel);
8290if (overrideModel) {
83-const overrideProvider = params.overrideProvider?.trim();
91+const overrideProvider = normalizeOptionalString(params.overrideProvider);
8492return {
8593modelProvider: overrideProvider || fallbackProvider,
8694model: overrideModel,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。