Class: ClaudeHooks::PostToolBatch
- Inherits:
-
Base
- Object
- Base
- ClaudeHooks::PostToolBatch
show all
- Defined in:
- lib/claude_hooks/post_tool_batch.rb
Constant Summary
Constants inherited
from Base
Base::COMMON_INPUT_FIELDS
Instance Attribute Summary
Attributes inherited from Base
#config, #input_data, #logger, #output, #output_data
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#agent_id, #agent_type, #allow_continue!, #base_dir, #call, #clear_specifics!, #clear_system_message!, #cwd, #effort, #home_claude_dir, #home_path_for, #hook_event_name, #hook_type, #initialize, #log, #output_and_exit, #path_for, #permission_mode, #prevent_continue!, #project_claude_dir, #project_path_for, #prompt_id, #read_transcript, #session_id, #show_output!, #stringify_output, #suppress_output!, #system_message!, #terminal_sequence, #terminal_sequence!, #transcript_path
Class Method Details
.hook_type ⇒ Object
7
8
9
|
# File 'lib/claude_hooks/post_tool_batch.rb', line 7
def self.hook_type
'PostToolBatch'
end
|
11
12
13
|
# File 'lib/claude_hooks/post_tool_batch.rb', line 11
def self.input_fields
%w[tool_calls]
end
|
Instance Method Details
#add_additional_context!(context) ⇒ Object
36
37
38
39
|
# File 'lib/claude_hooks/post_tool_batch.rb', line 36
def add_additional_context!(context)
@output_data['hookSpecificOutput'] ||= { 'hookEventName' => hook_event_name }
@output_data['hookSpecificOutput']['additionalContext'] = context
end
|
#block!(reason = '') ⇒ Object
31
32
33
34
|
# File 'lib/claude_hooks/post_tool_batch.rb', line 31
def block!(reason = '')
@output_data['decision'] = 'block'
@output_data['reason'] = reason
end
|
#failed_calls ⇒ Object
27
28
29
|
# File 'lib/claude_hooks/post_tool_batch.rb', line 27
def failed_calls
tool_calls.select { |call| failed_call?(call) }
end
|
#succeeded_calls ⇒ Object
Convenience partitions over tool_calls. Entries carry a tool_response
rather than an explicit success flag, so success is derived from the
presence of a response that isn't flagged as an error. When your payload
shape differs, use the raw tool_calls array instead.
23
24
25
|
# File 'lib/claude_hooks/post_tool_batch.rb', line 23
def succeeded_calls
tool_calls.reject { |call| failed_call?(call) }
end
|
15
16
17
|
# File 'lib/claude_hooks/post_tool_batch.rb', line 15
def tool_calls
@input_data['tool_calls'] || @input_data['toolCalls'] || []
end
|