openai 4.53.2 → 4.55.0

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 (463) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +2 -2
  3. package/_vendor/partial-json-parser/parser.d.ts +3 -0
  4. package/_vendor/partial-json-parser/parser.d.ts.map +1 -0
  5. package/_vendor/partial-json-parser/parser.js +226 -0
  6. package/_vendor/partial-json-parser/parser.js.map +1 -0
  7. package/_vendor/partial-json-parser/parser.mjs +223 -0
  8. package/_vendor/partial-json-parser/parser.mjs.map +1 -0
  9. package/_vendor/zod-to-json-schema/Options.d.ts +32 -0
  10. package/_vendor/zod-to-json-schema/Options.d.ts.map +1 -0
  11. package/_vendor/zod-to-json-schema/Options.js +36 -0
  12. package/_vendor/zod-to-json-schema/Options.js.map +1 -0
  13. package/_vendor/zod-to-json-schema/Options.mjs +32 -0
  14. package/_vendor/zod-to-json-schema/Options.mjs.map +1 -0
  15. package/_vendor/zod-to-json-schema/Refs.d.ts +15 -0
  16. package/_vendor/zod-to-json-schema/Refs.d.ts.map +1 -0
  17. package/_vendor/zod-to-json-schema/Refs.js +26 -0
  18. package/_vendor/zod-to-json-schema/Refs.js.map +1 -0
  19. package/_vendor/zod-to-json-schema/Refs.mjs +22 -0
  20. package/_vendor/zod-to-json-schema/Refs.mjs.map +1 -0
  21. package/_vendor/zod-to-json-schema/errorMessages.d.ts +12 -0
  22. package/_vendor/zod-to-json-schema/errorMessages.d.ts.map +1 -0
  23. package/_vendor/zod-to-json-schema/errorMessages.js +20 -0
  24. package/_vendor/zod-to-json-schema/errorMessages.js.map +1 -0
  25. package/_vendor/zod-to-json-schema/errorMessages.mjs +15 -0
  26. package/_vendor/zod-to-json-schema/errorMessages.mjs.map +1 -0
  27. package/_vendor/zod-to-json-schema/index.d.ts +38 -0
  28. package/_vendor/zod-to-json-schema/index.d.ts.map +1 -0
  29. package/_vendor/zod-to-json-schema/index.js +54 -0
  30. package/_vendor/zod-to-json-schema/index.js.map +1 -0
  31. package/_vendor/zod-to-json-schema/index.mjs +38 -0
  32. package/_vendor/zod-to-json-schema/index.mjs.map +1 -0
  33. package/_vendor/zod-to-json-schema/parseDef.d.ts +38 -0
  34. package/_vendor/zod-to-json-schema/parseDef.d.ts.map +1 -0
  35. package/_vendor/zod-to-json-schema/parseDef.js +168 -0
  36. package/_vendor/zod-to-json-schema/parseDef.js.map +1 -0
  37. package/_vendor/zod-to-json-schema/parseDef.mjs +164 -0
  38. package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -0
  39. package/_vendor/zod-to-json-schema/parsers/any.d.ts +3 -0
  40. package/_vendor/zod-to-json-schema/parsers/any.d.ts.map +1 -0
  41. package/_vendor/zod-to-json-schema/parsers/any.js +8 -0
  42. package/_vendor/zod-to-json-schema/parsers/any.js.map +1 -0
  43. package/_vendor/zod-to-json-schema/parsers/any.mjs +4 -0
  44. package/_vendor/zod-to-json-schema/parsers/any.mjs.map +1 -0
  45. package/_vendor/zod-to-json-schema/parsers/array.d.ts +13 -0
  46. package/_vendor/zod-to-json-schema/parsers/array.d.ts.map +1 -0
  47. package/_vendor/zod-to-json-schema/parsers/array.js +30 -0
  48. package/_vendor/zod-to-json-schema/parsers/array.js.map +1 -0
  49. package/_vendor/zod-to-json-schema/parsers/array.mjs +26 -0
  50. package/_vendor/zod-to-json-schema/parsers/array.mjs.map +1 -0
  51. package/_vendor/zod-to-json-schema/parsers/bigint.d.ts +15 -0
  52. package/_vendor/zod-to-json-schema/parsers/bigint.d.ts.map +1 -0
  53. package/_vendor/zod-to-json-schema/parsers/bigint.js +54 -0
  54. package/_vendor/zod-to-json-schema/parsers/bigint.js.map +1 -0
  55. package/_vendor/zod-to-json-schema/parsers/bigint.mjs +50 -0
  56. package/_vendor/zod-to-json-schema/parsers/bigint.mjs.map +1 -0
  57. package/_vendor/zod-to-json-schema/parsers/boolean.d.ts +5 -0
  58. package/_vendor/zod-to-json-schema/parsers/boolean.d.ts.map +1 -0
  59. package/_vendor/zod-to-json-schema/parsers/boolean.js +10 -0
  60. package/_vendor/zod-to-json-schema/parsers/boolean.js.map +1 -0
  61. package/_vendor/zod-to-json-schema/parsers/boolean.mjs +6 -0
  62. package/_vendor/zod-to-json-schema/parsers/boolean.mjs.map +1 -0
  63. package/_vendor/zod-to-json-schema/parsers/branded.d.ts +4 -0
  64. package/_vendor/zod-to-json-schema/parsers/branded.d.ts.map +1 -0
  65. package/_vendor/zod-to-json-schema/parsers/branded.js +9 -0
  66. package/_vendor/zod-to-json-schema/parsers/branded.js.map +1 -0
  67. package/_vendor/zod-to-json-schema/parsers/branded.mjs +5 -0
  68. package/_vendor/zod-to-json-schema/parsers/branded.mjs.map +1 -0
  69. package/_vendor/zod-to-json-schema/parsers/catch.d.ts +4 -0
  70. package/_vendor/zod-to-json-schema/parsers/catch.d.ts.map +1 -0
  71. package/_vendor/zod-to-json-schema/parsers/catch.js +9 -0
  72. package/_vendor/zod-to-json-schema/parsers/catch.js.map +1 -0
  73. package/_vendor/zod-to-json-schema/parsers/catch.mjs +5 -0
  74. package/_vendor/zod-to-json-schema/parsers/catch.mjs.map +1 -0
  75. package/_vendor/zod-to-json-schema/parsers/date.d.ts +16 -0
  76. package/_vendor/zod-to-json-schema/parsers/date.d.ts.map +1 -0
  77. package/_vendor/zod-to-json-schema/parsers/date.js +51 -0
  78. package/_vendor/zod-to-json-schema/parsers/date.js.map +1 -0
  79. package/_vendor/zod-to-json-schema/parsers/date.mjs +47 -0
  80. package/_vendor/zod-to-json-schema/parsers/date.mjs.map +1 -0
  81. package/_vendor/zod-to-json-schema/parsers/default.d.ts +7 -0
  82. package/_vendor/zod-to-json-schema/parsers/default.d.ts.map +1 -0
  83. package/_vendor/zod-to-json-schema/parsers/default.js +12 -0
  84. package/_vendor/zod-to-json-schema/parsers/default.js.map +1 -0
  85. package/_vendor/zod-to-json-schema/parsers/default.mjs +8 -0
  86. package/_vendor/zod-to-json-schema/parsers/default.mjs.map +1 -0
  87. package/_vendor/zod-to-json-schema/parsers/effects.d.ts +5 -0
  88. package/_vendor/zod-to-json-schema/parsers/effects.d.ts.map +1 -0
  89. package/_vendor/zod-to-json-schema/parsers/effects.js +9 -0
  90. package/_vendor/zod-to-json-schema/parsers/effects.js.map +1 -0
  91. package/_vendor/zod-to-json-schema/parsers/effects.mjs +5 -0
  92. package/_vendor/zod-to-json-schema/parsers/effects.mjs.map +1 -0
  93. package/_vendor/zod-to-json-schema/parsers/enum.d.ts +7 -0
  94. package/_vendor/zod-to-json-schema/parsers/enum.d.ts.map +1 -0
  95. package/_vendor/zod-to-json-schema/parsers/enum.js +11 -0
  96. package/_vendor/zod-to-json-schema/parsers/enum.js.map +1 -0
  97. package/_vendor/zod-to-json-schema/parsers/enum.mjs +7 -0
  98. package/_vendor/zod-to-json-schema/parsers/enum.mjs.map +1 -0
  99. package/_vendor/zod-to-json-schema/parsers/intersection.d.ts +9 -0
  100. package/_vendor/zod-to-json-schema/parsers/intersection.d.ts.map +1 -0
  101. package/_vendor/zod-to-json-schema/parsers/intersection.js +54 -0
  102. package/_vendor/zod-to-json-schema/parsers/intersection.js.map +1 -0
  103. package/_vendor/zod-to-json-schema/parsers/intersection.mjs +50 -0
  104. package/_vendor/zod-to-json-schema/parsers/intersection.mjs.map +1 -0
  105. package/_vendor/zod-to-json-schema/parsers/literal.d.ts +10 -0
  106. package/_vendor/zod-to-json-schema/parsers/literal.d.ts.map +1 -0
  107. package/_vendor/zod-to-json-schema/parsers/literal.js +26 -0
  108. package/_vendor/zod-to-json-schema/parsers/literal.js.map +1 -0
  109. package/_vendor/zod-to-json-schema/parsers/literal.mjs +22 -0
  110. package/_vendor/zod-to-json-schema/parsers/literal.mjs.map +1 -0
  111. package/_vendor/zod-to-json-schema/parsers/map.d.ts +16 -0
  112. package/_vendor/zod-to-json-schema/parsers/map.d.ts.map +1 -0
  113. package/_vendor/zod-to-json-schema/parsers/map.js +30 -0
  114. package/_vendor/zod-to-json-schema/parsers/map.js.map +1 -0
  115. package/_vendor/zod-to-json-schema/parsers/map.mjs +26 -0
  116. package/_vendor/zod-to-json-schema/parsers/map.mjs.map +1 -0
  117. package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.ts +7 -0
  118. package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -0
  119. package/_vendor/zod-to-json-schema/parsers/nativeEnum.js +21 -0
  120. package/_vendor/zod-to-json-schema/parsers/nativeEnum.js.map +1 -0
  121. package/_vendor/zod-to-json-schema/parsers/nativeEnum.mjs +17 -0
  122. package/_vendor/zod-to-json-schema/parsers/nativeEnum.mjs.map +1 -0
  123. package/_vendor/zod-to-json-schema/parsers/never.d.ts +5 -0
  124. package/_vendor/zod-to-json-schema/parsers/never.d.ts.map +1 -0
  125. package/_vendor/zod-to-json-schema/parsers/never.js +10 -0
  126. package/_vendor/zod-to-json-schema/parsers/never.js.map +1 -0
  127. package/_vendor/zod-to-json-schema/parsers/never.mjs +6 -0
  128. package/_vendor/zod-to-json-schema/parsers/never.mjs.map +1 -0
  129. package/_vendor/zod-to-json-schema/parsers/null.d.ts +6 -0
  130. package/_vendor/zod-to-json-schema/parsers/null.d.ts.map +1 -0
  131. package/_vendor/zod-to-json-schema/parsers/null.js +15 -0
  132. package/_vendor/zod-to-json-schema/parsers/null.js.map +1 -0
  133. package/_vendor/zod-to-json-schema/parsers/null.mjs +11 -0
  134. package/_vendor/zod-to-json-schema/parsers/null.mjs.map +1 -0
  135. package/_vendor/zod-to-json-schema/parsers/nullable.d.ts +11 -0
  136. package/_vendor/zod-to-json-schema/parsers/nullable.d.ts.map +1 -0
  137. package/_vendor/zod-to-json-schema/parsers/nullable.js +35 -0
  138. package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -0
  139. package/_vendor/zod-to-json-schema/parsers/nullable.mjs +31 -0
  140. package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -0
  141. package/_vendor/zod-to-json-schema/parsers/number.d.ts +14 -0
  142. package/_vendor/zod-to-json-schema/parsers/number.d.ts.map +1 -0
  143. package/_vendor/zod-to-json-schema/parsers/number.js +57 -0
  144. package/_vendor/zod-to-json-schema/parsers/number.js.map +1 -0
  145. package/_vendor/zod-to-json-schema/parsers/number.mjs +53 -0
  146. package/_vendor/zod-to-json-schema/parsers/number.mjs.map +1 -0
  147. package/_vendor/zod-to-json-schema/parsers/object.d.ts +11 -0
  148. package/_vendor/zod-to-json-schema/parsers/object.d.ts.map +1 -0
  149. package/_vendor/zod-to-json-schema/parsers/object.js +51 -0
  150. package/_vendor/zod-to-json-schema/parsers/object.js.map +1 -0
  151. package/_vendor/zod-to-json-schema/parsers/object.mjs +47 -0
  152. package/_vendor/zod-to-json-schema/parsers/object.mjs.map +1 -0
  153. package/_vendor/zod-to-json-schema/parsers/optional.d.ts +5 -0
  154. package/_vendor/zod-to-json-schema/parsers/optional.d.ts.map +1 -0
  155. package/_vendor/zod-to-json-schema/parsers/optional.js +25 -0
  156. package/_vendor/zod-to-json-schema/parsers/optional.js.map +1 -0
  157. package/_vendor/zod-to-json-schema/parsers/optional.mjs +21 -0
  158. package/_vendor/zod-to-json-schema/parsers/optional.mjs.map +1 -0
  159. package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts +6 -0
  160. package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts.map +1 -0
  161. package/_vendor/zod-to-json-schema/parsers/pipeline.js +25 -0
  162. package/_vendor/zod-to-json-schema/parsers/pipeline.js.map +1 -0
  163. package/_vendor/zod-to-json-schema/parsers/pipeline.mjs +21 -0
  164. package/_vendor/zod-to-json-schema/parsers/pipeline.mjs.map +1 -0
  165. package/_vendor/zod-to-json-schema/parsers/promise.d.ts +5 -0
  166. package/_vendor/zod-to-json-schema/parsers/promise.d.ts.map +1 -0
  167. package/_vendor/zod-to-json-schema/parsers/promise.js +9 -0
  168. package/_vendor/zod-to-json-schema/parsers/promise.js.map +1 -0
  169. package/_vendor/zod-to-json-schema/parsers/promise.mjs +5 -0
  170. package/_vendor/zod-to-json-schema/parsers/promise.mjs.map +1 -0
  171. package/_vendor/zod-to-json-schema/parsers/readonly.d.ts +4 -0
  172. package/_vendor/zod-to-json-schema/parsers/readonly.d.ts.map +1 -0
  173. package/_vendor/zod-to-json-schema/parsers/readonly.js +9 -0
  174. package/_vendor/zod-to-json-schema/parsers/readonly.js.map +1 -0
  175. package/_vendor/zod-to-json-schema/parsers/readonly.mjs +5 -0
  176. package/_vendor/zod-to-json-schema/parsers/readonly.mjs.map +1 -0
  177. package/_vendor/zod-to-json-schema/parsers/record.d.ts +14 -0
  178. package/_vendor/zod-to-json-schema/parsers/record.d.ts.map +1 -0
  179. package/_vendor/zod-to-json-schema/parsers/record.js +50 -0
  180. package/_vendor/zod-to-json-schema/parsers/record.js.map +1 -0
  181. package/_vendor/zod-to-json-schema/parsers/record.mjs +46 -0
  182. package/_vendor/zod-to-json-schema/parsers/record.mjs.map +1 -0
  183. package/_vendor/zod-to-json-schema/parsers/set.d.ts +14 -0
  184. package/_vendor/zod-to-json-schema/parsers/set.d.ts.map +1 -0
  185. package/_vendor/zod-to-json-schema/parsers/set.js +25 -0
  186. package/_vendor/zod-to-json-schema/parsers/set.js.map +1 -0
  187. package/_vendor/zod-to-json-schema/parsers/set.mjs +21 -0
  188. package/_vendor/zod-to-json-schema/parsers/set.mjs.map +1 -0
  189. package/_vendor/zod-to-json-schema/parsers/string.d.ts +70 -0
  190. package/_vendor/zod-to-json-schema/parsers/string.d.ts.map +1 -0
  191. package/_vendor/zod-to-json-schema/parsers/string.js +316 -0
  192. package/_vendor/zod-to-json-schema/parsers/string.js.map +1 -0
  193. package/_vendor/zod-to-json-schema/parsers/string.mjs +312 -0
  194. package/_vendor/zod-to-json-schema/parsers/string.mjs.map +1 -0
  195. package/_vendor/zod-to-json-schema/parsers/tuple.d.ts +14 -0
  196. package/_vendor/zod-to-json-schema/parsers/tuple.d.ts.map +1 -0
  197. package/_vendor/zod-to-json-schema/parsers/tuple.js +37 -0
  198. package/_vendor/zod-to-json-schema/parsers/tuple.js.map +1 -0
  199. package/_vendor/zod-to-json-schema/parsers/tuple.mjs +33 -0
  200. package/_vendor/zod-to-json-schema/parsers/tuple.mjs.map +1 -0
  201. package/_vendor/zod-to-json-schema/parsers/undefined.d.ts +5 -0
  202. package/_vendor/zod-to-json-schema/parsers/undefined.d.ts.map +1 -0
  203. package/_vendor/zod-to-json-schema/parsers/undefined.js +10 -0
  204. package/_vendor/zod-to-json-schema/parsers/undefined.js.map +1 -0
  205. package/_vendor/zod-to-json-schema/parsers/undefined.mjs +6 -0
  206. package/_vendor/zod-to-json-schema/parsers/undefined.mjs.map +1 -0
  207. package/_vendor/zod-to-json-schema/parsers/union.d.ts +24 -0
  208. package/_vendor/zod-to-json-schema/parsers/union.d.ts.map +1 -0
  209. package/_vendor/zod-to-json-schema/parsers/union.js +77 -0
  210. package/_vendor/zod-to-json-schema/parsers/union.js.map +1 -0
  211. package/_vendor/zod-to-json-schema/parsers/union.mjs +73 -0
  212. package/_vendor/zod-to-json-schema/parsers/union.mjs.map +1 -0
  213. package/_vendor/zod-to-json-schema/parsers/unknown.d.ts +3 -0
  214. package/_vendor/zod-to-json-schema/parsers/unknown.d.ts.map +1 -0
  215. package/_vendor/zod-to-json-schema/parsers/unknown.js +8 -0
  216. package/_vendor/zod-to-json-schema/parsers/unknown.js.map +1 -0
  217. package/_vendor/zod-to-json-schema/parsers/unknown.mjs +4 -0
  218. package/_vendor/zod-to-json-schema/parsers/unknown.mjs.map +1 -0
  219. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts +11 -0
  220. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts.map +1 -0
  221. package/_vendor/zod-to-json-schema/zodToJsonSchema.js +53 -0
  222. package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -0
  223. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +50 -0
  224. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs.map +1 -0
  225. package/error.d.ts +6 -0
  226. package/error.d.ts.map +1 -1
  227. package/error.js +13 -1
  228. package/error.js.map +1 -1
  229. package/error.mjs +10 -0
  230. package/error.mjs.map +1 -1
  231. package/helpers/zod.d.ts +57 -0
  232. package/helpers/zod.d.ts.map +1 -0
  233. package/helpers/zod.js +79 -0
  234. package/helpers/zod.js.map +1 -0
  235. package/helpers/zod.mjs +74 -0
  236. package/helpers/zod.mjs.map +1 -0
  237. package/index.d.mts +8 -0
  238. package/index.d.ts +8 -0
  239. package/index.d.ts.map +1 -1
  240. package/index.js +1 -0
  241. package/index.js.map +1 -1
  242. package/index.mjs +1 -0
  243. package/index.mjs.map +1 -1
  244. package/lib/AbstractChatCompletionRunner.d.ts +15 -68
  245. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  246. package/lib/AbstractChatCompletionRunner.js +47 -200
  247. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  248. package/lib/AbstractChatCompletionRunner.mjs +48 -201
  249. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  250. package/lib/AssistantStream.d.ts +10 -6
  251. package/lib/AssistantStream.d.ts.map +1 -1
  252. package/lib/AssistantStream.js +18 -6
  253. package/lib/AssistantStream.js.map +1 -1
  254. package/lib/AssistantStream.mjs +18 -6
  255. package/lib/AssistantStream.mjs.map +1 -1
  256. package/lib/ChatCompletionRunner.d.ts +8 -6
  257. package/lib/ChatCompletionRunner.d.ts.map +1 -1
  258. package/lib/ChatCompletionRunner.js +4 -4
  259. package/lib/ChatCompletionRunner.js.map +1 -1
  260. package/lib/ChatCompletionRunner.mjs +4 -4
  261. package/lib/ChatCompletionRunner.mjs.map +1 -1
  262. package/lib/ChatCompletionStream.d.ts +71 -12
  263. package/lib/ChatCompletionStream.d.ts.map +1 -1
  264. package/lib/ChatCompletionStream.js +233 -42
  265. package/lib/ChatCompletionStream.js.map +1 -1
  266. package/lib/ChatCompletionStream.mjs +234 -43
  267. package/lib/ChatCompletionStream.mjs.map +1 -1
  268. package/lib/ChatCompletionStreamingRunner.d.ts +8 -6
  269. package/lib/ChatCompletionStreamingRunner.d.ts.map +1 -1
  270. package/lib/ChatCompletionStreamingRunner.js +9 -7
  271. package/lib/ChatCompletionStreamingRunner.js.map +1 -1
  272. package/lib/ChatCompletionStreamingRunner.mjs +9 -7
  273. package/lib/ChatCompletionStreamingRunner.mjs.map +1 -1
  274. package/lib/EventStream.d.ts +63 -0
  275. package/lib/EventStream.d.ts.map +1 -0
  276. package/lib/EventStream.js +200 -0
  277. package/lib/EventStream.js.map +1 -0
  278. package/lib/EventStream.mjs +196 -0
  279. package/lib/EventStream.mjs.map +1 -0
  280. package/lib/RunnableFunction.d.ts +4 -2
  281. package/lib/RunnableFunction.d.ts.map +1 -1
  282. package/lib/RunnableFunction.js.map +1 -1
  283. package/lib/RunnableFunction.mjs.map +1 -1
  284. package/lib/parser.d.ts +37 -0
  285. package/lib/parser.d.ts.map +1 -0
  286. package/lib/parser.js +133 -0
  287. package/lib/parser.js.map +1 -0
  288. package/lib/parser.mjs +121 -0
  289. package/lib/parser.mjs.map +1 -0
  290. package/package.json +10 -2
  291. package/resources/audio/audio.d.ts +4 -0
  292. package/resources/audio/audio.d.ts.map +1 -1
  293. package/resources/audio/audio.js.map +1 -1
  294. package/resources/audio/audio.mjs.map +1 -1
  295. package/resources/audio/index.d.ts +2 -2
  296. package/resources/audio/index.d.ts.map +1 -1
  297. package/resources/audio/index.js.map +1 -1
  298. package/resources/audio/index.mjs.map +1 -1
  299. package/resources/audio/speech.d.ts +3 -1
  300. package/resources/audio/speech.d.ts.map +1 -1
  301. package/resources/audio/speech.js.map +1 -1
  302. package/resources/audio/speech.mjs.map +1 -1
  303. package/resources/audio/transcriptions.d.ts +2 -1
  304. package/resources/audio/transcriptions.d.ts.map +1 -1
  305. package/resources/audio/transcriptions.js.map +1 -1
  306. package/resources/audio/transcriptions.mjs.map +1 -1
  307. package/resources/audio/translations.d.ts +2 -1
  308. package/resources/audio/translations.d.ts.map +1 -1
  309. package/resources/audio/translations.js.map +1 -1
  310. package/resources/audio/translations.mjs.map +1 -1
  311. package/resources/beta/assistants.d.ts +19 -3
  312. package/resources/beta/assistants.d.ts.map +1 -1
  313. package/resources/beta/assistants.js.map +1 -1
  314. package/resources/beta/assistants.mjs.map +1 -1
  315. package/resources/beta/beta.d.ts +0 -1
  316. package/resources/beta/beta.d.ts.map +1 -1
  317. package/resources/beta/beta.js.map +1 -1
  318. package/resources/beta/beta.mjs.map +1 -1
  319. package/resources/beta/chat/completions.d.ts +25 -5
  320. package/resources/beta/chat/completions.d.ts.map +1 -1
  321. package/resources/beta/chat/completions.js +17 -5
  322. package/resources/beta/chat/completions.js.map +1 -1
  323. package/resources/beta/chat/completions.mjs +17 -5
  324. package/resources/beta/chat/completions.mjs.map +1 -1
  325. package/resources/beta/index.d.ts +1 -1
  326. package/resources/beta/index.d.ts.map +1 -1
  327. package/resources/beta/index.js.map +1 -1
  328. package/resources/beta/index.mjs.map +1 -1
  329. package/resources/beta/threads/index.d.ts +2 -2
  330. package/resources/beta/threads/index.d.ts.map +1 -1
  331. package/resources/beta/threads/index.js.map +1 -1
  332. package/resources/beta/threads/index.mjs.map +1 -1
  333. package/resources/beta/threads/messages.d.ts +28 -2
  334. package/resources/beta/threads/messages.d.ts.map +1 -1
  335. package/resources/beta/threads/messages.js.map +1 -1
  336. package/resources/beta/threads/messages.mjs.map +1 -1
  337. package/resources/beta/threads/runs/runs.d.ts +12 -1
  338. package/resources/beta/threads/runs/runs.d.ts.map +1 -1
  339. package/resources/beta/threads/runs/runs.js.map +1 -1
  340. package/resources/beta/threads/runs/runs.mjs.map +1 -1
  341. package/resources/beta/threads/threads.d.ts +22 -8
  342. package/resources/beta/threads/threads.d.ts.map +1 -1
  343. package/resources/beta/threads/threads.js.map +1 -1
  344. package/resources/beta/threads/threads.mjs.map +1 -1
  345. package/resources/beta/vector-stores/files.d.ts +1 -1
  346. package/resources/beta/vector-stores/files.d.ts.map +1 -1
  347. package/resources/chat/chat.d.ts +2 -1
  348. package/resources/chat/chat.d.ts.map +1 -1
  349. package/resources/chat/chat.js.map +1 -1
  350. package/resources/chat/chat.mjs.map +1 -1
  351. package/resources/chat/completions.d.ts +37 -26
  352. package/resources/chat/completions.d.ts.map +1 -1
  353. package/resources/chat/completions.js.map +1 -1
  354. package/resources/chat/completions.mjs.map +1 -1
  355. package/resources/chat/index.d.ts +1 -1
  356. package/resources/chat/index.d.ts.map +1 -1
  357. package/resources/chat/index.js.map +1 -1
  358. package/resources/chat/index.mjs.map +1 -1
  359. package/resources/fine-tuning/jobs/jobs.d.ts +3 -3
  360. package/resources/fine-tuning/jobs/jobs.d.ts.map +1 -1
  361. package/resources/images.d.ts +5 -3
  362. package/resources/images.d.ts.map +1 -1
  363. package/resources/images.js.map +1 -1
  364. package/resources/images.mjs.map +1 -1
  365. package/resources/index.d.ts +3 -3
  366. package/resources/index.d.ts.map +1 -1
  367. package/resources/index.js.map +1 -1
  368. package/resources/index.mjs +1 -1
  369. package/resources/index.mjs.map +1 -1
  370. package/resources/moderations.d.ts +3 -1
  371. package/resources/moderations.d.ts.map +1 -1
  372. package/resources/moderations.js.map +1 -1
  373. package/resources/moderations.mjs.map +1 -1
  374. package/resources/shared.d.ts +53 -0
  375. package/resources/shared.d.ts.map +1 -1
  376. package/src/_vendor/partial-json-parser/README.md +3 -0
  377. package/src/_vendor/partial-json-parser/parser.ts +264 -0
  378. package/src/_vendor/zod-to-json-schema/Options.ts +73 -0
  379. package/src/_vendor/zod-to-json-schema/Refs.ts +39 -0
  380. package/src/_vendor/zod-to-json-schema/errorMessages.ts +31 -0
  381. package/src/_vendor/zod-to-json-schema/index.ts +37 -0
  382. package/src/_vendor/zod-to-json-schema/parseDef.ts +231 -0
  383. package/src/_vendor/zod-to-json-schema/parsers/any.ts +5 -0
  384. package/src/_vendor/zod-to-json-schema/parsers/array.ts +36 -0
  385. package/src/_vendor/zod-to-json-schema/parsers/bigint.ts +60 -0
  386. package/src/_vendor/zod-to-json-schema/parsers/boolean.ts +9 -0
  387. package/src/_vendor/zod-to-json-schema/parsers/branded.ts +7 -0
  388. package/src/_vendor/zod-to-json-schema/parsers/catch.ts +7 -0
  389. package/src/_vendor/zod-to-json-schema/parsers/date.ts +83 -0
  390. package/src/_vendor/zod-to-json-schema/parsers/default.ts +10 -0
  391. package/src/_vendor/zod-to-json-schema/parsers/effects.ts +7 -0
  392. package/src/_vendor/zod-to-json-schema/parsers/enum.ts +13 -0
  393. package/src/_vendor/zod-to-json-schema/parsers/intersection.ts +64 -0
  394. package/src/_vendor/zod-to-json-schema/parsers/literal.ts +37 -0
  395. package/src/_vendor/zod-to-json-schema/parsers/map.ts +42 -0
  396. package/src/_vendor/zod-to-json-schema/parsers/nativeEnum.ts +27 -0
  397. package/src/_vendor/zod-to-json-schema/parsers/never.ts +9 -0
  398. package/src/_vendor/zod-to-json-schema/parsers/null.ts +16 -0
  399. package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +49 -0
  400. package/src/_vendor/zod-to-json-schema/parsers/number.ts +62 -0
  401. package/src/_vendor/zod-to-json-schema/parsers/object.ts +63 -0
  402. package/src/_vendor/zod-to-json-schema/parsers/optional.ts +25 -0
  403. package/src/_vendor/zod-to-json-schema/parsers/pipeline.ts +28 -0
  404. package/src/_vendor/zod-to-json-schema/parsers/promise.ts +7 -0
  405. package/src/_vendor/zod-to-json-schema/parsers/readonly.ts +7 -0
  406. package/src/_vendor/zod-to-json-schema/parsers/record.ts +73 -0
  407. package/src/_vendor/zod-to-json-schema/parsers/set.ts +36 -0
  408. package/src/_vendor/zod-to-json-schema/parsers/string.ts +400 -0
  409. package/src/_vendor/zod-to-json-schema/parsers/tuple.ts +54 -0
  410. package/src/_vendor/zod-to-json-schema/parsers/undefined.ts +9 -0
  411. package/src/_vendor/zod-to-json-schema/parsers/union.ts +119 -0
  412. package/src/_vendor/zod-to-json-schema/parsers/unknown.ts +5 -0
  413. package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +91 -0
  414. package/src/error.ts +12 -0
  415. package/src/helpers/zod.ts +102 -0
  416. package/src/index.ts +8 -0
  417. package/src/lib/AbstractChatCompletionRunner.ts +72 -258
  418. package/src/lib/AssistantStream.ts +47 -19
  419. package/src/lib/ChatCompletionRunner.ts +16 -12
  420. package/src/lib/ChatCompletionStream.ts +423 -47
  421. package/src/lib/ChatCompletionStreamingRunner.ts +19 -15
  422. package/src/lib/{AbstractAssistantStreamRunner.ts → EventStream.ts} +37 -138
  423. package/src/lib/RunnableFunction.ts +4 -2
  424. package/src/lib/parser.ts +235 -0
  425. package/src/resources/audio/audio.ts +5 -0
  426. package/src/resources/audio/index.ts +2 -2
  427. package/src/resources/audio/speech.ts +4 -1
  428. package/src/resources/audio/transcriptions.ts +2 -1
  429. package/src/resources/audio/translations.ts +2 -1
  430. package/src/resources/beta/assistants.ts +19 -26
  431. package/src/resources/beta/beta.ts +0 -1
  432. package/src/resources/beta/chat/completions.ts +77 -27
  433. package/src/resources/beta/index.ts +0 -1
  434. package/src/resources/beta/threads/index.ts +2 -1
  435. package/src/resources/beta/threads/messages.ts +41 -2
  436. package/src/resources/beta/threads/runs/runs.ts +12 -25
  437. package/src/resources/beta/threads/threads.ts +26 -32
  438. package/src/resources/beta/vector-stores/files.ts +1 -1
  439. package/src/resources/chat/chat.ts +2 -0
  440. package/src/resources/chat/completions.ts +47 -27
  441. package/src/resources/chat/index.ts +1 -0
  442. package/src/resources/fine-tuning/jobs/jobs.ts +3 -3
  443. package/src/resources/images.ts +6 -3
  444. package/src/resources/index.ts +9 -2
  445. package/src/resources/moderations.ts +4 -1
  446. package/src/resources/shared.ts +62 -0
  447. package/src/version.ts +1 -1
  448. package/version.d.ts +1 -1
  449. package/version.js +1 -1
  450. package/version.mjs +1 -1
  451. package/lib/AbstractAssistantStreamRunner.d.ts +0 -74
  452. package/lib/AbstractAssistantStreamRunner.d.ts.map +0 -1
  453. package/lib/AbstractAssistantStreamRunner.js +0 -246
  454. package/lib/AbstractAssistantStreamRunner.js.map +0 -1
  455. package/lib/AbstractAssistantStreamRunner.mjs +0 -242
  456. package/lib/AbstractAssistantStreamRunner.mjs.map +0 -1
  457. package/lib/ChatCompletionRunFunctions.test.d.ts +0 -2
  458. package/lib/ChatCompletionRunFunctions.test.d.ts.map +0 -1
  459. package/lib/ChatCompletionRunFunctions.test.js +0 -2177
  460. package/lib/ChatCompletionRunFunctions.test.js.map +0 -1
  461. package/lib/ChatCompletionRunFunctions.test.mjs +0 -2172
  462. package/lib/ChatCompletionRunFunctions.test.mjs.map +0 -1
  463. package/src/lib/ChatCompletionRunFunctions.test.ts +0 -2328
@@ -0,0 +1,231 @@
1
+ import { ZodFirstPartyTypeKind, ZodTypeDef } from 'zod';
2
+ import { JsonSchema7AnyType, parseAnyDef } from './parsers/any';
3
+ import { JsonSchema7ArrayType, parseArrayDef } from './parsers/array';
4
+ import { JsonSchema7BigintType, parseBigintDef } from './parsers/bigint';
5
+ import { JsonSchema7BooleanType, parseBooleanDef } from './parsers/boolean';
6
+ import { parseBrandedDef } from './parsers/branded';
7
+ import { parseCatchDef } from './parsers/catch';
8
+ import { JsonSchema7DateType, parseDateDef } from './parsers/date';
9
+ import { parseDefaultDef } from './parsers/default';
10
+ import { parseEffectsDef } from './parsers/effects';
11
+ import { JsonSchema7EnumType, parseEnumDef } from './parsers/enum';
12
+ import { JsonSchema7AllOfType, parseIntersectionDef } from './parsers/intersection';
13
+ import { JsonSchema7LiteralType, parseLiteralDef } from './parsers/literal';
14
+ import { JsonSchema7MapType, parseMapDef } from './parsers/map';
15
+ import { JsonSchema7NativeEnumType, parseNativeEnumDef } from './parsers/nativeEnum';
16
+ import { JsonSchema7NeverType, parseNeverDef } from './parsers/never';
17
+ import { JsonSchema7NullType, parseNullDef } from './parsers/null';
18
+ import { JsonSchema7NullableType, parseNullableDef } from './parsers/nullable';
19
+ import { JsonSchema7NumberType, parseNumberDef } from './parsers/number';
20
+ import { JsonSchema7ObjectType, parseObjectDef } from './parsers/object';
21
+ import { parseOptionalDef } from './parsers/optional';
22
+ import { parsePipelineDef } from './parsers/pipeline';
23
+ import { parsePromiseDef } from './parsers/promise';
24
+ import { JsonSchema7RecordType, parseRecordDef } from './parsers/record';
25
+ import { JsonSchema7SetType, parseSetDef } from './parsers/set';
26
+ import { JsonSchema7StringType, parseStringDef } from './parsers/string';
27
+ import { JsonSchema7TupleType, parseTupleDef } from './parsers/tuple';
28
+ import { JsonSchema7UndefinedType, parseUndefinedDef } from './parsers/undefined';
29
+ import { JsonSchema7UnionType, parseUnionDef } from './parsers/union';
30
+ import { JsonSchema7UnknownType, parseUnknownDef } from './parsers/unknown';
31
+ import { Refs, Seen } from './Refs';
32
+ import { parseReadonlyDef } from './parsers/readonly';
33
+ import { ignoreOverride } from './Options';
34
+
35
+ type JsonSchema7RefType = { $ref: string };
36
+ type JsonSchema7Meta = {
37
+ title?: string;
38
+ default?: any;
39
+ description?: string;
40
+ markdownDescription?: string;
41
+ };
42
+
43
+ export type JsonSchema7TypeUnion =
44
+ | JsonSchema7StringType
45
+ | JsonSchema7ArrayType
46
+ | JsonSchema7NumberType
47
+ | JsonSchema7BigintType
48
+ | JsonSchema7BooleanType
49
+ | JsonSchema7DateType
50
+ | JsonSchema7EnumType
51
+ | JsonSchema7LiteralType
52
+ | JsonSchema7NativeEnumType
53
+ | JsonSchema7NullType
54
+ | JsonSchema7NumberType
55
+ | JsonSchema7ObjectType
56
+ | JsonSchema7RecordType
57
+ | JsonSchema7TupleType
58
+ | JsonSchema7UnionType
59
+ | JsonSchema7UndefinedType
60
+ | JsonSchema7RefType
61
+ | JsonSchema7NeverType
62
+ | JsonSchema7MapType
63
+ | JsonSchema7AnyType
64
+ | JsonSchema7NullableType
65
+ | JsonSchema7AllOfType
66
+ | JsonSchema7UnknownType
67
+ | JsonSchema7SetType;
68
+
69
+ export type JsonSchema7Type = JsonSchema7TypeUnion & JsonSchema7Meta;
70
+
71
+ export function parseDef(
72
+ def: ZodTypeDef,
73
+ refs: Refs,
74
+ forceResolution = false, // Forces a new schema to be instantiated even though its def has been seen. Used for improving refs in definitions. See https://github.com/StefanTerdell/zod-to-json-schema/pull/61.
75
+ ): JsonSchema7Type | undefined {
76
+ const seenItem = refs.seen.get(def);
77
+
78
+ if (refs.override) {
79
+ const overrideResult = refs.override?.(def, refs, seenItem, forceResolution);
80
+
81
+ if (overrideResult !== ignoreOverride) {
82
+ return overrideResult;
83
+ }
84
+ }
85
+
86
+ if (seenItem && !forceResolution) {
87
+ const seenSchema = get$ref(seenItem, refs);
88
+
89
+ if (seenSchema !== undefined) {
90
+ return seenSchema;
91
+ }
92
+ }
93
+
94
+ const newItem: Seen = { def, path: refs.currentPath, jsonSchema: undefined };
95
+
96
+ refs.seen.set(def, newItem);
97
+
98
+ const jsonSchema = selectParser(def, (def as any).typeName, refs);
99
+
100
+ if (jsonSchema) {
101
+ addMeta(def, refs, jsonSchema);
102
+ }
103
+
104
+ newItem.jsonSchema = jsonSchema;
105
+
106
+ return jsonSchema;
107
+ }
108
+
109
+ const get$ref = (
110
+ item: Seen,
111
+ refs: Refs,
112
+ ):
113
+ | {
114
+ $ref: string;
115
+ }
116
+ | {}
117
+ | undefined => {
118
+ switch (refs.$refStrategy) {
119
+ case 'root':
120
+ return { $ref: item.path.join('/') };
121
+ case 'relative':
122
+ return { $ref: getRelativePath(refs.currentPath, item.path) };
123
+ case 'none':
124
+ case 'seen': {
125
+ if (
126
+ item.path.length < refs.currentPath.length &&
127
+ item.path.every((value, index) => refs.currentPath[index] === value)
128
+ ) {
129
+ console.warn(`Recursive reference detected at ${refs.currentPath.join('/')}! Defaulting to any`);
130
+
131
+ return {};
132
+ }
133
+
134
+ return refs.$refStrategy === 'seen' ? {} : undefined;
135
+ }
136
+ }
137
+ };
138
+
139
+ const getRelativePath = (pathA: string[], pathB: string[]) => {
140
+ let i = 0;
141
+ for (; i < pathA.length && i < pathB.length; i++) {
142
+ if (pathA[i] !== pathB[i]) break;
143
+ }
144
+ return [(pathA.length - i).toString(), ...pathB.slice(i)].join('/');
145
+ };
146
+
147
+ const selectParser = (def: any, typeName: ZodFirstPartyTypeKind, refs: Refs): JsonSchema7Type | undefined => {
148
+ switch (typeName) {
149
+ case ZodFirstPartyTypeKind.ZodString:
150
+ return parseStringDef(def, refs);
151
+ case ZodFirstPartyTypeKind.ZodNumber:
152
+ return parseNumberDef(def, refs);
153
+ case ZodFirstPartyTypeKind.ZodObject:
154
+ return parseObjectDef(def, refs);
155
+ case ZodFirstPartyTypeKind.ZodBigInt:
156
+ return parseBigintDef(def, refs);
157
+ case ZodFirstPartyTypeKind.ZodBoolean:
158
+ return parseBooleanDef();
159
+ case ZodFirstPartyTypeKind.ZodDate:
160
+ return parseDateDef(def, refs);
161
+ case ZodFirstPartyTypeKind.ZodUndefined:
162
+ return parseUndefinedDef();
163
+ case ZodFirstPartyTypeKind.ZodNull:
164
+ return parseNullDef(refs);
165
+ case ZodFirstPartyTypeKind.ZodArray:
166
+ return parseArrayDef(def, refs);
167
+ case ZodFirstPartyTypeKind.ZodUnion:
168
+ case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
169
+ return parseUnionDef(def, refs);
170
+ case ZodFirstPartyTypeKind.ZodIntersection:
171
+ return parseIntersectionDef(def, refs);
172
+ case ZodFirstPartyTypeKind.ZodTuple:
173
+ return parseTupleDef(def, refs);
174
+ case ZodFirstPartyTypeKind.ZodRecord:
175
+ return parseRecordDef(def, refs);
176
+ case ZodFirstPartyTypeKind.ZodLiteral:
177
+ return parseLiteralDef(def, refs);
178
+ case ZodFirstPartyTypeKind.ZodEnum:
179
+ return parseEnumDef(def);
180
+ case ZodFirstPartyTypeKind.ZodNativeEnum:
181
+ return parseNativeEnumDef(def);
182
+ case ZodFirstPartyTypeKind.ZodNullable:
183
+ return parseNullableDef(def, refs);
184
+ case ZodFirstPartyTypeKind.ZodOptional:
185
+ return parseOptionalDef(def, refs);
186
+ case ZodFirstPartyTypeKind.ZodMap:
187
+ return parseMapDef(def, refs);
188
+ case ZodFirstPartyTypeKind.ZodSet:
189
+ return parseSetDef(def, refs);
190
+ case ZodFirstPartyTypeKind.ZodLazy:
191
+ return parseDef(def.getter()._def, refs);
192
+ case ZodFirstPartyTypeKind.ZodPromise:
193
+ return parsePromiseDef(def, refs);
194
+ case ZodFirstPartyTypeKind.ZodNaN:
195
+ case ZodFirstPartyTypeKind.ZodNever:
196
+ return parseNeverDef();
197
+ case ZodFirstPartyTypeKind.ZodEffects:
198
+ return parseEffectsDef(def, refs);
199
+ case ZodFirstPartyTypeKind.ZodAny:
200
+ return parseAnyDef();
201
+ case ZodFirstPartyTypeKind.ZodUnknown:
202
+ return parseUnknownDef();
203
+ case ZodFirstPartyTypeKind.ZodDefault:
204
+ return parseDefaultDef(def, refs);
205
+ case ZodFirstPartyTypeKind.ZodBranded:
206
+ return parseBrandedDef(def, refs);
207
+ case ZodFirstPartyTypeKind.ZodReadonly:
208
+ return parseReadonlyDef(def, refs);
209
+ case ZodFirstPartyTypeKind.ZodCatch:
210
+ return parseCatchDef(def, refs);
211
+ case ZodFirstPartyTypeKind.ZodPipeline:
212
+ return parsePipelineDef(def, refs);
213
+ case ZodFirstPartyTypeKind.ZodFunction:
214
+ case ZodFirstPartyTypeKind.ZodVoid:
215
+ case ZodFirstPartyTypeKind.ZodSymbol:
216
+ return undefined;
217
+ default:
218
+ return ((_: never) => undefined)(typeName);
219
+ }
220
+ };
221
+
222
+ const addMeta = (def: ZodTypeDef, refs: Refs, jsonSchema: JsonSchema7Type): JsonSchema7Type => {
223
+ if (def.description) {
224
+ jsonSchema.description = def.description;
225
+
226
+ if (refs.markdownDescription) {
227
+ jsonSchema.markdownDescription = def.description;
228
+ }
229
+ }
230
+ return jsonSchema;
231
+ };
@@ -0,0 +1,5 @@
1
+ export type JsonSchema7AnyType = {};
2
+
3
+ export function parseAnyDef(): JsonSchema7AnyType {
4
+ return {};
5
+ }
@@ -0,0 +1,36 @@
1
+ import { ZodArrayDef, ZodFirstPartyTypeKind } from 'zod';
2
+ import { ErrorMessages, setResponseValueAndErrors } from '../errorMessages';
3
+ import { JsonSchema7Type, parseDef } from '../parseDef';
4
+ import { Refs } from '../Refs';
5
+
6
+ export type JsonSchema7ArrayType = {
7
+ type: 'array';
8
+ items?: JsonSchema7Type | undefined;
9
+ minItems?: number;
10
+ maxItems?: number;
11
+ errorMessages?: ErrorMessages<JsonSchema7ArrayType, 'items'>;
12
+ };
13
+
14
+ export function parseArrayDef(def: ZodArrayDef, refs: Refs) {
15
+ const res: JsonSchema7ArrayType = {
16
+ type: 'array',
17
+ };
18
+ if (def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {
19
+ res.items = parseDef(def.type._def, {
20
+ ...refs,
21
+ currentPath: [...refs.currentPath, 'items'],
22
+ });
23
+ }
24
+
25
+ if (def.minLength) {
26
+ setResponseValueAndErrors(res, 'minItems', def.minLength.value, def.minLength.message, refs);
27
+ }
28
+ if (def.maxLength) {
29
+ setResponseValueAndErrors(res, 'maxItems', def.maxLength.value, def.maxLength.message, refs);
30
+ }
31
+ if (def.exactLength) {
32
+ setResponseValueAndErrors(res, 'minItems', def.exactLength.value, def.exactLength.message, refs);
33
+ setResponseValueAndErrors(res, 'maxItems', def.exactLength.value, def.exactLength.message, refs);
34
+ }
35
+ return res;
36
+ }
@@ -0,0 +1,60 @@
1
+ import { ZodBigIntDef } from 'zod';
2
+ import { Refs } from '../Refs';
3
+ import { ErrorMessages, setResponseValueAndErrors } from '../errorMessages';
4
+
5
+ export type JsonSchema7BigintType = {
6
+ type: 'integer';
7
+ format: 'int64';
8
+ minimum?: BigInt;
9
+ exclusiveMinimum?: BigInt;
10
+ maximum?: BigInt;
11
+ exclusiveMaximum?: BigInt;
12
+ multipleOf?: BigInt;
13
+ errorMessage?: ErrorMessages<JsonSchema7BigintType>;
14
+ };
15
+
16
+ export function parseBigintDef(def: ZodBigIntDef, refs: Refs): JsonSchema7BigintType {
17
+ const res: JsonSchema7BigintType = {
18
+ type: 'integer',
19
+ format: 'int64',
20
+ };
21
+
22
+ if (!def.checks) return res;
23
+
24
+ for (const check of def.checks) {
25
+ switch (check.kind) {
26
+ case 'min':
27
+ if (refs.target === 'jsonSchema7') {
28
+ if (check.inclusive) {
29
+ setResponseValueAndErrors(res, 'minimum', check.value, check.message, refs);
30
+ } else {
31
+ setResponseValueAndErrors(res, 'exclusiveMinimum', check.value, check.message, refs);
32
+ }
33
+ } else {
34
+ if (!check.inclusive) {
35
+ res.exclusiveMinimum = true as any;
36
+ }
37
+ setResponseValueAndErrors(res, 'minimum', check.value, check.message, refs);
38
+ }
39
+ break;
40
+ case 'max':
41
+ if (refs.target === 'jsonSchema7') {
42
+ if (check.inclusive) {
43
+ setResponseValueAndErrors(res, 'maximum', check.value, check.message, refs);
44
+ } else {
45
+ setResponseValueAndErrors(res, 'exclusiveMaximum', check.value, check.message, refs);
46
+ }
47
+ } else {
48
+ if (!check.inclusive) {
49
+ res.exclusiveMaximum = true as any;
50
+ }
51
+ setResponseValueAndErrors(res, 'maximum', check.value, check.message, refs);
52
+ }
53
+ break;
54
+ case 'multipleOf':
55
+ setResponseValueAndErrors(res, 'multipleOf', check.value, check.message, refs);
56
+ break;
57
+ }
58
+ }
59
+ return res;
60
+ }
@@ -0,0 +1,9 @@
1
+ export type JsonSchema7BooleanType = {
2
+ type: 'boolean';
3
+ };
4
+
5
+ export function parseBooleanDef(): JsonSchema7BooleanType {
6
+ return {
7
+ type: 'boolean',
8
+ };
9
+ }
@@ -0,0 +1,7 @@
1
+ import { ZodBrandedDef } from 'zod';
2
+ import { parseDef } from '../parseDef';
3
+ import { Refs } from '../Refs';
4
+
5
+ export function parseBrandedDef(_def: ZodBrandedDef<any>, refs: Refs) {
6
+ return parseDef(_def.type._def, refs);
7
+ }
@@ -0,0 +1,7 @@
1
+ import { ZodCatchDef } from 'zod';
2
+ import { parseDef } from '../parseDef';
3
+ import { Refs } from '../Refs';
4
+
5
+ export const parseCatchDef = (def: ZodCatchDef<any>, refs: Refs) => {
6
+ return parseDef(def.innerType._def, refs);
7
+ };
@@ -0,0 +1,83 @@
1
+ import { ZodDateDef } from 'zod';
2
+ import { Refs } from '../Refs';
3
+ import { ErrorMessages, setResponseValueAndErrors } from '../errorMessages';
4
+ import { JsonSchema7NumberType } from './number';
5
+ import { DateStrategy } from '../Options';
6
+
7
+ export type JsonSchema7DateType =
8
+ | {
9
+ type: 'integer' | 'string';
10
+ format: 'unix-time' | 'date-time' | 'date';
11
+ minimum?: number;
12
+ maximum?: number;
13
+ errorMessage?: ErrorMessages<JsonSchema7NumberType>;
14
+ }
15
+ | {
16
+ anyOf: JsonSchema7DateType[];
17
+ };
18
+
19
+ export function parseDateDef(
20
+ def: ZodDateDef,
21
+ refs: Refs,
22
+ overrideDateStrategy?: DateStrategy,
23
+ ): JsonSchema7DateType {
24
+ const strategy = overrideDateStrategy ?? refs.dateStrategy;
25
+
26
+ if (Array.isArray(strategy)) {
27
+ return {
28
+ anyOf: strategy.map((item, i) => parseDateDef(def, refs, item)),
29
+ };
30
+ }
31
+
32
+ switch (strategy) {
33
+ case 'string':
34
+ case 'format:date-time':
35
+ return {
36
+ type: 'string',
37
+ format: 'date-time',
38
+ };
39
+ case 'format:date':
40
+ return {
41
+ type: 'string',
42
+ format: 'date',
43
+ };
44
+ case 'integer':
45
+ return integerDateParser(def, refs);
46
+ }
47
+ }
48
+
49
+ const integerDateParser = (def: ZodDateDef, refs: Refs) => {
50
+ const res: JsonSchema7DateType = {
51
+ type: 'integer',
52
+ format: 'unix-time',
53
+ };
54
+
55
+ if (refs.target === 'openApi3') {
56
+ return res;
57
+ }
58
+
59
+ for (const check of def.checks) {
60
+ switch (check.kind) {
61
+ case 'min':
62
+ setResponseValueAndErrors(
63
+ res,
64
+ 'minimum',
65
+ check.value, // This is in milliseconds
66
+ check.message,
67
+ refs,
68
+ );
69
+ break;
70
+ case 'max':
71
+ setResponseValueAndErrors(
72
+ res,
73
+ 'maximum',
74
+ check.value, // This is in milliseconds
75
+ check.message,
76
+ refs,
77
+ );
78
+ break;
79
+ }
80
+ }
81
+
82
+ return res;
83
+ };
@@ -0,0 +1,10 @@
1
+ import { ZodDefaultDef } from 'zod';
2
+ import { JsonSchema7Type, parseDef } from '../parseDef';
3
+ import { Refs } from '../Refs';
4
+
5
+ export function parseDefaultDef(_def: ZodDefaultDef, refs: Refs): JsonSchema7Type & { default: any } {
6
+ return {
7
+ ...parseDef(_def.innerType._def, refs),
8
+ default: _def.defaultValue(),
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ import { ZodEffectsDef } from 'zod';
2
+ import { JsonSchema7Type, parseDef } from '../parseDef';
3
+ import { Refs } from '../Refs';
4
+
5
+ export function parseEffectsDef(_def: ZodEffectsDef, refs: Refs): JsonSchema7Type | undefined {
6
+ return refs.effectStrategy === 'input' ? parseDef(_def.schema._def, refs) : {};
7
+ }
@@ -0,0 +1,13 @@
1
+ import { ZodEnumDef } from 'zod';
2
+
3
+ export type JsonSchema7EnumType = {
4
+ type: 'string';
5
+ enum: string[];
6
+ };
7
+
8
+ export function parseEnumDef(def: ZodEnumDef): JsonSchema7EnumType {
9
+ return {
10
+ type: 'string',
11
+ enum: [...def.values],
12
+ };
13
+ }
@@ -0,0 +1,64 @@
1
+ import { ZodIntersectionDef } from 'zod';
2
+ import { JsonSchema7Type, parseDef } from '../parseDef';
3
+ import { Refs } from '../Refs';
4
+ import { JsonSchema7StringType } from './string';
5
+
6
+ export type JsonSchema7AllOfType = {
7
+ allOf: JsonSchema7Type[];
8
+ unevaluatedProperties?: boolean;
9
+ };
10
+
11
+ const isJsonSchema7AllOfType = (
12
+ type: JsonSchema7Type | JsonSchema7StringType,
13
+ ): type is JsonSchema7AllOfType => {
14
+ if ('type' in type && type.type === 'string') return false;
15
+ return 'allOf' in type;
16
+ };
17
+
18
+ export function parseIntersectionDef(
19
+ def: ZodIntersectionDef,
20
+ refs: Refs,
21
+ ): JsonSchema7AllOfType | JsonSchema7Type | undefined {
22
+ const allOf = [
23
+ parseDef(def.left._def, {
24
+ ...refs,
25
+ currentPath: [...refs.currentPath, 'allOf', '0'],
26
+ }),
27
+ parseDef(def.right._def, {
28
+ ...refs,
29
+ currentPath: [...refs.currentPath, 'allOf', '1'],
30
+ }),
31
+ ].filter((x): x is JsonSchema7Type => !!x);
32
+
33
+ let unevaluatedProperties: Pick<JsonSchema7AllOfType, 'unevaluatedProperties'> | undefined =
34
+ refs.target === 'jsonSchema2019-09' ? { unevaluatedProperties: false } : undefined;
35
+
36
+ const mergedAllOf: JsonSchema7Type[] = [];
37
+ // If either of the schemas is an allOf, merge them into a single allOf
38
+ allOf.forEach((schema) => {
39
+ if (isJsonSchema7AllOfType(schema)) {
40
+ mergedAllOf.push(...schema.allOf);
41
+ if (schema.unevaluatedProperties === undefined) {
42
+ // If one of the schemas has no unevaluatedProperties set,
43
+ // the merged schema should also have no unevaluatedProperties set
44
+ unevaluatedProperties = undefined;
45
+ }
46
+ } else {
47
+ let nestedSchema: JsonSchema7Type = schema;
48
+ if ('additionalProperties' in schema && schema.additionalProperties === false) {
49
+ const { additionalProperties, ...rest } = schema;
50
+ nestedSchema = rest;
51
+ } else {
52
+ // As soon as one of the schemas has additionalProperties set not to false, we allow unevaluatedProperties
53
+ unevaluatedProperties = undefined;
54
+ }
55
+ mergedAllOf.push(nestedSchema);
56
+ }
57
+ });
58
+ return mergedAllOf.length ?
59
+ {
60
+ allOf: mergedAllOf,
61
+ ...unevaluatedProperties,
62
+ }
63
+ : undefined;
64
+ }
@@ -0,0 +1,37 @@
1
+ import { ZodLiteralDef } from 'zod';
2
+ import { Refs } from '../Refs';
3
+
4
+ export type JsonSchema7LiteralType =
5
+ | {
6
+ type: 'string' | 'number' | 'integer' | 'boolean';
7
+ const: string | number | boolean;
8
+ }
9
+ | {
10
+ type: 'object' | 'array';
11
+ };
12
+
13
+ export function parseLiteralDef(def: ZodLiteralDef, refs: Refs): JsonSchema7LiteralType {
14
+ const parsedType = typeof def.value;
15
+ if (
16
+ parsedType !== 'bigint' &&
17
+ parsedType !== 'number' &&
18
+ parsedType !== 'boolean' &&
19
+ parsedType !== 'string'
20
+ ) {
21
+ return {
22
+ type: Array.isArray(def.value) ? 'array' : 'object',
23
+ };
24
+ }
25
+
26
+ if (refs.target === 'openApi3') {
27
+ return {
28
+ type: parsedType === 'bigint' ? 'integer' : parsedType,
29
+ enum: [def.value],
30
+ } as any;
31
+ }
32
+
33
+ return {
34
+ type: parsedType === 'bigint' ? 'integer' : parsedType,
35
+ const: def.value,
36
+ };
37
+ }
@@ -0,0 +1,42 @@
1
+ import { ZodMapDef } from 'zod';
2
+ import { JsonSchema7Type, parseDef } from '../parseDef';
3
+ import { Refs } from '../Refs';
4
+ import { JsonSchema7RecordType, parseRecordDef } from './record';
5
+
6
+ export type JsonSchema7MapType = {
7
+ type: 'array';
8
+ maxItems: 125;
9
+ items: {
10
+ type: 'array';
11
+ items: [JsonSchema7Type, JsonSchema7Type];
12
+ minItems: 2;
13
+ maxItems: 2;
14
+ };
15
+ };
16
+
17
+ export function parseMapDef(def: ZodMapDef, refs: Refs): JsonSchema7MapType | JsonSchema7RecordType {
18
+ if (refs.mapStrategy === 'record') {
19
+ return parseRecordDef(def, refs);
20
+ }
21
+
22
+ const keys =
23
+ parseDef(def.keyType._def, {
24
+ ...refs,
25
+ currentPath: [...refs.currentPath, 'items', 'items', '0'],
26
+ }) || {};
27
+ const values =
28
+ parseDef(def.valueType._def, {
29
+ ...refs,
30
+ currentPath: [...refs.currentPath, 'items', 'items', '1'],
31
+ }) || {};
32
+ return {
33
+ type: 'array',
34
+ maxItems: 125,
35
+ items: {
36
+ type: 'array',
37
+ items: [keys, values],
38
+ minItems: 2,
39
+ maxItems: 2,
40
+ },
41
+ };
42
+ }
@@ -0,0 +1,27 @@
1
+ import { ZodNativeEnumDef } from 'zod';
2
+
3
+ export type JsonSchema7NativeEnumType = {
4
+ type: 'string' | 'number' | ['string', 'number'];
5
+ enum: (string | number)[];
6
+ };
7
+
8
+ export function parseNativeEnumDef(def: ZodNativeEnumDef): JsonSchema7NativeEnumType {
9
+ const object = def.values;
10
+ const actualKeys = Object.keys(def.values).filter((key: string) => {
11
+ return typeof object[object[key]!] !== 'number';
12
+ });
13
+
14
+ const actualValues = actualKeys.map((key: string) => object[key]!);
15
+
16
+ const parsedTypes = Array.from(new Set(actualValues.map((values: string | number) => typeof values)));
17
+
18
+ return {
19
+ type:
20
+ parsedTypes.length === 1 ?
21
+ parsedTypes[0] === 'string' ?
22
+ 'string'
23
+ : 'number'
24
+ : ['string', 'number'],
25
+ enum: actualValues,
26
+ };
27
+ }
@@ -0,0 +1,9 @@
1
+ export type JsonSchema7NeverType = {
2
+ not: {};
3
+ };
4
+
5
+ export function parseNeverDef(): JsonSchema7NeverType {
6
+ return {
7
+ not: {},
8
+ };
9
+ }
@@ -0,0 +1,16 @@
1
+ import { Refs } from '../Refs';
2
+
3
+ export type JsonSchema7NullType = {
4
+ type: 'null';
5
+ };
6
+
7
+ export function parseNullDef(refs: Refs): JsonSchema7NullType {
8
+ return refs.target === 'openApi3' ?
9
+ ({
10
+ enum: ['null'],
11
+ nullable: true,
12
+ } as any)
13
+ : {
14
+ type: 'null',
15
+ };
16
+ }