openai 7.14.0 → 7.16.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 (456) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +6 -0
  3. package/bedrock.d.mts.map +1 -1
  4. package/bedrock.d.ts.map +1 -1
  5. package/bedrock.js +9 -6
  6. package/bedrock.js.map +1 -1
  7. package/bedrock.mjs +9 -6
  8. package/bedrock.mjs.map +1 -1
  9. package/client.d.mts +16 -4
  10. package/client.d.mts.map +1 -1
  11. package/client.d.ts +16 -4
  12. package/client.d.ts.map +1 -1
  13. package/client.js +37 -20
  14. package/client.js.map +1 -1
  15. package/client.mjs +37 -20
  16. package/client.mjs.map +1 -1
  17. package/core/pagination.d.mts +19 -1
  18. package/core/pagination.d.mts.map +1 -1
  19. package/core/pagination.d.ts +19 -1
  20. package/core/pagination.d.ts.map +1 -1
  21. package/core/pagination.js +32 -1
  22. package/core/pagination.js.map +1 -1
  23. package/core/pagination.mjs +30 -0
  24. package/core/pagination.mjs.map +1 -1
  25. package/internal/realtime-credentials.d.mts +1 -1
  26. package/internal/realtime-credentials.d.ts +1 -1
  27. package/internal/realtime-credentials.js +1 -1
  28. package/internal/realtime-credentials.mjs +1 -1
  29. package/internal/utils/abort.d.mts +11 -0
  30. package/internal/utils/abort.d.mts.map +1 -0
  31. package/internal/utils/abort.d.ts +11 -0
  32. package/internal/utils/abort.d.ts.map +1 -0
  33. package/internal/utils/abort.js +87 -0
  34. package/internal/utils/abort.js.map +1 -0
  35. package/internal/utils/abort.mjs +83 -0
  36. package/internal/utils/abort.mjs.map +1 -0
  37. package/internal/ws.d.mts +13 -0
  38. package/internal/ws.d.mts.map +1 -1
  39. package/internal/ws.d.ts +13 -0
  40. package/internal/ws.d.ts.map +1 -1
  41. package/internal/ws.js +10 -0
  42. package/internal/ws.js.map +1 -1
  43. package/internal/ws.mjs +9 -0
  44. package/internal/ws.mjs.map +1 -1
  45. package/lib/agents/agent-session-stream.d.mts +41 -0
  46. package/lib/agents/agent-session-stream.d.mts.map +1 -0
  47. package/lib/agents/agent-session-stream.d.ts +41 -0
  48. package/lib/agents/agent-session-stream.d.ts.map +1 -0
  49. package/lib/agents/agent-session-stream.js +271 -0
  50. package/lib/agents/agent-session-stream.js.map +1 -0
  51. package/lib/agents/agent-session-stream.mjs +267 -0
  52. package/lib/agents/agent-session-stream.mjs.map +1 -0
  53. package/lib/agents/output-text.d.mts +4 -0
  54. package/lib/agents/output-text.d.mts.map +1 -0
  55. package/lib/agents/output-text.d.ts +4 -0
  56. package/lib/agents/output-text.d.ts.map +1 -0
  57. package/lib/agents/output-text.js +8 -0
  58. package/lib/agents/output-text.js.map +1 -0
  59. package/lib/agents/output-text.mjs +5 -0
  60. package/lib/agents/output-text.mjs.map +1 -0
  61. package/lib/agents/turn-state.d.mts +14 -0
  62. package/lib/agents/turn-state.d.mts.map +1 -0
  63. package/lib/agents/turn-state.d.ts +14 -0
  64. package/lib/agents/turn-state.d.ts.map +1 -0
  65. package/lib/agents/turn-state.js +62 -0
  66. package/lib/agents/turn-state.js.map +1 -0
  67. package/lib/agents/turn-state.mjs +58 -0
  68. package/lib/agents/turn-state.mjs.map +1 -0
  69. package/lib/live/transcript-grouping.d.mts +2 -2
  70. package/lib/live/transcript-grouping.d.mts.map +1 -1
  71. package/lib/live/transcript-grouping.d.ts +2 -2
  72. package/lib/live/transcript-grouping.d.ts.map +1 -1
  73. package/lib/live/transcript-grouping.js +44 -22
  74. package/lib/live/transcript-grouping.js.map +1 -1
  75. package/lib/live/transcript-grouping.mjs +44 -22
  76. package/lib/live/transcript-grouping.mjs.map +1 -1
  77. package/package.json +1 -1
  78. package/resources/beta/agents/agents.d.mts +3678 -0
  79. package/resources/beta/agents/agents.d.mts.map +1 -0
  80. package/resources/beta/agents/agents.d.ts +3678 -0
  81. package/resources/beta/agents/agents.d.ts.map +1 -0
  82. package/resources/beta/agents/agents.js +118 -0
  83. package/resources/beta/agents/agents.js.map +1 -0
  84. package/resources/beta/agents/agents.mjs +113 -0
  85. package/resources/beta/agents/agents.mjs.map +1 -0
  86. package/resources/beta/agents/environments/environments.d.mts +65 -0
  87. package/resources/beta/agents/environments/environments.d.mts.map +1 -0
  88. package/resources/beta/agents/environments/environments.d.ts +65 -0
  89. package/resources/beta/agents/environments/environments.d.ts.map +1 -0
  90. package/resources/beta/agents/environments/environments.js +43 -0
  91. package/resources/beta/agents/environments/environments.js.map +1 -0
  92. package/resources/beta/agents/environments/environments.mjs +38 -0
  93. package/resources/beta/agents/environments/environments.mjs.map +1 -0
  94. package/resources/beta/agents/environments/files.d.mts +111 -0
  95. package/resources/beta/agents/environments/files.d.mts.map +1 -0
  96. package/resources/beta/agents/environments/files.d.ts +111 -0
  97. package/resources/beta/agents/environments/files.d.ts.map +1 -0
  98. package/resources/beta/agents/environments/files.js +61 -0
  99. package/resources/beta/agents/environments/files.js.map +1 -0
  100. package/resources/beta/agents/environments/files.mjs +57 -0
  101. package/resources/beta/agents/environments/files.mjs.map +1 -0
  102. package/resources/beta/agents/environments/index.d.mts +4 -0
  103. package/resources/beta/agents/environments/index.d.mts.map +1 -0
  104. package/resources/beta/agents/environments/index.d.ts +4 -0
  105. package/resources/beta/agents/environments/index.d.ts.map +1 -0
  106. package/resources/beta/agents/environments/index.js +11 -0
  107. package/resources/beta/agents/environments/index.js.map +1 -0
  108. package/resources/beta/agents/environments/index.mjs +5 -0
  109. package/resources/beta/agents/environments/index.mjs.map +1 -0
  110. package/resources/beta/agents/environments/templates.d.mts +415 -0
  111. package/resources/beta/agents/environments/templates.d.mts.map +1 -0
  112. package/resources/beta/agents/environments/templates.d.ts +415 -0
  113. package/resources/beta/agents/environments/templates.d.ts.map +1 -0
  114. package/resources/beta/agents/environments/templates.js +112 -0
  115. package/resources/beta/agents/environments/templates.js.map +1 -0
  116. package/resources/beta/agents/environments/templates.mjs +108 -0
  117. package/resources/beta/agents/environments/templates.mjs.map +1 -0
  118. package/resources/beta/agents/environments.d.mts +2 -0
  119. package/resources/beta/agents/environments.d.mts.map +1 -0
  120. package/resources/beta/agents/environments.d.ts +2 -0
  121. package/resources/beta/agents/environments.d.ts.map +1 -0
  122. package/resources/beta/agents/environments.js +6 -0
  123. package/resources/beta/agents/environments.js.map +1 -0
  124. package/resources/beta/agents/environments.mjs +3 -0
  125. package/resources/beta/agents/environments.mjs.map +1 -0
  126. package/resources/beta/agents/index.d.mts +5 -0
  127. package/resources/beta/agents/index.d.mts.map +1 -0
  128. package/resources/beta/agents/index.d.ts +5 -0
  129. package/resources/beta/agents/index.d.ts.map +1 -0
  130. package/resources/beta/agents/index.js +13 -0
  131. package/resources/beta/agents/index.js.map +1 -0
  132. package/resources/beta/agents/index.mjs +6 -0
  133. package/resources/beta/agents/index.mjs.map +1 -0
  134. package/resources/beta/agents/sessions/artifacts.d.mts +158 -0
  135. package/resources/beta/agents/sessions/artifacts.d.mts.map +1 -0
  136. package/resources/beta/agents/sessions/artifacts.d.ts +158 -0
  137. package/resources/beta/agents/sessions/artifacts.d.ts.map +1 -0
  138. package/resources/beta/agents/sessions/artifacts.js +106 -0
  139. package/resources/beta/agents/sessions/artifacts.js.map +1 -0
  140. package/resources/beta/agents/sessions/artifacts.mjs +102 -0
  141. package/resources/beta/agents/sessions/artifacts.mjs.map +1 -0
  142. package/resources/beta/agents/sessions/events.d.mts +61 -0
  143. package/resources/beta/agents/sessions/events.d.mts.map +1 -0
  144. package/resources/beta/agents/sessions/events.d.ts +61 -0
  145. package/resources/beta/agents/sessions/events.d.ts.map +1 -0
  146. package/resources/beta/agents/sessions/events.js +72 -0
  147. package/resources/beta/agents/sessions/events.js.map +1 -0
  148. package/resources/beta/agents/sessions/events.mjs +68 -0
  149. package/resources/beta/agents/sessions/events.mjs.map +1 -0
  150. package/resources/beta/agents/sessions/index.d.mts +7 -0
  151. package/resources/beta/agents/sessions/index.d.mts.map +1 -0
  152. package/resources/beta/agents/sessions/index.d.ts +7 -0
  153. package/resources/beta/agents/sessions/index.d.ts.map +1 -0
  154. package/resources/beta/agents/sessions/index.js +17 -0
  155. package/resources/beta/agents/sessions/index.js.map +1 -0
  156. package/resources/beta/agents/sessions/index.mjs +8 -0
  157. package/resources/beta/agents/sessions/index.mjs.map +1 -0
  158. package/resources/beta/agents/sessions/items.d.mts +37 -0
  159. package/resources/beta/agents/sessions/items.d.mts.map +1 -0
  160. package/resources/beta/agents/sessions/items.d.ts +37 -0
  161. package/resources/beta/agents/sessions/items.d.ts.map +1 -0
  162. package/resources/beta/agents/sessions/items.js +35 -0
  163. package/resources/beta/agents/sessions/items.js.map +1 -0
  164. package/resources/beta/agents/sessions/items.mjs +31 -0
  165. package/resources/beta/agents/sessions/items.mjs.map +1 -0
  166. package/resources/beta/agents/sessions/sessions.d.mts +220 -0
  167. package/resources/beta/agents/sessions/sessions.d.mts.map +1 -0
  168. package/resources/beta/agents/sessions/sessions.d.ts +220 -0
  169. package/resources/beta/agents/sessions/sessions.d.ts.map +1 -0
  170. package/resources/beta/agents/sessions/sessions.js +124 -0
  171. package/resources/beta/agents/sessions/sessions.js.map +1 -0
  172. package/resources/beta/agents/sessions/sessions.mjs +119 -0
  173. package/resources/beta/agents/sessions/sessions.mjs.map +1 -0
  174. package/resources/beta/agents/sessions/subagents/index.d.mts +4 -0
  175. package/resources/beta/agents/sessions/subagents/index.d.mts.map +1 -0
  176. package/resources/beta/agents/sessions/subagents/index.d.ts +4 -0
  177. package/resources/beta/agents/sessions/subagents/index.d.ts.map +1 -0
  178. package/resources/beta/agents/sessions/subagents/index.js +11 -0
  179. package/resources/beta/agents/sessions/subagents/index.js.map +1 -0
  180. package/resources/beta/agents/sessions/subagents/index.mjs +5 -0
  181. package/resources/beta/agents/sessions/subagents/index.mjs.map +1 -0
  182. package/resources/beta/agents/sessions/subagents/items.d.mts +41 -0
  183. package/resources/beta/agents/sessions/subagents/items.d.mts.map +1 -0
  184. package/resources/beta/agents/sessions/subagents/items.d.ts +41 -0
  185. package/resources/beta/agents/sessions/subagents/items.d.ts.map +1 -0
  186. package/resources/beta/agents/sessions/subagents/items.js +36 -0
  187. package/resources/beta/agents/sessions/subagents/items.js.map +1 -0
  188. package/resources/beta/agents/sessions/subagents/items.mjs +32 -0
  189. package/resources/beta/agents/sessions/subagents/items.mjs.map +1 -0
  190. package/resources/beta/agents/sessions/subagents/subagents.d.mts +65 -0
  191. package/resources/beta/agents/sessions/subagents/subagents.d.mts.map +1 -0
  192. package/resources/beta/agents/sessions/subagents/subagents.d.ts +65 -0
  193. package/resources/beta/agents/sessions/subagents/subagents.d.ts.map +1 -0
  194. package/resources/beta/agents/sessions/subagents/subagents.js +67 -0
  195. package/resources/beta/agents/sessions/subagents/subagents.js.map +1 -0
  196. package/resources/beta/agents/sessions/subagents/subagents.mjs +62 -0
  197. package/resources/beta/agents/sessions/subagents/subagents.mjs.map +1 -0
  198. package/resources/beta/agents/sessions/subagents/turns/index.d.mts +3 -0
  199. package/resources/beta/agents/sessions/subagents/turns/index.d.mts.map +1 -0
  200. package/resources/beta/agents/sessions/subagents/turns/index.d.ts +3 -0
  201. package/resources/beta/agents/sessions/subagents/turns/index.d.ts.map +1 -0
  202. package/resources/beta/agents/sessions/subagents/turns/index.js +9 -0
  203. package/resources/beta/agents/sessions/subagents/turns/index.js.map +1 -0
  204. package/resources/beta/agents/sessions/subagents/turns/index.mjs +4 -0
  205. package/resources/beta/agents/sessions/subagents/turns/index.mjs.map +1 -0
  206. package/resources/beta/agents/sessions/subagents/turns/items.d.mts +45 -0
  207. package/resources/beta/agents/sessions/subagents/turns/items.d.mts.map +1 -0
  208. package/resources/beta/agents/sessions/subagents/turns/items.d.ts +45 -0
  209. package/resources/beta/agents/sessions/subagents/turns/items.d.ts.map +1 -0
  210. package/resources/beta/agents/sessions/subagents/turns/items.js +36 -0
  211. package/resources/beta/agents/sessions/subagents/turns/items.js.map +1 -0
  212. package/resources/beta/agents/sessions/subagents/turns/items.mjs +32 -0
  213. package/resources/beta/agents/sessions/subagents/turns/items.mjs.map +1 -0
  214. package/resources/beta/agents/sessions/subagents/turns/turns.d.mts +73 -0
  215. package/resources/beta/agents/sessions/subagents/turns/turns.d.mts.map +1 -0
  216. package/resources/beta/agents/sessions/subagents/turns/turns.d.ts +73 -0
  217. package/resources/beta/agents/sessions/subagents/turns/turns.d.ts.map +1 -0
  218. package/resources/beta/agents/sessions/subagents/turns/turns.js +68 -0
  219. package/resources/beta/agents/sessions/subagents/turns/turns.js.map +1 -0
  220. package/resources/beta/agents/sessions/subagents/turns/turns.mjs +63 -0
  221. package/resources/beta/agents/sessions/subagents/turns/turns.mjs.map +1 -0
  222. package/resources/beta/agents/sessions/subagents/turns.d.mts +2 -0
  223. package/resources/beta/agents/sessions/subagents/turns.d.mts.map +1 -0
  224. package/resources/beta/agents/sessions/subagents/turns.d.ts +2 -0
  225. package/resources/beta/agents/sessions/subagents/turns.d.ts.map +1 -0
  226. package/resources/beta/agents/sessions/subagents/turns.js +6 -0
  227. package/resources/beta/agents/sessions/subagents/turns.js.map +1 -0
  228. package/resources/beta/agents/sessions/subagents/turns.mjs +3 -0
  229. package/resources/beta/agents/sessions/subagents/turns.mjs.map +1 -0
  230. package/resources/beta/agents/sessions/subagents.d.mts +2 -0
  231. package/resources/beta/agents/sessions/subagents.d.mts.map +1 -0
  232. package/resources/beta/agents/sessions/subagents.d.ts +2 -0
  233. package/resources/beta/agents/sessions/subagents.d.ts.map +1 -0
  234. package/resources/beta/agents/sessions/subagents.js +6 -0
  235. package/resources/beta/agents/sessions/subagents.js.map +1 -0
  236. package/resources/beta/agents/sessions/subagents.mjs +3 -0
  237. package/resources/beta/agents/sessions/subagents.mjs.map +1 -0
  238. package/resources/beta/agents/sessions/turns.d.mts +116 -0
  239. package/resources/beta/agents/sessions/turns.d.mts.map +1 -0
  240. package/resources/beta/agents/sessions/turns.d.ts +116 -0
  241. package/resources/beta/agents/sessions/turns.d.ts.map +1 -0
  242. package/resources/beta/agents/sessions/turns.js +57 -0
  243. package/resources/beta/agents/sessions/turns.js.map +1 -0
  244. package/resources/beta/agents/sessions/turns.mjs +53 -0
  245. package/resources/beta/agents/sessions/turns.mjs.map +1 -0
  246. package/resources/beta/agents/sessions.d.mts +2 -0
  247. package/resources/beta/agents/sessions.d.mts.map +1 -0
  248. package/resources/beta/agents/sessions.d.ts +2 -0
  249. package/resources/beta/agents/sessions.d.ts.map +1 -0
  250. package/resources/beta/agents/sessions.js +6 -0
  251. package/resources/beta/agents/sessions.js.map +1 -0
  252. package/resources/beta/agents/sessions.mjs +3 -0
  253. package/resources/beta/agents/sessions.mjs.map +1 -0
  254. package/resources/beta/agents/vaults/credentials.d.mts +526 -0
  255. package/resources/beta/agents/vaults/credentials.d.mts.map +1 -0
  256. package/resources/beta/agents/vaults/credentials.d.ts +526 -0
  257. package/resources/beta/agents/vaults/credentials.d.ts.map +1 -0
  258. package/resources/beta/agents/vaults/credentials.js +132 -0
  259. package/resources/beta/agents/vaults/credentials.js.map +1 -0
  260. package/resources/beta/agents/vaults/credentials.mjs +128 -0
  261. package/resources/beta/agents/vaults/credentials.mjs.map +1 -0
  262. package/resources/beta/agents/vaults/index.d.mts +3 -0
  263. package/resources/beta/agents/vaults/index.d.mts.map +1 -0
  264. package/resources/beta/agents/vaults/index.d.ts +3 -0
  265. package/resources/beta/agents/vaults/index.d.ts.map +1 -0
  266. package/resources/beta/agents/vaults/index.js +9 -0
  267. package/resources/beta/agents/vaults/index.js.map +1 -0
  268. package/resources/beta/agents/vaults/index.mjs +4 -0
  269. package/resources/beta/agents/vaults/index.mjs.map +1 -0
  270. package/resources/beta/agents/vaults/vaults.d.mts +145 -0
  271. package/resources/beta/agents/vaults/vaults.d.mts.map +1 -0
  272. package/resources/beta/agents/vaults/vaults.d.ts +145 -0
  273. package/resources/beta/agents/vaults/vaults.d.ts.map +1 -0
  274. package/resources/beta/agents/vaults/vaults.js +93 -0
  275. package/resources/beta/agents/vaults/vaults.js.map +1 -0
  276. package/resources/beta/agents/vaults/vaults.mjs +88 -0
  277. package/resources/beta/agents/vaults/vaults.mjs.map +1 -0
  278. package/resources/beta/agents/vaults.d.mts +2 -0
  279. package/resources/beta/agents/vaults.d.mts.map +1 -0
  280. package/resources/beta/agents/vaults.d.ts +2 -0
  281. package/resources/beta/agents/vaults.d.ts.map +1 -0
  282. package/resources/beta/agents/vaults.js +6 -0
  283. package/resources/beta/agents/vaults.js.map +1 -0
  284. package/resources/beta/agents/vaults.mjs +3 -0
  285. package/resources/beta/agents/vaults.mjs.map +1 -0
  286. package/resources/beta/agents.d.mts +2 -0
  287. package/resources/beta/agents.d.mts.map +1 -0
  288. package/resources/beta/agents.d.ts +2 -0
  289. package/resources/beta/agents.d.ts.map +1 -0
  290. package/resources/beta/agents.js +6 -0
  291. package/resources/beta/agents.js.map +1 -0
  292. package/resources/beta/agents.mjs +3 -0
  293. package/resources/beta/agents.mjs.map +1 -0
  294. package/resources/beta/beta.d.mts +4 -1
  295. package/resources/beta/beta.d.mts.map +1 -1
  296. package/resources/beta/beta.d.ts +4 -1
  297. package/resources/beta/beta.d.ts.map +1 -1
  298. package/resources/beta/beta.js +4 -0
  299. package/resources/beta/beta.js.map +1 -1
  300. package/resources/beta/beta.mjs +4 -0
  301. package/resources/beta/beta.mjs.map +1 -1
  302. package/resources/beta/index.d.mts +1 -0
  303. package/resources/beta/index.d.mts.map +1 -1
  304. package/resources/beta/index.d.ts +1 -0
  305. package/resources/beta/index.d.ts.map +1 -1
  306. package/resources/beta/index.js +11 -9
  307. package/resources/beta/index.js.map +1 -1
  308. package/resources/beta/index.mjs +1 -0
  309. package/resources/beta/index.mjs.map +1 -1
  310. package/resources/beta/responses/internal-base.d.mts.map +1 -1
  311. package/resources/beta/responses/internal-base.d.ts.map +1 -1
  312. package/resources/beta/responses/internal-base.js +6 -0
  313. package/resources/beta/responses/internal-base.js.map +1 -1
  314. package/resources/beta/responses/internal-base.mjs +6 -0
  315. package/resources/beta/responses/internal-base.mjs.map +1 -1
  316. package/resources/beta/responses/ws-base.d.mts +13 -8
  317. package/resources/beta/responses/ws-base.d.mts.map +1 -1
  318. package/resources/beta/responses/ws-base.d.ts +13 -8
  319. package/resources/beta/responses/ws-base.d.ts.map +1 -1
  320. package/resources/beta/responses/ws-base.js +85 -14
  321. package/resources/beta/responses/ws-base.js.map +1 -1
  322. package/resources/beta/responses/ws-base.mjs +87 -16
  323. package/resources/beta/responses/ws-base.mjs.map +1 -1
  324. package/resources/beta/responses/ws.d.mts +1 -0
  325. package/resources/beta/responses/ws.d.mts.map +1 -1
  326. package/resources/beta/responses/ws.d.ts +1 -0
  327. package/resources/beta/responses/ws.d.ts.map +1 -1
  328. package/resources/beta/responses/ws.js.map +1 -1
  329. package/resources/beta/responses/ws.mjs.map +1 -1
  330. package/resources/live/forks/ws-base.d.mts +13 -8
  331. package/resources/live/forks/ws-base.d.mts.map +1 -1
  332. package/resources/live/forks/ws-base.d.ts +13 -8
  333. package/resources/live/forks/ws-base.d.ts.map +1 -1
  334. package/resources/live/forks/ws-base.js +85 -14
  335. package/resources/live/forks/ws-base.js.map +1 -1
  336. package/resources/live/forks/ws-base.mjs +87 -16
  337. package/resources/live/forks/ws-base.mjs.map +1 -1
  338. package/resources/live/forks/ws.d.mts +1 -0
  339. package/resources/live/forks/ws.d.mts.map +1 -1
  340. package/resources/live/forks/ws.d.ts +1 -0
  341. package/resources/live/forks/ws.d.ts.map +1 -1
  342. package/resources/live/forks/ws.js.map +1 -1
  343. package/resources/live/forks/ws.mjs.map +1 -1
  344. package/resources/live/sessions.d.mts +10 -4
  345. package/resources/live/sessions.d.mts.map +1 -1
  346. package/resources/live/sessions.d.ts +10 -4
  347. package/resources/live/sessions.d.ts.map +1 -1
  348. package/resources/live/sessions.js +10 -4
  349. package/resources/live/sessions.js.map +1 -1
  350. package/resources/live/sessions.mjs +10 -4
  351. package/resources/live/sessions.mjs.map +1 -1
  352. package/resources/live/sideband/ws-base.d.mts +13 -8
  353. package/resources/live/sideband/ws-base.d.mts.map +1 -1
  354. package/resources/live/sideband/ws-base.d.ts +13 -8
  355. package/resources/live/sideband/ws-base.d.ts.map +1 -1
  356. package/resources/live/sideband/ws-base.js +85 -14
  357. package/resources/live/sideband/ws-base.js.map +1 -1
  358. package/resources/live/sideband/ws-base.mjs +87 -16
  359. package/resources/live/sideband/ws-base.mjs.map +1 -1
  360. package/resources/live/sideband/ws.d.mts +1 -0
  361. package/resources/live/sideband/ws.d.mts.map +1 -1
  362. package/resources/live/sideband/ws.d.ts +1 -0
  363. package/resources/live/sideband/ws.d.ts.map +1 -1
  364. package/resources/live/sideband/ws.js.map +1 -1
  365. package/resources/live/sideband/ws.mjs.map +1 -1
  366. package/resources/live/ws-base.d.mts +13 -8
  367. package/resources/live/ws-base.d.mts.map +1 -1
  368. package/resources/live/ws-base.d.ts +13 -8
  369. package/resources/live/ws-base.d.ts.map +1 -1
  370. package/resources/live/ws-base.js +85 -14
  371. package/resources/live/ws-base.js.map +1 -1
  372. package/resources/live/ws-base.mjs +87 -16
  373. package/resources/live/ws-base.mjs.map +1 -1
  374. package/resources/live/ws.d.mts +1 -0
  375. package/resources/live/ws.d.mts.map +1 -1
  376. package/resources/live/ws.d.ts +1 -0
  377. package/resources/live/ws.d.ts.map +1 -1
  378. package/resources/live/ws.js.map +1 -1
  379. package/resources/live/ws.mjs.map +1 -1
  380. package/resources/responses/internal-base.d.mts.map +1 -1
  381. package/resources/responses/internal-base.d.ts.map +1 -1
  382. package/resources/responses/internal-base.js +6 -0
  383. package/resources/responses/internal-base.js.map +1 -1
  384. package/resources/responses/internal-base.mjs +6 -0
  385. package/resources/responses/internal-base.mjs.map +1 -1
  386. package/resources/responses/ws-base.d.mts +13 -8
  387. package/resources/responses/ws-base.d.mts.map +1 -1
  388. package/resources/responses/ws-base.d.ts +13 -8
  389. package/resources/responses/ws-base.d.ts.map +1 -1
  390. package/resources/responses/ws-base.js +85 -14
  391. package/resources/responses/ws-base.js.map +1 -1
  392. package/resources/responses/ws-base.mjs +87 -16
  393. package/resources/responses/ws-base.mjs.map +1 -1
  394. package/resources/responses/ws.d.mts +1 -0
  395. package/resources/responses/ws.d.mts.map +1 -1
  396. package/resources/responses/ws.d.ts +1 -0
  397. package/resources/responses/ws.d.ts.map +1 -1
  398. package/resources/responses/ws.js.map +1 -1
  399. package/resources/responses/ws.mjs.map +1 -1
  400. package/src/bedrock.ts +18 -7
  401. package/src/client.ts +48 -19
  402. package/src/core/pagination.ts +63 -1
  403. package/src/internal/realtime-credentials.ts +1 -1
  404. package/src/internal/utils/abort.ts +111 -0
  405. package/src/internal/ws.ts +22 -0
  406. package/src/lib/agents/agent-session-stream.ts +326 -0
  407. package/src/lib/agents/output-text.ts +6 -0
  408. package/src/lib/agents/turn-state.ts +61 -0
  409. package/src/lib/live/transcript-grouping.ts +59 -27
  410. package/src/resources/beta/agents/agents.ts +4621 -0
  411. package/src/resources/beta/agents/environments/environments.ts +111 -0
  412. package/src/resources/beta/agents/environments/files.ts +164 -0
  413. package/src/resources/beta/agents/environments/index.ts +19 -0
  414. package/src/resources/beta/agents/environments/templates.ts +537 -0
  415. package/src/resources/beta/agents/environments.ts +3 -0
  416. package/src/resources/beta/agents/index.ts +127 -0
  417. package/src/resources/beta/agents/sessions/artifacts.ts +239 -0
  418. package/src/resources/beta/agents/sessions/events.ts +91 -0
  419. package/src/resources/beta/agents/sessions/index.ts +24 -0
  420. package/src/resources/beta/agents/sessions/items.ts +59 -0
  421. package/src/resources/beta/agents/sessions/sessions.ts +350 -0
  422. package/src/resources/beta/agents/sessions/subagents/index.ts +5 -0
  423. package/src/resources/beta/agents/sessions/subagents/items.ts +65 -0
  424. package/src/resources/beta/agents/sessions/subagents/subagents.ts +113 -0
  425. package/src/resources/beta/agents/sessions/subagents/turns/index.ts +4 -0
  426. package/src/resources/beta/agents/sessions/subagents/turns/items.ts +70 -0
  427. package/src/resources/beta/agents/sessions/subagents/turns/turns.ts +111 -0
  428. package/src/resources/beta/agents/sessions/subagents/turns.ts +3 -0
  429. package/src/resources/beta/agents/sessions/subagents.ts +3 -0
  430. package/src/resources/beta/agents/sessions/turns.ts +159 -0
  431. package/src/resources/beta/agents/sessions.ts +3 -0
  432. package/src/resources/beta/agents/vaults/credentials.ts +687 -0
  433. package/src/resources/beta/agents/vaults/index.ts +29 -0
  434. package/src/resources/beta/agents/vaults/vaults.ts +237 -0
  435. package/src/resources/beta/agents/vaults.ts +3 -0
  436. package/src/resources/beta/agents.ts +3 -0
  437. package/src/resources/beta/beta.ts +207 -0
  438. package/src/resources/beta/index.ts +106 -0
  439. package/src/resources/beta/responses/internal-base.ts +5 -0
  440. package/src/resources/beta/responses/ws-base.ts +110 -21
  441. package/src/resources/beta/responses/ws.ts +2 -0
  442. package/src/resources/live/forks/ws-base.ts +110 -21
  443. package/src/resources/live/forks/ws.ts +2 -0
  444. package/src/resources/live/sessions.ts +10 -4
  445. package/src/resources/live/sideband/ws-base.ts +110 -21
  446. package/src/resources/live/sideband/ws.ts +2 -0
  447. package/src/resources/live/ws-base.ts +110 -21
  448. package/src/resources/live/ws.ts +2 -0
  449. package/src/resources/responses/internal-base.ts +5 -0
  450. package/src/resources/responses/ws-base.ts +110 -21
  451. package/src/resources/responses/ws.ts +2 -0
  452. package/src/version.ts +1 -1
  453. package/version.d.mts +1 -1
  454. package/version.d.ts +1 -1
  455. package/version.js +1 -1
  456. package/version.mjs +1 -1
@@ -6,6 +6,8 @@ import { sleep } from '../../../internal/utils/sleep';
6
6
  import { type WebSocketLike, ReadyState } from '../../../internal/ws-adapter';
7
7
  import {
8
8
  SendQueue,
9
+ getMaxBufferedEvents,
10
+ type WebSocketStreamOptions,
9
11
  flattenRawData,
10
12
  isRecoverableClose,
11
13
  type RawWebSocketData,
@@ -51,11 +53,11 @@ export interface ResponsesWSBaseOptions {
51
53
  reconnect?: ResponsesWSReconnectOptions | null | undefined;
52
54
 
53
55
  /**
54
- * Maximum size of the outgoing message queue in bytes.
55
- * Messages queued while the socket is connecting or reconnecting are held
56
- * in memory up to this limit. Once the limit is reached, new messages are
57
- * discarded and an `error` event is emitted.
58
- * Default: 1 MB
56
+ * Byte budget for outgoing messages queued while the socket is connecting
57
+ * or reconnecting. An empty queue accepts one message even if it exceeds
58
+ * this budget. Further messages are discarded and an `error` event is emitted
59
+ * if the total queued size would exceed the budget.
60
+ * Default: 1 MiB (1,048,576 bytes).
59
61
  */
60
62
  maxQueueSize?: number | undefined;
61
63
  }
@@ -169,6 +171,11 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
169
171
  * The iterator will exit if the socket closes but exiting the iterator
170
172
  * does not close the socket.
171
173
  *
174
+ * Pass `maxBufferedEvents` to limit queued records for this iterator, including
175
+ * lifecycle events. Overflow discards its backlog and rejects `next()` with a
176
+ * WebSocketError; the shared socket and other iterators remain active.
177
+ * Omitted means unlimited. This is an event-count limit, not a byte limit.
178
+ *
172
179
  * @example
173
180
  * ```ts
174
181
  * for await (const event of client.stream()) {
@@ -186,26 +193,59 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
186
193
  * }
187
194
  * ```
188
195
  */
189
- stream(): AsyncIterableIterator<ResponsesStreamMessage> {
190
- return this[Symbol.asyncIterator]();
196
+ stream(options?: WebSocketStreamOptions): AsyncIterableIterator<ResponsesStreamMessage> {
197
+ return options === undefined ? this[Symbol.asyncIterator]() : this[Symbol.asyncIterator](options);
191
198
  }
192
199
 
193
- [Symbol.asyncIterator](): AsyncIterableIterator<ResponsesStreamMessage> {
200
+ [Symbol.asyncIterator](options?: WebSocketStreamOptions): AsyncIterableIterator<ResponsesStreamMessage> {
194
201
  if (!this.socket) {
195
202
  throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
196
203
  }
197
204
 
205
+ const maxBufferedEvents = getMaxBufferedEvents(options);
206
+
198
207
  // Two-queue async iterator: `queue` buffers incoming messages,
199
208
  // `resolvers` buffers waiting next() calls. A push wakes the
200
209
  // oldest next(); a next() drains the oldest message.
201
- const queue: ResponsesStreamMessage[] = [];
202
- const resolvers: (() => void)[] = [];
210
+ const queue: (ResponsesStreamMessage | undefined)[] = [];
211
+ const resolvers: ((() => void) | undefined)[] = [];
212
+ let queueHead = 0;
213
+ let resolverHead = 0;
203
214
  let done = false;
215
+ let failure: WebSocketError | undefined;
204
216
  let currentSocket = this.socket;
205
217
 
218
+ const wakeResolver = () => {
219
+ if (resolverHead >= resolvers.length) return;
220
+
221
+ const resolver = resolvers[resolverHead];
222
+ resolvers[resolverHead] = undefined;
223
+ resolverHead += 1;
224
+ if (resolverHead >= 64 && resolverHead * 2 >= resolvers.length) {
225
+ resolvers.splice(0, resolverHead);
226
+ resolverHead = 0;
227
+ }
228
+ resolver?.();
229
+ };
230
+
206
231
  const push = (msg: ResponsesStreamMessage) => {
232
+ if (done) return;
233
+
234
+ if (maxBufferedEvents !== undefined && queue.length - queueHead >= maxBufferedEvents) {
235
+ failure = new WebSocketError(
236
+ `WebSocket stream exceeded maxBufferedEvents (${maxBufferedEvents})`,
237
+ null,
238
+ );
239
+ done = true;
240
+ queue.length = 0;
241
+ queueHead = 0;
242
+ cleanup();
243
+ flushResolvers();
244
+ return;
245
+ }
246
+
207
247
  queue.push(msg);
208
- resolvers.shift()?.();
248
+ wakeResolver();
209
249
  };
210
250
 
211
251
  const onEvent = (event: ResponsesAPI.BetaResponsesServerEvent) => {
@@ -235,9 +275,14 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
235
275
  };
236
276
 
237
277
  const flushResolvers = () => {
238
- for (let resolver = resolvers.shift(); resolver; resolver = resolvers.shift()) {
239
- resolver();
278
+ while (resolverHead < resolvers.length) {
279
+ const resolver = resolvers[resolverHead];
280
+ resolvers[resolverHead] = undefined;
281
+ resolverHead += 1;
282
+ resolver?.();
240
283
  }
284
+ resolvers.length = 0;
285
+ resolverHead = 0;
241
286
  };
242
287
 
243
288
  const onClose = (
@@ -251,8 +296,9 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
251
296
  cleanup();
252
297
  };
253
298
 
254
- const onSocketSwap = (oldSocket: TSocket, newSocket: TSocket) => {
255
- oldSocket.off('open', onOpen);
299
+ const onSocketSwap = (_oldSocket: TSocket, newSocket: TSocket) => {
300
+ if (currentSocket === newSocket) return;
301
+ currentSocket.off('open', onOpen);
256
302
  newSocket.on('open', onOpen);
257
303
  currentSocket = newSocket;
258
304
  };
@@ -309,9 +355,21 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
309
355
  }
310
356
  }
311
357
 
312
- const resolve = (res: (value: IteratorResult<ResponsesStreamMessage>) => void) => {
313
- if (queue.length > 0) {
314
- res({ value: queue.shift()!, done: false });
358
+ const resolve = (
359
+ res: (value: IteratorResult<ResponsesStreamMessage>) => void,
360
+ reject: (error: WebSocketError) => void,
361
+ ) => {
362
+ if (failure) {
363
+ reject(failure);
364
+ } else if (queueHead < queue.length) {
365
+ const queued = queue[queueHead]!;
366
+ queue[queueHead] = undefined;
367
+ queueHead += 1;
368
+ if (queueHead >= 64 && queueHead * 2 >= queue.length) {
369
+ queue.splice(0, queueHead);
370
+ queueHead = 0;
371
+ }
372
+ res({ value: queued, done: false });
315
373
  } else if (done) {
316
374
  res({ value: undefined, done: true });
317
375
  } else {
@@ -321,10 +379,10 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
321
379
  };
322
380
 
323
381
  const next = (): Promise<IteratorResult<ResponsesStreamMessage>> =>
324
- new Promise((res) => {
325
- if (resolve(res)) return;
382
+ new Promise((res, reject) => {
383
+ if (resolve(res, reject)) return;
326
384
  resolvers.push(() => {
327
- resolve(res);
385
+ resolve(res, reject);
328
386
  });
329
387
  });
330
388
 
@@ -332,6 +390,8 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
332
390
  next,
333
391
  return: (): Promise<IteratorReturnResult<undefined>> => {
334
392
  done = true;
393
+ queue.length = 0;
394
+ queueHead = 0;
335
395
  cleanup();
336
396
  flushResolvers();
337
397
  return Promise.resolve({ value: undefined, done: true });
@@ -364,6 +424,35 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
364
424
  return;
365
425
  }
366
426
 
427
+ if (
428
+ event === null ||
429
+ typeof event !== 'object' ||
430
+ Array.isArray(event) ||
431
+ !Object.prototype.hasOwnProperty.call(event, 'type') ||
432
+ typeof event.type !== 'string'
433
+ ) {
434
+ this._onError(
435
+ null,
436
+ 'received invalid WebSocket event: expected an object with an own string type',
437
+ undefined,
438
+ );
439
+ return;
440
+ }
441
+
442
+ const eventType: string = event.type;
443
+ const reservedEventType =
444
+ eventType === 'raw' ||
445
+ eventType === 'close' ||
446
+ eventType === 'event' ||
447
+ eventType === 'reconnecting' ||
448
+ eventType === 'reconnected' ||
449
+ eventType === 'open' ||
450
+ eventType === 'error';
451
+ if (reservedEventType && eventType !== 'error') {
452
+ this._onError(null, 'received reserved WebSocket event type', undefined);
453
+ return;
454
+ }
455
+
367
456
  this._emit('event', event);
368
457
 
369
458
  if (event.type === 'error') {
@@ -6,6 +6,8 @@ import { ResponsesWSBase, type ResponsesWSBaseOptions } from './ws-base';
6
6
  import { OpenAI } from '../../../client';
7
7
  import { VERSION } from '../../../version';
8
8
 
9
+ export type { WebSocketStreamOptions } from '../../../internal/ws';
10
+
9
11
  export type { ResponsesWSReconnectOptions } from './ws-base';
10
12
 
11
13
  export interface ResponsesWSClientOptions extends WS.ClientOptions, ResponsesWSBaseOptions {}
@@ -6,6 +6,8 @@ import { sleep } from '../../../internal/utils/sleep';
6
6
  import { type WebSocketLike, ReadyState } from '../../../internal/ws-adapter';
7
7
  import {
8
8
  SendQueue,
9
+ getMaxBufferedEvents,
10
+ type WebSocketStreamOptions,
9
11
  flattenRawData,
10
12
  isRecoverableClose,
11
13
  type RawWebSocketData,
@@ -55,11 +57,11 @@ export interface ForksWSBaseOptions {
55
57
  reconnect?: ForksWSReconnectOptions | null | undefined;
56
58
 
57
59
  /**
58
- * Maximum size of the outgoing message queue in bytes.
59
- * Messages queued while the socket is connecting or reconnecting are held
60
- * in memory up to this limit. Once the limit is reached, new messages are
61
- * discarded and an `error` event is emitted.
62
- * Default: 1 MB
60
+ * Byte budget for outgoing messages queued while the socket is connecting
61
+ * or reconnecting. An empty queue accepts one message even if it exceeds
62
+ * this budget. Further messages are discarded and an `error` event is emitted
63
+ * if the total queued size would exceed the budget.
64
+ * Default: 1 MiB (1,048,576 bytes).
63
65
  */
64
66
  maxQueueSize?: number | undefined;
65
67
  }
@@ -169,6 +171,11 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
169
171
  * The iterator will exit if the socket closes but exiting the iterator
170
172
  * does not close the socket.
171
173
  *
174
+ * Pass `maxBufferedEvents` to limit queued records for this iterator, including
175
+ * lifecycle events. Overflow discards its backlog and rejects `next()` with a
176
+ * WebSocketError; the shared socket and other iterators remain active.
177
+ * Omitted means unlimited. This is an event-count limit, not a byte limit.
178
+ *
172
179
  * @example
173
180
  * ```ts
174
181
  * for await (const event of client.stream()) {
@@ -186,26 +193,59 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
186
193
  * }
187
194
  * ```
188
195
  */
189
- stream(): AsyncIterableIterator<ForksStreamMessage> {
190
- return this[Symbol.asyncIterator]();
196
+ stream(options?: WebSocketStreamOptions): AsyncIterableIterator<ForksStreamMessage> {
197
+ return options === undefined ? this[Symbol.asyncIterator]() : this[Symbol.asyncIterator](options);
191
198
  }
192
199
 
193
- [Symbol.asyncIterator](): AsyncIterableIterator<ForksStreamMessage> {
200
+ [Symbol.asyncIterator](options?: WebSocketStreamOptions): AsyncIterableIterator<ForksStreamMessage> {
194
201
  if (!this.socket) {
195
202
  throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
196
203
  }
197
204
 
205
+ const maxBufferedEvents = getMaxBufferedEvents(options);
206
+
198
207
  // Two-queue async iterator: `queue` buffers incoming messages,
199
208
  // `resolvers` buffers waiting next() calls. A push wakes the
200
209
  // oldest next(); a next() drains the oldest message.
201
- const queue: ForksStreamMessage[] = [];
202
- const resolvers: (() => void)[] = [];
210
+ const queue: (ForksStreamMessage | undefined)[] = [];
211
+ const resolvers: ((() => void) | undefined)[] = [];
212
+ let queueHead = 0;
213
+ let resolverHead = 0;
203
214
  let done = false;
215
+ let failure: WebSocketError | undefined;
204
216
  let currentSocket = this.socket;
205
217
 
218
+ const wakeResolver = () => {
219
+ if (resolverHead >= resolvers.length) return;
220
+
221
+ const resolver = resolvers[resolverHead];
222
+ resolvers[resolverHead] = undefined;
223
+ resolverHead += 1;
224
+ if (resolverHead >= 64 && resolverHead * 2 >= resolvers.length) {
225
+ resolvers.splice(0, resolverHead);
226
+ resolverHead = 0;
227
+ }
228
+ resolver?.();
229
+ };
230
+
206
231
  const push = (msg: ForksStreamMessage) => {
232
+ if (done) return;
233
+
234
+ if (maxBufferedEvents !== undefined && queue.length - queueHead >= maxBufferedEvents) {
235
+ failure = new WebSocketError(
236
+ `WebSocket stream exceeded maxBufferedEvents (${maxBufferedEvents})`,
237
+ null,
238
+ );
239
+ done = true;
240
+ queue.length = 0;
241
+ queueHead = 0;
242
+ cleanup();
243
+ flushResolvers();
244
+ return;
245
+ }
246
+
207
247
  queue.push(msg);
208
- resolvers.shift()?.();
248
+ wakeResolver();
209
249
  };
210
250
 
211
251
  const onEvent = (event: ForksAPI.ForkServerEvent) => {
@@ -235,9 +275,14 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
235
275
  };
236
276
 
237
277
  const flushResolvers = () => {
238
- for (let resolver = resolvers.shift(); resolver; resolver = resolvers.shift()) {
239
- resolver();
278
+ while (resolverHead < resolvers.length) {
279
+ const resolver = resolvers[resolverHead];
280
+ resolvers[resolverHead] = undefined;
281
+ resolverHead += 1;
282
+ resolver?.();
240
283
  }
284
+ resolvers.length = 0;
285
+ resolverHead = 0;
241
286
  };
242
287
 
243
288
  const onClose = (code: number, reason: string, unsent: UnsentMessage<ForksAPI.ForkClientEvent>[]) => {
@@ -247,8 +292,9 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
247
292
  cleanup();
248
293
  };
249
294
 
250
- const onSocketSwap = (oldSocket: TSocket, newSocket: TSocket) => {
251
- oldSocket.off('open', onOpen);
295
+ const onSocketSwap = (_oldSocket: TSocket, newSocket: TSocket) => {
296
+ if (currentSocket === newSocket) return;
297
+ currentSocket.off('open', onOpen);
252
298
  newSocket.on('open', onOpen);
253
299
  currentSocket = newSocket;
254
300
  };
@@ -305,9 +351,21 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
305
351
  }
306
352
  }
307
353
 
308
- const resolve = (res: (value: IteratorResult<ForksStreamMessage>) => void) => {
309
- if (queue.length > 0) {
310
- res({ value: queue.shift()!, done: false });
354
+ const resolve = (
355
+ res: (value: IteratorResult<ForksStreamMessage>) => void,
356
+ reject: (error: WebSocketError) => void,
357
+ ) => {
358
+ if (failure) {
359
+ reject(failure);
360
+ } else if (queueHead < queue.length) {
361
+ const queued = queue[queueHead]!;
362
+ queue[queueHead] = undefined;
363
+ queueHead += 1;
364
+ if (queueHead >= 64 && queueHead * 2 >= queue.length) {
365
+ queue.splice(0, queueHead);
366
+ queueHead = 0;
367
+ }
368
+ res({ value: queued, done: false });
311
369
  } else if (done) {
312
370
  res({ value: undefined, done: true });
313
371
  } else {
@@ -317,10 +375,10 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
317
375
  };
318
376
 
319
377
  const next = (): Promise<IteratorResult<ForksStreamMessage>> =>
320
- new Promise((res) => {
321
- if (resolve(res)) return;
378
+ new Promise((res, reject) => {
379
+ if (resolve(res, reject)) return;
322
380
  resolvers.push(() => {
323
- resolve(res);
381
+ resolve(res, reject);
324
382
  });
325
383
  });
326
384
 
@@ -328,6 +386,8 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
328
386
  next,
329
387
  return: (): Promise<IteratorReturnResult<undefined>> => {
330
388
  done = true;
389
+ queue.length = 0;
390
+ queueHead = 0;
331
391
  cleanup();
332
392
  flushResolvers();
333
393
  return Promise.resolve({ value: undefined, done: true });
@@ -360,6 +420,35 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
360
420
  return;
361
421
  }
362
422
 
423
+ if (
424
+ event === null ||
425
+ typeof event !== 'object' ||
426
+ Array.isArray(event) ||
427
+ !Object.prototype.hasOwnProperty.call(event, 'type') ||
428
+ typeof event.type !== 'string'
429
+ ) {
430
+ this._onError(
431
+ null,
432
+ 'received invalid WebSocket event: expected an object with an own string type',
433
+ undefined,
434
+ );
435
+ return;
436
+ }
437
+
438
+ const eventType: string = event.type;
439
+ const reservedEventType =
440
+ eventType === 'raw' ||
441
+ eventType === 'close' ||
442
+ eventType === 'event' ||
443
+ eventType === 'reconnecting' ||
444
+ eventType === 'reconnected' ||
445
+ eventType === 'open' ||
446
+ eventType === 'error';
447
+ if (reservedEventType && eventType !== 'error') {
448
+ this._onError(null, 'received reserved WebSocket event type', undefined);
449
+ return;
450
+ }
451
+
363
452
  this._emit('event', event);
364
453
 
365
454
  if (event.type === 'error') {
@@ -6,6 +6,8 @@ import { ForksWSBase, type ForksWSBaseOptions, type ForksWSParameters } from './
6
6
  import { OpenAI } from '../../../client';
7
7
  import { VERSION } from '../../../version';
8
8
 
9
+ export type { WebSocketStreamOptions } from '../../../internal/ws';
10
+
9
11
  export type { ForksWSParameters, ForksWSReconnectOptions } from './ws-base';
10
12
 
11
13
  export interface ForksWSClientOptions extends WS.ClientOptions, ForksWSBaseOptions {}
@@ -9,7 +9,11 @@ import { path } from '../../internal/utils/path';
9
9
 
10
10
  export class Sessions extends APIResource {
11
11
  /**
12
- * Accept an incoming SIP call with Live startup configuration.
12
+ * Accept an incoming SIP call. Supply session with type live, the model, and
13
+ * startup configuration. Before accepting calls, follow the
14
+ * [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
15
+ * to write frontend conversation instructions and a separate backend prompt. SIP
16
+ * media format is negotiated; omit audio.format.
13
17
  *
14
18
  * @example
15
19
  * ```ts
@@ -72,7 +76,7 @@ export class Sessions extends APIResource {
72
76
  }
73
77
 
74
78
  /**
75
- * Hang up a Live session.
79
+ * End a SIP call identified by session_id.
76
80
  *
77
81
  * @example
78
82
  * ```ts
@@ -88,7 +92,8 @@ export class Sessions extends APIResource {
88
92
  }
89
93
 
90
94
  /**
91
- * Transfer a Live SIP call to another destination.
95
+ * Transfer a SIP call to another destination. Supply a nonblank target_uri for the
96
+ * SIP Refer-To header.
92
97
  *
93
98
  * @example
94
99
  * ```ts
@@ -107,7 +112,8 @@ export class Sessions extends APIResource {
107
112
  }
108
113
 
109
114
  /**
110
- * Reject an incoming SIP call.
115
+ * Reject an incoming SIP call. Send a required SIP rejection status_code between
116
+ * 300 and 699.
111
117
  *
112
118
  * @example
113
119
  * ```ts