-record(call_provider, { messages :: list(pig_protocol@message:message()), tools :: list(pig_protocol@tool_definition:tool_definition()), on_response :: fun(({ok, pig_protocol@inference:inference_result()} | {error, pig_protocol@error:ai_error()}) -> any()) }).