Class: ClaudeHooks::SessionStart
- Inherits:
-
Base
- Object
- Base
- ClaudeHooks::SessionStart
show all
- Defined in:
- lib/claude_hooks/session_start.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/session_start.rb', line 7
def self.hook_type
'SessionStart'
end
|
11
12
13
|
# File 'lib/claude_hooks/session_start.rb', line 11
def self.input_fields
%w[source]
end
|
Instance Method Details
#add_additional_context!(context) ⇒ Object
Also known as:
add_context!
31
32
33
34
35
36
|
# File 'lib/claude_hooks/session_start.rb', line 31
def add_additional_context!(context)
@output_data['hookSpecificOutput'] = {
'hookEventName' => hook_event_name,
'additionalContext' => context
}
end
|
#empty_additional_context! ⇒ Object
39
40
41
|
# File 'lib/claude_hooks/session_start.rb', line 39
def empty_additional_context!
@output_data['hookSpecificOutput'] = nil
end
|
#initial_user_message!(message) ⇒ Object
48
49
50
51
|
# File 'lib/claude_hooks/session_start.rb', line 48
def initial_user_message!(message)
@output_data['hookSpecificOutput'] ||= { 'hookEventName' => hook_event_name }
@output_data['hookSpecificOutput']['initialUserMessage'] = message
end
|
#model ⇒ Object
21
22
23
|
# File 'lib/claude_hooks/session_start.rb', line 21
def model
@input_data['model']
end
|
#reload_skills!(value = true) ⇒ Object
58
59
60
61
|
# File 'lib/claude_hooks/session_start.rb', line 58
def reload_skills!(value = true)
@output_data['hookSpecificOutput'] ||= { 'hookEventName' => hook_event_name }
@output_data['hookSpecificOutput']['reloadSkills'] = value
end
|
#session_title ⇒ Object
25
26
27
|
# File 'lib/claude_hooks/session_start.rb', line 25
def session_title
@input_data['session_title'] || @input_data['sessionTitle']
end
|
#session_title!(title) ⇒ Object
43
44
45
46
|
# File 'lib/claude_hooks/session_start.rb', line 43
def session_title!(title)
@output_data['hookSpecificOutput'] ||= { 'hookEventName' => hook_event_name }
@output_data['hookSpecificOutput']['sessionTitle'] = title
end
|
#source ⇒ Object
17
18
19
|
# File 'lib/claude_hooks/session_start.rb', line 17
def source
@input_data['source']
end
|
#watch_paths!(paths) ⇒ Object
53
54
55
56
|
# File 'lib/claude_hooks/session_start.rb', line 53
def watch_paths!(paths)
@output_data['hookSpecificOutput'] ||= { 'hookEventName' => hook_event_name }
@output_data['hookSpecificOutput']['watchPaths'] = Array(paths)
end
|