From c9c633be627ebbbba017369ad9d638cd7b2ff81a Mon Sep 17 00:00:00 2001 From: Abhi <43648792+abhipatel12@users.noreply.github.com> Date: Wed, 15 Oct 2025 22:48:12 -0400 Subject: [PATCH] refactor: move `web_fetch` tool name to `tool-names.ts` (#11174) --- packages/cli/src/config/policy.test.ts | 10 +++++++--- packages/cli/src/config/policy.ts | 4 ++-- packages/core/src/tools/tool-names.ts | 1 + packages/core/src/tools/web-fetch.ts | 3 ++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/config/policy.test.ts b/packages/cli/src/config/policy.test.ts index 38537852c4..25c20cd761 100644 --- a/packages/cli/src/config/policy.test.ts +++ b/packages/cli/src/config/policy.test.ts @@ -7,7 +7,11 @@ import { describe, it, expect } from 'vitest'; import { createPolicyEngineConfig } from './policy.js'; import type { Settings } from './settings.js'; -import { ApprovalMode, PolicyDecision } from '@google/gemini-cli-core'; +import { + ApprovalMode, + PolicyDecision, + WEB_FETCH_TOOL_NAME, +} from '@google/gemini-cli-core'; describe('createPolicyEngineConfig', () => { it('should return ASK_USER for all tools by default', () => { @@ -19,7 +23,7 @@ describe('createPolicyEngineConfig', () => { { toolName: 'save_memory', decision: 'ask_user', priority: 10 }, { toolName: 'run_shell_command', decision: 'ask_user', priority: 10 }, { toolName: 'write_file', decision: 'ask_user', priority: 10 }, - { toolName: 'web_fetch', decision: 'ask_user', priority: 10 }, + { toolName: WEB_FETCH_TOOL_NAME, decision: 'ask_user', priority: 10 }, ]); }); @@ -366,7 +370,7 @@ describe('createPolicyEngineConfig', () => { 'save_memory', 'run_shell_command', 'write_file', - 'web_fetch', + WEB_FETCH_TOOL_NAME, ].includes(r.toolName || '') && r.decision === PolicyDecision.ASK_USER, ); expect(writeToolRules).toHaveLength(0); diff --git a/packages/cli/src/config/policy.ts b/packages/cli/src/config/policy.ts index 6ae74d0e91..7c72fa26de 100644 --- a/packages/cli/src/config/policy.ts +++ b/packages/cli/src/config/policy.ts @@ -21,7 +21,7 @@ import { MemoryTool, ShellTool, WRITE_FILE_TOOL_NAME, - WebFetchTool, + WEB_FETCH_TOOL_NAME, WebSearchTool, } from '@google/gemini-cli-core'; import type { Settings } from './settings.js'; @@ -49,7 +49,7 @@ const WRITE_TOOLS = new Set([ MemoryTool.Name, ShellTool.Name, WRITE_FILE_TOOL_NAME, - WebFetchTool.Name, + WEB_FETCH_TOOL_NAME, ]); export function createPolicyEngineConfig( diff --git a/packages/core/src/tools/tool-names.ts b/packages/core/src/tools/tool-names.ts index 78a1ba17fd..5d78dd1dfd 100644 --- a/packages/core/src/tools/tool-names.ts +++ b/packages/core/src/tools/tool-names.ts @@ -12,6 +12,7 @@ export const GLOB_TOOL_NAME = 'glob'; export const WRITE_TODOS_TOOL_NAME = 'write_todos'; export const WRITE_FILE_TOOL_NAME = 'write_file'; export const WEB_SEARCH_TOOL_NAME = 'google_web_search'; +export const WEB_FETCH_TOOL_NAME = 'web_fetch'; // TODO: Migrate other tool names here to follow this pattern and prevent future circular dependencies. // Candidates for migration: diff --git a/packages/core/src/tools/web-fetch.ts b/packages/core/src/tools/web-fetch.ts index 68fa28f527..c7077ed440 100644 --- a/packages/core/src/tools/web-fetch.ts +++ b/packages/core/src/tools/web-fetch.ts @@ -28,6 +28,7 @@ import { logWebFetchFallbackAttempt, WebFetchFallbackAttemptEvent, } from '../telemetry/index.js'; +import { WEB_FETCH_TOOL_NAME } from './tool-names.js'; const URL_FETCH_TIMEOUT_MS = 10000; const MAX_CONTENT_LENGTH = 100000; @@ -379,7 +380,7 @@ export class WebFetchTool extends BaseDeclarativeTool< WebFetchToolParams, ToolResult > { - static readonly Name: string = 'web_fetch'; + static readonly Name: string = WEB_FETCH_TOOL_NAME; constructor( private readonly config: Config,