diff --git a/extensions/opencode-go/api.ts b/extensions/opencode-go/api.ts index ff5bf4c42c1..c61f4cfcfa4 100644 --- a/extensions/opencode-go/api.ts +++ b/extensions/opencode-go/api.ts @@ -1,3 +1,7 @@ +import { + applyAgentDefaultModelPrimary, + resolveAgentModelPrimaryValue, +} from "openclaw/plugin-sdk/provider-onboard"; import { OPENCODE_GO_DEFAULT_MODEL_REF } from "./onboard.js"; export { @@ -6,47 +10,18 @@ export { OPENCODE_GO_DEFAULT_MODEL_REF, } from "./onboard.js"; -function resolveCurrentPrimaryModel(model: unknown): string | undefined { - if (typeof model === "string") { - return model.trim() || undefined; - } - if ( - model && - typeof model === "object" && - typeof (model as { primary?: unknown }).primary === "string" - ) { - return ((model as { primary: string }).primary || "").trim() || undefined; - } - return undefined; -} - export function applyOpencodeGoModelDefault( cfg: import("openclaw/plugin-sdk/provider-onboard").OpenClawConfig, ): { next: import("openclaw/plugin-sdk/provider-onboard").OpenClawConfig; changed: boolean; } { - const current = resolveCurrentPrimaryModel(cfg.agents?.defaults?.model); + const current = resolveAgentModelPrimaryValue(cfg.agents?.defaults?.model); if (current === OPENCODE_GO_DEFAULT_MODEL_REF) { return { next: cfg, changed: false }; } return { - next: { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - model: - cfg.agents?.defaults?.model && typeof cfg.agents.defaults.model === "object" - ? { - ...cfg.agents.defaults.model, - primary: OPENCODE_GO_DEFAULT_MODEL_REF, - } - : { primary: OPENCODE_GO_DEFAULT_MODEL_REF }, - }, - }, - }, + next: applyAgentDefaultModelPrimary(cfg, OPENCODE_GO_DEFAULT_MODEL_REF), changed: true, }; } diff --git a/extensions/opencode/api.ts b/extensions/opencode/api.ts index cff5be61fc7..a67ab37f9b3 100644 --- a/extensions/opencode/api.ts +++ b/extensions/opencode/api.ts @@ -1,3 +1,7 @@ +import { + applyAgentDefaultModelPrimary, + resolveAgentModelPrimaryValue, +} from "openclaw/plugin-sdk/provider-onboard"; import { OPENCODE_ZEN_DEFAULT_MODEL_REF } from "./onboard.js"; export { applyOpencodeZenConfig, @@ -12,27 +16,13 @@ const LEGACY_OPENCODE_ZEN_DEFAULT_MODELS = new Set([ export const OPENCODE_ZEN_DEFAULT_MODEL = OPENCODE_ZEN_DEFAULT_MODEL_REF; -function resolveCurrentPrimaryModel(model: unknown): string | undefined { - if (typeof model === "string") { - return model.trim() || undefined; - } - if ( - model && - typeof model === "object" && - typeof (model as { primary?: unknown }).primary === "string" - ) { - return ((model as { primary: string }).primary || "").trim() || undefined; - } - return undefined; -} - export function applyOpencodeZenModelDefault( cfg: import("openclaw/plugin-sdk/provider-onboard").OpenClawConfig, ): { next: import("openclaw/plugin-sdk/provider-onboard").OpenClawConfig; changed: boolean; } { - const current = resolveCurrentPrimaryModel(cfg.agents?.defaults?.model); + const current = resolveAgentModelPrimaryValue(cfg.agents?.defaults?.model); const normalizedCurrent = current && LEGACY_OPENCODE_ZEN_DEFAULT_MODELS.has(current) ? OPENCODE_ZEN_DEFAULT_MODEL @@ -41,22 +31,7 @@ export function applyOpencodeZenModelDefault( return { next: cfg, changed: false }; } return { - next: { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - model: - cfg.agents?.defaults?.model && typeof cfg.agents.defaults.model === "object" - ? { - ...cfg.agents.defaults.model, - primary: OPENCODE_ZEN_DEFAULT_MODEL, - } - : { primary: OPENCODE_ZEN_DEFAULT_MODEL }, - }, - }, - }, + next: applyAgentDefaultModelPrimary(cfg, OPENCODE_ZEN_DEFAULT_MODEL), changed: true, }; }