latent.guardrails.middleware¶
Classes¶
GuardrailMiddleware¶
GuardrailMiddleware(agent: Any, pre_scanners: list[Any] | None = None, post_scanners: list[Any] | None = None, sinks: list[EventSink] | None = None, enabled: bool = True, max_log_chars: int = 500)
Stream-intercepting wrapper that runs guardrail scanners around any agent.
Methods¶
GuardrailMiddleware.get_metrics¶
GuardrailMiddleware.stream¶
stream(messages: list[Message], config: dict[str, Any] | None = None) -> AsyncIterator[AgentEvent | GuardrailEvent]
GuardrailMiddleware.warmup¶
Preload every pre/post scanner's model off the request path.
Best-effort — see latent.guardrails.warmup. Call once at boot so the
first user request does not pay guardrail model cold-start. No-op when
the middleware is disabled, since its scanners never run.