From 9d187e041c8f8c8e6e464fe0711504c6c37d7ead Mon Sep 17 00:00:00 2001 From: Vedant Mahajan Date: Sat, 10 Jan 2026 01:48:06 +0530 Subject: [PATCH] refactor: migrate chatCompressionService to use HookSystem (#16259) Co-authored-by: Tommaso Sciortino --- .../src/services/chatCompressionService.test.ts | 1 + .../core/src/services/chatCompressionService.ts | 13 +++---------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/core/src/services/chatCompressionService.test.ts b/packages/core/src/services/chatCompressionService.test.ts index 7909f8bdef..38c7dba65d 100644 --- a/packages/core/src/services/chatCompressionService.test.ts +++ b/packages/core/src/services/chatCompressionService.test.ts @@ -159,6 +159,7 @@ describe('ChatCompressionService', () => { }), getEnableHooks: vi.fn().mockReturnValue(false), getMessageBus: vi.fn().mockReturnValue(undefined), + getHookSystem: () => undefined, } as unknown as Config; vi.mocked(tokenLimit).mockReturnValue(1000); diff --git a/packages/core/src/services/chatCompressionService.ts b/packages/core/src/services/chatCompressionService.ts index 2336b75f55..c76e937750 100644 --- a/packages/core/src/services/chatCompressionService.ts +++ b/packages/core/src/services/chatCompressionService.ts @@ -22,7 +22,6 @@ import { PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_FLASH_MODEL, } from '../config/models.js'; -import { firePreCompressHook } from '../core/sessionHookTriggers.js'; import { PreCompressTrigger } from '../hooks/types.js'; /** @@ -128,16 +127,10 @@ export class ChatCompressionService { }; } - // Fire PreCompress hook before compression (only if hooks are enabled) + // Fire PreCompress hook before compression // This fires for both manual and auto compression attempts - const hooksEnabled = config.getEnableHooks(); - const messageBus = config.getMessageBus(); - if (hooksEnabled && messageBus) { - const trigger = force - ? PreCompressTrigger.Manual - : PreCompressTrigger.Auto; - await firePreCompressHook(messageBus, trigger); - } + const trigger = force ? PreCompressTrigger.Manual : PreCompressTrigger.Auto; + await config.getHookSystem()?.firePreCompressEvent(trigger); const originalTokenCount = chat.getLastPromptTokenCount();