@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
70 lines (69 loc) • 2.15 kB
TypeScript
/**
* Request Validation Middleware
* Provides schema-based request validation for server adapters
*/
import type { ExtendedValidationSchema, MiddlewareDefinition, MiddlewareRequestSchema, PropertySchema, ValidationConfig } from "../../types/index.js";
/**
* Re-export ValidationError from errors for convenience
*/
export { ValidationError } from "../errors.js";
/**
* Create request validation middleware
*
* @example
* ```typescript
* const validationMiddleware = createRequestValidationMiddleware({
* bodySchema: {
* required: ["input"],
* properties: {
* input: { type: "string", minimum: 1 },
* temperature: { type: "number", minimum: 0, maximum: 1 },
* },
* },
* });
*
* server.registerMiddleware(validationMiddleware);
* ```
*/
export declare function createRequestValidationMiddleware(config: ValidationConfig): MiddlewareDefinition;
/**
* Create a field validator helper
*/
export declare function createFieldValidator(fieldName: string, rules: PropertySchema): (value: unknown) => void;
/**
* Create body-only validation middleware
*
* @example
* ```typescript
* const middleware = createBodyValidationMiddleware({
* required: ["input"],
* properties: {
* input: { type: "string" },
* },
* });
* ```
*/
export declare function createBodyValidationMiddleware(schema: MiddlewareRequestSchema): MiddlewareDefinition;
/**
* Create query-only validation middleware
*
* @example
* ```typescript
* const middleware = createQueryValidationMiddleware({
* properties: {
* page: { type: "number", minimum: 1 },
* limit: { type: "number", minimum: 1, maximum: 100 },
* },
* });
* ```
*/
export declare function createQueryValidationMiddleware(schema: MiddlewareRequestSchema): MiddlewareDefinition;
/**
* Create a combined validation middleware with full config support
* Alias for createRequestValidationMiddleware for compatibility
*/
export declare const createValidationMiddleware: typeof createRequestValidationMiddleware;
/**
* Common validation schemas for reuse
*/
export declare const CommonSchemas: Record<string, ExtendedValidationSchema>;