Module: ClaudeCode::JSONLHelpers

Defined in:
lib/claude_code/types.rb

Overview

JSONL message helpers for streaming input

Class Method Summary collapse

Class Method Details

.create_conversation(*turns) ⇒ Object

Create a multi-turn conversation as JSONL messages



165
166
167
# File 'lib/claude_code/types.rb', line 165

def self.create_conversation(*turns)
  turns.compact.reject(&:empty?).map { |turn| create_user_message(turn) }
end

.create_user_message(text) ⇒ Object

Create a user message in the format expected by Claude CLI



144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/claude_code/types.rb', line 144

def self.create_user_message(text)
  {
    'type' => 'user',
    'message' => {
      'role' => 'user',
      'content' => [
        {
          'type' => 'text',
          'text' => text
        }
      ]
    }
  }
end

.format_messages_as_jsonl(messages) ⇒ Object

Format multiple messages as JSONL



160
161
162
# File 'lib/claude_code/types.rb', line 160

def self.format_messages_as_jsonl(messages)
  messages.map { |msg| msg.to_json }.join("\n")
end