@type t() :: %AI.Agent.Code.Patcher{ agent: AI.Agent.t(), changes: [binary()], contents: binary(), context: binary() | nil, error_context: %{response: binary(), reason: binary()} | nil, file: binary(), retry_counts: map(), tools: map() }