@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/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 subscription engine
34
- channelRefs = new Map();
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(); // coin → set of intervals
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 subscription management ----
56
+ // ---- Ref-counted path watch management ----
60
57
  /**
61
- * Acquire interest in a channel. Increments the ref count;
62
- * auto-connects and subscribes on first interest.
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
- acquireChannel(channel) {
62
+ watchPath(path) {
65
63
  this.cancelIdleTimer();
66
- const prev = this.channelRefs.get(channel) ?? 0;
67
- this.channelRefs.set(channel, prev + 1);
68
- if (prev === 0) {
69
- const timerKey = `ch:${channel}`;
70
- const pendingTimer = this.unsubTimers.get(timerKey);
71
- if (pendingTimer) {
72
- clearTimeout(pendingTimer);
73
- this.unsubTimers.delete(timerKey);
74
- }
75
- else {
76
- this.ensureConnected();
77
- this.subscribe([channel]);
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
- * Release interest in a channel. Decrements the ref count;
83
- * debounced unsubscribe when the last watcher leaves.
86
+ * Unwatch a path. Decrements the ref count; debounced unwatch when the
87
+ * last watcher leaves.
84
88
  */
85
- releaseChannel(channel) {
86
- const current = this.channelRefs.get(channel) ?? 0;
89
+ unwatchPath(path) {
90
+ const current = this.pathRefs.get(path) ?? 0;
87
91
  if (current <= 1) {
88
- this.channelRefs.delete(channel);
89
- const timerKey = `ch:${channel}`;
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.channelRefs.has(channel)) {
93
- this.unsubscribe([channel]);
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.channelRefs.set(channel, current - 1);
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.channelRefs.size > 0 || this.midsRefs > 0 || this.candleRefs.size > 0
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(opts) {
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 from raw subscription state (legacy callers)
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-subscribe object watches — collect all unique paths from
375
- // both tracked watches (have a watchId) and pending watches (sent
376
- // but never got a response before disconnect).
377
- const objectPaths = new Set(this.pendingObjectWatchPaths);
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
- // Server-side snapshot messages
409
- if (msg.type === 'snapshot' && msg.channel) {
410
- this.dispatchSnapshot(msg.channel, msg.data);
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.snapshotCache.clear();
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));
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcaresearch/sdk",
3
- "version": "0.1.61",
3
+ "version": "0.1.63",
4
4
  "description": "TypeScript SDK for the Arca platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",