openai 6.34.0 → 6.36.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 (833) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/azure.d.mts +4 -1
  3. package/azure.d.mts.map +1 -1
  4. package/azure.d.ts +4 -1
  5. package/azure.d.ts.map +1 -1
  6. package/azure.js +4 -3
  7. package/azure.js.map +1 -1
  8. package/azure.mjs +4 -3
  9. package/azure.mjs.map +1 -1
  10. package/beta/realtime/websocket.d.mts.map +1 -1
  11. package/beta/realtime/websocket.d.ts.map +1 -1
  12. package/beta/realtime/websocket.js +7 -2
  13. package/beta/realtime/websocket.js.map +1 -1
  14. package/beta/realtime/websocket.mjs +7 -2
  15. package/beta/realtime/websocket.mjs.map +1 -1
  16. package/beta/realtime/ws.d.mts.map +1 -1
  17. package/beta/realtime/ws.d.ts.map +1 -1
  18. package/beta/realtime/ws.js +5 -1
  19. package/beta/realtime/ws.js.map +1 -1
  20. package/beta/realtime/ws.mjs +5 -1
  21. package/beta/realtime/ws.mjs.map +1 -1
  22. package/bin/migration-config.json +735 -0
  23. package/client.d.mts +30 -8
  24. package/client.d.mts.map +1 -1
  25. package/client.d.ts +30 -8
  26. package/client.d.ts.map +1 -1
  27. package/client.js +78 -22
  28. package/client.js.map +1 -1
  29. package/client.mjs +78 -22
  30. package/client.mjs.map +1 -1
  31. package/core/EventEmitter.d.mts +11 -0
  32. package/core/EventEmitter.d.mts.map +1 -1
  33. package/core/EventEmitter.d.ts +11 -0
  34. package/core/EventEmitter.d.ts.map +1 -1
  35. package/core/EventEmitter.js +15 -1
  36. package/core/EventEmitter.js.map +1 -1
  37. package/core/EventEmitter.mjs +13 -0
  38. package/core/EventEmitter.mjs.map +1 -1
  39. package/core/pagination.d.mts +18 -0
  40. package/core/pagination.d.mts.map +1 -1
  41. package/core/pagination.d.ts +18 -0
  42. package/core/pagination.d.ts.map +1 -1
  43. package/core/pagination.js +32 -1
  44. package/core/pagination.js.map +1 -1
  45. package/core/pagination.mjs +30 -0
  46. package/core/pagination.mjs.map +1 -1
  47. package/internal/request-options.d.mts +4 -0
  48. package/internal/request-options.d.mts.map +1 -1
  49. package/internal/request-options.d.ts +4 -0
  50. package/internal/request-options.d.ts.map +1 -1
  51. package/internal/request-options.js.map +1 -1
  52. package/internal/request-options.mjs.map +1 -1
  53. package/internal/types.d.mts +6 -6
  54. package/internal/types.d.mts.map +1 -1
  55. package/internal/types.d.ts +6 -6
  56. package/internal/types.d.ts.map +1 -1
  57. package/internal/utils/env.js +2 -2
  58. package/internal/utils/env.js.map +1 -1
  59. package/internal/utils/env.mjs +2 -2
  60. package/internal/utils/env.mjs.map +1 -1
  61. package/internal/ws-adapter-browser.d.mts +34 -0
  62. package/internal/ws-adapter-browser.d.mts.map +1 -0
  63. package/internal/ws-adapter-browser.d.ts +34 -0
  64. package/internal/ws-adapter-browser.d.ts.map +1 -0
  65. package/internal/ws-adapter-browser.js +88 -0
  66. package/internal/ws-adapter-browser.js.map +1 -0
  67. package/internal/ws-adapter-browser.mjs +84 -0
  68. package/internal/ws-adapter-browser.mjs.map +1 -0
  69. package/internal/ws-adapter-node.d.mts +27 -0
  70. package/internal/ws-adapter-node.d.mts.map +1 -0
  71. package/internal/ws-adapter-node.d.ts +27 -0
  72. package/internal/ws-adapter-node.d.ts.map +1 -0
  73. package/internal/ws-adapter-node.js +90 -0
  74. package/internal/ws-adapter-node.js.map +1 -0
  75. package/internal/ws-adapter-node.mjs +86 -0
  76. package/internal/ws-adapter-node.mjs.map +1 -0
  77. package/internal/ws-adapter.d.mts +24 -0
  78. package/internal/ws-adapter.d.mts.map +1 -0
  79. package/internal/ws-adapter.d.ts +24 -0
  80. package/internal/ws-adapter.d.ts.map +1 -0
  81. package/internal/ws-adapter.js +11 -0
  82. package/internal/ws-adapter.js.map +1 -0
  83. package/internal/ws-adapter.mjs +8 -0
  84. package/internal/ws-adapter.mjs.map +1 -0
  85. package/internal/ws.d.mts +80 -0
  86. package/internal/ws.d.mts.map +1 -0
  87. package/internal/ws.d.ts +80 -0
  88. package/internal/ws.d.ts.map +1 -0
  89. package/internal/ws.js +153 -0
  90. package/internal/ws.js.map +1 -0
  91. package/internal/ws.mjs +147 -0
  92. package/internal/ws.mjs.map +1 -0
  93. package/package.json +13 -13
  94. package/realtime/websocket.d.mts.map +1 -1
  95. package/realtime/websocket.d.ts.map +1 -1
  96. package/realtime/websocket.js +7 -2
  97. package/realtime/websocket.js.map +1 -1
  98. package/realtime/websocket.mjs +7 -2
  99. package/realtime/websocket.mjs.map +1 -1
  100. package/realtime/ws.d.mts.map +1 -1
  101. package/realtime/ws.d.ts.map +1 -1
  102. package/realtime/ws.js +5 -1
  103. package/realtime/ws.js.map +1 -1
  104. package/realtime/ws.mjs +5 -1
  105. package/realtime/ws.mjs.map +1 -1
  106. package/resources/admin/admin.d.mts +10 -0
  107. package/resources/admin/admin.d.mts.map +1 -0
  108. package/resources/admin/admin.d.ts +10 -0
  109. package/resources/admin/admin.d.ts.map +1 -0
  110. package/resources/admin/admin.js +17 -0
  111. package/resources/admin/admin.js.map +1 -0
  112. package/resources/admin/admin.mjs +12 -0
  113. package/resources/admin/admin.mjs.map +1 -0
  114. package/resources/admin/index.d.mts +3 -0
  115. package/resources/admin/index.d.mts.map +1 -0
  116. package/resources/admin/index.d.ts +3 -0
  117. package/resources/admin/index.d.ts.map +1 -0
  118. package/resources/admin/index.js +9 -0
  119. package/resources/admin/index.js.map +1 -0
  120. package/resources/admin/index.mjs +4 -0
  121. package/resources/admin/index.mjs.map +1 -0
  122. package/resources/admin/organization/admin-api-keys.d.mts +140 -0
  123. package/resources/admin/organization/admin-api-keys.d.mts.map +1 -0
  124. package/resources/admin/organization/admin-api-keys.d.ts +140 -0
  125. package/resources/admin/organization/admin-api-keys.d.ts.map +1 -0
  126. package/resources/admin/organization/admin-api-keys.js +81 -0
  127. package/resources/admin/organization/admin-api-keys.js.map +1 -0
  128. package/resources/admin/organization/admin-api-keys.mjs +77 -0
  129. package/resources/admin/organization/admin-api-keys.mjs.map +1 -0
  130. package/resources/admin/organization/audit-logs.d.mts +1267 -0
  131. package/resources/admin/organization/audit-logs.d.mts.map +1 -0
  132. package/resources/admin/organization/audit-logs.d.ts +1267 -0
  133. package/resources/admin/organization/audit-logs.d.ts.map +1 -0
  134. package/resources/admin/organization/audit-logs.js +31 -0
  135. package/resources/admin/organization/audit-logs.js.map +1 -0
  136. package/resources/admin/organization/audit-logs.mjs +27 -0
  137. package/resources/admin/organization/audit-logs.mjs.map +1 -0
  138. package/resources/admin/organization/certificates.d.mts +322 -0
  139. package/resources/admin/organization/certificates.d.mts.map +1 -0
  140. package/resources/admin/organization/certificates.d.ts +322 -0
  141. package/resources/admin/organization/certificates.d.ts.map +1 -0
  142. package/resources/admin/organization/certificates.js +144 -0
  143. package/resources/admin/organization/certificates.js.map +1 -0
  144. package/resources/admin/organization/certificates.mjs +140 -0
  145. package/resources/admin/organization/certificates.mjs.map +1 -0
  146. package/resources/admin/organization/groups/groups.d.mts +148 -0
  147. package/resources/admin/organization/groups/groups.d.mts.map +1 -0
  148. package/resources/admin/organization/groups/groups.d.ts +148 -0
  149. package/resources/admin/organization/groups/groups.d.ts.map +1 -0
  150. package/resources/admin/organization/groups/groups.js +92 -0
  151. package/resources/admin/organization/groups/groups.js.map +1 -0
  152. package/resources/admin/organization/groups/groups.mjs +87 -0
  153. package/resources/admin/organization/groups/groups.mjs.map +1 -0
  154. package/resources/admin/organization/groups/index.d.mts +4 -0
  155. package/resources/admin/organization/groups/index.d.mts.map +1 -0
  156. package/resources/admin/organization/groups/index.d.ts +4 -0
  157. package/resources/admin/organization/groups/index.d.ts.map +1 -0
  158. package/resources/admin/organization/groups/index.js +11 -0
  159. package/resources/admin/organization/groups/index.js.map +1 -0
  160. package/resources/admin/organization/groups/index.mjs +5 -0
  161. package/resources/admin/organization/groups/index.mjs.map +1 -0
  162. package/resources/admin/organization/groups/roles.d.mts +182 -0
  163. package/resources/admin/organization/groups/roles.d.mts.map +1 -0
  164. package/resources/admin/organization/groups/roles.d.ts +182 -0
  165. package/resources/admin/organization/groups/roles.d.ts.map +1 -0
  166. package/resources/admin/organization/groups/roles.js +65 -0
  167. package/resources/admin/organization/groups/roles.js.map +1 -0
  168. package/resources/admin/organization/groups/roles.mjs +61 -0
  169. package/resources/admin/organization/groups/roles.mjs.map +1 -0
  170. package/resources/admin/organization/groups/users.d.mts +116 -0
  171. package/resources/admin/organization/groups/users.d.mts.map +1 -0
  172. package/resources/admin/organization/groups/users.d.ts +116 -0
  173. package/resources/admin/organization/groups/users.d.ts.map +1 -0
  174. package/resources/admin/organization/groups/users.js +65 -0
  175. package/resources/admin/organization/groups/users.js.map +1 -0
  176. package/resources/admin/organization/groups/users.mjs +61 -0
  177. package/resources/admin/organization/groups/users.mjs.map +1 -0
  178. package/resources/admin/organization/groups.d.mts +2 -0
  179. package/resources/admin/organization/groups.d.mts.map +1 -0
  180. package/resources/admin/organization/groups.d.ts +2 -0
  181. package/resources/admin/organization/groups.d.ts.map +1 -0
  182. package/resources/admin/organization/groups.js +6 -0
  183. package/resources/admin/organization/groups.js.map +1 -0
  184. package/resources/admin/organization/groups.mjs +3 -0
  185. package/resources/admin/organization/groups.mjs.map +1 -0
  186. package/resources/admin/organization/index.d.mts +11 -0
  187. package/resources/admin/organization/index.d.mts.map +1 -0
  188. package/resources/admin/organization/index.d.ts +11 -0
  189. package/resources/admin/organization/index.d.ts.map +1 -0
  190. package/resources/admin/organization/index.js +25 -0
  191. package/resources/admin/organization/index.js.map +1 -0
  192. package/resources/admin/organization/index.mjs +12 -0
  193. package/resources/admin/organization/index.mjs.map +1 -0
  194. package/resources/admin/organization/invites.d.mts +152 -0
  195. package/resources/admin/organization/invites.d.mts.map +1 -0
  196. package/resources/admin/organization/invites.d.ts +152 -0
  197. package/resources/admin/organization/invites.d.ts.map +1 -0
  198. package/resources/admin/organization/invites.js +83 -0
  199. package/resources/admin/organization/invites.js.map +1 -0
  200. package/resources/admin/organization/invites.mjs +79 -0
  201. package/resources/admin/organization/invites.mjs.map +1 -0
  202. package/resources/admin/organization/organization.d.mts +42 -0
  203. package/resources/admin/organization/organization.d.mts.map +1 -0
  204. package/resources/admin/organization/organization.d.ts +42 -0
  205. package/resources/admin/organization/organization.d.ts.map +1 -0
  206. package/resources/admin/organization/organization.js +49 -0
  207. package/resources/admin/organization/organization.js.map +1 -0
  208. package/resources/admin/organization/organization.mjs +44 -0
  209. package/resources/admin/organization/organization.mjs.map +1 -0
  210. package/resources/admin/organization/projects/api-keys.d.mts +167 -0
  211. package/resources/admin/organization/projects/api-keys.d.mts.map +1 -0
  212. package/resources/admin/organization/projects/api-keys.d.ts +167 -0
  213. package/resources/admin/organization/projects/api-keys.d.ts.map +1 -0
  214. package/resources/admin/organization/projects/api-keys.js +68 -0
  215. package/resources/admin/organization/projects/api-keys.js.map +1 -0
  216. package/resources/admin/organization/projects/api-keys.mjs +64 -0
  217. package/resources/admin/organization/projects/api-keys.mjs.map +1 -0
  218. package/resources/admin/organization/projects/certificates.d.mts +186 -0
  219. package/resources/admin/organization/projects/certificates.d.mts.map +1 -0
  220. package/resources/admin/organization/projects/certificates.d.ts +186 -0
  221. package/resources/admin/organization/projects/certificates.d.ts.map +1 -0
  222. package/resources/admin/organization/projects/certificates.js +64 -0
  223. package/resources/admin/organization/projects/certificates.js.map +1 -0
  224. package/resources/admin/organization/projects/certificates.mjs +60 -0
  225. package/resources/admin/organization/projects/certificates.mjs.map +1 -0
  226. package/resources/admin/organization/projects/groups/groups.d.mts +119 -0
  227. package/resources/admin/organization/projects/groups/groups.d.mts.map +1 -0
  228. package/resources/admin/organization/projects/groups/groups.d.ts +119 -0
  229. package/resources/admin/organization/projects/groups/groups.d.ts.map +1 -0
  230. package/resources/admin/organization/projects/groups/groups.js +73 -0
  231. package/resources/admin/organization/projects/groups/groups.js.map +1 -0
  232. package/resources/admin/organization/projects/groups/groups.mjs +68 -0
  233. package/resources/admin/organization/projects/groups/groups.mjs.map +1 -0
  234. package/resources/admin/organization/projects/groups/index.d.mts +3 -0
  235. package/resources/admin/organization/projects/groups/index.d.mts.map +1 -0
  236. package/resources/admin/organization/projects/groups/index.d.ts +3 -0
  237. package/resources/admin/organization/projects/groups/index.d.ts.map +1 -0
  238. package/resources/admin/organization/projects/groups/index.js +9 -0
  239. package/resources/admin/organization/projects/groups/index.js.map +1 -0
  240. package/resources/admin/organization/projects/groups/index.mjs +4 -0
  241. package/resources/admin/organization/projects/groups/index.mjs.map +1 -0
  242. package/resources/admin/organization/projects/groups/roles.d.mts +195 -0
  243. package/resources/admin/organization/projects/groups/roles.d.mts.map +1 -0
  244. package/resources/admin/organization/projects/groups/roles.d.ts +195 -0
  245. package/resources/admin/organization/projects/groups/roles.d.ts.map +1 -0
  246. package/resources/admin/organization/projects/groups/roles.js +68 -0
  247. package/resources/admin/organization/projects/groups/roles.js.map +1 -0
  248. package/resources/admin/organization/projects/groups/roles.mjs +64 -0
  249. package/resources/admin/organization/projects/groups/roles.mjs.map +1 -0
  250. package/resources/admin/organization/projects/groups.d.mts +2 -0
  251. package/resources/admin/organization/projects/groups.d.mts.map +1 -0
  252. package/resources/admin/organization/projects/groups.d.ts +2 -0
  253. package/resources/admin/organization/projects/groups.d.ts.map +1 -0
  254. package/resources/admin/organization/projects/groups.js +6 -0
  255. package/resources/admin/organization/projects/groups.js.map +1 -0
  256. package/resources/admin/organization/projects/groups.mjs +3 -0
  257. package/resources/admin/organization/projects/groups.mjs.map +1 -0
  258. package/resources/admin/organization/projects/index.d.mts +9 -0
  259. package/resources/admin/organization/projects/index.d.mts.map +1 -0
  260. package/resources/admin/organization/projects/index.d.ts +9 -0
  261. package/resources/admin/organization/projects/index.d.ts.map +1 -0
  262. package/resources/admin/organization/projects/index.js +21 -0
  263. package/resources/admin/organization/projects/index.js.map +1 -0
  264. package/resources/admin/organization/projects/index.mjs +10 -0
  265. package/resources/admin/organization/projects/index.mjs.map +1 -0
  266. package/resources/admin/organization/projects/projects.d.mts +172 -0
  267. package/resources/admin/organization/projects/projects.d.mts.map +1 -0
  268. package/resources/admin/organization/projects/projects.d.ts +172 -0
  269. package/resources/admin/organization/projects/projects.d.ts.map +1 -0
  270. package/resources/admin/organization/projects/projects.js +133 -0
  271. package/resources/admin/organization/projects/projects.js.map +1 -0
  272. package/resources/admin/organization/projects/projects.mjs +128 -0
  273. package/resources/admin/organization/projects/projects.mjs.map +1 -0
  274. package/resources/admin/organization/projects/rate-limits.d.mts +120 -0
  275. package/resources/admin/organization/projects/rate-limits.d.mts.map +1 -0
  276. package/resources/admin/organization/projects/rate-limits.d.ts +120 -0
  277. package/resources/admin/organization/projects/rate-limits.d.ts.map +1 -0
  278. package/resources/admin/organization/projects/rate-limits.js +47 -0
  279. package/resources/admin/organization/projects/rate-limits.js.map +1 -0
  280. package/resources/admin/organization/projects/rate-limits.mjs +43 -0
  281. package/resources/admin/organization/projects/rate-limits.mjs.map +1 -0
  282. package/resources/admin/organization/projects/roles.d.mts +127 -0
  283. package/resources/admin/organization/projects/roles.d.mts.map +1 -0
  284. package/resources/admin/organization/projects/roles.d.ts +127 -0
  285. package/resources/admin/organization/projects/roles.d.ts.map +1 -0
  286. package/resources/admin/organization/projects/roles.js +89 -0
  287. package/resources/admin/organization/projects/roles.js.map +1 -0
  288. package/resources/admin/organization/projects/roles.mjs +85 -0
  289. package/resources/admin/organization/projects/roles.mjs.map +1 -0
  290. package/resources/admin/organization/projects/service-accounts.d.mts +141 -0
  291. package/resources/admin/organization/projects/service-accounts.d.mts.map +1 -0
  292. package/resources/admin/organization/projects/service-accounts.d.ts +141 -0
  293. package/resources/admin/organization/projects/service-accounts.d.ts.map +1 -0
  294. package/resources/admin/organization/projects/service-accounts.js +85 -0
  295. package/resources/admin/organization/projects/service-accounts.js.map +1 -0
  296. package/resources/admin/organization/projects/service-accounts.mjs +81 -0
  297. package/resources/admin/organization/projects/service-accounts.mjs.map +1 -0
  298. package/resources/admin/organization/projects/users/index.d.mts +3 -0
  299. package/resources/admin/organization/projects/users/index.d.mts.map +1 -0
  300. package/resources/admin/organization/projects/users/index.d.ts +3 -0
  301. package/resources/admin/organization/projects/users/index.d.ts.map +1 -0
  302. package/resources/admin/organization/projects/users/index.js +9 -0
  303. package/resources/admin/organization/projects/users/index.js.map +1 -0
  304. package/resources/admin/organization/projects/users/index.mjs +4 -0
  305. package/resources/admin/organization/projects/users/index.mjs.map +1 -0
  306. package/resources/admin/organization/projects/users/roles.d.mts +169 -0
  307. package/resources/admin/organization/projects/users/roles.d.mts.map +1 -0
  308. package/resources/admin/organization/projects/users/roles.d.ts +169 -0
  309. package/resources/admin/organization/projects/users/roles.d.ts.map +1 -0
  310. package/resources/admin/organization/projects/users/roles.js +68 -0
  311. package/resources/admin/organization/projects/users/roles.js.map +1 -0
  312. package/resources/admin/organization/projects/users/roles.mjs +64 -0
  313. package/resources/admin/organization/projects/users/roles.mjs.map +1 -0
  314. package/resources/admin/organization/projects/users/users.d.mts +157 -0
  315. package/resources/admin/organization/projects/users/users.d.mts.map +1 -0
  316. package/resources/admin/organization/projects/users/users.d.ts +157 -0
  317. package/resources/admin/organization/projects/users/users.d.ts.map +1 -0
  318. package/resources/admin/organization/projects/users/users.js +116 -0
  319. package/resources/admin/organization/projects/users/users.js.map +1 -0
  320. package/resources/admin/organization/projects/users/users.mjs +111 -0
  321. package/resources/admin/organization/projects/users/users.mjs.map +1 -0
  322. package/resources/admin/organization/projects/users.d.mts +2 -0
  323. package/resources/admin/organization/projects/users.d.mts.map +1 -0
  324. package/resources/admin/organization/projects/users.d.ts +2 -0
  325. package/resources/admin/organization/projects/users.d.ts.map +1 -0
  326. package/resources/admin/organization/projects/users.js +6 -0
  327. package/resources/admin/organization/projects/users.js.map +1 -0
  328. package/resources/admin/organization/projects/users.mjs +3 -0
  329. package/resources/admin/organization/projects/users.mjs.map +1 -0
  330. package/resources/admin/organization/projects.d.mts +2 -0
  331. package/resources/admin/organization/projects.d.mts.map +1 -0
  332. package/resources/admin/organization/projects.d.ts +2 -0
  333. package/resources/admin/organization/projects.d.ts.map +1 -0
  334. package/resources/admin/organization/projects.js +6 -0
  335. package/resources/admin/organization/projects.js.map +1 -0
  336. package/resources/admin/organization/projects.mjs +3 -0
  337. package/resources/admin/organization/projects.mjs.map +1 -0
  338. package/resources/admin/organization/roles.d.mts +142 -0
  339. package/resources/admin/organization/roles.d.mts.map +1 -0
  340. package/resources/admin/organization/roles.d.ts +142 -0
  341. package/resources/admin/organization/roles.d.ts.map +1 -0
  342. package/resources/admin/organization/roles.js +80 -0
  343. package/resources/admin/organization/roles.js.map +1 -0
  344. package/resources/admin/organization/roles.mjs +76 -0
  345. package/resources/admin/organization/roles.mjs.map +1 -0
  346. package/resources/admin/organization/usage.d.mts +3519 -0
  347. package/resources/admin/organization/usage.d.mts.map +1 -0
  348. package/resources/admin/organization/usage.d.ts +3519 -0
  349. package/resources/admin/organization/usage.d.ts.map +1 -0
  350. package/resources/admin/organization/usage.js +171 -0
  351. package/resources/admin/organization/usage.js.map +1 -0
  352. package/resources/admin/organization/usage.mjs +167 -0
  353. package/resources/admin/organization/usage.mjs.map +1 -0
  354. package/resources/admin/organization/users/index.d.mts +3 -0
  355. package/resources/admin/organization/users/index.d.mts.map +1 -0
  356. package/resources/admin/organization/users/index.d.ts +3 -0
  357. package/resources/admin/organization/users/index.d.ts.map +1 -0
  358. package/resources/admin/organization/users/index.js +9 -0
  359. package/resources/admin/organization/users/index.js.map +1 -0
  360. package/resources/admin/organization/users/index.mjs +4 -0
  361. package/resources/admin/organization/users/index.mjs.map +1 -0
  362. package/resources/admin/organization/users/roles.d.mts +156 -0
  363. package/resources/admin/organization/users/roles.d.mts.map +1 -0
  364. package/resources/admin/organization/users/roles.d.ts +156 -0
  365. package/resources/admin/organization/users/roles.d.ts.map +1 -0
  366. package/resources/admin/organization/users/roles.js +65 -0
  367. package/resources/admin/organization/users/roles.js.map +1 -0
  368. package/resources/admin/organization/users/roles.mjs +61 -0
  369. package/resources/admin/organization/users/roles.mjs.map +1 -0
  370. package/resources/admin/organization/users/users.d.mts +185 -0
  371. package/resources/admin/organization/users/users.d.mts.map +1 -0
  372. package/resources/admin/organization/users/users.d.ts +185 -0
  373. package/resources/admin/organization/users/users.d.ts.map +1 -0
  374. package/resources/admin/organization/users/users.js +84 -0
  375. package/resources/admin/organization/users/users.js.map +1 -0
  376. package/resources/admin/organization/users/users.mjs +79 -0
  377. package/resources/admin/organization/users/users.mjs.map +1 -0
  378. package/resources/admin/organization/users.d.mts +2 -0
  379. package/resources/admin/organization/users.d.mts.map +1 -0
  380. package/resources/admin/organization/users.d.ts +2 -0
  381. package/resources/admin/organization/users.d.ts.map +1 -0
  382. package/resources/admin/organization/users.js +6 -0
  383. package/resources/admin/organization/users.js.map +1 -0
  384. package/resources/admin/organization/users.mjs +3 -0
  385. package/resources/admin/organization/users.mjs.map +1 -0
  386. package/resources/admin/organization.d.mts +2 -0
  387. package/resources/admin/organization.d.mts.map +1 -0
  388. package/resources/admin/organization.d.ts +2 -0
  389. package/resources/admin/organization.d.ts.map +1 -0
  390. package/resources/admin/organization.js +6 -0
  391. package/resources/admin/organization.js.map +1 -0
  392. package/resources/admin/organization.mjs +3 -0
  393. package/resources/admin/organization.mjs.map +1 -0
  394. package/resources/admin.d.mts +2 -0
  395. package/resources/admin.d.mts.map +1 -0
  396. package/resources/admin.d.ts +2 -0
  397. package/resources/admin.d.ts.map +1 -0
  398. package/resources/admin.js +6 -0
  399. package/resources/admin.js.map +1 -0
  400. package/resources/admin.mjs +3 -0
  401. package/resources/admin.mjs.map +1 -0
  402. package/resources/audio/speech.d.mts +2 -2
  403. package/resources/audio/speech.d.mts.map +1 -1
  404. package/resources/audio/speech.d.ts +2 -2
  405. package/resources/audio/speech.d.ts.map +1 -1
  406. package/resources/audio/speech.js +3 -2
  407. package/resources/audio/speech.js.map +1 -1
  408. package/resources/audio/speech.mjs +3 -2
  409. package/resources/audio/speech.mjs.map +1 -1
  410. package/resources/audio/transcriptions.d.mts.map +1 -1
  411. package/resources/audio/transcriptions.d.ts.map +1 -1
  412. package/resources/audio/transcriptions.js +1 -0
  413. package/resources/audio/transcriptions.js.map +1 -1
  414. package/resources/audio/transcriptions.mjs +1 -0
  415. package/resources/audio/transcriptions.mjs.map +1 -1
  416. package/resources/audio/translations.d.mts.map +1 -1
  417. package/resources/audio/translations.d.ts.map +1 -1
  418. package/resources/audio/translations.js +1 -1
  419. package/resources/audio/translations.js.map +1 -1
  420. package/resources/audio/translations.mjs +1 -1
  421. package/resources/audio/translations.mjs.map +1 -1
  422. package/resources/batches.d.mts.map +1 -1
  423. package/resources/batches.d.ts.map +1 -1
  424. package/resources/batches.js +11 -4
  425. package/resources/batches.js.map +1 -1
  426. package/resources/batches.mjs +11 -4
  427. package/resources/batches.mjs.map +1 -1
  428. package/resources/beta/assistants.d.mts.map +1 -1
  429. package/resources/beta/assistants.d.ts.map +1 -1
  430. package/resources/beta/assistants.js +5 -0
  431. package/resources/beta/assistants.js.map +1 -1
  432. package/resources/beta/assistants.mjs +5 -0
  433. package/resources/beta/assistants.mjs.map +1 -1
  434. package/resources/beta/chatkit/sessions.d.mts.map +1 -1
  435. package/resources/beta/chatkit/sessions.d.ts.map +1 -1
  436. package/resources/beta/chatkit/sessions.js +2 -0
  437. package/resources/beta/chatkit/sessions.js.map +1 -1
  438. package/resources/beta/chatkit/sessions.mjs +2 -0
  439. package/resources/beta/chatkit/sessions.mjs.map +1 -1
  440. package/resources/beta/chatkit/threads.d.mts.map +1 -1
  441. package/resources/beta/chatkit/threads.d.ts.map +1 -1
  442. package/resources/beta/chatkit/threads.js +9 -1
  443. package/resources/beta/chatkit/threads.js.map +1 -1
  444. package/resources/beta/chatkit/threads.mjs +9 -1
  445. package/resources/beta/chatkit/threads.mjs.map +1 -1
  446. package/resources/beta/realtime/sessions.d.mts.map +1 -1
  447. package/resources/beta/realtime/sessions.d.ts.map +1 -1
  448. package/resources/beta/realtime/sessions.js +1 -0
  449. package/resources/beta/realtime/sessions.js.map +1 -1
  450. package/resources/beta/realtime/sessions.mjs +1 -0
  451. package/resources/beta/realtime/sessions.mjs.map +1 -1
  452. package/resources/beta/realtime/transcription-sessions.d.mts.map +1 -1
  453. package/resources/beta/realtime/transcription-sessions.d.ts.map +1 -1
  454. package/resources/beta/realtime/transcription-sessions.js +1 -0
  455. package/resources/beta/realtime/transcription-sessions.js.map +1 -1
  456. package/resources/beta/realtime/transcription-sessions.mjs +1 -0
  457. package/resources/beta/realtime/transcription-sessions.mjs.map +1 -1
  458. package/resources/beta/threads/messages.d.mts.map +1 -1
  459. package/resources/beta/threads/messages.d.ts.map +1 -1
  460. package/resources/beta/threads/messages.js +5 -0
  461. package/resources/beta/threads/messages.js.map +1 -1
  462. package/resources/beta/threads/messages.mjs +5 -0
  463. package/resources/beta/threads/messages.mjs.map +1 -1
  464. package/resources/beta/threads/runs/runs.d.mts.map +1 -1
  465. package/resources/beta/threads/runs/runs.d.ts.map +1 -1
  466. package/resources/beta/threads/runs/runs.js +6 -0
  467. package/resources/beta/threads/runs/runs.js.map +1 -1
  468. package/resources/beta/threads/runs/runs.mjs +6 -0
  469. package/resources/beta/threads/runs/runs.mjs.map +1 -1
  470. package/resources/beta/threads/runs/steps.d.mts.map +1 -1
  471. package/resources/beta/threads/runs/steps.d.ts.map +1 -1
  472. package/resources/beta/threads/runs/steps.js +2 -0
  473. package/resources/beta/threads/runs/steps.js.map +1 -1
  474. package/resources/beta/threads/runs/steps.mjs +2 -0
  475. package/resources/beta/threads/runs/steps.mjs.map +1 -1
  476. package/resources/beta/threads/threads.d.mts.map +1 -1
  477. package/resources/beta/threads/threads.d.ts.map +1 -1
  478. package/resources/beta/threads/threads.js +5 -0
  479. package/resources/beta/threads/threads.js.map +1 -1
  480. package/resources/beta/threads/threads.mjs +5 -0
  481. package/resources/beta/threads/threads.mjs.map +1 -1
  482. package/resources/chat/completions/completions.d.mts +1 -1
  483. package/resources/chat/completions/completions.d.mts.map +1 -1
  484. package/resources/chat/completions/completions.d.ts +1 -1
  485. package/resources/chat/completions/completions.d.ts.map +1 -1
  486. package/resources/chat/completions/completions.js +24 -5
  487. package/resources/chat/completions/completions.js.map +1 -1
  488. package/resources/chat/completions/completions.mjs +24 -5
  489. package/resources/chat/completions/completions.mjs.map +1 -1
  490. package/resources/chat/completions/messages.js +1 -1
  491. package/resources/chat/completions/messages.js.map +1 -1
  492. package/resources/chat/completions/messages.mjs +1 -1
  493. package/resources/chat/completions/messages.mjs.map +1 -1
  494. package/resources/completions.d.mts +1 -1
  495. package/resources/completions.d.mts.map +1 -1
  496. package/resources/completions.d.ts +1 -1
  497. package/resources/completions.d.ts.map +1 -1
  498. package/resources/completions.js +6 -1
  499. package/resources/completions.js.map +1 -1
  500. package/resources/completions.mjs +6 -1
  501. package/resources/completions.mjs.map +1 -1
  502. package/resources/containers/containers.d.mts.map +1 -1
  503. package/resources/containers/containers.d.ts.map +1 -1
  504. package/resources/containers/containers.js +11 -3
  505. package/resources/containers/containers.js.map +1 -1
  506. package/resources/containers/containers.mjs +11 -3
  507. package/resources/containers/containers.mjs.map +1 -1
  508. package/resources/containers/files/content.d.mts.map +1 -1
  509. package/resources/containers/files/content.d.ts.map +1 -1
  510. package/resources/containers/files/content.js +1 -0
  511. package/resources/containers/files/content.js.map +1 -1
  512. package/resources/containers/files/content.mjs +1 -0
  513. package/resources/containers/files/content.mjs.map +1 -1
  514. package/resources/containers/files/files.d.mts.map +1 -1
  515. package/resources/containers/files/files.d.ts.map +1 -1
  516. package/resources/containers/files/files.js +7 -2
  517. package/resources/containers/files/files.js.map +1 -1
  518. package/resources/containers/files/files.mjs +7 -2
  519. package/resources/containers/files/files.mjs.map +1 -1
  520. package/resources/conversations/conversations.d.mts.map +1 -1
  521. package/resources/conversations/conversations.d.ts.map +1 -1
  522. package/resources/conversations/conversations.js +14 -4
  523. package/resources/conversations/conversations.js.map +1 -1
  524. package/resources/conversations/conversations.mjs +14 -4
  525. package/resources/conversations/conversations.mjs.map +1 -1
  526. package/resources/conversations/items.d.mts.map +1 -1
  527. package/resources/conversations/items.d.ts.map +1 -1
  528. package/resources/conversations/items.js +11 -3
  529. package/resources/conversations/items.js.map +1 -1
  530. package/resources/conversations/items.mjs +11 -3
  531. package/resources/conversations/items.mjs.map +1 -1
  532. package/resources/embeddings.d.mts.map +1 -1
  533. package/resources/embeddings.d.ts.map +1 -1
  534. package/resources/embeddings.js +1 -0
  535. package/resources/embeddings.js.map +1 -1
  536. package/resources/embeddings.mjs +1 -0
  537. package/resources/embeddings.mjs.map +1 -1
  538. package/resources/evals/evals.d.mts.map +1 -1
  539. package/resources/evals/evals.d.ts.map +1 -1
  540. package/resources/evals/evals.js +9 -5
  541. package/resources/evals/evals.js.map +1 -1
  542. package/resources/evals/evals.mjs +9 -5
  543. package/resources/evals/evals.mjs.map +1 -1
  544. package/resources/evals/runs/output-items.d.mts.map +1 -1
  545. package/resources/evals/runs/output-items.d.ts.map +1 -1
  546. package/resources/evals/runs/output-items.js +5 -2
  547. package/resources/evals/runs/output-items.js.map +1 -1
  548. package/resources/evals/runs/output-items.mjs +5 -2
  549. package/resources/evals/runs/output-items.mjs.map +1 -1
  550. package/resources/evals/runs/runs.d.mts.map +1 -1
  551. package/resources/evals/runs/runs.d.ts.map +1 -1
  552. package/resources/evals/runs/runs.js +18 -4
  553. package/resources/evals/runs/runs.js.map +1 -1
  554. package/resources/evals/runs/runs.mjs +18 -4
  555. package/resources/evals/runs/runs.mjs.map +1 -1
  556. package/resources/files.d.mts +8 -1
  557. package/resources/files.d.mts.map +1 -1
  558. package/resources/files.d.ts +8 -1
  559. package/resources/files.d.ts.map +1 -1
  560. package/resources/files.js +17 -5
  561. package/resources/files.js.map +1 -1
  562. package/resources/files.mjs +17 -5
  563. package/resources/files.mjs.map +1 -1
  564. package/resources/fine-tuning/alpha/graders.d.mts.map +1 -1
  565. package/resources/fine-tuning/alpha/graders.d.ts.map +1 -1
  566. package/resources/fine-tuning/alpha/graders.js +10 -2
  567. package/resources/fine-tuning/alpha/graders.js.map +1 -1
  568. package/resources/fine-tuning/alpha/graders.mjs +10 -2
  569. package/resources/fine-tuning/alpha/graders.mjs.map +1 -1
  570. package/resources/fine-tuning/checkpoints/permissions.d.mts.map +1 -1
  571. package/resources/fine-tuning/checkpoints/permissions.d.ts.map +1 -1
  572. package/resources/fine-tuning/checkpoints/permissions.js +4 -3
  573. package/resources/fine-tuning/checkpoints/permissions.js.map +1 -1
  574. package/resources/fine-tuning/checkpoints/permissions.mjs +4 -3
  575. package/resources/fine-tuning/checkpoints/permissions.mjs.map +1 -1
  576. package/resources/fine-tuning/jobs/checkpoints.js +1 -1
  577. package/resources/fine-tuning/jobs/checkpoints.js.map +1 -1
  578. package/resources/fine-tuning/jobs/checkpoints.mjs +1 -1
  579. package/resources/fine-tuning/jobs/checkpoints.mjs.map +1 -1
  580. package/resources/fine-tuning/jobs/jobs.d.mts.map +1 -1
  581. package/resources/fine-tuning/jobs/jobs.d.ts.map +1 -1
  582. package/resources/fine-tuning/jobs/jobs.js +23 -7
  583. package/resources/fine-tuning/jobs/jobs.js.map +1 -1
  584. package/resources/fine-tuning/jobs/jobs.mjs +23 -7
  585. package/resources/fine-tuning/jobs/jobs.mjs.map +1 -1
  586. package/resources/images.d.mts.map +1 -1
  587. package/resources/images.d.ts.map +1 -1
  588. package/resources/images.js +8 -3
  589. package/resources/images.js.map +1 -1
  590. package/resources/images.mjs +8 -3
  591. package/resources/images.mjs.map +1 -1
  592. package/resources/index.d.mts +1 -0
  593. package/resources/index.d.mts.map +1 -1
  594. package/resources/index.d.ts +1 -0
  595. package/resources/index.d.ts.map +1 -1
  596. package/resources/index.js +3 -1
  597. package/resources/index.js.map +1 -1
  598. package/resources/index.mjs +1 -0
  599. package/resources/index.mjs.map +1 -1
  600. package/resources/models.js +3 -3
  601. package/resources/models.js.map +1 -1
  602. package/resources/models.mjs +3 -3
  603. package/resources/models.mjs.map +1 -1
  604. package/resources/moderations.js +1 -1
  605. package/resources/moderations.js.map +1 -1
  606. package/resources/moderations.mjs +1 -1
  607. package/resources/moderations.mjs.map +1 -1
  608. package/resources/realtime/calls.d.mts.map +1 -1
  609. package/resources/realtime/calls.d.ts.map +1 -1
  610. package/resources/realtime/calls.js +4 -0
  611. package/resources/realtime/calls.js.map +1 -1
  612. package/resources/realtime/calls.mjs +4 -0
  613. package/resources/realtime/calls.mjs.map +1 -1
  614. package/resources/realtime/client-secrets.d.mts.map +1 -1
  615. package/resources/realtime/client-secrets.d.ts.map +1 -1
  616. package/resources/realtime/client-secrets.js +5 -1
  617. package/resources/realtime/client-secrets.js.map +1 -1
  618. package/resources/realtime/client-secrets.mjs +5 -1
  619. package/resources/realtime/client-secrets.mjs.map +1 -1
  620. package/resources/responses/index.d.mts +2 -0
  621. package/resources/responses/index.d.mts.map +1 -1
  622. package/resources/responses/index.d.ts +2 -0
  623. package/resources/responses/index.d.ts.map +1 -1
  624. package/resources/responses/input-items.js +1 -1
  625. package/resources/responses/input-items.js.map +1 -1
  626. package/resources/responses/input-items.mjs +1 -1
  627. package/resources/responses/input-items.mjs.map +1 -1
  628. package/resources/responses/input-tokens.d.mts.map +1 -1
  629. package/resources/responses/input-tokens.d.ts.map +1 -1
  630. package/resources/responses/input-tokens.js +5 -1
  631. package/resources/responses/input-tokens.js.map +1 -1
  632. package/resources/responses/input-tokens.mjs +5 -1
  633. package/resources/responses/input-tokens.mjs.map +1 -1
  634. package/resources/responses/internal-base.d.mts +24 -2
  635. package/resources/responses/internal-base.d.mts.map +1 -1
  636. package/resources/responses/internal-base.d.ts +24 -2
  637. package/resources/responses/internal-base.d.ts.map +1 -1
  638. package/resources/responses/internal-base.js +5 -9
  639. package/resources/responses/internal-base.js.map +1 -1
  640. package/resources/responses/internal-base.mjs +5 -9
  641. package/resources/responses/internal-base.mjs.map +1 -1
  642. package/resources/responses/responses.d.mts +19 -3
  643. package/resources/responses/responses.d.mts.map +1 -1
  644. package/resources/responses/responses.d.ts +19 -3
  645. package/resources/responses/responses.d.ts.map +1 -1
  646. package/resources/responses/responses.js +13 -3
  647. package/resources/responses/responses.js.map +1 -1
  648. package/resources/responses/responses.mjs +13 -3
  649. package/resources/responses/responses.mjs.map +1 -1
  650. package/resources/responses/ws-base.d.mts +106 -0
  651. package/resources/responses/ws-base.d.mts.map +1 -0
  652. package/resources/responses/ws-base.d.ts +106 -0
  653. package/resources/responses/ws-base.d.ts.map +1 -0
  654. package/resources/responses/ws-base.js +476 -0
  655. package/resources/responses/ws-base.js.map +1 -0
  656. package/resources/responses/ws-base.mjs +472 -0
  657. package/resources/responses/ws-base.mjs.map +1 -0
  658. package/resources/responses/ws.d.mts +9 -38
  659. package/resources/responses/ws.d.mts.map +1 -1
  660. package/resources/responses/ws.d.ts +9 -38
  661. package/resources/responses/ws.d.ts.map +1 -1
  662. package/resources/responses/ws.js +17 -171
  663. package/resources/responses/ws.js.map +1 -1
  664. package/resources/responses/ws.mjs +17 -171
  665. package/resources/responses/ws.mjs.map +1 -1
  666. package/resources/skills/content.d.mts.map +1 -1
  667. package/resources/skills/content.d.ts.map +1 -1
  668. package/resources/skills/content.js +1 -0
  669. package/resources/skills/content.js.map +1 -1
  670. package/resources/skills/content.mjs +1 -0
  671. package/resources/skills/content.mjs.map +1 -1
  672. package/resources/skills/skills.d.mts.map +1 -1
  673. package/resources/skills/skills.d.ts.map +1 -1
  674. package/resources/skills/skills.js +13 -5
  675. package/resources/skills/skills.js.map +1 -1
  676. package/resources/skills/skills.mjs +13 -5
  677. package/resources/skills/skills.mjs.map +1 -1
  678. package/resources/skills/versions/content.d.mts.map +1 -1
  679. package/resources/skills/versions/content.d.ts.map +1 -1
  680. package/resources/skills/versions/content.js +1 -0
  681. package/resources/skills/versions/content.js.map +1 -1
  682. package/resources/skills/versions/content.mjs +1 -0
  683. package/resources/skills/versions/content.mjs.map +1 -1
  684. package/resources/skills/versions/versions.d.mts.map +1 -1
  685. package/resources/skills/versions/versions.d.ts.map +1 -1
  686. package/resources/skills/versions/versions.js +10 -3
  687. package/resources/skills/versions/versions.js.map +1 -1
  688. package/resources/skills/versions/versions.mjs +10 -3
  689. package/resources/skills/versions/versions.mjs.map +1 -1
  690. package/resources/uploads/parts.js +1 -1
  691. package/resources/uploads/parts.js.map +1 -1
  692. package/resources/uploads/parts.mjs +1 -1
  693. package/resources/uploads/parts.mjs.map +1 -1
  694. package/resources/uploads/uploads.d.mts.map +1 -1
  695. package/resources/uploads/uploads.d.ts.map +1 -1
  696. package/resources/uploads/uploads.js +10 -3
  697. package/resources/uploads/uploads.js.map +1 -1
  698. package/resources/uploads/uploads.mjs +10 -3
  699. package/resources/uploads/uploads.mjs.map +1 -1
  700. package/resources/vector-stores/file-batches.d.mts.map +1 -1
  701. package/resources/vector-stores/file-batches.d.ts.map +1 -1
  702. package/resources/vector-stores/file-batches.js +9 -1
  703. package/resources/vector-stores/file-batches.js.map +1 -1
  704. package/resources/vector-stores/file-batches.mjs +9 -1
  705. package/resources/vector-stores/file-batches.mjs.map +1 -1
  706. package/resources/vector-stores/files.d.mts.map +1 -1
  707. package/resources/vector-stores/files.d.ts.map +1 -1
  708. package/resources/vector-stores/files.js +10 -1
  709. package/resources/vector-stores/files.js.map +1 -1
  710. package/resources/vector-stores/files.mjs +10 -1
  711. package/resources/vector-stores/files.mjs.map +1 -1
  712. package/resources/vector-stores/vector-stores.d.mts.map +1 -1
  713. package/resources/vector-stores/vector-stores.d.ts.map +1 -1
  714. package/resources/vector-stores/vector-stores.js +6 -0
  715. package/resources/vector-stores/vector-stores.js.map +1 -1
  716. package/resources/vector-stores/vector-stores.mjs +6 -0
  717. package/resources/vector-stores/vector-stores.mjs.map +1 -1
  718. package/resources/videos.d.mts.map +1 -1
  719. package/resources/videos.d.ts.map +1 -1
  720. package/resources/videos.js +17 -9
  721. package/resources/videos.js.map +1 -1
  722. package/resources/videos.mjs +17 -9
  723. package/resources/videos.mjs.map +1 -1
  724. package/src/azure.ts +7 -3
  725. package/src/beta/realtime/websocket.ts +7 -2
  726. package/src/beta/realtime/ws.ts +5 -1
  727. package/src/client.ts +114 -27
  728. package/src/core/EventEmitter.ts +16 -0
  729. package/src/core/pagination.ts +62 -0
  730. package/src/internal/request-options.ts +1 -0
  731. package/src/internal/types.ts +6 -8
  732. package/src/internal/utils/env.ts +2 -2
  733. package/src/internal/ws-adapter-browser.ts +123 -0
  734. package/src/internal/ws-adapter-node.ts +105 -0
  735. package/src/internal/ws-adapter.ts +30 -0
  736. package/src/internal/ws.ts +193 -0
  737. package/src/realtime/websocket.ts +7 -2
  738. package/src/realtime/ws.ts +5 -1
  739. package/src/resources/admin/admin.ts +15 -0
  740. package/src/resources/admin/index.ts +4 -0
  741. package/src/resources/admin/organization/admin-api-keys.ts +199 -0
  742. package/src/resources/admin/organization/audit-logs.ts +1597 -0
  743. package/src/resources/admin/organization/certificates.ts +458 -0
  744. package/src/resources/admin/organization/groups/groups.ts +251 -0
  745. package/src/resources/admin/organization/groups/index.ts +32 -0
  746. package/src/resources/admin/organization/groups/roles.ts +239 -0
  747. package/src/resources/admin/organization/groups/users.ts +164 -0
  748. package/src/resources/admin/organization/groups.ts +3 -0
  749. package/src/resources/admin/organization/index.ts +99 -0
  750. package/src/resources/admin/organization/invites.ts +214 -0
  751. package/src/resources/admin/organization/organization.ts +232 -0
  752. package/src/resources/admin/organization/projects/api-keys.ts +239 -0
  753. package/src/resources/admin/organization/projects/certificates.ts +269 -0
  754. package/src/resources/admin/organization/projects/groups/groups.ts +193 -0
  755. package/src/resources/admin/organization/projects/groups/index.ts +21 -0
  756. package/src/resources/admin/organization/projects/groups/roles.ts +261 -0
  757. package/src/resources/admin/organization/projects/groups.ts +3 -0
  758. package/src/resources/admin/organization/projects/index.ts +77 -0
  759. package/src/resources/admin/organization/projects/projects.ts +372 -0
  760. package/src/resources/admin/organization/projects/rate-limits.ts +173 -0
  761. package/src/resources/admin/organization/projects/roles.ts +182 -0
  762. package/src/resources/admin/organization/projects/service-accounts.ts +224 -0
  763. package/src/resources/admin/organization/projects/users/index.ts +23 -0
  764. package/src/resources/admin/organization/projects/users/roles.ts +226 -0
  765. package/src/resources/admin/organization/projects/users/users.ts +252 -0
  766. package/src/resources/admin/organization/projects/users.ts +3 -0
  767. package/src/resources/admin/organization/projects.ts +3 -0
  768. package/src/resources/admin/organization/roles.ts +200 -0
  769. package/src/resources/admin/organization/usage.ts +4429 -0
  770. package/src/resources/admin/organization/users/index.ts +20 -0
  771. package/src/resources/admin/organization/users/roles.ts +208 -0
  772. package/src/resources/admin/organization/users/users.ts +287 -0
  773. package/src/resources/admin/organization/users.ts +3 -0
  774. package/src/resources/admin/organization.ts +3 -0
  775. package/src/resources/admin.ts +3 -0
  776. package/src/resources/audio/speech.ts +3 -2
  777. package/src/resources/audio/transcriptions.ts +1 -0
  778. package/src/resources/audio/translations.ts +4 -1
  779. package/src/resources/batches.ts +11 -4
  780. package/src/resources/beta/assistants.ts +5 -0
  781. package/src/resources/beta/chatkit/sessions.ts +2 -0
  782. package/src/resources/beta/chatkit/threads.ts +9 -1
  783. package/src/resources/beta/realtime/sessions.ts +1 -0
  784. package/src/resources/beta/realtime/transcription-sessions.ts +1 -0
  785. package/src/resources/beta/threads/messages.ts +5 -0
  786. package/src/resources/beta/threads/runs/runs.ts +6 -0
  787. package/src/resources/beta/threads/runs/steps.ts +2 -0
  788. package/src/resources/beta/threads/threads.ts +5 -0
  789. package/src/resources/chat/completions/completions.ts +25 -8
  790. package/src/resources/chat/completions/messages.ts +1 -1
  791. package/src/resources/completions.ts +7 -4
  792. package/src/resources/containers/containers.ts +11 -3
  793. package/src/resources/containers/files/content.ts +1 -0
  794. package/src/resources/containers/files/files.ts +7 -2
  795. package/src/resources/conversations/conversations.ts +14 -4
  796. package/src/resources/conversations/items.ts +11 -3
  797. package/src/resources/embeddings.ts +1 -0
  798. package/src/resources/evals/evals.ts +9 -5
  799. package/src/resources/evals/runs/output-items.ts +5 -2
  800. package/src/resources/evals/runs/runs.ts +18 -4
  801. package/src/resources/files.ts +20 -5
  802. package/src/resources/fine-tuning/alpha/graders.ts +10 -2
  803. package/src/resources/fine-tuning/checkpoints/permissions.ts +4 -3
  804. package/src/resources/fine-tuning/jobs/checkpoints.ts +1 -1
  805. package/src/resources/fine-tuning/jobs/jobs.ts +23 -7
  806. package/src/resources/images.ts +11 -5
  807. package/src/resources/index.ts +1 -0
  808. package/src/resources/models.ts +3 -3
  809. package/src/resources/moderations.ts +1 -1
  810. package/src/resources/realtime/calls.ts +4 -0
  811. package/src/resources/realtime/client-secrets.ts +5 -1
  812. package/src/resources/responses/index.ts +2 -0
  813. package/src/resources/responses/input-items.ts +1 -1
  814. package/src/resources/responses/input-tokens.ts +5 -1
  815. package/src/resources/responses/internal-base.ts +26 -10
  816. package/src/resources/responses/responses.ts +35 -8
  817. package/src/resources/responses/ws-base.ts +611 -0
  818. package/src/resources/responses/ws.ts +23 -186
  819. package/src/resources/skills/content.ts +1 -0
  820. package/src/resources/skills/skills.ts +16 -5
  821. package/src/resources/skills/versions/content.ts +1 -0
  822. package/src/resources/skills/versions/versions.ts +10 -3
  823. package/src/resources/uploads/parts.ts +1 -1
  824. package/src/resources/uploads/uploads.ts +10 -3
  825. package/src/resources/vector-stores/file-batches.ts +9 -1
  826. package/src/resources/vector-stores/files.ts +10 -1
  827. package/src/resources/vector-stores/vector-stores.ts +6 -0
  828. package/src/resources/videos.ts +20 -9
  829. package/src/version.ts +1 -1
  830. package/version.d.mts +1 -1
  831. package/version.d.ts +1 -1
  832. package/version.js +1 -1
  833. package/version.mjs +1 -1
@@ -0,0 +1,611 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { ResponsesEmitter, ResponsesStreamMessage, WebSocketError, buildURL } from './internal-base';
4
+ import { InternalEventEmitter } from '../../core/EventEmitter';
5
+ import { sleep } from '../../internal/utils/sleep';
6
+ import { type WebSocketLike, ReadyState } from '../../internal/ws-adapter';
7
+ import {
8
+ SendQueue,
9
+ flattenRawData,
10
+ isRecoverableClose,
11
+ type RawWebSocketData,
12
+ type ReconnectingEvent,
13
+ type ReconnectingOverrides,
14
+ type UnsentMessage,
15
+ } from '../../internal/ws';
16
+ import * as ResponsesAPI from './responses';
17
+ import { OpenAI } from '../../client';
18
+ import { OpenAIError } from '../../core/error';
19
+
20
+ export interface ResponsesWSReconnectOptions {
21
+ /**
22
+ * Called before each reconnect attempt. Return an object with
23
+ * `parameters` to override query parameters for the next connection.
24
+ */
25
+ onReconnecting(
26
+ event: ReconnectingEvent<Record<string, unknown>>,
27
+ ): ReconnectingOverrides<Record<string, unknown>> | void;
28
+
29
+ /**
30
+ * Maximum number of reconnection attempts. Default: 5.
31
+ * Set to 0 to disable reconnection entirely.
32
+ */
33
+ maxRetries?: number;
34
+
35
+ /**
36
+ * Initial backoff delay in milliseconds. Default: 500.
37
+ */
38
+ initialDelay?: number;
39
+
40
+ /**
41
+ * Maximum backoff delay in milliseconds. Default: 8000.
42
+ */
43
+ maxDelay?: number;
44
+ }
45
+
46
+ export interface ResponsesWSBaseOptions {
47
+ /**
48
+ * Options for automatic reconnection on recoverable close codes.
49
+ * Automatic reconnection is only enabled when this has a non-null value.
50
+ */
51
+ reconnect?: ResponsesWSReconnectOptions | null | undefined;
52
+
53
+ /**
54
+ * Maximum size of the outgoing message queue in bytes.
55
+ * Messages queued while the socket is connecting or reconnecting are held
56
+ * in memory up to this limit. Once the limit is reached, new messages are
57
+ * discarded and an `error` event is emitted.
58
+ * Default: 1 MB
59
+ */
60
+ maxQueueSize?: number | undefined;
61
+ }
62
+
63
+ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends ResponsesEmitter {
64
+ url!: URL;
65
+ socket!: TSocket;
66
+
67
+ protected _client: OpenAI;
68
+ protected _parameters: Record<string, unknown> | null | undefined;
69
+ private _reconnectOptions: ResponsesWSReconnectOptions | null;
70
+ private _sendQueue: SendQueue<ResponsesAPI.ResponsesClientEvent>;
71
+ private _isReconnecting: boolean = false;
72
+ private _intentionallyClosed = false;
73
+ private _closeCode: number = 1000;
74
+ private _closeReason: string = 'OK';
75
+ private _lastCloseCode: number = 1006;
76
+ private _lastCloseReason: string = '';
77
+
78
+ // Necessary to keep the public event interface clean while we manage reconnecting
79
+ private _internalEvents = new InternalEventEmitter<{
80
+ socketSwap: (oldSocket: TSocket, newSocket: TSocket) => void;
81
+ reconnecting: (event: ReconnectingEvent<Record<string, unknown>>) => void;
82
+ reconnected: () => void;
83
+ close: (code: number, reason: string, unsent: UnsentMessage<ResponsesAPI.ResponsesClientEvent>[]) => void;
84
+ }>();
85
+
86
+ constructor(client: OpenAI, options?: ResponsesWSBaseOptions | undefined) {
87
+ super();
88
+ this._client = client;
89
+ this._parameters = undefined;
90
+ this._reconnectOptions = options?.reconnect ?? null;
91
+ this._sendQueue = new SendQueue<ResponsesAPI.ResponsesClientEvent>(options?.maxQueueSize);
92
+ }
93
+
94
+ /** Establishes the initial WebSocket connection. */
95
+ protected _connectInitial(): void {
96
+ this.url = buildURL(this._client, {});
97
+ this.socket = this._connect();
98
+ }
99
+
100
+ /** Creates a platform-specific WebSocket for the given URL and auth headers. */
101
+ protected abstract _createSocket(url: URL, authHeaders: Record<string, string>): TSocket;
102
+
103
+ send(event: ResponsesAPI.ResponsesClientEvent) {
104
+ if (!this.socket) {
105
+ throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
106
+ }
107
+
108
+ if (this._isReconnecting || this.socket.readyState === ReadyState.CONNECTING) {
109
+ if (!this._sendQueue.enqueue(event)) {
110
+ this._onError(null, 'send queue is full, message discarded', undefined);
111
+ }
112
+ return;
113
+ }
114
+ if (this.socket.readyState !== ReadyState.OPEN) {
115
+ this._onError(null, 'cannot send on a closed WebSocket', undefined);
116
+ return;
117
+ }
118
+ try {
119
+ this.socket.send(JSON.stringify(event));
120
+ } catch (err) {
121
+ this._onError(null, 'could not send data', err);
122
+ }
123
+ }
124
+
125
+ sendRaw(data: RawWebSocketData) {
126
+ if (!this.socket) {
127
+ throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
128
+ }
129
+
130
+ if (this._isReconnecting || this.socket.readyState === ReadyState.CONNECTING) {
131
+ if (!this._sendQueue.enqueueRaw(data)) {
132
+ this._onError(null, 'send queue is full, message discarded', undefined);
133
+ }
134
+ return;
135
+ }
136
+ if (this.socket.readyState !== ReadyState.OPEN) {
137
+ this._onError(null, 'cannot send on a closed WebSocket', undefined);
138
+ return;
139
+ }
140
+ try {
141
+ this.socket.send(flattenRawData(data));
142
+ } catch (err) {
143
+ this._onError(null, 'could not send data', err);
144
+ }
145
+ }
146
+
147
+ close(props?: { code: number; reason: string }) {
148
+ if (!this.socket) {
149
+ throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
150
+ }
151
+
152
+ this._intentionallyClosed = true;
153
+ this._closeCode = props?.code ?? 1000;
154
+ this._closeReason = props?.reason ?? 'OK';
155
+ try {
156
+ this.socket.close(this._closeCode, this._closeReason);
157
+ } catch (err) {
158
+ this._onError(null, 'could not close the connection', err);
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Returns an async iterator over WebSocket lifecycle and message events,
164
+ * providing an alternative to the event-based `.on()` API.
165
+ * The iterator will exit if the socket closes but exiting the iterator
166
+ * does not close the socket.
167
+ *
168
+ * @example
169
+ * ```ts
170
+ * for await (const event of client.stream()) {
171
+ * switch (event.type) {
172
+ * case 'message':
173
+ * console.log('received:', event.message);
174
+ * break;
175
+ * case 'error':
176
+ * console.error(event.error);
177
+ * break;
178
+ * case 'close':
179
+ * console.log('connection closed');
180
+ * break;
181
+ * }
182
+ * }
183
+ * ```
184
+ */
185
+ stream(): AsyncIterableIterator<ResponsesStreamMessage> {
186
+ return this[Symbol.asyncIterator]();
187
+ }
188
+
189
+ [Symbol.asyncIterator](): AsyncIterableIterator<ResponsesStreamMessage> {
190
+ if (!this.socket) {
191
+ throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
192
+ }
193
+
194
+ // Two-queue async iterator: `queue` buffers incoming messages,
195
+ // `resolvers` buffers waiting next() calls. A push wakes the
196
+ // oldest next(); a next() drains the oldest message.
197
+ const queue: ResponsesStreamMessage[] = [];
198
+ const resolvers: (() => void)[] = [];
199
+ let done = false;
200
+ let currentSocket = this.socket;
201
+
202
+ const push = (msg: ResponsesStreamMessage) => {
203
+ queue.push(msg);
204
+ resolvers.shift()?.();
205
+ };
206
+
207
+ const onEvent = (event: ResponsesAPI.ResponsesServerEvent) => {
208
+ if (event.type === 'error') return; // handled by onEmitterError
209
+ push({ type: 'message', message: event });
210
+ };
211
+
212
+ const onRaw = (data: RawWebSocketData) => {
213
+ push({ type: 'raw', data });
214
+ };
215
+
216
+ // All errors (API + socket) funnel through _onError → 'error' event
217
+ const onEmitterError = (err: WebSocketError) => {
218
+ push({ type: 'error', error: err });
219
+ };
220
+
221
+ const onOpen = () => {
222
+ push({ type: 'open' });
223
+ };
224
+
225
+ const onReconnecting = (evt: ReconnectingEvent<Record<string, unknown>>) => {
226
+ push({ type: 'reconnecting', reconnect: evt });
227
+ };
228
+
229
+ const onReconnected = () => {
230
+ push({ type: 'reconnected' });
231
+ };
232
+
233
+ const flushResolvers = () => {
234
+ for (let resolver = resolvers.shift(); resolver; resolver = resolvers.shift()) {
235
+ resolver();
236
+ }
237
+ };
238
+
239
+ const onClose = (
240
+ code: number,
241
+ reason: string,
242
+ unsent: UnsentMessage<ResponsesAPI.ResponsesClientEvent>[],
243
+ ) => {
244
+ push({ type: 'close', code, reason, unsent });
245
+ done = true;
246
+ flushResolvers();
247
+ cleanup();
248
+ };
249
+
250
+ const onSocketSwap = (oldSocket: TSocket, newSocket: TSocket) => {
251
+ oldSocket.off('open', onOpen);
252
+ newSocket.on('open', onOpen);
253
+ currentSocket = newSocket;
254
+ };
255
+
256
+ const cleanup = () => {
257
+ this.off('event', onEvent);
258
+ this.off('raw', onRaw);
259
+ this.off('error', onEmitterError);
260
+ currentSocket.off('open', onOpen);
261
+ this._internalEvents.off('close', onClose);
262
+ this._internalEvents.off('socketSwap', onSocketSwap);
263
+ this._internalEvents.off('reconnecting', onReconnecting);
264
+ this._internalEvents.off('reconnected', onReconnected);
265
+ };
266
+
267
+ this.on('event', onEvent);
268
+ this.on('raw', onRaw);
269
+ this.on('error', onEmitterError);
270
+ this.socket.on('open', onOpen);
271
+ this._internalEvents.on('close', onClose);
272
+ this._internalEvents.on('socketSwap', onSocketSwap);
273
+ this._internalEvents.on('reconnecting', onReconnecting);
274
+ this._internalEvents.on('reconnected', onReconnected);
275
+
276
+ if (this._isReconnecting) {
277
+ // A reconnect is already in flight. The socket may be CLOSED but the
278
+ // instance is still alive. Emit 'reconnecting' so the iterator stays
279
+ // open and receives the upcoming reconnected/message events.
280
+ push({
281
+ type: 'reconnecting',
282
+ reconnect: { attempt: 0, maxAttempts: 0, delay: 0, closeCode: 0, parameters: undefined },
283
+ });
284
+ } else {
285
+ switch (this.socket.readyState) {
286
+ case ReadyState.CONNECTING:
287
+ push({ type: 'connecting' });
288
+ break;
289
+ case ReadyState.OPEN:
290
+ push({ type: 'open' });
291
+ break;
292
+ case ReadyState.CLOSING:
293
+ push({ type: 'closing' });
294
+ break;
295
+ case ReadyState.CLOSED:
296
+ push({
297
+ type: 'close',
298
+ code: this._lastCloseCode,
299
+ reason: this._lastCloseReason,
300
+ unsent: this._sendQueue.drain(),
301
+ });
302
+ done = true;
303
+ cleanup();
304
+ break;
305
+ }
306
+ }
307
+
308
+ const resolve = (res: (value: IteratorResult<ResponsesStreamMessage>) => void) => {
309
+ if (queue.length > 0) {
310
+ res({ value: queue.shift()!, done: false });
311
+ } else if (done) {
312
+ res({ value: undefined, done: true });
313
+ } else {
314
+ return false;
315
+ }
316
+ return true;
317
+ };
318
+
319
+ const next = (): Promise<IteratorResult<ResponsesStreamMessage>> =>
320
+ new Promise((res) => {
321
+ if (resolve(res)) return;
322
+ resolvers.push(() => {
323
+ resolve(res);
324
+ });
325
+ });
326
+
327
+ return {
328
+ next,
329
+ return: (): Promise<IteratorReturnResult<undefined>> => {
330
+ done = true;
331
+ cleanup();
332
+ flushResolvers();
333
+ return Promise.resolve({ value: undefined, done: true });
334
+ },
335
+ [Symbol.asyncIterator]() {
336
+ return this;
337
+ },
338
+ };
339
+ }
340
+
341
+ private _connect(): TSocket {
342
+ this.url = buildURL(this._client, this._parameters ?? {});
343
+
344
+ const socket = this._createSocket(this.url, this._authHeaders());
345
+
346
+ socket.on('message', (data: string | ArrayBuffer | ArrayBufferView, isBinary: boolean) => {
347
+ if (isBinary) {
348
+ this._emit('raw', data);
349
+ return;
350
+ }
351
+
352
+ // Coerce to string in case the adapter delivers a typed-array for text frames.
353
+ const text = typeof data === 'string' ? data : String(data);
354
+
355
+ let event: ResponsesAPI.ResponsesServerEvent;
356
+ try {
357
+ event = JSON.parse(text) as ResponsesAPI.ResponsesServerEvent;
358
+ } catch {
359
+ this._emit('raw', data);
360
+ return;
361
+ }
362
+
363
+ this._emit('event', event);
364
+
365
+ if (event.type === 'error') {
366
+ this._onError(event);
367
+ } else {
368
+ // @ts-ignore TS isn't smart enough to get the relationship right here
369
+ this._emit(event.type, event);
370
+ }
371
+ });
372
+
373
+ socket.on('error', (err: Error) => {
374
+ // Suppress transient errors during reconnection — the retry loop
375
+ // already handles them and will surface a close if retries exhaust.
376
+ if (this._isReconnecting) return;
377
+ this._onError(null, err.message, err);
378
+ });
379
+
380
+ socket.on('open', () => {
381
+ this._flushSendQueue();
382
+ });
383
+
384
+ socket.on('close', (code: number, reason: string) => {
385
+ // Ignore close events from superseded sockets — a stale socket's
386
+ // late close must not kick off a second reconnect loop.
387
+ if (socket !== this.socket) return;
388
+ if (!this._intentionallyClosed && this._canReconnect(code)) {
389
+ this._reconnect(code);
390
+ } else if (!this._isReconnecting) {
391
+ this._emitPermanentClose(code, reason);
392
+ }
393
+ });
394
+
395
+ return socket;
396
+ }
397
+
398
+ // Reconnect is opt-in via onReconnecting so callers can pass
399
+ // state (e.g. session IDs) into the new connection.
400
+ private _canReconnect(code: number): boolean {
401
+ if (this._intentionallyClosed) return false;
402
+ if (!this._reconnectOptions) return false;
403
+ if (this._reconnectOptions.maxRetries === 0) return false;
404
+ if (!this._reconnectOptions.onReconnecting) return false;
405
+ return isRecoverableClose(code);
406
+ }
407
+
408
+ private async _reconnect(closeCode: number): Promise<void> {
409
+ if (!this.socket) {
410
+ throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
411
+ }
412
+
413
+ if (this._isReconnecting || !this._reconnectOptions) return;
414
+ this._isReconnecting = true;
415
+
416
+ const maxRetries = this._reconnectOptions.maxRetries ?? 5;
417
+ const initialDelay = this._reconnectOptions.initialDelay ?? 500;
418
+ const maxDelay = this._reconnectOptions.maxDelay ?? 8000;
419
+
420
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
421
+ if (!this._canReconnect(closeCode)) {
422
+ this._isReconnecting = false;
423
+ if (!this._intentionallyClosed) {
424
+ this._onError(
425
+ null,
426
+ `WebSocket reconnect aborted: non-recoverable close code ${closeCode}`,
427
+ undefined,
428
+ );
429
+ }
430
+ this._emitPermanentClose(
431
+ this._intentionallyClosed ? this._closeCode : closeCode,
432
+ this._intentionallyClosed ? this._closeReason : 'reconnect aborted',
433
+ );
434
+ return;
435
+ }
436
+
437
+ const baseDelay = Math.min(initialDelay * Math.pow(2, attempt - 1), maxDelay);
438
+ // Jitter: rand [0.75, 1.0] to spread out connection attempts without over-delaying
439
+ const jitter = 0.75 + Math.random() * 0.25;
440
+ const actualDelay = Math.round(baseDelay * jitter);
441
+
442
+ let reconnectingEvent: ReconnectingEvent<Record<string, unknown>> = {
443
+ attempt,
444
+ maxAttempts: maxRetries,
445
+ delay: actualDelay,
446
+ closeCode,
447
+ parameters: this._parameters ? { ...this._parameters } : undefined,
448
+ };
449
+
450
+ let overrides: ReconnectingOverrides<Record<string, unknown>> | void;
451
+ try {
452
+ overrides = this._reconnectOptions.onReconnecting(reconnectingEvent);
453
+ } catch (err) {
454
+ this._isReconnecting = false;
455
+ this._onError(null, 'onReconnecting callback threw', err);
456
+ this._emitPermanentClose(closeCode, 'onReconnecting callback threw');
457
+ return;
458
+ }
459
+
460
+ if (overrides && 'abort' in overrides && overrides.abort) {
461
+ this._isReconnecting = false;
462
+ this._emitPermanentClose(closeCode, 'reconnect aborted by handler');
463
+ return;
464
+ }
465
+
466
+ if (overrides && 'parameters' in overrides) {
467
+ this._parameters = overrides.parameters;
468
+ reconnectingEvent = { ...reconnectingEvent, parameters: this._parameters };
469
+ }
470
+
471
+ try {
472
+ this._emit('reconnecting', reconnectingEvent);
473
+ } catch (err) {
474
+ this._onError(null, 'onReconnecting callback threw', err);
475
+ }
476
+ this._internalEvents._emit('reconnecting', reconnectingEvent);
477
+
478
+ if (!this._canReconnect(closeCode)) {
479
+ this._isReconnecting = false;
480
+ if (!this._intentionallyClosed) {
481
+ this._onError(
482
+ null,
483
+ `WebSocket reconnect aborted: non-recoverable close code ${closeCode}`,
484
+ undefined,
485
+ );
486
+ }
487
+ this._emitPermanentClose(
488
+ this._intentionallyClosed ? this._closeCode : closeCode,
489
+ this._intentionallyClosed ? this._closeReason : 'reconnect aborted',
490
+ );
491
+ return;
492
+ }
493
+
494
+ await sleep(actualDelay);
495
+
496
+ if (!this._canReconnect(closeCode)) {
497
+ this._isReconnecting = false;
498
+ if (!this._intentionallyClosed) {
499
+ this._onError(
500
+ null,
501
+ `WebSocket reconnect aborted: non-recoverable close code ${closeCode}`,
502
+ undefined,
503
+ );
504
+ }
505
+ this._emitPermanentClose(
506
+ this._intentionallyClosed ? this._closeCode : closeCode,
507
+ this._intentionallyClosed ? this._closeReason : 'reconnect aborted',
508
+ );
509
+ return;
510
+ }
511
+
512
+ let closeCodePromise: Promise<number> | undefined;
513
+ try {
514
+ const oldSocket = this.socket;
515
+ this.socket = this._connect();
516
+ // Registered synchronously after _connect() and before any
517
+ // await so the code is captured even when ws emits 'close'
518
+ // in the same tick as 'error' (e.g. abortHandshake).
519
+ closeCodePromise = new Promise<number>((resolve) => {
520
+ this.socket.once('close', resolve);
521
+ });
522
+
523
+ await this._awaitOpen(this.socket);
524
+
525
+ this._internalEvents._emit('socketSwap', oldSocket, this.socket);
526
+ this._isReconnecting = false;
527
+ this._flushSendQueue();
528
+ this._emit('reconnected');
529
+ this._internalEvents._emit('reconnected');
530
+ return;
531
+ } catch {
532
+ if (closeCodePromise) {
533
+ // ws may emit 'error' before 'close', so await the code
534
+ // rather than reading it synchronously.
535
+ closeCode = await closeCodePromise;
536
+ }
537
+ }
538
+ }
539
+
540
+ // All retries exhausted — surface an error so consumers can
541
+ // distinguish retry failure from a clean close.
542
+ this._isReconnecting = false;
543
+ this._onError(
544
+ null,
545
+ `WebSocket reconnect failed after ${maxRetries} attempts (close code: ${closeCode})`,
546
+ undefined,
547
+ );
548
+ this._emitPermanentClose(closeCode, `reconnect failed after ${maxRetries} attempts`);
549
+ }
550
+
551
+ /**
552
+ * Resolves once the socket is open, rejects if it errors or closes first
553
+ */
554
+ private _awaitOpen(socket: TSocket): Promise<void> {
555
+ return new Promise<void>((resolve, reject) => {
556
+ const cleanup = () => {
557
+ socket.off('open', onOpen);
558
+ socket.off('error', onError);
559
+ socket.off('close', onFail);
560
+ };
561
+ const onOpen = () => {
562
+ cleanup();
563
+ resolve();
564
+ };
565
+ const onError = (err: Error) => {
566
+ cleanup();
567
+ reject(err);
568
+ };
569
+ const onFail = () => {
570
+ cleanup();
571
+ reject(new Error('socket closed before open'));
572
+ };
573
+ socket.once('open', onOpen);
574
+ socket.once('error', onError);
575
+ socket.once('close', onFail);
576
+ });
577
+ }
578
+
579
+ private _flushSendQueue(): void {
580
+ if (!this.socket) {
581
+ throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
582
+ }
583
+
584
+ try {
585
+ this._sendQueue.flush((data) => this.socket.send(flattenRawData(data)));
586
+ } catch (err) {
587
+ this._onError(null, 'could not send queued data', err);
588
+ }
589
+ }
590
+
591
+ /**
592
+ * Emits the public `close` event with unsent messages and the internal
593
+ * `close` event used by the async iterator.
594
+ */
595
+ private _emitPermanentClose(code: number, reason: string): void {
596
+ this._lastCloseCode = code;
597
+ this._lastCloseReason = reason;
598
+ const unsent = this._sendQueue.drain();
599
+ // Internal close fires first so the async iterator is guaranteed to
600
+ // terminate even if a public 'close' listener throws.
601
+ this._internalEvents._emit('close', code, reason, unsent);
602
+ this._emit('close', code, reason, unsent);
603
+ }
604
+
605
+ protected _authHeaders(): Record<string, string> {
606
+ if (this._client.apiKey) {
607
+ return { Authorization: `Bearer ${this._client.apiKey}` };
608
+ }
609
+ return {};
610
+ }
611
+ }