feat: Remove store parameter for OVHcloud since it's not supported

This commit is contained in:
Elias TOURNEUX 2026-01-26 20:35:12 -05:00
parent 2cee1b6338
commit ce51fb1499
No known key found for this signature in database
GPG Key ID: 2120EF1EFF7B6805
2 changed files with 25 additions and 5 deletions

View File

@ -24,6 +24,15 @@ describe("normalizeModelCompat", () => {
expect(normalized.compat?.supportsDeveloperRole).toBe(false);
});
it("forces supportsStore off for ovhcloud models", () => {
const model = baseModel();
model.provider = "ovhcloud";
model.baseUrl = "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1";
delete (model as { compat?: unknown }).compat;
const normalized = normalizeModelCompat(model);
expect(normalized.compat?.supportsStore).toBe(false);
});
it("leaves non-zai models untouched", () => {
const model = {
...baseModel(),

View File

@ -5,16 +5,27 @@ function isOpenAiCompletionsModel(model: Model<Api>): model is Model<"openai-com
}
export function normalizeModelCompat(model: Model<Api>): Model<Api> {
if (!isOpenAiCompletionsModel(model)) return model;
const baseUrl = model.baseUrl ?? "";
const isZai = model.provider === "zai" || baseUrl.includes("api.z.ai");
if (!isZai || !isOpenAiCompletionsModel(model)) return model;
const isOvhcloud = model.provider === "ovhcloud" || baseUrl.includes("ovh.net");
if (!isZai && !isOvhcloud) return model;
const openaiModel = model as Model<"openai-completions">;
const compat = openaiModel.compat ?? undefined;
if (compat?.supportsDeveloperRole === false) return model;
openaiModel.compat = compat
? { ...compat, supportsDeveloperRole: false }
: { supportsDeveloperRole: false };
if (isZai) {
if (compat?.supportsDeveloperRole === false) return model;
openaiModel.compat = compat
? { ...compat, supportsDeveloperRole: false }
: { supportsDeveloperRole: false };
}
if (isOvhcloud) {
if (compat?.supportsStore === false) return model;
openaiModel.compat = compat ? { ...compat, supportsStore: false } : { supportsStore: false };
}
return openaiModel;
}