mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-06 06:41:08 +00:00
fix(providers): stop forcing reasoning effort on proxy completions
This commit is contained in:
@@ -10,6 +10,7 @@ type OpenAICompletionsCompatDefaultsInput = {
|
||||
export type OpenAICompletionsCompatDefaults = {
|
||||
supportsStore: boolean;
|
||||
supportsDeveloperRole: boolean;
|
||||
supportsReasoningEffort: boolean;
|
||||
supportsUsageInStreaming: boolean;
|
||||
supportsStrictMode: boolean;
|
||||
};
|
||||
@@ -48,6 +49,11 @@ export function resolveOpenAICompletionsCompatDefaults(
|
||||
supportsStore:
|
||||
!isNonStandard && knownProviderFamily !== "mistral" && !usesExplicitProxyLikeEndpoint,
|
||||
supportsDeveloperRole: !isNonStandard && !isMoonshotLike && !usesConfiguredNonOpenAIEndpoint,
|
||||
supportsReasoningEffort:
|
||||
!isZai &&
|
||||
knownProviderFamily !== "mistral" &&
|
||||
endpointClass !== "xai-native" &&
|
||||
!usesExplicitProxyLikeEndpoint,
|
||||
supportsUsageInStreaming: !isNonStandard && !usesConfiguredNonOpenAIEndpoint,
|
||||
supportsStrictMode: !isZai && !usesConfiguredNonOpenAIEndpoint,
|
||||
};
|
||||
|
||||
@@ -406,15 +406,19 @@ describe("openai transport stream", () => {
|
||||
},
|
||||
],
|
||||
} as never,
|
||||
undefined,
|
||||
{
|
||||
reasoningEffort: "high",
|
||||
} as never,
|
||||
) as {
|
||||
messages?: Array<{ role?: string }>;
|
||||
reasoning_effort?: unknown;
|
||||
stream_options?: unknown;
|
||||
store?: unknown;
|
||||
tools?: Array<{ function?: { strict?: boolean } }>;
|
||||
};
|
||||
|
||||
expect(params.messages?.[0]).toMatchObject({ role: "system" });
|
||||
expect(params).not.toHaveProperty("reasoning_effort");
|
||||
expect(params).not.toHaveProperty("stream_options");
|
||||
expect(params).not.toHaveProperty("store");
|
||||
expect(params.tools?.[0]?.function).not.toHaveProperty("strict");
|
||||
|
||||
@@ -1351,7 +1351,6 @@ function detectCompat(model: OpenAIModeModel) {
|
||||
const isZai = endpointClass === "zai-native" || (isDefaultRoute && provider === "zai");
|
||||
const useMaxTokens =
|
||||
endpointClass === "chutes-native" || (isDefaultRoute && provider === "chutes") || isMistral;
|
||||
const isGrok = endpointClass === "xai-native" || (isDefaultRoute && provider === "xai");
|
||||
const isGroq = endpointClass === "groq-native" || (isDefaultRoute && provider === "groq");
|
||||
const reasoningEffortMap: Record<string, string> =
|
||||
isGroq && model.id === "qwen/qwen3-32b"
|
||||
@@ -1366,7 +1365,7 @@ function detectCompat(model: OpenAIModeModel) {
|
||||
return {
|
||||
supportsStore: compatDefaults.supportsStore,
|
||||
supportsDeveloperRole: compatDefaults.supportsDeveloperRole,
|
||||
supportsReasoningEffort: !isGrok && !isMistral && !isZai,
|
||||
supportsReasoningEffort: compatDefaults.supportsReasoningEffort,
|
||||
reasoningEffortMap,
|
||||
supportsUsageInStreaming: compatDefaults.supportsUsageInStreaming,
|
||||
maxTokensField: useMaxTokens ? "max_tokens" : "max_completion_tokens",
|
||||
|
||||
Reference in New Issue
Block a user