| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * AJV-based JSON Schema validator provider
- */
- import Ajv from 'ajv';
- import type { JsonSchemaType, JsonSchemaValidator, jsonSchemaValidator } from './types.js';
- /**
- * @example
- * ```typescript
- * // Use with default AJV instance (recommended)
- * import { AjvJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/ajv';
- * const validator = new AjvJsonSchemaValidator();
- *
- * // Use with custom AJV instance
- * import { Ajv } from 'ajv';
- * const ajv = new Ajv({ strict: true, allErrors: true });
- * const validator = new AjvJsonSchemaValidator(ajv);
- * ```
- */
- export declare class AjvJsonSchemaValidator implements jsonSchemaValidator {
- private _ajv;
- /**
- * Create an AJV validator
- *
- * @param ajv - Optional pre-configured AJV instance. If not provided, a default instance will be created.
- *
- * @example
- * ```typescript
- * // Use default configuration (recommended for most cases)
- * import { AjvJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/ajv';
- * const validator = new AjvJsonSchemaValidator();
- *
- * // Or provide custom AJV instance for advanced configuration
- * import { Ajv } from 'ajv';
- * import addFormats from 'ajv-formats';
- *
- * const ajv = new Ajv({ validateFormats: true });
- * addFormats(ajv);
- * const validator = new AjvJsonSchemaValidator(ajv);
- * ```
- */
- constructor(ajv?: Ajv);
- /**
- * Create a validator for the given JSON Schema
- *
- * The validator is compiled once and can be reused multiple times.
- * If the schema has an $id, it will be cached by AJV automatically.
- *
- * @param schema - Standard JSON Schema object
- * @returns A validator function that validates input data
- */
- getValidator<T>(schema: JsonSchemaType): JsonSchemaValidator<T>;
- }
- //# sourceMappingURL=ajv-provider.d.ts.map
|