fix: detect antigravity claude by provider

This commit is contained in:
Peter Steinberger
2026-01-22 08:26:08 +00:00
parent ff69a9bd9c
commit acdfbee4f9
2 changed files with 18 additions and 9 deletions

View File

@@ -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 };

View File

@@ -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({