openai-ws-opencode 0.1.25 → 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.
- package/README.md +6 -1
- package/bin/setup.js +82 -30
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/models/catalog.d.ts +2 -0
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/catalog.js +6 -2
- package/dist/models/catalog.js.map +1 -1
- package/dist/models/resolve.d.ts.map +1 -1
- package/dist/models/resolve.js +64 -40
- package/dist/models/resolve.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +22 -12
- package/dist/plugin.js.map +1 -1
- package/dist/testing.d.ts +96 -2
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +18 -2
- package/dist/testing.js.map +1 -1
- package/dist/transport/breaker.d.ts +41 -0
- package/dist/transport/breaker.d.ts.map +1 -0
- package/dist/transport/breaker.js +207 -0
- package/dist/transport/breaker.js.map +1 -0
- package/dist/transport/bridge.d.ts +6 -1
- package/dist/transport/bridge.d.ts.map +1 -1
- package/dist/transport/bridge.js +274 -72
- package/dist/transport/bridge.js.map +1 -1
- package/dist/transport/config.d.ts +37 -1
- package/dist/transport/config.d.ts.map +1 -1
- package/dist/transport/config.js +318 -6
- package/dist/transport/config.js.map +1 -1
- package/dist/transport/coordinator.d.ts +223 -0
- package/dist/transport/coordinator.d.ts.map +1 -0
- package/dist/transport/coordinator.js +506 -0
- package/dist/transport/coordinator.js.map +1 -0
- package/dist/transport/errors.d.ts +24 -0
- package/dist/transport/errors.d.ts.map +1 -0
- package/dist/transport/errors.js +49 -0
- package/dist/transport/errors.js.map +1 -0
- package/dist/transport/pool.d.ts +114 -7
- package/dist/transport/pool.d.ts.map +1 -1
- package/dist/transport/pool.js +473 -188
- package/dist/transport/pool.js.map +1 -1
- package/package.json +2 -2
package/dist/transport/pool.d.ts
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { type WebSocketConstructor, type WebSocketLike } from "./bun-websocket.js";
|
|
2
|
+
import { type ConnectPermit, type TransportProvider } from "./coordinator.js";
|
|
2
3
|
import type { TransportContext } from "./headers.js";
|
|
3
4
|
type PendingMetadata = {
|
|
4
5
|
responseId?: string;
|
|
5
6
|
activeResponseId?: string;
|
|
6
7
|
};
|
|
8
|
+
export interface StreamSink {
|
|
9
|
+
enqueue(chunk: Uint8Array): void;
|
|
10
|
+
close(): void;
|
|
11
|
+
error(error: Error): void;
|
|
12
|
+
}
|
|
7
13
|
export interface PendingRequest {
|
|
8
14
|
body: Record<string, unknown>;
|
|
9
|
-
|
|
15
|
+
sink: StreamSink;
|
|
10
16
|
onFinalize?: () => void;
|
|
11
17
|
onError?: (error: Error, pending: PendingRequest) => boolean;
|
|
12
18
|
done: boolean;
|
|
@@ -15,14 +21,10 @@ export interface PendingRequest {
|
|
|
15
21
|
framesReceived: boolean;
|
|
16
22
|
finalMessageOutputReceived: boolean;
|
|
17
23
|
processedAckSent: boolean;
|
|
18
|
-
previousResponseNotFoundRetried: boolean;
|
|
19
24
|
idleTimer: ReturnType<typeof setTimeout> | null;
|
|
20
25
|
metadata: PendingMetadata;
|
|
26
|
+
streamKey: string;
|
|
21
27
|
}
|
|
22
|
-
export declare class WebSocketPreStreamTransportError extends Error {
|
|
23
|
-
constructor(message: string);
|
|
24
|
-
}
|
|
25
|
-
export declare function isWebSocketPreStreamTransportError(error: unknown): error is WebSocketPreStreamTransportError;
|
|
26
28
|
export interface PooledConnection {
|
|
27
29
|
id: string;
|
|
28
30
|
ws: WebSocketLike | null;
|
|
@@ -31,6 +33,11 @@ export interface PooledConnection {
|
|
|
31
33
|
scopeKey: string;
|
|
32
34
|
scopeHash: string;
|
|
33
35
|
contextKey: string;
|
|
36
|
+
endpointKey: string;
|
|
37
|
+
accountFp: string;
|
|
38
|
+
provider: TransportProvider;
|
|
39
|
+
origin: string;
|
|
40
|
+
authGeneration: number;
|
|
34
41
|
busy: boolean;
|
|
35
42
|
warm: boolean;
|
|
36
43
|
staleAuth: boolean;
|
|
@@ -49,6 +56,7 @@ export interface PooledConnection {
|
|
|
49
56
|
generation: number;
|
|
50
57
|
reconnectAttempts: number;
|
|
51
58
|
createdAt: number;
|
|
59
|
+
expiresAt: number;
|
|
52
60
|
lastActivityAt: number;
|
|
53
61
|
lastCloseCode?: number;
|
|
54
62
|
lastCloseReason?: string;
|
|
@@ -59,6 +67,14 @@ export interface PooledConnection {
|
|
|
59
67
|
connectTimer: ReturnType<typeof setTimeout> | null;
|
|
60
68
|
retryTimer: ReturnType<typeof setTimeout> | null;
|
|
61
69
|
detach: (() => void) | null;
|
|
70
|
+
socketReserved: boolean;
|
|
71
|
+
socketReleased: boolean;
|
|
72
|
+
sessionCounted: boolean;
|
|
73
|
+
connectPermit: ConnectPermit | null;
|
|
74
|
+
connectFinished: boolean;
|
|
75
|
+
turnCount: number;
|
|
76
|
+
intent: "demand" | "prewarm";
|
|
77
|
+
breakerDomain: string;
|
|
62
78
|
}
|
|
63
79
|
export declare const connectionPool: PooledConnection[];
|
|
64
80
|
export declare const readyState: {
|
|
@@ -70,9 +86,100 @@ export declare const readyState: {
|
|
|
70
86
|
export declare function closeConnection(conn: PooledConnection, reason?: string, graceful?: boolean): void;
|
|
71
87
|
export declare function sendPending(conn: PooledConnection): boolean;
|
|
72
88
|
export declare function invalidateStaleAuthConnections(wsUrl: string, headers: Record<string, string>): void;
|
|
73
|
-
export declare function acquireConnection(wsUrl: string, headers: Record<string, string>, context: TransportContext,
|
|
89
|
+
export declare function acquireConnection(wsUrl: string, headers: Record<string, string>, context: TransportContext, _signal?: AbortSignal): PooledConnection;
|
|
74
90
|
export declare function ensureWarmConnection(wsUrl: string, headers: Record<string, string>): PooledConnection | undefined;
|
|
75
91
|
export declare function closeConnections(predicate?: (conn: PooledConnection) => boolean, message?: string): void;
|
|
92
|
+
export declare function nextStreamKeyForTesting(): string;
|
|
93
|
+
export declare function allocateStreamKey(): string;
|
|
94
|
+
export declare function syncCoordinatorFromTransportConfig(): void;
|
|
95
|
+
export declare function getTransportSnapshotForTesting(): {
|
|
96
|
+
physicalSockets: number;
|
|
97
|
+
connecting: number;
|
|
98
|
+
prewarming: number;
|
|
99
|
+
sessions: number;
|
|
100
|
+
accountEntries: number;
|
|
101
|
+
rateEntries: number;
|
|
102
|
+
queuedInboundBytes: number;
|
|
103
|
+
queuedInboundMessages: number;
|
|
104
|
+
queueOverflows: number;
|
|
105
|
+
providerQueues: {
|
|
106
|
+
codex: {
|
|
107
|
+
bytes: number;
|
|
108
|
+
messages: number;
|
|
109
|
+
};
|
|
110
|
+
openai: {
|
|
111
|
+
bytes: number;
|
|
112
|
+
messages: number;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
counters: {
|
|
116
|
+
admissionMissesByReason: {
|
|
117
|
+
provider_breaker: number;
|
|
118
|
+
session_busy: number;
|
|
119
|
+
session_cooldown: number;
|
|
120
|
+
provider_cap: number;
|
|
121
|
+
process_cap: number;
|
|
122
|
+
account_cap: number;
|
|
123
|
+
connect_cap: number;
|
|
124
|
+
handshake_rate: number;
|
|
125
|
+
memory_guard: number;
|
|
126
|
+
connect_failure: number;
|
|
127
|
+
handshake_timeout: number;
|
|
128
|
+
stale_auth: number;
|
|
129
|
+
};
|
|
130
|
+
httpByReason: {
|
|
131
|
+
provider_breaker: number;
|
|
132
|
+
session_busy: number;
|
|
133
|
+
session_cooldown: number;
|
|
134
|
+
provider_cap: number;
|
|
135
|
+
process_cap: number;
|
|
136
|
+
account_cap: number;
|
|
137
|
+
connect_cap: number;
|
|
138
|
+
handshake_rate: number;
|
|
139
|
+
memory_guard: number;
|
|
140
|
+
connect_failure: number;
|
|
141
|
+
handshake_timeout: number;
|
|
142
|
+
provider_connection_limit: number;
|
|
143
|
+
previous_response_not_found: number;
|
|
144
|
+
};
|
|
145
|
+
leaseAttempts: number;
|
|
146
|
+
leaseAdmissions: number;
|
|
147
|
+
connectAttempts: number;
|
|
148
|
+
connectSuccesses: number;
|
|
149
|
+
connectFailures: number;
|
|
150
|
+
connectTimeouts: number;
|
|
151
|
+
prewarmAttempts: number;
|
|
152
|
+
prewarmDeferred: number;
|
|
153
|
+
prewarmFailures: number;
|
|
154
|
+
authStaleRejects: number;
|
|
155
|
+
sessionCooldowns: number;
|
|
156
|
+
fallbacks: number;
|
|
157
|
+
maxAgeRetires: number;
|
|
158
|
+
};
|
|
159
|
+
distributions: {
|
|
160
|
+
handshakeLatencyMs: {
|
|
161
|
+
bounds: number[];
|
|
162
|
+
counts: number[];
|
|
163
|
+
};
|
|
164
|
+
socketLifetimeMs: {
|
|
165
|
+
bounds: number[];
|
|
166
|
+
counts: number[];
|
|
167
|
+
};
|
|
168
|
+
turnsPerConnection: {
|
|
169
|
+
bounds: number[];
|
|
170
|
+
counts: number[];
|
|
171
|
+
};
|
|
172
|
+
inboundQueueHighWaterBytes: {
|
|
173
|
+
bounds: number[];
|
|
174
|
+
counts: number[];
|
|
175
|
+
};
|
|
176
|
+
inboundQueueHighWaterMessages: {
|
|
177
|
+
bounds: number[];
|
|
178
|
+
counts: number[];
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
breaker: import("./breaker.js").TransportBreakerSnapshot;
|
|
182
|
+
};
|
|
76
183
|
export declare function resetPoolForTesting(): void;
|
|
77
184
|
export declare function setWebSocketConstructorForTesting(ctor: WebSocketConstructor): void;
|
|
78
185
|
export declare function resetWebSocketConstructorForTesting(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/transport/pool.ts"],"names":[],"mappings":"AAcA,OAAO,EAAmC,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/transport/pool.ts"],"names":[],"mappings":"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"}
|