openai 4.55.6 → 4.55.7

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.55.7 (2024-08-13)
4
+
5
+ Full Changelog: [v4.55.6...v4.55.7](https://github.com/openai/openai-node/compare/v4.55.6...v4.55.7)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **json-schema:** correct handling of nested recursive schemas ([#992](https://github.com/openai/openai-node/issues/992)) ([ac309ab](https://github.com/openai/openai-node/commit/ac309abee3419594f45680c7d0ab11e13ce28c5b))
10
+
3
11
  ## 4.55.6 (2024-08-13)
4
12
 
5
13
  Full Changelog: [v4.55.5...v4.55.6](https://github.com/openai/openai-node/compare/v4.55.5...v4.55.6)
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.6/mod.ts';
22
+ import OpenAI from 'https://deno.land/x/openai@v4.55.7/mod.ts';
23
23
  ```
24
24
 
25
25
  <!-- x-release-please-end -->
@@ -28,6 +28,5 @@ export type Options<Target extends Targets = 'jsonSchema7'> = {
28
28
  override?: (def: ZodTypeDef, refs: Refs, seen: Seen | undefined, forceResolution?: boolean) => JsonSchema7Type | undefined | typeof ignoreOverride;
29
29
  openaiStrictMode?: boolean;
30
30
  };
31
- export declare const defaultOptions: Options;
32
31
  export declare const getDefaultOptions: <Target extends Targets>(options: string | Partial<Options<Target>> | undefined) => Options<Target>;
33
32
  //# sourceMappingURL=Options.d.ts.map
@@ -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,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"}
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;AAuBF,eAAO,MAAM,iBAAiB,qGAkB7B,CAAC"}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultOptions = exports.defaultOptions = exports.ignoreOverride = void 0;
3
+ exports.getDefaultOptions = exports.ignoreOverride = void 0;
4
4
  exports.ignoreOverride = Symbol('Let zodToJsonSchema decide on which parser to use');
5
- exports.defaultOptions = {
5
+ const defaultOptions = {
6
6
  name: undefined,
7
7
  $refStrategy: 'root',
8
- basePath: ['#'],
9
8
  effectStrategy: 'input',
10
9
  pipeStrategy: 'all',
11
10
  dateStrategy: 'format:date-time',
@@ -15,7 +14,6 @@ exports.defaultOptions = {
15
14
  definitionPath: 'definitions',
16
15
  target: 'jsonSchema7',
17
16
  strictUnions: false,
18
- definitions: {},
19
17
  errorMessages: false,
20
18
  markdownDescription: false,
21
19
  patternStrategy: 'escape',
@@ -24,14 +22,21 @@ exports.defaultOptions = {
24
22
  base64Strategy: 'contentEncoding:base64',
25
23
  nameStrategy: 'ref',
26
24
  };
27
- const getDefaultOptions = (options) => (typeof options === 'string' ?
28
- {
29
- ...exports.defaultOptions,
30
- name: options,
31
- }
32
- : {
33
- ...exports.defaultOptions,
34
- ...options,
35
- });
25
+ const getDefaultOptions = (options) => {
26
+ // We need to add `definitions` here as we may mutate it
27
+ return (typeof options === 'string' ?
28
+ {
29
+ ...defaultOptions,
30
+ basePath: ['#'],
31
+ definitions: {},
32
+ name: options,
33
+ }
34
+ : {
35
+ ...defaultOptions,
36
+ basePath: ['#'],
37
+ definitions: {},
38
+ ...options,
39
+ });
40
+ };
36
41
  exports.getDefaultOptions = getDefaultOptions;
37
42
  //# sourceMappingURL=Options.js.map
@@ -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;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"}
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;AAgC1F,MAAM,cAAc,GAA8C;IAChE,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,MAAM;IACpB,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,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;IACF,wDAAwD;IACxD,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;QAC3B;YACE,GAAG,cAAc;YACjB,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd;QACH,CAAC,CAAC;YACE,GAAG,cAAc;YACjB,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,WAAW,EAAE,EAAE;YACf,GAAG,OAAO;SACX,CAAoB,CAAC;AAC5B,CAAC,CAAC;AAlBW,QAAA,iBAAiB,qBAkB5B"}
@@ -1,8 +1,7 @@
1
1
  export const ignoreOverride = Symbol('Let zodToJsonSchema decide on which parser to use');
2
- export const defaultOptions = {
2
+ const defaultOptions = {
3
3
  name: undefined,
4
4
  $refStrategy: 'root',
5
- basePath: ['#'],
6
5
  effectStrategy: 'input',
7
6
  pipeStrategy: 'all',
8
7
  dateStrategy: 'format:date-time',
@@ -12,7 +11,6 @@ export const defaultOptions = {
12
11
  definitionPath: 'definitions',
13
12
  target: 'jsonSchema7',
14
13
  strictUnions: false,
15
- definitions: {},
16
14
  errorMessages: false,
17
15
  markdownDescription: false,
18
16
  patternStrategy: 'escape',
@@ -21,13 +19,20 @@ export const defaultOptions = {
21
19
  base64Strategy: 'contentEncoding:base64',
22
20
  nameStrategy: 'ref',
23
21
  };
24
- export const getDefaultOptions = (options) => (typeof options === 'string' ?
25
- {
26
- ...defaultOptions,
27
- name: options,
28
- }
29
- : {
30
- ...defaultOptions,
31
- ...options,
32
- });
22
+ export const getDefaultOptions = (options) => {
23
+ // We need to add `definitions` here as we may mutate it
24
+ return (typeof options === 'string' ?
25
+ {
26
+ ...defaultOptions,
27
+ basePath: ['#'],
28
+ definitions: {},
29
+ name: options,
30
+ }
31
+ : {
32
+ ...defaultOptions,
33
+ basePath: ['#'],
34
+ definitions: {},
35
+ ...options,
36
+ });
37
+ };
33
38
  //# sourceMappingURL=Options.mjs.map
@@ -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;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
+ {"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,GAA8C;IAChE,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,MAAM;IACpB,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,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;IACF,wDAAwD;IACxD,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;QAC3B;YACE,GAAG,cAAc;YACjB,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd;QACH,CAAC,CAAC;YACE,GAAG,cAAc;YACjB,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,WAAW,EAAE,EAAE;YACf,GAAG,OAAO;SACX,CAAoB,CAAC;AAC5B,CAAC,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;AAIvD,QAAA,MAAM,eAAe,mDACX,UAAU,GAAG,CAAC;cAGZ,MAAM;;;;CA6FjB,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;;;;CA2GjB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -24,9 +24,21 @@ const zodToJsonSchema = (schema, options) => {
24
24
  return undefined;
25
25
  }
26
26
  const definitions = {};
27
- for (const [name, zodSchema] of Object.entries(refs.definitions)) {
28
- definitions[name] =
29
- (0, parseDef_1.parseDef)((0, util_1.zodDef)(zodSchema), { ...refs, currentPath: [...refs.basePath, refs.definitionPath, name] }, true) ?? {};
27
+ const processedDefinitions = new Set();
28
+ // the call to `parseDef()` here might itself add more entries to `.definitions`
29
+ // so we need to continually evaluate definitions until we've resolved all of them
30
+ //
31
+ // we have a generous iteration limit here to avoid blowing up the stack if there
32
+ // are any bugs that would otherwise result in us iterating indefinitely
33
+ for (let i = 0; i < 500; i++) {
34
+ const newDefinitions = Object.entries(refs.definitions).filter(([key]) => !processedDefinitions.has(key));
35
+ if (newDefinitions.length === 0)
36
+ break;
37
+ for (const [key, schema] of newDefinitions) {
38
+ definitions[key] =
39
+ (0, parseDef_1.parseDef)((0, util_1.zodDef)(schema), { ...refs, currentPath: [...refs.basePath, refs.definitionPath, key] }, true) ?? {};
40
+ processedDefinitions.add(key);
41
+ }
30
42
  }
31
43
  return definitions;
32
44
  })();
@@ -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":"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"}
@@ -21,9 +21,21 @@ const zodToJsonSchema = (schema, options) => {
21
21
  return undefined;
22
22
  }
23
23
  const definitions = {};
24
- for (const [name, zodSchema] of Object.entries(refs.definitions)) {
25
- definitions[name] =
26
- parseDef(zodDef(zodSchema), { ...refs, currentPath: [...refs.basePath, refs.definitionPath, name] }, true) ?? {};
24
+ const processedDefinitions = new Set();
25
+ // the call to `parseDef()` here might itself add more entries to `.definitions`
26
+ // so we need to continually evaluate definitions until we've resolved all of them
27
+ //
28
+ // we have a generous iteration limit here to avoid blowing up the stack if there
29
+ // are any bugs that would otherwise result in us iterating indefinitely
30
+ for (let i = 0; i < 500; i++) {
31
+ const newDefinitions = Object.entries(refs.definitions).filter(([key]) => !processedDefinitions.has(key));
32
+ if (newDefinitions.length === 0)
33
+ break;
34
+ for (const [key, schema] of newDefinitions) {
35
+ definitions[key] =
36
+ parseDef(zodDef(schema), { ...refs, currentPath: [...refs.basePath, refs.definitionPath, key] }, true) ?? {};
37
+ processedDefinitions.add(key);
38
+ }
27
39
  }
28
40
  return definitions;
29
41
  })();
@@ -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":"OAEO,EAAmB,QAAQ,EAAE;OAC7B,EAAE,OAAO,EAAE;OACX,EAAE,MAAM,EAAE,UAAU,EAAE;AAE7B,MAAM,eAAe,GAAG,CACtB,MAAsB,EACtB,OAA2C,EAQ3C,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,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,QAAQ,CACN,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,GAAG,CAAC,GAAG,EAAE;QACxB,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;QAEvC,gFAAgF;QAChF,kFAAkF;QAClF,EAAE;QACF,iFAAiF;QACjF,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAC1C,CAAC;YACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE;gBAC1C,WAAW,CAAC,GAAG,CAAC;oBACd,QAAQ,CACN,MAAM,CAAC,MAAM,CAAC,EACd,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,EACtE,IAAI,CACL,IAAI,EAAE,CAAC;gBACV,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC/B;SACF;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,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;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openai",
3
- "version": "4.55.6",
3
+ "version": "4.55.7",
4
4
  "description": "The official TypeScript library for the OpenAI API",
5
5
  "author": "OpenAI <support@openai.com>",
6
6
  "types": "./index.d.ts",
@@ -38,10 +38,9 @@ export type Options<Target extends Targets = 'jsonSchema7'> = {
38
38
  openaiStrictMode?: boolean;
39
39
  };
40
40
 
41
- export const defaultOptions: Options = {
41
+ const defaultOptions: Omit<Options, 'definitions' | 'basePath'> = {
42
42
  name: undefined,
43
43
  $refStrategy: 'root',
44
- basePath: ['#'],
45
44
  effectStrategy: 'input',
46
45
  pipeStrategy: 'all',
47
46
  dateStrategy: 'format:date-time',
@@ -51,7 +50,6 @@ export const defaultOptions: Options = {
51
50
  definitionPath: 'definitions',
52
51
  target: 'jsonSchema7',
53
52
  strictUnions: false,
54
- definitions: {},
55
53
  errorMessages: false,
56
54
  markdownDescription: false,
57
55
  patternStrategy: 'escape',
@@ -63,13 +61,20 @@ export const defaultOptions: Options = {
63
61
 
64
62
  export const getDefaultOptions = <Target extends Targets>(
65
63
  options: Partial<Options<Target>> | string | undefined,
66
- ) =>
67
- (typeof options === 'string' ?
68
- {
69
- ...defaultOptions,
70
- name: options,
71
- }
72
- : {
73
- ...defaultOptions,
74
- ...options,
75
- }) as Options<Target>;
64
+ ) => {
65
+ // We need to add `definitions` here as we may mutate it
66
+ return (
67
+ typeof options === 'string' ?
68
+ {
69
+ ...defaultOptions,
70
+ basePath: ['#'],
71
+ definitions: {},
72
+ name: options,
73
+ }
74
+ : {
75
+ ...defaultOptions,
76
+ basePath: ['#'],
77
+ definitions: {},
78
+ ...options,
79
+ }) as Options<Target>;
80
+ };
@@ -49,14 +49,28 @@ const zodToJsonSchema = <Target extends Targets = 'jsonSchema7'>(
49
49
  }
50
50
 
51
51
  const definitions: Record<string, any> = {};
52
+ const processedDefinitions = new Set();
52
53
 
53
- for (const [name, zodSchema] of Object.entries(refs.definitions)) {
54
- definitions[name] =
55
- parseDef(
56
- zodDef(zodSchema),
57
- { ...refs, currentPath: [...refs.basePath, refs.definitionPath, name] },
58
- true,
59
- ) ?? {};
54
+ // the call to `parseDef()` here might itself add more entries to `.definitions`
55
+ // so we need to continually evaluate definitions until we've resolved all of them
56
+ //
57
+ // we have a generous iteration limit here to avoid blowing up the stack if there
58
+ // are any bugs that would otherwise result in us iterating indefinitely
59
+ for (let i = 0; i < 500; i++) {
60
+ const newDefinitions = Object.entries(refs.definitions).filter(
61
+ ([key]) => !processedDefinitions.has(key),
62
+ );
63
+ if (newDefinitions.length === 0) break;
64
+
65
+ for (const [key, schema] of newDefinitions) {
66
+ definitions[key] =
67
+ parseDef(
68
+ zodDef(schema),
69
+ { ...refs, currentPath: [...refs.basePath, refs.definitionPath, key] },
70
+ true,
71
+ ) ?? {};
72
+ processedDefinitions.add(key);
73
+ }
60
74
  }
61
75
 
62
76
  return definitions;
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '4.55.6'; // x-release-please-version
1
+ export const VERSION = '4.55.7'; // x-release-please-version
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "4.55.6";
1
+ export declare const VERSION = "4.55.7";
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.6'; // x-release-please-version
4
+ exports.VERSION = '4.55.7'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '4.55.6'; // x-release-please-version
1
+ export const VERSION = '4.55.7'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map