module Riffer::Tools::Toolable

Shared class-level DSL for anything that presents as a tool to an LLM. Extend it to make a class discoverable as a tool; instance-level execution (call, call_with_validation) lives on Riffer::Tool instead.

class MyTool
  extend Riffer::Tools::Toolable

  description "Does something useful"

  params do
    required :input, String
  end
end