openai-ws-opencode 0.1.26 → 0.1.27

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.
@@ -1,7 +1,13 @@
1
1
  import { prepareBody } from "./body.js";
2
- import { acquireConnection, closeConnection, closeConnections, isWebSocketPreStreamTransportError, sendPending, } from "./pool.js";
2
+ import { acquireConnection, allocateStreamKey, closeConnection, closeConnections, sendPending, } from "./pool.js";
3
3
  import { transportConfig } from "./config.js";
4
+ import { getTransportCoordinator } from "./coordinator.js";
5
+ import { CODEX_WS_URL } from "../constants.js";
6
+ import { isTransportFallbackEligible, WebSocketTransportError } from "./errors.js";
4
7
  const encoder = new TextEncoder();
8
+ function providerForUrl(wsUrl) {
9
+ return wsUrl === CODEX_WS_URL || wsUrl.includes("chatgpt.com/backend-api/codex") ? "codex" : "openai";
10
+ }
5
11
  function abortPending(conn, error) {
6
12
  const pending = conn.pending;
7
13
  let closeAfterCancel;
@@ -28,7 +34,7 @@ function abortPending(conn, error) {
28
34
  if (pending && !pending.done) {
29
35
  pending.done = true;
30
36
  try {
31
- pending.controller.error(error);
37
+ pending.sink.error(error);
32
38
  }
33
39
  catch { }
34
40
  }
@@ -40,27 +46,157 @@ function abortPending(conn, error) {
40
46
  function abortError(signal) {
41
47
  return signal?.reason instanceof Error ? signal.reason : new DOMException("Aborted", "AbortError");
42
48
  }
49
+ function queueOverflowError() {
50
+ return new WebSocketTransportError({
51
+ code: "queue_overflow",
52
+ phase: "active",
53
+ message: "OpenAI WebSocket inbound SSE queue overflow",
54
+ fallbackEligible: false,
55
+ breakerEligible: false,
56
+ safeToReplay: false,
57
+ });
58
+ }
59
+ class BoundedSseSink {
60
+ provider;
61
+ streamKey;
62
+ onTerminal;
63
+ chunks = [];
64
+ closed = false;
65
+ errored = null;
66
+ pullPending = null;
67
+ messages = 0;
68
+ released = false;
69
+ constructor(provider, streamKey, onTerminal) {
70
+ this.provider = provider;
71
+ this.streamKey = streamKey;
72
+ this.onTerminal = onTerminal;
73
+ }
74
+ releaseAccounting() {
75
+ if (this.released)
76
+ return;
77
+ this.released = true;
78
+ getTransportCoordinator().releaseAccounting(this.streamKey);
79
+ this.messages = 0;
80
+ }
81
+ /** Debit one queued chunk; when closed and empty, release any residual accounting. */
82
+ debitQueuedChunk(value) {
83
+ if (!this.released) {
84
+ getTransportCoordinator().adjustQueue({
85
+ provider: this.provider,
86
+ streamKey: this.streamKey,
87
+ bytes: -value.byteLength,
88
+ messages: -1,
89
+ });
90
+ this.messages = Math.max(0, this.messages - 1);
91
+ }
92
+ if (this.closed && this.chunks.length === 0)
93
+ this.releaseAccounting();
94
+ }
95
+ failOverflow() {
96
+ const error = queueOverflowError();
97
+ this.error(error);
98
+ return error;
99
+ }
100
+ enqueue(chunk) {
101
+ if (this.closed || this.errored)
102
+ return;
103
+ // Direct delivery to a waiting pull is not queued and must not be charged.
104
+ if (this.pullPending) {
105
+ const pending = this.pullPending;
106
+ this.pullPending = null;
107
+ pending.resolve({ value: chunk, done: false });
108
+ return;
109
+ }
110
+ if (this.messages + 1 > transportConfig.queueMaxMessagesPerStream) {
111
+ throw this.failOverflow();
112
+ }
113
+ const ok = getTransportCoordinator().adjustQueue({
114
+ provider: this.provider,
115
+ streamKey: this.streamKey,
116
+ bytes: chunk.byteLength,
117
+ messages: 1,
118
+ });
119
+ if (!ok) {
120
+ throw this.failOverflow();
121
+ }
122
+ this.messages += 1;
123
+ this.chunks.push(chunk);
124
+ }
125
+ close() {
126
+ if (this.closed || this.errored)
127
+ return;
128
+ this.closed = true;
129
+ // Keep accounting charged while queued chunks remain; release only when empty.
130
+ if (this.chunks.length === 0)
131
+ this.releaseAccounting();
132
+ if (this.pullPending) {
133
+ const pending = this.pullPending;
134
+ this.pullPending = null;
135
+ if (this.chunks.length > 0) {
136
+ const value = this.chunks.shift();
137
+ this.debitQueuedChunk(value);
138
+ pending.resolve({ value, done: false });
139
+ }
140
+ else {
141
+ pending.resolve({ value: undefined, done: true });
142
+ }
143
+ }
144
+ this.onTerminal();
145
+ }
146
+ error(error) {
147
+ if (this.closed || this.errored)
148
+ return;
149
+ this.errored = error;
150
+ this.chunks.length = 0;
151
+ this.releaseAccounting();
152
+ if (this.pullPending) {
153
+ const pending = this.pullPending;
154
+ this.pullPending = null;
155
+ pending.reject(error);
156
+ }
157
+ this.onTerminal();
158
+ }
159
+ pull() {
160
+ if (this.errored)
161
+ return Promise.reject(this.errored);
162
+ if (this.chunks.length > 0) {
163
+ const value = this.chunks.shift();
164
+ this.debitQueuedChunk(value);
165
+ return Promise.resolve({ value, done: false });
166
+ }
167
+ if (this.closed)
168
+ return Promise.resolve({ value: undefined, done: true });
169
+ return new Promise((resolve, reject) => {
170
+ this.pullPending = { resolve, reject };
171
+ });
172
+ }
173
+ cancel() {
174
+ this.chunks.length = 0;
175
+ this.releaseAccounting();
176
+ this.closed = true;
177
+ if (this.pullPending) {
178
+ const pending = this.pullPending;
179
+ this.pullPending = null;
180
+ pending.resolve({ value: undefined, done: true });
181
+ }
182
+ }
183
+ getError() {
184
+ return this.errored;
185
+ }
186
+ }
43
187
  export function bridgeWebSocket(wsUrl, headers, requestBody, isOAuth, context = {}, signal, fallbackFetch) {
44
188
  const wsBody = prepareBody(requestBody, isOAuth, context);
45
- const acquisitionController = new AbortController();
46
189
  const fallbackController = new AbortController();
47
190
  let conn;
48
191
  let finalized = false;
49
192
  let fallbackStarted = false;
193
+ let fallbackPiping = false;
194
+ let fallbackContext;
195
+ let sink;
50
196
  let streamController;
51
- const enqueuePreFirstBytePing = () => {
52
- const ping = transportConfig.preFirstBytePing;
53
- if (!ping || !streamController)
54
- return;
55
- queueMicrotask(() => {
56
- if (finalized || signal?.aborted || !streamController || conn?.pending?.framesReceived)
57
- return;
58
- try {
59
- streamController.enqueue(encoder.encode(ping));
60
- }
61
- catch { }
62
- });
63
- };
197
+ let streamSettled = false;
198
+ const streamKey = allocateStreamKey();
199
+ const provider = providerForUrl(wsUrl);
64
200
  const cleanupAbort = () => {
65
201
  if (signal)
66
202
  signal.removeEventListener("abort", onAbort);
@@ -68,58 +204,73 @@ export function bridgeWebSocket(wsUrl, headers, requestBody, isOAuth, context =
68
204
  const finalize = () => {
69
205
  finalized = true;
70
206
  cleanupAbort();
71
- acquisitionController.abort(new DOMException("Stream finalized", "AbortError"));
72
207
  fallbackController.abort(new DOMException("Stream finalized", "AbortError"));
73
208
  };
74
- const settleQueued = (error) => {
209
+ const settleError = (error) => {
210
+ if (streamSettled)
211
+ return;
212
+ streamSettled = true;
75
213
  try {
76
214
  streamController?.error(error);
77
215
  }
78
216
  catch { }
217
+ finalize();
79
218
  };
80
- const finishFallback = () => {
81
- finalized = true;
82
- cleanupAbort();
83
- acquisitionController.abort(new DOMException("Fallback finalized", "AbortError"));
84
- fallbackController.abort(new DOMException("Fallback finalized", "AbortError"));
219
+ const settleClose = () => {
220
+ if (streamSettled)
221
+ return;
222
+ streamSettled = true;
223
+ try {
224
+ streamController?.close();
225
+ }
226
+ catch { }
227
+ finalize();
228
+ };
229
+ const noteFallback = (error) => {
230
+ if (error instanceof WebSocketTransportError)
231
+ getTransportCoordinator().noteFallback(error.code);
232
+ else
233
+ getTransportCoordinator().noteFallback("connect_failure");
85
234
  };
86
235
  const pipeFallback = async () => {
87
- if (!streamController || !fallbackFetch)
236
+ if (!sink || !fallbackFetch || fallbackPiping)
88
237
  return;
238
+ fallbackPiping = true;
89
239
  try {
90
- const response = await fallbackFetch(fallbackController.signal);
91
- if (finalized)
240
+ const response = await fallbackFetch(fallbackController.signal, fallbackContext);
241
+ if (finalized || sink.getError())
92
242
  return;
93
243
  if (!response.body) {
94
- streamController.close();
95
- finishFallback();
244
+ sink.close();
96
245
  return;
97
246
  }
98
247
  const reader = response.body.getReader();
99
248
  try {
100
- while (!finalized) {
249
+ while (!finalized && !sink.getError()) {
101
250
  const { value, done } = await reader.read();
102
251
  if (done)
103
252
  break;
104
- if (value)
105
- streamController.enqueue(value);
253
+ if (!value)
254
+ continue;
255
+ try {
256
+ sink.enqueue(value);
257
+ }
258
+ catch {
259
+ return;
260
+ }
106
261
  }
107
262
  }
108
263
  finally {
109
264
  reader.releaseLock();
110
265
  }
111
- if (!finalized) {
112
- streamController.close();
113
- finishFallback();
114
- }
266
+ if (!finalized && !sink.getError())
267
+ sink.close();
115
268
  }
116
269
  catch (error) {
117
- if (finalized)
270
+ if (finalized || sink.getError())
118
271
  return;
119
- finalized = true;
120
- cleanupAbort();
121
272
  try {
122
- streamController.error(error instanceof Error ? error : new Error(String(error)));
273
+ sink.error(error instanceof Error ? error : new Error(String(error)));
123
274
  }
124
275
  catch { }
125
276
  }
@@ -127,13 +278,16 @@ export function bridgeWebSocket(wsUrl, headers, requestBody, isOAuth, context =
127
278
  const tryStartFallback = (error, pending) => {
128
279
  if (!fallbackFetch || fallbackStarted || finalized || signal?.aborted)
129
280
  return false;
130
- if (pending && (pending.framesReceived || pending.writeCommitted))
281
+ // Renderable SSE events block fallback; writeCommitted alone does not for typed replay-safe rejections.
282
+ if (pending?.framesReceived)
131
283
  return false;
132
- if (!isWebSocketPreStreamTransportError(error))
284
+ if (!isTransportFallbackEligible(error))
133
285
  return false;
134
286
  fallbackStarted = true;
135
- acquisitionController.abort(error);
136
- void pipeFallback();
287
+ if (error instanceof WebSocketTransportError && error.code === "previous_response_not_found") {
288
+ fallbackContext = { clearPreviousResponseId: true };
289
+ }
290
+ noteFallback(error);
137
291
  return true;
138
292
  };
139
293
  const onAbort = () => {
@@ -142,16 +296,18 @@ export function bridgeWebSocket(wsUrl, headers, requestBody, isOAuth, context =
142
296
  finalized = true;
143
297
  cleanupAbort();
144
298
  const error = abortError(signal);
145
- acquisitionController.abort(error);
146
299
  fallbackController.abort(error);
147
- if (fallbackStarted)
148
- settleQueued(error);
149
- else if (conn)
300
+ if (conn)
150
301
  abortPending(conn, error);
151
- else
152
- settleQueued(error);
302
+ // Fallback ownership (or pre-acquire) may leave the sink without a pending request.
303
+ if (fallbackStarted || !conn?.pending) {
304
+ try {
305
+ sink?.error(error);
306
+ }
307
+ catch { }
308
+ }
153
309
  };
154
- const startStream = (controller, acquired) => {
310
+ const startStream = (acquired, streamSink) => {
155
311
  conn = acquired;
156
312
  if (finalized || signal?.aborted) {
157
313
  abortPending(conn, abortError(signal));
@@ -163,7 +319,7 @@ export function bridgeWebSocket(wsUrl, headers, requestBody, isOAuth, context =
163
319
  conn.lastStablePrefixHash = context.stablePrefixHash ?? conn.lastStablePrefixHash;
164
320
  conn.pending = {
165
321
  body: wsBody,
166
- controller,
322
+ sink: streamSink,
167
323
  onFinalize: finalize,
168
324
  done: false,
169
325
  sent: false,
@@ -171,10 +327,16 @@ export function bridgeWebSocket(wsUrl, headers, requestBody, isOAuth, context =
171
327
  framesReceived: false,
172
328
  finalMessageOutputReceived: false,
173
329
  processedAckSent: false,
174
- previousResponseNotFoundRetried: false,
175
330
  idleTimer: null,
176
331
  metadata: {},
177
- onError: (error, pending) => tryStartFallback(error, pending),
332
+ streamKey,
333
+ onError: (error, pending) => {
334
+ if (!tryStartFallback(error, pending))
335
+ return false;
336
+ // Change owner without erroring/closing the sink; start exactly one fallback pipe.
337
+ void pipeFallback();
338
+ return true;
339
+ },
178
340
  };
179
341
  sendPending(conn);
180
342
  };
@@ -183,40 +345,80 @@ export function bridgeWebSocket(wsUrl, headers, requestBody, isOAuth, context =
183
345
  streamController = controller;
184
346
  if (signal?.aborted) {
185
347
  finalized = true;
348
+ streamSettled = true;
186
349
  controller.error(abortError(signal));
187
350
  return;
188
351
  }
189
- enqueuePreFirstBytePing();
190
- if (signal)
191
- signal.addEventListener("abort", onAbort, { once: true });
192
- const acquired = acquireConnection(wsUrl, headers, context, acquisitionController.signal);
193
- if (acquired instanceof Promise) {
194
- acquired.then((next) => startStream(controller, next)).catch((error) => {
195
- if (finalized)
352
+ sink = new BoundedSseSink(provider, streamKey, () => {
353
+ const err = sink?.getError();
354
+ if (!err)
355
+ return;
356
+ // Surface sink errors even when no pull is in flight.
357
+ settleError(err);
358
+ });
359
+ const ping = transportConfig.preFirstBytePing;
360
+ if (ping) {
361
+ queueMicrotask(() => {
362
+ if (finalized || signal?.aborted || !sink || conn?.pending?.framesReceived || fallbackStarted)
196
363
  return;
197
- const nextError = error instanceof Error ? error : new Error(String(error));
198
- if (tryStartFallback(nextError))
199
- return;
200
- finalized = true;
201
- cleanupAbort();
202
- fallbackController.abort(nextError);
203
- controller.error(nextError);
364
+ try {
365
+ // Bypass queue accounting for the tiny keep-alive comment.
366
+ if (streamController && !finalized && !streamSettled)
367
+ streamController.enqueue(encoder.encode(ping));
368
+ }
369
+ catch { }
204
370
  });
371
+ }
372
+ if (signal)
373
+ signal.addEventListener("abort", onAbort, { once: true });
374
+ try {
375
+ const acquired = acquireConnection(wsUrl, headers, context, signal);
376
+ startStream(acquired, sink);
377
+ }
378
+ catch (error) {
379
+ const nextError = error instanceof Error ? error : new Error(String(error));
380
+ if (tryStartFallback(nextError)) {
381
+ void pipeFallback();
382
+ return;
383
+ }
384
+ settleError(nextError);
385
+ fallbackController.abort(nextError);
386
+ }
387
+ },
388
+ async pull(controller) {
389
+ if (!sink)
205
390
  return;
391
+ // Do not short-circuit on finalized/fallbackStarted: queued chunks must still drain.
392
+ try {
393
+ const result = await sink.pull();
394
+ if (result.done) {
395
+ const err = sink.getError();
396
+ if (err) {
397
+ settleError(err);
398
+ return;
399
+ }
400
+ settleClose();
401
+ return;
402
+ }
403
+ if (streamSettled)
404
+ return;
405
+ controller.enqueue(result.value);
406
+ }
407
+ catch (error) {
408
+ settleError(error instanceof Error ? error : new Error(String(error)));
206
409
  }
207
- startStream(controller, acquired);
208
410
  },
209
411
  cancel() {
210
- if (finalized)
412
+ // Terminal-but-undrained sinks set finalized before the consumer drains; still release.
413
+ if (streamSettled)
211
414
  return;
415
+ streamSettled = true;
212
416
  finalized = true;
213
417
  cleanupAbort();
214
- acquisitionController.abort(new DOMException("Aborted", "AbortError"));
215
418
  fallbackController.abort(new DOMException("Aborted", "AbortError"));
419
+ sink?.cancel();
216
420
  if (conn)
217
421
  abortPending(conn, new DOMException("Aborted", "AbortError"));
218
- else
219
- settleQueued(new DOMException("Aborted", "AbortError"));
220
422
  },
221
423
  });
222
424
  return new Response(readable, {
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/transport/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/transport/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const transportConfig: {
1
+ export type TransportConfig = {
2
2
  connectTimeoutMs: number;
3
3
  maxReconnectAttempts: number;
4
4
  reconnectBaseDelayMs: number;
@@ -11,5 +11,41 @@ export declare const transportConfig: {
11
11
  preFirstBytePing: string;
12
12
  maxConnectionsPerScope: number;
13
13
  connectionMaxAgeMs: number;
14
+ connectionMaxAgeJitterMs: number;
15
+ sessionCooldownMs: number;
16
+ maxSocketsPerProvider: number;
17
+ processMaxSockets: number;
18
+ maxSocketsPerAccount: number;
19
+ maxConnecting: number;
20
+ prewarmMaxConnecting: number;
21
+ prewarmDemandReserve: number;
22
+ connectRateProcessPerMin: number;
23
+ connectRateProviderPerMin: number;
24
+ connectRateOriginPerMin: number;
25
+ connectRateAccountPerMin: number;
26
+ maxAccountingEntries: number;
27
+ queueMaxMessagesPerStream: number;
28
+ queueMaxBytesPerStream: number;
29
+ queueMaxBytesTotal: number;
30
+ shedMaxSessions: number;
31
+ shedLagMs: number;
32
+ shedRssMb: number;
33
+ breakerEnabled: boolean;
34
+ breakerWindowMs: number;
35
+ breakerMinSamples: number;
36
+ breakerFailureRatio: number;
37
+ breakerOpenMs: number;
38
+ breakerJitterMs: number;
39
+ breakerHalfOpenSuccesses: number;
40
+ breakerMaxEntries: number;
41
+ authGenerationMaxBindings: number;
14
42
  };
43
+ type EnvLike = Record<string, string | undefined>;
44
+ export declare function resolveTransportConfig(env?: EnvLike): TransportConfig;
45
+ export declare let transportConfig: TransportConfig;
46
+ /** Restore the original process boot-latched config. Does not re-read process.env. */
47
+ export declare function resetTransportConfigForTesting(): void;
48
+ export declare function setTransportConfigForTesting(partial: Partial<TransportConfig>): void;
49
+ export declare function clearTransportConfigOverrideForTesting(): void;
50
+ export {};
15
51
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/transport/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAa3B,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/transport/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,wBAAwB,EAAE,MAAM,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,iBAAiB,EAAE,MAAM,CAAA;IACzB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,wBAAwB,EAAE,MAAM,CAAA;IAChC,yBAAyB,EAAE,MAAM,CAAA;IACjC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,wBAAwB,EAAE,MAAM,CAAA;IAChC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,wBAAwB,EAAE,MAAM,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,yBAAyB,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAmTjD,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,OAAqB,GAAG,eAAe,CAIlF;AAKD,eAAO,IAAI,eAAe,EAAE,eAAqC,CAAA;AAMjE,sFAAsF;AACtF,wBAAgB,8BAA8B,SAG7C;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,QAK7E;AAED,wBAAgB,sCAAsC,SAGrD"}