refactor: add provider onboarding preset appliers

This commit is contained in:
Peter Steinberger
2026-03-23 01:39:10 +00:00
parent 956fe72b39
commit 7d032ed38c
16 changed files with 368 additions and 178 deletions

View File

@@ -1,5 +1,5 @@
import {
applyProviderConfigWithDefaultModelPreset,
createDefaultModelPresetAppliers,
type OpenClawConfig,
} from "openclaw/plugin-sdk/provider-onboard";
import {
@@ -15,26 +15,28 @@ function resolveKimiCodingDefaultModel() {
return buildKimiCodingProvider().models[0];
}
function applyKimiCodingPreset(cfg: OpenClawConfig, primaryModelRef?: string): OpenClawConfig {
const defaultModel = resolveKimiCodingDefaultModel();
if (!defaultModel) {
return cfg;
}
return applyProviderConfigWithDefaultModelPreset(cfg, {
providerId: "kimi",
api: "anthropic-messages",
baseUrl: KIMI_CODING_BASE_URL,
defaultModel,
defaultModelId: KIMI_CODING_DEFAULT_MODEL_ID,
aliases: [{ modelRef: KIMI_MODEL_REF, alias: "Kimi" }],
primaryModelRef,
});
}
const kimiCodingPresetAppliers = createDefaultModelPresetAppliers({
primaryModelRef: KIMI_MODEL_REF,
resolveParams: (_cfg: OpenClawConfig) => {
const defaultModel = resolveKimiCodingDefaultModel();
if (!defaultModel) {
return null;
}
return {
providerId: "kimi",
api: "anthropic-messages",
baseUrl: KIMI_CODING_BASE_URL,
defaultModel,
defaultModelId: KIMI_CODING_DEFAULT_MODEL_ID,
aliases: [{ modelRef: KIMI_MODEL_REF, alias: "Kimi" }],
};
},
});
export function applyKimiCodeProviderConfig(cfg: OpenClawConfig): OpenClawConfig {
return applyKimiCodingPreset(cfg);
return kimiCodingPresetAppliers.applyProviderConfig(cfg);
}
export function applyKimiCodeConfig(cfg: OpenClawConfig): OpenClawConfig {
return applyKimiCodingPreset(cfg, KIMI_MODEL_REF);
return kimiCodingPresetAppliers.applyConfig(cfg);
}