pub enum PluginInstallStatus {
Installing,
Installed,
}Expand description
Lifecycle status of a provenance row — the crash-safety journal marker.
The installer writes a row as Self::Installing BEFORE it begins
registering capabilities (MCP into config.json, prompts, workflow files),
and flips it to Self::Installed only after the whole sequence succeeds.
A row left Self::Installing therefore marks an install that was
interrupted (a hard process kill mid-install): its registered set names
what the install INTENDED to own, so on the next install/upgrade of that id
the installer can (a) treat the leftover as this-plugin-owned — so the
ownership pre-check doesn’t false-Conflict on the plugin’s own
half-written entries — and (b) clean it up as an upgrade-over-incomplete.
uninstall works on an Installing row too, so a user is never stranded
having to hand-edit config.json.
Variants§
Installing
A crash-safety journal marker: capability registration has begun but
not yet completed. registered records the INTENDED ownership set.
Installed
The steady state: registration completed and provenance is authoritative.
The Default so a pre-journal installed.json (no status field)
deserializes as a completed install (backward compat).
Trait Implementations§
Source§impl Clone for PluginInstallStatus
impl Clone for PluginInstallStatus
Source§fn clone(&self) -> PluginInstallStatus
fn clone(&self) -> PluginInstallStatus
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PluginInstallStatus
Source§impl Debug for PluginInstallStatus
impl Debug for PluginInstallStatus
Source§impl Default for PluginInstallStatus
impl Default for PluginInstallStatus
Source§fn default() -> PluginInstallStatus
fn default() -> PluginInstallStatus
Source§impl<'de> Deserialize<'de> for PluginInstallStatus
impl<'de> Deserialize<'de> for PluginInstallStatus
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 PluginInstallStatus
Source§impl PartialEq for PluginInstallStatus
impl PartialEq for PluginInstallStatus
Source§impl Serialize for PluginInstallStatus
impl Serialize for PluginInstallStatus
impl StructuralPartialEq for PluginInstallStatus
Auto Trait Implementations§
impl Freeze for PluginInstallStatus
impl RefUnwindSafe for PluginInstallStatus
impl Send for PluginInstallStatus
impl Sync for PluginInstallStatus
impl Unpin for PluginInstallStatus
impl UnsafeUnpin for PluginInstallStatus
impl UnwindSafe for PluginInstallStatus
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.