MCPcopy Create free account
hub / github.com/NVIDIA/NeMo-Relay / register_tool_conditional_execution_guardrail

Method register_tool_conditional_execution_guardrail

crates/core/src/plugin.rs:437–466  ·  view source on GitHub ↗

Registers a tool conditional-execution guardrail and records its rollback closure.

(
        &mut self,
        name: &str,
        priority: i32,
        callback: ToolConditionalFn,
    )

Source from the content-addressed store, hash-verified

435
436 /// Registers a tool conditional-execution guardrail and records its rollback closure.
437 pub fn register_tool_conditional_execution_guardrail(
438 &mut self,
439 name: &str,
440 priority: i32,
441 callback: ToolConditionalFn,
442 ) -> Result<()> {
443 let qualified_name = self.qualify_name(name);
444 register_tool_conditional_execution_guardrail(&qualified_name, priority, callback)
445 .map_err(|err| {
446 PluginError::RegistrationFailed(format!(
447 "tool conditional execution guardrail: {err}"
448 ))
449 })?;
450
451 let name_owned = qualified_name;
452 self.registrations.push(PluginRegistration::new(
453 "plugin",
454 name_owned.clone(),
455 Box::new(move || {
456 deregister_tool_conditional_execution_guardrail(&name_owned)
457 .map(|_| ())
458 .map_err(|err| {
459 PluginError::RegistrationFailed(format!(
460 "tool conditional execution guardrail deregistration failed: {err}"
461 ))
462 })
463 }),
464 ));
465 Ok(())
466 }
467
468 /// Registers an LLM sanitize-request guardrail and records its rollback closure.
469 pub fn register_llm_sanitize_request_guardrail(