mirror of https://github.com/openclaw/openclaw.git
refactor: share anthropic compat flag checks
This commit is contained in:
parent
088d6432a4
commit
41fa63a49e
|
|
@ -75,6 +75,17 @@ function resolveAnthropicFastServiceTier(enabled: boolean): AnthropicServiceTier
|
||||||
return enabled ? "auto" : "standard_only";
|
return enabled ? "auto" : "standard_only";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function hasOpenAiAnthropicToolPayloadCompatFlag(model: { compat?: unknown }): boolean {
|
||||||
|
if (!model.compat || typeof model.compat !== "object" || Array.isArray(model.compat)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
(model.compat as { requiresOpenAiAnthropicToolPayload?: unknown })
|
||||||
|
.requiresOpenAiAnthropicToolPayload === true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function requiresAnthropicToolPayloadCompatibilityForModel(model: {
|
function requiresAnthropicToolPayloadCompatibilityForModel(model: {
|
||||||
api?: unknown;
|
api?: unknown;
|
||||||
provider?: unknown;
|
provider?: unknown;
|
||||||
|
|
@ -90,15 +101,7 @@ function requiresAnthropicToolPayloadCompatibilityForModel(model: {
|
||||||
) {
|
) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
return hasOpenAiAnthropicToolPayloadCompatFlag(model);
|
||||||
if (!model.compat || typeof model.compat !== "object" || Array.isArray(model.compat)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
(model.compat as { requiresOpenAiAnthropicToolPayload?: unknown })
|
|
||||||
.requiresOpenAiAnthropicToolPayload === true
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function usesOpenAiFunctionAnthropicToolSchemaForModel(model: {
|
function usesOpenAiFunctionAnthropicToolSchemaForModel(model: {
|
||||||
|
|
@ -108,13 +111,7 @@ function usesOpenAiFunctionAnthropicToolSchemaForModel(model: {
|
||||||
if (typeof model.provider === "string" && usesOpenAiFunctionAnthropicToolSchema(model.provider)) {
|
if (typeof model.provider === "string" && usesOpenAiFunctionAnthropicToolSchema(model.provider)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!model.compat || typeof model.compat !== "object" || Array.isArray(model.compat)) {
|
return hasOpenAiAnthropicToolPayloadCompatFlag(model);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
(model.compat as { requiresOpenAiAnthropicToolPayload?: unknown })
|
|
||||||
.requiresOpenAiAnthropicToolPayload === true
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function usesOpenAiStringModeAnthropicToolChoiceForModel(model: {
|
function usesOpenAiStringModeAnthropicToolChoiceForModel(model: {
|
||||||
|
|
@ -127,13 +124,7 @@ function usesOpenAiStringModeAnthropicToolChoiceForModel(model: {
|
||||||
) {
|
) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!model.compat || typeof model.compat !== "object" || Array.isArray(model.compat)) {
|
return hasOpenAiAnthropicToolPayloadCompatFlag(model);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
(model.compat as { requiresOpenAiAnthropicToolPayload?: unknown })
|
|
||||||
.requiresOpenAiAnthropicToolPayload === true
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function normalizeOpenAiFunctionAnthropicToolDefinition(
|
function normalizeOpenAiFunctionAnthropicToolDefinition(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue