diff options
Diffstat (limited to 'packages/cli/src/ui/hooks')
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.test.ts | 21 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.ts | 11 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/useGeminiStream.test.tsx | 19 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/useGeminiStream.ts | 3 |
4 files changed, 15 insertions, 39 deletions
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts index d9fe8530..a37af262 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts @@ -90,7 +90,7 @@ describe('useSlashCommandProcessor', () => { const mockAddItem = vi.fn(); const mockClearItems = vi.fn(); const mockLoadHistory = vi.fn(); - const mockSetShowHelp = vi.fn(); + const mockOpenThemeDialog = vi.fn(); const mockOpenAuthDialog = vi.fn(); const mockSetQuittingMessages = vi.fn(); @@ -132,9 +132,8 @@ describe('useSlashCommandProcessor', () => { mockClearItems, mockLoadHistory, vi.fn(), // refreshStatic - mockSetShowHelp, vi.fn(), // onDebugMessage - vi.fn(), // openThemeDialog + mockOpenThemeDialog, // openThemeDialog mockOpenAuthDialog, vi.fn(), // openEditorDialog vi.fn(), // toggleCorgiMode @@ -334,19 +333,19 @@ describe('useSlashCommandProcessor', () => { }); describe('Action Result Handling', () => { - it('should handle "dialog: help" action', async () => { + it('should handle "dialog: theme" action', async () => { const command = createTestCommand({ - name: 'helpcmd', - action: vi.fn().mockResolvedValue({ type: 'dialog', dialog: 'help' }), + name: 'themecmd', + action: vi.fn().mockResolvedValue({ type: 'dialog', dialog: 'theme' }), }); const result = setupProcessorHook([command]); await waitFor(() => expect(result.current.slashCommands).toHaveLength(1)); await act(async () => { - await result.current.handleSlashCommand('/helpcmd'); + await result.current.handleSlashCommand('/themecmd'); }); - expect(mockSetShowHelp).toHaveBeenCalledWith(true); + expect(mockOpenThemeDialog).toHaveBeenCalled(); }); it('should handle "load_history" action', async () => { @@ -819,15 +818,15 @@ describe('useSlashCommandProcessor', () => { mockClearItems, mockLoadHistory, vi.fn(), // refreshStatic - mockSetShowHelp, vi.fn(), // onDebugMessage vi.fn(), // openThemeDialog mockOpenAuthDialog, - vi.fn(), // openEditorDialog, + vi.fn(), // openEditorDialog vi.fn(), // toggleCorgiMode mockSetQuittingMessages, vi.fn(), // openPrivacyNotice - vi.fn(), // toggleVimEnabled + vi.fn().mockResolvedValue(false), // toggleVimEnabled + vi.fn(), // setIsProcessing ), ); diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index a2a1837d..6d9f4643 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -42,7 +42,6 @@ export const useSlashCommandProcessor = ( clearItems: UseHistoryManagerReturn['clearItems'], loadHistory: UseHistoryManagerReturn['loadHistory'], refreshStatic: () => void, - setShowHelp: React.Dispatch<React.SetStateAction<boolean>>, onDebugMessage: (message: string) => void, openThemeDialog: () => void, openAuthDialog: () => void, @@ -105,6 +104,11 @@ export const useSlashCommandProcessor = ( selectedAuthType: message.selectedAuthType, gcpProject: message.gcpProject, }; + } else if (message.type === MessageType.HELP) { + historyItemContent = { + type: 'help', + timestamp: message.timestamp, + }; } else if (message.type === MessageType.STATS) { historyItemContent = { type: 'stats', @@ -138,7 +142,6 @@ export const useSlashCommandProcessor = ( }, [addItem], ); - const commandContext = useMemo( (): CommandContext => ({ services: { @@ -333,9 +336,6 @@ export const useSlashCommandProcessor = ( return { type: 'handled' }; case 'dialog': switch (result.dialog) { - case 'help': - setShowHelp(true); - return { type: 'handled' }; case 'auth': openAuthDialog(); return { type: 'handled' }; @@ -462,7 +462,6 @@ export const useSlashCommandProcessor = ( [ config, addItem, - setShowHelp, openAuthDialog, commands, commandContext, diff --git a/packages/cli/src/ui/hooks/useGeminiStream.test.tsx b/packages/cli/src/ui/hooks/useGeminiStream.test.tsx index 085e3e96..062c1687 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.test.tsx +++ b/packages/cli/src/ui/hooks/useGeminiStream.test.tsx @@ -30,7 +30,6 @@ import { SlashCommandProcessorResult, StreamingState, } from '../types.js'; -import { Dispatch, SetStateAction } from 'react'; import { LoadedSettings } from '../../config/settings.js'; // --- MOCKS --- @@ -257,7 +256,6 @@ describe('mergePartListUnions', () => { // --- Tests for useGeminiStream Hook --- describe('useGeminiStream', () => { let mockAddItem: Mock; - let mockSetShowHelp: Mock; let mockConfig: Config; let mockOnDebugMessage: Mock; let mockHandleSlashCommand: Mock; @@ -269,7 +267,6 @@ describe('useGeminiStream', () => { vi.clearAllMocks(); // Clear mocks before each test mockAddItem = vi.fn(); - mockSetShowHelp = vi.fn(); // Define the mock for getGeminiClient const mockGetGeminiClient = vi.fn().mockImplementation(() => { // MockedGeminiClientClass is defined in the module scope by the previous change. @@ -382,7 +379,6 @@ describe('useGeminiStream', () => { client: any; history: HistoryItem[]; addItem: UseHistoryManagerReturn['addItem']; - setShowHelp: Dispatch<SetStateAction<boolean>>; config: Config; onDebugMessage: (message: string) => void; handleSlashCommand: ( @@ -400,7 +396,6 @@ describe('useGeminiStream', () => { props.client, props.history, props.addItem, - props.setShowHelp, props.config, props.onDebugMessage, props.handleSlashCommand, @@ -417,7 +412,6 @@ describe('useGeminiStream', () => { client, history: [], addItem: mockAddItem as unknown as UseHistoryManagerReturn['addItem'], - setShowHelp: mockSetShowHelp, config: mockConfig, onDebugMessage: mockOnDebugMessage, handleSlashCommand: mockHandleSlashCommand as unknown as ( @@ -542,7 +536,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -610,7 +603,6 @@ describe('useGeminiStream', () => { client, [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -707,7 +699,6 @@ describe('useGeminiStream', () => { client, [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -810,7 +801,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1161,7 +1151,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1213,7 +1202,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(testConfig), [], mockAddItem, - mockSetShowHelp, testConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1262,7 +1250,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1309,7 +1296,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1357,7 +1343,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1445,7 +1430,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1500,7 +1484,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1577,7 +1560,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, @@ -1630,7 +1612,6 @@ describe('useGeminiStream', () => { new MockedGeminiClientClass(mockConfig), [], mockAddItem, - mockSetShowHelp, mockConfig, mockOnDebugMessage, mockHandleSlashCommand, diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index c934a139..e53e77dc 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -82,7 +82,6 @@ export const useGeminiStream = ( geminiClient: GeminiClient, history: HistoryItem[], addItem: UseHistoryManagerReturn['addItem'], - setShowHelp: React.Dispatch<React.SetStateAction<boolean>>, config: Config, onDebugMessage: (message: string) => void, handleSlashCommand: ( @@ -610,7 +609,6 @@ export const useGeminiStream = ( return; const userMessageTimestamp = Date.now(); - setShowHelp(false); // Reset quota error flag when starting a new query (not a continuation) if (!options?.isContinuation) { @@ -693,7 +691,6 @@ export const useGeminiStream = ( }, [ streamingState, - setShowHelp, setModelSwitchedFromQuotaError, prepareQueryForGemini, processGeminiStreamEvents, |
