Class: Rubyagents::ManagedAgentTool

Inherits:
Tool
  • Object
show all
Defined in:
lib/rubyagents/agent.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Tool

description, inherited, input, inputs, output_type, to_prompt, to_schema, tool_name

Constructor Details

#initialize(agent) ⇒ ManagedAgentTool

Returns a new instance of ManagedAgentTool.



308
309
310
# File 'lib/rubyagents/agent.rb', line 308

def initialize(agent)
  @agent = agent
end

Class Method Details

.for(agent) ⇒ Object

Factory that creates an anonymous subclass per agent instance



300
301
302
303
304
305
306
# File 'lib/rubyagents/agent.rb', line 300

def self.for(agent)
  klass = Class.new(self) do
    tool_name(agent.name || "agent")
    description(agent.description || "A managed agent")
  end
  klass.new(agent)
end

Instance Method Details

#call(task:, **_kwargs) ⇒ Object



312
313
314
# File 'lib/rubyagents/agent.rb', line 312

def call(task:, **_kwargs)
  @agent.run(task)
end