pub struct RegisteredCapabilities {
pub mcp_server_ids: Vec<String>,
pub skill_dirs: Vec<String>,
pub preset_ids: Vec<String>,
pub workflow_filenames: Vec<String>,
}Expand description
Exactly what an installed plugin registered into Bamboo’s shared capability stores. Every id/name here MUST have actually been written by the installer for THIS plugin — never a superset (that would risk clobbering or removing a user’s own entries on uninstall) and never a subset (uninstall would leak orphaned registrations).
Fields§
§mcp_server_ids: Vec<String>Ids registered into config.json’s mcpServers map.
skill_dirs: Vec<String>Directory names under <plugin_dir>/skills/ that are valid skill
dirs (contain SKILL.md) and are therefore discoverable in place.
preset_ids: Vec<String>Ids appended into prompt-presets.json.
workflow_filenames: Vec<String>Filenames copied into bamboo_config::paths::workflows_dir().
Implementations§
Source§impl RegisteredCapabilities
impl RegisteredCapabilities
pub fn is_empty(&self) -> bool
Sourcepub fn removed_since(
&self,
old: &RegisteredCapabilities,
) -> RegisteredCapabilities
pub fn removed_since( &self, old: &RegisteredCapabilities, ) -> RegisteredCapabilities
The capabilities present in old (a prior install’s registered set)
but ABSENT from self (the set the new/upgraded install will register).
These are exactly the entries an in-place upgrade must DE-register:
their ids/filenames vanish from provenance across the upgrade, so if
they are not actively removed here they leak — orphaned forever,
un-removable because no future uninstall knows they were ours. See the
upgrade sequence in crate::installer / PLUGIN_PLAN.md.
Order-preserving relative to old (stable output for diffing/logging).
Trait Implementations§
Source§impl Clone for RegisteredCapabilities
impl Clone for RegisteredCapabilities
Source§fn clone(&self) -> RegisteredCapabilities
fn clone(&self) -> RegisteredCapabilities
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 RegisteredCapabilities
impl Debug for RegisteredCapabilities
Source§impl Default for RegisteredCapabilities
impl Default for RegisteredCapabilities
Source§fn default() -> RegisteredCapabilities
fn default() -> RegisteredCapabilities
Source§impl<'de> Deserialize<'de> for RegisteredCapabilities
impl<'de> Deserialize<'de> for RegisteredCapabilities
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 RegisteredCapabilities
Source§impl PartialEq for RegisteredCapabilities
impl PartialEq for RegisteredCapabilities
Source§impl Serialize for RegisteredCapabilities
impl Serialize for RegisteredCapabilities
impl StructuralPartialEq for RegisteredCapabilities
Auto Trait Implementations§
impl Freeze for RegisteredCapabilities
impl RefUnwindSafe for RegisteredCapabilities
impl Send for RegisteredCapabilities
impl Sync for RegisteredCapabilities
impl Unpin for RegisteredCapabilities
impl UnsafeUnpin for RegisteredCapabilities
impl UnwindSafe for RegisteredCapabilities
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.