Files
oh-my-pi/packages/ai/test/openai-responses-developer-role.test.ts
can1357 8a8e9aebe5 refactor(ai): removed reasoning suppression prompt
- Removed the `requiresReasoningSuppressionPrompt` compatibility flag and associated logic.
- Simplified `buildOpenAIResponsesChainedParams` by removing support for trailing input scaffolding.
- Cleaned up parameter builders and test suites that handled the suppressed developer role messages.
2026-07-02 05:36:37 +02:00

92 lines
3.9 KiB
TypeScript

import { describe, expect, it } from "bun:test";
import { buildOpenAIResponsesCompat } from "@oh-my-pi/pi-catalog/compat/openai";
describe("resolveOpenAIResponsesCompat supportsDeveloperRole", () => {
it("returns true for openai provider with official API base URL", () => {
const model = { provider: "openai", name: "Test Model", baseUrl: "https://api.openai.com/v1" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns false for openai provider with custom proxy base URL", () => {
const model = { provider: "openai", name: "Test Model", baseUrl: "https://my-proxy.example.com/v1" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(false);
});
it("returns true for github-copilot provider", () => {
const model = { provider: "github-copilot", name: "Test Model", baseUrl: "https://api.githubcopilot.com" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns false for github-copilot provider with custom proxy base URL", () => {
const model = { provider: "github-copilot", name: "Test Model", baseUrl: "https://proxy.example.com/v1" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(false);
});
it("returns true for Azure OpenAI base URL", () => {
const model = {
provider: "azure-openai",
name: "Test Model",
baseUrl: "https://my-resource.openai.azure.com/openai",
};
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns true for Azure AI Inference base URL", () => {
const model = {
provider: "azure-openai",
name: "Test Model",
baseUrl: "https://models.inference.ai.azure.com/v1/chat/completions",
};
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns true for api.openai.com base URL", () => {
const model = { provider: "custom", name: "Test Model", baseUrl: "https://api.openai.com/v1/chat/completions" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns false for generic third-party provider", () => {
const model = { provider: "custom", name: "Test Model", baseUrl: "https://api.example.com/v1" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(false);
});
it("returns false for local/localhost endpoints", () => {
const model = { provider: "custom", name: "Test Model", baseUrl: "http://localhost:8080/v1" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(false);
});
it("is case-insensitive for base URL matching", () => {
const model = { provider: "custom", name: "Test Model", baseUrl: "https://API.OPENAI.COM/v1" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns true for azure.com/openai base URL", () => {
const model = {
provider: "custom",
name: "Test Model",
baseUrl: "https://azure.com/openai/deployments/my-model",
};
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns true for github-copilot provider with api.githubcopilot.com", () => {
const model = { provider: "github-copilot", name: "Test Model", baseUrl: "https://api.githubcopilot.com" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns true for github-copilot provider with api.enterprise.githubcopilot.com", () => {
const model = {
provider: "github-copilot",
name: "Test Model",
baseUrl: "https://api.enterprise.githubcopilot.com",
};
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
it("returns true for github-copilot provider with copilot-api enterprise domain", () => {
const model = { provider: "github-copilot", name: "Test Model", baseUrl: "https://copilot-api.mycompany.com" };
expect(buildOpenAIResponsesCompat(model).supportsDeveloperRole).toBe(true);
});
});