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