openai 7.15.0 → 7.17.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 (696) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +6 -0
  3. package/_vendor/zod-to-json-schema/Options.d.mts.map +1 -1
  4. package/_vendor/zod-to-json-schema/Options.d.ts.map +1 -1
  5. package/_vendor/zod-to-json-schema/Options.js +2 -0
  6. package/_vendor/zod-to-json-schema/Options.js.map +1 -1
  7. package/_vendor/zod-to-json-schema/Options.mjs +2 -0
  8. package/_vendor/zod-to-json-schema/Options.mjs.map +1 -1
  9. package/_vendor/zod-to-json-schema/parseDef.d.mts.map +1 -1
  10. package/_vendor/zod-to-json-schema/parseDef.d.ts.map +1 -1
  11. package/_vendor/zod-to-json-schema/parseDef.js +1 -0
  12. package/_vendor/zod-to-json-schema/parseDef.js.map +1 -1
  13. package/_vendor/zod-to-json-schema/parseDef.mjs +1 -0
  14. package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -1
  15. package/_vendor/zod-to-json-schema/parsers/bigint.d.mts.map +1 -1
  16. package/_vendor/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  17. package/_vendor/zod-to-json-schema/parsers/bigint.js +2 -0
  18. package/_vendor/zod-to-json-schema/parsers/bigint.js.map +1 -1
  19. package/_vendor/zod-to-json-schema/parsers/bigint.mjs +2 -0
  20. package/_vendor/zod-to-json-schema/parsers/bigint.mjs.map +1 -1
  21. package/_vendor/zod-to-json-schema/parsers/literal.d.mts.map +1 -1
  22. package/_vendor/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  23. package/_vendor/zod-to-json-schema/parsers/literal.js +1 -0
  24. package/_vendor/zod-to-json-schema/parsers/literal.js.map +1 -1
  25. package/_vendor/zod-to-json-schema/parsers/literal.mjs +1 -0
  26. package/_vendor/zod-to-json-schema/parsers/literal.mjs.map +1 -1
  27. package/_vendor/zod-to-json-schema/parsers/null.d.mts.map +1 -1
  28. package/_vendor/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  29. package/_vendor/zod-to-json-schema/parsers/null.js +1 -0
  30. package/_vendor/zod-to-json-schema/parsers/null.js.map +1 -1
  31. package/_vendor/zod-to-json-schema/parsers/null.mjs +1 -0
  32. package/_vendor/zod-to-json-schema/parsers/null.mjs.map +1 -1
  33. package/_vendor/zod-to-json-schema/parsers/nullable.d.mts.map +1 -1
  34. package/_vendor/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  35. package/_vendor/zod-to-json-schema/parsers/nullable.js +4 -0
  36. package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -1
  37. package/_vendor/zod-to-json-schema/parsers/nullable.mjs +4 -0
  38. package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -1
  39. package/_vendor/zod-to-json-schema/parsers/number.d.mts.map +1 -1
  40. package/_vendor/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  41. package/_vendor/zod-to-json-schema/parsers/number.js +2 -0
  42. package/_vendor/zod-to-json-schema/parsers/number.js.map +1 -1
  43. package/_vendor/zod-to-json-schema/parsers/number.mjs +2 -0
  44. package/_vendor/zod-to-json-schema/parsers/number.mjs.map +1 -1
  45. package/_vendor/zod-to-json-schema/parsers/optional.d.mts.map +1 -1
  46. package/_vendor/zod-to-json-schema/parsers/optional.d.ts.map +1 -1
  47. package/_vendor/zod-to-json-schema/parsers/optional.js +6 -7
  48. package/_vendor/zod-to-json-schema/parsers/optional.js.map +1 -1
  49. package/_vendor/zod-to-json-schema/parsers/optional.mjs +6 -7
  50. package/_vendor/zod-to-json-schema/parsers/optional.mjs.map +1 -1
  51. package/_vendor/zod-to-json-schema/parsers/record.d.mts.map +1 -1
  52. package/_vendor/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  53. package/_vendor/zod-to-json-schema/parsers/record.js +2 -0
  54. package/_vendor/zod-to-json-schema/parsers/record.js.map +1 -1
  55. package/_vendor/zod-to-json-schema/parsers/record.mjs +2 -0
  56. package/_vendor/zod-to-json-schema/parsers/record.mjs.map +1 -1
  57. package/_vendor/zod-to-json-schema/parsers/string.d.mts.map +1 -1
  58. package/_vendor/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  59. package/_vendor/zod-to-json-schema/parsers/string.js +1 -0
  60. package/_vendor/zod-to-json-schema/parsers/string.js.map +1 -1
  61. package/_vendor/zod-to-json-schema/parsers/string.mjs +1 -0
  62. package/_vendor/zod-to-json-schema/parsers/string.mjs.map +1 -1
  63. package/_vendor/zod-to-json-schema/parsers/union.d.mts.map +1 -1
  64. package/_vendor/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  65. package/_vendor/zod-to-json-schema/parsers/union.js +3 -0
  66. package/_vendor/zod-to-json-schema/parsers/union.js.map +1 -1
  67. package/_vendor/zod-to-json-schema/parsers/union.mjs +3 -0
  68. package/_vendor/zod-to-json-schema/parsers/union.mjs.map +1 -1
  69. package/_vendor/zod-to-json-schema/util.d.mts.map +1 -1
  70. package/_vendor/zod-to-json-schema/util.d.ts.map +1 -1
  71. package/_vendor/zod-to-json-schema/util.js +1 -0
  72. package/_vendor/zod-to-json-schema/util.js.map +1 -1
  73. package/_vendor/zod-to-json-schema/util.mjs +1 -0
  74. package/_vendor/zod-to-json-schema/util.mjs.map +1 -1
  75. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.mts.map +1 -1
  76. package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts.map +1 -1
  77. package/_vendor/zod-to-json-schema/zodToJsonSchema.js +2 -0
  78. package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  79. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +2 -0
  80. package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs.map +1 -1
  81. package/auth/subject-token-providers.d.mts.map +1 -1
  82. package/auth/subject-token-providers.d.ts.map +1 -1
  83. package/auth/subject-token-providers.js +6 -1
  84. package/auth/subject-token-providers.js.map +1 -1
  85. package/auth/subject-token-providers.mjs +6 -1
  86. package/auth/subject-token-providers.mjs.map +1 -1
  87. package/auth/workload-identity-auth.d.mts.map +1 -1
  88. package/auth/workload-identity-auth.d.ts.map +1 -1
  89. package/auth/workload-identity-auth.js +9 -0
  90. package/auth/workload-identity-auth.js.map +1 -1
  91. package/auth/workload-identity-auth.mjs +9 -0
  92. package/auth/workload-identity-auth.mjs.map +1 -1
  93. package/auth/x509-transport.d.mts.map +1 -1
  94. package/auth/x509-transport.d.ts.map +1 -1
  95. package/auth/x509-transport.js +11 -0
  96. package/auth/x509-transport.js.map +1 -1
  97. package/auth/x509-transport.mjs +11 -0
  98. package/auth/x509-transport.mjs.map +1 -1
  99. package/azure.d.mts.map +1 -1
  100. package/azure.d.ts.map +1 -1
  101. package/azure.js +3 -0
  102. package/azure.js.map +1 -1
  103. package/azure.mjs +3 -0
  104. package/azure.mjs.map +1 -1
  105. package/bedrock.d.mts.map +1 -1
  106. package/bedrock.d.ts.map +1 -1
  107. package/bedrock.js +14 -6
  108. package/bedrock.js.map +1 -1
  109. package/bedrock.mjs +14 -6
  110. package/bedrock.mjs.map +1 -1
  111. package/beta/realtime/internal-base.d.mts.map +1 -1
  112. package/beta/realtime/internal-base.d.ts.map +1 -1
  113. package/beta/realtime/internal-base.js +1 -0
  114. package/beta/realtime/internal-base.js.map +1 -1
  115. package/beta/realtime/internal-base.mjs +1 -0
  116. package/beta/realtime/internal-base.mjs.map +1 -1
  117. package/beta/realtime/websocket.d.mts.map +1 -1
  118. package/beta/realtime/websocket.d.ts.map +1 -1
  119. package/beta/realtime/websocket.js +9 -1
  120. package/beta/realtime/websocket.js.map +1 -1
  121. package/beta/realtime/websocket.mjs +9 -1
  122. package/beta/realtime/websocket.mjs.map +1 -1
  123. package/beta/realtime/ws.d.mts.map +1 -1
  124. package/beta/realtime/ws.d.ts.map +1 -1
  125. package/beta/realtime/ws.js +3 -0
  126. package/beta/realtime/ws.js.map +1 -1
  127. package/beta/realtime/ws.mjs +3 -0
  128. package/beta/realtime/ws.mjs.map +1 -1
  129. package/client.d.mts +14 -3
  130. package/client.d.mts.map +1 -1
  131. package/client.d.ts +14 -3
  132. package/client.d.ts.map +1 -1
  133. package/client.js +64 -26
  134. package/client.js.map +1 -1
  135. package/client.mjs +64 -26
  136. package/client.mjs.map +1 -1
  137. package/core/EventEmitter.d.mts.map +1 -1
  138. package/core/EventEmitter.d.ts.map +1 -1
  139. package/core/EventEmitter.js +15 -0
  140. package/core/EventEmitter.js.map +1 -1
  141. package/core/EventEmitter.mjs +15 -0
  142. package/core/EventEmitter.mjs.map +1 -1
  143. package/core/streaming.d.mts +1 -0
  144. package/core/streaming.d.mts.map +1 -1
  145. package/core/streaming.d.ts +1 -0
  146. package/core/streaming.d.ts.map +1 -1
  147. package/core/streaming.js +28 -1
  148. package/core/streaming.js.map +1 -1
  149. package/core/streaming.mjs +28 -1
  150. package/core/streaming.mjs.map +1 -1
  151. package/helpers/audio.d.mts.map +1 -1
  152. package/helpers/audio.d.ts.map +1 -1
  153. package/helpers/audio.js +2 -0
  154. package/helpers/audio.js.map +1 -1
  155. package/helpers/audio.mjs +2 -0
  156. package/helpers/audio.mjs.map +1 -1
  157. package/helpers/standard-schema.d.mts.map +1 -1
  158. package/helpers/standard-schema.d.ts.map +1 -1
  159. package/helpers/standard-schema.js +28 -18
  160. package/helpers/standard-schema.js.map +1 -1
  161. package/helpers/standard-schema.mjs +28 -18
  162. package/helpers/standard-schema.mjs.map +1 -1
  163. package/helpers/zod-v3-strict-schema.d.mts.map +1 -1
  164. package/helpers/zod-v3-strict-schema.d.ts.map +1 -1
  165. package/helpers/zod-v3-strict-schema.js +5 -0
  166. package/helpers/zod-v3-strict-schema.js.map +1 -1
  167. package/helpers/zod-v3-strict-schema.mjs +5 -0
  168. package/helpers/zod-v3-strict-schema.mjs.map +1 -1
  169. package/helpers/zod.d.mts.map +1 -1
  170. package/helpers/zod.d.ts.map +1 -1
  171. package/helpers/zod.js +16 -1
  172. package/helpers/zod.js.map +1 -1
  173. package/helpers/zod.mjs +17 -2
  174. package/helpers/zod.mjs.map +1 -1
  175. package/internal/assistant-stream-delta.d.mts.map +1 -1
  176. package/internal/assistant-stream-delta.d.ts.map +1 -1
  177. package/internal/assistant-stream-delta.js +8 -1
  178. package/internal/assistant-stream-delta.js.map +1 -1
  179. package/internal/assistant-stream-delta.mjs +8 -1
  180. package/internal/assistant-stream-delta.mjs.map +1 -1
  181. package/internal/auth/x509-credential-options.d.mts.map +1 -1
  182. package/internal/auth/x509-credential-options.d.ts.map +1 -1
  183. package/internal/auth/x509-credential-options.js +3 -0
  184. package/internal/auth/x509-credential-options.js.map +1 -1
  185. package/internal/auth/x509-credential-options.mjs +3 -0
  186. package/internal/auth/x509-credential-options.mjs.map +1 -1
  187. package/internal/auth/x509-token-exchange.d.mts.map +1 -1
  188. package/internal/auth/x509-token-exchange.d.ts.map +1 -1
  189. package/internal/auth/x509-token-exchange.js +2 -0
  190. package/internal/auth/x509-token-exchange.js.map +1 -1
  191. package/internal/auth/x509-token-exchange.mjs +2 -0
  192. package/internal/auth/x509-token-exchange.mjs.map +1 -1
  193. package/internal/auth/x509-transport-capability.d.mts.map +1 -1
  194. package/internal/auth/x509-transport-capability.d.ts.map +1 -1
  195. package/internal/auth/x509-transport-capability.js +1 -0
  196. package/internal/auth/x509-transport-capability.js.map +1 -1
  197. package/internal/auth/x509-transport-capability.mjs +1 -0
  198. package/internal/auth/x509-transport-capability.mjs.map +1 -1
  199. package/internal/auth/x509-transport-state.mjs +1 -0
  200. package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -1
  201. package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -1
  202. package/internal/auth/x509-workload-identity-auth.js +11 -0
  203. package/internal/auth/x509-workload-identity-auth.js.map +1 -1
  204. package/internal/auth/x509-workload-identity-auth.mjs +11 -0
  205. package/internal/auth/x509-workload-identity-auth.mjs.map +1 -1
  206. package/internal/bedrock.d.mts.map +1 -1
  207. package/internal/bedrock.d.ts.map +1 -1
  208. package/internal/bedrock.js +17 -1
  209. package/internal/bedrock.js.map +1 -1
  210. package/internal/bedrock.mjs +17 -1
  211. package/internal/bedrock.mjs.map +1 -1
  212. package/internal/decoders/line.d.mts.map +1 -1
  213. package/internal/decoders/line.d.ts.map +1 -1
  214. package/internal/decoders/line.js +1 -0
  215. package/internal/decoders/line.js.map +1 -1
  216. package/internal/decoders/line.mjs +1 -0
  217. package/internal/decoders/line.mjs.map +1 -1
  218. package/internal/parse.d.mts +1 -0
  219. package/internal/parse.d.mts.map +1 -1
  220. package/internal/parse.d.ts +1 -0
  221. package/internal/parse.d.ts.map +1 -1
  222. package/internal/parse.js.map +1 -1
  223. package/internal/parse.mjs.map +1 -1
  224. package/internal/provider.d.mts.map +1 -1
  225. package/internal/provider.d.ts.map +1 -1
  226. package/internal/provider.js +3 -0
  227. package/internal/provider.js.map +1 -1
  228. package/internal/provider.mjs +3 -0
  229. package/internal/provider.mjs.map +1 -1
  230. package/internal/qs/stringify.d.mts.map +1 -1
  231. package/internal/qs/stringify.d.ts.map +1 -1
  232. package/internal/qs/stringify.js +3 -0
  233. package/internal/qs/stringify.js.map +1 -1
  234. package/internal/qs/stringify.mjs +3 -0
  235. package/internal/qs/stringify.mjs.map +1 -1
  236. package/internal/qs/utils.d.mts.map +1 -1
  237. package/internal/qs/utils.d.ts.map +1 -1
  238. package/internal/qs/utils.js +15 -3
  239. package/internal/qs/utils.js.map +1 -1
  240. package/internal/qs/utils.mjs +15 -3
  241. package/internal/qs/utils.mjs.map +1 -1
  242. package/internal/realtime-credentials.d.mts +1 -1
  243. package/internal/realtime-credentials.d.ts +1 -1
  244. package/internal/realtime-credentials.js +1 -1
  245. package/internal/realtime-credentials.mjs +1 -1
  246. package/internal/responses/response-accumulator.d.mts.map +1 -1
  247. package/internal/responses/response-accumulator.d.ts.map +1 -1
  248. package/internal/responses/response-accumulator.js +20 -4
  249. package/internal/responses/response-accumulator.js.map +1 -1
  250. package/internal/responses/response-accumulator.mjs +20 -4
  251. package/internal/responses/response-accumulator.mjs.map +1 -1
  252. package/internal/to-file.js.map +1 -1
  253. package/internal/to-file.mjs.map +1 -1
  254. package/internal/uploads.d.mts.map +1 -1
  255. package/internal/uploads.d.ts.map +1 -1
  256. package/internal/uploads.js +10 -0
  257. package/internal/uploads.js.map +1 -1
  258. package/internal/uploads.mjs +10 -0
  259. package/internal/uploads.mjs.map +1 -1
  260. package/internal/utils/abort.d.mts +11 -0
  261. package/internal/utils/abort.d.mts.map +1 -0
  262. package/internal/utils/abort.d.ts +11 -0
  263. package/internal/utils/abort.d.ts.map +1 -0
  264. package/internal/utils/abort.js +94 -0
  265. package/internal/utils/abort.js.map +1 -0
  266. package/internal/utils/abort.mjs +90 -0
  267. package/internal/utils/abort.mjs.map +1 -0
  268. package/internal/utils/bytes.d.mts.map +1 -1
  269. package/internal/utils/bytes.d.ts.map +1 -1
  270. package/internal/utils/bytes.js +2 -0
  271. package/internal/utils/bytes.js.map +1 -1
  272. package/internal/utils/bytes.mjs +2 -0
  273. package/internal/utils/bytes.mjs.map +1 -1
  274. package/internal/utils/path.d.mts.map +1 -1
  275. package/internal/utils/path.d.ts.map +1 -1
  276. package/internal/utils/path.js +2 -0
  277. package/internal/utils/path.js.map +1 -1
  278. package/internal/utils/path.mjs +2 -0
  279. package/internal/utils/path.mjs.map +1 -1
  280. package/internal/utils/sleep.d.mts +1 -1
  281. package/internal/utils/sleep.d.mts.map +1 -1
  282. package/internal/utils/sleep.d.ts +1 -1
  283. package/internal/utils/sleep.d.ts.map +1 -1
  284. package/internal/utils/sleep.js +51 -1
  285. package/internal/utils/sleep.js.map +1 -1
  286. package/internal/utils/sleep.mjs +51 -1
  287. package/internal/utils/sleep.mjs.map +1 -1
  288. package/internal/ws-adapter-browser.d.mts.map +1 -1
  289. package/internal/ws-adapter-browser.d.ts.map +1 -1
  290. package/internal/ws-adapter-browser.js +2 -0
  291. package/internal/ws-adapter-browser.js.map +1 -1
  292. package/internal/ws-adapter-browser.mjs +2 -0
  293. package/internal/ws-adapter-browser.mjs.map +1 -1
  294. package/internal/ws.d.mts +22 -0
  295. package/internal/ws.d.mts.map +1 -1
  296. package/internal/ws.d.ts +22 -0
  297. package/internal/ws.d.ts.map +1 -1
  298. package/internal/ws.js +46 -4
  299. package/internal/ws.js.map +1 -1
  300. package/internal/ws.mjs +44 -4
  301. package/internal/ws.mjs.map +1 -1
  302. package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
  303. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  304. package/lib/AbstractChatCompletionRunner.js +41 -16
  305. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  306. package/lib/AbstractChatCompletionRunner.mjs +42 -17
  307. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  308. package/lib/AssistantStream.d.mts.map +1 -1
  309. package/lib/AssistantStream.d.ts.map +1 -1
  310. package/lib/AssistantStream.js +19 -5
  311. package/lib/AssistantStream.js.map +1 -1
  312. package/lib/AssistantStream.mjs +20 -6
  313. package/lib/AssistantStream.mjs.map +1 -1
  314. package/lib/ChatCompletionRunner.d.mts.map +1 -1
  315. package/lib/ChatCompletionRunner.d.ts.map +1 -1
  316. package/lib/ChatCompletionRunner.js +1 -0
  317. package/lib/ChatCompletionRunner.js.map +1 -1
  318. package/lib/ChatCompletionRunner.mjs +1 -0
  319. package/lib/ChatCompletionRunner.mjs.map +1 -1
  320. package/lib/ChatCompletionStream.d.mts +6 -1
  321. package/lib/ChatCompletionStream.d.mts.map +1 -1
  322. package/lib/ChatCompletionStream.d.ts +6 -1
  323. package/lib/ChatCompletionStream.d.ts.map +1 -1
  324. package/lib/ChatCompletionStream.js +63 -7
  325. package/lib/ChatCompletionStream.js.map +1 -1
  326. package/lib/ChatCompletionStream.mjs +64 -8
  327. package/lib/ChatCompletionStream.mjs.map +1 -1
  328. package/lib/EventEmitter.d.mts.map +1 -1
  329. package/lib/EventEmitter.d.ts.map +1 -1
  330. package/lib/EventEmitter.js +15 -0
  331. package/lib/EventEmitter.js.map +1 -1
  332. package/lib/EventEmitter.mjs +15 -0
  333. package/lib/EventEmitter.mjs.map +1 -1
  334. package/lib/EventStream.d.mts +2 -0
  335. package/lib/EventStream.d.mts.map +1 -1
  336. package/lib/EventStream.d.ts +2 -0
  337. package/lib/EventStream.d.ts.map +1 -1
  338. package/lib/EventStream.js +111 -14
  339. package/lib/EventStream.js.map +1 -1
  340. package/lib/EventStream.mjs +111 -14
  341. package/lib/EventStream.mjs.map +1 -1
  342. package/lib/ResponsesParser.d.mts.map +1 -1
  343. package/lib/ResponsesParser.d.ts.map +1 -1
  344. package/lib/ResponsesParser.js +4 -0
  345. package/lib/ResponsesParser.js.map +1 -1
  346. package/lib/ResponsesParser.mjs +4 -0
  347. package/lib/ResponsesParser.mjs.map +1 -1
  348. package/lib/RunnableFunction.d.mts.map +1 -1
  349. package/lib/RunnableFunction.d.ts.map +1 -1
  350. package/lib/RunnableFunction.js.map +1 -1
  351. package/lib/RunnableFunction.mjs.map +1 -1
  352. package/lib/agents/agent-session-stream.d.mts.map +1 -1
  353. package/lib/agents/agent-session-stream.d.ts.map +1 -1
  354. package/lib/agents/agent-session-stream.js +5 -2
  355. package/lib/agents/agent-session-stream.js.map +1 -1
  356. package/lib/agents/agent-session-stream.mjs +5 -2
  357. package/lib/agents/agent-session-stream.mjs.map +1 -1
  358. package/lib/embeddings.d.mts.map +1 -1
  359. package/lib/embeddings.d.ts.map +1 -1
  360. package/lib/embeddings.js +2 -0
  361. package/lib/embeddings.js.map +1 -1
  362. package/lib/embeddings.mjs +2 -0
  363. package/lib/embeddings.mjs.map +1 -1
  364. package/lib/live/transcript-grouper.d.mts.map +1 -1
  365. package/lib/live/transcript-grouper.d.ts.map +1 -1
  366. package/lib/live/transcript-grouper.js +8 -2
  367. package/lib/live/transcript-grouper.js.map +1 -1
  368. package/lib/live/transcript-grouper.mjs +8 -2
  369. package/lib/live/transcript-grouper.mjs.map +1 -1
  370. package/lib/live/transcript-grouping.d.mts +2 -2
  371. package/lib/live/transcript-grouping.d.mts.map +1 -1
  372. package/lib/live/transcript-grouping.d.ts +2 -2
  373. package/lib/live/transcript-grouping.d.ts.map +1 -1
  374. package/lib/live/transcript-grouping.js +44 -22
  375. package/lib/live/transcript-grouping.js.map +1 -1
  376. package/lib/live/transcript-grouping.mjs +44 -22
  377. package/lib/live/transcript-grouping.mjs.map +1 -1
  378. package/lib/parser.d.mts.map +1 -1
  379. package/lib/parser.d.ts.map +1 -1
  380. package/lib/parser.js +13 -0
  381. package/lib/parser.js.map +1 -1
  382. package/lib/parser.mjs +13 -0
  383. package/lib/parser.mjs.map +1 -1
  384. package/lib/responses/ResponseInputItems.d.mts.map +1 -1
  385. package/lib/responses/ResponseInputItems.d.ts.map +1 -1
  386. package/lib/responses/ResponseInputItems.js +11 -0
  387. package/lib/responses/ResponseInputItems.js.map +1 -1
  388. package/lib/responses/ResponseInputItems.mjs +11 -0
  389. package/lib/responses/ResponseInputItems.mjs.map +1 -1
  390. package/lib/responses/ResponseStream.d.mts.map +1 -1
  391. package/lib/responses/ResponseStream.d.ts.map +1 -1
  392. package/lib/responses/ResponseStream.js +7 -3
  393. package/lib/responses/ResponseStream.js.map +1 -1
  394. package/lib/responses/ResponseStream.mjs +8 -4
  395. package/lib/responses/ResponseStream.mjs.map +1 -1
  396. package/lib/transform.d.mts.map +1 -1
  397. package/lib/transform.d.ts.map +1 -1
  398. package/lib/transform.js +69 -33
  399. package/lib/transform.js.map +1 -1
  400. package/lib/transform.mjs +69 -33
  401. package/lib/transform.mjs.map +1 -1
  402. package/lib/webrtc/connection.d.mts.map +1 -1
  403. package/lib/webrtc/connection.d.ts.map +1 -1
  404. package/lib/webrtc/connection.js +6 -1
  405. package/lib/webrtc/connection.js.map +1 -1
  406. package/lib/webrtc/connection.mjs +6 -1
  407. package/lib/webrtc/connection.mjs.map +1 -1
  408. package/lib/webrtc/data-channel.d.mts.map +1 -1
  409. package/lib/webrtc/data-channel.d.ts.map +1 -1
  410. package/lib/webrtc/data-channel.js +9 -1
  411. package/lib/webrtc/data-channel.js.map +1 -1
  412. package/lib/webrtc/data-channel.mjs +9 -1
  413. package/lib/webrtc/data-channel.mjs.map +1 -1
  414. package/lib/webrtc/subscriptions.d.mts.map +1 -1
  415. package/lib/webrtc/subscriptions.d.ts.map +1 -1
  416. package/lib/webrtc/subscriptions.js +2 -0
  417. package/lib/webrtc/subscriptions.js.map +1 -1
  418. package/lib/webrtc/subscriptions.mjs +2 -0
  419. package/lib/webrtc/subscriptions.mjs.map +1 -1
  420. package/lib/webrtc/types.d.mts.map +1 -1
  421. package/lib/webrtc/types.d.ts.map +1 -1
  422. package/package.json +1 -1
  423. package/providers/bedrock/aws.d.mts.map +1 -1
  424. package/providers/bedrock/aws.d.ts.map +1 -1
  425. package/providers/bedrock/aws.js +4 -0
  426. package/providers/bedrock/aws.js.map +1 -1
  427. package/providers/bedrock/aws.mjs +4 -0
  428. package/providers/bedrock/aws.mjs.map +1 -1
  429. package/realtime/internal-base.d.mts.map +1 -1
  430. package/realtime/internal-base.d.ts.map +1 -1
  431. package/realtime/internal-base.js +1 -0
  432. package/realtime/internal-base.js.map +1 -1
  433. package/realtime/internal-base.mjs +1 -0
  434. package/realtime/internal-base.mjs.map +1 -1
  435. package/realtime/websocket.d.mts.map +1 -1
  436. package/realtime/websocket.d.ts.map +1 -1
  437. package/realtime/websocket.js +9 -1
  438. package/realtime/websocket.js.map +1 -1
  439. package/realtime/websocket.mjs +9 -1
  440. package/realtime/websocket.mjs.map +1 -1
  441. package/realtime/ws.d.mts.map +1 -1
  442. package/realtime/ws.d.ts.map +1 -1
  443. package/realtime/ws.js +3 -0
  444. package/realtime/ws.js.map +1 -1
  445. package/realtime/ws.mjs +3 -0
  446. package/realtime/ws.mjs.map +1 -1
  447. package/resources/beta/agents/agents.d.mts +2 -1
  448. package/resources/beta/agents/agents.d.mts.map +1 -1
  449. package/resources/beta/agents/agents.d.ts +2 -1
  450. package/resources/beta/agents/agents.d.ts.map +1 -1
  451. package/resources/beta/agents/agents.js.map +1 -1
  452. package/resources/beta/agents/agents.mjs.map +1 -1
  453. package/resources/beta/beta.d.mts +2 -2
  454. package/resources/beta/beta.d.mts.map +1 -1
  455. package/resources/beta/beta.d.ts +2 -2
  456. package/resources/beta/beta.d.ts.map +1 -1
  457. package/resources/beta/beta.js.map +1 -1
  458. package/resources/beta/beta.mjs.map +1 -1
  459. package/resources/beta/index.d.mts +1 -1
  460. package/resources/beta/index.d.mts.map +1 -1
  461. package/resources/beta/index.d.ts +1 -1
  462. package/resources/beta/index.d.ts.map +1 -1
  463. package/resources/beta/index.js.map +1 -1
  464. package/resources/beta/index.mjs.map +1 -1
  465. package/resources/beta/responses/index.d.mts +1 -1
  466. package/resources/beta/responses/index.d.mts.map +1 -1
  467. package/resources/beta/responses/index.d.ts +1 -1
  468. package/resources/beta/responses/index.d.ts.map +1 -1
  469. package/resources/beta/responses/index.js.map +1 -1
  470. package/resources/beta/responses/index.mjs.map +1 -1
  471. package/resources/beta/responses/internal-base.d.mts +3 -0
  472. package/resources/beta/responses/internal-base.d.mts.map +1 -1
  473. package/resources/beta/responses/internal-base.d.ts +3 -0
  474. package/resources/beta/responses/internal-base.d.ts.map +1 -1
  475. package/resources/beta/responses/internal-base.js +21 -6
  476. package/resources/beta/responses/internal-base.js.map +1 -1
  477. package/resources/beta/responses/internal-base.mjs +21 -6
  478. package/resources/beta/responses/internal-base.mjs.map +1 -1
  479. package/resources/beta/responses/responses.d.mts +51 -3
  480. package/resources/beta/responses/responses.d.mts.map +1 -1
  481. package/resources/beta/responses/responses.d.ts +51 -3
  482. package/resources/beta/responses/responses.d.ts.map +1 -1
  483. package/resources/beta/responses/responses.js.map +1 -1
  484. package/resources/beta/responses/responses.mjs.map +1 -1
  485. package/resources/beta/responses/ws-base.d.mts +18 -9
  486. package/resources/beta/responses/ws-base.d.mts.map +1 -1
  487. package/resources/beta/responses/ws-base.d.ts +18 -9
  488. package/resources/beta/responses/ws-base.d.ts.map +1 -1
  489. package/resources/beta/responses/ws-base.js +87 -18
  490. package/resources/beta/responses/ws-base.js.map +1 -1
  491. package/resources/beta/responses/ws-base.mjs +89 -20
  492. package/resources/beta/responses/ws-base.mjs.map +1 -1
  493. package/resources/beta/responses/ws.d.mts +3 -0
  494. package/resources/beta/responses/ws.d.mts.map +1 -1
  495. package/resources/beta/responses/ws.d.ts +3 -0
  496. package/resources/beta/responses/ws.d.ts.map +1 -1
  497. package/resources/beta/responses/ws.js +12 -3
  498. package/resources/beta/responses/ws.js.map +1 -1
  499. package/resources/beta/responses/ws.mjs +12 -3
  500. package/resources/beta/responses/ws.mjs.map +1 -1
  501. package/resources/live/forks/internal-base.d.mts +3 -0
  502. package/resources/live/forks/internal-base.d.mts.map +1 -1
  503. package/resources/live/forks/internal-base.d.ts +3 -0
  504. package/resources/live/forks/internal-base.d.ts.map +1 -1
  505. package/resources/live/forks/internal-base.js +21 -5
  506. package/resources/live/forks/internal-base.js.map +1 -1
  507. package/resources/live/forks/internal-base.mjs +21 -5
  508. package/resources/live/forks/internal-base.mjs.map +1 -1
  509. package/resources/live/forks/ws-base.d.mts +13 -8
  510. package/resources/live/forks/ws-base.d.mts.map +1 -1
  511. package/resources/live/forks/ws-base.d.ts +13 -8
  512. package/resources/live/forks/ws-base.d.ts.map +1 -1
  513. package/resources/live/forks/ws-base.js +85 -14
  514. package/resources/live/forks/ws-base.js.map +1 -1
  515. package/resources/live/forks/ws-base.mjs +87 -16
  516. package/resources/live/forks/ws-base.mjs.map +1 -1
  517. package/resources/live/forks/ws.d.mts +1 -0
  518. package/resources/live/forks/ws.d.mts.map +1 -1
  519. package/resources/live/forks/ws.d.ts +1 -0
  520. package/resources/live/forks/ws.d.ts.map +1 -1
  521. package/resources/live/forks/ws.js.map +1 -1
  522. package/resources/live/forks/ws.mjs.map +1 -1
  523. package/resources/live/internal-base.d.mts +3 -0
  524. package/resources/live/internal-base.d.mts.map +1 -1
  525. package/resources/live/internal-base.d.ts +3 -0
  526. package/resources/live/internal-base.d.ts.map +1 -1
  527. package/resources/live/internal-base.js +21 -5
  528. package/resources/live/internal-base.js.map +1 -1
  529. package/resources/live/internal-base.mjs +21 -5
  530. package/resources/live/internal-base.mjs.map +1 -1
  531. package/resources/live/sideband/internal-base.d.mts +3 -0
  532. package/resources/live/sideband/internal-base.d.mts.map +1 -1
  533. package/resources/live/sideband/internal-base.d.ts +3 -0
  534. package/resources/live/sideband/internal-base.d.ts.map +1 -1
  535. package/resources/live/sideband/internal-base.js +21 -5
  536. package/resources/live/sideband/internal-base.js.map +1 -1
  537. package/resources/live/sideband/internal-base.mjs +21 -5
  538. package/resources/live/sideband/internal-base.mjs.map +1 -1
  539. package/resources/live/sideband/ws-base.d.mts +13 -8
  540. package/resources/live/sideband/ws-base.d.mts.map +1 -1
  541. package/resources/live/sideband/ws-base.d.ts +13 -8
  542. package/resources/live/sideband/ws-base.d.ts.map +1 -1
  543. package/resources/live/sideband/ws-base.js +85 -14
  544. package/resources/live/sideband/ws-base.js.map +1 -1
  545. package/resources/live/sideband/ws-base.mjs +87 -16
  546. package/resources/live/sideband/ws-base.mjs.map +1 -1
  547. package/resources/live/sideband/ws.d.mts +1 -0
  548. package/resources/live/sideband/ws.d.mts.map +1 -1
  549. package/resources/live/sideband/ws.d.ts +1 -0
  550. package/resources/live/sideband/ws.d.ts.map +1 -1
  551. package/resources/live/sideband/ws.js.map +1 -1
  552. package/resources/live/sideband/ws.mjs.map +1 -1
  553. package/resources/live/ws-base.d.mts +13 -8
  554. package/resources/live/ws-base.d.mts.map +1 -1
  555. package/resources/live/ws-base.d.ts +13 -8
  556. package/resources/live/ws-base.d.ts.map +1 -1
  557. package/resources/live/ws-base.js +85 -14
  558. package/resources/live/ws-base.js.map +1 -1
  559. package/resources/live/ws-base.mjs +87 -16
  560. package/resources/live/ws-base.mjs.map +1 -1
  561. package/resources/live/ws.d.mts +1 -0
  562. package/resources/live/ws.d.mts.map +1 -1
  563. package/resources/live/ws.d.ts +1 -0
  564. package/resources/live/ws.d.ts.map +1 -1
  565. package/resources/live/ws.js.map +1 -1
  566. package/resources/live/ws.mjs.map +1 -1
  567. package/resources/responses/internal-base.d.mts +3 -0
  568. package/resources/responses/internal-base.d.mts.map +1 -1
  569. package/resources/responses/internal-base.d.ts +3 -0
  570. package/resources/responses/internal-base.d.ts.map +1 -1
  571. package/resources/responses/internal-base.js +21 -6
  572. package/resources/responses/internal-base.js.map +1 -1
  573. package/resources/responses/internal-base.mjs +21 -6
  574. package/resources/responses/internal-base.mjs.map +1 -1
  575. package/resources/responses/responses.d.mts +36 -3
  576. package/resources/responses/responses.d.mts.map +1 -1
  577. package/resources/responses/responses.d.ts +36 -3
  578. package/resources/responses/responses.d.ts.map +1 -1
  579. package/resources/responses/responses.js.map +1 -1
  580. package/resources/responses/responses.mjs.map +1 -1
  581. package/resources/responses/ws-base.d.mts +18 -9
  582. package/resources/responses/ws-base.d.mts.map +1 -1
  583. package/resources/responses/ws-base.d.ts +18 -9
  584. package/resources/responses/ws-base.d.ts.map +1 -1
  585. package/resources/responses/ws-base.js +87 -18
  586. package/resources/responses/ws-base.js.map +1 -1
  587. package/resources/responses/ws-base.mjs +89 -20
  588. package/resources/responses/ws-base.mjs.map +1 -1
  589. package/resources/responses/ws.d.mts +3 -0
  590. package/resources/responses/ws.d.mts.map +1 -1
  591. package/resources/responses/ws.d.ts +3 -0
  592. package/resources/responses/ws.d.ts.map +1 -1
  593. package/resources/responses/ws.js +12 -3
  594. package/resources/responses/ws.js.map +1 -1
  595. package/resources/responses/ws.mjs +12 -3
  596. package/resources/responses/ws.mjs.map +1 -1
  597. package/src/_vendor/zod-to-json-schema/Options.ts +2 -0
  598. package/src/_vendor/zod-to-json-schema/parseDef.ts +1 -0
  599. package/src/_vendor/zod-to-json-schema/parsers/bigint.ts +2 -0
  600. package/src/_vendor/zod-to-json-schema/parsers/literal.ts +1 -0
  601. package/src/_vendor/zod-to-json-schema/parsers/null.ts +1 -0
  602. package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +4 -0
  603. package/src/_vendor/zod-to-json-schema/parsers/number.ts +2 -0
  604. package/src/_vendor/zod-to-json-schema/parsers/optional.ts +6 -7
  605. package/src/_vendor/zod-to-json-schema/parsers/record.ts +2 -0
  606. package/src/_vendor/zod-to-json-schema/parsers/string.ts +1 -0
  607. package/src/_vendor/zod-to-json-schema/parsers/union.ts +3 -0
  608. package/src/_vendor/zod-to-json-schema/util.ts +1 -0
  609. package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +3 -1
  610. package/src/auth/subject-token-providers.ts +6 -1
  611. package/src/auth/workload-identity-auth.ts +10 -1
  612. package/src/auth/x509-transport.ts +13 -2
  613. package/src/azure.ts +3 -0
  614. package/src/bedrock.ts +23 -7
  615. package/src/beta/realtime/internal-base.ts +2 -0
  616. package/src/beta/realtime/websocket.ts +11 -1
  617. package/src/beta/realtime/ws.ts +3 -0
  618. package/src/client.ts +78 -22
  619. package/src/core/EventEmitter.ts +15 -0
  620. package/src/core/streaming.ts +30 -2
  621. package/src/helpers/audio.ts +2 -0
  622. package/src/helpers/standard-schema.ts +31 -19
  623. package/src/helpers/zod-v3-strict-schema.ts +8 -2
  624. package/src/helpers/zod.ts +32 -13
  625. package/src/internal/assistant-stream-delta.ts +7 -1
  626. package/src/internal/auth/x509-credential-options.ts +3 -0
  627. package/src/internal/auth/x509-token-exchange.ts +10 -1
  628. package/src/internal/auth/x509-transport-capability.ts +2 -1
  629. package/src/internal/auth/x509-workload-identity-auth.ts +13 -8
  630. package/src/internal/bedrock.ts +15 -0
  631. package/src/internal/decoders/line.ts +1 -0
  632. package/src/internal/parse.ts +1 -0
  633. package/src/internal/provider.ts +3 -0
  634. package/src/internal/qs/stringify.ts +3 -0
  635. package/src/internal/qs/utils.ts +14 -3
  636. package/src/internal/realtime-credentials.ts +1 -1
  637. package/src/internal/responses/response-accumulator.ts +34 -4
  638. package/src/internal/to-file.ts +1 -1
  639. package/src/internal/uploads.ts +11 -1
  640. package/src/internal/utils/abort.ts +116 -0
  641. package/src/internal/utils/bytes.ts +2 -0
  642. package/src/internal/utils/path.ts +2 -0
  643. package/src/internal/utils/sleep.ts +52 -1
  644. package/src/internal/ws-adapter-browser.ts +2 -0
  645. package/src/internal/ws.ts +66 -4
  646. package/src/lib/AbstractChatCompletionRunner.ts +40 -17
  647. package/src/lib/AssistantStream.ts +31 -20
  648. package/src/lib/ChatCompletionRunner.ts +1 -0
  649. package/src/lib/ChatCompletionStream.ts +81 -14
  650. package/src/lib/EventEmitter.ts +15 -0
  651. package/src/lib/EventStream.ts +93 -3
  652. package/src/lib/ResponsesParser.ts +5 -0
  653. package/src/lib/RunnableFunction.ts +4 -1
  654. package/src/lib/agents/agent-session-stream.ts +5 -3
  655. package/src/lib/embeddings.ts +3 -1
  656. package/src/lib/live/transcript-grouper.ts +4 -0
  657. package/src/lib/live/transcript-grouping.ts +59 -27
  658. package/src/lib/parser.ts +16 -2
  659. package/src/lib/responses/ResponseInputItems.ts +11 -0
  660. package/src/lib/responses/ResponseStream.ts +6 -3
  661. package/src/lib/transform.ts +70 -35
  662. package/src/lib/webrtc/connection.ts +5 -1
  663. package/src/lib/webrtc/data-channel.ts +7 -0
  664. package/src/lib/webrtc/subscriptions.ts +3 -0
  665. package/src/lib/webrtc/types.ts +1 -0
  666. package/src/providers/bedrock/aws.ts +5 -1
  667. package/src/realtime/internal-base.ts +2 -0
  668. package/src/realtime/websocket.ts +11 -1
  669. package/src/realtime/ws.ts +3 -0
  670. package/src/resources/beta/agents/agents.ts +2 -0
  671. package/src/resources/beta/beta.ts +2 -0
  672. package/src/resources/beta/index.ts +1 -0
  673. package/src/resources/beta/responses/index.ts +1 -0
  674. package/src/resources/beta/responses/internal-base.ts +24 -6
  675. package/src/resources/beta/responses/responses.ts +58 -0
  676. package/src/resources/beta/responses/ws-base.ts +117 -26
  677. package/src/resources/beta/responses/ws.ts +23 -6
  678. package/src/resources/live/forks/internal-base.ts +24 -5
  679. package/src/resources/live/forks/ws-base.ts +110 -21
  680. package/src/resources/live/forks/ws.ts +2 -0
  681. package/src/resources/live/internal-base.ts +24 -5
  682. package/src/resources/live/sideband/internal-base.ts +24 -5
  683. package/src/resources/live/sideband/ws-base.ts +110 -21
  684. package/src/resources/live/sideband/ws.ts +2 -0
  685. package/src/resources/live/ws-base.ts +110 -21
  686. package/src/resources/live/ws.ts +2 -0
  687. package/src/resources/responses/api.md +1 -0
  688. package/src/resources/responses/internal-base.ts +24 -6
  689. package/src/resources/responses/responses.ts +41 -0
  690. package/src/resources/responses/ws-base.ts +117 -26
  691. package/src/resources/responses/ws.ts +23 -6
  692. package/src/version.ts +1 -1
  693. package/version.d.mts +1 -1
  694. package/version.d.ts +1 -1
  695. package/version.js +1 -1
  696. package/version.mjs +1 -1
@@ -8,13 +8,19 @@ const error_1 = require("../../core/error.js");
8
8
  class WebSocketError extends error_1.OpenAIError {
9
9
  constructor(message, event) {
10
10
  super(message);
11
- this.error = event ?? undefined;
11
+ Object.defineProperty(this, 'error', {
12
+ value: event ?? undefined,
13
+ writable: true,
14
+ configurable: true,
15
+ enumerable: false,
16
+ });
12
17
  }
13
18
  }
14
19
  exports.WebSocketError = WebSocketError;
15
20
  class LiveEmitter extends EventEmitter_1.EventEmitter {
16
21
  _onError(event, message, cause) {
17
- message = message ?? safeJSONStringify(event) ?? 'unknown error';
22
+ const safeMessage = safeWebSocketErrorMessage(event, message);
23
+ message = safeMessage ?? 'unknown error';
18
24
  if (!this._hasListener('error')) {
19
25
  const error = new WebSocketError(message +
20
26
  `\n\nTo resolve these unhandled rejection errors you should bind an \`error\` callback, e.g. \`ws.on('error', (error) => ...)\` `, event);
@@ -37,12 +43,22 @@ function buildURL(client, parameters) {
37
43
  url.protocol = url.protocol === 'http:' || url.protocol === 'ws:' ? 'ws:' : 'wss:';
38
44
  return url;
39
45
  }
40
- function safeJSONStringify(value) {
46
+ function safeWebSocketErrorMessage(event, message) {
47
+ if (typeof message === 'string')
48
+ return message;
49
+ if (typeof event !== 'object' || event === null)
50
+ return undefined;
41
51
  try {
42
- return JSON.stringify(value);
52
+ const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
53
+ const nestedMessage = typeof error === 'object' && error !== null
54
+ ? Object.getOwnPropertyDescriptor(error, 'message')?.value
55
+ : undefined;
56
+ const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
57
+ const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
58
+ return typeof candidate === 'string' ? candidate : undefined;
43
59
  }
44
60
  catch {
45
- return null;
61
+ return undefined;
46
62
  }
47
63
  }
48
64
  //# sourceMappingURL=internal-base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-base.js","sourceRoot":"","sources":["../../src/resources/live/internal-base.ts"],"names":[],"mappings":";AAAA,qFAAqF;;;AAyFrF,4BAMC;AA3FD,6DAAuD;AACvD,+CAA+C;AAa/C,MAAa,cAAe,SAAQ,mBAAW;IAM7C,YAAY,OAAe,EAAE,KAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;IAClC,CAAC;CACF;AAXD,wCAWC;AAmBD,MAAsB,WAAY,SAAQ,2BAA6B;IAkB3D,QAAQ,CAAC,KAAgC,EAAE,OAA4B,EAAE,KAAW;QAC5F,OAAO,GAAG,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,iIAAiI,EACnI,KAAK,CACN,CAAC;YACF,aAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAvCD,kCAuCC;AAED,SAAgB,QAAQ,CAAC,MAAc,EAAE,UAAmC;IAC1E,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"internal-base.js","sourceRoot":"","sources":["../../src/resources/live/internal-base.ts"],"names":[],"mappings":";AAAA,qFAAqF;;;AAkGrF,4BAMC;AApGD,6DAAuD;AACvD,+CAA+C;AAa/C,MAAa,cAAe,SAAQ,mBAAW;IAS7C,YAAY,OAAe,EAAE,KAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YACnC,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAnBD,wCAmBC;AAmBD,MAAsB,WAAY,SAAQ,2BAA6B;IAkB3D,QAAQ,CAAC,KAAgC,EAAE,OAA4B,EAAE,KAAW;QAC5F,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,GAAG,WAAW,IAAI,eAAe,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,iIAAiI,EACnI,KAAK,CACN,CAAC;YACF,aAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAxCD,kCAwCC;AAED,SAAgB,QAAQ,CAAC,MAAc,EAAE,UAAmC;IAC1E,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc,EAAE,OAAgB;IACjE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC;QACrE,MAAM,aAAa,GACjB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK;YAC1D,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QACnF,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -4,12 +4,18 @@ import { OpenAIError } from "../../core/error.mjs";
4
4
  export class WebSocketError extends OpenAIError {
5
5
  constructor(message, event) {
6
6
  super(message);
7
- this.error = event ?? undefined;
7
+ Object.defineProperty(this, 'error', {
8
+ value: event ?? undefined,
9
+ writable: true,
10
+ configurable: true,
11
+ enumerable: false,
12
+ });
8
13
  }
9
14
  }
10
15
  export class LiveEmitter extends EventEmitter {
11
16
  _onError(event, message, cause) {
12
- message = message ?? safeJSONStringify(event) ?? 'unknown error';
17
+ const safeMessage = safeWebSocketErrorMessage(event, message);
18
+ message = safeMessage ?? 'unknown error';
13
19
  if (!this._hasListener('error')) {
14
20
  const error = new WebSocketError(message +
15
21
  `\n\nTo resolve these unhandled rejection errors you should bind an \`error\` callback, e.g. \`ws.on('error', (error) => ...)\` `, event);
@@ -31,12 +37,22 @@ export function buildURL(client, parameters) {
31
37
  url.protocol = url.protocol === 'http:' || url.protocol === 'ws:' ? 'ws:' : 'wss:';
32
38
  return url;
33
39
  }
34
- function safeJSONStringify(value) {
40
+ function safeWebSocketErrorMessage(event, message) {
41
+ if (typeof message === 'string')
42
+ return message;
43
+ if (typeof event !== 'object' || event === null)
44
+ return undefined;
35
45
  try {
36
- return JSON.stringify(value);
46
+ const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
47
+ const nestedMessage = typeof error === 'object' && error !== null
48
+ ? Object.getOwnPropertyDescriptor(error, 'message')?.value
49
+ : undefined;
50
+ const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
51
+ const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
52
+ return typeof candidate === 'string' ? candidate : undefined;
37
53
  }
38
54
  catch {
39
- return null;
55
+ return undefined;
40
56
  }
41
57
  }
42
58
  //# sourceMappingURL=internal-base.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-base.mjs","sourceRoot":"","sources":["../../src/resources/live/internal-base.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAIrF,OAAO,EAAE,YAAY,EAAE,oCAAgC;AACvD,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAa/C,MAAM,OAAO,cAAe,SAAQ,WAAW;IAM7C,YAAY,OAAe,EAAE,KAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;IAClC,CAAC;CACF;AAmBD,MAAM,OAAgB,WAAY,SAAQ,YAA6B;IAkB3D,QAAQ,CAAC,KAAgC,EAAE,OAA4B,EAAE,KAAW;QAC5F,OAAO,GAAG,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,iIAAiI,EACnI,KAAK,CACN,CAAC;YACF,aAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,UAAmC;IAC1E,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"internal-base.mjs","sourceRoot":"","sources":["../../src/resources/live/internal-base.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAIrF,OAAO,EAAE,YAAY,EAAE,oCAAgC;AACvD,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAa/C,MAAM,OAAO,cAAe,SAAQ,WAAW;IAS7C,YAAY,OAAe,EAAE,KAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YACnC,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAmBD,MAAM,OAAgB,WAAY,SAAQ,YAA6B;IAkB3D,QAAQ,CAAC,KAAgC,EAAE,OAA4B,EAAE,KAAW;QAC5F,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,GAAG,WAAW,IAAI,eAAe,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,iIAAiI,EACnI,KAAK,CACN,CAAC;YACF,aAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,UAAmC;IAC1E,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc,EAAE,OAAgB;IACjE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC;QACrE,MAAM,aAAa,GACjB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK;YAC1D,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QACnF,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -30,6 +30,9 @@ export type SidebandStreamMessage = {
30
30
  export declare class WebSocketError extends OpenAIError {
31
31
  /**
32
32
  * The error data that the API sent back in an error event.
33
+ *
34
+ * This property is non-enumerable to avoid exposing the event through
35
+ * JSON serialization, object spread, or Object.assign.
33
36
  */
34
37
  error?: LiveAPI.ErrorEvent | undefined;
35
38
  constructor(message: string, event: LiveAPI.ErrorEvent | null);
@@ -1 +1 @@
1
- {"version":3,"file":"internal-base.d.mts","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal-base.d.mts","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,9 @@ export type SidebandStreamMessage = {
30
30
  export declare class WebSocketError extends OpenAIError {
31
31
  /**
32
32
  * The error data that the API sent back in an error event.
33
+ *
34
+ * This property is non-enumerable to avoid exposing the event through
35
+ * JSON serialization, object spread, or Object.assign.
33
36
  */
34
37
  error?: LiveAPI.ErrorEvent | undefined;
35
38
  constructor(message: string, event: LiveAPI.ErrorEvent | null);
@@ -1 +1 @@
1
- {"version":3,"file":"internal-base.d.ts","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal-base.d.ts","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,19 @@ const path_1 = require("../../../internal/utils/path.js");
9
9
  class WebSocketError extends error_1.OpenAIError {
10
10
  constructor(message, event) {
11
11
  super(message);
12
- this.error = event ?? undefined;
12
+ Object.defineProperty(this, 'error', {
13
+ value: event ?? undefined,
14
+ writable: true,
15
+ configurable: true,
16
+ enumerable: false,
17
+ });
13
18
  }
14
19
  }
15
20
  exports.WebSocketError = WebSocketError;
16
21
  class SidebandEmitter extends EventEmitter_1.EventEmitter {
17
22
  _onError(event, message, cause) {
18
- message = message ?? safeJSONStringify(event) ?? 'unknown error';
23
+ const safeMessage = safeWebSocketErrorMessage(event, message);
24
+ message = safeMessage ?? 'unknown error';
19
25
  if (!this._hasListener('error')) {
20
26
  const error = new WebSocketError(message +
21
27
  `\n\nTo resolve these unhandled rejection errors you should bind an \`error\` callback, e.g. \`ws.on('error', (error) => ...)\` `, event);
@@ -38,12 +44,22 @@ function buildURL(client, parameters) {
38
44
  url.protocol = url.protocol === 'http:' || url.protocol === 'ws:' ? 'ws:' : 'wss:';
39
45
  return url;
40
46
  }
41
- function safeJSONStringify(value) {
47
+ function safeWebSocketErrorMessage(event, message) {
48
+ if (typeof message === 'string')
49
+ return message;
50
+ if (typeof event !== 'object' || event === null)
51
+ return undefined;
42
52
  try {
43
- return JSON.stringify(value);
53
+ const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
54
+ const nestedMessage = typeof error === 'object' && error !== null
55
+ ? Object.getOwnPropertyDescriptor(error, 'message')?.value
56
+ : undefined;
57
+ const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
58
+ const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
59
+ return typeof candidate === 'string' ? candidate : undefined;
44
60
  }
45
61
  catch {
46
- return null;
62
+ return undefined;
47
63
  }
48
64
  }
49
65
  //# sourceMappingURL=internal-base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-base.js","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":";AAAA,qFAAqF;;;AA4FrF,4BAMC;AA7FD,gEAA0D;AAC1D,kDAAkD;AAClD,0DAAoD;AAcpD,MAAa,cAAe,SAAQ,mBAAW;IAM7C,YAAY,OAAe,EAAE,KAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;IAClC,CAAC;CACF;AAXD,wCAWC;AAmBD,MAAsB,eAAgB,SAAQ,2BAA6B;IAkB/D,QAAQ,CAAC,KAAgC,EAAE,OAA4B,EAAE,KAAW;QAC5F,OAAO,GAAG,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,iIAAiI,EACnI,KAAK,CACN,CAAC;YACF,aAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAvCD,0CAuCC;AAED,SAAgB,QAAQ,CAAC,MAAc,EAAE,UAAmC;IAC1E,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAA,kBAAkB,KAAK,SAAS,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"internal-base.js","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":";AAAA,qFAAqF;;;AAqGrF,4BAMC;AAtGD,gEAA0D;AAC1D,kDAAkD;AAClD,0DAAoD;AAcpD,MAAa,cAAe,SAAQ,mBAAW;IAS7C,YAAY,OAAe,EAAE,KAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YACnC,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAnBD,wCAmBC;AAmBD,MAAsB,eAAgB,SAAQ,2BAA6B;IAkB/D,QAAQ,CAAC,KAAgC,EAAE,OAA4B,EAAE,KAAW;QAC5F,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,GAAG,WAAW,IAAI,eAAe,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,iIAAiI,EACnI,KAAK,CACN,CAAC;YACF,aAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAxCD,0CAwCC;AAED,SAAgB,QAAQ,CAAC,MAAc,EAAE,UAAmC;IAC1E,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAA,kBAAkB,KAAK,SAAS,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc,EAAE,OAAgB;IACjE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC;QACrE,MAAM,aAAa,GACjB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK;YAC1D,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QACnF,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -5,12 +5,18 @@ import { path } from "../../../internal/utils/path.mjs";
5
5
  export class WebSocketError extends OpenAIError {
6
6
  constructor(message, event) {
7
7
  super(message);
8
- this.error = event ?? undefined;
8
+ Object.defineProperty(this, 'error', {
9
+ value: event ?? undefined,
10
+ writable: true,
11
+ configurable: true,
12
+ enumerable: false,
13
+ });
9
14
  }
10
15
  }
11
16
  export class SidebandEmitter extends EventEmitter {
12
17
  _onError(event, message, cause) {
13
- message = message ?? safeJSONStringify(event) ?? 'unknown error';
18
+ const safeMessage = safeWebSocketErrorMessage(event, message);
19
+ message = safeMessage ?? 'unknown error';
14
20
  if (!this._hasListener('error')) {
15
21
  const error = new WebSocketError(message +
16
22
  `\n\nTo resolve these unhandled rejection errors you should bind an \`error\` callback, e.g. \`ws.on('error', (error) => ...)\` `, event);
@@ -32,12 +38,22 @@ export function buildURL(client, parameters) {
32
38
  url.protocol = url.protocol === 'http:' || url.protocol === 'ws:' ? 'ws:' : 'wss:';
33
39
  return url;
34
40
  }
35
- function safeJSONStringify(value) {
41
+ function safeWebSocketErrorMessage(event, message) {
42
+ if (typeof message === 'string')
43
+ return message;
44
+ if (typeof event !== 'object' || event === null)
45
+ return undefined;
36
46
  try {
37
- return JSON.stringify(value);
47
+ const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
48
+ const nestedMessage = typeof error === 'object' && error !== null
49
+ ? Object.getOwnPropertyDescriptor(error, 'message')?.value
50
+ : undefined;
51
+ const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
52
+ const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
53
+ return typeof candidate === 'string' ? candidate : undefined;
38
54
  }
39
55
  catch {
40
- return null;
56
+ return undefined;
41
57
  }
42
58
  }
43
59
  //# sourceMappingURL=internal-base.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-base.mjs","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAKrF,OAAO,EAAE,YAAY,EAAE,uCAAmC;AAC1D,OAAO,EAAE,WAAW,EAAE,gCAA4B;AAClD,OAAO,EAAE,IAAI,EAAE,yCAAqC;AAcpD,MAAM,OAAO,cAAe,SAAQ,WAAW;IAM7C,YAAY,OAAe,EAAE,KAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;IAClC,CAAC;CACF;AAmBD,MAAM,OAAgB,eAAgB,SAAQ,YAA6B;IAkB/D,QAAQ,CAAC,KAAgC,EAAE,OAA4B,EAAE,KAAW;QAC5F,OAAO,GAAG,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,iIAAiI,EACnI,KAAK,CACN,CAAC;YACF,aAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,UAAmC;IAC1E,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAA,kBAAkB,KAAK,SAAS,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"internal-base.mjs","sourceRoot":"","sources":["../../../src/resources/live/sideband/internal-base.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SidebandEmitter, SidebandStreamMessage } from "./internal-base.mjs";
2
2
  import { type WebSocketLike } from "../../../internal/ws-adapter.mjs";
3
- import { type RawWebSocketData, type ReconnectingEvent, type ReconnectingOverrides } from "../../../internal/ws.mjs";
3
+ import { type WebSocketStreamOptions, type RawWebSocketData, type ReconnectingEvent, type ReconnectingOverrides } from "../../../internal/ws.mjs";
4
4
  import * as SidebandAPI from "./sideband.mjs";
5
5
  import { OpenAI } from "../../../client.mjs";
6
6
  export interface SidebandWSParameters extends Record<string, unknown> {
@@ -38,11 +38,11 @@ export interface SidebandWSBaseOptions {
38
38
  */
39
39
  reconnect?: SidebandWSReconnectOptions | null | undefined;
40
40
  /**
41
- * Maximum size of the outgoing message queue in bytes.
42
- * Messages queued while the socket is connecting or reconnecting are held
43
- * in memory up to this limit. Once the limit is reached, new messages are
44
- * discarded and an `error` event is emitted.
45
- * Default: 1 MB
41
+ * Byte budget for outgoing messages queued while the socket is connecting
42
+ * or reconnecting. An empty queue accepts one message even if it exceeds
43
+ * this budget. Further messages are discarded and an `error` event is emitted
44
+ * if the total queued size would exceed the budget.
45
+ * Default: 1 MiB (1,048,576 bytes).
46
46
  */
47
47
  maxQueueSize?: number | undefined;
48
48
  }
@@ -77,6 +77,11 @@ export declare abstract class SidebandWSBase<TSocket extends WebSocketLike> exte
77
77
  * The iterator will exit if the socket closes but exiting the iterator
78
78
  * does not close the socket.
79
79
  *
80
+ * Pass `maxBufferedEvents` to limit queued records for this iterator, including
81
+ * lifecycle events. Overflow discards its backlog and rejects `next()` with a
82
+ * WebSocketError; the shared socket and other iterators remain active.
83
+ * Omitted means unlimited. This is an event-count limit, not a byte limit.
84
+ *
80
85
  * @example
81
86
  * ```ts
82
87
  * for await (const event of client.stream()) {
@@ -94,8 +99,8 @@ export declare abstract class SidebandWSBase<TSocket extends WebSocketLike> exte
94
99
  * }
95
100
  * ```
96
101
  */
97
- stream(): AsyncIterableIterator<SidebandStreamMessage>;
98
- [Symbol.asyncIterator](): AsyncIterableIterator<SidebandStreamMessage>;
102
+ stream(options?: WebSocketStreamOptions): AsyncIterableIterator<SidebandStreamMessage>;
103
+ [Symbol.asyncIterator](options?: WebSocketStreamOptions): AsyncIterableIterator<SidebandStreamMessage>;
99
104
  private _connect;
100
105
  private _canReconnect;
101
106
  private _reconnect;
@@ -1 +1 @@
1
- {"version":3,"file":"ws-base.d.mts","sourceRoot":"","sources":["../../../src/resources/live/sideband/ws-base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA4B,4BAAwB;AAGnG,OAAO,EAAE,KAAK,aAAa,EAAc,yCAAqC;AAC9E,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAE3B,iCAA6B;AAC9B,OAAO,KAAK,WAAW,uBAAmB;AAC1C,OAAO,EAAE,MAAM,EAAE,4BAAwB;AAGzC,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnE;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,cAAc,CACZ,KAAK,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAC7C,qBAAqB,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;IAEtD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,GAAG,SAAS,CAAC;IAE1D;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,8BAAsB,cAAc,CAAC,OAAO,SAAS,aAAa,CAAE,SAAQ,eAAe;IACzF,GAAG,EAAG,GAAG,CAAC;IACV,MAAM,EAAG,OAAO,CAAC;IAEjB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAc;IAGtC,OAAO,CAAC,eAAe,CAKlB;gBAEO,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS;IAQzG,oDAAoD;IACpD,SAAS,CAAC,eAAe,IAAI,IAAI;IAKjC,gFAAgF;IAChF,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAExF,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,kBAAkB;IAsB1C,OAAO,CAAC,IAAI,EAAE,gBAAgB;IAsB9B,KAAK,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAe9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,IAAI,qBAAqB,CAAC,qBAAqB,CAAC;IAItD,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,qBAAqB,CAAC;IAwJtE,OAAO,CAAC,QAAQ;IA2DhB,OAAO,CAAC,aAAa;YAQP,UAAU;IA+IxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAMjD"}
1
+ {"version":3,"file":"ws-base.d.mts","sourceRoot":"","sources":["../../../src/resources/live/sideband/ws-base.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SidebandEmitter, SidebandStreamMessage } from "./internal-base.js";
2
2
  import { type WebSocketLike } from "../../../internal/ws-adapter.js";
3
- import { type RawWebSocketData, type ReconnectingEvent, type ReconnectingOverrides } from "../../../internal/ws.js";
3
+ import { type WebSocketStreamOptions, type RawWebSocketData, type ReconnectingEvent, type ReconnectingOverrides } from "../../../internal/ws.js";
4
4
  import * as SidebandAPI from "./sideband.js";
5
5
  import { OpenAI } from "../../../client.js";
6
6
  export interface SidebandWSParameters extends Record<string, unknown> {
@@ -38,11 +38,11 @@ export interface SidebandWSBaseOptions {
38
38
  */
39
39
  reconnect?: SidebandWSReconnectOptions | null | undefined;
40
40
  /**
41
- * Maximum size of the outgoing message queue in bytes.
42
- * Messages queued while the socket is connecting or reconnecting are held
43
- * in memory up to this limit. Once the limit is reached, new messages are
44
- * discarded and an `error` event is emitted.
45
- * Default: 1 MB
41
+ * Byte budget for outgoing messages queued while the socket is connecting
42
+ * or reconnecting. An empty queue accepts one message even if it exceeds
43
+ * this budget. Further messages are discarded and an `error` event is emitted
44
+ * if the total queued size would exceed the budget.
45
+ * Default: 1 MiB (1,048,576 bytes).
46
46
  */
47
47
  maxQueueSize?: number | undefined;
48
48
  }
@@ -77,6 +77,11 @@ export declare abstract class SidebandWSBase<TSocket extends WebSocketLike> exte
77
77
  * The iterator will exit if the socket closes but exiting the iterator
78
78
  * does not close the socket.
79
79
  *
80
+ * Pass `maxBufferedEvents` to limit queued records for this iterator, including
81
+ * lifecycle events. Overflow discards its backlog and rejects `next()` with a
82
+ * WebSocketError; the shared socket and other iterators remain active.
83
+ * Omitted means unlimited. This is an event-count limit, not a byte limit.
84
+ *
80
85
  * @example
81
86
  * ```ts
82
87
  * for await (const event of client.stream()) {
@@ -94,8 +99,8 @@ export declare abstract class SidebandWSBase<TSocket extends WebSocketLike> exte
94
99
  * }
95
100
  * ```
96
101
  */
97
- stream(): AsyncIterableIterator<SidebandStreamMessage>;
98
- [Symbol.asyncIterator](): AsyncIterableIterator<SidebandStreamMessage>;
102
+ stream(options?: WebSocketStreamOptions): AsyncIterableIterator<SidebandStreamMessage>;
103
+ [Symbol.asyncIterator](options?: WebSocketStreamOptions): AsyncIterableIterator<SidebandStreamMessage>;
99
104
  private _connect;
100
105
  private _canReconnect;
101
106
  private _reconnect;
@@ -1 +1 @@
1
- {"version":3,"file":"ws-base.d.ts","sourceRoot":"","sources":["../../../src/resources/live/sideband/ws-base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA4B,2BAAwB;AAGnG,OAAO,EAAE,KAAK,aAAa,EAAc,wCAAqC;AAC9E,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAE3B,gCAA6B;AAC9B,OAAO,KAAK,WAAW,sBAAmB;AAC1C,OAAO,EAAE,MAAM,EAAE,2BAAwB;AAGzC,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnE;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,cAAc,CACZ,KAAK,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAC7C,qBAAqB,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;IAEtD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,GAAG,SAAS,CAAC;IAE1D;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,8BAAsB,cAAc,CAAC,OAAO,SAAS,aAAa,CAAE,SAAQ,eAAe;IACzF,GAAG,EAAG,GAAG,CAAC;IACV,MAAM,EAAG,OAAO,CAAC;IAEjB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAc;IAGtC,OAAO,CAAC,eAAe,CAKlB;gBAEO,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS;IAQzG,oDAAoD;IACpD,SAAS,CAAC,eAAe,IAAI,IAAI;IAKjC,gFAAgF;IAChF,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAExF,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,kBAAkB;IAsB1C,OAAO,CAAC,IAAI,EAAE,gBAAgB;IAsB9B,KAAK,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAe9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,IAAI,qBAAqB,CAAC,qBAAqB,CAAC;IAItD,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,qBAAqB,CAAC;IAwJtE,OAAO,CAAC,QAAQ;IA2DhB,OAAO,CAAC,aAAa;YAQP,UAAU;IA+IxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAMjD"}
1
+ {"version":3,"file":"ws-base.d.ts","sourceRoot":"","sources":["../../../src/resources/live/sideband/ws-base.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,11 @@ class SidebandWSBase extends internal_base_1.SidebandEmitter {
91
91
  * The iterator will exit if the socket closes but exiting the iterator
92
92
  * does not close the socket.
93
93
  *
94
+ * Pass `maxBufferedEvents` to limit queued records for this iterator, including
95
+ * lifecycle events. Overflow discards its backlog and rejects `next()` with a
96
+ * WebSocketError; the shared socket and other iterators remain active.
97
+ * Omitted means unlimited. This is an event-count limit, not a byte limit.
98
+ *
94
99
  * @example
95
100
  * ```ts
96
101
  * for await (const event of client.stream()) {
@@ -108,23 +113,50 @@ class SidebandWSBase extends internal_base_1.SidebandEmitter {
108
113
  * }
109
114
  * ```
110
115
  */
111
- stream() {
112
- return this[Symbol.asyncIterator]();
116
+ stream(options) {
117
+ return options === undefined ? this[Symbol.asyncIterator]() : this[Symbol.asyncIterator](options);
113
118
  }
114
- [Symbol.asyncIterator]() {
119
+ [Symbol.asyncIterator](options) {
115
120
  if (!this.socket) {
116
121
  throw new error_1.OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
117
122
  }
123
+ const maxBufferedEvents = (0, ws_1.getMaxBufferedEvents)(options);
118
124
  // Two-queue async iterator: `queue` buffers incoming messages,
119
125
  // `resolvers` buffers waiting next() calls. A push wakes the
120
126
  // oldest next(); a next() drains the oldest message.
121
127
  const queue = [];
122
128
  const resolvers = [];
129
+ let queueHead = 0;
130
+ let resolverHead = 0;
123
131
  let done = false;
132
+ let failure;
124
133
  let currentSocket = this.socket;
134
+ const wakeResolver = () => {
135
+ if (resolverHead >= resolvers.length)
136
+ return;
137
+ const resolver = resolvers[resolverHead];
138
+ resolvers[resolverHead] = undefined;
139
+ resolverHead += 1;
140
+ if (resolverHead >= 64 && resolverHead * 2 >= resolvers.length) {
141
+ resolvers.splice(0, resolverHead);
142
+ resolverHead = 0;
143
+ }
144
+ resolver?.();
145
+ };
125
146
  const push = (msg) => {
147
+ if (done)
148
+ return;
149
+ if (maxBufferedEvents !== undefined && queue.length - queueHead >= maxBufferedEvents) {
150
+ failure = new internal_base_1.WebSocketError(`WebSocket stream exceeded maxBufferedEvents (${maxBufferedEvents})`, null);
151
+ done = true;
152
+ queue.length = 0;
153
+ queueHead = 0;
154
+ cleanup();
155
+ flushResolvers();
156
+ return;
157
+ }
126
158
  queue.push(msg);
127
- resolvers.shift()?.();
159
+ wakeResolver();
128
160
  };
129
161
  const onEvent = (event) => {
130
162
  if (event.type === 'error')
@@ -148,9 +180,14 @@ class SidebandWSBase extends internal_base_1.SidebandEmitter {
148
180
  push({ type: 'reconnected' });
149
181
  };
150
182
  const flushResolvers = () => {
151
- for (let resolver = resolvers.shift(); resolver; resolver = resolvers.shift()) {
152
- resolver();
183
+ while (resolverHead < resolvers.length) {
184
+ const resolver = resolvers[resolverHead];
185
+ resolvers[resolverHead] = undefined;
186
+ resolverHead += 1;
187
+ resolver?.();
153
188
  }
189
+ resolvers.length = 0;
190
+ resolverHead = 0;
154
191
  };
155
192
  const onClose = (code, reason, unsent) => {
156
193
  push({ type: 'close', code, reason, unsent });
@@ -158,8 +195,10 @@ class SidebandWSBase extends internal_base_1.SidebandEmitter {
158
195
  flushResolvers();
159
196
  cleanup();
160
197
  };
161
- const onSocketSwap = (oldSocket, newSocket) => {
162
- oldSocket.off('open', onOpen);
198
+ const onSocketSwap = (_oldSocket, newSocket) => {
199
+ if (currentSocket === newSocket)
200
+ return;
201
+ currentSocket.off('open', onOpen);
163
202
  newSocket.on('open', onOpen);
164
203
  currentSocket = newSocket;
165
204
  };
@@ -213,9 +252,19 @@ class SidebandWSBase extends internal_base_1.SidebandEmitter {
213
252
  break;
214
253
  }
215
254
  }
216
- const resolve = (res) => {
217
- if (queue.length > 0) {
218
- res({ value: queue.shift(), done: false });
255
+ const resolve = (res, reject) => {
256
+ if (failure) {
257
+ reject(failure);
258
+ }
259
+ else if (queueHead < queue.length) {
260
+ const queued = queue[queueHead];
261
+ queue[queueHead] = undefined;
262
+ queueHead += 1;
263
+ if (queueHead >= 64 && queueHead * 2 >= queue.length) {
264
+ queue.splice(0, queueHead);
265
+ queueHead = 0;
266
+ }
267
+ res({ value: queued, done: false });
219
268
  }
220
269
  else if (done) {
221
270
  res({ value: undefined, done: true });
@@ -225,17 +274,19 @@ class SidebandWSBase extends internal_base_1.SidebandEmitter {
225
274
  }
226
275
  return true;
227
276
  };
228
- const next = () => new Promise((res) => {
229
- if (resolve(res))
277
+ const next = () => new Promise((res, reject) => {
278
+ if (resolve(res, reject))
230
279
  return;
231
280
  resolvers.push(() => {
232
- resolve(res);
281
+ resolve(res, reject);
233
282
  });
234
283
  });
235
284
  return {
236
285
  next,
237
286
  return: () => {
238
287
  done = true;
288
+ queue.length = 0;
289
+ queueHead = 0;
239
290
  cleanup();
240
291
  flushResolvers();
241
292
  return Promise.resolve({ value: undefined, done: true });
@@ -263,6 +314,26 @@ class SidebandWSBase extends internal_base_1.SidebandEmitter {
263
314
  this._emit('raw', data);
264
315
  return;
265
316
  }
317
+ if (event === null ||
318
+ typeof event !== 'object' ||
319
+ Array.isArray(event) ||
320
+ !Object.prototype.hasOwnProperty.call(event, 'type') ||
321
+ typeof event.type !== 'string') {
322
+ this._onError(null, 'received invalid WebSocket event: expected an object with an own string type', undefined);
323
+ return;
324
+ }
325
+ const eventType = event.type;
326
+ const reservedEventType = eventType === 'raw' ||
327
+ eventType === 'close' ||
328
+ eventType === 'event' ||
329
+ eventType === 'reconnecting' ||
330
+ eventType === 'reconnected' ||
331
+ eventType === 'open' ||
332
+ eventType === 'error';
333
+ if (reservedEventType && eventType !== 'error') {
334
+ this._onError(null, 'received reserved WebSocket event type', undefined);
335
+ return;
336
+ }
266
337
  this._emit('event', event);
267
338
  if (event.type === 'error') {
268
339
  this._onError(event);