Function evaluateInputGuardrails

  • 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.

    Parameters

    Returns Promise<GuardrailInputOutcome>

    Outcome containing sanitized input and all evaluations

    Example

    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;