class ChatStreamJob < ApplicationJob
  queue_as :default

  def perform(chat_id, user_content)
    Rails.logger.info("ChatStreamJob: Chat ID: #{chat_id}, User Content: #{user_content}")
    chat = Chat.find(chat_id)
    Rails.logger.info("Asking #{user_content}")
    chat.ask(user_content) do |chunk|
      # Get the assistant message record (created before streaming starts)
      assistant_message = chat.messages.last
      assistant_message.broadcast_append_chunk(chunk.content) if chunk.content && assistant_message
    end
  end
end
