Trait Plugin Registration Context
Generated from cargo doc --no-deps -p nemo-relay-builtins -p nemo-relay-diagnostics -p nemo-relay-logging -p nemo-relay-plugin-host -p nemo-relay-codecs -p nemo-relay -p nemo-relay-runtime -p nemo-relay-model-pricing -p nemo-relay-resource-metrics -p nemo-relay-observability -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker.
pub trait PluginRegistrationContext: Send {
Show 27 methods // Required methods
fn qualify_name(&self, name: &str) -> String;
fn register_subscriber(
&mut self,
name: &str,
callback: Arc<dyn Fn(&Event) + Send + Sync>,
) -> Result<()>;
fn add_registration(&mut self, registration: PluginRegistration);
fn record_activation_diagnostic(&mut self, diagnostic: ConfigDiagnostic);
fn record_nonfatal_activation_failure(
&mut self,
component_key: &'static str,
classification: Classification,
diagnostic: ConfigDiagnostic,
);
fn activation_diagnostics(&self) -> &[ConfigDiagnostic];
fn register_conditional_middleware_guardrail(
&mut self,
name: &str,
kinds: BTreeSet<RuntimeRegistrationKind>,
registration_name: &str,
guardrail: ConditionalMiddlewareGuardrailFn,
) -> Result<()>;
fn register_event_metadata_injector(
&mut self,
name: &str,
priority: i32,
callback: EventMetadataInjectorFn,
) -> Result<()>;
fn register_mark_sanitize_guardrail(
&mut self,
name: &str,
priority: i32,
callback: EventSanitizeFn,
) -> Result<()>;
fn register_scope_sanitize_start_guardrail(
&mut self,
name: &str,
priority: i32,
callback: EventSanitizeFn,
) -> Result<()>;
fn register_scope_sanitize_end_guardrail(
&mut self,
name: &str,
priority: i32,
callback: EventSanitizeFn,
) -> Result<()>;
fn register_llm_request_intercept(
&mut self,
name: &str,
priority: i32,
break_chain: bool,
callback: LlmRequestInterceptFn,
) -> Result<()>;
fn register_tool_sanitize_request_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolSanitizeFn,
) -> Result<()>;
fn register_tool_sanitize_response_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolSanitizeFn,
) -> Result<()>;
fn register_tool_conditional_execution_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolConditionalFn,
) -> Result<()>;
fn register_llm_sanitize_request_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmSanitizeRequestFn,
) -> Result<()>;
fn register_llm_sanitize_response_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmSanitizeResponseFn,
) -> Result<()>;
fn register_llm_conditional_execution_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmConditionalFn,
) -> Result<()>;
fn register_llm_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: LlmExecutionFn,
) -> Result<()>;
fn register_llm_stream_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: LlmStreamExecutionFn,
) -> Result<()>;
fn register_tool_request_intercept(
&mut self,
name: &str,
priority: i32,
break_chain: bool,
callback: ToolInterceptFn,
) -> Result<()>;
fn register_tool_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: ToolExecutionFn,
) -> Result<()>;
fn uses_plugin_component_namespace(&self) -> bool;
fn with_child_namespace(
&self,
name: &str,
) -> Box<dyn PluginRegistrationContext>;
fn into_registrations(self: Box<Self>) -> Vec<PluginRegistration>;
// Provided methods
fn diagnostics_context(&self) -> Option<&(dyn Any + Send + Sync)> { ... }
fn extend_registrations(&mut self, registrations: Vec<PluginRegistration>) { ... }
}
Host capabilities available to plugins during component activation.
Hosts retain ownership of registry mutation, namespacing, rollback, and activation diagnostics. Implementations do not depend on a runtime crate.
Required Methods
qualify_name
fn qualify_name(&self, name: &str) -> String
Qualify a component-local registration name.
register_subscriber
fn register_subscriber(
&mut self,
name: &str,
callback: Arc<dyn Fn(&Event) + Send + Sync>,
) -> Result<()>
Install a subscriber and track its rollback.
add_registration
fn add_registration(&mut self, registration: PluginRegistration)
Track an already-created resource’s cleanup operation.
record_activation_diagnostic
fn record_activation_diagnostic(&mut self, diagnostic: ConfigDiagnostic)
Record an activation diagnostic.
record_nonfatal_activation_failure
fn record_nonfatal_activation_failure(
&mut self,
component_key: &'static str,
classification: Classification,
diagnostic: ConfigDiagnostic,
)
Record an optional exporter initialization failure without aborting activation.
activation_diagnostics
fn activation_diagnostics(&self) -> &[ConfigDiagnostic]
Read activation diagnostics recorded so far.
register_conditional_middleware_guardrail
fn register_conditional_middleware_guardrail(
&mut self,
name: &str,
kinds: BTreeSet<RuntimeRegistrationKind>,
registration_name: &str,
guardrail: ConditionalMiddlewareGuardrailFn,
) -> Result<()>
Install middleware and track its rollback.
register_event_metadata_injector
fn register_event_metadata_injector(
&mut self,
name: &str,
priority: i32,
callback: EventMetadataInjectorFn,
) -> Result<()>
Install middleware and track its rollback.
register_mark_sanitize_guardrail
fn register_mark_sanitize_guardrail(
&mut self,
name: &str,
priority: i32,
callback: EventSanitizeFn,
) -> Result<()>
Install middleware and track its rollback.
register_scope_sanitize_start_guardrail
fn register_scope_sanitize_start_guardrail(
&mut self,
name: &str,
priority: i32,
callback: EventSanitizeFn,
) -> Result<()>
Install middleware and track its rollback.
register_scope_sanitize_end_guardrail
fn register_scope_sanitize_end_guardrail(
&mut self,
name: &str,
priority: i32,
callback: EventSanitizeFn,
) -> Result<()>
Install middleware and track its rollback.
register_llm_request_intercept
fn register_llm_request_intercept(
&mut self,
name: &str,
priority: i32,
break_chain: bool,
callback: LlmRequestInterceptFn,
) -> Result<()>
Install middleware and track its rollback.
register_tool_sanitize_request_guardrail
fn register_tool_sanitize_request_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolSanitizeFn,
) -> Result<()>
Install middleware and track its rollback.
register_tool_sanitize_response_guardrail
fn register_tool_sanitize_response_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolSanitizeFn,
) -> Result<()>
Install middleware and track its rollback.
register_tool_conditional_execution_guardrail
fn register_tool_conditional_execution_guardrail(
&mut self,
name: &str,
priority: i32,
callback: ToolConditionalFn,
) -> Result<()>
Install middleware and track its rollback.
register_llm_sanitize_request_guardrail
fn register_llm_sanitize_request_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmSanitizeRequestFn,
) -> Result<()>
Install middleware and track its rollback.
register_llm_sanitize_response_guardrail
fn register_llm_sanitize_response_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmSanitizeResponseFn,
) -> Result<()>
Install middleware and track its rollback.
register_llm_conditional_execution_guardrail
fn register_llm_conditional_execution_guardrail(
&mut self,
name: &str,
priority: i32,
callback: LlmConditionalFn,
) -> Result<()>
Install middleware and track its rollback.
register_llm_execution_intercept
fn register_llm_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: LlmExecutionFn,
) -> Result<()>
Install middleware and track its rollback.
register_llm_stream_execution_intercept
fn register_llm_stream_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: LlmStreamExecutionFn,
) -> Result<()>
Install middleware and track its rollback.
register_tool_request_intercept
fn register_tool_request_intercept(
&mut self,
name: &str,
priority: i32,
break_chain: bool,
callback: ToolInterceptFn,
) -> Result<()>
Install middleware and track its rollback.
register_tool_execution_intercept
fn register_tool_execution_intercept(
&mut self,
name: &str,
priority: i32,
callback: ToolExecutionFn,
) -> Result<()>
Install middleware and track its rollback.
uses_plugin_component_namespace
fn uses_plugin_component_namespace(&self) -> bool
Whether registration names belong to a plugin component namespace.
with_child_namespace
fn with_child_namespace(&self, name: &str) -> Box<dyn PluginRegistrationContext>
Create an independent registration context nested under this namespace.
into_registrations
fn into_registrations(self: Box<Self>) -> Vec<PluginRegistration>
Consume this context’s cleanup entries.
Provided Methods
diagnostics_context
fn diagnostics_context(&self) -> Option<&(dyn Any + Send + Sync)>
Optional diagnostic producer context supplied by the embedding runtime.
Runtime-specific components may downcast this handle to their runtime’s diagnostic facade. Shared plugins must tolerate an unavailable context.
extend_registrations
fn extend_registrations(&mut self, registrations: Vec<PluginRegistration>)
Track cleanup entries returned by a nested context or language adapter.