openai 7.4.0 → 7.6.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 (2108) hide show
  1. package/CHANGELOG.md +424 -0
  2. package/README.md +59 -12
  3. package/_vendor/partial-json-parser/parser.d.mts.map +1 -1
  4. package/_vendor/partial-json-parser/parser.d.ts.map +1 -1
  5. package/_vendor/partial-json-parser/parser.js +52 -36
  6. package/_vendor/partial-json-parser/parser.js.map +1 -1
  7. package/_vendor/partial-json-parser/parser.mjs +52 -36
  8. package/_vendor/partial-json-parser/parser.mjs.map +1 -1
  9. package/_vendor/zod-to-json-schema/Options.d.mts +3 -3
  10. package/_vendor/zod-to-json-schema/Options.d.mts.map +1 -1
  11. package/_vendor/zod-to-json-schema/Options.d.ts +3 -3
  12. package/_vendor/zod-to-json-schema/Options.d.ts.map +1 -1
  13. package/_vendor/zod-to-json-schema/Options.js +9 -2
  14. package/_vendor/zod-to-json-schema/Options.js.map +1 -1
  15. package/_vendor/zod-to-json-schema/Options.mjs +9 -2
  16. package/_vendor/zod-to-json-schema/Options.mjs.map +1 -1
  17. package/_vendor/zod-to-json-schema/Refs.d.mts +2 -2
  18. package/_vendor/zod-to-json-schema/Refs.d.mts.map +1 -1
  19. package/_vendor/zod-to-json-schema/Refs.d.ts +2 -2
  20. package/_vendor/zod-to-json-schema/Refs.d.ts.map +1 -1
  21. package/_vendor/zod-to-json-schema/Refs.js +4 -4
  22. package/_vendor/zod-to-json-schema/Refs.js.map +1 -1
  23. package/_vendor/zod-to-json-schema/Refs.mjs +4 -4
  24. package/_vendor/zod-to-json-schema/Refs.mjs.map +1 -1
  25. package/_vendor/zod-to-json-schema/errorMessages.d.mts +2 -2
  26. package/_vendor/zod-to-json-schema/errorMessages.d.mts.map +1 -1
  27. package/_vendor/zod-to-json-schema/errorMessages.d.ts +2 -2
  28. package/_vendor/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  29. package/_vendor/zod-to-json-schema/errorMessages.js +2 -1
  30. package/_vendor/zod-to-json-schema/errorMessages.js.map +1 -1
  31. package/_vendor/zod-to-json-schema/errorMessages.mjs +2 -1
  32. package/_vendor/zod-to-json-schema/errorMessages.mjs.map +1 -1
  33. package/_vendor/zod-to-json-schema/index.d.mts +1 -1
  34. package/_vendor/zod-to-json-schema/index.d.mts.map +1 -1
  35. package/_vendor/zod-to-json-schema/index.d.ts +1 -1
  36. package/_vendor/zod-to-json-schema/index.d.ts.map +1 -1
  37. package/_vendor/zod-to-json-schema/index.js +1 -1
  38. package/_vendor/zod-to-json-schema/index.js.map +1 -1
  39. package/_vendor/zod-to-json-schema/index.mjs +1 -1
  40. package/_vendor/zod-to-json-schema/index.mjs.map +1 -1
  41. package/_vendor/zod-to-json-schema/parseDef.d.mts +24 -24
  42. package/_vendor/zod-to-json-schema/parseDef.d.mts.map +1 -1
  43. package/_vendor/zod-to-json-schema/parseDef.d.ts +24 -24
  44. package/_vendor/zod-to-json-schema/parseDef.d.ts.map +1 -1
  45. package/_vendor/zod-to-json-schema/parseDef.js +98 -40
  46. package/_vendor/zod-to-json-schema/parseDef.js.map +1 -1
  47. package/_vendor/zod-to-json-schema/parseDef.mjs +98 -40
  48. package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -1
  49. package/_vendor/zod-to-json-schema/parsers/array.d.mts +4 -4
  50. package/_vendor/zod-to-json-schema/parsers/array.d.mts.map +1 -1
  51. package/_vendor/zod-to-json-schema/parsers/array.d.ts +4 -4
  52. package/_vendor/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  53. package/_vendor/zod-to-json-schema/parsers/array.js +1 -1
  54. package/_vendor/zod-to-json-schema/parsers/array.js.map +1 -1
  55. package/_vendor/zod-to-json-schema/parsers/array.mjs +1 -1
  56. package/_vendor/zod-to-json-schema/parsers/array.mjs.map +1 -1
  57. package/_vendor/zod-to-json-schema/parsers/bigint.d.mts +8 -8
  58. package/_vendor/zod-to-json-schema/parsers/bigint.d.mts.map +1 -1
  59. package/_vendor/zod-to-json-schema/parsers/bigint.d.ts +8 -8
  60. package/_vendor/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  61. package/_vendor/zod-to-json-schema/parsers/bigint.js +8 -4
  62. package/_vendor/zod-to-json-schema/parsers/bigint.js.map +1 -1
  63. package/_vendor/zod-to-json-schema/parsers/bigint.mjs +8 -4
  64. package/_vendor/zod-to-json-schema/parsers/bigint.mjs.map +1 -1
  65. package/_vendor/zod-to-json-schema/parsers/branded.d.mts +3 -3
  66. package/_vendor/zod-to-json-schema/parsers/branded.d.mts.map +1 -1
  67. package/_vendor/zod-to-json-schema/parsers/branded.d.ts +3 -3
  68. package/_vendor/zod-to-json-schema/parsers/branded.d.ts.map +1 -1
  69. package/_vendor/zod-to-json-schema/parsers/catch.d.mts +3 -3
  70. package/_vendor/zod-to-json-schema/parsers/catch.d.mts.map +1 -1
  71. package/_vendor/zod-to-json-schema/parsers/catch.d.ts +3 -3
  72. package/_vendor/zod-to-json-schema/parsers/catch.d.ts.map +1 -1
  73. package/_vendor/zod-to-json-schema/parsers/catch.js +1 -3
  74. package/_vendor/zod-to-json-schema/parsers/catch.js.map +1 -1
  75. package/_vendor/zod-to-json-schema/parsers/catch.mjs +1 -3
  76. package/_vendor/zod-to-json-schema/parsers/catch.mjs.map +1 -1
  77. package/_vendor/zod-to-json-schema/parsers/date.d.mts +5 -5
  78. package/_vendor/zod-to-json-schema/parsers/date.d.mts.map +1 -1
  79. package/_vendor/zod-to-json-schema/parsers/date.d.ts +5 -5
  80. package/_vendor/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  81. package/_vendor/zod-to-json-schema/parsers/date.js +10 -5
  82. package/_vendor/zod-to-json-schema/parsers/date.js.map +1 -1
  83. package/_vendor/zod-to-json-schema/parsers/date.mjs +10 -5
  84. package/_vendor/zod-to-json-schema/parsers/date.mjs.map +1 -1
  85. package/_vendor/zod-to-json-schema/parsers/default.d.mts +3 -3
  86. package/_vendor/zod-to-json-schema/parsers/default.d.mts.map +1 -1
  87. package/_vendor/zod-to-json-schema/parsers/default.d.ts +3 -3
  88. package/_vendor/zod-to-json-schema/parsers/default.d.ts.map +1 -1
  89. package/_vendor/zod-to-json-schema/parsers/default.js.map +1 -1
  90. package/_vendor/zod-to-json-schema/parsers/default.mjs.map +1 -1
  91. package/_vendor/zod-to-json-schema/parsers/effects.d.mts +3 -3
  92. package/_vendor/zod-to-json-schema/parsers/effects.d.mts.map +1 -1
  93. package/_vendor/zod-to-json-schema/parsers/effects.d.ts +3 -3
  94. package/_vendor/zod-to-json-schema/parsers/effects.d.ts.map +1 -1
  95. package/_vendor/zod-to-json-schema/parsers/effects.js.map +1 -1
  96. package/_vendor/zod-to-json-schema/parsers/effects.mjs.map +1 -1
  97. package/_vendor/zod-to-json-schema/parsers/enum.d.mts +1 -1
  98. package/_vendor/zod-to-json-schema/parsers/enum.d.mts.map +1 -1
  99. package/_vendor/zod-to-json-schema/parsers/enum.d.ts +1 -1
  100. package/_vendor/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  101. package/_vendor/zod-to-json-schema/parsers/intersection.d.mts +3 -3
  102. package/_vendor/zod-to-json-schema/parsers/intersection.d.mts.map +1 -1
  103. package/_vendor/zod-to-json-schema/parsers/intersection.d.ts +3 -3
  104. package/_vendor/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  105. package/_vendor/zod-to-json-schema/parsers/intersection.js +6 -5
  106. package/_vendor/zod-to-json-schema/parsers/intersection.js.map +1 -1
  107. package/_vendor/zod-to-json-schema/parsers/intersection.mjs +6 -5
  108. package/_vendor/zod-to-json-schema/parsers/intersection.mjs.map +1 -1
  109. package/_vendor/zod-to-json-schema/parsers/literal.d.mts +5 -2
  110. package/_vendor/zod-to-json-schema/parsers/literal.d.mts.map +1 -1
  111. package/_vendor/zod-to-json-schema/parsers/literal.d.ts +5 -2
  112. package/_vendor/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  113. package/_vendor/zod-to-json-schema/parsers/literal.js +4 -0
  114. package/_vendor/zod-to-json-schema/parsers/literal.js.map +1 -1
  115. package/_vendor/zod-to-json-schema/parsers/literal.mjs +4 -0
  116. package/_vendor/zod-to-json-schema/parsers/literal.mjs.map +1 -1
  117. package/_vendor/zod-to-json-schema/parsers/map.d.mts +4 -4
  118. package/_vendor/zod-to-json-schema/parsers/map.d.mts.map +1 -1
  119. package/_vendor/zod-to-json-schema/parsers/map.d.ts +4 -4
  120. package/_vendor/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  121. package/_vendor/zod-to-json-schema/parsers/map.js.map +1 -1
  122. package/_vendor/zod-to-json-schema/parsers/map.mjs.map +1 -1
  123. package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.mts +1 -1
  124. package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.mts.map +1 -1
  125. package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.ts +1 -1
  126. package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  127. package/_vendor/zod-to-json-schema/parsers/nativeEnum.js +7 -9
  128. package/_vendor/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
  129. package/_vendor/zod-to-json-schema/parsers/nativeEnum.mjs +7 -9
  130. package/_vendor/zod-to-json-schema/parsers/nativeEnum.mjs.map +1 -1
  131. package/_vendor/zod-to-json-schema/parsers/null.d.mts +1 -1
  132. package/_vendor/zod-to-json-schema/parsers/null.d.mts.map +1 -1
  133. package/_vendor/zod-to-json-schema/parsers/null.d.ts +1 -1
  134. package/_vendor/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  135. package/_vendor/zod-to-json-schema/parsers/null.js +2 -2
  136. package/_vendor/zod-to-json-schema/parsers/null.js.map +1 -1
  137. package/_vendor/zod-to-json-schema/parsers/null.mjs +2 -2
  138. package/_vendor/zod-to-json-schema/parsers/null.mjs.map +1 -1
  139. package/_vendor/zod-to-json-schema/parsers/nullable.d.mts +4 -4
  140. package/_vendor/zod-to-json-schema/parsers/nullable.d.mts.map +1 -1
  141. package/_vendor/zod-to-json-schema/parsers/nullable.d.ts +4 -4
  142. package/_vendor/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  143. package/_vendor/zod-to-json-schema/parsers/nullable.js +2 -1
  144. package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -1
  145. package/_vendor/zod-to-json-schema/parsers/nullable.mjs +2 -1
  146. package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -1
  147. package/_vendor/zod-to-json-schema/parsers/number.d.mts +3 -3
  148. package/_vendor/zod-to-json-schema/parsers/number.d.mts.map +1 -1
  149. package/_vendor/zod-to-json-schema/parsers/number.d.ts +3 -3
  150. package/_vendor/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  151. package/_vendor/zod-to-json-schema/parsers/number.js +10 -5
  152. package/_vendor/zod-to-json-schema/parsers/number.js.map +1 -1
  153. package/_vendor/zod-to-json-schema/parsers/number.mjs +10 -5
  154. package/_vendor/zod-to-json-schema/parsers/number.mjs.map +1 -1
  155. package/_vendor/zod-to-json-schema/parsers/object.d.mts +3 -3
  156. package/_vendor/zod-to-json-schema/parsers/object.d.mts.map +1 -1
  157. package/_vendor/zod-to-json-schema/parsers/object.d.ts +3 -3
  158. package/_vendor/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  159. package/_vendor/zod-to-json-schema/parsers/object.js +43 -38
  160. package/_vendor/zod-to-json-schema/parsers/object.js.map +1 -1
  161. package/_vendor/zod-to-json-schema/parsers/object.mjs +43 -38
  162. package/_vendor/zod-to-json-schema/parsers/object.mjs.map +1 -1
  163. package/_vendor/zod-to-json-schema/parsers/optional.d.mts +3 -3
  164. package/_vendor/zod-to-json-schema/parsers/optional.d.mts.map +1 -1
  165. package/_vendor/zod-to-json-schema/parsers/optional.d.ts +3 -3
  166. package/_vendor/zod-to-json-schema/parsers/optional.d.ts.map +1 -1
  167. package/_vendor/zod-to-json-schema/parsers/optional.js +2 -2
  168. package/_vendor/zod-to-json-schema/parsers/optional.js.map +1 -1
  169. package/_vendor/zod-to-json-schema/parsers/optional.mjs +2 -2
  170. package/_vendor/zod-to-json-schema/parsers/optional.mjs.map +1 -1
  171. package/_vendor/zod-to-json-schema/parsers/pipeline.d.mts +4 -4
  172. package/_vendor/zod-to-json-schema/parsers/pipeline.d.mts.map +1 -1
  173. package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts +4 -4
  174. package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts.map +1 -1
  175. package/_vendor/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  176. package/_vendor/zod-to-json-schema/parsers/pipeline.mjs.map +1 -1
  177. package/_vendor/zod-to-json-schema/parsers/promise.d.mts +3 -3
  178. package/_vendor/zod-to-json-schema/parsers/promise.d.mts.map +1 -1
  179. package/_vendor/zod-to-json-schema/parsers/promise.d.ts +3 -3
  180. package/_vendor/zod-to-json-schema/parsers/promise.d.ts.map +1 -1
  181. package/_vendor/zod-to-json-schema/parsers/promise.js.map +1 -1
  182. package/_vendor/zod-to-json-schema/parsers/promise.mjs.map +1 -1
  183. package/_vendor/zod-to-json-schema/parsers/readonly.d.mts +3 -3
  184. package/_vendor/zod-to-json-schema/parsers/readonly.d.mts.map +1 -1
  185. package/_vendor/zod-to-json-schema/parsers/readonly.d.ts +3 -3
  186. package/_vendor/zod-to-json-schema/parsers/readonly.d.ts.map +1 -1
  187. package/_vendor/zod-to-json-schema/parsers/readonly.js +1 -3
  188. package/_vendor/zod-to-json-schema/parsers/readonly.js.map +1 -1
  189. package/_vendor/zod-to-json-schema/parsers/readonly.mjs +1 -3
  190. package/_vendor/zod-to-json-schema/parsers/readonly.mjs.map +1 -1
  191. package/_vendor/zod-to-json-schema/parsers/record.d.mts +5 -5
  192. package/_vendor/zod-to-json-schema/parsers/record.d.mts.map +1 -1
  193. package/_vendor/zod-to-json-schema/parsers/record.d.ts +5 -5
  194. package/_vendor/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  195. package/_vendor/zod-to-json-schema/parsers/record.js +5 -5
  196. package/_vendor/zod-to-json-schema/parsers/record.js.map +1 -1
  197. package/_vendor/zod-to-json-schema/parsers/record.mjs +5 -5
  198. package/_vendor/zod-to-json-schema/parsers/record.mjs.map +1 -1
  199. package/_vendor/zod-to-json-schema/parsers/set.d.mts +4 -4
  200. package/_vendor/zod-to-json-schema/parsers/set.d.mts.map +1 -1
  201. package/_vendor/zod-to-json-schema/parsers/set.d.ts +4 -4
  202. package/_vendor/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  203. package/_vendor/zod-to-json-schema/parsers/set.js.map +1 -1
  204. package/_vendor/zod-to-json-schema/parsers/set.mjs.map +1 -1
  205. package/_vendor/zod-to-json-schema/parsers/string.d.mts +3 -3
  206. package/_vendor/zod-to-json-schema/parsers/string.d.mts.map +1 -1
  207. package/_vendor/zod-to-json-schema/parsers/string.d.ts +3 -3
  208. package/_vendor/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  209. package/_vendor/zod-to-json-schema/parsers/string.js +55 -33
  210. package/_vendor/zod-to-json-schema/parsers/string.js.map +1 -1
  211. package/_vendor/zod-to-json-schema/parsers/string.mjs +55 -33
  212. package/_vendor/zod-to-json-schema/parsers/string.mjs.map +1 -1
  213. package/_vendor/zod-to-json-schema/parsers/tuple.d.mts +3 -3
  214. package/_vendor/zod-to-json-schema/parsers/tuple.d.mts.map +1 -1
  215. package/_vendor/zod-to-json-schema/parsers/tuple.d.ts +3 -3
  216. package/_vendor/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  217. package/_vendor/zod-to-json-schema/parsers/tuple.js +12 -14
  218. package/_vendor/zod-to-json-schema/parsers/tuple.js.map +1 -1
  219. package/_vendor/zod-to-json-schema/parsers/tuple.mjs +12 -14
  220. package/_vendor/zod-to-json-schema/parsers/tuple.mjs.map +1 -1
  221. package/_vendor/zod-to-json-schema/parsers/union.d.mts +3 -3
  222. package/_vendor/zod-to-json-schema/parsers/union.d.mts.map +1 -1
  223. package/_vendor/zod-to-json-schema/parsers/union.d.ts +3 -3
  224. package/_vendor/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  225. package/_vendor/zod-to-json-schema/parsers/union.js +43 -24
  226. package/_vendor/zod-to-json-schema/parsers/union.js.map +1 -1
  227. package/_vendor/zod-to-json-schema/parsers/union.mjs +43 -24
  228. package/_vendor/zod-to-json-schema/parsers/union.mjs.map +1 -1
  229. package/_vendor/zod-to-json-schema/util.d.mts +1 -1
  230. package/_vendor/zod-to-json-schema/util.d.mts.map +1 -1
  231. package/_vendor/zod-to-json-schema/util.d.ts +1 -1
  232. package/_vendor/zod-to-json-schema/util.d.ts.map +1 -1
  233. package/_vendor/zod-to-json-schema/util.js +6 -5
  234. package/_vendor/zod-to-json-schema/util.js.map +1 -1
  235. package/_vendor/zod-to-json-schema/util.mjs +6 -5
  236. package/_vendor/zod-to-json-schema/util.mjs.map +1 -1
  237. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.mts +4 -6
  238. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.mts.map +1 -1
  239. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts +4 -6
  240. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts.map +1 -1
  241. package/_vendor/zod-to-json-schema/zodToJsonSchema.js +102 -36
  242. package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  243. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +102 -36
  244. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs.map +1 -1
  245. package/auth/index.d.mts +1 -1
  246. package/auth/index.d.mts.map +1 -1
  247. package/auth/index.d.ts +1 -1
  248. package/auth/index.d.ts.map +1 -1
  249. package/auth/index.js.map +1 -1
  250. package/auth/index.mjs.map +1 -1
  251. package/auth/subject-token-providers.d.mts +52 -0
  252. package/auth/subject-token-providers.d.mts.map +1 -1
  253. package/auth/subject-token-providers.d.ts +52 -0
  254. package/auth/subject-token-providers.d.ts.map +1 -1
  255. package/auth/subject-token-providers.js +222 -7
  256. package/auth/subject-token-providers.js.map +1 -1
  257. package/auth/subject-token-providers.mjs +222 -7
  258. package/auth/subject-token-providers.mjs.map +1 -1
  259. package/auth/types.d.mts +31 -5
  260. package/auth/types.d.mts.map +1 -1
  261. package/auth/types.d.ts +31 -5
  262. package/auth/types.d.ts.map +1 -1
  263. package/auth/workload-identity-auth.d.mts +26 -1
  264. package/auth/workload-identity-auth.d.mts.map +1 -1
  265. package/auth/workload-identity-auth.d.ts +26 -1
  266. package/auth/workload-identity-auth.d.ts.map +1 -1
  267. package/auth/workload-identity-auth.js +139 -22
  268. package/auth/workload-identity-auth.js.map +1 -1
  269. package/auth/workload-identity-auth.mjs +139 -22
  270. package/auth/workload-identity-auth.mjs.map +1 -1
  271. package/auth/x509-transport.d.mts +5 -0
  272. package/auth/x509-transport.d.mts.map +1 -0
  273. package/auth/x509-transport.d.ts +5 -0
  274. package/auth/x509-transport.d.ts.map +1 -0
  275. package/auth/x509-transport.js +39 -0
  276. package/auth/x509-transport.js.map +1 -0
  277. package/auth/x509-transport.mjs +36 -0
  278. package/auth/x509-transport.mjs.map +1 -0
  279. package/azure.d.mts +38 -16
  280. package/azure.d.mts.map +1 -1
  281. package/azure.d.ts +38 -16
  282. package/azure.d.ts.map +1 -1
  283. package/azure.js +36 -19
  284. package/azure.js.map +1 -1
  285. package/azure.mjs +36 -19
  286. package/azure.mjs.map +1 -1
  287. package/bedrock.d.mts +23 -5
  288. package/bedrock.d.mts.map +1 -1
  289. package/bedrock.d.ts +23 -5
  290. package/bedrock.d.ts.map +1 -1
  291. package/bedrock.js +69 -8
  292. package/bedrock.js.map +1 -1
  293. package/bedrock.mjs +69 -8
  294. package/bedrock.mjs.map +1 -1
  295. package/beta/realtime/internal-base.d.mts +47 -4
  296. package/beta/realtime/internal-base.d.mts.map +1 -1
  297. package/beta/realtime/internal-base.d.ts +47 -4
  298. package/beta/realtime/internal-base.d.ts.map +1 -1
  299. package/beta/realtime/internal-base.js +53 -10
  300. package/beta/realtime/internal-base.js.map +1 -1
  301. package/beta/realtime/internal-base.mjs +52 -10
  302. package/beta/realtime/internal-base.mjs.map +1 -1
  303. package/beta/realtime/websocket.d.mts +63 -4
  304. package/beta/realtime/websocket.d.mts.map +1 -1
  305. package/beta/realtime/websocket.d.ts +63 -4
  306. package/beta/realtime/websocket.d.ts.map +1 -1
  307. package/beta/realtime/websocket.js +161 -26
  308. package/beta/realtime/websocket.js.map +1 -1
  309. package/beta/realtime/websocket.mjs +162 -27
  310. package/beta/realtime/websocket.mjs.map +1 -1
  311. package/beta/realtime/ws.d.mts +51 -3
  312. package/beta/realtime/ws.d.mts.map +1 -1
  313. package/beta/realtime/ws.d.ts +51 -3
  314. package/beta/realtime/ws.d.ts.map +1 -1
  315. package/beta/realtime/ws.js +82 -9
  316. package/beta/realtime/ws.js.map +1 -1
  317. package/beta/realtime/ws.mjs +83 -10
  318. package/beta/realtime/ws.mjs.map +1 -1
  319. package/client.d.mts +40 -2
  320. package/client.d.mts.map +1 -1
  321. package/client.d.ts +40 -2
  322. package/client.d.ts.map +1 -1
  323. package/client.js +597 -75
  324. package/client.js.map +1 -1
  325. package/client.mjs +598 -76
  326. package/client.mjs.map +1 -1
  327. package/core/EventEmitter.d.mts +10 -6
  328. package/core/EventEmitter.d.mts.map +1 -1
  329. package/core/EventEmitter.d.ts +10 -6
  330. package/core/EventEmitter.d.ts.map +1 -1
  331. package/core/EventEmitter.js +98 -16
  332. package/core/EventEmitter.js.map +1 -1
  333. package/core/EventEmitter.mjs +99 -17
  334. package/core/EventEmitter.mjs.map +1 -1
  335. package/core/api-promise.d.mts.map +1 -1
  336. package/core/api-promise.d.ts.map +1 -1
  337. package/core/api-promise.js +0 -1
  338. package/core/api-promise.js.map +1 -1
  339. package/core/api-promise.mjs +0 -1
  340. package/core/api-promise.mjs.map +1 -1
  341. package/core/error.d.mts.map +1 -1
  342. package/core/error.d.ts.map +1 -1
  343. package/core/error.js +5 -5
  344. package/core/error.js.map +1 -1
  345. package/core/error.mjs +5 -5
  346. package/core/error.mjs.map +1 -1
  347. package/core/pagination.d.mts.map +1 -1
  348. package/core/pagination.d.ts.map +1 -1
  349. package/core/pagination.js +0 -1
  350. package/core/pagination.js.map +1 -1
  351. package/core/pagination.mjs +0 -1
  352. package/core/pagination.mjs.map +1 -1
  353. package/core/resource.d.mts.map +1 -1
  354. package/core/resource.d.ts.map +1 -1
  355. package/core/resource.js +0 -1
  356. package/core/resource.js.map +1 -1
  357. package/core/resource.mjs +0 -1
  358. package/core/resource.mjs.map +1 -1
  359. package/core/streaming.d.mts +29 -2
  360. package/core/streaming.d.mts.map +1 -1
  361. package/core/streaming.d.ts +29 -2
  362. package/core/streaming.d.ts.map +1 -1
  363. package/core/streaming.js +177 -75
  364. package/core/streaming.js.map +1 -1
  365. package/core/streaming.mjs +177 -75
  366. package/core/streaming.mjs.map +1 -1
  367. package/helpers/audio.d.mts +29 -0
  368. package/helpers/audio.d.mts.map +1 -1
  369. package/helpers/audio.d.ts +29 -0
  370. package/helpers/audio.d.ts.map +1 -1
  371. package/helpers/audio.js +163 -28
  372. package/helpers/audio.js.map +1 -1
  373. package/helpers/audio.mjs +163 -28
  374. package/helpers/audio.mjs.map +1 -1
  375. package/helpers/standard-schema.d.mts +154 -18
  376. package/helpers/standard-schema.d.mts.map +1 -1
  377. package/helpers/standard-schema.d.ts +154 -18
  378. package/helpers/standard-schema.d.ts.map +1 -1
  379. package/helpers/standard-schema.js +92 -29
  380. package/helpers/standard-schema.js.map +1 -1
  381. package/helpers/standard-schema.mjs +93 -30
  382. package/helpers/standard-schema.mjs.map +1 -1
  383. package/helpers/zod-v3-strict-schema.d.mts +7 -0
  384. package/helpers/zod-v3-strict-schema.d.mts.map +1 -0
  385. package/helpers/zod-v3-strict-schema.d.ts +7 -0
  386. package/helpers/zod-v3-strict-schema.d.ts.map +1 -0
  387. package/helpers/zod-v3-strict-schema.js +403 -0
  388. package/helpers/zod-v3-strict-schema.js.map +1 -0
  389. package/helpers/zod-v3-strict-schema.mjs +399 -0
  390. package/helpers/zod-v3-strict-schema.mjs.map +1 -0
  391. package/helpers/zod.d.mts +79 -5
  392. package/helpers/zod.d.mts.map +1 -1
  393. package/helpers/zod.d.ts +79 -5
  394. package/helpers/zod.d.ts.map +1 -1
  395. package/helpers/zod.js +84 -23
  396. package/helpers/zod.js.map +1 -1
  397. package/helpers/zod.mjs +86 -25
  398. package/helpers/zod.mjs.map +1 -1
  399. package/index.d.mts +2 -2
  400. package/index.d.mts.map +1 -1
  401. package/index.d.ts +2 -2
  402. package/index.d.ts.map +1 -1
  403. package/index.js +0 -1
  404. package/index.js.map +1 -1
  405. package/index.mjs +0 -1
  406. package/index.mjs.map +1 -1
  407. package/internal/assistant-stream-delta.d.mts +7 -0
  408. package/internal/assistant-stream-delta.d.mts.map +1 -0
  409. package/internal/assistant-stream-delta.d.ts +7 -0
  410. package/internal/assistant-stream-delta.d.ts.map +1 -0
  411. package/internal/assistant-stream-delta.js +309 -0
  412. package/internal/assistant-stream-delta.js.map +1 -0
  413. package/internal/assistant-stream-delta.mjs +301 -0
  414. package/internal/assistant-stream-delta.mjs.map +1 -0
  415. package/internal/auth/x509-token-exchange.d.mts +16 -0
  416. package/internal/auth/x509-token-exchange.d.mts.map +1 -0
  417. package/internal/auth/x509-token-exchange.d.ts +16 -0
  418. package/internal/auth/x509-token-exchange.d.ts.map +1 -0
  419. package/internal/auth/x509-token-exchange.js +246 -0
  420. package/internal/auth/x509-token-exchange.js.map +1 -0
  421. package/internal/auth/x509-token-exchange.mjs +243 -0
  422. package/internal/auth/x509-token-exchange.mjs.map +1 -0
  423. package/internal/auth/x509-transport-capability.d.mts +37 -0
  424. package/internal/auth/x509-transport-capability.d.mts.map +1 -0
  425. package/internal/auth/x509-transport-capability.d.ts +37 -0
  426. package/internal/auth/x509-transport-capability.d.ts.map +1 -0
  427. package/internal/auth/x509-transport-capability.js +169 -0
  428. package/internal/auth/x509-transport-capability.js.map +1 -0
  429. package/internal/auth/x509-transport-capability.mjs +164 -0
  430. package/internal/auth/x509-transport-capability.mjs.map +1 -0
  431. package/internal/auth/x509-transport-registry.d.mts +63 -0
  432. package/internal/auth/x509-transport-registry.d.mts.map +1 -0
  433. package/internal/auth/x509-transport-registry.d.ts +63 -0
  434. package/internal/auth/x509-transport-registry.d.ts.map +1 -0
  435. package/internal/auth/x509-transport-registry.js +53 -0
  436. package/internal/auth/x509-transport-registry.js.map +1 -0
  437. package/internal/auth/x509-transport-registry.mjs +48 -0
  438. package/internal/auth/x509-transport-registry.mjs.map +1 -0
  439. package/internal/auth/x509-transport-state-browser.d.mts +21 -0
  440. package/internal/auth/x509-transport-state-browser.d.mts.map +1 -0
  441. package/internal/auth/x509-transport-state-browser.d.ts +21 -0
  442. package/internal/auth/x509-transport-state-browser.d.ts.map +1 -0
  443. package/internal/auth/x509-transport-state-browser.js +30 -0
  444. package/internal/auth/x509-transport-state-browser.js.map +1 -0
  445. package/internal/auth/x509-transport-state-browser.mjs +27 -0
  446. package/internal/auth/x509-transport-state-browser.mjs.map +1 -0
  447. package/internal/auth/x509-transport-state.cjs +30 -0
  448. package/internal/auth/x509-transport-state.cjs.map +1 -0
  449. package/internal/auth/x509-transport-state.d.cts +21 -0
  450. package/internal/auth/x509-transport-state.d.cts.map +1 -0
  451. package/internal/auth/x509-workload-identity-auth.d.mts +128 -0
  452. package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -0
  453. package/internal/auth/x509-workload-identity-auth.d.ts +128 -0
  454. package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -0
  455. package/internal/auth/x509-workload-identity-auth.js +767 -0
  456. package/internal/auth/x509-workload-identity-auth.js.map +1 -0
  457. package/internal/auth/x509-workload-identity-auth.mjs +757 -0
  458. package/internal/auth/x509-workload-identity-auth.mjs.map +1 -0
  459. package/internal/bedrock.d.mts +82 -5
  460. package/internal/bedrock.d.mts.map +1 -1
  461. package/internal/bedrock.d.ts +82 -5
  462. package/internal/bedrock.d.ts.map +1 -1
  463. package/internal/bedrock.js +312 -13
  464. package/internal/bedrock.js.map +1 -1
  465. package/internal/bedrock.mjs +307 -13
  466. package/internal/bedrock.mjs.map +1 -1
  467. package/internal/builtin-types.d.mts.map +1 -1
  468. package/internal/builtin-types.d.ts.map +1 -1
  469. package/internal/builtin-types.js +0 -1
  470. package/internal/builtin-types.js.map +1 -1
  471. package/internal/builtin-types.mjs +0 -1
  472. package/internal/builtin-types.mjs.map +1 -1
  473. package/internal/data-residency.d.mts +12 -0
  474. package/internal/data-residency.d.mts.map +1 -0
  475. package/internal/data-residency.d.ts +12 -0
  476. package/internal/data-residency.d.ts.map +1 -0
  477. package/internal/data-residency.js +34 -0
  478. package/internal/data-residency.js.map +1 -0
  479. package/internal/data-residency.mjs +30 -0
  480. package/internal/data-residency.mjs.map +1 -0
  481. package/internal/decoders/line.d.mts +25 -2
  482. package/internal/decoders/line.d.mts.map +1 -1
  483. package/internal/decoders/line.d.ts +25 -2
  484. package/internal/decoders/line.d.ts.map +1 -1
  485. package/internal/decoders/line.js +139 -54
  486. package/internal/decoders/line.js.map +1 -1
  487. package/internal/decoders/line.mjs +140 -55
  488. package/internal/decoders/line.mjs.map +1 -1
  489. package/internal/detect-platform.d.mts.map +1 -1
  490. package/internal/detect-platform.d.ts.map +1 -1
  491. package/internal/detect-platform.js +1 -2
  492. package/internal/detect-platform.js.map +1 -1
  493. package/internal/detect-platform.mjs +1 -2
  494. package/internal/detect-platform.mjs.map +1 -1
  495. package/internal/errors.d.mts.map +1 -1
  496. package/internal/errors.d.ts.map +1 -1
  497. package/internal/errors.js +0 -1
  498. package/internal/errors.js.map +1 -1
  499. package/internal/errors.mjs +0 -1
  500. package/internal/errors.mjs.map +1 -1
  501. package/internal/headers.d.mts.map +1 -1
  502. package/internal/headers.d.ts.map +1 -1
  503. package/internal/headers.js +0 -1
  504. package/internal/headers.js.map +1 -1
  505. package/internal/headers.mjs +0 -1
  506. package/internal/headers.mjs.map +1 -1
  507. package/internal/multipart-encoding.d.mts +8 -0
  508. package/internal/multipart-encoding.d.mts.map +1 -0
  509. package/internal/multipart-encoding.d.ts +8 -0
  510. package/internal/multipart-encoding.d.ts.map +1 -0
  511. package/internal/multipart-encoding.js +51 -0
  512. package/internal/multipart-encoding.js.map +1 -0
  513. package/internal/multipart-encoding.mjs +48 -0
  514. package/internal/multipart-encoding.mjs.map +1 -0
  515. package/internal/parse.d.mts.map +1 -1
  516. package/internal/parse.d.ts.map +1 -1
  517. package/internal/parse.js +23 -3
  518. package/internal/parse.js.map +1 -1
  519. package/internal/parse.mjs +23 -3
  520. package/internal/parse.mjs.map +1 -1
  521. package/internal/provider.d.mts +26 -0
  522. package/internal/provider.d.mts.map +1 -1
  523. package/internal/provider.d.ts +26 -0
  524. package/internal/provider.d.ts.map +1 -1
  525. package/internal/provider.js +11 -0
  526. package/internal/provider.js.map +1 -1
  527. package/internal/provider.mjs +11 -0
  528. package/internal/provider.mjs.map +1 -1
  529. package/internal/qs/formats.d.mts +1 -1
  530. package/internal/qs/formats.d.mts.map +1 -1
  531. package/internal/qs/formats.d.ts +1 -1
  532. package/internal/qs/formats.d.ts.map +1 -1
  533. package/internal/qs/formats.js +1 -2
  534. package/internal/qs/formats.js.map +1 -1
  535. package/internal/qs/formats.mjs +1 -1
  536. package/internal/qs/formats.mjs.map +1 -1
  537. package/internal/qs/stringify.d.mts.map +1 -1
  538. package/internal/qs/stringify.d.ts.map +1 -1
  539. package/internal/qs/stringify.js +57 -51
  540. package/internal/qs/stringify.js.map +1 -1
  541. package/internal/qs/stringify.mjs +57 -51
  542. package/internal/qs/stringify.mjs.map +1 -1
  543. package/internal/qs/types.d.mts +1 -1
  544. package/internal/qs/types.d.mts.map +1 -1
  545. package/internal/qs/types.d.ts +1 -1
  546. package/internal/qs/types.d.ts.map +1 -1
  547. package/internal/qs/utils.d.mts +1 -1
  548. package/internal/qs/utils.d.mts.map +1 -1
  549. package/internal/qs/utils.d.ts +1 -1
  550. package/internal/qs/utils.d.ts.map +1 -1
  551. package/internal/qs/utils.js +356 -50
  552. package/internal/qs/utils.js.map +1 -1
  553. package/internal/qs/utils.mjs +356 -50
  554. package/internal/qs/utils.mjs.map +1 -1
  555. package/internal/request-options.d.mts +7 -0
  556. package/internal/request-options.d.mts.map +1 -1
  557. package/internal/request-options.d.ts +7 -0
  558. package/internal/request-options.d.ts.map +1 -1
  559. package/internal/request-options.js +43 -2
  560. package/internal/request-options.js.map +1 -1
  561. package/internal/request-options.mjs +42 -2
  562. package/internal/request-options.mjs.map +1 -1
  563. package/internal/responses/canonical-output-text.d.mts +16 -0
  564. package/internal/responses/canonical-output-text.d.mts.map +1 -0
  565. package/internal/responses/canonical-output-text.d.ts +16 -0
  566. package/internal/responses/canonical-output-text.d.ts.map +1 -0
  567. package/internal/responses/canonical-output-text.js +123 -0
  568. package/internal/responses/canonical-output-text.js.map +1 -0
  569. package/internal/responses/canonical-output-text.mjs +115 -0
  570. package/internal/responses/canonical-output-text.mjs.map +1 -0
  571. package/internal/responses/output-text-index.d.mts +18 -0
  572. package/internal/responses/output-text-index.d.mts.map +1 -0
  573. package/internal/responses/output-text-index.d.ts +18 -0
  574. package/internal/responses/output-text-index.d.ts.map +1 -0
  575. package/internal/responses/output-text-index.js +77 -0
  576. package/internal/responses/output-text-index.js.map +1 -0
  577. package/internal/responses/output-text-index.mjs +73 -0
  578. package/internal/responses/output-text-index.mjs.map +1 -0
  579. package/internal/responses/response-accumulator.d.mts +11 -0
  580. package/internal/responses/response-accumulator.d.mts.map +1 -0
  581. package/internal/responses/response-accumulator.d.ts +11 -0
  582. package/internal/responses/response-accumulator.d.ts.map +1 -0
  583. package/internal/responses/response-accumulator.js +925 -0
  584. package/internal/responses/response-accumulator.js.map +1 -0
  585. package/internal/responses/response-accumulator.mjs +921 -0
  586. package/internal/responses/response-accumulator.mjs.map +1 -0
  587. package/internal/shim-types.d.mts.map +1 -1
  588. package/internal/shim-types.d.ts.map +1 -1
  589. package/internal/shim-types.js +6 -1
  590. package/internal/shim-types.js.map +1 -1
  591. package/internal/shim-types.mjs +6 -1
  592. package/internal/shim-types.mjs.map +1 -1
  593. package/internal/shims.d.mts.map +1 -1
  594. package/internal/shims.d.ts.map +1 -1
  595. package/internal/shims.js +6 -1
  596. package/internal/shims.js.map +1 -1
  597. package/internal/shims.mjs +6 -1
  598. package/internal/shims.mjs.map +1 -1
  599. package/internal/stream-utils.d.mts +10 -3
  600. package/internal/stream-utils.d.mts.map +1 -1
  601. package/internal/stream-utils.d.ts +10 -3
  602. package/internal/stream-utils.d.ts.map +1 -1
  603. package/internal/stream-utils.js +35 -7
  604. package/internal/stream-utils.js.map +1 -1
  605. package/internal/stream-utils.mjs +35 -7
  606. package/internal/stream-utils.mjs.map +1 -1
  607. package/internal/to-file.d.mts +39 -17
  608. package/internal/to-file.d.mts.map +1 -1
  609. package/internal/to-file.d.ts +39 -17
  610. package/internal/to-file.d.ts.map +1 -1
  611. package/internal/to-file.js +44 -22
  612. package/internal/to-file.js.map +1 -1
  613. package/internal/to-file.mjs +44 -22
  614. package/internal/to-file.mjs.map +1 -1
  615. package/internal/tslib.js +6 -0
  616. package/internal/tslib.mjs +6 -1
  617. package/internal/types.d.mts +4 -4
  618. package/internal/types.d.mts.map +1 -1
  619. package/internal/types.d.ts +4 -4
  620. package/internal/types.d.ts.map +1 -1
  621. package/internal/types.js +0 -1
  622. package/internal/types.js.map +1 -1
  623. package/internal/types.mjs +0 -1
  624. package/internal/types.mjs.map +1 -1
  625. package/internal/uploads.d.mts +84 -14
  626. package/internal/uploads.d.mts.map +1 -1
  627. package/internal/uploads.d.ts +84 -14
  628. package/internal/uploads.d.ts.map +1 -1
  629. package/internal/uploads.js +212 -75
  630. package/internal/uploads.js.map +1 -1
  631. package/internal/uploads.mjs +212 -75
  632. package/internal/uploads.mjs.map +1 -1
  633. package/internal/utils/base64.d.mts.map +1 -1
  634. package/internal/utils/base64.d.ts.map +1 -1
  635. package/internal/utils/base64.js +0 -1
  636. package/internal/utils/base64.js.map +1 -1
  637. package/internal/utils/base64.mjs +0 -1
  638. package/internal/utils/base64.mjs.map +1 -1
  639. package/internal/utils/bytes.d.mts +3 -0
  640. package/internal/utils/bytes.d.mts.map +1 -1
  641. package/internal/utils/bytes.d.ts +3 -0
  642. package/internal/utils/bytes.d.ts.map +1 -1
  643. package/internal/utils/bytes.js +3 -0
  644. package/internal/utils/bytes.js.map +1 -1
  645. package/internal/utils/bytes.mjs +3 -0
  646. package/internal/utils/bytes.mjs.map +1 -1
  647. package/internal/utils/env.d.mts.map +1 -1
  648. package/internal/utils/env.d.ts.map +1 -1
  649. package/internal/utils/env.js +9 -5
  650. package/internal/utils/env.js.map +1 -1
  651. package/internal/utils/env.mjs +9 -5
  652. package/internal/utils/env.mjs.map +1 -1
  653. package/internal/utils/log.d.mts.map +1 -1
  654. package/internal/utils/log.d.ts.map +1 -1
  655. package/internal/utils/log.js +3 -4
  656. package/internal/utils/log.js.map +1 -1
  657. package/internal/utils/log.mjs +3 -4
  658. package/internal/utils/log.mjs.map +1 -1
  659. package/internal/utils/path.d.mts +14 -2
  660. package/internal/utils/path.d.mts.map +1 -1
  661. package/internal/utils/path.d.ts +14 -2
  662. package/internal/utils/path.d.ts.map +1 -1
  663. package/internal/utils/path.js +48 -30
  664. package/internal/utils/path.js.map +1 -1
  665. package/internal/utils/path.mjs +48 -30
  666. package/internal/utils/path.mjs.map +1 -1
  667. package/internal/utils/query.d.mts.map +1 -1
  668. package/internal/utils/query.d.ts.map +1 -1
  669. package/internal/utils/query.js +0 -1
  670. package/internal/utils/query.js.map +1 -1
  671. package/internal/utils/query.mjs +0 -1
  672. package/internal/utils/query.mjs.map +1 -1
  673. package/internal/utils/sleep.d.mts.map +1 -1
  674. package/internal/utils/sleep.d.ts.map +1 -1
  675. package/internal/utils/sleep.js +0 -1
  676. package/internal/utils/sleep.js.map +1 -1
  677. package/internal/utils/sleep.mjs +0 -1
  678. package/internal/utils/sleep.mjs.map +1 -1
  679. package/internal/utils/uuid.d.mts.map +1 -1
  680. package/internal/utils/uuid.d.ts.map +1 -1
  681. package/internal/utils/uuid.js +0 -1
  682. package/internal/utils/uuid.js.map +1 -1
  683. package/internal/utils/uuid.mjs +0 -1
  684. package/internal/utils/uuid.mjs.map +1 -1
  685. package/internal/utils/values.d.mts.map +1 -1
  686. package/internal/utils/values.d.ts.map +1 -1
  687. package/internal/utils/values.js +0 -1
  688. package/internal/utils/values.js.map +1 -1
  689. package/internal/utils/values.mjs +0 -1
  690. package/internal/utils/values.mjs.map +1 -1
  691. package/internal/utils.d.mts.map +1 -1
  692. package/internal/utils.d.ts.map +1 -1
  693. package/internal/utils.js +0 -1
  694. package/internal/utils.js.map +1 -1
  695. package/internal/utils.mjs +0 -1
  696. package/internal/utils.mjs.map +1 -1
  697. package/internal/ws-adapter-browser.d.mts +26 -3
  698. package/internal/ws-adapter-browser.d.mts.map +1 -1
  699. package/internal/ws-adapter-browser.d.ts +26 -3
  700. package/internal/ws-adapter-browser.d.ts.map +1 -1
  701. package/internal/ws-adapter-browser.js +64 -21
  702. package/internal/ws-adapter-browser.js.map +1 -1
  703. package/internal/ws-adapter-browser.mjs +64 -21
  704. package/internal/ws-adapter-browser.mjs.map +1 -1
  705. package/internal/ws-adapter-node.d.mts +18 -3
  706. package/internal/ws-adapter-node.d.mts.map +1 -1
  707. package/internal/ws-adapter-node.d.ts +18 -3
  708. package/internal/ws-adapter-node.d.ts.map +1 -1
  709. package/internal/ws-adapter-node.js +90 -24
  710. package/internal/ws-adapter-node.js.map +1 -1
  711. package/internal/ws-adapter-node.mjs +90 -24
  712. package/internal/ws-adapter-node.mjs.map +1 -1
  713. package/internal/ws-adapter.d.mts +14 -0
  714. package/internal/ws-adapter.d.mts.map +1 -1
  715. package/internal/ws-adapter.d.ts +14 -0
  716. package/internal/ws-adapter.d.ts.map +1 -1
  717. package/internal/ws-adapter.js +4 -0
  718. package/internal/ws-adapter.js.map +1 -1
  719. package/internal/ws-adapter.mjs +4 -0
  720. package/internal/ws-adapter.mjs.map +1 -1
  721. package/internal/ws.d.mts +36 -8
  722. package/internal/ws.d.mts.map +1 -1
  723. package/internal/ws.d.ts +36 -8
  724. package/internal/ws.d.ts.map +1 -1
  725. package/internal/ws.js +116 -47
  726. package/internal/ws.js.map +1 -1
  727. package/internal/ws.mjs +115 -47
  728. package/internal/ws.mjs.map +1 -1
  729. package/lib/AbstractChatCompletionRunner.d.mts +26 -5
  730. package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
  731. package/lib/AbstractChatCompletionRunner.d.ts +26 -5
  732. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  733. package/lib/AbstractChatCompletionRunner.js +89 -39
  734. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  735. package/lib/AbstractChatCompletionRunner.mjs +92 -42
  736. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  737. package/lib/AssistantStream.d.mts +49 -8
  738. package/lib/AssistantStream.d.mts.map +1 -1
  739. package/lib/AssistantStream.d.ts +49 -8
  740. package/lib/AssistantStream.d.ts.map +1 -1
  741. package/lib/AssistantStream.js +388 -227
  742. package/lib/AssistantStream.js.map +1 -1
  743. package/lib/AssistantStream.mjs +389 -228
  744. package/lib/AssistantStream.mjs.map +1 -1
  745. package/lib/ChatCompletionRunner.d.mts +16 -5
  746. package/lib/ChatCompletionRunner.d.mts.map +1 -1
  747. package/lib/ChatCompletionRunner.d.ts +16 -5
  748. package/lib/ChatCompletionRunner.d.ts.map +1 -1
  749. package/lib/ChatCompletionRunner.js +4 -1
  750. package/lib/ChatCompletionRunner.js.map +1 -1
  751. package/lib/ChatCompletionRunner.mjs +5 -2
  752. package/lib/ChatCompletionRunner.mjs.map +1 -1
  753. package/lib/ChatCompletionStream.d.mts +137 -35
  754. package/lib/ChatCompletionStream.d.mts.map +1 -1
  755. package/lib/ChatCompletionStream.d.ts +137 -35
  756. package/lib/ChatCompletionStream.d.ts.map +1 -1
  757. package/lib/ChatCompletionStream.js +1252 -162
  758. package/lib/ChatCompletionStream.js.map +1 -1
  759. package/lib/ChatCompletionStream.mjs +1255 -165
  760. package/lib/ChatCompletionStream.mjs.map +1 -1
  761. package/lib/ChatCompletionStreamingRunner.d.mts +20 -7
  762. package/lib/ChatCompletionStreamingRunner.d.mts.map +1 -1
  763. package/lib/ChatCompletionStreamingRunner.d.ts +20 -7
  764. package/lib/ChatCompletionStreamingRunner.d.ts.map +1 -1
  765. package/lib/ChatCompletionStreamingRunner.js +27 -67
  766. package/lib/ChatCompletionStreamingRunner.js.map +1 -1
  767. package/lib/ChatCompletionStreamingRunner.mjs +28 -68
  768. package/lib/ChatCompletionStreamingRunner.mjs.map +1 -1
  769. package/lib/EventEmitter.d.mts +9 -6
  770. package/lib/EventEmitter.d.mts.map +1 -1
  771. package/lib/EventEmitter.d.ts +9 -6
  772. package/lib/EventEmitter.d.ts.map +1 -1
  773. package/lib/EventEmitter.js +89 -20
  774. package/lib/EventEmitter.js.map +1 -1
  775. package/lib/EventEmitter.mjs +90 -21
  776. package/lib/EventEmitter.mjs.map +1 -1
  777. package/lib/EventStream.d.mts +49 -9
  778. package/lib/EventStream.d.mts.map +1 -1
  779. package/lib/EventStream.d.ts +49 -9
  780. package/lib/EventStream.d.ts.map +1 -1
  781. package/lib/EventStream.js +1257 -51
  782. package/lib/EventStream.js.map +1 -1
  783. package/lib/EventStream.mjs +1258 -52
  784. package/lib/EventStream.mjs.map +1 -1
  785. package/lib/ResponsesParser.d.mts +52 -5
  786. package/lib/ResponsesParser.d.mts.map +1 -1
  787. package/lib/ResponsesParser.d.ts +52 -5
  788. package/lib/ResponsesParser.d.ts.map +1 -1
  789. package/lib/ResponsesParser.js +32 -17
  790. package/lib/ResponsesParser.js.map +1 -1
  791. package/lib/ResponsesParser.mjs +33 -18
  792. package/lib/ResponsesParser.mjs.map +1 -1
  793. package/lib/RunnableFunction.d.mts +38 -10
  794. package/lib/RunnableFunction.d.mts.map +1 -1
  795. package/lib/RunnableFunction.d.ts +38 -10
  796. package/lib/RunnableFunction.d.ts.map +1 -1
  797. package/lib/RunnableFunction.js +3 -0
  798. package/lib/RunnableFunction.js.map +1 -1
  799. package/lib/RunnableFunction.mjs +3 -0
  800. package/lib/RunnableFunction.mjs.map +1 -1
  801. package/lib/Util.d.mts +2 -0
  802. package/lib/Util.d.mts.map +1 -1
  803. package/lib/Util.d.ts +2 -0
  804. package/lib/Util.d.ts.map +1 -1
  805. package/lib/Util.js +7 -4
  806. package/lib/Util.js.map +1 -1
  807. package/lib/Util.mjs +7 -4
  808. package/lib/Util.mjs.map +1 -1
  809. package/lib/assistant-run-polling.d.mts +12 -0
  810. package/lib/assistant-run-polling.d.mts.map +1 -0
  811. package/lib/assistant-run-polling.d.ts +12 -0
  812. package/lib/assistant-run-polling.d.ts.map +1 -0
  813. package/lib/assistant-run-polling.js +17 -0
  814. package/lib/assistant-run-polling.js.map +1 -0
  815. package/lib/assistant-run-polling.mjs +14 -0
  816. package/lib/assistant-run-polling.mjs.map +1 -0
  817. package/lib/chatCompletionUtils.d.mts +4 -1
  818. package/lib/chatCompletionUtils.d.mts.map +1 -1
  819. package/lib/chatCompletionUtils.d.ts +4 -1
  820. package/lib/chatCompletionUtils.d.ts.map +1 -1
  821. package/lib/chatCompletionUtils.js +5 -6
  822. package/lib/chatCompletionUtils.js.map +1 -1
  823. package/lib/chatCompletionUtils.mjs +5 -6
  824. package/lib/chatCompletionUtils.mjs.map +1 -1
  825. package/lib/embeddings.d.mts +18 -0
  826. package/lib/embeddings.d.mts.map +1 -0
  827. package/lib/embeddings.d.ts +18 -0
  828. package/lib/embeddings.d.ts.map +1 -0
  829. package/lib/embeddings.js +50 -0
  830. package/lib/embeddings.js.map +1 -0
  831. package/lib/embeddings.mjs +47 -0
  832. package/lib/embeddings.mjs.map +1 -0
  833. package/lib/file-processing.d.mts +10 -0
  834. package/lib/file-processing.d.mts.map +1 -0
  835. package/lib/file-processing.d.ts +10 -0
  836. package/lib/file-processing.d.ts.map +1 -0
  837. package/lib/file-processing.js +30 -0
  838. package/lib/file-processing.js.map +1 -0
  839. package/lib/file-processing.mjs +27 -0
  840. package/lib/file-processing.mjs.map +1 -0
  841. package/lib/jsonschema.d.mts +70 -14
  842. package/lib/jsonschema.d.mts.map +1 -1
  843. package/lib/jsonschema.d.ts +70 -14
  844. package/lib/jsonschema.d.ts.map +1 -1
  845. package/lib/parser.d.mts +97 -6
  846. package/lib/parser.d.mts.map +1 -1
  847. package/lib/parser.d.ts +97 -6
  848. package/lib/parser.d.ts.map +1 -1
  849. package/lib/parser.js +128 -41
  850. package/lib/parser.js.map +1 -1
  851. package/lib/parser.mjs +126 -41
  852. package/lib/parser.mjs.map +1 -1
  853. package/lib/polling.d.mts +20 -0
  854. package/lib/polling.d.mts.map +1 -0
  855. package/lib/polling.d.ts +20 -0
  856. package/lib/polling.d.ts.map +1 -0
  857. package/lib/polling.js +130 -0
  858. package/lib/polling.js.map +1 -0
  859. package/lib/polling.mjs +127 -0
  860. package/lib/polling.mjs.map +1 -0
  861. package/lib/responses/EventTypes.d.mts +7 -2
  862. package/lib/responses/EventTypes.d.mts.map +1 -1
  863. package/lib/responses/EventTypes.d.ts +7 -2
  864. package/lib/responses/EventTypes.d.ts.map +1 -1
  865. package/lib/responses/ResponseAccumulator.d.mts +4 -1
  866. package/lib/responses/ResponseAccumulator.d.mts.map +1 -1
  867. package/lib/responses/ResponseAccumulator.d.ts +4 -1
  868. package/lib/responses/ResponseAccumulator.d.ts.map +1 -1
  869. package/lib/responses/ResponseAccumulator.js +2 -390
  870. package/lib/responses/ResponseAccumulator.js.map +1 -1
  871. package/lib/responses/ResponseAccumulator.mjs +2 -390
  872. package/lib/responses/ResponseAccumulator.mjs.map +1 -1
  873. package/lib/responses/ResponseInputItems.d.mts +1 -0
  874. package/lib/responses/ResponseInputItems.d.mts.map +1 -1
  875. package/lib/responses/ResponseInputItems.d.ts +1 -0
  876. package/lib/responses/ResponseInputItems.d.ts.map +1 -1
  877. package/lib/responses/ResponseInputItems.js.map +1 -1
  878. package/lib/responses/ResponseInputItems.mjs.map +1 -1
  879. package/lib/responses/ResponseStream.d.mts +29 -10
  880. package/lib/responses/ResponseStream.d.mts.map +1 -1
  881. package/lib/responses/ResponseStream.d.ts +29 -10
  882. package/lib/responses/ResponseStream.d.ts.map +1 -1
  883. package/lib/responses/ResponseStream.js +57 -71
  884. package/lib/responses/ResponseStream.js.map +1 -1
  885. package/lib/responses/ResponseStream.mjs +58 -72
  886. package/lib/responses/ResponseStream.mjs.map +1 -1
  887. package/lib/transform.d.mts +21 -0
  888. package/lib/transform.d.mts.map +1 -1
  889. package/lib/transform.d.ts +21 -0
  890. package/lib/transform.d.ts.map +1 -1
  891. package/lib/transform.js +126 -76
  892. package/lib/transform.js.map +1 -1
  893. package/lib/transform.mjs +126 -76
  894. package/lib/transform.mjs.map +1 -1
  895. package/lib/vector-store-polling.d.mts +22 -0
  896. package/lib/vector-store-polling.d.mts.map +1 -0
  897. package/lib/vector-store-polling.d.ts +22 -0
  898. package/lib/vector-store-polling.d.ts.map +1 -0
  899. package/lib/vector-store-polling.js +24 -0
  900. package/lib/vector-store-polling.js.map +1 -0
  901. package/lib/vector-store-polling.mjs +20 -0
  902. package/lib/vector-store-polling.mjs.map +1 -0
  903. package/lib/vector-store-upload.d.mts +17 -0
  904. package/lib/vector-store-upload.d.mts.map +1 -0
  905. package/lib/vector-store-upload.d.ts +17 -0
  906. package/lib/vector-store-upload.d.ts.map +1 -0
  907. package/lib/vector-store-upload.js +37 -0
  908. package/lib/vector-store-upload.js.map +1 -0
  909. package/lib/vector-store-upload.mjs +34 -0
  910. package/lib/vector-store-upload.mjs.map +1 -0
  911. package/lib/webhook-signature.d.mts +15 -0
  912. package/lib/webhook-signature.d.mts.map +1 -0
  913. package/lib/webhook-signature.d.ts +15 -0
  914. package/lib/webhook-signature.d.ts.map +1 -0
  915. package/lib/webhook-signature.js +125 -0
  916. package/lib/webhook-signature.js.map +1 -0
  917. package/lib/webhook-signature.mjs +121 -0
  918. package/lib/webhook-signature.mjs.map +1 -0
  919. package/package.json +23 -3
  920. package/providers/bedrock/aws.d.mts +35 -8
  921. package/providers/bedrock/aws.d.mts.map +1 -1
  922. package/providers/bedrock/aws.d.ts +35 -8
  923. package/providers/bedrock/aws.d.ts.map +1 -1
  924. package/providers/bedrock/aws.js +60 -21
  925. package/providers/bedrock/aws.js.map +1 -1
  926. package/providers/bedrock/aws.mjs +61 -22
  927. package/providers/bedrock/aws.mjs.map +1 -1
  928. package/providers/bedrock.d.mts +17 -2
  929. package/providers/bedrock.d.mts.map +1 -1
  930. package/providers/bedrock.d.ts +17 -2
  931. package/providers/bedrock.d.ts.map +1 -1
  932. package/providers/bedrock.js +19 -2
  933. package/providers/bedrock.js.map +1 -1
  934. package/providers/bedrock.mjs +20 -3
  935. package/providers/bedrock.mjs.map +1 -1
  936. package/realtime/internal-base.d.mts +99 -10
  937. package/realtime/internal-base.d.mts.map +1 -1
  938. package/realtime/internal-base.d.ts +99 -10
  939. package/realtime/internal-base.d.ts.map +1 -1
  940. package/realtime/internal-base.js +94 -29
  941. package/realtime/internal-base.js.map +1 -1
  942. package/realtime/internal-base.mjs +93 -29
  943. package/realtime/internal-base.mjs.map +1 -1
  944. package/realtime/websocket.d.mts +63 -4
  945. package/realtime/websocket.d.mts.map +1 -1
  946. package/realtime/websocket.d.ts +63 -4
  947. package/realtime/websocket.d.ts.map +1 -1
  948. package/realtime/websocket.js +152 -27
  949. package/realtime/websocket.js.map +1 -1
  950. package/realtime/websocket.mjs +153 -28
  951. package/realtime/websocket.mjs.map +1 -1
  952. package/realtime/ws.d.mts +58 -3
  953. package/realtime/ws.d.mts.map +1 -1
  954. package/realtime/ws.d.ts +58 -3
  955. package/realtime/ws.d.ts.map +1 -1
  956. package/realtime/ws.js +72 -8
  957. package/realtime/ws.js.map +1 -1
  958. package/realtime/ws.mjs +73 -9
  959. package/realtime/ws.mjs.map +1 -1
  960. package/resources/admin/admin.js +1 -1
  961. package/resources/admin/admin.js.map +1 -1
  962. package/resources/admin/admin.mjs +1 -1
  963. package/resources/admin/admin.mjs.map +1 -1
  964. package/resources/admin/index.js +1 -1
  965. package/resources/admin/index.js.map +1 -1
  966. package/resources/admin/index.mjs +1 -1
  967. package/resources/admin/index.mjs.map +1 -1
  968. package/resources/admin/organization/admin-api-keys.js +1 -1
  969. package/resources/admin/organization/admin-api-keys.js.map +1 -1
  970. package/resources/admin/organization/admin-api-keys.mjs +1 -1
  971. package/resources/admin/organization/admin-api-keys.mjs.map +1 -1
  972. package/resources/admin/organization/audit-logs.d.mts +2 -2
  973. package/resources/admin/organization/audit-logs.d.mts.map +1 -1
  974. package/resources/admin/organization/audit-logs.d.ts +2 -2
  975. package/resources/admin/organization/audit-logs.d.ts.map +1 -1
  976. package/resources/admin/organization/audit-logs.js +1 -1
  977. package/resources/admin/organization/audit-logs.js.map +1 -1
  978. package/resources/admin/organization/audit-logs.mjs +1 -1
  979. package/resources/admin/organization/audit-logs.mjs.map +1 -1
  980. package/resources/admin/organization/certificates.js +1 -1
  981. package/resources/admin/organization/certificates.js.map +1 -1
  982. package/resources/admin/organization/certificates.mjs +1 -1
  983. package/resources/admin/organization/certificates.mjs.map +1 -1
  984. package/resources/admin/organization/data-retention.js +1 -1
  985. package/resources/admin/organization/data-retention.js.map +1 -1
  986. package/resources/admin/organization/data-retention.mjs +1 -1
  987. package/resources/admin/organization/data-retention.mjs.map +1 -1
  988. package/resources/admin/organization/groups/groups.js +1 -1
  989. package/resources/admin/organization/groups/groups.js.map +1 -1
  990. package/resources/admin/organization/groups/groups.mjs +1 -1
  991. package/resources/admin/organization/groups/groups.mjs.map +1 -1
  992. package/resources/admin/organization/groups/index.js +1 -1
  993. package/resources/admin/organization/groups/index.js.map +1 -1
  994. package/resources/admin/organization/groups/index.mjs +1 -1
  995. package/resources/admin/organization/groups/index.mjs.map +1 -1
  996. package/resources/admin/organization/groups/roles.js +1 -1
  997. package/resources/admin/organization/groups/roles.js.map +1 -1
  998. package/resources/admin/organization/groups/roles.mjs +1 -1
  999. package/resources/admin/organization/groups/roles.mjs.map +1 -1
  1000. package/resources/admin/organization/groups/users.js +1 -1
  1001. package/resources/admin/organization/groups/users.js.map +1 -1
  1002. package/resources/admin/organization/groups/users.mjs +1 -1
  1003. package/resources/admin/organization/groups/users.mjs.map +1 -1
  1004. package/resources/admin/organization/groups.js +1 -1
  1005. package/resources/admin/organization/groups.js.map +1 -1
  1006. package/resources/admin/organization/groups.mjs +1 -1
  1007. package/resources/admin/organization/groups.mjs.map +1 -1
  1008. package/resources/admin/organization/index.d.mts +2 -2
  1009. package/resources/admin/organization/index.d.mts.map +1 -1
  1010. package/resources/admin/organization/index.d.ts +2 -2
  1011. package/resources/admin/organization/index.d.ts.map +1 -1
  1012. package/resources/admin/organization/index.js +1 -1
  1013. package/resources/admin/organization/index.js.map +1 -1
  1014. package/resources/admin/organization/index.mjs +1 -1
  1015. package/resources/admin/organization/index.mjs.map +1 -1
  1016. package/resources/admin/organization/invites.js +1 -1
  1017. package/resources/admin/organization/invites.js.map +1 -1
  1018. package/resources/admin/organization/invites.mjs +1 -1
  1019. package/resources/admin/organization/invites.mjs.map +1 -1
  1020. package/resources/admin/organization/organization.d.mts +4 -4
  1021. package/resources/admin/organization/organization.d.mts.map +1 -1
  1022. package/resources/admin/organization/organization.d.ts +4 -4
  1023. package/resources/admin/organization/organization.d.ts.map +1 -1
  1024. package/resources/admin/organization/organization.js +1 -1
  1025. package/resources/admin/organization/organization.js.map +1 -1
  1026. package/resources/admin/organization/organization.mjs +1 -1
  1027. package/resources/admin/organization/organization.mjs.map +1 -1
  1028. package/resources/admin/organization/projects/api-keys.js +1 -1
  1029. package/resources/admin/organization/projects/api-keys.js.map +1 -1
  1030. package/resources/admin/organization/projects/api-keys.mjs +1 -1
  1031. package/resources/admin/organization/projects/api-keys.mjs.map +1 -1
  1032. package/resources/admin/organization/projects/certificates.js +1 -1
  1033. package/resources/admin/organization/projects/certificates.js.map +1 -1
  1034. package/resources/admin/organization/projects/certificates.mjs +1 -1
  1035. package/resources/admin/organization/projects/certificates.mjs.map +1 -1
  1036. package/resources/admin/organization/projects/data-retention.js +1 -1
  1037. package/resources/admin/organization/projects/data-retention.js.map +1 -1
  1038. package/resources/admin/organization/projects/data-retention.mjs +1 -1
  1039. package/resources/admin/organization/projects/data-retention.mjs.map +1 -1
  1040. package/resources/admin/organization/projects/groups/groups.js +1 -1
  1041. package/resources/admin/organization/projects/groups/groups.js.map +1 -1
  1042. package/resources/admin/organization/projects/groups/groups.mjs +1 -1
  1043. package/resources/admin/organization/projects/groups/groups.mjs.map +1 -1
  1044. package/resources/admin/organization/projects/groups/index.js +1 -1
  1045. package/resources/admin/organization/projects/groups/index.js.map +1 -1
  1046. package/resources/admin/organization/projects/groups/index.mjs +1 -1
  1047. package/resources/admin/organization/projects/groups/index.mjs.map +1 -1
  1048. package/resources/admin/organization/projects/groups/roles.js +1 -1
  1049. package/resources/admin/organization/projects/groups/roles.js.map +1 -1
  1050. package/resources/admin/organization/projects/groups/roles.mjs +1 -1
  1051. package/resources/admin/organization/projects/groups/roles.mjs.map +1 -1
  1052. package/resources/admin/organization/projects/groups.js +1 -1
  1053. package/resources/admin/organization/projects/groups.js.map +1 -1
  1054. package/resources/admin/organization/projects/groups.mjs +1 -1
  1055. package/resources/admin/organization/projects/groups.mjs.map +1 -1
  1056. package/resources/admin/organization/projects/hosted-tool-permissions.js +1 -1
  1057. package/resources/admin/organization/projects/hosted-tool-permissions.js.map +1 -1
  1058. package/resources/admin/organization/projects/hosted-tool-permissions.mjs +1 -1
  1059. package/resources/admin/organization/projects/hosted-tool-permissions.mjs.map +1 -1
  1060. package/resources/admin/organization/projects/index.d.mts +1 -1
  1061. package/resources/admin/organization/projects/index.d.mts.map +1 -1
  1062. package/resources/admin/organization/projects/index.d.ts +1 -1
  1063. package/resources/admin/organization/projects/index.d.ts.map +1 -1
  1064. package/resources/admin/organization/projects/index.js +1 -1
  1065. package/resources/admin/organization/projects/index.js.map +1 -1
  1066. package/resources/admin/organization/projects/index.mjs +1 -1
  1067. package/resources/admin/organization/projects/index.mjs.map +1 -1
  1068. package/resources/admin/organization/projects/model-permissions.js +1 -1
  1069. package/resources/admin/organization/projects/model-permissions.js.map +1 -1
  1070. package/resources/admin/organization/projects/model-permissions.mjs +1 -1
  1071. package/resources/admin/organization/projects/model-permissions.mjs.map +1 -1
  1072. package/resources/admin/organization/projects/projects.d.mts +22 -5
  1073. package/resources/admin/organization/projects/projects.d.mts.map +1 -1
  1074. package/resources/admin/organization/projects/projects.d.ts +22 -5
  1075. package/resources/admin/organization/projects/projects.d.ts.map +1 -1
  1076. package/resources/admin/organization/projects/projects.js +1 -1
  1077. package/resources/admin/organization/projects/projects.js.map +1 -1
  1078. package/resources/admin/organization/projects/projects.mjs +1 -1
  1079. package/resources/admin/organization/projects/projects.mjs.map +1 -1
  1080. package/resources/admin/organization/projects/rate-limits.js +1 -1
  1081. package/resources/admin/organization/projects/rate-limits.js.map +1 -1
  1082. package/resources/admin/organization/projects/rate-limits.mjs +1 -1
  1083. package/resources/admin/organization/projects/rate-limits.mjs.map +1 -1
  1084. package/resources/admin/organization/projects/roles.js +1 -1
  1085. package/resources/admin/organization/projects/roles.js.map +1 -1
  1086. package/resources/admin/organization/projects/roles.mjs +1 -1
  1087. package/resources/admin/organization/projects/roles.mjs.map +1 -1
  1088. package/resources/admin/organization/projects/service-accounts/api-keys.js +1 -1
  1089. package/resources/admin/organization/projects/service-accounts/api-keys.js.map +1 -1
  1090. package/resources/admin/organization/projects/service-accounts/api-keys.mjs +1 -1
  1091. package/resources/admin/organization/projects/service-accounts/api-keys.mjs.map +1 -1
  1092. package/resources/admin/organization/projects/service-accounts/index.js +1 -1
  1093. package/resources/admin/organization/projects/service-accounts/index.js.map +1 -1
  1094. package/resources/admin/organization/projects/service-accounts/index.mjs +1 -1
  1095. package/resources/admin/organization/projects/service-accounts/index.mjs.map +1 -1
  1096. package/resources/admin/organization/projects/service-accounts/service-accounts.js +1 -1
  1097. package/resources/admin/organization/projects/service-accounts/service-accounts.js.map +1 -1
  1098. package/resources/admin/organization/projects/service-accounts/service-accounts.mjs +1 -1
  1099. package/resources/admin/organization/projects/service-accounts/service-accounts.mjs.map +1 -1
  1100. package/resources/admin/organization/projects/service-accounts.js +1 -1
  1101. package/resources/admin/organization/projects/service-accounts.js.map +1 -1
  1102. package/resources/admin/organization/projects/service-accounts.mjs +1 -1
  1103. package/resources/admin/organization/projects/service-accounts.mjs.map +1 -1
  1104. package/resources/admin/organization/projects/spend-alerts.js +1 -1
  1105. package/resources/admin/organization/projects/spend-alerts.js.map +1 -1
  1106. package/resources/admin/organization/projects/spend-alerts.mjs +1 -1
  1107. package/resources/admin/organization/projects/spend-alerts.mjs.map +1 -1
  1108. package/resources/admin/organization/projects/spend-limit.js +1 -1
  1109. package/resources/admin/organization/projects/spend-limit.js.map +1 -1
  1110. package/resources/admin/organization/projects/spend-limit.mjs +1 -1
  1111. package/resources/admin/organization/projects/spend-limit.mjs.map +1 -1
  1112. package/resources/admin/organization/projects/users/index.js +1 -1
  1113. package/resources/admin/organization/projects/users/index.js.map +1 -1
  1114. package/resources/admin/organization/projects/users/index.mjs +1 -1
  1115. package/resources/admin/organization/projects/users/index.mjs.map +1 -1
  1116. package/resources/admin/organization/projects/users/roles.js +1 -1
  1117. package/resources/admin/organization/projects/users/roles.js.map +1 -1
  1118. package/resources/admin/organization/projects/users/roles.mjs +1 -1
  1119. package/resources/admin/organization/projects/users/roles.mjs.map +1 -1
  1120. package/resources/admin/organization/projects/users/users.js +1 -1
  1121. package/resources/admin/organization/projects/users/users.js.map +1 -1
  1122. package/resources/admin/organization/projects/users/users.mjs +1 -1
  1123. package/resources/admin/organization/projects/users/users.mjs.map +1 -1
  1124. package/resources/admin/organization/projects/users.js +1 -1
  1125. package/resources/admin/organization/projects/users.js.map +1 -1
  1126. package/resources/admin/organization/projects/users.mjs +1 -1
  1127. package/resources/admin/organization/projects/users.mjs.map +1 -1
  1128. package/resources/admin/organization/projects.js +1 -1
  1129. package/resources/admin/organization/projects.js.map +1 -1
  1130. package/resources/admin/organization/projects.mjs +1 -1
  1131. package/resources/admin/organization/projects.mjs.map +1 -1
  1132. package/resources/admin/organization/roles.js +1 -1
  1133. package/resources/admin/organization/roles.js.map +1 -1
  1134. package/resources/admin/organization/roles.mjs +1 -1
  1135. package/resources/admin/organization/roles.mjs.map +1 -1
  1136. package/resources/admin/organization/spend-alerts.js +1 -1
  1137. package/resources/admin/organization/spend-alerts.js.map +1 -1
  1138. package/resources/admin/organization/spend-alerts.mjs +1 -1
  1139. package/resources/admin/organization/spend-alerts.mjs.map +1 -1
  1140. package/resources/admin/organization/spend-limit.js +1 -1
  1141. package/resources/admin/organization/spend-limit.js.map +1 -1
  1142. package/resources/admin/organization/spend-limit.mjs +1 -1
  1143. package/resources/admin/organization/spend-limit.mjs.map +1 -1
  1144. package/resources/admin/organization/usage.d.mts +62 -1
  1145. package/resources/admin/organization/usage.d.mts.map +1 -1
  1146. package/resources/admin/organization/usage.d.ts +62 -1
  1147. package/resources/admin/organization/usage.d.ts.map +1 -1
  1148. package/resources/admin/organization/usage.js +1 -1
  1149. package/resources/admin/organization/usage.js.map +1 -1
  1150. package/resources/admin/organization/usage.mjs +1 -1
  1151. package/resources/admin/organization/usage.mjs.map +1 -1
  1152. package/resources/admin/organization/users/index.js +1 -1
  1153. package/resources/admin/organization/users/index.js.map +1 -1
  1154. package/resources/admin/organization/users/index.mjs +1 -1
  1155. package/resources/admin/organization/users/index.mjs.map +1 -1
  1156. package/resources/admin/organization/users/roles.js +1 -1
  1157. package/resources/admin/organization/users/roles.js.map +1 -1
  1158. package/resources/admin/organization/users/roles.mjs +1 -1
  1159. package/resources/admin/organization/users/roles.mjs.map +1 -1
  1160. package/resources/admin/organization/users/users.js +1 -1
  1161. package/resources/admin/organization/users/users.js.map +1 -1
  1162. package/resources/admin/organization/users/users.mjs +1 -1
  1163. package/resources/admin/organization/users/users.mjs.map +1 -1
  1164. package/resources/admin/organization/users.js +1 -1
  1165. package/resources/admin/organization/users.js.map +1 -1
  1166. package/resources/admin/organization/users.mjs +1 -1
  1167. package/resources/admin/organization/users.mjs.map +1 -1
  1168. package/resources/admin/organization.js +1 -1
  1169. package/resources/admin/organization.js.map +1 -1
  1170. package/resources/admin/organization.mjs +1 -1
  1171. package/resources/admin/organization.mjs.map +1 -1
  1172. package/resources/admin.js +1 -1
  1173. package/resources/admin.js.map +1 -1
  1174. package/resources/admin.mjs +1 -1
  1175. package/resources/admin.mjs.map +1 -1
  1176. package/resources/audio/audio.js +1 -1
  1177. package/resources/audio/audio.js.map +1 -1
  1178. package/resources/audio/audio.mjs +1 -1
  1179. package/resources/audio/audio.mjs.map +1 -1
  1180. package/resources/audio/index.js +1 -1
  1181. package/resources/audio/index.js.map +1 -1
  1182. package/resources/audio/index.mjs +1 -1
  1183. package/resources/audio/index.mjs.map +1 -1
  1184. package/resources/audio/speech.js +1 -1
  1185. package/resources/audio/speech.js.map +1 -1
  1186. package/resources/audio/speech.mjs +1 -1
  1187. package/resources/audio/speech.mjs.map +1 -1
  1188. package/resources/audio/transcriptions.d.mts +3 -1
  1189. package/resources/audio/transcriptions.d.mts.map +1 -1
  1190. package/resources/audio/transcriptions.d.ts +3 -1
  1191. package/resources/audio/transcriptions.d.ts.map +1 -1
  1192. package/resources/audio/transcriptions.js +1 -1
  1193. package/resources/audio/transcriptions.js.map +1 -1
  1194. package/resources/audio/transcriptions.mjs +1 -1
  1195. package/resources/audio/transcriptions.mjs.map +1 -1
  1196. package/resources/audio/translations.d.mts +3 -1
  1197. package/resources/audio/translations.d.mts.map +1 -1
  1198. package/resources/audio/translations.d.ts +3 -1
  1199. package/resources/audio/translations.d.ts.map +1 -1
  1200. package/resources/audio/translations.js +1 -1
  1201. package/resources/audio/translations.js.map +1 -1
  1202. package/resources/audio/translations.mjs +1 -1
  1203. package/resources/audio/translations.mjs.map +1 -1
  1204. package/resources/audio.js +1 -1
  1205. package/resources/audio.js.map +1 -1
  1206. package/resources/audio.mjs +1 -1
  1207. package/resources/audio.mjs.map +1 -1
  1208. package/resources/batches.js +1 -1
  1209. package/resources/batches.js.map +1 -1
  1210. package/resources/batches.mjs +1 -1
  1211. package/resources/batches.mjs.map +1 -1
  1212. package/resources/beta/assistants.js +1 -1
  1213. package/resources/beta/assistants.js.map +1 -1
  1214. package/resources/beta/assistants.mjs +1 -1
  1215. package/resources/beta/assistants.mjs.map +1 -1
  1216. package/resources/beta/beta.d.mts +2 -2
  1217. package/resources/beta/beta.d.mts.map +1 -1
  1218. package/resources/beta/beta.d.ts +2 -2
  1219. package/resources/beta/beta.d.ts.map +1 -1
  1220. package/resources/beta/beta.js +1 -1
  1221. package/resources/beta/beta.js.map +1 -1
  1222. package/resources/beta/beta.mjs +1 -1
  1223. package/resources/beta/beta.mjs.map +1 -1
  1224. package/resources/beta/chatkit/chatkit.js +1 -1
  1225. package/resources/beta/chatkit/chatkit.js.map +1 -1
  1226. package/resources/beta/chatkit/chatkit.mjs +1 -1
  1227. package/resources/beta/chatkit/chatkit.mjs.map +1 -1
  1228. package/resources/beta/chatkit/index.js +1 -1
  1229. package/resources/beta/chatkit/index.js.map +1 -1
  1230. package/resources/beta/chatkit/index.mjs +1 -1
  1231. package/resources/beta/chatkit/index.mjs.map +1 -1
  1232. package/resources/beta/chatkit/sessions.js +1 -1
  1233. package/resources/beta/chatkit/sessions.js.map +1 -1
  1234. package/resources/beta/chatkit/sessions.mjs +1 -1
  1235. package/resources/beta/chatkit/sessions.mjs.map +1 -1
  1236. package/resources/beta/chatkit/threads.js +1 -1
  1237. package/resources/beta/chatkit/threads.js.map +1 -1
  1238. package/resources/beta/chatkit/threads.mjs +1 -1
  1239. package/resources/beta/chatkit/threads.mjs.map +1 -1
  1240. package/resources/beta/chatkit.js +1 -1
  1241. package/resources/beta/chatkit.js.map +1 -1
  1242. package/resources/beta/chatkit.mjs +1 -1
  1243. package/resources/beta/chatkit.mjs.map +1 -1
  1244. package/resources/beta/index.d.mts +1 -1
  1245. package/resources/beta/index.d.mts.map +1 -1
  1246. package/resources/beta/index.d.ts +1 -1
  1247. package/resources/beta/index.d.ts.map +1 -1
  1248. package/resources/beta/index.js +1 -1
  1249. package/resources/beta/index.js.map +1 -1
  1250. package/resources/beta/index.mjs +1 -1
  1251. package/resources/beta/index.mjs.map +1 -1
  1252. package/resources/beta/realtime/index.d.mts.map +1 -1
  1253. package/resources/beta/realtime/index.d.ts.map +1 -1
  1254. package/resources/beta/realtime/index.js +0 -1
  1255. package/resources/beta/realtime/index.js.map +1 -1
  1256. package/resources/beta/realtime/index.mjs +0 -1
  1257. package/resources/beta/realtime/index.mjs.map +1 -1
  1258. package/resources/beta/realtime/realtime.d.mts.map +1 -1
  1259. package/resources/beta/realtime/realtime.d.ts.map +1 -1
  1260. package/resources/beta/realtime/realtime.js +0 -1
  1261. package/resources/beta/realtime/realtime.js.map +1 -1
  1262. package/resources/beta/realtime/realtime.mjs +0 -1
  1263. package/resources/beta/realtime/realtime.mjs.map +1 -1
  1264. package/resources/beta/realtime/sessions.d.mts.map +1 -1
  1265. package/resources/beta/realtime/sessions.d.ts.map +1 -1
  1266. package/resources/beta/realtime/sessions.js +0 -1
  1267. package/resources/beta/realtime/sessions.js.map +1 -1
  1268. package/resources/beta/realtime/sessions.mjs +0 -1
  1269. package/resources/beta/realtime/sessions.mjs.map +1 -1
  1270. package/resources/beta/realtime/transcription-sessions.d.mts.map +1 -1
  1271. package/resources/beta/realtime/transcription-sessions.d.ts.map +1 -1
  1272. package/resources/beta/realtime/transcription-sessions.js +0 -1
  1273. package/resources/beta/realtime/transcription-sessions.js.map +1 -1
  1274. package/resources/beta/realtime/transcription-sessions.mjs +0 -1
  1275. package/resources/beta/realtime/transcription-sessions.mjs.map +1 -1
  1276. package/resources/beta/realtime.d.mts.map +1 -1
  1277. package/resources/beta/realtime.d.ts.map +1 -1
  1278. package/resources/beta/realtime.js +0 -1
  1279. package/resources/beta/realtime.js.map +1 -1
  1280. package/resources/beta/realtime.mjs +0 -1
  1281. package/resources/beta/realtime.mjs.map +1 -1
  1282. package/resources/beta/responses/index.d.mts +1 -1
  1283. package/resources/beta/responses/index.d.mts.map +1 -1
  1284. package/resources/beta/responses/index.d.ts +1 -1
  1285. package/resources/beta/responses/index.d.ts.map +1 -1
  1286. package/resources/beta/responses/index.js +1 -1
  1287. package/resources/beta/responses/index.js.map +1 -1
  1288. package/resources/beta/responses/index.mjs +1 -1
  1289. package/resources/beta/responses/index.mjs.map +1 -1
  1290. package/resources/beta/responses/input-items.js +1 -1
  1291. package/resources/beta/responses/input-items.js.map +1 -1
  1292. package/resources/beta/responses/input-items.mjs +1 -1
  1293. package/resources/beta/responses/input-items.mjs.map +1 -1
  1294. package/resources/beta/responses/input-tokens.js +1 -1
  1295. package/resources/beta/responses/input-tokens.js.map +1 -1
  1296. package/resources/beta/responses/input-tokens.mjs +1 -1
  1297. package/resources/beta/responses/input-tokens.mjs.map +1 -1
  1298. package/resources/beta/responses/internal-base.d.mts +6 -3
  1299. package/resources/beta/responses/internal-base.d.mts.map +1 -1
  1300. package/resources/beta/responses/internal-base.d.ts +6 -3
  1301. package/resources/beta/responses/internal-base.d.ts.map +1 -1
  1302. package/resources/beta/responses/internal-base.js +5 -2
  1303. package/resources/beta/responses/internal-base.js.map +1 -1
  1304. package/resources/beta/responses/internal-base.mjs +5 -2
  1305. package/resources/beta/responses/internal-base.mjs.map +1 -1
  1306. package/resources/beta/responses/responses.d.mts +1243 -132
  1307. package/resources/beta/responses/responses.d.mts.map +1 -1
  1308. package/resources/beta/responses/responses.d.ts +1243 -132
  1309. package/resources/beta/responses/responses.d.ts.map +1 -1
  1310. package/resources/beta/responses/responses.js +1 -1
  1311. package/resources/beta/responses/responses.js.map +1 -1
  1312. package/resources/beta/responses/responses.mjs +1 -1
  1313. package/resources/beta/responses/responses.mjs.map +1 -1
  1314. package/resources/beta/responses/ws-base.js +1 -1
  1315. package/resources/beta/responses/ws-base.js.map +1 -1
  1316. package/resources/beta/responses/ws-base.mjs +1 -1
  1317. package/resources/beta/responses/ws-base.mjs.map +1 -1
  1318. package/resources/beta/responses/ws.js +1 -1
  1319. package/resources/beta/responses/ws.js.map +1 -1
  1320. package/resources/beta/responses/ws.mjs +1 -1
  1321. package/resources/beta/responses/ws.mjs.map +1 -1
  1322. package/resources/beta/responses.js +1 -1
  1323. package/resources/beta/responses.js.map +1 -1
  1324. package/resources/beta/responses.mjs +1 -1
  1325. package/resources/beta/responses.mjs.map +1 -1
  1326. package/resources/beta/threads/index.js +1 -1
  1327. package/resources/beta/threads/index.js.map +1 -1
  1328. package/resources/beta/threads/index.mjs +1 -1
  1329. package/resources/beta/threads/index.mjs.map +1 -1
  1330. package/resources/beta/threads/messages.js +1 -1
  1331. package/resources/beta/threads/messages.js.map +1 -1
  1332. package/resources/beta/threads/messages.mjs +1 -1
  1333. package/resources/beta/threads/messages.mjs.map +1 -1
  1334. package/resources/beta/threads/runs/index.d.mts +1 -1
  1335. package/resources/beta/threads/runs/index.d.mts.map +1 -1
  1336. package/resources/beta/threads/runs/index.d.ts +1 -1
  1337. package/resources/beta/threads/runs/index.d.ts.map +1 -1
  1338. package/resources/beta/threads/runs/index.js +1 -1
  1339. package/resources/beta/threads/runs/index.js.map +1 -1
  1340. package/resources/beta/threads/runs/index.mjs +1 -1
  1341. package/resources/beta/threads/runs/index.mjs.map +1 -1
  1342. package/resources/beta/threads/runs/runs.d.mts.map +1 -1
  1343. package/resources/beta/threads/runs/runs.d.ts.map +1 -1
  1344. package/resources/beta/threads/runs/runs.js +3 -44
  1345. package/resources/beta/threads/runs/runs.js.map +1 -1
  1346. package/resources/beta/threads/runs/runs.mjs +3 -44
  1347. package/resources/beta/threads/runs/runs.mjs.map +1 -1
  1348. package/resources/beta/threads/runs/steps.js +1 -1
  1349. package/resources/beta/threads/runs/steps.js.map +1 -1
  1350. package/resources/beta/threads/runs/steps.mjs +1 -1
  1351. package/resources/beta/threads/runs/steps.mjs.map +1 -1
  1352. package/resources/beta/threads/runs.js +1 -1
  1353. package/resources/beta/threads/runs.js.map +1 -1
  1354. package/resources/beta/threads/runs.mjs +1 -1
  1355. package/resources/beta/threads/runs.mjs.map +1 -1
  1356. package/resources/beta/threads/threads.js +1 -1
  1357. package/resources/beta/threads/threads.js.map +1 -1
  1358. package/resources/beta/threads/threads.mjs +1 -1
  1359. package/resources/beta/threads/threads.mjs.map +1 -1
  1360. package/resources/beta/threads.js +1 -1
  1361. package/resources/beta/threads.js.map +1 -1
  1362. package/resources/beta/threads.mjs +1 -1
  1363. package/resources/beta/threads.mjs.map +1 -1
  1364. package/resources/beta.js +1 -1
  1365. package/resources/beta.js.map +1 -1
  1366. package/resources/beta.mjs +1 -1
  1367. package/resources/beta.mjs.map +1 -1
  1368. package/resources/chat/chat.js +1 -1
  1369. package/resources/chat/chat.js.map +1 -1
  1370. package/resources/chat/chat.mjs +1 -1
  1371. package/resources/chat/chat.mjs.map +1 -1
  1372. package/resources/chat/completions/completions.d.mts +36 -3
  1373. package/resources/chat/completions/completions.d.mts.map +1 -1
  1374. package/resources/chat/completions/completions.d.ts +36 -3
  1375. package/resources/chat/completions/completions.d.ts.map +1 -1
  1376. package/resources/chat/completions/completions.js +2 -5
  1377. package/resources/chat/completions/completions.js.map +1 -1
  1378. package/resources/chat/completions/completions.mjs +2 -5
  1379. package/resources/chat/completions/completions.mjs.map +1 -1
  1380. package/resources/chat/completions/index.js +1 -1
  1381. package/resources/chat/completions/index.js.map +1 -1
  1382. package/resources/chat/completions/index.mjs +1 -1
  1383. package/resources/chat/completions/index.mjs.map +1 -1
  1384. package/resources/chat/completions/messages.js +1 -1
  1385. package/resources/chat/completions/messages.js.map +1 -1
  1386. package/resources/chat/completions/messages.mjs +1 -1
  1387. package/resources/chat/completions/messages.mjs.map +1 -1
  1388. package/resources/chat/completions.js +1 -1
  1389. package/resources/chat/completions.js.map +1 -1
  1390. package/resources/chat/completions.mjs +1 -1
  1391. package/resources/chat/completions.mjs.map +1 -1
  1392. package/resources/chat/index.js +1 -1
  1393. package/resources/chat/index.js.map +1 -1
  1394. package/resources/chat/index.mjs +1 -1
  1395. package/resources/chat/index.mjs.map +1 -1
  1396. package/resources/chat.js +1 -1
  1397. package/resources/chat.js.map +1 -1
  1398. package/resources/chat.mjs +1 -1
  1399. package/resources/chat.mjs.map +1 -1
  1400. package/resources/completions.d.mts +12 -0
  1401. package/resources/completions.d.mts.map +1 -1
  1402. package/resources/completions.d.ts +12 -0
  1403. package/resources/completions.d.ts.map +1 -1
  1404. package/resources/completions.js +1 -1
  1405. package/resources/completions.js.map +1 -1
  1406. package/resources/completions.mjs +1 -1
  1407. package/resources/completions.mjs.map +1 -1
  1408. package/resources/containers/containers.js +1 -1
  1409. package/resources/containers/containers.js.map +1 -1
  1410. package/resources/containers/containers.mjs +1 -1
  1411. package/resources/containers/containers.mjs.map +1 -1
  1412. package/resources/containers/files/content.js +1 -1
  1413. package/resources/containers/files/content.js.map +1 -1
  1414. package/resources/containers/files/content.mjs +1 -1
  1415. package/resources/containers/files/content.mjs.map +1 -1
  1416. package/resources/containers/files/files.js +1 -1
  1417. package/resources/containers/files/files.js.map +1 -1
  1418. package/resources/containers/files/files.mjs +1 -1
  1419. package/resources/containers/files/files.mjs.map +1 -1
  1420. package/resources/containers/files/index.js +1 -1
  1421. package/resources/containers/files/index.js.map +1 -1
  1422. package/resources/containers/files/index.mjs +1 -1
  1423. package/resources/containers/files/index.mjs.map +1 -1
  1424. package/resources/containers/files.js +1 -1
  1425. package/resources/containers/files.js.map +1 -1
  1426. package/resources/containers/files.mjs +1 -1
  1427. package/resources/containers/files.mjs.map +1 -1
  1428. package/resources/containers/index.js +1 -1
  1429. package/resources/containers/index.js.map +1 -1
  1430. package/resources/containers/index.mjs +1 -1
  1431. package/resources/containers/index.mjs.map +1 -1
  1432. package/resources/containers.js +1 -1
  1433. package/resources/containers.js.map +1 -1
  1434. package/resources/containers.mjs +1 -1
  1435. package/resources/containers.mjs.map +1 -1
  1436. package/resources/content-provenance-checks.js +1 -1
  1437. package/resources/content-provenance-checks.js.map +1 -1
  1438. package/resources/content-provenance-checks.mjs +1 -1
  1439. package/resources/content-provenance-checks.mjs.map +1 -1
  1440. package/resources/conversations/conversations.d.mts +1 -1
  1441. package/resources/conversations/conversations.d.mts.map +1 -1
  1442. package/resources/conversations/conversations.d.ts +1 -1
  1443. package/resources/conversations/conversations.d.ts.map +1 -1
  1444. package/resources/conversations/conversations.js +1 -1
  1445. package/resources/conversations/conversations.js.map +1 -1
  1446. package/resources/conversations/conversations.mjs +1 -1
  1447. package/resources/conversations/conversations.mjs.map +1 -1
  1448. package/resources/conversations/index.js +1 -1
  1449. package/resources/conversations/index.js.map +1 -1
  1450. package/resources/conversations/index.mjs +1 -1
  1451. package/resources/conversations/index.mjs.map +1 -1
  1452. package/resources/conversations/items.d.mts +1 -1
  1453. package/resources/conversations/items.d.mts.map +1 -1
  1454. package/resources/conversations/items.d.ts +1 -1
  1455. package/resources/conversations/items.d.ts.map +1 -1
  1456. package/resources/conversations/items.js +1 -1
  1457. package/resources/conversations/items.js.map +1 -1
  1458. package/resources/conversations/items.mjs +1 -1
  1459. package/resources/conversations/items.mjs.map +1 -1
  1460. package/resources/conversations.js +1 -1
  1461. package/resources/conversations.js.map +1 -1
  1462. package/resources/conversations.mjs +1 -1
  1463. package/resources/conversations.mjs.map +1 -1
  1464. package/resources/embeddings.d.mts +9 -0
  1465. package/resources/embeddings.d.mts.map +1 -1
  1466. package/resources/embeddings.d.ts +9 -0
  1467. package/resources/embeddings.d.ts.map +1 -1
  1468. package/resources/embeddings.js +3 -47
  1469. package/resources/embeddings.js.map +1 -1
  1470. package/resources/embeddings.mjs +3 -47
  1471. package/resources/embeddings.mjs.map +1 -1
  1472. package/resources/evals/evals.js +1 -1
  1473. package/resources/evals/evals.js.map +1 -1
  1474. package/resources/evals/evals.mjs +1 -1
  1475. package/resources/evals/evals.mjs.map +1 -1
  1476. package/resources/evals/index.js +1 -1
  1477. package/resources/evals/index.js.map +1 -1
  1478. package/resources/evals/index.mjs +1 -1
  1479. package/resources/evals/index.mjs.map +1 -1
  1480. package/resources/evals/runs/index.js +1 -1
  1481. package/resources/evals/runs/index.js.map +1 -1
  1482. package/resources/evals/runs/index.mjs +1 -1
  1483. package/resources/evals/runs/index.mjs.map +1 -1
  1484. package/resources/evals/runs/output-items.js +1 -1
  1485. package/resources/evals/runs/output-items.js.map +1 -1
  1486. package/resources/evals/runs/output-items.mjs +1 -1
  1487. package/resources/evals/runs/output-items.mjs.map +1 -1
  1488. package/resources/evals/runs/runs.js +1 -1
  1489. package/resources/evals/runs/runs.js.map +1 -1
  1490. package/resources/evals/runs/runs.mjs +1 -1
  1491. package/resources/evals/runs/runs.mjs.map +1 -1
  1492. package/resources/evals/runs.js +1 -1
  1493. package/resources/evals/runs.js.map +1 -1
  1494. package/resources/evals/runs.mjs +1 -1
  1495. package/resources/evals/runs.mjs.map +1 -1
  1496. package/resources/evals.js +1 -1
  1497. package/resources/evals.js.map +1 -1
  1498. package/resources/evals.mjs +1 -1
  1499. package/resources/evals.mjs.map +1 -1
  1500. package/resources/files.d.mts +1 -1
  1501. package/resources/files.d.mts.map +1 -1
  1502. package/resources/files.d.ts +1 -1
  1503. package/resources/files.d.ts.map +1 -1
  1504. package/resources/files.js +4 -17
  1505. package/resources/files.js.map +1 -1
  1506. package/resources/files.mjs +4 -17
  1507. package/resources/files.mjs.map +1 -1
  1508. package/resources/fine-tuning/alpha/alpha.js +1 -1
  1509. package/resources/fine-tuning/alpha/alpha.js.map +1 -1
  1510. package/resources/fine-tuning/alpha/alpha.mjs +1 -1
  1511. package/resources/fine-tuning/alpha/alpha.mjs.map +1 -1
  1512. package/resources/fine-tuning/alpha/graders.js +1 -1
  1513. package/resources/fine-tuning/alpha/graders.js.map +1 -1
  1514. package/resources/fine-tuning/alpha/graders.mjs +1 -1
  1515. package/resources/fine-tuning/alpha/graders.mjs.map +1 -1
  1516. package/resources/fine-tuning/alpha/index.js +1 -1
  1517. package/resources/fine-tuning/alpha/index.js.map +1 -1
  1518. package/resources/fine-tuning/alpha/index.mjs +1 -1
  1519. package/resources/fine-tuning/alpha/index.mjs.map +1 -1
  1520. package/resources/fine-tuning/alpha.js +1 -1
  1521. package/resources/fine-tuning/alpha.js.map +1 -1
  1522. package/resources/fine-tuning/alpha.mjs +1 -1
  1523. package/resources/fine-tuning/alpha.mjs.map +1 -1
  1524. package/resources/fine-tuning/checkpoints/checkpoints.js +1 -1
  1525. package/resources/fine-tuning/checkpoints/checkpoints.js.map +1 -1
  1526. package/resources/fine-tuning/checkpoints/checkpoints.mjs +1 -1
  1527. package/resources/fine-tuning/checkpoints/checkpoints.mjs.map +1 -1
  1528. package/resources/fine-tuning/checkpoints/index.js +1 -1
  1529. package/resources/fine-tuning/checkpoints/index.js.map +1 -1
  1530. package/resources/fine-tuning/checkpoints/index.mjs +1 -1
  1531. package/resources/fine-tuning/checkpoints/index.mjs.map +1 -1
  1532. package/resources/fine-tuning/checkpoints/permissions.js +1 -1
  1533. package/resources/fine-tuning/checkpoints/permissions.js.map +1 -1
  1534. package/resources/fine-tuning/checkpoints/permissions.mjs +1 -1
  1535. package/resources/fine-tuning/checkpoints/permissions.mjs.map +1 -1
  1536. package/resources/fine-tuning/checkpoints.js +1 -1
  1537. package/resources/fine-tuning/checkpoints.js.map +1 -1
  1538. package/resources/fine-tuning/checkpoints.mjs +1 -1
  1539. package/resources/fine-tuning/checkpoints.mjs.map +1 -1
  1540. package/resources/fine-tuning/fine-tuning.js +1 -1
  1541. package/resources/fine-tuning/fine-tuning.js.map +1 -1
  1542. package/resources/fine-tuning/fine-tuning.mjs +1 -1
  1543. package/resources/fine-tuning/fine-tuning.mjs.map +1 -1
  1544. package/resources/fine-tuning/index.js +1 -1
  1545. package/resources/fine-tuning/index.js.map +1 -1
  1546. package/resources/fine-tuning/index.mjs +1 -1
  1547. package/resources/fine-tuning/index.mjs.map +1 -1
  1548. package/resources/fine-tuning/jobs/checkpoints.js +1 -1
  1549. package/resources/fine-tuning/jobs/checkpoints.js.map +1 -1
  1550. package/resources/fine-tuning/jobs/checkpoints.mjs +1 -1
  1551. package/resources/fine-tuning/jobs/checkpoints.mjs.map +1 -1
  1552. package/resources/fine-tuning/jobs/index.js +1 -1
  1553. package/resources/fine-tuning/jobs/index.js.map +1 -1
  1554. package/resources/fine-tuning/jobs/index.mjs +1 -1
  1555. package/resources/fine-tuning/jobs/index.mjs.map +1 -1
  1556. package/resources/fine-tuning/jobs/jobs.js +1 -1
  1557. package/resources/fine-tuning/jobs/jobs.js.map +1 -1
  1558. package/resources/fine-tuning/jobs/jobs.mjs +1 -1
  1559. package/resources/fine-tuning/jobs/jobs.mjs.map +1 -1
  1560. package/resources/fine-tuning/jobs.js +1 -1
  1561. package/resources/fine-tuning/jobs.js.map +1 -1
  1562. package/resources/fine-tuning/jobs.mjs +1 -1
  1563. package/resources/fine-tuning/jobs.mjs.map +1 -1
  1564. package/resources/fine-tuning/methods.js +1 -1
  1565. package/resources/fine-tuning/methods.js.map +1 -1
  1566. package/resources/fine-tuning/methods.mjs +1 -1
  1567. package/resources/fine-tuning/methods.mjs.map +1 -1
  1568. package/resources/fine-tuning.js +1 -1
  1569. package/resources/fine-tuning.js.map +1 -1
  1570. package/resources/fine-tuning.mjs +1 -1
  1571. package/resources/fine-tuning.mjs.map +1 -1
  1572. package/resources/graders/grader-models.js +1 -1
  1573. package/resources/graders/grader-models.js.map +1 -1
  1574. package/resources/graders/grader-models.mjs +1 -1
  1575. package/resources/graders/grader-models.mjs.map +1 -1
  1576. package/resources/graders/graders.js +1 -1
  1577. package/resources/graders/graders.js.map +1 -1
  1578. package/resources/graders/graders.mjs +1 -1
  1579. package/resources/graders/graders.mjs.map +1 -1
  1580. package/resources/graders/index.js +1 -1
  1581. package/resources/graders/index.js.map +1 -1
  1582. package/resources/graders/index.mjs +1 -1
  1583. package/resources/graders/index.mjs.map +1 -1
  1584. package/resources/graders.js +1 -1
  1585. package/resources/graders.js.map +1 -1
  1586. package/resources/graders.mjs +1 -1
  1587. package/resources/graders.mjs.map +1 -1
  1588. package/resources/images.d.mts +12 -22
  1589. package/resources/images.d.mts.map +1 -1
  1590. package/resources/images.d.ts +12 -22
  1591. package/resources/images.d.ts.map +1 -1
  1592. package/resources/images.js +8 -2
  1593. package/resources/images.js.map +1 -1
  1594. package/resources/images.mjs +8 -2
  1595. package/resources/images.mjs.map +1 -1
  1596. package/resources/index.js +1 -1
  1597. package/resources/index.js.map +1 -1
  1598. package/resources/index.mjs +1 -1
  1599. package/resources/index.mjs.map +1 -1
  1600. package/resources/models.d.mts +4 -0
  1601. package/resources/models.d.mts.map +1 -1
  1602. package/resources/models.d.ts +4 -0
  1603. package/resources/models.d.ts.map +1 -1
  1604. package/resources/models.js +1 -1
  1605. package/resources/models.js.map +1 -1
  1606. package/resources/models.mjs +1 -1
  1607. package/resources/models.mjs.map +1 -1
  1608. package/resources/moderations.js +1 -1
  1609. package/resources/moderations.js.map +1 -1
  1610. package/resources/moderations.mjs +1 -1
  1611. package/resources/moderations.mjs.map +1 -1
  1612. package/resources/realtime/calls.d.mts +23 -1
  1613. package/resources/realtime/calls.d.mts.map +1 -1
  1614. package/resources/realtime/calls.d.ts +23 -1
  1615. package/resources/realtime/calls.d.ts.map +1 -1
  1616. package/resources/realtime/calls.js +25 -1
  1617. package/resources/realtime/calls.js.map +1 -1
  1618. package/resources/realtime/calls.mjs +25 -1
  1619. package/resources/realtime/calls.mjs.map +1 -1
  1620. package/resources/realtime/client-secrets.js +1 -1
  1621. package/resources/realtime/client-secrets.js.map +1 -1
  1622. package/resources/realtime/client-secrets.mjs +1 -1
  1623. package/resources/realtime/client-secrets.mjs.map +1 -1
  1624. package/resources/realtime/index.d.mts +1 -1
  1625. package/resources/realtime/index.d.mts.map +1 -1
  1626. package/resources/realtime/index.d.ts +1 -1
  1627. package/resources/realtime/index.d.ts.map +1 -1
  1628. package/resources/realtime/index.js +1 -1
  1629. package/resources/realtime/index.js.map +1 -1
  1630. package/resources/realtime/index.mjs +2 -2
  1631. package/resources/realtime/index.mjs.map +1 -1
  1632. package/resources/realtime/realtime.d.mts +5 -4
  1633. package/resources/realtime/realtime.d.mts.map +1 -1
  1634. package/resources/realtime/realtime.d.ts +5 -4
  1635. package/resources/realtime/realtime.d.ts.map +1 -1
  1636. package/resources/realtime/realtime.js +1 -1
  1637. package/resources/realtime/realtime.js.map +1 -1
  1638. package/resources/realtime/realtime.mjs +1 -1
  1639. package/resources/realtime/realtime.mjs.map +1 -1
  1640. package/resources/realtime.js +1 -1
  1641. package/resources/realtime.js.map +1 -1
  1642. package/resources/realtime.mjs +1 -1
  1643. package/resources/realtime.mjs.map +1 -1
  1644. package/resources/responses/index.js +1 -1
  1645. package/resources/responses/index.js.map +1 -1
  1646. package/resources/responses/index.mjs +1 -1
  1647. package/resources/responses/index.mjs.map +1 -1
  1648. package/resources/responses/input-items.js +1 -1
  1649. package/resources/responses/input-items.js.map +1 -1
  1650. package/resources/responses/input-items.mjs +1 -1
  1651. package/resources/responses/input-items.mjs.map +1 -1
  1652. package/resources/responses/input-tokens.js +1 -1
  1653. package/resources/responses/input-tokens.js.map +1 -1
  1654. package/resources/responses/input-tokens.mjs +1 -1
  1655. package/resources/responses/input-tokens.mjs.map +1 -1
  1656. package/resources/responses/internal-base.d.mts +6 -3
  1657. package/resources/responses/internal-base.d.mts.map +1 -1
  1658. package/resources/responses/internal-base.d.ts +6 -3
  1659. package/resources/responses/internal-base.d.ts.map +1 -1
  1660. package/resources/responses/internal-base.js +5 -2
  1661. package/resources/responses/internal-base.js.map +1 -1
  1662. package/resources/responses/internal-base.mjs +5 -2
  1663. package/resources/responses/internal-base.mjs.map +1 -1
  1664. package/resources/responses/responses.d.mts +1059 -32
  1665. package/resources/responses/responses.d.mts.map +1 -1
  1666. package/resources/responses/responses.d.ts +1059 -32
  1667. package/resources/responses/responses.d.ts.map +1 -1
  1668. package/resources/responses/responses.js +1 -1
  1669. package/resources/responses/responses.js.map +1 -1
  1670. package/resources/responses/responses.mjs +1 -1
  1671. package/resources/responses/responses.mjs.map +1 -1
  1672. package/resources/responses/ws-base.js +1 -1
  1673. package/resources/responses/ws-base.js.map +1 -1
  1674. package/resources/responses/ws-base.mjs +1 -1
  1675. package/resources/responses/ws-base.mjs.map +1 -1
  1676. package/resources/responses/ws.js +1 -1
  1677. package/resources/responses/ws.js.map +1 -1
  1678. package/resources/responses/ws.mjs +1 -1
  1679. package/resources/responses/ws.mjs.map +1 -1
  1680. package/resources/responses.js +1 -1
  1681. package/resources/responses.js.map +1 -1
  1682. package/resources/responses.mjs +1 -1
  1683. package/resources/responses.mjs.map +1 -1
  1684. package/resources/shared.d.mts +3 -3
  1685. package/resources/shared.d.mts.map +1 -1
  1686. package/resources/shared.d.ts +3 -3
  1687. package/resources/shared.d.ts.map +1 -1
  1688. package/resources/shared.js +1 -1
  1689. package/resources/shared.js.map +1 -1
  1690. package/resources/shared.mjs +1 -1
  1691. package/resources/shared.mjs.map +1 -1
  1692. package/resources/skills/content.js +1 -1
  1693. package/resources/skills/content.js.map +1 -1
  1694. package/resources/skills/content.mjs +1 -1
  1695. package/resources/skills/content.mjs.map +1 -1
  1696. package/resources/skills/index.js +1 -1
  1697. package/resources/skills/index.js.map +1 -1
  1698. package/resources/skills/index.mjs +1 -1
  1699. package/resources/skills/index.mjs.map +1 -1
  1700. package/resources/skills/skills.d.mts.map +1 -1
  1701. package/resources/skills/skills.d.ts.map +1 -1
  1702. package/resources/skills/skills.js +4 -2
  1703. package/resources/skills/skills.js.map +1 -1
  1704. package/resources/skills/skills.mjs +4 -2
  1705. package/resources/skills/skills.mjs.map +1 -1
  1706. package/resources/skills/versions/content.js +1 -1
  1707. package/resources/skills/versions/content.js.map +1 -1
  1708. package/resources/skills/versions/content.mjs +1 -1
  1709. package/resources/skills/versions/content.mjs.map +1 -1
  1710. package/resources/skills/versions/index.js +1 -1
  1711. package/resources/skills/versions/index.js.map +1 -1
  1712. package/resources/skills/versions/index.mjs +1 -1
  1713. package/resources/skills/versions/index.mjs.map +1 -1
  1714. package/resources/skills/versions/versions.d.mts.map +1 -1
  1715. package/resources/skills/versions/versions.d.ts.map +1 -1
  1716. package/resources/skills/versions/versions.js +4 -2
  1717. package/resources/skills/versions/versions.js.map +1 -1
  1718. package/resources/skills/versions/versions.mjs +4 -2
  1719. package/resources/skills/versions/versions.mjs.map +1 -1
  1720. package/resources/skills/versions.js +1 -1
  1721. package/resources/skills/versions.js.map +1 -1
  1722. package/resources/skills/versions.mjs +1 -1
  1723. package/resources/skills/versions.mjs.map +1 -1
  1724. package/resources/skills.js +1 -1
  1725. package/resources/skills.js.map +1 -1
  1726. package/resources/skills.mjs +1 -1
  1727. package/resources/skills.mjs.map +1 -1
  1728. package/resources/uploads/index.js +1 -1
  1729. package/resources/uploads/index.js.map +1 -1
  1730. package/resources/uploads/index.mjs +1 -1
  1731. package/resources/uploads/index.mjs.map +1 -1
  1732. package/resources/uploads/parts.js +1 -1
  1733. package/resources/uploads/parts.js.map +1 -1
  1734. package/resources/uploads/parts.mjs +1 -1
  1735. package/resources/uploads/parts.mjs.map +1 -1
  1736. package/resources/uploads/uploads.js +1 -1
  1737. package/resources/uploads/uploads.js.map +1 -1
  1738. package/resources/uploads/uploads.mjs +1 -1
  1739. package/resources/uploads/uploads.mjs.map +1 -1
  1740. package/resources/uploads.js +1 -1
  1741. package/resources/uploads.js.map +1 -1
  1742. package/resources/uploads.mjs +1 -1
  1743. package/resources/uploads.mjs.map +1 -1
  1744. package/resources/vector-stores/file-batches.d.mts.map +1 -1
  1745. package/resources/vector-stores/file-batches.d.ts.map +1 -1
  1746. package/resources/vector-stores/file-batches.js +6 -63
  1747. package/resources/vector-stores/file-batches.js.map +1 -1
  1748. package/resources/vector-stores/file-batches.mjs +6 -63
  1749. package/resources/vector-stores/file-batches.mjs.map +1 -1
  1750. package/resources/vector-stores/files.d.mts +1 -1
  1751. package/resources/vector-stores/files.d.mts.map +1 -1
  1752. package/resources/vector-stores/files.d.ts +1 -1
  1753. package/resources/vector-stores/files.d.ts.map +1 -1
  1754. package/resources/vector-stores/files.js +3 -36
  1755. package/resources/vector-stores/files.js.map +1 -1
  1756. package/resources/vector-stores/files.mjs +3 -36
  1757. package/resources/vector-stores/files.mjs.map +1 -1
  1758. package/resources/vector-stores/index.js +1 -1
  1759. package/resources/vector-stores/index.js.map +1 -1
  1760. package/resources/vector-stores/index.mjs +1 -1
  1761. package/resources/vector-stores/index.mjs.map +1 -1
  1762. package/resources/vector-stores/vector-stores.js +1 -1
  1763. package/resources/vector-stores/vector-stores.js.map +1 -1
  1764. package/resources/vector-stores/vector-stores.mjs +1 -1
  1765. package/resources/vector-stores/vector-stores.mjs.map +1 -1
  1766. package/resources/vector-stores.js +1 -1
  1767. package/resources/vector-stores.js.map +1 -1
  1768. package/resources/vector-stores.mjs +1 -1
  1769. package/resources/vector-stores.mjs.map +1 -1
  1770. package/resources/videos.d.mts +23 -0
  1771. package/resources/videos.d.mts.map +1 -1
  1772. package/resources/videos.d.ts +23 -0
  1773. package/resources/videos.d.ts.map +1 -1
  1774. package/resources/videos.js +24 -1
  1775. package/resources/videos.js.map +1 -1
  1776. package/resources/videos.mjs +24 -1
  1777. package/resources/videos.mjs.map +1 -1
  1778. package/resources/webhooks/index.js +1 -1
  1779. package/resources/webhooks/index.js.map +1 -1
  1780. package/resources/webhooks/index.mjs +1 -1
  1781. package/resources/webhooks/index.mjs.map +1 -1
  1782. package/resources/webhooks/webhooks.d.mts.map +1 -1
  1783. package/resources/webhooks/webhooks.d.ts.map +1 -1
  1784. package/resources/webhooks/webhooks.js +6 -43
  1785. package/resources/webhooks/webhooks.js.map +1 -1
  1786. package/resources/webhooks/webhooks.mjs +6 -43
  1787. package/resources/webhooks/webhooks.mjs.map +1 -1
  1788. package/resources/webhooks.js +1 -1
  1789. package/resources/webhooks.js.map +1 -1
  1790. package/resources/webhooks.mjs +1 -1
  1791. package/resources/webhooks.mjs.map +1 -1
  1792. package/src/_vendor/partial-json-parser/parser.ts +63 -33
  1793. package/src/_vendor/zod-to-json-schema/Options.ts +30 -18
  1794. package/src/_vendor/zod-to-json-schema/Refs.ts +7 -6
  1795. package/src/_vendor/zod-to-json-schema/errorMessages.ts +5 -3
  1796. package/src/_vendor/zod-to-json-schema/index.ts +3 -1
  1797. package/src/_vendor/zod-to-json-schema/parseDef.ts +150 -64
  1798. package/src/_vendor/zod-to-json-schema/parsers/array.ts +8 -5
  1799. package/src/_vendor/zod-to-json-schema/parsers/bigint.ts +18 -12
  1800. package/src/_vendor/zod-to-json-schema/parsers/branded.ts +2 -2
  1801. package/src/_vendor/zod-to-json-schema/parsers/catch.ts +4 -5
  1802. package/src/_vendor/zod-to-json-schema/parsers/date.ts +16 -10
  1803. package/src/_vendor/zod-to-json-schema/parsers/default.ts +4 -3
  1804. package/src/_vendor/zod-to-json-schema/parsers/effects.ts +4 -3
  1805. package/src/_vendor/zod-to-json-schema/parsers/enum.ts +1 -1
  1806. package/src/_vendor/zod-to-json-schema/parsers/intersection.ts +12 -9
  1807. package/src/_vendor/zod-to-json-schema/parsers/literal.ts +11 -2
  1808. package/src/_vendor/zod-to-json-schema/parsers/map.ts +6 -4
  1809. package/src/_vendor/zod-to-json-schema/parsers/nativeEnum.ts +10 -11
  1810. package/src/_vendor/zod-to-json-schema/parsers/null.ts +3 -3
  1811. package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +8 -5
  1812. package/src/_vendor/zod-to-json-schema/parsers/number.ts +15 -8
  1813. package/src/_vendor/zod-to-json-schema/parsers/object.ts +57 -54
  1814. package/src/_vendor/zod-to-json-schema/parsers/optional.ts +6 -5
  1815. package/src/_vendor/zod-to-json-schema/parsers/pipeline.ts +5 -4
  1816. package/src/_vendor/zod-to-json-schema/parsers/promise.ts +4 -3
  1817. package/src/_vendor/zod-to-json-schema/parsers/readonly.ts +4 -5
  1818. package/src/_vendor/zod-to-json-schema/parsers/record.ts +20 -19
  1819. package/src/_vendor/zod-to-json-schema/parsers/set.ts +6 -4
  1820. package/src/_vendor/zod-to-json-schema/parsers/string.ts +60 -36
  1821. package/src/_vendor/zod-to-json-schema/parsers/tuple.ts +18 -18
  1822. package/src/_vendor/zod-to-json-schema/parsers/union.ts +48 -33
  1823. package/src/_vendor/zod-to-json-schema/util.ts +10 -6
  1824. package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +119 -45
  1825. package/src/auth/index.ts +6 -1
  1826. package/src/auth/subject-token-providers.ts +267 -12
  1827. package/src/auth/types.ts +42 -5
  1828. package/src/auth/workload-identity-auth.ts +164 -22
  1829. package/src/auth/x509-transport.ts +49 -0
  1830. package/src/azure.ts +81 -26
  1831. package/src/bedrock.ts +93 -9
  1832. package/src/beta/realtime/internal-base.ts +94 -15
  1833. package/src/beta/realtime/websocket.ts +237 -44
  1834. package/src/beta/realtime/ws.ts +124 -23
  1835. package/src/client.ts +760 -104
  1836. package/src/core/EventEmitter.ts +136 -24
  1837. package/src/core/api-promise.ts +0 -2
  1838. package/src/core/error.ts +6 -8
  1839. package/src/core/pagination.ts +3 -5
  1840. package/src/core/resource.ts +0 -2
  1841. package/src/core/streaming.ts +216 -83
  1842. package/src/helpers/audio.ts +177 -31
  1843. package/src/helpers/standard-schema.ts +294 -57
  1844. package/src/helpers/zod-v3-strict-schema.ts +514 -0
  1845. package/src/helpers/zod.ts +151 -41
  1846. package/src/index.ts +2 -4
  1847. package/src/internal/assistant-stream-delta.ts +434 -0
  1848. package/src/internal/auth/x509-token-exchange.ts +310 -0
  1849. package/src/internal/auth/x509-transport-capability.ts +219 -0
  1850. package/src/internal/auth/x509-transport-registry.ts +118 -0
  1851. package/src/internal/auth/x509-transport-state-browser.ts +36 -0
  1852. package/src/internal/auth/x509-transport-state.cts +36 -0
  1853. package/src/internal/auth/x509-workload-identity-auth.ts +958 -0
  1854. package/src/internal/bedrock.ts +410 -18
  1855. package/src/internal/builtin-types.ts +0 -2
  1856. package/src/internal/data-residency.ts +44 -0
  1857. package/src/internal/decoders/line.ts +144 -61
  1858. package/src/internal/detect-platform.ts +1 -3
  1859. package/src/internal/errors.ts +0 -2
  1860. package/src/internal/headers.ts +0 -2
  1861. package/src/internal/multipart-encoding.ts +53 -0
  1862. package/src/internal/parse.ts +31 -8
  1863. package/src/internal/provider.ts +29 -0
  1864. package/src/internal/qs/formats.ts +1 -1
  1865. package/src/internal/qs/stringify.ts +54 -53
  1866. package/src/internal/qs/types.ts +1 -1
  1867. package/src/internal/qs/utils.ts +432 -54
  1868. package/src/internal/request-options.ts +52 -3
  1869. package/src/internal/responses/canonical-output-text.ts +160 -0
  1870. package/src/internal/responses/output-text-index.ts +84 -0
  1871. package/src/internal/responses/response-accumulator.ts +1232 -0
  1872. package/src/internal/shim-types.ts +3 -4
  1873. package/src/internal/shims.ts +0 -2
  1874. package/src/internal/stream-utils.ts +37 -5
  1875. package/src/internal/to-file.ts +87 -33
  1876. package/src/internal/types.ts +21 -29
  1877. package/src/internal/uploads.ts +323 -86
  1878. package/src/internal/utils/base64.ts +0 -2
  1879. package/src/internal/utils/bytes.ts +5 -0
  1880. package/src/internal/utils/env.ts +9 -7
  1881. package/src/internal/utils/log.ts +8 -12
  1882. package/src/internal/utils/path.ts +51 -32
  1883. package/src/internal/utils/query.ts +0 -2
  1884. package/src/internal/utils/sleep.ts +0 -2
  1885. package/src/internal/utils/uuid.ts +0 -2
  1886. package/src/internal/utils/values.ts +0 -2
  1887. package/src/internal/utils.ts +0 -2
  1888. package/src/internal/ws-adapter-browser.ts +81 -24
  1889. package/src/internal/ws-adapter-node.ts +105 -26
  1890. package/src/internal/ws-adapter.ts +23 -0
  1891. package/src/internal/ws.ts +153 -50
  1892. package/src/lib/.keep +2 -2
  1893. package/src/lib/AbstractChatCompletionRunner.ts +140 -62
  1894. package/src/lib/AssistantStream.ts +498 -239
  1895. package/src/lib/ChatCompletionRunner.ts +24 -16
  1896. package/src/lib/ChatCompletionStream.ts +1783 -249
  1897. package/src/lib/ChatCompletionStreamingRunner.ts +54 -94
  1898. package/src/lib/EventEmitter.ts +127 -27
  1899. package/src/lib/EventStream.ts +1704 -62
  1900. package/src/lib/ResponsesParser.ts +95 -40
  1901. package/src/lib/RunnableFunction.ts +62 -32
  1902. package/src/lib/Util.ts +7 -5
  1903. package/src/lib/assistant-run-polling.ts +27 -0
  1904. package/src/lib/chatCompletionUtils.ts +9 -10
  1905. package/src/lib/embeddings.ts +65 -0
  1906. package/src/lib/file-processing.ts +36 -0
  1907. package/src/lib/jsonschema.ts +74 -34
  1908. package/src/lib/parser.ts +197 -61
  1909. package/src/lib/polling.ts +144 -0
  1910. package/src/lib/responses/EventTypes.ts +16 -1
  1911. package/src/lib/responses/ResponseAccumulator.ts +8 -402
  1912. package/src/lib/responses/ResponseInputItems.ts +1 -0
  1913. package/src/lib/responses/ResponseStream.ts +105 -91
  1914. package/src/lib/transform.ts +160 -108
  1915. package/src/lib/vector-store-polling.ts +46 -0
  1916. package/src/lib/vector-store-upload.ts +53 -0
  1917. package/src/lib/webhook-signature.ts +164 -0
  1918. package/src/providers/bedrock/aws.ts +114 -41
  1919. package/src/providers/bedrock.ts +22 -4
  1920. package/src/realtime/internal-base.ts +206 -41
  1921. package/src/realtime/websocket.ts +226 -41
  1922. package/src/realtime/ws.ts +112 -18
  1923. package/src/resources/admin/admin.ts +1 -1
  1924. package/src/resources/admin/index.ts +1 -1
  1925. package/src/resources/admin/organization/admin-api-keys.ts +1 -1
  1926. package/src/resources/admin/organization/audit-logs.ts +5 -1
  1927. package/src/resources/admin/organization/certificates.ts +1 -1
  1928. package/src/resources/admin/organization/data-retention.ts +1 -1
  1929. package/src/resources/admin/organization/groups/groups.ts +1 -1
  1930. package/src/resources/admin/organization/groups/index.ts +1 -1
  1931. package/src/resources/admin/organization/groups/roles.ts +1 -1
  1932. package/src/resources/admin/organization/groups/users.ts +1 -1
  1933. package/src/resources/admin/organization/groups.ts +1 -1
  1934. package/src/resources/admin/organization/index.ts +3 -1
  1935. package/src/resources/admin/organization/invites.ts +1 -1
  1936. package/src/resources/admin/organization/organization.ts +5 -1
  1937. package/src/resources/admin/organization/projects/api-keys.ts +1 -1
  1938. package/src/resources/admin/organization/projects/certificates.ts +1 -1
  1939. package/src/resources/admin/organization/projects/data-retention.ts +1 -1
  1940. package/src/resources/admin/organization/projects/groups/groups.ts +1 -1
  1941. package/src/resources/admin/organization/projects/groups/index.ts +1 -1
  1942. package/src/resources/admin/organization/projects/groups/roles.ts +1 -1
  1943. package/src/resources/admin/organization/projects/groups.ts +1 -1
  1944. package/src/resources/admin/organization/projects/hosted-tool-permissions.ts +1 -1
  1945. package/src/resources/admin/organization/projects/index.ts +2 -1
  1946. package/src/resources/admin/organization/projects/model-permissions.ts +1 -1
  1947. package/src/resources/admin/organization/projects/projects.ts +38 -5
  1948. package/src/resources/admin/organization/projects/rate-limits.ts +1 -1
  1949. package/src/resources/admin/organization/projects/roles.ts +1 -1
  1950. package/src/resources/admin/organization/projects/service-accounts/api-keys.ts +1 -1
  1951. package/src/resources/admin/organization/projects/service-accounts/index.ts +1 -1
  1952. package/src/resources/admin/organization/projects/service-accounts/service-accounts.ts +1 -1
  1953. package/src/resources/admin/organization/projects/service-accounts.ts +1 -1
  1954. package/src/resources/admin/organization/projects/spend-alerts.ts +1 -1
  1955. package/src/resources/admin/organization/projects/spend-limit.ts +1 -1
  1956. package/src/resources/admin/organization/projects/users/index.ts +1 -1
  1957. package/src/resources/admin/organization/projects/users/roles.ts +1 -1
  1958. package/src/resources/admin/organization/projects/users/users.ts +1 -1
  1959. package/src/resources/admin/organization/projects/users.ts +1 -1
  1960. package/src/resources/admin/organization/projects.ts +1 -1
  1961. package/src/resources/admin/organization/roles.ts +1 -1
  1962. package/src/resources/admin/organization/spend-alerts.ts +1 -1
  1963. package/src/resources/admin/organization/spend-limit.ts +1 -1
  1964. package/src/resources/admin/organization/usage.ts +84 -1
  1965. package/src/resources/admin/organization/users/index.ts +1 -1
  1966. package/src/resources/admin/organization/users/roles.ts +1 -1
  1967. package/src/resources/admin/organization/users/users.ts +1 -1
  1968. package/src/resources/admin/organization/users.ts +1 -1
  1969. package/src/resources/admin/organization.ts +1 -1
  1970. package/src/resources/admin.ts +1 -1
  1971. package/src/resources/audio/audio.ts +1 -1
  1972. package/src/resources/audio/index.ts +1 -1
  1973. package/src/resources/audio/speech.ts +1 -1
  1974. package/src/resources/audio/transcriptions.ts +4 -2
  1975. package/src/resources/audio/translations.ts +4 -2
  1976. package/src/resources/audio.ts +1 -1
  1977. package/src/resources/batches.ts +1 -1
  1978. package/src/resources/beta/assistants.ts +1 -1
  1979. package/src/resources/beta/beta.ts +17 -1
  1980. package/src/resources/beta/chatkit/chatkit.ts +1 -1
  1981. package/src/resources/beta/chatkit/index.ts +1 -1
  1982. package/src/resources/beta/chatkit/sessions.ts +1 -1
  1983. package/src/resources/beta/chatkit/threads.ts +1 -1
  1984. package/src/resources/beta/chatkit.ts +1 -1
  1985. package/src/resources/beta/index.ts +9 -1
  1986. package/src/resources/beta/realtime/index.ts +0 -2
  1987. package/src/resources/beta/realtime/realtime.ts +0 -2
  1988. package/src/resources/beta/realtime/sessions.ts +0 -2
  1989. package/src/resources/beta/realtime/transcription-sessions.ts +0 -2
  1990. package/src/resources/beta/realtime.ts +0 -2
  1991. package/src/resources/beta/responses/index.ts +9 -1
  1992. package/src/resources/beta/responses/input-items.ts +1 -1
  1993. package/src/resources/beta/responses/input-tokens.ts +1 -1
  1994. package/src/resources/beta/responses/internal-base.ts +11 -10
  1995. package/src/resources/beta/responses/responses.ts +2276 -956
  1996. package/src/resources/beta/responses/ws-base.ts +1 -1
  1997. package/src/resources/beta/responses/ws.ts +1 -1
  1998. package/src/resources/beta/responses.ts +1 -1
  1999. package/src/resources/beta/threads/index.ts +1 -1
  2000. package/src/resources/beta/threads/messages.ts +1 -1
  2001. package/src/resources/beta/threads/runs/index.ts +2 -2
  2002. package/src/resources/beta/threads/runs/runs.ts +3 -46
  2003. package/src/resources/beta/threads/runs/steps.ts +1 -1
  2004. package/src/resources/beta/threads/runs.ts +1 -1
  2005. package/src/resources/beta/threads/threads.ts +1 -1
  2006. package/src/resources/beta/threads.ts +1 -1
  2007. package/src/resources/beta.ts +1 -1
  2008. package/src/resources/chat/chat.ts +1 -1
  2009. package/src/resources/chat/completions/completions.ts +46 -8
  2010. package/src/resources/chat/completions/index.ts +1 -1
  2011. package/src/resources/chat/completions/messages.ts +1 -1
  2012. package/src/resources/chat/completions.ts +1 -1
  2013. package/src/resources/chat/index.ts +1 -1
  2014. package/src/resources/chat.ts +1 -1
  2015. package/src/resources/completions.ts +16 -1
  2016. package/src/resources/containers/containers.ts +1 -1
  2017. package/src/resources/containers/files/content.ts +1 -1
  2018. package/src/resources/containers/files/files.ts +1 -1
  2019. package/src/resources/containers/files/index.ts +1 -1
  2020. package/src/resources/containers/files.ts +1 -1
  2021. package/src/resources/containers/index.ts +1 -1
  2022. package/src/resources/containers.ts +1 -1
  2023. package/src/resources/content-provenance-checks.ts +1 -1
  2024. package/src/resources/conversations/conversations.ts +2 -2
  2025. package/src/resources/conversations/index.ts +1 -1
  2026. package/src/resources/conversations/items.ts +2 -2
  2027. package/src/resources/conversations.ts +1 -1
  2028. package/src/resources/embeddings.ts +16 -43
  2029. package/src/resources/evals/evals.ts +1 -1
  2030. package/src/resources/evals/index.ts +1 -1
  2031. package/src/resources/evals/runs/index.ts +1 -1
  2032. package/src/resources/evals/runs/output-items.ts +1 -1
  2033. package/src/resources/evals/runs/runs.ts +1 -1
  2034. package/src/resources/evals/runs.ts +1 -1
  2035. package/src/resources/evals.ts +1 -1
  2036. package/src/resources/files.ts +4 -21
  2037. package/src/resources/fine-tuning/alpha/alpha.ts +1 -1
  2038. package/src/resources/fine-tuning/alpha/graders.ts +1 -1
  2039. package/src/resources/fine-tuning/alpha/index.ts +1 -1
  2040. package/src/resources/fine-tuning/alpha.ts +1 -1
  2041. package/src/resources/fine-tuning/checkpoints/checkpoints.ts +1 -1
  2042. package/src/resources/fine-tuning/checkpoints/index.ts +1 -1
  2043. package/src/resources/fine-tuning/checkpoints/permissions.ts +1 -1
  2044. package/src/resources/fine-tuning/checkpoints.ts +1 -1
  2045. package/src/resources/fine-tuning/fine-tuning.ts +1 -1
  2046. package/src/resources/fine-tuning/index.ts +1 -1
  2047. package/src/resources/fine-tuning/jobs/checkpoints.ts +1 -1
  2048. package/src/resources/fine-tuning/jobs/index.ts +1 -1
  2049. package/src/resources/fine-tuning/jobs/jobs.ts +1 -1
  2050. package/src/resources/fine-tuning/jobs.ts +1 -1
  2051. package/src/resources/fine-tuning/methods.ts +1 -1
  2052. package/src/resources/fine-tuning.ts +1 -1
  2053. package/src/resources/graders/grader-models.ts +1 -1
  2054. package/src/resources/graders/graders.ts +1 -1
  2055. package/src/resources/graders/index.ts +1 -1
  2056. package/src/resources/graders.ts +1 -1
  2057. package/src/resources/images.ts +20 -24
  2058. package/src/resources/index.ts +1 -1
  2059. package/src/resources/models.ts +6 -1
  2060. package/src/resources/moderations.ts +1 -1
  2061. package/src/resources/realtime/api.md +1 -0
  2062. package/src/resources/realtime/calls.ts +47 -1
  2063. package/src/resources/realtime/client-secrets.ts +1 -1
  2064. package/src/resources/realtime/index.ts +8 -2
  2065. package/src/resources/realtime/realtime.ts +6 -4
  2066. package/src/resources/realtime.ts +1 -1
  2067. package/src/resources/responses/api.md +8 -0
  2068. package/src/resources/responses/index.ts +1 -1
  2069. package/src/resources/responses/input-items.ts +1 -1
  2070. package/src/resources/responses/input-tokens.ts +1 -1
  2071. package/src/resources/responses/internal-base.ts +11 -10
  2072. package/src/resources/responses/responses.ts +1530 -332
  2073. package/src/resources/responses/ws-base.ts +1 -1
  2074. package/src/resources/responses/ws.ts +1 -1
  2075. package/src/resources/responses.ts +1 -1
  2076. package/src/resources/shared.ts +14 -3
  2077. package/src/resources/skills/content.ts +1 -1
  2078. package/src/resources/skills/index.ts +1 -1
  2079. package/src/resources/skills/skills.ts +4 -2
  2080. package/src/resources/skills/versions/content.ts +1 -1
  2081. package/src/resources/skills/versions/index.ts +1 -1
  2082. package/src/resources/skills/versions/versions.ts +4 -2
  2083. package/src/resources/skills/versions.ts +1 -1
  2084. package/src/resources/skills.ts +1 -1
  2085. package/src/resources/uploads/index.ts +1 -1
  2086. package/src/resources/uploads/parts.ts +1 -1
  2087. package/src/resources/uploads/uploads.ts +1 -1
  2088. package/src/resources/uploads.ts +1 -1
  2089. package/src/resources/vector-stores/file-batches.ts +13 -78
  2090. package/src/resources/vector-stores/files.ts +4 -44
  2091. package/src/resources/vector-stores/index.ts +1 -1
  2092. package/src/resources/vector-stores/vector-stores.ts +1 -1
  2093. package/src/resources/vector-stores.ts +1 -1
  2094. package/src/resources/videos.ts +24 -1
  2095. package/src/resources/webhooks/index.ts +1 -1
  2096. package/src/resources/webhooks/webhooks.ts +6 -65
  2097. package/src/resources/webhooks.ts +1 -1
  2098. package/src/tsconfig.dist-src.d.ts +29 -0
  2099. package/src/tsconfig.json +6 -3
  2100. package/src/version.ts +2 -1
  2101. package/version.d.mts +2 -1
  2102. package/version.d.mts.map +1 -1
  2103. package/version.d.ts +2 -1
  2104. package/version.d.ts.map +1 -1
  2105. package/version.js +2 -1
  2106. package/version.js.map +1 -1
  2107. package/version.mjs +2 -1
  2108. package/version.mjs.map +1 -1
@@ -1,14 +1,28 @@
1
- var _ChatCompletionStream_instances, _ChatCompletionStream_params, _ChatCompletionStream_audioDoneChoiceIndexes, _ChatCompletionStream_choiceEventStates, _ChatCompletionStream_currentChatCompletionSnapshot, _ChatCompletionStream_beginRequest, _ChatCompletionStream_getChoiceEventState, _ChatCompletionStream_addChunk, _ChatCompletionStream_emitToolCallDoneEvent, _ChatCompletionStream_emitContentDoneEvents, _ChatCompletionStream_endRequest, _ChatCompletionStream_getAutoParseableResponseFormat, _ChatCompletionStream_accumulateChatCompletion;
1
+ var _ChatCompletionStream_instances, _ChatCompletionStream_params, _ChatCompletionStream_audioDoneChoiceIndexes, _ChatCompletionStream_choiceEventStates, _ChatCompletionStream_currentChatCompletionSnapshot, _ChatCompletionStream_hasAutoParseableTool, _ChatCompletionStream_partialJSONParseBudget, _ChatCompletionStream_beginRequest, _ChatCompletionStream_getChoiceEventState, _ChatCompletionStream_addChunk, _ChatCompletionStream_emitToolCallDoneEvent, _ChatCompletionStream_emitContentDoneEvents, _ChatCompletionStream_validateStructuredSnapshots, _ChatCompletionStream_endRequest, _ChatCompletionStream_accumulateChatCompletion;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "../internal/tslib.mjs";
3
- import { partialParse } from "../_vendor/partial-json-parser/parser.mjs";
3
+ import { MalformedJSON, partialParse } from "../_vendor/partial-json-parser/parser.mjs";
4
4
  import { APIUserAbortError, ContentFilterFinishReasonError, LengthFinishReasonError, OpenAIError, } from "../error.mjs";
5
+ import { observeJSONRequestBody } from "../internal/request-options.mjs";
5
6
  import { uuid4 } from "../internal/utils/uuid.mjs";
6
- import { hasAutoParseableInput, isAutoParsableResponseFormat, isAutoParsableTool, isChatCompletionFunctionTool, maybeParseChatCompletion, shouldParseToolCall, } from "../lib/parser.mjs";
7
+ import { hasOwn } from "../internal/utils/values.mjs";
8
+ import { hasAutoParseableInput, isAutoParsableTool, isChatCompletionFunctionTool, isParseableResponseFormat, maybeParseChatCompletion, parseResponseFormatContent, shouldParseToolCall, } from "../lib/parser.mjs";
7
9
  import { Stream } from "../streaming.mjs";
8
- import { AbstractChatCompletionRunner, } from "./AbstractChatCompletionRunner.mjs";
10
+ import { AbstractChatCompletionRunner } from "./AbstractChatCompletionRunner.mjs";
11
+ function parseStructuredStreamingJSON(content) {
12
+ try {
13
+ return partialParse(content);
14
+ }
15
+ catch (error) {
16
+ if (error instanceof MalformedJSON || error instanceof SyntaxError) {
17
+ return parseResponseFormatContent({ type: 'json_schema', $parseRaw: undefined }, content);
18
+ }
19
+ throw error;
20
+ }
21
+ }
9
22
  // Keep message records readable as empty chunks by older SDKs. Their finalizer
10
23
  // overwrites `object`, so the encoded payload does not leak into completions.
11
24
  const CHAT_COMPLETION_READABLE_STREAM_MESSAGE_PREFIX = 'chat.completion.chunk.message:';
25
+ /** Encodes a tool-result message as a backwards-compatible, empty completion chunk. */
12
26
  export function makeChatCompletionReadableStreamMessageChunk(chunk, message, toolCallIds) {
13
27
  const payload = {
14
28
  type: 'message',
@@ -35,7 +49,719 @@ function getChatCompletionReadableStreamMessage(item) {
35
49
  }
36
50
  return JSON.parse(item.object.slice(CHAT_COMPLETION_READABLE_STREAM_MESSAGE_PREFIX.length));
37
51
  }
52
+ // The Chat Completions schema limits n to 128. Replayed streams do not retain
53
+ // request parameters, so apply that choice limit independently and use the same
54
+ // conservative ceiling to prevent sparse tool-call arrays from growing unbounded.
55
+ const MAX_STREAM_CHOICES = 128;
56
+ const MAX_STREAM_TOOL_CALLS = 128;
57
+ const MAX_PARTIAL_JSON_BYTES = 16 * 1024 * 1024;
58
+ const MAX_PARTIAL_JSON_FRAGMENTS = 65536;
59
+ const MAX_PARTIAL_JSON_DEPTH = 128;
60
+ const MAX_PARTIAL_JSON_PARSE_WORK = 64 * 1024 * 1024;
61
+ const EAGER_PARTIAL_JSON_BYTES = 1024;
62
+ function createPartialJSONParseState() {
63
+ return {
64
+ bytes: 0,
65
+ depth: 0,
66
+ fragments: 0,
67
+ work: 0,
68
+ escaped: false,
69
+ has_non_whitespace: false,
70
+ in_string: false,
71
+ last_parsed_bytes: 0,
72
+ pending_high_surrogate: false,
73
+ };
74
+ }
75
+ function recordPartialJSONFragment(state, budget, fragment, validationWorkBudget) {
76
+ if (budget.fragments >= MAX_PARTIAL_JSON_FRAGMENTS) {
77
+ throw new OpenAIError('Chat completion stream exceeded its structured JSON fragment limit');
78
+ }
79
+ let bytes = 0;
80
+ let { depth, escaped, has_non_whitespace: hasNonWhitespace, in_string: inString } = state;
81
+ let completed = false;
82
+ let firstCharacter = true;
83
+ for (const character of fragment) {
84
+ const previousBytes = bytes;
85
+ const codePoint = character.codePointAt(0);
86
+ if (firstCharacter && state.pending_high_surrogate && codePoint >= 56320 && codePoint <= 57343) {
87
+ bytes += 1;
88
+ }
89
+ else if (codePoint <= 0x7f) {
90
+ bytes += 1;
91
+ }
92
+ else if (codePoint <= 2047) {
93
+ bytes += 2;
94
+ }
95
+ else if (codePoint <= 65535) {
96
+ bytes += 3;
97
+ }
98
+ else {
99
+ bytes += 4;
100
+ }
101
+ firstCharacter = false;
102
+ if (budget.bytes + bytes > MAX_PARTIAL_JSON_BYTES) {
103
+ throw new OpenAIError('Chat completion stream exceeded its structured JSON byte limit');
104
+ }
105
+ if (validationWorkBudget && validationWorkBudget.work + bytes > MAX_PARTIAL_JSON_PARSE_WORK) {
106
+ validationWorkBudget.work += previousBytes;
107
+ throw new OpenAIError('Chat completion stream exceeded its structured JSON parse-work limit');
108
+ }
109
+ if (character !== ' ' && character !== '\n' && character !== '\r' && character !== '\t') {
110
+ hasNonWhitespace = true;
111
+ }
112
+ if (inString) {
113
+ if (escaped) {
114
+ escaped = false;
115
+ }
116
+ else if (character === '\\') {
117
+ escaped = true;
118
+ }
119
+ else if (character === '"') {
120
+ inString = false;
121
+ completed || (completed = depth === 0);
122
+ }
123
+ continue;
124
+ }
125
+ if (character === '"') {
126
+ inString = true;
127
+ }
128
+ else if (character === '{' || character === '[') {
129
+ depth += 1;
130
+ if (depth > MAX_PARTIAL_JSON_DEPTH) {
131
+ throw new OpenAIError('Chat completion stream exceeded its structured JSON nesting depth limit');
132
+ }
133
+ }
134
+ else if ((character === '}' || character === ']') && depth > 0) {
135
+ depth -= 1;
136
+ completed || (completed = depth === 0);
137
+ }
138
+ }
139
+ state.bytes += bytes;
140
+ state.fragments += 1;
141
+ state.depth = depth;
142
+ state.escaped = escaped;
143
+ state.has_non_whitespace = hasNonWhitespace;
144
+ state.in_string = inString;
145
+ if (fragment.length > 0) {
146
+ const finalCodeUnit = fragment.codePointAt(fragment.length - 1) ?? 0;
147
+ state.pending_high_surrogate = finalCodeUnit >= 55296 && finalCodeUnit <= 56319;
148
+ }
149
+ budget.bytes += bytes;
150
+ budget.fragments += 1;
151
+ if (validationWorkBudget) {
152
+ validationWorkBudget.work += bytes;
153
+ }
154
+ if (!hasNonWhitespace || bytes === 0) {
155
+ return false;
156
+ }
157
+ const minimumGrowth = Math.max(EAGER_PARTIAL_JSON_BYTES, Math.floor(state.last_parsed_bytes / 2));
158
+ if (state.bytes > EAGER_PARTIAL_JSON_BYTES &&
159
+ !completed &&
160
+ state.bytes - state.last_parsed_bytes < minimumGrowth) {
161
+ return false;
162
+ }
163
+ return true;
164
+ }
165
+ function reservePartialJSONParse(state, budget) {
166
+ if (budget.work + state.bytes > MAX_PARTIAL_JSON_PARSE_WORK) {
167
+ return false;
168
+ }
169
+ budget.work += state.bytes;
170
+ state.work += state.bytes;
171
+ state.last_parsed_bytes = state.bytes;
172
+ return true;
173
+ }
174
+ function captureStructuredJSONSnapshot(snapshot, property) {
175
+ const descriptor = Object.getOwnPropertyDescriptor(snapshot, property);
176
+ if (!descriptor) {
177
+ let prototype = Object.getPrototypeOf(snapshot);
178
+ for (let depth = 0; prototype !== null; depth += 1) {
179
+ if (depth >= MAX_PARTIAL_JSON_DEPTH || Object.getOwnPropertyDescriptor(prototype, property)) {
180
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
181
+ }
182
+ prototype = Object.getPrototypeOf(prototype);
183
+ }
184
+ return undefined;
185
+ }
186
+ if (!('value' in descriptor) ||
187
+ (typeof descriptor.value !== 'string' && descriptor.value !== null && descriptor.value !== undefined)) {
188
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
189
+ }
190
+ return descriptor.value;
191
+ }
192
+ function captureStructuredMessageSnapshot(choice) {
193
+ const descriptor = Object.getOwnPropertyDescriptor(choice, 'message');
194
+ if (!descriptor ||
195
+ !('value' in descriptor) ||
196
+ typeof descriptor.value !== 'object' ||
197
+ descriptor.value === null) {
198
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
199
+ }
200
+ return descriptor.value;
201
+ }
202
+ function captureSnapshotArray(snapshot, property, maximum, kind) {
203
+ const descriptor = Object.getOwnPropertyDescriptor(snapshot, property);
204
+ if (!descriptor) {
205
+ let prototype = Object.getPrototypeOf(snapshot);
206
+ for (let depth = 0; prototype !== null; depth += 1) {
207
+ if (depth >= MAX_PARTIAL_JSON_DEPTH || Object.getOwnPropertyDescriptor(prototype, property)) {
208
+ throw new OpenAIError(`Chat completion stream contains an unsafe snapshot ${kind} collection`);
209
+ }
210
+ prototype = Object.getPrototypeOf(prototype);
211
+ }
212
+ return undefined;
213
+ }
214
+ if (!('value' in descriptor) || !Array.isArray(descriptor.value)) {
215
+ throw new OpenAIError(`Chat completion stream contains an unsafe snapshot ${kind} collection`);
216
+ }
217
+ const length = Object.getOwnPropertyDescriptor(descriptor.value, 'length');
218
+ if (!length || !('value' in length) || !Number.isSafeInteger(length.value) || length.value > maximum) {
219
+ throw new OpenAIError(`Chat completion stream exceeded its snapshot ${kind} limit`);
220
+ }
221
+ return descriptor.value;
222
+ }
223
+ function captureSnapshotArrayItem(array, index) {
224
+ const descriptor = Object.getOwnPropertyDescriptor(array, index);
225
+ if (!descriptor) {
226
+ return undefined;
227
+ }
228
+ if (!('value' in descriptor)) {
229
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
230
+ }
231
+ return descriptor.value;
232
+ }
233
+ function mapCapturedSnapshotArray(array, maximum, kind, map) {
234
+ const descriptor = Object.getOwnPropertyDescriptor(array, 'length');
235
+ const length = descriptor && 'value' in descriptor ? descriptor.value : undefined;
236
+ if (typeof length !== 'number' || !Number.isSafeInteger(length) || length < 0 || length > maximum) {
237
+ throw new OpenAIError(`Chat completion stream exceeded its snapshot ${kind} limit`);
238
+ }
239
+ const mapped = [];
240
+ mapped.length = length;
241
+ for (let index = 0; index < length; index += 1) {
242
+ const item = Object.getOwnPropertyDescriptor(array, index);
243
+ if (!item) {
244
+ continue;
245
+ }
246
+ if (!('value' in item)) {
247
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
248
+ }
249
+ mapped[index] = map(item.value, index);
250
+ }
251
+ return mapped;
252
+ }
253
+ function validateStructuredJSONSnapshot(value, budget, validationWorkBudget) {
254
+ const state = createPartialJSONParseState();
255
+ const parseBudget = budget ?? { bytes: 0, fragments: 0, work: 0 };
256
+ recordPartialJSONFragment(state, parseBudget, value, validationWorkBudget);
257
+ if (!reservePartialJSONParse(state, parseBudget)) {
258
+ throw new OpenAIError('Chat completion stream exceeded its structured JSON parse-work limit');
259
+ }
260
+ return value;
261
+ }
262
+ function ownFunctionToolIdentity(toolCall) {
263
+ const type = Object.getOwnPropertyDescriptor(toolCall, 'type');
264
+ const fn = Object.getOwnPropertyDescriptor(toolCall, 'function');
265
+ if (!type || !('value' in type) || type.value !== 'function' || !fn || !('value' in fn)) {
266
+ return undefined;
267
+ }
268
+ if (typeof fn.value !== 'object' || fn.value === null) {
269
+ return undefined;
270
+ }
271
+ const name = Object.getOwnPropertyDescriptor(fn.value, 'name');
272
+ if (!name || !('value' in name) || typeof name.value !== 'string' || name.value.length === 0) {
273
+ return undefined;
274
+ }
275
+ return { type: 'function', name: name.value };
276
+ }
277
+ function assertBoundToolCallIdentity(toolCall, identity) {
278
+ const current = ownFunctionToolIdentity(toolCall);
279
+ if (!current || current.name !== identity.name || current.type !== identity.type) {
280
+ throw new OpenAIError('Chat completion stream contains a changed tool call identity');
281
+ }
282
+ }
283
+ function assignOwnProperties(target, source) {
284
+ if (Object.prototype.propertyIsEnumerable.call(source, '__proto__') && !hasOwn(target, '__proto__')) {
285
+ Object.defineProperty(target, '__proto__', {
286
+ value: undefined,
287
+ writable: true,
288
+ enumerable: true,
289
+ configurable: true,
290
+ });
291
+ }
292
+ return Object.assign(target, source);
293
+ }
294
+ function cloneParserConfigObject(value, stableFields = []) {
295
+ const descriptors = Object.getOwnPropertyDescriptors(value);
296
+ for (const field of stableFields) {
297
+ const descriptor = descriptors[field];
298
+ if (!descriptor && !(field in value)) {
299
+ continue;
300
+ }
301
+ descriptors[field] = {
302
+ value: descriptor && 'value' in descriptor ? descriptor.value : Reflect.get(value, field, value),
303
+ enumerable: descriptor?.enumerable ?? false,
304
+ configurable: descriptor?.configurable ?? true,
305
+ writable: descriptor && 'writable' in descriptor ? descriptor.writable : false,
306
+ };
307
+ }
308
+ return Object.create(Object.getPrototypeOf(value), descriptors);
309
+ }
310
+ function snapshotChatCompletionParserParams(params) {
311
+ const snapshot = cloneParserConfigObject(params);
312
+ if (params.tools) {
313
+ const stableTools = [];
314
+ const lengthDescriptor = Object.getOwnPropertyDescriptor(params.tools, 'length');
315
+ const length = lengthDescriptor && 'value' in lengthDescriptor ? lengthDescriptor.value : undefined;
316
+ const toolCount = typeof length === 'number' && Number.isSafeInteger(length) && length >= 0
317
+ ? Math.min(length, MAX_STREAM_TOOL_CALLS)
318
+ : 0;
319
+ for (let index = 0; index < toolCount; index += 1) {
320
+ const item = Object.getOwnPropertyDescriptor(params.tools, String(index));
321
+ if (!item || !('value' in item)) {
322
+ stableTools.length = index + 1;
323
+ continue;
324
+ }
325
+ const tool = item.value;
326
+ const stableTool = cloneParserConfigObject(tool, [
327
+ 'type',
328
+ '$brand',
329
+ '$parseRaw',
330
+ '$callback',
331
+ 'function',
332
+ ]);
333
+ const descriptors = Object.getOwnPropertyDescriptors(stableTool);
334
+ if (isChatCompletionFunctionTool(stableTool)) {
335
+ const descriptor = descriptors.function;
336
+ descriptors.function = {
337
+ ...(descriptor && 'value' in descriptor
338
+ ? descriptor
339
+ : { configurable: true, enumerable: true, writable: true }),
340
+ value: cloneParserConfigObject(stableTool.function, ['name', 'strict']),
341
+ };
342
+ }
343
+ stableTools[index] = Object.create(Object.getPrototypeOf(tool), descriptors);
344
+ }
345
+ snapshot.tools = stableTools;
346
+ }
347
+ if (params.response_format) {
348
+ snapshot.response_format = cloneParserConfigObject(params.response_format, [
349
+ 'type',
350
+ '$brand',
351
+ '$parseRaw',
352
+ ]);
353
+ }
354
+ return snapshot;
355
+ }
356
+ const MAX_SERIALIZED_PARSER_SCHEMA_NODES = 4096;
357
+ const stringifyParserSchemaValue = JSON.stringify;
358
+ const MAX_SERIALIZED_PARSER_SCHEMA_BYTES = 1024 * 1024;
359
+ const MAX_SERIALIZED_PARSER_SCHEMA_DEPTH = 64;
360
+ const OMITTED_SERIALIZED_PARSER_VALUE = Symbol('omitted serialized parser value');
361
+ const UNSAFE_SERIALIZED_PARSER_VALUE = Symbol('unsafe serialized parser value');
362
+ function canonicalSerializedParserSchema(value, budget) {
363
+ const ancestors = new WeakSet();
364
+ const charge = (bytes) => {
365
+ if (!Number.isSafeInteger(bytes) ||
366
+ bytes < 0 ||
367
+ budget.bytes + bytes > MAX_SERIALIZED_PARSER_SCHEMA_BYTES) {
368
+ return false;
369
+ }
370
+ budget.bytes += bytes;
371
+ return true;
372
+ };
373
+ const visit = (current, depth) => {
374
+ if (depth > MAX_SERIALIZED_PARSER_SCHEMA_DEPTH || budget.nodes >= MAX_SERIALIZED_PARSER_SCHEMA_NODES) {
375
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
376
+ }
377
+ budget.nodes += 1;
378
+ if (current === undefined || typeof current === 'function' || typeof current === 'symbol') {
379
+ return OMITTED_SERIALIZED_PARSER_VALUE;
380
+ }
381
+ if (typeof current === 'bigint') {
382
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
383
+ }
384
+ if (current === null || typeof current === 'boolean' || typeof current === 'number') {
385
+ const serialized = stringifyParserSchemaValue(current);
386
+ return typeof serialized === 'string' && charge(serialized.length)
387
+ ? serialized
388
+ : UNSAFE_SERIALIZED_PARSER_VALUE;
389
+ }
390
+ if (typeof current === 'string') {
391
+ if (!charge(current.length * 6 + 2)) {
392
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
393
+ }
394
+ return stringifyParserSchemaValue(current);
395
+ }
396
+ if (typeof current !== 'object' || ancestors.has(current)) {
397
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
398
+ }
399
+ const array = Array.isArray(current);
400
+ const prototype = Object.getPrototypeOf(current);
401
+ if ((array && prototype !== Array.prototype) ||
402
+ (!array && prototype !== null && prototype !== Object.prototype)) {
403
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
404
+ }
405
+ for (let owner = current; owner !== null; owner = Object.getPrototypeOf(owner)) {
406
+ const serializer = Object.getOwnPropertyDescriptor(owner, 'toJSON');
407
+ if (!serializer) {
408
+ continue;
409
+ }
410
+ if (!('value' in serializer) || typeof serializer.value === 'function') {
411
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
412
+ }
413
+ break;
414
+ }
415
+ ancestors.add(current);
416
+ try {
417
+ if (!charge(2)) {
418
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
419
+ }
420
+ if (array) {
421
+ const lengthDescriptor = Object.getOwnPropertyDescriptor(current, 'length');
422
+ const length = lengthDescriptor && 'value' in lengthDescriptor ? lengthDescriptor.value : undefined;
423
+ if (typeof length !== 'number' ||
424
+ !Number.isSafeInteger(length) ||
425
+ length < 0 ||
426
+ length > MAX_SERIALIZED_PARSER_SCHEMA_NODES - budget.nodes) {
427
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
428
+ }
429
+ const items = [];
430
+ for (let index = 0; index < length; index += 1) {
431
+ const key = String(index);
432
+ const descriptor = Object.getOwnPropertyDescriptor(current, key);
433
+ if (!descriptor) {
434
+ if (Object.getOwnPropertyDescriptor(Array.prototype, key) ||
435
+ Object.getOwnPropertyDescriptor(Object.prototype, key)) {
436
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
437
+ }
438
+ budget.nodes += 1;
439
+ if (!charge(4)) {
440
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
441
+ }
442
+ items.push('null');
443
+ continue;
444
+ }
445
+ if (!('value' in descriptor)) {
446
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
447
+ }
448
+ const item = visit(descriptor.value, depth + 1);
449
+ if (item === UNSAFE_SERIALIZED_PARSER_VALUE) {
450
+ return item;
451
+ }
452
+ items.push(item === OMITTED_SERIALIZED_PARSER_VALUE ? 'null' : item);
453
+ }
454
+ return `[${items.join(',')}]`;
455
+ }
456
+ const keys = Reflect.ownKeys(current);
457
+ if (keys.length > MAX_SERIALIZED_PARSER_SCHEMA_NODES - budget.nodes) {
458
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
459
+ }
460
+ const entries = [];
461
+ for (const key of keys) {
462
+ if (typeof key !== 'string') {
463
+ continue;
464
+ }
465
+ const descriptor = Object.getOwnPropertyDescriptor(current, key);
466
+ if (!descriptor) {
467
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
468
+ }
469
+ if (!descriptor.enumerable) {
470
+ continue;
471
+ }
472
+ if (!('value' in descriptor)) {
473
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
474
+ }
475
+ entries.push([key, descriptor.value]);
476
+ }
477
+ entries.sort(([left], [right]) => {
478
+ if (left === right) {
479
+ return 0;
480
+ }
481
+ return left < right ? -1 : 1;
482
+ });
483
+ const fields = [];
484
+ for (const [key, entry] of entries) {
485
+ const normalized = visit(entry, depth + 1);
486
+ if (normalized === UNSAFE_SERIALIZED_PARSER_VALUE) {
487
+ return normalized;
488
+ }
489
+ if (normalized === OMITTED_SERIALIZED_PARSER_VALUE) {
490
+ continue;
491
+ }
492
+ if (!charge(key.length * 6 + 3)) {
493
+ return UNSAFE_SERIALIZED_PARSER_VALUE;
494
+ }
495
+ fields.push(`${stringifyParserSchemaValue(key)}:${normalized}`);
496
+ }
497
+ return `{${fields.join(',')}}`;
498
+ }
499
+ finally {
500
+ ancestors.delete(current);
501
+ }
502
+ };
503
+ try {
504
+ const normalized = visit(value, 0);
505
+ return typeof normalized === 'string' ? normalized : undefined;
506
+ }
507
+ catch {
508
+ return undefined;
509
+ }
510
+ }
511
+ function rememberSerializedParserSchema(signatures, source, holder, key) {
512
+ const parser = Object.getOwnPropertyDescriptor(source, '$parseRaw');
513
+ const schema = Object.getOwnPropertyDescriptor(holder, key);
514
+ if (!parser ||
515
+ !('value' in parser) ||
516
+ typeof parser.value !== 'function' ||
517
+ !schema ||
518
+ !('value' in schema)) {
519
+ return;
520
+ }
521
+ const normalized = canonicalSerializedParserSchema(schema.value, { nodes: 0, bytes: 0 });
522
+ if (normalized !== undefined) {
523
+ signatures.set(source, normalized);
524
+ }
525
+ }
526
+ function hasMatchingSerializedParserSchema(signatures, source, holder, key, value) {
527
+ const expected = source && signatures.get(source);
528
+ const descriptor = Object.getOwnPropertyDescriptor(holder, key);
529
+ return (expected !== undefined &&
530
+ descriptor !== undefined &&
531
+ 'value' in descriptor &&
532
+ canonicalSerializedParserSchema(value, { nodes: 0, bytes: 0 }) === expected);
533
+ }
534
+ function serializedParserDescriptor(descriptor, value) {
535
+ return descriptor && 'value' in descriptor
536
+ ? { ...descriptor, value }
537
+ : { configurable: true, enumerable: true, writable: true, value };
538
+ }
539
+ function shadowSerializedParserMetadata(descriptors, source, fields) {
540
+ for (const field of fields) {
541
+ const descriptor = descriptors[field];
542
+ if (!descriptor && !(field in source)) {
543
+ continue;
544
+ }
545
+ descriptors[field] =
546
+ descriptor && 'value' in descriptor
547
+ ? { ...descriptor, value: undefined }
548
+ : {
549
+ configurable: descriptor?.configurable ?? true,
550
+ enumerable: descriptor?.enumerable ?? false,
551
+ writable: false,
552
+ value: undefined,
553
+ };
554
+ }
555
+ }
556
+ function snapshotSerializedParserTool(serialized) {
557
+ const source = serialized.source ??
558
+ {
559
+ type: serialized.type,
560
+ ...(serialized.type === 'function' ? { function: {} } : {}),
561
+ };
562
+ const descriptors = Object.getOwnPropertyDescriptors(source);
563
+ descriptors.type = serializedParserDescriptor(descriptors.type, serialized.type);
564
+ if (serialized.type !== 'function' || !serialized.function) {
565
+ if (descriptors.function) {
566
+ descriptors.function = serializedParserDescriptor(descriptors.function, undefined);
567
+ }
568
+ shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw', '$callback']);
569
+ return Object.create(Object.getPrototypeOf(source), descriptors);
570
+ }
571
+ const descriptor = descriptors.function;
572
+ const original = descriptor && 'value' in descriptor && typeof descriptor.value === 'object' && descriptor.value !== null
573
+ ? descriptor.value
574
+ : {};
575
+ const functionDescriptors = Object.getOwnPropertyDescriptors(original);
576
+ functionDescriptors['name'] = serializedParserDescriptor(functionDescriptors['name'], serialized.function.name);
577
+ functionDescriptors['strict'] = serializedParserDescriptor(functionDescriptors['strict'], serialized.function.strict);
578
+ descriptors.function = serializedParserDescriptor(descriptor, Object.create(Object.getPrototypeOf(original), functionDescriptors));
579
+ if (!serialized.function.schemaMatches) {
580
+ shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw', '$callback']);
581
+ }
582
+ return Object.create(Object.getPrototypeOf(source), descriptors);
583
+ }
584
+ function snapshotSerializedResponseFormat(serialized) {
585
+ const source = serialized.source ?? { type: serialized.type };
586
+ const descriptors = Object.getOwnPropertyDescriptors(source);
587
+ descriptors.type = serializedParserDescriptor(descriptors.type, serialized.type);
588
+ if (serialized.type !== 'json_schema' || !serialized.source || !serialized.schemaMatches) {
589
+ shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw']);
590
+ }
591
+ return Object.create(Object.getPrototypeOf(source), descriptors);
592
+ }
593
+ function ownSerializedParserObject(holder, key) {
594
+ const descriptor = Object.getOwnPropertyDescriptor(holder, key);
595
+ if (!descriptor || !('value' in descriptor)) {
596
+ return undefined;
597
+ }
598
+ const { value } = descriptor;
599
+ return typeof value === 'object' && value !== null ? value : undefined;
600
+ }
601
+ function observeSerializedChatCompletionParserParams(body, initial, update) {
602
+ const originalToolOwners = new WeakMap();
603
+ const originalSchemaSignatures = new WeakMap();
604
+ // At most 128 tools plus one response format each receive an independent
605
+ // 4,096-node/1 MiB source and wire allowance (129 MiB maximum per pass).
606
+ if (body.tools) {
607
+ for (let index = 0; index < body.tools.length && index < MAX_STREAM_TOOL_CALLS; index += 1) {
608
+ const owner = ownSerializedParserObject(body.tools, String(index));
609
+ const source = initial.tools?.[index];
610
+ if (owner && source) {
611
+ originalToolOwners.set(owner, source);
612
+ const originalFunction = ownSerializedParserObject(source, 'function');
613
+ if (originalFunction) {
614
+ rememberSerializedParserSchema(originalSchemaSignatures, source, originalFunction, 'parameters');
615
+ }
616
+ }
617
+ }
618
+ }
619
+ if (initial.response_format) {
620
+ rememberSerializedParserSchema(originalSchemaSignatures, initial.response_format, initial.response_format, 'json_schema');
621
+ }
622
+ let root;
623
+ let tools;
624
+ let responseFormat;
625
+ let responseFrame;
626
+ let frames = [];
627
+ let toolFrames = new WeakMap();
628
+ let actualToolOwners = new Map();
629
+ let functionFrames = new WeakMap();
630
+ return observeJSONRequestBody(body, {
631
+ value(holder, key, value) {
632
+ if (!root && key === '' && typeof value === 'object' && value !== null) {
633
+ root = value;
634
+ tools = undefined;
635
+ responseFormat = undefined;
636
+ responseFrame = undefined;
637
+ frames = [];
638
+ toolFrames = new WeakMap();
639
+ actualToolOwners = new Map();
640
+ functionFrames = new WeakMap();
641
+ return;
642
+ }
643
+ if (holder === root && key === 'response_format') {
644
+ if (typeof value === 'object' && value !== null) {
645
+ responseFormat = value;
646
+ const owner = ownSerializedParserObject(holder, key);
647
+ responseFrame = {
648
+ source: owner === body.response_format ? initial.response_format : undefined,
649
+ schemaMatches: false,
650
+ };
651
+ }
652
+ return;
653
+ }
654
+ if (holder === root && key === 'tools') {
655
+ if (Array.isArray(value)) {
656
+ tools = new Proxy(value, {
657
+ get(target, property) {
658
+ const actual = Reflect.get(target, property, target);
659
+ if (typeof property === 'string') {
660
+ const index = Number(property);
661
+ if (Number.isSafeInteger(index) &&
662
+ index >= 0 &&
663
+ index < MAX_STREAM_TOOL_CALLS &&
664
+ String(index) === property) {
665
+ actualToolOwners.set(index, typeof actual === 'object' && actual !== null ? actual : undefined);
666
+ }
667
+ }
668
+ return actual;
669
+ },
670
+ });
671
+ return tools;
672
+ }
673
+ return;
674
+ }
675
+ if (holder === tools) {
676
+ const index = Number(key);
677
+ if (!Number.isSafeInteger(index) ||
678
+ index < 0 ||
679
+ index >= MAX_STREAM_TOOL_CALLS ||
680
+ typeof value !== 'object' ||
681
+ value === null) {
682
+ return;
683
+ }
684
+ const owner = actualToolOwners.get(index);
685
+ const source = owner ? originalToolOwners.get(owner) : undefined;
686
+ const frame = { source };
687
+ frames[index] = frame;
688
+ toolFrames.set(value, frame);
689
+ return;
690
+ }
691
+ const tool = toolFrames.get(holder);
692
+ if (tool) {
693
+ if (key === 'type' && typeof value === 'string') {
694
+ tool.type = value;
695
+ }
696
+ else if (key === 'function' && typeof value === 'object' && value !== null) {
697
+ const fn = { source: tool.source, schemaMatches: false };
698
+ tool.function = fn;
699
+ functionFrames.set(value, fn);
700
+ }
701
+ return;
702
+ }
703
+ if (holder === responseFormat && responseFrame) {
704
+ if (key === 'type' && typeof value === 'string') {
705
+ responseFrame.type = value;
706
+ }
707
+ else if (key === 'json_schema') {
708
+ responseFrame.schemaMatches = hasMatchingSerializedParserSchema(originalSchemaSignatures, responseFrame.source, holder, key, value);
709
+ }
710
+ return;
711
+ }
712
+ const fn = functionFrames.get(holder);
713
+ if (fn) {
714
+ if (key === 'name' && typeof value === 'string') {
715
+ fn.name = value;
716
+ }
717
+ else if (key === 'strict' && typeof value === 'boolean') {
718
+ fn.strict = value;
719
+ }
720
+ else if (key === 'parameters') {
721
+ fn.schemaMatches = hasMatchingSerializedParserSchema(originalSchemaSignatures, fn.source, holder, key, value);
722
+ }
723
+ }
724
+ return undefined;
725
+ },
726
+ complete() {
727
+ if (!root) {
728
+ return;
729
+ }
730
+ const snapshot = cloneParserConfigObject(initial);
731
+ if (tools) {
732
+ const serializedTools = [];
733
+ for (let index = 0; index < frames.length; index += 1) {
734
+ const frame = frames[index];
735
+ if (frame) {
736
+ serializedTools[index] = snapshotSerializedParserTool(frame);
737
+ }
738
+ }
739
+ snapshot.tools = serializedTools;
740
+ }
741
+ else {
742
+ delete snapshot.tools;
743
+ }
744
+ if (responseFrame) {
745
+ snapshot.response_format = snapshotSerializedResponseFormat(responseFrame);
746
+ }
747
+ else {
748
+ delete snapshot.response_format;
749
+ }
750
+ update(snapshot);
751
+ root = undefined;
752
+ tools = undefined;
753
+ responseFormat = undefined;
754
+ responseFrame = undefined;
755
+ frames = [];
756
+ toolFrames = new WeakMap();
757
+ actualToolOwners = new Map();
758
+ functionFrames = new WeakMap();
759
+ },
760
+ });
761
+ }
762
+ /** Streams chat completion chunks while accumulating snapshots, parsed output, and events. */
38
763
  export class ChatCompletionStream extends AbstractChatCompletionRunner {
764
+ /** Creates an unstarted stream, retaining request parameters for structured-output parsing. */
39
765
  constructor(params) {
40
766
  super();
41
767
  _ChatCompletionStream_instances.add(this);
@@ -43,10 +769,32 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
43
769
  _ChatCompletionStream_audioDoneChoiceIndexes.set(this, void 0);
44
770
  _ChatCompletionStream_choiceEventStates.set(this, void 0);
45
771
  _ChatCompletionStream_currentChatCompletionSnapshot.set(this, void 0);
772
+ _ChatCompletionStream_hasAutoParseableTool.set(this, void 0);
773
+ _ChatCompletionStream_partialJSONParseBudget.set(this, void 0);
46
774
  __classPrivateFieldSet(this, _ChatCompletionStream_params, params, "f");
47
775
  __classPrivateFieldSet(this, _ChatCompletionStream_audioDoneChoiceIndexes, new Set(), "f");
48
776
  __classPrivateFieldSet(this, _ChatCompletionStream_choiceEventStates, [], "f");
777
+ __classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, false, "f");
778
+ const tools = params?.tools;
779
+ const lengthDescriptor = tools && Object.getOwnPropertyDescriptor(tools, 'length');
780
+ const length = lengthDescriptor && 'value' in lengthDescriptor ? lengthDescriptor.value : undefined;
781
+ if (tools && typeof length === 'number' && Number.isSafeInteger(length) && length >= 0) {
782
+ for (let index = 0; index < Math.min(length, MAX_STREAM_TOOL_CALLS); index += 1) {
783
+ const descriptor = Object.getOwnPropertyDescriptor(tools, String(index));
784
+ if (!descriptor || !('value' in descriptor)) {
785
+ continue;
786
+ }
787
+ const tool = descriptor.value;
788
+ if (isChatCompletionFunctionTool(tool) &&
789
+ (isAutoParsableTool(tool) || tool.function.strict === true)) {
790
+ __classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, true, "f");
791
+ break;
792
+ }
793
+ }
794
+ }
795
+ __classPrivateFieldSet(this, _ChatCompletionStream_partialJSONParseBudget, { bytes: 0, fragments: 0, work: 0 }, "f");
49
796
  }
797
+ /** The latest accumulated completion, or `undefined` before a chunk arrives or after finalization. */
50
798
  get currentChatCompletionSnapshot() {
51
799
  return __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
52
800
  }
@@ -54,24 +802,41 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
54
802
  * Intended for use on the frontend, consuming a stream produced with
55
803
  * `.toReadableStream()` on the backend.
56
804
  *
57
- * Note that messages sent to the model do not appear in `.on('message')`
58
- * in this context.
805
+ * Original input messages are not included in the serialized stream. Tool-result
806
+ * messages explicitly serialized by a streaming tool runner are replayed.
59
807
  */
60
808
  static fromReadableStream(stream) {
61
809
  const runner = new ChatCompletionStream(null);
62
810
  runner._run(() => runner._fromReadableStream(stream));
63
811
  return runner;
64
812
  }
813
+ /** Starts a streaming chat completion request and returns its event-driven helper. */
65
814
  static createChatCompletion(client, params, options) {
66
815
  const runner = new ChatCompletionStream(params);
67
- runner._run(() => runner._runChatCompletion(client, { ...params, stream: true }, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } }));
816
+ runner._run(() => runner._runChatCompletion(client, { ...params, stream: true }, { ...options, __metadata: { ...options?.__metadata, helperMethod: 'stream' } }));
68
817
  return runner;
69
818
  }
70
819
  async _createChatCompletion(client, params, options) {
71
- super._createChatCompletion;
72
820
  this._listenForAbort(options?.signal);
821
+ const requestParams = { ...params, stream: true };
822
+ __classPrivateFieldSet(this, _ChatCompletionStream_params, requestParams, "f");
73
823
  __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_beginRequest).call(this);
74
- const stream = await client.chat.completions.create({ ...params, stream: true }, { ...options, signal: this.controller.signal });
824
+ const parserParams = snapshotChatCompletionParserParams(requestParams);
825
+ __classPrivateFieldSet(this, _ChatCompletionStream_params, parserParams, "f");
826
+ __classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, parserParams.tools?.some((tool) => isChatCompletionFunctionTool(tool) && (isAutoParsableTool(tool) || tool.function.strict === true)) ?? false, "f");
827
+ const stopObserving = requestParams.tools || requestParams.response_format
828
+ ? observeSerializedChatCompletionParserParams(requestParams, parserParams, (serialized) => {
829
+ __classPrivateFieldSet(this, _ChatCompletionStream_params, serialized, "f");
830
+ __classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, serialized.tools?.some((tool) => isChatCompletionFunctionTool(tool) &&
831
+ (isAutoParsableTool(tool) || tool.function.strict === true)) ?? false, "f");
832
+ })
833
+ : undefined;
834
+ const stream = await client.chat.completions
835
+ .create(requestParams, {
836
+ ...options,
837
+ signal: this.controller.signal,
838
+ })
839
+ .finally(stopObserving);
75
840
  this._connected();
76
841
  for await (const chunk of stream) {
77
842
  __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_addChunk).call(this, chunk);
@@ -110,8 +875,9 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
110
875
  this._addChatCompletion(__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_endRequest).call(this));
111
876
  }
112
877
  __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_addChunk).call(this, chunk);
113
- if (chunk.id)
878
+ if (chunk.id) {
114
879
  chatId = chunk.id;
880
+ }
115
881
  }
116
882
  if (stream.controller.signal?.aborted) {
117
883
  throw new APIUserAbortError();
@@ -125,11 +891,14 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
125
891
  }
126
892
  throw new OpenAIError(`request ended without sending any chunks`);
127
893
  }
128
- [(_ChatCompletionStream_params = new WeakMap(), _ChatCompletionStream_audioDoneChoiceIndexes = new WeakMap(), _ChatCompletionStream_choiceEventStates = new WeakMap(), _ChatCompletionStream_currentChatCompletionSnapshot = new WeakMap(), _ChatCompletionStream_instances = new WeakSet(), _ChatCompletionStream_beginRequest = function _ChatCompletionStream_beginRequest() {
129
- if (this.ended)
894
+ /** Iterates over raw API chunks; stopping iteration early aborts the underlying request. */
895
+ [(_ChatCompletionStream_params = new WeakMap(), _ChatCompletionStream_audioDoneChoiceIndexes = new WeakMap(), _ChatCompletionStream_choiceEventStates = new WeakMap(), _ChatCompletionStream_currentChatCompletionSnapshot = new WeakMap(), _ChatCompletionStream_hasAutoParseableTool = new WeakMap(), _ChatCompletionStream_partialJSONParseBudget = new WeakMap(), _ChatCompletionStream_instances = new WeakSet(), _ChatCompletionStream_beginRequest = function _ChatCompletionStream_beginRequest() {
896
+ if (this.ended) {
130
897
  return;
898
+ }
131
899
  __classPrivateFieldSet(this, _ChatCompletionStream_audioDoneChoiceIndexes, new Set(), "f");
132
900
  __classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, undefined, "f");
901
+ __classPrivateFieldSet(this, _ChatCompletionStream_partialJSONParseBudget, { bytes: 0, fragments: 0, work: 0 }, "f");
133
902
  }, _ChatCompletionStream_getChoiceEventState = function _ChatCompletionStream_getChoiceEventState(choice) {
134
903
  let state = __classPrivateFieldGet(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index];
135
904
  if (state) {
@@ -137,47 +906,62 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
137
906
  }
138
907
  state = {
139
908
  content_done: false,
909
+ content_parse_state: undefined,
140
910
  refusal_done: false,
141
911
  logprobs_content_done: false,
142
912
  logprobs_refusal_done: false,
143
913
  done_tool_calls: new Set(),
144
914
  current_tool_call_index: null,
915
+ tool_call_parse_states: new Map(),
916
+ tool_call_identities: new Map(),
145
917
  };
146
918
  __classPrivateFieldGet(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index] = state;
147
919
  return state;
148
920
  }, _ChatCompletionStream_addChunk = function _ChatCompletionStream_addChunk(chunk) {
149
- if (this.ended)
921
+ if (this.ended) {
150
922
  return;
151
- const completion = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_accumulateChatCompletion).call(this, chunk);
923
+ }
924
+ const capturedChoiceFrames = new WeakMap();
925
+ const completion = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_accumulateChatCompletion).call(this, chunk, capturedChoiceFrames);
152
926
  this._emit('chunk', chunk, completion);
153
927
  for (const choice of chunk.choices) {
154
- const choiceSnapshot = completion.choices[choice.index];
928
+ const capturedChoice = capturedChoiceFrames.get(choice);
929
+ const choiceSnapshot = completion.choices[capturedChoice?.index ?? choice.index];
930
+ const capturedToolCalls = capturedChoice?.tool_calls ?? [];
155
931
  const { delta } = choice;
156
- if (delta?.content != null &&
157
- choiceSnapshot.message?.role === 'assistant' &&
158
- choiceSnapshot.message?.content) {
159
- this._emit('content', delta.content, choiceSnapshot.message.content);
932
+ const structuredResponse = isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format);
933
+ const boundedSnapshot = structuredResponse || __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f");
934
+ const messageSnapshot = boundedSnapshot
935
+ ? captureStructuredMessageSnapshot(choiceSnapshot)
936
+ : choiceSnapshot.message;
937
+ const refusal = boundedSnapshot
938
+ ? captureStructuredJSONSnapshot(messageSnapshot, 'refusal')
939
+ : messageSnapshot.refusal;
940
+ const parseableContent = !refusal && structuredResponse;
941
+ const messageContent = parseableContent
942
+ ? captureStructuredJSONSnapshot(messageSnapshot, 'content')
943
+ : messageSnapshot.content;
944
+ if (delta?.content != null && messageSnapshot.role === 'assistant' && messageContent) {
945
+ this._emit('content', delta.content, messageContent);
160
946
  this._emit('content.delta', {
161
947
  delta: delta.content,
162
- snapshot: choiceSnapshot.message.content,
163
- parsed: choiceSnapshot.message.parsed,
948
+ snapshot: messageContent,
949
+ parsed: messageSnapshot.parsed,
164
950
  });
165
951
  }
166
- if (delta?.refusal != null &&
167
- choiceSnapshot.message?.role === 'assistant' &&
168
- choiceSnapshot.message?.refusal) {
952
+ if (delta?.refusal != null && messageSnapshot.role === 'assistant' && refusal) {
169
953
  this._emit('refusal.delta', {
170
954
  delta: delta.refusal,
171
- snapshot: choiceSnapshot.message.refusal,
955
+ snapshot: refusal,
172
956
  });
173
957
  }
174
- if (choice.logprobs?.content != null && choiceSnapshot.message?.role === 'assistant') {
958
+ if (choice.logprobs?.content != null && messageSnapshot.role === 'assistant') {
175
959
  this._emit('logprobs.content.delta', {
176
960
  content: choice.logprobs?.content,
177
961
  snapshot: choiceSnapshot.logprobs?.content ?? [],
178
962
  });
179
963
  }
180
- if (choice.logprobs?.refusal != null && choiceSnapshot.message?.role === 'assistant') {
964
+ if (choice.logprobs?.refusal != null && messageSnapshot.role === 'assistant') {
181
965
  this._emit('logprobs.refusal.delta', {
182
966
  refusal: choice.logprobs?.refusal,
183
967
  snapshot: choiceSnapshot.logprobs?.refusal ?? [],
@@ -190,7 +974,7 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
190
974
  __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitToolCallDoneEvent).call(this, choiceSnapshot, state.current_tool_call_index);
191
975
  }
192
976
  }
193
- for (const toolCall of delta?.tool_calls ?? []) {
977
+ for (const toolCall of capturedToolCalls) {
194
978
  if (state.current_tool_call_index !== toolCall.index) {
195
979
  __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitContentDoneEvents).call(this, choiceSnapshot);
196
980
  // new tool call started, the previous one is done
@@ -200,22 +984,34 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
200
984
  }
201
985
  state.current_tool_call_index = toolCall.index;
202
986
  }
203
- for (const toolCallDelta of delta?.tool_calls ?? []) {
204
- const toolCallSnapshot = choiceSnapshot.message.tool_calls?.[toolCallDelta.index];
987
+ for (const toolCallDelta of capturedToolCalls) {
988
+ const toolCallSnapshot = messageSnapshot.tool_calls?.[toolCallDelta.index];
205
989
  if (!toolCallSnapshot?.type) {
206
990
  continue;
207
991
  }
208
- if (toolCallSnapshot?.type === 'function') {
992
+ if (toolCallSnapshot.type === 'function') {
993
+ const boundIdentity = state.tool_call_identities.get(toolCallDelta.index);
994
+ let argumentsSnapshot;
995
+ if (boundIdentity?.parseable) {
996
+ const capturedArguments = captureStructuredJSONSnapshot(toolCallSnapshot.function, 'arguments');
997
+ if (typeof capturedArguments !== 'string') {
998
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
999
+ }
1000
+ argumentsSnapshot = capturedArguments;
1001
+ }
1002
+ else {
1003
+ argumentsSnapshot = toolCallSnapshot.function.arguments;
1004
+ }
209
1005
  this._emit('tool_calls.function.arguments.delta', {
210
- name: toolCallSnapshot.function?.name,
1006
+ name: toolCallSnapshot.function.name,
211
1007
  index: toolCallDelta.index,
212
- arguments: toolCallSnapshot.function.arguments,
1008
+ arguments: argumentsSnapshot,
213
1009
  parsed_arguments: toolCallSnapshot.function.parsed_arguments,
214
- arguments_delta: toolCallDelta.function?.arguments ?? '',
1010
+ arguments_delta: toolCallDelta.arguments_delta,
215
1011
  });
216
1012
  }
217
- else {
218
- assertNever(toolCallSnapshot?.type);
1013
+ else if (toolCallSnapshot.type !== 'custom') {
1014
+ assertNever(toolCallSnapshot);
219
1015
  }
220
1016
  }
221
1017
  }
@@ -225,40 +1021,86 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
225
1021
  // we've already fired the done event
226
1022
  return;
227
1023
  }
228
- const toolCallSnapshot = choiceSnapshot.message.tool_calls?.[toolCallIndex];
1024
+ const messageSnapshot = __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f")
1025
+ ? captureStructuredMessageSnapshot(choiceSnapshot)
1026
+ : choiceSnapshot.message;
1027
+ const toolCallSnapshot = messageSnapshot.tool_calls?.[toolCallIndex];
229
1028
  if (!toolCallSnapshot) {
230
1029
  throw new Error('no tool call snapshot');
231
1030
  }
1031
+ const boundIdentity = state.tool_call_identities.get(toolCallIndex);
1032
+ if (boundIdentity) {
1033
+ assertBoundToolCallIdentity(toolCallSnapshot, boundIdentity);
1034
+ }
232
1035
  if (!toolCallSnapshot.type) {
233
1036
  throw new Error('tool call snapshot missing `type`');
234
1037
  }
235
1038
  if (toolCallSnapshot.type === 'function') {
236
1039
  const inputTool = __classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.tools?.find((tool) => isChatCompletionFunctionTool(tool) && tool.function.name === toolCallSnapshot.function.name); // TS doesn't narrow based on isChatCompletionTool
1040
+ let parsedArguments = null;
1041
+ const parseable = isAutoParsableTool(inputTool) || inputTool?.function.strict === true;
1042
+ let argumentsSnapshot;
1043
+ if (parseable) {
1044
+ if (__classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f")) {
1045
+ __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f"));
1046
+ }
1047
+ const capturedArguments = captureStructuredJSONSnapshot(toolCallSnapshot.function, 'arguments');
1048
+ if (typeof capturedArguments !== 'string') {
1049
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1050
+ }
1051
+ argumentsSnapshot = capturedArguments;
1052
+ }
1053
+ else {
1054
+ argumentsSnapshot = toolCallSnapshot.function.arguments;
1055
+ }
1056
+ if (isAutoParsableTool(inputTool)) {
1057
+ parsedArguments = inputTool.$parseRaw(validateStructuredJSONSnapshot(argumentsSnapshot));
1058
+ }
1059
+ else if (inputTool?.function.strict) {
1060
+ parsedArguments = parseResponseFormatContent({ type: 'json_schema', $parseRaw: undefined }, validateStructuredJSONSnapshot(argumentsSnapshot));
1061
+ }
237
1062
  this._emit('tool_calls.function.arguments.done', {
238
1063
  name: toolCallSnapshot.function.name,
239
1064
  index: toolCallIndex,
240
- arguments: toolCallSnapshot.function.arguments,
241
- parsed_arguments: isAutoParsableTool(inputTool) ? inputTool.$parseRaw(toolCallSnapshot.function.arguments)
242
- : inputTool?.function.strict ? JSON.parse(toolCallSnapshot.function.arguments)
243
- : null,
1065
+ arguments: argumentsSnapshot,
1066
+ parsed_arguments: parsedArguments,
244
1067
  });
245
1068
  }
246
- else {
247
- assertNever(toolCallSnapshot.type);
1069
+ else if (toolCallSnapshot.type !== 'custom') {
1070
+ assertNever(toolCallSnapshot);
248
1071
  }
249
1072
  }, _ChatCompletionStream_emitContentDoneEvents = function _ChatCompletionStream_emitContentDoneEvents(choiceSnapshot) {
250
1073
  const state = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choiceSnapshot);
251
- if (choiceSnapshot.message.content && !state.content_done) {
1074
+ const structuredResponse = isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format);
1075
+ const boundedSnapshot = structuredResponse || __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f");
1076
+ const messageSnapshot = boundedSnapshot
1077
+ ? captureStructuredMessageSnapshot(choiceSnapshot)
1078
+ : choiceSnapshot.message;
1079
+ const refusal = boundedSnapshot
1080
+ ? captureStructuredJSONSnapshot(messageSnapshot, 'refusal')
1081
+ : messageSnapshot.refusal;
1082
+ const parseableContent = !refusal && structuredResponse;
1083
+ const content = parseableContent
1084
+ ? captureStructuredJSONSnapshot(messageSnapshot, 'content')
1085
+ : messageSnapshot.content;
1086
+ if (content != null &&
1087
+ (content !== '' ||
1088
+ (!refusal && !messageSnapshot.tool_calls?.length && !messageSnapshot.function_call)) &&
1089
+ !state.content_done) {
1090
+ if (parseableContent && __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f")) {
1091
+ __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f"));
1092
+ }
252
1093
  state.content_done = true;
253
- const responseFormat = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getAutoParseableResponseFormat).call(this);
254
1094
  this._emit('content.done', {
255
- content: choiceSnapshot.message.content,
256
- parsed: responseFormat ? responseFormat.$parseRaw(choiceSnapshot.message.content) : null,
1095
+ content,
1096
+ parsed: refusal
1097
+ ? null
1098
+ : parseResponseFormatContent(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format, parseableContent ? validateStructuredJSONSnapshot(content) : content),
257
1099
  });
258
1100
  }
259
- if (choiceSnapshot.message.refusal && !state.refusal_done) {
1101
+ if (refusal && !state.refusal_done) {
260
1102
  state.refusal_done = true;
261
- this._emit('refusal.done', { refusal: choiceSnapshot.message.refusal });
1103
+ this._emit('refusal.done', { refusal });
262
1104
  }
263
1105
  if (choiceSnapshot.logprobs?.content && !state.logprobs_content_done) {
264
1106
  state.logprobs_content_done = true;
@@ -268,6 +1110,97 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
268
1110
  state.logprobs_refusal_done = true;
269
1111
  this._emit('logprobs.refusal.done', { refusal: choiceSnapshot.logprobs.refusal });
270
1112
  }
1113
+ }, _ChatCompletionStream_validateStructuredSnapshots = function _ChatCompletionStream_validateStructuredSnapshots(snapshot) {
1114
+ const finalJSONBudget = { bytes: 0, fragments: 0, work: 0 };
1115
+ const parseableContent = isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format);
1116
+ const validatedMessages = new WeakMap();
1117
+ const choices = captureSnapshotArray(snapshot, 'choices', MAX_STREAM_CHOICES, 'choice');
1118
+ if (!choices) {
1119
+ throw new OpenAIError('Chat completion stream contains an unsafe snapshot choice collection');
1120
+ }
1121
+ for (let choiceIndex = 0; choiceIndex < choices.length; choiceIndex += 1) {
1122
+ const choice = captureSnapshotArrayItem(choices, choiceIndex);
1123
+ if (!choice) {
1124
+ continue;
1125
+ }
1126
+ const message = captureStructuredMessageSnapshot(choice);
1127
+ const refusal = captureStructuredJSONSnapshot(message, 'refusal');
1128
+ const content = captureStructuredJSONSnapshot(message, 'content');
1129
+ const validatedTools = new Map();
1130
+ const toolCalls = captureSnapshotArray(message, 'tool_calls', MAX_STREAM_TOOL_CALLS, 'tool-call');
1131
+ validatedMessages.set(choice, Object.freeze({
1132
+ message,
1133
+ content,
1134
+ refusal,
1135
+ toolCallCollection: toolCalls,
1136
+ toolCalls: validatedTools,
1137
+ }));
1138
+ const state = __classPrivateFieldGet(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index];
1139
+ if (parseableContent && !refusal && typeof content === 'string') {
1140
+ validateStructuredJSONSnapshot(content, finalJSONBudget, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"));
1141
+ }
1142
+ for (const [index, identity] of state?.tool_call_identities ?? []) {
1143
+ const toolCall = toolCalls && captureSnapshotArrayItem(toolCalls, index);
1144
+ if (!toolCall) {
1145
+ throw new OpenAIError('Chat completion stream contains a changed tool call identity');
1146
+ }
1147
+ assertBoundToolCallIdentity(toolCall, identity);
1148
+ }
1149
+ if (!__classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f")) {
1150
+ continue;
1151
+ }
1152
+ for (let toolCallIndex = 0; toolCallIndex < (toolCalls?.length ?? 0); toolCallIndex += 1) {
1153
+ const toolCall = captureSnapshotArrayItem(toolCalls, toolCallIndex);
1154
+ if (!toolCall) {
1155
+ continue;
1156
+ }
1157
+ const identity = ownFunctionToolIdentity(toolCall);
1158
+ if (!identity) {
1159
+ const type = Object.getOwnPropertyDescriptor(toolCall, 'type');
1160
+ if (type && !('value' in type)) {
1161
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1162
+ }
1163
+ if (type?.value !== 'function') {
1164
+ continue;
1165
+ }
1166
+ const fn = Object.getOwnPropertyDescriptor(toolCall, 'function');
1167
+ if (fn && !('value' in fn)) {
1168
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1169
+ }
1170
+ if (fn && typeof fn.value === 'object' && fn.value !== null) {
1171
+ const name = Object.getOwnPropertyDescriptor(fn.value, 'name');
1172
+ if (name && !('value' in name)) {
1173
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1174
+ }
1175
+ }
1176
+ continue;
1177
+ }
1178
+ if (!shouldParseToolCall(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), {
1179
+ type: identity.type,
1180
+ function: { name: identity.name },
1181
+ })) {
1182
+ continue;
1183
+ }
1184
+ const descriptor = Object.getOwnPropertyDescriptor(toolCall, 'function');
1185
+ if (!descriptor || !('value' in descriptor)) {
1186
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1187
+ }
1188
+ const fn = descriptor.value;
1189
+ const argumentsSnapshot = captureStructuredJSONSnapshot(fn, 'arguments');
1190
+ if (typeof argumentsSnapshot !== 'string') {
1191
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1192
+ }
1193
+ validateStructuredJSONSnapshot(argumentsSnapshot, finalJSONBudget, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"));
1194
+ validatedTools.set(toolCallIndex, Object.freeze({
1195
+ tool: toolCall,
1196
+ function: fn,
1197
+ type: identity.type,
1198
+ name: identity.name,
1199
+ arguments: argumentsSnapshot,
1200
+ }));
1201
+ }
1202
+ }
1203
+ return validatedMessages;
271
1204
  }, _ChatCompletionStream_endRequest = function _ChatCompletionStream_endRequest() {
272
1205
  if (this.ended) {
273
1206
  throw new OpenAIError(`stream has ended, this shouldn't happen`);
@@ -276,43 +1209,54 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
276
1209
  if (!snapshot) {
277
1210
  throw new OpenAIError(`request ended without sending any chunks`);
278
1211
  }
1212
+ const validatedMessages = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, snapshot);
279
1213
  const audioDoneChoiceIndexes = __classPrivateFieldGet(this, _ChatCompletionStream_audioDoneChoiceIndexes, "f");
280
1214
  __classPrivateFieldSet(this, _ChatCompletionStream_audioDoneChoiceIndexes, new Set(), "f");
281
1215
  __classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, undefined, "f");
282
1216
  __classPrivateFieldSet(this, _ChatCompletionStream_choiceEventStates, [], "f");
283
- return finalizeChatCompletion(snapshot, __classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), audioDoneChoiceIndexes);
284
- }, _ChatCompletionStream_getAutoParseableResponseFormat = function _ChatCompletionStream_getAutoParseableResponseFormat() {
285
- const responseFormat = __classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format;
286
- if (isAutoParsableResponseFormat(responseFormat)) {
287
- return responseFormat;
288
- }
289
- return null;
290
- }, _ChatCompletionStream_accumulateChatCompletion = function _ChatCompletionStream_accumulateChatCompletion(chunk) {
1217
+ return finalizeChatCompletion(snapshot, __classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), audioDoneChoiceIndexes, validatedMessages);
1218
+ }, _ChatCompletionStream_accumulateChatCompletion = function _ChatCompletionStream_accumulateChatCompletion(chunk, capturedChoiceFrames) {
291
1219
  var _a, _b, _c, _d, _e;
292
1220
  let snapshot = __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
293
- const { choices, ...rest } = chunk;
1221
+ const { choices, obfuscation: _obfuscation, ...rest } = chunk;
294
1222
  if (!snapshot) {
295
- snapshot = __classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, {
1223
+ const newSnapshot = {
296
1224
  ...rest,
297
1225
  choices: [],
298
- }, "f");
1226
+ };
1227
+ __classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, newSnapshot, "f");
1228
+ snapshot = newSnapshot;
299
1229
  }
300
1230
  else if (chunk.id) {
301
- Object.assign(snapshot, rest);
1231
+ assignOwnProperties(snapshot, rest);
302
1232
  }
303
- for (const { delta, finish_reason, index, logprobs = null, ...other } of chunk.choices) {
1233
+ const requestedChoiceCount = __classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.n;
1234
+ const maxChoices = typeof requestedChoiceCount === 'number' &&
1235
+ Number.isSafeInteger(requestedChoiceCount) &&
1236
+ requestedChoiceCount > 0
1237
+ ? Math.min(requestedChoiceCount, MAX_STREAM_CHOICES)
1238
+ : MAX_STREAM_CHOICES;
1239
+ for (const chunkChoice of chunk.choices) {
1240
+ const { delta, finish_reason, index, logprobs = null, ...other } = chunkChoice;
1241
+ const capturedToolCalls = [];
1242
+ capturedChoiceFrames.set(chunkChoice, Object.freeze({ index, tool_calls: capturedToolCalls }));
1243
+ if (!Number.isSafeInteger(index) || index < 0 || index >= maxChoices) {
1244
+ throw new OpenAIError(`Chat completion stream contains an invalid choice index: ${index}`);
1245
+ }
304
1246
  let choice = snapshot.choices[index];
305
1247
  if (!choice) {
306
- choice = snapshot.choices[index] = { finish_reason, index, message: {}, logprobs, ...other };
1248
+ const newChoice = { finish_reason, index, message: {}, logprobs: null, ...other };
1249
+ snapshot.choices[index] = newChoice;
1250
+ choice = newChoice;
1251
+ }
1252
+ if (isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format) || __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f")) {
1253
+ captureStructuredJSONSnapshot(captureStructuredMessageSnapshot(choice), 'refusal');
307
1254
  }
308
1255
  if (logprobs) {
309
- if (!choice.logprobs) {
310
- choice.logprobs = Object.assign({}, logprobs);
311
- }
312
- else {
1256
+ if (choice.logprobs) {
313
1257
  const { content, refusal, ...rest } = logprobs;
314
1258
  assertIsEmpty(rest);
315
- Object.assign(choice.logprobs, rest);
1259
+ assignOwnProperties(choice.logprobs, rest);
316
1260
  if (content) {
317
1261
  (_a = choice.logprobs).content ?? (_a.content = []);
318
1262
  choice.logprobs.content.push(...content);
@@ -322,6 +1266,15 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
322
1266
  choice.logprobs.refusal.push(...refusal);
323
1267
  }
324
1268
  }
1269
+ else {
1270
+ choice.logprobs = { ...logprobs };
1271
+ if (logprobs.content) {
1272
+ choice.logprobs.content = [...logprobs.content];
1273
+ }
1274
+ if (logprobs.refusal) {
1275
+ choice.logprobs.refusal = [...logprobs.refusal];
1276
+ }
1277
+ }
325
1278
  }
326
1279
  if (finish_reason) {
327
1280
  choice.finish_reason = finish_reason;
@@ -334,13 +1287,17 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
334
1287
  }
335
1288
  }
336
1289
  }
337
- Object.assign(choice, other);
338
- if (!delta)
339
- continue; // Shouldn't happen; just in case.
1290
+ assignOwnProperties(choice, other);
1291
+ if (!delta) {
1292
+ Object.freeze(capturedToolCalls);
1293
+ continue;
1294
+ } // Shouldn't happen; just in case.
340
1295
  __classPrivateFieldGet(this, _ChatCompletionStream_audioDoneChoiceIndexes, "f").delete(index);
341
- const { audio, content, refusal, function_call, role, tool_calls, ...rest } = delta;
1296
+ const { audio, content, refusal, function_call, role, ...capturedDeltaFields } = delta;
1297
+ const { tool_calls: capturedToolCallDelta, ...rest } = capturedDeltaFields;
1298
+ const tool_calls = hasOwn(capturedDeltaFields, 'tool_calls') ? capturedToolCallDelta : delta.tool_calls;
342
1299
  assertIsEmpty(rest);
343
- Object.assign(choice.message, rest);
1300
+ assignOwnProperties(choice.message, rest);
344
1301
  if (audio?.expires_at != null &&
345
1302
  audio.id == null &&
346
1303
  audio.data == null &&
@@ -356,126 +1313,208 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
356
1313
  if (refusal) {
357
1314
  choice.message.refusal = (choice.message.refusal || '') + refusal;
358
1315
  }
359
- if (role)
1316
+ if (role) {
360
1317
  choice.message.role = role;
1318
+ }
361
1319
  if (audio) {
362
1320
  const audioSnapshot = ((_c = choice.message).audio ?? (_c.audio = {}));
363
- if (audio.id != null)
1321
+ if (audio.id != null) {
364
1322
  audioSnapshot.id = audio.id;
365
- if (audio.data != null)
1323
+ }
1324
+ if (audio.data != null) {
366
1325
  audioSnapshot.data = (audioSnapshot.data ?? '') + audio.data;
1326
+ }
367
1327
  if (audio.transcript != null) {
368
1328
  audioSnapshot.transcript = (audioSnapshot.transcript ?? '') + audio.transcript;
369
1329
  }
370
- if (audio.expires_at != null)
1330
+ if (audio.expires_at != null) {
371
1331
  audioSnapshot.expires_at = audio.expires_at;
1332
+ }
372
1333
  }
373
1334
  if (function_call) {
374
- if (!choice.message.function_call) {
375
- choice.message.function_call = function_call;
376
- }
377
- else {
378
- if (function_call.name)
1335
+ if (choice.message.function_call) {
1336
+ if (function_call.name) {
379
1337
  choice.message.function_call.name = function_call.name;
1338
+ }
380
1339
  if (function_call.arguments) {
381
1340
  (_d = choice.message.function_call).arguments ?? (_d.arguments = '');
382
1341
  choice.message.function_call.arguments += function_call.arguments;
383
1342
  }
384
1343
  }
1344
+ else {
1345
+ choice.message.function_call = function_call;
1346
+ }
385
1347
  }
386
- if (content) {
387
- choice.message.content = (choice.message.content || '') + content;
388
- if (!choice.message.refusal && __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getAutoParseableResponseFormat).call(this)) {
389
- // The partial parser does not accept whitespace-only input.
390
- choice.message.parsed = choice.message.content.trim() ? partialParse(choice.message.content) : null;
1348
+ if (content != null) {
1349
+ if (!choice.message.refusal && isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format)) {
1350
+ const eventState = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choice);
1351
+ const parseState = (eventState.content_parse_state ?? (eventState.content_parse_state = createPartialJSONParseState()));
1352
+ const shouldParse = recordPartialJSONFragment(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"), content);
1353
+ choice.message.content = (captureStructuredJSONSnapshot(choice.message, 'content') || '') + content;
1354
+ // The partial parser does not accept whitespace-only input. Once output
1355
+ // grows, coalesce prefix reparses while preserving every raw snapshot.
1356
+ if (!parseState.has_non_whitespace) {
1357
+ choice.message.parsed = null;
1358
+ }
1359
+ else if (shouldParse && reservePartialJSONParse(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"))) {
1360
+ __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, snapshot);
1361
+ choice.message.parsed = parseStructuredStreamingJSON(validateStructuredJSONSnapshot(choice.message.content));
1362
+ }
1363
+ else if (content.length > 0) {
1364
+ choice.message.parsed = null;
1365
+ }
1366
+ }
1367
+ else {
1368
+ choice.message.content = (choice.message.content || '') + content;
391
1369
  }
392
1370
  }
393
1371
  if (tool_calls) {
394
- if (!choice.message.tool_calls)
395
- choice.message.tool_calls = [];
396
- for (const { index, id, type, function: fn, ...rest } of tool_calls) {
397
- const tool_call = ((_e = choice.message.tool_calls)[index] ?? (_e[index] = {}));
398
- Object.assign(tool_call, rest);
399
- if (id)
1372
+ // Tool calls are built up across chunks, so while the stream is in progress the
1373
+ // entries are only partially filled in; they match `ChatCompletionSnapshot.Choice.Message.ToolCall`
1374
+ // once every delta for them has been accumulated.
1375
+ const toolCallSnapshots = ((_e = choice.message).tool_calls ?? (_e.tool_calls = []));
1376
+ for (const toolCallDelta of tool_calls) {
1377
+ const { index, id, type, function: fn, custom, ...rest } = toolCallDelta;
1378
+ if (!Number.isSafeInteger(index) || index < 0 || index >= MAX_STREAM_TOOL_CALLS) {
1379
+ throw new OpenAIError(`Chat completion stream contains an invalid tool call index: ${index}`);
1380
+ }
1381
+ let argumentsDelta = '';
1382
+ const tool_call = (toolCallSnapshots[index] ?? (toolCallSnapshots[index] = {}));
1383
+ const functionName = fn?.name;
1384
+ const eventState = __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f") ? __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choice) : undefined;
1385
+ let boundIdentity = eventState?.tool_call_identities.get(index);
1386
+ if (boundIdentity) {
1387
+ assertBoundToolCallIdentity(tool_call, boundIdentity);
1388
+ if ((type !== undefined && type !== boundIdentity.type) ||
1389
+ (functionName !== undefined && functionName !== boundIdentity.name)) {
1390
+ throw new OpenAIError('Chat completion stream contains a changed tool call identity');
1391
+ }
1392
+ }
1393
+ assignOwnProperties(tool_call, rest);
1394
+ if (id) {
400
1395
  tool_call.id = id;
401
- if (type)
1396
+ }
1397
+ if (type) {
402
1398
  tool_call.type = type;
403
- if (fn)
404
- tool_call.function ?? (tool_call.function = { name: fn.name ?? '', arguments: '' });
405
- if (fn?.name)
406
- tool_call.function.name = fn.name;
407
- if (fn?.arguments) {
408
- tool_call.function.arguments += fn.arguments;
409
- if (shouldParseToolCall(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), tool_call)) {
410
- tool_call.function.parsed_arguments = partialParse(tool_call.function.arguments);
1399
+ }
1400
+ if (custom) {
1401
+ const customSnapshot = (tool_call.custom ?? (tool_call.custom = { name: custom.name ?? '', input: '' }));
1402
+ if (custom.name) {
1403
+ customSnapshot.name = custom.name;
1404
+ }
1405
+ if (custom.input) {
1406
+ customSnapshot.input += custom.input;
1407
+ }
1408
+ }
1409
+ if (fn) {
1410
+ const functionSnapshot = (tool_call.function ?? (tool_call.function = { name: functionName ?? '', arguments: '' }));
1411
+ if (functionName) {
1412
+ functionSnapshot.name = functionName;
1413
+ }
1414
+ if (eventState && !boundIdentity) {
1415
+ const identity = ownFunctionToolIdentity(tool_call);
1416
+ const configuredTool = identity &&
1417
+ __classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.tools?.find((tool) => isChatCompletionFunctionTool(tool) && tool.function.name === identity.name);
1418
+ if (identity) {
1419
+ boundIdentity = {
1420
+ ...identity,
1421
+ parseable: configuredTool !== undefined &&
1422
+ shouldParseToolCall(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), {
1423
+ type: identity.type,
1424
+ function: { name: identity.name },
1425
+ }),
1426
+ };
1427
+ eventState.tool_call_identities.set(index, boundIdentity);
1428
+ if (!boundIdentity.parseable) {
1429
+ const provisionalState = eventState.tool_call_parse_states.get(index);
1430
+ if (provisionalState) {
1431
+ __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f").bytes -= provisionalState.bytes;
1432
+ __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f").fragments -= provisionalState.fragments;
1433
+ __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f").work -= provisionalState.work;
1434
+ eventState.tool_call_parse_states.delete(index);
1435
+ }
1436
+ }
1437
+ }
1438
+ }
1439
+ const argumentFragment = fn.arguments;
1440
+ if (argumentFragment != null) {
1441
+ argumentsDelta = argumentFragment;
1442
+ if (eventState && boundIdentity?.parseable !== false) {
1443
+ let parseState = eventState.tool_call_parse_states.get(index);
1444
+ if (!parseState) {
1445
+ parseState = createPartialJSONParseState();
1446
+ eventState.tool_call_parse_states.set(index, parseState);
1447
+ }
1448
+ const shouldParse = recordPartialJSONFragment(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"), argumentFragment);
1449
+ const previousArguments = captureStructuredJSONSnapshot(functionSnapshot, 'arguments');
1450
+ if (typeof previousArguments !== 'string') {
1451
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1452
+ }
1453
+ functionSnapshot.arguments = previousArguments + argumentFragment;
1454
+ if (shouldParse &&
1455
+ boundIdentity?.parseable === true &&
1456
+ reservePartialJSONParse(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"))) {
1457
+ __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, snapshot);
1458
+ functionSnapshot.parsed_arguments = parseStructuredStreamingJSON(validateStructuredJSONSnapshot(functionSnapshot.arguments));
1459
+ }
1460
+ else if (argumentFragment.length > 0 && hasOwn(functionSnapshot, 'parsed_arguments')) {
1461
+ functionSnapshot.parsed_arguments = undefined;
1462
+ }
1463
+ }
1464
+ else {
1465
+ functionSnapshot.arguments += argumentFragment;
1466
+ }
411
1467
  }
412
1468
  }
1469
+ capturedToolCalls.push(Object.freeze({ index, arguments_delta: argumentsDelta }));
413
1470
  }
414
1471
  }
1472
+ Object.freeze(capturedToolCalls);
415
1473
  }
416
1474
  return snapshot;
417
1475
  }, Symbol.asyncIterator)]() {
418
- const pushQueue = [];
419
- const readQueue = [];
420
- let done = false;
421
- this.on('chunk', (chunk) => {
422
- const reader = readQueue.shift();
423
- if (reader) {
424
- reader.resolve(chunk);
425
- }
426
- else {
427
- pushQueue.push(chunk);
428
- }
429
- });
430
- this.on('end', () => {
431
- done = true;
432
- for (const reader of readQueue) {
433
- reader.resolve(undefined);
434
- }
435
- readQueue.length = 0;
436
- });
437
- this.on('abort', (err) => {
438
- done = true;
439
- for (const reader of readQueue) {
440
- reader.reject(err);
441
- }
442
- readQueue.length = 0;
443
- });
444
- this.on('error', (err) => {
445
- done = true;
446
- for (const reader of readQueue) {
447
- reader.reject(err);
448
- }
449
- readQueue.length = 0;
450
- });
451
- return {
452
- next: async () => {
453
- if (!pushQueue.length) {
454
- if (done) {
455
- return { value: undefined, done: true };
456
- }
457
- return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));
458
- }
459
- const chunk = pushQueue.shift();
460
- return { value: chunk, done: false };
461
- },
462
- return: async () => {
463
- this.abort();
464
- return { value: undefined, done: true };
465
- },
466
- };
1476
+ return this._createIterator((push) => {
1477
+ const onChunk = (chunk) => push(chunk);
1478
+ this.on('chunk', onChunk);
1479
+ return () => this.off('chunk', onChunk);
1480
+ }, { onReturn: () => this.abort() });
467
1481
  }
1482
+ /** Serializes raw completion chunks into a readable stream for transfer to another runtime. */
468
1483
  toReadableStream() {
469
1484
  const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);
470
1485
  return stream.toReadableStream();
471
1486
  }
472
1487
  }
473
- function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes) {
1488
+ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, validatedMessages) {
474
1489
  const { id, choices, created, model, system_fingerprint, ...rest } = snapshot;
475
1490
  const completion = {
476
1491
  ...rest,
477
1492
  id,
478
- choices: choices.map(({ message, finish_reason, index, logprobs, ...choiceRest }) => {
1493
+ choices: mapCapturedSnapshotArray(choices, MAX_STREAM_CHOICES, 'choice', (choice) => {
1494
+ const validated = validatedMessages.get(choice);
1495
+ if (!validated) {
1496
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1497
+ }
1498
+ const stableChoice = new Proxy(choice, {
1499
+ get(target, property, receiver) {
1500
+ return property === 'message' ? validated.message : Reflect.get(target, property, receiver);
1501
+ },
1502
+ });
1503
+ const { message: sourceMessage, finish_reason, index, logprobs, ...choiceRest } = stableChoice;
1504
+ const message = new Proxy(sourceMessage, {
1505
+ get(target, property, receiver) {
1506
+ if (property === 'content') {
1507
+ return validated.content;
1508
+ }
1509
+ if (property === 'refusal') {
1510
+ return validated.refusal;
1511
+ }
1512
+ if (property === 'tool_calls') {
1513
+ return validated.toolCallCollection;
1514
+ }
1515
+ return Reflect.get(target, property, receiver);
1516
+ },
1517
+ });
479
1518
  const { content = null, function_call, tool_calls, audio, ...messageRest } = message;
480
1519
  // Audio streams can end with an expires_at-only chunk after the
481
1520
  // generated audio, without a separate finish_reason.
@@ -522,17 +1561,69 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes) {
522
1561
  role,
523
1562
  content,
524
1563
  refusal: message.refusal ?? null,
525
- tool_calls: tool_calls.map((tool_call, i) => {
526
- const { function: fn, type, id, ...toolRest } = tool_call;
527
- const { arguments: args, name, ...fnRest } = fn || {};
528
- if (type == null) {
529
- throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].type\n${str(snapshot)}`);
1564
+ tool_calls: mapCapturedSnapshotArray(tool_calls, MAX_STREAM_TOOL_CALLS, 'tool-call', (tool_call, i) => {
1565
+ const captured = validated.toolCalls.get(i);
1566
+ if (!captured) {
1567
+ const identity = ownFunctionToolIdentity(tool_call);
1568
+ if (identity &&
1569
+ shouldParseToolCall(params, {
1570
+ type: identity.type,
1571
+ function: { name: identity.name },
1572
+ })) {
1573
+ throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
1574
+ }
1575
+ }
1576
+ if (captured && captured.tool !== tool_call) {
1577
+ throw new OpenAIError('Chat completion stream contains a changed tool call identity');
1578
+ }
1579
+ const stableFunction = captured &&
1580
+ new Proxy(captured.function, {
1581
+ get(target, property, receiver) {
1582
+ if (property === 'arguments') {
1583
+ return captured.arguments;
1584
+ }
1585
+ if (property === 'name') {
1586
+ return captured.name;
1587
+ }
1588
+ return Reflect.get(target, property, receiver);
1589
+ },
1590
+ });
1591
+ const stableTool = captured && stableFunction
1592
+ ? new Proxy(tool_call, {
1593
+ get(target, property, receiver) {
1594
+ if (property === 'type') {
1595
+ return captured.type;
1596
+ }
1597
+ if (property === 'function') {
1598
+ return stableFunction;
1599
+ }
1600
+ return Reflect.get(target, property, receiver);
1601
+ },
1602
+ })
1603
+ : tool_call;
1604
+ if (stableTool.type == null) {
1605
+ throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].type`);
530
1606
  }
1607
+ if (stableTool.type === 'custom') {
1608
+ const { custom, type, id, ...toolRest } = stableTool;
1609
+ const { input = '', name, ...customRest } = custom || {};
1610
+ if (name == null) {
1611
+ throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].custom.name`);
1612
+ }
1613
+ return {
1614
+ ...toolRest,
1615
+ id: id || `call_${uuid4()}`,
1616
+ type,
1617
+ custom: { ...customRest, name, input },
1618
+ };
1619
+ }
1620
+ const { function: fn, type, id, ...toolRest } = stableTool;
1621
+ const { arguments: args, name, ...fnRest } = fn || {};
531
1622
  if (name == null) {
532
- throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.name\n${str(snapshot)}`);
1623
+ throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.name`);
533
1624
  }
534
1625
  if (args == null) {
535
- throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.arguments\n${str(snapshot)}`);
1626
+ throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.arguments`);
536
1627
  }
537
1628
  return {
538
1629
  ...toolRest,
@@ -562,16 +1653,15 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes) {
562
1653
  function isCompleteAudio(audio) {
563
1654
  return audio?.id != null && audio.data != null && audio.transcript != null && audio.expires_at != null;
564
1655
  }
565
- function str(x) {
566
- return JSON.stringify(x);
567
- }
568
1656
  /**
569
1657
  * Ensures the given argument is an empty object, useful for
570
1658
  * asserting that all known properties on an object have been
571
1659
  * destructured.
572
1660
  */
573
1661
  function assertIsEmpty(obj) {
574
- return;
1662
+ void obj;
1663
+ }
1664
+ function assertNever(_x) {
1665
+ return _x;
575
1666
  }
576
- function assertNever(_x) { }
577
1667
  //# sourceMappingURL=ChatCompletionStream.mjs.map