@peerbit/shared-log 13.2.31 → 13.2.33

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.
Files changed (36) hide show
  1. package/dist/src/exchange-heads.d.ts +13 -2
  2. package/dist/src/exchange-heads.d.ts.map +1 -1
  3. package/dist/src/exchange-heads.js +13 -2
  4. package/dist/src/exchange-heads.js.map +1 -1
  5. package/dist/src/index.d.ts +11 -0
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +727 -85
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/replication-announcement.d.ts +3 -1
  10. package/dist/src/replication-announcement.d.ts.map +1 -1
  11. package/dist/src/replication-announcement.js +1 -0
  12. package/dist/src/replication-announcement.js.map +1 -1
  13. package/dist/src/replication-info-v2-binding.d.ts +16 -0
  14. package/dist/src/replication-info-v2-binding.d.ts.map +1 -0
  15. package/dist/src/replication-info-v2-binding.js +30 -0
  16. package/dist/src/replication-info-v2-binding.js.map +1 -0
  17. package/dist/src/replication-info-v2-receive.d.ts +181 -0
  18. package/dist/src/replication-info-v2-receive.d.ts.map +1 -0
  19. package/dist/src/replication-info-v2-receive.js +725 -0
  20. package/dist/src/replication-info-v2-receive.js.map +1 -0
  21. package/dist/src/replication-info-v2-send.d.ts +95 -0
  22. package/dist/src/replication-info-v2-send.d.ts.map +1 -0
  23. package/dist/src/replication-info-v2-send.js +398 -0
  24. package/dist/src/replication-info-v2-send.js.map +1 -0
  25. package/dist/src/replication.d.ts +26 -4
  26. package/dist/src/replication.d.ts.map +1 -1
  27. package/dist/src/replication.js +60 -5
  28. package/dist/src/replication.js.map +1 -1
  29. package/package.json +11 -11
  30. package/src/exchange-heads.ts +15 -2
  31. package/src/index.ts +1040 -201
  32. package/src/replication-announcement.ts +10 -4
  33. package/src/replication-info-v2-binding.ts +44 -0
  34. package/src/replication-info-v2-receive.ts +1045 -0
  35. package/src/replication-info-v2-send.ts +540 -0
  36. package/src/replication.ts +39 -5
@@ -71,7 +71,9 @@ export type ReplicationAnnouncementDeps<R extends "u32" | "u64"> = {
71
71
  callRebalanceParticipationDebounced: () => unknown;
72
72
  queueCurrentReplicationStateAnnouncementRepair: () => void;
73
73
  queueCurrentReplicationStateAnnouncementRetry: (error: unknown) => boolean;
74
+ enqueueReplicationInfoV2: (message: LegacyReplicationInfoMessage) => void;
74
75
  };
76
+ type LegacyReplicationInfoMessage = AllReplicatingSegmentsMessage | AddedReplicationSegmentMessage | StoppedReplicating;
75
77
  export declare class ReplicationAnnouncementCoordinator<R extends "u32" | "u64"> {
76
78
  private readonly deps;
77
79
  replicationAnnouncementRetryDebounced: ReturnType<typeof debounceFixedInterval> | undefined;
@@ -107,7 +109,7 @@ export declare class ReplicationAnnouncementCoordinator<R extends "u32" | "u64">
107
109
  runCurrentReplicationStateAnnouncementRepair(): Promise<void>;
108
110
  repairCurrentReplicationStateAnnouncement(context?: ReplicationAnnouncementRepairWorkerContext): Promise<void>;
109
111
  cancelCurrentReplicationStateAnnouncementRetry(): void;
110
- sendReplicationAnnouncement(message: AllReplicatingSegmentsMessage | AddedReplicationSegmentMessage | StoppedReplicating, ownershipLifecycleController?: AbortController, options?: {
112
+ sendReplicationAnnouncement(message: LegacyReplicationInfoMessage, ownershipLifecycleController?: AbortController, options?: {
111
113
  shouldSend?: () => boolean;
112
114
  }): Promise<void>;
113
115
  retryCurrentReplicationStateAnnouncement(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"replication-announcement.d.ts","sourceRoot":"","sources":["../../src/replication-announcement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replication-announcement.d.ts","sourceRoot":"","sources":["../../src/replication-announcement.ts"],"names":[],"mappings":"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"}
@@ -425,6 +425,7 @@ export class ReplicationAnnouncementCoordinator {
425
425
  // after that stale send settles.
426
426
  this.rotateAnnouncementSession();
427
427
  this.advanceCurrentReplicationStateAnnouncementRepairGeneration();
428
+ this.deps.enqueueReplicationInfoV2(message);
428
429
  try {
429
430
  await this.deps.getRpc().send(message, {
430
431
  priority: CONVERGENCE_MESSAGE_PRIORITY,
@@ -1 +1 @@
1
- {"version":3,"file":"replication-announcement.js","sourceRoot":"","sources":["../../src/replication-announcement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replication-announcement.js","sourceRoot":"","sources":["../../src/replication-announcement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type PublicSignKey } from "@peerbit/crypto";
2
+ /**
3
+ * Derive the token echoed by V2 data frames. Delivery recipients are unsigned,
4
+ * so the receiver's nonce alone is not a destination binding. Folding both
5
+ * authenticated identities and signed transport sessions into the 32-byte
6
+ * field prevents a copied request nonce from creating an interchangeable
7
+ * stream for another receiver.
8
+ */
9
+ export declare const deriveReplicationInfoV2ReceiverBinding: (properties: {
10
+ receiverChallenge: Uint8Array;
11
+ receiver: PublicSignKey;
12
+ receiverTransportSession: bigint;
13
+ sender: PublicSignKey;
14
+ senderTransportSession: bigint;
15
+ }) => Uint8Array;
16
+ //# sourceMappingURL=replication-info-v2-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replication-info-v2-binding.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-binding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAmBjE;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC,GAAI,YAAY;IAClE,iBAAiB,EAAE,UAAU,CAAC;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;CAC/B,KAAG,UAUF,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { serialize } from "@dao-xyz/borsh";
2
+ import { sha256Sync } from "@peerbit/crypto";
3
+ import { concat, fromString } from "uint8arrays";
4
+ const RECEIVER_BINDING_DOMAIN = fromString("peerbit/shared-log/replication-info-v2/receiver-binding/v1");
5
+ const lengthPrefixed = (bytes) => {
6
+ const length = new Uint8Array(4);
7
+ new DataView(length.buffer).setUint32(0, bytes.byteLength, true);
8
+ return concat([length, bytes]);
9
+ };
10
+ const u64LittleEndian = (value) => {
11
+ const bytes = new Uint8Array(8);
12
+ new DataView(bytes.buffer).setBigUint64(0, value, true);
13
+ return bytes;
14
+ };
15
+ /**
16
+ * Derive the token echoed by V2 data frames. Delivery recipients are unsigned,
17
+ * so the receiver's nonce alone is not a destination binding. Folding both
18
+ * authenticated identities and signed transport sessions into the 32-byte
19
+ * field prevents a copied request nonce from creating an interchangeable
20
+ * stream for another receiver.
21
+ */
22
+ export const deriveReplicationInfoV2ReceiverBinding = (properties) => sha256Sync(concat([
23
+ lengthPrefixed(RECEIVER_BINDING_DOMAIN),
24
+ lengthPrefixed(properties.receiverChallenge),
25
+ lengthPrefixed(serialize(properties.receiver)),
26
+ u64LittleEndian(properties.receiverTransportSession),
27
+ lengthPrefixed(serialize(properties.sender)),
28
+ u64LittleEndian(properties.senderTransportSession),
29
+ ]));
30
+ //# sourceMappingURL=replication-info-v2-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replication-info-v2-binding.js","sourceRoot":"","sources":["../../src/replication-info-v2-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAsB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,uBAAuB,GAAG,UAAU,CACzC,4DAA4D,CAC5D,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAc,EAAE;IACxD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAc,EAAE;IACrD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,UAMtD,EAAc,EAAE,CAChB,UAAU,CACT,MAAM,CAAC;IACN,cAAc,CAAC,uBAAuB,CAAC;IACvC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC;IAC5C,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,eAAe,CAAC,UAAU,CAAC,wBAAwB,CAAC;IACpD,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,eAAe,CAAC,UAAU,CAAC,sBAAsB,CAAC;CAClD,CAAC,CACF,CAAC"}
@@ -0,0 +1,181 @@
1
+ import { type PublicSignKey } from "@peerbit/crypto";
2
+ import { AddedReplicationSegmentMessage, AllReplicatingSegmentsMessage, type ReplicationInfoV2Message, RequestReplicationInfoV2Message, StoppedReplicating } from "./replication.js";
3
+ type LegacyReplicationInfoMessage = AllReplicatingSegmentsMessage | AddedReplicationSegmentMessage | StoppedReplicating;
4
+ export type ReplicationInfoV2ReceivePhase = "awaiting-full" | "active" | "resync";
5
+ type LocalCapabilityReady = {
6
+ peerHash: string;
7
+ receiverTransportSession: bigint;
8
+ /**
9
+ * The local capability envelope and the later RequestV2 envelope use the
10
+ * same millisecond clock. The sender deliberately requires the request to
11
+ * be strictly newer, so never construct it in this captured millisecond.
12
+ */
13
+ requestNotBeforeMs: number;
14
+ };
15
+ export type ReplicationInfoV2LocalCapabilityRefresh = {
16
+ receiverTransportSession: bigint;
17
+ requestNotBeforeMs: number;
18
+ };
19
+ export type ReplicationInfoV2ReceiveState = {
20
+ peerHash: string;
21
+ target: PublicSignKey;
22
+ peerSession: object;
23
+ receiveEpoch: object | null;
24
+ capabilities: number;
25
+ capabilityTimestamp: bigint;
26
+ senderTransportSession: bigint;
27
+ receiverTransportSession?: bigint;
28
+ receiverRequestChallenge: Uint8Array;
29
+ receiverBinding?: Uint8Array;
30
+ senderEpoch?: Uint8Array;
31
+ lastSequence?: bigint;
32
+ phase: ReplicationInfoV2ReceivePhase;
33
+ version: number;
34
+ controller: AbortController;
35
+ requestTimer?: ReturnType<typeof setTimeout>;
36
+ requestInFlight?: Promise<void>;
37
+ requestAttempts: number;
38
+ requestsSinceCapabilityRefresh: number;
39
+ requestParked: boolean;
40
+ capabilityRefreshRequired: boolean;
41
+ legacyFallbackTimer?: ReturnType<typeof setTimeout>;
42
+ legacyFallbackFingerprint?: Uint8Array;
43
+ legacyFallbackTimestamp?: bigint;
44
+ legacyFallbackAmbiguous: boolean;
45
+ lastCommittedTransportTimestamp?: bigint;
46
+ recentCommittedPayloads: Array<{
47
+ fingerprint: Uint8Array;
48
+ transportTimestamp: bigint;
49
+ }>;
50
+ lastLegacyObservationTimestamp?: bigint;
51
+ lastLegacyObservationFingerprint?: Uint8Array;
52
+ lastLegacyObservationAmbiguous: boolean;
53
+ reservedAdmission?: ReplicationInfoV2ReceiveAdmission;
54
+ };
55
+ export type ReplicationInfoV2ReceiveAdmission = {
56
+ state: ReplicationInfoV2ReceiveState;
57
+ version: number;
58
+ receiveEpoch: object | null;
59
+ message: ReplicationInfoV2Message;
60
+ kind: "full" | "added" | "stopped";
61
+ payloadFingerprint: Uint8Array;
62
+ transportTimestamp: bigint;
63
+ committed: boolean;
64
+ resyncAfterRelease?: boolean;
65
+ };
66
+ export type ReplicationInfoV2ReceiveDeps = {
67
+ getSelfKey: () => PublicSignKey;
68
+ getReceiverTransportSession: () => bigint;
69
+ isClosed: () => boolean;
70
+ isPeerStateCurrent: (peerHash: string, peerSession: object, receiveEpoch: object | null) => boolean;
71
+ isSenderTransportSessionCurrent: (peerHash: string, senderTransportSession: bigint) => boolean;
72
+ sendRequest: (request: RequestReplicationInfoV2Message, target: PublicSignKey, signal: AbortSignal) => Promise<void>;
73
+ refreshLocalCapability: (properties: {
74
+ peerHash: string;
75
+ target: PublicSignKey;
76
+ peerSession: object;
77
+ receiveEpoch: object | null;
78
+ signal: AbortSignal;
79
+ }) => Promise<ReplicationInfoV2LocalCapabilityRefresh | undefined>;
80
+ onRequestError?: (error: unknown) => void;
81
+ now?: () => number;
82
+ requestRetryMs?: number;
83
+ maxRequestRetryMs?: number;
84
+ requestMaxAttempts?: number;
85
+ legacyFallbackDelayMs?: number;
86
+ };
87
+ /**
88
+ * Authenticated receive grants and sender-authoritative ordering for
89
+ * replication-info V2. State is bounded to one entry per subscribed peer and
90
+ * is always scoped to the exact PeerSession object.
91
+ */
92
+ export declare class ReplicationInfoV2ReceiveCoordinator {
93
+ private readonly deps;
94
+ _receiveStates: Map<string, ReplicationInfoV2ReceiveState>;
95
+ _cutoverPeerSessions: WeakSet<object>;
96
+ _localCapabilityReadyBySession: WeakMap<object, LocalCapabilityReady>;
97
+ _reservedAdmissionsByPeer: Map<string, ReplicationInfoV2ReceiveAdmission>;
98
+ private readonly now;
99
+ private readonly requestRetryMs;
100
+ private readonly maxRequestRetryMs;
101
+ private readonly requestMaxAttempts;
102
+ private readonly legacyFallbackDelayMs;
103
+ constructor(deps: ReplicationInfoV2ReceiveDeps);
104
+ resetForOpen(): void;
105
+ clearForClose(): void;
106
+ clearPeer(peerHash: string, expectedSession?: object): void;
107
+ /** Revoke an unauthenticated or downgraded capability generation. */
108
+ revokePeerCapability(peerHash: string, reopenLegacy?: boolean): void;
109
+ private clearState;
110
+ /** Record success of this session's ACKed local APPLY advertisement. */
111
+ markLocalCapabilityReady(properties: {
112
+ peerHash: string;
113
+ peerSession: object;
114
+ receiveEpoch: object | null;
115
+ receiverTransportSession: bigint;
116
+ requestNotBeforeMs: number;
117
+ }): boolean;
118
+ /**
119
+ * Promote one signed capability generation after the opening barrier has
120
+ * committed. Repeated same-session advertisements refresh freshness only;
121
+ * they never reset sequence state.
122
+ */
123
+ observeCapability(properties: {
124
+ peerHash: string;
125
+ target: PublicSignKey;
126
+ peerSession: object;
127
+ receiveEpoch: object | null;
128
+ capabilities: number;
129
+ senderTransportSession: bigint;
130
+ capabilityTimestamp: bigint;
131
+ }): boolean;
132
+ private bindLocalCapability;
133
+ /** Require a fresh capability-bound grant and authoritative Full. */
134
+ advanceRecovery(properties: {
135
+ peerHash: string;
136
+ peerSession: object;
137
+ receiveEpoch: object | null;
138
+ }): boolean;
139
+ private transitionToResync;
140
+ isLegacyCutover(peerSession: object | null): boolean;
141
+ prepare(message: ReplicationInfoV2Message, properties: {
142
+ from: PublicSignKey;
143
+ peerSession: object;
144
+ receiveEpoch: object | null;
145
+ senderTransportSession: bigint;
146
+ transportTimestamp: bigint;
147
+ }): ReplicationInfoV2ReceiveAdmission | undefined;
148
+ /** Reserve at most one decoded V2 frame per peer ahead of the apply lane. */
149
+ reserve(message: ReplicationInfoV2Message, properties: {
150
+ from: PublicSignKey;
151
+ peerSession: object;
152
+ receiveEpoch: object | null;
153
+ senderTransportSession: bigint;
154
+ transportTimestamp: bigint;
155
+ }): ReplicationInfoV2ReceiveAdmission | undefined;
156
+ release(admission: ReplicationInfoV2ReceiveAdmission): void;
157
+ /**
158
+ * B9 can lose its sender grant while keeping the topic session open. Its
159
+ * unmatched legacy sidecar is the compatibility signal to re-handshake; a
160
+ * matching V2 payload before or after the legacy copy suppresses the timer.
161
+ */
162
+ noteLegacyAnnouncement(properties: {
163
+ peerHash: string;
164
+ peerSession: object;
165
+ receiveEpoch: object | null;
166
+ senderTransportSession: bigint;
167
+ transportTimestamp: bigint;
168
+ message: LegacyReplicationInfoMessage;
169
+ }): boolean;
170
+ private clearLegacyFallback;
171
+ isAdmissionCurrent(admission: ReplicationInfoV2ReceiveAdmission): boolean;
172
+ commit(admission: ReplicationInfoV2ReceiveAdmission): boolean;
173
+ requireFullAfterFailure(admission: ReplicationInfoV2ReceiveAdmission): boolean;
174
+ private isStateCurrent;
175
+ private armRequest;
176
+ private requestRetryDelay;
177
+ private refreshGrant;
178
+ private runRequest;
179
+ }
180
+ export {};
181
+ //# sourceMappingURL=replication-info-v2-receive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replication-info-v2-receive.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}