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