/** * SEP-2106 full JSON Schema 2020-12 for tools (modern path only). * * The legacy path converts Zod with `target: 'jsonSchema7'` and inlines refs * (`$refStrategy: 'none'`), forcing `type: "object"` on both input and output — * unchanged so 2025-era clients never see unexpected keywords. * * On 2026-07-28 tool schemas are lifted to full JSON Schema 2020-12: * - input keeps an object root but may carry `oneOf`/`anyOf`/`allOf`, * conditionals, and `$ref`/`$defs` * - output is unrestricted (not forced to an object) * - external `$ref` URIs are never auto-dereferenced and schema depth is bounded * * @module */ /** JSON Schema object (loose). */ export type JsonSchemaObject = Record; /** Maximum schema nesting depth accepted on the modern path (DoS guard). */ export declare const MAX_SCHEMA_DEPTH = 64; /** * Bound the depth of a JSON schema object, replacing anything deeper than * `maxDepth` with a permissive `{}` so a pathological `$defs` graph cannot blow * the stack or the validator. External `$ref` URIs are left intact but are * never dereferenced by NitroStack. */ export declare function boundSchemaDepth(value: unknown, maxDepth?: number, depth?: number): unknown; /** * Convert a Zod or JSON schema to JSON Schema 2020-12 for the modern era, * preserving composition (`oneOf`/`anyOf`/`allOf`), conditionals, and * `$ref`/`$defs`. * * @param schema - Zod schema or a pre-built JSON schema. * @param opts.root - `'input'` forces an object root (spec requirement for tool * input); `'output'` leaves the schema unrestricted. */ export declare function convertToModernJsonSchema(schema: unknown, opts: { root: 'input' | 'output'; }): Promise; //# sourceMappingURL=schema.d.ts.map