From ee6a0fa7d1898ecacfa5d527ea6d505560bd7cab Mon Sep 17 00:00:00 2001 From: Aishanee Shah Date: Sun, 8 Feb 2026 04:01:07 +0000 Subject: [PATCH] refactor: use parametersJsonSchema consistently across tool definitions --- packages/core/src/core/geminiChat.ts | 6 +----- packages/core/src/tools/definitions/coreTools.ts | 4 ++-- packages/core/src/tools/read-file.ts | 3 --- packages/core/src/tools/shell.ts | 4 ---- 4 files changed, 3 insertions(+), 14 deletions(-) diff --git a/packages/core/src/core/geminiChat.ts b/packages/core/src/core/geminiChat.ts index de9dd6c6b0..35a8e79855 100644 --- a/packages/core/src/core/geminiChat.ts +++ b/packages/core/src/core/geminiChat.ts @@ -240,7 +240,6 @@ export class GeminiChat { private sendPromise: Promise = Promise.resolve(); private readonly chatRecordingService: ChatRecordingService; private lastPromptTokenCount: number; - private lastUsedModel?: string; constructor( private readonly config: Config, @@ -582,10 +581,7 @@ export class GeminiChat { } // Track final request parameters for AfterModel hooks - if (modelToUse !== this.lastUsedModel) { - await this.config.getGeminiClient().setTools(modelToUse); - this.lastUsedModel = modelToUse; - } + await this.config.getGeminiClient().setTools(modelToUse); lastModelToUse = modelToUse; lastConfig = config; lastContentsToUse = contentsToUse; diff --git a/packages/core/src/tools/definitions/coreTools.ts b/packages/core/src/tools/definitions/coreTools.ts index 2156653d78..e215c28d41 100644 --- a/packages/core/src/tools/definitions/coreTools.ts +++ b/packages/core/src/tools/definitions/coreTools.ts @@ -17,7 +17,7 @@ export const READ_FILE_DEFINITION: ToolDefinition = { base: { name: READ_FILE_TOOL_NAME, description: `Reads and returns the content of a specified file. If the file is large, the content will be truncated. The tool's response will clearly indicate if truncation has occurred and will provide details on how to read more of the file using the 'offset' and 'limit' parameters. Handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), audio files (MP3, WAV, AIFF, AAC, OGG, FLAC), and PDF files. For text files, it can read specific line ranges.`, - parameters: { + parametersJsonSchema: { type: Type.OBJECT, properties: { file_path: { @@ -94,7 +94,7 @@ export function getShellDefinition( base: { name: SHELL_TOOL_NAME, description: getShellToolDescription(enableInteractiveShell), - parameters: { + parametersJsonSchema: { type: Type.OBJECT, properties: { command: { diff --git a/packages/core/src/tools/read-file.ts b/packages/core/src/tools/read-file.ts index 27b13f1f9a..b0ffe32922 100644 --- a/packages/core/src/tools/read-file.ts +++ b/packages/core/src/tools/read-file.ts @@ -237,9 +237,6 @@ export class ReadFileTool extends BaseDeclarativeTool< } override getSchema(modelId?: string) { - if (!modelId) { - return super.getSchema(); - } return resolveToolDeclaration(READ_FILE_DEFINITION, modelId); } } diff --git a/packages/core/src/tools/shell.ts b/packages/core/src/tools/shell.ts index 38e58f85c9..5baa593805 100644 --- a/packages/core/src/tools/shell.ts +++ b/packages/core/src/tools/shell.ts @@ -515,10 +515,6 @@ export class ShellTool extends BaseDeclarativeTool< const definition = getShellDefinition( this.config.getEnableInteractiveShell(), ); - if (!modelId) { - return super.getSchema(); - } - return resolveToolDeclaration(definition, modelId); } }