Files
openclaw/src/agents/model-compat.ts
Peter Steinberger 6f9861bb9b chore: update deps
2026-01-20 13:06:16 +00:00

17 lines
635 B
TypeScript

import type { Api, Model } from "@mariozechner/pi-ai";
export function normalizeModelCompat(model: Model<Api>): Model<Api> {
const isOpenAICompletionsModel = (
candidate: Model<Api>,
): candidate is Model<"openai-completions"> => candidate.api === "openai-completions";
const baseUrl = model.baseUrl ?? "";
const isZai = model.provider === "zai" || baseUrl.includes("api.z.ai");
if (!isZai || !isOpenAICompletionsModel(model)) return model;
const compat = model.compat ?? {};
if (compat.supportsDeveloperRole === false) return model;
model.compat = { ...compat, supportsDeveloperRole: false };
return model;
}