migrate fireToolNotificationHook to hookSystem (#17398)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
This commit is contained in:
Vedant Mahajan
2026-01-24 18:52:08 +05:30
committed by GitHub
parent a894c88656
commit abb4fb006c
6 changed files with 109 additions and 168 deletions
@@ -32,17 +32,12 @@ import type { ValidatingToolCall, WaitingToolCall } from './types.js';
import type { Config } from '../config/config.js';
import type { EditorType } from '../utils/editor.js';
import { randomUUID } from 'node:crypto';
import { fireToolNotificationHook } from '../core/coreToolHookTriggers.js';
// Mock Dependencies
vi.mock('node:crypto', () => ({
randomUUID: vi.fn(),
}));
vi.mock('../core/coreToolHookTriggers.js', () => ({
fireToolNotificationHook: vi.fn(),
}));
describe('confirmation.ts', () => {
let mockMessageBus: MessageBus;
@@ -140,15 +135,19 @@ describe('confirmation.ts', () => {
configurable: true,
});
const mockHookSystem = {
fireToolNotificationEvent: vi.fn().mockResolvedValue(undefined),
};
mockConfig = {
getEnableHooks: vi.fn().mockReturnValue(true),
getHookSystem: vi.fn().mockReturnValue(mockHookSystem),
} as unknown as Mocked<Config>;
mockModifier = {
handleModifyWithEditor: vi.fn(),
applyInlineModify: vi.fn(),
} as unknown as Mocked<ToolModificationHandler>;
mockConfig = {
getEnableHooks: vi.fn().mockReturnValue(true),
} as unknown as Mocked<Config>;
getPreferredEditor = vi.fn().mockReturnValue('vim');
invocationMock = {
@@ -263,8 +262,9 @@ describe('confirmation.ts', () => {
});
await promise;
expect(fireToolNotificationHook).toHaveBeenCalledWith(
mockMessageBus,
expect(
mockConfig.getHookSystem()?.fireToolNotificationEvent,
).toHaveBeenCalledWith(
expect.objectContaining({
type: details.type,
prompt: details.prompt,