UI-neutral command dispatched by TUI or LiveView clients.
@type t() :: %Vibe.Session.Command.Intent{data: map(), type: atom()}
@spec new(atom(), map()) :: t()