Class: AIA::ChatLoop

Inherits:
Object
  • Object
show all
Includes:
SkillUtils
Defined in:
lib/aia/chat_loop.rb

Instance Method Summary collapse

Methods included from SkillUtils

#find_skill_dir, #parse_front_matter, #path_based_id?, #safe_skill_path, #skill_body

Constructor Details

#initialize(chat_processor, ui_presenter, directive_processor) ⇒ ChatLoop

Returns a new instance of ChatLoop.



11
12
13
14
15
# File 'lib/aia/chat_loop.rb', line 11

def initialize(chat_processor, ui_presenter, directive_processor)
  @chat_processor     = chat_processor
  @ui_presenter       = ui_presenter
  @directive_processor = directive_processor
end

Instance Method Details

#start(skip_context_files: false) ⇒ Object

Start the interactive chat session



18
19
20
21
22
23
24
25
26
27
# File 'lib/aia/chat_loop.rb', line 18

def start(skip_context_files: false)
  setup_session
  process_role_context
  process_skill_context
  process_initial_context(skip_context_files)
  handle_piped_input
  run_loop
ensure
  @ui_presenter.display_chat_end
end