Crosswake.Companions.Sigra.Handoff (crosswake v0.1.2)

View Source

Pure Sigra session handoff contracts.

Handoff envelopes are bounded client-presented locators. Server-side ticket records and projected SessionAuthorityLane structs remain the authority source of truth for replay, revocation, expiry, binding, and session renewal.

Summary

Functions

lifecycle_states()

@spec lifecycle_states() :: [atom()]

new_handoff_audit_event(attrs)

@spec new_handoff_audit_event(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.Handoff.HandoffAuditEvent.t()}
  | {:error, keyword()}

new_handoff_envelope(attrs)

@spec new_handoff_envelope(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.Handoff.HandoffEnvelope.t()}
  | {:error, keyword()}

new_handoff_redemption(attrs)

@spec new_handoff_redemption(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.Handoff.HandoffRedemption.t()}
  | {:error, keyword()}

new_handoff_redemption_request(attrs)

@spec new_handoff_redemption_request(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.Handoff.HandoffRedemptionRequest.t()}
  | {:error, keyword()}

new_handoff_ticket_record(attrs)

@spec new_handoff_ticket_record(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.Handoff.HandoffTicketRecord.t()}
  | {:error, keyword()}

new_session_renewal_instructions(attrs)

@spec new_session_renewal_instructions(map() | keyword()) ::
  {:ok, Crosswake.Companions.Sigra.Handoff.SessionRenewalInstructions.t()}
  | {:error, keyword()}

validate_handoff_audit_event(event)

@spec validate_handoff_audit_event(
  Crosswake.Companions.Sigra.Handoff.HandoffAuditEvent.t()
) ::
  :ok | {:error, keyword()}

validate_handoff_envelope(envelope)

@spec validate_handoff_envelope(
  Crosswake.Companions.Sigra.Handoff.HandoffEnvelope.t()
) ::
  :ok | {:error, keyword()}

validate_handoff_redemption(redemption)

@spec validate_handoff_redemption(
  Crosswake.Companions.Sigra.Handoff.HandoffRedemption.t()
) ::
  :ok | {:error, keyword()}

validate_handoff_redemption_request(request)

@spec validate_handoff_redemption_request(
  Crosswake.Companions.Sigra.Handoff.HandoffRedemptionRequest.t()
) :: :ok | {:error, keyword()}

validate_handoff_ticket_record(record)

@spec validate_handoff_ticket_record(
  Crosswake.Companions.Sigra.Handoff.HandoffTicketRecord.t()
) ::
  :ok | {:error, keyword()}

validate_session_renewal_instructions(instructions)

@spec validate_session_renewal_instructions(
  Crosswake.Companions.Sigra.Handoff.SessionRenewalInstructions.t()
) :: :ok | {:error, keyword()}