Class: Parabot::Messaging::Adapter

Inherits:
Object
  • Object
show all
Defined in:
lib/parabot/messaging/adapter.rb

Overview

Base class for messaging adapters that can send messages to Claude in different ways (tmux, direct API calls, etc.)

Direct Known Subclasses

DryRunAdapter, TmuxAdapter

Instance Method Summary collapse

Instance Method Details

#abortBoolean

This method is abstract.

Returns true if abort command was sent successfully (usually ESC key).

Returns:

  • (Boolean)

    true if abort command was sent successfully (usually ESC key)

Raises:

  • (NotImplementedError)

    if not implemented by subclass



34
35
36
# File 'lib/parabot/messaging/adapter.rb', line 34

def abort
  raise NotImplementedError, "#{self.class} must implement #abort"
end

#end_sessionBoolean

This method is abstract.

Returns true if session was ended successfully.

Returns:

  • (Boolean)

    true if session was ended successfully

Raises:

  • (NotImplementedError)

    if not implemented by subclass



27
28
29
# File 'lib/parabot/messaging/adapter.rb', line 27

def end_session
  raise NotImplementedError, "#{self.class} must implement #end_session"
end

#send_message(message) ⇒ Boolean

This method is abstract.

Returns true if message was sent successfully.

Parameters:

  • message (String)

    the message to send to Claude

Returns:

  • (Boolean)

    true if message was sent successfully

Raises:

  • (NotImplementedError)

    if not implemented by subclass



12
13
14
# File 'lib/parabot/messaging/adapter.rb', line 12

def send_message(message)
  raise NotImplementedError, "#{self.class} must implement #send_message"
end

#session_active?Boolean

This method is abstract.

Returns true if Claude session is available and active.

Returns:

  • (Boolean)

    true if Claude session is available and active

Raises:

  • (NotImplementedError)

    if not implemented by subclass



41
42
43
# File 'lib/parabot/messaging/adapter.rb', line 41

def session_active?
  raise NotImplementedError, "#{self.class} must implement #session_active?"
end

#start_session(system_prompt: nil) ⇒ Boolean

This method is abstract.

Returns true if Claude session was started successfully.

Parameters:

  • system_prompt (String, nil) (defaults to: nil)

    optional system prompt

Returns:

  • (Boolean)

    true if Claude session was started successfully

Raises:

  • (NotImplementedError)

    if not implemented by subclass



20
21
22
# File 'lib/parabot/messaging/adapter.rb', line 20

def start_session(system_prompt: nil)
  raise NotImplementedError, "#{self.class} must implement #start_session"
end