pub struct AppManifest {
pub name: String,
pub version: String,
pub description: String,
pub author: Option<String>,
pub license: Option<String>,
pub agents: Vec<AgentSpec>,
pub tools: Vec<ToolSpec>,
pub services: Vec<ServiceSpec>,
pub capabilities: AppCapabilities,
pub hooks: AppHooks,
}Expand description
Application manifest, parsed from weftapp.toml or weftapp.json.
Declares the agents, tools, services, capabilities, and lifecycle hooks for a WeftOS application.
Fields§
§name: StringApplication name (unique identifier).
version: StringSemantic version string.
description: StringHuman-readable description.
Application author.
license: Option<String>License identifier (SPDX).
agents: Vec<AgentSpec>Agent specifications.
tools: Vec<ToolSpec>Tool specifications.
services: Vec<ServiceSpec>Service specifications (containers, processes).
capabilities: AppCapabilitiesApplication-level capability requirements.
hooks: AppHooksLifecycle hooks.
Implementations§
Source§impl AppManifest
impl AppManifest
Sourcepub fn from_json_str(json: &str) -> Result<Self, AppError>
pub fn from_json_str(json: &str) -> Result<Self, AppError>
Parse an AppManifest from a JSON string.
The manifest is validated after parsing; structural errors
(empty name, duplicate IDs, etc.) are returned as
AppError::ManifestInvalid.
Sourcepub fn from_toml_str(src: &str) -> Result<Self, AppError>
pub fn from_toml_str(src: &str) -> Result<Self, AppError>
Parse an AppManifest from a weftapp.toml string.
Same validation as Self::from_json_str; parse errors are
returned as AppError::ManifestInvalid.
Trait Implementations§
Source§impl Clone for AppManifest
impl Clone for AppManifest
Source§impl Debug for AppManifest
impl Debug for AppManifest
Source§impl<'de> Deserialize<'de> for AppManifest
impl<'de> Deserialize<'de> for AppManifest
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 AppManifest
impl RefUnwindSafe for AppManifest
impl Send for AppManifest
impl Sync for AppManifest
impl Unpin for AppManifest
impl UnsafeUnpin for AppManifest
impl UnwindSafe for AppManifest
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
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