class Multiwoven::Integrations::Source::WatsonxAi::Client

def process_streaming_response(chunk)

def process_streaming_response(chunk)
  data_entries = extract_data_entries(chunk)
  data_entries.each do |entry|
    data, = entry.split("\n", 2)
    next if data == "id: 1"
    data = parse_json(data)
    raise StandardError, "Error: #{data["errors"][0]["message"]}" if data["errors"] && data["errors"][0]["message"]
    next if data["results"][0]["stop_reason"] != "not_finished"
    yield [RecordMessage.new(data: data, emitted_at: Time.now.to_i).to_multiwoven_message] if block_given?
  end
end