A provider-neutral response to a structured agent request.
@type action() :: :answer | :approve | :deny | :cancel
@type scope() :: :once | :session | nil
@type t() :: %AgentHarness.Response{ action: action(), reason: String.t() | nil, scope: scope(), value: term() }
@spec answer(term()) :: t()
@spec approve(keyword()) :: t()
@spec cancel(String.t() | nil) :: t()
@spec deny(String.t() | nil) :: t()