Declarative Pi agent orchestration step.
@type t() :: %Pi.Agent.Step{ messages: [Pi.Protocol.LLM.Message.t()] | nil, metadata: map(), name: atom() | String.t() | nil, parent_id: String.t() | nil, prompt: String.t() | nil, system: String.t() | nil }