Skip to main content

Function: evaluateInputGuardrails()

evaluateInputGuardrails(service, input, context): Promise<GuardrailInputOutcome>

Defined in: packages/agentos/src/safety/guardrails/guardrailDispatcher.ts:190

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​

service​

Single guardrail or array of guardrails to evaluate

IGuardrailService | IGuardrailService[] | undefined

input​

AgentOSInput

User input to evaluate

context​

GuardrailContext

Conversation context for policy decisions

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;