Single guardrail or array of guardrails to evaluate
User input to evaluate
Conversation context for policy decisions
Outcome containing sanitized input and all evaluations
const outcome = await evaluateInputGuardrails(
[contentFilter, piiRedactor],
userInput,
{ userId: 'user-123', sessionId: 'session-abc' }
);
if (outcome.evaluation?.action === GuardrailAction.BLOCK) {
// Input was blocked - return error stream
yield* createGuardrailBlockedStream(context, outcome.evaluation);
return;
}
// Use sanitized input for orchestration
const cleanInput = outcome.sanitizedInput;
Evaluate user input through all registered guardrails.
Runs guardrails in sequence, allowing each to modify or block the input. If any guardrail returns GuardrailAction.BLOCK, evaluation stops immediately and the blocked result is returned.