@contextvm/sdk 0.2.2 → 0.2.3
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.
|
@@ -26,11 +26,22 @@ export declare class ApplesauceRelayPool implements RelayHandler {
|
|
|
26
26
|
private readonly pingTimeoutMs;
|
|
27
27
|
private pingSubscription?;
|
|
28
28
|
private readonly destroy$;
|
|
29
|
-
private lastPingLogAt;
|
|
30
|
-
private lastMessageReceivedAt;
|
|
31
29
|
private rebuildInFlight?;
|
|
32
30
|
private relayObservers;
|
|
33
|
-
private
|
|
31
|
+
private relays;
|
|
32
|
+
/**
|
|
33
|
+
* Safely completes an RxJS Subject or BehaviorSubject if it exists and isn't already closed.
|
|
34
|
+
* This is a defensive measure to prevent memory leaks from incomplete cleanup in external libraries.
|
|
35
|
+
*/
|
|
36
|
+
private completeSubjectSafely;
|
|
37
|
+
/**
|
|
38
|
+
* Safely closes a relay and completes all its RxJS subjects to prevent memory leaks.
|
|
39
|
+
* This works around the incomplete Relay.close() implementation in applesauce-relay
|
|
40
|
+
* which only calls socket.unsubscribe() but doesn't complete the internal subjects.
|
|
41
|
+
*
|
|
42
|
+
* See docs/relay-pool-production-analysis.md for the full analysis.
|
|
43
|
+
*/
|
|
44
|
+
private safelyCloseRelay;
|
|
34
45
|
private createRelay;
|
|
35
46
|
/**
|
|
36
47
|
* Creates a new ApplesauceRelayPool instance.
|
|
@@ -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;AAkBrD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAGzB,CAAC;AASF,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,uBAAuB,CAAgC;IAC/D,OAAO,CAAC,mBAAmB,CAAyB;IAGpD,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,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAU;IAGxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,gBAAgB,CAAC,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,
|
|
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;AAkBrD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAGzB,CAAC;AASF,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,uBAAuB,CAAgC;IAC/D,OAAO,CAAC,mBAAmB,CAAyB;IAGpD,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,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAU;IAGxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,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;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAiDxB,OAAO,CAAC,WAAW;IAgDnB;;;;OAIG;gBACS,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,0BAA0B;IASlE;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD/C;;;;;;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,IAAI,CAAC;IAchB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,WAAW,IAAI,IAAI;IAcnB;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB,sCAAsC;IACtC,OAAO,CAAC,eAAe;IAOvB,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB;IAiCxB,gEAAgE;YAClD,aAAa;IA+E3B,6EAA6E;IAC7E,OAAO,CAAC,OAAO;CAyChB"}
|
|
@@ -12,8 +12,75 @@ export const PING_FILTER = {
|
|
|
12
12
|
* RelayHandler implementation backed by applesauce-relay.
|
|
13
13
|
*/
|
|
14
14
|
export class ApplesauceRelayPool {
|
|
15
|
+
/**
|
|
16
|
+
* Safely completes an RxJS Subject or BehaviorSubject if it exists and isn't already closed.
|
|
17
|
+
* This is a defensive measure to prevent memory leaks from incomplete cleanup in external libraries.
|
|
18
|
+
*/
|
|
19
|
+
completeSubjectSafely(subject) {
|
|
20
|
+
if (subject && typeof subject.complete === 'function' && !subject.closed) {
|
|
21
|
+
try {
|
|
22
|
+
subject.complete();
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
// Subject might already be completed or errored; ignore
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Safely closes a relay and completes all its RxJS subjects to prevent memory leaks.
|
|
31
|
+
* This works around the incomplete Relay.close() implementation in applesauce-relay
|
|
32
|
+
* which only calls socket.unsubscribe() but doesn't complete the internal subjects.
|
|
33
|
+
*
|
|
34
|
+
* See docs/relay-pool-production-analysis.md for the full analysis.
|
|
35
|
+
*/
|
|
36
|
+
safelyCloseRelay(relay) {
|
|
37
|
+
try {
|
|
38
|
+
// Call the native close method first
|
|
39
|
+
relay.close();
|
|
40
|
+
// Complete all public BehaviorSubjects (safe to call complete() multiple times)
|
|
41
|
+
const publicBehaviorSubjects = [
|
|
42
|
+
relay.connected$,
|
|
43
|
+
relay.attempts$,
|
|
44
|
+
relay.challenge$,
|
|
45
|
+
relay.authenticationResponse$,
|
|
46
|
+
relay.notices$,
|
|
47
|
+
relay.error$,
|
|
48
|
+
];
|
|
49
|
+
publicBehaviorSubjects.forEach((s) => this.completeSubjectSafely(s));
|
|
50
|
+
// Complete all public Subjects
|
|
51
|
+
const publicSubjects = [relay.open$, relay.close$, relay.closing$];
|
|
52
|
+
publicSubjects.forEach((s) => this.completeSubjectSafely(s));
|
|
53
|
+
// Complete internal BehaviorSubjects using structural typing
|
|
54
|
+
const relayWithInternals = relay;
|
|
55
|
+
const internalBehaviorSubjects = [
|
|
56
|
+
relayWithInternals._ready$,
|
|
57
|
+
relayWithInternals.receivedAuthRequiredForReq,
|
|
58
|
+
relayWithInternals.receivedAuthRequiredForEvent,
|
|
59
|
+
];
|
|
60
|
+
internalBehaviorSubjects.forEach((s) => this.completeSubjectSafely(s));
|
|
61
|
+
logger.debug('Completed all subjects for relay', { url: relay.url });
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
logger.warn('Error during relay cleanup', {
|
|
65
|
+
url: relay.url,
|
|
66
|
+
error: error instanceof Error ? error.message : String(error),
|
|
67
|
+
});
|
|
68
|
+
// Don't throw - best effort cleanup
|
|
69
|
+
}
|
|
70
|
+
}
|
|
15
71
|
createRelay(url) {
|
|
16
|
-
|
|
72
|
+
// NOTE: applesauce-relay uses `keepAlive` as the delay before tearing down the
|
|
73
|
+
// websocket after the last subscription is unsubscribed.
|
|
74
|
+
//
|
|
75
|
+
// We *do not* want to disable it with a huge value (it overflows setTimeout
|
|
76
|
+
// on some runtimes). Instead, we set it to slightly larger than our liveness
|
|
77
|
+
// cadence so that short gaps don't cause unnecessary disconnect/reconnect.
|
|
78
|
+
//
|
|
79
|
+
// See docs/relay-pool-production-analysis.md for the full analysis of the
|
|
80
|
+
// 30-second rebuild cycle issue and memory leak that this configuration helps prevent.
|
|
81
|
+
const relay = new Relay(url, {
|
|
82
|
+
keepAlive: this.pingFrequencyMs + this.pingTimeoutMs + 5000,
|
|
83
|
+
});
|
|
17
84
|
// Ensure reconnect attempts continue at a bounded cadence even after many
|
|
18
85
|
// failures, so a relay coming back online is picked up quickly.
|
|
19
86
|
relay.reconnectTimer = (_error, tries = 0) => {
|
|
@@ -35,11 +102,6 @@ export class ApplesauceRelayPool {
|
|
|
35
102
|
error: error instanceof Error ? error.message : String(error),
|
|
36
103
|
});
|
|
37
104
|
});
|
|
38
|
-
// Track message activity for idle detection
|
|
39
|
-
const messageSub = relay.message$.subscribe(() => {
|
|
40
|
-
this.lastMessageReceivedAt = Date.now();
|
|
41
|
-
});
|
|
42
|
-
this.messageSubscriptions.push(messageSub);
|
|
43
105
|
this.relayObservers.push(connectedSub, errorSub);
|
|
44
106
|
return relay;
|
|
45
107
|
}
|
|
@@ -53,14 +115,13 @@ export class ApplesauceRelayPool {
|
|
|
53
115
|
this.subscriptionDescriptors = [];
|
|
54
116
|
this.activeUnsubscribers = [];
|
|
55
117
|
this.destroy$ = new Subject();
|
|
56
|
-
this.lastPingLogAt = 0;
|
|
57
|
-
this.lastMessageReceivedAt = 0;
|
|
58
118
|
this.relayObservers = [];
|
|
59
|
-
this.
|
|
119
|
+
this.relays = [];
|
|
60
120
|
this.relayUrls = relayUrls;
|
|
61
|
-
this.pingFrequencyMs = (_a = opts === null || opts === void 0 ? void 0 : opts.pingFrequencyMs) !== null && _a !== void 0 ? _a :
|
|
121
|
+
this.pingFrequencyMs = (_a = opts === null || opts === void 0 ? void 0 : opts.pingFrequencyMs) !== null && _a !== void 0 ? _a : 120000; // Increased from 30s to 2 minutes
|
|
62
122
|
this.pingTimeoutMs = (_b = opts === null || opts === void 0 ? void 0 : opts.pingTimeoutMs) !== null && _b !== void 0 ? _b : 20000;
|
|
63
|
-
this.
|
|
123
|
+
this.relays = relayUrls.map((url) => this.createRelay(url));
|
|
124
|
+
this.relayGroup = new RelayGroup(this.relays);
|
|
64
125
|
}
|
|
65
126
|
/**
|
|
66
127
|
* Connects to the configured relays.
|
|
@@ -180,6 +241,9 @@ export class ApplesauceRelayPool {
|
|
|
180
241
|
// Start the subscription and store the unsubscribe handle
|
|
181
242
|
this.activeUnsubscribers.push(this.createSubscription(filters, onEvent, onEose));
|
|
182
243
|
// Start ping monitor lazily on first subscription
|
|
244
|
+
logger.debug('Starting ping monitor from subscribe', {
|
|
245
|
+
activeUnsubscribers: this.activeUnsubscribers.length,
|
|
246
|
+
});
|
|
183
247
|
this.startPingMonitor();
|
|
184
248
|
}
|
|
185
249
|
/**
|
|
@@ -192,10 +256,13 @@ export class ApplesauceRelayPool {
|
|
|
192
256
|
// Clean up relay observers
|
|
193
257
|
for (const sub of this.relayObservers)
|
|
194
258
|
sub.unsubscribe();
|
|
195
|
-
for (const sub of this.messageSubscriptions)
|
|
196
|
-
sub.unsubscribe();
|
|
197
259
|
this.relayObservers = [];
|
|
198
|
-
|
|
260
|
+
// Safely close all relays and complete their subjects
|
|
261
|
+
for (const relay of this.relays) {
|
|
262
|
+
this.safelyCloseRelay(relay);
|
|
263
|
+
}
|
|
264
|
+
this.relays = [];
|
|
265
|
+
this.relayGroup = new RelayGroup([]);
|
|
199
266
|
logger.debug('Disconnected from all relays');
|
|
200
267
|
}
|
|
201
268
|
/**
|
|
@@ -221,6 +288,9 @@ export class ApplesauceRelayPool {
|
|
|
221
288
|
try {
|
|
222
289
|
this.stopActiveSubscriptions();
|
|
223
290
|
this.subscriptionDescriptors = [];
|
|
291
|
+
// If nothing is subscribed, stop pinging (otherwise liveness can
|
|
292
|
+
// incorrectly rebuild a perfectly healthy-but-idle pool).
|
|
293
|
+
this.stopPingMonitor();
|
|
224
294
|
}
|
|
225
295
|
catch (error) {
|
|
226
296
|
logger.error('Error while unsubscribing from subscriptions', { error });
|
|
@@ -242,26 +312,46 @@ export class ApplesauceRelayPool {
|
|
|
242
312
|
}
|
|
243
313
|
/** Starts the liveness ping monitor (called lazily on first subscribe) */
|
|
244
314
|
startPingMonitor() {
|
|
245
|
-
if (this.pingSubscription)
|
|
315
|
+
if (this.pingSubscription) {
|
|
316
|
+
logger.debug('Ping monitor already started, skipping');
|
|
246
317
|
return;
|
|
247
|
-
|
|
318
|
+
}
|
|
319
|
+
// Add jitter to prevent thundering herd: ±5 seconds (but ensure it's reasonable for small intervals)
|
|
320
|
+
const jitter = Math.random() * Math.min(10000, this.pingFrequencyMs) -
|
|
321
|
+
Math.min(5000, this.pingFrequencyMs / 2);
|
|
322
|
+
const initialDelay = Math.max(0, this.pingFrequencyMs + jitter);
|
|
323
|
+
logger.debug('Starting ping monitor', {
|
|
324
|
+
pingFrequencyMs: this.pingFrequencyMs,
|
|
325
|
+
initialDelay,
|
|
326
|
+
});
|
|
327
|
+
this.pingSubscription = timer(initialDelay, this.pingFrequencyMs)
|
|
248
328
|
.pipe(
|
|
249
329
|
// Stop on destroy
|
|
250
330
|
takeUntil(this.destroy$))
|
|
251
331
|
.subscribe({
|
|
252
|
-
next: () =>
|
|
253
|
-
|
|
254
|
-
|
|
332
|
+
next: () => {
|
|
333
|
+
logger.debug('Ping timer tick');
|
|
334
|
+
void this.checkLiveness();
|
|
335
|
+
},
|
|
336
|
+
error: (err) => {
|
|
337
|
+
logger.error('Ping monitor error', { error: err });
|
|
255
338
|
},
|
|
256
339
|
});
|
|
257
340
|
}
|
|
258
341
|
/** Performs a liveness check and triggers rebuild on timeout */
|
|
259
342
|
async checkLiveness() {
|
|
260
|
-
//
|
|
261
|
-
|
|
343
|
+
// If there are no active subscriptions, don't perform liveness checks.
|
|
344
|
+
// applesauce-relay may legitimately close sockets after `keepAlive` when
|
|
345
|
+
// nothing is subscribed, and that should not trigger a rebuild.
|
|
346
|
+
if (this.activeUnsubscribers.length === 0) {
|
|
347
|
+
logger.debug('Skipping liveness check: no active subscriptions');
|
|
262
348
|
return;
|
|
263
349
|
}
|
|
264
|
-
|
|
350
|
+
logger.debug('Running liveness check', {
|
|
351
|
+
activeUnsubscribers: this.activeUnsubscribers.length,
|
|
352
|
+
relayCount: this.relays.length,
|
|
353
|
+
});
|
|
354
|
+
const relays = this.relays;
|
|
265
355
|
// If no relays in group, trigger rebuild
|
|
266
356
|
if (relays.length === 0) {
|
|
267
357
|
logger.warn('No relays in group, triggering rebuild');
|
|
@@ -271,8 +361,14 @@ export class ApplesauceRelayPool {
|
|
|
271
361
|
const connectedRelays = relays.filter((relay) => relay.connected);
|
|
272
362
|
// If relays exist but none connected, trigger rebuild
|
|
273
363
|
if (connectedRelays.length === 0) {
|
|
274
|
-
logger.warn('No connected relays, triggering rebuild'
|
|
275
|
-
|
|
364
|
+
logger.warn('No connected relays, triggering rebuild', {
|
|
365
|
+
totalRelays: relays.length,
|
|
366
|
+
relayStates: relays.map((r) => ({
|
|
367
|
+
url: r.url,
|
|
368
|
+
connected: r.connected,
|
|
369
|
+
})),
|
|
370
|
+
});
|
|
371
|
+
void this.rebuild('no-connected-relays');
|
|
276
372
|
return;
|
|
277
373
|
}
|
|
278
374
|
const pingId = `ping:${Date.now()}`;
|
|
@@ -318,14 +414,16 @@ export class ApplesauceRelayPool {
|
|
|
318
414
|
// Clean up old relay subscriptions BEFORE creating new ones to prevent leaks
|
|
319
415
|
for (const sub of this.relayObservers)
|
|
320
416
|
sub.unsubscribe();
|
|
321
|
-
for (const sub of this.messageSubscriptions)
|
|
322
|
-
sub.unsubscribe();
|
|
323
417
|
this.relayObservers = [];
|
|
324
|
-
|
|
418
|
+
// Safely close old relays and complete their subjects to prevent memory leaks
|
|
419
|
+
for (const relay of this.relays) {
|
|
420
|
+
this.safelyCloseRelay(relay);
|
|
421
|
+
}
|
|
325
422
|
// Stop current subscriptions (preserve descriptors for replay)
|
|
326
423
|
this.stopActiveSubscriptions();
|
|
327
424
|
// Create new relays and group
|
|
328
|
-
this.
|
|
425
|
+
this.relays = this.relayUrls.map((url) => this.createRelay(url));
|
|
426
|
+
this.relayGroup = new RelayGroup(this.relays);
|
|
329
427
|
// Replay all stored subscription descriptors
|
|
330
428
|
// Note: New subscriptions added during rebuild will be replayed after this completes
|
|
331
429
|
for (const desc of this.subscriptionDescriptors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EACL,aAAa,EAEb,SAAS,EACT,KAAK,EACL,OAAO,EAEP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,GACN,MAAM,MAAM,CAAC;AAEd,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;AAEhD,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC,GAAG,EAAE,CAAC,kEAAkE,CAAC;IACzE,KAAK,EAAE,CAAC;CACT,CAAC;AAiBF;;GAEG;AACH,MAAM,OAAO,mBAAmB;IA2BtB,WAAW,CAAC,GAAW;QAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7B,0EAA0E;QAC1E,gEAAgE;QAChE,KAAK,CAAC,cAAc,GAAG,CACrB,MAA0B,EAC1B,KAAK,GAAG,CAAC,EACW,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,mBAAmB,CAAC,uBAAuB,EAClE,mBAAmB,CAAC,sBAAsB,CAC3C,CAAC;YACF,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,iFAAiF;QACjF,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5D,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,SAAS;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAChD,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,YAAY,SAAmB,EAAE,IAAiC;;QAxE1D,4BAAuB,GAA6B,EAAE,CAAC;QACvD,wBAAmB,GAAsB,EAAE,CAAC;QAgBnC,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QACxC,kBAAa,GAAG,CAAC,CAAC;QAClB,0BAAqB,GAAG,CAAC,CAAC;QAE1B,mBAAc,GAAmB,EAAE,CAAC;QACpC,yBAAoB,GAAmB,EAAE,CAAC;QAmDhD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,mCAAI,KAAM,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI,KAAM,CAAC;QAEnD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAC9B,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,KAAiB;QAC7B,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1E,0DAA0D;QAC1D,yEAAyE;QACzE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;oBACrD,OAAO,EAAE,mBAAmB,CAAC,0BAA0B;oBACvD,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;gBAEH,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,EAAE;wBAAE,YAAY,IAAI,CAAC,CAAC;;wBAC9B,WAAW,IAAI,CAAC,CAAC;gBACxB,CAAC;gBAED,IAAI,YAAY,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAEnE,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;wBACpD,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,WAAW;wBACX,YAAY;qBACb,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IACE,GAAG,GAAG,SAAS;oBACf,mBAAmB,CAAC,6BAA6B,EACjD,CAAC;oBACD,SAAS,GAAG,GAAG,CAAC;oBAChB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;wBACzC,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,OAAO;wBACP,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,OAAiB,EACjB,OAAoC,EACpC,MAAmB;QAEnB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE;YACzD,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,QAAQ;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC;YACjC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACxB,MAAM,aAAN,MAAM,uBAAN,MAAM,EAAI,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACxC,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;oBACjC,KAAK;oBACL,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,OAAiB,EACjB,OAAoC,EACpC,MAAmB;QAEnB,gDAAgD;QAChD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,0DAA0D;QAC1D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAClD,CAAC;QACF,kDAAkD;QAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,2BAA2B;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc;YAAE,GAAG,CAAC,WAAW,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,oBAAoB;YAAE,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACK,uBAAuB;QAC7B,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAEvE,IAAI,CAAC;YACH,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,mBAAmB;gBAAE,WAAW,EAAE,CAAC;YAClE,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,sCAAsC;IAC9B,eAAe;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;IACH,CAAC;IAED,0EAA0E;IAClE,gBAAgB;QACtB,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAElC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;aACtE,IAAI;QACH,kBAAkB;QAClB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;aACA,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAChC,KAAK,EAAE,GAAG,EAAE;gBACV,mBAAmB;YACrB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,aAAa;QACzB,0BAA0B;QAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAEtC,yCAAyC;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElE,sDAAsD;QACtD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,oEAAoE;YACpE,wDAAwD;YACxD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACF,KAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,sEAAsE;oBACtE,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;wBAC3C,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,MAAM,aAAa,CACjB,KAAK,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAC3D,MAAM,CACJ,CAAC,GAAG,EAAE,EAAE,CACN,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAC/D,EACD,IAAI,CAAC,CAAC,CAAC,EACP,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAC5B,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBAChE,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,eAAe,EAAE,eAAe,CAAC,MAAM;iBACxC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,OAAO,CAAC,MAAc;QAC5B,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEjC,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjD,8DAA8D;YAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,6EAA6E;YAC7E,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc;gBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,oBAAoB;gBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;YAC/D,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAE/B,+DAA+D;YAC/D,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE/B,8BAA8B;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CACnD,CAAC;YAEF,6CAA6C;YAC7C,qFAAqF;YACrF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAChD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAC3B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CACjE,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAE/C,sBAAsB;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;;AAnZD,0BAA0B;AACF,8CAA0B,GAAG,KAAM,AAAT,CAAU;AACpC,6CAAyB,GAAG,GAAG,AAAN,CAAO;AAChC,iDAA6B,GAAG,KAAM,AAAT,CAAU;AAE/D,2BAA2B;AACH,2CAAuB,GAAG,IAAK,AAAR,CAAS;AAChC,0CAAsB,GAAG,KAAM,AAAT,CAAU"}
|
|
1
|
+
{"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
|