@peerbit/shared-log 16.0.25 → 16.0.26
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/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +85 -19
- package/dist/src/index.js.map +1 -1
- package/dist/src/replication-info-v2-receive.d.ts +22 -4
- package/dist/src/replication-info-v2-receive.d.ts.map +1 -1
- package/dist/src/replication-info-v2-receive.js +137 -25
- package/dist/src/replication-info-v2-receive.js.map +1 -1
- package/package.json +10 -10
- package/src/index.ts +104 -16
- package/src/replication-info-v2-receive.ts +201 -32
|
@@ -46,8 +46,13 @@ export type ReplicationInfoV2LocalCapabilityAdvertisement = {
|
|
|
46
46
|
firstAttempt?: Promise<void>;
|
|
47
47
|
};
|
|
48
48
|
type ReplicationInfoV2RemoteFullRearm = {
|
|
49
|
-
|
|
49
|
+
peerHash: string;
|
|
50
|
+
receiveEpoch: object | null;
|
|
51
|
+
receiverTransportSession: bigint;
|
|
52
|
+
nextAttemptAt: number;
|
|
53
|
+
outstandingAttempts: number;
|
|
50
54
|
inFlight?: Promise<void>;
|
|
55
|
+
controller?: AbortController;
|
|
51
56
|
};
|
|
52
57
|
export type ReplicationInfoV2LocalCapabilityRefresh = {
|
|
53
58
|
receiverTransportSession: bigint;
|
|
@@ -111,6 +116,9 @@ export type ReplicationInfoV2ReceiveDeps = {
|
|
|
111
116
|
requestRetryMs?: number;
|
|
112
117
|
maxRequestRetryMs?: number;
|
|
113
118
|
requestMaxAttempts?: number;
|
|
119
|
+
remoteFullRearmAttemptTimeoutMs?: number;
|
|
120
|
+
remoteFullRearmCooldownMs?: number;
|
|
121
|
+
maxRemoteFullRearmOutstandingGlobal?: number;
|
|
114
122
|
};
|
|
115
123
|
/**
|
|
116
124
|
* Authenticated receive grants and sender-authoritative ordering for
|
|
@@ -133,11 +141,16 @@ export declare class ReplicationInfoV2ReceiveCoordinator {
|
|
|
133
141
|
_localCapabilityContextBySession: WeakMap<object, ReplicationInfoV2LocalCapabilityContext>;
|
|
134
142
|
_localCapabilityAdvertisementsByPeer: Map<string, ReplicationInfoV2LocalCapabilityAdvertisement>;
|
|
135
143
|
_remoteFullRearmBySession: WeakMap<object, ReplicationInfoV2RemoteFullRearm>;
|
|
144
|
+
_remoteFullRearmsInFlight: Set<ReplicationInfoV2RemoteFullRearm>;
|
|
145
|
+
_remoteFullRearmOutstanding: Set<object>;
|
|
136
146
|
_reservedAdmissionsByPeer: Map<string, ReplicationInfoV2ReceiveAdmission>;
|
|
137
147
|
private readonly now;
|
|
138
148
|
private readonly requestRetryMs;
|
|
139
149
|
private readonly maxRequestRetryMs;
|
|
140
150
|
private readonly requestMaxAttempts;
|
|
151
|
+
private readonly remoteFullRearmAttemptTimeoutMs;
|
|
152
|
+
private readonly remoteFullRearmCooldownMs;
|
|
153
|
+
private readonly maxRemoteFullRearmOutstandingGlobal;
|
|
141
154
|
constructor(deps: ReplicationInfoV2ReceiveDeps);
|
|
142
155
|
resetForOpen(): void;
|
|
143
156
|
clearForClose(): void;
|
|
@@ -171,9 +184,14 @@ export declare class ReplicationInfoV2ReceiveCoordinator {
|
|
|
171
184
|
* stream that was lost while both directions otherwise remained current.
|
|
172
185
|
*
|
|
173
186
|
* This deliberately does not mutate the steady advertisement worker. One
|
|
174
|
-
* attempt is coalesced per PeerSession and bound to
|
|
175
|
-
*
|
|
176
|
-
*
|
|
187
|
+
* attempt is coalesced per exact PeerSession/receive generation and bound to
|
|
188
|
+
* its own deadline as well as the caller's signal. A cooldown avoids rotating
|
|
189
|
+
* a healthy in-flight challenge on every recovery tick. The remote rotates
|
|
190
|
+
* only when its receive state is active; later hints during resync only nudge
|
|
191
|
+
* that same bounded request generation. At most two transports that disregard
|
|
192
|
+
* abort remain outstanding for one exact session (64 across this coordinator's
|
|
193
|
+
* lifetime); reaching either cap stops new hints while the persisted-readiness
|
|
194
|
+
* gate remains fail closed.
|
|
177
195
|
*/
|
|
178
196
|
reAdvertiseLocalCapabilityForRemoteFull(properties: {
|
|
179
197
|
peerHash: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication-info-v2-receive.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AAM9E,OAAO,EAKN,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,sCAAsC,EACtC,+BAA+B,EAG/B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"replication-info-v2-receive.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@ const REQUIRED_SENDER_CAPABILITIES = SYNC_CAPABILITY_REPLICATION_INFO_V2_DECODE
|
|
|
8
8
|
const DEFAULT_REQUEST_RETRY_MS = 1_000;
|
|
9
9
|
const DEFAULT_MAX_REQUEST_RETRY_MS = 30_000;
|
|
10
10
|
const DEFAULT_REQUEST_MAX_ATTEMPTS = 7;
|
|
11
|
+
const DEFAULT_REMOTE_FULL_REARM_ATTEMPT_TIMEOUT_MS = 2_000;
|
|
12
|
+
const DEFAULT_REMOTE_FULL_REARM_COOLDOWN_MS = 5_000;
|
|
13
|
+
const MAX_REMOTE_FULL_REARM_OUTSTANDING_PER_SESSION = 2;
|
|
14
|
+
const MAX_REMOTE_FULL_REARM_OUTSTANDING_GLOBAL = 64;
|
|
15
|
+
const MAX_TIMER_MS = 2_147_483_647;
|
|
11
16
|
const MAX_U64 = (1n << 64n) - 1n;
|
|
12
17
|
const MAX_BACKOFF_EXPONENT = 20;
|
|
13
18
|
const bytesEqual = (left, right) => {
|
|
@@ -56,23 +61,38 @@ export class ReplicationInfoV2ReceiveCoordinator {
|
|
|
56
61
|
_localCapabilityContextBySession;
|
|
57
62
|
_localCapabilityAdvertisementsByPeer;
|
|
58
63
|
_remoteFullRearmBySession;
|
|
64
|
+
_remoteFullRearmsInFlight;
|
|
65
|
+
_remoteFullRearmOutstanding;
|
|
59
66
|
_reservedAdmissionsByPeer;
|
|
60
67
|
now;
|
|
61
68
|
requestRetryMs;
|
|
62
69
|
maxRequestRetryMs;
|
|
63
70
|
requestMaxAttempts;
|
|
71
|
+
remoteFullRearmAttemptTimeoutMs;
|
|
72
|
+
remoteFullRearmCooldownMs;
|
|
73
|
+
maxRemoteFullRearmOutstandingGlobal;
|
|
64
74
|
constructor(deps) {
|
|
65
75
|
this.deps = deps;
|
|
66
76
|
this.now = deps.now ?? Date.now;
|
|
67
77
|
this.requestRetryMs = Math.max(1, deps.requestRetryMs ?? DEFAULT_REQUEST_RETRY_MS);
|
|
68
78
|
this.maxRequestRetryMs = Math.max(this.requestRetryMs, deps.maxRequestRetryMs ?? DEFAULT_MAX_REQUEST_RETRY_MS);
|
|
69
79
|
this.requestMaxAttempts = Math.max(1, Math.floor(deps.requestMaxAttempts ?? DEFAULT_REQUEST_MAX_ATTEMPTS));
|
|
80
|
+
this.remoteFullRearmAttemptTimeoutMs = Math.max(1, Math.min(MAX_TIMER_MS, Math.floor(deps.remoteFullRearmAttemptTimeoutMs ??
|
|
81
|
+
DEFAULT_REMOTE_FULL_REARM_ATTEMPT_TIMEOUT_MS)));
|
|
82
|
+
this.remoteFullRearmCooldownMs = Math.max(this.requestRetryMs, Math.min(MAX_TIMER_MS, Math.floor(deps.remoteFullRearmCooldownMs ??
|
|
83
|
+
DEFAULT_REMOTE_FULL_REARM_COOLDOWN_MS)));
|
|
84
|
+
// The injected value is a test seam that may only tighten this lifetime
|
|
85
|
+
// resource bound, never widen it.
|
|
86
|
+
this.maxRemoteFullRearmOutstandingGlobal = Math.min(MAX_REMOTE_FULL_REARM_OUTSTANDING_GLOBAL, Math.max(1, Math.floor(deps.maxRemoteFullRearmOutstandingGlobal ??
|
|
87
|
+
MAX_REMOTE_FULL_REARM_OUTSTANDING_GLOBAL)));
|
|
70
88
|
this._receiveStates = new Map();
|
|
71
89
|
this._cutoverPeerSessions = new WeakSet();
|
|
72
90
|
this._localCapabilityReadyBySession = new WeakMap();
|
|
73
91
|
this._localCapabilityContextBySession = new WeakMap();
|
|
74
92
|
this._localCapabilityAdvertisementsByPeer = new Map();
|
|
75
93
|
this._remoteFullRearmBySession = new WeakMap();
|
|
94
|
+
this._remoteFullRearmsInFlight = new Set();
|
|
95
|
+
this._remoteFullRearmOutstanding = new Set();
|
|
76
96
|
this._reservedAdmissionsByPeer = new Map();
|
|
77
97
|
}
|
|
78
98
|
resetForOpen() {
|
|
@@ -83,9 +103,14 @@ export class ReplicationInfoV2ReceiveCoordinator {
|
|
|
83
103
|
this._localCapabilityContextBySession = new WeakMap();
|
|
84
104
|
this._localCapabilityAdvertisementsByPeer = new Map();
|
|
85
105
|
this._remoteFullRearmBySession = new WeakMap();
|
|
106
|
+
this._remoteFullRearmsInFlight = new Set();
|
|
86
107
|
this._reservedAdmissionsByPeer = new Map();
|
|
87
108
|
}
|
|
88
109
|
clearForClose() {
|
|
110
|
+
for (const rearm of this._remoteFullRearmsInFlight ?? []) {
|
|
111
|
+
rearm.controller?.abort(new Error("Replication-info V2 receiver closed during remote Full rearm"));
|
|
112
|
+
}
|
|
113
|
+
this._remoteFullRearmsInFlight?.clear();
|
|
89
114
|
for (const advertisement of [
|
|
90
115
|
...(this._localCapabilityAdvertisementsByPeer?.values() ?? []),
|
|
91
116
|
]) {
|
|
@@ -114,10 +139,23 @@ export class ReplicationInfoV2ReceiveCoordinator {
|
|
|
114
139
|
this._localCapabilityContextBySession.delete(state.peerSession);
|
|
115
140
|
this._cutoverPeerSessions.delete(state.peerSession);
|
|
116
141
|
}
|
|
142
|
+
if (!expectedSession) {
|
|
143
|
+
for (const rearm of this._remoteFullRearmsInFlight) {
|
|
144
|
+
if (rearm.peerHash === peerHash) {
|
|
145
|
+
rearm.controller?.abort(new Error("Replication-info V2 peer cleared during rearm"));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const rearmSession = expectedSession ?? state?.peerSession ?? advertisement?.peerSession;
|
|
150
|
+
if (rearmSession) {
|
|
151
|
+
this._remoteFullRearmBySession
|
|
152
|
+
.get(rearmSession)
|
|
153
|
+
?.controller?.abort(new Error("Replication-info V2 peer session cleared during rearm"));
|
|
154
|
+
this._remoteFullRearmBySession.delete(rearmSession);
|
|
155
|
+
}
|
|
117
156
|
if (expectedSession) {
|
|
118
157
|
this._localCapabilityReadyBySession.delete(expectedSession);
|
|
119
158
|
this._localCapabilityContextBySession.delete(expectedSession);
|
|
120
|
-
this._remoteFullRearmBySession.delete(expectedSession);
|
|
121
159
|
this._cutoverPeerSessions.delete(expectedSession);
|
|
122
160
|
}
|
|
123
161
|
}
|
|
@@ -388,9 +426,14 @@ export class ReplicationInfoV2ReceiveCoordinator {
|
|
|
388
426
|
* stream that was lost while both directions otherwise remained current.
|
|
389
427
|
*
|
|
390
428
|
* This deliberately does not mutate the steady advertisement worker. One
|
|
391
|
-
* attempt is coalesced per PeerSession and bound to
|
|
392
|
-
*
|
|
393
|
-
*
|
|
429
|
+
* attempt is coalesced per exact PeerSession/receive generation and bound to
|
|
430
|
+
* its own deadline as well as the caller's signal. A cooldown avoids rotating
|
|
431
|
+
* a healthy in-flight challenge on every recovery tick. The remote rotates
|
|
432
|
+
* only when its receive state is active; later hints during resync only nudge
|
|
433
|
+
* that same bounded request generation. At most two transports that disregard
|
|
434
|
+
* abort remain outstanding for one exact session (64 across this coordinator's
|
|
435
|
+
* lifetime); reaching either cap stops new hints while the persisted-readiness
|
|
436
|
+
* gate remains fail closed.
|
|
394
437
|
*/
|
|
395
438
|
reAdvertiseLocalCapabilityForRemoteFull(properties) {
|
|
396
439
|
const context = this._localCapabilityContextBySession.get(properties.peerSession);
|
|
@@ -408,33 +451,67 @@ export class ReplicationInfoV2ReceiveCoordinator {
|
|
|
408
451
|
return false;
|
|
409
452
|
}
|
|
410
453
|
const now = this.now();
|
|
454
|
+
const receiverTransportSession = ready.receiverTransportSession;
|
|
411
455
|
let rearm = this._remoteFullRearmBySession.get(properties.peerSession);
|
|
456
|
+
if (rearm &&
|
|
457
|
+
(rearm.peerHash !== properties.peerHash ||
|
|
458
|
+
rearm.receiveEpoch !== properties.receiveEpoch ||
|
|
459
|
+
rearm.receiverTransportSession !== receiverTransportSession)) {
|
|
460
|
+
rearm.controller?.abort(new Error("Replication-info V2 remote Full rearm generation changed"));
|
|
461
|
+
rearm = undefined;
|
|
462
|
+
}
|
|
412
463
|
if (rearm?.inFlight) {
|
|
413
464
|
return true;
|
|
414
465
|
}
|
|
415
|
-
if (rearm !== undefined &&
|
|
416
|
-
|
|
466
|
+
if (rearm !== undefined && now < rearm.nextAttemptAt) {
|
|
467
|
+
return true;
|
|
468
|
+
}
|
|
469
|
+
if ((rearm?.outstandingAttempts ?? 0) >=
|
|
470
|
+
MAX_REMOTE_FULL_REARM_OUTSTANDING_PER_SESSION ||
|
|
471
|
+
this._remoteFullRearmOutstanding.size >=
|
|
472
|
+
this.maxRemoteFullRearmOutstandingGlobal) {
|
|
417
473
|
return true;
|
|
418
474
|
}
|
|
419
475
|
if (!rearm) {
|
|
420
|
-
rearm = {
|
|
476
|
+
rearm = {
|
|
477
|
+
peerHash: properties.peerHash,
|
|
478
|
+
receiveEpoch: properties.receiveEpoch,
|
|
479
|
+
receiverTransportSession,
|
|
480
|
+
nextAttemptAt: now + this.remoteFullRearmCooldownMs,
|
|
481
|
+
outstandingAttempts: 0,
|
|
482
|
+
};
|
|
421
483
|
this._remoteFullRearmBySession.set(properties.peerSession, rearm);
|
|
422
484
|
}
|
|
423
485
|
else {
|
|
424
|
-
rearm.
|
|
425
|
-
}
|
|
426
|
-
const
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
const
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
486
|
+
rearm.nextAttemptAt = now + this.remoteFullRearmCooldownMs;
|
|
487
|
+
}
|
|
488
|
+
const attemptState = rearm;
|
|
489
|
+
const outstandingReservation = {};
|
|
490
|
+
attemptState.outstandingAttempts++;
|
|
491
|
+
this._remoteFullRearmOutstanding.add(outstandingReservation);
|
|
492
|
+
const attemptController = new AbortController();
|
|
493
|
+
const operationSignal = attemptController.signal;
|
|
494
|
+
attemptState.controller = attemptController;
|
|
495
|
+
this._remoteFullRearmsInFlight.add(attemptState);
|
|
496
|
+
const sourceSignals = Array.from(new Set([context.lifecycleSignal, properties.signal]));
|
|
497
|
+
const onSourceAbort = (event) => {
|
|
498
|
+
const source = event.currentTarget;
|
|
499
|
+
attemptController.abort(source.reason);
|
|
500
|
+
};
|
|
501
|
+
for (const source of sourceSignals) {
|
|
502
|
+
source.addEventListener("abort", onSourceAbort, { once: true });
|
|
503
|
+
}
|
|
504
|
+
const attemptTimer = setTimeout(() => attemptController.abort(new Error("Replication-info V2 remote Full rearm attempt timed out")), this.remoteFullRearmAttemptTimeoutMs);
|
|
505
|
+
attemptTimer.unref?.();
|
|
506
|
+
let releasedOutstanding = false;
|
|
507
|
+
const releaseOutstanding = () => {
|
|
508
|
+
if (releasedOutstanding)
|
|
509
|
+
return;
|
|
510
|
+
releasedOutstanding = true;
|
|
511
|
+
this._remoteFullRearmOutstanding.delete(outstandingReservation);
|
|
512
|
+
attemptState.outstandingAttempts--;
|
|
435
513
|
};
|
|
436
|
-
|
|
437
|
-
.then(() => {
|
|
514
|
+
const refresh = Promise.resolve().then(() => {
|
|
438
515
|
if (operationSignal.aborted) {
|
|
439
516
|
throw operationSignal.reason;
|
|
440
517
|
}
|
|
@@ -446,7 +523,40 @@ export class ReplicationInfoV2ReceiveCoordinator {
|
|
|
446
523
|
signal: operationSignal,
|
|
447
524
|
requestRemoteFullRearm: true,
|
|
448
525
|
});
|
|
449
|
-
})
|
|
526
|
+
});
|
|
527
|
+
void refresh.then(releaseOutstanding, releaseOutstanding);
|
|
528
|
+
let operation;
|
|
529
|
+
const detach = () => {
|
|
530
|
+
clearTimeout(attemptTimer);
|
|
531
|
+
operationSignal.removeEventListener("abort", detach);
|
|
532
|
+
for (const source of sourceSignals) {
|
|
533
|
+
source.removeEventListener("abort", onSourceAbort);
|
|
534
|
+
}
|
|
535
|
+
if (attemptState.inFlight === operation) {
|
|
536
|
+
this._remoteFullRearmsInFlight.delete(attemptState);
|
|
537
|
+
attemptState.inFlight = undefined;
|
|
538
|
+
attemptState.controller = undefined;
|
|
539
|
+
}
|
|
540
|
+
};
|
|
541
|
+
const raceWithAttemptSignal = (promise) => new Promise((resolve, reject) => {
|
|
542
|
+
const onAbort = () => {
|
|
543
|
+
operationSignal.removeEventListener("abort", onAbort);
|
|
544
|
+
reject(operationSignal.reason);
|
|
545
|
+
};
|
|
546
|
+
operationSignal.addEventListener("abort", onAbort, { once: true });
|
|
547
|
+
if (operationSignal.aborted) {
|
|
548
|
+
onAbort();
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
promise.then((value) => {
|
|
552
|
+
operationSignal.removeEventListener("abort", onAbort);
|
|
553
|
+
resolve(value);
|
|
554
|
+
}, (error) => {
|
|
555
|
+
operationSignal.removeEventListener("abort", onAbort);
|
|
556
|
+
reject(error);
|
|
557
|
+
});
|
|
558
|
+
});
|
|
559
|
+
operation = raceWithAttemptSignal(refresh)
|
|
450
560
|
.then(() => undefined)
|
|
451
561
|
.catch((error) => {
|
|
452
562
|
if (!operationSignal.aborted &&
|
|
@@ -456,13 +566,15 @@ export class ReplicationInfoV2ReceiveCoordinator {
|
|
|
456
566
|
}
|
|
457
567
|
})
|
|
458
568
|
.finally(() => {
|
|
459
|
-
operationSignal.removeEventListener("abort", detach);
|
|
460
569
|
detach();
|
|
461
570
|
});
|
|
462
|
-
|
|
571
|
+
attemptState.inFlight = operation;
|
|
463
572
|
operationSignal.addEventListener("abort", detach, { once: true });
|
|
464
|
-
|
|
465
|
-
|
|
573
|
+
for (const source of sourceSignals) {
|
|
574
|
+
if (source.aborted) {
|
|
575
|
+
attemptController.abort(source.reason);
|
|
576
|
+
break;
|
|
577
|
+
}
|
|
466
578
|
}
|
|
467
579
|
void operation;
|
|
468
580
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication-info-v2-receive.js","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replication-info-v2-receive.js","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/shared-log",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.26",
|
|
4
4
|
"description": "Shared log",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -62,22 +62,22 @@
|
|
|
62
62
|
"pidusage": "^4.0.1",
|
|
63
63
|
"pino": "^9.4.0",
|
|
64
64
|
"uint8arrays": "^5.1.0",
|
|
65
|
+
"@peerbit/any-store": "2.2.17",
|
|
65
66
|
"@peerbit/blocks": "4.2.16",
|
|
67
|
+
"@peerbit/blocks-interface": "2.1.8",
|
|
66
68
|
"@peerbit/cache": "3.1.1",
|
|
67
69
|
"@peerbit/crypto": "3.1.6",
|
|
68
|
-
"@peerbit/blocks-interface": "2.1.8",
|
|
69
70
|
"@peerbit/diagnostics": "0.0.1",
|
|
70
|
-
"@peerbit/any-store": "2.2.17",
|
|
71
|
-
"@peerbit/indexer-interface": "3.0.13",
|
|
72
|
-
"@peerbit/logger": "2.0.2",
|
|
73
|
-
"@peerbit/program": "6.0.58",
|
|
74
71
|
"@peerbit/indexer-sqlite3": "3.0.20",
|
|
72
|
+
"@peerbit/log": "6.2.31",
|
|
73
|
+
"@peerbit/program": "6.0.58",
|
|
75
74
|
"@peerbit/pubsub": "5.4.5",
|
|
76
75
|
"@peerbit/pubsub-interface": "5.2.2",
|
|
77
|
-
"@peerbit/log": "6.2.31",
|
|
78
|
-
"@peerbit/rpc": "6.1.26",
|
|
79
76
|
"@peerbit/riblt": "1.2.0",
|
|
77
|
+
"@peerbit/logger": "2.0.2",
|
|
78
|
+
"@peerbit/rpc": "6.1.26",
|
|
80
79
|
"@peerbit/stream-interface": "6.0.16",
|
|
80
|
+
"@peerbit/indexer-interface": "3.0.13",
|
|
81
81
|
"@peerbit/time": "3.0.1"
|
|
82
82
|
},
|
|
83
83
|
"optionalDependencies": {
|
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
"@types/pidusage": "^2.0.5",
|
|
90
90
|
"uuid": "^11.1.1",
|
|
91
91
|
"@peerbit/indexer-simple": "1.2.17",
|
|
92
|
-
"@peerbit/indexer-rust": "1.0.14",
|
|
93
92
|
"@peerbit/any-store-rust": "0.1.7",
|
|
94
93
|
"@peerbit/test-utils": "3.1.38",
|
|
95
|
-
"peerbit": "5.3.38"
|
|
94
|
+
"peerbit": "5.3.38",
|
|
95
|
+
"@peerbit/indexer-rust": "1.0.14"
|
|
96
96
|
},
|
|
97
97
|
"repository": {
|
|
98
98
|
"type": "git",
|