openai 6.34.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.
- package/CHANGELOG.md +44 -0
- package/core/EventEmitter.d.mts +11 -0
- package/core/EventEmitter.d.mts.map +1 -1
- package/core/EventEmitter.d.ts +11 -0
- package/core/EventEmitter.d.ts.map +1 -1
- package/core/EventEmitter.js +15 -1
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +13 -0
- package/core/EventEmitter.mjs.map +1 -1
- package/internal/types.d.mts +6 -6
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +6 -6
- package/internal/types.d.ts.map +1 -1
- package/internal/utils/env.js +2 -2
- package/internal/utils/env.js.map +1 -1
- package/internal/utils/env.mjs +2 -2
- package/internal/utils/env.mjs.map +1 -1
- package/internal/ws-adapter-browser.d.mts +34 -0
- package/internal/ws-adapter-browser.d.mts.map +1 -0
- package/internal/ws-adapter-browser.d.ts +34 -0
- package/internal/ws-adapter-browser.d.ts.map +1 -0
- package/internal/ws-adapter-browser.js +88 -0
- package/internal/ws-adapter-browser.js.map +1 -0
- package/internal/ws-adapter-browser.mjs +84 -0
- package/internal/ws-adapter-browser.mjs.map +1 -0
- package/internal/ws-adapter-node.d.mts +27 -0
- package/internal/ws-adapter-node.d.mts.map +1 -0
- package/internal/ws-adapter-node.d.ts +27 -0
- package/internal/ws-adapter-node.d.ts.map +1 -0
- package/internal/ws-adapter-node.js +90 -0
- package/internal/ws-adapter-node.js.map +1 -0
- package/internal/ws-adapter-node.mjs +86 -0
- package/internal/ws-adapter-node.mjs.map +1 -0
- package/internal/ws-adapter.d.mts +24 -0
- package/internal/ws-adapter.d.mts.map +1 -0
- package/internal/ws-adapter.d.ts +24 -0
- package/internal/ws-adapter.d.ts.map +1 -0
- package/internal/ws-adapter.js +11 -0
- package/internal/ws-adapter.js.map +1 -0
- package/internal/ws-adapter.mjs +8 -0
- package/internal/ws-adapter.mjs.map +1 -0
- package/internal/ws.d.mts +80 -0
- package/internal/ws.d.mts.map +1 -0
- package/internal/ws.d.ts +80 -0
- package/internal/ws.d.ts.map +1 -0
- package/internal/ws.js +153 -0
- package/internal/ws.js.map +1 -0
- package/internal/ws.mjs +147 -0
- package/internal/ws.mjs.map +1 -0
- package/package.json +13 -13
- package/resources/audio/speech.d.mts +2 -2
- package/resources/audio/speech.d.ts +2 -2
- package/resources/audio/speech.js +2 -2
- package/resources/audio/speech.mjs +2 -2
- package/resources/chat/completions/completions.d.mts +1 -1
- package/resources/chat/completions/completions.d.ts +1 -1
- package/resources/completions.d.mts +1 -1
- package/resources/completions.d.ts +1 -1
- package/resources/responses/index.d.mts +2 -0
- package/resources/responses/index.d.mts.map +1 -1
- package/resources/responses/index.d.ts +2 -0
- package/resources/responses/index.d.ts.map +1 -1
- package/resources/responses/internal-base.d.mts +24 -2
- package/resources/responses/internal-base.d.mts.map +1 -1
- package/resources/responses/internal-base.d.ts +24 -2
- package/resources/responses/internal-base.d.ts.map +1 -1
- package/resources/responses/internal-base.js +5 -9
- package/resources/responses/internal-base.js.map +1 -1
- package/resources/responses/internal-base.mjs +5 -9
- package/resources/responses/internal-base.mjs.map +1 -1
- package/resources/responses/responses.d.mts +19 -3
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +19 -3
- package/resources/responses/responses.d.ts.map +1 -1
- package/resources/responses/responses.js.map +1 -1
- package/resources/responses/responses.mjs.map +1 -1
- package/resources/responses/ws-base.d.mts +106 -0
- package/resources/responses/ws-base.d.mts.map +1 -0
- package/resources/responses/ws-base.d.ts +106 -0
- package/resources/responses/ws-base.d.ts.map +1 -0
- package/resources/responses/ws-base.js +474 -0
- package/resources/responses/ws-base.js.map +1 -0
- package/resources/responses/ws-base.mjs +470 -0
- package/resources/responses/ws-base.mjs.map +1 -0
- package/resources/responses/ws.d.mts +9 -38
- package/resources/responses/ws.d.mts.map +1 -1
- package/resources/responses/ws.d.ts +9 -38
- package/resources/responses/ws.d.ts.map +1 -1
- package/resources/responses/ws.js +17 -171
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs +17 -171
- package/resources/responses/ws.mjs.map +1 -1
- package/src/core/EventEmitter.ts +16 -0
- package/src/internal/types.ts +6 -8
- package/src/internal/utils/env.ts +2 -2
- package/src/internal/ws-adapter-browser.ts +123 -0
- package/src/internal/ws-adapter-node.ts +105 -0
- package/src/internal/ws-adapter.ts +30 -0
- package/src/internal/ws.ts +193 -0
- package/src/resources/audio/speech.ts +2 -2
- package/src/resources/chat/completions/completions.ts +1 -1
- package/src/resources/completions.ts +1 -1
- package/src/resources/responses/index.ts +2 -0
- package/src/resources/responses/internal-base.ts +26 -10
- package/src/resources/responses/responses.ts +22 -3
- package/src/resources/responses/ws-base.ts +609 -0
- package/src/resources/responses/ws.ts +23 -186
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
import { ResponsesEmitter, buildURL } from "./internal-base.mjs";
|
|
3
|
+
import { InternalEventEmitter } from "../../core/EventEmitter.mjs";
|
|
4
|
+
import { sleep } from "../../internal/utils/sleep.mjs";
|
|
5
|
+
import { ReadyState } from "../../internal/ws-adapter.mjs";
|
|
6
|
+
import { SendQueue, flattenRawData, isRecoverableClose, } from "../../internal/ws.mjs";
|
|
7
|
+
import { OpenAIError } from "../../core/error.mjs";
|
|
8
|
+
export class ResponsesWSBase extends ResponsesEmitter {
|
|
9
|
+
constructor(client, options) {
|
|
10
|
+
super();
|
|
11
|
+
this._isReconnecting = false;
|
|
12
|
+
this._intentionallyClosed = false;
|
|
13
|
+
this._closeCode = 1000;
|
|
14
|
+
this._closeReason = 'OK';
|
|
15
|
+
this._lastCloseCode = 1006;
|
|
16
|
+
this._lastCloseReason = '';
|
|
17
|
+
// Necessary to keep the public event interface clean while we manage reconnecting
|
|
18
|
+
this._internalEvents = new InternalEventEmitter();
|
|
19
|
+
this._client = client;
|
|
20
|
+
this._parameters = undefined;
|
|
21
|
+
this._reconnectOptions = options?.reconnect ?? null;
|
|
22
|
+
this._sendQueue = new SendQueue(options?.maxQueueSize);
|
|
23
|
+
}
|
|
24
|
+
/** Establishes the initial WebSocket connection. */
|
|
25
|
+
_connectInitial() {
|
|
26
|
+
this.url = buildURL(this._client, {});
|
|
27
|
+
this.socket = this._connect();
|
|
28
|
+
}
|
|
29
|
+
send(event) {
|
|
30
|
+
if (!this.socket) {
|
|
31
|
+
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
32
|
+
}
|
|
33
|
+
if (this._isReconnecting || this.socket.readyState === ReadyState.CONNECTING) {
|
|
34
|
+
if (!this._sendQueue.enqueue(event)) {
|
|
35
|
+
this._onError(null, 'send queue is full, message discarded', undefined);
|
|
36
|
+
}
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (this.socket.readyState !== ReadyState.OPEN) {
|
|
40
|
+
this._onError(null, 'cannot send on a closed WebSocket', undefined);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
this.socket.send(JSON.stringify(event));
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
this._onError(null, 'could not send data', err);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
sendRaw(data) {
|
|
51
|
+
if (!this.socket) {
|
|
52
|
+
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
53
|
+
}
|
|
54
|
+
if (this._isReconnecting || this.socket.readyState === ReadyState.CONNECTING) {
|
|
55
|
+
if (!this._sendQueue.enqueueRaw(data)) {
|
|
56
|
+
this._onError(null, 'send queue is full, message discarded', undefined);
|
|
57
|
+
}
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (this.socket.readyState !== ReadyState.OPEN) {
|
|
61
|
+
this._onError(null, 'cannot send on a closed WebSocket', undefined);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
this.socket.send(flattenRawData(data));
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this._onError(null, 'could not send data', err);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
close(props) {
|
|
72
|
+
if (!this.socket) {
|
|
73
|
+
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
74
|
+
}
|
|
75
|
+
this._intentionallyClosed = true;
|
|
76
|
+
this._closeCode = props?.code ?? 1000;
|
|
77
|
+
this._closeReason = props?.reason ?? 'OK';
|
|
78
|
+
try {
|
|
79
|
+
this.socket.close(this._closeCode, this._closeReason);
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
this._onError(null, 'could not close the connection', err);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Returns an async iterator over WebSocket lifecycle and message events,
|
|
87
|
+
* providing an alternative to the event-based `.on()` API.
|
|
88
|
+
* The iterator will exit if the socket closes but exiting the iterator
|
|
89
|
+
* does not close the socket.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```ts
|
|
93
|
+
* for await (const event of client.stream()) {
|
|
94
|
+
* switch (event.type) {
|
|
95
|
+
* case 'message':
|
|
96
|
+
* console.log('received:', event.message);
|
|
97
|
+
* break;
|
|
98
|
+
* case 'error':
|
|
99
|
+
* console.error(event.error);
|
|
100
|
+
* break;
|
|
101
|
+
* case 'close':
|
|
102
|
+
* console.log('connection closed');
|
|
103
|
+
* break;
|
|
104
|
+
* }
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
stream() {
|
|
109
|
+
return this[Symbol.asyncIterator]();
|
|
110
|
+
}
|
|
111
|
+
[Symbol.asyncIterator]() {
|
|
112
|
+
if (!this.socket) {
|
|
113
|
+
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
114
|
+
}
|
|
115
|
+
// Two-queue async iterator: `queue` buffers incoming messages,
|
|
116
|
+
// `resolvers` buffers waiting next() calls. A push wakes the
|
|
117
|
+
// oldest next(); a next() drains the oldest message.
|
|
118
|
+
const queue = [];
|
|
119
|
+
const resolvers = [];
|
|
120
|
+
let done = false;
|
|
121
|
+
let currentSocket = this.socket;
|
|
122
|
+
const push = (msg) => {
|
|
123
|
+
queue.push(msg);
|
|
124
|
+
resolvers.shift()?.();
|
|
125
|
+
};
|
|
126
|
+
const onEvent = (event) => {
|
|
127
|
+
if (event.type === 'error')
|
|
128
|
+
return; // handled by onEmitterError
|
|
129
|
+
push({ type: 'message', message: event });
|
|
130
|
+
};
|
|
131
|
+
const onRaw = (data) => {
|
|
132
|
+
push({ type: 'raw', data });
|
|
133
|
+
};
|
|
134
|
+
// All errors (API + socket) funnel through _onError → 'error' event
|
|
135
|
+
const onEmitterError = (err) => {
|
|
136
|
+
push({ type: 'error', error: err });
|
|
137
|
+
};
|
|
138
|
+
const onOpen = () => {
|
|
139
|
+
push({ type: 'open' });
|
|
140
|
+
};
|
|
141
|
+
const onReconnecting = (evt) => {
|
|
142
|
+
push({ type: 'reconnecting', reconnect: evt });
|
|
143
|
+
};
|
|
144
|
+
const onReconnected = () => {
|
|
145
|
+
push({ type: 'reconnected' });
|
|
146
|
+
};
|
|
147
|
+
const flushResolvers = () => {
|
|
148
|
+
for (let resolver = resolvers.shift(); resolver; resolver = resolvers.shift()) {
|
|
149
|
+
resolver();
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
const onClose = (code, reason, unsent) => {
|
|
153
|
+
push({ type: 'close', code, reason, unsent });
|
|
154
|
+
done = true;
|
|
155
|
+
flushResolvers();
|
|
156
|
+
cleanup();
|
|
157
|
+
};
|
|
158
|
+
const onSocketSwap = (oldSocket, newSocket) => {
|
|
159
|
+
oldSocket.off('open', onOpen);
|
|
160
|
+
newSocket.on('open', onOpen);
|
|
161
|
+
currentSocket = newSocket;
|
|
162
|
+
};
|
|
163
|
+
const cleanup = () => {
|
|
164
|
+
this.off('event', onEvent);
|
|
165
|
+
this.off('raw', onRaw);
|
|
166
|
+
this.off('error', onEmitterError);
|
|
167
|
+
currentSocket.off('open', onOpen);
|
|
168
|
+
this._internalEvents.off('close', onClose);
|
|
169
|
+
this._internalEvents.off('socketSwap', onSocketSwap);
|
|
170
|
+
this._internalEvents.off('reconnecting', onReconnecting);
|
|
171
|
+
this._internalEvents.off('reconnected', onReconnected);
|
|
172
|
+
};
|
|
173
|
+
this.on('event', onEvent);
|
|
174
|
+
this.on('raw', onRaw);
|
|
175
|
+
this.on('error', onEmitterError);
|
|
176
|
+
this.socket.on('open', onOpen);
|
|
177
|
+
this._internalEvents.on('close', onClose);
|
|
178
|
+
this._internalEvents.on('socketSwap', onSocketSwap);
|
|
179
|
+
this._internalEvents.on('reconnecting', onReconnecting);
|
|
180
|
+
this._internalEvents.on('reconnected', onReconnected);
|
|
181
|
+
if (this._isReconnecting) {
|
|
182
|
+
// A reconnect is already in flight. The socket may be CLOSED but the
|
|
183
|
+
// instance is still alive. Emit 'reconnecting' so the iterator stays
|
|
184
|
+
// open and receives the upcoming reconnected/message events.
|
|
185
|
+
push({
|
|
186
|
+
type: 'reconnecting',
|
|
187
|
+
reconnect: { attempt: 0, maxAttempts: 0, delay: 0, closeCode: 0, parameters: undefined },
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
switch (this.socket.readyState) {
|
|
192
|
+
case ReadyState.CONNECTING:
|
|
193
|
+
push({ type: 'connecting' });
|
|
194
|
+
break;
|
|
195
|
+
case ReadyState.OPEN:
|
|
196
|
+
push({ type: 'open' });
|
|
197
|
+
break;
|
|
198
|
+
case ReadyState.CLOSING:
|
|
199
|
+
push({ type: 'closing' });
|
|
200
|
+
break;
|
|
201
|
+
case ReadyState.CLOSED:
|
|
202
|
+
push({
|
|
203
|
+
type: 'close',
|
|
204
|
+
code: this._lastCloseCode,
|
|
205
|
+
reason: this._lastCloseReason,
|
|
206
|
+
unsent: this._sendQueue.drain(),
|
|
207
|
+
});
|
|
208
|
+
done = true;
|
|
209
|
+
cleanup();
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
const resolve = (res) => {
|
|
214
|
+
if (queue.length > 0) {
|
|
215
|
+
res({ value: queue.shift(), done: false });
|
|
216
|
+
}
|
|
217
|
+
else if (done) {
|
|
218
|
+
res({ value: undefined, done: true });
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
return true;
|
|
224
|
+
};
|
|
225
|
+
const next = () => new Promise((res) => {
|
|
226
|
+
if (resolve(res))
|
|
227
|
+
return;
|
|
228
|
+
resolvers.push(() => {
|
|
229
|
+
resolve(res);
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
return {
|
|
233
|
+
next,
|
|
234
|
+
return: () => {
|
|
235
|
+
done = true;
|
|
236
|
+
cleanup();
|
|
237
|
+
flushResolvers();
|
|
238
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
239
|
+
},
|
|
240
|
+
[Symbol.asyncIterator]() {
|
|
241
|
+
return this;
|
|
242
|
+
},
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
_connect() {
|
|
246
|
+
this.url = buildURL(this._client, this._parameters ?? {});
|
|
247
|
+
const socket = this._createSocket(this.url, this._authHeaders());
|
|
248
|
+
socket.on('message', (data, isBinary) => {
|
|
249
|
+
if (isBinary) {
|
|
250
|
+
this._emit('raw', data);
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
// Coerce to string in case the adapter delivers a typed-array for text frames.
|
|
254
|
+
const text = typeof data === 'string' ? data : String(data);
|
|
255
|
+
let event;
|
|
256
|
+
try {
|
|
257
|
+
event = JSON.parse(text);
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
this._emit('raw', data);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
this._emit('event', event);
|
|
264
|
+
if (event.type === 'error') {
|
|
265
|
+
this._onError(event);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
// @ts-ignore TS isn't smart enough to get the relationship right here
|
|
269
|
+
this._emit(event.type, event);
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
socket.on('error', (err) => {
|
|
273
|
+
// Suppress transient errors during reconnection — the retry loop
|
|
274
|
+
// already handles them and will surface a close if retries exhaust.
|
|
275
|
+
if (this._isReconnecting)
|
|
276
|
+
return;
|
|
277
|
+
this._onError(null, err.message, err);
|
|
278
|
+
});
|
|
279
|
+
socket.on('open', () => {
|
|
280
|
+
this._flushSendQueue();
|
|
281
|
+
});
|
|
282
|
+
socket.on('close', (code, reason) => {
|
|
283
|
+
// Ignore close events from superseded sockets — a stale socket's
|
|
284
|
+
// late close must not kick off a second reconnect loop.
|
|
285
|
+
if (socket !== this.socket)
|
|
286
|
+
return;
|
|
287
|
+
if (!this._intentionallyClosed && this._canReconnect(code)) {
|
|
288
|
+
this._reconnect(code);
|
|
289
|
+
}
|
|
290
|
+
else if (!this._isReconnecting) {
|
|
291
|
+
this._emitPermanentClose(code, reason);
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
return socket;
|
|
295
|
+
}
|
|
296
|
+
// Reconnect is opt-in via onReconnecting so callers can pass
|
|
297
|
+
// state (e.g. session IDs) into the new connection.
|
|
298
|
+
_canReconnect(code) {
|
|
299
|
+
if (this._intentionallyClosed)
|
|
300
|
+
return false;
|
|
301
|
+
if (!this._reconnectOptions)
|
|
302
|
+
return false;
|
|
303
|
+
if (this._reconnectOptions.maxRetries === 0)
|
|
304
|
+
return false;
|
|
305
|
+
if (!this._reconnectOptions.onReconnecting)
|
|
306
|
+
return false;
|
|
307
|
+
return isRecoverableClose(code);
|
|
308
|
+
}
|
|
309
|
+
async _reconnect(closeCode) {
|
|
310
|
+
if (!this.socket) {
|
|
311
|
+
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
312
|
+
}
|
|
313
|
+
if (this._isReconnecting || !this._reconnectOptions)
|
|
314
|
+
return;
|
|
315
|
+
this._isReconnecting = true;
|
|
316
|
+
const maxRetries = this._reconnectOptions.maxRetries ?? 5;
|
|
317
|
+
const initialDelay = this._reconnectOptions.initialDelay ?? 500;
|
|
318
|
+
const maxDelay = this._reconnectOptions.maxDelay ?? 8000;
|
|
319
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
320
|
+
if (!this._canReconnect(closeCode)) {
|
|
321
|
+
this._isReconnecting = false;
|
|
322
|
+
if (!this._intentionallyClosed) {
|
|
323
|
+
this._onError(null, `WebSocket reconnect aborted: non-recoverable close code ${closeCode}`, undefined);
|
|
324
|
+
}
|
|
325
|
+
this._emitPermanentClose(this._intentionallyClosed ? this._closeCode : closeCode, this._intentionallyClosed ? this._closeReason : 'reconnect aborted');
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
const baseDelay = Math.min(initialDelay * Math.pow(2, attempt - 1), maxDelay);
|
|
329
|
+
// Jitter: rand [0.75, 1.0] to spread out connection attempts without over-delaying
|
|
330
|
+
const jitter = 0.75 + Math.random() * 0.25;
|
|
331
|
+
const actualDelay = Math.round(baseDelay * jitter);
|
|
332
|
+
let reconnectingEvent = {
|
|
333
|
+
attempt,
|
|
334
|
+
maxAttempts: maxRetries,
|
|
335
|
+
delay: actualDelay,
|
|
336
|
+
closeCode,
|
|
337
|
+
parameters: this._parameters ? { ...this._parameters } : undefined,
|
|
338
|
+
};
|
|
339
|
+
let overrides;
|
|
340
|
+
try {
|
|
341
|
+
overrides = this._reconnectOptions.onReconnecting(reconnectingEvent);
|
|
342
|
+
}
|
|
343
|
+
catch (err) {
|
|
344
|
+
this._isReconnecting = false;
|
|
345
|
+
this._onError(null, 'onReconnecting callback threw', err);
|
|
346
|
+
this._emitPermanentClose(closeCode, 'onReconnecting callback threw');
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
if (overrides && 'abort' in overrides && overrides.abort) {
|
|
350
|
+
this._isReconnecting = false;
|
|
351
|
+
this._emitPermanentClose(closeCode, 'reconnect aborted by handler');
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
if (overrides && 'parameters' in overrides) {
|
|
355
|
+
this._parameters = overrides.parameters;
|
|
356
|
+
reconnectingEvent = { ...reconnectingEvent, parameters: this._parameters };
|
|
357
|
+
}
|
|
358
|
+
try {
|
|
359
|
+
this._emit('reconnecting', reconnectingEvent);
|
|
360
|
+
}
|
|
361
|
+
catch (err) {
|
|
362
|
+
this._onError(null, 'onReconnecting callback threw', err);
|
|
363
|
+
}
|
|
364
|
+
this._internalEvents._emit('reconnecting', reconnectingEvent);
|
|
365
|
+
if (!this._canReconnect(closeCode)) {
|
|
366
|
+
this._isReconnecting = false;
|
|
367
|
+
if (!this._intentionallyClosed) {
|
|
368
|
+
this._onError(null, `WebSocket reconnect aborted: non-recoverable close code ${closeCode}`, undefined);
|
|
369
|
+
}
|
|
370
|
+
this._emitPermanentClose(this._intentionallyClosed ? this._closeCode : closeCode, this._intentionallyClosed ? this._closeReason : 'reconnect aborted');
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
await sleep(actualDelay);
|
|
374
|
+
if (!this._canReconnect(closeCode)) {
|
|
375
|
+
this._isReconnecting = false;
|
|
376
|
+
if (!this._intentionallyClosed) {
|
|
377
|
+
this._onError(null, `WebSocket reconnect aborted: non-recoverable close code ${closeCode}`, undefined);
|
|
378
|
+
}
|
|
379
|
+
this._emitPermanentClose(this._intentionallyClosed ? this._closeCode : closeCode, this._intentionallyClosed ? this._closeReason : 'reconnect aborted');
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
let closeCodePromise;
|
|
383
|
+
try {
|
|
384
|
+
const oldSocket = this.socket;
|
|
385
|
+
this.socket = this._connect();
|
|
386
|
+
// Registered synchronously after _connect() and before any
|
|
387
|
+
// await so the code is captured even when ws emits 'close'
|
|
388
|
+
// in the same tick as 'error' (e.g. abortHandshake).
|
|
389
|
+
closeCodePromise = new Promise((resolve) => {
|
|
390
|
+
this.socket.once('close', resolve);
|
|
391
|
+
});
|
|
392
|
+
await this._awaitOpen(this.socket);
|
|
393
|
+
this._internalEvents._emit('socketSwap', oldSocket, this.socket);
|
|
394
|
+
this._isReconnecting = false;
|
|
395
|
+
this._flushSendQueue();
|
|
396
|
+
this._emit('reconnected');
|
|
397
|
+
this._internalEvents._emit('reconnected');
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
catch {
|
|
401
|
+
if (closeCodePromise) {
|
|
402
|
+
// ws may emit 'error' before 'close', so await the code
|
|
403
|
+
// rather than reading it synchronously.
|
|
404
|
+
closeCode = await closeCodePromise;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
// All retries exhausted — surface an error so consumers can
|
|
409
|
+
// distinguish retry failure from a clean close.
|
|
410
|
+
this._isReconnecting = false;
|
|
411
|
+
this._onError(null, `WebSocket reconnect failed after ${maxRetries} attempts (close code: ${closeCode})`, undefined);
|
|
412
|
+
this._emitPermanentClose(closeCode, `reconnect failed after ${maxRetries} attempts`);
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Resolves once the socket is open, rejects if it errors or closes first
|
|
416
|
+
*/
|
|
417
|
+
_awaitOpen(socket) {
|
|
418
|
+
return new Promise((resolve, reject) => {
|
|
419
|
+
const cleanup = () => {
|
|
420
|
+
socket.off('open', onOpen);
|
|
421
|
+
socket.off('error', onError);
|
|
422
|
+
socket.off('close', onFail);
|
|
423
|
+
};
|
|
424
|
+
const onOpen = () => {
|
|
425
|
+
cleanup();
|
|
426
|
+
resolve();
|
|
427
|
+
};
|
|
428
|
+
const onError = (err) => {
|
|
429
|
+
cleanup();
|
|
430
|
+
reject(err);
|
|
431
|
+
};
|
|
432
|
+
const onFail = () => {
|
|
433
|
+
cleanup();
|
|
434
|
+
reject(new Error('socket closed before open'));
|
|
435
|
+
};
|
|
436
|
+
socket.once('open', onOpen);
|
|
437
|
+
socket.once('error', onError);
|
|
438
|
+
socket.once('close', onFail);
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
_flushSendQueue() {
|
|
442
|
+
if (!this.socket) {
|
|
443
|
+
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
444
|
+
}
|
|
445
|
+
try {
|
|
446
|
+
this._sendQueue.flush((data) => this.socket.send(flattenRawData(data)));
|
|
447
|
+
}
|
|
448
|
+
catch (err) {
|
|
449
|
+
this._onError(null, 'could not send queued data', err);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Emits the public `close` event with unsent messages and the internal
|
|
454
|
+
* `close` event used by the async iterator.
|
|
455
|
+
*/
|
|
456
|
+
_emitPermanentClose(code, reason) {
|
|
457
|
+
this._lastCloseCode = code;
|
|
458
|
+
this._lastCloseReason = reason;
|
|
459
|
+
const unsent = this._sendQueue.drain();
|
|
460
|
+
// Internal close fires first so the async iterator is guaranteed to
|
|
461
|
+
// terminate even if a public 'close' listener throws.
|
|
462
|
+
this._internalEvents._emit('close', code, reason, unsent);
|
|
463
|
+
this._emit('close', code, reason, unsent);
|
|
464
|
+
}
|
|
465
|
+
_authHeaders() {
|
|
466
|
+
return { Authorization: `Bearer ${this._client.apiKey}` };
|
|
467
|
+
return {};
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
//# sourceMappingURL=ws-base.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-base.mjs","sourceRoot":"","sources":["../../src/resources/responses/ws-base.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,gBAAgB,EAA0C,QAAQ,EAAE;OACtE,EAAE,oBAAoB,EAAE;OACxB,EAAE,KAAK,EAAE;OACT,EAAsB,UAAU,EAAE;OAClC,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,GAKnB;OAGM,EAAE,WAAW,EAAE;AA6CtB,MAAM,OAAgB,eAA+C,SAAQ,gBAAgB;IAuB3F,YAAY,MAAc,EAAE,OAA4C;QACtE,KAAK,EAAE,CAAC;QAhBF,oBAAe,GAAY,KAAK,CAAC;QACjC,yBAAoB,GAAG,KAAK,CAAC;QAC7B,eAAU,GAAW,IAAI,CAAC;QAC1B,iBAAY,GAAW,IAAI,CAAC;QAC5B,mBAAc,GAAW,IAAI,CAAC;QAC9B,qBAAgB,GAAW,EAAE,CAAC;QAEtC,kFAAkF;QAC1E,oBAAe,GAAG,IAAI,oBAAoB,EAK9C,CAAC;QAIH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAoC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC;IAED,oDAAoD;IAC1C,eAAe;QACvB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAKD,IAAI,CAAC,KAAwC;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,uCAAuC,EAAE,SAAS,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,mCAAmC,EAAE,SAAS,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,uCAAuC,EAAE,SAAS,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,mCAAmC,EAAE,SAAS,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAwC;QAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAC;QAClG,CAAC;QAED,+DAA+D;QAC/D,6DAA6D;QAC7D,qDAAqD;QACrD,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAmB,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,MAAM,IAAI,GAAG,CAAC,GAA2B,EAAE,EAAE;YAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,KAAwC,EAAE,EAAE;YAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,CAAC,4BAA4B;YAChE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,IAAsB,EAAE,EAAE;YACvC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,oEAAoE;QACpE,MAAM,cAAc,GAAG,CAAC,GAAmB,EAAE,EAAE;YAC7C,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,GAA+C,EAAE,EAAE;YACzE,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,KAAK,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC9E,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,IAAY,EACZ,MAAc,EACd,MAA0D,EAC1D,EAAE;YACF,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,IAAI,CAAC;YACZ,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,SAAkB,EAAE,SAAkB,EAAE,EAAE;YAC9D,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7B,aAAa,GAAG,SAAS,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAClC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,qEAAqE;YACrE,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,CAAC;gBACH,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE;aACzF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC/B,KAAK,UAAU,CAAC,UAAU;oBACxB,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC7B,MAAM;gBACR,KAAK,UAAU,CAAC,IAAI;oBAClB,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBACvB,MAAM;gBACR,KAAK,UAAU,CAAC,OAAO;oBACrB,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC1B,MAAM;gBACR,KAAK,UAAU,CAAC,MAAM;oBACpB,IAAI,CAAC;wBACH,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,IAAI,CAAC,cAAc;wBACzB,MAAM,EAAE,IAAI,CAAC,gBAAgB;wBAC7B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;qBAChC,CAAC,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC;oBACZ,OAAO,EAAE,CAAC;oBACV,MAAM;YACV,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,GAA4D,EAAE,EAAE;YAC/E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,GAAoD,EAAE,CACjE,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClB,IAAI,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO;YACzB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,GAA6C,EAAE;gBACrD,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,cAAc,EAAE,CAAC;gBACjB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAEjE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAA4C,EAAE,QAAiB,EAAE,EAAE;YACvF,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,+EAA+E;YAC/E,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE5D,IAAI,KAAwC,CAAC;YAC7C,IAAI,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAChC,iEAAiE;YACjE,oEAAoE;YACpE,IAAI,IAAI,CAAC,eAAe;gBAAE,OAAO;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;YAClD,iEAAiE;YACjE,wDAAwD;YACxD,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO;YACnC,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6DAA6D;IAC7D,oDAAoD;IAC5C,aAAa,CAAC,IAAY;QAChC,IAAI,IAAI,CAAC,oBAAoB;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACzD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,SAAiB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,IAAI,GAAG,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,IAAI,IAAI,CAAC;QAEzD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CACX,IAAI,EACJ,2DAA2D,SAAS,EAAE,EACtE,SAAS,CACV,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACvD,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC9E,mFAAmF;YACnF,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;YAEnD,IAAI,iBAAiB,GAA+C;gBAClE,OAAO;gBACP,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,WAAW;gBAClB,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;YAEF,IAAI,SAAgE,CAAC;YACrE,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;gBAC1D,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACzD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YAED,IAAI,SAAS,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC;gBACxC,iBAAiB,GAAG,EAAE,GAAG,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7E,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAE9D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CACX,IAAI,EACJ,2DAA2D,SAAS,EAAE,EACtE,SAAS,CACV,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACvD,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;YAEzB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CACX,IAAI,EACJ,2DAA2D,SAAS,EAAE,EACtE,SAAS,CACV,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACvD,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,gBAA6C,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,2DAA2D;gBAC3D,2DAA2D;gBAC3D,qDAAqD;gBACrD,gBAAgB,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEnC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,gBAAgB,EAAE,CAAC;oBACrB,wDAAwD;oBACxD,wCAAwC;oBACxC,SAAS,GAAG,MAAM,gBAAgB,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,gDAAgD;QAChD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CACX,IAAI,EACJ,oCAAoC,UAAU,0BAA0B,SAAS,GAAG,EACpF,SAAS,CACV,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,0BAA0B,UAAU,WAAW,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAe;QAChC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;gBAC7B,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,IAAY,EAAE,MAAc;QACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,oEAAoE;QACpE,sDAAsD;QACtD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAES,YAAY;QACpB,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -1,42 +1,13 @@
|
|
|
1
1
|
import * as WS from 'ws';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { NodeWebSocket } from "../../internal/ws-adapter-node.mjs";
|
|
3
|
+
import { ResponsesWSBase, type ResponsesWSBaseOptions } from "./ws-base.mjs";
|
|
4
4
|
import { OpenAI } from "../../client.mjs";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
code: number;
|
|
13
|
-
reason: string;
|
|
14
|
-
}): void;
|
|
15
|
-
/**
|
|
16
|
-
* Returns an async iterator over WebSocket lifecycle and message events,
|
|
17
|
-
* providing an alternative to the event-based `.on()` API.
|
|
18
|
-
* The iterator will exit if the socket closes but breaking out of the iterator
|
|
19
|
-
* does not close the socket.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```ts
|
|
23
|
-
* for await (const event of connection.stream()) {
|
|
24
|
-
* switch (event.type) {
|
|
25
|
-
* case 'message':
|
|
26
|
-
* console.log('received:', event.message);
|
|
27
|
-
* break;
|
|
28
|
-
* case 'error':
|
|
29
|
-
* console.error(event.error);
|
|
30
|
-
* break;
|
|
31
|
-
* case 'close':
|
|
32
|
-
* console.log('connection closed');
|
|
33
|
-
* break;
|
|
34
|
-
* }
|
|
35
|
-
* }
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
stream(): AsyncIterableIterator<ResponsesStreamMessage>;
|
|
39
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<ResponsesStreamMessage>;
|
|
40
|
-
private authHeaders;
|
|
5
|
+
export type { ResponsesWSReconnectOptions } from "./ws-base.mjs";
|
|
6
|
+
export interface ResponsesWSClientOptions extends WS.ClientOptions, ResponsesWSBaseOptions {
|
|
7
|
+
}
|
|
8
|
+
export declare class ResponsesWS extends ResponsesWSBase<NodeWebSocket> {
|
|
9
|
+
private _wsOptions;
|
|
10
|
+
constructor(client: OpenAI, options?: ResponsesWSClientOptions | null | undefined);
|
|
11
|
+
protected _createSocket(url: URL, authHeaders: Record<string, string>): NodeWebSocket;
|
|
41
12
|
}
|
|
42
13
|
//# sourceMappingURL=ws.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.d.mts","sourceRoot":"","sources":["../../src/resources/responses/ws.ts"],"names":[],"mappings":"OAEO,KAAK,EAAE,MAAM,IAAI;OACjB,EAAE,
|
|
1
|
+
{"version":3,"file":"ws.d.mts","sourceRoot":"","sources":["../../src/resources/responses/ws.ts"],"names":[],"mappings":"OAEO,KAAK,EAAE,MAAM,IAAI;OACjB,EAAE,aAAa,EAAE;OACjB,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE;OAChD,EAAE,MAAM,EAAE;YAEL,EAAE,2BAA2B,EAAE;AAE3C,MAAM,WAAW,wBAAyB,SAAQ,EAAE,CAAC,aAAa,EAAE,sBAAsB;CAAG;AAE7F,qBAAa,WAAY,SAAQ,eAAe,CAAC,aAAa,CAAC;IAC7D,OAAO,CAAC,UAAU,CAAsC;gBAE5C,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS;IAajF,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa;CAUtF"}
|
|
@@ -1,42 +1,13 @@
|
|
|
1
1
|
import * as WS from 'ws';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { NodeWebSocket } from "../../internal/ws-adapter-node.js";
|
|
3
|
+
import { ResponsesWSBase, type ResponsesWSBaseOptions } from "./ws-base.js";
|
|
4
4
|
import { OpenAI } from "../../client.js";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
code: number;
|
|
13
|
-
reason: string;
|
|
14
|
-
}): void;
|
|
15
|
-
/**
|
|
16
|
-
* Returns an async iterator over WebSocket lifecycle and message events,
|
|
17
|
-
* providing an alternative to the event-based `.on()` API.
|
|
18
|
-
* The iterator will exit if the socket closes but breaking out of the iterator
|
|
19
|
-
* does not close the socket.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```ts
|
|
23
|
-
* for await (const event of connection.stream()) {
|
|
24
|
-
* switch (event.type) {
|
|
25
|
-
* case 'message':
|
|
26
|
-
* console.log('received:', event.message);
|
|
27
|
-
* break;
|
|
28
|
-
* case 'error':
|
|
29
|
-
* console.error(event.error);
|
|
30
|
-
* break;
|
|
31
|
-
* case 'close':
|
|
32
|
-
* console.log('connection closed');
|
|
33
|
-
* break;
|
|
34
|
-
* }
|
|
35
|
-
* }
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
stream(): AsyncIterableIterator<ResponsesStreamMessage>;
|
|
39
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<ResponsesStreamMessage>;
|
|
40
|
-
private authHeaders;
|
|
5
|
+
export type { ResponsesWSReconnectOptions } from "./ws-base.js";
|
|
6
|
+
export interface ResponsesWSClientOptions extends WS.ClientOptions, ResponsesWSBaseOptions {
|
|
7
|
+
}
|
|
8
|
+
export declare class ResponsesWS extends ResponsesWSBase<NodeWebSocket> {
|
|
9
|
+
private _wsOptions;
|
|
10
|
+
constructor(client: OpenAI, options?: ResponsesWSClientOptions | null | undefined);
|
|
11
|
+
protected _createSocket(url: URL, authHeaders: Record<string, string>): NodeWebSocket;
|
|
41
12
|
}
|
|
42
13
|
//# sourceMappingURL=ws.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/resources/responses/ws.ts"],"names":[],"mappings":"OAEO,KAAK,EAAE,MAAM,IAAI;OACjB,EAAE,
|
|
1
|
+
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/resources/responses/ws.ts"],"names":[],"mappings":"OAEO,KAAK,EAAE,MAAM,IAAI;OACjB,EAAE,aAAa,EAAE;OACjB,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE;OAChD,EAAE,MAAM,EAAE;YAEL,EAAE,2BAA2B,EAAE;AAE3C,MAAM,WAAW,wBAAyB,SAAQ,EAAE,CAAC,aAAa,EAAE,sBAAsB;CAAG;AAE7F,qBAAa,WAAY,SAAQ,eAAe,CAAC,aAAa,CAAC;IAC7D,OAAO,CAAC,UAAU,CAAsC;gBAE5C,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS;IAajF,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa;CAUtF"}
|