Skip to main content

Manifest

Struct Manifest 

Source
pub struct Manifest {
Show 14 fields pub codex: String, pub id: DocumentId, pub state: DocumentState, pub created: DateTime<Utc>, pub modified: DateTime<Utc>, pub content: ContentRef, pub metadata: Metadata, pub hash_algorithm: HashAlgorithm, pub presentation: Vec<PresentationRef>, pub assets: Option<AssetManifest>, pub security: Option<SecurityRef>, pub phantoms: Option<PhantomsRef>, pub extensions: Vec<Extension>, pub lineage: Option<Lineage>,
}
Expand description

Document manifest - the root metadata structure.

Fields§

§codex: String

Specification version (e.g., “0.1”).

§id: DocumentId

Content-addressable document identifier.

§state: DocumentState

Document lifecycle state.

§created: DateTime<Utc>

Creation timestamp.

§modified: DateTime<Utc>

Last modification timestamp.

§content: ContentRef

Content layer reference.

§metadata: Metadata

Metadata references.

§hash_algorithm: HashAlgorithm

Hash algorithm used (defaults to SHA-256).

§presentation: Vec<PresentationRef>

Presentation layer references.

§assets: Option<AssetManifest>

Asset manifest.

§security: Option<SecurityRef>

Security layer reference.

§phantoms: Option<PhantomsRef>

Phantom clusters reference.

§extensions: Vec<Extension>

Active extensions.

§lineage: Option<Lineage>

Version history and parent reference.

Implementations§

Source§

impl Manifest

Source

pub fn new(content: ContentRef, metadata: Metadata) -> Self

Create a new manifest with required fields.

Source

pub fn has_extension(&self, namespace: &str) -> bool

Check if an extension is declared in the manifest.

Extension IDs use dot notation like “codex.semantic” or “codex.legal”. This method checks if the given namespace (e.g., “semantic”, “legal”) matches any declared extension.

Source

pub fn get_extension(&self, namespace: &str) -> Option<&Extension>

Get a declared extension by namespace.

Returns the extension declaration if found.

Source

pub fn declared_extension_ids(&self) -> Vec<&str>

Get all declared extension IDs.

Source

pub fn validate(&self) -> Result<()>

Check if the manifest is valid.

§Errors

Returns an error if:

  • The Codex version is unsupported
  • State requirements are not met (e.g., frozen documents without signatures)
Source

pub fn has_precise_layout(&self) -> bool

Check if the manifest contains a precise layout reference.

Source

pub fn precise_layouts(&self) -> Vec<&PresentationRef>

Get all precise layout references.

Trait Implementations§

Source§

impl Clone for Manifest

Source§

fn clone(&self) -> Manifest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Manifest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Manifest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Manifest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,