openai 4.55.1 → 4.55.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/_vendor/zod-to-json-schema/Options.d.ts +3 -2
  4. package/_vendor/zod-to-json-schema/Options.d.ts.map +1 -1
  5. package/_vendor/zod-to-json-schema/Options.js +1 -0
  6. package/_vendor/zod-to-json-schema/Options.js.map +1 -1
  7. package/_vendor/zod-to-json-schema/Options.mjs +1 -0
  8. package/_vendor/zod-to-json-schema/Options.mjs.map +1 -1
  9. package/_vendor/zod-to-json-schema/Refs.d.ts +1 -1
  10. package/_vendor/zod-to-json-schema/Refs.d.ts.map +1 -1
  11. package/_vendor/zod-to-json-schema/Refs.js +3 -2
  12. package/_vendor/zod-to-json-schema/Refs.js.map +1 -1
  13. package/_vendor/zod-to-json-schema/Refs.mjs +3 -2
  14. package/_vendor/zod-to-json-schema/Refs.mjs.map +1 -1
  15. package/_vendor/zod-to-json-schema/parseDef.js +16 -0
  16. package/_vendor/zod-to-json-schema/parseDef.js.map +1 -1
  17. package/_vendor/zod-to-json-schema/parseDef.mjs +16 -0
  18. package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -1
  19. package/_vendor/zod-to-json-schema/parsers/nullable.js +1 -1
  20. package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -1
  21. package/_vendor/zod-to-json-schema/parsers/nullable.mjs +1 -1
  22. package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -1
  23. package/_vendor/zod-to-json-schema/util.d.ts +4 -0
  24. package/_vendor/zod-to-json-schema/util.d.ts.map +1 -0
  25. package/_vendor/zod-to-json-schema/util.js +16 -0
  26. package/_vendor/zod-to-json-schema/util.js.map +1 -0
  27. package/_vendor/zod-to-json-schema/util.mjs +11 -0
  28. package/_vendor/zod-to-json-schema/util.mjs.map +1 -0
  29. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts.map +1 -1
  30. package/_vendor/zod-to-json-schema/zodToJsonSchema.js +12 -12
  31. package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  32. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +12 -12
  33. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs.map +1 -1
  34. package/helpers/zod.d.ts.map +1 -1
  35. package/helpers/zod.js +2 -0
  36. package/helpers/zod.js.map +1 -1
  37. package/helpers/zod.mjs +2 -0
  38. package/helpers/zod.mjs.map +1 -1
  39. package/package.json +1 -1
  40. package/src/_vendor/zod-to-json-schema/Options.ts +4 -2
  41. package/src/_vendor/zod-to-json-schema/README.md +3 -0
  42. package/src/_vendor/zod-to-json-schema/Refs.ts +4 -3
  43. package/src/_vendor/zod-to-json-schema/parseDef.ts +18 -0
  44. package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +1 -1
  45. package/src/_vendor/zod-to-json-schema/util.ts +11 -0
  46. package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +21 -22
  47. package/src/helpers/zod.ts +2 -0
  48. package/src/version.ts +1 -1
  49. package/version.d.ts +1 -1
  50. package/version.js +1 -1
  51. package/version.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.55.2 (2024-08-08)
4
+
5
+ Full Changelog: [v4.55.1...v4.55.2](https://github.com/openai/openai-node/compare/v4.55.1...v4.55.2)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **helpers/zod:** add `extract-to-root` ref strategy ([ef3c73c](https://github.com/openai/openai-node/commit/ef3c73cfdf1a8e45346417812168e476fea65690))
10
+ * **helpers/zod:** add `nullableStrategy` option ([ad89892](https://github.com/openai/openai-node/commit/ad89892f4ac0daba161ce97267a165a12f67c341))
11
+ * **helpers/zod:** correct logic for adding root schema to definitions ([e4a247a](https://github.com/openai/openai-node/commit/e4a247a2a87b4d3bde55891b31e07413d3a9f00d))
12
+
13
+
14
+ ### Chores
15
+
16
+ * **internal:** add README for vendored zod-to-json-schema ([d8a80a9](https://github.com/openai/openai-node/commit/d8a80a915dfe723a59f512e7128aecf857324388))
17
+ * **tests:** add more API request tests ([04c1590](https://github.com/openai/openai-node/commit/04c1590a64127c43898c3c88bcbdd624d54008f6))
18
+
3
19
  ## 4.55.1 (2024-08-07)
4
20
 
5
21
  Full Changelog: [v4.55.0...v4.55.1](https://github.com/openai/openai-node/compare/v4.55.0...v4.55.1)
package/README.md CHANGED
@@ -19,7 +19,7 @@ You can import in Deno via:
19
19
  <!-- x-release-please-start-version -->
20
20
 
21
21
  ```ts
22
- import OpenAI from 'https://deno.land/x/openai@v4.55.1/mod.ts';
22
+ import OpenAI from 'https://deno.land/x/openai@v4.55.2/mod.ts';
23
23
  ```
24
24
 
25
25
  <!-- x-release-please-end -->
@@ -6,17 +6,18 @@ export type DateStrategy = 'format:date-time' | 'format:date' | 'string' | 'inte
6
6
  export declare const ignoreOverride: unique symbol;
7
7
  export type Options<Target extends Targets = 'jsonSchema7'> = {
8
8
  name: string | undefined;
9
- $refStrategy: 'root' | 'relative' | 'none' | 'seen';
9
+ $refStrategy: 'root' | 'relative' | 'none' | 'seen' | 'extract-to-root';
10
10
  basePath: string[];
11
11
  effectStrategy: 'input' | 'any';
12
12
  pipeStrategy: 'input' | 'output' | 'all';
13
13
  dateStrategy: DateStrategy | DateStrategy[];
14
14
  mapStrategy: 'entries' | 'record';
15
15
  removeAdditionalStrategy: 'passthrough' | 'strict';
16
+ nullableStrategy: 'from-target' | 'property';
16
17
  target: Target;
17
18
  strictUnions: boolean;
18
19
  definitionPath: string;
19
- definitions: Record<string, ZodSchema>;
20
+ definitions: Record<string, ZodSchema | ZodTypeDef>;
20
21
  errorMessages: boolean;
21
22
  markdownDescription: boolean;
22
23
  patternStrategy: 'escape' | 'preserve';
@@ -1 +1 @@
1
- {"version":3,"file":"Options.d.ts","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErF,eAAO,MAAM,cAAc,eAA8D,CAAC;AAE1F,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,OAAO,GAAG,aAAa,IAAI;IAC5D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,OAAO,GAAG,KAAK,CAAC;IAChC,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzC,YAAY,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC5C,WAAW,EAAE,SAAS,GAAG,QAAQ,CAAC;IAClC,wBAAwB,EAAE,aAAa,GAAG,QAAQ,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,QAAQ,GAAG,UAAU,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,cAAc,GAAG,kBAAkB,GAAG,aAAa,CAAC;IACnE,cAAc,EAAE,eAAe,GAAG,wBAAwB,GAAG,aAAa,CAAC;IAC3E,YAAY,EAAE,KAAK,GAAG,eAAe,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,EAAE,CACT,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,eAAe,CAAC,EAAE,OAAO,KACtB,eAAe,GAAG,SAAS,GAAG,OAAO,cAAc,CAAC;IACzD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAoB5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,qGAWL,CAAC"}
1
+ {"version":3,"file":"Options.d.ts","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErF,eAAO,MAAM,cAAc,eAA8D,CAAC;AAE1F,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,OAAO,GAAG,aAAa,IAAI;IAC5D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,OAAO,GAAG,KAAK,CAAC;IAChC,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzC,YAAY,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC5C,WAAW,EAAE,SAAS,GAAG,QAAQ,CAAC;IAClC,wBAAwB,EAAE,aAAa,GAAG,QAAQ,CAAC;IACnD,gBAAgB,EAAE,aAAa,GAAG,UAAU,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;IACpD,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,QAAQ,GAAG,UAAU,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,cAAc,GAAG,kBAAkB,GAAG,aAAa,CAAC;IACnE,cAAc,EAAE,eAAe,GAAG,wBAAwB,GAAG,aAAa,CAAC;IAC3E,YAAY,EAAE,KAAK,GAAG,eAAe,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,EAAE,CACT,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,eAAe,CAAC,EAAE,OAAO,KACtB,eAAe,GAAG,SAAS,GAAG,OAAO,cAAc,CAAC;IACzD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAqB5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,qGAWL,CAAC"}
@@ -10,6 +10,7 @@ exports.defaultOptions = {
10
10
  pipeStrategy: 'all',
11
11
  dateStrategy: 'format:date-time',
12
12
  mapStrategy: 'entries',
13
+ nullableStrategy: 'from-target',
13
14
  removeAdditionalStrategy: 'passthrough',
14
15
  definitionPath: 'definitions',
15
16
  target: 'jsonSchema7',
@@ -1 +1 @@
1
- {"version":3,"file":"Options.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Options.ts"],"names":[],"mappings":";;;AAQa,QAAA,cAAc,GAAG,MAAM,CAAC,mDAAmD,CAAC,CAAC;AA+B7E,QAAA,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,SAAS;IACtB,wBAAwB,EAAE,aAAa;IACvC,cAAc,EAAE,aAAa;IAC7B,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,KAAK;CACpB,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,OAAsD,EACtD,EAAE,CACF,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC5B;QACE,GAAG,sBAAc;QACjB,IAAI,EAAE,OAAO;KACd;IACH,CAAC,CAAC;QACE,GAAG,sBAAc;QACjB,GAAG,OAAO;KACX,CAAoB,CAAC;AAXb,QAAA,iBAAiB,qBAWJ"}
1
+ {"version":3,"file":"Options.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Options.ts"],"names":[],"mappings":";;;AAQa,QAAA,cAAc,GAAG,MAAM,CAAC,mDAAmD,CAAC,CAAC;AAgC7E,QAAA,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,aAAa;IAC/B,wBAAwB,EAAE,aAAa;IACvC,cAAc,EAAE,aAAa;IAC7B,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,KAAK;CACpB,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,OAAsD,EACtD,EAAE,CACF,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC5B;QACE,GAAG,sBAAc;QACjB,IAAI,EAAE,OAAO;KACd;IACH,CAAC,CAAC;QACE,GAAG,sBAAc;QACjB,GAAG,OAAO;KACX,CAAoB,CAAC;AAXb,QAAA,iBAAiB,qBAWJ"}
@@ -7,6 +7,7 @@ export const defaultOptions = {
7
7
  pipeStrategy: 'all',
8
8
  dateStrategy: 'format:date-time',
9
9
  mapStrategy: 'entries',
10
+ nullableStrategy: 'from-target',
10
11
  removeAdditionalStrategy: 'passthrough',
11
12
  definitionPath: 'definitions',
12
13
  target: 'jsonSchema7',
@@ -1 +1 @@
1
- {"version":3,"file":"Options.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Options.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mDAAmD,CAAC,CAAC;AA+B1F,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,SAAS;IACtB,wBAAwB,EAAE,aAAa;IACvC,cAAc,EAAE,aAAa;IAC7B,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAsD,EACtD,EAAE,CACF,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC5B;QACE,GAAG,cAAc;QACjB,IAAI,EAAE,OAAO;KACd;IACH,CAAC,CAAC;QACE,GAAG,cAAc;QACjB,GAAG,OAAO;KACX,CAAoB,CAAC"}
1
+ {"version":3,"file":"Options.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Options.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mDAAmD,CAAC,CAAC;AAgC1F,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,aAAa;IAC/B,wBAAwB,EAAE,aAAa;IACvC,cAAc,EAAE,aAAa;IAC7B,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAsD,EACtD,EAAE,CACF,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC5B;QACE,GAAG,cAAc;QACjB,IAAI,EAAE,OAAO;KACd;IACH,CAAC,CAAC;QACE,GAAG,cAAc;QACjB,GAAG,OAAO;KACX,CAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ZodTypeDef } from 'zod';
1
+ import type { ZodTypeDef } from 'zod';
2
2
  import { Options, Targets } from "./Options.js";
3
3
  import { JsonSchema7Type } from "./parseDef.js";
4
4
  export type Refs = {
@@ -1 +1 @@
1
- {"version":3,"file":"Refs.d.ts","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAqB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAErB,MAAM,MAAM,IAAI,GAAG;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,OAAO,aAAc,MAAM,GAAG,QAAQ,QAAQ,OAAO,CAAC,CAAC,KAAG,IAuBtE,CAAC"}
1
+ {"version":3,"file":"Refs.d.ts","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAqB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAErB,MAAM,MAAM,IAAI,GAAG;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,OAAO,aAAc,MAAM,GAAG,QAAQ,QAAQ,OAAO,CAAC,CAAC,KAAG,IAuBtE,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRefs = void 0;
4
4
  const Options_1 = require("./Options.js");
5
+ const util_1 = require("./util.js");
5
6
  const getRefs = (options) => {
6
7
  const _options = (0, Options_1.getDefaultOptions)(options);
7
8
  const currentPath = _options.name !== undefined ?
@@ -13,9 +14,9 @@ const getRefs = (options) => {
13
14
  propertyPath: undefined,
14
15
  seenRefs: new Set(),
15
16
  seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [
16
- def._def,
17
+ (0, util_1.zodDef)(def),
17
18
  {
18
- def: def._def,
19
+ def: (0, util_1.zodDef)(def),
19
20
  path: [..._options.basePath, _options.definitionPath, name],
20
21
  // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.
21
22
  jsonSchema: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Refs.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Refs.ts"],"names":[],"mappings":";;;AACA,0CAAgE;AAqBzD,MAAM,OAAO,GAAG,CAAC,OAA4C,EAAQ,EAAE;IAC5E,MAAM,QAAQ,GAAG,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GACf,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3B,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;QAChE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtB,OAAO;QACL,GAAG,QAAQ;QACX,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,IAAI,EAAE,IAAI,GAAG,CACX,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC3D,kHAAkH;gBAClH,UAAU,EAAE,SAAS;aACtB;SACF,CAAC,CACH;KACF,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,OAAO,WAuBlB"}
1
+ {"version":3,"file":"Refs.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Refs.ts"],"names":[],"mappings":";;;AACA,0CAAgE;AAEhE,oCAAgC;AAoBzB,MAAM,OAAO,GAAG,CAAC,OAA4C,EAAQ,EAAE;IAC5E,MAAM,QAAQ,GAAG,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GACf,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3B,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;QAChE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtB,OAAO;QACL,GAAG,QAAQ;QACX,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,IAAI,EAAE,IAAI,GAAG,CACX,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YACxD,IAAA,aAAM,EAAC,GAAG,CAAC;YACX;gBACE,GAAG,EAAE,IAAA,aAAM,EAAC,GAAG,CAAC;gBAChB,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC3D,kHAAkH;gBAClH,UAAU,EAAE,SAAS;aACtB;SACF,CAAC,CACH;KACF,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,OAAO,WAuBlB"}
@@ -1,4 +1,5 @@
1
1
  import { getDefaultOptions } from "./Options.mjs";
2
+ import { zodDef } from "./util.mjs";
2
3
  export const getRefs = (options) => {
3
4
  const _options = getDefaultOptions(options);
4
5
  const currentPath = _options.name !== undefined ?
@@ -10,9 +11,9 @@ export const getRefs = (options) => {
10
11
  propertyPath: undefined,
11
12
  seenRefs: new Set(),
12
13
  seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [
13
- def._def,
14
+ zodDef(def),
14
15
  {
15
- def: def._def,
16
+ def: zodDef(def),
16
17
  path: [..._options.basePath, _options.definitionPath, name],
17
18
  // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.
18
19
  jsonSchema: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Refs.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Refs.ts"],"names":[],"mappings":"OACO,EAAE,iBAAiB,EAAoB;AAqB9C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAA4C,EAAQ,EAAE;IAC5E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GACf,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3B,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;QAChE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtB,OAAO;QACL,GAAG,QAAQ;QACX,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,IAAI,EAAE,IAAI,GAAG,CACX,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC3D,kHAAkH;gBAClH,UAAU,EAAE,SAAS;aACtB;SACF,CAAC,CACH;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Refs.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/Refs.ts"],"names":[],"mappings":"OACO,EAAE,iBAAiB,EAAoB;OAEvC,EAAE,MAAM,EAAE;AAoBjB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAA4C,EAAQ,EAAE;IAC5E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GACf,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC3B,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;QAChE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtB,OAAO;QACL,GAAG,QAAQ;QACX,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,IAAI,EAAE,IAAI,GAAG,CACX,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,CAAC;YACX;gBACE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;gBAChB,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC3D,kHAAkH;gBAClH,UAAU,EAAE,SAAS;aACtB;SACF,CAAC,CACH;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -64,6 +64,22 @@ const get$ref = (item, refs) => {
64
64
  switch (refs.$refStrategy) {
65
65
  case 'root':
66
66
  return { $ref: item.path.join('/') };
67
+ // this case is needed as OpenAI strict mode doesn't support top-level `$ref`s, i.e.
68
+ // the top-level schema *must* be `{"type": "object", "properties": {...}}` but if we ever
69
+ // need to define a `$ref`, relative `$ref`s aren't supported, so we need to extract
70
+ // the schema to `#/definitions/` and reference that.
71
+ //
72
+ // e.g. if we need to reference a schema at
73
+ // `["#","definitions","contactPerson","properties","person1","properties","name"]`
74
+ // then we'll extract it out to `contactPerson_properties_person1_properties_name`
75
+ case 'extract-to-root':
76
+ const name = item.path.slice(refs.basePath.length + 1).join('_');
77
+ // we don't need to extract the root schema in this case, as it's already
78
+ // been added to the definitions
79
+ if (name !== refs.name && refs.nameStrategy === 'duplicate-ref') {
80
+ refs.definitions[name] = item.def;
81
+ }
82
+ return { $ref: [...refs.basePath, refs.definitionPath, name].join('/') };
67
83
  case 'relative':
68
84
  return { $ref: getRelativePath(refs.currentPath, item.path) };
69
85
  case 'none':
@@ -1 +1 @@
1
- {"version":3,"file":"parseDef.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/parseDef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseDef.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/parseDef.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,22 @@ const get$ref = (item, refs) => {
60
60
  switch (refs.$refStrategy) {
61
61
  case 'root':
62
62
  return { $ref: item.path.join('/') };
63
+ // this case is needed as OpenAI strict mode doesn't support top-level `$ref`s, i.e.
64
+ // the top-level schema *must* be `{"type": "object", "properties": {...}}` but if we ever
65
+ // need to define a `$ref`, relative `$ref`s aren't supported, so we need to extract
66
+ // the schema to `#/definitions/` and reference that.
67
+ //
68
+ // e.g. if we need to reference a schema at
69
+ // `["#","definitions","contactPerson","properties","person1","properties","name"]`
70
+ // then we'll extract it out to `contactPerson_properties_person1_properties_name`
71
+ case 'extract-to-root':
72
+ const name = item.path.slice(refs.basePath.length + 1).join('_');
73
+ // we don't need to extract the root schema in this case, as it's already
74
+ // been added to the definitions
75
+ if (name !== refs.name && refs.nameStrategy === 'duplicate-ref') {
76
+ refs.definitions[name] = item.def;
77
+ }
78
+ return { $ref: [...refs.basePath, refs.definitionPath, name].join('/') };
63
79
  case 'relative':
64
80
  return { $ref: getRelativePath(refs.currentPath, item.path) };
65
81
  case 'none':
@@ -1 +1 @@
1
- {"version":3,"file":"parseDef.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/parseDef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseDef.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/parseDef.ts"],"names":[],"mappings":"OAAO,EAAE,qBAAqB,EAAc,MAAM,KAAK;OAChD,EAAsB,WAAW,EAAE;OACnC,EAAwB,aAAa,EAAE;OACvC,EAAyB,cAAc,EAAE;OACzC,EAA0B,eAAe,EAAE;OAC3C,EAAE,eAAe,EAAE;OACnB,EAAE,aAAa,EAAE;OACjB,EAAuB,YAAY,EAAE;OACrC,EAAE,eAAe,EAAE;OACnB,EAAE,eAAe,EAAE;OACnB,EAAuB,YAAY,EAAE;OACrC,EAAwB,oBAAoB,EAAE;OAC9C,EAA0B,eAAe,EAAE;OAC3C,EAAsB,WAAW,EAAE;OACnC,EAA6B,kBAAkB,EAAE;OACjD,EAAwB,aAAa,EAAE;OACvC,EAAuB,YAAY,EAAE;OACrC,EAA2B,gBAAgB,EAAE;OAC7C,EAAyB,cAAc,EAAE;OACzC,EAAyB,cAAc,EAAE;OACzC,EAAE,gBAAgB,EAAE;OACpB,EAAE,gBAAgB,EAAE;OACpB,EAAE,eAAe,EAAE;OACnB,EAAyB,cAAc,EAAE;OACzC,EAAsB,WAAW,EAAE;OACnC,EAAyB,cAAc,EAAE;OACzC,EAAwB,aAAa,EAAE;OACvC,EAA4B,iBAAiB,EAAE;OAC/C,EAAwB,aAAa,EAAE;OACvC,EAA0B,eAAe,EAAE;OAE3C,EAAE,gBAAgB,EAAE;OACpB,EAAE,cAAc,EAAE;AAsCzB,MAAM,UAAU,QAAQ,CACtB,GAAe,EACf,IAAU,EACV,eAAe,GAAG,KAAK;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAE7E,IAAI,cAAc,KAAK,cAAc,EAAE;YACrC,OAAO,cAAc,CAAC;SACvB;KACF;IAED,IAAI,QAAQ,IAAI,CAAC,eAAe,EAAE;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE3C,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,IAAI,MAAM,IAAI,UAAU,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACpC;YAED,OAAO,UAAU,CAAC;SACnB;KACF;IAED,MAAM,OAAO,GAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAE7E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAG,GAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,UAAU,EAAE;QACd,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;KAChC;IAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,OAAO,GAAG,CACd,IAAU,EACV,IAAU,EAME,EAAE;IACd,QAAQ,IAAI,CAAC,YAAY,EAAE;QACzB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,oFAAoF;QACpF,0FAA0F;QAC1F,oFAAoF;QACpF,qDAAqD;QACrD,EAAE;QACF,2CAA2C;QAC3C,mFAAmF;QACnF,kFAAkF;QAClF,KAAK,iBAAiB;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjE,yEAAyE;YACzE,gCAAgC;YAChC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,eAAe,EAAE;gBAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aACnC;YAED,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3E,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC;YACX,IACE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;gBAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,EACpE;gBACA,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAEjG,OAAO,EAAE,CAAC;aACX;YAED,OAAO,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACtD;KACF;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAe,EAAE,KAAe,EAAE,EAAE;IAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM;KAClC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,QAA+B,EAAE,IAAU,EAA+B,EAAE;IAC1G,QAAQ,QAAQ,EAAE;QAChB,KAAK,qBAAqB,CAAC,SAAS;YAClC,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,KAAK,qBAAqB,CAAC,SAAS;YAClC,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,KAAK,qBAAqB,CAAC,SAAS;YAClC,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,KAAK,qBAAqB,CAAC,SAAS;YAClC,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,KAAK,qBAAqB,CAAC,UAAU;YACnC,OAAO,eAAe,EAAE,CAAC;QAC3B,KAAK,qBAAqB,CAAC,OAAO;YAChC,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,KAAK,qBAAqB,CAAC,YAAY;YACrC,OAAO,iBAAiB,EAAE,CAAC;QAC7B,KAAK,qBAAqB,CAAC,OAAO;YAChC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,qBAAqB,CAAC,QAAQ;YACjC,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,KAAK,qBAAqB,CAAC,QAAQ,CAAC;QACpC,KAAK,qBAAqB,CAAC,qBAAqB;YAC9C,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,KAAK,qBAAqB,CAAC,eAAe;YACxC,OAAO,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,KAAK,qBAAqB,CAAC,QAAQ;YACjC,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,KAAK,qBAAqB,CAAC,SAAS;YAClC,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,KAAK,qBAAqB,CAAC,UAAU;YACnC,OAAO,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,qBAAqB,CAAC,OAAO;YAChC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,qBAAqB,CAAC,aAAa;YACtC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACjC,KAAK,qBAAqB,CAAC,WAAW;YACpC,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,qBAAqB,CAAC,WAAW;YACpC,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,qBAAqB,CAAC,MAAM;YAC/B,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,KAAK,qBAAqB,CAAC,MAAM;YAC/B,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,KAAK,qBAAqB,CAAC,OAAO;YAChC,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,KAAK,qBAAqB,CAAC,UAAU;YACnC,OAAO,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,qBAAqB,CAAC,MAAM,CAAC;QAClC,KAAK,qBAAqB,CAAC,QAAQ;YACjC,OAAO,aAAa,EAAE,CAAC;QACzB,KAAK,qBAAqB,CAAC,UAAU;YACnC,OAAO,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,qBAAqB,CAAC,MAAM;YAC/B,OAAO,WAAW,EAAE,CAAC;QACvB,KAAK,qBAAqB,CAAC,UAAU;YACnC,OAAO,eAAe,EAAE,CAAC;QAC3B,KAAK,qBAAqB,CAAC,UAAU;YACnC,OAAO,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,qBAAqB,CAAC,UAAU;YACnC,OAAO,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,qBAAqB,CAAC,WAAW;YACpC,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,qBAAqB,CAAC,QAAQ;YACjC,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,KAAK,qBAAqB,CAAC,WAAW;YACpC,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,qBAAqB,CAAC,WAAW,CAAC;QACvC,KAAK,qBAAqB,CAAC,OAAO,CAAC;QACnC,KAAK,qBAAqB,CAAC,SAAS;YAClC,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;KAC9C;AACH,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,GAAe,EAAE,IAAU,EAAE,UAA2B,EAAmB,EAAE;IAC5F,IAAI,GAAG,CAAC,WAAW,EAAE;QACnB,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAEzC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,UAAU,CAAC,mBAAmB,GAAG,GAAG,CAAC,WAAW,CAAC;SAClD;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
@@ -6,7 +6,7 @@ const union_1 = require("./union.js");
6
6
  function parseNullableDef(def, refs) {
7
7
  if (['ZodString', 'ZodNumber', 'ZodBigInt', 'ZodBoolean', 'ZodNull'].includes(def.innerType._def.typeName) &&
8
8
  (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
9
- if (refs.target === 'openApi3') {
9
+ if (refs.target === 'openApi3' || refs.nullableStrategy === 'property') {
10
10
  return {
11
11
  type: union_1.primitiveMappings[def.innerType._def.typeName],
12
12
  nullable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../src/_vendor/zod-to-json-schema/parsers/nullable.ts"],"names":[],"mappings":";;;AACA,6CAAwD;AAGxD,sCAA4C;AAU5C,SAAgB,gBAAgB,CAAC,GAAmB,EAAE,IAAU;IAC9D,IACE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACjE;QACA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,OAAO;gBACL,IAAI,EAAE,yBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC;gBACtF,QAAQ,EAAE,IAAI;aACR,CAAC;SACV;QAED,OAAO;YACL,IAAI,EAAE,CAAC,yBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC,EAAE,MAAM,CAAC;SACjG,CAAC;KACH;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YACxC,GAAG,IAAI;YACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAS,CAAC;QAE5E,OAAO,IAAI,IAAK,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAU,CAAC;KACrD;IAED,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;QACxC,GAAG,IAAI;QACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC;KACjD,CAAC,CAAC;IAEH,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAlCD,4CAkCC"}
1
+ {"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../src/_vendor/zod-to-json-schema/parsers/nullable.ts"],"names":[],"mappings":";;;AACA,6CAAwD;AAGxD,sCAA4C;AAU5C,SAAgB,gBAAgB,CAAC,GAAmB,EAAE,IAAU;IAC9D,IACE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACjE;QACA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;YACtE,OAAO;gBACL,IAAI,EAAE,yBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC;gBACtF,QAAQ,EAAE,IAAI;aACR,CAAC;SACV;QAED,OAAO;YACL,IAAI,EAAE,CAAC,yBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC,EAAE,MAAM,CAAC;SACjG,CAAC;KACH;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YACxC,GAAG,IAAI;YACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAS,CAAC;QAE5E,OAAO,IAAI,IAAK,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAU,CAAC;KACrD;IAED,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;QACxC,GAAG,IAAI;QACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC;KACjD,CAAC,CAAC;IAEH,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAlCD,4CAkCC"}
@@ -3,7 +3,7 @@ import { primitiveMappings } from "./union.mjs";
3
3
  export function parseNullableDef(def, refs) {
4
4
  if (['ZodString', 'ZodNumber', 'ZodBigInt', 'ZodBoolean', 'ZodNull'].includes(def.innerType._def.typeName) &&
5
5
  (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
6
- if (refs.target === 'openApi3') {
6
+ if (refs.target === 'openApi3' || refs.nullableStrategy === 'property') {
7
7
  return {
8
8
  type: primitiveMappings[def.innerType._def.typeName],
9
9
  nullable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"nullable.mjs","sourceRoot":"","sources":["../../../src/_vendor/zod-to-json-schema/parsers/nullable.ts"],"names":[],"mappings":"OACO,EAAmB,QAAQ,EAAE;OAG7B,EAAE,iBAAiB,EAAE;AAU5B,MAAM,UAAU,gBAAgB,CAAC,GAAmB,EAAE,IAAU;IAC9D,IACE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACjE;QACA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,OAAO;gBACL,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC;gBACtF,QAAQ,EAAE,IAAI;aACR,CAAC;SACV;QAED,OAAO;YACL,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC,EAAE,MAAM,CAAC;SACjG,CAAC;KACH;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YACxC,GAAG,IAAI;YACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAS,CAAC;QAE5E,OAAO,IAAI,IAAK,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAU,CAAC;KACrD;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;QACxC,GAAG,IAAI;QACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC;KACjD,CAAC,CAAC;IAEH,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"nullable.mjs","sourceRoot":"","sources":["../../../src/_vendor/zod-to-json-schema/parsers/nullable.ts"],"names":[],"mappings":"OACO,EAAmB,QAAQ,EAAE;OAG7B,EAAE,iBAAiB,EAAE;AAU5B,MAAM,UAAU,gBAAgB,CAAC,GAAmB,EAAE,IAAU;IAC9D,IACE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACjE;QACA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;YACtE,OAAO;gBACL,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC;gBACtF,QAAQ,EAAE,IAAI;aACR,CAAC;SACV;QAED,OAAO;YACL,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC,EAAE,MAAM,CAAC;SACjG,CAAC;KACH;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YACxC,GAAG,IAAI;YACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAS,CAAC;QAE5E,OAAO,IAAI,IAAK,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAU,CAAC;KACrD;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;QACxC,GAAG,IAAI;QACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC;KACjD,CAAC,CAAC;IAEH,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ZodSchema, ZodTypeDef } from 'zod';
2
+ export declare const zodDef: (zodSchema: ZodSchema | ZodTypeDef) => ZodTypeDef;
3
+ export declare function isEmptyObj(obj: Object | null | undefined): boolean;
4
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjD,eAAO,MAAM,MAAM,cAAe,SAAS,GAAG,UAAU,KAAG,UAE1D,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAIlE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEmptyObj = exports.zodDef = void 0;
4
+ const zodDef = (zodSchema) => {
5
+ return '_def' in zodSchema ? zodSchema._def : zodSchema;
6
+ };
7
+ exports.zodDef = zodDef;
8
+ function isEmptyObj(obj) {
9
+ if (!obj)
10
+ return true;
11
+ for (const _k in obj)
12
+ return false;
13
+ return true;
14
+ }
15
+ exports.isEmptyObj = isEmptyObj;
16
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/util.ts"],"names":[],"mappings":";;;AAEO,MAAM,MAAM,GAAG,CAAC,SAAiC,EAAc,EAAE;IACtE,OAAO,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB;AAEF,SAAgB,UAAU,CAAC,GAA8B;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,KAAK,MAAM,EAAE,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAJD,gCAIC"}
@@ -0,0 +1,11 @@
1
+ export const zodDef = (zodSchema) => {
2
+ return '_def' in zodSchema ? zodSchema._def : zodSchema;
3
+ };
4
+ export function isEmptyObj(obj) {
5
+ if (!obj)
6
+ return true;
7
+ for (const _k in obj)
8
+ return false;
9
+ return true;
10
+ }
11
+ //# sourceMappingURL=util.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAiC,EAAc,EAAE;IACtE,OAAO,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAA8B;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,KAAK,MAAM,EAAE,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zodToJsonSchema.d.ts","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/zodToJsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAY,MAAM,YAAY,CAAC;AAGvD,QAAA,MAAM,eAAe,mDACX,UAAU,GAAG,CAAC;cAGZ,MAAM;;;;CA+FjB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"zodToJsonSchema.d.ts","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/zodToJsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAY,MAAM,YAAY,CAAC;AAIvD,QAAA,MAAM,eAAe,mDACX,UAAU,GAAG,CAAC;cAGZ,MAAM;;;;CA6FjB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -3,17 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zodToJsonSchema = void 0;
4
4
  const parseDef_1 = require("./parseDef.js");
5
5
  const Refs_1 = require("./Refs.js");
6
+ const util_1 = require("./util.js");
6
7
  const zodToJsonSchema = (schema, options) => {
7
8
  const refs = (0, Refs_1.getRefs)(options);
8
- const definitions = typeof options === 'object' && options.definitions ?
9
- Object.entries(options.definitions).reduce((acc, [name, schema]) => ({
10
- ...acc,
11
- [name]: (0, parseDef_1.parseDef)(schema._def, {
12
- ...refs,
13
- currentPath: [...refs.basePath, refs.definitionPath, name],
14
- }, true) ?? {},
15
- }), {})
16
- : undefined;
17
9
  const name = typeof options === 'string' ? options
18
10
  : options?.nameStrategy === 'title' ? undefined
19
11
  : options?.name;
@@ -27,7 +19,15 @@ const zodToJsonSchema = (schema, options) => {
27
19
  if (title !== undefined) {
28
20
  main.title = title;
29
21
  }
30
- const rootRefPath = name ? [...refs.basePath, refs.definitionPath, name].join('/') : null;
22
+ const definitions = !(0, util_1.isEmptyObj)(refs.definitions) ?
23
+ Object.entries(refs.definitions).reduce((acc, [name, schema]) => ({
24
+ ...acc,
25
+ [name]: (0, parseDef_1.parseDef)((0, util_1.zodDef)(schema), {
26
+ ...refs,
27
+ currentPath: [...refs.basePath, refs.definitionPath, name],
28
+ }, true) ?? {},
29
+ }), {})
30
+ : undefined;
31
31
  const combined = name === undefined ?
32
32
  definitions ?
33
33
  {
@@ -38,13 +38,13 @@ const zodToJsonSchema = (schema, options) => {
38
38
  : refs.nameStrategy === 'duplicate-ref' ?
39
39
  {
40
40
  ...main,
41
- ...(definitions || refs.seenRefs.has(rootRefPath) ?
41
+ ...(definitions || refs.seenRefs.size ?
42
42
  {
43
43
  [refs.definitionPath]: {
44
44
  ...definitions,
45
45
  // only actually duplicate the schema definition if it was ever referenced
46
46
  // otherwise the duplication is completely pointless
47
- ...(refs.seenRefs.has(rootRefPath) ? { [name]: main } : undefined),
47
+ ...(refs.seenRefs.size ? { [name]: main } : undefined),
48
48
  },
49
49
  }
50
50
  : undefined),
@@ -1 +1 @@
1
- {"version":3,"file":"zodToJsonSchema.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/zodToJsonSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zodToJsonSchema.js","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/zodToJsonSchema.ts"],"names":[],"mappings":";;;AAEA,4CAAuD;AACvD,oCAAiC;AACjC,oCAA4C;AAE5C,MAAM,eAAe,GAAG,CACtB,MAAsB,EACtB,OAA2C,EAQ3C,EAAE;IACF,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO;QACrC,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS;YAC/C,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;IAElB,MAAM,IAAI,GACR,IAAA,mBAAQ,EACN,MAAM,CAAC,IAAI,EACX,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B;QACE,GAAG,IAAI;QACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;KAC3D,CACF,EACD,KAAK,CACN,IAAI,EAAE,CAAC;IAEV,MAAM,KAAK,GACT,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;IAED,MAAM,WAAW,GACf,CAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,GAAG,GAAG;YACN,CAAC,IAAI,CAAC,EACJ,IAAA,mBAAQ,EACN,IAAA,aAAM,EAAC,MAAM,CAAC,EACd;gBACE,GAAG,IAAI;gBACP,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;aAC3D,EACD,IAAI,CACL,IAAI,EAAE;SACV,CAAC,EACF,EAAE,CACH;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,QAAQ,GACZ,IAAI,KAAK,SAAS,CAAC,CAAC;QAClB,WAAW,CAAC,CAAC;YACX;gBACE,GAAG,IAAI;gBACP,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,WAAW;aACnC;YACH,CAAC,CAAC,IAAI;QACR,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,eAAe,CAAC,CAAC;YACvC;gBACE,GAAG,IAAI;gBACP,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrC;wBACE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;4BACrB,GAAG,WAAW;4BACd,0EAA0E;4BAC1E,oDAAoD;4BACpD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;yBACvD;qBACF;oBACH,CAAC,CAAC,SAAS,CAAC;aACb;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAChG,GAAG,CACJ;gBACD,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;oBACrB,GAAG,WAAW;oBACd,CAAC,IAAI,CAAC,EAAE,IAAI;iBACb;aACF,CAAC;IAEN,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;QACjC,QAAQ,CAAC,OAAO,GAAG,yCAAyC,CAAC;KAC9D;SAAM,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,EAAE;QAC9C,QAAQ,CAAC,OAAO,GAAG,+CAA+C,CAAC;KACpE;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEO,0CAAe"}
@@ -1,16 +1,8 @@
1
1
  import { parseDef } from "./parseDef.mjs";
2
2
  import { getRefs } from "./Refs.mjs";
3
+ import { zodDef, isEmptyObj } from "./util.mjs";
3
4
  const zodToJsonSchema = (schema, options) => {
4
5
  const refs = getRefs(options);
5
- const definitions = typeof options === 'object' && options.definitions ?
6
- Object.entries(options.definitions).reduce((acc, [name, schema]) => ({
7
- ...acc,
8
- [name]: parseDef(schema._def, {
9
- ...refs,
10
- currentPath: [...refs.basePath, refs.definitionPath, name],
11
- }, true) ?? {},
12
- }), {})
13
- : undefined;
14
6
  const name = typeof options === 'string' ? options
15
7
  : options?.nameStrategy === 'title' ? undefined
16
8
  : options?.name;
@@ -24,7 +16,15 @@ const zodToJsonSchema = (schema, options) => {
24
16
  if (title !== undefined) {
25
17
  main.title = title;
26
18
  }
27
- const rootRefPath = name ? [...refs.basePath, refs.definitionPath, name].join('/') : null;
19
+ const definitions = !isEmptyObj(refs.definitions) ?
20
+ Object.entries(refs.definitions).reduce((acc, [name, schema]) => ({
21
+ ...acc,
22
+ [name]: parseDef(zodDef(schema), {
23
+ ...refs,
24
+ currentPath: [...refs.basePath, refs.definitionPath, name],
25
+ }, true) ?? {},
26
+ }), {})
27
+ : undefined;
28
28
  const combined = name === undefined ?
29
29
  definitions ?
30
30
  {
@@ -35,13 +35,13 @@ const zodToJsonSchema = (schema, options) => {
35
35
  : refs.nameStrategy === 'duplicate-ref' ?
36
36
  {
37
37
  ...main,
38
- ...(definitions || refs.seenRefs.has(rootRefPath) ?
38
+ ...(definitions || refs.seenRefs.size ?
39
39
  {
40
40
  [refs.definitionPath]: {
41
41
  ...definitions,
42
42
  // only actually duplicate the schema definition if it was ever referenced
43
43
  // otherwise the duplication is completely pointless
44
- ...(refs.seenRefs.has(rootRefPath) ? { [name]: main } : undefined),
44
+ ...(refs.seenRefs.size ? { [name]: main } : undefined),
45
45
  },
46
46
  }
47
47
  : undefined),
@@ -1 +1 @@
1
- {"version":3,"file":"zodToJsonSchema.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/zodToJsonSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zodToJsonSchema.mjs","sourceRoot":"","sources":["../../src/_vendor/zod-to-json-schema/zodToJsonSchema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../src/helpers/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAWvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,CAAC,CAAC,OAAO,EAC1D,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,GACnE,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAahD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,GAAG,iBAAiB,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;CAClD,CAAC,CAiBD"}
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../src/helpers/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAavB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,CAAC,CAAC,OAAO,EAC1D,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,GACnE,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAahD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,GAAG,iBAAiB,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;CAClD,CAAC,CAiBD"}
package/helpers/zod.js CHANGED
@@ -8,6 +8,8 @@ function zodToJsonSchema(schema, options) {
8
8
  openaiStrictMode: true,
9
9
  name: options.name,
10
10
  nameStrategy: 'duplicate-ref',
11
+ $refStrategy: 'extract-to-root',
12
+ nullableStrategy: 'property',
11
13
  });
12
14
  }
13
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/helpers/zod.ts"],"names":[],"mappings":";;;AAEA,6CAKuB;AACvB,+EAAoF;AAEpF,SAAS,eAAe,CAAC,MAAiB,EAAE,OAAyB;IACnE,OAAO,IAAA,oCAAgB,EAAC,MAAM,EAAE;QAC9B,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,iBAAiB,CAC/B,SAAmB,EACnB,IAAY,EACZ,KAAoE;IAEpE,OAAO,IAAA,oCAA2B,EAChC;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,GAAG,KAAK;YACR,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;SAC7C;KACF,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAjBD,8CAiBC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAA+B,OAKzD;IAKC,wBAAwB;IACxB,OAAO,IAAA,0BAAiB,EACtB;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5E;KACF,EACD;QACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC7D,CACF,CAAC;AACJ,CAAC;AA1BD,kCA0BC"}
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/helpers/zod.ts"],"names":[],"mappings":";;;AAEA,6CAKuB;AACvB,+EAAoF;AAEpF,SAAS,eAAe,CAAC,MAAiB,EAAE,OAAyB;IACnE,OAAO,IAAA,oCAAgB,EAAC,MAAM,EAAE;QAC9B,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;QAC/B,gBAAgB,EAAE,UAAU;KAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,iBAAiB,CAC/B,SAAmB,EACnB,IAAY,EACZ,KAAoE;IAEpE,OAAO,IAAA,oCAA2B,EAChC;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,GAAG,KAAK;YACR,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;SAC7C;KACF,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAjBD,8CAiBC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAA+B,OAKzD;IAKC,wBAAwB;IACxB,OAAO,IAAA,0BAAiB,EACtB;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5E;KACF,EACD;QACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC7D,CACF,CAAC;AACJ,CAAC;AA1BD,kCA0BC"}
package/helpers/zod.mjs CHANGED
@@ -5,6 +5,8 @@ function zodToJsonSchema(schema, options) {
5
5
  openaiStrictMode: true,
6
6
  name: options.name,
7
7
  nameStrategy: 'duplicate-ref',
8
+ $refStrategy: 'extract-to-root',
9
+ nullableStrategy: 'property',
8
10
  });
9
11
  }
10
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zod.mjs","sourceRoot":"","sources":["../src/helpers/zod.ts"],"names":[],"mappings":"OAEO,EAGL,2BAA2B,EAC3B,iBAAiB,GAClB;OACM,EAAE,eAAe,IAAI,gBAAgB,EAAE;AAE9C,SAAS,eAAe,CAAC,MAAiB,EAAE,OAAyB;IACnE,OAAO,gBAAgB,CAAC,MAAM,EAAE;QAC9B,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAmB,EACnB,IAAY,EACZ,KAAoE;IAEpE,OAAO,2BAA2B,CAChC;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,GAAG,KAAK;YACR,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;SAC7C;KACF,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAA+B,OAKzD;IAKC,wBAAwB;IACxB,OAAO,iBAAiB,CACtB;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5E;KACF,EACD;QACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC7D,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"zod.mjs","sourceRoot":"","sources":["../src/helpers/zod.ts"],"names":[],"mappings":"OAEO,EAGL,2BAA2B,EAC3B,iBAAiB,GAClB;OACM,EAAE,eAAe,IAAI,gBAAgB,EAAE;AAE9C,SAAS,eAAe,CAAC,MAAiB,EAAE,OAAyB;IACnE,OAAO,gBAAgB,CAAC,MAAM,EAAE;QAC9B,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;QAC/B,gBAAgB,EAAE,UAAU;KAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAmB,EACnB,IAAY,EACZ,KAAoE;IAEpE,OAAO,2BAA2B,CAChC;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,GAAG,KAAK;YACR,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;SAC7C;KACF,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAA+B,OAKzD;IAKC,wBAAwB;IACxB,OAAO,iBAAiB,CACtB;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5E;KACF,EACD;QACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC7D,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openai",
3
- "version": "4.55.1",
3
+ "version": "4.55.2",
4
4
  "description": "The official TypeScript library for the OpenAI API",
5
5
  "author": "OpenAI <support@openai.com>",
6
6
  "types": "./index.d.ts",
@@ -10,17 +10,18 @@ export const ignoreOverride = Symbol('Let zodToJsonSchema decide on which parser
10
10
 
11
11
  export type Options<Target extends Targets = 'jsonSchema7'> = {
12
12
  name: string | undefined;
13
- $refStrategy: 'root' | 'relative' | 'none' | 'seen';
13
+ $refStrategy: 'root' | 'relative' | 'none' | 'seen' | 'extract-to-root';
14
14
  basePath: string[];
15
15
  effectStrategy: 'input' | 'any';
16
16
  pipeStrategy: 'input' | 'output' | 'all';
17
17
  dateStrategy: DateStrategy | DateStrategy[];
18
18
  mapStrategy: 'entries' | 'record';
19
19
  removeAdditionalStrategy: 'passthrough' | 'strict';
20
+ nullableStrategy: 'from-target' | 'property';
20
21
  target: Target;
21
22
  strictUnions: boolean;
22
23
  definitionPath: string;
23
- definitions: Record<string, ZodSchema>;
24
+ definitions: Record<string, ZodSchema | ZodTypeDef>;
24
25
  errorMessages: boolean;
25
26
  markdownDescription: boolean;
26
27
  patternStrategy: 'escape' | 'preserve';
@@ -45,6 +46,7 @@ export const defaultOptions: Options = {
45
46
  pipeStrategy: 'all',
46
47
  dateStrategy: 'format:date-time',
47
48
  mapStrategy: 'entries',
49
+ nullableStrategy: 'from-target',
48
50
  removeAdditionalStrategy: 'passthrough',
49
51
  definitionPath: 'definitions',
50
52
  target: 'jsonSchema7',
@@ -0,0 +1,3 @@
1
+ # Zod to Json Schema
2
+
3
+ Vendored version of https://github.com/StefanTerdell/zod-to-json-schema that has been updated to generate JSON Schemas that are compatible with OpenAI's [strict mode](https://platform.openai.com/docs/guides/structured-outputs/supported-schemas)
@@ -1,6 +1,7 @@
1
- import { ZodTypeDef } from 'zod';
1
+ import type { ZodTypeDef } from 'zod';
2
2
  import { getDefaultOptions, Options, Targets } from './Options';
3
3
  import { JsonSchema7Type } from './parseDef';
4
+ import { zodDef } from './util';
4
5
 
5
6
  export type Refs = {
6
7
  seen: Map<ZodTypeDef, Seen>;
@@ -33,9 +34,9 @@ export const getRefs = (options?: string | Partial<Options<Targets>>): Refs => {
33
34
  seenRefs: new Set(),
34
35
  seen: new Map(
35
36
  Object.entries(_options.definitions).map(([name, def]) => [
36
- def._def,
37
+ zodDef(def),
37
38
  {
38
- def: def._def,
39
+ def: zodDef(def),
39
40
  path: [..._options.basePath, _options.definitionPath, name],
40
41
  // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.
41
42
  jsonSchema: undefined,
@@ -122,6 +122,24 @@ const get$ref = (
122
122
  switch (refs.$refStrategy) {
123
123
  case 'root':
124
124
  return { $ref: item.path.join('/') };
125
+ // this case is needed as OpenAI strict mode doesn't support top-level `$ref`s, i.e.
126
+ // the top-level schema *must* be `{"type": "object", "properties": {...}}` but if we ever
127
+ // need to define a `$ref`, relative `$ref`s aren't supported, so we need to extract
128
+ // the schema to `#/definitions/` and reference that.
129
+ //
130
+ // e.g. if we need to reference a schema at
131
+ // `["#","definitions","contactPerson","properties","person1","properties","name"]`
132
+ // then we'll extract it out to `contactPerson_properties_person1_properties_name`
133
+ case 'extract-to-root':
134
+ const name = item.path.slice(refs.basePath.length + 1).join('_');
135
+
136
+ // we don't need to extract the root schema in this case, as it's already
137
+ // been added to the definitions
138
+ if (name !== refs.name && refs.nameStrategy === 'duplicate-ref') {
139
+ refs.definitions[name] = item.def;
140
+ }
141
+
142
+ return { $ref: [...refs.basePath, refs.definitionPath, name].join('/') };
125
143
  case 'relative':
126
144
  return { $ref: getRelativePath(refs.currentPath, item.path) };
127
145
  case 'none':
@@ -17,7 +17,7 @@ export function parseNullableDef(def: ZodNullableDef, refs: Refs): JsonSchema7Nu
17
17
  ['ZodString', 'ZodNumber', 'ZodBigInt', 'ZodBoolean', 'ZodNull'].includes(def.innerType._def.typeName) &&
18
18
  (!def.innerType._def.checks || !def.innerType._def.checks.length)
19
19
  ) {
20
- if (refs.target === 'openApi3') {
20
+ if (refs.target === 'openApi3' || refs.nullableStrategy === 'property') {
21
21
  return {
22
22
  type: primitiveMappings[def.innerType._def.typeName as keyof typeof primitiveMappings],
23
23
  nullable: true,
@@ -0,0 +1,11 @@
1
+ import type { ZodSchema, ZodTypeDef } from 'zod';
2
+
3
+ export const zodDef = (zodSchema: ZodSchema | ZodTypeDef): ZodTypeDef => {
4
+ return '_def' in zodSchema ? zodSchema._def : zodSchema;
5
+ };
6
+
7
+ export function isEmptyObj(obj: Object | null | undefined): boolean {
8
+ if (!obj) return true;
9
+ for (const _k in obj) return false;
10
+ return true;
11
+ }
@@ -2,6 +2,7 @@ import { ZodSchema } from 'zod';
2
2
  import { Options, Targets } from './Options';
3
3
  import { JsonSchema7Type, parseDef } from './parseDef';
4
4
  import { getRefs } from './Refs';
5
+ import { zodDef, isEmptyObj } from './util';
5
6
 
6
7
  const zodToJsonSchema = <Target extends Targets = 'jsonSchema7'>(
7
8
  schema: ZodSchema<any>,
@@ -16,25 +17,6 @@ const zodToJsonSchema = <Target extends Targets = 'jsonSchema7'>(
16
17
  } => {
17
18
  const refs = getRefs(options);
18
19
 
19
- const definitions =
20
- typeof options === 'object' && options.definitions ?
21
- Object.entries(options.definitions).reduce(
22
- (acc, [name, schema]) => ({
23
- ...acc,
24
- [name]:
25
- parseDef(
26
- schema._def,
27
- {
28
- ...refs,
29
- currentPath: [...refs.basePath, refs.definitionPath, name],
30
- },
31
- true,
32
- ) ?? {},
33
- }),
34
- {},
35
- )
36
- : undefined;
37
-
38
20
  const name =
39
21
  typeof options === 'string' ? options
40
22
  : options?.nameStrategy === 'title' ? undefined
@@ -61,7 +43,24 @@ const zodToJsonSchema = <Target extends Targets = 'jsonSchema7'>(
61
43
  main.title = title;
62
44
  }
63
45
 
64
- const rootRefPath = name ? [...refs.basePath, refs.definitionPath, name].join('/') : null;
46
+ const definitions =
47
+ !isEmptyObj(refs.definitions) ?
48
+ Object.entries(refs.definitions).reduce(
49
+ (acc, [name, schema]) => ({
50
+ ...acc,
51
+ [name]:
52
+ parseDef(
53
+ zodDef(schema),
54
+ {
55
+ ...refs,
56
+ currentPath: [...refs.basePath, refs.definitionPath, name],
57
+ },
58
+ true,
59
+ ) ?? {},
60
+ }),
61
+ {},
62
+ )
63
+ : undefined;
65
64
 
66
65
  const combined: ReturnType<typeof zodToJsonSchema<Target>> =
67
66
  name === undefined ?
@@ -74,13 +73,13 @@ const zodToJsonSchema = <Target extends Targets = 'jsonSchema7'>(
74
73
  : refs.nameStrategy === 'duplicate-ref' ?
75
74
  {
76
75
  ...main,
77
- ...(definitions || refs.seenRefs.has(rootRefPath!) ?
76
+ ...(definitions || refs.seenRefs.size ?
78
77
  {
79
78
  [refs.definitionPath]: {
80
79
  ...definitions,
81
80
  // only actually duplicate the schema definition if it was ever referenced
82
81
  // otherwise the duplication is completely pointless
83
- ...(refs.seenRefs.has(rootRefPath!) ? { [name]: main } : undefined),
82
+ ...(refs.seenRefs.size ? { [name]: main } : undefined),
84
83
  },
85
84
  }
86
85
  : undefined),
@@ -13,6 +13,8 @@ function zodToJsonSchema(schema: z.ZodType, options: { name: string }): Record<s
13
13
  openaiStrictMode: true,
14
14
  name: options.name,
15
15
  nameStrategy: 'duplicate-ref',
16
+ $refStrategy: 'extract-to-root',
17
+ nullableStrategy: 'property',
16
18
  });
17
19
  }
18
20
 
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '4.55.1'; // x-release-please-version
1
+ export const VERSION = '4.55.2'; // x-release-please-version
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "4.55.1";
1
+ export declare const VERSION = "4.55.2";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '4.55.1'; // x-release-please-version
4
+ exports.VERSION = '4.55.2'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '4.55.1'; // x-release-please-version
1
+ export const VERSION = '4.55.2'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map