pub(crate) struct PluginCli {
pub run_and_refresh: Arc<dyn Fn(String, Vec<String>) -> Pin<Box<dyn Future<Output = Result<(PluginsInventorySnapshot, PathBuf), String>> + Send>> + Send + Sync>,
pub refresh: Arc<dyn Fn(String) -> Pin<Box<dyn Future<Output = Result<(PluginsInventorySnapshot, PathBuf), String>> + Send>> + Send + Sync>,
pub runner: UpdateRunner,
pub scan: Arc<dyn Fn() -> Option<PluginsInventorySnapshot> + Send + Sync>,
}Expand description
How the plugin actions reach claude and the disk. Real in every
production build.
Fields§
§run_and_refresh: Arc<dyn Fn(String, Vec<String>) -> Pin<Box<dyn Future<Output = Result<(PluginsInventorySnapshot, PathBuf), String>> + Send>> + Send + Sync>Run one claude plugin ... action and refresh the inventory after
it, both in the given working directory.
refresh: Arc<dyn Fn(String) -> Pin<Box<dyn Future<Output = Result<(PluginsInventorySnapshot, PathBuf), String>> + Send>> + Send + Sync>Refresh the inventory without an action (the update check).
runner: UpdateRunnerThe batch runner one PluginUpdateAll drives.
scan: Arc<dyn Fn() -> Option<PluginsInventorySnapshot> + Send + Sync>The disk-only scan: registry, manifests and the plugin cache, no
claude spawn. None when no plugins root resolves.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PluginCli
impl !UnwindSafe for PluginCli
impl Freeze for PluginCli
impl Send for PluginCli
impl Sync for PluginCli
impl Unpin for PluginCli
impl UnsafeUnpin for PluginCli
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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> ⓘ
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