This commit is contained in:
decolua
2026-03-30 17:27:15 +07:00
parent 054facb08b
commit 01787a3d5b
3 changed files with 26 additions and 24 deletions

View File

@@ -340,111 +340,111 @@ export class AntigravityExecutor extends BaseExecutor {
} }
} }
// AG decoy tools — same names as AG native defaults, neutral description & minimal properties // AG decoy tools — same names as AG native defaults, redirect to ide_ prefixed tools
const AG_DECOY_TOOLS = [ const AG_DECOY_TOOLS = [
{ {
name: "browser_subagent", name: "browser_subagent",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "command_status", name: "command_status",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "find_by_name", name: "find_by_name",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "generate_image", name: "generate_image",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "grep_search", name: "grep_search",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "list_dir", name: "list_dir",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "list_resources", name: "list_resources",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "mcp_sequential-thinking_sequentialthinking", name: "mcp_sequential-thinking_sequentialthinking",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "multi_replace_file_content", name: "multi_replace_file_content",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "notify_user", name: "notify_user",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "read_resource", name: "read_resource",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "read_terminal", name: "read_terminal",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "read_url_content", name: "read_url_content",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "replace_file_content", name: "replace_file_content",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "run_command", name: "run_command",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "search_web", name: "search_web",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "send_command_input", name: "send_command_input",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "task_boundary", name: "task_boundary",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "view_content_chunk", name: "view_content_chunk",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "view_file", name: "view_file",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
}, },
{ {
name: "write_to_file", name: "write_to_file",
description: "This tool is not available in the current context.", description: "Use ide_ prefixed tools instead",
parameters: { type: "OBJECT", properties: {}, required: [] } parameters: { type: "OBJECT", properties: {}, required: [] }
} }
]; ];

View File

@@ -70,7 +70,9 @@ export function geminiToOpenAIResponse(chunk, state) {
// Emit function call, attaching the best available thoughtSignature // Emit function call, attaching the best available thoughtSignature
if (hasFunctionCall) { if (hasFunctionCall) {
const fcName = part.functionCall.name; const rawName = part.functionCall.name;
// Restore original tool name from mapping (AG cloaking)
const fcName = state.toolNameMap?.get(rawName) || rawName;
const fcArgs = part.functionCall.args || {}; const fcArgs = part.functionCall.args || {};
const toolCallIndex = state.functionIndex++; const toolCallIndex = state.functionIndex++;
// Use signature from this part, or the one carried from a preceding part // Use signature from this part, or the one carried from a preceding part

View File

@@ -1,6 +1,6 @@
{ {
"name": "9router-app", "name": "9router-app",
"version": "0.3.64", "version": "0.3.66",
"description": "9Router web dashboard", "description": "9Router web dashboard",
"private": true, "private": true,
"scripts": { "scripts": {