class Clacky::Tools::RequestUserFeedback

def execute(question:, context: nil, options: nil, working_dir: nil)

def execute(question:, context: nil, options: nil, working_dir: nil)
  # Build the feedback request message
  message_parts = []
  
  if context && !context.strip.empty?
    message_parts << "**Context:** #{context.strip}"
    message_parts << ""
  end
  
  message_parts << "**Question:** #{question.strip}"
  
  if options && !options.empty?
    message_parts << ""
    message_parts << "**Options:**"
    options.each_with_index do |option, index|
      message_parts << "  #{index + 1}. #{option}"
    end
  end
  
  formatted_message = message_parts.join("\n")
  
  {
    success: true,
    message: formatted_message,
    awaiting_feedback: true  # Special flag to indicate we're waiting for user
  }
end

def format_call(args)

def format_call(args)
  question = args[:question] || args["question"]
  preview = question.length > 60 ? "#{question[0..60]}..." : question
  "request_user_feedback(\"#{preview}\")"
end

def format_result(result)

def format_result(result)
  if result.is_a?(Hash) && result[:message]
    result[:message]
  else
    "Waiting for user feedback..."
  end
end