- Add debounced state updates for title and content (500ms delay) - Immediate UI updates with delayed history saving - Prevent one-letter-per-undo issue - Add cleanup for debounce timers on unmount
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
/**
|
|
* 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
|