test(ai): remove stale completions compat bridge (#122154)

This commit is contained in:
Peter Steinberger
2026-08-11 10:10:39 -07:00
committed by GitHub
parent 3a55867ea1
commit 7fb18bf2cf
3 changed files with 0 additions and 222 deletions
@@ -283,9 +283,3 @@ export function resolveOpenAICompletionsCompat(
requiresNonEmptyUserOrAssistantMessage: defaults.requiresNonEmptyUserOrAssistantMessage,
};
}
if (process.env.VITEST || process.env.NODE_ENV === "test") {
(globalThis as Record<PropertyKey, unknown>)[
Symbol.for("openclaw.openAICompletionsCompatTestApi")
] = { resolveOpenAICompletionsCompatDefaults };
}
@@ -1,36 +0,0 @@
import type { detectOpenAICompletionsCompat } from "@openclaw/ai/transports";
import type { ProviderEndpointClass } from "./provider-attribution.js";
import "@openclaw/ai/transports";
type OpenAICompletionsCompatDefaultsInput = {
provider?: string;
endpointClass: ProviderEndpointClass;
knownProviderFamily: string;
supportsNativeStreamingUsageCompat?: boolean;
supportsOpenAICompletionsStreamingUsageCompat?: boolean;
usesExplicitProxyLikeEndpoint?: boolean;
};
type OpenAICompletionsCompatDefaults = ReturnType<typeof detectOpenAICompletionsCompat>["defaults"];
type OpenAICompletionsCompatTestApi = {
resolveOpenAICompletionsCompatDefaults(
input: OpenAICompletionsCompatDefaultsInput,
): OpenAICompletionsCompatDefaults;
};
function getTestApi(): OpenAICompletionsCompatTestApi {
const api = (globalThis as Record<PropertyKey, unknown>)[
Symbol.for("openclaw.openAICompletionsCompatTestApi")
];
if (!api) {
throw new Error("OpenAI completions compat test API is unavailable");
}
return api as OpenAICompletionsCompatTestApi;
}
export function resolveOpenAICompletionsCompatDefaults(
input: OpenAICompletionsCompatDefaultsInput,
): OpenAICompletionsCompatDefaults {
return getTestApi().resolveOpenAICompletionsCompatDefaults(input);
}
@@ -1,180 +0,0 @@
import { detectOpenAICompletionsCompat } from "@openclaw/ai/transports";
// Verifies OpenAI-compatible endpoint defaults for streaming usage and reasoning payloads.
import { describe, expect, it } from "vitest";
import { resolveOpenAICompletionsCompatDefaults } from "./openai-completions-compat.test-support.js";
describe("resolveOpenAICompletionsCompatDefaults", () => {
it("keeps streaming usage enabled for provider-declared compatible endpoints", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "custom-local",
endpointClass: "local",
knownProviderFamily: "custom-local",
supportsNativeStreamingUsageCompat: true,
}).supportsUsageInStreaming,
).toBe(true);
});
it("keeps streaming usage enabled for custom provider-declared compatible endpoints", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "custom-local",
endpointClass: "custom",
knownProviderFamily: "custom-local",
supportsNativeStreamingUsageCompat: true,
}).supportsUsageInStreaming,
).toBe(true);
});
it("keeps streaming usage enabled for local OpenAI-compatible endpoints", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "llama-cpp",
endpointClass: "local",
knownProviderFamily: "llama-cpp",
}).supportsUsageInStreaming,
).toBe(true);
});
it("does not broaden streaming usage for generic custom providers", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "custom-cpa",
endpointClass: "custom",
knownProviderFamily: "custom-cpa",
}).supportsUsageInStreaming,
).toBe(false);
});
it.each(["vllm", "sglang", "lmstudio"])(
"enables streaming usage compat for manifest-declared local provider %s",
(provider) => {
// Manifest capability, not provider id alone, enables local streaming usage compat.
expect(
resolveOpenAICompletionsCompatDefaults({
provider,
endpointClass: "custom",
knownProviderFamily: provider,
supportsOpenAICompletionsStreamingUsageCompat: true,
}).supportsUsageInStreaming,
).toBe(true);
},
);
it("does not infer local streaming usage from provider id alone", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "vllm",
endpointClass: "custom",
knownProviderFamily: "vllm",
}).supportsUsageInStreaming,
).toBe(false);
});
it("uses Together reasoning payload format for Together-family providers", () => {
const defaults = resolveOpenAICompletionsCompatDefaults({
provider: "together",
endpointClass: "custom",
knownProviderFamily: "together",
});
expect(defaults.thinkingFormat).toBe("together");
expect(defaults.supportsReasoningEffort).toBe(false);
expect(defaults.maxTokensField).toBe("max_tokens");
});
it("uses Z.AI's documented max_tokens field", () => {
const defaults = resolveOpenAICompletionsCompatDefaults({
provider: "zai",
endpointClass: "zai-native",
knownProviderFamily: "zai",
});
expect(defaults.maxTokensField).toBe("max_tokens");
});
it("requires a non-empty user or assistant turn for ModelStudio-compatible providers", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "qwen",
endpointClass: "modelstudio-native",
knownProviderFamily: "modelstudio",
}).requiresNonEmptyUserOrAssistantMessage,
).toBe(true);
});
it("does not require a non-empty user or assistant turn for generic local endpoints", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "vllm",
endpointClass: "local",
knownProviderFamily: "vllm",
}).requiresNonEmptyUserOrAssistantMessage,
).toBe(false);
});
});
describe("detectOpenAICompletionsCompat", () => {
it("enables streaming usage compat for vLLM on a local OpenAI-compatible endpoint", () => {
const detected = detectOpenAICompletionsCompat({
provider: "vllm",
baseUrl: "http://127.0.0.1:8000/v1",
id: "Qwen/Qwen3-Coder-Next-FP8",
});
expect(detected.defaults.supportsUsageInStreaming).toBe(true);
});
});
describe("xiaomi compat detection", () => {
it("sets thinkingFormat to deepseek for xiaomi-native endpoint", () => {
// Xiaomi's OpenAI-compatible route uses DeepSeek-style reasoning payloads.
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "xiaomi",
endpointClass: "xiaomi-native",
knownProviderFamily: "xiaomi",
}).thinkingFormat,
).toBe("deepseek");
});
it("sets requiresReasoningContentOnAssistantMessages for xiaomi-native endpoint", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "xiaomi",
endpointClass: "xiaomi-native",
knownProviderFamily: "xiaomi",
}).requiresReasoningContentOnAssistantMessages,
).toBe(true);
});
it("sets thinkingFormat to deepseek for default-route xiaomi provider", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "xiaomi",
endpointClass: "default",
knownProviderFamily: "xiaomi",
}).thinkingFormat,
).toBe("deepseek");
});
it("sets requiresReasoningContentOnAssistantMessages for default-route xiaomi provider", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "xiaomi",
endpointClass: "default",
knownProviderFamily: "xiaomi",
}).requiresReasoningContentOnAssistantMessages,
).toBe(true);
});
it("does not set requiresReasoningContentOnAssistantMessages for unrelated custom provider", () => {
expect(
resolveOpenAICompletionsCompatDefaults({
provider: "other-provider",
endpointClass: "custom",
knownProviderFamily: "other-provider",
}).requiresReasoningContentOnAssistantMessages,
).toBe(false);
});
});