@blit-sh/core 0.21.0 → 0.22.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.
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Multiplexed WebSocket transport.
3
+ *
4
+ * A single WebSocket connection to the gateway carries traffic for all
5
+ * destinations. Each destination gets a lightweight "channel" that
6
+ * implements {@link BlitTransport} so it can be handed directly to a
7
+ * {@link BlitConnection}.
8
+ *
9
+ * Wire format (after authentication):
10
+ *
11
+ * Data frame: [channel_id:2 LE][blit_payload:N]
12
+ * Control frame: [0xFFFF][opcode:1][...]
13
+ *
14
+ * Control opcodes:
15
+ * C2S OPEN 0x01 [ch:2][name_len:2][name:N]
16
+ * C2S CLOSE 0x02 [ch:2]
17
+ * S2C OPENED 0x81 [ch:2]
18
+ * S2C CLOSED 0x82 [ch:2]
19
+ * S2C ERROR 0x83 [ch:2][msg_len:2][msg:N]
20
+ */
21
+ import type { BlitTransport, BlitTransportOptions, ConnectionStatus } from "../types";
22
+ export interface MuxTransportOptions extends BlitTransportOptions {
23
+ }
24
+ /**
25
+ * Manages a single multiplexed WebSocket and exposes per-destination
26
+ * channels that each implement {@link BlitTransport}.
27
+ */
28
+ export declare class MuxTransport {
29
+ private ws;
30
+ private _status;
31
+ private reconnectTimer;
32
+ private currentDelay;
33
+ private disposed;
34
+ private readonly url;
35
+ private readonly passphrase;
36
+ private readonly _reconnect;
37
+ private readonly initialDelay;
38
+ private readonly maxDelay;
39
+ private readonly backoff;
40
+ /** All channels keyed by channel ID. */
41
+ private readonly channels;
42
+ /** Next channel ID to assign. */
43
+ private nextChannelId;
44
+ /** Channels that were open/opening when the WS dropped — need re-open on reconnect. */
45
+ private readonly pendingReopen;
46
+ /** Per-channel reconnect timers for channels that received S2C_CLOSED/ERROR. */
47
+ private readonly channelReconnectTimers;
48
+ constructor(url: string, passphrase: string, options?: MuxTransportOptions);
49
+ /** Current WebSocket-level status. */
50
+ get status(): ConnectionStatus;
51
+ connect(): void;
52
+ close(): void;
53
+ /**
54
+ * Create a channel for the given destination name. The channel is not
55
+ * opened until its `connect()` method is called (which happens
56
+ * automatically when a {@link BlitConnection} is created with
57
+ * `autoConnect: true`).
58
+ */
59
+ createChannel(destName: string): MuxChannel;
60
+ /**
61
+ * Remove a channel. Sends CLOSE if the underlying WebSocket is open.
62
+ * Called internally by {@link MuxChannel.close}.
63
+ */
64
+ _removeChannel(ch: MuxChannel): void;
65
+ /** @internal Cancel any pending per-channel reconnect timer. */
66
+ _cancelChannelReconnect(channelId: number): void;
67
+ /** Send a raw binary frame over the WebSocket. Used by MuxChannel. */
68
+ _sendRaw(data: Uint8Array): void;
69
+ /** Send an OPEN control message for a channel. */
70
+ _sendOpen(ch: MuxChannel): void;
71
+ private setStatus;
72
+ private scheduleReconnect;
73
+ /**
74
+ * Schedule a re-open attempt for a single channel after it received
75
+ * S2C_CLOSED or S2C_ERROR. Uses per-channel exponential backoff.
76
+ */
77
+ private scheduleChannelReconnect;
78
+ private sendClose;
79
+ private reopenChannels;
80
+ private handleBinaryFrame;
81
+ private handleControl;
82
+ }
83
+ /**
84
+ * A single virtual channel on a {@link MuxTransport}.
85
+ * Implements {@link BlitTransport} so it can be used directly by
86
+ * {@link BlitConnection}.
87
+ */
88
+ export declare class MuxChannel implements BlitTransport {
89
+ /** @internal */ _internalStatus: ConnectionStatus;
90
+ /** @internal */ _lastError: string | null;
91
+ /** @internal Per-channel backoff delay for reconnect scheduling. */
92
+ /** @internal */ _reconnectDelay: number;
93
+ private readonly mux;
94
+ readonly channelId: number;
95
+ readonly destName: string;
96
+ private _authRejected;
97
+ private messageListeners;
98
+ private statusListeners;
99
+ constructor(mux: MuxTransport, channelId: number, destName: string, initialDelay: number);
100
+ get status(): ConnectionStatus;
101
+ get authRejected(): boolean;
102
+ get lastError(): string | null;
103
+ connect(): void;
104
+ send(data: Uint8Array): void;
105
+ close(): void;
106
+ addEventListener(type: "message", listener: (data: ArrayBuffer) => void): void;
107
+ addEventListener(type: "statuschange", listener: (status: ConnectionStatus) => void): void;
108
+ removeEventListener(type: "message", listener: (data: ArrayBuffer) => void): void;
109
+ removeEventListener(type: "statuschange", listener: (status: ConnectionStatus) => void): void;
110
+ /** @internal */
111
+ _setStatus(status: ConnectionStatus): void;
112
+ /** @internal */
113
+ _setAuthRejected(): void;
114
+ /** @internal */
115
+ _deliverMessage(data: ArrayBuffer): void;
116
+ }
117
+ //# sourceMappingURL=mux.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mux.d.ts","sourceRoot":"","sources":["../../src/transports/mux.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,440 @@
1
+ /**
2
+ * Multiplexed WebSocket transport.
3
+ *
4
+ * A single WebSocket connection to the gateway carries traffic for all
5
+ * destinations. Each destination gets a lightweight "channel" that
6
+ * implements {@link BlitTransport} so it can be handed directly to a
7
+ * {@link BlitConnection}.
8
+ *
9
+ * Wire format (after authentication):
10
+ *
11
+ * Data frame: [channel_id:2 LE][blit_payload:N]
12
+ * Control frame: [0xFFFF][opcode:1][...]
13
+ *
14
+ * Control opcodes:
15
+ * C2S OPEN 0x01 [ch:2][name_len:2][name:N]
16
+ * C2S CLOSE 0x02 [ch:2]
17
+ * S2C OPENED 0x81 [ch:2]
18
+ * S2C CLOSED 0x82 [ch:2]
19
+ * S2C ERROR 0x83 [ch:2][msg_len:2][msg:N]
20
+ */
21
+ // -- Protocol constants -----------------------------------------------------
22
+ const MUX_CONTROL = 0xffff;
23
+ const MUX_C2S_OPEN = 0x01;
24
+ const MUX_C2S_CLOSE = 0x02;
25
+ const MUX_S2C_OPENED = 0x81;
26
+ const MUX_S2C_CLOSED = 0x82;
27
+ const MUX_S2C_ERROR = 0x83;
28
+ const textDecoder = new TextDecoder();
29
+ /**
30
+ * Manages a single multiplexed WebSocket and exposes per-destination
31
+ * channels that each implement {@link BlitTransport}.
32
+ */
33
+ export class MuxTransport {
34
+ constructor(url, passphrase, options) {
35
+ this.ws = null;
36
+ this._status = "disconnected";
37
+ this.reconnectTimer = null;
38
+ this.disposed = false;
39
+ /** All channels keyed by channel ID. */
40
+ this.channels = new Map();
41
+ /** Next channel ID to assign. */
42
+ this.nextChannelId = 0;
43
+ /** Channels that were open/opening when the WS dropped — need re-open on reconnect. */
44
+ this.pendingReopen = new Set();
45
+ /** Per-channel reconnect timers for channels that received S2C_CLOSED/ERROR. */
46
+ this.channelReconnectTimers = new Map();
47
+ this.url = url;
48
+ this.passphrase = passphrase;
49
+ this._reconnect = options?.reconnect ?? true;
50
+ this.initialDelay = options?.reconnectDelay ?? 500;
51
+ this.maxDelay = options?.maxReconnectDelay ?? 10000;
52
+ this.backoff = options?.reconnectBackoff ?? 1.5;
53
+ this.currentDelay = this.initialDelay;
54
+ }
55
+ /** Current WebSocket-level status. */
56
+ get status() {
57
+ return this._status;
58
+ }
59
+ // -- Lifecycle ------------------------------------------------------------
60
+ connect() {
61
+ if (this.disposed)
62
+ return;
63
+ if (this.reconnectTimer !== null) {
64
+ clearTimeout(this.reconnectTimer);
65
+ this.reconnectTimer = null;
66
+ this.currentDelay = this.initialDelay;
67
+ }
68
+ if (this._status === "connecting" ||
69
+ this._status === "authenticating" ||
70
+ this._status === "connected")
71
+ return;
72
+ this.setStatus("connecting");
73
+ const socket = new WebSocket(this.url);
74
+ socket.binaryType = "arraybuffer";
75
+ if (this.ws && this.ws !== socket) {
76
+ try {
77
+ this.ws.onclose = null;
78
+ this.ws.close();
79
+ }
80
+ catch {
81
+ /* ignore */
82
+ }
83
+ }
84
+ this.ws = socket;
85
+ let authenticated = false;
86
+ socket.onopen = () => {
87
+ if (this.ws !== socket || this.disposed)
88
+ return;
89
+ this.setStatus("authenticating");
90
+ socket.send(this.passphrase);
91
+ };
92
+ socket.onmessage = (e) => {
93
+ if (this.ws !== socket || this.disposed)
94
+ return;
95
+ if (typeof e.data === "string") {
96
+ if (e.data === "mux") {
97
+ authenticated = true;
98
+ this.setStatus("connected");
99
+ this.currentDelay = this.initialDelay;
100
+ // Re-open channels that were active before a disconnect.
101
+ this.reopenChannels();
102
+ }
103
+ else if (e.data === "auth") {
104
+ // Propagate auth failure to all channels.
105
+ for (const ch of this.channels.values()) {
106
+ ch._setAuthRejected();
107
+ }
108
+ this.setStatus("error");
109
+ socket.close();
110
+ }
111
+ else {
112
+ this.setStatus("error");
113
+ socket.close();
114
+ }
115
+ return;
116
+ }
117
+ if (authenticated && e.data instanceof ArrayBuffer) {
118
+ this.handleBinaryFrame(e.data);
119
+ }
120
+ };
121
+ socket.onerror = () => {
122
+ if (this.ws !== socket || this.disposed)
123
+ return;
124
+ if (!authenticated) {
125
+ this.setStatus("error");
126
+ }
127
+ };
128
+ socket.onclose = () => {
129
+ if (this.ws !== socket || this.disposed)
130
+ return;
131
+ this.ws = null;
132
+ // Cancel per-channel reconnect timers — the WS-level reconnect
133
+ // will re-open all channels via reopenChannels().
134
+ for (const timer of this.channelReconnectTimers.values()) {
135
+ clearTimeout(timer);
136
+ }
137
+ this.channelReconnectTimers.clear();
138
+ // Queue ALL non-closed channels for reopen (not just connected/
139
+ // connecting ones — a channel that was already "disconnected" from
140
+ // a prior S2C_CLOSED also needs to be retried once the WS is back).
141
+ for (const ch of this.channels.values()) {
142
+ if (ch._internalStatus !== "closed") {
143
+ this.pendingReopen.add(ch);
144
+ }
145
+ ch._setStatus("disconnected");
146
+ }
147
+ this.setStatus("disconnected");
148
+ this.scheduleReconnect();
149
+ };
150
+ }
151
+ close() {
152
+ this.disposed = true;
153
+ if (this.reconnectTimer !== null) {
154
+ clearTimeout(this.reconnectTimer);
155
+ this.reconnectTimer = null;
156
+ }
157
+ for (const timer of this.channelReconnectTimers.values()) {
158
+ clearTimeout(timer);
159
+ }
160
+ this.channelReconnectTimers.clear();
161
+ for (const ch of this.channels.values()) {
162
+ ch._setStatus("closed");
163
+ }
164
+ this.channels.clear();
165
+ this.pendingReopen.clear();
166
+ if (this.ws) {
167
+ this.ws.onclose = null;
168
+ this.ws.onerror = null;
169
+ this.ws.onmessage = null;
170
+ this.ws.onopen = null;
171
+ this.ws.close();
172
+ this.ws = null;
173
+ }
174
+ this.setStatus("closed");
175
+ }
176
+ // -- Channel management ---------------------------------------------------
177
+ /**
178
+ * Create a channel for the given destination name. The channel is not
179
+ * opened until its `connect()` method is called (which happens
180
+ * automatically when a {@link BlitConnection} is created with
181
+ * `autoConnect: true`).
182
+ */
183
+ createChannel(destName) {
184
+ const id = this.nextChannelId++;
185
+ const ch = new MuxChannel(this, id, destName, this.initialDelay);
186
+ this.channels.set(id, ch);
187
+ return ch;
188
+ }
189
+ /**
190
+ * Remove a channel. Sends CLOSE if the underlying WebSocket is open.
191
+ * Called internally by {@link MuxChannel.close}.
192
+ */
193
+ _removeChannel(ch) {
194
+ this.channels.delete(ch.channelId);
195
+ this.pendingReopen.delete(ch);
196
+ this._cancelChannelReconnect(ch.channelId);
197
+ if (this._status === "connected") {
198
+ this.sendClose(ch.channelId);
199
+ }
200
+ }
201
+ /** @internal Cancel any pending per-channel reconnect timer. */
202
+ _cancelChannelReconnect(channelId) {
203
+ const timer = this.channelReconnectTimers.get(channelId);
204
+ if (timer !== undefined) {
205
+ clearTimeout(timer);
206
+ this.channelReconnectTimers.delete(channelId);
207
+ }
208
+ }
209
+ /** Send a raw binary frame over the WebSocket. Used by MuxChannel. */
210
+ _sendRaw(data) {
211
+ if (this.ws && this.ws.readyState === WebSocket.OPEN) {
212
+ this.ws.send(data);
213
+ }
214
+ }
215
+ /** Send an OPEN control message for a channel. */
216
+ _sendOpen(ch) {
217
+ if (this._status !== "connected") {
218
+ // Queue for when the WS connects.
219
+ this.pendingReopen.add(ch);
220
+ return;
221
+ }
222
+ const nameBytes = new TextEncoder().encode(ch.destName);
223
+ const buf = new Uint8Array(2 + 1 + 2 + 2 + nameBytes.length);
224
+ const view = new DataView(buf.buffer);
225
+ view.setUint16(0, MUX_CONTROL, true);
226
+ buf[2] = MUX_C2S_OPEN;
227
+ view.setUint16(3, ch.channelId, true);
228
+ view.setUint16(5, nameBytes.length, true);
229
+ buf.set(nameBytes, 7);
230
+ this._sendRaw(buf);
231
+ }
232
+ // -- Internal -------------------------------------------------------------
233
+ setStatus(status) {
234
+ if (this._status === status)
235
+ return;
236
+ this._status = status;
237
+ }
238
+ scheduleReconnect() {
239
+ if (this.disposed || !this._reconnect)
240
+ return;
241
+ if (this.reconnectTimer !== null)
242
+ return;
243
+ this.reconnectTimer = setTimeout(() => {
244
+ this.reconnectTimer = null;
245
+ if (!this.disposed) {
246
+ this.connect();
247
+ }
248
+ }, this.currentDelay);
249
+ this.currentDelay = Math.min(this.currentDelay * this.backoff, this.maxDelay);
250
+ }
251
+ /**
252
+ * Schedule a re-open attempt for a single channel after it received
253
+ * S2C_CLOSED or S2C_ERROR. Uses per-channel exponential backoff.
254
+ */
255
+ scheduleChannelReconnect(ch) {
256
+ if (this.disposed || !this._reconnect)
257
+ return;
258
+ if (ch._internalStatus === "closed")
259
+ return;
260
+ if (this.channelReconnectTimers.has(ch.channelId))
261
+ return;
262
+ const delay = ch._reconnectDelay;
263
+ ch._reconnectDelay = Math.min(delay * this.backoff, this.maxDelay);
264
+ this.channelReconnectTimers.set(ch.channelId, setTimeout(() => {
265
+ this.channelReconnectTimers.delete(ch.channelId);
266
+ if (this.disposed || !this.channels.has(ch.channelId))
267
+ return;
268
+ if (ch._internalStatus === "closed")
269
+ return;
270
+ if (this._status === "connected") {
271
+ ch._setStatus("connecting");
272
+ this._sendOpen(ch);
273
+ }
274
+ else {
275
+ // WS not connected — queue for when it reconnects.
276
+ this.pendingReopen.add(ch);
277
+ }
278
+ }, delay));
279
+ }
280
+ sendClose(channelId) {
281
+ const buf = new Uint8Array(5);
282
+ const view = new DataView(buf.buffer);
283
+ view.setUint16(0, MUX_CONTROL, true);
284
+ buf[2] = MUX_C2S_CLOSE;
285
+ view.setUint16(3, channelId, true);
286
+ this._sendRaw(buf);
287
+ }
288
+ reopenChannels() {
289
+ // Reopen channels that were active before the disconnect.
290
+ for (const ch of this.pendingReopen) {
291
+ ch._setStatus("connecting");
292
+ this._sendOpen(ch);
293
+ }
294
+ this.pendingReopen.clear();
295
+ }
296
+ handleBinaryFrame(data) {
297
+ if (data.byteLength < 2)
298
+ return;
299
+ const bytes = new Uint8Array(data);
300
+ const chId = bytes[0] | (bytes[1] << 8);
301
+ if (chId === MUX_CONTROL) {
302
+ this.handleControl(bytes);
303
+ }
304
+ else {
305
+ const ch = this.channels.get(chId);
306
+ if (ch) {
307
+ // Deliver the payload (without the 2-byte channel prefix).
308
+ ch._deliverMessage(data.slice(2));
309
+ }
310
+ }
311
+ }
312
+ handleControl(bytes) {
313
+ if (bytes.length < 5)
314
+ return;
315
+ const opcode = bytes[2];
316
+ const chId = bytes[3] | (bytes[4] << 8);
317
+ const ch = this.channels.get(chId);
318
+ switch (opcode) {
319
+ case MUX_S2C_OPENED:
320
+ if (ch) {
321
+ ch._lastError = null;
322
+ ch._reconnectDelay = this.initialDelay;
323
+ ch._setStatus("connected");
324
+ }
325
+ break;
326
+ case MUX_S2C_CLOSED:
327
+ if (ch) {
328
+ ch._setStatus("disconnected");
329
+ this.scheduleChannelReconnect(ch);
330
+ }
331
+ break;
332
+ case MUX_S2C_ERROR: {
333
+ if (bytes.length < 7)
334
+ break;
335
+ const msgLen = bytes[5] | (bytes[6] << 8);
336
+ const msg = bytes.length >= 7 + msgLen
337
+ ? textDecoder.decode(bytes.subarray(7, 7 + msgLen))
338
+ : "unknown error";
339
+ if (ch) {
340
+ ch._lastError = msg;
341
+ ch._setStatus("error");
342
+ this.scheduleChannelReconnect(ch);
343
+ }
344
+ break;
345
+ }
346
+ }
347
+ }
348
+ }
349
+ // -- MuxChannel -------------------------------------------------------------
350
+ /**
351
+ * A single virtual channel on a {@link MuxTransport}.
352
+ * Implements {@link BlitTransport} so it can be used directly by
353
+ * {@link BlitConnection}.
354
+ */
355
+ export class MuxChannel {
356
+ constructor(mux, channelId, destName, initialDelay) {
357
+ /** @internal */ this._internalStatus = "disconnected";
358
+ /** @internal */ this._lastError = null;
359
+ this._authRejected = false;
360
+ this.messageListeners = new Set();
361
+ this.statusListeners = new Set();
362
+ this.mux = mux;
363
+ this.channelId = channelId;
364
+ this.destName = destName;
365
+ this._reconnectDelay = initialDelay;
366
+ }
367
+ get status() {
368
+ return this._internalStatus;
369
+ }
370
+ get authRejected() {
371
+ return this._authRejected;
372
+ }
373
+ get lastError() {
374
+ return this._lastError;
375
+ }
376
+ connect() {
377
+ if (this._internalStatus === "connecting" ||
378
+ this._internalStatus === "connected" ||
379
+ this._internalStatus === "closed")
380
+ return;
381
+ this.mux._cancelChannelReconnect(this.channelId);
382
+ this._setStatus("connecting");
383
+ this.mux._sendOpen(this);
384
+ }
385
+ send(data) {
386
+ if (this._internalStatus !== "connected")
387
+ return;
388
+ // Prepend the 2-byte channel ID.
389
+ const frame = new Uint8Array(2 + data.length);
390
+ frame[0] = this.channelId & 0xff;
391
+ frame[1] = (this.channelId >> 8) & 0xff;
392
+ frame.set(data, 2);
393
+ this.mux._sendRaw(frame);
394
+ }
395
+ close() {
396
+ if (this._internalStatus === "closed")
397
+ return;
398
+ this.mux._removeChannel(this);
399
+ this._setStatus("closed");
400
+ }
401
+ addEventListener(type, listener) {
402
+ if (type === "message") {
403
+ this.messageListeners.add(listener);
404
+ }
405
+ else if (type === "statuschange") {
406
+ this.statusListeners.add(listener);
407
+ }
408
+ }
409
+ removeEventListener(type, listener) {
410
+ if (type === "message") {
411
+ this.messageListeners.delete(listener);
412
+ }
413
+ else if (type === "statuschange") {
414
+ this.statusListeners.delete(listener);
415
+ }
416
+ }
417
+ // -- Internal (called by MuxTransport) ------------------------------------
418
+ /** @internal */
419
+ _setStatus(status) {
420
+ if (this._internalStatus === status)
421
+ return;
422
+ if (this._internalStatus === "closed")
423
+ return; // terminal
424
+ this._internalStatus = status;
425
+ for (const l of this.statusListeners)
426
+ l(status);
427
+ }
428
+ /** @internal */
429
+ _setAuthRejected() {
430
+ this._authRejected = true;
431
+ this._lastError = "Authentication failed";
432
+ this._setStatus("error");
433
+ }
434
+ /** @internal */
435
+ _deliverMessage(data) {
436
+ for (const l of this.messageListeners)
437
+ l(data);
438
+ }
439
+ }
440
+ //# sourceMappingURL=mux.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mux.js","sourceRoot":"","sources":["../../src/transports/mux.ts"],"names":[],"mappings":"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"}