Class: AgUi::Terminals::RubyLLM::ClientTool
- Inherits:
-
RubyLLM::Tool
- Object
- RubyLLM::Tool
- AgUi::Terminals::RubyLLM::ClientTool
- Defined in:
- lib/ag_ui/terminals/ruby_llm.rb
Overview
A client tool: full schema for the provider, no server execution. When the model calls it, execution "halts" ruby_llm's auto tool loop — the assistant tool-call message is already in chat.messages and the browser owns the actual execution (doc 03 multi-run model).
Instance Method Summary collapse
-
#call(_args) ⇒ Object
Bypass arg validation entirely — the browser is the executor and the next run carries its result back in history.
- #description ⇒ Object
-
#initialize(name:, description:, parameters:) ⇒ ClientTool
constructor
A new instance of ClientTool.
- #name ⇒ Object
- #params_schema ⇒ Object
Constructor Details
#initialize(name:, description:, parameters:) ⇒ ClientTool
Returns a new instance of ClientTool.
70 71 72 73 74 75 |
# File 'lib/ag_ui/terminals/ruby_llm.rb', line 70 def initialize(name:, description:, parameters:) @client_name = name @client_description = description @client_schema = parameters super() end |
Instance Method Details
#call(_args) ⇒ Object
Bypass arg validation entirely — the browser is the executor and the next run carries its result back in history.
83 84 85 |
# File 'lib/ag_ui/terminals/ruby_llm.rb', line 83 def call(_args) halt("(deferred to client)") end |
#description ⇒ Object
78 |
# File 'lib/ag_ui/terminals/ruby_llm.rb', line 78 def description = @client_description |
#name ⇒ Object
77 |
# File 'lib/ag_ui/terminals/ruby_llm.rb', line 77 def name = @client_name |
#params_schema ⇒ Object
79 |
# File 'lib/ag_ui/terminals/ruby_llm.rb', line 79 def params_schema = @client_schema |