Skip to main content

Function: lowerZodToJsonSchema()

lowerZodToJsonSchema(schema, options?): Record<string, unknown>

Defined in: packages/agentos/src/orchestration/compiler/SchemaLowering.ts:178

Converts a Zod schema instance to a plain JSON Schema object.

Recursively descends into ZodObject shapes, ZodArray item types, ZodOptional and ZodDefault wrappers, transparently unwrapping them so the produced JSON Schema is clean and does not contain Zod-specific metadata.

Parameters​

schema​

ZodType

Any Zod schema instance.

options?​

LowerZodOptions = {}

LowerZodOptions; omit for the default keyword set.

Returns​

Record<string, unknown>

A JSON Schema-compatible plain object.

Example​

lowerZodToJsonSchema(z.object({ name: z.string(), age: z.number().optional() }));
// → { type: 'object',
// properties: { name: { type: 'string' }, age: { type: 'number' } },
// required: ['name'] }
lowerZodToJsonSchema(z.string().max(120), { sizeConstraints: true });
// → { type: 'string', maxLength: 120 }