Sha256: 7703161ac9d30652da1307258f7bb522215bf298b52a5d5b89f24d735339faf8
Contents?: true
Size: 802 Bytes
Versions: 2
Compression:
Stored size: 802 Bytes
Contents
module Bristow module Agencies class Supervisor < Agency attr_accessor :supervisor def self.create(agents: []) agency = new(agents: agents) supervisor = Agents::Supervisor.new( available_agents: agents, agency: agency ) agency.supervisor = supervisor agency.agents << supervisor agency end def initialize(agents: []) @agents = agents @supervisor = nil # Will be set by create end def chat(messages, &block) raise "No supervisor set" unless supervisor # Convert string message to proper format messages = [{ role: "user", content: messages }] if messages.is_a?(String) supervisor.chat(messages, &block) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bristow-0.2.1 | lib/bristow/agencies/supervisor.rb |
bristow-0.2.0 | lib/bristow/agencies/supervisor.rb |