pub struct AgentReleaseManifest { /* private fields */ }Expand description
Admitted, canonical Agent release manifest.
Implementations§
Source§impl AgentReleaseManifest
impl AgentReleaseManifest
Sourcepub fn parse(source: &str) -> Result<Self, AgentReleaseError>
pub fn parse(source: &str) -> Result<Self, AgentReleaseError>
Parse, admit, and canonicalize one untrusted .a3s/asset.acl document.
Sourcepub fn from_file(path: impl AsRef<Path>) -> Result<Self, AgentReleaseError>
pub fn from_file(path: impl AsRef<Path>) -> Result<Self, AgentReleaseError>
Read at most the manifest budget plus one byte before parsing.
pub fn contract(&self) -> &str
pub fn protocol(&self) -> &str
pub fn artifact(&self) -> &AgentReleaseArtifact
pub fn entrypoint(&self) -> &AgentReleaseEntrypoint
pub fn health(&self) -> &AgentReleaseHealth
pub fn storage(&self) -> &AgentReleaseStorage
pub fn required_capabilities(&self) -> &[AgentReleaseCapability]
pub fn required_secrets(&self) -> &[AgentReleaseSecretRequirement]
pub fn provenance(&self) -> &[AgentReleaseProvenance]
Sourcepub fn identity(&self) -> &str
pub fn identity(&self) -> &str
Lowercase SHA-256 digest of the schema-aware canonical ACL bytes.
Sourcepub fn canonical_acl(&self) -> &str
pub fn canonical_acl(&self) -> &str
Schema-aware canonical ACL bytes as UTF-8 with one final newline.
Sourcepub fn bind_publication(
&self,
artifact_digest: impl Into<String>,
provenance: impl IntoIterator<Item = AgentReleaseProvenance>,
) -> Result<Self, AgentReleaseError>
pub fn bind_publication( &self, artifact_digest: impl Into<String>, provenance: impl IntoIterator<Item = AgentReleaseProvenance>, ) -> Result<Self, AgentReleaseError>
Bind a built OCI manifest and exact provenance to this admitted template.
Publication happens after the artifact is built, so the final manifest cannot be embedded in the artifact whose digest it declares. This method changes only the artifact digest and the URI/digest pair for every already-declared provenance kind, then re-admits and canonicalizes the resulting document. Missing, duplicate, or additional provenance kinds fail without reflecting their values in the error.
Sourcepub fn verify_compatibility(
&self,
available: &AgentReleaseCompatibility,
) -> Result<(), AgentReleaseError>
pub fn verify_compatibility( &self, available: &AgentReleaseCompatibility, ) -> Result<(), AgentReleaseError>
Fail before activation unless protocol and every required capability match.
Trait Implementations§
Source§impl Clone for AgentReleaseManifest
impl Clone for AgentReleaseManifest
Source§fn clone(&self) -> AgentReleaseManifest
fn clone(&self) -> AgentReleaseManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for AgentReleaseManifest
impl RefUnwindSafe for AgentReleaseManifest
impl Send for AgentReleaseManifest
impl Sync for AgentReleaseManifest
impl Unpin for AgentReleaseManifest
impl UnsafeUnpin for AgentReleaseManifest
impl UnwindSafe for AgentReleaseManifest
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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