/** * Mock factory functions for all 16 hook event output shapes. * Outputs are mutable objects that hooks modify in-place. */ export function makeToolOutput(overrides: Record = {}): Record { return { ...overrides, }; } export function makeConfigOutput(overrides: Record = {}): Record { return { ...overrides, }; } export function makeChatMessageOutput( overrides: Record = {}, ): Record { return { parts: [ { type: "text", text: "test message", }, ], ...overrides, }; } export function makeChatParamsOutput( overrides: Record = {}, ): Record { return { options: {}, ...overrides, }; } export function makeChatHeadersOutput( overrides: Record = {}, ): Record { return { ...overrides, }; } export function makeEventOutput(overrides: Record = {}): Record { return { ...overrides, }; } export function makeToolExecuteBeforeOutput( overrides: Record = {}, ): Record { return { args: {}, ...overrides, }; } export function makeToolExecuteAfterOutput( overrides: Record = {}, ): Record { return { output: "tool result", title: "tool execution", metadata: {}, ...overrides, }; } export function makeExperimentalChatMessagesTransformOutput( overrides: Record = {}, ): Record { return { messages: [ { info: { role: "user", agent: "test-agent", }, parts: [ { type: "text", text: "test message", }, ], }, ], ...overrides, }; } export function makeExperimentalChatSystemTransformOutput( overrides: Record = {}, ): Record { return { title: "Test Title", output: "test output", ...overrides, }; } export function makeToolDefinitionOutput( overrides: Record = {}, ): Record { return { ...overrides, }; } export function makePermissionAskOutput( overrides: Record = {}, ): Record { return { ...overrides, }; } export function makeCommandExecuteBeforeOutput( overrides: Record = {}, ): Record { return { ...overrides, }; } export function makeShellEnvOutput( overrides: Record = {}, ): Record { return { ...overrides, }; } export function makeExperimentalSessionCompactingOutput( overrides: Record = {}, ): Record { return { ...overrides, }; } export function makeExperimentalTextCompleteOutput( overrides: Record = {}, ): Record { return { ...overrides, }; }