MODEL_CAPS

This commit is contained in:
decolua
2026-04-04 23:24:24 +07:00
parent 5448eedbdd
commit 333e704b2a
7 changed files with 239 additions and 10 deletions

View File

@@ -428,11 +428,15 @@ function wrapInCloudCodeEnvelopeForClaude(model, claudeRequest, credentials = nu
return envelope;
}
// Detect if model should use Claude backend in Antigravity
// Claude models have specific ID patterns — more reliable than caps at routing level
function isClaudeModel(model) {
return model.toLowerCase().includes("claude");
}
// OpenAI -> Antigravity (Sandbox Cloud Code with wrapper)
export function openaiToAntigravityRequest(model, body, stream, credentials = null) {
const isClaude = model.toLowerCase().includes("claude");
if (isClaude) {
if (isClaudeModel(model)) {
const claudeRequest = openaiToClaudeRequestForAntigravity(model, body, stream);
return wrapInCloudCodeEnvelopeForClaude(model, claudeRequest, credentials);
}

View File

@@ -20,8 +20,8 @@ function convertMessages(messages, tools, model) {
let pendingImages = [];
let currentRole = null;
// Only Claude models support images in Kiro
const supportsImages = model && model.toLowerCase().includes("claude");
// Image support is pre-filtered by caps in translateRequest before reaching here
const supportsImages = true;
const flushPending = () => {
if (currentRole === "user") {