pub struct CapabilitySnapshot {
pub capability_id: String,
pub subject_key: String,
pub issuer_key: String,
pub issued_at: u64,
pub expires_at: u64,
pub grants_json: String,
pub delegation_depth: u64,
pub parent_capability_id: Option<String>,
pub federated_parent_capability_id: Option<String>,
pub provenance: CapabilitySnapshotProvenance,
pub signed_capability: Option<CapabilityToken>,
}Fields§
§capability_id: StringThe unique token ID (matches CapabilityToken.id).
subject_key: StringHex-encoded subject public key (agent bound to this capability).
issuer_key: StringHex-encoded issuer public key (Capability Authority or delegating agent).
issued_at: u64Unix timestamp (seconds) when the token was issued.
expires_at: u64Unix timestamp (seconds) when the token expires.
grants_json: StringJSON-serialized ChioScope (grants, resource_grants, prompt_grants).
delegation_depth: u64Depth in the delegation chain. Root capabilities have depth 0.
parent_capability_id: Option<String>Parent capability_id if this was delegated from another token.
federated_parent_capability_id: Option<String>Unsigned cross-federation parent edge, separate from signed token lineage.
provenance: CapabilitySnapshotProvenanceEvidence source for this projection. Missing legacy payloads deserialize
as LegacyProjection and are rejected at transport boundaries.
signed_capability: Option<CapabilityToken>Exact signed capability token, when the snapshot originated from one.
Implementations§
Source§impl CapabilitySnapshot
impl CapabilitySnapshot
Sourcepub fn validate_for_transport(&self) -> Result<(), ReceiptStoreError>
pub fn validate_for_transport(&self) -> Result<(), ReceiptStoreError>
Validate a snapshot crossing a replication or evidence trust boundary.
Sourcepub fn validate_for_local_read(&self) -> Result<(), ReceiptStoreError>
pub fn validate_for_local_read(&self) -> Result<(), ReceiptStoreError>
Validate a row read from the local store, including migrated projections whose original signed token was not retained.
Trait Implementations§
Source§impl Clone for CapabilitySnapshot
impl Clone for CapabilitySnapshot
Source§fn clone(&self) -> CapabilitySnapshot
fn clone(&self) -> CapabilitySnapshot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CapabilitySnapshot
impl Debug for CapabilitySnapshot
Source§impl<'de> Deserialize<'de> for CapabilitySnapshot
impl<'de> Deserialize<'de> for CapabilitySnapshot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for CapabilitySnapshot
impl RefUnwindSafe for CapabilitySnapshot
impl Send for CapabilitySnapshot
impl Sync for CapabilitySnapshot
impl Unpin for CapabilitySnapshot
impl UnsafeUnpin for CapabilitySnapshot
impl UnwindSafe for CapabilitySnapshot
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more