class Riffer::Rig::Runtime::ToolRuntime
Public Class Methods
(Riffer::Rig::Runtime::Hooks hooks, emit: ^(Riffer::Rig::Events::_Event) → void, clock: ^() → Float) → void
Source
# File lib/riffer/rig/runtime/tool_runtime.rb, line 14 def initialize(hooks, emit:, clock:) # Sequential, so hooks never run concurrently. super(runner: Riffer::Runner::Sequential.new) @hooks = hooks @emit = emit @clock = clock end
@rbs hooks: Riffer::Rig::Runtime::Hooks @rbs emit: ^(Riffer::Rig::Events::_Event) -> void @rbs clock: ^() -> Float @rbs return: void
Calls superclass method
Public Instance Methods
(Array[Riffer::Messages::Assistant::ToolCall] tool_calls, tools: Array[singleton(Riffer::Tool)], context: Riffer::Agent::Context?, ?assistant_message: Riffer::Messages::Assistant?, ?tags: Hash[String, String]) → Array[[ Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response ]]
Source
# File lib/riffer/rig/runtime/tool_runtime.rb, line 28 def execute(tool_calls, tools:, context:, assistant_message: nil, tags: {}) Thread.handle_interrupt(Riffer::Rig::Runtime::Abort::SHIELD) { super } end