@optimystic/db-p2p 0.13.5 → 0.14.1

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 (342) hide show
  1. package/README.md +6 -6
  2. package/dist/src/cluster/block-transfer-service.d.ts +67 -8
  3. package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
  4. package/dist/src/cluster/block-transfer-service.js +101 -62
  5. package/dist/src/cluster/block-transfer-service.js.map +1 -1
  6. package/dist/src/cluster/client.d.ts +18 -1
  7. package/dist/src/cluster/client.d.ts.map +1 -1
  8. package/dist/src/cluster/client.js +55 -39
  9. package/dist/src/cluster/client.js.map +1 -1
  10. package/dist/src/cluster/cluster-error.d.ts +38 -0
  11. package/dist/src/cluster/cluster-error.d.ts.map +1 -0
  12. package/dist/src/cluster/cluster-error.js +51 -0
  13. package/dist/src/cluster/cluster-error.js.map +1 -0
  14. package/dist/src/cluster/cluster-repo.d.ts +135 -3
  15. package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
  16. package/dist/src/cluster/cluster-repo.js +333 -58
  17. package/dist/src/cluster/cluster-repo.js.map +1 -1
  18. package/dist/src/cluster/commit-cert.d.ts +63 -0
  19. package/dist/src/cluster/commit-cert.d.ts.map +1 -0
  20. package/dist/src/cluster/commit-cert.js +108 -0
  21. package/dist/src/cluster/commit-cert.js.map +1 -0
  22. package/dist/src/cluster/service.d.ts +46 -11
  23. package/dist/src/cluster/service.d.ts.map +1 -1
  24. package/dist/src/cluster/service.js +97 -33
  25. package/dist/src/cluster/service.js.map +1 -1
  26. package/dist/src/cluster/spread-on-churn.d.ts +13 -0
  27. package/dist/src/cluster/spread-on-churn.d.ts.map +1 -1
  28. package/dist/src/cluster/spread-on-churn.js +34 -4
  29. package/dist/src/cluster/spread-on-churn.js.map +1 -1
  30. package/dist/src/cohort-topic/bootstrap-evidence-builder.d.ts +59 -0
  31. package/dist/src/cohort-topic/bootstrap-evidence-builder.d.ts.map +1 -0
  32. package/dist/src/cohort-topic/bootstrap-evidence-builder.js +79 -0
  33. package/dist/src/cohort-topic/bootstrap-evidence-builder.js.map +1 -0
  34. package/dist/src/cohort-topic/bootstrap-evidence-verifiers.d.ts +81 -0
  35. package/dist/src/cohort-topic/bootstrap-evidence-verifiers.d.ts.map +1 -0
  36. package/dist/src/cohort-topic/bootstrap-evidence-verifiers.js +93 -0
  37. package/dist/src/cohort-topic/bootstrap-evidence-verifiers.js.map +1 -0
  38. package/dist/src/cohort-topic/bootstrap-parent-reference.d.ts +108 -0
  39. package/dist/src/cohort-topic/bootstrap-parent-reference.d.ts.map +1 -0
  40. package/dist/src/cohort-topic/bootstrap-parent-reference.js +108 -0
  41. package/dist/src/cohort-topic/bootstrap-parent-reference.js.map +1 -0
  42. package/dist/src/cohort-topic/change-bridge.d.ts +65 -0
  43. package/dist/src/cohort-topic/change-bridge.d.ts.map +1 -0
  44. package/dist/src/cohort-topic/change-bridge.js +76 -0
  45. package/dist/src/cohort-topic/change-bridge.js.map +1 -0
  46. package/dist/src/cohort-topic/cohort-gossip-driver.d.ts +74 -0
  47. package/dist/src/cohort-topic/cohort-gossip-driver.d.ts.map +1 -0
  48. package/dist/src/cohort-topic/cohort-gossip-driver.js +87 -0
  49. package/dist/src/cohort-topic/cohort-gossip-driver.js.map +1 -0
  50. package/dist/src/cohort-topic/cohort-gossip-transport.d.ts +42 -0
  51. package/dist/src/cohort-topic/cohort-gossip-transport.d.ts.map +1 -0
  52. package/dist/src/cohort-topic/cohort-gossip-transport.js +57 -0
  53. package/dist/src/cohort-topic/cohort-gossip-transport.js.map +1 -0
  54. package/dist/src/cohort-topic/fret-trust-anchor.d.ts +100 -0
  55. package/dist/src/cohort-topic/fret-trust-anchor.d.ts.map +1 -0
  56. package/dist/src/cohort-topic/fret-trust-anchor.js +115 -0
  57. package/dist/src/cohort-topic/fret-trust-anchor.js.map +1 -0
  58. package/dist/src/cohort-topic/host.d.ts +573 -0
  59. package/dist/src/cohort-topic/host.d.ts.map +1 -0
  60. package/dist/src/cohort-topic/host.js +1460 -0
  61. package/dist/src/cohort-topic/host.js.map +1 -0
  62. package/dist/src/cohort-topic/index.d.ts +14 -0
  63. package/dist/src/cohort-topic/index.d.ts.map +1 -0
  64. package/dist/src/cohort-topic/index.js +14 -0
  65. package/dist/src/cohort-topic/index.js.map +1 -0
  66. package/dist/src/cohort-topic/membership-publish-sink.d.ts +14 -0
  67. package/dist/src/cohort-topic/membership-publish-sink.d.ts.map +1 -0
  68. package/dist/src/cohort-topic/membership-publish-sink.js +17 -0
  69. package/dist/src/cohort-topic/membership-publish-sink.js.map +1 -0
  70. package/dist/src/cohort-topic/membership-source.d.ts +36 -0
  71. package/dist/src/cohort-topic/membership-source.d.ts.map +1 -0
  72. package/dist/src/cohort-topic/membership-source.js +58 -0
  73. package/dist/src/cohort-topic/membership-source.js.map +1 -0
  74. package/dist/src/cohort-topic/peer-codec.d.ts +18 -0
  75. package/dist/src/cohort-topic/peer-codec.d.ts.map +1 -0
  76. package/dist/src/cohort-topic/peer-codec.js +26 -0
  77. package/dist/src/cohort-topic/peer-codec.js.map +1 -0
  78. package/dist/src/cohort-topic/peer-sig.d.ts +52 -0
  79. package/dist/src/cohort-topic/peer-sig.d.ts.map +1 -0
  80. package/dist/src/cohort-topic/peer-sig.js +83 -0
  81. package/dist/src/cohort-topic/peer-sig.js.map +1 -0
  82. package/dist/src/cohort-topic/protocols.d.ts +49 -0
  83. package/dist/src/cohort-topic/protocols.d.ts.map +1 -0
  84. package/dist/src/cohort-topic/protocols.js +58 -0
  85. package/dist/src/cohort-topic/protocols.js.map +1 -0
  86. package/dist/src/cohort-topic/reactivity-membership-gate.d.ts +49 -0
  87. package/dist/src/cohort-topic/reactivity-membership-gate.d.ts.map +1 -0
  88. package/dist/src/cohort-topic/reactivity-membership-gate.js +42 -0
  89. package/dist/src/cohort-topic/reactivity-membership-gate.js.map +1 -0
  90. package/dist/src/cohort-topic/size-estimator.d.ts +16 -0
  91. package/dist/src/cohort-topic/size-estimator.d.ts.map +1 -0
  92. package/dist/src/cohort-topic/size-estimator.js +16 -0
  93. package/dist/src/cohort-topic/size-estimator.js.map +1 -0
  94. package/dist/src/cohort-topic/stream-util.d.ts +19 -0
  95. package/dist/src/cohort-topic/stream-util.d.ts.map +1 -0
  96. package/dist/src/cohort-topic/stream-util.js +76 -0
  97. package/dist/src/cohort-topic/stream-util.js.map +1 -0
  98. package/dist/src/cohort-topic/threshold-crypto.d.ts +94 -0
  99. package/dist/src/cohort-topic/threshold-crypto.d.ts.map +1 -0
  100. package/dist/src/cohort-topic/threshold-crypto.js +178 -0
  101. package/dist/src/cohort-topic/threshold-crypto.js.map +1 -0
  102. package/dist/src/cohort-topic/topic-router.d.ts +41 -0
  103. package/dist/src/cohort-topic/topic-router.d.ts.map +1 -0
  104. package/dist/src/cohort-topic/topic-router.js +63 -0
  105. package/dist/src/cohort-topic/topic-router.js.map +1 -0
  106. package/dist/src/dispute/cascade.d.ts +179 -0
  107. package/dist/src/dispute/cascade.d.ts.map +1 -0
  108. package/dist/src/dispute/cascade.js +315 -0
  109. package/dist/src/dispute/cascade.js.map +1 -0
  110. package/dist/src/dispute/client.d.ts +2 -1
  111. package/dist/src/dispute/client.d.ts.map +1 -1
  112. package/dist/src/dispute/client.js +12 -3
  113. package/dist/src/dispute/client.js.map +1 -1
  114. package/dist/src/dispute/dispute-service.d.ts +41 -1
  115. package/dist/src/dispute/dispute-service.d.ts.map +1 -1
  116. package/dist/src/dispute/dispute-service.js +147 -21
  117. package/dist/src/dispute/dispute-service.js.map +1 -1
  118. package/dist/src/dispute/index.d.ts +2 -0
  119. package/dist/src/dispute/index.d.ts.map +1 -1
  120. package/dist/src/dispute/index.js +2 -0
  121. package/dist/src/dispute/index.js.map +1 -1
  122. package/dist/src/dispute/invalidation.d.ts +266 -0
  123. package/dist/src/dispute/invalidation.d.ts.map +1 -0
  124. package/dist/src/dispute/invalidation.js +405 -0
  125. package/dist/src/dispute/invalidation.js.map +1 -0
  126. package/dist/src/dispute/types.d.ts +14 -0
  127. package/dist/src/dispute/types.d.ts.map +1 -1
  128. package/dist/src/dispute/types.js.map +1 -1
  129. package/dist/src/index.d.ts +4 -0
  130. package/dist/src/index.d.ts.map +1 -1
  131. package/dist/src/index.js +4 -0
  132. package/dist/src/index.js.map +1 -1
  133. package/dist/src/libp2p-key-network.d.ts +7 -0
  134. package/dist/src/libp2p-key-network.d.ts.map +1 -1
  135. package/dist/src/libp2p-key-network.js +49 -5
  136. package/dist/src/libp2p-key-network.js.map +1 -1
  137. package/dist/src/libp2p-node-base.d.ts +45 -3
  138. package/dist/src/libp2p-node-base.d.ts.map +1 -1
  139. package/dist/src/libp2p-node-base.js +522 -5
  140. package/dist/src/libp2p-node-base.js.map +1 -1
  141. package/dist/src/matchmaking/aggregate-counts.d.ts +67 -0
  142. package/dist/src/matchmaking/aggregate-counts.d.ts.map +1 -0
  143. package/dist/src/matchmaking/aggregate-counts.js +60 -0
  144. package/dist/src/matchmaking/aggregate-counts.js.map +1 -0
  145. package/dist/src/matchmaking/index.d.ts +20 -0
  146. package/dist/src/matchmaking/index.d.ts.map +1 -0
  147. package/dist/src/matchmaking/index.js +20 -0
  148. package/dist/src/matchmaking/index.js.map +1 -0
  149. package/dist/src/matchmaking/module.d.ts +181 -0
  150. package/dist/src/matchmaking/module.d.ts.map +1 -0
  151. package/dist/src/matchmaking/module.js +221 -0
  152. package/dist/src/matchmaking/module.js.map +1 -0
  153. package/dist/src/matchmaking/protocols.d.ts +37 -0
  154. package/dist/src/matchmaking/protocols.d.ts.map +1 -0
  155. package/dist/src/matchmaking/protocols.js +42 -0
  156. package/dist/src/matchmaking/protocols.js.map +1 -0
  157. package/dist/src/matchmaking/provider-manager.d.ts +52 -0
  158. package/dist/src/matchmaking/provider-manager.d.ts.map +1 -0
  159. package/dist/src/matchmaking/provider-manager.js +74 -0
  160. package/dist/src/matchmaking/provider-manager.js.map +1 -0
  161. package/dist/src/matchmaking/query-handler.d.ts +34 -0
  162. package/dist/src/matchmaking/query-handler.d.ts.map +1 -0
  163. package/dist/src/matchmaking/query-handler.js +62 -0
  164. package/dist/src/matchmaking/query-handler.js.map +1 -0
  165. package/dist/src/matchmaking/query-transport.d.ts +180 -0
  166. package/dist/src/matchmaking/query-transport.d.ts.map +1 -0
  167. package/dist/src/matchmaking/query-transport.js +315 -0
  168. package/dist/src/matchmaking/query-transport.js.map +1 -0
  169. package/dist/src/matchmaking/seeker-manager.d.ts +39 -0
  170. package/dist/src/matchmaking/seeker-manager.d.ts.map +1 -0
  171. package/dist/src/matchmaking/seeker-manager.js +49 -0
  172. package/dist/src/matchmaking/seeker-manager.js.map +1 -0
  173. package/dist/src/matchmaking/seeker-walk-client.d.ts +127 -0
  174. package/dist/src/matchmaking/seeker-walk-client.d.ts.map +1 -0
  175. package/dist/src/matchmaking/seeker-walk-client.js +189 -0
  176. package/dist/src/matchmaking/seeker-walk-client.js.map +1 -0
  177. package/dist/src/matchmaking/traffic-validation.d.ts +128 -0
  178. package/dist/src/matchmaking/traffic-validation.d.ts.map +1 -0
  179. package/dist/src/matchmaking/traffic-validation.js +105 -0
  180. package/dist/src/matchmaking/traffic-validation.js.map +1 -0
  181. package/dist/src/network/network-manager-service.d.ts +4 -2
  182. package/dist/src/network/network-manager-service.d.ts.map +1 -1
  183. package/dist/src/network/network-manager-service.js +9 -3
  184. package/dist/src/network/network-manager-service.js.map +1 -1
  185. package/dist/src/protocol-client.d.ts +13 -0
  186. package/dist/src/protocol-client.d.ts.map +1 -1
  187. package/dist/src/protocol-client.js +74 -2
  188. package/dist/src/protocol-client.js.map +1 -1
  189. package/dist/src/reactivity/forwarder-host.d.ts +198 -0
  190. package/dist/src/reactivity/forwarder-host.d.ts.map +1 -0
  191. package/dist/src/reactivity/forwarder-host.js +355 -0
  192. package/dist/src/reactivity/forwarder-host.js.map +1 -0
  193. package/dist/src/reactivity/index.d.ts +19 -0
  194. package/dist/src/reactivity/index.d.ts.map +1 -0
  195. package/dist/src/reactivity/index.js +19 -0
  196. package/dist/src/reactivity/index.js.map +1 -0
  197. package/dist/src/reactivity/notify-transport.d.ts +70 -0
  198. package/dist/src/reactivity/notify-transport.d.ts.map +1 -0
  199. package/dist/src/reactivity/notify-transport.js +111 -0
  200. package/dist/src/reactivity/notify-transport.js.map +1 -0
  201. package/dist/src/reactivity/origination-manager.d.ts +110 -0
  202. package/dist/src/reactivity/origination-manager.d.ts.map +1 -0
  203. package/dist/src/reactivity/origination-manager.js +129 -0
  204. package/dist/src/reactivity/origination-manager.js.map +1 -0
  205. package/dist/src/reactivity/protocols.d.ts +43 -0
  206. package/dist/src/reactivity/protocols.d.ts.map +1 -0
  207. package/dist/src/reactivity/protocols.js +50 -0
  208. package/dist/src/reactivity/protocols.js.map +1 -0
  209. package/dist/src/reactivity/push-state-gossip.d.ts +132 -0
  210. package/dist/src/reactivity/push-state-gossip.d.ts.map +1 -0
  211. package/dist/src/reactivity/push-state-gossip.js +231 -0
  212. package/dist/src/reactivity/push-state-gossip.js.map +1 -0
  213. package/dist/src/reactivity/recover-transport.d.ts +167 -0
  214. package/dist/src/reactivity/recover-transport.d.ts.map +1 -0
  215. package/dist/src/reactivity/recover-transport.js +308 -0
  216. package/dist/src/reactivity/recover-transport.js.map +1 -0
  217. package/dist/src/reactivity/rotation-rereg-scheduler.d.ts +142 -0
  218. package/dist/src/reactivity/rotation-rereg-scheduler.d.ts.map +1 -0
  219. package/dist/src/reactivity/rotation-rereg-scheduler.js +223 -0
  220. package/dist/src/reactivity/rotation-rereg-scheduler.js.map +1 -0
  221. package/dist/src/reactivity/subscriber-registry.d.ts +47 -0
  222. package/dist/src/reactivity/subscriber-registry.d.ts.map +1 -0
  223. package/dist/src/reactivity/subscriber-registry.js +87 -0
  224. package/dist/src/reactivity/subscriber-registry.js.map +1 -0
  225. package/dist/src/reactivity/subscription-manager.d.ts +221 -0
  226. package/dist/src/reactivity/subscription-manager.d.ts.map +1 -0
  227. package/dist/src/reactivity/subscription-manager.js +302 -0
  228. package/dist/src/reactivity/subscription-manager.js.map +1 -0
  229. package/dist/src/reactivity/topic-bytes.d.ts +32 -0
  230. package/dist/src/reactivity/topic-bytes.d.ts.map +1 -0
  231. package/dist/src/reactivity/topic-bytes.js +34 -0
  232. package/dist/src/reactivity/topic-bytes.js.map +1 -0
  233. package/dist/src/repo/client.d.ts.map +1 -1
  234. package/dist/src/repo/client.js +51 -23
  235. package/dist/src/repo/client.js.map +1 -1
  236. package/dist/src/repo/service.d.ts +46 -1
  237. package/dist/src/repo/service.d.ts.map +1 -1
  238. package/dist/src/repo/service.js +79 -45
  239. package/dist/src/repo/service.js.map +1 -1
  240. package/dist/src/rpc-deadline.d.ts +37 -0
  241. package/dist/src/rpc-deadline.d.ts.map +1 -0
  242. package/dist/src/rpc-deadline.js +31 -0
  243. package/dist/src/rpc-deadline.js.map +1 -0
  244. package/dist/src/storage/block-storage.d.ts +2 -0
  245. package/dist/src/storage/block-storage.d.ts.map +1 -1
  246. package/dist/src/storage/block-storage.js +95 -2
  247. package/dist/src/storage/block-storage.js.map +1 -1
  248. package/dist/src/storage/i-block-storage.d.ts +25 -0
  249. package/dist/src/storage/i-block-storage.d.ts.map +1 -1
  250. package/dist/src/storage/storage-repo.d.ts +53 -2
  251. package/dist/src/storage/storage-repo.d.ts.map +1 -1
  252. package/dist/src/storage/storage-repo.js +193 -9
  253. package/dist/src/storage/storage-repo.js.map +1 -1
  254. package/dist/src/sync/client.d.ts +4 -1
  255. package/dist/src/sync/client.d.ts.map +1 -1
  256. package/dist/src/sync/client.js +5 -2
  257. package/dist/src/sync/client.js.map +1 -1
  258. package/dist/src/testing/cohort-topic-mesh-harness.d.ts +219 -0
  259. package/dist/src/testing/cohort-topic-mesh-harness.d.ts.map +1 -0
  260. package/dist/src/testing/cohort-topic-mesh-harness.js +467 -0
  261. package/dist/src/testing/cohort-topic-mesh-harness.js.map +1 -0
  262. package/dist/src/testing/matchmaking-mesh-harness.d.ts +187 -0
  263. package/dist/src/testing/matchmaking-mesh-harness.d.ts.map +1 -0
  264. package/dist/src/testing/matchmaking-mesh-harness.js +358 -0
  265. package/dist/src/testing/matchmaking-mesh-harness.js.map +1 -0
  266. package/dist/src/testing/mesh-harness.d.ts.map +1 -1
  267. package/dist/src/testing/mesh-harness.js +23 -1
  268. package/dist/src/testing/mesh-harness.js.map +1 -1
  269. package/dist/src/testing/reactivity-mesh-harness.d.ts +298 -0
  270. package/dist/src/testing/reactivity-mesh-harness.d.ts.map +1 -0
  271. package/dist/src/testing/reactivity-mesh-harness.js +663 -0
  272. package/dist/src/testing/reactivity-mesh-harness.js.map +1 -0
  273. package/package.json +7 -4
  274. package/src/cluster/block-transfer-service.ts +133 -68
  275. package/src/cluster/client.ts +64 -45
  276. package/src/cluster/cluster-error.ts +64 -0
  277. package/src/cluster/cluster-repo.ts +405 -55
  278. package/src/cluster/commit-cert.ts +139 -0
  279. package/src/cluster/service.ts +116 -44
  280. package/src/cluster/spread-on-churn.ts +328 -285
  281. package/src/cohort-topic/bootstrap-evidence-builder.ts +122 -0
  282. package/src/cohort-topic/bootstrap-evidence-verifiers.ts +132 -0
  283. package/src/cohort-topic/bootstrap-parent-reference.ts +159 -0
  284. package/src/cohort-topic/change-bridge.ts +109 -0
  285. package/src/cohort-topic/cohort-gossip-driver.ts +144 -0
  286. package/src/cohort-topic/cohort-gossip-transport.ts +74 -0
  287. package/src/cohort-topic/fret-trust-anchor.ts +153 -0
  288. package/src/cohort-topic/host.ts +2175 -0
  289. package/src/cohort-topic/index.ts +13 -0
  290. package/src/cohort-topic/membership-publish-sink.ts +20 -0
  291. package/src/cohort-topic/membership-source.ts +68 -0
  292. package/src/cohort-topic/peer-codec.ts +31 -0
  293. package/src/cohort-topic/peer-sig.ts +86 -0
  294. package/src/cohort-topic/protocols.ts +71 -0
  295. package/src/cohort-topic/reactivity-membership-gate.ts +77 -0
  296. package/src/cohort-topic/size-estimator.ts +16 -0
  297. package/src/cohort-topic/stream-util.ts +87 -0
  298. package/src/cohort-topic/threshold-crypto.ts +239 -0
  299. package/src/cohort-topic/topic-router.ts +77 -0
  300. package/src/dispute/cascade.ts +517 -0
  301. package/src/dispute/client.ts +12 -2
  302. package/src/dispute/dispute-service.ts +171 -24
  303. package/src/dispute/index.ts +42 -0
  304. package/src/dispute/invalidation.ts +587 -0
  305. package/src/dispute/types.ts +14 -0
  306. package/src/index.ts +4 -0
  307. package/src/libp2p-key-network.ts +49 -6
  308. package/src/libp2p-node-base.ts +620 -12
  309. package/src/matchmaking/aggregate-counts.ts +104 -0
  310. package/src/matchmaking/index.ts +20 -0
  311. package/src/matchmaking/module.ts +363 -0
  312. package/src/matchmaking/protocols.ts +51 -0
  313. package/src/matchmaking/provider-manager.ts +95 -0
  314. package/src/matchmaking/query-handler.ts +88 -0
  315. package/src/matchmaking/query-transport.ts +483 -0
  316. package/src/matchmaking/seeker-manager.ts +64 -0
  317. package/src/matchmaking/seeker-walk-client.ts +293 -0
  318. package/src/matchmaking/traffic-validation.ts +195 -0
  319. package/src/network/network-manager-service.ts +9 -2
  320. package/src/protocol-client.ts +64 -3
  321. package/src/reactivity/forwarder-host.ts +438 -0
  322. package/src/reactivity/index.ts +19 -0
  323. package/src/reactivity/notify-transport.ts +144 -0
  324. package/src/reactivity/origination-manager.ts +192 -0
  325. package/src/reactivity/protocols.ts +61 -0
  326. package/src/reactivity/push-state-gossip.ts +291 -0
  327. package/src/reactivity/recover-transport.ts +408 -0
  328. package/src/reactivity/rotation-rereg-scheduler.ts +256 -0
  329. package/src/reactivity/subscriber-registry.ts +96 -0
  330. package/src/reactivity/subscription-manager.ts +450 -0
  331. package/src/reactivity/topic-bytes.ts +37 -0
  332. package/src/repo/client.ts +54 -23
  333. package/src/repo/service.ts +90 -42
  334. package/src/rpc-deadline.ts +45 -0
  335. package/src/storage/block-storage.ts +106 -3
  336. package/src/storage/i-block-storage.ts +27 -0
  337. package/src/storage/storage-repo.ts +209 -13
  338. package/src/sync/client.ts +5 -2
  339. package/src/testing/cohort-topic-mesh-harness.ts +613 -0
  340. package/src/testing/matchmaking-mesh-harness.ts +475 -0
  341. package/src/testing/mesh-harness.ts +22 -2
  342. package/src/testing/reactivity-mesh-harness.ts +922 -0
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p-node-base.js","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libp2p-node-base.js","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Matchmaking — root-cohort aggregate-count producer (db-p2p, wires the substrate to the sweep summary).
3
+ *
4
+ * `docs/matchmaking.md` §Multi-cohort sweep / §Aggregated provider counts. A *promoted* topic's root
5
+ * cohort answers a sweeping seeker with an {@link AggregateCountV1}: log-bucketed provider counts per
6
+ * tier-1 prefix shard, **threshold-signed** (an attested *registered*-provider count — unlike the
7
+ * advisory, single-member-signed `QueryReplyV1`). This module is the thin db-p2p binding that builds
8
+ * that message from the root's per-shard accounting and the cohort threshold signer.
9
+ *
10
+ * Two invariants the doc mandates, enforced here:
11
+ *
12
+ * - **Depth gate.** The aggregate is produced **only** when the tree depth at this cohort is
13
+ * `>= aggregate_count_minimum_tier` (default 1). A cold cohort that fell through to `NoState` has no
14
+ * tier-1 children to summarize, so {@link buildAggregateCount} returns `undefined` and the seeker
15
+ * falls back to the single-cohort sample.
16
+ * - **Log-bucketing.** Raw per-shard counts are quantized through the db-core {@link logBucketCount}
17
+ * (largest power of two `<= n`), never forwarded exactly.
18
+ *
19
+ * Like the cohort query handler, the inputs are injected (records/accounting, epoch, depth, the threshold
20
+ * signer), so this unit-tests without a live FRET/libp2p stack — the mock-tier e2e that drives it from a
21
+ * real promoted root is a documented follow-on. In the FRET host the root `CoordEngine` supplies
22
+ * `shardCounts` from its child-cohort accounting (the per-tier-1 `childCohortCount` / gossip-derived
23
+ * summaries), `treeDepth` from its tier state, `cohortEpoch` from the membership, and `thresholdSign`
24
+ * bound to the cohort signer's `/sign` assembly.
25
+ */
26
+ import { type AggregateCountV1 } from "@optimystic/db-core";
27
+ /** Everything {@link buildAggregateCount} needs from the root cohort, all injected. */
28
+ export interface AggregateCountContext {
29
+ /** The topic id being summarized, 32 bytes. */
30
+ readonly topicId: Uint8Array;
31
+ /** The current cohort epoch, 32 bytes. */
32
+ readonly cohortEpoch: Uint8Array;
33
+ /**
34
+ * Tree depth at this cohort. The aggregate is produced only when `treeDepth >= minimumTier`; a cold
35
+ * cohort (depth 0) summarizes nothing.
36
+ */
37
+ readonly treeDepth: number;
38
+ /**
39
+ * Raw per-tier-1-shard provider counts, keyed by `prefixSlot` (`0..fanout-1`). Slots absent from the
40
+ * map count as `0`. The root derives these from its child-cohort accounting; this binding log-buckets
41
+ * them and never trusts the caller to pre-bucket.
42
+ */
43
+ readonly shardCounts: ReadonlyMap<number, number>;
44
+ /**
45
+ * Assemble a cohort threshold signature over the canonical aggregate image (db-p2p binds the cohort
46
+ * signer). Returns the multisig blob plus the `>= minSigs` signer subset that produced it.
47
+ */
48
+ readonly thresholdSign: (payload: Uint8Array) => Promise<{
49
+ thresholdSig: Uint8Array;
50
+ signers: Uint8Array[];
51
+ }>;
52
+ /** The tier whose shards are summarized. Default {@link DEFAULT_SWEEP_TARGET_TIER} (1). */
53
+ readonly targetTier?: number;
54
+ /** Number of prefix slots `F`. Default {@link DEFAULT_FANOUT} (16). */
55
+ readonly fanout?: number;
56
+ /** Depth gate. Default {@link AGGREGATE_COUNT_MINIMUM_TIER} (1). */
57
+ readonly minimumTier?: number;
58
+ /** Emit zero-count shards too (default `false` — empty shards are omitted to keep the summary compact). */
59
+ readonly includeEmptyShards?: boolean;
60
+ }
61
+ /**
62
+ * Build the threshold-signed {@link AggregateCountV1} for the root's per-shard accounting, or `undefined`
63
+ * when the depth gate is not met (`treeDepth < minimumTier`). Counts are log-bucketed; the canonical
64
+ * image is order-independent (the signing payload sorts buckets), so signer and verifier agree.
65
+ */
66
+ export declare function buildAggregateCount(ctx: AggregateCountContext): Promise<AggregateCountV1 | undefined>;
67
+ //# sourceMappingURL=aggregate-counts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-counts.d.ts","sourceRoot":"","sources":["../../../src/matchmaking/aggregate-counts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAQN,KAAK,gBAAgB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC;QAAE,YAAY,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IAC9G,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,2GAA2G;IAC3G,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CA6B3G"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Matchmaking — root-cohort aggregate-count producer (db-p2p, wires the substrate to the sweep summary).
3
+ *
4
+ * `docs/matchmaking.md` §Multi-cohort sweep / §Aggregated provider counts. A *promoted* topic's root
5
+ * cohort answers a sweeping seeker with an {@link AggregateCountV1}: log-bucketed provider counts per
6
+ * tier-1 prefix shard, **threshold-signed** (an attested *registered*-provider count — unlike the
7
+ * advisory, single-member-signed `QueryReplyV1`). This module is the thin db-p2p binding that builds
8
+ * that message from the root's per-shard accounting and the cohort threshold signer.
9
+ *
10
+ * Two invariants the doc mandates, enforced here:
11
+ *
12
+ * - **Depth gate.** The aggregate is produced **only** when the tree depth at this cohort is
13
+ * `>= aggregate_count_minimum_tier` (default 1). A cold cohort that fell through to `NoState` has no
14
+ * tier-1 children to summarize, so {@link buildAggregateCount} returns `undefined` and the seeker
15
+ * falls back to the single-cohort sample.
16
+ * - **Log-bucketing.** Raw per-shard counts are quantized through the db-core {@link logBucketCount}
17
+ * (largest power of two `<= n`), never forwarded exactly.
18
+ *
19
+ * Like the cohort query handler, the inputs are injected (records/accounting, epoch, depth, the threshold
20
+ * signer), so this unit-tests without a live FRET/libp2p stack — the mock-tier e2e that drives it from a
21
+ * real promoted root is a documented follow-on. In the FRET host the root `CoordEngine` supplies
22
+ * `shardCounts` from its child-cohort accounting (the per-tier-1 `childCohortCount` / gossip-derived
23
+ * summaries), `treeDepth` from its tier state, `cohortEpoch` from the membership, and `thresholdSign`
24
+ * bound to the cohort signer's `/sign` assembly.
25
+ */
26
+ import { bytesToB64url, logBucketCount, aggregateCountSigningPayload, AGGREGATE_COUNT_MINIMUM_TIER, DEFAULT_FANOUT, DEFAULT_SWEEP_TARGET_TIER, } from "@optimystic/db-core";
27
+ /**
28
+ * Build the threshold-signed {@link AggregateCountV1} for the root's per-shard accounting, or `undefined`
29
+ * when the depth gate is not met (`treeDepth < minimumTier`). Counts are log-bucketed; the canonical
30
+ * image is order-independent (the signing payload sorts buckets), so signer and verifier agree.
31
+ */
32
+ export async function buildAggregateCount(ctx) {
33
+ const minimumTier = ctx.minimumTier ?? AGGREGATE_COUNT_MINIMUM_TIER;
34
+ if (ctx.treeDepth < minimumTier) {
35
+ // Cold / unpromoted root: no tier-1 children to summarize (matches the seeker's NoState fallback).
36
+ return undefined;
37
+ }
38
+ const targetTier = ctx.targetTier ?? DEFAULT_SWEEP_TARGET_TIER;
39
+ const fanout = ctx.fanout ?? DEFAULT_FANOUT;
40
+ const bucketCounts = [];
41
+ for (let prefixSlot = 0; prefixSlot < fanout; prefixSlot++) {
42
+ const count = logBucketCount(ctx.shardCounts.get(prefixSlot) ?? 0);
43
+ if (count > 0 || ctx.includeEmptyShards === true) {
44
+ bucketCounts.push({ targetTier, prefixSlot, count });
45
+ }
46
+ }
47
+ const unsigned = {
48
+ v: 1,
49
+ topicId: bytesToB64url(ctx.topicId),
50
+ bucketCounts,
51
+ cohortEpoch: bytesToB64url(ctx.cohortEpoch),
52
+ };
53
+ const { thresholdSig, signers } = await ctx.thresholdSign(aggregateCountSigningPayload(unsigned));
54
+ return {
55
+ ...unsigned,
56
+ signature: bytesToB64url(thresholdSig),
57
+ signers: signers.map(bytesToB64url),
58
+ };
59
+ }
60
+ //# sourceMappingURL=aggregate-counts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-counts.js","sourceRoot":"","sources":["../../../src/matchmaking/aggregate-counts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACN,aAAa,EACb,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,yBAAyB,GAGzB,MAAM,qBAAqB,CAAC;AAkC7B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAA0B;IACnE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,4BAA4B,CAAC;IACpE,IAAI,GAAG,CAAC,SAAS,GAAG,WAAW,EAAE,CAAC;QACjC,mGAAmG;QACnG,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,yBAAyB,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC;IAC5C,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAoD;QACjE,CAAC,EAAE,CAAC;QACJ,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;QACnC,YAAY;QACZ,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC;KAC3C,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClG,OAAO;QACN,GAAG,QAAQ;QACX,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Matchmaking — db-p2p wiring to the cohort-topic substrate.
3
+ *
4
+ * The db-core `matchmaking` module owns the wire codecs, anchor, config, provider/seeker
5
+ * decision/state, the capability filter, the pure query evaluation, and the hang-out decision engine;
6
+ * these db-p2p bindings wire that logic to the cohort-topic substrate: the register/renew/withdraw
7
+ * managers (tier T2), the cohort-side `QueryV1` handler, and the seeker walk client that drives the
8
+ * hang-out-vs-continue walk. See `docs/matchmaking.md` §Provider registration / §Seeker query /
9
+ * §Hang-out vs. continue.
10
+ */
11
+ export * from "./protocols.js";
12
+ export * from "./provider-manager.js";
13
+ export * from "./seeker-manager.js";
14
+ export * from "./query-handler.js";
15
+ export * from "./query-transport.js";
16
+ export * from "./seeker-walk-client.js";
17
+ export * from "./aggregate-counts.js";
18
+ export * from "./traffic-validation.js";
19
+ export * from "./module.js";
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/matchmaking/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Matchmaking — db-p2p wiring to the cohort-topic substrate.
3
+ *
4
+ * The db-core `matchmaking` module owns the wire codecs, anchor, config, provider/seeker
5
+ * decision/state, the capability filter, the pure query evaluation, and the hang-out decision engine;
6
+ * these db-p2p bindings wire that logic to the cohort-topic substrate: the register/renew/withdraw
7
+ * managers (tier T2), the cohort-side `QueryV1` handler, and the seeker walk client that drives the
8
+ * hang-out-vs-continue walk. See `docs/matchmaking.md` §Provider registration / §Seeker query /
9
+ * §Hang-out vs. continue.
10
+ */
11
+ export * from "./protocols.js";
12
+ export * from "./provider-manager.js";
13
+ export * from "./seeker-manager.js";
14
+ export * from "./query-handler.js";
15
+ export * from "./query-transport.js";
16
+ export * from "./seeker-walk-client.js";
17
+ export * from "./aggregate-counts.js";
18
+ export * from "./traffic-validation.js";
19
+ export * from "./module.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchmaking/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Matchmaking — cohesive public module (db-p2p, the cohort-topic-integrated entry points).
3
+ *
4
+ * `docs/matchmaking.md` §Overview / §Configuration names two public roles. This module composes the
5
+ * lower db-core state + db-p2p substrate wiring (managers, seeker walk client, multi-cohort sweep) into
6
+ * those roles, plus the `QuorumDiscovery` binding the voting plan consumes:
7
+ *
8
+ * - {@link MatchmakingProviderSession} — `register(topic, payload)` / `renew()` / `withdraw()` (plus
9
+ * `setCapacity` / `signalFull` self-throttling), driving a {@link MatchmakingProvider} through the
10
+ * {@link MatchmakingProviderManager} at cohort-topic tier **T2**.
11
+ * - {@link MatchmakingSeekerSession} — `register(topic, payload)` (brief T2 registration), `query(q)`
12
+ * (one-shot cohort query), and `walk(topic, want)` (the hang-out engine, escalating to the
13
+ * multi-cohort sweep on a hot topic).
14
+ * - {@link createMatchmakingQuorumDiscovery} — binds the db-core voting `QuorumDiscovery` port to the
15
+ * seeker walk (single-cohort) + {@link runMultiCohortSweep} (sweep), so `VotingQuorumAssembler` runs
16
+ * over real substrate I/O.
17
+ *
18
+ * **Naming note (honest):** the db-core `MatchmakingProvider` / `MatchmakingSeeker` are the
19
+ * transport-free *state + signed-payload builders*; these `*Session` classes are the substrate-wired
20
+ * *public entry points* the doc's `MatchmakingProvider` / `MatchmakingSeeker` sketch refers to. They are
21
+ * named `*Session` to avoid colliding with the re-exported db-core state classes.
22
+ *
23
+ * The substrate I/O is **injected** — the seeker walk transport, the one-shot query, the `d_max`
24
+ * estimate, and the sweep ports are all ports the FRET host binds. The module therefore unit-tests
25
+ * without a live libp2p stack; the mock-tier e2e that drives these against a real promoted tree is a
26
+ * documented follow-on (the same posture as the rest of the subsystem).
27
+ */
28
+ import { type MatchTopicAnchor, type MatchTopicKind, type CohortTopicService, type NodeProfile, type CapabilityFilter, type EntrySigVerifier, type HangOutConfig, type ProviderEntryV1, type QueryReplyV1, type QueryV1, type MultiCohortSweepPorts, type QuorumDiscovery } from "@optimystic/db-core";
29
+ import { MatchmakingProviderManager } from "./provider-manager.js";
30
+ import { type SeekerWalkTransport } from "./seeker-walk-client.js";
31
+ /** A matchmaking topic reference: `(kind, label)` resolved to `topicId = H(kind ‖ label ‖ "match")`. */
32
+ export interface MatchTopicRef {
33
+ readonly kind: MatchTopicKind;
34
+ readonly label: string;
35
+ }
36
+ /** The provider registration inputs a {@link MatchmakingProviderSession.register} call carries. */
37
+ export interface ProviderRegistrationInput {
38
+ readonly capabilities: readonly string[];
39
+ readonly capacityBudget: number;
40
+ readonly contactHint: string;
41
+ readonly serviceUntil?: number;
42
+ }
43
+ /** Construction inputs for a {@link MatchmakingProviderSession}. */
44
+ export interface MatchmakingProviderSessionDeps {
45
+ /** Participant-facing cohort-topic substrate API. */
46
+ readonly service: CohortTopicService;
47
+ /** Sign the provider registration image (db-p2p supplies the libp2p peer key). */
48
+ readonly sign: (payload: Uint8Array) => Promise<string>;
49
+ /** Topic anchor; defaults to db-core's ring-hash anchor. */
50
+ readonly anchor?: MatchTopicAnchor;
51
+ /** Node profile used to derive the provider TTL (Core 90 s / Edge 60 s). */
52
+ readonly profile?: NodeProfile;
53
+ /** Explicit provider TTL (ms); overrides the profile-derived TTL. */
54
+ readonly ttlMs?: number;
55
+ /** CSPRNG source for the provider correlation id (injectable for deterministic tests). */
56
+ readonly randomBytes?: (n: number) => Uint8Array;
57
+ }
58
+ /**
59
+ * Public provider entry point: registers a {@link MatchmakingProvider} at a topic (cohort-topic T2) and
60
+ * drives its lifecycle. One session owns one live registration; calling {@link register} again
61
+ * re-registers (e.g. at a different topic).
62
+ */
63
+ export declare class MatchmakingProviderSession {
64
+ private readonly deps;
65
+ private readonly anchor;
66
+ private manager?;
67
+ constructor(deps: MatchmakingProviderSessionDeps);
68
+ /** The live registration handle, or `undefined` before the first {@link register}. */
69
+ get registration(): MatchmakingProviderManager["registration"];
70
+ /** Register the provider at `topic` with the signed payload, at cohort-topic tier T2. */
71
+ register(topic: MatchTopicRef, reg: ProviderRegistrationInput): Promise<void>;
72
+ /** Run one renewal cycle (keep-alive). No-op before {@link register}. */
73
+ renew(): Promise<void>;
74
+ /** Update the live capacity budget and push it by re-registering (`RenewV1` cannot carry a payload). */
75
+ setCapacity(budget: number): Promise<void>;
76
+ /** Signal "available but at capacity" (`capacityBudget = 0`) by re-registering. */
77
+ signalFull(): Promise<void>;
78
+ /** Withdraw: sends a best-effort signed `RenewV1.withdraw` tombstone so the cohort frees the record
79
+ * immediately (an optimization; the record otherwise TTL-expires). No-op before register. */
80
+ withdraw(): Promise<void>;
81
+ private requireManager;
82
+ }
83
+ /** The seeker registration inputs a {@link MatchmakingSeekerSession.register} call carries. */
84
+ export interface SeekerRegistrationInput {
85
+ readonly wantCount: number;
86
+ readonly contactHint: string;
87
+ readonly filter?: CapabilityFilter;
88
+ readonly pushOnArrival?: boolean;
89
+ }
90
+ /** A {@link MatchmakingSeekerSession.walk} request — the hang-out engine's per-task knobs. */
91
+ export interface SeekerWalkRequest {
92
+ readonly wantCount: number;
93
+ readonly patienceMs: number;
94
+ readonly filter?: CapabilityFilter;
95
+ /** Force the multi-cohort sweep even when the single-cohort walk would suffice (representativeness). */
96
+ readonly preferSweep?: boolean;
97
+ }
98
+ /** The injected substrate-I/O seam a seeker session drives. The FRET host binds these to libp2p RPCs. */
99
+ export interface MatchmakingSeekerSessionDeps {
100
+ /** Participant-facing cohort-topic substrate API (seeker registration). */
101
+ readonly service: CohortTopicService;
102
+ /** Sign the seeker registration image. */
103
+ readonly sign: (payload: Uint8Array) => Promise<string>;
104
+ /** Per-entry signature verifier (db-p2p binds `verifyPeerSig`). */
105
+ readonly verifyEntry: EntrySigVerifier;
106
+ /** Topic anchor; defaults to db-core's ring-hash anchor. */
107
+ readonly anchor?: MatchTopicAnchor;
108
+ /** Build the seeker walk transport (register/query/renew/withdraw at a tier) for a topic. */
109
+ readonly walkTransport: (topicId: Uint8Array) => SeekerWalkTransport;
110
+ /** Issue a one-shot `QueryV1` (resolves the cohort from `q.topicId`). */
111
+ readonly queryCohort: (q: QueryV1) => Promise<QueryReplyV1>;
112
+ /** Estimate `d_max` for a topic (the size-estimator seam). */
113
+ readonly estimateDMax: (topicId: Uint8Array) => Promise<number>;
114
+ /** Build the multi-cohort sweep ports for a topic; absent ⇒ the sweep is unavailable (walk only). */
115
+ readonly sweepPorts?: (topicId: Uint8Array) => MultiCohortSweepPorts;
116
+ /** Seeker registration TTL (ms); default {@link MatchmakingSeekerManager}'s seeker TTL. */
117
+ readonly ttlMs?: number;
118
+ /** Hang-out decision config (default {@link import("@optimystic/db-core").DEFAULT_HANG_OUT_CONFIG}). */
119
+ readonly config?: HangOutConfig;
120
+ /** Assumed competing-seeker mean `wantCount`. */
121
+ readonly meanWantCount?: number;
122
+ /** Wall clock (unix ms); injectable for tests. */
123
+ readonly clock?: () => number;
124
+ /** Sleep for the requery cadence; injectable for tests. */
125
+ readonly sleep?: (ms: number) => Promise<void>;
126
+ }
127
+ /**
128
+ * Public seeker entry point: brief registration, one-shot query, and the hang-out `walk` (which escalates
129
+ * to the multi-cohort sweep on a hot topic). One session may register and walk independently.
130
+ */
131
+ export declare class MatchmakingSeekerSession {
132
+ private readonly deps;
133
+ private readonly anchor;
134
+ private manager?;
135
+ constructor(deps: MatchmakingSeekerSessionDeps);
136
+ /** Resolve the `topicId` for a topic ref. */
137
+ topicIdFor(topic: MatchTopicRef): Uint8Array;
138
+ /** Register the seeker briefly at `topic` (cohort-topic T2, short TTL). */
139
+ register(topic: MatchTopicRef, reg: SeekerRegistrationInput): Promise<void>;
140
+ /** Drop the seeker registration: sends a best-effort tombstone so the cohort frees the record
141
+ * immediately (the record otherwise TTL-expires). No-op before register. */
142
+ withdraw(): Promise<void>;
143
+ /** Issue a one-shot `QueryV1` against the topic's cohort (resolved from `q.topicId`). */
144
+ query(q: QueryV1): Promise<QueryReplyV1>;
145
+ /**
146
+ * Run the hang-out walk for `topic`, then — on a hot topic (`childCohortCount > 0`) or when
147
+ * `preferSweep` is set, and when the sweep ports are bound — escalate to the multi-cohort sweep and
148
+ * union the deduped providers. Returns the assembled (possibly `< wantCount`) provider set.
149
+ */
150
+ walk(topic: MatchTopicRef, want: SeekerWalkRequest): Promise<ProviderEntryV1[]>;
151
+ }
152
+ /** Construction inputs for {@link createMatchmakingQuorumDiscovery}. */
153
+ export interface MatchmakingQuorumDiscoveryDeps {
154
+ /** Per-entry signature verifier (db-p2p binds `verifyPeerSig`). */
155
+ readonly verifyEntry: EntrySigVerifier;
156
+ /** Build the seeker walk transport for a topic. */
157
+ readonly walkTransport: (topicId: Uint8Array) => SeekerWalkTransport;
158
+ /** Estimate `d_max` for a topic. */
159
+ readonly estimateDMax: (topicId: Uint8Array) => Promise<number>;
160
+ /** Build the multi-cohort sweep ports for a topic. */
161
+ readonly sweepPorts: (topicId: Uint8Array) => MultiCohortSweepPorts;
162
+ /** Optional capability filter applied to both the walk and the sweep. */
163
+ readonly filter?: CapabilityFilter;
164
+ /** Hang-out decision config (passed to the walk). */
165
+ readonly config?: HangOutConfig;
166
+ /** Assumed competing-seeker mean `wantCount` (passed to the walk). */
167
+ readonly meanWantCount?: number;
168
+ /** Wall clock (unix ms); injectable for tests. */
169
+ readonly clock?: () => number;
170
+ /** Sleep for the requery cadence; injectable for tests. */
171
+ readonly sleep?: (ms: number) => Promise<void>;
172
+ }
173
+ /**
174
+ * Bind the db-core voting {@link QuorumDiscovery} port (`docs/matchmaking.md` §Voting-quorum assembly)
175
+ * to the matchmaking substrate: `walk` runs the single-cohort hang-out walk and surfaces its hotness
176
+ * signal (`childCohortCount`); `sweep` runs {@link runMultiCohortSweep} across the high-population tier
177
+ * shards. `VotingQuorumAssembler` composes the two — walk, then sweep on a hot topic — re-validating
178
+ * every entry itself, so this binding stays a thin transport adapter.
179
+ */
180
+ export declare function createMatchmakingQuorumDiscovery(deps: MatchmakingQuorumDiscoveryDeps): QuorumDiscovery;
181
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/matchmaking/module.ts"],"names":[],"mappings":"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"}