( toolName: string, toolUseID: string, toolInput: ToolInput, toolResponse: ToolResponse, toolUseContext: ToolUseContext, permissionMode?: string, signal?: AbortSignal, timeoutMs: number = TOOL_HOOK_EXECUTION_TIMEOUT_MS, )
| 3592 | * @returns Async generator that yields progress messages and blocking errors for automated feedback |
| 3593 | */ |
| 3594 | export async function* executePostToolHooks<ToolInput, ToolResponse>( |
| 3595 | toolName: string, |
| 3596 | toolUseID: string, |
| 3597 | toolInput: ToolInput, |
| 3598 | toolResponse: ToolResponse, |
| 3599 | toolUseContext: ToolUseContext, |
| 3600 | permissionMode?: string, |
| 3601 | signal?: AbortSignal, |
| 3602 | timeoutMs: number = TOOL_HOOK_EXECUTION_TIMEOUT_MS, |
| 3603 | ): AsyncGenerator<AggregatedHookResult> { |
| 3604 | const hookInput: PostToolUseHookInput = { |
| 3605 | ...createBaseHookInput(permissionMode, undefined, toolUseContext), |
| 3606 | hook_event_name: 'PostToolUse', |
| 3607 | tool_name: toolName, |
| 3608 | tool_input: toolInput, |
| 3609 | tool_response: toolResponse, |
| 3610 | tool_use_id: toolUseID, |
| 3611 | } |
| 3612 | |
| 3613 | yield* executeHooks({ |
| 3614 | hookInput, |
| 3615 | toolUseID, |
| 3616 | matchQuery: toolName, |
| 3617 | signal, |
| 3618 | timeoutMs, |
| 3619 | toolUseContext, |
| 3620 | }) |
| 3621 | } |
| 3622 | |
| 3623 | /** |
| 3624 | * Execute post-tool-use-failure hooks if configured |
no test coverage detected