#[non_exhaustive]pub struct Manifest {
pub spec: SpecVersion,
pub name: PluginName,
pub version: Option<String>,
pub description: Option<String>,
pub author: Option<Author>,
pub homepage: Option<String>,
pub repository: Option<String>,
pub license: Option<String>,
pub keywords: Vec<String>,
pub extensions: Extensions,
}Expand description
A validated plugin manifest.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.spec: SpecVersionThe Agent Plugins version declared by $schema.
name: PluginNameThe validated plugin name (§5.5).
version: Option<String>Version string; Semantic Versioning recommended, not enforced (§5.4).
description: Option<String>Short description of plugin purpose.
Author metadata.
homepage: Option<String>Documentation or homepage URL. Opaque per §5.4.
repository: Option<String>Source repository URL. Opaque per §5.4.
license: Option<String>License identifier; SPDX recommended, not enforced (§5.4).
keywords: Vec<String>Search and discovery tags.
extensions: ExtensionsClient-specific manifest data, keyed by extension namespace (§8.1).
Implementations§
Source§impl Manifest
impl Manifest
Sourcepub fn parse(bytes: &[u8]) -> Result<(Self, Vec<Diagnostic>), ManifestRejection>
pub fn parse(bytes: &[u8]) -> Result<(Self, Vec<Diagnostic>), ManifestRejection>
Parse and validate a plugin.json document (§5).
On success, the accompanying diagnostics record any unknown top-level
fields and a non-object extensions — reported and ignored per §5.2
and §8.1. Every other schema violation rejects the manifest outright.
Trait Implementations§
impl StructuralPartialEq for Manifest
Auto Trait Implementations§
impl Freeze for Manifest
impl RefUnwindSafe for Manifest
impl Send for Manifest
impl Sync for Manifest
impl Unpin for Manifest
impl UnsafeUnpin for Manifest
impl UnwindSafe for Manifest
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