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
package/src/client.ts CHANGED
@@ -24,6 +24,8 @@ import {
24
24
  ConversationCursorPageResponse,
25
25
  type CursorPageParams,
26
26
  CursorPageResponse,
27
+ type NextCursorPageParams,
28
+ NextCursorPageResponse,
27
29
  PageResponse,
28
30
  } from './core/pagination';
29
31
  import * as Uploads from './core/uploads';
@@ -115,6 +117,7 @@ import {
115
117
  Videos,
116
118
  VideosPage,
117
119
  } from './resources/videos';
120
+ import { Admin } from './resources/admin/admin';
118
121
  import { Audio, AudioModel, AudioResponseFormat } from './resources/audio/audio';
119
122
  import { Beta } from './resources/beta/beta';
120
123
  import { Chat } from './resources/chat/chat';
@@ -258,7 +261,12 @@ export interface ClientOptions {
258
261
  * error available as `cause`.
259
262
  * - Mutually exclusive with `workloadIdentity`.
260
263
  */
261
- apiKey?: string | ApiKeySetter | undefined;
264
+ apiKey?: string | ApiKeySetter | null | undefined;
265
+
266
+ /**
267
+ * Defaults to process.env['OPENAI_ADMIN_KEY'].
268
+ */
269
+ adminAPIKey?: string | null | undefined;
262
270
 
263
271
  /**
264
272
  * Defaults to process.env['OPENAI_ORG_ID'].
@@ -361,7 +369,8 @@ export interface ClientOptions {
361
369
  * API Client for interfacing with the OpenAI API.
362
370
  */
363
371
  export class OpenAI {
364
- apiKey: string;
372
+ apiKey: string | null;
373
+ adminAPIKey: string | null;
365
374
  organization: string | null;
366
375
  project: string | null;
367
376
  webhookSecret: string | null;
@@ -382,7 +391,8 @@ export class OpenAI {
382
391
  /**
383
392
  * API Client for interfacing with the OpenAI API.
384
393
  *
385
- * @param {string | undefined} [opts.apiKey=process.env['OPENAI_API_KEY'] ?? undefined]
394
+ * @param {string | null | undefined} [opts.apiKey=process.env['OPENAI_API_KEY'] ?? null]
395
+ * @param {string | null | undefined} [opts.adminAPIKey=process.env['OPENAI_ADMIN_KEY'] ?? null]
386
396
  * @param {string | null | undefined} [opts.organization=process.env['OPENAI_ORG_ID'] ?? null]
387
397
  * @param {string | null | undefined} [opts.project=process.env['OPENAI_PROJECT_ID'] ?? null]
388
398
  * @param {string | null | undefined} [opts.webhookSecret=process.env['OPENAI_WEBHOOK_SECRET'] ?? null]
@@ -397,28 +407,17 @@ export class OpenAI {
397
407
  */
398
408
  constructor({
399
409
  baseURL = readEnv('OPENAI_BASE_URL'),
400
- apiKey = readEnv('OPENAI_API_KEY'),
410
+ apiKey = readEnv('OPENAI_API_KEY') ?? null,
411
+ adminAPIKey = readEnv('OPENAI_ADMIN_KEY') ?? null,
401
412
  organization = readEnv('OPENAI_ORG_ID') ?? null,
402
413
  project = readEnv('OPENAI_PROJECT_ID') ?? null,
403
414
  webhookSecret = readEnv('OPENAI_WEBHOOK_SECRET') ?? null,
404
415
  workloadIdentity,
405
416
  ...opts
406
417
  }: ClientOptions = {}) {
407
- if (workloadIdentity) {
408
- if (apiKey && apiKey !== WORKLOAD_IDENTITY_API_KEY_PLACEHOLDER) {
409
- throw new Errors.OpenAIError(
410
- 'The `apiKey` and `workloadIdentity` arguments are mutually exclusive; only one can be passed at a time.',
411
- );
412
- }
413
- apiKey = WORKLOAD_IDENTITY_API_KEY_PLACEHOLDER;
414
- } else if (apiKey === undefined) {
415
- throw new Errors.OpenAIError(
416
- 'Missing credentials. Please pass an `apiKey`, `workloadIdentity`, or set the `OPENAI_API_KEY` environment variable.',
417
- );
418
- }
419
-
420
418
  const options: ClientOptions = {
421
419
  apiKey,
420
+ adminAPIKey,
422
421
  organization,
423
422
  project,
424
423
  webhookSecret,
@@ -427,6 +426,16 @@ export class OpenAI {
427
426
  baseURL: baseURL || `https://api.openai.com/v1`,
428
427
  };
429
428
 
429
+ if (apiKey && workloadIdentity) {
430
+ throw new Errors.OpenAIError('The `apiKey` and `workloadIdentity` options are mutually exclusive');
431
+ }
432
+
433
+ if (!apiKey && !adminAPIKey && !workloadIdentity) {
434
+ throw new Errors.OpenAIError(
435
+ 'Missing credentials. Please pass an `apiKey`, `workloadIdentity`, `adminAPIKey`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable.',
436
+ );
437
+ }
438
+
430
439
  if (!options.dangerouslyAllowBrowser && isRunningInBrowser()) {
431
440
  throw new Errors.OpenAIError(
432
441
  "It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n",
@@ -448,13 +457,26 @@ export class OpenAI {
448
457
  this.fetch = options.fetch ?? Shims.getDefaultFetch();
449
458
  this.#encoder = Opts.FallbackEncoder;
450
459
 
460
+ const customHeadersEnv = readEnv('OPENAI_CUSTOM_HEADERS');
461
+ if (customHeadersEnv) {
462
+ const parsed: Record<string, string> = {};
463
+ for (const line of customHeadersEnv.split('\n')) {
464
+ const colon = line.indexOf(':');
465
+ if (colon >= 0) {
466
+ parsed[line.substring(0, colon).trim()] = line.substring(colon + 1).trim();
467
+ }
468
+ }
469
+ options.defaultHeaders = buildHeaders([parsed, options.defaultHeaders]);
470
+ }
471
+
451
472
  this._options = options;
452
473
 
453
474
  if (workloadIdentity) {
454
475
  this._workloadIdentityAuth = new WorkloadIdentityAuth(workloadIdentity, this.fetch);
455
476
  }
456
477
 
457
- this.apiKey = typeof apiKey === 'string' ? apiKey : 'Missing Key';
478
+ this.apiKey = typeof apiKey === 'string' ? apiKey : null;
479
+ this.adminAPIKey = adminAPIKey;
458
480
  this.organization = organization;
459
481
  this.project = project;
460
482
  this.webhookSecret = webhookSecret;
@@ -473,7 +495,8 @@ export class OpenAI {
473
495
  logLevel: this.logLevel,
474
496
  fetch: this.fetch,
475
497
  fetchOptions: this.fetchOptions,
476
- apiKey: this.apiKey,
498
+ apiKey: this._options.apiKey,
499
+ adminAPIKey: this.adminAPIKey,
477
500
  workloadIdentity: this._options.workloadIdentity,
478
501
  organization: this.organization,
479
502
  project: this.project,
@@ -494,14 +517,59 @@ export class OpenAI {
494
517
  return this._options.defaultQuery;
495
518
  }
496
519
 
497
- protected validateHeaders({ values, nulls }: NullableHeaders) {
498
- return;
520
+ protected validateHeaders(
521
+ { values, nulls }: NullableHeaders,
522
+ schemes: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean } = {
523
+ bearerAuth: true,
524
+ adminAPIKeyAuth: true,
525
+ },
526
+ ) {
527
+ if (values.get('authorization') || values.get('api-key')) {
528
+ return;
529
+ }
530
+ if (nulls.has('authorization') || nulls.has('api-key')) {
531
+ return;
532
+ }
533
+
534
+ if (this._workloadIdentityAuth && schemes.bearerAuth) {
535
+ return;
536
+ }
537
+
538
+ throw new Error(
539
+ 'Could not resolve authentication method. Expected either apiKey or adminAPIKey to be set. Or for one of the "Authorization" or "api-key" headers to be explicitly omitted',
540
+ );
541
+ }
542
+
543
+ protected async authHeaders(
544
+ opts: FinalRequestOptions,
545
+ schemes: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean } = {
546
+ bearerAuth: true,
547
+ adminAPIKeyAuth: true,
548
+ },
549
+ ): Promise<NullableHeaders | undefined> {
550
+ return buildHeaders([
551
+ schemes.bearerAuth ? await this.bearerAuth(opts) : null,
552
+ schemes.adminAPIKeyAuth ? await this.adminAPIKeyAuth(opts) : null,
553
+ ]);
499
554
  }
500
555
 
501
- protected async authHeaders(opts: FinalRequestOptions): Promise<NullableHeaders | undefined> {
556
+ protected async bearerAuth(opts: FinalRequestOptions): Promise<NullableHeaders | undefined> {
557
+ if (this._workloadIdentityAuth) {
558
+ return buildHeaders([{ Authorization: `Bearer ${await this._workloadIdentityAuth.getToken()}` }]);
559
+ }
560
+ if (this.apiKey == null) {
561
+ return undefined;
562
+ }
502
563
  return buildHeaders([{ Authorization: `Bearer ${this.apiKey}` }]);
503
564
  }
504
565
 
566
+ protected async adminAPIKeyAuth(opts: FinalRequestOptions): Promise<NullableHeaders | undefined> {
567
+ if (this.adminAPIKey == null) {
568
+ return undefined;
569
+ }
570
+ return buildHeaders([{ Authorization: `Bearer ${this.adminAPIKey}` }]);
571
+ }
572
+
505
573
  protected stringifyQuery(query: object | Record<string, unknown>): string {
506
574
  return stringifyQuery(query);
507
575
  }
@@ -576,7 +644,10 @@ export class OpenAI {
576
644
  * Used as a callback for mutating the given `FinalRequestOptions` object.
577
645
  */
578
646
  protected async prepareOptions(options: FinalRequestOptions): Promise<void> {
579
- await this._callApiKey();
647
+ const security = options.__security ?? { bearerAuth: true };
648
+ if (security.bearerAuth) {
649
+ await this._callApiKey();
650
+ }
580
651
  }
581
652
 
582
653
  /**
@@ -668,8 +739,9 @@ export class OpenAI {
668
739
  throw new Errors.APIUserAbortError();
669
740
  }
670
741
 
742
+ const security = options.__security ?? { bearerAuth: true };
671
743
  const controller = new AbortController();
672
- const response = await this.fetchWithAuth(url, req, timeout, controller).catch(castToError);
744
+ const response = await this.fetchWithAuth(url, req, timeout, controller, security).catch(castToError);
673
745
  const headersTime = Date.now();
674
746
 
675
747
  if (response instanceof globalThis.Error) {
@@ -732,6 +804,7 @@ export class OpenAI {
732
804
  if (
733
805
  response.status === 401 &&
734
806
  this._workloadIdentityAuth &&
807
+ security.bearerAuth &&
735
808
  !options.__metadata?.['hasStreamingBody'] &&
736
809
  !options.__metadata?.['workloadIdentityTokenRefreshed']
737
810
  ) {
@@ -844,8 +917,12 @@ export class OpenAI {
844
917
  init: RequestInit,
845
918
  timeout: number,
846
919
  controller: AbortController,
920
+ schemes: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean } = {
921
+ bearerAuth: true,
922
+ adminAPIKeyAuth: true,
923
+ },
847
924
  ): Promise<Response> {
848
- if (this._workloadIdentityAuth) {
925
+ if (this._workloadIdentityAuth && schemes.bearerAuth) {
849
926
  const headers = init.headers as Headers;
850
927
  const authHeader = headers.get('Authorization');
851
928
  if (!authHeader || authHeader === `Bearer ${WORKLOAD_IDENTITY_API_KEY_PLACEHOLDER}`) {
@@ -1035,13 +1112,13 @@ export class OpenAI {
1035
1112
  'OpenAI-Organization': this.organization,
1036
1113
  'OpenAI-Project': this.project,
1037
1114
  },
1038
- await this.authHeaders(options),
1115
+ await this.authHeaders(options, options.__security ?? { bearerAuth: true }),
1039
1116
  this._options.defaultHeaders,
1040
1117
  bodyHeaders,
1041
1118
  options.headers,
1042
1119
  ]);
1043
1120
 
1044
- this.validateHeaders(headers);
1121
+ this.validateHeaders(headers, options.__security ?? { bearerAuth: true });
1045
1122
 
1046
1123
  return headers.values;
1047
1124
  }
@@ -1176,6 +1253,7 @@ export class OpenAI {
1176
1253
  * Use Uploads to upload large files in multiple parts.
1177
1254
  */
1178
1255
  uploads: API.Uploads = new API.Uploads(this);
1256
+ admin: API.Admin = new API.Admin(this);
1179
1257
  responses: API.Responses = new API.Responses(this);
1180
1258
  realtime: API.Realtime = new API.Realtime(this);
1181
1259
  /**
@@ -1206,6 +1284,7 @@ OpenAI.Webhooks = Webhooks;
1206
1284
  OpenAI.Beta = Beta;
1207
1285
  OpenAI.Batches = Batches;
1208
1286
  OpenAI.Uploads = UploadsAPIUploads;
1287
+ OpenAI.Admin = Admin;
1209
1288
  OpenAI.Responses = Responses;
1210
1289
  OpenAI.Realtime = Realtime;
1211
1290
  OpenAI.Conversations = Conversations;
@@ -1229,6 +1308,12 @@ export declare namespace OpenAI {
1229
1308
  type ConversationCursorPageResponse as ConversationCursorPageResponse,
1230
1309
  };
1231
1310
 
1311
+ export import NextCursorPage = Pagination.NextCursorPage;
1312
+ export {
1313
+ type NextCursorPageParams as NextCursorPageParams,
1314
+ type NextCursorPageResponse as NextCursorPageResponse,
1315
+ };
1316
+
1232
1317
  export {
1233
1318
  Completions as Completions,
1234
1319
  type Completion as Completion,
@@ -1391,6 +1476,8 @@ export declare namespace OpenAI {
1391
1476
  type UploadCompleteParams as UploadCompleteParams,
1392
1477
  };
1393
1478
 
1479
+ export { Admin as Admin };
1480
+
1394
1481
  export { Responses as Responses };
1395
1482
 
1396
1483
  export { Realtime as Realtime };
@@ -96,3 +96,19 @@ export class EventEmitter<EventTypes extends Record<string, (...args: any) => an
96
96
  return listeners && listeners.length > 0;
97
97
  }
98
98
  }
99
+
100
+ /**
101
+ * An EventEmitter variant that exposes `_emit()` publicly.
102
+ *
103
+ * The base {@link EventEmitter} keeps `_emit` protected so that consumers
104
+ * can only listen, not dispatch. When you need a separate emitter instance
105
+ * that your own code can emit on, without exposing emit on the
106
+ * consumer-facing emitter, use this class.
107
+ */
108
+ export class InternalEventEmitter<
109
+ EventTypes extends Record<string, (...args: any) => any>,
110
+ > extends EventEmitter<EventTypes> {
111
+ override _emit<Event extends keyof EventTypes>(event: Event, ...args: EventParameters<EventTypes, Event>) {
112
+ super._emit(event, ...args);
113
+ }
114
+ }
@@ -267,3 +267,65 @@ export class ConversationCursorPage<Item>
267
267
  };
268
268
  }
269
269
  }
270
+
271
+ export interface NextCursorPageResponse<Item> {
272
+ data: Array<Item>;
273
+
274
+ has_more: boolean;
275
+
276
+ next: string | null;
277
+ }
278
+
279
+ export interface NextCursorPageParams {
280
+ after?: string;
281
+
282
+ limit?: number;
283
+ }
284
+
285
+ export class NextCursorPage<Item> extends AbstractPage<Item> implements NextCursorPageResponse<Item> {
286
+ data: Array<Item>;
287
+
288
+ has_more: boolean;
289
+
290
+ next: string | null;
291
+
292
+ constructor(
293
+ client: OpenAI,
294
+ response: Response,
295
+ body: NextCursorPageResponse<Item>,
296
+ options: FinalRequestOptions,
297
+ ) {
298
+ super(client, response, body, options);
299
+
300
+ this.data = body.data || [];
301
+ this.has_more = body.has_more || false;
302
+ this.next = body.next || null;
303
+ }
304
+
305
+ getPaginatedItems(): Item[] {
306
+ return this.data ?? [];
307
+ }
308
+
309
+ override hasNextPage(): boolean {
310
+ if (this.has_more === false) {
311
+ return false;
312
+ }
313
+
314
+ return super.hasNextPage();
315
+ }
316
+
317
+ nextPageRequestOptions(): PageRequestOptions | null {
318
+ const cursor = this.next;
319
+ if (!cursor) {
320
+ return null;
321
+ }
322
+
323
+ return {
324
+ ...this.options,
325
+ query: {
326
+ ...maybeObj(this.options.query),
327
+ after: cursor,
328
+ },
329
+ };
330
+ }
331
+ }
@@ -77,6 +77,7 @@ export type RequestOptions = {
77
77
  defaultBaseURL?: string | undefined;
78
78
 
79
79
  __metadata?: Record<string, unknown>;
80
+ __security?: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean };
80
81
  __binaryResponse?: boolean | undefined;
81
82
  __streamClass?: typeof Stream;
82
83
  __synthesizeEventData?: boolean;
@@ -40,7 +40,6 @@ type OverloadedParameters<T> =
40
40
  : T extends (...args: infer A) => unknown ? A
41
41
  : never;
42
42
 
43
- /* eslint-disable */
44
43
  /**
45
44
  * These imports attempt to get types from a parent package's dependencies.
46
45
  * Unresolved bare specifiers can trigger [automatic type acquisition][1] in some projects, which
@@ -63,19 +62,18 @@ type OverloadedParameters<T> =
63
62
  *
64
63
  * [1]: https://www.typescriptlang.org/tsconfig/#typeAcquisition
65
64
  */
66
- /** @ts-ignore For users with \@types/node */
65
+ /** @ts-ignore For users with \@types/node */ /* prettier-ignore */
67
66
  type UndiciTypesRequestInit = NotAny<import('../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit>;
68
- /** @ts-ignore For users with undici */
67
+ /** @ts-ignore For users with undici */ /* prettier-ignore */
69
68
  type UndiciRequestInit = NotAny<import('../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/undici/index.d.ts').RequestInit>;
70
- /** @ts-ignore For users with \@types/bun */
69
+ /** @ts-ignore For users with \@types/bun */ /* prettier-ignore */
71
70
  type BunRequestInit = globalThis.FetchRequestInit;
72
- /** @ts-ignore For users with node-fetch@2 */
71
+ /** @ts-ignore For users with node-fetch@2 */ /* prettier-ignore */
73
72
  type NodeFetch2RequestInit = NotAny<import('../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit>;
74
- /** @ts-ignore For users with node-fetch@3, doesn't need file extension because types are at ./@types/index.d.ts */
73
+ /** @ts-ignore For users with node-fetch@3, doesn't need file extension because types are at ./@types/index.d.ts */ /* prettier-ignore */
75
74
  type NodeFetch3RequestInit = NotAny<import('../node_modules/node-fetch').RequestInit> | NotAny<import('../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/node-fetch').RequestInit>;
76
- /** @ts-ignore For users who use Deno */
75
+ /** @ts-ignore For users who use Deno */ /* prettier-ignore */
77
76
  type FetchRequestInit = NonNullable<OverloadedParameters<typeof fetch>[1]>;
78
- /* eslint-enable */
79
77
 
80
78
  type RequestInits =
81
79
  | NotAny<UndiciTypesRequestInit>
@@ -9,10 +9,10 @@
9
9
  */
10
10
  export const readEnv = (env: string): string | undefined => {
11
11
  if (typeof (globalThis as any).process !== 'undefined') {
12
- return (globalThis as any).process.env?.[env]?.trim() ?? undefined;
12
+ return (globalThis as any).process.env?.[env]?.trim() || undefined;
13
13
  }
14
14
  if (typeof (globalThis as any).Deno !== 'undefined') {
15
- return (globalThis as any).Deno.env?.get?.(env)?.trim();
15
+ return (globalThis as any).Deno.env?.get?.(env)?.trim() || undefined;
16
16
  }
17
17
  return undefined;
18
18
  };
@@ -0,0 +1,123 @@
1
+ import type { WebSocketLike } from './ws-adapter';
2
+
3
+ /** A generic event listener callback. */
4
+ type Listener = (...args: any[]) => void;
5
+
6
+ /** A DOM-style event handler passed to addEventListener/removeEventListener. */
7
+ type DOMEventHandler = (ev: any) => void;
8
+
9
+ // Minimal browser API type declarations.
10
+ declare class WebSocket {
11
+ readonly readyState: number;
12
+ binaryType: string;
13
+ send(data: string | ArrayBufferLike | ArrayBufferView): void;
14
+ close(code?: number, reason?: string): void;
15
+ addEventListener(type: string, listener: DOMEventHandler): void;
16
+ removeEventListener(type: string, listener: DOMEventHandler): void;
17
+ }
18
+
19
+ interface MessageEvent {
20
+ data: any;
21
+ }
22
+
23
+ interface CloseEvent {
24
+ code: number;
25
+ reason: string;
26
+ }
27
+
28
+ export class BrowserWebSocket implements WebSocketLike {
29
+ private _ws: WebSocket;
30
+ private _listenerMap = new Map<string, Map<Listener, DOMEventHandler>>();
31
+
32
+ constructor(ws: WebSocket) {
33
+ this._ws = ws;
34
+ this._ws.binaryType = 'arraybuffer';
35
+ }
36
+
37
+ /** The underlying platform-specific socket. Code that accesses this will not be isomorphic across server and browser environments. */
38
+ get platformSocket(): WebSocket {
39
+ return this._ws;
40
+ }
41
+
42
+ get readyState(): number {
43
+ return this._ws.readyState;
44
+ }
45
+
46
+ send(data: string | ArrayBufferLike | ArrayBufferView): void {
47
+ this._ws.send(data);
48
+ }
49
+
50
+ close(code?: number, reason?: string): void {
51
+ this._ws.close(code, reason);
52
+ }
53
+
54
+ on(event: string, listener: Listener): void {
55
+ const wrapped = this._wrapListener(event, listener);
56
+ this._listenersFor(event).set(listener, wrapped);
57
+ this._ws.addEventListener(event, wrapped);
58
+ }
59
+
60
+ off(event: string, listener: Listener): void {
61
+ const byListener = this._listenerMap.get(event);
62
+ if (!byListener) return;
63
+ const wrapped = byListener.get(listener);
64
+ if (wrapped) {
65
+ byListener.delete(listener);
66
+ this._ws.removeEventListener(event, wrapped);
67
+ }
68
+ }
69
+
70
+ once(event: string, listener: Listener): void {
71
+ const onceListener: Listener = (...args) => {
72
+ this.off(event, listener);
73
+ listener(...args);
74
+ };
75
+ const wrapped = this._wrapListener(event, onceListener);
76
+ this._listenersFor(event).set(listener, wrapped);
77
+ this._ws.addEventListener(event, wrapped);
78
+ }
79
+
80
+ private _listenersFor(event: string): Map<Listener, DOMEventHandler> {
81
+ let map = this._listenerMap.get(event);
82
+ if (!map) {
83
+ map = new Map();
84
+ this._listenerMap.set(event, map);
85
+ }
86
+ return map;
87
+ }
88
+
89
+ /**
90
+ * Converts browser event objects to positional arguments matching the
91
+ * {@link WebSocketLike} interface.
92
+ */
93
+ private _wrapListener(event: string, listener: Listener): DOMEventHandler {
94
+ switch (event) {
95
+ case 'message':
96
+ return (ev: MessageEvent) => {
97
+ const isBinary = typeof ev.data !== 'string';
98
+ listener(ev.data, isBinary);
99
+ };
100
+
101
+ case 'close':
102
+ return (ev: CloseEvent) => {
103
+ listener(ev.code, ev.reason);
104
+ };
105
+
106
+ case 'error':
107
+ return (ev: any) => {
108
+ // Some environments provide an ErrorEvent with a `.message`;
109
+ // fall back to a generic message when the event carries nothing.
110
+ const message = ev?.message || ev?.error?.message || 'WebSocket error';
111
+ const err = new Error(message);
112
+ if (ev?.error) {
113
+ (err as any).cause = ev.error;
114
+ }
115
+ listener(err);
116
+ };
117
+
118
+ case 'open':
119
+ default:
120
+ return listener as DOMEventHandler;
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,105 @@
1
+ import type * as WS from 'ws';
2
+ import type { WebSocketLike } from './ws-adapter';
3
+
4
+ /** A generic event listener callback. */
5
+ type Listener = (...args: any[]) => void;
6
+
7
+ export class NodeWebSocket implements WebSocketLike {
8
+ private _ws: WS.WebSocket;
9
+
10
+ /** Maps `(event, originalListener)` -> wrapped listener for correct `off()` removal. */
11
+ private _listenerMap = new Map<string, Map<Listener, Listener>>();
12
+
13
+ constructor(ws: WS.WebSocket) {
14
+ this._ws = ws;
15
+ }
16
+
17
+ /** The underlying platform-specific socket. Code that accesses this will not be isomorphic across server and browser environments. */
18
+ get platformSocket(): WS.WebSocket {
19
+ return this._ws;
20
+ }
21
+
22
+ get readyState(): number {
23
+ return this._ws.readyState;
24
+ }
25
+
26
+ send(data: string | ArrayBufferLike | ArrayBufferView): void {
27
+ this._ws.send(data);
28
+ }
29
+
30
+ close(code?: number, reason?: string): void {
31
+ this._ws.close(code, reason);
32
+ }
33
+
34
+ on(event: string, listener: Listener): void {
35
+ const wrapped = this._wrapListener(event, listener);
36
+ this._listenersFor(event).set(listener, wrapped);
37
+ this._ws.on(event, wrapped);
38
+ }
39
+
40
+ off(event: string, listener: Listener): void {
41
+ const byListener = this._listenerMap.get(event);
42
+ if (!byListener) return;
43
+ const wrapped = byListener.get(listener);
44
+ if (wrapped) {
45
+ byListener.delete(listener);
46
+ this._ws.removeListener(event, wrapped);
47
+ }
48
+ }
49
+
50
+ once(event: string, listener: Listener): void {
51
+ const onceListener: Listener = (...args) => {
52
+ this.off(event, listener);
53
+ listener(...args);
54
+ };
55
+ const wrapped = this._wrapListener(event, onceListener);
56
+ this._listenersFor(event).set(listener, wrapped);
57
+ this._ws.on(event, wrapped);
58
+ }
59
+
60
+ private _listenersFor(event: string): Map<Listener, Listener> {
61
+ let map = this._listenerMap.get(event);
62
+ if (!map) {
63
+ map = new Map();
64
+ this._listenerMap.set(event, map);
65
+ }
66
+ return map;
67
+ }
68
+
69
+ /**
70
+ * Normalizes `ws` message payloads: text frames become strings,
71
+ * binary frames stay as `Buffer`, and fragmented frames are merged.
72
+ */
73
+ private static _normalizeMessageData(
74
+ data: Buffer | ArrayBuffer | Buffer[],
75
+ isBinary: boolean,
76
+ ): string | Buffer {
77
+ if (!isBinary) {
78
+ if (Array.isArray(data)) return Buffer.concat(data).toString();
79
+ if (data instanceof ArrayBuffer) return Buffer.from(data).toString();
80
+ return data.toString();
81
+ }
82
+
83
+ if (Array.isArray(data)) return Buffer.concat(data);
84
+ if (data instanceof ArrayBuffer) return Buffer.from(data);
85
+ return data;
86
+ }
87
+
88
+ private _wrapListener(event: string, listener: Listener): Listener {
89
+ switch (event) {
90
+ case 'message':
91
+ return (data: Buffer | ArrayBuffer | Buffer[], isBinary: boolean) => {
92
+ listener(NodeWebSocket._normalizeMessageData(data, isBinary), isBinary);
93
+ };
94
+
95
+ case 'close':
96
+ return (code: number, reason: Buffer) => {
97
+ listener(code, reason.toString());
98
+ };
99
+
100
+ // 'open' and 'error' pass through unchanged
101
+ default:
102
+ return listener;
103
+ }
104
+ }
105
+ }