fix(provider-wizard): avoid hook-time model normalization

This commit is contained in:
Ayaan Zaidi
2026-03-28 14:45:22 +05:30
parent ced88298d8
commit 7320973ab0

View File

@@ -1,5 +1,4 @@
import { DEFAULT_PROVIDER } from "../agents/defaults.js";
import { parseModelRef } from "../agents/model-selection.js";
import { normalizeProviderId } from "../agents/model-selection.js";
import type { OpenClawConfig } from "../config/config.js";
import type { WizardPrompter } from "../wizard/prompts.js";
@@ -333,8 +332,16 @@ export async function runProviderModelSelectedHook(params: {
workspaceDir?: string;
env?: NodeJS.ProcessEnv;
}): Promise<void> {
const parsed = parseModelRef(params.model, DEFAULT_PROVIDER);
if (!parsed) {
const rawModel = params.model.trim();
if (!rawModel) {
return;
}
const slashIndex = rawModel.indexOf("/");
const selectedProviderId =
slashIndex === -1
? DEFAULT_PROVIDER
: normalizeProviderId(rawModel.slice(0, slashIndex).trim());
if (!selectedProviderId || (slashIndex !== -1 && !rawModel.slice(slashIndex + 1).trim())) {
return;
}
@@ -343,9 +350,7 @@ export async function runProviderModelSelectedHook(params: {
workspaceDir: params.workspaceDir,
env: params.env,
});
const provider = providers.find(
(entry) => normalizeProviderId(entry.id) === normalizeProviderId(parsed.provider),
);
const provider = providers.find((entry) => normalizeProviderId(entry.id) === selectedProviderId);
if (!provider?.onModelSelected) {
return;
}