openai 7.25.0 → 7.27.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 (368) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/client.d.mts +5 -6
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +5 -6
  5. package/client.d.ts.map +1 -1
  6. package/client.js +38 -10
  7. package/client.js.map +1 -1
  8. package/client.mjs +39 -11
  9. package/client.mjs.map +1 -1
  10. package/core/streaming.d.mts +4 -0
  11. package/core/streaming.d.mts.map +1 -1
  12. package/core/streaming.d.ts +4 -0
  13. package/core/streaming.d.ts.map +1 -1
  14. package/core/streaming.js +6 -0
  15. package/core/streaming.js.map +1 -1
  16. package/core/streaming.mjs +6 -0
  17. package/core/streaming.mjs.map +1 -1
  18. package/helpers/beta/agents/filesystem.d.mts +17 -0
  19. package/helpers/beta/agents/filesystem.d.mts.map +1 -0
  20. package/helpers/beta/agents/filesystem.d.ts +17 -0
  21. package/helpers/beta/agents/filesystem.d.ts.map +1 -0
  22. package/helpers/beta/agents/filesystem.js +168 -0
  23. package/helpers/beta/agents/filesystem.js.map +1 -0
  24. package/helpers/beta/agents/filesystem.mjs +162 -0
  25. package/helpers/beta/agents/filesystem.mjs.map +1 -0
  26. package/helpers/beta/agents/standard-schema.d.mts +7 -0
  27. package/helpers/beta/agents/standard-schema.d.mts.map +1 -0
  28. package/helpers/beta/agents/standard-schema.d.ts +7 -0
  29. package/helpers/beta/agents/standard-schema.d.ts.map +1 -0
  30. package/helpers/beta/agents/standard-schema.js +12 -0
  31. package/helpers/beta/agents/standard-schema.js.map +1 -0
  32. package/helpers/beta/agents/standard-schema.mjs +9 -0
  33. package/helpers/beta/agents/standard-schema.mjs.map +1 -0
  34. package/helpers/beta/agents/zod.d.mts +10 -0
  35. package/helpers/beta/agents/zod.d.mts.map +1 -0
  36. package/helpers/beta/agents/zod.d.ts +10 -0
  37. package/helpers/beta/agents/zod.d.ts.map +1 -0
  38. package/helpers/beta/agents/zod.js +12 -0
  39. package/helpers/beta/agents/zod.js.map +1 -0
  40. package/helpers/beta/agents/zod.mjs +9 -0
  41. package/helpers/beta/agents/zod.mjs.map +1 -0
  42. package/internal/realtime-credentials.d.mts +22 -1
  43. package/internal/realtime-credentials.d.mts.map +1 -1
  44. package/internal/realtime-credentials.d.ts +22 -1
  45. package/internal/realtime-credentials.d.ts.map +1 -1
  46. package/internal/realtime-credentials.js +48 -4
  47. package/internal/realtime-credentials.js.map +1 -1
  48. package/internal/realtime-credentials.mjs +45 -4
  49. package/internal/realtime-credentials.mjs.map +1 -1
  50. package/internal/responses-ws-credentials.d.mts +23 -0
  51. package/internal/responses-ws-credentials.d.mts.map +1 -0
  52. package/internal/responses-ws-credentials.d.ts +23 -0
  53. package/internal/responses-ws-credentials.d.ts.map +1 -0
  54. package/internal/responses-ws-credentials.js +108 -0
  55. package/internal/responses-ws-credentials.js.map +1 -0
  56. package/internal/responses-ws-credentials.mjs +104 -0
  57. package/internal/responses-ws-credentials.mjs.map +1 -0
  58. package/internal/shim-types.d.mts +9 -0
  59. package/internal/shim-types.d.mts.map +1 -1
  60. package/internal/shim-types.d.ts +9 -0
  61. package/internal/shim-types.d.ts.map +1 -1
  62. package/internal/tslib.js +4 -0
  63. package/internal/ws-adapter-node.d.mts +4 -0
  64. package/internal/ws-adapter-node.d.mts.map +1 -1
  65. package/internal/ws-adapter-node.d.ts +4 -0
  66. package/internal/ws-adapter-node.d.ts.map +1 -1
  67. package/internal/ws-adapter-node.js +56 -0
  68. package/internal/ws-adapter-node.js.map +1 -1
  69. package/internal/ws-adapter-node.mjs +55 -0
  70. package/internal/ws-adapter-node.mjs.map +1 -1
  71. package/internal/ws.d.mts +27 -4
  72. package/internal/ws.d.mts.map +1 -1
  73. package/internal/ws.d.ts +27 -4
  74. package/internal/ws.d.ts.map +1 -1
  75. package/internal/ws.js +105 -5
  76. package/internal/ws.js.map +1 -1
  77. package/internal/ws.mjs +102 -4
  78. package/internal/ws.mjs.map +1 -1
  79. package/lib/agents/agent-session-stream.d.mts +13 -4
  80. package/lib/agents/agent-session-stream.d.mts.map +1 -1
  81. package/lib/agents/agent-session-stream.d.ts +13 -4
  82. package/lib/agents/agent-session-stream.d.ts.map +1 -1
  83. package/lib/agents/agent-session-stream.js +24 -21
  84. package/lib/agents/agent-session-stream.js.map +1 -1
  85. package/lib/agents/agent-session-stream.mjs +24 -21
  86. package/lib/agents/agent-session-stream.mjs.map +1 -1
  87. package/lib/beta/agents/agent-session-create-stream.d.mts +15 -0
  88. package/lib/beta/agents/agent-session-create-stream.d.mts.map +1 -0
  89. package/lib/beta/agents/agent-session-create-stream.d.ts +15 -0
  90. package/lib/beta/agents/agent-session-create-stream.d.ts.map +1 -0
  91. package/lib/beta/agents/agent-session-create-stream.js +25 -0
  92. package/lib/beta/agents/agent-session-create-stream.js.map +1 -0
  93. package/lib/beta/agents/agent-session-create-stream.mjs +22 -0
  94. package/lib/beta/agents/agent-session-create-stream.mjs.map +1 -0
  95. package/lib/beta/agents/agent-turn-result-collector.d.mts +17 -0
  96. package/lib/beta/agents/agent-turn-result-collector.d.mts.map +1 -0
  97. package/lib/beta/agents/agent-turn-result-collector.d.ts +17 -0
  98. package/lib/beta/agents/agent-turn-result-collector.d.ts.map +1 -0
  99. package/lib/beta/agents/agent-turn-result-collector.js +99 -0
  100. package/lib/beta/agents/agent-turn-result-collector.js.map +1 -0
  101. package/lib/beta/agents/agent-turn-result-collector.mjs +95 -0
  102. package/lib/beta/agents/agent-turn-result-collector.mjs.map +1 -0
  103. package/lib/beta/agents/agent-turn-result-error.d.mts +16 -0
  104. package/lib/beta/agents/agent-turn-result-error.d.mts.map +1 -0
  105. package/lib/beta/agents/agent-turn-result-error.d.ts +16 -0
  106. package/lib/beta/agents/agent-turn-result-error.d.ts.map +1 -0
  107. package/lib/beta/agents/agent-turn-result-error.js +22 -0
  108. package/lib/beta/agents/agent-turn-result-error.js.map +1 -0
  109. package/lib/beta/agents/agent-turn-result-error.mjs +18 -0
  110. package/lib/beta/agents/agent-turn-result-error.mjs.map +1 -0
  111. package/lib/beta/agents/agent-turn-result.d.mts +12 -0
  112. package/lib/beta/agents/agent-turn-result.d.mts.map +1 -0
  113. package/lib/beta/agents/agent-turn-result.d.ts +12 -0
  114. package/lib/beta/agents/agent-turn-result.d.ts.map +1 -0
  115. package/lib/beta/agents/agent-turn-result.js +22 -0
  116. package/lib/beta/agents/agent-turn-result.js.map +1 -0
  117. package/lib/beta/agents/agent-turn-result.mjs +18 -0
  118. package/lib/beta/agents/agent-turn-result.mjs.map +1 -0
  119. package/lib/beta/agents/files.d.mts +33 -0
  120. package/lib/beta/agents/files.d.mts.map +1 -0
  121. package/lib/beta/agents/files.d.ts +33 -0
  122. package/lib/beta/agents/files.d.ts.map +1 -0
  123. package/lib/beta/agents/files.js +93 -0
  124. package/lib/beta/agents/files.js.map +1 -0
  125. package/lib/beta/agents/files.mjs +86 -0
  126. package/lib/beta/agents/files.mjs.map +1 -0
  127. package/lib/beta/agents/function-tool.d.mts +27 -0
  128. package/lib/beta/agents/function-tool.d.mts.map +1 -0
  129. package/lib/beta/agents/function-tool.d.ts +27 -0
  130. package/lib/beta/agents/function-tool.d.ts.map +1 -0
  131. package/lib/beta/agents/function-tool.js +48 -0
  132. package/lib/beta/agents/function-tool.js.map +1 -0
  133. package/lib/beta/agents/function-tool.mjs +45 -0
  134. package/lib/beta/agents/function-tool.mjs.map +1 -0
  135. package/lib/beta/agents/output-format-types.d.mts +11 -0
  136. package/lib/beta/agents/output-format-types.d.mts.map +1 -0
  137. package/lib/beta/agents/output-format-types.d.ts +11 -0
  138. package/lib/beta/agents/output-format-types.d.ts.map +1 -0
  139. package/lib/beta/agents/output-format-types.js +3 -0
  140. package/lib/beta/agents/output-format-types.js.map +1 -0
  141. package/lib/beta/agents/output-format-types.mjs +2 -0
  142. package/lib/beta/agents/output-format-types.mjs.map +1 -0
  143. package/lib/beta/agents/output-format.d.mts +8 -0
  144. package/lib/beta/agents/output-format.d.mts.map +1 -0
  145. package/lib/beta/agents/output-format.d.ts +8 -0
  146. package/lib/beta/agents/output-format.d.ts.map +1 -0
  147. package/lib/beta/agents/output-format.js +20 -0
  148. package/lib/beta/agents/output-format.js.map +1 -0
  149. package/lib/beta/agents/output-format.mjs +14 -0
  150. package/lib/beta/agents/output-format.mjs.map +1 -0
  151. package/lib/beta/agents/output-parse-error.d.mts +11 -0
  152. package/lib/beta/agents/output-parse-error.d.mts.map +1 -0
  153. package/lib/beta/agents/output-parse-error.d.ts +11 -0
  154. package/lib/beta/agents/output-parse-error.d.ts.map +1 -0
  155. package/lib/beta/agents/output-parse-error.js +22 -0
  156. package/lib/beta/agents/output-parse-error.js.map +1 -0
  157. package/lib/beta/agents/output-parse-error.mjs +18 -0
  158. package/lib/beta/agents/output-parse-error.mjs.map +1 -0
  159. package/lib/beta/agents/pages.d.mts +9 -0
  160. package/lib/beta/agents/pages.d.mts.map +1 -0
  161. package/lib/beta/agents/pages.d.ts +9 -0
  162. package/lib/beta/agents/pages.d.ts.map +1 -0
  163. package/lib/beta/agents/pages.js +32 -0
  164. package/lib/beta/agents/pages.js.map +1 -0
  165. package/lib/beta/agents/pages.mjs +29 -0
  166. package/lib/beta/agents/pages.mjs.map +1 -0
  167. package/lib/beta/agents/parse-result.d.mts +95 -0
  168. package/lib/beta/agents/parse-result.d.mts.map +1 -0
  169. package/lib/beta/agents/parse-result.d.ts +95 -0
  170. package/lib/beta/agents/parse-result.d.ts.map +1 -0
  171. package/lib/beta/agents/parse-result.js +116 -0
  172. package/lib/beta/agents/parse-result.js.map +1 -0
  173. package/lib/beta/agents/parse-result.mjs +110 -0
  174. package/lib/beta/agents/parse-result.mjs.map +1 -0
  175. package/lib/beta/agents/parsed-agent-turn-result.d.mts +8 -0
  176. package/lib/beta/agents/parsed-agent-turn-result.d.mts.map +1 -0
  177. package/lib/beta/agents/parsed-agent-turn-result.d.ts +8 -0
  178. package/lib/beta/agents/parsed-agent-turn-result.d.ts.map +1 -0
  179. package/lib/beta/agents/parsed-agent-turn-result.js +14 -0
  180. package/lib/beta/agents/parsed-agent-turn-result.js.map +1 -0
  181. package/lib/beta/agents/parsed-agent-turn-result.mjs +10 -0
  182. package/lib/beta/agents/parsed-agent-turn-result.mjs.map +1 -0
  183. package/lib/beta/agents/result-artifacts.d.mts +19 -0
  184. package/lib/beta/agents/result-artifacts.d.mts.map +1 -0
  185. package/lib/beta/agents/result-artifacts.d.ts +19 -0
  186. package/lib/beta/agents/result-artifacts.d.ts.map +1 -0
  187. package/lib/beta/agents/result-artifacts.js +67 -0
  188. package/lib/beta/agents/result-artifacts.js.map +1 -0
  189. package/lib/beta/agents/result-artifacts.mjs +63 -0
  190. package/lib/beta/agents/result-artifacts.mjs.map +1 -0
  191. package/lib/beta/agents/result-collection.d.mts +15 -0
  192. package/lib/beta/agents/result-collection.d.mts.map +1 -0
  193. package/lib/beta/agents/result-collection.d.ts +15 -0
  194. package/lib/beta/agents/result-collection.d.ts.map +1 -0
  195. package/lib/beta/agents/result-collection.js +110 -0
  196. package/lib/beta/agents/result-collection.js.map +1 -0
  197. package/lib/beta/agents/result-collection.mjs +106 -0
  198. package/lib/beta/agents/result-collection.mjs.map +1 -0
  199. package/lib/beta/agents/tool-output.d.mts +7 -0
  200. package/lib/beta/agents/tool-output.d.mts.map +1 -0
  201. package/lib/beta/agents/tool-output.d.ts +7 -0
  202. package/lib/beta/agents/tool-output.d.ts.map +1 -0
  203. package/lib/beta/agents/tool-output.js +26 -0
  204. package/lib/beta/agents/tool-output.js.map +1 -0
  205. package/lib/beta/agents/tool-output.mjs +23 -0
  206. package/lib/beta/agents/tool-output.mjs.map +1 -0
  207. package/lib/responses/responses-websocket-session.d.mts +1 -1
  208. package/lib/responses/responses-websocket-session.d.mts.map +1 -1
  209. package/lib/responses/responses-websocket-session.d.ts +1 -1
  210. package/lib/responses/responses-websocket-session.d.ts.map +1 -1
  211. package/lib/responses/responses-websocket-session.js +12 -2
  212. package/lib/responses/responses-websocket-session.js.map +1 -1
  213. package/lib/responses/responses-websocket-session.mjs +12 -2
  214. package/lib/responses/responses-websocket-session.mjs.map +1 -1
  215. package/package.json +1 -1
  216. package/resources/beta/agents/agents.d.mts +9 -0
  217. package/resources/beta/agents/agents.d.mts.map +1 -1
  218. package/resources/beta/agents/agents.d.ts +9 -0
  219. package/resources/beta/agents/agents.d.ts.map +1 -1
  220. package/resources/beta/agents/agents.js.map +1 -1
  221. package/resources/beta/agents/agents.mjs.map +1 -1
  222. package/resources/beta/agents/environments/files.d.mts +12 -0
  223. package/resources/beta/agents/environments/files.d.mts.map +1 -1
  224. package/resources/beta/agents/environments/files.d.ts +12 -0
  225. package/resources/beta/agents/environments/files.d.ts.map +1 -1
  226. package/resources/beta/agents/environments/files.js +9 -0
  227. package/resources/beta/agents/environments/files.js.map +1 -1
  228. package/resources/beta/agents/environments/files.mjs +9 -0
  229. package/resources/beta/agents/environments/files.mjs.map +1 -1
  230. package/resources/beta/agents/sessions/artifacts.d.mts +4 -0
  231. package/resources/beta/agents/sessions/artifacts.d.mts.map +1 -1
  232. package/resources/beta/agents/sessions/artifacts.d.ts +4 -0
  233. package/resources/beta/agents/sessions/artifacts.d.ts.map +1 -1
  234. package/resources/beta/agents/sessions/artifacts.js +5 -0
  235. package/resources/beta/agents/sessions/artifacts.js.map +1 -1
  236. package/resources/beta/agents/sessions/artifacts.mjs +5 -0
  237. package/resources/beta/agents/sessions/artifacts.mjs.map +1 -1
  238. package/resources/beta/agents/sessions/events.d.mts +6 -5
  239. package/resources/beta/agents/sessions/events.d.mts.map +1 -1
  240. package/resources/beta/agents/sessions/events.d.ts +6 -5
  241. package/resources/beta/agents/sessions/events.d.ts.map +1 -1
  242. package/resources/beta/agents/sessions/events.js +6 -5
  243. package/resources/beta/agents/sessions/events.js.map +1 -1
  244. package/resources/beta/agents/sessions/events.mjs +6 -5
  245. package/resources/beta/agents/sessions/events.mjs.map +1 -1
  246. package/resources/beta/agents/sessions/index.d.mts +1 -0
  247. package/resources/beta/agents/sessions/index.d.mts.map +1 -1
  248. package/resources/beta/agents/sessions/index.d.ts +1 -0
  249. package/resources/beta/agents/sessions/index.d.ts.map +1 -1
  250. package/resources/beta/agents/sessions/index.js +3 -1
  251. package/resources/beta/agents/sessions/index.js.map +1 -1
  252. package/resources/beta/agents/sessions/index.mjs +1 -0
  253. package/resources/beta/agents/sessions/index.mjs.map +1 -1
  254. package/resources/beta/agents/sessions/sessions.d.mts +16 -4
  255. package/resources/beta/agents/sessions/sessions.d.mts.map +1 -1
  256. package/resources/beta/agents/sessions/sessions.d.ts +16 -4
  257. package/resources/beta/agents/sessions/sessions.d.ts.map +1 -1
  258. package/resources/beta/agents/sessions/sessions.js +17 -4
  259. package/resources/beta/agents/sessions/sessions.js.map +1 -1
  260. package/resources/beta/agents/sessions/sessions.mjs +17 -4
  261. package/resources/beta/agents/sessions/sessions.mjs.map +1 -1
  262. package/resources/beta/agents/sessions/traces.d.mts +68 -0
  263. package/resources/beta/agents/sessions/traces.d.mts.map +1 -0
  264. package/resources/beta/agents/sessions/traces.d.ts +68 -0
  265. package/resources/beta/agents/sessions/traces.d.ts.map +1 -0
  266. package/resources/beta/agents/sessions/traces.js +81 -0
  267. package/resources/beta/agents/sessions/traces.js.map +1 -0
  268. package/resources/beta/agents/sessions/traces.mjs +77 -0
  269. package/resources/beta/agents/sessions/traces.mjs.map +1 -0
  270. package/resources/beta/responses/ws-base.d.mts +3 -1
  271. package/resources/beta/responses/ws-base.d.mts.map +1 -1
  272. package/resources/beta/responses/ws-base.d.ts +3 -1
  273. package/resources/beta/responses/ws-base.d.ts.map +1 -1
  274. package/resources/beta/responses/ws-base.js +35 -6
  275. package/resources/beta/responses/ws-base.js.map +1 -1
  276. package/resources/beta/responses/ws-base.mjs +35 -6
  277. package/resources/beta/responses/ws-base.mjs.map +1 -1
  278. package/resources/beta/responses/ws.d.mts +10 -0
  279. package/resources/beta/responses/ws.d.mts.map +1 -1
  280. package/resources/beta/responses/ws.d.ts +10 -0
  281. package/resources/beta/responses/ws.d.ts.map +1 -1
  282. package/resources/beta/responses/ws.js +23 -22
  283. package/resources/beta/responses/ws.js.map +1 -1
  284. package/resources/beta/responses/ws.mjs +24 -23
  285. package/resources/beta/responses/ws.mjs.map +1 -1
  286. package/resources/chat/completions/completions.d.mts +1 -1
  287. package/resources/chat/completions/completions.d.mts.map +1 -1
  288. package/resources/chat/completions/completions.d.ts +1 -1
  289. package/resources/chat/completions/completions.d.ts.map +1 -1
  290. package/resources/evals/runs/runs.js +1 -1
  291. package/resources/evals/runs/runs.js.map +1 -1
  292. package/resources/evals/runs/runs.mjs +1 -1
  293. package/resources/evals/runs/runs.mjs.map +1 -1
  294. package/resources/live/forks/forks.d.mts +5 -1
  295. package/resources/live/forks/forks.d.mts.map +1 -1
  296. package/resources/live/forks/forks.d.ts +5 -1
  297. package/resources/live/forks/forks.d.ts.map +1 -1
  298. package/resources/live/live.d.mts +5 -1
  299. package/resources/live/live.d.mts.map +1 -1
  300. package/resources/live/live.d.ts +5 -1
  301. package/resources/live/live.d.ts.map +1 -1
  302. package/resources/live/live.js.map +1 -1
  303. package/resources/live/live.mjs.map +1 -1
  304. package/resources/responses/ws-base.d.mts +3 -1
  305. package/resources/responses/ws-base.d.mts.map +1 -1
  306. package/resources/responses/ws-base.d.ts +3 -1
  307. package/resources/responses/ws-base.d.ts.map +1 -1
  308. package/resources/responses/ws-base.js +35 -6
  309. package/resources/responses/ws-base.js.map +1 -1
  310. package/resources/responses/ws-base.mjs +35 -6
  311. package/resources/responses/ws-base.mjs.map +1 -1
  312. package/resources/responses/ws.d.mts +10 -0
  313. package/resources/responses/ws.d.mts.map +1 -1
  314. package/resources/responses/ws.d.ts +10 -0
  315. package/resources/responses/ws.d.ts.map +1 -1
  316. package/resources/responses/ws.js +23 -22
  317. package/resources/responses/ws.js.map +1 -1
  318. package/resources/responses/ws.mjs +24 -23
  319. package/resources/responses/ws.mjs.map +1 -1
  320. package/src/client.ts +55 -19
  321. package/src/core/streaming.ts +9 -0
  322. package/src/helpers/beta/agents/filesystem.ts +187 -0
  323. package/src/helpers/beta/agents/standard-schema.ts +13 -0
  324. package/src/helpers/beta/agents/zod.ts +10 -0
  325. package/src/internal/realtime-credentials.ts +70 -4
  326. package/src/internal/responses-ws-credentials.ts +160 -0
  327. package/src/internal/shim-types.ts +17 -0
  328. package/src/internal/ws-adapter-node.ts +66 -0
  329. package/src/internal/ws.ts +139 -11
  330. package/src/lib/agents/agent-session-stream.ts +36 -24
  331. package/src/lib/beta/agents/agent-session-create-stream.ts +36 -0
  332. package/src/lib/beta/agents/agent-turn-result-collector.ts +122 -0
  333. package/src/lib/beta/agents/agent-turn-result-error.ts +33 -0
  334. package/src/lib/beta/agents/agent-turn-result.ts +22 -0
  335. package/src/lib/beta/agents/files.ts +119 -0
  336. package/src/lib/beta/agents/function-tool.ts +60 -0
  337. package/src/lib/beta/agents/output-format-types.ts +12 -0
  338. package/src/lib/beta/agents/output-format.ts +20 -0
  339. package/src/lib/beta/agents/output-parse-error.ts +16 -0
  340. package/src/lib/beta/agents/pages.ts +32 -0
  341. package/src/lib/beta/agents/parse-result.ts +133 -0
  342. package/src/lib/beta/agents/parsed-agent-turn-result.ts +12 -0
  343. package/src/lib/beta/agents/result-artifacts.ts +76 -0
  344. package/src/lib/beta/agents/result-collection.ts +115 -0
  345. package/src/lib/beta/agents/tool-output.ts +22 -0
  346. package/src/lib/responses/responses-websocket-session.ts +14 -3
  347. package/src/resources/beta/agents/agents.ts +11 -0
  348. package/src/resources/beta/agents/environments/files.ts +16 -0
  349. package/src/resources/beta/agents/sessions/artifacts.ts +7 -0
  350. package/src/resources/beta/agents/sessions/events.ts +6 -5
  351. package/src/resources/beta/agents/sessions/index.ts +1 -0
  352. package/src/resources/beta/agents/sessions/sessions.ts +48 -18
  353. package/src/resources/beta/agents/sessions/traces.ts +298 -0
  354. package/src/resources/beta/responses/ws-base.ts +40 -6
  355. package/src/resources/beta/responses/ws.ts +37 -27
  356. package/src/resources/chat/completions/completions.ts +1 -1
  357. package/src/resources/evals/runs/runs.ts +1 -1
  358. package/src/resources/live/forks/forks.ts +6 -1
  359. package/src/resources/live/live.ts +6 -1
  360. package/src/resources/responses/ws-base.ts +40 -6
  361. package/src/resources/responses/ws.ts +37 -27
  362. package/src/tsconfig.dist-src-node.d.ts +7 -0
  363. package/src/tsconfig.dist-src.d.ts +3 -1
  364. package/src/version.ts +1 -1
  365. package/version.d.mts +1 -1
  366. package/version.d.ts +1 -1
  367. package/version.js +1 -1
  368. package/version.mjs +1 -1
@@ -1,7 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setRealtimeAPIKeyCacheContext = setRealtimeAPIKeyCacheContext;
4
+ exports.getDeferredRealtimeAPIKeyCache = getDeferredRealtimeAPIKeyCache;
5
+ exports.validateCapturedAPIKey = validateCapturedAPIKey;
3
6
  exports.getRealtimeAPIKey = getRealtimeAPIKey;
4
7
  exports.resolveRealtimeAPIKey = resolveRealtimeAPIKey;
8
+ const bedrock_1 = require("./bedrock.js");
9
+ // Only the key crosses module formats: the context belongs to each participating client.
10
+ const realtimeCacheContext = Symbol.for('openai.realtimeAPIKeyCacheContext');
11
+ let cacheContext;
12
+ /** Installs the Node transport's invocation context without loading Node in the base client. @internal */
13
+ function setRealtimeAPIKeyCacheContext(context) {
14
+ cacheContext = context;
15
+ }
16
+ /** Reserves a deferred commit when the base hook is entered for this invocation. @internal */
17
+ function getDeferredRealtimeAPIKeyCache(client) {
18
+ const deferred = client[realtimeCacheContext]?.getStore();
19
+ return deferred?.client === client ? deferred : undefined;
20
+ }
21
+ /** Applies the Bedrock getter's validation when a captured credential does not enter the cache. @internal */
22
+ function validateCapturedAPIKey(client, credential) {
23
+ if (credential !== null && bedrock_1.brand_privateBedrockClient in client) {
24
+ (0, bedrock_1.assertValidBedrockBearerCredential)(credential);
25
+ }
26
+ return credential;
27
+ }
5
28
  /** Selects a captured credential without treating an explicit null as absent. @internal */
6
29
  function getRealtimeAPIKey(client, captured) {
7
30
  return captured === undefined ? client?.apiKey : captured;
@@ -13,11 +36,32 @@ function getRealtimeAPIKey(client, captured) {
13
36
  * synchronizing concurrent credential updates.
14
37
  * @internal
15
38
  */
16
- async function resolveRealtimeAPIKey(client) {
39
+ async function resolveRealtimeAPIKey(client, deferCache = false) {
17
40
  let apiKey;
18
- const isProvider = await client._callApiKey((resolved) => {
41
+ const current = {
42
+ client,
43
+ commit: () => (apiKey === undefined ? client.apiKey : apiKey),
44
+ };
45
+ const capture = (resolved) => {
19
46
  apiKey = resolved;
20
- });
21
- return { apiKey: apiKey === undefined ? client.apiKey : apiKey, isProvider };
47
+ };
48
+ const invoke = () => client._callApiKey(capture);
49
+ const context = client[realtimeCacheContext] ?? cacheContext;
50
+ if (deferCache && context && !client[realtimeCacheContext]) {
51
+ Object.defineProperty(client, realtimeCacheContext, { value: context });
52
+ }
53
+ // An HTTP or ordinary Realtime request nested inside a WebSocket hook owns its own cache writes.
54
+ const isProvider = await (context ? context.run(deferCache ? current : undefined, invoke) : invoke());
55
+ return {
56
+ apiKey: apiKey === undefined ? client.apiKey : apiKey,
57
+ isProvider,
58
+ commit: () => {
59
+ const hookKey = current.providerKey !== undefined && apiKey !== undefined && apiKey !== current.providerKey
60
+ ? validateCapturedAPIKey(client, apiKey)
61
+ : undefined;
62
+ const cached = current.commit();
63
+ return hookKey === undefined ? validateCapturedAPIKey(client, cached) : hookKey;
64
+ },
65
+ };
22
66
  }
23
67
  //# sourceMappingURL=realtime-credentials.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-credentials.js","sourceRoot":"","sources":["../src/internal/realtime-credentials.ts"],"names":[],"mappings":";;AAGA,8CAKC;AASD,sDASC;AAxBD,2FAA2F;AAC3F,SAAgB,iBAAiB,CAC/B,MAA0C,EAC1C,QAAmC;IAEnC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CAAC,MAA8C;IAIxF,IAAI,MAAiC,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvD,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"realtime-credentials.js","sourceRoot":"","sources":["../src/internal/realtime-credentials.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,23 @@
1
+ import { assertValidBedrockBearerCredential, brand_privateBedrockClient } from "./bedrock.mjs";
2
+ // Only the key crosses module formats: the context belongs to each participating client.
3
+ const realtimeCacheContext = Symbol.for('openai.realtimeAPIKeyCacheContext');
4
+ let cacheContext;
5
+ /** Installs the Node transport's invocation context without loading Node in the base client. @internal */
6
+ export function setRealtimeAPIKeyCacheContext(context) {
7
+ cacheContext = context;
8
+ }
9
+ /** Reserves a deferred commit when the base hook is entered for this invocation. @internal */
10
+ export function getDeferredRealtimeAPIKeyCache(client) {
11
+ const deferred = client[realtimeCacheContext]?.getStore();
12
+ return deferred?.client === client ? deferred : undefined;
13
+ }
14
+ /** Applies the Bedrock getter's validation when a captured credential does not enter the cache. @internal */
15
+ export function validateCapturedAPIKey(client, credential) {
16
+ if (credential !== null && brand_privateBedrockClient in client) {
17
+ assertValidBedrockBearerCredential(credential);
18
+ }
19
+ return credential;
20
+ }
1
21
  /** Selects a captured credential without treating an explicit null as absent. @internal */
2
22
  export function getRealtimeAPIKey(client, captured) {
3
23
  return captured === undefined ? client?.apiKey : captured;
@@ -9,11 +29,32 @@ export function getRealtimeAPIKey(client, captured) {
9
29
  * synchronizing concurrent credential updates.
10
30
  * @internal
11
31
  */
12
- export async function resolveRealtimeAPIKey(client) {
32
+ export async function resolveRealtimeAPIKey(client, deferCache = false) {
13
33
  let apiKey;
14
- const isProvider = await client._callApiKey((resolved) => {
34
+ const current = {
35
+ client,
36
+ commit: () => (apiKey === undefined ? client.apiKey : apiKey),
37
+ };
38
+ const capture = (resolved) => {
15
39
  apiKey = resolved;
16
- });
17
- return { apiKey: apiKey === undefined ? client.apiKey : apiKey, isProvider };
40
+ };
41
+ const invoke = () => client._callApiKey(capture);
42
+ const context = client[realtimeCacheContext] ?? cacheContext;
43
+ if (deferCache && context && !client[realtimeCacheContext]) {
44
+ Object.defineProperty(client, realtimeCacheContext, { value: context });
45
+ }
46
+ // An HTTP or ordinary Realtime request nested inside a WebSocket hook owns its own cache writes.
47
+ const isProvider = await (context ? context.run(deferCache ? current : undefined, invoke) : invoke());
48
+ return {
49
+ apiKey: apiKey === undefined ? client.apiKey : apiKey,
50
+ isProvider,
51
+ commit: () => {
52
+ const hookKey = current.providerKey !== undefined && apiKey !== undefined && apiKey !== current.providerKey
53
+ ? validateCapturedAPIKey(client, apiKey)
54
+ : undefined;
55
+ const cached = current.commit();
56
+ return hookKey === undefined ? validateCapturedAPIKey(client, cached) : hookKey;
57
+ },
58
+ };
18
59
  }
19
60
  //# sourceMappingURL=realtime-credentials.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-credentials.mjs","sourceRoot":"","sources":["../src/internal/realtime-credentials.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAC/B,MAA0C,EAC1C,QAAmC;IAEnC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAA8C;IAIxF,IAAI,MAAiC,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvD,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"realtime-credentials.mjs","sourceRoot":"","sources":["../src/internal/realtime-credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { OpenAI } from "../client.mjs";
2
+ import type { CredentialedWebSocketOptions } from "./ws.mjs";
3
+ /** Per-connection Responses credential state shared by the stable and beta Node transports. */
4
+ export declare class ResponsesWebSocketCredentials {
5
+ private initialAuthUsedAPIKey;
6
+ private initialAPIKey;
7
+ private prepared;
8
+ get preparedAPIKey(): string | null | undefined;
9
+ trackInitialHeaders(client: OpenAI, headers: Record<string, string>, hasSocket: () => boolean): void;
10
+ usesAPIKey(client: OpenAI, headers: Record<string, string>): boolean;
11
+ build<Options extends CredentialedWebSocketOptions>(client: OpenAI, authHeaders: Record<string, string>, options: Options | null | undefined, initialAuthUsedAPIKey?: boolean): {
12
+ headers: {
13
+ [k: string]: string;
14
+ };
15
+ followRedirects: boolean;
16
+ } & {
17
+ headers: {
18
+ [k: string]: string;
19
+ };
20
+ };
21
+ prepare<Socket, Options extends CredentialedWebSocketOptions>(client: OpenAI, socketOptions: Options | null | undefined, authHeaders: (apiKey?: string | null) => Record<string, string>, createSocket: (url: URL, headers: Record<string, string>) => Socket): Promise<(url: URL) => Socket>;
22
+ }
23
+ //# sourceMappingURL=responses-ws-credentials.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses-ws-credentials.d.mts","sourceRoot":"","sources":["../src/internal/responses-ws-credentials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAkB;AAQxC,OAAO,KAAK,EAAE,4BAA4B,EAAE,iBAAa;AAyDzD,+FAA+F;AAC/F,qBAAa,6BAA6B;IACxC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAMF;IAEd,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAE9C;IAED,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,GAAG,IAAI;IAMpG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAoBpE,KAAK,CAAC,OAAO,SAAS,4BAA4B,EAChD,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,qBAAqB,CAAC,EAAE,OAAO;;;;;;;;;;IAmB3B,OAAO,CAAC,MAAM,EAAE,OAAO,SAAS,4BAA4B,EAChE,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACzC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,GAClE,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;CAuBjC"}
@@ -0,0 +1,23 @@
1
+ import type { OpenAI } from "../client.js";
2
+ import type { CredentialedWebSocketOptions } from "./ws.js";
3
+ /** Per-connection Responses credential state shared by the stable and beta Node transports. */
4
+ export declare class ResponsesWebSocketCredentials {
5
+ private initialAuthUsedAPIKey;
6
+ private initialAPIKey;
7
+ private prepared;
8
+ get preparedAPIKey(): string | null | undefined;
9
+ trackInitialHeaders(client: OpenAI, headers: Record<string, string>, hasSocket: () => boolean): void;
10
+ usesAPIKey(client: OpenAI, headers: Record<string, string>): boolean;
11
+ build<Options extends CredentialedWebSocketOptions>(client: OpenAI, authHeaders: Record<string, string>, options: Options | null | undefined, initialAuthUsedAPIKey?: boolean): {
12
+ headers: {
13
+ [k: string]: string;
14
+ };
15
+ followRedirects: boolean;
16
+ } & {
17
+ headers: {
18
+ [k: string]: string;
19
+ };
20
+ };
21
+ prepare<Socket, Options extends CredentialedWebSocketOptions>(client: OpenAI, socketOptions: Options | null | undefined, authHeaders: (apiKey?: string | null) => Record<string, string>, createSocket: (url: URL, headers: Record<string, string>) => Socket): Promise<(url: URL) => Socket>;
22
+ }
23
+ //# sourceMappingURL=responses-ws-credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses-ws-credentials.d.ts","sourceRoot":"","sources":["../src/internal/responses-ws-credentials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAkB;AAQxC,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAa;AAyDzD,+FAA+F;AAC/F,qBAAa,6BAA6B;IACxC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAMF;IAEd,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAE9C;IAED,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,GAAG,IAAI;IAMpG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAoBpE,KAAK,CAAC,OAAO,SAAS,4BAA4B,EAChD,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,qBAAqB,CAAC,EAAE,OAAO;;;;;;;;;;IAmB3B,OAAO,CAAC,MAAM,EAAE,OAAO,SAAS,4BAA4B,EAChE,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACzC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,GAClE,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;CAuBjC"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResponsesWebSocketCredentials = void 0;
4
+ const error_1 = require("../core/error.js");
5
+ const realtime_credentials_1 = require("./realtime-credentials.js");
6
+ const ws_1 = require("./ws.js");
7
+ /**
8
+ * Keep caller credential admission distinct from the hook's final provider-key transform.
9
+ * The latter reuses captured base headers so no caller getters are reread after the refresh.
10
+ */
11
+ function buildResponsesWebSocketOptions(client, authHeaders, options, prepared) {
12
+ if (prepared) {
13
+ return prepared.apiKey === undefined
14
+ ? (0, ws_1.mergeWebSocketAuthHeaders)(prepared.options, authHeaders, prepared.removedHeaders)
15
+ : (0, ws_1.buildWebSocketOptions)(client, authHeaders, prepared.options, prepared.removedHeaders, true);
16
+ }
17
+ if (!client._hasApiKeyProvider()) {
18
+ return (0, ws_1.buildWebSocketOptions)(client, authHeaders, options);
19
+ }
20
+ const removedHeaders = new Set();
21
+ const provided = (0, ws_1.buildWebSocketOptions)(client, {}, options, removedHeaders);
22
+ return (0, ws_1.snapshotWebSocketCredentials)(provided, ws_1.WEBSOCKET_METADATA_HEADERS)
23
+ ? provided
24
+ : (0, ws_1.buildWebSocketOptions)(client, authHeaders, provided, removedHeaders, true);
25
+ }
26
+ /**
27
+ * Classify reconnect credentials without treating the previous SDK key as a caller override.
28
+ * Capture routing and caller options before any asynchronous key refresh.
29
+ */
30
+ function prepareResponsesWebSocketReconnect(client, socketOptions, initialAuthUsedAPIKey) {
31
+ const removedHeaders = new Set();
32
+ const options = (0, ws_1.buildWebSocketOptions)(client, {}, socketOptions, removedHeaders);
33
+ let authentication;
34
+ if ((0, ws_1.snapshotWebSocketCredentials)(options, ws_1.WEBSOCKET_METADATA_HEADERS)) {
35
+ authentication = 'provided';
36
+ }
37
+ else if (removedHeaders.has('authorization') ||
38
+ options.headers?.['authorization'] !== undefined ||
39
+ !initialAuthUsedAPIKey) {
40
+ authentication = 'cached';
41
+ }
42
+ else {
43
+ authentication = 'refresh';
44
+ }
45
+ return { options, removedHeaders, authentication };
46
+ }
47
+ /** Per-connection Responses credential state shared by the stable and beta Node transports. */
48
+ class ResponsesWebSocketCredentials {
49
+ constructor() {
50
+ this.initialAuthUsedAPIKey = false;
51
+ }
52
+ get preparedAPIKey() {
53
+ return this.prepared?.apiKey;
54
+ }
55
+ trackInitialHeaders(client, headers, hasSocket) {
56
+ if (!hasSocket() && client._hasApiKeyProvider()) {
57
+ this.initialAPIKey = headers['Authorization']?.slice('Bearer '.length);
58
+ }
59
+ }
60
+ usesAPIKey(client, headers) {
61
+ // Hooks can read the SDK key without delegating. Only use an ordinary cached property here:
62
+ // invoking custom/Bedrock getters could validate credentials a caller-owned socket never sends.
63
+ const apiKey = this.initialAPIKey ??
64
+ (client._hasApiKeyProvider() ? Object.getOwnPropertyDescriptor(client, 'apiKey')?.value : undefined);
65
+ if (!apiKey) {
66
+ return false;
67
+ }
68
+ // Metadata containing a copy of a credential does not make it the socket's authentication.
69
+ return (0, ws_1.snapshotWebSocketCredentials)({
70
+ headers: Object.fromEntries(Object.entries(headers).map(([name, value]) => [name, value?.includes(apiKey) ? value : ''])),
71
+ }, ws_1.WEBSOCKET_METADATA_HEADERS);
72
+ }
73
+ build(client, authHeaders, options, initialAuthUsedAPIKey) {
74
+ if (initialAuthUsedAPIKey !== undefined) {
75
+ this.initialAuthUsedAPIKey = initialAuthUsedAPIKey;
76
+ this.initialAPIKey = undefined;
77
+ }
78
+ const socketOptions = buildResponsesWebSocketOptions(client, authHeaders, options, this.prepared);
79
+ if (client._hasApiKeyProvider() &&
80
+ !authHeaders['Authorization'] &&
81
+ !(0, ws_1.snapshotWebSocketCredentials)(socketOptions, ws_1.WEBSOCKET_METADATA_HEADERS)) {
82
+ throw new error_1.OpenAIError('Cannot open a Responses WebSocket with an unresolved function-based apiKey. Resolve it before constructing the WebSocket or provide explicit WebSocket credentials.');
83
+ }
84
+ return socketOptions;
85
+ }
86
+ async prepare(client, socketOptions, authHeaders, createSocket) {
87
+ const { options, removedHeaders, authentication } = prepareResponsesWebSocketReconnect(client, socketOptions, this.initialAuthUsedAPIKey);
88
+ const createPreparedSocket = (url, headers, apiKey) => {
89
+ const previous = this.prepared;
90
+ this.prepared = { options, removedHeaders, apiKey };
91
+ try {
92
+ // Resolve headers inside the scope so legacy zero-argument overrides see this attempt's key.
93
+ return createSocket(url, apiKey === undefined ? headers : authHeaders(apiKey));
94
+ }
95
+ finally {
96
+ this.prepared = previous;
97
+ }
98
+ };
99
+ if (authentication !== 'refresh') {
100
+ const headers = authentication === 'provided' ? {} : authHeaders();
101
+ return (url) => createPreparedSocket(url, headers);
102
+ }
103
+ const { commit } = await (0, realtime_credentials_1.resolveRealtimeAPIKey)(client, true);
104
+ return (url) => createPreparedSocket(url, {}, commit());
105
+ }
106
+ }
107
+ exports.ResponsesWebSocketCredentials = ResponsesWebSocketCredentials;
108
+ //# sourceMappingURL=responses-ws-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses-ws-credentials.js","sourceRoot":"","sources":["../src/internal/responses-ws-credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { OpenAIError } from "../core/error.mjs";
2
+ import { resolveRealtimeAPIKey } from "./realtime-credentials.mjs";
3
+ import { buildWebSocketOptions, mergeWebSocketAuthHeaders, snapshotWebSocketCredentials, WEBSOCKET_METADATA_HEADERS, } from "./ws.mjs";
4
+ /**
5
+ * Keep caller credential admission distinct from the hook's final provider-key transform.
6
+ * The latter reuses captured base headers so no caller getters are reread after the refresh.
7
+ */
8
+ function buildResponsesWebSocketOptions(client, authHeaders, options, prepared) {
9
+ if (prepared) {
10
+ return prepared.apiKey === undefined
11
+ ? mergeWebSocketAuthHeaders(prepared.options, authHeaders, prepared.removedHeaders)
12
+ : buildWebSocketOptions(client, authHeaders, prepared.options, prepared.removedHeaders, true);
13
+ }
14
+ if (!client._hasApiKeyProvider()) {
15
+ return buildWebSocketOptions(client, authHeaders, options);
16
+ }
17
+ const removedHeaders = new Set();
18
+ const provided = buildWebSocketOptions(client, {}, options, removedHeaders);
19
+ return snapshotWebSocketCredentials(provided, WEBSOCKET_METADATA_HEADERS)
20
+ ? provided
21
+ : buildWebSocketOptions(client, authHeaders, provided, removedHeaders, true);
22
+ }
23
+ /**
24
+ * Classify reconnect credentials without treating the previous SDK key as a caller override.
25
+ * Capture routing and caller options before any asynchronous key refresh.
26
+ */
27
+ function prepareResponsesWebSocketReconnect(client, socketOptions, initialAuthUsedAPIKey) {
28
+ const removedHeaders = new Set();
29
+ const options = buildWebSocketOptions(client, {}, socketOptions, removedHeaders);
30
+ let authentication;
31
+ if (snapshotWebSocketCredentials(options, WEBSOCKET_METADATA_HEADERS)) {
32
+ authentication = 'provided';
33
+ }
34
+ else if (removedHeaders.has('authorization') ||
35
+ options.headers?.['authorization'] !== undefined ||
36
+ !initialAuthUsedAPIKey) {
37
+ authentication = 'cached';
38
+ }
39
+ else {
40
+ authentication = 'refresh';
41
+ }
42
+ return { options, removedHeaders, authentication };
43
+ }
44
+ /** Per-connection Responses credential state shared by the stable and beta Node transports. */
45
+ export class ResponsesWebSocketCredentials {
46
+ constructor() {
47
+ this.initialAuthUsedAPIKey = false;
48
+ }
49
+ get preparedAPIKey() {
50
+ return this.prepared?.apiKey;
51
+ }
52
+ trackInitialHeaders(client, headers, hasSocket) {
53
+ if (!hasSocket() && client._hasApiKeyProvider()) {
54
+ this.initialAPIKey = headers['Authorization']?.slice('Bearer '.length);
55
+ }
56
+ }
57
+ usesAPIKey(client, headers) {
58
+ // Hooks can read the SDK key without delegating. Only use an ordinary cached property here:
59
+ // invoking custom/Bedrock getters could validate credentials a caller-owned socket never sends.
60
+ const apiKey = this.initialAPIKey ??
61
+ (client._hasApiKeyProvider() ? Object.getOwnPropertyDescriptor(client, 'apiKey')?.value : undefined);
62
+ if (!apiKey) {
63
+ return false;
64
+ }
65
+ // Metadata containing a copy of a credential does not make it the socket's authentication.
66
+ return snapshotWebSocketCredentials({
67
+ headers: Object.fromEntries(Object.entries(headers).map(([name, value]) => [name, value?.includes(apiKey) ? value : ''])),
68
+ }, WEBSOCKET_METADATA_HEADERS);
69
+ }
70
+ build(client, authHeaders, options, initialAuthUsedAPIKey) {
71
+ if (initialAuthUsedAPIKey !== undefined) {
72
+ this.initialAuthUsedAPIKey = initialAuthUsedAPIKey;
73
+ this.initialAPIKey = undefined;
74
+ }
75
+ const socketOptions = buildResponsesWebSocketOptions(client, authHeaders, options, this.prepared);
76
+ if (client._hasApiKeyProvider() &&
77
+ !authHeaders['Authorization'] &&
78
+ !snapshotWebSocketCredentials(socketOptions, WEBSOCKET_METADATA_HEADERS)) {
79
+ throw new OpenAIError('Cannot open a Responses WebSocket with an unresolved function-based apiKey. Resolve it before constructing the WebSocket or provide explicit WebSocket credentials.');
80
+ }
81
+ return socketOptions;
82
+ }
83
+ async prepare(client, socketOptions, authHeaders, createSocket) {
84
+ const { options, removedHeaders, authentication } = prepareResponsesWebSocketReconnect(client, socketOptions, this.initialAuthUsedAPIKey);
85
+ const createPreparedSocket = (url, headers, apiKey) => {
86
+ const previous = this.prepared;
87
+ this.prepared = { options, removedHeaders, apiKey };
88
+ try {
89
+ // Resolve headers inside the scope so legacy zero-argument overrides see this attempt's key.
90
+ return createSocket(url, apiKey === undefined ? headers : authHeaders(apiKey));
91
+ }
92
+ finally {
93
+ this.prepared = previous;
94
+ }
95
+ };
96
+ if (authentication !== 'refresh') {
97
+ const headers = authentication === 'provided' ? {} : authHeaders();
98
+ return (url) => createPreparedSocket(url, headers);
99
+ }
100
+ const { commit } = await resolveRealtimeAPIKey(client, true);
101
+ return (url) => createPreparedSocket(url, {}, commit());
102
+ }
103
+ }
104
+ //# sourceMappingURL=responses-ws-credentials.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses-ws-credentials.mjs","sourceRoot":"","sources":["../src/internal/responses-ws-credentials.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,13 @@ type _ConditionalNodeReadableStream<R = any> = typeof globalThis extends {
14
14
  } ? never : _NodeReadableStream<R>;
15
15
  type _ReadableStream<R = any> = NeverToAny<([0] extends [1 & _DOMReadableStream<R>] ? never : _DOMReadableStream<R>) | ([0] extends [1 & _ConditionalNodeReadableStream<R>] ? never : _ConditionalNodeReadableStream<R>)>;
16
16
  export type { _ReadableStream as ReadableStream };
17
+ /** @ts-ignore */
18
+ type _DOMWritableStream<R = any> = globalThis.WritableStream<R>;
19
+ /** @ts-ignore */
20
+ type _NodeWritableStream<R = any> = import('stream/web').WritableStream<R>;
21
+ type _ConditionalNodeWritableStream<R = any> = typeof globalThis extends {
22
+ WritableStream: any;
23
+ } ? never : _NodeWritableStream<R>;
24
+ type _WritableStream<R = any> = NeverToAny<([0] extends [1 & _DOMWritableStream<R>] ? never : _DOMWritableStream<R>) | ([0] extends [1 & _ConditionalNodeWritableStream<R>] ? never : _ConditionalNodeWritableStream<R>)>;
25
+ export type { _WritableStream as WritableStream };
17
26
  //# sourceMappingURL=shim-types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shim-types.d.mts","sourceRoot":"","sources":["../src/internal/shim-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AAE/C,iBAAiB;AACjB,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEhE,iBAAiB;AACjB,KAAK,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3E,KAAK,8BAA8B,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,UAAU,SAAS;IAAE,cAAc,EAAE,GAAG,CAAA;CAAE,GAC5F,KAAK,GACL,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3B,KAAK,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CACtC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,CACpG,CAAC;AAEF,YAAY,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"shim-types.d.mts","sourceRoot":"","sources":["../src/internal/shim-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AAE/C,iBAAiB;AACjB,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEhE,iBAAiB;AACjB,KAAK,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3E,KAAK,8BAA8B,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,UAAU,SAAS;IAAE,cAAc,EAAE,GAAG,CAAA;CAAE,GAC5F,KAAK,GACL,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3B,KAAK,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CACtC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,CACpG,CAAC;AAEF,YAAY,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAElD,iBAAiB;AACjB,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEhE,iBAAiB;AACjB,KAAK,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3E,KAAK,8BAA8B,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,UAAU,SAAS;IAAE,cAAc,EAAE,GAAG,CAAA;CAAE,GAC5F,KAAK,GACL,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3B,KAAK,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CACtC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,CACpG,CAAC;AAEF,YAAY,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC"}
@@ -14,4 +14,13 @@ type _ConditionalNodeReadableStream<R = any> = typeof globalThis extends {
14
14
  } ? never : _NodeReadableStream<R>;
15
15
  type _ReadableStream<R = any> = NeverToAny<([0] extends [1 & _DOMReadableStream<R>] ? never : _DOMReadableStream<R>) | ([0] extends [1 & _ConditionalNodeReadableStream<R>] ? never : _ConditionalNodeReadableStream<R>)>;
16
16
  export type { _ReadableStream as ReadableStream };
17
+ /** @ts-ignore */
18
+ type _DOMWritableStream<R = any> = globalThis.WritableStream<R>;
19
+ /** @ts-ignore */
20
+ type _NodeWritableStream<R = any> = import('stream/web').WritableStream<R>;
21
+ type _ConditionalNodeWritableStream<R = any> = typeof globalThis extends {
22
+ WritableStream: any;
23
+ } ? never : _NodeWritableStream<R>;
24
+ type _WritableStream<R = any> = NeverToAny<([0] extends [1 & _DOMWritableStream<R>] ? never : _DOMWritableStream<R>) | ([0] extends [1 & _ConditionalNodeWritableStream<R>] ? never : _ConditionalNodeWritableStream<R>)>;
25
+ export type { _WritableStream as WritableStream };
17
26
  //# sourceMappingURL=shim-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shim-types.d.ts","sourceRoot":"","sources":["../src/internal/shim-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AAE/C,iBAAiB;AACjB,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEhE,iBAAiB;AACjB,KAAK,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3E,KAAK,8BAA8B,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,UAAU,SAAS;IAAE,cAAc,EAAE,GAAG,CAAA;CAAE,GAC5F,KAAK,GACL,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3B,KAAK,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CACtC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,CACpG,CAAC;AAEF,YAAY,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"shim-types.d.ts","sourceRoot":"","sources":["../src/internal/shim-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AAE/C,iBAAiB;AACjB,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEhE,iBAAiB;AACjB,KAAK,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3E,KAAK,8BAA8B,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,UAAU,SAAS;IAAE,cAAc,EAAE,GAAG,CAAA;CAAE,GAC5F,KAAK,GACL,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3B,KAAK,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CACtC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,CACpG,CAAC;AAEF,YAAY,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAElD,iBAAiB;AACjB,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEhE,iBAAiB;AACjB,KAAK,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3E,KAAK,8BAA8B,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,UAAU,SAAS;IAAE,cAAc,EAAE,GAAG,CAAA;CAAE,GAC5F,KAAK,GACL,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3B,KAAK,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,CACtC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,CACpG,CAAC;AAEF,YAAY,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC"}
package/internal/tslib.js CHANGED
@@ -6,6 +6,7 @@ exports.__classPrivateFieldGet = __classPrivateFieldGet;
6
6
  exports.__exportStar = __exportStar;
7
7
  exports.__importStar = __importStar;
8
8
  exports.__classPrivateFieldIn = __classPrivateFieldIn;
9
+ exports.__importDefault = __importDefault;
9
10
  function __classPrivateFieldSet(receiver, state, value, kind, f) {
10
11
  if (kind === "m")
11
12
  throw new TypeError("Private method is not writable");
@@ -85,3 +86,6 @@ function __classPrivateFieldIn(state, receiver) {
85
86
  throw new TypeError("Cannot use 'in' operator on non-object");
86
87
  return typeof state === "function" ? receiver === state : state.has(receiver);
87
88
  }
89
+ function __importDefault(mod) {
90
+ return mod && mod.__esModule ? mod : { default: mod };
91
+ }
@@ -2,6 +2,10 @@ import type * as WS from 'ws';
2
2
  import type { WebSocketLike } from "./ws-adapter.mjs";
3
3
  /** A generic event listener callback. */
4
4
  type Listener = (...args: any[]) => void;
5
+ /** Snapshot caller headers and TLS identity before an async reconnect credential refresh. */
6
+ export declare function snapshotNodeWebSocketOptions(options: WS.ClientOptions | null | undefined): Omit<WS.ClientOptions, 'headers'> & {
7
+ headers: Record<string, string | string[]>;
8
+ };
5
9
  /**
6
10
  * Adapts a Node.js `ws` socket to the SDK's platform-neutral WebSocket API.
7
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ws-adapter-node.d.mts","sourceRoot":"","sources":["../src/internal/ws-adapter-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAqB;AAGlD,yCAAyC;AACzC,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,GAAG,CAAe;IAE1B,wFAAwF;IACxF,OAAO,CAAC,YAAY,CAAgD;IAEpE,qEAAqE;gBACzD,EAAE,EAAE,EAAE,CAAC,SAAS;IAoB5B,oFAAoF;IACpF,IAAI,cAAc,IAAI,EAAE,CAAC,SAAS,CAEjC;IAED,gFAAgF;IAChF,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,2EAA2E;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,IAAI;IAI5D,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,+EAA+E;IAC/E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAK3C,2EAA2E;IAC3E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAU5C,8EAA8E;IAC9E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAc7C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAuBpC,OAAO,CAAC,MAAM,CAAC,aAAa;CAoB7B"}
1
+ {"version":3,"file":"ws-adapter-node.d.mts","sourceRoot":"","sources":["../src/internal/ws-adapter-node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAqB;AAOlD,yCAAyC;AACzC,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAQzC,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,GAC3C,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;CAAE,CAkDpF;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,GAAG,CAAe;IAE1B,wFAAwF;IACxF,OAAO,CAAC,YAAY,CAAgD;IAEpE,qEAAqE;gBACzD,EAAE,EAAE,EAAE,CAAC,SAAS;IAoB5B,oFAAoF;IACpF,IAAI,cAAc,IAAI,EAAE,CAAC,SAAS,CAEjC;IAED,gFAAgF;IAChF,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,2EAA2E;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,IAAI;IAI5D,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,+EAA+E;IAC/E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAK3C,2EAA2E;IAC3E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAU5C,8EAA8E;IAC9E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAc7C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAuBpC,OAAO,CAAC,MAAM,CAAC,aAAa;CAoB7B"}
@@ -2,6 +2,10 @@ import type * as WS from 'ws';
2
2
  import type { WebSocketLike } from "./ws-adapter.js";
3
3
  /** A generic event listener callback. */
4
4
  type Listener = (...args: any[]) => void;
5
+ /** Snapshot caller headers and TLS identity before an async reconnect credential refresh. */
6
+ export declare function snapshotNodeWebSocketOptions(options: WS.ClientOptions | null | undefined): Omit<WS.ClientOptions, 'headers'> & {
7
+ headers: Record<string, string | string[]>;
8
+ };
5
9
  /**
6
10
  * Adapts a Node.js `ws` socket to the SDK's platform-neutral WebSocket API.
7
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ws-adapter-node.d.ts","sourceRoot":"","sources":["../src/internal/ws-adapter-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAqB;AAGlD,yCAAyC;AACzC,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,GAAG,CAAe;IAE1B,wFAAwF;IACxF,OAAO,CAAC,YAAY,CAAgD;IAEpE,qEAAqE;gBACzD,EAAE,EAAE,EAAE,CAAC,SAAS;IAoB5B,oFAAoF;IACpF,IAAI,cAAc,IAAI,EAAE,CAAC,SAAS,CAEjC;IAED,gFAAgF;IAChF,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,2EAA2E;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,IAAI;IAI5D,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,+EAA+E;IAC/E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAK3C,2EAA2E;IAC3E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAU5C,8EAA8E;IAC9E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAc7C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAuBpC,OAAO,CAAC,MAAM,CAAC,aAAa;CAoB7B"}
1
+ {"version":3,"file":"ws-adapter-node.d.ts","sourceRoot":"","sources":["../src/internal/ws-adapter-node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAqB;AAOlD,yCAAyC;AACzC,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAQzC,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,GAC3C,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;CAAE,CAkDpF;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,GAAG,CAAe;IAE1B,wFAAwF;IACxF,OAAO,CAAC,YAAY,CAAgD;IAEpE,qEAAqE;gBACzD,EAAE,EAAE,EAAE,CAAC,SAAS;IAoB5B,oFAAoF;IACpF,IAAI,cAAc,IAAI,EAAE,CAAC,SAAS,CAEjC;IAED,gFAAgF;IAChF,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,2EAA2E;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,IAAI;IAI5D,iFAAiF;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,+EAA+E;IAC/E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAK3C,2EAA2E;IAC3E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAU5C,8EAA8E;IAC9E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAc7C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAuBpC,OAAO,CAAC,MAAM,CAAC,aAAa;CAoB7B"}
@@ -1,7 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeWebSocket = void 0;
4
+ exports.snapshotNodeWebSocketOptions = snapshotNodeWebSocketOptions;
5
+ const node_async_hooks_1 = require("node:async_hooks");
4
6
  const ws_1 = require("./ws.js");
7
+ const realtime_credentials_1 = require("./realtime-credentials.js");
8
+ (0, realtime_credentials_1.setRealtimeAPIKeyCacheContext)(new node_async_hooks_1.AsyncLocalStorage());
9
+ function copyTLSMaterial(value) {
10
+ return ArrayBuffer.isView(value)
11
+ ? Buffer.from(new Uint8Array(value.buffer, value.byteOffset, value.byteLength))
12
+ : value;
13
+ }
14
+ /** Snapshot caller headers and TLS identity before an async reconnect credential refresh. */
15
+ function snapshotNodeWebSocketOptions(options) {
16
+ const captured = {
17
+ ...options,
18
+ headers: Object.fromEntries(Object.entries(options?.headers ?? {}).map(([name, value]) => [
19
+ name,
20
+ Array.isArray(value) ? [...value] : value,
21
+ ])),
22
+ };
23
+ const { ca, cert, crl, key, pfx } = captured;
24
+ if (ca !== undefined) {
25
+ captured.ca = Array.isArray(ca) ? ca.map(copyTLSMaterial) : copyTLSMaterial(ca);
26
+ }
27
+ if (cert !== undefined) {
28
+ captured.cert = Array.isArray(cert) ? cert.map(copyTLSMaterial) : copyTLSMaterial(cert);
29
+ }
30
+ if (crl !== undefined) {
31
+ captured.crl = Array.isArray(crl) ? crl.map(copyTLSMaterial) : copyTLSMaterial(crl);
32
+ }
33
+ if (key !== undefined) {
34
+ captured.key = Array.isArray(key)
35
+ ? key.map((value) => typeof value === 'string' || ArrayBuffer.isView(value)
36
+ ? copyTLSMaterial(value)
37
+ : { ...value, pem: copyTLSMaterial(value.pem) })
38
+ : copyTLSMaterial(key);
39
+ }
40
+ if (pfx !== undefined) {
41
+ captured.pfx = Array.isArray(pfx)
42
+ ? pfx.map((value) => typeof value === 'string' || ArrayBuffer.isView(value)
43
+ ? copyTLSMaterial(value)
44
+ : { ...value, buf: copyTLSMaterial(value.buf) })
45
+ : copyTLSMaterial(pfx);
46
+ }
47
+ if ('session' in captured && Buffer.isBuffer(captured.session)) {
48
+ captured.session = Buffer.from(captured.session);
49
+ }
50
+ if ('ALPNProtocols' in captured) {
51
+ if (Array.isArray(captured.ALPNProtocols)) {
52
+ captured.ALPNProtocols = [...captured.ALPNProtocols];
53
+ }
54
+ else if (ArrayBuffer.isView(captured.ALPNProtocols)) {
55
+ const { buffer, byteOffset, byteLength } = captured.ALPNProtocols;
56
+ captured.ALPNProtocols = Buffer.from(new Uint8Array(buffer, byteOffset, byteLength));
57
+ }
58
+ }
59
+ return captured;
60
+ }
5
61
  /**
6
62
  * Adapts a Node.js `ws` socket to the SDK's platform-neutral WebSocket API.
7
63
  *