-record(runtime_config, { provider :: fun((list(pig@ai@message:message()), list(pig@ai@tool_definition:tool_definition())) -> {ok, pig@ai@provider:inference_result()} | {error, pig@ai@error:ai_error()}), tools :: pig@tool:tool_registry(), hooks :: list(pig@hooks:hooks()), dispatcher :: gleam@erlang@process:subject(pig@obs@dispatcher:dispatcher_message()), model :: binary(), max_iterations :: integer() }).