openai 7.5.0 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/README.md +46 -2
  3. package/auth/index.d.mts +1 -1
  4. package/auth/index.d.mts.map +1 -1
  5. package/auth/index.d.ts +1 -1
  6. package/auth/index.d.ts.map +1 -1
  7. package/auth/index.js.map +1 -1
  8. package/auth/index.mjs.map +1 -1
  9. package/auth/subject-token-providers.d.mts.map +1 -1
  10. package/auth/subject-token-providers.d.ts.map +1 -1
  11. package/auth/subject-token-providers.js +176 -4
  12. package/auth/subject-token-providers.js.map +1 -1
  13. package/auth/subject-token-providers.mjs +176 -4
  14. package/auth/subject-token-providers.mjs.map +1 -1
  15. package/auth/types.d.mts +17 -0
  16. package/auth/types.d.mts.map +1 -1
  17. package/auth/types.d.ts +17 -0
  18. package/auth/types.d.ts.map +1 -1
  19. package/auth/workload-identity-auth.d.mts.map +1 -1
  20. package/auth/workload-identity-auth.d.ts.map +1 -1
  21. package/auth/workload-identity-auth.js +80 -7
  22. package/auth/workload-identity-auth.js.map +1 -1
  23. package/auth/workload-identity-auth.mjs +80 -7
  24. package/auth/workload-identity-auth.mjs.map +1 -1
  25. package/auth/x509-transport.d.mts +5 -0
  26. package/auth/x509-transport.d.mts.map +1 -0
  27. package/auth/x509-transport.d.ts +5 -0
  28. package/auth/x509-transport.d.ts.map +1 -0
  29. package/auth/x509-transport.js +39 -0
  30. package/auth/x509-transport.js.map +1 -0
  31. package/auth/x509-transport.mjs +36 -0
  32. package/auth/x509-transport.mjs.map +1 -0
  33. package/azure.d.mts +11 -2
  34. package/azure.d.mts.map +1 -1
  35. package/azure.d.ts +11 -2
  36. package/azure.d.ts.map +1 -1
  37. package/azure.js +7 -1
  38. package/azure.js.map +1 -1
  39. package/azure.mjs +7 -1
  40. package/azure.mjs.map +1 -1
  41. package/bedrock.d.mts +6 -2
  42. package/bedrock.d.mts.map +1 -1
  43. package/bedrock.d.ts +6 -2
  44. package/bedrock.d.ts.map +1 -1
  45. package/bedrock.js +34 -4
  46. package/bedrock.js.map +1 -1
  47. package/bedrock.mjs +35 -5
  48. package/bedrock.mjs.map +1 -1
  49. package/beta/realtime/internal-base.d.mts +2 -0
  50. package/beta/realtime/internal-base.d.mts.map +1 -1
  51. package/beta/realtime/internal-base.d.ts +2 -0
  52. package/beta/realtime/internal-base.d.ts.map +1 -1
  53. package/beta/realtime/internal-base.js +15 -0
  54. package/beta/realtime/internal-base.js.map +1 -1
  55. package/beta/realtime/internal-base.mjs +14 -0
  56. package/beta/realtime/internal-base.mjs.map +1 -1
  57. package/beta/realtime/websocket.d.mts +11 -5
  58. package/beta/realtime/websocket.d.mts.map +1 -1
  59. package/beta/realtime/websocket.d.ts +11 -5
  60. package/beta/realtime/websocket.d.ts.map +1 -1
  61. package/beta/realtime/websocket.js +106 -31
  62. package/beta/realtime/websocket.js.map +1 -1
  63. package/beta/realtime/websocket.mjs +107 -32
  64. package/beta/realtime/websocket.mjs.map +1 -1
  65. package/beta/realtime/ws.d.mts +0 -2
  66. package/beta/realtime/ws.d.mts.map +1 -1
  67. package/beta/realtime/ws.d.ts +0 -2
  68. package/beta/realtime/ws.d.ts.map +1 -1
  69. package/beta/realtime/ws.js +24 -5
  70. package/beta/realtime/ws.js.map +1 -1
  71. package/beta/realtime/ws.mjs +25 -6
  72. package/beta/realtime/ws.mjs.map +1 -1
  73. package/client.d.mts +17 -2
  74. package/client.d.mts.map +1 -1
  75. package/client.d.ts +17 -2
  76. package/client.d.ts.map +1 -1
  77. package/client.js +422 -70
  78. package/client.js.map +1 -1
  79. package/client.mjs +423 -71
  80. package/client.mjs.map +1 -1
  81. package/core/EventEmitter.d.mts.map +1 -1
  82. package/core/EventEmitter.d.ts.map +1 -1
  83. package/core/EventEmitter.js +67 -9
  84. package/core/EventEmitter.js.map +1 -1
  85. package/core/EventEmitter.mjs +68 -10
  86. package/core/EventEmitter.mjs.map +1 -1
  87. package/core/streaming.d.mts +1 -0
  88. package/core/streaming.d.mts.map +1 -1
  89. package/core/streaming.d.ts +1 -0
  90. package/core/streaming.d.ts.map +1 -1
  91. package/core/streaming.js +58 -19
  92. package/core/streaming.js.map +1 -1
  93. package/core/streaming.mjs +58 -19
  94. package/core/streaming.mjs.map +1 -1
  95. package/helpers/audio.d.mts +5 -5
  96. package/helpers/audio.d.mts.map +1 -1
  97. package/helpers/audio.d.ts +5 -5
  98. package/helpers/audio.d.ts.map +1 -1
  99. package/helpers/audio.js +93 -22
  100. package/helpers/audio.js.map +1 -1
  101. package/helpers/audio.mjs +93 -22
  102. package/helpers/audio.mjs.map +1 -1
  103. package/helpers/standard-schema.d.mts.map +1 -1
  104. package/helpers/standard-schema.d.ts.map +1 -1
  105. package/helpers/standard-schema.js +34 -14
  106. package/helpers/standard-schema.js.map +1 -1
  107. package/helpers/standard-schema.mjs +35 -15
  108. package/helpers/standard-schema.mjs.map +1 -1
  109. package/helpers/zod-v3-strict-schema.d.mts +7 -0
  110. package/helpers/zod-v3-strict-schema.d.mts.map +1 -0
  111. package/helpers/zod-v3-strict-schema.d.ts +7 -0
  112. package/helpers/zod-v3-strict-schema.d.ts.map +1 -0
  113. package/helpers/zod-v3-strict-schema.js +403 -0
  114. package/helpers/zod-v3-strict-schema.js.map +1 -0
  115. package/helpers/zod-v3-strict-schema.mjs +399 -0
  116. package/helpers/zod-v3-strict-schema.mjs.map +1 -0
  117. package/helpers/zod.d.mts.map +1 -1
  118. package/helpers/zod.d.ts.map +1 -1
  119. package/helpers/zod.js +11 -3
  120. package/helpers/zod.js.map +1 -1
  121. package/helpers/zod.mjs +12 -4
  122. package/helpers/zod.mjs.map +1 -1
  123. package/index.d.mts +1 -1
  124. package/index.d.mts.map +1 -1
  125. package/index.d.ts +1 -1
  126. package/index.d.ts.map +1 -1
  127. package/index.js.map +1 -1
  128. package/index.mjs.map +1 -1
  129. package/internal/assistant-stream-delta.d.mts.map +1 -1
  130. package/internal/assistant-stream-delta.d.ts.map +1 -1
  131. package/internal/assistant-stream-delta.js +28 -8
  132. package/internal/assistant-stream-delta.js.map +1 -1
  133. package/internal/assistant-stream-delta.mjs +28 -8
  134. package/internal/assistant-stream-delta.mjs.map +1 -1
  135. package/internal/auth/x509-token-exchange.d.mts +16 -0
  136. package/internal/auth/x509-token-exchange.d.mts.map +1 -0
  137. package/internal/auth/x509-token-exchange.d.ts +16 -0
  138. package/internal/auth/x509-token-exchange.d.ts.map +1 -0
  139. package/internal/auth/x509-token-exchange.js +246 -0
  140. package/internal/auth/x509-token-exchange.js.map +1 -0
  141. package/internal/auth/x509-token-exchange.mjs +243 -0
  142. package/internal/auth/x509-token-exchange.mjs.map +1 -0
  143. package/internal/auth/x509-transport-capability.d.mts +37 -0
  144. package/internal/auth/x509-transport-capability.d.mts.map +1 -0
  145. package/internal/auth/x509-transport-capability.d.ts +37 -0
  146. package/internal/auth/x509-transport-capability.d.ts.map +1 -0
  147. package/internal/auth/x509-transport-capability.js +169 -0
  148. package/internal/auth/x509-transport-capability.js.map +1 -0
  149. package/internal/auth/x509-transport-capability.mjs +164 -0
  150. package/internal/auth/x509-transport-capability.mjs.map +1 -0
  151. package/internal/auth/x509-transport-registry.d.mts +63 -0
  152. package/internal/auth/x509-transport-registry.d.mts.map +1 -0
  153. package/internal/auth/x509-transport-registry.d.ts +63 -0
  154. package/internal/auth/x509-transport-registry.d.ts.map +1 -0
  155. package/internal/auth/x509-transport-registry.js +53 -0
  156. package/internal/auth/x509-transport-registry.js.map +1 -0
  157. package/internal/auth/x509-transport-registry.mjs +48 -0
  158. package/internal/auth/x509-transport-registry.mjs.map +1 -0
  159. package/internal/auth/x509-transport-state-browser.d.mts +21 -0
  160. package/internal/auth/x509-transport-state-browser.d.mts.map +1 -0
  161. package/internal/auth/x509-transport-state-browser.d.ts +21 -0
  162. package/internal/auth/x509-transport-state-browser.d.ts.map +1 -0
  163. package/internal/auth/x509-transport-state-browser.js +30 -0
  164. package/internal/auth/x509-transport-state-browser.js.map +1 -0
  165. package/internal/auth/x509-transport-state-browser.mjs +27 -0
  166. package/internal/auth/x509-transport-state-browser.mjs.map +1 -0
  167. package/internal/auth/x509-transport-state.cjs +30 -0
  168. package/internal/auth/x509-transport-state.cjs.map +1 -0
  169. package/internal/auth/x509-transport-state.d.cts +21 -0
  170. package/internal/auth/x509-transport-state.d.cts.map +1 -0
  171. package/internal/auth/x509-workload-identity-auth.d.mts +128 -0
  172. package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -0
  173. package/internal/auth/x509-workload-identity-auth.d.ts +128 -0
  174. package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -0
  175. package/internal/auth/x509-workload-identity-auth.js +767 -0
  176. package/internal/auth/x509-workload-identity-auth.js.map +1 -0
  177. package/internal/auth/x509-workload-identity-auth.mjs +757 -0
  178. package/internal/auth/x509-workload-identity-auth.mjs.map +1 -0
  179. package/internal/bedrock.d.mts +2 -0
  180. package/internal/bedrock.d.mts.map +1 -1
  181. package/internal/bedrock.d.ts +2 -0
  182. package/internal/bedrock.d.ts.map +1 -1
  183. package/internal/bedrock.js +169 -5
  184. package/internal/bedrock.js.map +1 -1
  185. package/internal/bedrock.mjs +168 -5
  186. package/internal/bedrock.mjs.map +1 -1
  187. package/internal/data-residency.d.mts +12 -0
  188. package/internal/data-residency.d.mts.map +1 -0
  189. package/internal/data-residency.d.ts +12 -0
  190. package/internal/data-residency.d.ts.map +1 -0
  191. package/internal/data-residency.js +34 -0
  192. package/internal/data-residency.js.map +1 -0
  193. package/internal/data-residency.mjs +30 -0
  194. package/internal/data-residency.mjs.map +1 -0
  195. package/internal/multipart-encoding.d.mts +8 -0
  196. package/internal/multipart-encoding.d.mts.map +1 -0
  197. package/internal/multipart-encoding.d.ts +8 -0
  198. package/internal/multipart-encoding.d.ts.map +1 -0
  199. package/internal/multipart-encoding.js +51 -0
  200. package/internal/multipart-encoding.js.map +1 -0
  201. package/internal/multipart-encoding.mjs +48 -0
  202. package/internal/multipart-encoding.mjs.map +1 -0
  203. package/internal/qs/utils.d.mts.map +1 -1
  204. package/internal/qs/utils.d.ts.map +1 -1
  205. package/internal/qs/utils.js +307 -10
  206. package/internal/qs/utils.js.map +1 -1
  207. package/internal/qs/utils.mjs +307 -10
  208. package/internal/qs/utils.mjs.map +1 -1
  209. package/internal/request-options.d.mts +7 -0
  210. package/internal/request-options.d.mts.map +1 -1
  211. package/internal/request-options.d.ts +7 -0
  212. package/internal/request-options.d.ts.map +1 -1
  213. package/internal/request-options.js +43 -1
  214. package/internal/request-options.js.map +1 -1
  215. package/internal/request-options.mjs +42 -1
  216. package/internal/request-options.mjs.map +1 -1
  217. package/internal/responses/canonical-output-text.js +3 -3
  218. package/internal/responses/canonical-output-text.js.map +1 -1
  219. package/internal/responses/canonical-output-text.mjs +3 -3
  220. package/internal/responses/canonical-output-text.mjs.map +1 -1
  221. package/internal/responses/response-accumulator.d.mts +1 -1
  222. package/internal/responses/response-accumulator.d.mts.map +1 -1
  223. package/internal/responses/response-accumulator.d.ts +1 -1
  224. package/internal/responses/response-accumulator.d.ts.map +1 -1
  225. package/internal/responses/response-accumulator.js +331 -25
  226. package/internal/responses/response-accumulator.js.map +1 -1
  227. package/internal/responses/response-accumulator.mjs +331 -25
  228. package/internal/responses/response-accumulator.mjs.map +1 -1
  229. package/internal/tslib.js +6 -0
  230. package/internal/tslib.mjs +6 -1
  231. package/internal/uploads.d.mts +10 -6
  232. package/internal/uploads.d.mts.map +1 -1
  233. package/internal/uploads.d.ts +10 -6
  234. package/internal/uploads.d.ts.map +1 -1
  235. package/internal/uploads.js +65 -24
  236. package/internal/uploads.js.map +1 -1
  237. package/internal/uploads.mjs +65 -24
  238. package/internal/uploads.mjs.map +1 -1
  239. package/internal/utils/env.d.mts.map +1 -1
  240. package/internal/utils/env.d.ts.map +1 -1
  241. package/internal/utils/env.js +9 -4
  242. package/internal/utils/env.js.map +1 -1
  243. package/internal/utils/env.mjs +9 -4
  244. package/internal/utils/env.mjs.map +1 -1
  245. package/internal/ws.d.mts.map +1 -1
  246. package/internal/ws.d.ts.map +1 -1
  247. package/internal/ws.js +23 -1
  248. package/internal/ws.js.map +1 -1
  249. package/internal/ws.mjs +23 -1
  250. package/internal/ws.mjs.map +1 -1
  251. package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
  252. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  253. package/lib/AbstractChatCompletionRunner.js +32 -7
  254. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  255. package/lib/AbstractChatCompletionRunner.mjs +34 -9
  256. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  257. package/lib/AssistantStream.d.mts.map +1 -1
  258. package/lib/AssistantStream.d.ts.map +1 -1
  259. package/lib/AssistantStream.js +211 -23
  260. package/lib/AssistantStream.js.map +1 -1
  261. package/lib/AssistantStream.mjs +211 -23
  262. package/lib/AssistantStream.mjs.map +1 -1
  263. package/lib/ChatCompletionStream.d.mts +1 -1
  264. package/lib/ChatCompletionStream.d.mts.map +1 -1
  265. package/lib/ChatCompletionStream.d.ts +1 -1
  266. package/lib/ChatCompletionStream.d.ts.map +1 -1
  267. package/lib/ChatCompletionStream.js +1118 -67
  268. package/lib/ChatCompletionStream.js.map +1 -1
  269. package/lib/ChatCompletionStream.mjs +1119 -68
  270. package/lib/ChatCompletionStream.mjs.map +1 -1
  271. package/lib/EventEmitter.d.mts.map +1 -1
  272. package/lib/EventEmitter.d.ts.map +1 -1
  273. package/lib/EventEmitter.js +67 -9
  274. package/lib/EventEmitter.js.map +1 -1
  275. package/lib/EventEmitter.mjs +68 -10
  276. package/lib/EventEmitter.mjs.map +1 -1
  277. package/lib/EventStream.d.mts +4 -0
  278. package/lib/EventStream.d.mts.map +1 -1
  279. package/lib/EventStream.d.ts +4 -0
  280. package/lib/EventStream.d.ts.map +1 -1
  281. package/lib/EventStream.js +1096 -11
  282. package/lib/EventStream.js.map +1 -1
  283. package/lib/EventStream.mjs +1097 -12
  284. package/lib/EventStream.mjs.map +1 -1
  285. package/lib/ResponsesParser.d.mts.map +1 -1
  286. package/lib/ResponsesParser.d.ts.map +1 -1
  287. package/lib/ResponsesParser.js +1 -1
  288. package/lib/ResponsesParser.js.map +1 -1
  289. package/lib/ResponsesParser.mjs +1 -1
  290. package/lib/ResponsesParser.mjs.map +1 -1
  291. package/lib/Util.d.mts +2 -0
  292. package/lib/Util.d.mts.map +1 -1
  293. package/lib/Util.d.ts +2 -0
  294. package/lib/Util.d.ts.map +1 -1
  295. package/lib/Util.js +7 -4
  296. package/lib/Util.js.map +1 -1
  297. package/lib/Util.mjs +7 -4
  298. package/lib/Util.mjs.map +1 -1
  299. package/lib/assistant-run-polling.d.mts +12 -0
  300. package/lib/assistant-run-polling.d.mts.map +1 -0
  301. package/lib/assistant-run-polling.d.ts +12 -0
  302. package/lib/assistant-run-polling.d.ts.map +1 -0
  303. package/lib/assistant-run-polling.js +17 -0
  304. package/lib/assistant-run-polling.js.map +1 -0
  305. package/lib/assistant-run-polling.mjs +14 -0
  306. package/lib/assistant-run-polling.mjs.map +1 -0
  307. package/lib/embeddings.d.mts +18 -0
  308. package/lib/embeddings.d.mts.map +1 -0
  309. package/lib/embeddings.d.ts +18 -0
  310. package/lib/embeddings.d.ts.map +1 -0
  311. package/lib/embeddings.js +50 -0
  312. package/lib/embeddings.js.map +1 -0
  313. package/lib/embeddings.mjs +47 -0
  314. package/lib/embeddings.mjs.map +1 -0
  315. package/lib/file-processing.d.mts +10 -0
  316. package/lib/file-processing.d.mts.map +1 -0
  317. package/lib/file-processing.d.ts +10 -0
  318. package/lib/file-processing.d.ts.map +1 -0
  319. package/lib/file-processing.js +30 -0
  320. package/lib/file-processing.js.map +1 -0
  321. package/lib/file-processing.mjs +27 -0
  322. package/lib/file-processing.mjs.map +1 -0
  323. package/lib/parser.d.mts.map +1 -1
  324. package/lib/parser.d.ts.map +1 -1
  325. package/lib/parser.js +16 -4
  326. package/lib/parser.js.map +1 -1
  327. package/lib/parser.mjs +16 -4
  328. package/lib/parser.mjs.map +1 -1
  329. package/lib/polling.d.mts +20 -0
  330. package/lib/polling.d.mts.map +1 -0
  331. package/lib/polling.d.ts +20 -0
  332. package/lib/polling.d.ts.map +1 -0
  333. package/lib/polling.js +130 -0
  334. package/lib/polling.js.map +1 -0
  335. package/lib/polling.mjs +127 -0
  336. package/lib/polling.mjs.map +1 -0
  337. package/lib/responses/ResponseStream.d.mts.map +1 -1
  338. package/lib/responses/ResponseStream.d.ts.map +1 -1
  339. package/lib/responses/ResponseStream.js +21 -11
  340. package/lib/responses/ResponseStream.js.map +1 -1
  341. package/lib/responses/ResponseStream.mjs +21 -11
  342. package/lib/responses/ResponseStream.mjs.map +1 -1
  343. package/lib/vector-store-polling.d.mts +22 -0
  344. package/lib/vector-store-polling.d.mts.map +1 -0
  345. package/lib/vector-store-polling.d.ts +22 -0
  346. package/lib/vector-store-polling.d.ts.map +1 -0
  347. package/lib/vector-store-polling.js +24 -0
  348. package/lib/vector-store-polling.js.map +1 -0
  349. package/lib/vector-store-polling.mjs +20 -0
  350. package/lib/vector-store-polling.mjs.map +1 -0
  351. package/lib/vector-store-upload.d.mts +17 -0
  352. package/lib/vector-store-upload.d.mts.map +1 -0
  353. package/lib/vector-store-upload.d.ts +17 -0
  354. package/lib/vector-store-upload.d.ts.map +1 -0
  355. package/lib/vector-store-upload.js +37 -0
  356. package/lib/vector-store-upload.js.map +1 -0
  357. package/lib/vector-store-upload.mjs +34 -0
  358. package/lib/vector-store-upload.mjs.map +1 -0
  359. package/lib/webhook-signature.d.mts +15 -0
  360. package/lib/webhook-signature.d.mts.map +1 -0
  361. package/lib/webhook-signature.d.ts +15 -0
  362. package/lib/webhook-signature.d.ts.map +1 -0
  363. package/lib/webhook-signature.js +125 -0
  364. package/lib/webhook-signature.js.map +1 -0
  365. package/lib/webhook-signature.mjs +121 -0
  366. package/lib/webhook-signature.mjs.map +1 -0
  367. package/package.json +14 -1
  368. package/realtime/internal-base.d.mts +2 -0
  369. package/realtime/internal-base.d.mts.map +1 -1
  370. package/realtime/internal-base.d.ts +2 -0
  371. package/realtime/internal-base.d.ts.map +1 -1
  372. package/realtime/internal-base.js +15 -0
  373. package/realtime/internal-base.js.map +1 -1
  374. package/realtime/internal-base.mjs +14 -0
  375. package/realtime/internal-base.mjs.map +1 -1
  376. package/realtime/websocket.d.mts +3 -2
  377. package/realtime/websocket.d.mts.map +1 -1
  378. package/realtime/websocket.d.ts +3 -2
  379. package/realtime/websocket.d.ts.map +1 -1
  380. package/realtime/websocket.js +90 -26
  381. package/realtime/websocket.js.map +1 -1
  382. package/realtime/websocket.mjs +91 -27
  383. package/realtime/websocket.mjs.map +1 -1
  384. package/realtime/ws.d.mts.map +1 -1
  385. package/realtime/ws.d.ts.map +1 -1
  386. package/realtime/ws.js +9 -1
  387. package/realtime/ws.js.map +1 -1
  388. package/realtime/ws.mjs +10 -2
  389. package/realtime/ws.mjs.map +1 -1
  390. package/resources/admin/organization/index.d.mts +2 -2
  391. package/resources/admin/organization/index.d.mts.map +1 -1
  392. package/resources/admin/organization/index.d.ts +2 -2
  393. package/resources/admin/organization/index.d.ts.map +1 -1
  394. package/resources/admin/organization/index.js.map +1 -1
  395. package/resources/admin/organization/index.mjs.map +1 -1
  396. package/resources/admin/organization/organization.d.mts +4 -4
  397. package/resources/admin/organization/organization.d.mts.map +1 -1
  398. package/resources/admin/organization/organization.d.ts +4 -4
  399. package/resources/admin/organization/organization.d.ts.map +1 -1
  400. package/resources/admin/organization/organization.js.map +1 -1
  401. package/resources/admin/organization/organization.mjs.map +1 -1
  402. package/resources/admin/organization/projects/index.d.mts +1 -1
  403. package/resources/admin/organization/projects/index.d.mts.map +1 -1
  404. package/resources/admin/organization/projects/index.d.ts +1 -1
  405. package/resources/admin/organization/projects/index.d.ts.map +1 -1
  406. package/resources/admin/organization/projects/index.js.map +1 -1
  407. package/resources/admin/organization/projects/index.mjs.map +1 -1
  408. package/resources/admin/organization/projects/projects.d.mts +22 -5
  409. package/resources/admin/organization/projects/projects.d.mts.map +1 -1
  410. package/resources/admin/organization/projects/projects.d.ts +22 -5
  411. package/resources/admin/organization/projects/projects.d.ts.map +1 -1
  412. package/resources/admin/organization/projects/projects.js.map +1 -1
  413. package/resources/admin/organization/projects/projects.mjs.map +1 -1
  414. package/resources/admin/organization/usage.d.mts +62 -1
  415. package/resources/admin/organization/usage.d.mts.map +1 -1
  416. package/resources/admin/organization/usage.d.ts +62 -1
  417. package/resources/admin/organization/usage.d.ts.map +1 -1
  418. package/resources/admin/organization/usage.js.map +1 -1
  419. package/resources/admin/organization/usage.mjs.map +1 -1
  420. package/resources/beta/responses/internal-base.d.mts.map +1 -1
  421. package/resources/beta/responses/internal-base.d.ts.map +1 -1
  422. package/resources/beta/responses/internal-base.js +2 -0
  423. package/resources/beta/responses/internal-base.js.map +1 -1
  424. package/resources/beta/responses/internal-base.mjs +2 -0
  425. package/resources/beta/responses/internal-base.mjs.map +1 -1
  426. package/resources/beta/responses/responses.d.mts +9 -12
  427. package/resources/beta/responses/responses.d.mts.map +1 -1
  428. package/resources/beta/responses/responses.d.ts +9 -12
  429. package/resources/beta/responses/responses.d.ts.map +1 -1
  430. package/resources/beta/responses/responses.js.map +1 -1
  431. package/resources/beta/responses/responses.mjs.map +1 -1
  432. package/resources/beta/threads/runs/index.d.mts +1 -1
  433. package/resources/beta/threads/runs/index.d.mts.map +1 -1
  434. package/resources/beta/threads/runs/index.d.ts +1 -1
  435. package/resources/beta/threads/runs/index.d.ts.map +1 -1
  436. package/resources/beta/threads/runs/runs.d.mts.map +1 -1
  437. package/resources/beta/threads/runs/runs.d.ts.map +1 -1
  438. package/resources/beta/threads/runs/runs.js +2 -43
  439. package/resources/beta/threads/runs/runs.js.map +1 -1
  440. package/resources/beta/threads/runs/runs.mjs +2 -43
  441. package/resources/beta/threads/runs/runs.mjs.map +1 -1
  442. package/resources/chat/completions/completions.d.mts +6 -0
  443. package/resources/chat/completions/completions.d.mts.map +1 -1
  444. package/resources/chat/completions/completions.d.ts +6 -0
  445. package/resources/chat/completions/completions.d.ts.map +1 -1
  446. package/resources/chat/completions/completions.js.map +1 -1
  447. package/resources/chat/completions/completions.mjs.map +1 -1
  448. package/resources/embeddings.d.mts.map +1 -1
  449. package/resources/embeddings.d.ts.map +1 -1
  450. package/resources/embeddings.js +2 -36
  451. package/resources/embeddings.js.map +1 -1
  452. package/resources/embeddings.mjs +2 -36
  453. package/resources/embeddings.mjs.map +1 -1
  454. package/resources/files.d.mts.map +1 -1
  455. package/resources/files.d.ts.map +1 -1
  456. package/resources/files.js +2 -15
  457. package/resources/files.js.map +1 -1
  458. package/resources/files.mjs +2 -15
  459. package/resources/files.mjs.map +1 -1
  460. package/resources/images.d.mts +12 -22
  461. package/resources/images.d.mts.map +1 -1
  462. package/resources/images.d.ts +12 -22
  463. package/resources/images.d.ts.map +1 -1
  464. package/resources/realtime/calls.d.mts +23 -1
  465. package/resources/realtime/calls.d.mts.map +1 -1
  466. package/resources/realtime/calls.d.ts +23 -1
  467. package/resources/realtime/calls.d.ts.map +1 -1
  468. package/resources/realtime/calls.js +24 -0
  469. package/resources/realtime/calls.js.map +1 -1
  470. package/resources/realtime/calls.mjs +24 -0
  471. package/resources/realtime/calls.mjs.map +1 -1
  472. package/resources/realtime/index.d.mts +1 -1
  473. package/resources/realtime/index.d.mts.map +1 -1
  474. package/resources/realtime/index.d.ts +1 -1
  475. package/resources/realtime/index.d.ts.map +1 -1
  476. package/resources/realtime/index.js.map +1 -1
  477. package/resources/realtime/index.mjs +1 -1
  478. package/resources/realtime/index.mjs.map +1 -1
  479. package/resources/realtime/realtime.d.mts +5 -4
  480. package/resources/realtime/realtime.d.mts.map +1 -1
  481. package/resources/realtime/realtime.d.ts +5 -4
  482. package/resources/realtime/realtime.d.ts.map +1 -1
  483. package/resources/realtime/realtime.js.map +1 -1
  484. package/resources/realtime/realtime.mjs.map +1 -1
  485. package/resources/responses/internal-base.d.mts.map +1 -1
  486. package/resources/responses/internal-base.d.ts.map +1 -1
  487. package/resources/responses/internal-base.js +2 -0
  488. package/resources/responses/internal-base.js.map +1 -1
  489. package/resources/responses/internal-base.mjs +2 -0
  490. package/resources/responses/internal-base.mjs.map +1 -1
  491. package/resources/responses/responses.d.mts +9 -12
  492. package/resources/responses/responses.d.mts.map +1 -1
  493. package/resources/responses/responses.d.ts +9 -12
  494. package/resources/responses/responses.d.ts.map +1 -1
  495. package/resources/responses/responses.js.map +1 -1
  496. package/resources/responses/responses.mjs.map +1 -1
  497. package/resources/vector-stores/file-batches.d.mts.map +1 -1
  498. package/resources/vector-stores/file-batches.d.ts.map +1 -1
  499. package/resources/vector-stores/file-batches.js +4 -61
  500. package/resources/vector-stores/file-batches.js.map +1 -1
  501. package/resources/vector-stores/file-batches.mjs +4 -61
  502. package/resources/vector-stores/file-batches.mjs.map +1 -1
  503. package/resources/vector-stores/files.d.mts +1 -1
  504. package/resources/vector-stores/files.d.mts.map +1 -1
  505. package/resources/vector-stores/files.d.ts +1 -1
  506. package/resources/vector-stores/files.d.ts.map +1 -1
  507. package/resources/vector-stores/files.js +2 -35
  508. package/resources/vector-stores/files.js.map +1 -1
  509. package/resources/vector-stores/files.mjs +2 -35
  510. package/resources/vector-stores/files.mjs.map +1 -1
  511. package/resources/webhooks/webhooks.d.mts.map +1 -1
  512. package/resources/webhooks/webhooks.d.ts.map +1 -1
  513. package/resources/webhooks/webhooks.js +5 -43
  514. package/resources/webhooks/webhooks.js.map +1 -1
  515. package/resources/webhooks/webhooks.mjs +5 -43
  516. package/resources/webhooks/webhooks.mjs.map +1 -1
  517. package/src/auth/index.ts +6 -1
  518. package/src/auth/subject-token-providers.ts +196 -4
  519. package/src/auth/types.ts +24 -0
  520. package/src/auth/workload-identity-auth.ts +104 -7
  521. package/src/auth/x509-transport.ts +49 -0
  522. package/src/azure.ts +22 -1
  523. package/src/bedrock.ts +49 -5
  524. package/src/beta/realtime/internal-base.ts +15 -0
  525. package/src/beta/realtime/websocket.ts +148 -40
  526. package/src/beta/realtime/ws.ts +31 -13
  527. package/src/client.ts +536 -92
  528. package/src/core/EventEmitter.ts +91 -7
  529. package/src/core/streaming.ts +71 -20
  530. package/src/helpers/audio.ts +93 -22
  531. package/src/helpers/standard-schema.ts +50 -16
  532. package/src/helpers/zod-v3-strict-schema.ts +514 -0
  533. package/src/helpers/zod.ts +17 -4
  534. package/src/index.ts +1 -1
  535. package/src/internal/assistant-stream-delta.ts +33 -10
  536. package/src/internal/auth/x509-token-exchange.ts +310 -0
  537. package/src/internal/auth/x509-transport-capability.ts +219 -0
  538. package/src/internal/auth/x509-transport-registry.ts +118 -0
  539. package/src/internal/auth/x509-transport-state-browser.ts +36 -0
  540. package/src/internal/auth/x509-transport-state.cts +36 -0
  541. package/src/internal/auth/x509-workload-identity-auth.ts +958 -0
  542. package/src/internal/bedrock.ts +182 -5
  543. package/src/internal/data-residency.ts +44 -0
  544. package/src/internal/multipart-encoding.ts +53 -0
  545. package/src/internal/qs/utils.ts +375 -13
  546. package/src/internal/request-options.ts +52 -1
  547. package/src/internal/responses/canonical-output-text.ts +3 -3
  548. package/src/internal/responses/response-accumulator.ts +411 -24
  549. package/src/internal/uploads.ts +81 -26
  550. package/src/internal/utils/env.ts +9 -5
  551. package/src/internal/ws.ts +24 -3
  552. package/src/lib/AbstractChatCompletionRunner.ts +33 -6
  553. package/src/lib/AssistantStream.ts +262 -22
  554. package/src/lib/ChatCompletionStream.ts +1467 -103
  555. package/src/lib/EventEmitter.ts +91 -7
  556. package/src/lib/EventStream.ts +1483 -10
  557. package/src/lib/ResponsesParser.ts +4 -1
  558. package/src/lib/Util.ts +7 -5
  559. package/src/lib/assistant-run-polling.ts +27 -0
  560. package/src/lib/embeddings.ts +65 -0
  561. package/src/lib/file-processing.ts +36 -0
  562. package/src/lib/parser.ts +19 -4
  563. package/src/lib/polling.ts +144 -0
  564. package/src/lib/responses/ResponseStream.ts +22 -10
  565. package/src/lib/vector-store-polling.ts +46 -0
  566. package/src/lib/vector-store-upload.ts +53 -0
  567. package/src/lib/webhook-signature.ts +164 -0
  568. package/src/realtime/internal-base.ts +15 -0
  569. package/src/realtime/websocket.ts +130 -27
  570. package/src/realtime/ws.ts +15 -2
  571. package/src/resources/admin/organization/index.ts +2 -0
  572. package/src/resources/admin/organization/organization.ts +4 -0
  573. package/src/resources/admin/organization/projects/index.ts +1 -0
  574. package/src/resources/admin/organization/projects/projects.ts +37 -4
  575. package/src/resources/admin/organization/usage.ts +83 -0
  576. package/src/resources/beta/responses/internal-base.ts +2 -0
  577. package/src/resources/beta/responses/responses.ts +9 -12
  578. package/src/resources/beta/threads/runs/index.ts +1 -1
  579. package/src/resources/beta/threads/runs/runs.ts +2 -45
  580. package/src/resources/chat/completions/completions.ts +7 -0
  581. package/src/resources/embeddings.ts +2 -42
  582. package/src/resources/files.ts +2 -19
  583. package/src/resources/images.ts +12 -22
  584. package/src/resources/realtime/api.md +1 -0
  585. package/src/resources/realtime/calls.ts +46 -0
  586. package/src/resources/realtime/index.ts +7 -1
  587. package/src/resources/realtime/realtime.ts +5 -3
  588. package/src/resources/responses/internal-base.ts +2 -0
  589. package/src/resources/responses/responses.ts +9 -12
  590. package/src/resources/vector-stores/file-batches.ts +8 -77
  591. package/src/resources/vector-stores/files.ts +3 -43
  592. package/src/resources/webhooks/webhooks.ts +5 -61
  593. package/src/version.ts +1 -1
  594. package/version.d.mts +1 -1
  595. package/version.d.ts +1 -1
  596. package/version.js +1 -1
  597. package/version.mjs +1 -1
@@ -1,6 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../../../core/resource';
4
+ import * as UsageAPI from './usage';
4
5
  import { APIPromise } from '../../../core/api-promise';
5
6
  import { RequestOptions } from '../../../internal/request-options';
6
7
 
@@ -233,6 +234,21 @@ export class Usage extends APIResource {
233
234
  }
234
235
  }
235
236
 
237
+ /**
238
+ * The unit of the `quantity` value. If no single supported unit applies to the
239
+ * result, this field is `null`.
240
+ */
241
+ export type CostQuantityUnit =
242
+ | (string & {})
243
+ | 'tokens'
244
+ | '1000_tokens'
245
+ | 'duration_seconds'
246
+ | 'duration_minutes'
247
+ | 'duration_hours'
248
+ | 'gibibyte_hours'
249
+ | 'images'
250
+ | 'characters';
251
+
236
252
  export interface UsageAudioSpeechesResponse {
237
253
  data: Array<UsageAudioSpeechesResponse.Data>;
238
254
 
@@ -763,6 +779,12 @@ export namespace UsageAudioSpeechesResponse {
763
779
  * result.
764
780
  */
765
781
  quantity?: number | null;
782
+
783
+ /**
784
+ * The unit of the `quantity` value. If no single supported unit applies to the
785
+ * result, this field is `null`.
786
+ */
787
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
766
788
  }
767
789
 
768
790
  export namespace OrganizationCostsResult {
@@ -1314,6 +1336,12 @@ export namespace UsageAudioTranscriptionsResponse {
1314
1336
  * result.
1315
1337
  */
1316
1338
  quantity?: number | null;
1339
+
1340
+ /**
1341
+ * The unit of the `quantity` value. If no single supported unit applies to the
1342
+ * result, this field is `null`.
1343
+ */
1344
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
1317
1345
  }
1318
1346
 
1319
1347
  export namespace OrganizationCostsResult {
@@ -1865,6 +1893,12 @@ export namespace UsageCodeInterpreterSessionsResponse {
1865
1893
  * result.
1866
1894
  */
1867
1895
  quantity?: number | null;
1896
+
1897
+ /**
1898
+ * The unit of the `quantity` value. If no single supported unit applies to the
1899
+ * result, this field is `null`.
1900
+ */
1901
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
1868
1902
  }
1869
1903
 
1870
1904
  export namespace OrganizationCostsResult {
@@ -2416,6 +2450,12 @@ export namespace UsageCompletionsResponse {
2416
2450
  * result.
2417
2451
  */
2418
2452
  quantity?: number | null;
2453
+
2454
+ /**
2455
+ * The unit of the `quantity` value. If no single supported unit applies to the
2456
+ * result, this field is `null`.
2457
+ */
2458
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
2419
2459
  }
2420
2460
 
2421
2461
  export namespace OrganizationCostsResult {
@@ -2967,6 +3007,12 @@ export namespace UsageCostsResponse {
2967
3007
  * result.
2968
3008
  */
2969
3009
  quantity?: number | null;
3010
+
3011
+ /**
3012
+ * The unit of the `quantity` value. If no single supported unit applies to the
3013
+ * result, this field is `null`.
3014
+ */
3015
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
2970
3016
  }
2971
3017
 
2972
3018
  export namespace OrganizationCostsResult {
@@ -3518,6 +3564,12 @@ export namespace UsageEmbeddingsResponse {
3518
3564
  * result.
3519
3565
  */
3520
3566
  quantity?: number | null;
3567
+
3568
+ /**
3569
+ * The unit of the `quantity` value. If no single supported unit applies to the
3570
+ * result, this field is `null`.
3571
+ */
3572
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
3521
3573
  }
3522
3574
 
3523
3575
  export namespace OrganizationCostsResult {
@@ -4069,6 +4121,12 @@ export namespace UsageFileSearchCallsResponse {
4069
4121
  * result.
4070
4122
  */
4071
4123
  quantity?: number | null;
4124
+
4125
+ /**
4126
+ * The unit of the `quantity` value. If no single supported unit applies to the
4127
+ * result, this field is `null`.
4128
+ */
4129
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
4072
4130
  }
4073
4131
 
4074
4132
  export namespace OrganizationCostsResult {
@@ -4620,6 +4678,12 @@ export namespace UsageImagesResponse {
4620
4678
  * result.
4621
4679
  */
4622
4680
  quantity?: number | null;
4681
+
4682
+ /**
4683
+ * The unit of the `quantity` value. If no single supported unit applies to the
4684
+ * result, this field is `null`.
4685
+ */
4686
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
4623
4687
  }
4624
4688
 
4625
4689
  export namespace OrganizationCostsResult {
@@ -5171,6 +5235,12 @@ export namespace UsageModerationsResponse {
5171
5235
  * result.
5172
5236
  */
5173
5237
  quantity?: number | null;
5238
+
5239
+ /**
5240
+ * The unit of the `quantity` value. If no single supported unit applies to the
5241
+ * result, this field is `null`.
5242
+ */
5243
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
5174
5244
  }
5175
5245
 
5176
5246
  export namespace OrganizationCostsResult {
@@ -5722,6 +5792,12 @@ export namespace UsageVectorStoresResponse {
5722
5792
  * result.
5723
5793
  */
5724
5794
  quantity?: number | null;
5795
+
5796
+ /**
5797
+ * The unit of the `quantity` value. If no single supported unit applies to the
5798
+ * result, this field is `null`.
5799
+ */
5800
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
5725
5801
  }
5726
5802
 
5727
5803
  export namespace OrganizationCostsResult {
@@ -6273,6 +6349,12 @@ export namespace UsageWebSearchCallsResponse {
6273
6349
  * result.
6274
6350
  */
6275
6351
  quantity?: number | null;
6352
+
6353
+ /**
6354
+ * The unit of the `quantity` value. If no single supported unit applies to the
6355
+ * result, this field is `null`.
6356
+ */
6357
+ quantity_unit?: UsageAPI.CostQuantityUnit | null;
6276
6358
  }
6277
6359
 
6278
6360
  export namespace OrganizationCostsResult {
@@ -6929,6 +7011,7 @@ export interface UsageWebSearchCallsParams {
6929
7011
 
6930
7012
  export declare namespace Usage {
6931
7013
  export {
7014
+ type CostQuantityUnit as CostQuantityUnit,
6932
7015
  type UsageAudioSpeechesResponse as UsageAudioSpeechesResponse,
6933
7016
  type UsageAudioTranscriptionsResponse as UsageAudioTranscriptionsResponse,
6934
7017
  type UsageCodeInterpreterSessionsResponse as UsageCodeInterpreterSessionsResponse,
@@ -4,6 +4,7 @@ import * as ResponsesAPI from './responses';
4
4
  import { OpenAI } from '../../../client';
5
5
  import { EventEmitter } from '../../../core/EventEmitter';
6
6
  import { OpenAIError } from '../../../core/error';
7
+ import { assertX509WebSocketSupported } from '../../../internal/auth/x509-workload-identity-auth';
7
8
 
8
9
  import type { RawWebSocketData, ReconnectingEvent, UnsentMessage } from '../../../internal/ws';
9
10
 
@@ -100,6 +101,7 @@ export abstract class ResponsesEmitter extends EventEmitter<WebSocketEvents> {
100
101
  }
101
102
 
102
103
  export function buildURL(client: OpenAI, parameters: Record<string, unknown>): URL {
104
+ assertX509WebSocketSupported(client);
103
105
  const { ...query } = parameters;
104
106
  const endpoint = '/responses';
105
107
  const url = new URL(client.buildURL(endpoint, query, undefined));
@@ -12438,18 +12438,13 @@ export namespace BetaTool {
12438
12438
  action?: 'generate' | 'edit' | 'auto';
12439
12439
 
12440
12440
  /**
12441
- * Allows to set transparency for the background of the generated image(s). This
12442
- * parameter is only supported for GPT image models that support transparent
12443
- * backgrounds. Must be one of `transparent`, `opaque`, or `auto` (default value).
12444
- * When `auto` is used, the model will automatically determine the best background
12445
- * for the image.
12441
+ * Allows to set transparency for the background of the generated image(s). Must be
12442
+ * one of `transparent`, `opaque`, or `auto` (default value). When `auto` is used,
12443
+ * the model will automatically determine the best background for the image.
12446
12444
  *
12447
- * `gpt-image-2` and `gpt-image-2-2026-04-21` do not support transparent
12448
- * backgrounds. Requests with `background` set to `transparent` will return an
12449
- * error for these models; use `opaque` or `auto` instead.
12450
- *
12451
- * If `transparent`, the output format needs to support transparency, so it should
12452
- * be set to either `png` (default value) or `webp`.
12445
+ * Transparent backgrounds are available for supported GPT Image models. For
12446
+ * `gpt-image-2` and `gpt-image-2-2026-04-21`, this support is in preview. When
12447
+ * using `transparent`, set the output format to `png` or `webp`.
12453
12448
  */
12454
12449
  background?: 'transparent' | 'opaque' | 'auto';
12455
12450
 
@@ -12468,7 +12463,9 @@ export namespace BetaTool {
12468
12463
  input_image_mask?: ImageGeneration.InputImageMask;
12469
12464
 
12470
12465
  /**
12471
- * The image generation model to use. Default: `gpt-image-1`.
12466
+ * The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
12467
+ * `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`, or
12468
+ * `chatgpt-image-latest`. Default: `gpt-image-1`.
12472
12469
  */
12473
12470
  model?:
12474
12471
  | (string & {})
@@ -34,10 +34,10 @@ export {
34
34
  type FunctionToolCallDelta,
35
35
  type MessageCreationStepDetails,
36
36
  type RunStep,
37
- type RunStepInclude,
38
37
  type RunStepDelta,
39
38
  type RunStepDeltaEvent,
40
39
  type RunStepDeltaMessageDelta,
40
+ type RunStepInclude,
41
41
  type ToolCall,
42
42
  type ToolCallDelta,
43
43
  type ToolCallDeltaObject,
@@ -37,7 +37,7 @@ import { Stream } from '../../../../core/streaming';
37
37
  import { buildHeaders } from '../../../../internal/headers';
38
38
  import { RequestOptions } from '../../../../internal/request-options';
39
39
  import { AssistantStream, RunCreateParamsBaseStream } from '../../../../lib/AssistantStream';
40
- import { sleep } from '../../../../internal/utils/sleep';
40
+ import { pollAssistantRun } from '../../../../lib/assistant-run-polling';
41
41
  import { RunSubmitToolOutputsParamsStream } from '../../../../lib/AssistantStream';
42
42
  import { path } from '../../../../internal/utils/path';
43
43
 
@@ -180,50 +180,7 @@ export class Runs extends APIResource {
180
180
  params: RunRetrieveParams,
181
181
  options?: RequestOptions & { pollIntervalMs?: number },
182
182
  ): Promise<Run> {
183
- const headers = buildHeaders([
184
- options?.headers,
185
- {
186
- 'X-Stainless-Poll-Helper': 'true',
187
- 'X-Stainless-Custom-Poll-Interval': options?.pollIntervalMs?.toString() ?? undefined,
188
- },
189
- ]);
190
-
191
- while (true) {
192
- const { data: run, response } = await this.retrieve(runId, params, {
193
- ...options,
194
- headers: { ...options?.headers, ...headers },
195
- }).withResponse();
196
-
197
- switch (run.status) {
198
- //If we are in any sort of intermediate state we poll
199
- case 'queued':
200
- case 'in_progress':
201
- case 'cancelling':
202
- let sleepInterval = 5000;
203
-
204
- if (options?.pollIntervalMs) {
205
- sleepInterval = options.pollIntervalMs;
206
- } else {
207
- const headerInterval = response.headers.get('openai-poll-after-ms');
208
- if (headerInterval) {
209
- const headerIntervalMs = parseInt(headerInterval);
210
- if (!isNaN(headerIntervalMs)) {
211
- sleepInterval = headerIntervalMs;
212
- }
213
- }
214
- }
215
- await sleep(sleepInterval);
216
- break;
217
- //We return the run in any terminal state.
218
- case 'requires_action':
219
- case 'incomplete':
220
- case 'cancelled':
221
- case 'completed':
222
- case 'failed':
223
- case 'expired':
224
- return run;
225
- }
226
- }
183
+ return await pollAssistantRun(this, runId, params, options);
227
184
  }
228
185
 
229
186
  /**
@@ -842,6 +842,13 @@ export interface ChatCompletionChunk {
842
842
  */
843
843
  moderation?: ChatCompletionChunk.Moderation | null;
844
844
 
845
+ /**
846
+ * An obfuscation string added to normalize the size of streamed chunks as a
847
+ * mitigation to certain side-channel attacks. The field is included by default and
848
+ * omitted when `stream_options.include_obfuscation` is `false`.
849
+ */
850
+ obfuscation?: string;
851
+
845
852
  /**
846
853
  * Specifies the processing type used for serving the request.
847
854
  *
@@ -3,7 +3,7 @@
3
3
  import { APIResource } from '../core/resource';
4
4
  import { APIPromise } from '../core/api-promise';
5
5
  import { RequestOptions } from '../internal/request-options';
6
- import { loggerFor, toFloat32Array } from '../internal/utils';
6
+ import { createEmbedding } from '../lib/embeddings';
7
7
 
8
8
  type Base64EmbeddingResponse = Omit<CreateEmbeddingResponse, 'data'> & {
9
9
  data: Array<Omit<Embedding, 'embedding'> & { embedding: string }>;
@@ -34,47 +34,7 @@ export class Embeddings extends APIResource {
34
34
  body: EmbeddingCreateParams,
35
35
  options?: RequestOptions,
36
36
  ): APIPromise<CreateEmbeddingResponse | Base64EmbeddingResponse> {
37
- const hasUserProvidedEncodingFormat = !!body.encoding_format;
38
- // No encoding_format specified, defaulting to base64 for performance reasons
39
- // See https://github.com/openai/openai-node/pull/1312
40
- let encoding_format: EmbeddingCreateParams['encoding_format'] = hasUserProvidedEncodingFormat
41
- ? body.encoding_format
42
- : 'base64';
43
-
44
- if (hasUserProvidedEncodingFormat) {
45
- loggerFor(this._client).debug('embeddings/user defined encoding_format:', body.encoding_format);
46
- }
47
-
48
- const response: APIPromise<CreateEmbeddingResponse> = this._client.post('/embeddings', {
49
- body: {
50
- ...body,
51
- encoding_format: encoding_format as EmbeddingCreateParams['encoding_format'],
52
- },
53
- ...options,
54
- __security: { bearerAuth: true },
55
- });
56
-
57
- // if the user specified an encoding_format, return the response as-is
58
- if (hasUserProvidedEncodingFormat) {
59
- return response;
60
- }
61
-
62
- // in this stage, we are sure the user did not specify an encoding_format
63
- // and we defaulted to base64 for performance reasons
64
- // we are sure then that the response is base64 encoded, let's decode it
65
- // the returned result will be a float32 array since this is OpenAI API's default encoding
66
- loggerFor(this._client).debug('embeddings/decoding base64 embeddings from base64');
67
-
68
- return (response as APIPromise<CreateEmbeddingResponse>)._thenUnwrap((response) => {
69
- if (response && response.data) {
70
- response.data.forEach((embeddingBase64Obj) => {
71
- const embeddingBase64Str = embeddingBase64Obj.embedding as unknown as string;
72
- embeddingBase64Obj.embedding = toFloat32Array(embeddingBase64Str);
73
- });
74
- }
75
-
76
- return response;
77
- });
37
+ return createEmbedding(this._client, body, options);
78
38
  }
79
39
  }
80
40
 
@@ -6,9 +6,8 @@ import { CursorPage, type CursorPageParams, PagePromise } from '../core/paginati
6
6
  import { type Uploadable } from '../core/uploads';
7
7
  import { buildHeaders } from '../internal/headers';
8
8
  import { RequestOptions } from '../internal/request-options';
9
- import { sleep } from '../internal/utils/sleep';
10
- import { APIConnectionTimeoutError } from '../error';
11
9
  import { multipartFormRequestOptions } from '../internal/uploads';
10
+ import { waitForFileProcessing } from '../lib/file-processing';
12
11
  import { path } from '../internal/utils/path';
13
12
 
14
13
  /**
@@ -98,23 +97,7 @@ export class Files extends APIResource {
98
97
  id: string,
99
98
  { pollInterval = 5000, maxWait = 30 * 60 * 1000 }: { pollInterval?: number; maxWait?: number } = {},
100
99
  ): Promise<FileObject> {
101
- const TERMINAL_STATES = new Set(['processed', 'error', 'deleted']);
102
-
103
- const start = Date.now();
104
- let file = await this.retrieve(id);
105
-
106
- while (!file.status || !TERMINAL_STATES.has(file.status)) {
107
- await sleep(pollInterval);
108
-
109
- file = await this.retrieve(id);
110
- if (Date.now() - start > maxWait) {
111
- throw new APIConnectionTimeoutError({
112
- message: `Giving up on waiting for file ${id} to finish processing after ${maxWait} milliseconds.`,
113
- });
114
- }
115
- }
116
-
117
- return file;
100
+ return await waitForFileProcessing(this, id, pollInterval, maxWait);
118
101
  }
119
102
  }
120
103
 
@@ -584,18 +584,13 @@ export interface ImageEditParamsBase {
584
584
  prompt: string;
585
585
 
586
586
  /**
587
- * Allows to set transparency for the background of the generated image(s). This
588
- * parameter is only supported for GPT image models that support transparent
589
- * backgrounds. Must be one of `transparent`, `opaque`, or `auto` (default value).
590
- * When `auto` is used, the model will automatically determine the best background
591
- * for the image.
587
+ * Allows to set transparency for the background of the generated image(s). Must be
588
+ * one of `transparent`, `opaque`, or `auto` (default value). When `auto` is used,
589
+ * the model will automatically determine the best background for the image.
592
590
  *
593
- * `gpt-image-2` and `gpt-image-2-2026-04-21` do not support transparent
594
- * backgrounds. Requests with `background` set to `transparent` will return an
595
- * error for these models; use `opaque` or `auto` instead.
596
- *
597
- * If `transparent`, the output format needs to support transparency, so it should
598
- * be set to either `png` (default value) or `webp`.
591
+ * Transparent backgrounds are available for supported GPT Image models. For
592
+ * `gpt-image-2` and `gpt-image-2-2026-04-21`, this support is in preview. When
593
+ * using `transparent`, set the output format to `png` or `webp`.
599
594
  */
600
595
  background?: 'transparent' | 'opaque' | 'auto' | null;
601
596
 
@@ -730,18 +725,13 @@ export interface ImageGenerateParamsBase {
730
725
  prompt: string;
731
726
 
732
727
  /**
733
- * Allows to set transparency for the background of the generated image(s). This
734
- * parameter is only supported for GPT image models that support transparent
735
- * backgrounds. Must be one of `transparent`, `opaque`, or `auto` (default value).
736
- * When `auto` is used, the model will automatically determine the best background
737
- * for the image.
738
- *
739
- * `gpt-image-2` and `gpt-image-2-2026-04-21` do not support transparent
740
- * backgrounds. Requests with `background` set to `transparent` will return an
741
- * error for these models; use `opaque` or `auto` instead.
728
+ * Allows to set transparency for the background of the generated image(s). Must be
729
+ * one of `transparent`, `opaque`, or `auto` (default value). When `auto` is used,
730
+ * the model will automatically determine the best background for the image.
742
731
  *
743
- * If `transparent`, the output format needs to support transparency, so it should
744
- * be set to either `png` (default value) or `webp`.
732
+ * Transparent backgrounds are available for supported GPT Image models. For
733
+ * `gpt-image-2` and `gpt-image-2-2026-04-21`, this support is in preview. When
734
+ * using `transparent`, set the output format to `png` or `webp`.
745
735
  */
746
736
  background?: 'transparent' | 'opaque' | 'auto' | null;
747
737
 
@@ -139,6 +139,7 @@ Methods:
139
139
 
140
140
  Methods:
141
141
 
142
+ - <code title="post /realtime/calls">client.realtime.calls.<a href="./src/resources/realtime/calls.ts">create</a>({ ...params }) -> Response</code>
142
143
  - <code title="post /realtime/calls/{call_id}/accept">client.realtime.calls.<a href="./src/resources/realtime/calls.ts">accept</a>(callID, { ...params }) -> void</code>
143
144
  - <code title="post /realtime/calls/{call_id}/hangup">client.realtime.calls.<a href="./src/resources/realtime/calls.ts">hangup</a>(callID) -> void</code>
144
145
  - <code title="post /realtime/calls/{call_id}/refer">client.realtime.calls.<a href="./src/resources/realtime/calls.ts">refer</a>(callID, { ...params }) -> void</code>
@@ -7,8 +7,41 @@ import { APIPromise } from '../../core/api-promise';
7
7
  import { buildHeaders } from '../../internal/headers';
8
8
  import { RequestOptions } from '../../internal/request-options';
9
9
  import { path } from '../../internal/utils/path';
10
+ import { encodedMultipartFormRequestOptions } from '../../internal/multipart-encoding';
10
11
 
11
12
  export class Calls extends APIResource {
13
+ /**
14
+ * Create a new Realtime API call over WebRTC and receive the SDP answer needed to
15
+ * complete the peer connection.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * await client.realtime.calls.create({
20
+ * sdp: 'sdp',
21
+ * });
22
+ * ```
23
+ */
24
+ create(body: CallCreateParams, options?: RequestOptions): APIPromise<Response> {
25
+ return this._client.post(
26
+ '/realtime/calls',
27
+ encodedMultipartFormRequestOptions(
28
+ {
29
+ body,
30
+ ...options,
31
+ headers: buildHeaders([{ Accept: 'application/sdp' }, options?.headers]),
32
+ __security: { bearerAuth: true },
33
+ __binaryResponse: true,
34
+ },
35
+ this._client,
36
+ {
37
+ sdp: { content_type: 'application/sdp', json: false },
38
+ session: { content_type: 'application/json', json: true },
39
+ },
40
+ 'sdp',
41
+ ),
42
+ );
43
+ }
44
+
12
45
  /**
13
46
  * Accept an incoming SIP call and configure the realtime session that will handle
14
47
  * it.
@@ -86,6 +119,18 @@ export class Calls extends APIResource {
86
119
  }
87
120
  }
88
121
 
122
+ export interface CallCreateParams {
123
+ /**
124
+ * WebRTC Session Description Protocol (SDP) offer generated by the caller.
125
+ */
126
+ sdp: string;
127
+
128
+ /**
129
+ * Realtime session object configuration.
130
+ */
131
+ session?: RealtimeAPI.RealtimeSessionCreateRequest;
132
+ }
133
+
89
134
  export interface CallAcceptParams {
90
135
  /**
91
136
  * The type of session to create. Always `realtime` for the Realtime API.
@@ -240,6 +285,7 @@ export interface CallRejectParams {
240
285
 
241
286
  export declare namespace Calls {
242
287
  export {
288
+ type CallCreateParams as CallCreateParams,
243
289
  type CallAcceptParams as CallAcceptParams,
244
290
  type CallReferParams as CallReferParams,
245
291
  type CallRejectParams as CallRejectParams,
@@ -1,6 +1,12 @@
1
1
  // File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
2
2
 
3
- export { Calls, type CallAcceptParams, type CallReferParams, type CallRejectParams } from './calls';
3
+ export {
4
+ Calls,
5
+ type CallCreateParams,
6
+ type CallAcceptParams,
7
+ type CallReferParams,
8
+ type CallRejectParams,
9
+ } from './calls';
4
10
  export {
5
11
  ClientSecrets,
6
12
  type RealtimeSessionCreateResponse,
@@ -5,7 +5,7 @@ import * as RealtimeAPI from './realtime';
5
5
  import * as Shared from '../shared';
6
6
  import * as TranscriptionsAPI from '../audio/transcriptions';
7
7
  import * as CallsAPI from './calls';
8
- import { CallAcceptParams, CallReferParams, CallRejectParams, Calls } from './calls';
8
+ import { CallAcceptParams, CallCreateParams, CallReferParams, CallRejectParams, Calls } from './calls';
9
9
  import * as ClientSecretsAPI from './client-secrets';
10
10
  import {
11
11
  ClientSecretCreateParams,
@@ -3850,8 +3850,9 @@ export interface RealtimeTranslationInputTranscriptDeltaEvent {
3850
3850
  }
3851
3851
 
3852
3852
  /**
3853
- * Returned when translated output audio is available. Output audio deltas are 200
3854
- * ms frames of PCM16 audio.
3853
+ * Returned when translated output audio is available. The `delta` contains a PCM16
3854
+ * audio chunk whose length can vary. Clients should decode and queue the complete
3855
+ * delta instead of assuming a fixed byte or sample count.
3855
3856
  */
3856
3857
  export interface RealtimeTranslationOutputAudioDeltaEvent {
3857
3858
  /**
@@ -5569,6 +5570,7 @@ export declare namespace Realtime {
5569
5570
 
5570
5571
  export {
5571
5572
  Calls as Calls,
5573
+ type CallCreateParams as CallCreateParams,
5572
5574
  type CallAcceptParams as CallAcceptParams,
5573
5575
  type CallReferParams as CallReferParams,
5574
5576
  type CallRejectParams as CallRejectParams,
@@ -4,6 +4,7 @@ import * as ResponsesAPI from './responses';
4
4
  import { OpenAI } from '../../client';
5
5
  import { EventEmitter } from '../../core/EventEmitter';
6
6
  import { OpenAIError } from '../../core/error';
7
+ import { assertX509WebSocketSupported } from '../../internal/auth/x509-workload-identity-auth';
7
8
 
8
9
  import type { RawWebSocketData, ReconnectingEvent, UnsentMessage } from '../../internal/ws';
9
10
 
@@ -96,6 +97,7 @@ export abstract class ResponsesEmitter extends EventEmitter<WebSocketEvents> {
96
97
  }
97
98
 
98
99
  export function buildURL(client: OpenAI, parameters: Record<string, unknown>): URL {
100
+ assertX509WebSocketSupported(client);
99
101
  const { ...query } = parameters;
100
102
  const endpoint = '/responses';
101
103
  const url = new URL(client.buildURL(endpoint, query, undefined));
@@ -9336,18 +9336,13 @@ export namespace Tool {
9336
9336
  action?: 'generate' | 'edit' | 'auto';
9337
9337
 
9338
9338
  /**
9339
- * Allows to set transparency for the background of the generated image(s). This
9340
- * parameter is only supported for GPT image models that support transparent
9341
- * backgrounds. Must be one of `transparent`, `opaque`, or `auto` (default value).
9342
- * When `auto` is used, the model will automatically determine the best background
9343
- * for the image.
9339
+ * Allows to set transparency for the background of the generated image(s). Must be
9340
+ * one of `transparent`, `opaque`, or `auto` (default value). When `auto` is used,
9341
+ * the model will automatically determine the best background for the image.
9344
9342
  *
9345
- * `gpt-image-2` and `gpt-image-2-2026-04-21` do not support transparent
9346
- * backgrounds. Requests with `background` set to `transparent` will return an
9347
- * error for these models; use `opaque` or `auto` instead.
9348
- *
9349
- * If `transparent`, the output format needs to support transparency, so it should
9350
- * be set to either `png` (default value) or `webp`.
9343
+ * Transparent backgrounds are available for supported GPT Image models. For
9344
+ * `gpt-image-2` and `gpt-image-2-2026-04-21`, this support is in preview. When
9345
+ * using `transparent`, set the output format to `png` or `webp`.
9351
9346
  */
9352
9347
  background?: 'transparent' | 'opaque' | 'auto';
9353
9348
 
@@ -9366,7 +9361,9 @@ export namespace Tool {
9366
9361
  input_image_mask?: ImageGeneration.InputImageMask;
9367
9362
 
9368
9363
  /**
9369
- * The image generation model to use. Default: `gpt-image-1`.
9364
+ * The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
9365
+ * `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`, or
9366
+ * `chatgpt-image-latest`. Default: `gpt-image-1`.
9370
9367
  */
9371
9368
  model?:
9372
9369
  | (string & {})