@mastra/schema-compat
Version:
Tool schema compatibility layer for Mastra.ai
32 lines • 1.22 kB
TypeScript
import type { ZodType, ZodTypeDef } from 'zod/v3';
import type { StandardSchemaWithJSON } from '../standard-schema.types.js';
/**
* Wraps a Zod v3 schema to implement the full @standard-schema/spec interface.
*
* While Zod v3 natively implements `StandardSchemaV1` (validation), it does not
* implement `StandardJSONSchemaV1` (JSON Schema conversion). This adapter adds
* the `jsonSchema` property to provide JSON Schema conversion capabilities.
*
* @typeParam T - The Zod schema type
*
* @example
* ```typescript
* import { z } from 'zod';
* import { toStandardSchema } from '@mastra/schema-compat/adapters/zod-v3';
*
* const userSchema = z.object({
* name: z.string(),
* age: z.number().min(0),
* });
*
* const standardSchema = toStandardSchema(userSchema);
*
* // Use validation (from StandardSchemaV1)
* const result = standardSchema['~standard'].validate({ name: 'John', age: 30 });
*
* // Get JSON Schema (from StandardJSONSchemaV1)
* const jsonSchema = standardSchema['~standard'].jsonSchema.output({ target: 'draft-07' });
* ```
*/
export declare function toStandardSchema<T>(zodSchema: ZodType<T, ZodTypeDef, T>): T & StandardSchemaWithJSON<T, T>;
//# sourceMappingURL=zod-v3.d.ts.map