@serfab/cadre-core 1.17.0 → 1.19.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 (148) hide show
  1. package/README.md +3 -2
  2. package/dist/cadre-invite-protocol.d.ts +35 -13
  3. package/dist/cadre-invite-protocol.js +90 -25
  4. package/dist/cadre-invite-protocol.js.map +1 -1
  5. package/dist/cadre-node.d.ts +586 -255
  6. package/dist/cadre-node.js +1182 -566
  7. package/dist/cadre-node.js.map +1 -1
  8. package/dist/control-cohort.d.ts +66 -9
  9. package/dist/control-cohort.js +67 -9
  10. package/dist/control-cohort.js.map +1 -1
  11. package/dist/control-database.d.ts +451 -193
  12. package/dist/control-database.js +701 -359
  13. package/dist/control-database.js.map +1 -1
  14. package/dist/control-formation-recorder.d.ts +46 -43
  15. package/dist/control-formation-recorder.js +77 -78
  16. package/dist/control-formation-recorder.js.map +1 -1
  17. package/dist/control-protocol-guard.d.ts +6 -0
  18. package/dist/control-protocol-guard.js +14 -2
  19. package/dist/control-protocol-guard.js.map +1 -1
  20. package/dist/control-schema-version.d.ts +48 -31
  21. package/dist/control-schema-version.js +67 -45
  22. package/dist/control-schema-version.js.map +1 -1
  23. package/dist/control-schema.d.ts +8 -8
  24. package/dist/control-schema.js +16 -16
  25. package/dist/control-schema.js.map +1 -1
  26. package/dist/control-write-retry.d.ts +42 -7
  27. package/dist/control-write-retry.js +87 -19
  28. package/dist/control-write-retry.js.map +1 -1
  29. package/dist/enrolled-machine-store.d.ts +3 -3
  30. package/dist/enrolled-machine-store.js +3 -3
  31. package/dist/formation-token.d.ts +48 -0
  32. package/dist/formation-token.js +26 -0
  33. package/dist/formation-token.js.map +1 -0
  34. package/dist/index.d.ts +15 -14
  35. package/dist/index.js +17 -14
  36. package/dist/index.js.map +1 -1
  37. package/dist/joined-strand-store.d.ts +26 -9
  38. package/dist/joined-strand-store.js +63 -24
  39. package/dist/joined-strand-store.js.map +1 -1
  40. package/dist/link-budget.d.ts +9 -7
  41. package/dist/link-budget.js +9 -7
  42. package/dist/link-budget.js.map +1 -1
  43. package/dist/member-redemption.d.ts +15 -9
  44. package/dist/member-redemption.js +13 -8
  45. package/dist/member-redemption.js.map +1 -1
  46. package/dist/membership-view.d.ts +91 -0
  47. package/dist/membership-view.js +110 -0
  48. package/dist/membership-view.js.map +1 -0
  49. package/dist/owner-grant-protocol.d.ts +11 -7
  50. package/dist/owner-grant-protocol.js +31 -17
  51. package/dist/owner-grant-protocol.js.map +1 -1
  52. package/dist/peer-addr-book.d.ts +10 -1
  53. package/dist/peer-addr-book.js +4 -3
  54. package/dist/peer-addr-book.js.map +1 -1
  55. package/dist/peer-join-backfill.d.ts +96 -30
  56. package/dist/peer-join-backfill.js +272 -128
  57. package/dist/peer-join-backfill.js.map +1 -1
  58. package/dist/pending-join-runner.d.ts +48 -18
  59. package/dist/pending-join-runner.js +74 -56
  60. package/dist/pending-join-runner.js.map +1 -1
  61. package/dist/seed-bootstrap.d.ts +47 -40
  62. package/dist/seed-bootstrap.js +66 -61
  63. package/dist/seed-bootstrap.js.map +1 -1
  64. package/dist/self-address-update.d.ts +13 -0
  65. package/dist/self-address-update.js +19 -0
  66. package/dist/self-address-update.js.map +1 -0
  67. package/dist/strand-database.d.ts +23 -2
  68. package/dist/strand-database.js +26 -6
  69. package/dist/strand-database.js.map +1 -1
  70. package/dist/strand-first-sync-gate.d.ts +176 -89
  71. package/dist/strand-first-sync-gate.js +288 -122
  72. package/dist/strand-first-sync-gate.js.map +1 -1
  73. package/dist/strand-formation-deadlines.d.ts +9 -9
  74. package/dist/strand-formation-deadlines.js +9 -9
  75. package/dist/strand-formation-manager.d.ts +23 -17
  76. package/dist/strand-formation-manager.js +46 -44
  77. package/dist/strand-formation-manager.js.map +1 -1
  78. package/dist/strand-formation-protocol.d.ts +5 -8
  79. package/dist/strand-formation-protocol.js +101 -16
  80. package/dist/strand-formation-protocol.js.map +1 -1
  81. package/dist/strand-instance-manager.d.ts +26 -17
  82. package/dist/strand-instance-manager.js +119 -50
  83. package/dist/strand-instance-manager.js.map +1 -1
  84. package/dist/strand-membership-reconciler.d.ts +16 -13
  85. package/dist/strand-membership-reconciler.js +28 -22
  86. package/dist/strand-membership-reconciler.js.map +1 -1
  87. package/dist/strand-membership-writer.d.ts +40 -28
  88. package/dist/strand-membership-writer.js +212 -153
  89. package/dist/strand-membership-writer.js.map +1 -1
  90. package/dist/strand-move.js +5 -2
  91. package/dist/strand-move.js.map +1 -1
  92. package/dist/strand-revocation-enforcer.d.ts +134 -60
  93. package/dist/strand-revocation-enforcer.js +144 -71
  94. package/dist/strand-revocation-enforcer.js.map +1 -1
  95. package/dist/strand-solicitation.d.ts +50 -39
  96. package/dist/strand-solicitation.js +10 -3
  97. package/dist/strand-solicitation.js.map +1 -1
  98. package/dist/strand-watcher.d.ts +80 -13
  99. package/dist/strand-watcher.js +152 -48
  100. package/dist/strand-watcher.js.map +1 -1
  101. package/dist/table-change-watch.d.ts +63 -0
  102. package/dist/table-change-watch.js +209 -0
  103. package/dist/table-change-watch.js.map +1 -0
  104. package/dist/timeout-scheduler.d.ts +4 -3
  105. package/dist/timeout-scheduler.js +4 -3
  106. package/dist/timeout-scheduler.js.map +1 -1
  107. package/dist/types.d.ts +90 -49
  108. package/dist/types.js +4 -4
  109. package/dist/types.js.map +1 -1
  110. package/package.json +8 -8
  111. package/src/cadre-invite-protocol.ts +119 -31
  112. package/src/cadre-node.ts +1289 -588
  113. package/src/control-cohort.ts +86 -9
  114. package/src/control-database.ts +848 -403
  115. package/src/control-formation-recorder.ts +359 -353
  116. package/src/control-protocol-guard.ts +16 -2
  117. package/src/control-schema-version.ts +101 -51
  118. package/src/control-schema.ts +16 -16
  119. package/src/control-write-retry.ts +91 -19
  120. package/src/delegate-admission.ts +351 -351
  121. package/src/enrolled-machine-store.ts +3 -3
  122. package/src/formation-token.ts +63 -0
  123. package/src/index.ts +30 -18
  124. package/src/joined-strand-store.ts +69 -24
  125. package/src/link-budget.ts +9 -7
  126. package/src/member-redemption.ts +20 -13
  127. package/src/membership-view.ts +144 -0
  128. package/src/owner-grant-protocol.ts +33 -18
  129. package/src/peer-addr-book.ts +4 -3
  130. package/src/peer-join-backfill.ts +961 -761
  131. package/src/pending-join-runner.ts +76 -53
  132. package/src/seed-bootstrap.ts +72 -67
  133. package/src/self-address-update.ts +19 -0
  134. package/src/strand-database.ts +352 -322
  135. package/src/strand-first-sync-gate.ts +334 -134
  136. package/src/strand-formation-deadlines.ts +227 -227
  137. package/src/strand-formation-manager.ts +731 -725
  138. package/src/strand-formation-protocol.ts +122 -24
  139. package/src/strand-instance-manager.ts +2092 -2026
  140. package/src/strand-membership-reconciler.ts +31 -25
  141. package/src/strand-membership-writer.ts +2093 -2019
  142. package/src/strand-move.ts +5 -2
  143. package/src/strand-revocation-enforcer.ts +740 -654
  144. package/src/strand-solicitation.ts +61 -34
  145. package/src/strand-watcher.ts +175 -56
  146. package/src/table-change-watch.ts +285 -0
  147. package/src/timeout-scheduler.ts +29 -28
  148. package/src/types.ts +89 -51
@@ -1 +1 @@
1
- {"version":3,"file":"strand-membership-writer.js","sourceRoot":"","sources":["../src/strand-membership-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strand-membership-writer.js","sourceRoot":"","sources":["../src/strand-membership-writer.ts"],"names":[],"mappings":"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"}
@@ -177,8 +177,8 @@ function settledStrands(report) {
177
177
  };
178
178
  }
179
179
  /**
180
- * Seat one strand, in the order the adopting node's strand watcher demands. The watcher polls
181
- * `Strand` and `JoinedStrand` every five seconds and launches, or offers, a new row at once; a
180
+ * Seat one strand, in the order the adopting node's strand watcher demands. The watcher runs
181
+ * on every change to `Strand` and `JoinedStrand` and launches, or offers, a new row at once; a
182
182
  * closed strand's founder launch resolves the party key and, finding none, mints a fresh one,
183
183
  * which would found the strand a second time under a stranger's identity. So the party key is
184
184
  * seated before the row, and the strand's peers (its saved routing table and carried addresses)
@@ -200,6 +200,9 @@ async function adoptStrand(node, database, approval, entry, report) {
200
200
  await node.ensureStrandPartyKey(strandId, entry.partyKey, approval.sign);
201
201
  }
202
202
  if (entry.kind === 'own') {
203
+ // NOTE: with the party key seated first, a closed strand's founding transaction is refused
204
+ // on `StrandPartyKey.Id` and written again without a key: a local refusal, no extra commit.
205
+ // If moves of many closed strands get slow, let publishStrand take a known party key.
203
206
  await node.publishStrand(strandId, entry.row.Type, entry.row.MemberPrivateKey ?? undefined, approval.sign);
204
207
  }
205
208
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"strand-move.js","sourceRoot":"","sources":["../src/strand-move.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strand-move.js","sourceRoot":"","sources":["../src/strand-move.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EACN,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EAGb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,MAAM,GAAG,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAgE9C,qHAAqH;AACrH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACjD,YAAqB,OAAe;QACnC,KAAK,CAAC,mCAAmC,OAAO,2FAA2F,CAAC,CAAC;QADzH,YAAO,GAAP,OAAO,CAAQ;QAEnC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACvC,CAAC;CACD;AAED,gHAAgH;AAChH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAClD,YAAqB,OAAe;QACnC,KAAK,CAAC,mCAAmC,OAAO,gDAAgD,CAAC,CAAC;QAD9E,YAAO,GAAP,OAAO,CAAQ;QAEnC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACxC,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAe;IACvD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAiB;QAC5B,CAAC,EAAE,CAAC;QACJ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,MAAM,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC5C,YAAY,EAAE,MAAM,QAAQ,CAAC,iBAAiB,EAAE;QAChD,gBAAgB,EAAE,MAAM,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC;KAC7D,CAAC;IACF,GAAG,CAAC,gEAAgE,EACnE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClG,OAAO,MAAM,CAAC;AACf,CAAC;AAED,wHAAwH;AACxH,KAAK,UAAU,aAAa,CAAC,IAAe,EAAE,QAAyB;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,wFAAwF;IACxF,6FAA6F;IAC7F,6BAA6B;IAC7B,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrF,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,YAAY,CAC1B,IAAe,EACf,QAAyB,EACzB,IAA+B,EAC/B,GAAc;IAEd,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO;QACN,IAAI;QACJ,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE;QAC3E,QAAQ,EAAE,MAAM,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC;QACnD,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;KAChD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CAAC,QAAyB,EAAE,GAAW;IAC3E,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC1D,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,SAAS;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/G,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACxC,SAAS;QACV,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ;YACR,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACtB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAe,EAAE,MAAoB;IAC5E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,6BAA6B,MAAM,CAAC,OAAO,gBAAgB,CAAC;IACxG,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CACtE,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC;AAQD,+FAA+F;AAC/F,KAAK,UAAU,kBAAkB,CAChC,IAAe,EACf,QAAyB,EACzB,MAAoB,EACpB,QAAuB;IAEvB,MAAM,MAAM,GAAqB;QAChC,WAAW,EAAE,MAAM,CAAC,OAAO;QAC3B,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;KACpB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACzF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,GAAG,CAAC,yGAAyG,EAC5G,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAC9F,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC/E,OAAO,MAAM,CAAC;AACf,CAAC;AAQD,SAAS,cAAc,CAAC,MAAwB;IAC/C,OAAO;QACN,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5B,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAClG,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,WAAW,CACzB,IAAe,EACf,QAAyB,EACzB,QAAuB,EACvB,KAAwB,EACxB,MAAwB;IAExB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9B,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,GAAG,CAAC,8BAA8B,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO;QACR,CAAC;QACD,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,2FAA2F;YAC3F,4FAA4F;YAC5F,sFAAsF;YACtF,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5G,CAAC;aAAM,CAAC;YACP,MAAM,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,GAAG,CAAC,6EAA6E,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;AACF,CAAC;AASD,KAAK,UAAU,cAAc,CAAC,QAAyB,EAAE,QAAgB;IACxE,OAAO;QACN,QAAQ,EAAE,MAAM,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC;QACtD,GAAG,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;KAClD,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,KAAwB,EAAE,IAAgB;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChE,OAAO,mEAAmE,QAAQ,4BAA4B,CAAC;IAChH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,6CAA6C,QAAQ,kDAAkD,CAAC;IAChH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,mCAAmC,QAAQ,uCAAuC,CAAC;IAC3F,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,mCAAmC,QAAQ,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,yBAAyB,CAAC;IAC/H,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,IAAe,EAAE,KAAwB;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9F,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,QAAuB,EACvB,GAA6B,EAC7B,QAA0B;IAE1B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,CAAC;QACb,CAAC;QACD,GAAG,CAAC,6EAA6E,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,oBAAoB,CAClC,IAAe,EACf,QAAyB,EACzB,IAAe,EACf,MAA4B,EAC5B,OAAuB,EACvB,MAAwB,EACxB,GAAW;IAEX,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,OAAO;IACR,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC/B,OAAO;IACR,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,IAAI,MAAM,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAChE,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;gBAC9D,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;gBAC5C,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;gBACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;aACtC,EAAE,IAAI,CAAC,CAAC;QACV,CAAC;QACD,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,GAAG,CAAC,qFAAqF,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,QAAuB,EACvB,IAAiB,EACjB,MAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,GAAG,CAAC,8EAA8E,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,QAAyB,EAAE,QAAuB,EAAE,OAA0B;IAC5G,IAAI,CAAC;QACJ,OAAO,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,CAAC;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,IAAiB,EAAE,OAA0B;IACjE,OAAO,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;WACzC,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;WACtC,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;WACxC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;AAC1C,CAAC;AAQD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAe;IACvD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG;QACf,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE;QAChC,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;QACtC,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE;KAC5C,CAAC;IACF,OAAO;QACN,SAAS,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpF,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB,EAAE,QAAwB,EAAE,KAAa;IAIhG,OAAO;QACN,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9G,cAAc,EAAE,MAAM,CAAC,YAAY;aACjC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAClF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;KACxB,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,IAAiB,EAAE,KAAa;IACnD,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,iHAAiH;AACjH,SAAS,iBAAiB,CAAC,IAAe,EAAE,OAAiC;IAC5E,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;AAC7G,CAAC;AAED,yHAAyH;AACzH,SAAS,SAAS,CAAC,WAA0B,EAAE,GAAW;IACzD,OAAO,WAAW,KAAK,IAAI,IAAI,WAAW,IAAI,GAAG,CAAC;AACnD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAe,EAAE,MAAc;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAChC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC"}
@@ -9,13 +9,21 @@
9
9
  * every `Strand.MemberPeer.PeerId` whose `MemberKey` has no live `Strand.Member`
10
10
  * row. `MemberPeer.MemberExists` runs on insert, so an orphaned binding can only
11
11
  * mean "this member existed and was removed" — it is exactly the durable,
12
- * replicated record of a removed party's machines. Everything NOT in the set is
13
- * admitted. Deliberate consequences:
12
+ * replicated record of a removed party's machines. That holds on the network
13
+ * only because every writer commits a party's `Member` row before its
14
+ * `MemberPeer` row, as separate commits (the membership reconciler does, and
15
+ * `registerMemberPeer` requires an existing member): Optimystic can save a
16
+ * multi-collection transaction's tables separately, and remaining members can
17
+ * apply them in either order. The one exception is the founder's bootstrap,
18
+ * which writes its own `Member` and `MemberPeer` in one transaction; that is
19
+ * acceptable because it commits before any other party has joined, so no other
20
+ * party's enforcer is reading yet. Everything NOT in the set is admitted.
21
+ * Deliberate consequences:
14
22
  *
15
23
  * - **Open strands are untouched.** `Member`/`MemberPeer` carry `OnlyClosed`
16
24
  * checks, so an open strand has no rows and the set is empty — and
17
25
  * `StrandInstanceManager` additionally skips arming this enforcer entirely for
18
- * `Type !== 'c'`, so an open strand does not even poll.
26
+ * `Type !== 'c'`, so an open strand neither subscribes nor reads.
19
27
  * - **A joining party mid-admission is admitted** (it has no orphaned binding).
20
28
  * An allowlist ("only peers bound to live members") was considered and
21
29
  * rejected: a joiner's first membership writes must travel through the very
@@ -44,22 +52,19 @@
44
52
  * Refusing NEW connections only half-honors "no longer be answered to or
45
53
  * communicated with": a long-lived strand connection may never re-dial, so
46
54
  * without teardown a removed party keeps whatever session it already holds.
47
- * There is no push notification to hang teardown off — a REPLICATED revocation
48
- * arrives with no change event (the strand database has no reactive
49
- * subscription; `StrandWatcher` polls for the same reason), and a LOCAL
50
- * `revokeMember`/`leaveStrand` writes through a bare `Database` handle this
51
- * runtime never sees — so teardown rides the snapshot refresh itself, with
52
- * `refresh()` exposed for immediacy
55
+ * Teardown rides the snapshot refresh itself, which runs when the membership
56
+ * tables change (see "When the deny set is refreshed"). `refresh()` is public
57
+ * for a caller that wants to await the cut
53
58
  * (`StrandInstanceManager.refreshRevocationEnforcement` →
54
- * `CadreNode.refreshRevocationEnforcement`).
59
+ * `CadreNode.refreshRevocationEnforcement`): it resolves only after the sweep.
55
60
  *
56
61
  * The sweep is driven by MEMBERSHIP in the deny set, never by an
57
62
  * entered-the-set diff: every refresh hangs up every currently-connected
58
63
  * revoked peer, so a resume, a crashed refresh, or a connection established
59
64
  * between two refreshes cannot leave a session standing (a diff would be a
60
65
  * strict subset of this, so none is kept). A peer with no open connection is
61
- * simply not swept, and a failed `hangUp` is logged, never thrown — the next
62
- * refresh retries it. `hangUp` closes DIRECT and RELAYED connections alike, and
66
+ * simply not swept, and a failed `hangUp` is logged, never thrown, and retried
67
+ * by a refresh {@link REVOCATION_REFRESH_RETRY_MS} later. `hangUp` closes DIRECT and RELAYED connections alike, and
63
68
  * on a strand node running the relay server it also drops any reservation the
64
69
  * revoked peer holds there (a reservation dies with its connection — see the
65
70
  * relay-seam doc in `membership-connection-gater.ts`).
@@ -81,6 +86,25 @@
81
86
  * Best-effort by nature: a removed party learns only if the tombstone
82
87
  * replicated to it before the cut.
83
88
  *
89
+ * ## When the deny set is refreshed
90
+ *
91
+ * Every refresh runs on one table change subscription (`table-change-watch.ts`),
92
+ * single-flight, so no two scheduled refreshes overlap:
93
+ *
94
+ * - **On a change** to `Strand.Member` or `Strand.MemberPeer`. App writes
95
+ * (`revokeMember`, `leaveStrand`) commit on the same Quereus `Database` the
96
+ * subscription is on, so a local removal is acted on within the coalescing
97
+ * window; a replicated one when this node's storage takes it in.
98
+ * - **Once at start**, when the strand's database is published.
99
+ * - **On a backstop** ({@link DEFAULT_REVOCATION_BACKSTOP_MS} after the last
100
+ * refresh settled), for a change that raised no event.
101
+ * - **After a failed refresh**, {@link REVOCATION_REFRESH_RETRY_MS} later. The
102
+ * first successful read also arms the plugin's bridge for replicated changes
103
+ * (the NOTE on `watchTables`), so until one succeeds only local commits wake it.
104
+ * - **After each successful refresh on a wide strand** — more distinct bound peer ids than
105
+ * the cluster size — {@link REVOCATION_WIDE_STRAND_REFRESH_MS} later, because
106
+ * this node may be outside a membership block's cohort and so hear no change.
107
+ *
84
108
  * ## What transfers from the control gater (`membership-connection-gater.ts`)
85
109
  *
86
110
  * Transfers: the two-layer shape (fail-closed per-stream gate as PRIMARY, a
@@ -116,14 +140,33 @@
116
140
  */
117
141
  import type { ConnectionGater, PeerId } from '@libp2p/interface';
118
142
  import type { Database } from '@quereus/quereus';
143
+ import { type TableChangeWatch, type TableChangeWatchOptions } from './table-change-watch.js';
144
+ import type { TimeoutScheduler } from './timeout-scheduler.js';
145
+ /**
146
+ * Default longest wait between two deny-set refreshes when no membership change
147
+ * is heard. Overridable via {@link StrandRevocationEnforcementConfig.backstopMs}.
148
+ *
149
+ * NOTE: the backstop covers two paths the change subscription does not: a
150
+ * machine that was offline when the removal was committed (it normally takes
151
+ * the blocks in by join backfill or read repair on reconnect, which raise the
152
+ * change too), and any change that reaches storage without an event. The case
153
+ * of a node outside a membership block's cohort is covered by
154
+ * {@link REVOCATION_WIDE_STRAND_REFRESH_MS}, not by this.
155
+ */
156
+ export declare const DEFAULT_REVOCATION_BACKSTOP_MS: number;
119
157
  /**
120
- * Default cadence of the deny-set refresh. Bounded staleness is the accepted
121
- * failure direction (see the module doc's stale-view paragraph); 30 s keeps a
122
- * revoked peer's post-replication admit window in the same order as the
123
- * replication delay itself. Overridable via
124
- * {@link StrandRevocationEnforcementConfig.pollIntervalMs}.
158
+ * How soon a failed refresh is retried. Also how soon a replicated removal is
159
+ * heard after a first read that failed, since that read is what arms the
160
+ * plugin's replicated-change bridge for the two tables.
125
161
  */
126
- export declare const DEFAULT_REVOCATION_POLL_INTERVAL_MS = 30000;
162
+ export declare const REVOCATION_REFRESH_RETRY_MS = 30000;
163
+ /**
164
+ * How soon a strand with more distinct bound peer ids than its cluster size is
165
+ * refreshed again after a successful refresh. On such a strand this node may be
166
+ * outside a membership block's cohort, so it takes in no storage event for a
167
+ * removal (`docs/architecture.md` → "Table change subscriptions").
168
+ */
169
+ export declare const REVOCATION_WIDE_STRAND_REFRESH_MS = 30000;
127
170
  /**
128
171
  * Embedder tuning for the strand revoked-peer gate, threaded from
129
172
  * `CadreNodeConfig.strandRevocationEnforcement` to
@@ -135,8 +178,17 @@ export interface StrandRevocationEnforcementConfig {
135
178
  * the pre-existing behaviour (a removed party's peers keep being served).
136
179
  */
137
180
  enabled?: boolean;
138
- /** Deny-set refresh cadence, ms. Default {@link DEFAULT_REVOCATION_POLL_INTERVAL_MS}. */
139
- pollIntervalMs?: number;
181
+ /** Longest wait between two refreshes with no change heard, ms. Default {@link DEFAULT_REVOCATION_BACKSTOP_MS}. */
182
+ backstopMs?: number;
183
+ /**
184
+ * Default true: the enforcer schedules its own refreshes — on a change to
185
+ * `Strand.Member` or `Strand.MemberPeer`, after a failed read or hang-up, and
186
+ * on a wide strand's follow-up. False schedules none of those, so refreshes
187
+ * run only at start, on the backstop, and on `refreshRevocationEnforcement`.
188
+ * For test scenarios that need a machine's cuts to be the ones the test drove;
189
+ * a production node leaves it on.
190
+ */
191
+ autoRefresh?: boolean;
140
192
  }
141
193
  /** One `Strand.MemberPeer` row, as the deny-set derivation consumes it. */
142
194
  export interface StrandMemberPeerBinding {
@@ -150,16 +202,6 @@ export interface StrandRevocationRows {
150
202
  /** Every `Strand.MemberPeer` row (live-membered and orphaned alike). */
151
203
  bindings: readonly StrandMemberPeerBinding[];
152
204
  }
153
- /**
154
- * Timer seam so the refresh cadence is testable without fake timers — the
155
- * injectable-clock idiom of `UnauthorizedReservationBudget`'s `now` argument,
156
- * shaped for an interval-driven component. The default schedules a real
157
- * interval and unrefs it so an armed enforcer never holds a process open.
158
- */
159
- export interface RevocationRefreshScheduler {
160
- setInterval(fn: () => void, ms: number): unknown;
161
- clearInterval(handle: unknown): void;
162
- }
163
205
  /**
164
206
  * The minimum of a libp2p node the teardown sweep needs: who WE are, what is
165
207
  * open, and how to close it. Deliberately not the node itself, so the sweep
@@ -206,8 +248,19 @@ export interface StrandRevocationEnforcerDeps {
206
248
  * logged and swallowed — an embedder's handler must not derail the sweep.
207
249
  */
208
250
  onSelfRevoked?: () => void;
209
- /** Timer seam; omit for real (unref'd) intervals. */
210
- scheduler?: RevocationRefreshScheduler;
251
+ /**
252
+ * Subscribe `onChange` to changes in `Strand.Member` and `Strand.MemberPeer`
253
+ * (`StrandDatabase.watchTables`). Absent, or throwing: refreshes come from
254
+ * start, the backstop, retries and wide-strand follow-ups only (unit tests).
255
+ */
256
+ watchChanges?(onChange: () => Promise<void>, options: TableChangeWatchOptions): TableChangeWatch;
257
+ /**
258
+ * The strand's cluster size. A snapshot with more distinct bound peer ids than
259
+ * this schedules {@link REVOCATION_WIDE_STRAND_REFRESH_MS}; absent, never.
260
+ */
261
+ cohortBreadth?: number;
262
+ /** Timer seam for the watch; omit for real (unref'd) timeouts. */
263
+ scheduler?: TimeoutScheduler;
211
264
  }
212
265
  /**
213
266
  * Read the deny-set inputs from a strand database: full-scan
@@ -221,17 +274,17 @@ export interface StrandRevocationEnforcerDeps {
221
274
  * separate reads with nothing holding them to one snapshot, so a write that
222
275
  * lands between them is seen by the second scan and not the first. A member
223
276
  * joins as `Member` row then `MemberPeer` row (`MemberExists` forces that
224
- * order), so reading `Member` first would let a join that commits mid-read
225
- * produce a binding whose member key is absent from the key set — a brand-new
226
- * member classified as REVOKED, the one fail-CLOSED outcome this module exists
227
- * to avoid. Reading bindings first inverts the skew: the new binding is simply
228
- * not in the older bindings snapshot, so the joiner is unclassified and
229
- * admitted, and a revocation that lands mid-read is still seen (the key is
230
- * missing from the NEWER key scan). Every skew window then resolves fail-open,
231
- * matching the module doc.
277
+ * order; the module doc says why it holds on the network), so reading `Member`
278
+ * first would let a join that commits mid-read produce a binding whose member
279
+ * key is absent from the key set — a brand-new member classified as REVOKED,
280
+ * the one fail-CLOSED outcome this module exists to avoid. Reading bindings
281
+ * first inverts the skew: the new binding is simply not in the older bindings
282
+ * snapshot, so the joiner is unclassified and admitted, and a revocation that
283
+ * lands mid-read is still seen (the key is missing from the NEWER key scan).
284
+ * Every skew window then resolves fail-open, matching the module doc.
232
285
  *
233
- * NOTE: two whole-table scans per refresh (default every 30 s per closed
234
- * strand). Fine at strand scale (a handful of members and bindings); if
286
+ * NOTE: two whole-table scans per refresh (on each membership change and each
287
+ * backstop, per closed strand). Fine at strand scale (a handful of members and bindings); if
235
288
  * membership churn ever makes these tables large, the fix is a reliable
236
289
  * filtered read — which needs the networked point-lookup gap closed
237
290
  * (`debt-composite-pk-point-lookup-unreliable-untracked`) — not a bigger scan.
@@ -240,25 +293,24 @@ export declare function readStrandRevocationRows(db: Database): Promise<StrandRe
240
293
  /**
241
294
  * The per-strand revoked-peer deny set and the synchronous predicates over it.
242
295
  *
243
- * Lifecycle mirrors `PeerJoinBackfill`: created in
244
- * `StrandInstanceManager.buildStrandRuntime` (closed strands only), started
245
- * after the strand database initializes, stopped and dropped in
246
- * `releaseRuntime` — so quiesce → resume rebuilds it with a fresh snapshot.
247
- * The snapshot starts EMPTY (admit everything) and repopulates on the first
248
- * successful read; a revoked peer therefore gets a short admit window per
249
- * resume at the connection level. Accepted: fail-open posture, and resume is
250
- * never blocked on a refresh.
296
+ * Lifecycle: created in `StrandInstanceManager.buildStrandRuntime` (closed
297
+ * strands only), started when `publishDatabase` hands the strand's database to
298
+ * the app, stopped and dropped in `releaseRuntime` — so quiesce → resume
299
+ * rebuilds it with a fresh snapshot. The snapshot starts EMPTY (admit
300
+ * everything) and repopulates on the first successful read; a revoked peer
301
+ * therefore gets a short admit window per resume at the connection level.
302
+ * Accepted: fail-open posture, and resume is never blocked on a refresh.
251
303
  */
252
304
  export declare class StrandRevocationEnforcer {
253
305
  private readonly deps;
254
306
  /** The materialized deny set — peer ids with an orphaned binding and no live one. */
255
307
  private revokedPeerIds;
256
- private readonly scheduler;
257
- private readonly pollIntervalMs;
308
+ private readonly backstopMs;
309
+ private readonly autoRefresh;
258
310
  /** Tail of the refresh chain — what serializes refreshes (no two reads in flight). */
259
311
  private refreshTail;
260
- private refreshing;
261
- private intervalHandle;
312
+ /** Every scheduled refresh runs on it; present between {@link start} and {@link stop}. */
313
+ private watch;
262
314
  private started;
263
315
  private stopped;
264
316
  /** Latch for the one-shot self-revocation signal — see {@link StrandRevocationEnforcerDeps.onSelfRevoked}. */
@@ -266,9 +318,14 @@ export declare class StrandRevocationEnforcer {
266
318
  constructor(deps: StrandRevocationEnforcerDeps, config?: StrandRevocationEnforcementConfig);
267
319
  /** Number of peers currently denied — test/diagnostic surface. */
268
320
  get revokedCount(): number;
269
- /** Kick an immediate refresh (not awaited — bring-up never blocks on it) and arm the poll. */
321
+ /**
322
+ * Subscribe to membership changes and run one refresh at once (not awaited —
323
+ * bring-up never blocks on it); the module doc's "When the deny set is
324
+ * refreshed" has the full schedule. Call once the strand's database is
325
+ * published. A second call, or one after {@link stop}, is a no-op.
326
+ */
270
327
  start(): void;
271
- /** Disarm the poll; a read already in flight completes but its result is discarded. */
328
+ /** Stop scheduling refreshes; a read already in flight completes but its result is discarded. */
272
329
  stop(): void;
273
330
  /**
274
331
  * Refresh the deny set now. Never rejects. Serialized: concurrent calls chain,
@@ -291,22 +348,39 @@ export declare class StrandRevocationEnforcer {
291
348
  * over a connection admitted before the revocation replicated here.
292
349
  */
293
350
  authorizeStream(remotePeerId: string, _protocol: string): boolean;
351
+ /**
352
+ * The watch every scheduled refresh runs on: the deps' change subscription, or
353
+ * a timer-only one when changes are not watched or the subscription throws.
354
+ *
355
+ * NOTE: a refresh can wake itself once. Its read may start a read-repair sync
356
+ * (a held block read more than Optimystic's `readRepairWindowMs`, 10 s, after
357
+ * its last check), and that sync's landing raises a change. The follow-up
358
+ * refresh runs within the coalescing window plus one read — well inside the
359
+ * read-repair window — so it starts no second sync and the chain stops there.
360
+ * If idle sync counts on a strand do not fall with this subscription, suspect
361
+ * this loop first.
362
+ */
363
+ private subscribe;
294
364
  /**
295
365
  * One serialized snapshot rebuild; contains every failure (contract: never rejects).
296
366
  *
297
367
  * NOTE: nothing here carries a deadline — a `readRows` or a `hangUp` that never
298
- * settles wedges the refresh chain, which freezes the deny set (the poll skips
299
- * while `refreshing`, and every later `refresh()` chains behind the stuck one).
368
+ * settles wedges the refresh chain, which freezes the deny set (the watch runs
369
+ * one refresh at a time, and every later `refresh()` chains behind the stuck one).
300
370
  * Both are bounded in practice (Quereus reads settle; libp2p's connection close
301
371
  * has its own timeout). If a strand is ever seen with a stale deny set and no
302
372
  * refresh log line, wrap both awaits in a timeout rather than hunting further.
303
373
  */
304
374
  private doRefresh;
375
+ /** Arm one more refresh `delayMs` from now, unless {@link StrandRevocationEnforcementConfig.autoRefresh} is off or the enforcer is not running. */
376
+ private scheduleFollowUp;
377
+ /** Schedule {@link REVOCATION_WIDE_STRAND_REFRESH_MS} when `rows` bind more distinct peers than the cluster holds. */
378
+ private followUpWideStrand;
305
379
  /**
306
380
  * Close what is already OPEN to the peers of `revoked` — the teardown half of
307
381
  * enforcement (module doc: "Removal cuts LIVE sessions too"). Never rejects:
308
- * every failure is contained, so the refresh loop survives and simply retries
309
- * on the next tick.
382
+ * every failure is contained, so the refresh chain survives, and a failed
383
+ * `hangUp` schedules a retry.
310
384
  *
311
385
  * `revoked` is passed IN rather than read off the field, so the sweep judges
312
386
  * the exact snapshot its own refresh produced; likewise the connection list is