A parsed node manifest (.bloccs).
One node per file. The manifest is the canonical artifact agents read/write and the (future) canvas renders.
Summary
Functions
Cast a kind string to its atom form. Returns {:ok, kind} or :error for
an unknown value — lets callers pattern-match instead of rescuing.
Bang variant of cast_kind/1; raises ArgumentError on an unknown kind.
The list of valid kinds.
Types
@type kind() :: :source | :transform | :router | :sink
@type t() :: %Bloccs.Manifest.Node{ batch: Bloccs.Manifest.Batch.t() | nil, contract: Bloccs.Manifest.Contract.t(), delay_ms: pos_integer() | nil, doc: Bloccs.Manifest.Doc.t() | nil, effects: Bloccs.Manifest.Effects.t(), id: String.t(), join: Bloccs.Manifest.Join.t() | nil, kind: kind(), observability: %{optional(atom()) => term()}, path: Path.t() | nil, ports_in: %{required(atom()) => Bloccs.Manifest.Port.t()}, ports_out: %{required(atom()) => Bloccs.Manifest.Port.t()}, rate: Bloccs.Manifest.Rate.t() | nil, version: String.t() }
Functions
Cast a kind string to its atom form. Returns {:ok, kind} or :error for
an unknown value — lets callers pattern-match instead of rescuing.
Bang variant of cast_kind/1; raises ArgumentError on an unknown kind.
The list of valid kinds.