pub struct InstalledPlugin {
pub id: String,
pub name: String,
pub author: String,
pub version: String,
pub kind: PluginKind,
pub public_key: String,
pub added: AddedContent,
pub capabilities: Vec<String>,
pub detect: Option<DetectConfig>,
pub export: Option<ExportConfig>,
}Expand description
One installed plugin: provenance + what it added to settings.
Fields§
§id: String§name: String§version: String§kind: PluginKind§public_key: StringThe base64 ed25519 public key the manifest was signed with. Recorded so a future update flow can detect a key change (TOFU pinning).
added: AddedContentThe concrete content this plugin added, for a clean uninstall. Empty for non-content plugins.
capabilities: Vec<String>Granted capability strings (a detector’s imports), so the eval worker can rebuild the sandbox with exactly the consented host functions. Empty for content plugins.
detect: Option<DetectConfig>Detector configuration (the process pattern), threaded into the
sandbox context at eval time. None for non-detectors.
export: Option<ExportConfig>Export configuration (sink / format / destination / events) for an
export adapter, read by the delivery path. None for non-exports.
Implementations§
Source§impl InstalledPlugin
impl InstalledPlugin
Sourcepub fn from_manifest(manifest: &Manifest, added: AddedContent) -> Self
pub fn from_manifest(manifest: &Manifest, added: AddedContent) -> Self
Build a registry record from a validated manifest and the content its install actually merged.
Sourcepub fn from_detector(manifest: &Manifest) -> Self
pub fn from_detector(manifest: &Manifest) -> Self
Build a registry record for an installed detector: its granted capabilities and detect config travel with it so the eval worker can reconstruct the sandbox. The module bytes live on disk, keyed by id.
Sourcepub fn from_export(manifest: &Manifest) -> Self
pub fn from_export(manifest: &Manifest) -> Self
Build a registry record for an installed export adapter: its export config travels with it so the delivery path can render + deliver stats.
Trait Implementations§
Source§impl Clone for InstalledPlugin
impl Clone for InstalledPlugin
Source§fn clone(&self) -> InstalledPlugin
fn clone(&self) -> InstalledPlugin
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstalledPlugin
impl Debug for InstalledPlugin
Source§impl<'de> Deserialize<'de> for InstalledPlugin
impl<'de> Deserialize<'de> for InstalledPlugin
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>,
impl Eq for InstalledPlugin
Source§impl From<&InstalledPlugin> for PluginSummary
impl From<&InstalledPlugin> for PluginSummary
Source§fn from(p: &InstalledPlugin) -> Self
fn from(p: &InstalledPlugin) -> Self
Source§impl PartialEq for InstalledPlugin
impl PartialEq for InstalledPlugin
Source§impl Serialize for InstalledPlugin
impl Serialize for InstalledPlugin
impl StructuralPartialEq for InstalledPlugin
Auto Trait Implementations§
impl Freeze for InstalledPlugin
impl RefUnwindSafe for InstalledPlugin
impl Send for InstalledPlugin
impl Sync for InstalledPlugin
impl Unpin for InstalledPlugin
impl UnsafeUnpin for InstalledPlugin
impl UnwindSafe for InstalledPlugin
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<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
§fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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