From 9ae2595bfde85d24ae0330d50f97ce0a8e2dc374 Mon Sep 17 00:00:00 2001 From: Noritaka Kobayashi Date: Mon, 30 Jun 2025 04:06:03 +0900 Subject: [PATCH] refactor: remove unnecessary assertion (#2579) --- packages/cli/src/config/settings.test.ts | 3 +-- .../cli/src/ui/hooks/slashCommandProcessor.ts | 5 +---- packages/core/src/core/coreToolScheduler.ts | 20 ++++--------------- packages/core/src/core/geminiChat.ts | 2 +- packages/core/src/tools/web-fetch.ts | 5 +---- packages/core/src/utils/editor.ts | 5 +---- 6 files changed, 9 insertions(+), 31 deletions(-) diff --git a/packages/cli/src/config/settings.test.ts b/packages/cli/src/config/settings.test.ts index efaddab3..e7565457 100644 --- a/packages/cli/src/config/settings.test.ts +++ b/packages/cli/src/config/settings.test.ts @@ -43,7 +43,6 @@ import stripJsonComments from 'strip-json-comments'; // Will be mocked separatel // These imports will get the versions from the vi.mock('./settings.js', ...) factory. import { - LoadedSettings, loadSettings, USER_SETTINGS_PATH, // This IS the mocked path. SETTINGS_DIRECTORY_NAME, // This is from the original module, but used by the mock. @@ -595,7 +594,7 @@ describe('Settings Loading and Merging', () => { describe('LoadedSettings class', () => { it('setValue should update the correct scope and recompute merged settings', () => { (mockFsExistsSync as Mock).mockReturnValue(false); - const loadedSettings = loadSettings(MOCK_WORKSPACE_DIR) as LoadedSettings; + const loadedSettings = loadSettings(MOCK_WORKSPACE_DIR); vi.mocked(fs.writeFileSync).mockImplementation(() => {}); // mkdirSync is mocked in beforeEach to return undefined, which is fine for void usage diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index 739a08ba..b7dcbdcb 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -127,10 +127,7 @@ export const useSlashCommandProcessor = ( }; } else { historyItemContent = { - type: message.type as - | MessageType.INFO - | MessageType.ERROR - | MessageType.USER, + type: message.type, text: message.content, }; } diff --git a/packages/core/src/core/coreToolScheduler.ts b/packages/core/src/core/coreToolScheduler.ts index 5e41f0c5..81fce558 100644 --- a/packages/core/src/core/coreToolScheduler.ts +++ b/packages/core/src/core/coreToolScheduler.ts @@ -282,21 +282,9 @@ export class CoreToolScheduler { // currentCall is a non-terminal state here and should have startTime and tool. const existingStartTime = currentCall.startTime; - const toolInstance = ( - currentCall as - | ValidatingToolCall - | ScheduledToolCall - | ExecutingToolCall - | WaitingToolCall - ).tool; + const toolInstance = currentCall.tool; - const outcome = ( - currentCall as - | ValidatingToolCall - | ScheduledToolCall - | ExecutingToolCall - | WaitingToolCall - ).outcome; + const outcome = currentCall.outcome; switch (newStatus) { case 'success': { @@ -579,7 +567,7 @@ export class CoreToolScheduler { callsToExecute.forEach((toolCall) => { if (toolCall.status !== 'scheduled') return; - const scheduledCall = toolCall as ScheduledToolCall; + const scheduledCall = toolCall; const { callId, name: toolName } = scheduledCall.request; this.setStatusInternal(callId, 'executing'); @@ -591,7 +579,7 @@ export class CoreToolScheduler { } this.toolCalls = this.toolCalls.map((tc) => tc.request.callId === callId && tc.status === 'executing' - ? { ...(tc as ExecutingToolCall), liveOutput: outputChunk } + ? { ...tc, liveOutput: outputChunk } : tc, ); this.notifyToolCallsUpdate(); diff --git a/packages/core/src/core/geminiChat.ts b/packages/core/src/core/geminiChat.ts index 19b87805..c51369f7 100644 --- a/packages/core/src/core/geminiChat.ts +++ b/packages/core/src/core/geminiChat.ts @@ -542,7 +542,7 @@ export class GeminiChat { automaticFunctionCallingHistory.length > 0 ) { this.history.push( - ...extractCuratedHistory(automaticFunctionCallingHistory!), + ...extractCuratedHistory(automaticFunctionCallingHistory), ); } else { this.history.push(userInput); diff --git a/packages/core/src/tools/web-fetch.ts b/packages/core/src/tools/web-fetch.ts index 85491d01..1fa0019f 100644 --- a/packages/core/src/tools/web-fetch.ts +++ b/packages/core/src/tools/web-fetch.ts @@ -4,7 +4,6 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { GroundingMetadata } from '@google/genai'; import { SchemaValidator } from '../utils/schemaValidator.js'; import { BaseTool, @@ -255,9 +254,7 @@ ${textContent} let responseText = getResponseText(response) || ''; const urlContextMeta = response.candidates?.[0]?.urlContextMetadata; - const groundingMetadata = response.candidates?.[0]?.groundingMetadata as - | GroundingMetadata - | undefined; + const groundingMetadata = response.candidates?.[0]?.groundingMetadata; const sources = groundingMetadata?.groundingChunks as | GroundingChunkItem[] | undefined; diff --git a/packages/core/src/utils/editor.ts b/packages/core/src/utils/editor.ts index ac83b409..8e85f13c 100644 --- a/packages/core/src/utils/editor.ts +++ b/packages/core/src/utils/editor.ts @@ -75,10 +75,7 @@ export function allowEditorTypeInSandbox(editor: EditorType): boolean { */ export function isEditorAvailable(editor: string | undefined): boolean { if (editor && isValidEditorType(editor)) { - return ( - checkHasEditorType(editor as EditorType) && - allowEditorTypeInSandbox(editor as EditorType) - ); + return checkHasEditorType(editor) && allowEditorTypeInSandbox(editor); } return false; }