Skip to navigation

Function scope_register_llm_stream_execution_intercept

View as Markdown

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 fn scope_register_llm_stream_execution_intercept(
    scope_uuid: &Uuid,
    name: &str,
    priority: i32,
    callable: Arc<dyn Fn(&str, LlmRequest, LlmExecutionContext, Arc<dyn Fn(LlmRequest) -> Pin<Box<dyn Future<Output = Result<LlmJsonStream, FlowError>> + Send>> + Sync + Send>) -> Pin<Box<dyn Future<Output = Result<LlmJsonStream, FlowError>> + Send>> + Sync + Send>,
) -> Result<(), FlowError>

Register a scope-local streaming LLM execution intercept. Execution intercepts can wrap or replace the streaming provider callback inside the owning scope.

Parameters

  • scope_uuid: UUID of the active scope that owns the middleware.
  • name: Unique middleware name within that scope.
  • priority: Lower values run earlier in the chain.
  • callable: Execution intercept callback stored under name.

Returns

A Result that is Ok(()) when the intercept was registered.

Errors

Returns FlowError::NotFound when the scope is not active, FlowError::AlreadyExists when the name is already in use on that scope, or an internal error if the runtime owner check fails.