Files
openclaw/src/commands/auth-choice.default-model.ts

31 lines
1.2 KiB
TypeScript
Raw Normal View History

2026-01-30 03:15:10 +01:00
import type { OpenClawConfig } from "../config/config.js";
2026-01-14 05:39:47 +00:00
import type { WizardPrompter } from "../wizard/prompts.js";
import { ensureModelAllowlistEntry } from "./model-allowlist.js";
2026-01-14 05:39:47 +00:00
export async function applyDefaultModelChoice(params: {
2026-01-30 03:15:10 +01:00
config: OpenClawConfig;
2026-01-14 05:39:47 +00:00
setDefaultModel: boolean;
defaultModel: string;
2026-01-30 03:15:10 +01:00
applyDefaultConfig: (config: OpenClawConfig) => OpenClawConfig;
applyProviderConfig: (config: OpenClawConfig) => OpenClawConfig;
2026-01-14 05:39:47 +00:00
noteDefault?: string;
noteAgentModel: (model: string) => Promise<void>;
prompter: WizardPrompter;
2026-01-30 03:15:10 +01:00
}): Promise<{ config: OpenClawConfig; agentModelOverride?: string }> {
2026-01-14 05:39:47 +00:00
if (params.setDefaultModel) {
const next = params.applyDefaultConfig(params.config);
if (params.noteDefault) {
await params.prompter.note(`Default model set to ${params.noteDefault}`, "Model configured");
2026-01-14 05:39:47 +00:00
}
return { config: next };
}
const next = params.applyProviderConfig(params.config);
const nextWithModel = ensureModelAllowlistEntry({
cfg: next,
modelRef: params.defaultModel,
});
2026-01-14 05:39:47 +00:00
await params.noteAgentModel(params.defaultModel);
return { config: nextWithModel, agentModelOverride: params.defaultModel };
2026-01-14 05:39:47 +00:00
}