@peerbit/shared-log 13.2.24 → 13.2.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.
Files changed (81) hide show
  1. package/dist/src/checked-prune.d.ts +12 -0
  2. package/dist/src/checked-prune.d.ts.map +1 -1
  3. package/dist/src/checked-prune.js +33 -0
  4. package/dist/src/checked-prune.js.map +1 -1
  5. package/dist/src/coordinate-persistence.d.ts +211 -0
  6. package/dist/src/coordinate-persistence.d.ts.map +1 -0
  7. package/dist/src/coordinate-persistence.js +1133 -0
  8. package/dist/src/coordinate-persistence.js.map +1 -0
  9. package/dist/src/errors.d.ts +1 -0
  10. package/dist/src/errors.d.ts.map +1 -1
  11. package/dist/src/errors.js +19 -0
  12. package/dist/src/errors.js.map +1 -1
  13. package/dist/src/index.d.ts +127 -133
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +1400 -4269
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/instance-lifecycle.d.ts +117 -0
  18. package/dist/src/instance-lifecycle.d.ts.map +1 -0
  19. package/dist/src/instance-lifecycle.js +254 -0
  20. package/dist/src/instance-lifecycle.js.map +1 -0
  21. package/dist/src/join-warmup.d.ts +86 -0
  22. package/dist/src/join-warmup.d.ts.map +1 -0
  23. package/dist/src/join-warmup.js +351 -0
  24. package/dist/src/join-warmup.js.map +1 -0
  25. package/dist/src/native-write-through-block-store.d.ts +123 -0
  26. package/dist/src/native-write-through-block-store.d.ts.map +1 -0
  27. package/dist/src/native-write-through-block-store.js +989 -0
  28. package/dist/src/native-write-through-block-store.js.map +1 -0
  29. package/dist/src/peer-session.d.ts +117 -0
  30. package/dist/src/peer-session.d.ts.map +1 -0
  31. package/dist/src/peer-session.js +259 -0
  32. package/dist/src/peer-session.js.map +1 -0
  33. package/dist/src/replication-announcement.d.ts +116 -0
  34. package/dist/src/replication-announcement.d.ts.map +1 -0
  35. package/dist/src/replication-announcement.js +515 -0
  36. package/dist/src/replication-announcement.js.map +1 -0
  37. package/dist/src/replicator-liveness.d.ts +59 -0
  38. package/dist/src/replicator-liveness.d.ts.map +1 -0
  39. package/dist/src/replicator-liveness.js +304 -0
  40. package/dist/src/replicator-liveness.js.map +1 -0
  41. package/dist/src/sync/dispatch-lifecycle.d.ts +48 -0
  42. package/dist/src/sync/dispatch-lifecycle.d.ts.map +1 -0
  43. package/dist/src/sync/dispatch-lifecycle.js +141 -0
  44. package/dist/src/sync/dispatch-lifecycle.js.map +1 -0
  45. package/dist/src/sync/factory.d.ts +29 -0
  46. package/dist/src/sync/factory.d.ts.map +1 -0
  47. package/dist/src/sync/factory.js +87 -0
  48. package/dist/src/sync/factory.js.map +1 -0
  49. package/dist/src/sync/pending-sync-store.d.ts +105 -0
  50. package/dist/src/sync/pending-sync-store.d.ts.map +1 -0
  51. package/dist/src/sync/pending-sync-store.js +877 -0
  52. package/dist/src/sync/pending-sync-store.js.map +1 -0
  53. package/dist/src/sync/rateless-iblt.d.ts +4 -1
  54. package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
  55. package/dist/src/sync/rateless-iblt.js +102 -106
  56. package/dist/src/sync/rateless-iblt.js.map +1 -1
  57. package/dist/src/sync/simple.d.ts +10 -41
  58. package/dist/src/sync/simple.d.ts.map +1 -1
  59. package/dist/src/sync/simple.js +259 -952
  60. package/dist/src/sync/simple.js.map +1 -1
  61. package/dist/src/sync/sync-peer-state.d.ts +16 -0
  62. package/dist/src/sync/sync-peer-state.d.ts.map +1 -0
  63. package/dist/src/sync/sync-peer-state.js +82 -0
  64. package/dist/src/sync/sync-peer-state.js.map +1 -0
  65. package/package.json +12 -12
  66. package/src/checked-prune.ts +35 -0
  67. package/src/coordinate-persistence.ts +1796 -0
  68. package/src/errors.ts +21 -0
  69. package/src/index.ts +4014 -7858
  70. package/src/instance-lifecycle.ts +351 -0
  71. package/src/join-warmup.ts +507 -0
  72. package/src/native-write-through-block-store.ts +1170 -0
  73. package/src/peer-session.ts +336 -0
  74. package/src/replication-announcement.ts +744 -0
  75. package/src/replicator-liveness.ts +439 -0
  76. package/src/sync/dispatch-lifecycle.ts +230 -0
  77. package/src/sync/factory.ts +154 -0
  78. package/src/sync/pending-sync-store.ts +1085 -0
  79. package/src/sync/rateless-iblt.ts +122 -132
  80. package/src/sync/simple.ts +334 -1144
  81. package/src/sync/sync-peer-state.ts +107 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinate-persistence.js","sourceRoot":"","sources":["../../src/coordinate-persistence.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const isNotStartedError: (e: Error) => boolean;
1
2
  export declare class NoPeersError extends Error {
2
3
  constructor(topic: string);
3
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;gBAC1B,KAAK,EAAE,MAAM;CAKzB;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAClD,QAAQ,CAAC,mBAAmB,QAAQ;IACpC,QAAQ,CAAC,SAAS,SAAS;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAW;gBAGxC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC9B;CAwCF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,GAAI,GAAG,KAAK,YAczC,CAAC;AAEF,qBAAa,YAAa,SAAQ,KAAK;gBAC1B,KAAK,EAAE,MAAM;CAKzB;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAClD,QAAQ,CAAC,mBAAmB,QAAQ;IACpC,QAAQ,CAAC,SAAS,SAAS;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAW;gBAGxC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC9B;CAwCF"}
@@ -1,3 +1,22 @@
1
+ import { NotStartedError as IndexNotStartedError } from "@peerbit/indexer-interface";
2
+ import { ClosedError } from "@peerbit/program";
3
+ import { NotStartedError } from "@peerbit/stream-interface";
4
+ import { AbortError } from "@peerbit/time";
5
+ export const isNotStartedError = (e) => {
6
+ if (e instanceof AbortError) {
7
+ return true;
8
+ }
9
+ if (e instanceof NotStartedError) {
10
+ return true;
11
+ }
12
+ if (e instanceof IndexNotStartedError) {
13
+ return true;
14
+ }
15
+ if (e instanceof ClosedError) {
16
+ return true;
17
+ }
18
+ return false;
19
+ };
1
20
  export class NoPeersError extends Error {
2
21
  constructor(topic) {
3
22
  super(`No peers found for topic ${topic}. Please make sure you are connected to the network and try again.`);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IACtC,YAAY,KAAa;QACxB,KAAK,CACJ,4BAA4B,KAAK,oEAAoE,CACrG,CAAC;IACH,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACzC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,CAAU;IACf,aAAa,CAAoB;IACjC,UAAU,CAAoB;IACtB,gBAAgB,CAAW;IAC3B,aAAa,CAAW;IAEzC,YACC,KAAc,EACd,OAGC;QAED,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC;QAC/D,KAAK,CACJ,yFACC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;IACtC,CAAC;IAED,6EAA6E;IAC7E,gBAAgB,CACf,OAGC,EACD,UAA8C;QAE9C,MAAM,KAAK,GAAG,CACb,MAAgB,EAChB,QAAsC,EAC/B,EAAE;YACT,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO;YACR,CAAC;YACD,MAAM,MAAM,GAAG,UAAU,EAAE,mBAAmB;gBAC7C,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;gBAC1B,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;CACD"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type EagerBlocksSetting } from "@peerbit/blocks";
2
2
  import { PublicSignKey } from "@peerbit/crypto";
3
- import { type Index } from "@peerbit/indexer-interface";
3
+ import { type DeleteOptions, type IdKey, type Ideable, type Index } from "@peerbit/indexer-interface";
4
4
  import { type AppendOptions, type Change, Entry, Log, type LogEvents, type LogProperties, Meta, ShallowEntry, ShallowMeta, type ShallowOrFullEntry } from "@peerbit/log";
5
5
  import { Program, type ProgramEvents } from "@peerbit/program";
6
6
  import { type FanoutTreeChannelOptions, type FanoutTreeJoinOptions } from "@peerbit/pubsub";
@@ -14,6 +14,7 @@ import { NativeDurableCommitError, NoPeersError } from "./errors.js";
14
14
  import { ExchangeHeadsMessage, RawExchangeHeadsMessage, StashBackedRawExchangeHeadsMessage } from "./exchange-heads.js";
15
15
  import { MAX_U32, MAX_U64, type NumberFromType, type Numbers } from "./integers.js";
16
16
  import { TransportMessage } from "./message.js";
17
+ import { type PeerSession } from "./peer-session.js";
17
18
  import { PIDReplicationController } from "./pid.js";
18
19
  import { type EntryReplicated, EntryReplicatedU32, EntryReplicatedU64, type ReplicationChange, type ReplicationChanges, ReplicationIntent, type ReplicationRangeIndexable, ReplicationRangeIndexableU32, ReplicationRangeIndexableU64 } from "./ranges.js";
19
20
  import { type ReplicationDomainHash, createReplicationDomainHash } from "./replication-domain-hash.js";
@@ -30,6 +31,9 @@ export { MAX_U32, MAX_U64, type NumberFromType };
30
31
  export type { SharedLogNativeWireSync, SyncOptions, SyncProfileEvent, SyncProfileFn, } from "./sync/index.js";
31
32
  export { ExchangeHeadsMessage, RawExchangeHeadsMessage, StashBackedRawExchangeHeadsMessage, };
32
33
  export declare const logger: import("@libp2p/interface").Logger;
34
+ type LeaderMap = Map<string, {
35
+ intersecting: boolean;
36
+ }>;
33
37
  type PendingMaturityRecord<R extends "u32" | "u64"> = {
34
38
  range: ReplicationChange<ReplicationRangeIndexable<R>>;
35
39
  timeout: ReturnType<typeof setTimeout>;
@@ -38,6 +42,65 @@ type PendingMaturityRecord<R extends "u32" | "u64"> = {
38
42
  rebalance: boolean;
39
43
  ownershipLifecycleController: AbortController;
40
44
  };
45
+ export type EntryLeaderPlan<R extends "u32" | "u64"> = {
46
+ coordinates: NumberFromType<R>[];
47
+ coordinateStrings?: string[];
48
+ leaders: LeaderMap;
49
+ isLeader: boolean;
50
+ assignedToRangeBoundary?: boolean;
51
+ };
52
+ export type ReusableReceiveCoordinatePlan<R extends "u32" | "u64"> = {
53
+ plan: EntryLeaderPlan<R>;
54
+ replicas: number;
55
+ prepared: PreparedCoordinatePersistence<R>;
56
+ };
57
+ export type DecodedReplicaCountMap = ReadonlyMap<string, number>;
58
+ export type SharedLogCoordinateNativeFields<R extends "u32" | "u64"> = {
59
+ hash: string;
60
+ hashNumber: NumberFromType<R>;
61
+ hashNumberString?: string;
62
+ gid: string;
63
+ coordinates: NumberFromType<R>[];
64
+ coordinateStrings?: string[];
65
+ wallTime: bigint;
66
+ wallTimeString?: string;
67
+ assignedToRangeBoundary: boolean;
68
+ metaBytes: Uint8Array;
69
+ };
70
+ export type PreparedCoordinatePersistence<R extends "u32" | "u64"> = {
71
+ coordinateEntry?: EntryReplicated<R>;
72
+ assignedToRangeBoundary: boolean;
73
+ fields: SharedLogCoordinateNativeFields<R>;
74
+ };
75
+ export type ResidentCoordinateEntry<R extends "u32" | "u64"> = EntryReplicated<R> | SharedLogCoordinateNativeFields<R>;
76
+ export type CoordinatePersistBatchItem<R extends "u32" | "u64"> = {
77
+ coordinates: NumberFromType<R>[];
78
+ entry: ShallowOrFullEntry<any> | EntryReplicated<R>;
79
+ leaders: LeaderMap | false;
80
+ replicas: number;
81
+ prev?: EntryReplicated<R>;
82
+ assignedToRangeBoundary?: boolean;
83
+ commitNative?: boolean;
84
+ commitNativeBackbone?: boolean;
85
+ hashNumber?: NumberFromType<R>;
86
+ prepared?: PreparedCoordinatePersistence<R>;
87
+ };
88
+ export type NativeBackboneReceiveCoordinateRow<R extends "u32" | "u64"> = {
89
+ item: CoordinatePersistBatchItem<R>;
90
+ prepared: PreparedCoordinatePersistence<R>;
91
+ fields: SharedLogCoordinateNativeFields<R>;
92
+ deleteHashes: string[];
93
+ };
94
+ export type NativeBackboneReceiveCoordinateBatch<R extends "u32" | "u64"> = {
95
+ rows: NativeBackboneReceiveCoordinateRow<R>[];
96
+ rollbackCoordinateEntries?: NativeBackboneCoordinateRollback<R>;
97
+ };
98
+ export type NativeBackboneCoordinateRollback<R extends "u32" | "u64"> = {
99
+ hashes: Set<string>;
100
+ entries: Map<string, ResidentCoordinateEntry<R>>;
101
+ generations: Map<string, number>;
102
+ };
103
+ export type RepairDispatchEntry<R extends "u32" | "u64"> = ResidentCoordinateEntry<R>;
41
104
  type NativeBackboneCoordinatePersistenceFiles = {
42
105
  snapshot?: string;
43
106
  journal?: string;
@@ -53,7 +116,7 @@ type NativeBackboneCoordinatePersistenceOptions = NativeBackboneCoordinatePersis
53
116
  compactMaxJournalBytes?: number;
54
117
  compactMaxJournalRecords?: number;
55
118
  };
56
- type NativeBackboneCoordinatePersistenceStore = {
119
+ export type NativeBackboneCoordinatePersistenceStore = {
57
120
  read(name: string): Promise<Uint8Array | undefined>;
58
121
  write(name: string, bytes: Uint8Array): Promise<void>;
59
122
  append(name: string, bytes: Uint8Array): Promise<void>;
@@ -65,7 +128,7 @@ type NativeBackboneCoordinatePersistenceStore = {
65
128
  flush?: boolean;
66
129
  }): Promise<void>;
67
130
  };
68
- type NativeBackboneCoordinatePersistenceAdapter = {
131
+ export type NativeBackboneCoordinatePersistenceAdapter = {
69
132
  /** Explicit capability required by durable strict-native operation intents. */
70
133
  intentStore?: NativeBackboneCoordinatePersistenceStore;
71
134
  flushOnAppend?: boolean;
@@ -133,7 +196,7 @@ type ExistingReplicationOptions<R extends "u32" | "u64" = any> = {
133
196
  };
134
197
  export type ReplicationOptions<R extends "u32" | "u64" = any> = NewReplicationOptions<R> | ExistingReplicationOptions<R>;
135
198
  export { BlocksMessage };
136
- interface IndexableDomain<R extends "u32" | "u64"> {
199
+ export interface IndexableDomain<R extends "u32" | "u64"> {
137
200
  numbers: Numbers<R>;
138
201
  constructorEntry: new (properties: {
139
202
  coordinates: NumberFromType<R>[];
@@ -157,6 +220,42 @@ interface IndexableDomain<R extends "u32" | "u64"> {
157
220
  publicKey: PublicSignKey;
158
221
  })) => ReplicationRangeIndexable<R>;
159
222
  }
223
+ export type PutAndDeleteIndex<T extends Record<string, any>> = Index<T> & {
224
+ putAndDelete?: (value: T, deleteOptions: DeleteOptions) => Promise<unknown> | unknown;
225
+ putAndDeleteIds?: (value: T, deleteIds: Array<IdKey | Ideable>, id?: IdKey) => Promise<unknown> | unknown;
226
+ delIds?: (deleteIds: Array<IdKey | Ideable>) => Promise<unknown> | unknown;
227
+ delIdsNoReturn?: (deleteIds: Array<IdKey | Ideable>) => Promise<unknown> | unknown;
228
+ putSharedLogCoordinateAndDeleteIds?: (value: T, fields: SharedLogCoordinateNativeFields<any>, deleteIds?: Array<IdKey | Ideable>, id?: IdKey) => Promise<unknown> | unknown;
229
+ putSharedLogCoordinateFieldsAndDeleteIds?: (fields: SharedLogCoordinateNativeFields<any>, deleteIds?: Array<IdKey | Ideable>, id?: IdKey) => Promise<unknown> | unknown;
230
+ putSharedLogCoordinateFieldsAndDeleteHashes?: (fields: SharedLogCoordinateNativeFields<any>, deleteHashes?: string[], id?: IdKey) => Promise<unknown> | unknown;
231
+ putSharedLogCoordinateFieldsAndDeleteHashesNoReturn?: (fields: SharedLogCoordinateNativeFields<any>, deleteHashes?: string[], id?: IdKey) => Promise<unknown> | unknown;
232
+ putSharedLogCoordinateFieldsEncodedAndDeleteHashesNoReturn?: (fields: SharedLogCoordinateNativeFields<any>, deleteHashes?: string[], id?: IdKey) => Promise<unknown> | unknown;
233
+ putSharedLogCoordinatesAndDeleteIdsBatch?: (values: Array<{
234
+ value: T;
235
+ fields: SharedLogCoordinateNativeFields<any>;
236
+ deleteIds?: Array<IdKey | Ideable>;
237
+ id?: IdKey;
238
+ }>) => Promise<unknown> | unknown;
239
+ putSharedLogCoordinateFieldsAndDeleteIdsBatch?: (values: Array<{
240
+ fields: SharedLogCoordinateNativeFields<any>;
241
+ deleteIds?: Array<IdKey | Ideable>;
242
+ id?: IdKey;
243
+ }>) => Promise<unknown> | unknown;
244
+ putSharedLogCoordinateFieldsAndDeleteHashesBatch?: (values: Array<{
245
+ fields: SharedLogCoordinateNativeFields<any>;
246
+ deleteHashes?: string[];
247
+ id?: IdKey;
248
+ }>) => Promise<unknown> | unknown;
249
+ putSharedLogCoordinateFieldsAndDeleteHashesBatchNoReturn?: (values: Array<{
250
+ fields: SharedLogCoordinateNativeFields<any>;
251
+ deleteHashes?: string[];
252
+ id?: IdKey;
253
+ }>) => Promise<unknown> | unknown;
254
+ };
255
+ export type EntryWithMetaBytes = {
256
+ getMetaBytes?: () => Uint8Array | undefined;
257
+ getHashDigestBytes?: () => Uint8Array | undefined;
258
+ };
160
259
  export type SharedLogOptions<T, D extends ReplicationDomain<any, T, R>, R extends "u32" | "u64" = D extends ReplicationDomain<any, T, infer I> ? I : "u32"> = {
161
260
  appendDurability?: LogProperties<T>["appendDurability"];
162
261
  nativeGraph?: LogProperties<T>["nativeGraph"];
@@ -279,10 +378,8 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
279
378
  private _nativeDurableRecoveryReadyForReopen;
280
379
  private _nativeDurableRecoveryCids;
281
380
  private _wireSyncSession?;
282
- private _nativeBackboneCoordinatePersistence?;
283
381
  private _nativeBackboneCoordinatePersistenceStore?;
284
382
  private _nativeBackboneDropStarted;
285
- private _nativeBackboneCoordinateJournalLastFlushMs;
286
383
  private _nativeStrictDurableTransactionTail?;
287
384
  private _nativeStrictDurableTransactions?;
288
385
  private _nativeStrictDurableTransactionJournalState?;
@@ -290,8 +387,13 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
290
387
  private _nativeStrictDurableTransactionsClosing;
291
388
  private _nativeStrictDurableTransactionFailure?;
292
389
  private _defaultAppendReplicaMetadataCache?;
293
- private _residentEntryCoordinatesByHash?;
294
- private _nativeCoordinateMutationGenerations?;
390
+ private _coordinates;
391
+ get _residentEntryCoordinatesByHash(): Map<string, ResidentCoordinateEntry<R>> | undefined;
392
+ set _residentEntryCoordinatesByHash(value: Map<string, ResidentCoordinateEntry<R>> | undefined);
393
+ get _nativeBackboneCoordinatePersistence(): NativeBackboneCoordinatePersistenceAdapter | undefined;
394
+ set _nativeBackboneCoordinatePersistence(value: NativeBackboneCoordinatePersistenceAdapter | undefined);
395
+ get _nativeBackboneCoordinateJournalLastFlushMs(): number;
396
+ set _nativeBackboneCoordinateJournalLastFlushMs(value: number);
295
397
  private coordinateToHash;
296
398
  private recentlyRebalanced;
297
399
  uniqueReplicators: Set<string>;
@@ -302,11 +404,8 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
302
404
  private _onUnsubscriptionFn;
303
405
  private _subscriptionChangeCallbacks?;
304
406
  private _acceptSubscriptionChangeCallbacks;
305
- private _replicationLifecycleController?;
306
407
  private _activeReceiveHandlersByPeer;
307
408
  private _receiveHandlerDrainByPeer;
308
- private _receiveCleanupGateByPeer;
309
- private _subscriptionOpeningEpochByPeer;
310
409
  private _openingSyncCapabilitiesByPeer;
311
410
  private _onFanoutDataFn?;
312
411
  private _onFanoutUnicastFn?;
@@ -322,32 +421,19 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
322
421
  private _pendingIHaveCallbacks;
323
422
  private _pendingIHaveExpiryTimer?;
324
423
  private _pendingIHaveExpiryDeadline;
325
- private get _pendingDeletes();
326
424
  private _pendingIHave;
327
425
  pendingMaturity: Map<string, Map<string, PendingMaturityRecord<R>>>;
328
426
  private latestReplicationInfoMessage;
329
- private _replicationInfoBlockedPeers;
330
427
  private _replicationInfoRequestByPeer;
331
428
  private _replicationInfoApplyQueueByPeer;
332
429
  private _replicationRangeMutationTail;
333
430
  private _replicationRangeMutationsClosing;
334
- private _checkedPruneRemoveBlocksLocalRangeMutationAdmission;
335
431
  private _checkedPruneRemovalCallbackInvocationDepth;
336
- private _localReplicationRoleGeneration;
337
432
  private _replicationRangeMutationFailure?;
338
- private _repairLifecycleController;
339
- private _replicationInfoReceiveEpochByPeer;
340
- private _receiveOwnershipRevision;
341
- private _receiveOwnershipMutationAdmissions;
342
- private _subscriptionEpochByPeer;
433
+ private _instanceLifecycle?;
434
+ private _peerSessions;
343
435
  private _pendingReplicatorLeaveByPeer;
344
- private _replicatorLivenessSweepRunning;
345
- private _replicatorLivenessTimer?;
346
- private _replicatorLivenessTargets;
347
- private _replicatorLivenessTargetsSize;
348
- private _replicatorLivenessCursor;
349
- private _replicatorLivenessFailures;
350
- private _replicatorLastActivityAt;
436
+ private _liveness;
351
437
  private remoteBlocks;
352
438
  private throwIfReplicationOwnershipPoisoned;
353
439
  private startRepairLifecycle;
@@ -383,43 +469,23 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
383
469
  private oldestOpenTime;
384
470
  private keep?;
385
471
  private rebalanceParticipationDebounced;
386
- private replicationAnnouncementRetryDebounced;
387
- private _replicationAnnouncementRetryPending;
388
- private _replicationAnnouncementRetryGeneration;
389
- private _replicationAnnouncementRetryController;
390
- private _replicationAnnouncementSendTails?;
391
- private replicationAnnouncementRepairDebounced;
392
- private _replicationAnnouncementRepairPending;
393
- private _replicationAnnouncementRepairGeneration;
394
- private _replicationAnnouncementRepairGenerationController;
395
- private _replicationAnnouncementRepairTargets;
396
- private _replicationAnnouncementRepairCohortSelected;
397
- private _replicationAnnouncementRepairFairCursorHash;
398
- private _replicationAnnouncementRepairMaxAttempts;
399
- private _replicationAnnouncementRepairController;
472
+ private _announcements;
400
473
  pruneDebouncedFn: DebouncedAccumulatorMap<{
401
474
  entry: CheckedPruneEntry<T, R>;
402
475
  leaders: CheckedPruneLeaderMap;
403
476
  workToken?: object;
404
477
  }>;
405
478
  private _checkedPruneAuditTimer?;
406
- private get _requestIPruneSent();
407
- private get _requestIPruneResponseReplicatorSet();
408
- private get _checkedPruneRetries();
409
479
  private replicationChangeDebounceFn;
410
480
  private _repairRetryTimers;
411
481
  private _recentRepairDispatch;
412
482
  private _repairSweepRunning;
413
483
  private _repairSweepPendingModes;
414
484
  private _repairSweepPendingPeersByMode;
415
- private _repairSweepJoinWarmupGenerationByTarget;
416
485
  private _repairFrontierByMode;
417
486
  private _repairFrontierActiveTargetsByMode;
418
487
  private _repairFrontierBypassKnownPeersByMode;
419
- private _joinWarmupGenerationByTarget;
420
- private _joinWarmupSendStateByTarget;
421
- private _joinWarmupRetryTimersByTarget;
422
- private _joinWarmupScheduledRetriesByTarget;
488
+ private joinWarmup;
423
489
  private _repairSweepOptimisticGidPeersPending;
424
490
  private _repairSweepOptimisticGidsByPeer;
425
491
  private _entryKnownPeers;
@@ -457,9 +523,15 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
457
523
  domain: D;
458
524
  indexableDomain: IndexableDomain<R>;
459
525
  interval: any;
526
+ private createJoinWarmupCoordinator;
527
+ private createReplicationAnnouncementCoordinator;
528
+ private createReplicatorLivenessMonitor;
529
+ private createPeerSessionRegistry;
530
+ private createInstanceLifecycle;
460
531
  constructor(properties?: {
461
532
  id?: Uint8Array;
462
533
  });
534
+ private createCoordinatePersistenceCoordinator;
463
535
  private ensureNativeDurabilityRuntimeState;
464
536
  get compatibility(): number | undefined;
465
537
  get isAdaptiveReplicating(): boolean;
@@ -533,38 +605,19 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
533
605
  private runSubscriptionChangeCallback;
534
606
  private stopSubscriptionChangeCallbackAdmission;
535
607
  private drainSubscriptionChangeCallbacks;
536
- private isPeerReceiveAdmissionOpen;
537
608
  private acquirePeerReceiveLease;
538
609
  private drainPeerReceiveHandlers;
539
610
  private drainReceiveHandlers;
540
611
  private runPendingIHaveCallback;
541
612
  private drainPendingIHaveCallbacks;
542
- private blockPeerReceiveAdmission;
543
- private unblockPeerReceiveAdmission;
544
613
  private handleReplicationLifecycleSendError;
545
614
  isReplicating(): Promise<boolean>;
546
615
  private knownSelfReplicating;
547
616
  private setupRebalanceDebounceFunction;
548
- private queueCurrentReplicationStateAnnouncementRetry;
549
617
  private onRebalanceParticipationError;
550
- private setupReplicationAnnouncementRetryFunction;
551
- private setupReplicationAnnouncementRepairFunction;
552
- private cancelCurrentReplicationStateAnnouncementRepair;
553
- private advanceCurrentReplicationStateAnnouncementRepairGeneration;
554
- private queueCurrentReplicationStateAnnouncementRepair;
555
- private runCurrentReplicationStateAnnouncementRepair;
556
- private repairCurrentReplicationStateAnnouncement;
557
- private cancelCurrentReplicationStateAnnouncementRetry;
558
- private sendReplicationAnnouncement;
559
- private retryCurrentReplicationStateAnnouncement;
560
618
  private markLocalAppendActivity;
561
619
  private shouldDelayAdaptiveRebalance;
562
620
  private shouldDeferHeadCoordinatePersistence;
563
- private deleteCoordinatesForHashes;
564
- private forgetCoordinateStateForHashes;
565
- private forgetCoordinateStateForHashValues;
566
- private forgetResidentCoordinateStateForHashes;
567
- private forgetResidentCoordinateStateForHashValues;
568
621
  private ensureCurrentHeadCoordinatesIndexed;
569
622
  private _replicate;
570
623
  setupDebouncedRebalancing(options?: DynamicReplicationOptions<R>): void;
@@ -616,22 +669,11 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
616
669
  private sleepTracked;
617
670
  private queueRepairFrontierEntries;
618
671
  private clearRepairFrontierHashes;
619
- private getJoinWarmupGeneration;
620
- private trackJoinWarmupTimer;
621
- private untrackJoinWarmupTimer;
622
- private cancelJoinWarmupTimers;
623
- private cancelJoinWarmupTarget;
624
- private cancelAllJoinWarmupTargets;
625
- private sleepJoinWarmupTracked;
626
- private scheduleJoinWarmupRetries;
627
- private armJoinWarmupRetrySlot;
628
672
  private getFullReplicaRepairCandidates;
629
673
  private removeRepairFrontierTarget;
630
674
  private sendRepairConfirmation;
631
675
  private pushRepairEntries;
632
676
  private sendRepairEntriesWithTransport;
633
- private queueJoinWarmupSend;
634
- private drainJoinWarmupSends;
635
677
  private sendMaybeMissingEntriesNow;
636
678
  private ensureRepairFrontierRunner;
637
679
  private flushAppendBackfill;
@@ -644,7 +686,6 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
644
686
  private deleteQueuedCheckedPrune;
645
687
  private cancelCheckedPruneForLocalLeader;
646
688
  private rearmCheckedPruneAfterTemporaryReceive;
647
- private hasActiveCheckedPruneWork;
648
689
  private revalidateCheckedPruneGrantLocalLeaders;
649
690
  private revalidateCheckedPruneOwnership;
650
691
  private prunePromotedCheckedPruneParents;
@@ -653,7 +694,6 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
653
694
  private pruneCurrentHeadsNoLongerLed;
654
695
  private pruneHeadEntriesFromNativeHeadFacts;
655
696
  private checkedPruneLeadersToMap;
656
- private clearCheckedPruneRetry;
657
697
  private clearCheckedPruneAuditTimer;
658
698
  private scheduleCheckedPruneAudit;
659
699
  private scheduleCheckedPruneRetry;
@@ -738,21 +778,11 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
738
778
  afterOpen(): Promise<void>;
739
779
  reset(): Promise<void>;
740
780
  pruneOfflineReplicators(): Promise<any[] | undefined>;
741
- private startReplicatorLivenessSweep;
742
- private stopReplicatorLivenessSweep;
743
- private rebuildReplicatorLivenessTargets;
744
- private getReplicatorLivenessTargets;
745
781
  private cleanupCheckedPrunePeer;
746
782
  private cleanupPeerDisconnectTracking;
747
783
  private cleanupPendingIHavePeer;
748
- private markReplicatorActivity;
749
- private hasRecentReplicatorActivity;
750
784
  private advanceReplicationInfoRecoveryEpoch;
751
- private evictReplicatorFromLiveness;
752
785
  private resolveCandidatePeersForHash;
753
- private runReplicatorLivenessSweep;
754
- private probeReplicatorLiveness;
755
- private confirmReplicatorSubscriberPresence;
756
786
  getMemoryUsage(): Promise<number>;
757
787
  /** Return a detached snapshot of effective shared-log runtime settings. */
758
788
  getRuntimeSnapshot(): SharedLogRuntimeSnapshot;
@@ -807,6 +837,11 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
807
837
  */
808
838
  private resolveStashedRawExchangeHeadsMessage;
809
839
  onMessage(msg: TransportMessage, context: RequestContext): Promise<void>;
840
+ private handleRequestIPruneV2;
841
+ private handleResponseIPruneV2;
842
+ private handleRequestReplicationInfo;
843
+ private handleReplicationInfoAnnouncement;
844
+ private handleStoppedReplicating;
810
845
  calculateTotalParticipation(options?: {
811
846
  sum?: boolean;
812
847
  }): Promise<number>;
@@ -858,39 +893,6 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
858
893
  private _waitForGidReplicators;
859
894
  private waitForLeaderSelection;
860
895
  createCoordinates(entry: ShallowOrFullEntry<any> | EntryReplicated<R> | NumberFromType<R>, minReplicas: number): Promise<NumberFromType<R>[]>;
861
- private getCoordinates;
862
- private getNativeLogEntryMetadataBatch;
863
- private createReusableReceiveCoordinatePlans;
864
- private createBackboneOnlyReceiveCoordinateBatch;
865
- private nativeBackboneReceiveCoordinateRowsToColumns;
866
- private finishBackboneOnlyReceiveCoordinateBatch;
867
- private rollbackBackboneOnlyReceiveCoordinateBatch;
868
- private persistBackboneOnlyReceiveCoordinateBatch;
869
- private emitNativeBackboneRawCommitProfile;
870
- private createNativeBackbonePreparedJoinCommit;
871
- private createCoordinatePersistenceEntryFromLeaderPlan;
872
- private createCoordinatePersistenceEntry;
873
- private createCoordinatePersistenceEntryFromNativePlan;
874
- private createCoordinateEntryFromNativeFields;
875
- private materializePreparedCoordinateEntry;
876
- private materializeResidentCoordinateEntry;
877
- private materializeRepairDispatchEntries;
878
- private snapshotResidentCoordinateEntries;
879
- private rollbackNativeBackboneCoordinateAppend;
880
- private rollbackNativeBackboneCoordinateAppendDurably;
881
- private persistPreparedCoordinate;
882
- private persistPreparedCoordinateNativeTransaction;
883
- private persistBackboneCoordinateFieldsNativeTransaction;
884
- private flushNativeBackboneCoordinateJournal;
885
- private flushNativeBackboneCoordinateJournalOnAppend;
886
- private shouldFlushNativeBackboneCoordinateJournalOnAppend;
887
- private closeNativeBackboneCoordinatePersistence;
888
- private canUseBackboneOnlyCoordinatePersistence;
889
- private canUseNativeBackboneResidentCoordinateState;
890
- private canUseRuntimeOnlyNativeBackboneCoordinates;
891
- private persistCoordinate;
892
- private persistCoordinatesBatch;
893
- private deleteCoordinates;
894
896
  getDefaultMinRoleAge(): Promise<number>;
895
897
  findLeaders(cursors: NumberFromType<R>[], entry: Entry<T> | EntryReplicated<R> | ShallowEntry, options?: {
896
898
  roleAge?: number;
@@ -969,18 +971,10 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
969
971
  * This method must run inside the global replication-range mutation lane.
970
972
  */
971
973
  private deleteReplicationRangesCoherently;
972
- private advanceReplicationInfoReceiveEpoch;
973
- private getReplicationInfoReceiveEpoch;
974
- private isCurrentReplicationInfoReceiveEpoch;
975
- private advanceSubscriptionEpoch;
976
- private getSubscriptionEpoch;
977
- private isCurrentSubscriptionEpoch;
978
974
  private cancelReplicationInfoRequests;
979
975
  private scheduleReplicationInfoRequests;
980
- handleSubscriptionChange(publicKey: PublicSignKey, topics: string[], subscribed: boolean, subscriptionEpoch?: object): Promise<void>;
976
+ handleSubscriptionChange(publicKey: PublicSignKey, topics: string[], subscribed: boolean, subscriptionEpoch?: PeerSession): Promise<void>;
981
977
  private getClampedReplicas;
982
- private removePruneRequestSent;
983
- private removePruneRequestsSent;
984
978
  private sendCheckedPruneResponse;
985
979
  private admitAndSendCheckedPruneGrants;
986
980
  prune(entries: Map<string, {