Provider-neutral origin attached to a normalized Spectre input.
Optional channel and protocol packages use kind as their namespace and mount as the concrete configured endpoint. Identifiers remain opaque to the core.
kind
mount
@type t() :: %Spectre.Input.Source{ actor_id: term(), conversation_id: term(), kind: atom() | String.t(), metadata: map(), mount: term(), reply_to: term() }
@spec new(t() | map() | keyword()) :: t()