openai 7.5.0 → 7.7.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 (597) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/README.md +46 -2
  3. package/auth/index.d.mts +1 -1
  4. package/auth/index.d.mts.map +1 -1
  5. package/auth/index.d.ts +1 -1
  6. package/auth/index.d.ts.map +1 -1
  7. package/auth/index.js.map +1 -1
  8. package/auth/index.mjs.map +1 -1
  9. package/auth/subject-token-providers.d.mts.map +1 -1
  10. package/auth/subject-token-providers.d.ts.map +1 -1
  11. package/auth/subject-token-providers.js +176 -4
  12. package/auth/subject-token-providers.js.map +1 -1
  13. package/auth/subject-token-providers.mjs +176 -4
  14. package/auth/subject-token-providers.mjs.map +1 -1
  15. package/auth/types.d.mts +17 -0
  16. package/auth/types.d.mts.map +1 -1
  17. package/auth/types.d.ts +17 -0
  18. package/auth/types.d.ts.map +1 -1
  19. package/auth/workload-identity-auth.d.mts.map +1 -1
  20. package/auth/workload-identity-auth.d.ts.map +1 -1
  21. package/auth/workload-identity-auth.js +80 -7
  22. package/auth/workload-identity-auth.js.map +1 -1
  23. package/auth/workload-identity-auth.mjs +80 -7
  24. package/auth/workload-identity-auth.mjs.map +1 -1
  25. package/auth/x509-transport.d.mts +5 -0
  26. package/auth/x509-transport.d.mts.map +1 -0
  27. package/auth/x509-transport.d.ts +5 -0
  28. package/auth/x509-transport.d.ts.map +1 -0
  29. package/auth/x509-transport.js +39 -0
  30. package/auth/x509-transport.js.map +1 -0
  31. package/auth/x509-transport.mjs +36 -0
  32. package/auth/x509-transport.mjs.map +1 -0
  33. package/azure.d.mts +11 -2
  34. package/azure.d.mts.map +1 -1
  35. package/azure.d.ts +11 -2
  36. package/azure.d.ts.map +1 -1
  37. package/azure.js +7 -1
  38. package/azure.js.map +1 -1
  39. package/azure.mjs +7 -1
  40. package/azure.mjs.map +1 -1
  41. package/bedrock.d.mts +6 -2
  42. package/bedrock.d.mts.map +1 -1
  43. package/bedrock.d.ts +6 -2
  44. package/bedrock.d.ts.map +1 -1
  45. package/bedrock.js +34 -4
  46. package/bedrock.js.map +1 -1
  47. package/bedrock.mjs +35 -5
  48. package/bedrock.mjs.map +1 -1
  49. package/beta/realtime/internal-base.d.mts +2 -0
  50. package/beta/realtime/internal-base.d.mts.map +1 -1
  51. package/beta/realtime/internal-base.d.ts +2 -0
  52. package/beta/realtime/internal-base.d.ts.map +1 -1
  53. package/beta/realtime/internal-base.js +15 -0
  54. package/beta/realtime/internal-base.js.map +1 -1
  55. package/beta/realtime/internal-base.mjs +14 -0
  56. package/beta/realtime/internal-base.mjs.map +1 -1
  57. package/beta/realtime/websocket.d.mts +11 -5
  58. package/beta/realtime/websocket.d.mts.map +1 -1
  59. package/beta/realtime/websocket.d.ts +11 -5
  60. package/beta/realtime/websocket.d.ts.map +1 -1
  61. package/beta/realtime/websocket.js +106 -31
  62. package/beta/realtime/websocket.js.map +1 -1
  63. package/beta/realtime/websocket.mjs +107 -32
  64. package/beta/realtime/websocket.mjs.map +1 -1
  65. package/beta/realtime/ws.d.mts +0 -2
  66. package/beta/realtime/ws.d.mts.map +1 -1
  67. package/beta/realtime/ws.d.ts +0 -2
  68. package/beta/realtime/ws.d.ts.map +1 -1
  69. package/beta/realtime/ws.js +24 -5
  70. package/beta/realtime/ws.js.map +1 -1
  71. package/beta/realtime/ws.mjs +25 -6
  72. package/beta/realtime/ws.mjs.map +1 -1
  73. package/client.d.mts +17 -2
  74. package/client.d.mts.map +1 -1
  75. package/client.d.ts +17 -2
  76. package/client.d.ts.map +1 -1
  77. package/client.js +422 -70
  78. package/client.js.map +1 -1
  79. package/client.mjs +423 -71
  80. package/client.mjs.map +1 -1
  81. package/core/EventEmitter.d.mts.map +1 -1
  82. package/core/EventEmitter.d.ts.map +1 -1
  83. package/core/EventEmitter.js +67 -9
  84. package/core/EventEmitter.js.map +1 -1
  85. package/core/EventEmitter.mjs +68 -10
  86. package/core/EventEmitter.mjs.map +1 -1
  87. package/core/streaming.d.mts +1 -0
  88. package/core/streaming.d.mts.map +1 -1
  89. package/core/streaming.d.ts +1 -0
  90. package/core/streaming.d.ts.map +1 -1
  91. package/core/streaming.js +216 -26
  92. package/core/streaming.js.map +1 -1
  93. package/core/streaming.mjs +216 -26
  94. package/core/streaming.mjs.map +1 -1
  95. package/helpers/audio.d.mts +5 -5
  96. package/helpers/audio.d.mts.map +1 -1
  97. package/helpers/audio.d.ts +5 -5
  98. package/helpers/audio.d.ts.map +1 -1
  99. package/helpers/audio.js +93 -22
  100. package/helpers/audio.js.map +1 -1
  101. package/helpers/audio.mjs +93 -22
  102. package/helpers/audio.mjs.map +1 -1
  103. package/helpers/standard-schema.d.mts.map +1 -1
  104. package/helpers/standard-schema.d.ts.map +1 -1
  105. package/helpers/standard-schema.js +34 -14
  106. package/helpers/standard-schema.js.map +1 -1
  107. package/helpers/standard-schema.mjs +35 -15
  108. package/helpers/standard-schema.mjs.map +1 -1
  109. package/helpers/zod-v3-strict-schema.d.mts +7 -0
  110. package/helpers/zod-v3-strict-schema.d.mts.map +1 -0
  111. package/helpers/zod-v3-strict-schema.d.ts +7 -0
  112. package/helpers/zod-v3-strict-schema.d.ts.map +1 -0
  113. package/helpers/zod-v3-strict-schema.js +403 -0
  114. package/helpers/zod-v3-strict-schema.js.map +1 -0
  115. package/helpers/zod-v3-strict-schema.mjs +399 -0
  116. package/helpers/zod-v3-strict-schema.mjs.map +1 -0
  117. package/helpers/zod.d.mts.map +1 -1
  118. package/helpers/zod.d.ts.map +1 -1
  119. package/helpers/zod.js +11 -3
  120. package/helpers/zod.js.map +1 -1
  121. package/helpers/zod.mjs +12 -4
  122. package/helpers/zod.mjs.map +1 -1
  123. package/index.d.mts +1 -1
  124. package/index.d.mts.map +1 -1
  125. package/index.d.ts +1 -1
  126. package/index.d.ts.map +1 -1
  127. package/index.js.map +1 -1
  128. package/index.mjs.map +1 -1
  129. package/internal/assistant-stream-delta.d.mts.map +1 -1
  130. package/internal/assistant-stream-delta.d.ts.map +1 -1
  131. package/internal/assistant-stream-delta.js +28 -8
  132. package/internal/assistant-stream-delta.js.map +1 -1
  133. package/internal/assistant-stream-delta.mjs +28 -8
  134. package/internal/assistant-stream-delta.mjs.map +1 -1
  135. package/internal/auth/x509-token-exchange.d.mts +16 -0
  136. package/internal/auth/x509-token-exchange.d.mts.map +1 -0
  137. package/internal/auth/x509-token-exchange.d.ts +16 -0
  138. package/internal/auth/x509-token-exchange.d.ts.map +1 -0
  139. package/internal/auth/x509-token-exchange.js +246 -0
  140. package/internal/auth/x509-token-exchange.js.map +1 -0
  141. package/internal/auth/x509-token-exchange.mjs +243 -0
  142. package/internal/auth/x509-token-exchange.mjs.map +1 -0
  143. package/internal/auth/x509-transport-capability.d.mts +37 -0
  144. package/internal/auth/x509-transport-capability.d.mts.map +1 -0
  145. package/internal/auth/x509-transport-capability.d.ts +37 -0
  146. package/internal/auth/x509-transport-capability.d.ts.map +1 -0
  147. package/internal/auth/x509-transport-capability.js +169 -0
  148. package/internal/auth/x509-transport-capability.js.map +1 -0
  149. package/internal/auth/x509-transport-capability.mjs +164 -0
  150. package/internal/auth/x509-transport-capability.mjs.map +1 -0
  151. package/internal/auth/x509-transport-registry.d.mts +63 -0
  152. package/internal/auth/x509-transport-registry.d.mts.map +1 -0
  153. package/internal/auth/x509-transport-registry.d.ts +63 -0
  154. package/internal/auth/x509-transport-registry.d.ts.map +1 -0
  155. package/internal/auth/x509-transport-registry.js +53 -0
  156. package/internal/auth/x509-transport-registry.js.map +1 -0
  157. package/internal/auth/x509-transport-registry.mjs +48 -0
  158. package/internal/auth/x509-transport-registry.mjs.map +1 -0
  159. package/internal/auth/x509-transport-state-browser.d.mts +21 -0
  160. package/internal/auth/x509-transport-state-browser.d.mts.map +1 -0
  161. package/internal/auth/x509-transport-state-browser.d.ts +21 -0
  162. package/internal/auth/x509-transport-state-browser.d.ts.map +1 -0
  163. package/internal/auth/x509-transport-state-browser.js +30 -0
  164. package/internal/auth/x509-transport-state-browser.js.map +1 -0
  165. package/internal/auth/x509-transport-state-browser.mjs +27 -0
  166. package/internal/auth/x509-transport-state-browser.mjs.map +1 -0
  167. package/internal/auth/x509-transport-state.cjs +30 -0
  168. package/internal/auth/x509-transport-state.cjs.map +1 -0
  169. package/internal/auth/x509-transport-state.d.cts +21 -0
  170. package/internal/auth/x509-transport-state.d.cts.map +1 -0
  171. package/internal/auth/x509-workload-identity-auth.d.mts +128 -0
  172. package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -0
  173. package/internal/auth/x509-workload-identity-auth.d.ts +128 -0
  174. package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -0
  175. package/internal/auth/x509-workload-identity-auth.js +767 -0
  176. package/internal/auth/x509-workload-identity-auth.js.map +1 -0
  177. package/internal/auth/x509-workload-identity-auth.mjs +757 -0
  178. package/internal/auth/x509-workload-identity-auth.mjs.map +1 -0
  179. package/internal/bedrock.d.mts +2 -0
  180. package/internal/bedrock.d.mts.map +1 -1
  181. package/internal/bedrock.d.ts +2 -0
  182. package/internal/bedrock.d.ts.map +1 -1
  183. package/internal/bedrock.js +169 -5
  184. package/internal/bedrock.js.map +1 -1
  185. package/internal/bedrock.mjs +168 -5
  186. package/internal/bedrock.mjs.map +1 -1
  187. package/internal/data-residency.d.mts +12 -0
  188. package/internal/data-residency.d.mts.map +1 -0
  189. package/internal/data-residency.d.ts +12 -0
  190. package/internal/data-residency.d.ts.map +1 -0
  191. package/internal/data-residency.js +34 -0
  192. package/internal/data-residency.js.map +1 -0
  193. package/internal/data-residency.mjs +30 -0
  194. package/internal/data-residency.mjs.map +1 -0
  195. package/internal/multipart-encoding.d.mts +8 -0
  196. package/internal/multipart-encoding.d.mts.map +1 -0
  197. package/internal/multipart-encoding.d.ts +8 -0
  198. package/internal/multipart-encoding.d.ts.map +1 -0
  199. package/internal/multipart-encoding.js +51 -0
  200. package/internal/multipart-encoding.js.map +1 -0
  201. package/internal/multipart-encoding.mjs +48 -0
  202. package/internal/multipart-encoding.mjs.map +1 -0
  203. package/internal/qs/utils.d.mts.map +1 -1
  204. package/internal/qs/utils.d.ts.map +1 -1
  205. package/internal/qs/utils.js +307 -10
  206. package/internal/qs/utils.js.map +1 -1
  207. package/internal/qs/utils.mjs +307 -10
  208. package/internal/qs/utils.mjs.map +1 -1
  209. package/internal/request-options.d.mts +7 -0
  210. package/internal/request-options.d.mts.map +1 -1
  211. package/internal/request-options.d.ts +7 -0
  212. package/internal/request-options.d.ts.map +1 -1
  213. package/internal/request-options.js +43 -1
  214. package/internal/request-options.js.map +1 -1
  215. package/internal/request-options.mjs +42 -1
  216. package/internal/request-options.mjs.map +1 -1
  217. package/internal/responses/canonical-output-text.js +3 -3
  218. package/internal/responses/canonical-output-text.js.map +1 -1
  219. package/internal/responses/canonical-output-text.mjs +3 -3
  220. package/internal/responses/canonical-output-text.mjs.map +1 -1
  221. package/internal/responses/response-accumulator.d.mts +1 -1
  222. package/internal/responses/response-accumulator.d.mts.map +1 -1
  223. package/internal/responses/response-accumulator.d.ts +1 -1
  224. package/internal/responses/response-accumulator.d.ts.map +1 -1
  225. package/internal/responses/response-accumulator.js +331 -25
  226. package/internal/responses/response-accumulator.js.map +1 -1
  227. package/internal/responses/response-accumulator.mjs +331 -25
  228. package/internal/responses/response-accumulator.mjs.map +1 -1
  229. package/internal/tslib.js +6 -0
  230. package/internal/tslib.mjs +6 -1
  231. package/internal/uploads.d.mts +10 -6
  232. package/internal/uploads.d.mts.map +1 -1
  233. package/internal/uploads.d.ts +10 -6
  234. package/internal/uploads.d.ts.map +1 -1
  235. package/internal/uploads.js +65 -24
  236. package/internal/uploads.js.map +1 -1
  237. package/internal/uploads.mjs +65 -24
  238. package/internal/uploads.mjs.map +1 -1
  239. package/internal/utils/env.d.mts.map +1 -1
  240. package/internal/utils/env.d.ts.map +1 -1
  241. package/internal/utils/env.js +9 -4
  242. package/internal/utils/env.js.map +1 -1
  243. package/internal/utils/env.mjs +9 -4
  244. package/internal/utils/env.mjs.map +1 -1
  245. package/internal/ws.d.mts.map +1 -1
  246. package/internal/ws.d.ts.map +1 -1
  247. package/internal/ws.js +23 -1
  248. package/internal/ws.js.map +1 -1
  249. package/internal/ws.mjs +23 -1
  250. package/internal/ws.mjs.map +1 -1
  251. package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
  252. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  253. package/lib/AbstractChatCompletionRunner.js +32 -7
  254. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  255. package/lib/AbstractChatCompletionRunner.mjs +34 -9
  256. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  257. package/lib/AssistantStream.d.mts.map +1 -1
  258. package/lib/AssistantStream.d.ts.map +1 -1
  259. package/lib/AssistantStream.js +211 -23
  260. package/lib/AssistantStream.js.map +1 -1
  261. package/lib/AssistantStream.mjs +211 -23
  262. package/lib/AssistantStream.mjs.map +1 -1
  263. package/lib/ChatCompletionStream.d.mts +1 -1
  264. package/lib/ChatCompletionStream.d.mts.map +1 -1
  265. package/lib/ChatCompletionStream.d.ts +1 -1
  266. package/lib/ChatCompletionStream.d.ts.map +1 -1
  267. package/lib/ChatCompletionStream.js +1118 -67
  268. package/lib/ChatCompletionStream.js.map +1 -1
  269. package/lib/ChatCompletionStream.mjs +1119 -68
  270. package/lib/ChatCompletionStream.mjs.map +1 -1
  271. package/lib/EventEmitter.d.mts.map +1 -1
  272. package/lib/EventEmitter.d.ts.map +1 -1
  273. package/lib/EventEmitter.js +67 -9
  274. package/lib/EventEmitter.js.map +1 -1
  275. package/lib/EventEmitter.mjs +68 -10
  276. package/lib/EventEmitter.mjs.map +1 -1
  277. package/lib/EventStream.d.mts +4 -0
  278. package/lib/EventStream.d.mts.map +1 -1
  279. package/lib/EventStream.d.ts +4 -0
  280. package/lib/EventStream.d.ts.map +1 -1
  281. package/lib/EventStream.js +1096 -11
  282. package/lib/EventStream.js.map +1 -1
  283. package/lib/EventStream.mjs +1097 -12
  284. package/lib/EventStream.mjs.map +1 -1
  285. package/lib/ResponsesParser.d.mts.map +1 -1
  286. package/lib/ResponsesParser.d.ts.map +1 -1
  287. package/lib/ResponsesParser.js +1 -1
  288. package/lib/ResponsesParser.js.map +1 -1
  289. package/lib/ResponsesParser.mjs +1 -1
  290. package/lib/ResponsesParser.mjs.map +1 -1
  291. package/lib/Util.d.mts +2 -0
  292. package/lib/Util.d.mts.map +1 -1
  293. package/lib/Util.d.ts +2 -0
  294. package/lib/Util.d.ts.map +1 -1
  295. package/lib/Util.js +7 -4
  296. package/lib/Util.js.map +1 -1
  297. package/lib/Util.mjs +7 -4
  298. package/lib/Util.mjs.map +1 -1
  299. package/lib/assistant-run-polling.d.mts +12 -0
  300. package/lib/assistant-run-polling.d.mts.map +1 -0
  301. package/lib/assistant-run-polling.d.ts +12 -0
  302. package/lib/assistant-run-polling.d.ts.map +1 -0
  303. package/lib/assistant-run-polling.js +17 -0
  304. package/lib/assistant-run-polling.js.map +1 -0
  305. package/lib/assistant-run-polling.mjs +14 -0
  306. package/lib/assistant-run-polling.mjs.map +1 -0
  307. package/lib/embeddings.d.mts +18 -0
  308. package/lib/embeddings.d.mts.map +1 -0
  309. package/lib/embeddings.d.ts +18 -0
  310. package/lib/embeddings.d.ts.map +1 -0
  311. package/lib/embeddings.js +50 -0
  312. package/lib/embeddings.js.map +1 -0
  313. package/lib/embeddings.mjs +47 -0
  314. package/lib/embeddings.mjs.map +1 -0
  315. package/lib/file-processing.d.mts +10 -0
  316. package/lib/file-processing.d.mts.map +1 -0
  317. package/lib/file-processing.d.ts +10 -0
  318. package/lib/file-processing.d.ts.map +1 -0
  319. package/lib/file-processing.js +30 -0
  320. package/lib/file-processing.js.map +1 -0
  321. package/lib/file-processing.mjs +27 -0
  322. package/lib/file-processing.mjs.map +1 -0
  323. package/lib/parser.d.mts.map +1 -1
  324. package/lib/parser.d.ts.map +1 -1
  325. package/lib/parser.js +16 -4
  326. package/lib/parser.js.map +1 -1
  327. package/lib/parser.mjs +16 -4
  328. package/lib/parser.mjs.map +1 -1
  329. package/lib/polling.d.mts +20 -0
  330. package/lib/polling.d.mts.map +1 -0
  331. package/lib/polling.d.ts +20 -0
  332. package/lib/polling.d.ts.map +1 -0
  333. package/lib/polling.js +130 -0
  334. package/lib/polling.js.map +1 -0
  335. package/lib/polling.mjs +127 -0
  336. package/lib/polling.mjs.map +1 -0
  337. package/lib/responses/ResponseStream.d.mts.map +1 -1
  338. package/lib/responses/ResponseStream.d.ts.map +1 -1
  339. package/lib/responses/ResponseStream.js +21 -11
  340. package/lib/responses/ResponseStream.js.map +1 -1
  341. package/lib/responses/ResponseStream.mjs +21 -11
  342. package/lib/responses/ResponseStream.mjs.map +1 -1
  343. package/lib/vector-store-polling.d.mts +22 -0
  344. package/lib/vector-store-polling.d.mts.map +1 -0
  345. package/lib/vector-store-polling.d.ts +22 -0
  346. package/lib/vector-store-polling.d.ts.map +1 -0
  347. package/lib/vector-store-polling.js +24 -0
  348. package/lib/vector-store-polling.js.map +1 -0
  349. package/lib/vector-store-polling.mjs +20 -0
  350. package/lib/vector-store-polling.mjs.map +1 -0
  351. package/lib/vector-store-upload.d.mts +17 -0
  352. package/lib/vector-store-upload.d.mts.map +1 -0
  353. package/lib/vector-store-upload.d.ts +17 -0
  354. package/lib/vector-store-upload.d.ts.map +1 -0
  355. package/lib/vector-store-upload.js +37 -0
  356. package/lib/vector-store-upload.js.map +1 -0
  357. package/lib/vector-store-upload.mjs +34 -0
  358. package/lib/vector-store-upload.mjs.map +1 -0
  359. package/lib/webhook-signature.d.mts +15 -0
  360. package/lib/webhook-signature.d.mts.map +1 -0
  361. package/lib/webhook-signature.d.ts +15 -0
  362. package/lib/webhook-signature.d.ts.map +1 -0
  363. package/lib/webhook-signature.js +125 -0
  364. package/lib/webhook-signature.js.map +1 -0
  365. package/lib/webhook-signature.mjs +121 -0
  366. package/lib/webhook-signature.mjs.map +1 -0
  367. package/package.json +14 -1
  368. package/realtime/internal-base.d.mts +2 -0
  369. package/realtime/internal-base.d.mts.map +1 -1
  370. package/realtime/internal-base.d.ts +2 -0
  371. package/realtime/internal-base.d.ts.map +1 -1
  372. package/realtime/internal-base.js +15 -0
  373. package/realtime/internal-base.js.map +1 -1
  374. package/realtime/internal-base.mjs +14 -0
  375. package/realtime/internal-base.mjs.map +1 -1
  376. package/realtime/websocket.d.mts +3 -2
  377. package/realtime/websocket.d.mts.map +1 -1
  378. package/realtime/websocket.d.ts +3 -2
  379. package/realtime/websocket.d.ts.map +1 -1
  380. package/realtime/websocket.js +90 -26
  381. package/realtime/websocket.js.map +1 -1
  382. package/realtime/websocket.mjs +91 -27
  383. package/realtime/websocket.mjs.map +1 -1
  384. package/realtime/ws.d.mts.map +1 -1
  385. package/realtime/ws.d.ts.map +1 -1
  386. package/realtime/ws.js +9 -1
  387. package/realtime/ws.js.map +1 -1
  388. package/realtime/ws.mjs +10 -2
  389. package/realtime/ws.mjs.map +1 -1
  390. package/resources/admin/organization/index.d.mts +2 -2
  391. package/resources/admin/organization/index.d.mts.map +1 -1
  392. package/resources/admin/organization/index.d.ts +2 -2
  393. package/resources/admin/organization/index.d.ts.map +1 -1
  394. package/resources/admin/organization/index.js.map +1 -1
  395. package/resources/admin/organization/index.mjs.map +1 -1
  396. package/resources/admin/organization/organization.d.mts +4 -4
  397. package/resources/admin/organization/organization.d.mts.map +1 -1
  398. package/resources/admin/organization/organization.d.ts +4 -4
  399. package/resources/admin/organization/organization.d.ts.map +1 -1
  400. package/resources/admin/organization/organization.js.map +1 -1
  401. package/resources/admin/organization/organization.mjs.map +1 -1
  402. package/resources/admin/organization/projects/index.d.mts +1 -1
  403. package/resources/admin/organization/projects/index.d.mts.map +1 -1
  404. package/resources/admin/organization/projects/index.d.ts +1 -1
  405. package/resources/admin/organization/projects/index.d.ts.map +1 -1
  406. package/resources/admin/organization/projects/index.js.map +1 -1
  407. package/resources/admin/organization/projects/index.mjs.map +1 -1
  408. package/resources/admin/organization/projects/projects.d.mts +22 -5
  409. package/resources/admin/organization/projects/projects.d.mts.map +1 -1
  410. package/resources/admin/organization/projects/projects.d.ts +22 -5
  411. package/resources/admin/organization/projects/projects.d.ts.map +1 -1
  412. package/resources/admin/organization/projects/projects.js.map +1 -1
  413. package/resources/admin/organization/projects/projects.mjs.map +1 -1
  414. package/resources/admin/organization/usage.d.mts +62 -1
  415. package/resources/admin/organization/usage.d.mts.map +1 -1
  416. package/resources/admin/organization/usage.d.ts +62 -1
  417. package/resources/admin/organization/usage.d.ts.map +1 -1
  418. package/resources/admin/organization/usage.js.map +1 -1
  419. package/resources/admin/organization/usage.mjs.map +1 -1
  420. package/resources/beta/responses/internal-base.d.mts.map +1 -1
  421. package/resources/beta/responses/internal-base.d.ts.map +1 -1
  422. package/resources/beta/responses/internal-base.js +2 -0
  423. package/resources/beta/responses/internal-base.js.map +1 -1
  424. package/resources/beta/responses/internal-base.mjs +2 -0
  425. package/resources/beta/responses/internal-base.mjs.map +1 -1
  426. package/resources/beta/responses/responses.d.mts +17 -20
  427. package/resources/beta/responses/responses.d.mts.map +1 -1
  428. package/resources/beta/responses/responses.d.ts +17 -20
  429. package/resources/beta/responses/responses.d.ts.map +1 -1
  430. package/resources/beta/responses/responses.js.map +1 -1
  431. package/resources/beta/responses/responses.mjs.map +1 -1
  432. package/resources/beta/threads/runs/index.d.mts +1 -1
  433. package/resources/beta/threads/runs/index.d.mts.map +1 -1
  434. package/resources/beta/threads/runs/index.d.ts +1 -1
  435. package/resources/beta/threads/runs/index.d.ts.map +1 -1
  436. package/resources/beta/threads/runs/runs.d.mts.map +1 -1
  437. package/resources/beta/threads/runs/runs.d.ts.map +1 -1
  438. package/resources/beta/threads/runs/runs.js +2 -43
  439. package/resources/beta/threads/runs/runs.js.map +1 -1
  440. package/resources/beta/threads/runs/runs.mjs +2 -43
  441. package/resources/beta/threads/runs/runs.mjs.map +1 -1
  442. package/resources/chat/completions/completions.d.mts +6 -0
  443. package/resources/chat/completions/completions.d.mts.map +1 -1
  444. package/resources/chat/completions/completions.d.ts +6 -0
  445. package/resources/chat/completions/completions.d.ts.map +1 -1
  446. package/resources/chat/completions/completions.js.map +1 -1
  447. package/resources/chat/completions/completions.mjs.map +1 -1
  448. package/resources/embeddings.d.mts.map +1 -1
  449. package/resources/embeddings.d.ts.map +1 -1
  450. package/resources/embeddings.js +2 -36
  451. package/resources/embeddings.js.map +1 -1
  452. package/resources/embeddings.mjs +2 -36
  453. package/resources/embeddings.mjs.map +1 -1
  454. package/resources/files.d.mts.map +1 -1
  455. package/resources/files.d.ts.map +1 -1
  456. package/resources/files.js +2 -15
  457. package/resources/files.js.map +1 -1
  458. package/resources/files.mjs +2 -15
  459. package/resources/files.mjs.map +1 -1
  460. package/resources/images.d.mts +12 -22
  461. package/resources/images.d.mts.map +1 -1
  462. package/resources/images.d.ts +12 -22
  463. package/resources/images.d.ts.map +1 -1
  464. package/resources/realtime/calls.d.mts +23 -1
  465. package/resources/realtime/calls.d.mts.map +1 -1
  466. package/resources/realtime/calls.d.ts +23 -1
  467. package/resources/realtime/calls.d.ts.map +1 -1
  468. package/resources/realtime/calls.js +24 -0
  469. package/resources/realtime/calls.js.map +1 -1
  470. package/resources/realtime/calls.mjs +24 -0
  471. package/resources/realtime/calls.mjs.map +1 -1
  472. package/resources/realtime/index.d.mts +1 -1
  473. package/resources/realtime/index.d.mts.map +1 -1
  474. package/resources/realtime/index.d.ts +1 -1
  475. package/resources/realtime/index.d.ts.map +1 -1
  476. package/resources/realtime/index.js.map +1 -1
  477. package/resources/realtime/index.mjs +1 -1
  478. package/resources/realtime/index.mjs.map +1 -1
  479. package/resources/realtime/realtime.d.mts +5 -4
  480. package/resources/realtime/realtime.d.mts.map +1 -1
  481. package/resources/realtime/realtime.d.ts +5 -4
  482. package/resources/realtime/realtime.d.ts.map +1 -1
  483. package/resources/realtime/realtime.js.map +1 -1
  484. package/resources/realtime/realtime.mjs.map +1 -1
  485. package/resources/responses/internal-base.d.mts.map +1 -1
  486. package/resources/responses/internal-base.d.ts.map +1 -1
  487. package/resources/responses/internal-base.js +2 -0
  488. package/resources/responses/internal-base.js.map +1 -1
  489. package/resources/responses/internal-base.mjs +2 -0
  490. package/resources/responses/internal-base.mjs.map +1 -1
  491. package/resources/responses/responses.d.mts +17 -20
  492. package/resources/responses/responses.d.mts.map +1 -1
  493. package/resources/responses/responses.d.ts +17 -20
  494. package/resources/responses/responses.d.ts.map +1 -1
  495. package/resources/responses/responses.js.map +1 -1
  496. package/resources/responses/responses.mjs.map +1 -1
  497. package/resources/vector-stores/file-batches.d.mts.map +1 -1
  498. package/resources/vector-stores/file-batches.d.ts.map +1 -1
  499. package/resources/vector-stores/file-batches.js +4 -61
  500. package/resources/vector-stores/file-batches.js.map +1 -1
  501. package/resources/vector-stores/file-batches.mjs +4 -61
  502. package/resources/vector-stores/file-batches.mjs.map +1 -1
  503. package/resources/vector-stores/files.d.mts +1 -1
  504. package/resources/vector-stores/files.d.mts.map +1 -1
  505. package/resources/vector-stores/files.d.ts +1 -1
  506. package/resources/vector-stores/files.d.ts.map +1 -1
  507. package/resources/vector-stores/files.js +2 -35
  508. package/resources/vector-stores/files.js.map +1 -1
  509. package/resources/vector-stores/files.mjs +2 -35
  510. package/resources/vector-stores/files.mjs.map +1 -1
  511. package/resources/webhooks/webhooks.d.mts.map +1 -1
  512. package/resources/webhooks/webhooks.d.ts.map +1 -1
  513. package/resources/webhooks/webhooks.js +5 -43
  514. package/resources/webhooks/webhooks.js.map +1 -1
  515. package/resources/webhooks/webhooks.mjs +5 -43
  516. package/resources/webhooks/webhooks.mjs.map +1 -1
  517. package/src/auth/index.ts +6 -1
  518. package/src/auth/subject-token-providers.ts +196 -4
  519. package/src/auth/types.ts +24 -0
  520. package/src/auth/workload-identity-auth.ts +104 -7
  521. package/src/auth/x509-transport.ts +49 -0
  522. package/src/azure.ts +22 -1
  523. package/src/bedrock.ts +49 -5
  524. package/src/beta/realtime/internal-base.ts +15 -0
  525. package/src/beta/realtime/websocket.ts +148 -40
  526. package/src/beta/realtime/ws.ts +31 -13
  527. package/src/client.ts +536 -92
  528. package/src/core/EventEmitter.ts +91 -7
  529. package/src/core/streaming.ts +226 -30
  530. package/src/helpers/audio.ts +93 -22
  531. package/src/helpers/standard-schema.ts +50 -16
  532. package/src/helpers/zod-v3-strict-schema.ts +514 -0
  533. package/src/helpers/zod.ts +17 -4
  534. package/src/index.ts +1 -1
  535. package/src/internal/assistant-stream-delta.ts +33 -10
  536. package/src/internal/auth/x509-token-exchange.ts +310 -0
  537. package/src/internal/auth/x509-transport-capability.ts +219 -0
  538. package/src/internal/auth/x509-transport-registry.ts +118 -0
  539. package/src/internal/auth/x509-transport-state-browser.ts +36 -0
  540. package/src/internal/auth/x509-transport-state.cts +36 -0
  541. package/src/internal/auth/x509-workload-identity-auth.ts +958 -0
  542. package/src/internal/bedrock.ts +182 -5
  543. package/src/internal/data-residency.ts +44 -0
  544. package/src/internal/multipart-encoding.ts +53 -0
  545. package/src/internal/qs/utils.ts +375 -13
  546. package/src/internal/request-options.ts +52 -1
  547. package/src/internal/responses/canonical-output-text.ts +3 -3
  548. package/src/internal/responses/response-accumulator.ts +411 -24
  549. package/src/internal/uploads.ts +81 -26
  550. package/src/internal/utils/env.ts +9 -5
  551. package/src/internal/ws.ts +24 -3
  552. package/src/lib/AbstractChatCompletionRunner.ts +33 -6
  553. package/src/lib/AssistantStream.ts +262 -22
  554. package/src/lib/ChatCompletionStream.ts +1467 -103
  555. package/src/lib/EventEmitter.ts +91 -7
  556. package/src/lib/EventStream.ts +1483 -10
  557. package/src/lib/ResponsesParser.ts +4 -1
  558. package/src/lib/Util.ts +7 -5
  559. package/src/lib/assistant-run-polling.ts +27 -0
  560. package/src/lib/embeddings.ts +65 -0
  561. package/src/lib/file-processing.ts +36 -0
  562. package/src/lib/parser.ts +19 -4
  563. package/src/lib/polling.ts +144 -0
  564. package/src/lib/responses/ResponseStream.ts +22 -10
  565. package/src/lib/vector-store-polling.ts +46 -0
  566. package/src/lib/vector-store-upload.ts +53 -0
  567. package/src/lib/webhook-signature.ts +164 -0
  568. package/src/realtime/internal-base.ts +15 -0
  569. package/src/realtime/websocket.ts +130 -27
  570. package/src/realtime/ws.ts +15 -2
  571. package/src/resources/admin/organization/index.ts +2 -0
  572. package/src/resources/admin/organization/organization.ts +4 -0
  573. package/src/resources/admin/organization/projects/index.ts +1 -0
  574. package/src/resources/admin/organization/projects/projects.ts +37 -4
  575. package/src/resources/admin/organization/usage.ts +83 -0
  576. package/src/resources/beta/responses/internal-base.ts +2 -0
  577. package/src/resources/beta/responses/responses.ts +19 -22
  578. package/src/resources/beta/threads/runs/index.ts +1 -1
  579. package/src/resources/beta/threads/runs/runs.ts +2 -45
  580. package/src/resources/chat/completions/completions.ts +7 -0
  581. package/src/resources/embeddings.ts +2 -42
  582. package/src/resources/files.ts +2 -19
  583. package/src/resources/images.ts +12 -22
  584. package/src/resources/realtime/api.md +1 -0
  585. package/src/resources/realtime/calls.ts +46 -0
  586. package/src/resources/realtime/index.ts +7 -1
  587. package/src/resources/realtime/realtime.ts +5 -3
  588. package/src/resources/responses/internal-base.ts +2 -0
  589. package/src/resources/responses/responses.ts +19 -22
  590. package/src/resources/vector-stores/file-batches.ts +8 -77
  591. package/src/resources/vector-stores/files.ts +3 -43
  592. package/src/resources/webhooks/webhooks.ts +5 -61
  593. package/src/version.ts +1 -1
  594. package/version.d.mts +1 -1
  595. package/version.d.ts +1 -1
  596. package/version.js +1 -1
  597. package/version.mjs +1 -1
package/core/streaming.js CHANGED
@@ -10,6 +10,35 @@ const line_1 = require("../internal/decoders/line.js");
10
10
  const errors_1 = require("../internal/errors.js");
11
11
  const bytes_1 = require("../internal/utils/bytes.js");
12
12
  const log_1 = require("../internal/utils/log.js");
13
+ function createStreamTeeQueue() {
14
+ let entries = [];
15
+ let head = 0;
16
+ return {
17
+ get length() {
18
+ return entries.length - head;
19
+ },
20
+ enqueue(value) {
21
+ entries.push(value);
22
+ },
23
+ dequeue() {
24
+ if (head === entries.length) {
25
+ return undefined;
26
+ }
27
+ const value = entries[head];
28
+ entries[head] = undefined;
29
+ head += 1;
30
+ if (head === entries.length) {
31
+ entries = [];
32
+ head = 0;
33
+ }
34
+ else if (head >= 1024 && head * 2 >= entries.length) {
35
+ entries = entries.slice(head);
36
+ head = 0;
37
+ }
38
+ return value;
39
+ },
40
+ };
41
+ }
13
42
  /**
14
43
  * A single-consumption asynchronous API response stream.
15
44
  *
@@ -44,7 +73,7 @@ class Stream {
44
73
  let receivedCompletionSentinel = false;
45
74
  try {
46
75
  for await (const sse of _iterSSEMessages(response, controller)) {
47
- if (sse.data.startsWith('[DONE]')) {
76
+ if (sse.data === '[DONE]') {
48
77
  receivedCompletionSentinel = true;
49
78
  break;
50
79
  }
@@ -53,10 +82,13 @@ class Stream {
53
82
  try {
54
83
  data = JSON.parse(sse.data);
55
84
  }
56
- catch (e) {
57
- logger.error(`Could not parse message into JSON:`, sse.data);
58
- logger.error(`From chunk:`, sse.raw);
59
- throw e;
85
+ catch {
86
+ logger.error(`Could not parse message into JSON:`);
87
+ logger.error(`From chunk:`);
88
+ throw new SyntaxError('Error reading response: malformed server-sent event JSON.');
89
+ }
90
+ if (sse.event === 'error') {
91
+ throw new error_1.APIError(undefined, data?.error ?? data, undefined, response.headers);
60
92
  }
61
93
  if (data && data.error) {
62
94
  throw new error_1.APIError(undefined, data.error, undefined, response.headers);
@@ -68,14 +100,10 @@ class Stream {
68
100
  try {
69
101
  data = JSON.parse(sse.data);
70
102
  }
71
- catch (e) {
72
- console.error(`Could not parse message into JSON:`, sse.data);
73
- console.error(`From chunk:`, sse.raw);
74
- throw e;
75
- }
76
- // SSE error events surface as APIError instances.
77
- if (sse.event === 'error') {
78
- throw new error_1.APIError(undefined, data.error, data.message, undefined);
103
+ catch {
104
+ logger.error(`Could not parse message into JSON:`);
105
+ logger.error(`From chunk:`);
106
+ throw new SyntaxError('Error reading response: malformed server-sent event JSON.');
79
107
  }
80
108
  yield { event: sse.event, data };
81
109
  }
@@ -167,7 +195,17 @@ class Stream {
167
195
  continue;
168
196
  }
169
197
  if (line) {
170
- yield JSON.parse(line);
198
+ let data;
199
+ try {
200
+ data = JSON.parse(line);
201
+ }
202
+ catch (error) {
203
+ if (error instanceof SyntaxError) {
204
+ throw new SyntaxError('Error reading response: malformed newline-delimited JSON.');
205
+ }
206
+ throw error;
207
+ }
208
+ yield data;
171
209
  }
172
210
  }
173
211
  done = true;
@@ -197,17 +235,17 @@ class Stream {
197
235
  * independently read from at different speeds.
198
236
  */
199
237
  tee() {
200
- const left = [];
201
- const right = [];
238
+ const left = createStreamTeeQueue();
239
+ const right = createStreamTeeQueue();
202
240
  const iterator = this.iterator();
203
241
  const teeIterator = (queue) => ({
204
242
  next: () => {
205
243
  if (queue.length === 0) {
206
244
  const result = iterator.next();
207
- left.push(result);
208
- right.push(result);
245
+ left.enqueue(result);
246
+ right.enqueue(result);
209
247
  }
210
- return queue.shift();
248
+ return queue.dequeue();
211
249
  },
212
250
  });
213
251
  return [
@@ -246,8 +284,134 @@ class Stream {
246
284
  }
247
285
  }
248
286
  exports.Stream = Stream;
287
+ function createAbortableSSESource(body, signal) {
288
+ const reader = typeof body.getReader === 'function' ? body.getReader() : undefined;
289
+ const source = reader
290
+ ? {
291
+ next: () => reader.read(),
292
+ return: () => reader.cancel(),
293
+ }
294
+ : (0, shims_1.ReadableStreamToAsyncIterable)(body)[Symbol.asyncIterator]();
295
+ const ended = { value: undefined, done: true };
296
+ let closed = false;
297
+ let canceled = false;
298
+ let cancellation;
299
+ let interrupt;
300
+ const waitForAbort = () =>
301
+ // oxlint-disable-next-line promise/avoid-new -- AbortSignal callbacks need a portable Promise bridge.
302
+ new Promise((resolve) => {
303
+ interrupt = resolve;
304
+ });
305
+ const cancel = () => {
306
+ if (canceled || closed) {
307
+ return cancellation;
308
+ }
309
+ canceled = true;
310
+ try {
311
+ cancellation = Promise.resolve(source.return?.());
312
+ }
313
+ catch (error) {
314
+ cancellation = Promise.reject(error);
315
+ }
316
+ cancellation.catch(() => undefined);
317
+ return cancellation;
318
+ };
319
+ const abort = () => {
320
+ queueMicrotask(() => {
321
+ interrupt?.();
322
+ cancel();
323
+ });
324
+ };
325
+ const iterator = {
326
+ async next() {
327
+ if (signal.aborted) {
328
+ return ended;
329
+ }
330
+ const aborted = waitForAbort().then(() => ended);
331
+ try {
332
+ const result = await Promise.race([source.next(), aborted]);
333
+ if (signal.aborted) {
334
+ return ended;
335
+ }
336
+ if (result.done) {
337
+ closed = true;
338
+ return ended;
339
+ }
340
+ return { value: result.value, done: false };
341
+ }
342
+ catch (error) {
343
+ if (signal.aborted && ((0, errors_1.isAbortError)(error) || error === signal.reason)) {
344
+ return ended;
345
+ }
346
+ throw error;
347
+ }
348
+ finally {
349
+ interrupt = undefined;
350
+ }
351
+ },
352
+ async return() {
353
+ const pending = cancel();
354
+ if (pending && !signal.aborted) {
355
+ const aborted = waitForAbort();
356
+ try {
357
+ if (!signal.aborted) {
358
+ await Promise.race([pending, aborted]);
359
+ }
360
+ }
361
+ finally {
362
+ interrupt = undefined;
363
+ }
364
+ }
365
+ return ended;
366
+ },
367
+ [Symbol.asyncIterator]() {
368
+ return this;
369
+ },
370
+ };
371
+ return {
372
+ iterator,
373
+ start() {
374
+ signal.addEventListener('abort', abort, { once: true });
375
+ if (signal.aborted) {
376
+ abort();
377
+ }
378
+ },
379
+ async cleanup(failed) {
380
+ let cleanupError;
381
+ try {
382
+ signal.removeEventListener('abort', abort);
383
+ }
384
+ catch (error) {
385
+ cleanupError = error;
386
+ }
387
+ if (!closed) {
388
+ const pending = cancel();
389
+ if (pending && !failed && !signal.aborted) {
390
+ try {
391
+ await pending;
392
+ }
393
+ catch (error) {
394
+ cleanupError ?? (cleanupError = error);
395
+ }
396
+ }
397
+ }
398
+ if (reader) {
399
+ try {
400
+ reader.releaseLock();
401
+ }
402
+ catch (error) {
403
+ cleanupError ?? (cleanupError = error);
404
+ }
405
+ }
406
+ if (cleanupError !== undefined && !failed && !signal.aborted) {
407
+ throw cleanupError;
408
+ }
409
+ },
410
+ };
411
+ }
249
412
  /**
250
413
  * Decodes complete SSE records from a response and aborts when its body is absent.
414
+ * Complete events are decoded on demand without imposing a line or event size limit.
251
415
  *
252
416
  * @yields {ServerSentEvent} Each decoded server-sent event in wire order.
253
417
  */
@@ -262,21 +426,47 @@ async function* _iterSSEMessages(response, controller) {
262
426
  }
263
427
  const sseDecoder = new SSEDecoder();
264
428
  const lineDecoder = new line_1.LineDecoder();
265
- const iter = (0, shims_1.ReadableStreamToAsyncIterable)(response.body);
266
- for await (const sseChunk of iterSSEChunks(iter)) {
267
- for (const line of lineDecoder.decode(sseChunk)) {
429
+ const { signal } = controller;
430
+ const source = createAbortableSSESource(response.body, signal);
431
+ let failed = false;
432
+ try {
433
+ source.start();
434
+ for await (const sseChunk of iterSSEChunks(source.iterator)) {
435
+ if (signal.aborted) {
436
+ return;
437
+ }
438
+ for (const line of lineDecoder.decode(sseChunk)) {
439
+ if (signal.aborted) {
440
+ return;
441
+ }
442
+ const sse = sseDecoder.decode(line);
443
+ if (sse) {
444
+ yield sse;
445
+ }
446
+ }
447
+ }
448
+ if (signal.aborted) {
449
+ return;
450
+ }
451
+ for (const line of lineDecoder.flush()) {
452
+ if (signal.aborted) {
453
+ return;
454
+ }
268
455
  const sse = sseDecoder.decode(line);
269
456
  if (sse) {
270
457
  yield sse;
271
458
  }
272
459
  }
273
460
  }
274
- for (const line of lineDecoder.flush()) {
275
- const sse = sseDecoder.decode(line);
276
- if (sse) {
277
- yield sse;
461
+ catch (error) {
462
+ failed = true;
463
+ if (!signal.aborted || (!(0, errors_1.isAbortError)(error) && error !== signal.reason)) {
464
+ throw error;
278
465
  }
279
466
  }
467
+ finally {
468
+ await source.cleanup(failed);
469
+ }
280
470
  }
281
471
  // A `\r\n\r\n` separator may retain up to three bytes from the previous chunk.
282
472
  const DOUBLE_NEWLINE_DELIMITER_MAX_OVERLAP_BYTES = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/core/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/core/streaming.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,35 @@ import { findDoubleNewlineIndex, LineDecoder } from "../internal/decoders/line.m
6
6
  import { isAbortError } from "../internal/errors.mjs";
7
7
  import { encodeUTF8 } from "../internal/utils/bytes.mjs";
8
8
  import { loggerFor } from "../internal/utils/log.mjs";
9
+ function createStreamTeeQueue() {
10
+ let entries = [];
11
+ let head = 0;
12
+ return {
13
+ get length() {
14
+ return entries.length - head;
15
+ },
16
+ enqueue(value) {
17
+ entries.push(value);
18
+ },
19
+ dequeue() {
20
+ if (head === entries.length) {
21
+ return undefined;
22
+ }
23
+ const value = entries[head];
24
+ entries[head] = undefined;
25
+ head += 1;
26
+ if (head === entries.length) {
27
+ entries = [];
28
+ head = 0;
29
+ }
30
+ else if (head >= 1024 && head * 2 >= entries.length) {
31
+ entries = entries.slice(head);
32
+ head = 0;
33
+ }
34
+ return value;
35
+ },
36
+ };
37
+ }
9
38
  /**
10
39
  * A single-consumption asynchronous API response stream.
11
40
  *
@@ -40,7 +69,7 @@ export class Stream {
40
69
  let receivedCompletionSentinel = false;
41
70
  try {
42
71
  for await (const sse of _iterSSEMessages(response, controller)) {
43
- if (sse.data.startsWith('[DONE]')) {
72
+ if (sse.data === '[DONE]') {
44
73
  receivedCompletionSentinel = true;
45
74
  break;
46
75
  }
@@ -49,10 +78,13 @@ export class Stream {
49
78
  try {
50
79
  data = JSON.parse(sse.data);
51
80
  }
52
- catch (e) {
53
- logger.error(`Could not parse message into JSON:`, sse.data);
54
- logger.error(`From chunk:`, sse.raw);
55
- throw e;
81
+ catch {
82
+ logger.error(`Could not parse message into JSON:`);
83
+ logger.error(`From chunk:`);
84
+ throw new SyntaxError('Error reading response: malformed server-sent event JSON.');
85
+ }
86
+ if (sse.event === 'error') {
87
+ throw new APIError(undefined, data?.error ?? data, undefined, response.headers);
56
88
  }
57
89
  if (data && data.error) {
58
90
  throw new APIError(undefined, data.error, undefined, response.headers);
@@ -64,14 +96,10 @@ export class Stream {
64
96
  try {
65
97
  data = JSON.parse(sse.data);
66
98
  }
67
- catch (e) {
68
- console.error(`Could not parse message into JSON:`, sse.data);
69
- console.error(`From chunk:`, sse.raw);
70
- throw e;
71
- }
72
- // SSE error events surface as APIError instances.
73
- if (sse.event === 'error') {
74
- throw new APIError(undefined, data.error, data.message, undefined);
99
+ catch {
100
+ logger.error(`Could not parse message into JSON:`);
101
+ logger.error(`From chunk:`);
102
+ throw new SyntaxError('Error reading response: malformed server-sent event JSON.');
75
103
  }
76
104
  yield { event: sse.event, data };
77
105
  }
@@ -163,7 +191,17 @@ export class Stream {
163
191
  continue;
164
192
  }
165
193
  if (line) {
166
- yield JSON.parse(line);
194
+ let data;
195
+ try {
196
+ data = JSON.parse(line);
197
+ }
198
+ catch (error) {
199
+ if (error instanceof SyntaxError) {
200
+ throw new SyntaxError('Error reading response: malformed newline-delimited JSON.');
201
+ }
202
+ throw error;
203
+ }
204
+ yield data;
167
205
  }
168
206
  }
169
207
  done = true;
@@ -193,17 +231,17 @@ export class Stream {
193
231
  * independently read from at different speeds.
194
232
  */
195
233
  tee() {
196
- const left = [];
197
- const right = [];
234
+ const left = createStreamTeeQueue();
235
+ const right = createStreamTeeQueue();
198
236
  const iterator = this.iterator();
199
237
  const teeIterator = (queue) => ({
200
238
  next: () => {
201
239
  if (queue.length === 0) {
202
240
  const result = iterator.next();
203
- left.push(result);
204
- right.push(result);
241
+ left.enqueue(result);
242
+ right.enqueue(result);
205
243
  }
206
- return queue.shift();
244
+ return queue.dequeue();
207
245
  },
208
246
  });
209
247
  return [
@@ -241,8 +279,134 @@ export class Stream {
241
279
  });
242
280
  }
243
281
  }
282
+ function createAbortableSSESource(body, signal) {
283
+ const reader = typeof body.getReader === 'function' ? body.getReader() : undefined;
284
+ const source = reader
285
+ ? {
286
+ next: () => reader.read(),
287
+ return: () => reader.cancel(),
288
+ }
289
+ : ReadableStreamToAsyncIterable(body)[Symbol.asyncIterator]();
290
+ const ended = { value: undefined, done: true };
291
+ let closed = false;
292
+ let canceled = false;
293
+ let cancellation;
294
+ let interrupt;
295
+ const waitForAbort = () =>
296
+ // oxlint-disable-next-line promise/avoid-new -- AbortSignal callbacks need a portable Promise bridge.
297
+ new Promise((resolve) => {
298
+ interrupt = resolve;
299
+ });
300
+ const cancel = () => {
301
+ if (canceled || closed) {
302
+ return cancellation;
303
+ }
304
+ canceled = true;
305
+ try {
306
+ cancellation = Promise.resolve(source.return?.());
307
+ }
308
+ catch (error) {
309
+ cancellation = Promise.reject(error);
310
+ }
311
+ cancellation.catch(() => undefined);
312
+ return cancellation;
313
+ };
314
+ const abort = () => {
315
+ queueMicrotask(() => {
316
+ interrupt?.();
317
+ cancel();
318
+ });
319
+ };
320
+ const iterator = {
321
+ async next() {
322
+ if (signal.aborted) {
323
+ return ended;
324
+ }
325
+ const aborted = waitForAbort().then(() => ended);
326
+ try {
327
+ const result = await Promise.race([source.next(), aborted]);
328
+ if (signal.aborted) {
329
+ return ended;
330
+ }
331
+ if (result.done) {
332
+ closed = true;
333
+ return ended;
334
+ }
335
+ return { value: result.value, done: false };
336
+ }
337
+ catch (error) {
338
+ if (signal.aborted && (isAbortError(error) || error === signal.reason)) {
339
+ return ended;
340
+ }
341
+ throw error;
342
+ }
343
+ finally {
344
+ interrupt = undefined;
345
+ }
346
+ },
347
+ async return() {
348
+ const pending = cancel();
349
+ if (pending && !signal.aborted) {
350
+ const aborted = waitForAbort();
351
+ try {
352
+ if (!signal.aborted) {
353
+ await Promise.race([pending, aborted]);
354
+ }
355
+ }
356
+ finally {
357
+ interrupt = undefined;
358
+ }
359
+ }
360
+ return ended;
361
+ },
362
+ [Symbol.asyncIterator]() {
363
+ return this;
364
+ },
365
+ };
366
+ return {
367
+ iterator,
368
+ start() {
369
+ signal.addEventListener('abort', abort, { once: true });
370
+ if (signal.aborted) {
371
+ abort();
372
+ }
373
+ },
374
+ async cleanup(failed) {
375
+ let cleanupError;
376
+ try {
377
+ signal.removeEventListener('abort', abort);
378
+ }
379
+ catch (error) {
380
+ cleanupError = error;
381
+ }
382
+ if (!closed) {
383
+ const pending = cancel();
384
+ if (pending && !failed && !signal.aborted) {
385
+ try {
386
+ await pending;
387
+ }
388
+ catch (error) {
389
+ cleanupError ?? (cleanupError = error);
390
+ }
391
+ }
392
+ }
393
+ if (reader) {
394
+ try {
395
+ reader.releaseLock();
396
+ }
397
+ catch (error) {
398
+ cleanupError ?? (cleanupError = error);
399
+ }
400
+ }
401
+ if (cleanupError !== undefined && !failed && !signal.aborted) {
402
+ throw cleanupError;
403
+ }
404
+ },
405
+ };
406
+ }
244
407
  /**
245
408
  * Decodes complete SSE records from a response and aborts when its body is absent.
409
+ * Complete events are decoded on demand without imposing a line or event size limit.
246
410
  *
247
411
  * @yields {ServerSentEvent} Each decoded server-sent event in wire order.
248
412
  */
@@ -257,21 +421,47 @@ export async function* _iterSSEMessages(response, controller) {
257
421
  }
258
422
  const sseDecoder = new SSEDecoder();
259
423
  const lineDecoder = new LineDecoder();
260
- const iter = ReadableStreamToAsyncIterable(response.body);
261
- for await (const sseChunk of iterSSEChunks(iter)) {
262
- for (const line of lineDecoder.decode(sseChunk)) {
424
+ const { signal } = controller;
425
+ const source = createAbortableSSESource(response.body, signal);
426
+ let failed = false;
427
+ try {
428
+ source.start();
429
+ for await (const sseChunk of iterSSEChunks(source.iterator)) {
430
+ if (signal.aborted) {
431
+ return;
432
+ }
433
+ for (const line of lineDecoder.decode(sseChunk)) {
434
+ if (signal.aborted) {
435
+ return;
436
+ }
437
+ const sse = sseDecoder.decode(line);
438
+ if (sse) {
439
+ yield sse;
440
+ }
441
+ }
442
+ }
443
+ if (signal.aborted) {
444
+ return;
445
+ }
446
+ for (const line of lineDecoder.flush()) {
447
+ if (signal.aborted) {
448
+ return;
449
+ }
263
450
  const sse = sseDecoder.decode(line);
264
451
  if (sse) {
265
452
  yield sse;
266
453
  }
267
454
  }
268
455
  }
269
- for (const line of lineDecoder.flush()) {
270
- const sse = sseDecoder.decode(line);
271
- if (sse) {
272
- yield sse;
456
+ catch (error) {
457
+ failed = true;
458
+ if (!signal.aborted || (!isAbortError(error) && error !== signal.reason)) {
459
+ throw error;
273
460
  }
274
461
  }
462
+ finally {
463
+ await source.cleanup(failed);
464
+ }
275
465
  }
276
466
  // A `\r\n\r\n` separator may retain up to three bytes from the previous chunk.
277
467
  const DOUBLE_NEWLINE_DELIMITER_MAX_OVERLAP_BYTES = 3;