pub struct PluginRegistrationContext { /* private fields */ }Expand description
Context provided to plugin handlers during runtime registration.
Each register_* call both installs the middleware/subscriber into the
NeMo Flow runtime and records the inverse deregistration closure so the host
can roll back partial setup on failure.
Implementations§
Source§impl PluginRegistrationContext
impl PluginRegistrationContext
Sourcepub fn with_namespace(namespace: impl Into<String>) -> Self
pub fn with_namespace(namespace: impl Into<String>) -> Self
Creates a plugin registration context that namespaces all registration names.
Sourcepub fn qualify_name(&self, name: &str) -> String
pub fn qualify_name(&self, name: &str) -> String
Returns the runtime-qualified name for a plugin-local registration.
Plugin handlers should pass stable component-local names such as
"tool" or "subscriber". The host applies the namespace so users do
not have to provide component instance ids.
Sourcepub fn register_subscriber(
&mut self,
name: &str,
callback: EventSubscriberFn,
) -> Result<()>
pub fn register_subscriber( &mut self, name: &str, callback: EventSubscriberFn, ) -> Result<()>
Registers an event subscriber and records its rollback closure.
Sourcepub fn register_llm_request_intercept(
&mut self,
name: &str,
priority: i32,
break_chain: bool,
callback: LlmRequestInterceptFn,
) -> Result<()>
pub fn register_llm_request_intercept( &mut self, name: &str, priority: i32, break_chain: bool, callback: LlmRequestInterceptFn, ) -> Result<()>
Registers an LLM request intercept and records its rollback closure.
Sourcepub fn register_tool_sanitize_request_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolSanitizeFn,
) -> Result<()>
pub fn register_tool_sanitize_request_guardrail( &mut self, name: &str, priority: i32, callback: ToolSanitizeFn, ) -> Result<()>
Registers a tool sanitize-request guardrail and records its rollback closure.
Sourcepub fn register_tool_sanitize_response_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolSanitizeFn,
) -> Result<()>
pub fn register_tool_sanitize_response_guardrail( &mut self, name: &str, priority: i32, callback: ToolSanitizeFn, ) -> Result<()>
Registers a tool sanitize-response guardrail and records its rollback closure.
Sourcepub fn register_tool_conditional_execution_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolConditionalFn,
) -> Result<()>
pub fn register_tool_conditional_execution_guardrail( &mut self, name: &str, priority: i32, callback: ToolConditionalFn, ) -> Result<()>
Registers a tool conditional-execution guardrail and records its rollback closure.
Sourcepub fn register_llm_sanitize_request_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmSanitizeRequestFn,
) -> Result<()>
pub fn register_llm_sanitize_request_guardrail( &mut self, name: &str, priority: i32, callback: LlmSanitizeRequestFn, ) -> Result<()>
Registers an LLM sanitize-request guardrail and records its rollback closure.
Sourcepub fn register_llm_sanitize_response_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmSanitizeResponseFn,
) -> Result<()>
pub fn register_llm_sanitize_response_guardrail( &mut self, name: &str, priority: i32, callback: LlmSanitizeResponseFn, ) -> Result<()>
Registers an LLM sanitize-response guardrail and records its rollback closure.
Sourcepub fn register_llm_conditional_execution_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmConditionalFn,
) -> Result<()>
pub fn register_llm_conditional_execution_guardrail( &mut self, name: &str, priority: i32, callback: LlmConditionalFn, ) -> Result<()>
Registers an LLM conditional-execution guardrail and records its rollback closure.
Sourcepub fn register_llm_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: LlmExecutionFn,
) -> Result<()>
pub fn register_llm_execution_intercept( &mut self, name: &str, priority: i32, callback: LlmExecutionFn, ) -> Result<()>
Registers an LLM execution intercept and records its rollback closure.
Sourcepub fn register_llm_stream_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: LlmStreamExecutionFn,
) -> Result<()>
pub fn register_llm_stream_execution_intercept( &mut self, name: &str, priority: i32, callback: LlmStreamExecutionFn, ) -> Result<()>
Registers an LLM stream execution intercept and records its rollback closure.
Sourcepub fn register_tool_request_intercept(
&mut self,
name: &str,
priority: i32,
break_chain: bool,
callback: ToolInterceptFn,
) -> Result<()>
pub fn register_tool_request_intercept( &mut self, name: &str, priority: i32, break_chain: bool, callback: ToolInterceptFn, ) -> Result<()>
Registers a tool request intercept and records its rollback closure.
Sourcepub fn register_tool_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: ToolExecutionFn,
) -> Result<()>
pub fn register_tool_execution_intercept( &mut self, name: &str, priority: i32, callback: ToolExecutionFn, ) -> Result<()>
Registers a tool execution intercept and records its rollback closure.
Sourcepub fn add_registration(&mut self, registration: PluginRegistration)
pub fn add_registration(&mut self, registration: PluginRegistration)
Adds a prebuilt registration to the context.
Sourcepub fn extend_registrations(&mut self, registrations: Vec<PluginRegistration>)
pub fn extend_registrations(&mut self, registrations: Vec<PluginRegistration>)
Extends the context with prebuilt registrations.
Sourcepub fn into_registrations(self) -> Vec<PluginRegistration>
pub fn into_registrations(self) -> Vec<PluginRegistration>
Consumes the context and returns the recorded registrations.
Trait Implementations§
Source§impl Default for PluginRegistrationContext
impl Default for PluginRegistrationContext
Source§fn default() -> PluginRegistrationContext
fn default() -> PluginRegistrationContext
Auto Trait Implementations§
impl Freeze for PluginRegistrationContext
impl !RefUnwindSafe for PluginRegistrationContext
impl Send for PluginRegistrationContext
impl !Sync for PluginRegistrationContext
impl Unpin for PluginRegistrationContext
impl UnsafeUnpin for PluginRegistrationContext
impl !UnwindSafe for PluginRegistrationContext
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request