@optimystic/db-core 0.22.0 → 0.24.0

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 (141) hide show
  1. package/README.md +336 -336
  2. package/dist/src/cluster/structs.d.ts +39 -1
  3. package/dist/src/cluster/structs.d.ts.map +1 -1
  4. package/dist/src/cluster/structs.js +24 -0
  5. package/dist/src/cluster/structs.js.map +1 -1
  6. package/dist/src/collection/collection.d.ts +17 -0
  7. package/dist/src/collection/collection.d.ts.map +1 -1
  8. package/dist/src/collection/collection.js +24 -2
  9. package/dist/src/collection/collection.js.map +1 -1
  10. package/dist/src/collections/tree/tree.d.ts +5 -0
  11. package/dist/src/collections/tree/tree.d.ts.map +1 -1
  12. package/dist/src/collections/tree/tree.js +7 -0
  13. package/dist/src/collections/tree/tree.js.map +1 -1
  14. package/dist/src/network/i-peer-network.d.ts +16 -0
  15. package/dist/src/network/i-peer-network.d.ts.map +1 -1
  16. package/dist/src/network/struct.d.ts +39 -2
  17. package/dist/src/network/struct.d.ts.map +1 -1
  18. package/dist/src/network/struct.js +18 -0
  19. package/dist/src/network/struct.js.map +1 -1
  20. package/dist/src/testing/test-transactor.d.ts +95 -8
  21. package/dist/src/testing/test-transactor.d.ts.map +1 -1
  22. package/dist/src/testing/test-transactor.js +121 -8
  23. package/dist/src/testing/test-transactor.js.map +1 -1
  24. package/dist/src/transaction/transaction.d.ts +1 -1
  25. package/dist/src/transaction/transaction.js +1 -1
  26. package/dist/src/transactor/network-transactor.d.ts.map +1 -1
  27. package/dist/src/transactor/network-transactor.js +48 -13
  28. package/dist/src/transactor/network-transactor.js.map +1 -1
  29. package/dist/src/transactor/transactor-source.d.ts.map +1 -1
  30. package/dist/src/transactor/transactor-source.js +25 -2
  31. package/dist/src/transactor/transactor-source.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/cluster/membership.ts +85 -85
  34. package/src/cluster/structs.ts +43 -4
  35. package/src/cohort-topic/addressing.ts +120 -120
  36. package/src/cohort-topic/antidos/bootstrap-evidence-envelope.ts +253 -253
  37. package/src/cohort-topic/antidos/bootstrap-evidence.ts +106 -106
  38. package/src/cohort-topic/antidos/index.ts +5 -5
  39. package/src/cohort-topic/antidos/rate-limiter.ts +210 -210
  40. package/src/cohort-topic/antidos/replay-guard.ts +146 -146
  41. package/src/cohort-topic/antidos/topic-budget.ts +160 -160
  42. package/src/cohort-topic/antiflood/index.ts +2 -2
  43. package/src/cohort-topic/antiflood/invariants.ts +108 -108
  44. package/src/cohort-topic/antiflood/jitter.ts +117 -117
  45. package/src/cohort-topic/coldstart.ts +237 -237
  46. package/src/cohort-topic/dmax.ts +88 -88
  47. package/src/cohort-topic/gossip/bus.ts +254 -254
  48. package/src/cohort-topic/gossip/index.ts +3 -3
  49. package/src/cohort-topic/gossip/records.ts +45 -45
  50. package/src/cohort-topic/gossip/view.ts +91 -91
  51. package/src/cohort-topic/index.ts +20 -20
  52. package/src/cohort-topic/load/barometer.ts +134 -134
  53. package/src/cohort-topic/load/index.ts +1 -1
  54. package/src/cohort-topic/member-engine.ts +430 -430
  55. package/src/cohort-topic/membership/index.ts +3 -3
  56. package/src/cohort-topic/membership/publisher.ts +163 -163
  57. package/src/cohort-topic/membership/source.ts +41 -41
  58. package/src/cohort-topic/membership/verifier.ts +461 -461
  59. package/src/cohort-topic/ports.ts +157 -157
  60. package/src/cohort-topic/promotion.ts +405 -405
  61. package/src/cohort-topic/registration/bytes.ts +37 -37
  62. package/src/cohort-topic/registration/handoff.ts +154 -154
  63. package/src/cohort-topic/registration/index.ts +6 -6
  64. package/src/cohort-topic/registration/renewal.ts +495 -495
  65. package/src/cohort-topic/registration/sharding.ts +61 -61
  66. package/src/cohort-topic/registration/store.ts +81 -81
  67. package/src/cohort-topic/registration/types.ts +91 -91
  68. package/src/cohort-topic/ring-hash.ts +50 -50
  69. package/src/cohort-topic/service.ts +416 -416
  70. package/src/cohort-topic/sig/index.ts +2 -2
  71. package/src/cohort-topic/sig/payloads.ts +59 -59
  72. package/src/cohort-topic/sig/threshold.ts +64 -64
  73. package/src/cohort-topic/tiers.ts +74 -74
  74. package/src/cohort-topic/traffic.ts +233 -233
  75. package/src/cohort-topic/walk.ts +326 -326
  76. package/src/cohort-topic/willingness.ts +237 -237
  77. package/src/cohort-topic/wire/codec.ts +216 -216
  78. package/src/cohort-topic/wire/index.ts +18 -18
  79. package/src/cohort-topic/wire/payloads.ts +126 -126
  80. package/src/cohort-topic/wire/primitives.ts +188 -188
  81. package/src/cohort-topic/wire/types.ts +475 -475
  82. package/src/cohort-topic/wire/validate.ts +512 -512
  83. package/src/collection/collection-type-registry.ts +37 -37
  84. package/src/collection/collection.ts +25 -2
  85. package/src/collections/diary/diary.ts +68 -68
  86. package/src/collections/tree/readme.md +4 -0
  87. package/src/collections/tree/tree.ts +320 -312
  88. package/src/matchmaking/capability-filter.ts +45 -45
  89. package/src/matchmaking/config.ts +98 -98
  90. package/src/matchmaking/index.ts +21 -21
  91. package/src/matchmaking/multi-cohort-seeker.ts +234 -234
  92. package/src/matchmaking/provider.ts +123 -123
  93. package/src/matchmaking/query-eval.ts +105 -105
  94. package/src/matchmaking/seeker-walk.ts +127 -127
  95. package/src/matchmaking/seeker.ts +86 -86
  96. package/src/matchmaking/topic-anchor.ts +90 -90
  97. package/src/matchmaking/voting-quorum.ts +394 -394
  98. package/src/matchmaking/wire.ts +603 -603
  99. package/src/network/i-peer-network.ts +17 -0
  100. package/src/network/stale-failure.ts +43 -43
  101. package/src/network/struct.ts +41 -2
  102. package/src/network/types.ts +37 -37
  103. package/src/reactivity/backfill.ts +220 -220
  104. package/src/reactivity/backpressure.ts +191 -191
  105. package/src/reactivity/checkpoint.ts +308 -308
  106. package/src/reactivity/config.ts +172 -172
  107. package/src/reactivity/dedupe.ts +132 -132
  108. package/src/reactivity/forwarder.ts +87 -87
  109. package/src/reactivity/index.ts +34 -34
  110. package/src/reactivity/notification.ts +123 -123
  111. package/src/reactivity/policy.ts +79 -79
  112. package/src/reactivity/push-state.ts +310 -310
  113. package/src/reactivity/recover.ts +153 -153
  114. package/src/reactivity/replay-buffer.ts +141 -141
  115. package/src/reactivity/resume.ts +549 -549
  116. package/src/reactivity/rotation.ts +415 -415
  117. package/src/reactivity/subscriber.ts +132 -132
  118. package/src/reactivity/subscription.ts +66 -66
  119. package/src/reactivity/topic-anchor.ts +71 -71
  120. package/src/reactivity/verify.ts +73 -73
  121. package/src/reactivity/wire-validate.ts +13 -13
  122. package/src/reactivity/wire.ts +224 -224
  123. package/src/testing/async-wait.ts +65 -65
  124. package/src/testing/index.ts +2 -2
  125. package/src/testing/test-transactor.ts +638 -502
  126. package/src/transaction/errors.ts +91 -91
  127. package/src/transaction/operations-hash.ts +196 -196
  128. package/src/transaction/read-dependency-collector.ts +78 -78
  129. package/src/transaction/transaction.ts +1 -1
  130. package/src/transactor/change-notifier.ts +80 -80
  131. package/src/transactor/index.ts +5 -5
  132. package/src/transactor/network-transactor.ts +49 -14
  133. package/src/transactor/transactor-source.ts +25 -2
  134. package/src/transform/atomic-proxy.ts +92 -92
  135. package/src/transform/helpers.ts +159 -159
  136. package/src/utility/backoff.ts +95 -95
  137. package/src/utility/batch-coordinator.ts +191 -191
  138. package/dist/src/transaction/context.d.ts +0 -60
  139. package/dist/src/transaction/context.d.ts.map +0 -1
  140. package/dist/src/transaction/context.js +0 -91
  141. package/dist/src/transaction/context.js.map +0 -1
@@ -1,9 +1,47 @@
1
1
  import type { RepoMessage } from "../network/repo-protocol.js";
2
+ /**
3
+ * One member's vote on a cluster transaction, in either the promise or the commit map.
4
+ *
5
+ * A discriminated union rather than one shape with optional fields, so each vote kind carries
6
+ * exactly its own payload: a `conflict` without its `conflictWith` (or a stray `rejectReason` on an
7
+ * `approve`) does not typecheck. Every variant's extra field is folded into the signed payload
8
+ * ({@link clusterVoteSigningPayload}), so none of them can be altered in transit.
9
+ */
2
10
  export type Signature = {
3
- type: 'approve' | 'reject';
11
+ type: 'approve';
12
+ signature: string;
13
+ } | {
14
+ type: 'reject';
4
15
  signature: string;
5
16
  rejectReason?: string;
17
+ }
18
+ /**
19
+ * This member refuses the transaction *for now*: it holds a conflicting transaction that won
20
+ * the deterministic race (`resolveRace`). Retryable — NOT a validity judgement, and never
21
+ * counted toward the permanent-rejection threshold. `conflictWith` is the winning
22
+ * transaction's messageHash: structured, signed, and readable without parsing prose.
23
+ */
24
+ | {
25
+ type: 'conflict';
26
+ signature: string;
27
+ conflictWith: string;
6
28
  };
29
+ /**
30
+ * The exact bytes a vote signature covers: `<hash>:<type>[:<extra>]`, where `extra` is the variant's
31
+ * own payload — a reject's `rejectReason`, a conflict's `conflictWith`, nothing for an approve.
32
+ * Folding the extra in is what makes it integrity-protected in transit rather than free-floating
33
+ * prose.
34
+ *
35
+ * Producers and verifiers must both build the preimage here. It lives beside {@link Signature}
36
+ * rather than in either consumer because a second copy that forgets a variant does not fail loudly:
37
+ * it reports an honest vote as an invalid signature. (The dispute path once carried such a copy.)
38
+ *
39
+ * "Cluster" in the name distinguishes these consensus votes from the dispute subsystem's
40
+ * arbitration votes, which have their own unrelated preimage (`dispute/invalidation.ts`).
41
+ */
42
+ export declare function clusterVoteSigningPayload(hash: string, type: Signature['type'], extra?: string): Uint8Array;
43
+ /** Verifier-side {@link clusterVoteSigningPayload}: reads each variant's signed extra off the vote itself. */
44
+ export declare function clusterVoteVerificationPayload(hash: string, signature: Signature): Uint8Array;
7
45
  export type ClusterPeers = {
8
46
  [id: string]: {
9
47
  multiaddrs: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"structs.d.ts","sourceRoot":"","sources":["../../../src/cluster/structs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,EAAE,MAAM,GAAG;QACb,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,wDAAwD;QACxD,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,0GAA0G;IAC1G,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACzC,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,eAAe,CAAC,EAAE;QACjB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,aAAa,EAAE;YAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;CACF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACtC,4GAA4G;IAC5G,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kEAAkE;IAClE,uBAAuB,EAAE,MAAM,CAAC;IAChC,gDAAgD;IAChD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qEAAqE;IACrE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,6EAA6E;IAC7E,wBAAwB,EAAE,MAAM,CAAC;IACjC,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sEAAsE;IACtE,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sFAAsF;IACtF,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,wEAAwE;IACxE,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,sDAAsD;IACtD,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,gEAAgE;IAChE,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,iFAAiF;IACjF,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gLAAgL;IAChL,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7C,4GAA4G;IAC5G,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gIAAgI;IAChI,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACvC"}
1
+ {"version":3,"file":"structs.d.ts","sourceRoot":"","sources":["../../../src/cluster/structs.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,27 @@
1
+ /**
2
+ * The exact bytes a vote signature covers: `<hash>:<type>[:<extra>]`, where `extra` is the variant's
3
+ * own payload — a reject's `rejectReason`, a conflict's `conflictWith`, nothing for an approve.
4
+ * Folding the extra in is what makes it integrity-protected in transit rather than free-floating
5
+ * prose.
6
+ *
7
+ * Producers and verifiers must both build the preimage here. It lives beside {@link Signature}
8
+ * rather than in either consumer because a second copy that forgets a variant does not fail loudly:
9
+ * it reports an honest vote as an invalid signature. (The dispute path once carried such a copy.)
10
+ *
11
+ * "Cluster" in the name distinguishes these consensus votes from the dispute subsystem's
12
+ * arbitration votes, which have their own unrelated preimage (`dispute/invalidation.ts`).
13
+ */
14
+ export function clusterVoteSigningPayload(hash, type, extra) {
15
+ return new TextEncoder().encode(hash + ':' + type + (extra ? ':' + extra : ''));
16
+ }
17
+ /** Verifier-side {@link clusterVoteSigningPayload}: reads each variant's signed extra off the vote itself. */
18
+ export function clusterVoteVerificationPayload(hash, signature) {
19
+ switch (signature.type) {
20
+ case 'reject': return clusterVoteSigningPayload(hash, 'reject', signature.rejectReason);
21
+ case 'conflict': return clusterVoteSigningPayload(hash, 'conflict', signature.conflictWith);
22
+ default: return clusterVoteSigningPayload(hash, signature.type);
23
+ }
24
+ }
1
25
  /**
2
26
  * Single source of truth for the default super-majority threshold — the fraction of a cluster's peers
3
27
  * that must promise before a transaction may proceed. Every component that falls back to a default when
@@ -1 +1 @@
1
- {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../src/cluster/structs.ts"],"names":[],"mappings":"AAiDA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../src/cluster/structs.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,IAAuB,EAAE,KAAc;IAC9F,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,8BAA8B,CAAC,IAAY,EAAE,SAAoB;IAChF,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ,CAAC,CAAC,OAAO,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACxF,KAAK,UAAU,CAAC,CAAC,OAAO,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5F,OAAO,CAAC,CAAC,OAAO,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;AACF,CAAC;AA2CD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC"}
@@ -185,6 +185,16 @@ export declare class Collection<TAction> implements ICollection<TAction> {
185
185
  * its own pending inline, so this is only needed when commit was orchestrated
186
186
  * externally. */
187
187
  clearPendingActions(): void;
188
+ /** Whether {@link sync} has anything to push: staged actions, or tracker transforms
189
+ * that were never committed (an INVENTED collection's header/root blocks live there
190
+ * until its first sync, with no pending action to name them).
191
+ *
192
+ * This is the exact predicate {@link syncInternal} loops on, so `false` means a sync
193
+ * would commit nothing. Exposed so a caller that would otherwise flush
194
+ * unconditionally can skip the round trip — note that {@link Tree.sync} routes
195
+ * through {@link updateAndSync}, so an unnecessary flush still pays a full,
196
+ * cache-bypassing {@link update} before discovering it has nothing to do. */
197
+ hasUnsyncedChanges(): boolean;
188
198
  /** Fold a just-committed set of transforms into this collection's read cache
189
199
  * so subsequent reads (and stages) through THIS instance observe the committed
190
200
  * state, mirroring what {@link sync} does inline after a successful transact.
@@ -232,6 +242,13 @@ export declare class Collection<TAction> implements ICollection<TAction> {
232
242
  * pending non-tail blocks and the collection reading as if they did not exist. A tail
233
243
  * with no `state.latest` and NO flag is a real answer (nothing committed yet) and still
234
244
  * no-ops.
245
+ *
246
+ * The same goes for `unconfirmedAheadRev`: this unpinned tail read is the ONE seam where a
247
+ * lagging collection can learn a newer revision exists — every later data read is pinned to
248
+ * the context seeded here. Silently seeding from a tail the repo could not confirm is
249
+ * current would freeze the collection at the stale revision with nothing ever reporting a
250
+ * problem, so it throws the same way TransactorSource.tryGet does for its unpinned reads
251
+ * (see the tradeoff NOTE there).
235
252
  */
236
253
  private static bootstrapContext;
237
254
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/collection/collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/collection/collection.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Tracker } from "../transform/tracker.js";
4
4
  import { CacheSource } from "../transform/cache-source.js";
5
5
  import { copyTransforms, isTransformsEmpty } from "../transform/helpers.js";
6
6
  import { TransactorSource } from "../transactor/transactor-source.js";
7
- import { BlockUnavailableError } from "../network/struct.js";
7
+ import { BlockUnavailableError, BlockPossiblyStaleError } from "../network/struct.js";
8
8
  import { CollectionHeaderVanishedError, SyncRetryExhaustedError } from "./struct.js";
9
9
  import { clampPriority } from "../transaction/transaction.js";
10
10
  import { ReadDependencyCollector } from "../transaction/read-dependency-collector.js";
@@ -355,6 +355,18 @@ export class Collection {
355
355
  clearPendingActions() {
356
356
  this.pending = [];
357
357
  }
358
+ /** Whether {@link sync} has anything to push: staged actions, or tracker transforms
359
+ * that were never committed (an INVENTED collection's header/root blocks live there
360
+ * until its first sync, with no pending action to name them).
361
+ *
362
+ * This is the exact predicate {@link syncInternal} loops on, so `false` means a sync
363
+ * would commit nothing. Exposed so a caller that would otherwise flush
364
+ * unconditionally can skip the round trip — note that {@link Tree.sync} routes
365
+ * through {@link updateAndSync}, so an unnecessary flush still pays a full,
366
+ * cache-bypassing {@link update} before discovering it has nothing to do. */
367
+ hasUnsyncedChanges() {
368
+ return this.pending.length > 0 || !isTransformsEmpty(this.tracker.transforms);
369
+ }
358
370
  /** Fold a just-committed set of transforms into this collection's read cache
359
371
  * so subsequent reads (and stages) through THIS instance observe the committed
360
372
  * state, mirroring what {@link sync} does inline after a successful transact.
@@ -413,7 +425,7 @@ export class Collection {
413
425
  // Last confirmed revision a responder reported holding. Purely diagnostic — it is reported
414
426
  // in the exhaustion error and never consulted to decide whether to keep retrying.
415
427
  let lastStaleAt;
416
- while (this.pending.length || !isTransformsEmpty(this.tracker.transforms)) {
428
+ while (this.hasUnsyncedChanges()) {
417
429
  if (signal?.aborted) {
418
430
  throw makeAbortError(signal);
419
431
  }
@@ -539,6 +551,13 @@ export class Collection {
539
551
  * pending non-tail blocks and the collection reading as if they did not exist. A tail
540
552
  * with no `state.latest` and NO flag is a real answer (nothing committed yet) and still
541
553
  * no-ops.
554
+ *
555
+ * The same goes for `unconfirmedAheadRev`: this unpinned tail read is the ONE seam where a
556
+ * lagging collection can learn a newer revision exists — every later data read is pinned to
557
+ * the context seeded here. Silently seeding from a tail the repo could not confirm is
558
+ * current would freeze the collection at the stale revision with nothing ever reporting a
559
+ * problem, so it throws the same way TransactorSource.tryGet does for its unpinned reads
560
+ * (see the tradeoff NOTE there).
542
561
  */
543
562
  static async bootstrapContext(source, transactor, header) {
544
563
  const tailId = header.tailId;
@@ -548,6 +567,9 @@ export class Collection {
548
567
  if (tailEntry?.unavailable !== undefined && tailEntry.block == null) {
549
568
  throw new BlockUnavailableError(tailId, tailEntry.unavailable);
550
569
  }
570
+ if (tailEntry?.unconfirmedAheadRev !== undefined) {
571
+ throw new BlockPossiblyStaleError(tailId, tailEntry.unconfirmedAheadRev);
572
+ }
551
573
  const tailState = tailEntry?.state;
552
574
  if (tailState?.latest) {
553
575
  source.actionContext = {
@@ -1 +1 @@
1
- {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/collection/collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/collection/collection.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,11 @@ export declare class Tree<TKey, TEntry> implements TreeReadView<TKey, TEntry> {
63
63
  /** Flush all staged (and any other pending) changes to the transactor.
64
64
  * Equivalent to the flush half of {@link replace}. */
65
65
  sync(): Promise<void>;
66
+ /** Whether {@link sync} has anything to push — see
67
+ * {@link Collection.hasUnsyncedChanges}. `false` means the commit half of
68
+ * {@link sync} is a no-op, so a caller flushing several trees can skip the ones
69
+ * with nothing staged and avoid their (cache-bypassing) refresh. */
70
+ hasUnsyncedChanges(): boolean;
66
71
  /** Capture the current staged state so it can be restored via {@link restore}.
67
72
  * Take this BEFORE staging a unit of work that may be rolled back. The snapshot
68
73
  * is opaque; pass the exact value back to {@link restore}. */
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"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"}
@@ -114,6 +114,13 @@ export class Tree {
114
114
  async sync() {
115
115
  await this.collection.updateAndSync();
116
116
  }
117
+ /** Whether {@link sync} has anything to push — see
118
+ * {@link Collection.hasUnsyncedChanges}. `false` means the commit half of
119
+ * {@link sync} is a no-op, so a caller flushing several trees can skip the ones
120
+ * with nothing staged and avoid their (cache-bypassing) refresh. */
121
+ hasUnsyncedChanges() {
122
+ return this.collection.hasUnsyncedChanges();
123
+ }
117
124
  /** Capture the current staged state so it can be restored via {@link restore}.
118
125
  * Take this BEFORE staging a unit of work that may be rolled back. The snapshot
119
126
  * is opaque; pass the exact value back to {@link restore}. */
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/collections/tree/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgG,MAAM,2BAA2B,CAAC;AAErJ,OAAO,EAAE,KAAK,EAA4B,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAA0B,MAAM,aAAa,CAAC;AAyB1E,MAAM,OAAO,IAAI;IAGE;IACA;IAEA;IACA;IALlB,YACkB,UAAuD,EACvD,KAA0B;IAC3C,iFAAiF;IAChE,YAAqC,EACrC,OAAqC;QAJrC,eAAU,GAAV,UAAU,CAA6C;QACvD,UAAK,GAAL,KAAK,CAAqB;QAE1B,iBAAY,GAAZ,YAAY,CAAyB;QACrC,YAAO,GAAP,OAAO,CAA8B;IAEvD,CAAC;IAED;;;yFAGqF;IACrF,MAAM,CAAC,KAAK,CAAC,IAAI,CAChB,OAAoB,EACpB,EAAgB,EAChB,eAAe,CAAC,KAAa,EAAE,EAAE,CAAC,KAAwB,EAC1D,UAAU,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,sDAAsD;IACtD,YAAqB;QAErB,MAAM,IAAI,GAA8B,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAkC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7F,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,OAAoB,EACpB,EAAgB,EAChB,eAAe,CAAC,KAAa,EAAE,EAAE,CAAC,KAAwB,EAC1D,UAAU,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D;;;;;;;;;;iGAU6F;IAC7F,YAAqB;QAErB,MAAM,IAAI,GAA8B,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAAkC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED;sGACkG;IAC1F,MAAM,CAAC,SAAS,CACvB,EAAgB,EAChB,YAAqC,EACrC,OAAqC,EACrC,YAAgC,EAChC,IAA+B;QAE/B,OAAO;YACN,OAAO,EAAE;gBACR,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;oBAC3C,iFAAiF;oBACjF,mFAAmF;oBACnF,kFAAkF;oBAClF,gFAAgF;oBAChF,oFAAoF;oBACpF,kDAAkD;oBAClD,MAAM,UAAU,GAAG,IAAI,KAAK,CAC3B,GAAG,EACH,IAAI,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,EAC5B,YAAY,EACZ,OAAO,EACP,YAAY,CACZ,CAAC;oBACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;wBACpC,IAAI,KAAK,EAAE,CAAC;4BACX,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACP,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACzD,CAAC;oBACF,CAAC;oBACD,qFAAqF;oBACrF,yFAAyF;oBACzF,+CAA+C;oBAC/C,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;gBAC/B,CAAC;aACD;YACD,iBAAiB,EAAE,CAAC,GAAY,EAAE,KAAyB,EAAE,EAAE;gBAC9D,6BAA6B;gBAC7B,wFAAwF;gBACxF,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAe,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACvD,MAAM,GAAG,CAAC,CAAC;oBACX,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBACzC,OAAO;oBACN,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,GAAG,CAAC;oBACzD,MAAM,EAAE,MAAO;iBACf,CAAA;YACF,CAAC;SACD,CAAC;IACH,CAAC;IAED;;;4FAGwF;IAChF,MAAM,CAAC,MAAM,CACpB,UAAuD,EACvD,IAA+B,EAC/B,YAAqC,EACrC,OAAqC,EACrC,YAAgC;QAEhC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;eACnB,IAAI,KAAK,CAAe,UAAU,CAAC,OAAO,EAAE,IAAI,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC7I,OAAO,IAAI,IAAI,CAAe,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqC;QACjD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED;;;;;oDAKgD;IAChD,KAAK,CAAC,KAAK,CAAC,IAAqC;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;0DACsD;IACtD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED;;;wEAGoE;IACpE,kBAAkB;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED;;kEAE8D;IAC9D,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;IAC3C,CAAC;IAED;;kFAE8E;IAC9E,OAAO,CAAC,QAA6D;QACnE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;mBAsBe;IACf,QAAQ,CACP,QAA6D,EAC7D,OAAyB;QAExB,MAAM,gBAAgB,GAAoB;YACzC,GAAG,OAAO;YACV,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,OAAO;SACnD,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACzF,OAAO,IAAI,KAAK,CACf,OAAO,EACP,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAChD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;qDAMiD;IACjD,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;4EAGwE;IACxE,QAAQ;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACX,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,KAAK;QACV,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI;QACT,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAS;QACnB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QAClB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,EAAE,CAAC,IAAwB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAqB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,IAAwB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,IAAwB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAwD;QACtE,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAwB;QAClC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAwB;QACtC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAwB;QACnC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAwB;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,IAAwB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACD"}
@@ -4,5 +4,21 @@ export type IPeerNetwork = {
4
4
  * Dial a peer and establish a protocol stream
5
5
  */
6
6
  connect(peerId: PeerId, protocol: string, options?: AbortOptions): Promise<Stream>;
7
+ /**
8
+ * Optionally teach the dialer how to reach `peerId`, from addresses carried by an
9
+ * application-level message (a cluster record's peer map, a redirect payload).
10
+ *
11
+ * This exists because libp2p only propagates a peer's addresses to peers it is
12
+ * DIRECTLY connected to. A cohort here is chosen by key position, so a member
13
+ * routinely shares a cohort with a relay-only peer it has never met and holds an
14
+ * empty address list for it — a dial by peer id alone then fails immediately. Our
15
+ * own protocol messages already carry the addresses; this is the seam that lets a
16
+ * recipient keep them.
17
+ *
18
+ * Addresses are multiaddr strings (matching `ClusterPeers` / `RedirectPayload`), so
19
+ * db-core needs no multiaddr dependency. Implementations without an address book
20
+ * omit this method.
21
+ */
22
+ recordPeerAddresses?(peerId: PeerId, multiaddrs: string[]): void;
7
23
  };
8
24
  //# sourceMappingURL=i-peer-network.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-peer-network.d.ts","sourceRoot":"","sources":["../../../src/network/i-peer-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpF,CAAA"}
1
+ {"version":3,"file":"i-peer-network.d.ts","sourceRoot":"","sources":["../../../src/network/i-peer-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnF;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAClE,CAAA"}
@@ -141,8 +141,22 @@ export type BlockUnavailableReason =
141
141
  /** Records for this block exist here but it cannot be reconstructed locally — a
142
142
  * revision was received with no base to apply it to, or its history is truncated. */
143
143
  'unmaterializable'
144
- /** Nothing is held locally and the cohort could not be consulted to confirm it. */
145
- | 'peers-unreachable';
144
+ /** Nothing is held locally; PART of the cohort answered and part could not be asked.
145
+ * A silent peer could be the sole holder, so the absence is a guess — but other
146
+ * coordinators are reachable, so asking one of them can still settle it. Also the
147
+ * fallback when the consult could not run at all (the cohort lookup itself failed):
148
+ * a routing failure says nothing about how many cohort members were reachable. */
149
+ | 'peers-unreachable'
150
+ /** Nothing is held locally and NO cohort member outside the answering node could be
151
+ * asked at all. Distinct from `peers-unreachable` in exactly the way that matters to
152
+ * a caller: there is no better-connected coordinator to re-ask, so the answer will
153
+ * not improve until that node's connectivity does. Its local view is all there is. */
154
+ | 'cohort-unreachable'
155
+ /** Nothing is held locally, but a cohort peer positively CLAIMED a revision of this
156
+ * block, and the answering node could neither corroborate that claim to a quorum nor
157
+ * acquire the content. The block is known to exist somewhere; reporting it absent
158
+ * would be a lie regardless of whether anyone was silent. */
159
+ | 'claimed-elsewhere';
146
160
  export type GetBlockResult = {
147
161
  /** The retrieved block - undefined if the block was deleted */
148
162
  block?: IBlock;
@@ -165,6 +179,16 @@ export type GetBlockResult = {
165
179
  * guess, not an authoritative absent. Every producer that omits it (including
166
180
  * TestTransactor) keeps meaning "authoritative". */
167
181
  unavailable?: BlockUnavailableReason;
182
+ /** Set when this repo served committed content it could NOT confirm is current: its
183
+ * freshness consult did not converge AND a cohort peer claimed a strictly higher
184
+ * revision than the one served, within the view the caller asked for (unpinned, or
185
+ * pinned at or above the claim). Carries that claimed revision. The claim did not
186
+ * drive a successful repair — it failed the read-repair corroboration quorum, or was
187
+ * corroborated but the content could not be acquired — so it is evidence of DOUBT,
188
+ * never a revision to adopt. Distinct from `unavailable`, which is about EXISTENCE:
189
+ * the content here is real, it may just be behind. Absent = confirmed, so every
190
+ * producer that omits it keeps its meaning. */
191
+ unconfirmedAheadRev?: number;
168
192
  };
169
193
  /**
170
194
  * Thrown by a block read when the responsible repo could not determine whether the
@@ -177,6 +201,19 @@ export declare class BlockUnavailableError extends Error {
177
201
  readonly reason: BlockUnavailableReason;
178
202
  constructor(blockId: BlockId, reason: BlockUnavailableReason);
179
203
  }
204
+ /**
205
+ * Thrown by an unpinned ("give me latest") block read whose surviving answer carries
206
+ * {@link GetBlockResult.unconfirmedAheadRev}: every reachable coordinator served content
207
+ * it could not confirm is current, while a cohort peer claimed a strictly higher revision
208
+ * nothing could corroborate or refute. Sibling of {@link BlockUnavailableError} — that one
209
+ * is about EXISTENCE (blockless answer, could not find out), this one about CURRENCY (real
210
+ * content, possibly behind). Not a StaleFailure: `Collection.sync` does not retry it.
211
+ */
212
+ export declare class BlockPossiblyStaleError extends Error {
213
+ readonly blockId: BlockId;
214
+ readonly claimedRev: number;
215
+ constructor(blockId: BlockId, claimedRev: number);
216
+ }
180
217
  export type GetBlockResults = Record<BlockId, GetBlockResult>;
181
218
  /**
182
219
  * Result of validating a transaction in a PendRequest.
@@ -1 +1 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,22 @@ export class BlockUnavailableError extends Error {
14
14
  this.name = 'BlockUnavailableError';
15
15
  }
16
16
  }
17
+ /**
18
+ * Thrown by an unpinned ("give me latest") block read whose surviving answer carries
19
+ * {@link GetBlockResult.unconfirmedAheadRev}: every reachable coordinator served content
20
+ * it could not confirm is current, while a cohort peer claimed a strictly higher revision
21
+ * nothing could corroborate or refute. Sibling of {@link BlockUnavailableError} — that one
22
+ * is about EXISTENCE (blockless answer, could not find out), this one about CURRENCY (real
23
+ * content, possibly behind). Not a StaleFailure: `Collection.sync` does not retry it.
24
+ */
25
+ export class BlockPossiblyStaleError extends Error {
26
+ blockId;
27
+ claimedRev;
28
+ constructor(blockId, claimedRev) {
29
+ super(`Block ${blockId} may be stale: a cohort peer claimed rev ${claimedRev} that no reachable coordinator could confirm or refute`);
30
+ this.blockId = blockId;
31
+ this.claimedRev = claimedRev;
32
+ this.name = 'BlockPossiblyStaleError';
33
+ }
34
+ }
17
35
  //# sourceMappingURL=struct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"AAuLA;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC1B;IAA2B;IAAhD,YAAqB,OAAgB,EAAW,MAA8B;QAC7E,KAAK,CAAC,SAAS,OAAO,oBAAoB,MAAM,mDAAmD,CAAC,CAAC;QADjF,YAAO,GAAP,OAAO,CAAS;QAAW,WAAM,GAAN,MAAM,CAAwB;QAE7E,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACrC,CAAC;CACD"}
1
+ {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../src/network/struct.ts"],"names":[],"mappings":"AA+MA;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC1B;IAA2B;IAAhD,YAAqB,OAAgB,EAAW,MAA8B;QAC7E,KAAK,CAAC,SAAS,OAAO,oBAAoB,MAAM,mDAAmD,CAAC,CAAC;QADjF,YAAO,GAAP,OAAO,CAAS;QAAW,WAAM,GAAN,MAAM,CAAwB;QAE7E,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACrC,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC5B;IAA2B;IAAhD,YAAqB,OAAgB,EAAW,UAAkB;QACjE,KAAK,CAAC,SAAS,OAAO,4CAA4C,UAAU,wDAAwD,CAAC,CAAC;QADlH,YAAO,GAAP,OAAO,CAAS;QAAW,eAAU,GAAV,UAAU,CAAQ;QAEjE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACvC,CAAC;CACD"}