Skip to content

ValidationConfig

Defined in: packages/middleware/src/validation.ts:117

Validation configuration

optional allowedModels: string[]

Defined in: packages/middleware/src/validation.ts:225

Allowed models (if validateModel is true)


optional allowedRoles: ("system" | "user" | "assistant")[]

Defined in: packages/middleware/src/validation.ts:152

Allowed message roles

['user', 'assistant', 'system']

optional blockEmptyMessages: boolean

Defined in: packages/middleware/src/validation.ts:158

Block requests with empty messages

true

optional blockFlaggedContent: boolean

Defined in: packages/middleware/src/validation.ts:192

Block content flagged by moderation

false

optional customValidator: (request) => ValidationError[] | Promise<ValidationError[]>

Defined in: packages/middleware/src/validation.ts:252

Custom validation function Return errors to block, empty array to allow

IRChatRequest

ValidationError[] | Promise<ValidationError[]>


optional detectPII: boolean

Defined in: packages/middleware/src/validation.ts:164

Detect and handle PII (Personally Identifiable Information)

false

optional injectionPatterns: RegExp[]

Defined in: packages/middleware/src/validation.ts:203

Prompt injection patterns to detect


optional logWarnings: boolean

Defined in: packages/middleware/src/validation.ts:264

Log validation warnings

true

optional maxMessageLength: number

Defined in: packages/middleware/src/validation.ts:140

Maximum message content length (characters)

undefined (no limit)

optional maxMessages: number

Defined in: packages/middleware/src/validation.ts:122

Maximum number of messages in conversation

undefined (no limit)

optional maxSystemLength: number

Defined in: packages/middleware/src/validation.ts:146

Maximum system message length (characters)

undefined (no limit)

optional maxTokensPerMessage: number

Defined in: packages/middleware/src/validation.ts:134

Maximum tokens per message

undefined (no limit)

optional maxTotalTokens: number

Defined in: packages/middleware/src/validation.ts:128

Maximum total tokens across all messages

undefined (no limit)

optional moderationCallback: (content) => ModerationResult | Promise<ModerationResult>

Defined in: packages/middleware/src/validation.ts:186

Content moderation callback Return true to block, false to allow

string

ModerationResult | Promise<ModerationResult>


optional piiAction: "warn" | "block" | "redact" | "log"

Defined in: packages/middleware/src/validation.ts:170

Action when PII is detected

'warn'

optional piiDetector: (text) => PIIDetectionResult | Promise<PIIDetectionResult>

Defined in: packages/middleware/src/validation.ts:180

Custom PII detector function

string

PIIDetectionResult | Promise<PIIDetectionResult>


optional piiPatterns: Record<string, RegExp>

Defined in: packages/middleware/src/validation.ts:175

PII patterns to detect (regex patterns)


optional preventPromptInjection: boolean

Defined in: packages/middleware/src/validation.ts:198

Prevent prompt injection attempts

true

optional sanitizeMessages: boolean

Defined in: packages/middleware/src/validation.ts:209

Sanitize messages before processing

true

optional sanitizer: (text) => string

Defined in: packages/middleware/src/validation.ts:214

Custom sanitization function

string

string


optional temperatureRange: [number, number]

Defined in: packages/middleware/src/validation.ts:246

Temperature range (only used if validateTemperature is true)

[0, 2]

optional throwOnError: boolean

Defined in: packages/middleware/src/validation.ts:258

Throw errors on validation failure

true

optional validateIRFormat: boolean

Defined in: packages/middleware/src/validation.ts:232

Perform IR format validation before security validation Uses ai.matey.utils/validation.ts for structural correctness

false

optional validateModel: boolean

Defined in: packages/middleware/src/validation.ts:220

Validate model parameter

false

optional validateTemperature: boolean

Defined in: packages/middleware/src/validation.ts:239

Validate temperature parameter using ai.matey.utils

false