pub struct PluginHooksRef {
pub governance: bool,
pub comms: bool,
pub evaluation: bool,
pub include: Vec<String>,
}Expand description
Selects which hooks a plugin materialises into its hooks/hooks.json.
Claude Code executes plugin hooks session-globally — a PreToolUse hook
with a * matcher fires for every tool call regardless of which plugin
contributed the tool. One plugin therefore carries the governance hooks for
the whole instance; every other plugin emits an empty hooks file.
comms is an opt-in on that same owner: when set, the bridge also installs
the UserPromptSubmit/Stop hooks that drain gateway announcements into
the session. Off by default — a tenant that publishes no announcements has
no reason to run a command on every prompt.
evaluation is server-side only: it switches on the session-evaluation
engine for the sessions this plugin’s track hook reports, and installs no
client hook of its own. Like comms it rides on the governance owner, so
is_empty ignores it.
Fields§
§governance: bool§comms: bool§evaluation: bool§include: Vec<String>Implementations§
Trait Implementations§
Source§impl Clone for PluginHooksRef
impl Clone for PluginHooksRef
Source§fn clone(&self) -> PluginHooksRef
fn clone(&self) -> PluginHooksRef
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 PluginHooksRef
impl Debug for PluginHooksRef
Source§impl Default for PluginHooksRef
impl Default for PluginHooksRef
Source§fn default() -> PluginHooksRef
fn default() -> PluginHooksRef
Source§impl<'de> Deserialize<'de> for PluginHooksRef
impl<'de> Deserialize<'de> for PluginHooksRef
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 PluginHooksRef
Source§impl PartialEq for PluginHooksRef
impl PartialEq for PluginHooksRef
Source§impl Serialize for PluginHooksRef
impl Serialize for PluginHooksRef
impl StructuralPartialEq for PluginHooksRef
Auto Trait Implementations§
impl Freeze for PluginHooksRef
impl RefUnwindSafe for PluginHooksRef
impl Send for PluginHooksRef
impl Sync for PluginHooksRef
impl Unpin for PluginHooksRef
impl UnsafeUnpin for PluginHooksRef
impl UnwindSafe for PluginHooksRef
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.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> 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