Class: LLM::Repl::Stream Private
- Inherits:
-
Stream
- Object
- Stream
- LLM::Repl::Stream
- Defined in:
- lib/llm/repl/stream.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
The LLM::Repl::Stream class manages the stream for the LLM::Repl class. This class has defined hooks that receive text, tool calls, and tool returns.
Instance Method Summary collapse
- #initialize(repl, queue) ⇒ LLM::Repl::Stream constructor private
- #on_content(chars) private
- #on_tool_call(tool, error) private
- #on_tool_return(_tool, result) private
-
#empty!
private
Empty the accumulated buffer.
Constructor Details
#initialize(repl, queue) ⇒ LLM::Repl::Stream
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
14 15 16 17 18 |
# File 'lib/llm/repl/stream.rb', line 14 def initialize(repl, queue) @repl = repl @_queue = queue @buffer = +"" end |
Instance Method Details
#on_content(chars)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
24 25 26 27 |
# File 'lib/llm/repl/stream.rb', line 24 def on_content(chars) @buffer << chars @_queue.push [:stream, @buffer] end |
#on_tool_call(tool, error)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
33 34 35 36 37 38 39 |
# File 'lib/llm/repl/stream.rb', line 33 def on_tool_call(tool, error) if error @_queue.push [:status, "tool not found: #{tool.name}"] else @_queue.push [:status, "#{tool.name}(#{format_args(tool)})"] end end |
#on_tool_return(_tool, result)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
45 46 47 |
# File 'lib/llm/repl/stream.rb', line 45 def on_tool_return(_tool, result) @_queue.push [:status, "Thinking"] end |
#empty!
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
Empty the accumulated buffer
52 53 54 |
# File 'lib/llm/repl/stream.rb', line 52 def empty! @buffer.clear end |