@depup/openai 7.4.0-depup.0 → 7.7.0-depup.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 (2109) hide show
  1. package/CHANGELOG.md +436 -0
  2. package/README.md +2 -2
  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/changes.json +1 -1
  320. package/client.d.mts +40 -2
  321. package/client.d.mts.map +1 -1
  322. package/client.d.ts +40 -2
  323. package/client.d.ts.map +1 -1
  324. package/client.js +597 -75
  325. package/client.js.map +1 -1
  326. package/client.mjs +598 -76
  327. package/client.mjs.map +1 -1
  328. package/core/EventEmitter.d.mts +10 -6
  329. package/core/EventEmitter.d.mts.map +1 -1
  330. package/core/EventEmitter.d.ts +10 -6
  331. package/core/EventEmitter.d.ts.map +1 -1
  332. package/core/EventEmitter.js +98 -16
  333. package/core/EventEmitter.js.map +1 -1
  334. package/core/EventEmitter.mjs +99 -17
  335. package/core/EventEmitter.mjs.map +1 -1
  336. package/core/api-promise.d.mts.map +1 -1
  337. package/core/api-promise.d.ts.map +1 -1
  338. package/core/api-promise.js +0 -1
  339. package/core/api-promise.js.map +1 -1
  340. package/core/api-promise.mjs +0 -1
  341. package/core/api-promise.mjs.map +1 -1
  342. package/core/error.d.mts.map +1 -1
  343. package/core/error.d.ts.map +1 -1
  344. package/core/error.js +5 -5
  345. package/core/error.js.map +1 -1
  346. package/core/error.mjs +5 -5
  347. package/core/error.mjs.map +1 -1
  348. package/core/pagination.d.mts.map +1 -1
  349. package/core/pagination.d.ts.map +1 -1
  350. package/core/pagination.js +0 -1
  351. package/core/pagination.js.map +1 -1
  352. package/core/pagination.mjs +0 -1
  353. package/core/pagination.mjs.map +1 -1
  354. package/core/resource.d.mts.map +1 -1
  355. package/core/resource.d.ts.map +1 -1
  356. package/core/resource.js +0 -1
  357. package/core/resource.js.map +1 -1
  358. package/core/resource.mjs +0 -1
  359. package/core/resource.mjs.map +1 -1
  360. package/core/streaming.d.mts +29 -2
  361. package/core/streaming.d.mts.map +1 -1
  362. package/core/streaming.d.ts +29 -2
  363. package/core/streaming.d.ts.map +1 -1
  364. package/core/streaming.js +333 -80
  365. package/core/streaming.js.map +1 -1
  366. package/core/streaming.mjs +334 -81
  367. package/core/streaming.mjs.map +1 -1
  368. package/helpers/audio.d.mts +29 -0
  369. package/helpers/audio.d.mts.map +1 -1
  370. package/helpers/audio.d.ts +29 -0
  371. package/helpers/audio.d.ts.map +1 -1
  372. package/helpers/audio.js +163 -28
  373. package/helpers/audio.js.map +1 -1
  374. package/helpers/audio.mjs +163 -28
  375. package/helpers/audio.mjs.map +1 -1
  376. package/helpers/standard-schema.d.mts +154 -18
  377. package/helpers/standard-schema.d.mts.map +1 -1
  378. package/helpers/standard-schema.d.ts +154 -18
  379. package/helpers/standard-schema.d.ts.map +1 -1
  380. package/helpers/standard-schema.js +92 -29
  381. package/helpers/standard-schema.js.map +1 -1
  382. package/helpers/standard-schema.mjs +93 -30
  383. package/helpers/standard-schema.mjs.map +1 -1
  384. package/helpers/zod-v3-strict-schema.d.mts +7 -0
  385. package/helpers/zod-v3-strict-schema.d.mts.map +1 -0
  386. package/helpers/zod-v3-strict-schema.d.ts +7 -0
  387. package/helpers/zod-v3-strict-schema.d.ts.map +1 -0
  388. package/helpers/zod-v3-strict-schema.js +403 -0
  389. package/helpers/zod-v3-strict-schema.js.map +1 -0
  390. package/helpers/zod-v3-strict-schema.mjs +399 -0
  391. package/helpers/zod-v3-strict-schema.mjs.map +1 -0
  392. package/helpers/zod.d.mts +79 -5
  393. package/helpers/zod.d.mts.map +1 -1
  394. package/helpers/zod.d.ts +79 -5
  395. package/helpers/zod.d.ts.map +1 -1
  396. package/helpers/zod.js +84 -23
  397. package/helpers/zod.js.map +1 -1
  398. package/helpers/zod.mjs +86 -25
  399. package/helpers/zod.mjs.map +1 -1
  400. package/index.d.mts +2 -2
  401. package/index.d.mts.map +1 -1
  402. package/index.d.ts +2 -2
  403. package/index.d.ts.map +1 -1
  404. package/index.js +0 -1
  405. package/index.js.map +1 -1
  406. package/index.mjs +0 -1
  407. package/index.mjs.map +1 -1
  408. package/internal/assistant-stream-delta.d.mts +7 -0
  409. package/internal/assistant-stream-delta.d.mts.map +1 -0
  410. package/internal/assistant-stream-delta.d.ts +7 -0
  411. package/internal/assistant-stream-delta.d.ts.map +1 -0
  412. package/internal/assistant-stream-delta.js +309 -0
  413. package/internal/assistant-stream-delta.js.map +1 -0
  414. package/internal/assistant-stream-delta.mjs +301 -0
  415. package/internal/assistant-stream-delta.mjs.map +1 -0
  416. package/internal/auth/x509-token-exchange.d.mts +16 -0
  417. package/internal/auth/x509-token-exchange.d.mts.map +1 -0
  418. package/internal/auth/x509-token-exchange.d.ts +16 -0
  419. package/internal/auth/x509-token-exchange.d.ts.map +1 -0
  420. package/internal/auth/x509-token-exchange.js +246 -0
  421. package/internal/auth/x509-token-exchange.js.map +1 -0
  422. package/internal/auth/x509-token-exchange.mjs +243 -0
  423. package/internal/auth/x509-token-exchange.mjs.map +1 -0
  424. package/internal/auth/x509-transport-capability.d.mts +37 -0
  425. package/internal/auth/x509-transport-capability.d.mts.map +1 -0
  426. package/internal/auth/x509-transport-capability.d.ts +37 -0
  427. package/internal/auth/x509-transport-capability.d.ts.map +1 -0
  428. package/internal/auth/x509-transport-capability.js +169 -0
  429. package/internal/auth/x509-transport-capability.js.map +1 -0
  430. package/internal/auth/x509-transport-capability.mjs +164 -0
  431. package/internal/auth/x509-transport-capability.mjs.map +1 -0
  432. package/internal/auth/x509-transport-registry.d.mts +63 -0
  433. package/internal/auth/x509-transport-registry.d.mts.map +1 -0
  434. package/internal/auth/x509-transport-registry.d.ts +63 -0
  435. package/internal/auth/x509-transport-registry.d.ts.map +1 -0
  436. package/internal/auth/x509-transport-registry.js +53 -0
  437. package/internal/auth/x509-transport-registry.js.map +1 -0
  438. package/internal/auth/x509-transport-registry.mjs +48 -0
  439. package/internal/auth/x509-transport-registry.mjs.map +1 -0
  440. package/internal/auth/x509-transport-state-browser.d.mts +21 -0
  441. package/internal/auth/x509-transport-state-browser.d.mts.map +1 -0
  442. package/internal/auth/x509-transport-state-browser.d.ts +21 -0
  443. package/internal/auth/x509-transport-state-browser.d.ts.map +1 -0
  444. package/internal/auth/x509-transport-state-browser.js +30 -0
  445. package/internal/auth/x509-transport-state-browser.js.map +1 -0
  446. package/internal/auth/x509-transport-state-browser.mjs +27 -0
  447. package/internal/auth/x509-transport-state-browser.mjs.map +1 -0
  448. package/internal/auth/x509-transport-state.cjs +30 -0
  449. package/internal/auth/x509-transport-state.cjs.map +1 -0
  450. package/internal/auth/x509-transport-state.d.cts +21 -0
  451. package/internal/auth/x509-transport-state.d.cts.map +1 -0
  452. package/internal/auth/x509-workload-identity-auth.d.mts +128 -0
  453. package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -0
  454. package/internal/auth/x509-workload-identity-auth.d.ts +128 -0
  455. package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -0
  456. package/internal/auth/x509-workload-identity-auth.js +767 -0
  457. package/internal/auth/x509-workload-identity-auth.js.map +1 -0
  458. package/internal/auth/x509-workload-identity-auth.mjs +757 -0
  459. package/internal/auth/x509-workload-identity-auth.mjs.map +1 -0
  460. package/internal/bedrock.d.mts +82 -5
  461. package/internal/bedrock.d.mts.map +1 -1
  462. package/internal/bedrock.d.ts +82 -5
  463. package/internal/bedrock.d.ts.map +1 -1
  464. package/internal/bedrock.js +312 -13
  465. package/internal/bedrock.js.map +1 -1
  466. package/internal/bedrock.mjs +307 -13
  467. package/internal/bedrock.mjs.map +1 -1
  468. package/internal/builtin-types.d.mts.map +1 -1
  469. package/internal/builtin-types.d.ts.map +1 -1
  470. package/internal/builtin-types.js +0 -1
  471. package/internal/builtin-types.js.map +1 -1
  472. package/internal/builtin-types.mjs +0 -1
  473. package/internal/builtin-types.mjs.map +1 -1
  474. package/internal/data-residency.d.mts +12 -0
  475. package/internal/data-residency.d.mts.map +1 -0
  476. package/internal/data-residency.d.ts +12 -0
  477. package/internal/data-residency.d.ts.map +1 -0
  478. package/internal/data-residency.js +34 -0
  479. package/internal/data-residency.js.map +1 -0
  480. package/internal/data-residency.mjs +30 -0
  481. package/internal/data-residency.mjs.map +1 -0
  482. package/internal/decoders/line.d.mts +25 -2
  483. package/internal/decoders/line.d.mts.map +1 -1
  484. package/internal/decoders/line.d.ts +25 -2
  485. package/internal/decoders/line.d.ts.map +1 -1
  486. package/internal/decoders/line.js +139 -54
  487. package/internal/decoders/line.js.map +1 -1
  488. package/internal/decoders/line.mjs +140 -55
  489. package/internal/decoders/line.mjs.map +1 -1
  490. package/internal/detect-platform.d.mts.map +1 -1
  491. package/internal/detect-platform.d.ts.map +1 -1
  492. package/internal/detect-platform.js +1 -2
  493. package/internal/detect-platform.js.map +1 -1
  494. package/internal/detect-platform.mjs +1 -2
  495. package/internal/detect-platform.mjs.map +1 -1
  496. package/internal/errors.d.mts.map +1 -1
  497. package/internal/errors.d.ts.map +1 -1
  498. package/internal/errors.js +0 -1
  499. package/internal/errors.js.map +1 -1
  500. package/internal/errors.mjs +0 -1
  501. package/internal/errors.mjs.map +1 -1
  502. package/internal/headers.d.mts.map +1 -1
  503. package/internal/headers.d.ts.map +1 -1
  504. package/internal/headers.js +0 -1
  505. package/internal/headers.js.map +1 -1
  506. package/internal/headers.mjs +0 -1
  507. package/internal/headers.mjs.map +1 -1
  508. package/internal/multipart-encoding.d.mts +8 -0
  509. package/internal/multipart-encoding.d.mts.map +1 -0
  510. package/internal/multipart-encoding.d.ts +8 -0
  511. package/internal/multipart-encoding.d.ts.map +1 -0
  512. package/internal/multipart-encoding.js +51 -0
  513. package/internal/multipart-encoding.js.map +1 -0
  514. package/internal/multipart-encoding.mjs +48 -0
  515. package/internal/multipart-encoding.mjs.map +1 -0
  516. package/internal/parse.d.mts.map +1 -1
  517. package/internal/parse.d.ts.map +1 -1
  518. package/internal/parse.js +23 -3
  519. package/internal/parse.js.map +1 -1
  520. package/internal/parse.mjs +23 -3
  521. package/internal/parse.mjs.map +1 -1
  522. package/internal/provider.d.mts +26 -0
  523. package/internal/provider.d.mts.map +1 -1
  524. package/internal/provider.d.ts +26 -0
  525. package/internal/provider.d.ts.map +1 -1
  526. package/internal/provider.js +11 -0
  527. package/internal/provider.js.map +1 -1
  528. package/internal/provider.mjs +11 -0
  529. package/internal/provider.mjs.map +1 -1
  530. package/internal/qs/formats.d.mts +1 -1
  531. package/internal/qs/formats.d.mts.map +1 -1
  532. package/internal/qs/formats.d.ts +1 -1
  533. package/internal/qs/formats.d.ts.map +1 -1
  534. package/internal/qs/formats.js +1 -2
  535. package/internal/qs/formats.js.map +1 -1
  536. package/internal/qs/formats.mjs +1 -1
  537. package/internal/qs/formats.mjs.map +1 -1
  538. package/internal/qs/stringify.d.mts.map +1 -1
  539. package/internal/qs/stringify.d.ts.map +1 -1
  540. package/internal/qs/stringify.js +57 -51
  541. package/internal/qs/stringify.js.map +1 -1
  542. package/internal/qs/stringify.mjs +57 -51
  543. package/internal/qs/stringify.mjs.map +1 -1
  544. package/internal/qs/types.d.mts +1 -1
  545. package/internal/qs/types.d.mts.map +1 -1
  546. package/internal/qs/types.d.ts +1 -1
  547. package/internal/qs/types.d.ts.map +1 -1
  548. package/internal/qs/utils.d.mts +1 -1
  549. package/internal/qs/utils.d.mts.map +1 -1
  550. package/internal/qs/utils.d.ts +1 -1
  551. package/internal/qs/utils.d.ts.map +1 -1
  552. package/internal/qs/utils.js +356 -50
  553. package/internal/qs/utils.js.map +1 -1
  554. package/internal/qs/utils.mjs +356 -50
  555. package/internal/qs/utils.mjs.map +1 -1
  556. package/internal/request-options.d.mts +7 -0
  557. package/internal/request-options.d.mts.map +1 -1
  558. package/internal/request-options.d.ts +7 -0
  559. package/internal/request-options.d.ts.map +1 -1
  560. package/internal/request-options.js +43 -2
  561. package/internal/request-options.js.map +1 -1
  562. package/internal/request-options.mjs +42 -2
  563. package/internal/request-options.mjs.map +1 -1
  564. package/internal/responses/canonical-output-text.d.mts +16 -0
  565. package/internal/responses/canonical-output-text.d.mts.map +1 -0
  566. package/internal/responses/canonical-output-text.d.ts +16 -0
  567. package/internal/responses/canonical-output-text.d.ts.map +1 -0
  568. package/internal/responses/canonical-output-text.js +123 -0
  569. package/internal/responses/canonical-output-text.js.map +1 -0
  570. package/internal/responses/canonical-output-text.mjs +115 -0
  571. package/internal/responses/canonical-output-text.mjs.map +1 -0
  572. package/internal/responses/output-text-index.d.mts +18 -0
  573. package/internal/responses/output-text-index.d.mts.map +1 -0
  574. package/internal/responses/output-text-index.d.ts +18 -0
  575. package/internal/responses/output-text-index.d.ts.map +1 -0
  576. package/internal/responses/output-text-index.js +77 -0
  577. package/internal/responses/output-text-index.js.map +1 -0
  578. package/internal/responses/output-text-index.mjs +73 -0
  579. package/internal/responses/output-text-index.mjs.map +1 -0
  580. package/internal/responses/response-accumulator.d.mts +11 -0
  581. package/internal/responses/response-accumulator.d.mts.map +1 -0
  582. package/internal/responses/response-accumulator.d.ts +11 -0
  583. package/internal/responses/response-accumulator.d.ts.map +1 -0
  584. package/internal/responses/response-accumulator.js +925 -0
  585. package/internal/responses/response-accumulator.js.map +1 -0
  586. package/internal/responses/response-accumulator.mjs +921 -0
  587. package/internal/responses/response-accumulator.mjs.map +1 -0
  588. package/internal/shim-types.d.mts.map +1 -1
  589. package/internal/shim-types.d.ts.map +1 -1
  590. package/internal/shim-types.js +6 -1
  591. package/internal/shim-types.js.map +1 -1
  592. package/internal/shim-types.mjs +6 -1
  593. package/internal/shim-types.mjs.map +1 -1
  594. package/internal/shims.d.mts.map +1 -1
  595. package/internal/shims.d.ts.map +1 -1
  596. package/internal/shims.js +6 -1
  597. package/internal/shims.js.map +1 -1
  598. package/internal/shims.mjs +6 -1
  599. package/internal/shims.mjs.map +1 -1
  600. package/internal/stream-utils.d.mts +10 -3
  601. package/internal/stream-utils.d.mts.map +1 -1
  602. package/internal/stream-utils.d.ts +10 -3
  603. package/internal/stream-utils.d.ts.map +1 -1
  604. package/internal/stream-utils.js +35 -7
  605. package/internal/stream-utils.js.map +1 -1
  606. package/internal/stream-utils.mjs +35 -7
  607. package/internal/stream-utils.mjs.map +1 -1
  608. package/internal/to-file.d.mts +39 -17
  609. package/internal/to-file.d.mts.map +1 -1
  610. package/internal/to-file.d.ts +39 -17
  611. package/internal/to-file.d.ts.map +1 -1
  612. package/internal/to-file.js +44 -22
  613. package/internal/to-file.js.map +1 -1
  614. package/internal/to-file.mjs +44 -22
  615. package/internal/to-file.mjs.map +1 -1
  616. package/internal/tslib.js +6 -0
  617. package/internal/tslib.mjs +6 -1
  618. package/internal/types.d.mts +4 -4
  619. package/internal/types.d.mts.map +1 -1
  620. package/internal/types.d.ts +4 -4
  621. package/internal/types.d.ts.map +1 -1
  622. package/internal/types.js +0 -1
  623. package/internal/types.js.map +1 -1
  624. package/internal/types.mjs +0 -1
  625. package/internal/types.mjs.map +1 -1
  626. package/internal/uploads.d.mts +84 -14
  627. package/internal/uploads.d.mts.map +1 -1
  628. package/internal/uploads.d.ts +84 -14
  629. package/internal/uploads.d.ts.map +1 -1
  630. package/internal/uploads.js +212 -75
  631. package/internal/uploads.js.map +1 -1
  632. package/internal/uploads.mjs +212 -75
  633. package/internal/uploads.mjs.map +1 -1
  634. package/internal/utils/base64.d.mts.map +1 -1
  635. package/internal/utils/base64.d.ts.map +1 -1
  636. package/internal/utils/base64.js +0 -1
  637. package/internal/utils/base64.js.map +1 -1
  638. package/internal/utils/base64.mjs +0 -1
  639. package/internal/utils/base64.mjs.map +1 -1
  640. package/internal/utils/bytes.d.mts +3 -0
  641. package/internal/utils/bytes.d.mts.map +1 -1
  642. package/internal/utils/bytes.d.ts +3 -0
  643. package/internal/utils/bytes.d.ts.map +1 -1
  644. package/internal/utils/bytes.js +3 -0
  645. package/internal/utils/bytes.js.map +1 -1
  646. package/internal/utils/bytes.mjs +3 -0
  647. package/internal/utils/bytes.mjs.map +1 -1
  648. package/internal/utils/env.d.mts.map +1 -1
  649. package/internal/utils/env.d.ts.map +1 -1
  650. package/internal/utils/env.js +9 -5
  651. package/internal/utils/env.js.map +1 -1
  652. package/internal/utils/env.mjs +9 -5
  653. package/internal/utils/env.mjs.map +1 -1
  654. package/internal/utils/log.d.mts.map +1 -1
  655. package/internal/utils/log.d.ts.map +1 -1
  656. package/internal/utils/log.js +3 -4
  657. package/internal/utils/log.js.map +1 -1
  658. package/internal/utils/log.mjs +3 -4
  659. package/internal/utils/log.mjs.map +1 -1
  660. package/internal/utils/path.d.mts +14 -2
  661. package/internal/utils/path.d.mts.map +1 -1
  662. package/internal/utils/path.d.ts +14 -2
  663. package/internal/utils/path.d.ts.map +1 -1
  664. package/internal/utils/path.js +48 -30
  665. package/internal/utils/path.js.map +1 -1
  666. package/internal/utils/path.mjs +48 -30
  667. package/internal/utils/path.mjs.map +1 -1
  668. package/internal/utils/query.d.mts.map +1 -1
  669. package/internal/utils/query.d.ts.map +1 -1
  670. package/internal/utils/query.js +0 -1
  671. package/internal/utils/query.js.map +1 -1
  672. package/internal/utils/query.mjs +0 -1
  673. package/internal/utils/query.mjs.map +1 -1
  674. package/internal/utils/sleep.d.mts.map +1 -1
  675. package/internal/utils/sleep.d.ts.map +1 -1
  676. package/internal/utils/sleep.js +0 -1
  677. package/internal/utils/sleep.js.map +1 -1
  678. package/internal/utils/sleep.mjs +0 -1
  679. package/internal/utils/sleep.mjs.map +1 -1
  680. package/internal/utils/uuid.d.mts.map +1 -1
  681. package/internal/utils/uuid.d.ts.map +1 -1
  682. package/internal/utils/uuid.js +0 -1
  683. package/internal/utils/uuid.js.map +1 -1
  684. package/internal/utils/uuid.mjs +0 -1
  685. package/internal/utils/uuid.mjs.map +1 -1
  686. package/internal/utils/values.d.mts.map +1 -1
  687. package/internal/utils/values.d.ts.map +1 -1
  688. package/internal/utils/values.js +0 -1
  689. package/internal/utils/values.js.map +1 -1
  690. package/internal/utils/values.mjs +0 -1
  691. package/internal/utils/values.mjs.map +1 -1
  692. package/internal/utils.d.mts.map +1 -1
  693. package/internal/utils.d.ts.map +1 -1
  694. package/internal/utils.js +0 -1
  695. package/internal/utils.js.map +1 -1
  696. package/internal/utils.mjs +0 -1
  697. package/internal/utils.mjs.map +1 -1
  698. package/internal/ws-adapter-browser.d.mts +26 -3
  699. package/internal/ws-adapter-browser.d.mts.map +1 -1
  700. package/internal/ws-adapter-browser.d.ts +26 -3
  701. package/internal/ws-adapter-browser.d.ts.map +1 -1
  702. package/internal/ws-adapter-browser.js +64 -21
  703. package/internal/ws-adapter-browser.js.map +1 -1
  704. package/internal/ws-adapter-browser.mjs +64 -21
  705. package/internal/ws-adapter-browser.mjs.map +1 -1
  706. package/internal/ws-adapter-node.d.mts +18 -3
  707. package/internal/ws-adapter-node.d.mts.map +1 -1
  708. package/internal/ws-adapter-node.d.ts +18 -3
  709. package/internal/ws-adapter-node.d.ts.map +1 -1
  710. package/internal/ws-adapter-node.js +90 -24
  711. package/internal/ws-adapter-node.js.map +1 -1
  712. package/internal/ws-adapter-node.mjs +90 -24
  713. package/internal/ws-adapter-node.mjs.map +1 -1
  714. package/internal/ws-adapter.d.mts +14 -0
  715. package/internal/ws-adapter.d.mts.map +1 -1
  716. package/internal/ws-adapter.d.ts +14 -0
  717. package/internal/ws-adapter.d.ts.map +1 -1
  718. package/internal/ws-adapter.js +4 -0
  719. package/internal/ws-adapter.js.map +1 -1
  720. package/internal/ws-adapter.mjs +4 -0
  721. package/internal/ws-adapter.mjs.map +1 -1
  722. package/internal/ws.d.mts +36 -8
  723. package/internal/ws.d.mts.map +1 -1
  724. package/internal/ws.d.ts +36 -8
  725. package/internal/ws.d.ts.map +1 -1
  726. package/internal/ws.js +116 -47
  727. package/internal/ws.js.map +1 -1
  728. package/internal/ws.mjs +115 -47
  729. package/internal/ws.mjs.map +1 -1
  730. package/lib/AbstractChatCompletionRunner.d.mts +26 -5
  731. package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
  732. package/lib/AbstractChatCompletionRunner.d.ts +26 -5
  733. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  734. package/lib/AbstractChatCompletionRunner.js +89 -39
  735. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  736. package/lib/AbstractChatCompletionRunner.mjs +92 -42
  737. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  738. package/lib/AssistantStream.d.mts +49 -8
  739. package/lib/AssistantStream.d.mts.map +1 -1
  740. package/lib/AssistantStream.d.ts +49 -8
  741. package/lib/AssistantStream.d.ts.map +1 -1
  742. package/lib/AssistantStream.js +388 -227
  743. package/lib/AssistantStream.js.map +1 -1
  744. package/lib/AssistantStream.mjs +389 -228
  745. package/lib/AssistantStream.mjs.map +1 -1
  746. package/lib/ChatCompletionRunner.d.mts +16 -5
  747. package/lib/ChatCompletionRunner.d.mts.map +1 -1
  748. package/lib/ChatCompletionRunner.d.ts +16 -5
  749. package/lib/ChatCompletionRunner.d.ts.map +1 -1
  750. package/lib/ChatCompletionRunner.js +4 -1
  751. package/lib/ChatCompletionRunner.js.map +1 -1
  752. package/lib/ChatCompletionRunner.mjs +5 -2
  753. package/lib/ChatCompletionRunner.mjs.map +1 -1
  754. package/lib/ChatCompletionStream.d.mts +137 -35
  755. package/lib/ChatCompletionStream.d.mts.map +1 -1
  756. package/lib/ChatCompletionStream.d.ts +137 -35
  757. package/lib/ChatCompletionStream.d.ts.map +1 -1
  758. package/lib/ChatCompletionStream.js +1252 -162
  759. package/lib/ChatCompletionStream.js.map +1 -1
  760. package/lib/ChatCompletionStream.mjs +1255 -165
  761. package/lib/ChatCompletionStream.mjs.map +1 -1
  762. package/lib/ChatCompletionStreamingRunner.d.mts +20 -7
  763. package/lib/ChatCompletionStreamingRunner.d.mts.map +1 -1
  764. package/lib/ChatCompletionStreamingRunner.d.ts +20 -7
  765. package/lib/ChatCompletionStreamingRunner.d.ts.map +1 -1
  766. package/lib/ChatCompletionStreamingRunner.js +27 -67
  767. package/lib/ChatCompletionStreamingRunner.js.map +1 -1
  768. package/lib/ChatCompletionStreamingRunner.mjs +28 -68
  769. package/lib/ChatCompletionStreamingRunner.mjs.map +1 -1
  770. package/lib/EventEmitter.d.mts +9 -6
  771. package/lib/EventEmitter.d.mts.map +1 -1
  772. package/lib/EventEmitter.d.ts +9 -6
  773. package/lib/EventEmitter.d.ts.map +1 -1
  774. package/lib/EventEmitter.js +89 -20
  775. package/lib/EventEmitter.js.map +1 -1
  776. package/lib/EventEmitter.mjs +90 -21
  777. package/lib/EventEmitter.mjs.map +1 -1
  778. package/lib/EventStream.d.mts +49 -9
  779. package/lib/EventStream.d.mts.map +1 -1
  780. package/lib/EventStream.d.ts +49 -9
  781. package/lib/EventStream.d.ts.map +1 -1
  782. package/lib/EventStream.js +1257 -51
  783. package/lib/EventStream.js.map +1 -1
  784. package/lib/EventStream.mjs +1258 -52
  785. package/lib/EventStream.mjs.map +1 -1
  786. package/lib/ResponsesParser.d.mts +52 -5
  787. package/lib/ResponsesParser.d.mts.map +1 -1
  788. package/lib/ResponsesParser.d.ts +52 -5
  789. package/lib/ResponsesParser.d.ts.map +1 -1
  790. package/lib/ResponsesParser.js +32 -17
  791. package/lib/ResponsesParser.js.map +1 -1
  792. package/lib/ResponsesParser.mjs +33 -18
  793. package/lib/ResponsesParser.mjs.map +1 -1
  794. package/lib/RunnableFunction.d.mts +38 -10
  795. package/lib/RunnableFunction.d.mts.map +1 -1
  796. package/lib/RunnableFunction.d.ts +38 -10
  797. package/lib/RunnableFunction.d.ts.map +1 -1
  798. package/lib/RunnableFunction.js +3 -0
  799. package/lib/RunnableFunction.js.map +1 -1
  800. package/lib/RunnableFunction.mjs +3 -0
  801. package/lib/RunnableFunction.mjs.map +1 -1
  802. package/lib/Util.d.mts +2 -0
  803. package/lib/Util.d.mts.map +1 -1
  804. package/lib/Util.d.ts +2 -0
  805. package/lib/Util.d.ts.map +1 -1
  806. package/lib/Util.js +7 -4
  807. package/lib/Util.js.map +1 -1
  808. package/lib/Util.mjs +7 -4
  809. package/lib/Util.mjs.map +1 -1
  810. package/lib/assistant-run-polling.d.mts +12 -0
  811. package/lib/assistant-run-polling.d.mts.map +1 -0
  812. package/lib/assistant-run-polling.d.ts +12 -0
  813. package/lib/assistant-run-polling.d.ts.map +1 -0
  814. package/lib/assistant-run-polling.js +17 -0
  815. package/lib/assistant-run-polling.js.map +1 -0
  816. package/lib/assistant-run-polling.mjs +14 -0
  817. package/lib/assistant-run-polling.mjs.map +1 -0
  818. package/lib/chatCompletionUtils.d.mts +4 -1
  819. package/lib/chatCompletionUtils.d.mts.map +1 -1
  820. package/lib/chatCompletionUtils.d.ts +4 -1
  821. package/lib/chatCompletionUtils.d.ts.map +1 -1
  822. package/lib/chatCompletionUtils.js +5 -6
  823. package/lib/chatCompletionUtils.js.map +1 -1
  824. package/lib/chatCompletionUtils.mjs +5 -6
  825. package/lib/chatCompletionUtils.mjs.map +1 -1
  826. package/lib/embeddings.d.mts +18 -0
  827. package/lib/embeddings.d.mts.map +1 -0
  828. package/lib/embeddings.d.ts +18 -0
  829. package/lib/embeddings.d.ts.map +1 -0
  830. package/lib/embeddings.js +50 -0
  831. package/lib/embeddings.js.map +1 -0
  832. package/lib/embeddings.mjs +47 -0
  833. package/lib/embeddings.mjs.map +1 -0
  834. package/lib/file-processing.d.mts +10 -0
  835. package/lib/file-processing.d.mts.map +1 -0
  836. package/lib/file-processing.d.ts +10 -0
  837. package/lib/file-processing.d.ts.map +1 -0
  838. package/lib/file-processing.js +30 -0
  839. package/lib/file-processing.js.map +1 -0
  840. package/lib/file-processing.mjs +27 -0
  841. package/lib/file-processing.mjs.map +1 -0
  842. package/lib/jsonschema.d.mts +70 -14
  843. package/lib/jsonschema.d.mts.map +1 -1
  844. package/lib/jsonschema.d.ts +70 -14
  845. package/lib/jsonschema.d.ts.map +1 -1
  846. package/lib/parser.d.mts +97 -6
  847. package/lib/parser.d.mts.map +1 -1
  848. package/lib/parser.d.ts +97 -6
  849. package/lib/parser.d.ts.map +1 -1
  850. package/lib/parser.js +128 -41
  851. package/lib/parser.js.map +1 -1
  852. package/lib/parser.mjs +126 -41
  853. package/lib/parser.mjs.map +1 -1
  854. package/lib/polling.d.mts +20 -0
  855. package/lib/polling.d.mts.map +1 -0
  856. package/lib/polling.d.ts +20 -0
  857. package/lib/polling.d.ts.map +1 -0
  858. package/lib/polling.js +130 -0
  859. package/lib/polling.js.map +1 -0
  860. package/lib/polling.mjs +127 -0
  861. package/lib/polling.mjs.map +1 -0
  862. package/lib/responses/EventTypes.d.mts +7 -2
  863. package/lib/responses/EventTypes.d.mts.map +1 -1
  864. package/lib/responses/EventTypes.d.ts +7 -2
  865. package/lib/responses/EventTypes.d.ts.map +1 -1
  866. package/lib/responses/ResponseAccumulator.d.mts +4 -1
  867. package/lib/responses/ResponseAccumulator.d.mts.map +1 -1
  868. package/lib/responses/ResponseAccumulator.d.ts +4 -1
  869. package/lib/responses/ResponseAccumulator.d.ts.map +1 -1
  870. package/lib/responses/ResponseAccumulator.js +2 -390
  871. package/lib/responses/ResponseAccumulator.js.map +1 -1
  872. package/lib/responses/ResponseAccumulator.mjs +2 -390
  873. package/lib/responses/ResponseAccumulator.mjs.map +1 -1
  874. package/lib/responses/ResponseInputItems.d.mts +1 -0
  875. package/lib/responses/ResponseInputItems.d.mts.map +1 -1
  876. package/lib/responses/ResponseInputItems.d.ts +1 -0
  877. package/lib/responses/ResponseInputItems.d.ts.map +1 -1
  878. package/lib/responses/ResponseInputItems.js.map +1 -1
  879. package/lib/responses/ResponseInputItems.mjs.map +1 -1
  880. package/lib/responses/ResponseStream.d.mts +29 -10
  881. package/lib/responses/ResponseStream.d.mts.map +1 -1
  882. package/lib/responses/ResponseStream.d.ts +29 -10
  883. package/lib/responses/ResponseStream.d.ts.map +1 -1
  884. package/lib/responses/ResponseStream.js +57 -71
  885. package/lib/responses/ResponseStream.js.map +1 -1
  886. package/lib/responses/ResponseStream.mjs +58 -72
  887. package/lib/responses/ResponseStream.mjs.map +1 -1
  888. package/lib/transform.d.mts +21 -0
  889. package/lib/transform.d.mts.map +1 -1
  890. package/lib/transform.d.ts +21 -0
  891. package/lib/transform.d.ts.map +1 -1
  892. package/lib/transform.js +126 -76
  893. package/lib/transform.js.map +1 -1
  894. package/lib/transform.mjs +126 -76
  895. package/lib/transform.mjs.map +1 -1
  896. package/lib/vector-store-polling.d.mts +22 -0
  897. package/lib/vector-store-polling.d.mts.map +1 -0
  898. package/lib/vector-store-polling.d.ts +22 -0
  899. package/lib/vector-store-polling.d.ts.map +1 -0
  900. package/lib/vector-store-polling.js +24 -0
  901. package/lib/vector-store-polling.js.map +1 -0
  902. package/lib/vector-store-polling.mjs +20 -0
  903. package/lib/vector-store-polling.mjs.map +1 -0
  904. package/lib/vector-store-upload.d.mts +17 -0
  905. package/lib/vector-store-upload.d.mts.map +1 -0
  906. package/lib/vector-store-upload.d.ts +17 -0
  907. package/lib/vector-store-upload.d.ts.map +1 -0
  908. package/lib/vector-store-upload.js +37 -0
  909. package/lib/vector-store-upload.js.map +1 -0
  910. package/lib/vector-store-upload.mjs +34 -0
  911. package/lib/vector-store-upload.mjs.map +1 -0
  912. package/lib/webhook-signature.d.mts +15 -0
  913. package/lib/webhook-signature.d.mts.map +1 -0
  914. package/lib/webhook-signature.d.ts +15 -0
  915. package/lib/webhook-signature.d.ts.map +1 -0
  916. package/lib/webhook-signature.js +125 -0
  917. package/lib/webhook-signature.js.map +1 -0
  918. package/lib/webhook-signature.mjs +121 -0
  919. package/lib/webhook-signature.mjs.map +1 -0
  920. package/package.json +25 -5
  921. package/providers/bedrock/aws.d.mts +35 -8
  922. package/providers/bedrock/aws.d.mts.map +1 -1
  923. package/providers/bedrock/aws.d.ts +35 -8
  924. package/providers/bedrock/aws.d.ts.map +1 -1
  925. package/providers/bedrock/aws.js +60 -21
  926. package/providers/bedrock/aws.js.map +1 -1
  927. package/providers/bedrock/aws.mjs +61 -22
  928. package/providers/bedrock/aws.mjs.map +1 -1
  929. package/providers/bedrock.d.mts +17 -2
  930. package/providers/bedrock.d.mts.map +1 -1
  931. package/providers/bedrock.d.ts +17 -2
  932. package/providers/bedrock.d.ts.map +1 -1
  933. package/providers/bedrock.js +19 -2
  934. package/providers/bedrock.js.map +1 -1
  935. package/providers/bedrock.mjs +20 -3
  936. package/providers/bedrock.mjs.map +1 -1
  937. package/realtime/internal-base.d.mts +99 -10
  938. package/realtime/internal-base.d.mts.map +1 -1
  939. package/realtime/internal-base.d.ts +99 -10
  940. package/realtime/internal-base.d.ts.map +1 -1
  941. package/realtime/internal-base.js +94 -29
  942. package/realtime/internal-base.js.map +1 -1
  943. package/realtime/internal-base.mjs +93 -29
  944. package/realtime/internal-base.mjs.map +1 -1
  945. package/realtime/websocket.d.mts +63 -4
  946. package/realtime/websocket.d.mts.map +1 -1
  947. package/realtime/websocket.d.ts +63 -4
  948. package/realtime/websocket.d.ts.map +1 -1
  949. package/realtime/websocket.js +152 -27
  950. package/realtime/websocket.js.map +1 -1
  951. package/realtime/websocket.mjs +153 -28
  952. package/realtime/websocket.mjs.map +1 -1
  953. package/realtime/ws.d.mts +58 -3
  954. package/realtime/ws.d.mts.map +1 -1
  955. package/realtime/ws.d.ts +58 -3
  956. package/realtime/ws.d.ts.map +1 -1
  957. package/realtime/ws.js +72 -8
  958. package/realtime/ws.js.map +1 -1
  959. package/realtime/ws.mjs +73 -9
  960. package/realtime/ws.mjs.map +1 -1
  961. package/resources/admin/admin.js +1 -1
  962. package/resources/admin/admin.js.map +1 -1
  963. package/resources/admin/admin.mjs +1 -1
  964. package/resources/admin/admin.mjs.map +1 -1
  965. package/resources/admin/index.js +1 -1
  966. package/resources/admin/index.js.map +1 -1
  967. package/resources/admin/index.mjs +1 -1
  968. package/resources/admin/index.mjs.map +1 -1
  969. package/resources/admin/organization/admin-api-keys.js +1 -1
  970. package/resources/admin/organization/admin-api-keys.js.map +1 -1
  971. package/resources/admin/organization/admin-api-keys.mjs +1 -1
  972. package/resources/admin/organization/admin-api-keys.mjs.map +1 -1
  973. package/resources/admin/organization/audit-logs.d.mts +2 -2
  974. package/resources/admin/organization/audit-logs.d.mts.map +1 -1
  975. package/resources/admin/organization/audit-logs.d.ts +2 -2
  976. package/resources/admin/organization/audit-logs.d.ts.map +1 -1
  977. package/resources/admin/organization/audit-logs.js +1 -1
  978. package/resources/admin/organization/audit-logs.js.map +1 -1
  979. package/resources/admin/organization/audit-logs.mjs +1 -1
  980. package/resources/admin/organization/audit-logs.mjs.map +1 -1
  981. package/resources/admin/organization/certificates.js +1 -1
  982. package/resources/admin/organization/certificates.js.map +1 -1
  983. package/resources/admin/organization/certificates.mjs +1 -1
  984. package/resources/admin/organization/certificates.mjs.map +1 -1
  985. package/resources/admin/organization/data-retention.js +1 -1
  986. package/resources/admin/organization/data-retention.js.map +1 -1
  987. package/resources/admin/organization/data-retention.mjs +1 -1
  988. package/resources/admin/organization/data-retention.mjs.map +1 -1
  989. package/resources/admin/organization/groups/groups.js +1 -1
  990. package/resources/admin/organization/groups/groups.js.map +1 -1
  991. package/resources/admin/organization/groups/groups.mjs +1 -1
  992. package/resources/admin/organization/groups/groups.mjs.map +1 -1
  993. package/resources/admin/organization/groups/index.js +1 -1
  994. package/resources/admin/organization/groups/index.js.map +1 -1
  995. package/resources/admin/organization/groups/index.mjs +1 -1
  996. package/resources/admin/organization/groups/index.mjs.map +1 -1
  997. package/resources/admin/organization/groups/roles.js +1 -1
  998. package/resources/admin/organization/groups/roles.js.map +1 -1
  999. package/resources/admin/organization/groups/roles.mjs +1 -1
  1000. package/resources/admin/organization/groups/roles.mjs.map +1 -1
  1001. package/resources/admin/organization/groups/users.js +1 -1
  1002. package/resources/admin/organization/groups/users.js.map +1 -1
  1003. package/resources/admin/organization/groups/users.mjs +1 -1
  1004. package/resources/admin/organization/groups/users.mjs.map +1 -1
  1005. package/resources/admin/organization/groups.js +1 -1
  1006. package/resources/admin/organization/groups.js.map +1 -1
  1007. package/resources/admin/organization/groups.mjs +1 -1
  1008. package/resources/admin/organization/groups.mjs.map +1 -1
  1009. package/resources/admin/organization/index.d.mts +2 -2
  1010. package/resources/admin/organization/index.d.mts.map +1 -1
  1011. package/resources/admin/organization/index.d.ts +2 -2
  1012. package/resources/admin/organization/index.d.ts.map +1 -1
  1013. package/resources/admin/organization/index.js +1 -1
  1014. package/resources/admin/organization/index.js.map +1 -1
  1015. package/resources/admin/organization/index.mjs +1 -1
  1016. package/resources/admin/organization/index.mjs.map +1 -1
  1017. package/resources/admin/organization/invites.js +1 -1
  1018. package/resources/admin/organization/invites.js.map +1 -1
  1019. package/resources/admin/organization/invites.mjs +1 -1
  1020. package/resources/admin/organization/invites.mjs.map +1 -1
  1021. package/resources/admin/organization/organization.d.mts +4 -4
  1022. package/resources/admin/organization/organization.d.mts.map +1 -1
  1023. package/resources/admin/organization/organization.d.ts +4 -4
  1024. package/resources/admin/organization/organization.d.ts.map +1 -1
  1025. package/resources/admin/organization/organization.js +1 -1
  1026. package/resources/admin/organization/organization.js.map +1 -1
  1027. package/resources/admin/organization/organization.mjs +1 -1
  1028. package/resources/admin/organization/organization.mjs.map +1 -1
  1029. package/resources/admin/organization/projects/api-keys.js +1 -1
  1030. package/resources/admin/organization/projects/api-keys.js.map +1 -1
  1031. package/resources/admin/organization/projects/api-keys.mjs +1 -1
  1032. package/resources/admin/organization/projects/api-keys.mjs.map +1 -1
  1033. package/resources/admin/organization/projects/certificates.js +1 -1
  1034. package/resources/admin/organization/projects/certificates.js.map +1 -1
  1035. package/resources/admin/organization/projects/certificates.mjs +1 -1
  1036. package/resources/admin/organization/projects/certificates.mjs.map +1 -1
  1037. package/resources/admin/organization/projects/data-retention.js +1 -1
  1038. package/resources/admin/organization/projects/data-retention.js.map +1 -1
  1039. package/resources/admin/organization/projects/data-retention.mjs +1 -1
  1040. package/resources/admin/organization/projects/data-retention.mjs.map +1 -1
  1041. package/resources/admin/organization/projects/groups/groups.js +1 -1
  1042. package/resources/admin/organization/projects/groups/groups.js.map +1 -1
  1043. package/resources/admin/organization/projects/groups/groups.mjs +1 -1
  1044. package/resources/admin/organization/projects/groups/groups.mjs.map +1 -1
  1045. package/resources/admin/organization/projects/groups/index.js +1 -1
  1046. package/resources/admin/organization/projects/groups/index.js.map +1 -1
  1047. package/resources/admin/organization/projects/groups/index.mjs +1 -1
  1048. package/resources/admin/organization/projects/groups/index.mjs.map +1 -1
  1049. package/resources/admin/organization/projects/groups/roles.js +1 -1
  1050. package/resources/admin/organization/projects/groups/roles.js.map +1 -1
  1051. package/resources/admin/organization/projects/groups/roles.mjs +1 -1
  1052. package/resources/admin/organization/projects/groups/roles.mjs.map +1 -1
  1053. package/resources/admin/organization/projects/groups.js +1 -1
  1054. package/resources/admin/organization/projects/groups.js.map +1 -1
  1055. package/resources/admin/organization/projects/groups.mjs +1 -1
  1056. package/resources/admin/organization/projects/groups.mjs.map +1 -1
  1057. package/resources/admin/organization/projects/hosted-tool-permissions.js +1 -1
  1058. package/resources/admin/organization/projects/hosted-tool-permissions.js.map +1 -1
  1059. package/resources/admin/organization/projects/hosted-tool-permissions.mjs +1 -1
  1060. package/resources/admin/organization/projects/hosted-tool-permissions.mjs.map +1 -1
  1061. package/resources/admin/organization/projects/index.d.mts +1 -1
  1062. package/resources/admin/organization/projects/index.d.mts.map +1 -1
  1063. package/resources/admin/organization/projects/index.d.ts +1 -1
  1064. package/resources/admin/organization/projects/index.d.ts.map +1 -1
  1065. package/resources/admin/organization/projects/index.js +1 -1
  1066. package/resources/admin/organization/projects/index.js.map +1 -1
  1067. package/resources/admin/organization/projects/index.mjs +1 -1
  1068. package/resources/admin/organization/projects/index.mjs.map +1 -1
  1069. package/resources/admin/organization/projects/model-permissions.js +1 -1
  1070. package/resources/admin/organization/projects/model-permissions.js.map +1 -1
  1071. package/resources/admin/organization/projects/model-permissions.mjs +1 -1
  1072. package/resources/admin/organization/projects/model-permissions.mjs.map +1 -1
  1073. package/resources/admin/organization/projects/projects.d.mts +22 -5
  1074. package/resources/admin/organization/projects/projects.d.mts.map +1 -1
  1075. package/resources/admin/organization/projects/projects.d.ts +22 -5
  1076. package/resources/admin/organization/projects/projects.d.ts.map +1 -1
  1077. package/resources/admin/organization/projects/projects.js +1 -1
  1078. package/resources/admin/organization/projects/projects.js.map +1 -1
  1079. package/resources/admin/organization/projects/projects.mjs +1 -1
  1080. package/resources/admin/organization/projects/projects.mjs.map +1 -1
  1081. package/resources/admin/organization/projects/rate-limits.js +1 -1
  1082. package/resources/admin/organization/projects/rate-limits.js.map +1 -1
  1083. package/resources/admin/organization/projects/rate-limits.mjs +1 -1
  1084. package/resources/admin/organization/projects/rate-limits.mjs.map +1 -1
  1085. package/resources/admin/organization/projects/roles.js +1 -1
  1086. package/resources/admin/organization/projects/roles.js.map +1 -1
  1087. package/resources/admin/organization/projects/roles.mjs +1 -1
  1088. package/resources/admin/organization/projects/roles.mjs.map +1 -1
  1089. package/resources/admin/organization/projects/service-accounts/api-keys.js +1 -1
  1090. package/resources/admin/organization/projects/service-accounts/api-keys.js.map +1 -1
  1091. package/resources/admin/organization/projects/service-accounts/api-keys.mjs +1 -1
  1092. package/resources/admin/organization/projects/service-accounts/api-keys.mjs.map +1 -1
  1093. package/resources/admin/organization/projects/service-accounts/index.js +1 -1
  1094. package/resources/admin/organization/projects/service-accounts/index.js.map +1 -1
  1095. package/resources/admin/organization/projects/service-accounts/index.mjs +1 -1
  1096. package/resources/admin/organization/projects/service-accounts/index.mjs.map +1 -1
  1097. package/resources/admin/organization/projects/service-accounts/service-accounts.js +1 -1
  1098. package/resources/admin/organization/projects/service-accounts/service-accounts.js.map +1 -1
  1099. package/resources/admin/organization/projects/service-accounts/service-accounts.mjs +1 -1
  1100. package/resources/admin/organization/projects/service-accounts/service-accounts.mjs.map +1 -1
  1101. package/resources/admin/organization/projects/service-accounts.js +1 -1
  1102. package/resources/admin/organization/projects/service-accounts.js.map +1 -1
  1103. package/resources/admin/organization/projects/service-accounts.mjs +1 -1
  1104. package/resources/admin/organization/projects/service-accounts.mjs.map +1 -1
  1105. package/resources/admin/organization/projects/spend-alerts.js +1 -1
  1106. package/resources/admin/organization/projects/spend-alerts.js.map +1 -1
  1107. package/resources/admin/organization/projects/spend-alerts.mjs +1 -1
  1108. package/resources/admin/organization/projects/spend-alerts.mjs.map +1 -1
  1109. package/resources/admin/organization/projects/spend-limit.js +1 -1
  1110. package/resources/admin/organization/projects/spend-limit.js.map +1 -1
  1111. package/resources/admin/organization/projects/spend-limit.mjs +1 -1
  1112. package/resources/admin/organization/projects/spend-limit.mjs.map +1 -1
  1113. package/resources/admin/organization/projects/users/index.js +1 -1
  1114. package/resources/admin/organization/projects/users/index.js.map +1 -1
  1115. package/resources/admin/organization/projects/users/index.mjs +1 -1
  1116. package/resources/admin/organization/projects/users/index.mjs.map +1 -1
  1117. package/resources/admin/organization/projects/users/roles.js +1 -1
  1118. package/resources/admin/organization/projects/users/roles.js.map +1 -1
  1119. package/resources/admin/organization/projects/users/roles.mjs +1 -1
  1120. package/resources/admin/organization/projects/users/roles.mjs.map +1 -1
  1121. package/resources/admin/organization/projects/users/users.js +1 -1
  1122. package/resources/admin/organization/projects/users/users.js.map +1 -1
  1123. package/resources/admin/organization/projects/users/users.mjs +1 -1
  1124. package/resources/admin/organization/projects/users/users.mjs.map +1 -1
  1125. package/resources/admin/organization/projects/users.js +1 -1
  1126. package/resources/admin/organization/projects/users.js.map +1 -1
  1127. package/resources/admin/organization/projects/users.mjs +1 -1
  1128. package/resources/admin/organization/projects/users.mjs.map +1 -1
  1129. package/resources/admin/organization/projects.js +1 -1
  1130. package/resources/admin/organization/projects.js.map +1 -1
  1131. package/resources/admin/organization/projects.mjs +1 -1
  1132. package/resources/admin/organization/projects.mjs.map +1 -1
  1133. package/resources/admin/organization/roles.js +1 -1
  1134. package/resources/admin/organization/roles.js.map +1 -1
  1135. package/resources/admin/organization/roles.mjs +1 -1
  1136. package/resources/admin/organization/roles.mjs.map +1 -1
  1137. package/resources/admin/organization/spend-alerts.js +1 -1
  1138. package/resources/admin/organization/spend-alerts.js.map +1 -1
  1139. package/resources/admin/organization/spend-alerts.mjs +1 -1
  1140. package/resources/admin/organization/spend-alerts.mjs.map +1 -1
  1141. package/resources/admin/organization/spend-limit.js +1 -1
  1142. package/resources/admin/organization/spend-limit.js.map +1 -1
  1143. package/resources/admin/organization/spend-limit.mjs +1 -1
  1144. package/resources/admin/organization/spend-limit.mjs.map +1 -1
  1145. package/resources/admin/organization/usage.d.mts +62 -1
  1146. package/resources/admin/organization/usage.d.mts.map +1 -1
  1147. package/resources/admin/organization/usage.d.ts +62 -1
  1148. package/resources/admin/organization/usage.d.ts.map +1 -1
  1149. package/resources/admin/organization/usage.js +1 -1
  1150. package/resources/admin/organization/usage.js.map +1 -1
  1151. package/resources/admin/organization/usage.mjs +1 -1
  1152. package/resources/admin/organization/usage.mjs.map +1 -1
  1153. package/resources/admin/organization/users/index.js +1 -1
  1154. package/resources/admin/organization/users/index.js.map +1 -1
  1155. package/resources/admin/organization/users/index.mjs +1 -1
  1156. package/resources/admin/organization/users/index.mjs.map +1 -1
  1157. package/resources/admin/organization/users/roles.js +1 -1
  1158. package/resources/admin/organization/users/roles.js.map +1 -1
  1159. package/resources/admin/organization/users/roles.mjs +1 -1
  1160. package/resources/admin/organization/users/roles.mjs.map +1 -1
  1161. package/resources/admin/organization/users/users.js +1 -1
  1162. package/resources/admin/organization/users/users.js.map +1 -1
  1163. package/resources/admin/organization/users/users.mjs +1 -1
  1164. package/resources/admin/organization/users/users.mjs.map +1 -1
  1165. package/resources/admin/organization/users.js +1 -1
  1166. package/resources/admin/organization/users.js.map +1 -1
  1167. package/resources/admin/organization/users.mjs +1 -1
  1168. package/resources/admin/organization/users.mjs.map +1 -1
  1169. package/resources/admin/organization.js +1 -1
  1170. package/resources/admin/organization.js.map +1 -1
  1171. package/resources/admin/organization.mjs +1 -1
  1172. package/resources/admin/organization.mjs.map +1 -1
  1173. package/resources/admin.js +1 -1
  1174. package/resources/admin.js.map +1 -1
  1175. package/resources/admin.mjs +1 -1
  1176. package/resources/admin.mjs.map +1 -1
  1177. package/resources/audio/audio.js +1 -1
  1178. package/resources/audio/audio.js.map +1 -1
  1179. package/resources/audio/audio.mjs +1 -1
  1180. package/resources/audio/audio.mjs.map +1 -1
  1181. package/resources/audio/index.js +1 -1
  1182. package/resources/audio/index.js.map +1 -1
  1183. package/resources/audio/index.mjs +1 -1
  1184. package/resources/audio/index.mjs.map +1 -1
  1185. package/resources/audio/speech.js +1 -1
  1186. package/resources/audio/speech.js.map +1 -1
  1187. package/resources/audio/speech.mjs +1 -1
  1188. package/resources/audio/speech.mjs.map +1 -1
  1189. package/resources/audio/transcriptions.d.mts +3 -1
  1190. package/resources/audio/transcriptions.d.mts.map +1 -1
  1191. package/resources/audio/transcriptions.d.ts +3 -1
  1192. package/resources/audio/transcriptions.d.ts.map +1 -1
  1193. package/resources/audio/transcriptions.js +1 -1
  1194. package/resources/audio/transcriptions.js.map +1 -1
  1195. package/resources/audio/transcriptions.mjs +1 -1
  1196. package/resources/audio/transcriptions.mjs.map +1 -1
  1197. package/resources/audio/translations.d.mts +3 -1
  1198. package/resources/audio/translations.d.mts.map +1 -1
  1199. package/resources/audio/translations.d.ts +3 -1
  1200. package/resources/audio/translations.d.ts.map +1 -1
  1201. package/resources/audio/translations.js +1 -1
  1202. package/resources/audio/translations.js.map +1 -1
  1203. package/resources/audio/translations.mjs +1 -1
  1204. package/resources/audio/translations.mjs.map +1 -1
  1205. package/resources/audio.js +1 -1
  1206. package/resources/audio.js.map +1 -1
  1207. package/resources/audio.mjs +1 -1
  1208. package/resources/audio.mjs.map +1 -1
  1209. package/resources/batches.js +1 -1
  1210. package/resources/batches.js.map +1 -1
  1211. package/resources/batches.mjs +1 -1
  1212. package/resources/batches.mjs.map +1 -1
  1213. package/resources/beta/assistants.js +1 -1
  1214. package/resources/beta/assistants.js.map +1 -1
  1215. package/resources/beta/assistants.mjs +1 -1
  1216. package/resources/beta/assistants.mjs.map +1 -1
  1217. package/resources/beta/beta.d.mts +2 -2
  1218. package/resources/beta/beta.d.mts.map +1 -1
  1219. package/resources/beta/beta.d.ts +2 -2
  1220. package/resources/beta/beta.d.ts.map +1 -1
  1221. package/resources/beta/beta.js +1 -1
  1222. package/resources/beta/beta.js.map +1 -1
  1223. package/resources/beta/beta.mjs +1 -1
  1224. package/resources/beta/beta.mjs.map +1 -1
  1225. package/resources/beta/chatkit/chatkit.js +1 -1
  1226. package/resources/beta/chatkit/chatkit.js.map +1 -1
  1227. package/resources/beta/chatkit/chatkit.mjs +1 -1
  1228. package/resources/beta/chatkit/chatkit.mjs.map +1 -1
  1229. package/resources/beta/chatkit/index.js +1 -1
  1230. package/resources/beta/chatkit/index.js.map +1 -1
  1231. package/resources/beta/chatkit/index.mjs +1 -1
  1232. package/resources/beta/chatkit/index.mjs.map +1 -1
  1233. package/resources/beta/chatkit/sessions.js +1 -1
  1234. package/resources/beta/chatkit/sessions.js.map +1 -1
  1235. package/resources/beta/chatkit/sessions.mjs +1 -1
  1236. package/resources/beta/chatkit/sessions.mjs.map +1 -1
  1237. package/resources/beta/chatkit/threads.js +1 -1
  1238. package/resources/beta/chatkit/threads.js.map +1 -1
  1239. package/resources/beta/chatkit/threads.mjs +1 -1
  1240. package/resources/beta/chatkit/threads.mjs.map +1 -1
  1241. package/resources/beta/chatkit.js +1 -1
  1242. package/resources/beta/chatkit.js.map +1 -1
  1243. package/resources/beta/chatkit.mjs +1 -1
  1244. package/resources/beta/chatkit.mjs.map +1 -1
  1245. package/resources/beta/index.d.mts +1 -1
  1246. package/resources/beta/index.d.mts.map +1 -1
  1247. package/resources/beta/index.d.ts +1 -1
  1248. package/resources/beta/index.d.ts.map +1 -1
  1249. package/resources/beta/index.js +1 -1
  1250. package/resources/beta/index.js.map +1 -1
  1251. package/resources/beta/index.mjs +1 -1
  1252. package/resources/beta/index.mjs.map +1 -1
  1253. package/resources/beta/realtime/index.d.mts.map +1 -1
  1254. package/resources/beta/realtime/index.d.ts.map +1 -1
  1255. package/resources/beta/realtime/index.js +0 -1
  1256. package/resources/beta/realtime/index.js.map +1 -1
  1257. package/resources/beta/realtime/index.mjs +0 -1
  1258. package/resources/beta/realtime/index.mjs.map +1 -1
  1259. package/resources/beta/realtime/realtime.d.mts.map +1 -1
  1260. package/resources/beta/realtime/realtime.d.ts.map +1 -1
  1261. package/resources/beta/realtime/realtime.js +0 -1
  1262. package/resources/beta/realtime/realtime.js.map +1 -1
  1263. package/resources/beta/realtime/realtime.mjs +0 -1
  1264. package/resources/beta/realtime/realtime.mjs.map +1 -1
  1265. package/resources/beta/realtime/sessions.d.mts.map +1 -1
  1266. package/resources/beta/realtime/sessions.d.ts.map +1 -1
  1267. package/resources/beta/realtime/sessions.js +0 -1
  1268. package/resources/beta/realtime/sessions.js.map +1 -1
  1269. package/resources/beta/realtime/sessions.mjs +0 -1
  1270. package/resources/beta/realtime/sessions.mjs.map +1 -1
  1271. package/resources/beta/realtime/transcription-sessions.d.mts.map +1 -1
  1272. package/resources/beta/realtime/transcription-sessions.d.ts.map +1 -1
  1273. package/resources/beta/realtime/transcription-sessions.js +0 -1
  1274. package/resources/beta/realtime/transcription-sessions.js.map +1 -1
  1275. package/resources/beta/realtime/transcription-sessions.mjs +0 -1
  1276. package/resources/beta/realtime/transcription-sessions.mjs.map +1 -1
  1277. package/resources/beta/realtime.d.mts.map +1 -1
  1278. package/resources/beta/realtime.d.ts.map +1 -1
  1279. package/resources/beta/realtime.js +0 -1
  1280. package/resources/beta/realtime.js.map +1 -1
  1281. package/resources/beta/realtime.mjs +0 -1
  1282. package/resources/beta/realtime.mjs.map +1 -1
  1283. package/resources/beta/responses/index.d.mts +1 -1
  1284. package/resources/beta/responses/index.d.mts.map +1 -1
  1285. package/resources/beta/responses/index.d.ts +1 -1
  1286. package/resources/beta/responses/index.d.ts.map +1 -1
  1287. package/resources/beta/responses/index.js +1 -1
  1288. package/resources/beta/responses/index.js.map +1 -1
  1289. package/resources/beta/responses/index.mjs +1 -1
  1290. package/resources/beta/responses/index.mjs.map +1 -1
  1291. package/resources/beta/responses/input-items.js +1 -1
  1292. package/resources/beta/responses/input-items.js.map +1 -1
  1293. package/resources/beta/responses/input-items.mjs +1 -1
  1294. package/resources/beta/responses/input-items.mjs.map +1 -1
  1295. package/resources/beta/responses/input-tokens.js +1 -1
  1296. package/resources/beta/responses/input-tokens.js.map +1 -1
  1297. package/resources/beta/responses/input-tokens.mjs +1 -1
  1298. package/resources/beta/responses/input-tokens.mjs.map +1 -1
  1299. package/resources/beta/responses/internal-base.d.mts +6 -3
  1300. package/resources/beta/responses/internal-base.d.mts.map +1 -1
  1301. package/resources/beta/responses/internal-base.d.ts +6 -3
  1302. package/resources/beta/responses/internal-base.d.ts.map +1 -1
  1303. package/resources/beta/responses/internal-base.js +5 -2
  1304. package/resources/beta/responses/internal-base.js.map +1 -1
  1305. package/resources/beta/responses/internal-base.mjs +5 -2
  1306. package/resources/beta/responses/internal-base.mjs.map +1 -1
  1307. package/resources/beta/responses/responses.d.mts +1569 -458
  1308. package/resources/beta/responses/responses.d.mts.map +1 -1
  1309. package/resources/beta/responses/responses.d.ts +1569 -458
  1310. package/resources/beta/responses/responses.d.ts.map +1 -1
  1311. package/resources/beta/responses/responses.js +1 -1
  1312. package/resources/beta/responses/responses.js.map +1 -1
  1313. package/resources/beta/responses/responses.mjs +1 -1
  1314. package/resources/beta/responses/responses.mjs.map +1 -1
  1315. package/resources/beta/responses/ws-base.js +1 -1
  1316. package/resources/beta/responses/ws-base.js.map +1 -1
  1317. package/resources/beta/responses/ws-base.mjs +1 -1
  1318. package/resources/beta/responses/ws-base.mjs.map +1 -1
  1319. package/resources/beta/responses/ws.js +1 -1
  1320. package/resources/beta/responses/ws.js.map +1 -1
  1321. package/resources/beta/responses/ws.mjs +1 -1
  1322. package/resources/beta/responses/ws.mjs.map +1 -1
  1323. package/resources/beta/responses.js +1 -1
  1324. package/resources/beta/responses.js.map +1 -1
  1325. package/resources/beta/responses.mjs +1 -1
  1326. package/resources/beta/responses.mjs.map +1 -1
  1327. package/resources/beta/threads/index.js +1 -1
  1328. package/resources/beta/threads/index.js.map +1 -1
  1329. package/resources/beta/threads/index.mjs +1 -1
  1330. package/resources/beta/threads/index.mjs.map +1 -1
  1331. package/resources/beta/threads/messages.js +1 -1
  1332. package/resources/beta/threads/messages.js.map +1 -1
  1333. package/resources/beta/threads/messages.mjs +1 -1
  1334. package/resources/beta/threads/messages.mjs.map +1 -1
  1335. package/resources/beta/threads/runs/index.d.mts +1 -1
  1336. package/resources/beta/threads/runs/index.d.mts.map +1 -1
  1337. package/resources/beta/threads/runs/index.d.ts +1 -1
  1338. package/resources/beta/threads/runs/index.d.ts.map +1 -1
  1339. package/resources/beta/threads/runs/index.js +1 -1
  1340. package/resources/beta/threads/runs/index.js.map +1 -1
  1341. package/resources/beta/threads/runs/index.mjs +1 -1
  1342. package/resources/beta/threads/runs/index.mjs.map +1 -1
  1343. package/resources/beta/threads/runs/runs.d.mts.map +1 -1
  1344. package/resources/beta/threads/runs/runs.d.ts.map +1 -1
  1345. package/resources/beta/threads/runs/runs.js +3 -44
  1346. package/resources/beta/threads/runs/runs.js.map +1 -1
  1347. package/resources/beta/threads/runs/runs.mjs +3 -44
  1348. package/resources/beta/threads/runs/runs.mjs.map +1 -1
  1349. package/resources/beta/threads/runs/steps.js +1 -1
  1350. package/resources/beta/threads/runs/steps.js.map +1 -1
  1351. package/resources/beta/threads/runs/steps.mjs +1 -1
  1352. package/resources/beta/threads/runs/steps.mjs.map +1 -1
  1353. package/resources/beta/threads/runs.js +1 -1
  1354. package/resources/beta/threads/runs.js.map +1 -1
  1355. package/resources/beta/threads/runs.mjs +1 -1
  1356. package/resources/beta/threads/runs.mjs.map +1 -1
  1357. package/resources/beta/threads/threads.js +1 -1
  1358. package/resources/beta/threads/threads.js.map +1 -1
  1359. package/resources/beta/threads/threads.mjs +1 -1
  1360. package/resources/beta/threads/threads.mjs.map +1 -1
  1361. package/resources/beta/threads.js +1 -1
  1362. package/resources/beta/threads.js.map +1 -1
  1363. package/resources/beta/threads.mjs +1 -1
  1364. package/resources/beta/threads.mjs.map +1 -1
  1365. package/resources/beta.js +1 -1
  1366. package/resources/beta.js.map +1 -1
  1367. package/resources/beta.mjs +1 -1
  1368. package/resources/beta.mjs.map +1 -1
  1369. package/resources/chat/chat.js +1 -1
  1370. package/resources/chat/chat.js.map +1 -1
  1371. package/resources/chat/chat.mjs +1 -1
  1372. package/resources/chat/chat.mjs.map +1 -1
  1373. package/resources/chat/completions/completions.d.mts +36 -3
  1374. package/resources/chat/completions/completions.d.mts.map +1 -1
  1375. package/resources/chat/completions/completions.d.ts +36 -3
  1376. package/resources/chat/completions/completions.d.ts.map +1 -1
  1377. package/resources/chat/completions/completions.js +2 -5
  1378. package/resources/chat/completions/completions.js.map +1 -1
  1379. package/resources/chat/completions/completions.mjs +2 -5
  1380. package/resources/chat/completions/completions.mjs.map +1 -1
  1381. package/resources/chat/completions/index.js +1 -1
  1382. package/resources/chat/completions/index.js.map +1 -1
  1383. package/resources/chat/completions/index.mjs +1 -1
  1384. package/resources/chat/completions/index.mjs.map +1 -1
  1385. package/resources/chat/completions/messages.js +1 -1
  1386. package/resources/chat/completions/messages.js.map +1 -1
  1387. package/resources/chat/completions/messages.mjs +1 -1
  1388. package/resources/chat/completions/messages.mjs.map +1 -1
  1389. package/resources/chat/completions.js +1 -1
  1390. package/resources/chat/completions.js.map +1 -1
  1391. package/resources/chat/completions.mjs +1 -1
  1392. package/resources/chat/completions.mjs.map +1 -1
  1393. package/resources/chat/index.js +1 -1
  1394. package/resources/chat/index.js.map +1 -1
  1395. package/resources/chat/index.mjs +1 -1
  1396. package/resources/chat/index.mjs.map +1 -1
  1397. package/resources/chat.js +1 -1
  1398. package/resources/chat.js.map +1 -1
  1399. package/resources/chat.mjs +1 -1
  1400. package/resources/chat.mjs.map +1 -1
  1401. package/resources/completions.d.mts +12 -0
  1402. package/resources/completions.d.mts.map +1 -1
  1403. package/resources/completions.d.ts +12 -0
  1404. package/resources/completions.d.ts.map +1 -1
  1405. package/resources/completions.js +1 -1
  1406. package/resources/completions.js.map +1 -1
  1407. package/resources/completions.mjs +1 -1
  1408. package/resources/completions.mjs.map +1 -1
  1409. package/resources/containers/containers.js +1 -1
  1410. package/resources/containers/containers.js.map +1 -1
  1411. package/resources/containers/containers.mjs +1 -1
  1412. package/resources/containers/containers.mjs.map +1 -1
  1413. package/resources/containers/files/content.js +1 -1
  1414. package/resources/containers/files/content.js.map +1 -1
  1415. package/resources/containers/files/content.mjs +1 -1
  1416. package/resources/containers/files/content.mjs.map +1 -1
  1417. package/resources/containers/files/files.js +1 -1
  1418. package/resources/containers/files/files.js.map +1 -1
  1419. package/resources/containers/files/files.mjs +1 -1
  1420. package/resources/containers/files/files.mjs.map +1 -1
  1421. package/resources/containers/files/index.js +1 -1
  1422. package/resources/containers/files/index.js.map +1 -1
  1423. package/resources/containers/files/index.mjs +1 -1
  1424. package/resources/containers/files/index.mjs.map +1 -1
  1425. package/resources/containers/files.js +1 -1
  1426. package/resources/containers/files.js.map +1 -1
  1427. package/resources/containers/files.mjs +1 -1
  1428. package/resources/containers/files.mjs.map +1 -1
  1429. package/resources/containers/index.js +1 -1
  1430. package/resources/containers/index.js.map +1 -1
  1431. package/resources/containers/index.mjs +1 -1
  1432. package/resources/containers/index.mjs.map +1 -1
  1433. package/resources/containers.js +1 -1
  1434. package/resources/containers.js.map +1 -1
  1435. package/resources/containers.mjs +1 -1
  1436. package/resources/containers.mjs.map +1 -1
  1437. package/resources/content-provenance-checks.js +1 -1
  1438. package/resources/content-provenance-checks.js.map +1 -1
  1439. package/resources/content-provenance-checks.mjs +1 -1
  1440. package/resources/content-provenance-checks.mjs.map +1 -1
  1441. package/resources/conversations/conversations.d.mts +1 -1
  1442. package/resources/conversations/conversations.d.mts.map +1 -1
  1443. package/resources/conversations/conversations.d.ts +1 -1
  1444. package/resources/conversations/conversations.d.ts.map +1 -1
  1445. package/resources/conversations/conversations.js +1 -1
  1446. package/resources/conversations/conversations.js.map +1 -1
  1447. package/resources/conversations/conversations.mjs +1 -1
  1448. package/resources/conversations/conversations.mjs.map +1 -1
  1449. package/resources/conversations/index.js +1 -1
  1450. package/resources/conversations/index.js.map +1 -1
  1451. package/resources/conversations/index.mjs +1 -1
  1452. package/resources/conversations/index.mjs.map +1 -1
  1453. package/resources/conversations/items.d.mts +1 -1
  1454. package/resources/conversations/items.d.mts.map +1 -1
  1455. package/resources/conversations/items.d.ts +1 -1
  1456. package/resources/conversations/items.d.ts.map +1 -1
  1457. package/resources/conversations/items.js +1 -1
  1458. package/resources/conversations/items.js.map +1 -1
  1459. package/resources/conversations/items.mjs +1 -1
  1460. package/resources/conversations/items.mjs.map +1 -1
  1461. package/resources/conversations.js +1 -1
  1462. package/resources/conversations.js.map +1 -1
  1463. package/resources/conversations.mjs +1 -1
  1464. package/resources/conversations.mjs.map +1 -1
  1465. package/resources/embeddings.d.mts +9 -0
  1466. package/resources/embeddings.d.mts.map +1 -1
  1467. package/resources/embeddings.d.ts +9 -0
  1468. package/resources/embeddings.d.ts.map +1 -1
  1469. package/resources/embeddings.js +3 -47
  1470. package/resources/embeddings.js.map +1 -1
  1471. package/resources/embeddings.mjs +3 -47
  1472. package/resources/embeddings.mjs.map +1 -1
  1473. package/resources/evals/evals.js +1 -1
  1474. package/resources/evals/evals.js.map +1 -1
  1475. package/resources/evals/evals.mjs +1 -1
  1476. package/resources/evals/evals.mjs.map +1 -1
  1477. package/resources/evals/index.js +1 -1
  1478. package/resources/evals/index.js.map +1 -1
  1479. package/resources/evals/index.mjs +1 -1
  1480. package/resources/evals/index.mjs.map +1 -1
  1481. package/resources/evals/runs/index.js +1 -1
  1482. package/resources/evals/runs/index.js.map +1 -1
  1483. package/resources/evals/runs/index.mjs +1 -1
  1484. package/resources/evals/runs/index.mjs.map +1 -1
  1485. package/resources/evals/runs/output-items.js +1 -1
  1486. package/resources/evals/runs/output-items.js.map +1 -1
  1487. package/resources/evals/runs/output-items.mjs +1 -1
  1488. package/resources/evals/runs/output-items.mjs.map +1 -1
  1489. package/resources/evals/runs/runs.js +1 -1
  1490. package/resources/evals/runs/runs.js.map +1 -1
  1491. package/resources/evals/runs/runs.mjs +1 -1
  1492. package/resources/evals/runs/runs.mjs.map +1 -1
  1493. package/resources/evals/runs.js +1 -1
  1494. package/resources/evals/runs.js.map +1 -1
  1495. package/resources/evals/runs.mjs +1 -1
  1496. package/resources/evals/runs.mjs.map +1 -1
  1497. package/resources/evals.js +1 -1
  1498. package/resources/evals.js.map +1 -1
  1499. package/resources/evals.mjs +1 -1
  1500. package/resources/evals.mjs.map +1 -1
  1501. package/resources/files.d.mts +1 -1
  1502. package/resources/files.d.mts.map +1 -1
  1503. package/resources/files.d.ts +1 -1
  1504. package/resources/files.d.ts.map +1 -1
  1505. package/resources/files.js +4 -17
  1506. package/resources/files.js.map +1 -1
  1507. package/resources/files.mjs +4 -17
  1508. package/resources/files.mjs.map +1 -1
  1509. package/resources/fine-tuning/alpha/alpha.js +1 -1
  1510. package/resources/fine-tuning/alpha/alpha.js.map +1 -1
  1511. package/resources/fine-tuning/alpha/alpha.mjs +1 -1
  1512. package/resources/fine-tuning/alpha/alpha.mjs.map +1 -1
  1513. package/resources/fine-tuning/alpha/graders.js +1 -1
  1514. package/resources/fine-tuning/alpha/graders.js.map +1 -1
  1515. package/resources/fine-tuning/alpha/graders.mjs +1 -1
  1516. package/resources/fine-tuning/alpha/graders.mjs.map +1 -1
  1517. package/resources/fine-tuning/alpha/index.js +1 -1
  1518. package/resources/fine-tuning/alpha/index.js.map +1 -1
  1519. package/resources/fine-tuning/alpha/index.mjs +1 -1
  1520. package/resources/fine-tuning/alpha/index.mjs.map +1 -1
  1521. package/resources/fine-tuning/alpha.js +1 -1
  1522. package/resources/fine-tuning/alpha.js.map +1 -1
  1523. package/resources/fine-tuning/alpha.mjs +1 -1
  1524. package/resources/fine-tuning/alpha.mjs.map +1 -1
  1525. package/resources/fine-tuning/checkpoints/checkpoints.js +1 -1
  1526. package/resources/fine-tuning/checkpoints/checkpoints.js.map +1 -1
  1527. package/resources/fine-tuning/checkpoints/checkpoints.mjs +1 -1
  1528. package/resources/fine-tuning/checkpoints/checkpoints.mjs.map +1 -1
  1529. package/resources/fine-tuning/checkpoints/index.js +1 -1
  1530. package/resources/fine-tuning/checkpoints/index.js.map +1 -1
  1531. package/resources/fine-tuning/checkpoints/index.mjs +1 -1
  1532. package/resources/fine-tuning/checkpoints/index.mjs.map +1 -1
  1533. package/resources/fine-tuning/checkpoints/permissions.js +1 -1
  1534. package/resources/fine-tuning/checkpoints/permissions.js.map +1 -1
  1535. package/resources/fine-tuning/checkpoints/permissions.mjs +1 -1
  1536. package/resources/fine-tuning/checkpoints/permissions.mjs.map +1 -1
  1537. package/resources/fine-tuning/checkpoints.js +1 -1
  1538. package/resources/fine-tuning/checkpoints.js.map +1 -1
  1539. package/resources/fine-tuning/checkpoints.mjs +1 -1
  1540. package/resources/fine-tuning/checkpoints.mjs.map +1 -1
  1541. package/resources/fine-tuning/fine-tuning.js +1 -1
  1542. package/resources/fine-tuning/fine-tuning.js.map +1 -1
  1543. package/resources/fine-tuning/fine-tuning.mjs +1 -1
  1544. package/resources/fine-tuning/fine-tuning.mjs.map +1 -1
  1545. package/resources/fine-tuning/index.js +1 -1
  1546. package/resources/fine-tuning/index.js.map +1 -1
  1547. package/resources/fine-tuning/index.mjs +1 -1
  1548. package/resources/fine-tuning/index.mjs.map +1 -1
  1549. package/resources/fine-tuning/jobs/checkpoints.js +1 -1
  1550. package/resources/fine-tuning/jobs/checkpoints.js.map +1 -1
  1551. package/resources/fine-tuning/jobs/checkpoints.mjs +1 -1
  1552. package/resources/fine-tuning/jobs/checkpoints.mjs.map +1 -1
  1553. package/resources/fine-tuning/jobs/index.js +1 -1
  1554. package/resources/fine-tuning/jobs/index.js.map +1 -1
  1555. package/resources/fine-tuning/jobs/index.mjs +1 -1
  1556. package/resources/fine-tuning/jobs/index.mjs.map +1 -1
  1557. package/resources/fine-tuning/jobs/jobs.js +1 -1
  1558. package/resources/fine-tuning/jobs/jobs.js.map +1 -1
  1559. package/resources/fine-tuning/jobs/jobs.mjs +1 -1
  1560. package/resources/fine-tuning/jobs/jobs.mjs.map +1 -1
  1561. package/resources/fine-tuning/jobs.js +1 -1
  1562. package/resources/fine-tuning/jobs.js.map +1 -1
  1563. package/resources/fine-tuning/jobs.mjs +1 -1
  1564. package/resources/fine-tuning/jobs.mjs.map +1 -1
  1565. package/resources/fine-tuning/methods.js +1 -1
  1566. package/resources/fine-tuning/methods.js.map +1 -1
  1567. package/resources/fine-tuning/methods.mjs +1 -1
  1568. package/resources/fine-tuning/methods.mjs.map +1 -1
  1569. package/resources/fine-tuning.js +1 -1
  1570. package/resources/fine-tuning.js.map +1 -1
  1571. package/resources/fine-tuning.mjs +1 -1
  1572. package/resources/fine-tuning.mjs.map +1 -1
  1573. package/resources/graders/grader-models.js +1 -1
  1574. package/resources/graders/grader-models.js.map +1 -1
  1575. package/resources/graders/grader-models.mjs +1 -1
  1576. package/resources/graders/grader-models.mjs.map +1 -1
  1577. package/resources/graders/graders.js +1 -1
  1578. package/resources/graders/graders.js.map +1 -1
  1579. package/resources/graders/graders.mjs +1 -1
  1580. package/resources/graders/graders.mjs.map +1 -1
  1581. package/resources/graders/index.js +1 -1
  1582. package/resources/graders/index.js.map +1 -1
  1583. package/resources/graders/index.mjs +1 -1
  1584. package/resources/graders/index.mjs.map +1 -1
  1585. package/resources/graders.js +1 -1
  1586. package/resources/graders.js.map +1 -1
  1587. package/resources/graders.mjs +1 -1
  1588. package/resources/graders.mjs.map +1 -1
  1589. package/resources/images.d.mts +12 -22
  1590. package/resources/images.d.mts.map +1 -1
  1591. package/resources/images.d.ts +12 -22
  1592. package/resources/images.d.ts.map +1 -1
  1593. package/resources/images.js +8 -2
  1594. package/resources/images.js.map +1 -1
  1595. package/resources/images.mjs +8 -2
  1596. package/resources/images.mjs.map +1 -1
  1597. package/resources/index.js +1 -1
  1598. package/resources/index.js.map +1 -1
  1599. package/resources/index.mjs +1 -1
  1600. package/resources/index.mjs.map +1 -1
  1601. package/resources/models.d.mts +4 -0
  1602. package/resources/models.d.mts.map +1 -1
  1603. package/resources/models.d.ts +4 -0
  1604. package/resources/models.d.ts.map +1 -1
  1605. package/resources/models.js +1 -1
  1606. package/resources/models.js.map +1 -1
  1607. package/resources/models.mjs +1 -1
  1608. package/resources/models.mjs.map +1 -1
  1609. package/resources/moderations.js +1 -1
  1610. package/resources/moderations.js.map +1 -1
  1611. package/resources/moderations.mjs +1 -1
  1612. package/resources/moderations.mjs.map +1 -1
  1613. package/resources/realtime/calls.d.mts +23 -1
  1614. package/resources/realtime/calls.d.mts.map +1 -1
  1615. package/resources/realtime/calls.d.ts +23 -1
  1616. package/resources/realtime/calls.d.ts.map +1 -1
  1617. package/resources/realtime/calls.js +25 -1
  1618. package/resources/realtime/calls.js.map +1 -1
  1619. package/resources/realtime/calls.mjs +25 -1
  1620. package/resources/realtime/calls.mjs.map +1 -1
  1621. package/resources/realtime/client-secrets.js +1 -1
  1622. package/resources/realtime/client-secrets.js.map +1 -1
  1623. package/resources/realtime/client-secrets.mjs +1 -1
  1624. package/resources/realtime/client-secrets.mjs.map +1 -1
  1625. package/resources/realtime/index.d.mts +1 -1
  1626. package/resources/realtime/index.d.mts.map +1 -1
  1627. package/resources/realtime/index.d.ts +1 -1
  1628. package/resources/realtime/index.d.ts.map +1 -1
  1629. package/resources/realtime/index.js +1 -1
  1630. package/resources/realtime/index.js.map +1 -1
  1631. package/resources/realtime/index.mjs +2 -2
  1632. package/resources/realtime/index.mjs.map +1 -1
  1633. package/resources/realtime/realtime.d.mts +5 -4
  1634. package/resources/realtime/realtime.d.mts.map +1 -1
  1635. package/resources/realtime/realtime.d.ts +5 -4
  1636. package/resources/realtime/realtime.d.ts.map +1 -1
  1637. package/resources/realtime/realtime.js +1 -1
  1638. package/resources/realtime/realtime.js.map +1 -1
  1639. package/resources/realtime/realtime.mjs +1 -1
  1640. package/resources/realtime/realtime.mjs.map +1 -1
  1641. package/resources/realtime.js +1 -1
  1642. package/resources/realtime.js.map +1 -1
  1643. package/resources/realtime.mjs +1 -1
  1644. package/resources/realtime.mjs.map +1 -1
  1645. package/resources/responses/index.js +1 -1
  1646. package/resources/responses/index.js.map +1 -1
  1647. package/resources/responses/index.mjs +1 -1
  1648. package/resources/responses/index.mjs.map +1 -1
  1649. package/resources/responses/input-items.js +1 -1
  1650. package/resources/responses/input-items.js.map +1 -1
  1651. package/resources/responses/input-items.mjs +1 -1
  1652. package/resources/responses/input-items.mjs.map +1 -1
  1653. package/resources/responses/input-tokens.js +1 -1
  1654. package/resources/responses/input-tokens.js.map +1 -1
  1655. package/resources/responses/input-tokens.mjs +1 -1
  1656. package/resources/responses/input-tokens.mjs.map +1 -1
  1657. package/resources/responses/internal-base.d.mts +6 -3
  1658. package/resources/responses/internal-base.d.mts.map +1 -1
  1659. package/resources/responses/internal-base.d.ts +6 -3
  1660. package/resources/responses/internal-base.d.ts.map +1 -1
  1661. package/resources/responses/internal-base.js +5 -2
  1662. package/resources/responses/internal-base.js.map +1 -1
  1663. package/resources/responses/internal-base.mjs +5 -2
  1664. package/resources/responses/internal-base.mjs.map +1 -1
  1665. package/resources/responses/responses.d.mts +1194 -167
  1666. package/resources/responses/responses.d.mts.map +1 -1
  1667. package/resources/responses/responses.d.ts +1194 -167
  1668. package/resources/responses/responses.d.ts.map +1 -1
  1669. package/resources/responses/responses.js +1 -1
  1670. package/resources/responses/responses.js.map +1 -1
  1671. package/resources/responses/responses.mjs +1 -1
  1672. package/resources/responses/responses.mjs.map +1 -1
  1673. package/resources/responses/ws-base.js +1 -1
  1674. package/resources/responses/ws-base.js.map +1 -1
  1675. package/resources/responses/ws-base.mjs +1 -1
  1676. package/resources/responses/ws-base.mjs.map +1 -1
  1677. package/resources/responses/ws.js +1 -1
  1678. package/resources/responses/ws.js.map +1 -1
  1679. package/resources/responses/ws.mjs +1 -1
  1680. package/resources/responses/ws.mjs.map +1 -1
  1681. package/resources/responses.js +1 -1
  1682. package/resources/responses.js.map +1 -1
  1683. package/resources/responses.mjs +1 -1
  1684. package/resources/responses.mjs.map +1 -1
  1685. package/resources/shared.d.mts +3 -3
  1686. package/resources/shared.d.mts.map +1 -1
  1687. package/resources/shared.d.ts +3 -3
  1688. package/resources/shared.d.ts.map +1 -1
  1689. package/resources/shared.js +1 -1
  1690. package/resources/shared.js.map +1 -1
  1691. package/resources/shared.mjs +1 -1
  1692. package/resources/shared.mjs.map +1 -1
  1693. package/resources/skills/content.js +1 -1
  1694. package/resources/skills/content.js.map +1 -1
  1695. package/resources/skills/content.mjs +1 -1
  1696. package/resources/skills/content.mjs.map +1 -1
  1697. package/resources/skills/index.js +1 -1
  1698. package/resources/skills/index.js.map +1 -1
  1699. package/resources/skills/index.mjs +1 -1
  1700. package/resources/skills/index.mjs.map +1 -1
  1701. package/resources/skills/skills.d.mts.map +1 -1
  1702. package/resources/skills/skills.d.ts.map +1 -1
  1703. package/resources/skills/skills.js +4 -2
  1704. package/resources/skills/skills.js.map +1 -1
  1705. package/resources/skills/skills.mjs +4 -2
  1706. package/resources/skills/skills.mjs.map +1 -1
  1707. package/resources/skills/versions/content.js +1 -1
  1708. package/resources/skills/versions/content.js.map +1 -1
  1709. package/resources/skills/versions/content.mjs +1 -1
  1710. package/resources/skills/versions/content.mjs.map +1 -1
  1711. package/resources/skills/versions/index.js +1 -1
  1712. package/resources/skills/versions/index.js.map +1 -1
  1713. package/resources/skills/versions/index.mjs +1 -1
  1714. package/resources/skills/versions/index.mjs.map +1 -1
  1715. package/resources/skills/versions/versions.d.mts.map +1 -1
  1716. package/resources/skills/versions/versions.d.ts.map +1 -1
  1717. package/resources/skills/versions/versions.js +4 -2
  1718. package/resources/skills/versions/versions.js.map +1 -1
  1719. package/resources/skills/versions/versions.mjs +4 -2
  1720. package/resources/skills/versions/versions.mjs.map +1 -1
  1721. package/resources/skills/versions.js +1 -1
  1722. package/resources/skills/versions.js.map +1 -1
  1723. package/resources/skills/versions.mjs +1 -1
  1724. package/resources/skills/versions.mjs.map +1 -1
  1725. package/resources/skills.js +1 -1
  1726. package/resources/skills.js.map +1 -1
  1727. package/resources/skills.mjs +1 -1
  1728. package/resources/skills.mjs.map +1 -1
  1729. package/resources/uploads/index.js +1 -1
  1730. package/resources/uploads/index.js.map +1 -1
  1731. package/resources/uploads/index.mjs +1 -1
  1732. package/resources/uploads/index.mjs.map +1 -1
  1733. package/resources/uploads/parts.js +1 -1
  1734. package/resources/uploads/parts.js.map +1 -1
  1735. package/resources/uploads/parts.mjs +1 -1
  1736. package/resources/uploads/parts.mjs.map +1 -1
  1737. package/resources/uploads/uploads.js +1 -1
  1738. package/resources/uploads/uploads.js.map +1 -1
  1739. package/resources/uploads/uploads.mjs +1 -1
  1740. package/resources/uploads/uploads.mjs.map +1 -1
  1741. package/resources/uploads.js +1 -1
  1742. package/resources/uploads.js.map +1 -1
  1743. package/resources/uploads.mjs +1 -1
  1744. package/resources/uploads.mjs.map +1 -1
  1745. package/resources/vector-stores/file-batches.d.mts.map +1 -1
  1746. package/resources/vector-stores/file-batches.d.ts.map +1 -1
  1747. package/resources/vector-stores/file-batches.js +6 -63
  1748. package/resources/vector-stores/file-batches.js.map +1 -1
  1749. package/resources/vector-stores/file-batches.mjs +6 -63
  1750. package/resources/vector-stores/file-batches.mjs.map +1 -1
  1751. package/resources/vector-stores/files.d.mts +1 -1
  1752. package/resources/vector-stores/files.d.mts.map +1 -1
  1753. package/resources/vector-stores/files.d.ts +1 -1
  1754. package/resources/vector-stores/files.d.ts.map +1 -1
  1755. package/resources/vector-stores/files.js +3 -36
  1756. package/resources/vector-stores/files.js.map +1 -1
  1757. package/resources/vector-stores/files.mjs +3 -36
  1758. package/resources/vector-stores/files.mjs.map +1 -1
  1759. package/resources/vector-stores/index.js +1 -1
  1760. package/resources/vector-stores/index.js.map +1 -1
  1761. package/resources/vector-stores/index.mjs +1 -1
  1762. package/resources/vector-stores/index.mjs.map +1 -1
  1763. package/resources/vector-stores/vector-stores.js +1 -1
  1764. package/resources/vector-stores/vector-stores.js.map +1 -1
  1765. package/resources/vector-stores/vector-stores.mjs +1 -1
  1766. package/resources/vector-stores/vector-stores.mjs.map +1 -1
  1767. package/resources/vector-stores.js +1 -1
  1768. package/resources/vector-stores.js.map +1 -1
  1769. package/resources/vector-stores.mjs +1 -1
  1770. package/resources/vector-stores.mjs.map +1 -1
  1771. package/resources/videos.d.mts +23 -0
  1772. package/resources/videos.d.mts.map +1 -1
  1773. package/resources/videos.d.ts +23 -0
  1774. package/resources/videos.d.ts.map +1 -1
  1775. package/resources/videos.js +24 -1
  1776. package/resources/videos.js.map +1 -1
  1777. package/resources/videos.mjs +24 -1
  1778. package/resources/videos.mjs.map +1 -1
  1779. package/resources/webhooks/index.js +1 -1
  1780. package/resources/webhooks/index.js.map +1 -1
  1781. package/resources/webhooks/index.mjs +1 -1
  1782. package/resources/webhooks/index.mjs.map +1 -1
  1783. package/resources/webhooks/webhooks.d.mts.map +1 -1
  1784. package/resources/webhooks/webhooks.d.ts.map +1 -1
  1785. package/resources/webhooks/webhooks.js +6 -43
  1786. package/resources/webhooks/webhooks.js.map +1 -1
  1787. package/resources/webhooks/webhooks.mjs +6 -43
  1788. package/resources/webhooks/webhooks.mjs.map +1 -1
  1789. package/resources/webhooks.js +1 -1
  1790. package/resources/webhooks.js.map +1 -1
  1791. package/resources/webhooks.mjs +1 -1
  1792. package/resources/webhooks.mjs.map +1 -1
  1793. package/src/_vendor/partial-json-parser/parser.ts +63 -33
  1794. package/src/_vendor/zod-to-json-schema/Options.ts +30 -18
  1795. package/src/_vendor/zod-to-json-schema/Refs.ts +7 -6
  1796. package/src/_vendor/zod-to-json-schema/errorMessages.ts +5 -3
  1797. package/src/_vendor/zod-to-json-schema/index.ts +3 -1
  1798. package/src/_vendor/zod-to-json-schema/parseDef.ts +150 -64
  1799. package/src/_vendor/zod-to-json-schema/parsers/array.ts +8 -5
  1800. package/src/_vendor/zod-to-json-schema/parsers/bigint.ts +18 -12
  1801. package/src/_vendor/zod-to-json-schema/parsers/branded.ts +2 -2
  1802. package/src/_vendor/zod-to-json-schema/parsers/catch.ts +4 -5
  1803. package/src/_vendor/zod-to-json-schema/parsers/date.ts +16 -10
  1804. package/src/_vendor/zod-to-json-schema/parsers/default.ts +4 -3
  1805. package/src/_vendor/zod-to-json-schema/parsers/effects.ts +4 -3
  1806. package/src/_vendor/zod-to-json-schema/parsers/enum.ts +1 -1
  1807. package/src/_vendor/zod-to-json-schema/parsers/intersection.ts +12 -9
  1808. package/src/_vendor/zod-to-json-schema/parsers/literal.ts +11 -2
  1809. package/src/_vendor/zod-to-json-schema/parsers/map.ts +6 -4
  1810. package/src/_vendor/zod-to-json-schema/parsers/nativeEnum.ts +10 -11
  1811. package/src/_vendor/zod-to-json-schema/parsers/null.ts +3 -3
  1812. package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +8 -5
  1813. package/src/_vendor/zod-to-json-schema/parsers/number.ts +15 -8
  1814. package/src/_vendor/zod-to-json-schema/parsers/object.ts +57 -54
  1815. package/src/_vendor/zod-to-json-schema/parsers/optional.ts +6 -5
  1816. package/src/_vendor/zod-to-json-schema/parsers/pipeline.ts +5 -4
  1817. package/src/_vendor/zod-to-json-schema/parsers/promise.ts +4 -3
  1818. package/src/_vendor/zod-to-json-schema/parsers/readonly.ts +4 -5
  1819. package/src/_vendor/zod-to-json-schema/parsers/record.ts +20 -19
  1820. package/src/_vendor/zod-to-json-schema/parsers/set.ts +6 -4
  1821. package/src/_vendor/zod-to-json-schema/parsers/string.ts +60 -36
  1822. package/src/_vendor/zod-to-json-schema/parsers/tuple.ts +18 -18
  1823. package/src/_vendor/zod-to-json-schema/parsers/union.ts +48 -33
  1824. package/src/_vendor/zod-to-json-schema/util.ts +10 -6
  1825. package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +119 -45
  1826. package/src/auth/index.ts +6 -1
  1827. package/src/auth/subject-token-providers.ts +267 -12
  1828. package/src/auth/types.ts +42 -5
  1829. package/src/auth/workload-identity-auth.ts +164 -22
  1830. package/src/auth/x509-transport.ts +49 -0
  1831. package/src/azure.ts +81 -26
  1832. package/src/bedrock.ts +93 -9
  1833. package/src/beta/realtime/internal-base.ts +94 -15
  1834. package/src/beta/realtime/websocket.ts +237 -44
  1835. package/src/beta/realtime/ws.ts +124 -23
  1836. package/src/client.ts +760 -104
  1837. package/src/core/EventEmitter.ts +136 -24
  1838. package/src/core/api-promise.ts +0 -2
  1839. package/src/core/error.ts +6 -8
  1840. package/src/core/pagination.ts +3 -5
  1841. package/src/core/resource.ts +0 -2
  1842. package/src/core/streaming.ts +369 -91
  1843. package/src/helpers/audio.ts +177 -31
  1844. package/src/helpers/standard-schema.ts +294 -57
  1845. package/src/helpers/zod-v3-strict-schema.ts +514 -0
  1846. package/src/helpers/zod.ts +151 -41
  1847. package/src/index.ts +2 -4
  1848. package/src/internal/assistant-stream-delta.ts +434 -0
  1849. package/src/internal/auth/x509-token-exchange.ts +310 -0
  1850. package/src/internal/auth/x509-transport-capability.ts +219 -0
  1851. package/src/internal/auth/x509-transport-registry.ts +118 -0
  1852. package/src/internal/auth/x509-transport-state-browser.ts +36 -0
  1853. package/src/internal/auth/x509-transport-state.cts +36 -0
  1854. package/src/internal/auth/x509-workload-identity-auth.ts +958 -0
  1855. package/src/internal/bedrock.ts +410 -18
  1856. package/src/internal/builtin-types.ts +0 -2
  1857. package/src/internal/data-residency.ts +44 -0
  1858. package/src/internal/decoders/line.ts +144 -61
  1859. package/src/internal/detect-platform.ts +1 -3
  1860. package/src/internal/errors.ts +0 -2
  1861. package/src/internal/headers.ts +0 -2
  1862. package/src/internal/multipart-encoding.ts +53 -0
  1863. package/src/internal/parse.ts +31 -8
  1864. package/src/internal/provider.ts +29 -0
  1865. package/src/internal/qs/formats.ts +1 -1
  1866. package/src/internal/qs/stringify.ts +54 -53
  1867. package/src/internal/qs/types.ts +1 -1
  1868. package/src/internal/qs/utils.ts +432 -54
  1869. package/src/internal/request-options.ts +52 -3
  1870. package/src/internal/responses/canonical-output-text.ts +160 -0
  1871. package/src/internal/responses/output-text-index.ts +84 -0
  1872. package/src/internal/responses/response-accumulator.ts +1232 -0
  1873. package/src/internal/shim-types.ts +3 -4
  1874. package/src/internal/shims.ts +0 -2
  1875. package/src/internal/stream-utils.ts +37 -5
  1876. package/src/internal/to-file.ts +87 -33
  1877. package/src/internal/types.ts +21 -29
  1878. package/src/internal/uploads.ts +323 -86
  1879. package/src/internal/utils/base64.ts +0 -2
  1880. package/src/internal/utils/bytes.ts +5 -0
  1881. package/src/internal/utils/env.ts +9 -7
  1882. package/src/internal/utils/log.ts +8 -12
  1883. package/src/internal/utils/path.ts +51 -32
  1884. package/src/internal/utils/query.ts +0 -2
  1885. package/src/internal/utils/sleep.ts +0 -2
  1886. package/src/internal/utils/uuid.ts +0 -2
  1887. package/src/internal/utils/values.ts +0 -2
  1888. package/src/internal/utils.ts +0 -2
  1889. package/src/internal/ws-adapter-browser.ts +81 -24
  1890. package/src/internal/ws-adapter-node.ts +105 -26
  1891. package/src/internal/ws-adapter.ts +23 -0
  1892. package/src/internal/ws.ts +153 -50
  1893. package/src/lib/.keep +2 -2
  1894. package/src/lib/AbstractChatCompletionRunner.ts +140 -62
  1895. package/src/lib/AssistantStream.ts +498 -239
  1896. package/src/lib/ChatCompletionRunner.ts +24 -16
  1897. package/src/lib/ChatCompletionStream.ts +1783 -249
  1898. package/src/lib/ChatCompletionStreamingRunner.ts +54 -94
  1899. package/src/lib/EventEmitter.ts +127 -27
  1900. package/src/lib/EventStream.ts +1704 -62
  1901. package/src/lib/ResponsesParser.ts +95 -40
  1902. package/src/lib/RunnableFunction.ts +62 -32
  1903. package/src/lib/Util.ts +7 -5
  1904. package/src/lib/assistant-run-polling.ts +27 -0
  1905. package/src/lib/chatCompletionUtils.ts +9 -10
  1906. package/src/lib/embeddings.ts +65 -0
  1907. package/src/lib/file-processing.ts +36 -0
  1908. package/src/lib/jsonschema.ts +74 -34
  1909. package/src/lib/parser.ts +197 -61
  1910. package/src/lib/polling.ts +144 -0
  1911. package/src/lib/responses/EventTypes.ts +16 -1
  1912. package/src/lib/responses/ResponseAccumulator.ts +8 -402
  1913. package/src/lib/responses/ResponseInputItems.ts +1 -0
  1914. package/src/lib/responses/ResponseStream.ts +105 -91
  1915. package/src/lib/transform.ts +160 -108
  1916. package/src/lib/vector-store-polling.ts +46 -0
  1917. package/src/lib/vector-store-upload.ts +53 -0
  1918. package/src/lib/webhook-signature.ts +164 -0
  1919. package/src/providers/bedrock/aws.ts +114 -41
  1920. package/src/providers/bedrock.ts +22 -4
  1921. package/src/realtime/internal-base.ts +206 -41
  1922. package/src/realtime/websocket.ts +226 -41
  1923. package/src/realtime/ws.ts +112 -18
  1924. package/src/resources/admin/admin.ts +1 -1
  1925. package/src/resources/admin/index.ts +1 -1
  1926. package/src/resources/admin/organization/admin-api-keys.ts +1 -1
  1927. package/src/resources/admin/organization/audit-logs.ts +5 -1
  1928. package/src/resources/admin/organization/certificates.ts +1 -1
  1929. package/src/resources/admin/organization/data-retention.ts +1 -1
  1930. package/src/resources/admin/organization/groups/groups.ts +1 -1
  1931. package/src/resources/admin/organization/groups/index.ts +1 -1
  1932. package/src/resources/admin/organization/groups/roles.ts +1 -1
  1933. package/src/resources/admin/organization/groups/users.ts +1 -1
  1934. package/src/resources/admin/organization/groups.ts +1 -1
  1935. package/src/resources/admin/organization/index.ts +3 -1
  1936. package/src/resources/admin/organization/invites.ts +1 -1
  1937. package/src/resources/admin/organization/organization.ts +5 -1
  1938. package/src/resources/admin/organization/projects/api-keys.ts +1 -1
  1939. package/src/resources/admin/organization/projects/certificates.ts +1 -1
  1940. package/src/resources/admin/organization/projects/data-retention.ts +1 -1
  1941. package/src/resources/admin/organization/projects/groups/groups.ts +1 -1
  1942. package/src/resources/admin/organization/projects/groups/index.ts +1 -1
  1943. package/src/resources/admin/organization/projects/groups/roles.ts +1 -1
  1944. package/src/resources/admin/organization/projects/groups.ts +1 -1
  1945. package/src/resources/admin/organization/projects/hosted-tool-permissions.ts +1 -1
  1946. package/src/resources/admin/organization/projects/index.ts +2 -1
  1947. package/src/resources/admin/organization/projects/model-permissions.ts +1 -1
  1948. package/src/resources/admin/organization/projects/projects.ts +38 -5
  1949. package/src/resources/admin/organization/projects/rate-limits.ts +1 -1
  1950. package/src/resources/admin/organization/projects/roles.ts +1 -1
  1951. package/src/resources/admin/organization/projects/service-accounts/api-keys.ts +1 -1
  1952. package/src/resources/admin/organization/projects/service-accounts/index.ts +1 -1
  1953. package/src/resources/admin/organization/projects/service-accounts/service-accounts.ts +1 -1
  1954. package/src/resources/admin/organization/projects/service-accounts.ts +1 -1
  1955. package/src/resources/admin/organization/projects/spend-alerts.ts +1 -1
  1956. package/src/resources/admin/organization/projects/spend-limit.ts +1 -1
  1957. package/src/resources/admin/organization/projects/users/index.ts +1 -1
  1958. package/src/resources/admin/organization/projects/users/roles.ts +1 -1
  1959. package/src/resources/admin/organization/projects/users/users.ts +1 -1
  1960. package/src/resources/admin/organization/projects/users.ts +1 -1
  1961. package/src/resources/admin/organization/projects.ts +1 -1
  1962. package/src/resources/admin/organization/roles.ts +1 -1
  1963. package/src/resources/admin/organization/spend-alerts.ts +1 -1
  1964. package/src/resources/admin/organization/spend-limit.ts +1 -1
  1965. package/src/resources/admin/organization/usage.ts +84 -1
  1966. package/src/resources/admin/organization/users/index.ts +1 -1
  1967. package/src/resources/admin/organization/users/roles.ts +1 -1
  1968. package/src/resources/admin/organization/users/users.ts +1 -1
  1969. package/src/resources/admin/organization/users.ts +1 -1
  1970. package/src/resources/admin/organization.ts +1 -1
  1971. package/src/resources/admin.ts +1 -1
  1972. package/src/resources/audio/audio.ts +1 -1
  1973. package/src/resources/audio/index.ts +1 -1
  1974. package/src/resources/audio/speech.ts +1 -1
  1975. package/src/resources/audio/transcriptions.ts +4 -2
  1976. package/src/resources/audio/translations.ts +4 -2
  1977. package/src/resources/audio.ts +1 -1
  1978. package/src/resources/batches.ts +1 -1
  1979. package/src/resources/beta/assistants.ts +1 -1
  1980. package/src/resources/beta/beta.ts +17 -1
  1981. package/src/resources/beta/chatkit/chatkit.ts +1 -1
  1982. package/src/resources/beta/chatkit/index.ts +1 -1
  1983. package/src/resources/beta/chatkit/sessions.ts +1 -1
  1984. package/src/resources/beta/chatkit/threads.ts +1 -1
  1985. package/src/resources/beta/chatkit.ts +1 -1
  1986. package/src/resources/beta/index.ts +9 -1
  1987. package/src/resources/beta/realtime/index.ts +0 -2
  1988. package/src/resources/beta/realtime/realtime.ts +0 -2
  1989. package/src/resources/beta/realtime/sessions.ts +0 -2
  1990. package/src/resources/beta/realtime/transcription-sessions.ts +0 -2
  1991. package/src/resources/beta/realtime.ts +0 -2
  1992. package/src/resources/beta/responses/index.ts +9 -1
  1993. package/src/resources/beta/responses/input-items.ts +1 -1
  1994. package/src/resources/beta/responses/input-tokens.ts +1 -1
  1995. package/src/resources/beta/responses/internal-base.ts +11 -10
  1996. package/src/resources/beta/responses/responses.ts +2289 -969
  1997. package/src/resources/beta/responses/ws-base.ts +1 -1
  1998. package/src/resources/beta/responses/ws.ts +1 -1
  1999. package/src/resources/beta/responses.ts +1 -1
  2000. package/src/resources/beta/threads/index.ts +1 -1
  2001. package/src/resources/beta/threads/messages.ts +1 -1
  2002. package/src/resources/beta/threads/runs/index.ts +2 -2
  2003. package/src/resources/beta/threads/runs/runs.ts +3 -46
  2004. package/src/resources/beta/threads/runs/steps.ts +1 -1
  2005. package/src/resources/beta/threads/runs.ts +1 -1
  2006. package/src/resources/beta/threads/threads.ts +1 -1
  2007. package/src/resources/beta/threads.ts +1 -1
  2008. package/src/resources/beta.ts +1 -1
  2009. package/src/resources/chat/chat.ts +1 -1
  2010. package/src/resources/chat/completions/completions.ts +46 -8
  2011. package/src/resources/chat/completions/index.ts +1 -1
  2012. package/src/resources/chat/completions/messages.ts +1 -1
  2013. package/src/resources/chat/completions.ts +1 -1
  2014. package/src/resources/chat/index.ts +1 -1
  2015. package/src/resources/chat.ts +1 -1
  2016. package/src/resources/completions.ts +16 -1
  2017. package/src/resources/containers/containers.ts +1 -1
  2018. package/src/resources/containers/files/content.ts +1 -1
  2019. package/src/resources/containers/files/files.ts +1 -1
  2020. package/src/resources/containers/files/index.ts +1 -1
  2021. package/src/resources/containers/files.ts +1 -1
  2022. package/src/resources/containers/index.ts +1 -1
  2023. package/src/resources/containers.ts +1 -1
  2024. package/src/resources/content-provenance-checks.ts +1 -1
  2025. package/src/resources/conversations/conversations.ts +2 -2
  2026. package/src/resources/conversations/index.ts +1 -1
  2027. package/src/resources/conversations/items.ts +2 -2
  2028. package/src/resources/conversations.ts +1 -1
  2029. package/src/resources/embeddings.ts +16 -43
  2030. package/src/resources/evals/evals.ts +1 -1
  2031. package/src/resources/evals/index.ts +1 -1
  2032. package/src/resources/evals/runs/index.ts +1 -1
  2033. package/src/resources/evals/runs/output-items.ts +1 -1
  2034. package/src/resources/evals/runs/runs.ts +1 -1
  2035. package/src/resources/evals/runs.ts +1 -1
  2036. package/src/resources/evals.ts +1 -1
  2037. package/src/resources/files.ts +4 -21
  2038. package/src/resources/fine-tuning/alpha/alpha.ts +1 -1
  2039. package/src/resources/fine-tuning/alpha/graders.ts +1 -1
  2040. package/src/resources/fine-tuning/alpha/index.ts +1 -1
  2041. package/src/resources/fine-tuning/alpha.ts +1 -1
  2042. package/src/resources/fine-tuning/checkpoints/checkpoints.ts +1 -1
  2043. package/src/resources/fine-tuning/checkpoints/index.ts +1 -1
  2044. package/src/resources/fine-tuning/checkpoints/permissions.ts +1 -1
  2045. package/src/resources/fine-tuning/checkpoints.ts +1 -1
  2046. package/src/resources/fine-tuning/fine-tuning.ts +1 -1
  2047. package/src/resources/fine-tuning/index.ts +1 -1
  2048. package/src/resources/fine-tuning/jobs/checkpoints.ts +1 -1
  2049. package/src/resources/fine-tuning/jobs/index.ts +1 -1
  2050. package/src/resources/fine-tuning/jobs/jobs.ts +1 -1
  2051. package/src/resources/fine-tuning/jobs.ts +1 -1
  2052. package/src/resources/fine-tuning/methods.ts +1 -1
  2053. package/src/resources/fine-tuning.ts +1 -1
  2054. package/src/resources/graders/grader-models.ts +1 -1
  2055. package/src/resources/graders/graders.ts +1 -1
  2056. package/src/resources/graders/index.ts +1 -1
  2057. package/src/resources/graders.ts +1 -1
  2058. package/src/resources/images.ts +20 -24
  2059. package/src/resources/index.ts +1 -1
  2060. package/src/resources/models.ts +6 -1
  2061. package/src/resources/moderations.ts +1 -1
  2062. package/src/resources/realtime/api.md +1 -0
  2063. package/src/resources/realtime/calls.ts +47 -1
  2064. package/src/resources/realtime/client-secrets.ts +1 -1
  2065. package/src/resources/realtime/index.ts +8 -2
  2066. package/src/resources/realtime/realtime.ts +6 -4
  2067. package/src/resources/realtime.ts +1 -1
  2068. package/src/resources/responses/api.md +8 -0
  2069. package/src/resources/responses/index.ts +1 -1
  2070. package/src/resources/responses/input-items.ts +1 -1
  2071. package/src/resources/responses/input-tokens.ts +1 -1
  2072. package/src/resources/responses/internal-base.ts +11 -10
  2073. package/src/resources/responses/responses.ts +1920 -722
  2074. package/src/resources/responses/ws-base.ts +1 -1
  2075. package/src/resources/responses/ws.ts +1 -1
  2076. package/src/resources/responses.ts +1 -1
  2077. package/src/resources/shared.ts +14 -3
  2078. package/src/resources/skills/content.ts +1 -1
  2079. package/src/resources/skills/index.ts +1 -1
  2080. package/src/resources/skills/skills.ts +4 -2
  2081. package/src/resources/skills/versions/content.ts +1 -1
  2082. package/src/resources/skills/versions/index.ts +1 -1
  2083. package/src/resources/skills/versions/versions.ts +4 -2
  2084. package/src/resources/skills/versions.ts +1 -1
  2085. package/src/resources/skills.ts +1 -1
  2086. package/src/resources/uploads/index.ts +1 -1
  2087. package/src/resources/uploads/parts.ts +1 -1
  2088. package/src/resources/uploads/uploads.ts +1 -1
  2089. package/src/resources/uploads.ts +1 -1
  2090. package/src/resources/vector-stores/file-batches.ts +13 -78
  2091. package/src/resources/vector-stores/files.ts +4 -44
  2092. package/src/resources/vector-stores/index.ts +1 -1
  2093. package/src/resources/vector-stores/vector-stores.ts +1 -1
  2094. package/src/resources/vector-stores.ts +1 -1
  2095. package/src/resources/videos.ts +24 -1
  2096. package/src/resources/webhooks/index.ts +1 -1
  2097. package/src/resources/webhooks/webhooks.ts +6 -65
  2098. package/src/resources/webhooks.ts +1 -1
  2099. package/src/tsconfig.dist-src.d.ts +29 -0
  2100. package/src/tsconfig.json +6 -3
  2101. package/src/version.ts +2 -1
  2102. package/version.d.mts +2 -1
  2103. package/version.d.mts.map +1 -1
  2104. package/version.d.ts +2 -1
  2105. package/version.d.ts.map +1 -1
  2106. package/version.js +2 -1
  2107. package/version.js.map +1 -1
  2108. package/version.mjs +2 -1
  2109. 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