Skip to main content

Function: evaluateInputGuardrails()

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

Defined in: packages/agentos/src/core/guardrails/guardrailDispatcher.ts:131

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;