Method: Agent99::AgentLifecycle#initialize

Defined in:
lib/agent99/agent_lifecycle.rb

#initialize(registry_client: Agent99::RegistryClient.new, message_client: Agent99::AmqpMessageClient.new, logger: Logger.new($stdout)) ⇒ Object

Initializes a new AI agent with the given configuration.

Parameters:

  • (defaults to: Agent99::RegistryClient.new)

    The client for agent registration

  • (defaults to: Agent99::AmqpMessageClient.new)

    The client for message handling

  • (defaults to: Logger.new($stdout))

    The logger instance for the agent



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/agent99/agent_lifecycle.rb', line 11

def initialize(registry_client: Agent99::RegistryClient.new,
               message_client: Agent99::AmqpMessageClient.new,
               logger: Logger.new($stdout))
  @agents           = {}
  @payload          = nil
  @name             = self.class.name
  @capabilities     = capabilities
  @id               = nil
  @registry_client  = registry_client
  @message_client   = message_client
  @logger           = logger

  validate_info_keys

  @registry_client.logger = logger
  register(info)

  @queue = message_client.setup(agent_id: id, logger:)

  init if respond_to?(:init)

  setup_signal_handlers
end