@optimystic/db-p2p 0.16.3 → 0.18.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 (90) hide show
  1. package/dist/src/cluster/block-transfer-service.d.ts +14 -1
  2. package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
  3. package/dist/src/cluster/block-transfer-service.js +12 -3
  4. package/dist/src/cluster/block-transfer-service.js.map +1 -1
  5. package/dist/src/cluster/cluster-policy.d.ts +112 -0
  6. package/dist/src/cluster/cluster-policy.d.ts.map +1 -0
  7. package/dist/src/cluster/cluster-policy.js +88 -0
  8. package/dist/src/cluster/cluster-policy.js.map +1 -0
  9. package/dist/src/cluster/cluster-repo.d.ts +41 -13
  10. package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
  11. package/dist/src/cluster/cluster-repo.js +116 -23
  12. package/dist/src/cluster/cluster-repo.js.map +1 -1
  13. package/dist/src/cluster/quorum-restore.d.ts +64 -14
  14. package/dist/src/cluster/quorum-restore.d.ts.map +1 -1
  15. package/dist/src/cluster/quorum-restore.js +0 -0
  16. package/dist/src/cluster/quorum-restore.js.map +1 -1
  17. package/dist/src/cluster/reconcile-block.d.ts +60 -0
  18. package/dist/src/cluster/reconcile-block.d.ts.map +1 -0
  19. package/dist/src/cluster/reconcile-block.js +133 -0
  20. package/dist/src/cluster/reconcile-block.js.map +1 -0
  21. package/dist/src/cluster/service.d.ts +4 -1
  22. package/dist/src/cluster/service.d.ts.map +1 -1
  23. package/dist/src/cluster/service.js +9 -1
  24. package/dist/src/cluster/service.js.map +1 -1
  25. package/dist/src/cluster/spread-on-churn.d.ts.map +1 -1
  26. package/dist/src/cluster/spread-on-churn.js +8 -0
  27. package/dist/src/cluster/spread-on-churn.js.map +1 -1
  28. package/dist/src/inbound-authorization.d.ts +117 -0
  29. package/dist/src/inbound-authorization.d.ts.map +1 -0
  30. package/dist/src/inbound-authorization.js +149 -0
  31. package/dist/src/inbound-authorization.js.map +1 -0
  32. package/dist/src/index.d.ts +1 -0
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +1 -0
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/libp2p-key-network.d.ts +14 -0
  37. package/dist/src/libp2p-key-network.d.ts.map +1 -1
  38. package/dist/src/libp2p-key-network.js +54 -4
  39. package/dist/src/libp2p-key-network.js.map +1 -1
  40. package/dist/src/libp2p-node-base.d.ts +48 -7
  41. package/dist/src/libp2p-node-base.d.ts.map +1 -1
  42. package/dist/src/libp2p-node-base.js +61 -83
  43. package/dist/src/libp2p-node-base.js.map +1 -1
  44. package/dist/src/repo/cluster-coordinator.d.ts +21 -3
  45. package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
  46. package/dist/src/repo/cluster-coordinator.js +27 -5
  47. package/dist/src/repo/cluster-coordinator.js.map +1 -1
  48. package/dist/src/repo/coordinator-repo.d.ts +123 -16
  49. package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
  50. package/dist/src/repo/coordinator-repo.js +354 -49
  51. package/dist/src/repo/coordinator-repo.js.map +1 -1
  52. package/dist/src/repo/service.d.ts +4 -1
  53. package/dist/src/repo/service.d.ts.map +1 -1
  54. package/dist/src/repo/service.js +9 -1
  55. package/dist/src/repo/service.js.map +1 -1
  56. package/dist/src/storage/block-storage.d.ts.map +1 -1
  57. package/dist/src/storage/block-storage.js +11 -0
  58. package/dist/src/storage/block-storage.js.map +1 -1
  59. package/dist/src/storage/storage-repo.d.ts +56 -0
  60. package/dist/src/storage/storage-repo.d.ts.map +1 -1
  61. package/dist/src/storage/storage-repo.js +155 -13
  62. package/dist/src/storage/storage-repo.js.map +1 -1
  63. package/dist/src/sync/service.d.ts +4 -7
  64. package/dist/src/sync/service.d.ts.map +1 -1
  65. package/dist/src/sync/service.js +13 -10
  66. package/dist/src/sync/service.js.map +1 -1
  67. package/dist/src/testing/mesh-harness.d.ts +10 -0
  68. package/dist/src/testing/mesh-harness.d.ts.map +1 -1
  69. package/dist/src/testing/mesh-harness.js +55 -49
  70. package/dist/src/testing/mesh-harness.js.map +1 -1
  71. package/package.json +2 -2
  72. package/{README.md → readme.md} +37 -0
  73. package/src/cluster/block-transfer-service.ts +20 -5
  74. package/src/cluster/cluster-policy.ts +152 -0
  75. package/src/cluster/cluster-repo.ts +121 -26
  76. package/src/cluster/quorum-restore.ts +0 -0
  77. package/src/cluster/reconcile-block.ts +191 -0
  78. package/src/cluster/service.ts +10 -3
  79. package/src/cluster/spread-on-churn.ts +8 -0
  80. package/src/inbound-authorization.ts +190 -0
  81. package/src/index.ts +1 -0
  82. package/src/libp2p-key-network.ts +54 -4
  83. package/src/libp2p-node-base.ts +111 -94
  84. package/src/repo/cluster-coordinator.ts +30 -6
  85. package/src/repo/coordinator-repo.ts +419 -58
  86. package/src/repo/service.ts +10 -3
  87. package/src/storage/block-storage.ts +11 -0
  88. package/src/storage/storage-repo.ts +172 -15
  89. package/src/sync/service.ts +14 -12
  90. package/src/testing/mesh-harness.ts +55 -49
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-coordinator.js","sourceRoot":"","sources":["../../../src/repo/cluster-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-coordinator.js","sourceRoot":"","sources":["../../../src/repo/cluster-coordinator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,20 @@
1
1
  import type { PendRequest, ActionBlocks, IRepo, MessageOptions, CommitResult, GetBlockResults, PendResult, BlockGets, CommitRequest, IKeyNetwork, ICluster, ClusterConsensusConfig, BlockId, ActionRev, ActionContext } from "@optimystic/db-core";
2
- import type { ClusterClient } from "../cluster/client.js";
3
2
  import type { PeerId } from "@libp2p/interface";
4
3
  import type { FretService } from "p2p-fret";
5
4
  import type { IPeerReputation } from "../reputation/types.js";
6
5
  import type { ITransactionStateStore } from "../cluster/i-transaction-state-store.js";
6
+ import type { ReconcileBlockCallback } from "../cluster/cluster-repo.js";
7
+ /**
8
+ * Acquire a block's content for a cohort-corroborated revision, from the cohort, and persist it.
9
+ *
10
+ * Deliberately the SAME shape as the commit path's {@link ReconcileBlockCallback}, and in the live
11
+ * node the very same instance (`libp2p-node-base` passes its `reconcileBlock` to both): read-driven
12
+ * acquisition needs exactly what reconcile already provides — a per-peer-bounded archive fetch, a
13
+ * quorum vote on the target `(rev, actionId)`, a quorum vote on the *content* at that revision, and a
14
+ * persist through the monotonic, commit-latched `StorageRepo.saveReplicatedBlock` funnel. Reusing it
15
+ * is what keeps read-repair from being a weaker trust path than reconcile.
16
+ */
17
+ export type AcquireBlockCallback = ReconcileBlockCallback;
7
18
  /**
8
19
  * Extended cluster interface that includes the ability to check if a transaction was executed.
9
20
  * This is used by CoordinatorRepo to avoid duplicate execution.
@@ -25,16 +36,33 @@ interface CoordinatorRepoComponents {
25
36
  * Used for read-path cluster verification to discover unknown revisions.
26
37
  */
27
38
  clusterLatestCallback?: ClusterLatestCallback;
39
+ /**
40
+ * Optional callback that actually moves a block's bytes from the cohort into local storage once
41
+ * {@link clusterLatestCallback} has established a corroborated revision this node lacks. Absent →
42
+ * the read path can still *select* the right revision but converges only when the node already
43
+ * holds the corroborated action as a promotable pending. See {@link AcquireBlockCallback}.
44
+ */
45
+ acquireBlockFromCohort?: AcquireBlockCallback;
28
46
  }
29
- export declare function coordinatorRepo(keyNetwork: IKeyNetwork, createClusterClient: (peerId: PeerId) => ClusterClient, cfg?: Partial<ClusterConsensusConfig> & {
47
+ /**
48
+ * Consensus config for the coordinator side, plus the repair yardstick the read-repair path measures
49
+ * a (possibly shrunken) cohort view against. `repairCorroborationClusterSize` is deliberately its own
50
+ * field rather than an overload of {@link ClusterConsensusConfig.assumedClusterSize}: this same object
51
+ * also builds the `ClusterCoordinator`, and a field whose value silently differed from the cluster
52
+ * member's copy of it would be a trap. See `cluster/cluster-policy.ts` for why the two differ.
53
+ */
54
+ export type CoordinatorRepoConfig = Partial<ClusterConsensusConfig> & {
30
55
  clusterSize?: number;
31
- }, fretService?: FretService, reputation?: IPeerReputation, stateStore?: ITransactionStateStore): (components: CoordinatorRepoComponents) => CoordinatorRepo;
56
+ repairCorroborationClusterSize?: number;
57
+ };
58
+ export declare function coordinatorRepo(keyNetwork: IKeyNetwork, createClusterClient: (peerId: PeerId) => ICluster, cfg?: CoordinatorRepoConfig, fretService?: FretService, reputation?: IPeerReputation, stateStore?: ITransactionStateStore): (components: CoordinatorRepoComponents) => CoordinatorRepo;
32
59
  /** Cluster coordination repo - uses local store, as well as distributes changes to other nodes using cluster consensus. */
33
60
  export declare class CoordinatorRepo implements IRepo {
34
61
  readonly keyNetwork: IKeyNetwork;
35
- readonly createClusterClient: (peerId: PeerId) => ClusterClient;
62
+ readonly createClusterClient: (peerId: PeerId) => ICluster;
36
63
  private readonly storageRepo;
37
64
  private readonly clusterLatestCallback?;
65
+ private readonly acquireBlockFromCohort?;
38
66
  private coordinator;
39
67
  private readonly DEFAULT_TIMEOUT;
40
68
  private readonly localPeerId?;
@@ -46,6 +74,13 @@ export declare class CoordinatorRepo implements IRepo {
46
74
  private readonly readRepairSampleRate;
47
75
  /** Simple-majority threshold from the consensus policy; drives the read-repair corroboration quorum. */
48
76
  private readonly simpleMajorityThreshold;
77
+ /**
78
+ * Yardstick the read-repair corroboration floor is measured against; the floor for
79
+ * {@link corroboratorCapacity}. Resolved by `resolveClusterPolicy` for a real node; falls back to
80
+ * `assumedClusterSize` and then `clusterSize` for direct constructors (see the constructor), so a
81
+ * caller that has adopted neither field keeps today's behavior exactly.
82
+ */
83
+ private readonly repairCorroborationClusterSize;
49
84
  /** Resolved super-majority threshold the coordinator commits on (mirrors the value handed to ClusterCoordinator). */
50
85
  private readonly superMajorityThreshold;
51
86
  private readonly reputation?;
@@ -53,9 +88,7 @@ export declare class CoordinatorRepo implements IRepo {
53
88
  now: () => number;
54
89
  /** Test seam: overridable RNG (0..1) for sample-rate gating. */
55
90
  rand: () => number;
56
- constructor(keyNetwork: IKeyNetwork, createClusterClient: (peerId: PeerId) => ClusterClient, storageRepo: IRepo, cfg?: Partial<ClusterConsensusConfig> & {
57
- clusterSize?: number;
58
- }, localCluster?: LocalClusterWithExecutionTracking, localPeerId?: PeerId, fretService?: FretService, clusterLatestCallback?: ClusterLatestCallback | undefined, reputation?: IPeerReputation, stateStore?: ITransactionStateStore);
91
+ constructor(keyNetwork: IKeyNetwork, createClusterClient: (peerId: PeerId) => ICluster, storageRepo: IRepo, cfg?: CoordinatorRepoConfig, localCluster?: LocalClusterWithExecutionTracking, localPeerId?: PeerId, fretService?: FretService, clusterLatestCallback?: ClusterLatestCallback | undefined, reputation?: IPeerReputation, stateStore?: ITransactionStateStore, acquireBlockFromCohort?: AcquireBlockCallback | undefined);
59
92
  /**
60
93
  * The resolved super-majority threshold this coordinator commits on. Exposed so the composition root
61
94
  * can fail-fast if the coordinator and the cluster member would run different thresholds (see the
@@ -89,22 +122,70 @@ export declare class CoordinatorRepo implements IRepo {
89
122
  * a full pend/commit cycle through the cluster coordinator.
90
123
  */
91
124
  setLastSeenForTest(blockId: BlockId, ts: number): void;
125
+ /**
126
+ * One repair pass for a block: ask the cohort what it holds, and converge onto that if it is
127
+ * ahead of `localRev` — the revision the caller's read already loaded, and the baseline every
128
+ * decision below is measured against.
129
+ */
92
130
  private fetchBlockFromCluster;
93
131
  /**
94
- * Query cluster peers for their latest revision and return the highest
95
- * revision corroborated by a quorum of distinct peers.
132
+ * Bring this node up to the cohort-corroborated `corroborated`, returning the revision it holds
133
+ * afterwards when that is an advance over `baselineRev`, else `undefined`.
134
+ *
135
+ * Two mechanisms, cheapest first:
136
+ * 1. **Promote a local pending** — free, no network, and the only mechanism that existed before
137
+ * block acquisition. Covers the node that saw the pend and missed the commit broadcast.
138
+ * 2. **Acquire the bytes from the cohort** ({@link AcquireBlockCallback}) — covers everything else,
139
+ * including a block this node has never seen at all.
140
+ *
141
+ * **Why acquisition is gated here and not on a plain local miss.** `BlockStorage.getBlock` returns
142
+ * `undefined` for a block with no local metadata *without* consulting its restore callback, so that
143
+ * an insert probing a fresh random block id for a collision does not cost a network fetch. That
144
+ * remains true: this method runs only after {@link queryClusterForLatest} produced a quorum-
145
+ * corroborated `(rev, actionId)`, which a genuinely non-existent block can never produce (no peer
146
+ * claims it, so `selectQuorumRev` declines and `fetchBlockFromCluster` returns before reaching
147
+ * here). The cost of a genuine absence is unchanged — the latest-query round trip that already
148
+ * happened — while a block the cohort demonstrably holds is no longer thrown away.
149
+ *
150
+ * Cohort peer ids are passed straight through: the callback filters self out and caps its own
151
+ * corroboration quorum by how many peers could answer at all.
152
+ */
153
+ private restoreCorroborated;
154
+ /**
155
+ * Promote a corroborated action this node already holds as a local pending — the no-network half of
156
+ * the repair. Returns the local revision afterwards.
157
+ *
158
+ * A pending-only block (metadata seeded by `savePendingTransaction`, no committed revision) asked
159
+ * for a forward revision no promotion can reach used to throw out of `BlockStorage.ensureRevision`;
160
+ * `StorageRepo.get` now reports it as an entry flagged `unavailable` instead (ticket
161
+ * repo-reports-unavailable-vs-absent). On THIS path either shape is an absence, not a read failure —
162
+ * acquisition is precisely the mechanism that can supply the revision — so both are logged as
163
+ * `promote-unavailable` and stepped over rather than short-circuiting the caller.
164
+ */
165
+ private promoteCorroborated;
166
+ /** This node's own answer for a block, optionally driving a promotion context through the read.
167
+ * Callers that care whether the answer is authoritative inspect `entry.unavailable`. */
168
+ private readLocalEntry;
169
+ /** This node's own `latest.rev` for a block, optionally driving a promotion context through the read. */
170
+ private readLocalRev;
171
+ /**
172
+ * Query cluster peers for their latest revision and return the highest revision
173
+ * corroborated by a quorum of distinct peers, alongside this node's own latest.
96
174
  *
97
175
  * Replaces the old "max rev any single peer reports" — which let one lying
98
176
  * peer over-reporting its revision steer restoration — with quorum
99
- * corroboration on the exact `(rev, actionId)` pair (see
100
- * {@link selectQuorumRev}). The local node's own latest is included as a
101
- * corroborating vote because `clusterLatestCallback` self-short-circuits to
102
- * local storage. Returns `undefined` (keep local, do not restore) when no
103
- * revision is corroborated.
177
+ * corroboration on the exact `(rev, actionId)` pair (see {@link selectQuorumRev}).
178
+ *
179
+ * This node's own answer is split out of the claim set rather than counted in it:
180
+ * `clusterLatestCallback` short-circuits self to local storage, so including it let a
181
+ * reader whose only peer timed out "corroborate" the very revision it was trying to
182
+ * repair. It is returned separately so the caller can compare, not vote.
104
183
  *
105
184
  * NOTE: the quorum is corroboration-of-a-claim, NOT Sybil-resistant cohort
106
- * membership — a peer minting fresh keypairs still casts a vote. Commit-cert
107
- * + membership anchoring is deferred to backlog
185
+ * membership — a peer minting fresh keypairs still casts a vote, and the claims
186
+ * themselves are bare assertions (a `BlockArchive` carries no commit certificate, so
187
+ * there is nothing here to verify a `(rev, actionId)` against). Commit-cert +
188
+ * membership anchoring is deferred to backlog
108
189
  * `debt-read-repair-commit-cert-verification`.
109
190
  */
110
191
  private queryClusterForLatest;
@@ -121,8 +202,34 @@ export declare class CoordinatorRepo implements IRepo {
121
202
  */
122
203
  private penalizeContradictingRevClaims;
123
204
  pend(request: PendRequest, options?: MessageOptions): Promise<PendResult>;
205
+ /**
206
+ * Decide whether a cluster validator rejection was an optimistic-concurrency loss — the block
207
+ * already advanced past the requested revision — rather than a genuine validation fault.
208
+ * A confirmed loss returns a {@link StaleFailure} carrying `conflict: true` so the caller
209
+ * receives a non-success *response* that says plainly it is a lost race: network-transactor's
210
+ * pend then takes its stale branch and both writers (`Collection.sync`, and the coordinator's
211
+ * multi-collection pendPhase via `isConflictFailure`) retry, instead of a thrown error escaping
212
+ * mid-batch (which splits multi-tree commits — see PartialCommitError).
213
+ *
214
+ * The failure carries no `missing` list: confirmation is a local re-read that reveals the
215
+ * revision is taken but not which actions took it, and no consumer rebases from `missing`
216
+ * anyway (it is only counted or logged). `conflict` conveys retryability directly instead.
217
+ *
218
+ * Confirmation is purely local: re-read the affected blocks from our own storage and require
219
+ * `latest.rev >= request.rev`. The signed reject-reason text is never consulted — it is
220
+ * free-form wire-visible prose and must not become control flow. Anything unconfirmed
221
+ * (including read errors during confirmation) stays a throw, preserving fail-fast for
222
+ * genuine validation faults.
223
+ */
224
+ private classifyStaleRejection;
124
225
  cancel(actionRef: ActionBlocks, options?: MessageOptions): Promise<void>;
125
226
  commit(request: CommitRequest, options?: MessageOptions): Promise<CommitResult>;
227
+ /**
228
+ * Report success for a commit the cluster carried but this peer could not apply locally. The
229
+ * blocks are marked seen so the read path treats them as freshness-checked; convergence comes
230
+ * from replication (cohort reconcile, or read-driven acquisition), not from replay here.
231
+ */
232
+ private tolerateLocalCommitDivergence;
126
233
  }
127
234
  export {};
128
235
  //# sourceMappingURL=coordinator-repo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator-repo.d.ts","sourceRoot":"","sources":["../../../src/repo/coordinator-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator-repo.d.ts","sourceRoot":"","sources":["../../../src/repo/coordinator-repo.ts"],"names":[],"mappings":"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"}