fix: detect antigravity claude by provider
This commit is contained in:
@@ -6,9 +6,15 @@ export function isGoogleModelApi(api?: string | null): boolean {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isAntigravityClaude(api?: string | null, modelId?: string): boolean {
|
export function isAntigravityClaude(params: {
|
||||||
if (api !== "google-antigravity") return false;
|
api?: string | null;
|
||||||
return modelId?.toLowerCase().includes("claude") ?? false;
|
provider?: string | null;
|
||||||
|
modelId?: string;
|
||||||
|
}): boolean {
|
||||||
|
const provider = params.provider?.toLowerCase();
|
||||||
|
const api = params.api?.toLowerCase();
|
||||||
|
if (provider !== "google-antigravity" && api !== "google-antigravity") return false;
|
||||||
|
return params.modelId?.toLowerCase().includes("claude") ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
export { sanitizeGoogleTurnOrdering };
|
export { sanitizeGoogleTurnOrdering };
|
||||||
|
|||||||
@@ -273,7 +273,11 @@ export async function sanitizeSessionHistory(params: {
|
|||||||
sessionManager: SessionManager;
|
sessionManager: SessionManager;
|
||||||
sessionId: string;
|
sessionId: string;
|
||||||
}): Promise<AgentMessage[]> {
|
}): Promise<AgentMessage[]> {
|
||||||
const isAntigravityClaudeModel = isAntigravityClaude(params.modelApi, params.modelId);
|
const isAntigravityClaudeModel = isAntigravityClaude({
|
||||||
|
api: params.modelApi,
|
||||||
|
provider: params.provider,
|
||||||
|
modelId: params.modelId,
|
||||||
|
});
|
||||||
const provider = normalizeProviderId(params.provider ?? "");
|
const provider = normalizeProviderId(params.provider ?? "");
|
||||||
const modelId = (params.modelId ?? "").toLowerCase();
|
const modelId = (params.modelId ?? "").toLowerCase();
|
||||||
const isOpenRouterGemini =
|
const isOpenRouterGemini =
|
||||||
@@ -285,15 +289,14 @@ export async function sanitizeSessionHistory(params: {
|
|||||||
sanitizeToolCallIds,
|
sanitizeToolCallIds,
|
||||||
toolCallIdMode,
|
toolCallIdMode,
|
||||||
enforceToolCallLast: params.modelApi === "anthropic-messages",
|
enforceToolCallLast: params.modelApi === "anthropic-messages",
|
||||||
preserveSignatures: params.modelApi === "google-antigravity" && isAntigravityClaudeModel,
|
preserveSignatures: isAntigravityClaudeModel,
|
||||||
sanitizeThoughtSignatures: isOpenRouterGemini
|
sanitizeThoughtSignatures: isOpenRouterGemini
|
||||||
? { allowBase64Only: true, includeCamelCase: true }
|
? { allowBase64Only: true, includeCamelCase: true }
|
||||||
: undefined,
|
: undefined,
|
||||||
});
|
});
|
||||||
const sanitizedThinking =
|
const sanitizedThinking = isAntigravityClaudeModel
|
||||||
params.modelApi === "google-antigravity" && isAntigravityClaudeModel
|
? sanitizeAntigravityThinkingBlocks(sanitizedImages)
|
||||||
? sanitizeAntigravityThinkingBlocks(sanitizedImages)
|
: sanitizedImages;
|
||||||
: sanitizedImages;
|
|
||||||
const repairedTools = sanitizeToolUseResultPairing(sanitizedThinking);
|
const repairedTools = sanitizeToolUseResultPairing(sanitizedThinking);
|
||||||
|
|
||||||
return applyGoogleTurnOrderingFix({
|
return applyGoogleTurnOrderingFix({
|
||||||
|
|||||||
Reference in New Issue
Block a user