openai 6.33.0 → 6.35.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 (222) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/README.md +96 -0
  3. package/auth/index.d.mts +4 -0
  4. package/auth/index.d.mts.map +1 -0
  5. package/auth/index.d.ts +4 -0
  6. package/auth/index.d.ts.map +1 -0
  7. package/auth/index.js +11 -0
  8. package/auth/index.js.map +1 -0
  9. package/auth/index.mjs +3 -0
  10. package/auth/index.mjs.map +1 -0
  11. package/auth/subject-token-providers.d.mts +20 -0
  12. package/auth/subject-token-providers.d.mts.map +1 -0
  13. package/auth/subject-token-providers.d.ts +20 -0
  14. package/auth/subject-token-providers.d.ts.map +1 -0
  15. package/auth/subject-token-providers.js +127 -0
  16. package/auth/subject-token-providers.js.map +1 -0
  17. package/auth/subject-token-providers.mjs +121 -0
  18. package/auth/subject-token-providers.mjs.map +1 -0
  19. package/auth/types.d.mts +23 -0
  20. package/auth/types.d.mts.map +1 -0
  21. package/auth/types.d.ts +23 -0
  22. package/auth/types.d.ts.map +1 -0
  23. package/auth/types.js +3 -0
  24. package/auth/types.js.map +1 -0
  25. package/auth/types.mjs +2 -0
  26. package/auth/types.mjs.map +1 -0
  27. package/auth/workload-identity-auth.d.mts +16 -0
  28. package/auth/workload-identity-auth.d.mts.map +1 -0
  29. package/auth/workload-identity-auth.d.ts +16 -0
  30. package/auth/workload-identity-auth.d.ts.map +1 -0
  31. package/auth/workload-identity-auth.js +92 -0
  32. package/auth/workload-identity-auth.js.map +1 -0
  33. package/auth/workload-identity-auth.mjs +87 -0
  34. package/auth/workload-identity-auth.mjs.map +1 -0
  35. package/azure.d.mts +2 -1
  36. package/azure.d.mts.map +1 -1
  37. package/azure.d.ts +2 -1
  38. package/azure.d.ts.map +1 -1
  39. package/azure.js.map +1 -1
  40. package/azure.mjs.map +1 -1
  41. package/client.d.mts +11 -1
  42. package/client.d.mts.map +1 -1
  43. package/client.d.ts +11 -1
  44. package/client.d.ts.map +1 -1
  45. package/client.js +73 -10
  46. package/client.js.map +1 -1
  47. package/client.mjs +73 -10
  48. package/client.mjs.map +1 -1
  49. package/core/EventEmitter.d.mts +11 -0
  50. package/core/EventEmitter.d.mts.map +1 -1
  51. package/core/EventEmitter.d.ts +11 -0
  52. package/core/EventEmitter.d.ts.map +1 -1
  53. package/core/EventEmitter.js +15 -1
  54. package/core/EventEmitter.js.map +1 -1
  55. package/core/EventEmitter.mjs +13 -0
  56. package/core/EventEmitter.mjs.map +1 -1
  57. package/core/error.d.mts +15 -0
  58. package/core/error.d.mts.map +1 -1
  59. package/core/error.d.ts +15 -0
  60. package/core/error.d.ts.map +1 -1
  61. package/core/error.js +34 -1
  62. package/core/error.js.map +1 -1
  63. package/core/error.mjs +31 -0
  64. package/core/error.mjs.map +1 -1
  65. package/index.d.mts +1 -1
  66. package/index.d.mts.map +1 -1
  67. package/index.d.ts +1 -1
  68. package/index.d.ts.map +1 -1
  69. package/index.js +3 -1
  70. package/index.js.map +1 -1
  71. package/index.mjs +1 -1
  72. package/index.mjs.map +1 -1
  73. package/internal/types.d.mts +6 -6
  74. package/internal/types.d.mts.map +1 -1
  75. package/internal/types.d.ts +6 -6
  76. package/internal/types.d.ts.map +1 -1
  77. package/internal/utils/env.js +2 -2
  78. package/internal/utils/env.js.map +1 -1
  79. package/internal/utils/env.mjs +2 -2
  80. package/internal/utils/env.mjs.map +1 -1
  81. package/internal/ws-adapter-browser.d.mts +34 -0
  82. package/internal/ws-adapter-browser.d.mts.map +1 -0
  83. package/internal/ws-adapter-browser.d.ts +34 -0
  84. package/internal/ws-adapter-browser.d.ts.map +1 -0
  85. package/internal/ws-adapter-browser.js +88 -0
  86. package/internal/ws-adapter-browser.js.map +1 -0
  87. package/internal/ws-adapter-browser.mjs +84 -0
  88. package/internal/ws-adapter-browser.mjs.map +1 -0
  89. package/internal/ws-adapter-node.d.mts +27 -0
  90. package/internal/ws-adapter-node.d.mts.map +1 -0
  91. package/internal/ws-adapter-node.d.ts +27 -0
  92. package/internal/ws-adapter-node.d.ts.map +1 -0
  93. package/internal/ws-adapter-node.js +90 -0
  94. package/internal/ws-adapter-node.js.map +1 -0
  95. package/internal/ws-adapter-node.mjs +86 -0
  96. package/internal/ws-adapter-node.mjs.map +1 -0
  97. package/internal/ws-adapter.d.mts +24 -0
  98. package/internal/ws-adapter.d.mts.map +1 -0
  99. package/internal/ws-adapter.d.ts +24 -0
  100. package/internal/ws-adapter.d.ts.map +1 -0
  101. package/internal/ws-adapter.js +11 -0
  102. package/internal/ws-adapter.js.map +1 -0
  103. package/internal/ws-adapter.mjs +8 -0
  104. package/internal/ws-adapter.mjs.map +1 -0
  105. package/internal/ws.d.mts +80 -0
  106. package/internal/ws.d.mts.map +1 -0
  107. package/internal/ws.d.ts +80 -0
  108. package/internal/ws.d.ts.map +1 -0
  109. package/internal/ws.js +153 -0
  110. package/internal/ws.js.map +1 -0
  111. package/internal/ws.mjs +147 -0
  112. package/internal/ws.mjs.map +1 -0
  113. package/package.json +23 -13
  114. package/resources/audio/speech.d.mts +2 -2
  115. package/resources/audio/speech.d.ts +2 -2
  116. package/resources/audio/speech.js +2 -2
  117. package/resources/audio/speech.mjs +2 -2
  118. package/resources/chat/completions/completions.d.mts +1 -1
  119. package/resources/chat/completions/completions.d.ts +1 -1
  120. package/resources/completions.d.mts +1 -1
  121. package/resources/completions.d.ts +1 -1
  122. package/resources/conversations/conversations.d.mts +7 -0
  123. package/resources/conversations/conversations.d.mts.map +1 -1
  124. package/resources/conversations/conversations.d.ts +7 -0
  125. package/resources/conversations/conversations.d.ts.map +1 -1
  126. package/resources/conversations/conversations.js.map +1 -1
  127. package/resources/conversations/conversations.mjs.map +1 -1
  128. package/resources/realtime/calls.d.mts +3 -2
  129. package/resources/realtime/calls.d.mts.map +1 -1
  130. package/resources/realtime/calls.d.ts +3 -2
  131. package/resources/realtime/calls.d.ts.map +1 -1
  132. package/resources/realtime/client-secrets.d.mts +3 -2
  133. package/resources/realtime/client-secrets.d.mts.map +1 -1
  134. package/resources/realtime/client-secrets.d.ts +3 -2
  135. package/resources/realtime/client-secrets.d.ts.map +1 -1
  136. package/resources/realtime/realtime.d.mts +6 -4
  137. package/resources/realtime/realtime.d.mts.map +1 -1
  138. package/resources/realtime/realtime.d.ts +6 -4
  139. package/resources/realtime/realtime.d.ts.map +1 -1
  140. package/resources/realtime/realtime.js.map +1 -1
  141. package/resources/realtime/realtime.mjs.map +1 -1
  142. package/resources/responses/index.d.mts +2 -0
  143. package/resources/responses/index.d.mts.map +1 -1
  144. package/resources/responses/index.d.ts +2 -0
  145. package/resources/responses/index.d.ts.map +1 -1
  146. package/resources/responses/internal-base.d.mts +24 -2
  147. package/resources/responses/internal-base.d.mts.map +1 -1
  148. package/resources/responses/internal-base.d.ts +24 -2
  149. package/resources/responses/internal-base.d.ts.map +1 -1
  150. package/resources/responses/internal-base.js +5 -9
  151. package/resources/responses/internal-base.js.map +1 -1
  152. package/resources/responses/internal-base.mjs +5 -9
  153. package/resources/responses/internal-base.mjs.map +1 -1
  154. package/resources/responses/responses.d.mts +19 -3
  155. package/resources/responses/responses.d.mts.map +1 -1
  156. package/resources/responses/responses.d.ts +19 -3
  157. package/resources/responses/responses.d.ts.map +1 -1
  158. package/resources/responses/responses.js.map +1 -1
  159. package/resources/responses/responses.mjs.map +1 -1
  160. package/resources/responses/ws-base.d.mts +106 -0
  161. package/resources/responses/ws-base.d.mts.map +1 -0
  162. package/resources/responses/ws-base.d.ts +106 -0
  163. package/resources/responses/ws-base.d.ts.map +1 -0
  164. package/resources/responses/ws-base.js +474 -0
  165. package/resources/responses/ws-base.js.map +1 -0
  166. package/resources/responses/ws-base.mjs +470 -0
  167. package/resources/responses/ws-base.mjs.map +1 -0
  168. package/resources/responses/ws.d.mts +9 -38
  169. package/resources/responses/ws.d.mts.map +1 -1
  170. package/resources/responses/ws.d.ts +9 -38
  171. package/resources/responses/ws.d.ts.map +1 -1
  172. package/resources/responses/ws.js +17 -171
  173. package/resources/responses/ws.js.map +1 -1
  174. package/resources/responses/ws.mjs +17 -171
  175. package/resources/responses/ws.mjs.map +1 -1
  176. package/resources/shared.d.mts +1 -0
  177. package/resources/shared.d.mts.map +1 -1
  178. package/resources/shared.d.ts +1 -0
  179. package/resources/shared.d.ts.map +1 -1
  180. package/resources/vector-stores/file-batches.d.mts +9 -5
  181. package/resources/vector-stores/file-batches.d.mts.map +1 -1
  182. package/resources/vector-stores/file-batches.d.ts +9 -5
  183. package/resources/vector-stores/file-batches.d.ts.map +1 -1
  184. package/resources/vector-stores/files.d.mts +3 -1
  185. package/resources/vector-stores/files.d.mts.map +1 -1
  186. package/resources/vector-stores/files.d.ts +3 -1
  187. package/resources/vector-stores/files.d.ts.map +1 -1
  188. package/src/auth/index.ts +9 -0
  189. package/src/auth/subject-token-providers.ts +185 -0
  190. package/src/auth/types.ts +28 -0
  191. package/src/auth/workload-identity-auth.ts +118 -0
  192. package/src/azure.ts +2 -1
  193. package/src/client.ts +112 -9
  194. package/src/core/EventEmitter.ts +16 -0
  195. package/src/core/error.ts +40 -0
  196. package/src/index.ts +2 -0
  197. package/src/internal/types.ts +6 -8
  198. package/src/internal/utils/env.ts +2 -2
  199. package/src/internal/ws-adapter-browser.ts +123 -0
  200. package/src/internal/ws-adapter-node.ts +105 -0
  201. package/src/internal/ws-adapter.ts +30 -0
  202. package/src/internal/ws.ts +193 -0
  203. package/src/resources/audio/speech.ts +2 -2
  204. package/src/resources/chat/completions/completions.ts +1 -1
  205. package/src/resources/completions.ts +1 -1
  206. package/src/resources/conversations/conversations.ts +8 -0
  207. package/src/resources/realtime/calls.ts +3 -2
  208. package/src/resources/realtime/client-secrets.ts +3 -2
  209. package/src/resources/realtime/realtime.ts +6 -4
  210. package/src/resources/responses/index.ts +2 -0
  211. package/src/resources/responses/internal-base.ts +26 -10
  212. package/src/resources/responses/responses.ts +22 -3
  213. package/src/resources/responses/ws-base.ts +609 -0
  214. package/src/resources/responses/ws.ts +23 -186
  215. package/src/resources/shared.ts +2 -0
  216. package/src/resources/vector-stores/file-batches.ts +9 -5
  217. package/src/resources/vector-stores/files.ts +3 -1
  218. package/src/version.ts +1 -1
  219. package/version.d.mts +1 -1
  220. package/version.d.ts +1 -1
  221. package/version.js +1 -1
  222. package/version.mjs +1 -1
@@ -4,11 +4,21 @@ import * as ResponsesAPI from './responses';
4
4
  import { OpenAI } from '../../client';
5
5
  import { EventEmitter } from '../../core/EventEmitter';
6
6
  import { OpenAIError } from '../../core/error';
7
- import { stringifyQuery } from '../../internal/utils';
7
+
8
+ import type { RawWebSocketData, ReconnectingEvent, UnsentMessage } from '../../internal/ws';
8
9
 
9
10
  export type ResponsesStreamMessage =
10
- | { type: 'connecting' | 'open' | 'closing' | 'close' }
11
+ | { type: 'connecting' | 'open' | 'closing' }
12
+ | {
13
+ type: 'close';
14
+ code: number;
15
+ reason: string;
16
+ unsent: UnsentMessage<ResponsesAPI.ResponsesClientEvent>[];
17
+ }
18
+ | { type: 'reconnecting'; reconnect: ReconnectingEvent }
19
+ | { type: 'reconnected' }
11
20
  | { type: 'message'; message: ResponsesAPI.ResponsesServerEvent }
21
+ | { type: 'raw'; data: RawWebSocketData }
12
22
  | { type: 'error'; error: WebSocketError };
13
23
 
14
24
  export class WebSocketError extends OpenAIError {
@@ -29,7 +39,11 @@ type Simplify<T> = { [KeyType in keyof T]: T[KeyType] } & {};
29
39
  type WebSocketEvents = Simplify<
30
40
  {
31
41
  event: (event: ResponsesAPI.ResponsesServerEvent) => void;
42
+ raw: (data: RawWebSocketData) => void;
32
43
  error: (error: WebSocketError) => void;
44
+ close: (code: number, reason: string, unsent: UnsentMessage<ResponsesAPI.ResponsesClientEvent>[]) => void;
45
+ reconnecting: (event: ReconnectingEvent) => void;
46
+ reconnected: () => void;
33
47
  } & {
34
48
  [EventType in Exclude<NonNullable<ResponsesAPI.ResponsesServerEvent['type']>, 'error'>]: (
35
49
  event: Extract<ResponsesAPI.ResponsesServerEvent, { type?: EventType }>,
@@ -43,6 +57,11 @@ export abstract class ResponsesEmitter extends EventEmitter<WebSocketEvents> {
43
57
  */
44
58
  abstract send(event: ResponsesAPI.ResponsesClientEvent): void;
45
59
 
60
+ /**
61
+ * Send raw data over the WebSocket without JSON serialization.
62
+ */
63
+ abstract sendRaw(data: RawWebSocketData): void;
64
+
46
65
  /**
47
66
  * Close the WebSocket connection.
48
67
  */
@@ -77,14 +96,11 @@ export abstract class ResponsesEmitter extends EventEmitter<WebSocketEvents> {
77
96
  }
78
97
  }
79
98
 
80
- export function buildURL(client: OpenAI, query?: object | null): URL {
81
- const path = '/responses';
82
- const baseURL = client.baseURL;
83
- const url = new URL(baseURL + (baseURL.endsWith('/') ? path.slice(1) : path));
84
- if (query) {
85
- url.search = stringifyQuery(query);
86
- }
87
- url.protocol = url.protocol === 'http:' ? 'ws:' : 'wss:';
99
+ export function buildURL(client: OpenAI, parameters: Record<string, unknown>): URL {
100
+ const { ...query } = parameters;
101
+ const endpoint = '/responses';
102
+ const url = new URL(client.buildURL(endpoint, query, undefined));
103
+ url.protocol = url.protocol === 'http:' || url.protocol === 'ws:' ? 'ws:' : 'wss:';
88
104
  return url;
89
105
  }
90
106
 
@@ -1120,7 +1120,7 @@ export interface Response {
1120
1120
  * of 24 hours.
1121
1121
  * [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
1122
1122
  */
1123
- prompt_cache_retention?: 'in-memory' | '24h' | null;
1123
+ prompt_cache_retention?: 'in_memory' | '24h' | null;
1124
1124
 
1125
1125
  /**
1126
1126
  * **gpt-5 and o-series models only**
@@ -3423,6 +3423,13 @@ export interface ResponseInputFile {
3423
3423
  */
3424
3424
  type: 'input_file';
3425
3425
 
3426
+ /**
3427
+ * The detail level of the file to be sent to the model. Use `low` for the default
3428
+ * rendering behavior, or `high` to render the file at higher quality. Defaults to
3429
+ * `low`.
3430
+ */
3431
+ detail?: 'low' | 'high';
3432
+
3426
3433
  /**
3427
3434
  * The content of the file to be sent to the model.
3428
3435
  */
@@ -3453,6 +3460,13 @@ export interface ResponseInputFileContent {
3453
3460
  */
3454
3461
  type: 'input_file';
3455
3462
 
3463
+ /**
3464
+ * The detail level of the file to be sent to the model. Use `low` for the default
3465
+ * rendering behavior, or `high` to render the file at higher quality. Defaults to
3466
+ * `low`.
3467
+ */
3468
+ detail?: 'low' | 'high';
3469
+
3456
3470
  /**
3457
3471
  * The base64-encoded data of the file to be sent to the model.
3458
3472
  */
@@ -6551,7 +6565,7 @@ export interface ResponsesClientEvent {
6551
6565
  * of 24 hours.
6552
6566
  * [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
6553
6567
  */
6554
- prompt_cache_retention?: 'in-memory' | '24h' | null;
6568
+ prompt_cache_retention?: 'in_memory' | '24h' | null;
6555
6569
 
6556
6570
  /**
6557
6571
  * **gpt-5 and o-series models only**
@@ -7571,7 +7585,7 @@ export interface ResponseCreateParamsBase {
7571
7585
  * of 24 hours.
7572
7586
  * [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
7573
7587
  */
7574
- prompt_cache_retention?: 'in-memory' | '24h' | null;
7588
+ prompt_cache_retention?: 'in_memory' | '24h' | null;
7575
7589
 
7576
7590
  /**
7577
7591
  * **gpt-5 and o-series models only**
@@ -7965,6 +7979,11 @@ export interface ResponseCompactParams {
7965
7979
  * A key to use when reading from or writing to the prompt cache.
7966
7980
  */
7967
7981
  prompt_cache_key?: string | null;
7982
+
7983
+ /**
7984
+ * How long to retain a prompt cache entry created by this request.
7985
+ */
7986
+ prompt_cache_retention?: 'in_memory' | '24h' | null;
7968
7987
  }
7969
7988
 
7970
7989
  Responses.InputItems = InputItems;