Skip to content

Commit 392ad3c

Browse files
Harsh KashyapHarsh23Kashyap
authored andcommitted
refactor(web): use discriminated union for selectConfiguredLanguageModel result; askCodebase drops impossible fallback branch
1 parent 00a4bda commit 392ad3c

2 files changed

Lines changed: 8 additions & 15 deletions

File tree

‎packages/web/src/ee/features/mcp/askCodebase.ts‎

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,21 +72,14 @@ export const askCodebase = (params: AskCodebaseParams): Promise<AskCodebaseResul
7272

7373
let languageModelConfig = configuredModels[0];
7474
if (requestedLanguageModel) {
75-
const { languageModelConfig: selectedLanguageModel, error } = selectConfiguredLanguageModel(
75+
const result = selectConfiguredLanguageModel(
7676
configuredModels,
7777
requestedLanguageModel
7878
);
79-
if (error) {
80-
return error;
79+
if (result.error) {
80+
return result.error;
8181
}
82-
if (!selectedLanguageModel) {
83-
return {
84-
statusCode: StatusCodes.INTERNAL_SERVER_ERROR,
85-
errorCode: ErrorCode.UNEXPECTED_ERROR,
86-
message: "Failed to resolve the requested language model.",
87-
} satisfies ServiceError;
88-
}
89-
languageModelConfig = selectedLanguageModel;
82+
languageModelConfig = result.languageModelConfig;
9083
}
9184

9285
const { model, providerOptions, temperature } = await getAISDKLanguageModelAndOptions(languageModelConfig);

‎packages/web/src/ee/features/mcp/selectConfiguredLanguageModel.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ const formatConfiguredLanguageModelLabel = (model: Pick<LanguageModelInfo, 'prov
1212
export const selectConfiguredLanguageModel = <T extends Pick<LanguageModelInfo, 'provider' | 'model' | 'displayName'>>(
1313
configuredModels: T[],
1414
requestedLanguageModel: Pick<LanguageModelInfo, 'provider' | 'model' | 'displayName'>
15-
): {
16-
languageModelConfig?: T;
17-
error?: ServiceError;
18-
} => {
15+
): (
16+
| { languageModelConfig: T; error?: never }
17+
| { languageModelConfig?: never; error: ServiceError }
18+
) => {
1919
const candidateModels = configuredModels.filter(
2020
(model) => model.provider === requestedLanguageModel.provider && model.model === requestedLanguageModel.model
2121
);

0 commit comments

Comments
 (0)