@peerbit/shared-log 13.2.23 → 13.2.25

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 (175) 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 +139 -133
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +1491 -4265
  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/leader-plan-cache.d.ts +33 -0
  26. package/dist/src/leader-plan-cache.d.ts.map +1 -0
  27. package/dist/src/leader-plan-cache.js +49 -0
  28. package/dist/src/leader-plan-cache.js.map +1 -0
  29. package/dist/src/native-write-through-block-store.d.ts +123 -0
  30. package/dist/src/native-write-through-block-store.d.ts.map +1 -0
  31. package/dist/src/native-write-through-block-store.js +989 -0
  32. package/dist/src/native-write-through-block-store.js.map +1 -0
  33. package/dist/src/peer-session.d.ts +117 -0
  34. package/dist/src/peer-session.d.ts.map +1 -0
  35. package/dist/src/peer-session.js +259 -0
  36. package/dist/src/peer-session.js.map +1 -0
  37. package/dist/src/ranges.d.ts +2 -2
  38. package/dist/src/ranges.d.ts.map +1 -1
  39. package/dist/src/ranges.js +10 -8
  40. package/dist/src/ranges.js.map +1 -1
  41. package/dist/src/replication-announcement.d.ts +116 -0
  42. package/dist/src/replication-announcement.d.ts.map +1 -0
  43. package/dist/src/replication-announcement.js +515 -0
  44. package/dist/src/replication-announcement.js.map +1 -0
  45. package/dist/src/replicator-liveness.d.ts +59 -0
  46. package/dist/src/replicator-liveness.d.ts.map +1 -0
  47. package/dist/src/replicator-liveness.js +304 -0
  48. package/dist/src/replicator-liveness.js.map +1 -0
  49. package/dist/src/sync/dispatch-lifecycle.d.ts +48 -0
  50. package/dist/src/sync/dispatch-lifecycle.d.ts.map +1 -0
  51. package/dist/src/sync/dispatch-lifecycle.js +141 -0
  52. package/dist/src/sync/dispatch-lifecycle.js.map +1 -0
  53. package/dist/src/sync/factory.d.ts +29 -0
  54. package/dist/src/sync/factory.d.ts.map +1 -0
  55. package/dist/src/sync/factory.js +87 -0
  56. package/dist/src/sync/factory.js.map +1 -0
  57. package/dist/src/sync/pending-sync-store.d.ts +105 -0
  58. package/dist/src/sync/pending-sync-store.d.ts.map +1 -0
  59. package/dist/src/sync/pending-sync-store.js +877 -0
  60. package/dist/src/sync/pending-sync-store.js.map +1 -0
  61. package/dist/src/sync/rateless-iblt.d.ts +4 -1
  62. package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
  63. package/dist/src/sync/rateless-iblt.js +102 -106
  64. package/dist/src/sync/rateless-iblt.js.map +1 -1
  65. package/dist/src/sync/simple.d.ts +10 -41
  66. package/dist/src/sync/simple.d.ts.map +1 -1
  67. package/dist/src/sync/simple.js +259 -952
  68. package/dist/src/sync/simple.js.map +1 -1
  69. package/dist/src/sync/sync-peer-state.d.ts +16 -0
  70. package/dist/src/sync/sync-peer-state.d.ts.map +1 -0
  71. package/dist/src/sync/sync-peer-state.js +82 -0
  72. package/dist/src/sync/sync-peer-state.js.map +1 -0
  73. package/package.json +22 -21
  74. package/src/checked-prune.ts +35 -0
  75. package/src/coordinate-persistence.ts +1796 -0
  76. package/src/errors.ts +21 -0
  77. package/src/index.ts +6367 -10052
  78. package/src/instance-lifecycle.ts +351 -0
  79. package/src/join-warmup.ts +507 -0
  80. package/src/leader-plan-cache.ts +61 -0
  81. package/src/native-write-through-block-store.ts +1170 -0
  82. package/src/peer-session.ts +336 -0
  83. package/src/ranges.ts +22 -16
  84. package/src/replication-announcement.ts +744 -0
  85. package/src/replicator-liveness.ts +439 -0
  86. package/src/sync/dispatch-lifecycle.ts +230 -0
  87. package/src/sync/factory.ts +154 -0
  88. package/src/sync/pending-sync-store.ts +1085 -0
  89. package/src/sync/rateless-iblt.ts +122 -132
  90. package/src/sync/simple.ts +334 -1144
  91. package/src/sync/sync-peer-state.ts +107 -0
  92. package/dist/benchmark/adaptive-ingest.d.ts +0 -2
  93. package/dist/benchmark/adaptive-ingest.d.ts.map +0 -1
  94. package/dist/benchmark/adaptive-ingest.js +0 -275
  95. package/dist/benchmark/adaptive-ingest.js.map +0 -1
  96. package/dist/benchmark/get-samples.d.ts +0 -2
  97. package/dist/benchmark/get-samples.d.ts.map +0 -1
  98. package/dist/benchmark/get-samples.js +0 -194
  99. package/dist/benchmark/get-samples.js.map +0 -1
  100. package/dist/benchmark/index.d.ts +0 -2
  101. package/dist/benchmark/index.d.ts.map +0 -1
  102. package/dist/benchmark/index.js +0 -224
  103. package/dist/benchmark/index.js.map +0 -1
  104. package/dist/benchmark/join-backfill-repair.d.ts +0 -2
  105. package/dist/benchmark/join-backfill-repair.d.ts.map +0 -1
  106. package/dist/benchmark/join-backfill-repair.js +0 -288
  107. package/dist/benchmark/join-backfill-repair.js.map +0 -1
  108. package/dist/benchmark/memory/child.d.ts +0 -2
  109. package/dist/benchmark/memory/child.d.ts.map +0 -1
  110. package/dist/benchmark/memory/child.js +0 -204
  111. package/dist/benchmark/memory/child.js.map +0 -1
  112. package/dist/benchmark/memory/index.d.ts +0 -2
  113. package/dist/benchmark/memory/index.d.ts.map +0 -1
  114. package/dist/benchmark/memory/index.js +0 -81
  115. package/dist/benchmark/memory/index.js.map +0 -1
  116. package/dist/benchmark/memory/utils.d.ts +0 -13
  117. package/dist/benchmark/memory/utils.d.ts.map +0 -1
  118. package/dist/benchmark/memory/utils.js +0 -2
  119. package/dist/benchmark/memory/utils.js.map +0 -1
  120. package/dist/benchmark/native-graph.d.ts +0 -2
  121. package/dist/benchmark/native-graph.d.ts.map +0 -1
  122. package/dist/benchmark/native-graph.js +0 -359
  123. package/dist/benchmark/native-graph.js.map +0 -1
  124. package/dist/benchmark/network-preset-e2e.d.ts +0 -2
  125. package/dist/benchmark/network-preset-e2e.d.ts.map +0 -1
  126. package/dist/benchmark/network-preset-e2e.js +0 -497
  127. package/dist/benchmark/network-preset-e2e.js.map +0 -1
  128. package/dist/benchmark/partial-sync.d.ts +0 -3
  129. package/dist/benchmark/partial-sync.d.ts.map +0 -1
  130. package/dist/benchmark/partial-sync.js +0 -121
  131. package/dist/benchmark/partial-sync.js.map +0 -1
  132. package/dist/benchmark/pid-convergence.d.ts +0 -2
  133. package/dist/benchmark/pid-convergence.d.ts.map +0 -1
  134. package/dist/benchmark/pid-convergence.js +0 -138
  135. package/dist/benchmark/pid-convergence.js.map +0 -1
  136. package/dist/benchmark/rateless-iblt-sender-startsync.d.ts +0 -2
  137. package/dist/benchmark/rateless-iblt-sender-startsync.d.ts.map +0 -1
  138. package/dist/benchmark/rateless-iblt-sender-startsync.js +0 -104
  139. package/dist/benchmark/rateless-iblt-sender-startsync.js.map +0 -1
  140. package/dist/benchmark/rateless-iblt-startsync-cache.d.ts +0 -2
  141. package/dist/benchmark/rateless-iblt-startsync-cache.d.ts.map +0 -1
  142. package/dist/benchmark/rateless-iblt-startsync-cache.js +0 -112
  143. package/dist/benchmark/rateless-iblt-startsync-cache.js.map +0 -1
  144. package/dist/benchmark/receive-prune.d.ts +0 -2
  145. package/dist/benchmark/receive-prune.d.ts.map +0 -1
  146. package/dist/benchmark/receive-prune.js +0 -818
  147. package/dist/benchmark/receive-prune.js.map +0 -1
  148. package/dist/benchmark/replication-prune.d.ts +0 -2
  149. package/dist/benchmark/replication-prune.d.ts.map +0 -1
  150. package/dist/benchmark/replication-prune.js +0 -105
  151. package/dist/benchmark/replication-prune.js.map +0 -1
  152. package/dist/benchmark/replication.d.ts +0 -2
  153. package/dist/benchmark/replication.d.ts.map +0 -1
  154. package/dist/benchmark/replication.js +0 -88
  155. package/dist/benchmark/replication.js.map +0 -1
  156. package/dist/benchmark/sync-batch-sweep.d.ts +0 -2
  157. package/dist/benchmark/sync-batch-sweep.d.ts.map +0 -1
  158. package/dist/benchmark/sync-batch-sweep.js +0 -353
  159. package/dist/benchmark/sync-batch-sweep.js.map +0 -1
  160. package/dist/benchmark/sync-catchup.d.ts +0 -2
  161. package/dist/benchmark/sync-catchup.d.ts.map +0 -1
  162. package/dist/benchmark/sync-catchup.js +0 -277
  163. package/dist/benchmark/sync-catchup.js.map +0 -1
  164. package/dist/benchmark/sync-phase-profile.d.ts +0 -2
  165. package/dist/benchmark/sync-phase-profile.d.ts.map +0 -1
  166. package/dist/benchmark/sync-phase-profile.js +0 -303
  167. package/dist/benchmark/sync-phase-profile.js.map +0 -1
  168. package/dist/benchmark/to-rebalance.d.ts +0 -2
  169. package/dist/benchmark/to-rebalance.d.ts.map +0 -1
  170. package/dist/benchmark/to-rebalance.js +0 -117
  171. package/dist/benchmark/to-rebalance.js.map +0 -1
  172. package/dist/benchmark/utils.d.ts +0 -24
  173. package/dist/benchmark/utils.d.ts.map +0 -1
  174. package/dist/benchmark/utils.js +0 -47
  175. package/dist/benchmark/utils.js.map +0 -1
@@ -43,6 +43,18 @@ export declare class CheckedPruneCoordinator<T, R extends "u32" | "u64"> {
43
43
  private readonly peerRemovalFences;
44
44
  private readonly restartReservations;
45
45
  private readonly candidateTokens;
46
+ private _checkedPruneRemoveBlocksLocalRangeMutationAdmission;
47
+ /** ≡ the legacy inc / `finally`-dec pair around the admitted lower-log
48
+ * remove (old SharedLog site, one synchronous block from the admission
49
+ * checks). The returned release is idempotent and drains THIS coordinator
50
+ * instance — a release that survives into a later open decrements the
51
+ * retired coordinator, never the fresh one (the legacy global counter
52
+ * could go to −1 in that window; unreachable today because close() awaits
53
+ * the prune-remove terminal fence before open() can begin, but the
54
+ * instance scoping makes the proof unnecessary and future-caller-proof). */
55
+ blockLocalRangeMutation(): () => void;
56
+ /** ≡ the legacy `counter !== 0` read (site: invokeProgramOnChange). */
57
+ isBlockingLocalRangeMutation(): boolean;
46
58
  private getOrCreateSession;
47
59
  private remember;
48
60
  private deleteSessionIfIdle;
@@ -1 +1 @@
1
- {"version":3,"file":"checked-prune.d.ts","sourceRoot":"","sources":["../../src/checked-prune.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE3E,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,IACrD,KAAK,CAAC,CAAC,CAAC,GACR,YAAY,GACZ,eAAe,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,UAAU,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,CACR,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,UAAU,KACjB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,MAAM,CACL,MAAM,EAAE,GAAG,EACX,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACtC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI;IACnE,KAAK,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iCAAiC,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,yBAAyB,CAAC;IACnC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,IAAI,CAC1E,iCAAiC,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,SAAS,CACT,CAAC;AAsBF,qBAAa,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK;IAC9D,QAAQ,CAAC,cAAc,yCAAgD;IACvE,QAAQ,CAAC,iBAAiB,2BAAkC;IAC5D,QAAQ,CAAC,qBAAqB,2BAAkC;IAChE,QAAQ,CAAC,OAAO,4CAAmD;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IACpE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAE7D,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,mBAAmB;IAc3B,cAAc,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAO,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC;IAY7C,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAInD,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB,wBAAwB,CAAC,IAAI,EAAE,MAAM;IAKrC,aAAa,CAAC,IAAI,EAAE,MAAM;IAU1B,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,mBAAmB,CAClB,IAAI,EAAE,MAAM,GACV,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAejD,gBAAgB,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,yBAAyB,EAClC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAO,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC;IAe7C,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB;IAiBrE,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAK3E,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC;IAS1D,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC;IAoBnE,eAAe,CAAC,IAAI,EAAE,MAAM;IAS5B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB;IAIjE,kBAAkB,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,yBAAyB,EAClC,SAAS,EAAE,UAAU;IAatB,cAAc,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,yBAAyB;IAsBnC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAkC7C,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM;IAM1D,sBAAsB,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,yBAAyB,EAClC,SAAS,EAAE,UAAU;IAoBtB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAcpD,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM;IASjE,yBAAyB,CAAC,IAAI,EAAE,MAAM;IAOtC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IASvD,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAIpC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAIpC,gBAAgB,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC;IAiB7C,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IA0B5D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IAQ1D,cAAc,CAAC,IAAI,EAAE,MAAM;IAM3B,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAS3D,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAO1D,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAIlC,4BAA4B,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,yBAAyB;IAwBnC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAoB7B,mBAAmB,CAAC,IAAI,EAAE,MAAM;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB;IAS9D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB;IAkB1D,aAAa,CACZ,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,yBAAyB,GAAG;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,EAC1E,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;IAsCtC,WAAW,CAAC,IAAI,EAAE,MAAM;IAoCxB,KAAK;CAoBL"}
1
+ {"version":3,"file":"checked-prune.d.ts","sourceRoot":"","sources":["../../src/checked-prune.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,39 @@ export class CheckedPruneCoordinator {
8
8
  peerRemovalFences = new Map();
9
9
  restartReservations = new Map();
10
10
  candidateTokens = new Map();
11
+ // Moved from SharedLog (same name — the sanctioned file-to-file ratchet
12
+ // move). Depth of checked-prune removals currently holding the ownership
13
+ // lane across a lower-log `log.remove` whose program onChange callback
14
+ // re-enters this instance: while non-zero, invokeProgramOnChange
15
+ // classifies removal-bearing changes as checked-prune-driven. Reset comes
16
+ // free with the per-open coordinator replacement (index.ts open() creates
17
+ // a fresh coordinator); deliberately NOT touched by close() — the release
18
+ // closures drain it, matching the legacy host counter which was reset
19
+ // only at open.
20
+ _checkedPruneRemoveBlocksLocalRangeMutationAdmission = 0;
21
+ /** ≡ the legacy inc / `finally`-dec pair around the admitted lower-log
22
+ * remove (old SharedLog site, one synchronous block from the admission
23
+ * checks). The returned release is idempotent and drains THIS coordinator
24
+ * instance — a release that survives into a later open decrements the
25
+ * retired coordinator, never the fresh one (the legacy global counter
26
+ * could go to −1 in that window; unreachable today because close() awaits
27
+ * the prune-remove terminal fence before open() can begin, but the
28
+ * instance scoping makes the proof unnecessary and future-caller-proof). */
29
+ blockLocalRangeMutation() {
30
+ this._checkedPruneRemoveBlocksLocalRangeMutationAdmission += 1;
31
+ let released = false;
32
+ return () => {
33
+ if (released) {
34
+ return;
35
+ }
36
+ released = true;
37
+ this._checkedPruneRemoveBlocksLocalRangeMutationAdmission -= 1;
38
+ };
39
+ }
40
+ /** ≡ the legacy `counter !== 0` read (site: invokeProgramOnChange). */
41
+ isBlockingLocalRangeMutation() {
42
+ return this._checkedPruneRemoveBlocksLocalRangeMutationAdmission > 0;
43
+ }
11
44
  getOrCreateSession(hash) {
12
45
  let session = this.sessions.get(hash);
13
46
  if (!session) {
@@ -1 +1 @@
1
- {"version":3,"file":"checked-prune.js","sourceRoot":"","sources":["../../src/checked-prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checked-prune.js","sourceRoot":"","sources":["../../src/checked-prune.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ import type { RemoteBlocks } from "@peerbit/blocks";
2
+ import type { Cache } from "@peerbit/cache";
3
+ import { type Index } from "@peerbit/indexer-interface";
4
+ import { type Log, type PreparedAppendJoinFacts, type ShallowOrFullEntry } from "@peerbit/log";
5
+ import type { NativeBackboneAppendProfile, NativeBackboneCoordinateCommitColumns, NativePeerbitBackbone } from "@peerbit/native-backbone";
6
+ import type { NativeAppendCoordinatePlan, SharedLogNativeState, SharedLogRangePlanner } from "@peerbit/shared-log-rust";
7
+ import type { CoordinatePersistBatchItem, DecodedReplicaCountMap, EntryLeaderPlan, IndexableDomain, NativeBackboneCoordinatePersistenceAdapter, NativeBackboneCoordinateRollback, NativeBackboneReceiveCoordinateBatch, NativeBackboneReceiveCoordinateRow, PreparedCoordinatePersistence, PutAndDeleteIndex, RepairDispatchEntry, ResidentCoordinateEntry, ReusableReceiveCoordinatePlan, SharedLogCoordinateNativeFields } from "./index.js";
8
+ import type { NumberFromType } from "./integers.js";
9
+ import { type EntryReplicated } from "./ranges.js";
10
+ import type { ReplicationDomain } from "./replication-domain.js";
11
+ import { type SyncProfileFn } from "./sync/profile.js";
12
+ export type MaybePromise<T> = T | Promise<T>;
13
+ export declare const isPromiseLike: <T>(value: MaybePromise<T>) => value is Promise<T>;
14
+ export declare const mapMaybePromise: <T, R>(value: MaybePromise<T>, fn: (value: T) => MaybePromise<R>) => MaybePromise<R>;
15
+ export declare const normalizedHashValues: (hashes: Iterable<string>) => string[];
16
+ export declare const combineCoordinateDeleteHashes: (nextHashes: string[], deleteHashes?: string[]) => string[];
17
+ /**
18
+ * Host dependencies of the moved methods, every one a LATE-BOUND closure into
19
+ * the live SharedLog instance: `_nativeBackbone`, `_nativeRangePlanner`,
20
+ * `_nativeSharedLogState`, the coordinate index, `remoteBlocks`,
21
+ * `coordinateToHash`, `timeUntilRoleMaturity`, and the durability/drop flags
22
+ * are all re-assigned across open/close/drop cycles, so nothing may be
23
+ * captured by value; the ownership-lifecycle helpers stay host methods so
24
+ * sinon spies and the fold onto InstanceLifecycle keep working. Prepared-join
25
+ * commit closures returned by createNativeBackbonePreparedJoinCommit execute
26
+ * later inside the ExchangeHeads branch; their lifecycle/poison checks route
27
+ * through these deps to HOST state, so the poison surface is unchanged.
28
+ */
29
+ export interface CoordinatePersistenceDeps<R extends "u32" | "u64"> {
30
+ /** Owner-routed so tests can stub the coordinator predicate while forcing
31
+ * the direct-fallback path. */
32
+ canUseNativeBackboneResidentCoordinateState: () => boolean;
33
+ /** The SharedLog instance itself — only for `decodeReplicas(x).getValue(host)`. */
34
+ host(): any;
35
+ nativeBackbone(): NativePeerbitBackbone | undefined;
36
+ nativeRangePlanner(): SharedLogRangePlanner | undefined;
37
+ nativeSharedLogState(): SharedLogNativeState | undefined;
38
+ /** The host getter (throws ClosedError when stopped, like every legacy read). */
39
+ entryCoordinatesIndex(): Index<EntryReplicated<R>>;
40
+ log(): Log<any>;
41
+ remoteBlocks(): RemoteBlocks | undefined;
42
+ domain(): ReplicationDomain<any, any, R>;
43
+ indexableDomain(): IndexableDomain<R>;
44
+ coordinateToHash(): Cache<string>;
45
+ timeUntilRoleMaturity(): number;
46
+ getEntryGid(entry: ShallowOrFullEntry<any> | EntryReplicated<R>): string;
47
+ getEntryNext(entry: ShallowOrFullEntry<any> | EntryReplicated<R>): string[];
48
+ getEntryHashNumber(entry: ShallowOrFullEntry<any> | EntryReplicated<R>): NumberFromType<R>;
49
+ canPlanNativeHashGid(entry: ShallowOrFullEntry<any> | EntryReplicated<R>): boolean;
50
+ hasCustomFindLeaders(): boolean;
51
+ captureReplicationOwnershipLifecycle(): AbortController;
52
+ throwIfReplicationOwnershipLifecycleInactive(controller: AbortController): void;
53
+ throwIfReplicationOwnershipPoisoned(): void;
54
+ isDropStarted(): boolean;
55
+ getDurableCommitFailure(): unknown;
56
+ isDurableRecoveryReadyForReopen(): boolean;
57
+ setDurableRecoveryReadyForReopen(value: boolean): void;
58
+ }
59
+ /**
60
+ * Stage 4.5 (PR-1): the coordinate-persistence module.
61
+ *
62
+ * The four coordinate state fields moved here in the state-ownership commit;
63
+ * this commit moves the 39 persistence methods (34 main-cluster + 5 early
64
+ * helpers) with byte-identical bodies — the only edits are the mechanical
65
+ * glue `this._coordinates.<field>` -> `this.<field>` for the owned state and
66
+ * `this.<hostDep>` -> `this.deps.<hostDep>()` for host state (plus the single
67
+ * `_nativeDurableRecoveryReadyForReopen = true` write, which becomes
68
+ * `deps.setDurableRecoveryReadyForReopen(true)`). SharedLog callers now use
69
+ * the coordinator directly; only the three compatibility state accessors
70
+ * remain on the host.
71
+ *
72
+ * Reset discipline is unchanged from the legacy host fields: each open/close
73
+ * site resets exactly the subset of fields it always reset (the resident
74
+ * mirror survives openNativeBackbone, the persistence adapter does not, and
75
+ * the mutation-generation ratchet deliberately survives everything but a
76
+ * fresh instance).
77
+ */
78
+ export declare class CoordinatePersistenceCoordinator<R extends "u32" | "u64"> {
79
+ private readonly deps;
80
+ /**
81
+ * Resident mirror of the coordinate rows (hash -> entry or native
82
+ * fields). Established by the native hydration paths; `undefined` means
83
+ * the resident fast path is unavailable.
84
+ */
85
+ _residentEntryCoordinatesByHash?: Map<string, ResidentCoordinateEntry<R>>;
86
+ /** The (optional) durable native-backbone coordinate journal adapter. */
87
+ _nativeBackboneCoordinatePersistence?: NativeBackboneCoordinatePersistenceAdapter;
88
+ _nativeCoordinateMutationGenerations?: Map<string, number>;
89
+ /**
90
+ * Wall-clock watermark of the last settled native coordinate journal
91
+ * flush; drives the `flushIntervalMs` on-append flush threshold.
92
+ */
93
+ _nativeBackboneCoordinateJournalLastFlushMs: number;
94
+ constructor(deps: CoordinatePersistenceDeps<R>);
95
+ deleteCoordinatesForHashes(hashes: Iterable<string>, ownershipLifecycleController?: AbortController): MaybePromise<void>;
96
+ forgetCoordinateStateForHashes(hashes: Iterable<string>): void;
97
+ forgetCoordinateStateForHashValues(values: string[]): void;
98
+ forgetResidentCoordinateStateForHashes(hashes: Iterable<string>): void;
99
+ forgetResidentCoordinateStateForHashValues(values: string[]): void;
100
+ createCoordinates(entry: ShallowOrFullEntry<any> | EntryReplicated<R> | NumberFromType<R>, minReplicas: number): Promise<NumberFromType<R>[]>;
101
+ getCoordinates(entry: {
102
+ hash: string;
103
+ }): Promise<NumberFromType<R>[]>;
104
+ getNativeLogEntryMetadataBatch(hashes: Iterable<string>): any[] | undefined;
105
+ createReusableReceiveCoordinatePlans(receiveGroups: Array<{
106
+ latestEntry: ShallowOrFullEntry<any>;
107
+ maxMaxReplicas: number;
108
+ leaderPlan?: EntryLeaderPlan<R>;
109
+ }>, options?: {
110
+ decodedReplicaCounts?: DecodedReplicaCountMap;
111
+ allowRoleAgeZeroPlans?: boolean;
112
+ }): Map<string, ReusableReceiveCoordinatePlan<R>>;
113
+ createBackboneOnlyReceiveCoordinateBatch(items: CoordinatePersistBatchItem<R>[]): NativeBackboneReceiveCoordinateBatch<R> | undefined;
114
+ nativeBackboneReceiveCoordinateRowsToColumns(rows: NativeBackboneReceiveCoordinateRow<R>[]): NativeBackboneCoordinateCommitColumns;
115
+ finishBackboneOnlyReceiveCoordinateBatch(batch: NativeBackboneReceiveCoordinateBatch<R>, profile?: SyncProfileFn): Promise<Set<string>>;
116
+ rollbackBackboneOnlyReceiveCoordinateBatch(batch: NativeBackboneReceiveCoordinateBatch<R>): void;
117
+ persistBackboneOnlyReceiveCoordinateBatch(items: CoordinatePersistBatchItem<R>[]): Promise<Set<string> | undefined>;
118
+ emitNativeBackboneRawCommitProfile(profile: SyncProfileFn | undefined, nativeProfile: NativeBackboneAppendProfile | undefined, entries: number, verifyCount: number): void;
119
+ createNativeBackbonePreparedJoinCommit(coordinateBatch?: NativeBackboneReceiveCoordinateBatch<R>, onCoordinatesCommitted?: (batch: NativeBackboneReceiveCoordinateBatch<R>) => void, verifyHashes?: string[], verifyAllHashes?: boolean, profile?: SyncProfileFn, onPreparedEntriesCommitted?: (hashes: string[]) => void): ((input: {
120
+ entries: PreparedAppendJoinFacts[];
121
+ hashes: string[];
122
+ headFlags: boolean[];
123
+ headFlagsBytes: Uint8Array;
124
+ trustedMissing: boolean;
125
+ validatePlan?: boolean;
126
+ }) => boolean) | undefined;
127
+ createCoordinatePersistenceEntryFromLeaderPlan(properties: {
128
+ entry: ShallowOrFullEntry<any> | EntryReplicated<R>;
129
+ plan: EntryLeaderPlan<R>;
130
+ replicas: number;
131
+ }): PreparedCoordinatePersistence<R> | false;
132
+ createCoordinatePersistenceEntry(properties: {
133
+ coordinates: NumberFromType<R>[];
134
+ entry: ShallowOrFullEntry<any> | EntryReplicated<R>;
135
+ leaders: Map<string, {
136
+ intersecting: boolean;
137
+ }> | false;
138
+ replicas: number;
139
+ prev?: EntryReplicated<R>;
140
+ assignedToRangeBoundary?: boolean;
141
+ hashNumber?: NumberFromType<R>;
142
+ }): PreparedCoordinatePersistence<R> | false;
143
+ createCoordinatePersistenceEntryFromNativePlan(properties: {
144
+ entry: ShallowOrFullEntry<any> | EntryReplicated<R>;
145
+ plan: NativeAppendCoordinatePlan;
146
+ prev?: EntryReplicated<R>;
147
+ }): PreparedCoordinatePersistence<R> | false;
148
+ createCoordinateEntryFromNativeFields(fields: SharedLogCoordinateNativeFields<R>): EntryReplicated<R>;
149
+ materializePreparedCoordinateEntry(prepared: PreparedCoordinatePersistence<R>): EntryReplicated<R>;
150
+ materializeResidentCoordinateEntry(entry: ResidentCoordinateEntry<R>): EntryReplicated<R>;
151
+ materializeRepairDispatchEntries(entries: ReadonlyMap<string, RepairDispatchEntry<R>>): Map<string, EntryReplicated<R>>;
152
+ snapshotResidentCoordinateEntries(hashes: Iterable<string>): NativeBackboneCoordinateRollback<R> | undefined;
153
+ rollbackNativeBackboneCoordinateAppend(appendHash: string, rollback?: NativeBackboneCoordinateRollback<R>): void;
154
+ rollbackNativeBackboneCoordinateAppendDurably(appendHash: string, rollback?: NativeBackboneCoordinateRollback<R>): Promise<void>;
155
+ persistPreparedCoordinate(properties: {
156
+ prepared: PreparedCoordinatePersistence<R>;
157
+ hash: string;
158
+ nextHashes: string[];
159
+ coordinates: NumberFromType<R>[];
160
+ replicas: number;
161
+ commitNative?: boolean;
162
+ commitNativeBackbone?: boolean;
163
+ deleteHashes?: string[];
164
+ }, ownershipLifecycleController?: AbortController): MaybePromise<boolean>;
165
+ persistPreparedCoordinateNativeTransaction(properties: {
166
+ coordinateIndex: PutAndDeleteIndex<EntryReplicated<R>>;
167
+ prepared: PreparedCoordinatePersistence<R>;
168
+ hash: string;
169
+ nextHashes: string[];
170
+ coordinates: NumberFromType<R>[];
171
+ deleteHashes?: string[];
172
+ commitNative?: boolean;
173
+ commitNativeBackbone?: boolean;
174
+ }, ownershipLifecycleController?: AbortController): MaybePromise<boolean>;
175
+ persistBackboneCoordinateFieldsNativeTransaction(properties: {
176
+ coordinateIndex: PutAndDeleteIndex<EntryReplicated<R>>;
177
+ fields: SharedLogCoordinateNativeFields<R>;
178
+ hash: string;
179
+ coordinates: NumberFromType<R>[];
180
+ deleteHashes: string[];
181
+ skipGenericTransientCoordinateIndex?: boolean;
182
+ }, ownershipLifecycleController?: AbortController): MaybePromise<boolean>;
183
+ flushNativeBackboneCoordinateJournal(): MaybePromise<void>;
184
+ flushNativeBackboneCoordinateJournalOnAppend(): MaybePromise<void>;
185
+ shouldFlushNativeBackboneCoordinateJournalOnAppend(): boolean;
186
+ closeNativeBackboneCoordinatePersistence(): Promise<void>;
187
+ canUseBackboneOnlyCoordinatePersistence(): boolean;
188
+ canUseNativeBackboneResidentCoordinateState(): boolean;
189
+ canUseRuntimeOnlyNativeBackboneCoordinates(coordinateIndex: PutAndDeleteIndex<EntryReplicated<R>>): boolean;
190
+ persistCoordinate(properties: {
191
+ coordinates: NumberFromType<R>[];
192
+ entry: ShallowOrFullEntry<any> | EntryReplicated<R>;
193
+ leaders: Map<string, {
194
+ intersecting: boolean;
195
+ }> | false;
196
+ replicas: number;
197
+ prev?: EntryReplicated<R>;
198
+ assignedToRangeBoundary?: boolean;
199
+ commitNative?: boolean;
200
+ commitNativeBackbone?: boolean;
201
+ deleteHashes?: string[];
202
+ hashNumber?: NumberFromType<R>;
203
+ nextHashes?: string[];
204
+ prepared?: PreparedCoordinatePersistence<R>;
205
+ }, ownershipLifecycleController?: AbortController): Promise<boolean>;
206
+ persistCoordinatesBatch(items: CoordinatePersistBatchItem<R>[], ownershipLifecycleController?: AbortController): Promise<boolean[]>;
207
+ deleteCoordinates(properties: {
208
+ hash: string;
209
+ }, ownershipLifecycleController?: AbortController): Promise<void>;
210
+ }
211
+ //# sourceMappingURL=coordinate-persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinate-persistence.d.ts","sourceRoot":"","sources":["../../src/coordinate-persistence.ts"],"names":[],"mappings":"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"}