From c47bca83743cc67804f1aa4ae6005f2e39fb84fb Mon Sep 17 00:00:00 2001 From: Keith Guerin Date: Tue, 24 Mar 2026 17:20:13 -0700 Subject: [PATCH] fix(cli): address CI build and lint failures by using stable geminiClient reference --- .../cli/src/ui/commands/compressCommand.ts | 4 +++- .../cli/src/ui/hooks/useGeminiStream.test.tsx | 24 +++++++++++++------ packages/cli/src/ui/hooks/useGeminiStream.ts | 9 +++---- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/packages/cli/src/ui/commands/compressCommand.ts b/packages/cli/src/ui/commands/compressCommand.ts index cf7ee80a7d..d0460b233a 100644 --- a/packages/cli/src/ui/commands/compressCommand.ts +++ b/packages/cli/src/ui/commands/compressCommand.ts @@ -77,7 +77,9 @@ export const compressCommand: SlashCommand = { beforePercentage, afterPercentage, // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion - compressionStatus: Number(compressed.compressionStatus) as unknown as CompressionStatus, + compressionStatus: Number( + compressed.compressionStatus, + ) as unknown as CompressionStatus, isManual: true, thresholdPercentage: Math.round(threshold * 100), }, diff --git a/packages/cli/src/ui/hooks/useGeminiStream.test.tsx b/packages/cli/src/ui/hooks/useGeminiStream.test.tsx index bcf215e780..ae46c26ea9 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.test.tsx +++ b/packages/cli/src/ui/hooks/useGeminiStream.test.tsx @@ -1521,9 +1521,11 @@ describe('useGeminiStream', () => { it('should disable loop detection and show message when user selects "disable"', async () => { const client = new MockedGeminiClientClass(mockConfig); const disableForSessionSpy = vi.fn(); - (client as unknown as any).getLoopDetectionService = vi.fn().mockReturnValue({ - disableForSession: disableForSessionSpy, - }); + (client as unknown as any).getLoopDetectionService = vi + .fn() + .mockReturnValue({ + disableForSession: disableForSessionSpy, + }); const { result } = await renderTestHook([], client); @@ -1744,7 +1746,9 @@ describe('useGeminiStream', () => { expect(mockAddItem).toHaveBeenCalledWith( expect.objectContaining({ type: MessageType.INFO, - text: expect.stringContaining('Agent execution stopped: Task completed'), + text: expect.stringContaining( + 'Agent execution stopped: Task completed', + ), }), expect.any(Number), ); @@ -1769,7 +1773,9 @@ describe('useGeminiStream', () => { expect(mockAddItem).toHaveBeenCalledWith( expect.objectContaining({ type: MessageType.INFO, - text: expect.stringContaining('Agent execution stopped: INTERNAL_ERROR'), + text: expect.stringContaining( + 'Agent execution stopped: INTERNAL_ERROR', + ), }), expect.any(Number), ); @@ -1794,7 +1800,9 @@ describe('useGeminiStream', () => { expect(mockAddItem).toHaveBeenCalledWith( expect.objectContaining({ type: MessageType.WARNING, - text: expect.stringContaining('Agent execution blocked: Policy violation'), + text: expect.stringContaining( + 'Agent execution blocked: Policy violation', + ), }), expect.any(Number), ); @@ -1819,7 +1827,9 @@ describe('useGeminiStream', () => { expect(mockAddItem).toHaveBeenCalledWith( expect.objectContaining({ type: MessageType.WARNING, - text: expect.stringContaining('Agent execution blocked: ACCESS_DENIED'), + text: expect.stringContaining( + 'Agent execution blocked: ACCESS_DENIED', + ), }), expect.any(Number), ); diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index ee93529dc3..475fb8c4df 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -308,10 +308,8 @@ export const useGeminiStream = ( // Record tool calls with full metadata before sending responses. try { const currentModel = - config.getGeminiClient().getCurrentSequenceModel() ?? - config.getModel(); - config - .getGeminiClient() + geminiClient.getCurrentSequenceModel() ?? config.getModel(); + geminiClient .getChat() .recordCompletedToolCalls( currentModel, @@ -1560,8 +1558,7 @@ export const useGeminiStream = ( setLoopDetectionConfirmationRequest(null); if (result.userSelection === 'disable') { - config - .getGeminiClient() + geminiClient .getLoopDetectionService() .disableForSession(); addItem({