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,9 +1,50 @@
1
+ const jsonRequestBodyObservers = new WeakMap();
2
+ /** Observes values produced by the actual JSON request serializer without changing them. */
3
+ export function observeJSONRequestBody(body, observer) {
4
+ let observers = jsonRequestBodyObservers.get(body);
5
+ if (!observers) {
6
+ observers = new Set();
7
+ jsonRequestBodyObservers.set(body, observers);
8
+ }
9
+ observers.add(observer);
10
+ return () => {
11
+ const active = jsonRequestBodyObservers.get(body);
12
+ if (!active) {
13
+ return;
14
+ }
15
+ active.delete(observer);
16
+ if (active.size === 0) {
17
+ jsonRequestBodyObservers.delete(body);
18
+ }
19
+ };
20
+ }
1
21
  export const FallbackEncoder = ({ headers, body }) => {
22
+ const observers = typeof body === 'object' && body !== null ? jsonRequestBodyObservers.get(body) : undefined;
23
+ let encoded;
24
+ if (!observers || observers.size === 0) {
25
+ encoded = JSON.stringify(body);
26
+ }
27
+ else {
28
+ const active = [...observers];
29
+ encoded = JSON.stringify(body, function (key, value) {
30
+ let observed = value;
31
+ for (const observer of active) {
32
+ const replacement = observer.value(this, key, observed);
33
+ if (replacement !== undefined) {
34
+ observed = replacement;
35
+ }
36
+ }
37
+ return observed;
38
+ });
39
+ for (const observer of active) {
40
+ observer.complete();
41
+ }
42
+ }
2
43
  return {
3
44
  bodyHeaders: {
4
45
  'content-type': 'application/json',
5
46
  },
6
- body: JSON.stringify(body),
47
+ body: encoded,
7
48
  };
8
49
  };
9
50
  //# sourceMappingURL=request-options.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-options.mjs","sourceRoot":"","sources":["../src/internal/request-options.ts"],"names":[],"mappings":"AAsFA,MAAM,CAAC,MAAM,eAAe,GAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;IACnE,OAAO;QACL,WAAW,EAAE;YACX,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"request-options.mjs","sourceRoot":"","sources":["../src/internal/request-options.ts"],"names":[],"mappings":"AA2FA,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAwC,CAAC;AAErF,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAiC;IACpF,IAAI,SAAS,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExB,OAAO,GAAG,EAAE;QACV,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;IACnE,MAAM,SAAS,GACb,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,IAAI,OAAe,CAAC;IAEpB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAwB,GAAW,EAAE,KAAc;YAChF,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACxD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,QAAQ,GAAG,WAAW,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE;YACX,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,OAAO;KACd,CAAC;AACJ,CAAC,CAAC"}
@@ -38,9 +38,9 @@ function ensureCanonicalOutputText(context, snapshot) {
38
38
  text += outputText;
39
39
  outputTextIndex.append(outputText.length);
40
40
  }
41
- if (snapshot.output_text !== text) {
42
- snapshot.output_text = text;
43
- }
41
+ // Comparing independently accumulated strings can scan all preceding text on
42
+ // every delta. The recount is authoritative, so assign it without comparing.
43
+ snapshot.output_text = text;
44
44
  context.outputTextIndex = outputTextIndex;
45
45
  context.canonicalSnapshot = snapshot;
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-output-text.js","sourceRoot":"","sources":["../../src/internal/responses/canonical-output-text.ts"],"names":[],"mappings":";;AAWA,wEAMC;AAED,sCAaC;AAED,8DAiBC;AAED,sCAeC;AAED,oEAaC;AA4CD,4CAgCC;AA9JD,8DAAsD;AAUtD,SAAgB,8BAA8B;IAC5C,OAAO;QACL,iBAAiB,EAAE,SAAS;QAC5B,iBAAiB,EAAE,IAAI,OAAO,EAAE;QAChC,eAAe,EAAE,IAAI,mCAAe,EAAE;KACvC,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,OAAmC,EAAE,MAAsB;IACvF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAmC,EAAE,QAAkB;IAC/F,IAAI,OAAO,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,mCAAe,EAAE,CAAC;IAC9C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,IAAI,UAAU,CAAC;QACnB,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAClC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;IAC1C,OAAO,CAAC,iBAAiB,GAAG,QAAQ,CAAC;AACvC,CAAC;AAED,SAAgB,aAAa,CAAC,OAAmC,EAAE,QAAkB;IACnF,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,iBAAiB,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1C,OAAO,CAAC,eAAe,GAAG,IAAI,mCAAe,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,IACE,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC;QACzD,QAAQ,CAAC,WAAW,KAAK,IAAI;QAC7B,QAAQ,CAAC,WAAW,KAAK,SAAS,EAClC,CAAC;QACD,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;QACvE,OAAO,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,4BAA4B,CAC1C,OAAmC,EACnC,MAAsB,EACtB,WAAmB,EACnB,YAAoB,EACpB,QAAgB;IAEhB,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAClE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClD,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAkB,EAAE,YAAoB,EAAE,QAAgB;IACzF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC;QACjC,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,WAAW;QAClB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAChG,CAAC;AAED,SAAS,6BAA6B,CACpC,OAAmC,EACnC,MAAkC,EAClC,YAAgC,EAChC,QAAgB;IAEhB,IAAI,YAAY,KAAK,SAAS,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5D,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAC/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,gBAAgB,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC7C,sBAAsB,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YACzD,CAAC;QACH,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,YAAY,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,gBAAgB,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;YAC7C,sBAAsB,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QACzD,CAAC;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;IACxG,OAAO,gBAAgB,GAAG,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,SAAgB,gBAAgB,CAC9B,OAAmC,EACnC,QAAkB,EAClB,WAAmB,EACnB,YAAoB,EACpB,QAAgB,EAChB,YAAqB;IAErB,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,IACE,WAAW,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC1C,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAC1G,CAAC;QACD,uBAAuB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,sBAAsB,GAAG,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC;IACvF,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACjE,uBAAuB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,WAAW;QAClB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;YACrC,QAAQ;YACR,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"canonical-output-text.js","sourceRoot":"","sources":["../../src/internal/responses/canonical-output-text.ts"],"names":[],"mappings":"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"}
@@ -30,9 +30,9 @@ export function ensureCanonicalOutputText(context, snapshot) {
30
30
  text += outputText;
31
31
  outputTextIndex.append(outputText.length);
32
32
  }
33
- if (snapshot.output_text !== text) {
34
- snapshot.output_text = text;
35
- }
33
+ // Comparing independently accumulated strings can scan all preceding text on
34
+ // every delta. The recount is authoritative, so assign it without comparing.
35
+ snapshot.output_text = text;
36
36
  context.outputTextIndex = outputTextIndex;
37
37
  context.canonicalSnapshot = snapshot;
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-output-text.mjs","sourceRoot":"","sources":["../../src/internal/responses/canonical-output-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical-output-text.mjs","sourceRoot":"","sources":["../../src/internal/responses/canonical-output-text.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,6 @@ interface ResponseKeepAliveEvent {
6
6
  }
7
7
  type ResponseAccumulatorEvent = ResponseStreamEvent | ResponseKeepAliveEvent;
8
8
  export declare function createResponseContext(): ResponseAccumulatorContext;
9
- export declare function accumulateResponseWithContext(event: ResponseAccumulatorEvent, snapshot: Response | undefined, context: ResponseAccumulatorContext): Response;
9
+ export declare function accumulateResponseWithContext(event: ResponseAccumulatorEvent, snapshot: Response | undefined, context: ResponseAccumulatorContext, rejectInvalidShellTargets?: boolean, onSanitizedEvent?: (event: ResponseStreamEvent) => void): Response;
10
10
  export {};
11
11
  //# sourceMappingURL=response-accumulator.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-accumulator.d.mts","sourceRoot":"","sources":["../../src/internal/responses/response-accumulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAsB,mBAAmB,EAAE,gDAA4C;AAC7G,OAAO,KAAK,EAAE,0BAA0B,EAAE,oCAAgC;AAY1E,UAAU,sBAAsB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,wBAAwB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAkwB7E,wBAAgB,qBAAqB,IAAI,0BAA0B,CAElE;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,0BAA0B,GAClC,QAAQ,CAgDV"}
1
+ {"version":3,"file":"response-accumulator.d.mts","sourceRoot":"","sources":["../../src/internal/responses/response-accumulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAsB,mBAAmB,EAAE,gDAA4C;AAC7G,OAAO,KAAK,EAAE,0BAA0B,EAAE,oCAAgC;AAY1E,UAAU,sBAAsB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,wBAAwB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AA4nC7E,wBAAgB,qBAAqB,IAAI,0BAA0B,CAElE;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,0BAA0B,EACnC,yBAAyB,UAAQ,EACjC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GACtD,QAAQ,CAuDV"}
@@ -6,6 +6,6 @@ interface ResponseKeepAliveEvent {
6
6
  }
7
7
  type ResponseAccumulatorEvent = ResponseStreamEvent | ResponseKeepAliveEvent;
8
8
  export declare function createResponseContext(): ResponseAccumulatorContext;
9
- export declare function accumulateResponseWithContext(event: ResponseAccumulatorEvent, snapshot: Response | undefined, context: ResponseAccumulatorContext): Response;
9
+ export declare function accumulateResponseWithContext(event: ResponseAccumulatorEvent, snapshot: Response | undefined, context: ResponseAccumulatorContext, rejectInvalidShellTargets?: boolean, onSanitizedEvent?: (event: ResponseStreamEvent) => void): Response;
10
10
  export {};
11
11
  //# sourceMappingURL=response-accumulator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-accumulator.d.ts","sourceRoot":"","sources":["../../src/internal/responses/response-accumulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAsB,mBAAmB,EAAE,+CAA4C;AAC7G,OAAO,KAAK,EAAE,0BAA0B,EAAE,mCAAgC;AAY1E,UAAU,sBAAsB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,wBAAwB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAkwB7E,wBAAgB,qBAAqB,IAAI,0BAA0B,CAElE;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,0BAA0B,GAClC,QAAQ,CAgDV"}
1
+ {"version":3,"file":"response-accumulator.d.ts","sourceRoot":"","sources":["../../src/internal/responses/response-accumulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAsB,mBAAmB,EAAE,+CAA4C;AAC7G,OAAO,KAAK,EAAE,0BAA0B,EAAE,mCAAgC;AAY1E,UAAU,sBAAsB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,wBAAwB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AA4nC7E,wBAAgB,qBAAqB,IAAI,0BAA0B,CAElE;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,0BAA0B,EACnC,yBAAyB,UAAQ,EACjC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GACtD,QAAQ,CAuDV"}
@@ -5,6 +5,7 @@ exports.accumulateResponseWithContext = accumulateResponseWithContext;
5
5
  const error_1 = require("../../error.js");
6
6
  const utils_1 = require("../utils.js");
7
7
  const canonical_output_text_1 = require("./canonical-output-text.js");
8
+ const responseOutputIdentityIndexes = new WeakMap();
8
9
  function validateArrayIndex(collection, index, kind, allowAppend = false) {
9
10
  if (!Number.isSafeInteger(index) ||
10
11
  index < 0 ||
@@ -27,6 +28,184 @@ function getOutput(snapshot, outputIndex) {
27
28
  }
28
29
  return output;
29
30
  }
31
+ function hasRoutedOutputCallIdentity(output) {
32
+ return (output.type === 'function_call' ||
33
+ output.type === 'custom_tool_call' ||
34
+ output.type === 'shell_call' ||
35
+ output.type === 'shell_call_output');
36
+ }
37
+ function getOutputItemIdentityKeys(output, eventType) {
38
+ if (!(0, utils_1.hasOwn)(output, 'type') || typeof output.type !== 'string') {
39
+ throw new error_1.OpenAIError(`expected an own output item type for ${eventType}`);
40
+ }
41
+ const optionalPlatformID = output.type === 'function_call' || output.type === 'custom_tool_call';
42
+ const identities = [];
43
+ if ((0, utils_1.hasOwn)(output, 'id')) {
44
+ if (typeof output.id !== 'string' || output.id.length === 0) {
45
+ throw new error_1.OpenAIError(`expected a non-empty output item id for ${eventType}`);
46
+ }
47
+ identities.push(`id:${output.id}`);
48
+ }
49
+ else if (!optionalPlatformID) {
50
+ throw new error_1.OpenAIError(`expected a non-empty output item id for ${eventType}`);
51
+ }
52
+ if (hasRoutedOutputCallIdentity(output)) {
53
+ if (!(0, utils_1.hasOwn)(output, 'call_id') || typeof output.call_id !== 'string' || output.call_id.length === 0) {
54
+ throw new error_1.OpenAIError(`expected a non-empty output item call_id for ${eventType}`);
55
+ }
56
+ identities.push(`call:${output.type}:${output.call_id}`);
57
+ }
58
+ return identities;
59
+ }
60
+ function assertOutputItemIdentitiesAvailable(identities, keys) {
61
+ for (const key of keys) {
62
+ if (identities.has(key)) {
63
+ throw new error_1.OpenAIError(`duplicate output item identity '${key}'`);
64
+ }
65
+ }
66
+ }
67
+ function addOutputItemIdentities(identities, keys) {
68
+ assertOutputItemIdentitiesAvailable(identities, keys);
69
+ for (const key of keys) {
70
+ identities.add(key);
71
+ }
72
+ }
73
+ function createResponseOutputIdentityIndex(snapshot) {
74
+ const identityIndex = {
75
+ snapshot,
76
+ output: snapshot.output,
77
+ length: snapshot.output.length,
78
+ identities: new Set(),
79
+ };
80
+ for (let index = 0; index < snapshot.output.length; index += 1) {
81
+ const output = getOutput(snapshot, index);
82
+ addOutputItemIdentities(identityIndex.identities, getOutputItemIdentityKeys(output, 'response snapshot'));
83
+ }
84
+ return identityIndex;
85
+ }
86
+ function getResponseOutputIdentityIndex(context, snapshot) {
87
+ const cached = responseOutputIdentityIndexes.get(context);
88
+ if (cached &&
89
+ cached.snapshot === snapshot &&
90
+ cached.output === snapshot.output &&
91
+ cached.length === snapshot.output.length) {
92
+ return cached;
93
+ }
94
+ const identityIndex = createResponseOutputIdentityIndex(snapshot);
95
+ responseOutputIdentityIndexes.set(context, identityIndex);
96
+ return identityIndex;
97
+ }
98
+ function cloneValidatedResponse(context, response) {
99
+ const nextContext = (0, canonical_output_text_1.createCanonicalResponseContext)();
100
+ const snapshot = (0, canonical_output_text_1.cloneResponse)(nextContext, response);
101
+ const identityIndex = createResponseOutputIdentityIndex(snapshot);
102
+ context.canonicalSnapshot = nextContext.canonicalSnapshot;
103
+ context.outputTextLengths = nextContext.outputTextLengths;
104
+ context.outputTextIndex = nextContext.outputTextIndex;
105
+ responseOutputIdentityIndexes.set(context, identityIndex);
106
+ return snapshot;
107
+ }
108
+ const expectedOutputItemTypes = {
109
+ 'response.output_text.delta': 'message',
110
+ 'response.output_text.done': 'message',
111
+ 'response.output_text.annotation.added': 'message',
112
+ 'response.refusal.delta': 'message',
113
+ 'response.refusal.done': 'message',
114
+ 'response.function_call_arguments.delta': 'function_call',
115
+ 'response.function_call_arguments.done': 'function_call',
116
+ 'response.custom_tool_call_input.delta': 'custom_tool_call',
117
+ 'response.custom_tool_call_input.done': 'custom_tool_call',
118
+ 'response.mcp_call_arguments.delta': 'mcp_call',
119
+ 'response.mcp_call_arguments.done': 'mcp_call',
120
+ 'response.mcp_call.in_progress': 'mcp_call',
121
+ 'response.mcp_call.completed': 'mcp_call',
122
+ 'response.mcp_call.failed': 'mcp_call',
123
+ 'response.shell_call_output_content.delta': 'shell_call_output',
124
+ 'response.shell_call_output_content.done': 'shell_call_output',
125
+ 'response.reasoning_text.delta': 'reasoning',
126
+ 'response.reasoning_text.done': 'reasoning',
127
+ 'response.reasoning_summary_part.added': 'reasoning',
128
+ 'response.reasoning_summary_part.done': 'reasoning',
129
+ 'response.reasoning_summary_text.delta': 'reasoning',
130
+ 'response.reasoning_summary_text.done': 'reasoning',
131
+ 'response.code_interpreter_call_code.delta': 'code_interpreter_call',
132
+ 'response.code_interpreter_call_code.done': 'code_interpreter_call',
133
+ 'response.code_interpreter_call.in_progress': 'code_interpreter_call',
134
+ 'response.code_interpreter_call.interpreting': 'code_interpreter_call',
135
+ 'response.code_interpreter_call.completed': 'code_interpreter_call',
136
+ 'response.file_search_call.in_progress': 'file_search_call',
137
+ 'response.file_search_call.searching': 'file_search_call',
138
+ 'response.file_search_call.completed': 'file_search_call',
139
+ 'response.web_search_call.in_progress': 'web_search_call',
140
+ 'response.web_search_call.searching': 'web_search_call',
141
+ 'response.web_search_call.completed': 'web_search_call',
142
+ 'response.image_generation_call.in_progress': 'image_generation_call',
143
+ 'response.image_generation_call.generating': 'image_generation_call',
144
+ 'response.image_generation_call.completed': 'image_generation_call',
145
+ 'response.image_generation_call.partial_image': 'image_generation_call',
146
+ 'response.mcp_list_tools.in_progress': 'mcp_list_tools',
147
+ 'response.mcp_list_tools.completed': 'mcp_list_tools',
148
+ 'response.mcp_list_tools.failed': 'mcp_list_tools',
149
+ };
150
+ function getExpectedOutputItemType(event) {
151
+ if (event.type === 'response.content_part.added' || event.type === 'response.content_part.done') {
152
+ return event.part.type === 'reasoning_text' ? 'reasoning' : 'message';
153
+ }
154
+ return expectedOutputItemTypes[event.type];
155
+ }
156
+ function validateCompletedOutputItemIdentity(event, snapshot) {
157
+ const output = getOutput(snapshot, event.output_index);
158
+ const replacement = event.item;
159
+ getOutputItemIdentityKeys(output, event.type);
160
+ getOutputItemIdentityKeys(replacement, event.type);
161
+ if (!(0, utils_1.hasOwn)(replacement, 'type') || output.type !== replacement.type) {
162
+ throw new error_1.OpenAIError(`expected output item type '${output.type}', got '${replacement.type}'`);
163
+ }
164
+ const outputID = (0, utils_1.hasOwn)(output, 'id') ? output.id : undefined;
165
+ const replacementID = (0, utils_1.hasOwn)(replacement, 'id') ? replacement.id : undefined;
166
+ if (outputID !== replacementID) {
167
+ throw new error_1.OpenAIError(`expected output item id '${outputID}', got '${replacementID}'`);
168
+ }
169
+ if (hasRoutedOutputCallIdentity(output) &&
170
+ hasRoutedOutputCallIdentity(replacement) &&
171
+ output.call_id !== replacement.call_id) {
172
+ throw new error_1.OpenAIError(`expected output item call_id '${output.call_id}', got '${replacement.call_id}'`);
173
+ }
174
+ }
175
+ function validateOutputItemIdentity(event, snapshot, rejectInvalidShellTargets) {
176
+ if (event.type === 'response.output_item.done') {
177
+ validateCompletedOutputItemIdentity(event, snapshot);
178
+ return;
179
+ }
180
+ if (rejectInvalidShellTargets &&
181
+ (event.type === 'response.shell_call_command.added' ||
182
+ event.type === 'response.shell_call_command.delta' ||
183
+ event.type === 'response.shell_call_command.done')) {
184
+ const output = getOutput(snapshot, event.output_index);
185
+ if (!(0, utils_1.hasOwn)(output, 'type') || output.type !== 'shell_call') {
186
+ throw new error_1.OpenAIError(`expected output item type 'shell_call', got '${output.type}'`);
187
+ }
188
+ return;
189
+ }
190
+ if (event.type !== 'response.content_part.added' &&
191
+ event.type !== 'response.content_part.done' &&
192
+ !(0, utils_1.hasOwn)(expectedOutputItemTypes, event.type)) {
193
+ return;
194
+ }
195
+ const itemEvent = event;
196
+ if (!(0, utils_1.hasOwn)(event, 'item_id') || typeof itemEvent.item_id !== 'string' || itemEvent.item_id.length === 0) {
197
+ throw new error_1.OpenAIError(`expected a non-empty item_id for ${event.type}`);
198
+ }
199
+ const output = getOutput(snapshot, itemEvent.output_index);
200
+ const outputID = (0, utils_1.hasOwn)(output, 'id') ? output.id : undefined;
201
+ if (outputID !== itemEvent.item_id) {
202
+ throw new error_1.OpenAIError(`expected item_id '${outputID}', got '${itemEvent.item_id}'`);
203
+ }
204
+ const expectedType = getExpectedOutputItemType(itemEvent);
205
+ if (output.type !== expectedType) {
206
+ throw new error_1.OpenAIError(`expected output item type '${expectedType}', got '${output.type}'`);
207
+ }
208
+ }
30
209
  function getContent(content, contentIndex) {
31
210
  validateArrayIndex(content, contentIndex, 'content');
32
211
  const part = content[contentIndex];
@@ -52,18 +231,140 @@ function getShellOutputContent(snapshot, output, commandIndex) {
52
231
  }
53
232
  return getContent(output.output, commandIndex);
54
233
  }
55
- function assertNever(value) {
56
- throw new error_1.OpenAIError(`Unhandled response stream event: ${JSON.stringify(value)}`);
234
+ function createSupportedResponseEventTypes(eventTypes) {
235
+ return new Set(eventTypes);
236
+ }
237
+ const supportedResponseEventTypes = createSupportedResponseEventTypes([
238
+ 'response.output_item.added',
239
+ 'response.output_item.done',
240
+ 'response.content_part.added',
241
+ 'response.content_part.done',
242
+ 'response.output_text.delta',
243
+ 'response.output_text.done',
244
+ 'response.output_text.annotation.added',
245
+ 'response.refusal.delta',
246
+ 'response.refusal.done',
247
+ 'response.function_call_arguments.delta',
248
+ 'response.function_call_arguments.done',
249
+ 'response.custom_tool_call_input.delta',
250
+ 'response.custom_tool_call_input.done',
251
+ 'response.mcp_call_arguments.delta',
252
+ 'response.mcp_call_arguments.done',
253
+ 'response.shell_call_command.added',
254
+ 'response.shell_call_command.done',
255
+ 'response.shell_call_command.delta',
256
+ 'response.shell_call_output_content.delta',
257
+ 'response.shell_call_output_content.done',
258
+ 'response.reasoning_text.delta',
259
+ 'response.reasoning_text.done',
260
+ 'response.reasoning_summary_part.added',
261
+ 'response.reasoning_summary_part.done',
262
+ 'response.reasoning_summary_text.delta',
263
+ 'response.reasoning_summary_text.done',
264
+ 'response.code_interpreter_call_code.delta',
265
+ 'response.code_interpreter_call_code.done',
266
+ 'response.code_interpreter_call.in_progress',
267
+ 'response.code_interpreter_call.interpreting',
268
+ 'response.code_interpreter_call.completed',
269
+ 'response.file_search_call.in_progress',
270
+ 'response.file_search_call.searching',
271
+ 'response.file_search_call.completed',
272
+ 'response.web_search_call.in_progress',
273
+ 'response.web_search_call.searching',
274
+ 'response.web_search_call.completed',
275
+ 'response.image_generation_call.in_progress',
276
+ 'response.image_generation_call.generating',
277
+ 'response.image_generation_call.completed',
278
+ 'response.mcp_call.in_progress',
279
+ 'response.mcp_call.completed',
280
+ 'response.mcp_call.failed',
281
+ 'response.created',
282
+ 'response.queued',
283
+ 'response.in_progress',
284
+ 'response.completed',
285
+ 'response.failed',
286
+ 'response.incomplete',
287
+ 'response.audio.delta',
288
+ 'response.audio.done',
289
+ 'response.audio.transcript.delta',
290
+ 'response.audio.transcript.done',
291
+ 'response.image_generation_call.partial_image',
292
+ 'response.mcp_list_tools.in_progress',
293
+ 'response.mcp_list_tools.completed',
294
+ 'response.mcp_list_tools.failed',
295
+ 'keepalive',
296
+ 'error',
297
+ ]);
298
+ function assertNever(_value) {
299
+ throw new error_1.OpenAIError('Unhandled response stream event: unknown');
300
+ }
301
+ const responseEventRoutingFields = [
302
+ 'item_id',
303
+ 'output_index',
304
+ 'content_index',
305
+ 'annotation_index',
306
+ 'command_index',
307
+ 'summary_index',
308
+ ];
309
+ function sanitizeResponseEvent(event) {
310
+ let descriptor;
311
+ try {
312
+ descriptor = Object.getOwnPropertyDescriptor(event, 'type');
313
+ }
314
+ catch {
315
+ return assertNever(event);
316
+ }
317
+ const type = descriptor?.value;
318
+ if (typeof type !== 'string' ||
319
+ !supportedResponseEventTypes.has(type)) {
320
+ return assertNever(event);
321
+ }
322
+ const stableValues = new Map([['type', type]]);
323
+ const itemScoped = type === 'response.output_item.added' ||
324
+ type === 'response.output_item.done' ||
325
+ type === 'response.content_part.added' ||
326
+ type === 'response.content_part.done' ||
327
+ type === 'response.shell_call_command.added' ||
328
+ type === 'response.shell_call_command.delta' ||
329
+ type === 'response.shell_call_command.done' ||
330
+ (0, utils_1.hasOwn)(expectedOutputItemTypes, type);
331
+ if (itemScoped) {
332
+ try {
333
+ for (const field of responseEventRoutingFields) {
334
+ const routingDescriptor = Object.getOwnPropertyDescriptor(event, field);
335
+ stableValues.set(field, routingDescriptor ? Reflect.get(event, field, event) : undefined);
336
+ }
337
+ if (type === 'response.output_item.done') {
338
+ stableValues.set('item', structuredClone(Reflect.get(event, 'item', event)));
339
+ }
340
+ else if (type === 'response.content_part.added' || type === 'response.content_part.done') {
341
+ stableValues.set('part', structuredClone(Reflect.get(event, 'part', event)));
342
+ }
343
+ }
344
+ catch {
345
+ return assertNever(event);
346
+ }
347
+ }
348
+ return new Proxy(event, {
349
+ get(target, property) {
350
+ return stableValues.has(property) ? stableValues.get(property) : Reflect.get(target, property, target);
351
+ },
352
+ });
57
353
  }
58
354
  function accumulateOutputItemEvent(event, snapshot, context) {
59
355
  switch (event.type) {
60
356
  case 'response.output_item.added': {
61
357
  validateArrayAppend(snapshot.output, event.output_index, 'output');
358
+ const identityIndex = getResponseOutputIdentityIndex(context, snapshot);
62
359
  const output = structuredClone(event.item);
360
+ const identities = getOutputItemIdentityKeys(output, event.type);
361
+ assertOutputItemIdentitiesAvailable(identityIndex.identities, identities);
63
362
  if (output.type === 'message') {
64
363
  (0, canonical_output_text_1.ensureCanonicalOutputText)(context, snapshot);
65
364
  }
66
365
  snapshot.output.push(output);
366
+ addOutputItemIdentities(identityIndex.identities, identities);
367
+ identityIndex.length = snapshot.output.length;
67
368
  const text = (0, canonical_output_text_1.getOutputText)(context, output);
68
369
  if (context.canonicalSnapshot === snapshot) {
69
370
  context.outputTextIndex.append(text.length);
@@ -76,7 +377,7 @@ function accumulateOutputItemEvent(event, snapshot, context) {
76
377
  case 'response.output_item.done': {
77
378
  const output = getOutput(snapshot, event.output_index);
78
379
  const previousText = (0, canonical_output_text_1.getOutputText)(context, output);
79
- const replacement = structuredClone(event.item);
380
+ const replacement = event.item;
80
381
  if (output.type === 'message' || replacement.type === 'message') {
81
382
  (0, canonical_output_text_1.ensureCanonicalOutputText)(context, snapshot);
82
383
  }
@@ -101,7 +402,7 @@ function accumulateContentPartAddedEvent(event, snapshot, context) {
101
402
  const { part } = event;
102
403
  if (type === 'message' && part.type !== 'reasoning_text') {
103
404
  validateArrayAppend(output.content, event.content_index, 'content');
104
- const content = structuredClone(part);
405
+ const content = part;
105
406
  if (content.type === 'output_text') {
106
407
  (0, canonical_output_text_1.ensureCanonicalOutputText)(context, snapshot);
107
408
  }
@@ -117,7 +418,7 @@ function accumulateContentPartAddedEvent(event, snapshot, context) {
117
418
  if (!output.content) {
118
419
  output.content = content;
119
420
  }
120
- content.push(structuredClone(part));
421
+ content.push(part);
121
422
  }
122
423
  return true;
123
424
  }
@@ -134,7 +435,7 @@ function accumulateContentPartDoneEvent(event, snapshot, context) {
134
435
  if (output.type === 'message' && part.type !== 'reasoning_text') {
135
436
  const content = getContent(output.content, event.content_index);
136
437
  const previousText = content.type === 'output_text' ? content.text : '';
137
- const replacement = structuredClone(part);
438
+ const replacement = part;
138
439
  if (content.type === 'output_text' || replacement.type === 'output_text') {
139
440
  (0, canonical_output_text_1.ensureCanonicalOutputText)(context, snapshot);
140
441
  }
@@ -149,7 +450,7 @@ function accumulateContentPartDoneEvent(event, snapshot, context) {
149
450
  throw new error_1.OpenAIError(`missing content at index ${event.content_index}`);
150
451
  }
151
452
  getContent(content, event.content_index);
152
- content[event.content_index] = structuredClone(part);
453
+ content[event.content_index] = part;
153
454
  }
154
455
  return true;
155
456
  }
@@ -571,49 +872,54 @@ function isIgnoredResponseEvent(event) {
571
872
  function createResponseContext() {
572
873
  return (0, canonical_output_text_1.createCanonicalResponseContext)();
573
874
  }
574
- function accumulateResponseWithContext(event, snapshot, context) {
875
+ function accumulateResponseWithContext(event, snapshot, context, rejectInvalidShellTargets = false, onSanitizedEvent) {
876
+ const dispatchEvent = sanitizeResponseEvent(event);
877
+ if (onSanitizedEvent && dispatchEvent.type !== 'keepalive') {
878
+ onSanitizedEvent(dispatchEvent);
879
+ }
575
880
  if (!snapshot) {
576
- if (event.type !== 'response.created') {
577
- throw new error_1.OpenAIError(`When snapshot hasn't been set yet, expected 'response.created' event, got ${event.type}`);
881
+ if (dispatchEvent.type !== 'response.created') {
882
+ throw new error_1.OpenAIError(`When snapshot hasn't been set yet, expected 'response.created' event, got ${dispatchEvent.type}`);
578
883
  }
579
- return (0, canonical_output_text_1.cloneResponse)(context, event.response);
884
+ return cloneValidatedResponse(context, dispatchEvent.response);
580
885
  }
581
- if (accumulateOutputItemEvent(event, snapshot, context)) {
886
+ validateOutputItemIdentity(dispatchEvent, snapshot, rejectInvalidShellTargets);
887
+ if (accumulateOutputItemEvent(dispatchEvent, snapshot, context)) {
582
888
  return snapshot;
583
889
  }
584
- if (accumulateContentPartAddedEvent(event, snapshot, context)) {
890
+ if (accumulateContentPartAddedEvent(dispatchEvent, snapshot, context)) {
585
891
  return snapshot;
586
892
  }
587
- if (accumulateContentPartDoneEvent(event, snapshot, context)) {
893
+ if (accumulateContentPartDoneEvent(dispatchEvent, snapshot, context)) {
588
894
  return snapshot;
589
895
  }
590
- if (accumulateOutputTextEvent(event, snapshot, context)) {
896
+ if (accumulateOutputTextEvent(dispatchEvent, snapshot, context)) {
591
897
  return snapshot;
592
898
  }
593
- if (accumulateRefusalAndArgumentsEvent(event, snapshot)) {
899
+ if (accumulateRefusalAndArgumentsEvent(dispatchEvent, snapshot)) {
594
900
  return snapshot;
595
901
  }
596
- if (accumulateShellEvent(event, snapshot)) {
902
+ if (accumulateShellEvent(dispatchEvent, snapshot)) {
597
903
  return snapshot;
598
904
  }
599
- if (accumulateReasoningEvent(event, snapshot)) {
905
+ if (accumulateReasoningEvent(dispatchEvent, snapshot)) {
600
906
  return snapshot;
601
907
  }
602
- if (accumulateCodeInterpreterEvent(event, snapshot)) {
908
+ if (accumulateCodeInterpreterEvent(dispatchEvent, snapshot)) {
603
909
  return snapshot;
604
910
  }
605
- if (accumulateSearchStatusEvent(event, snapshot)) {
911
+ if (accumulateSearchStatusEvent(dispatchEvent, snapshot)) {
606
912
  return snapshot;
607
913
  }
608
- if (accumulateImageAndMcpStatusEvent(event, snapshot)) {
914
+ if (accumulateImageAndMcpStatusEvent(dispatchEvent, snapshot)) {
609
915
  return snapshot;
610
916
  }
611
- if (isResponseLifecycleEvent(event)) {
612
- return (0, canonical_output_text_1.cloneResponse)(context, event.response);
917
+ if (isResponseLifecycleEvent(dispatchEvent)) {
918
+ return cloneValidatedResponse(context, dispatchEvent.response);
613
919
  }
614
- if (isIgnoredResponseEvent(event)) {
920
+ if (isIgnoredResponseEvent(dispatchEvent)) {
615
921
  return snapshot;
616
922
  }
617
- return assertNever(event);
923
+ return assertNever(dispatchEvent);
618
924
  }
619
925
  //# sourceMappingURL=response-accumulator.js.map