Files
openclaw/src/plugin-sdk/openrouter.ts
2026-04-18 22:06:45 +01:00

32 lines
1.4 KiB
TypeScript

// Manual facade. Keep loader boundary explicit.
import type { ModelProviderConfig, OpenClawConfig } from "../config/types.js";
import { loadBundledPluginPublicSurfaceModuleSync } from "./facade-loader.js";
type FacadeModule = {
applyOpenrouterConfig: (cfg: OpenClawConfig) => OpenClawConfig;
applyOpenrouterProviderConfig: (cfg: OpenClawConfig) => OpenClawConfig;
buildOpenrouterProvider: () => ModelProviderConfig;
OPENROUTER_DEFAULT_MODEL_REF: string;
};
function loadFacadeModule(): FacadeModule {
return loadBundledPluginPublicSurfaceModuleSync<FacadeModule>({
dirName: "openrouter",
artifactBasename: "api.js",
});
}
export const applyOpenrouterConfig: FacadeModule["applyOpenrouterConfig"] = ((...args) =>
loadFacadeModule()["applyOpenrouterConfig"](...args)) as FacadeModule["applyOpenrouterConfig"];
export const applyOpenrouterProviderConfig: FacadeModule["applyOpenrouterProviderConfig"] = ((
...args
) =>
loadFacadeModule()["applyOpenrouterProviderConfig"](
...args,
)) as FacadeModule["applyOpenrouterProviderConfig"];
export const buildOpenrouterProvider: FacadeModule["buildOpenrouterProvider"] = ((...args) =>
loadFacadeModule()["buildOpenrouterProvider"](
...args,
)) as FacadeModule["buildOpenrouterProvider"];
export const OPENROUTER_DEFAULT_MODEL_REF: FacadeModule["OPENROUTER_DEFAULT_MODEL_REF"] =
loadFacadeModule()["OPENROUTER_DEFAULT_MODEL_REF"];