Crosswake.Bridge.Reply (crosswake v0.2.4)

View Source

Adopter-facing typed reply delivered to handle_info/2.

This is deliberately distinct from the wire-level Crosswake.Bridge.Contract.Reply — its denial field holds a %Crosswake.Shell.Denial{}, never the doubly-nested wire envelope (Crosswake.Bridge.Denial). An adopter's handle_info/2 clause always pattern-matches on this struct, never on raw wire JSON (D-17).

The field set is frozen deliberately: there is nowhere here to put an authority-carrying key, and no open metadata map is added. A future maintainer who wants to attach more context should add a named field with a typed value, not a free-form map.

Summary

Types

status()

@type status() :: :ok | :deny

t()

@type t() :: %Crosswake.Bridge.Reply{
  command: String.t() | nil,
  denial: Crosswake.Shell.Denial.t() | nil,
  payload: map(),
  route_id: String.t() | nil,
  status: status()
}