1.0.3 • Published 8 months ago

openai-zod-to-json-schema v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

openai-zod-to-json-schema

Convert Zod schemas to JSON schemas which are optionally compatible with OpenAI's structured outputs.

Intro

This package exports OpenAI's vendored version of zod-to-json-schema as a standalone module (the source code is copied directly to guarantee a 1:1 match).

It re-adds all of the unit tests from the original zod-to-json-schema by Stefan Terdell.

It also adds some additional unit tests for OpenAI's strict mode. See OpenAI's docs on structured outputs for more details on the subset of JSON Schemas that are supported by OpenAI's structured outputs.

This package will be kept in sync with any changes to OpenAI's vendored version.

Install

!NOTE This package requires Node.js >= 18 or an equivalent environment (Bun, Deno, CF workers, etc).

npm install openai-zod-to-json-schema zod

Usage

All usage is the same as the original zod-to-json-schema, with the addition of a single optional boolean option: openaiStrictMode.

import { zodToJsonSchema } from 'openai-zod-to-json-schema'
import { z } from 'zod'

const schema = zodToJsonSchema(z.any(), { openaiStrictMode: true })

Why?

  • We should be able to access OpenAI's version of zod-to-json-schema without depending on the entire openai package.
  • OpenAI's vendored version of zod-to-json-schema removed all unit tests for some reason, which could cause undesired regressions.
  • We wanted a minimal, OpenAI-compatible version of zod-to-json-schema for openai-fetch, dexter, and agentic.

License

MIT © Travis Fischer

Also see the original zod-to-json-schema license.

1.0.3

8 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

11 months ago

0.1.0

11 months ago