Class: Airb::Ports::ChatTTY

Inherits:
VSM::Port
  • Object
show all
Defined in:
lib/airb/ports/chat_tty.rb

Instance Method Summary collapse

Instance Method Details

#loopObject



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/airb/ports/chat_tty.rb', line 11

def loop
  session_id = SecureRandom.uuid
  @capsule.roles[:coordination].grant_floor!(session_id)
  @streaming_active = false
  display_banner
  print "\e[94mYou\e[0m: "

  while (line = $stdin.gets&.chomp)
    @capsule.bus.emit VSM::Message.new(kind: :user, payload: line, meta: { session_id: session_id }, path: [:airb])
    @capsule.roles[:coordination].wait_for_turn_end(session_id)
    print "\e[94mYou\e[0m: "
  end
end

#should_render?(message) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/airb/ports/chat_tty.rb', line 7

def should_render?(message)
  [:assistant_delta, :assistant, :tool_call, :tool_result, :confirm_request].include?(message.kind)
end