-record(tool, { definition :: pig_protocol@tool_definition:tool_definition(), handler :: fun((pig@tool:tool_call_context(), gleam@dynamic:dynamic_()) -> {ok, gleam@json:json()} | {error, pig@tool:tool_error()}) }).