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

Method register_llm_request_intercept

crates/core/src/plugin.rs:345–372  ·  view source on GitHub ↗

Registers an LLM request intercept and records its rollback closure.

(
        &mut self,
        name: &str,
        priority: i32,
        break_chain: bool,
        callback: LlmRequestInterceptFn,
    )

Source from the content-addressed store, hash-verified

343
344 /// Registers an LLM request intercept and records its rollback closure.
345 pub fn register_llm_request_intercept(
346 &mut self,
347 name: &str,
348 priority: i32,
349 break_chain: bool,
350 callback: LlmRequestInterceptFn,
351 ) -> Result<()> {
352 let qualified_name = self.qualify_name(name);
353 register_llm_request_intercept(&qualified_name, priority, break_chain, callback).map_err(
354 |err| PluginError::RegistrationFailed(format!("llm request intercept: {err}")),
355 )?;
356
357 let name_owned = qualified_name;
358 self.registrations.push(PluginRegistration::new(
359 "plugin",
360 name_owned.clone(),
361 Box::new(move || {
362 deregister_llm_request_intercept(&name_owned)
363 .map(|_| ())
364 .map_err(|err| {
365 PluginError::RegistrationFailed(format!(
366 "llm request intercept deregistration failed: {err}"
367 ))
368 })
369 }),
370 ));
371 Ok(())
372 }
373
374 /// Registers a tool sanitize-request guardrail and records its rollback closure.
375 pub fn register_tool_sanitize_request_guardrail(

Calls 4

qualify_nameMethod · 0.45
pushMethod · 0.45