diff options
Diffstat (limited to 'packages/cli/src/ui/hooks')
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.test.ts | 34 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.ts | 60 |
2 files changed, 4 insertions, 90 deletions
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts index f39795c0..20c8d7fe 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts @@ -1204,38 +1204,4 @@ describe('useSlashCommandProcessor', () => { expect(commandResult).toEqual({ type: 'handled' }); }); }); - - describe('/compress command', () => { - it('should call tryCompressChat(true)', async () => { - const hook = getProcessorHook(); - mockTryCompressChat.mockResolvedValue({ - originalTokenCount: 100, - newTokenCount: 50, - }); - - await act(async () => { - hook.result.current.handleSlashCommand('/compress'); - }); - await act(async () => { - hook.rerender(); - }); - expect(hook.result.current.pendingHistoryItems).toEqual([]); - expect(mockGeminiClient.tryCompressChat).toHaveBeenCalledWith( - 'Prompt Id not set', - true, - ); - expect(mockAddItem).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - type: MessageType.COMPRESSION, - compression: { - isPending: false, - originalTokenCount: 100, - newTokenCount: 50, - }, - }), - expect.any(Number), - ); - }); - }); }); diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index 181c4980..67dbfcdd 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -169,6 +169,8 @@ export const useSlashCommandProcessor = ( refreshStatic(); }, setDebugMessage: onDebugMessage, + pendingItem: pendingCompressionItemRef.current, + setPendingItem: setPendingCompressionItem, }, session: { stats: session.stats, @@ -184,6 +186,8 @@ export const useSlashCommandProcessor = ( refreshStatic, session.stats, onDebugMessage, + pendingCompressionItemRef, + setPendingCompressionItem, ], ); @@ -599,60 +603,6 @@ export const useSlashCommandProcessor = ( }, 100); }, }, - { - name: 'compress', - altName: 'summarize', - description: 'Compresses the context by replacing it with a summary.', - action: async (_mainCommand, _subCommand, _args) => { - if (pendingCompressionItemRef.current !== null) { - addMessage({ - type: MessageType.ERROR, - content: - 'Already compressing, wait for previous request to complete', - timestamp: new Date(), - }); - return; - } - setPendingCompressionItem({ - type: MessageType.COMPRESSION, - compression: { - isPending: true, - originalTokenCount: null, - newTokenCount: null, - }, - }); - try { - const compressed = await config! - .getGeminiClient()! - // TODO: Set Prompt id for CompressChat from SlashCommandProcessor. - .tryCompressChat('Prompt Id not set', true); - if (compressed) { - addMessage({ - type: MessageType.COMPRESSION, - compression: { - isPending: false, - originalTokenCount: compressed.originalTokenCount, - newTokenCount: compressed.newTokenCount, - }, - timestamp: new Date(), - }); - } else { - addMessage({ - type: MessageType.ERROR, - content: 'Failed to compress chat history.', - timestamp: new Date(), - }); - } - } catch (e) { - addMessage({ - type: MessageType.ERROR, - content: `Failed to compress chat history: ${e instanceof Error ? e.message : String(e)}`, - timestamp: new Date(), - }); - } - setPendingCompressionItem(null); - }, - }, ]; if (config?.getCheckpointingEnabled()) { @@ -786,8 +736,6 @@ export const useSlashCommandProcessor = ( gitService, loadHistory, setQuittingMessages, - pendingCompressionItemRef, - setPendingCompressionItem, ]); const handleSlashCommand = useCallback( |
