@arcaresearch/sdk 0.1.61 → 0.1.63
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/dist/arca.d.ts +90 -40
- package/dist/arca.d.ts.map +1 -1
- package/dist/arca.js +147 -79
- package/dist/arca.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/streams.d.ts +10 -17
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +84 -86
- package/dist/streams.js.map +1 -1
- package/dist/types.d.ts +27 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/websocket.d.ts +14 -29
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +109 -131
- package/dist/websocket.js.map +1 -1
- package/package.json +1 -1
package/dist/websocket.js
CHANGED
|
@@ -26,25 +26,22 @@ class WebSocketManager {
|
|
|
26
26
|
statusCallbacks = new Set();
|
|
27
27
|
errorCallbacks = new Set();
|
|
28
28
|
lastStatus = 'disconnected';
|
|
29
|
-
subscribedChannels = [];
|
|
30
29
|
subscribedMids = null;
|
|
31
30
|
subscribedCandles = null;
|
|
32
31
|
shouldReconnect = false;
|
|
33
|
-
// Ref-counted
|
|
34
|
-
|
|
32
|
+
// Ref-counted path watch engine
|
|
33
|
+
pathRefs = new Map();
|
|
34
|
+
snapshotCache = new Map();
|
|
35
|
+
pendingSnapshots = new Map(); // requestId → pending snapshot
|
|
35
36
|
midsRefs = 0;
|
|
36
37
|
midsExchange = 'sim';
|
|
37
|
-
candleRefs = new Map();
|
|
38
|
+
candleRefs = new Map();
|
|
38
39
|
unsubTimers = new Map();
|
|
39
40
|
idleTimer = null;
|
|
40
41
|
static UNSUB_DEBOUNCE_MS = 100;
|
|
41
42
|
static IDLE_DISCONNECT_MS = 60_000;
|
|
42
43
|
static PING_INTERVAL_MS = 30_000;
|
|
43
44
|
static STALE_THRESHOLD_MS = 45_000;
|
|
44
|
-
objectWatches = new Map(); // watchId → path (for reconnect replay)
|
|
45
|
-
pendingObjectWatchPaths = new Set(); // paths awaiting their first response
|
|
46
|
-
snapshotCallbacks = new Map();
|
|
47
|
-
snapshotCache = new Map();
|
|
48
45
|
pingTimer = null;
|
|
49
46
|
lastMessageAt = Date.now();
|
|
50
47
|
lastDeliverySeq = 0;
|
|
@@ -56,49 +53,85 @@ class WebSocketManager {
|
|
|
56
53
|
this.maxReconnectDelay = config.maxReconnectDelay ?? 30000;
|
|
57
54
|
this.maxReconnectAttempts = config.maxReconnectAttempts ?? Infinity;
|
|
58
55
|
}
|
|
59
|
-
// ---- Ref-counted
|
|
56
|
+
// ---- Ref-counted path watch management ----
|
|
60
57
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
58
|
+
* Watch a path. Increments the ref count for the path; sends a `watch`
|
|
59
|
+
* message on first interest. Returns a promise that resolves with the
|
|
60
|
+
* initial snapshot from the server.
|
|
63
61
|
*/
|
|
64
|
-
|
|
62
|
+
watchPath(path) {
|
|
65
63
|
this.cancelIdleTimer();
|
|
66
|
-
const prev = this.
|
|
67
|
-
this.
|
|
68
|
-
if (prev
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
64
|
+
const prev = this.pathRefs.get(path) ?? 0;
|
|
65
|
+
this.pathRefs.set(path, prev + 1);
|
|
66
|
+
if (prev > 0) {
|
|
67
|
+
const cached = this.snapshotCache.get(path);
|
|
68
|
+
if (cached)
|
|
69
|
+
return cached;
|
|
70
|
+
}
|
|
71
|
+
const timerKey = `path:${path}`;
|
|
72
|
+
const pendingTimer = this.unsubTimers.get(timerKey);
|
|
73
|
+
if (pendingTimer) {
|
|
74
|
+
clearTimeout(pendingTimer);
|
|
75
|
+
this.unsubTimers.delete(timerKey);
|
|
76
|
+
const cached = this.snapshotCache.get(path);
|
|
77
|
+
if (cached)
|
|
78
|
+
return cached;
|
|
79
79
|
}
|
|
80
|
+
this.ensureConnected();
|
|
81
|
+
const promise = this.sendWatch(path);
|
|
82
|
+
this.snapshotCache.set(path, promise);
|
|
83
|
+
return promise;
|
|
80
84
|
}
|
|
81
85
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
86
|
+
* Unwatch a path. Decrements the ref count; debounced unwatch when the
|
|
87
|
+
* last watcher leaves.
|
|
84
88
|
*/
|
|
85
|
-
|
|
86
|
-
const current = this.
|
|
89
|
+
unwatchPath(path) {
|
|
90
|
+
const current = this.pathRefs.get(path) ?? 0;
|
|
87
91
|
if (current <= 1) {
|
|
88
|
-
this.
|
|
89
|
-
const timerKey = `
|
|
92
|
+
this.pathRefs.delete(path);
|
|
93
|
+
const timerKey = `path:${path}`;
|
|
90
94
|
this.unsubTimers.set(timerKey, setTimeout(() => {
|
|
91
95
|
this.unsubTimers.delete(timerKey);
|
|
92
|
-
if (!this.
|
|
93
|
-
this.
|
|
96
|
+
if (!this.pathRefs.has(path)) {
|
|
97
|
+
this.snapshotCache.delete(path);
|
|
98
|
+
if (this.ws?.readyState === getWS().OPEN) {
|
|
99
|
+
this.ws.send(JSON.stringify({ action: 'unwatch', path }));
|
|
100
|
+
}
|
|
94
101
|
}
|
|
95
102
|
this.maybeStartIdleTimer();
|
|
96
103
|
}, WebSocketManager.UNSUB_DEBOUNCE_MS));
|
|
97
104
|
}
|
|
98
105
|
else {
|
|
99
|
-
this.
|
|
106
|
+
this.pathRefs.set(path, current - 1);
|
|
100
107
|
}
|
|
101
108
|
}
|
|
109
|
+
sendWatch(path) {
|
|
110
|
+
const requestId = `watch-${++this.nextRequestId}`;
|
|
111
|
+
return new Promise((resolve, reject) => {
|
|
112
|
+
const timeout = setTimeout(() => {
|
|
113
|
+
this.pendingSnapshots.delete(requestId);
|
|
114
|
+
reject(new Error(`watchPath: timeout waiting for snapshot for ${path}`));
|
|
115
|
+
}, 15_000);
|
|
116
|
+
this.pendingSnapshots.set(requestId, { resolve, reject, timeout });
|
|
117
|
+
const doSend = () => {
|
|
118
|
+
if (this.ws?.readyState === getWS().OPEN) {
|
|
119
|
+
this.ws.send(JSON.stringify({ action: 'watch', path, requestId }));
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
if (this.lastStatus === 'connected') {
|
|
123
|
+
doSend();
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const unsub = this.onStatus((status) => {
|
|
127
|
+
if (status === 'connected') {
|
|
128
|
+
unsub();
|
|
129
|
+
doSend();
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
102
135
|
/**
|
|
103
136
|
* Acquire interest in mid price updates.
|
|
104
137
|
*/
|
|
@@ -184,34 +217,8 @@ class WebSocketManager {
|
|
|
184
217
|
}
|
|
185
218
|
this.subscribeCandles(allCoins, Array.from(allIntervals));
|
|
186
219
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Register a persistent callback for snapshot messages on a specific channel.
|
|
189
|
-
* The callback fires on every snapshot (initial and reconnect).
|
|
190
|
-
* Returns an unsubscribe function.
|
|
191
|
-
*/
|
|
192
|
-
onSnapshot(channel, cb) {
|
|
193
|
-
if (!this.snapshotCallbacks.has(channel)) {
|
|
194
|
-
this.snapshotCallbacks.set(channel, new Set());
|
|
195
|
-
}
|
|
196
|
-
this.snapshotCallbacks.get(channel).add(cb);
|
|
197
|
-
const cached = this.snapshotCache.get(channel);
|
|
198
|
-
if (cached !== undefined) {
|
|
199
|
-
queueMicrotask(() => {
|
|
200
|
-
cb(cached);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
return () => { this.snapshotCallbacks.get(channel)?.delete(cb); };
|
|
204
|
-
}
|
|
205
|
-
dispatchSnapshot(channel, data) {
|
|
206
|
-
this.snapshotCache.set(channel, data);
|
|
207
|
-
const cbs = this.snapshotCallbacks.get(channel);
|
|
208
|
-
if (cbs) {
|
|
209
|
-
cbs.forEach(cb => cb(data));
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
220
|
hasAnyInterest() {
|
|
213
|
-
return this.
|
|
214
|
-
|| this.objectWatches.size > 0 || this.pendingObjectWatchPaths.size > 0;
|
|
221
|
+
return this.pathRefs.size > 0 || this.midsRefs > 0 || this.candleRefs.size > 0;
|
|
215
222
|
}
|
|
216
223
|
maybeStartIdleTimer() {
|
|
217
224
|
if (this.hasAnyInterest())
|
|
@@ -244,11 +251,8 @@ class WebSocketManager {
|
|
|
244
251
|
this.doConnect();
|
|
245
252
|
}
|
|
246
253
|
}
|
|
247
|
-
connect(
|
|
254
|
+
connect() {
|
|
248
255
|
this.shouldReconnect = true;
|
|
249
|
-
if (opts?.channels) {
|
|
250
|
-
this.subscribedChannels = opts.channels;
|
|
251
|
-
}
|
|
252
256
|
this.doConnect();
|
|
253
257
|
}
|
|
254
258
|
/**
|
|
@@ -333,10 +337,7 @@ class WebSocketManager {
|
|
|
333
337
|
this.lastDeliverySeq = 0;
|
|
334
338
|
this.emitStatus('connected');
|
|
335
339
|
this.startHeartbeat();
|
|
336
|
-
// Re-subscribe
|
|
337
|
-
if (this.subscribedChannels.length > 0) {
|
|
338
|
-
ws.send(JSON.stringify({ action: 'subscribe', channels: this.subscribedChannels }));
|
|
339
|
-
}
|
|
340
|
+
// Re-subscribe mids
|
|
340
341
|
if (this.subscribedMids) {
|
|
341
342
|
ws.send(JSON.stringify({
|
|
342
343
|
action: 'subscribe_mids',
|
|
@@ -351,14 +352,6 @@ class WebSocketManager {
|
|
|
351
352
|
intervals: this.subscribedCandles.intervals,
|
|
352
353
|
}));
|
|
353
354
|
}
|
|
354
|
-
// Re-subscribe from ref-counted state (watch API)
|
|
355
|
-
const refChannels = Array.from(this.channelRefs.keys());
|
|
356
|
-
if (refChannels.length > 0) {
|
|
357
|
-
const newChannels = refChannels.filter(ch => !this.subscribedChannels.includes(ch));
|
|
358
|
-
if (newChannels.length > 0) {
|
|
359
|
-
ws.send(JSON.stringify({ action: 'subscribe', channels: newChannels }));
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
355
|
if (this.midsRefs > 0 && !this.subscribedMids) {
|
|
363
356
|
ws.send(JSON.stringify({ action: 'subscribe_mids', exchange: this.midsExchange, coins: [] }));
|
|
364
357
|
}
|
|
@@ -371,15 +364,10 @@ class WebSocketManager {
|
|
|
371
364
|
}
|
|
372
365
|
ws.send(JSON.stringify({ action: 'subscribe_candles', coins: allCoins, intervals: Array.from(allIntervals) }));
|
|
373
366
|
}
|
|
374
|
-
// Re-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
for (const path of this.objectWatches.values())
|
|
379
|
-
objectPaths.add(path);
|
|
380
|
-
this.objectWatches.clear();
|
|
381
|
-
for (const path of objectPaths) {
|
|
382
|
-
ws.send(JSON.stringify({ action: 'watch_object', path }));
|
|
367
|
+
// Re-watch all paths from ref-counted state
|
|
368
|
+
for (const path of this.pathRefs.keys()) {
|
|
369
|
+
const requestId = `watch-${++this.nextRequestId}`;
|
|
370
|
+
ws.send(JSON.stringify({ action: 'watch', path, requestId }));
|
|
383
371
|
}
|
|
384
372
|
return;
|
|
385
373
|
}
|
|
@@ -392,6 +380,13 @@ class WebSocketManager {
|
|
|
392
380
|
pending.reject(new Error(msg.message ?? 'server error'));
|
|
393
381
|
return;
|
|
394
382
|
}
|
|
383
|
+
if (msg.requestId && this.pendingSnapshots.has(msg.requestId)) {
|
|
384
|
+
const pending = this.pendingSnapshots.get(msg.requestId);
|
|
385
|
+
this.pendingSnapshots.delete(msg.requestId);
|
|
386
|
+
clearTimeout(pending.timeout);
|
|
387
|
+
pending.reject(new Error(msg.message ?? 'server error'));
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
395
390
|
this.emitError({ message: msg.message ?? 'Unknown WebSocket error' });
|
|
396
391
|
return;
|
|
397
392
|
}
|
|
@@ -405,13 +400,27 @@ class WebSocketManager {
|
|
|
405
400
|
}
|
|
406
401
|
return;
|
|
407
402
|
}
|
|
408
|
-
//
|
|
409
|
-
if (msg.type === '
|
|
410
|
-
|
|
403
|
+
// Path-scoped watch snapshot
|
|
404
|
+
if (msg.type === 'watch_snapshot') {
|
|
405
|
+
const snapshot = {
|
|
406
|
+
path: msg.path ?? '',
|
|
407
|
+
balances: msg.balances ?? [],
|
|
408
|
+
operations: msg.operations ?? [],
|
|
409
|
+
bufferedOperations: msg.bufferedOperations ?? [],
|
|
410
|
+
exchange: msg.exchange ?? null,
|
|
411
|
+
valuation: msg.valuation ?? null,
|
|
412
|
+
watchId: msg.watchId ?? null,
|
|
413
|
+
};
|
|
414
|
+
if (msg.requestId && this.pendingSnapshots.has(msg.requestId)) {
|
|
415
|
+
const pending = this.pendingSnapshots.get(msg.requestId);
|
|
416
|
+
this.pendingSnapshots.delete(msg.requestId);
|
|
417
|
+
clearTimeout(pending.timeout);
|
|
418
|
+
pending.resolve(snapshot);
|
|
419
|
+
}
|
|
420
|
+
this.dispatchEvent({ type: 'watch_snapshot', ...msg });
|
|
411
421
|
return;
|
|
412
422
|
}
|
|
413
423
|
if (msg.type === 'mids.snapshot' && msg.mids) {
|
|
414
|
-
this.dispatchSnapshot('mids', msg.mids);
|
|
415
424
|
this.dispatchEvent({ type: types_1.EventType.MidsUpdated, mids: msg.mids });
|
|
416
425
|
return;
|
|
417
426
|
}
|
|
@@ -427,8 +436,8 @@ class WebSocketManager {
|
|
|
427
436
|
};
|
|
428
437
|
ws.onclose = () => {
|
|
429
438
|
this.stopHeartbeat();
|
|
430
|
-
this.snapshotCache.clear();
|
|
431
439
|
this.rejectPendingRequests('WebSocket disconnected');
|
|
440
|
+
this.rejectPendingSnapshots('WebSocket disconnected');
|
|
432
441
|
this.emitStatus('disconnected');
|
|
433
442
|
if (this.shouldReconnect) {
|
|
434
443
|
this.scheduleReconnect();
|
|
@@ -438,25 +447,6 @@ class WebSocketManager {
|
|
|
438
447
|
// onclose will fire after onerror
|
|
439
448
|
};
|
|
440
449
|
}
|
|
441
|
-
subscribe(channels) {
|
|
442
|
-
for (const ch of channels) {
|
|
443
|
-
if (!this.subscribedChannels.includes(ch)) {
|
|
444
|
-
this.subscribedChannels.push(ch);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
if (this.ws?.readyState === getWS().OPEN) {
|
|
448
|
-
this.ws.send(JSON.stringify({ action: 'subscribe', channels }));
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
unsubscribe(channels) {
|
|
452
|
-
for (const ch of channels) {
|
|
453
|
-
this.snapshotCache.delete(ch);
|
|
454
|
-
}
|
|
455
|
-
this.subscribedChannels = this.subscribedChannels.filter(ch => !channels.includes(ch));
|
|
456
|
-
if (this.ws?.readyState === getWS().OPEN) {
|
|
457
|
-
this.ws.send(JSON.stringify({ action: 'unsubscribe', channels }));
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
450
|
subscribeMids(exchange, coins = []) {
|
|
461
451
|
this.subscribedMids = { exchange, coins };
|
|
462
452
|
if (this.ws?.readyState === getWS().OPEN) {
|
|
@@ -576,26 +566,6 @@ class WebSocketManager {
|
|
|
576
566
|
this.on(types_1.EventType.ObjectValuation, handler);
|
|
577
567
|
return () => this.off(types_1.EventType.ObjectValuation, handler);
|
|
578
568
|
}
|
|
579
|
-
sendWatchObject(path) {
|
|
580
|
-
this.cancelIdleTimer();
|
|
581
|
-
this.pendingObjectWatchPaths.add(path);
|
|
582
|
-
this.ensureConnected();
|
|
583
|
-
if (this.ws?.readyState === getWS().OPEN) {
|
|
584
|
-
this.ws.send(JSON.stringify({ action: 'watch_object', path }));
|
|
585
|
-
}
|
|
586
|
-
}
|
|
587
|
-
/** Called internally when the server responds with a watchId for an object watch. */
|
|
588
|
-
trackObjectWatch(watchId, path) {
|
|
589
|
-
this.pendingObjectWatchPaths.delete(path);
|
|
590
|
-
this.objectWatches.set(watchId, path);
|
|
591
|
-
}
|
|
592
|
-
sendUnwatchObject(watchId) {
|
|
593
|
-
this.objectWatches.delete(watchId);
|
|
594
|
-
if (this.ws?.readyState === getWS().OPEN) {
|
|
595
|
-
this.ws.send(JSON.stringify({ action: 'unwatch_object', watchId }));
|
|
596
|
-
}
|
|
597
|
-
this.maybeStartIdleTimer();
|
|
598
|
-
}
|
|
599
569
|
createAggregationWatch(sources) {
|
|
600
570
|
return new Promise((resolve, reject) => {
|
|
601
571
|
this.ensureConnected();
|
|
@@ -758,7 +728,7 @@ class WebSocketManager {
|
|
|
758
728
|
for (const timer of this.unsubTimers.values())
|
|
759
729
|
clearTimeout(timer);
|
|
760
730
|
this.unsubTimers.clear();
|
|
761
|
-
this.
|
|
731
|
+
this.rejectPendingSnapshots('WebSocket disconnected');
|
|
762
732
|
if (this.ws) {
|
|
763
733
|
this.ws.close();
|
|
764
734
|
this.ws = null;
|
|
@@ -799,6 +769,14 @@ class WebSocketManager {
|
|
|
799
769
|
}
|
|
800
770
|
this.pendingRequests.clear();
|
|
801
771
|
}
|
|
772
|
+
rejectPendingSnapshots(reason) {
|
|
773
|
+
for (const [, pending] of this.pendingSnapshots) {
|
|
774
|
+
clearTimeout(pending.timeout);
|
|
775
|
+
pending.reject(new Error(reason));
|
|
776
|
+
}
|
|
777
|
+
this.pendingSnapshots.clear();
|
|
778
|
+
this.snapshotCache.clear();
|
|
779
|
+
}
|
|
802
780
|
emitError(error) {
|
|
803
781
|
if (this.errorCallbacks.size > 0) {
|
|
804
782
|
this.errorCallbacks.forEach(cb => cb(error));
|
package/dist/websocket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
|