Crosswake. Companions. Rindle. Contracts
(crosswake v0.1.2)
View Source
Typed media seam contracts for the first-party Rindle companion.
These structs model server-issued upload grants, device capture evidence, and backend-owned media availability state. Device evidence can report an upload; it cannot directly make media available.
Summary
Functions
@spec canonical_capture_evidence_source(term()) :: {:ok, Crosswake.Companions.Rindle.Contracts.CaptureEvidence.source()} | {:error, {:invalid_source, keyword()}}
@spec capture_evidence_source_vocabulary() :: [ Crosswake.Companions.Rindle.Contracts.CaptureEvidence.source() ]
@spec media_state_vocabulary() :: [ Crosswake.Companions.Rindle.Contracts.MediaObject.state() ]
@spec new_capture_evidence(map() | keyword()) :: {:ok, Crosswake.Companions.Rindle.Contracts.CaptureEvidence.t()} | {:error, keyword()}
@spec new_media_object(map() | keyword()) :: {:ok, Crosswake.Companions.Rindle.Contracts.MediaObject.t()} | {:error, keyword()}
@spec new_upload_grant(map() | keyword()) :: {:ok, Crosswake.Companions.Rindle.Contracts.UploadGrant.t()} | {:error, keyword()}
@spec validate_capture_evidence( Crosswake.Companions.Rindle.Contracts.CaptureEvidence.t() ) :: :ok | {:error, keyword()}
@spec validate_media_object(Crosswake.Companions.Rindle.Contracts.MediaObject.t()) :: :ok | {:error, keyword()}
@spec validate_upload_grant(Crosswake.Companions.Rindle.Contracts.UploadGrant.t()) :: :ok | {:error, keyword()}
@spec verified_media_object( Crosswake.Companions.Rindle.Contracts.MediaObject.t(), keyword() ) :: {:ok, Crosswake.Companions.Rindle.Contracts.MediaObject.t()} | {:error, :backend_verification_required | {:invalid_source_state, term()}}