pub struct ExtensionManifest {
pub extension: ExtensionMetadata,
pub tools: Vec<ToolDefinition>,
pub events: Vec<EventHandler>,
pub config: HashMap<String, Value>,
pub dependencies: HashMap<String, String>,
}Expand description
Extension manifest structure for parsing extension.toml files
Fields§
§extension: ExtensionMetadataBasic extension metadata
tools: Vec<ToolDefinition>Tool definitions provided by the extension
events: Vec<EventHandler>Event handlers (lifecycle hooks)
config: HashMap<String, Value>Configuration options for the extension
dependencies: HashMap<String, String>Extension dependencies
Implementations§
Source§impl ExtensionManifest
impl ExtensionManifest
Sourcepub fn from_file(path: &PathBuf) -> Result<Self, ExtensionError>
pub fn from_file(path: &PathBuf) -> Result<Self, ExtensionError>
Load and parse an extension manifest from a TOML file
Supports both the new extension.toml format and legacy agent TOML format via automatic detection and conversion.
Source§impl ExtensionManifest
impl ExtensionManifest
Sourcepub fn validate(&self) -> Result<(), ExtensionError>
pub fn validate(&self) -> Result<(), ExtensionError>
Validate the extension manifest for completeness and correctness
Returns Ok(()) if valid, or Err with descriptive validation errors.
Trait Implementations§
Source§impl Clone for ExtensionManifest
impl Clone for ExtensionManifest
Source§fn clone(&self) -> ExtensionManifest
fn clone(&self) -> ExtensionManifest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExtensionManifest
impl Debug for ExtensionManifest
Source§impl<'de> Deserialize<'de> for ExtensionManifest
impl<'de> Deserialize<'de> for ExtensionManifest
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExtensionManifest
impl RefUnwindSafe for ExtensionManifest
impl Send for ExtensionManifest
impl Sync for ExtensionManifest
impl Unpin for ExtensionManifest
impl UnwindSafe for ExtensionManifest
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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