@contextvm/sdk 0.7.3 → 0.7.4

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,5 +1,6 @@
1
1
  export * from './constants.js';
2
2
  export * from './interfaces.js';
3
+ export * from './utils/websocket.js';
3
4
  export * from './utils/serializers.js';
4
5
  export * from './encryption.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './constants.js';
2
2
  export * from './interfaces.js';
3
+ export * from './utils/websocket.js';
3
4
  export * from './utils/serializers.js';
4
5
  export * from './encryption.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ type WebSocketConstructor = typeof globalThis.WebSocket;
2
+ export declare function ensureWebSocket(): WebSocketConstructor;
3
+ export {};
4
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/websocket.ts"],"names":[],"mappings":"AAAA,KAAK,oBAAoB,GAAG,OAAO,UAAU,CAAC,SAAS,CAAC;AAuCxD,wBAAgB,eAAe,IAAI,oBAAoB,CAiBtD"}
@@ -0,0 +1,34 @@
1
+ function resolveGlobalWebSocket() {
2
+ return typeof globalThis.WebSocket === 'function'
3
+ ? globalThis.WebSocket
4
+ : undefined;
5
+ }
6
+ function resolveNodeWebSocket() {
7
+ var _a, _b, _c;
8
+ try {
9
+ const nodeProcess = globalThis.process;
10
+ const moduleBuiltin = (_a = nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.getBuiltinModule) === null || _a === void 0 ? void 0 : _a.call(nodeProcess, 'module');
11
+ const require = (_b = moduleBuiltin === null || moduleBuiltin === void 0 ? void 0 : moduleBuiltin.createRequire) === null || _b === void 0 ? void 0 : _b.call(moduleBuiltin, import.meta.url);
12
+ if (!require) {
13
+ return undefined;
14
+ }
15
+ const wsModule = require('ws');
16
+ return (_c = wsModule.WebSocket) !== null && _c !== void 0 ? _c : wsModule.default;
17
+ }
18
+ catch (_d) {
19
+ return undefined;
20
+ }
21
+ }
22
+ export function ensureWebSocket() {
23
+ const existing = resolveGlobalWebSocket();
24
+ if (existing) {
25
+ return existing;
26
+ }
27
+ const fallback = resolveNodeWebSocket();
28
+ if (!fallback) {
29
+ throw new Error('WebSocket runtime support is unavailable. Install a compatible WebSocket implementation or run in a runtime that provides global WebSocket.');
30
+ }
31
+ globalThis.WebSocket = fallback;
32
+ return fallback;
33
+ }
34
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../../src/core/utils/websocket.ts"],"names":[],"mappings":"AAEA,SAAS,sBAAsB;IAC7B,OAAO,OAAO,UAAU,CAAC,SAAS,KAAK,UAAU;QAC/C,CAAC,CAAC,UAAU,CAAC,SAAS;QACtB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB;;IAC3B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,UAAU,CAAC,OAIlB,CAAC;QAEd,MAAM,aAAa,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,4DAAG,QAAQ,CAIjD,CAAC;QAEd,MAAM,OAAO,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,8DAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAG5B,CAAC;QAEF,OAAO,MAAA,QAAQ,CAAC,SAAS,mCAAI,QAAQ,CAAC,OAAO,CAAC;IAChD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAE1C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,6IAA6I,CAC9I,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC;IAChC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"applesauce-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAoBrD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAGzB,CAAC;AAeF,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;IAGtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAU;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAU;IAG/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAG7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAS;IAE5D,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,gBAAgB,CAAC,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAe;IAE7B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;YACW,gBAAgB;IAwF9B,OAAO,CAAC,WAAW;IA4CnB;;;;OAIG;gBACS,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,0BAA0B;IAWlE;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IA6DhB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;;;OAKG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,MAAM,IAAI,CAAC;IA6BtB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,WAAW,IAAI,IAAI;IAgBnB;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB,sCAAsC;IACtC,OAAO,CAAC,eAAe;IAOvB,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB;IA2BxB,gEAAgE;YAClD,aAAa;IA+E3B,6EAA6E;IAC7E,OAAO,CAAC,OAAO;CA2ChB"}
1
+ {"version":3,"file":"applesauce-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAqBrD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAGzB,CAAC;AAeF,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;IAGtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAU;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAU;IAG/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAG7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAS;IAE5D,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,gBAAgB,CAAC,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAe;IAE7B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;YACW,gBAAgB;IAwF9B,OAAO,CAAC,WAAW;IA8CnB;;;;OAIG;gBACS,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,0BAA0B;IAWlE;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IA6DhB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;;;OAKG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,MAAM,IAAI,CAAC;IA6BtB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,WAAW,IAAI,IAAI;IAgBnB;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB,sCAAsC;IACtC,OAAO,CAAC,eAAe;IAOvB,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB;IA2BxB,gEAAgE;YAClD,aAAa;IA+E3B,6EAA6E;IAC7E,OAAO,CAAC,OAAO;CA2ChB"}
@@ -1,6 +1,7 @@
1
1
  import { Relay, RelayGroup } from 'applesauce-relay';
2
2
  import { createLogger } from '../core/utils/logger.js';
3
3
  import { sleep } from '../core/utils/utils.js';
4
+ import { ensureWebSocket } from '../core/utils/websocket.js';
4
5
  import { lastValueFrom, takeUntil, timer, timeout, Subject, filter, take, merge, firstValueFrom, NEVER, } from 'rxjs';
5
6
  const logger = createLogger('applesauce-relay');
6
7
  /** Dummy filter that returns no results, used for liveness ping */
@@ -106,6 +107,7 @@ export class ApplesauceRelayPool {
106
107
  }
107
108
  }
108
109
  createRelay(url) {
110
+ ensureWebSocket();
109
111
  // NOTE: applesauce-relay uses `keepAlive` as the delay before tearing down the
110
112
  // websocket after the last subscription is unsubscribed.
111
113
  //
@@ -1 +1 @@
1
- {"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contextvm/sdk",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "description": "CtxVM SDK for JavaScript/TypeScript",
5
5
  "license": "LGPL-3.0-1",
6
6
  "author": "ContextVM",
@@ -106,6 +106,7 @@
106
106
  "nostr-tools": "~2.18.2",
107
107
  "pino": "^10.3.1",
108
108
  "rxjs": "^7.8.2",
109
+ "ws": "^8.18.3",
109
110
  "zod": "^4.3.5"
110
111
  }
111
112
  }
@@ -1,39 +0,0 @@
1
- import { type Filter, type NostrEvent } from 'nostr-tools';
2
- import { RelayHandler } from '../core/interfaces.js';
3
- /**
4
- * A RelayHandler implementation that uses a SimplePool to manage connections and subscriptions.
5
- * Implements exponential backoff for reconnection attempts when relays drop connections.
6
- * @argument relayUrls - An array of relay URLs to connect to.
7
- * @returns A RelayHandler implementation that uses a SimplePool to manage connections and subscriptions.
8
- * @deprecated Use ApplesauceRelayPool instead.
9
- */
10
- export declare class SimpleRelayPool implements RelayHandler {
11
- private readonly relayUrls;
12
- private readonly normalizedRelayUrls;
13
- private pool;
14
- private reconnectTimer?;
15
- private readonly maxRetries;
16
- private relayStates;
17
- private subscriptions;
18
- constructor(relayUrls: string[]);
19
- /**
20
- * Starts a loop that periodically checks connection status and reconnects if needed
21
- * using exponential backoff strategy.
22
- */
23
- private startReconnectLoop;
24
- connect(): Promise<void>;
25
- /**
26
- * Handles a disconnected relay with exponential backoff strategy.
27
- * @param normalizedUrl - The normalized relay URL to reconnect to
28
- */
29
- private handleDisconnectedRelay;
30
- /**
31
- * Resubscribes to all active subscriptions after relay reconnection
32
- */
33
- private resubscribeAll;
34
- disconnect(relayUrls?: string[]): Promise<void>;
35
- publish(event: NostrEvent): Promise<void>;
36
- subscribe(filters: Filter[], onEvent: (event: NostrEvent) => void, onEose?: () => void): Promise<void>;
37
- unsubscribe(): void;
38
- }
39
- //# sourceMappingURL=simple-relay-pool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/simple-relay-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IAC/C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAC,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAEhC,OAAO,CAAC,WAAW,CAOf;IAEJ,OAAO,CAAC,aAAa,CAKb;gBAEI,SAAS,EAAE,MAAM,EAAE;IAgB/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkBpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;OAGG;YACW,uBAAuB;IAmDrC;;OAEG;IACH,OAAO,CAAC,cAAc;IAchB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC;IAYhB,WAAW,IAAI,IAAI;CAIpB"}
@@ -1,163 +0,0 @@
1
- import { SimplePool } from 'nostr-tools';
2
- import { sleep } from '../core/utils/utils.js';
3
- import { createLogger } from '../core/utils/logger.js';
4
- const logger = createLogger('relay');
5
- /**
6
- * A RelayHandler implementation that uses a SimplePool to manage connections and subscriptions.
7
- * Implements exponential backoff for reconnection attempts when relays drop connections.
8
- * @argument relayUrls - An array of relay URLs to connect to.
9
- * @returns A RelayHandler implementation that uses a SimplePool to manage connections and subscriptions.
10
- * @deprecated Use ApplesauceRelayPool instead.
11
- */
12
- export class SimpleRelayPool {
13
- constructor(relayUrls) {
14
- this.maxRetries = 5;
15
- this.relayStates = new Map();
16
- this.subscriptions = [];
17
- this.relayUrls = relayUrls;
18
- // Normalize URLs once during construction
19
- this.normalizedRelayUrls = relayUrls.map((url) => new URL(url).href);
20
- // Initialize relay states
21
- this.normalizedRelayUrls.forEach((url) => {
22
- this.relayStates.set(url, {
23
- reconnectInterval: 1000,
24
- retryCount: 0,
25
- isReconnecting: false,
26
- });
27
- });
28
- this.pool = new SimplePool();
29
- this.startReconnectLoop();
30
- }
31
- /**
32
- * Starts a loop that periodically checks connection status and reconnects if needed
33
- * using exponential backoff strategy.
34
- */
35
- startReconnectLoop() {
36
- // Clear any existing timer
37
- if (this.reconnectTimer) {
38
- clearTimeout(this.reconnectTimer);
39
- }
40
- // Check all relays every 5 seconds
41
- this.reconnectTimer = setTimeout(() => {
42
- const connectionStatus = this.pool.listConnectionStatus();
43
- this.relayStates.forEach((_, url) => {
44
- if (!connectionStatus.get(url)) {
45
- this.handleDisconnectedRelay(url);
46
- }
47
- });
48
- this.startReconnectLoop(); // Schedule next check
49
- }, 5000);
50
- }
51
- async connect() {
52
- // Connect to all relays with exponential backoff tracking
53
- const connectionStatus = this.pool.listConnectionStatus();
54
- await Promise.all(this.normalizedRelayUrls.map(async (url) => {
55
- if (!connectionStatus.get(url)) {
56
- await this.handleDisconnectedRelay(url);
57
- }
58
- }));
59
- }
60
- /**
61
- * Handles a disconnected relay with exponential backoff strategy.
62
- * @param normalizedUrl - The normalized relay URL to reconnect to
63
- */
64
- async handleDisconnectedRelay(normalizedUrl) {
65
- // Get the relay state
66
- const relayState = this.relayStates.get(normalizedUrl);
67
- if (!relayState)
68
- return;
69
- // Skip if already reconnecting to this relay
70
- if (relayState.isReconnecting) {
71
- return;
72
- }
73
- // Check if we've exceeded the maximum retry count
74
- if (relayState.retryCount >= this.maxRetries) {
75
- logger.warn(`Maximum reconnection attempts (${this.maxRetries}) reached for relay ${normalizedUrl}. Giving up.`);
76
- return;
77
- }
78
- const currentInterval = relayState.reconnectInterval;
79
- // Check if we should wait before attempting to reconnect
80
- if (currentInterval > 1000) {
81
- await sleep(currentInterval);
82
- }
83
- // Mark as reconnecting and increment retry count
84
- relayState.isReconnecting = true;
85
- relayState.retryCount++;
86
- this.pool['relays'].delete(normalizedUrl);
87
- try {
88
- await this.pool.ensureRelay(normalizedUrl, { connectionTimeout: 5000 });
89
- // Reset backoff interval and retry count on successful connection
90
- relayState.reconnectInterval = 1000;
91
- relayState.retryCount = 0;
92
- // Resubscribe to all active subscriptions after successful reconnection
93
- this.resubscribeAll();
94
- }
95
- catch (error) {
96
- logger.error(`Can't connect to relay ${normalizedUrl} (attempt ${relayState.retryCount}/${this.maxRetries})`, error);
97
- // Double the interval for next attempt (exponential backoff), capped at 30 seconds
98
- relayState.reconnectInterval = Math.min(currentInterval * 2, 30000);
99
- }
100
- finally {
101
- // Remove from reconnecting set
102
- relayState.isReconnecting = false;
103
- }
104
- }
105
- /**
106
- * Resubscribes to all active subscriptions after relay reconnection
107
- */
108
- resubscribeAll() {
109
- this.subscriptions.forEach((sub) => {
110
- if (sub.closer)
111
- sub.closer.close();
112
- sub.closer = this.pool.subscribeMany(this.normalizedRelayUrls, sub.filters[0], {
113
- onevent: sub.onEvent,
114
- oneose: sub.onEose,
115
- });
116
- });
117
- }
118
- async disconnect(relayUrls) {
119
- if (!relayUrls) {
120
- relayUrls = this.relayUrls;
121
- // Reset all relay states when disconnecting all relays
122
- this.relayStates.forEach((state) => {
123
- state.reconnectInterval = 1000;
124
- state.retryCount = 0;
125
- state.isReconnecting = false;
126
- });
127
- // Clear the reconnect loop timer
128
- if (this.reconnectTimer) {
129
- clearTimeout(this.reconnectTimer);
130
- this.reconnectTimer = undefined;
131
- }
132
- }
133
- else {
134
- // Reset relay states for specific relays
135
- const normalizedUrls = relayUrls.map((url) => new URL(url).href);
136
- normalizedUrls.forEach((url) => {
137
- const state = this.relayStates.get(url);
138
- if (state) {
139
- state.reconnectInterval = 1000;
140
- state.retryCount = 0;
141
- state.isReconnecting = false;
142
- }
143
- });
144
- }
145
- this.pool.close(relayUrls);
146
- await sleep(100);
147
- }
148
- async publish(event) {
149
- await Promise.all(this.pool.publish(this.normalizedRelayUrls, event));
150
- }
151
- async subscribe(filters, onEvent, onEose) {
152
- const closer = this.pool.subscribeMany(this.normalizedRelayUrls, filters[0], {
153
- onevent: onEvent,
154
- oneose: onEose,
155
- });
156
- this.subscriptions.push({ filters, onEvent, onEose, closer });
157
- }
158
- unsubscribe() {
159
- this.subscriptions.forEach((sub) => { var _a; return (_a = sub.closer) === null || _a === void 0 ? void 0 : _a.close(); });
160
- this.subscriptions = [];
161
- }
162
- }
163
- //# sourceMappingURL=simple-relay-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/simple-relay-pool.ts"],"names":[],"mappings":"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"}