-record(activity, { name :: binary(), input :: any(), input_codec :: aion@codec:codec(any()), output_codec :: aion@codec:codec(any()), runner :: fun((any()) -> {ok, any()} | {error, aion@error:activity_error()}), retry_policy :: gleam@option:option(aion@activity:retry_policy()), timeout :: gleam@option:option(aion@duration:duration()), heartbeat :: gleam@option:option(aion@duration:duration()) }).