Crosswake.Manifest.Types.RouteEntry (crosswake v0.2.0)

View Source

Typed route definition passed as the first argument to route_gated?/2.

Companions receive this struct to inspect route metadata when evaluating gate policy. Read-only from the companion's perspective — never construct or modify a RouteEntry in companion code.

Only RouteEntry.t() is part of the companion contract surface. All other nested modules in Crosswake.Manifest.Types (Crosswake.Manifest.Types.Root, Crosswake.Manifest.Types.Host, Crosswake.Manifest.Types.Compatibility, etc.) are @moduledoc false and internal to Crosswake core.

Stability

Public stable — part of the Crosswake companion contract surface. Semver-protected under crosswake >= 0.1.0: no breaking changes to this module's struct fields, types, or callbacks without a major version bump. Companion packages (crosswake_rulestead, crosswake_rindle, etc.) may safely alias and pattern-match on this type.

Summary

Types

t()

Route definition struct passed to companion gate callbacks.

Types

t()

(since 0.1.0)
@type t() :: %Crosswake.Manifest.Types.RouteEntry{
  allowlisted_origins: [String.t()],
  auth_min_level: atom() | nil,
  auth_posture: Crosswake.Policy.Schema.auth_posture() | nil,
  auth_return: Crosswake.Manifest.Types.RouteAuthReturn.t() | nil,
  cache_contract: Crosswake.Manifest.Types.CacheContract.t() | nil,
  capabilities: [String.t()],
  commerce: Crosswake.Manifest.Types.RouteCommerce.t() | nil,
  entry: Crosswake.Policy.Schema.entry(),
  gated_by: atom() | nil,
  id: String.t(),
  island_contract: Crosswake.Manifest.Types.IslandContract.t() | nil,
  notification_open:
    Crosswake.Policy.Schema.notification_open_declaration() | nil,
  offline: Crosswake.Policy.Schema.offline(),
  on_unavailable: :deny | {:fallback_phoenix, atom()} | nil,
  packs: [String.t()],
  path: String.t(),
  requires_recent_auth: pos_integer() | nil,
  runtime: Crosswake.Policy.Schema.runtime(),
  security: Crosswake.Policy.Schema.security() | nil,
  sync: [String.t()],
  transfers: [Crosswake.Manifest.Types.TransferSeam.t()]
}

Route definition struct passed to companion gate callbacks.