Module: ClaudeAgentSDK::Streaming
- Defined in:
- lib/claude_agent_sdk/streaming.rb
Overview
Streaming input helpers for Claude Agent SDK
Class Method Summary collapse
-
.from_array(messages, session_id: 'default') ⇒ Enumerator
Create an Enumerator from an array of messages.
-
.from_block(session_id: 'default') { ... } ⇒ Enumerator
Create an Enumerator from a block.
-
.user_message(content, session_id: 'default', parent_tool_use_id: nil) ⇒ String
Create a user message for streaming input.
Class Method Details
.from_array(messages, session_id: 'default') ⇒ Enumerator
Create an Enumerator from an array of messages
36 37 38 39 40 41 42 |
# File 'lib/claude_agent_sdk/streaming.rb', line 36 def self.from_array(, session_id: 'default') Enumerator.new do |yielder| .each do |content| yielder << (content, session_id: session_id) end end end |
.from_block(session_id: 'default') { ... } ⇒ Enumerator
Create an Enumerator from a block
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/claude_agent_sdk/streaming.rb', line 56 def self.from_block(session_id: 'default', &block) Enumerator.new do |yielder| collector = Object.new def collector.yield(content) @content = content end def collector.content @content end inner_enum = Enumerator.new(&block) inner_enum.each do |content| yielder << (content, session_id: session_id) end end end |
.user_message(content, session_id: 'default', parent_tool_use_id: nil) ⇒ String
Create a user message for streaming input
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/claude_agent_sdk/streaming.rb', line 14 def self.(content, session_id: 'default', parent_tool_use_id: nil) = { type: 'user', message: { role: 'user', content: content }, parent_tool_use_id: parent_tool_use_id, session_id: session_id } JSON.generate() + "\n" end |