refactor: split zai config sdk seam

This commit is contained in:
Peter Steinberger
2026-04-05 11:18:26 +01:00
parent be526d6423
commit 2d7ec1b641
4 changed files with 27 additions and 27 deletions

View File

@@ -0,0 +1,12 @@
// Narrow config barrel for core/test consumers.
// Keep this separate from provider registration/runtime imports.
export { applyZaiConfig, applyZaiProviderConfig, ZAI_DEFAULT_MODEL_REF } from "./onboard.js";
export {
ZAI_CN_BASE_URL,
ZAI_CODING_CN_BASE_URL,
ZAI_CODING_GLOBAL_BASE_URL,
ZAI_DEFAULT_COST,
ZAI_DEFAULT_MODEL_ID,
ZAI_GLOBAL_BASE_URL,
} from "./model-definitions.js";

View File

@@ -20,7 +20,7 @@ import {
buildProviderReplayFamilyHooks,
normalizeModelCompat,
} from "openclaw/plugin-sdk/provider-model-shared";
import { buildProviderStreamFamilyHooks } from "openclaw/plugin-sdk/provider-stream";
import { buildProviderStreamFamilyHooks } from "openclaw/plugin-sdk/provider-stream-family";
import { fetchZaiUsage, resolveLegacyPiAgentAccessToken } from "openclaw/plugin-sdk/provider-usage";
import { detectZaiEndpoint, type ZaiEndpointId } from "./detect.js";
import { zaiMediaUnderstandingProvider } from "./media-understanding-provider.js";

View File

@@ -1,26 +1,14 @@
// Manual facade. Keep loader boundary explicit.
type FacadeModule = typeof import("@openclaw/zai/api.js");
import { loadBundledPluginPublicSurfaceModuleSync } from "./facade-runtime.js";
// Internal Z.AI config seam.
// Keep load cheap for config/doctor/test code; do not route through the plugin facade.
function loadFacadeModule(): FacadeModule {
return loadBundledPluginPublicSurfaceModuleSync<FacadeModule>({
dirName: "zai",
artifactBasename: "api.js",
});
}
export const applyZaiConfig: FacadeModule["applyZaiConfig"] = ((...args) =>
loadFacadeModule()["applyZaiConfig"](...args)) as FacadeModule["applyZaiConfig"];
export const applyZaiProviderConfig: FacadeModule["applyZaiProviderConfig"] = ((...args) =>
loadFacadeModule()["applyZaiProviderConfig"](...args)) as FacadeModule["applyZaiProviderConfig"];
export const ZAI_CN_BASE_URL: FacadeModule["ZAI_CN_BASE_URL"] =
loadFacadeModule()["ZAI_CN_BASE_URL"];
export const ZAI_CODING_CN_BASE_URL: FacadeModule["ZAI_CODING_CN_BASE_URL"] =
loadFacadeModule()["ZAI_CODING_CN_BASE_URL"];
export const ZAI_CODING_GLOBAL_BASE_URL: FacadeModule["ZAI_CODING_GLOBAL_BASE_URL"] =
loadFacadeModule()["ZAI_CODING_GLOBAL_BASE_URL"];
export const ZAI_DEFAULT_MODEL_ID: FacadeModule["ZAI_DEFAULT_MODEL_ID"] =
loadFacadeModule()["ZAI_DEFAULT_MODEL_ID"];
export const ZAI_DEFAULT_MODEL_REF: FacadeModule["ZAI_DEFAULT_MODEL_REF"] =
loadFacadeModule()["ZAI_DEFAULT_MODEL_REF"];
export const ZAI_GLOBAL_BASE_URL: FacadeModule["ZAI_GLOBAL_BASE_URL"] =
loadFacadeModule()["ZAI_GLOBAL_BASE_URL"];
export {
applyZaiConfig,
applyZaiProviderConfig,
ZAI_CN_BASE_URL,
ZAI_CODING_CN_BASE_URL,
ZAI_CODING_GLOBAL_BASE_URL,
ZAI_DEFAULT_COST,
ZAI_DEFAULT_MODEL_ID,
ZAI_DEFAULT_MODEL_REF,
ZAI_GLOBAL_BASE_URL,
} from "../../extensions/zai/config-api.js";

View File

@@ -3,7 +3,7 @@ import {
ZAI_CODING_CN_BASE_URL,
ZAI_CODING_GLOBAL_BASE_URL,
ZAI_GLOBAL_BASE_URL,
} from "../plugin-sdk/zai.js";
} from "../../extensions/zai/model-definitions.js";
import { fetchWithTimeout } from "../utils/fetch-timeout.js";
export type ZaiEndpointId = "global" | "cn" | "coding-global" | "coding-cn";