@origintrail-official/dkg-agent 10.0.19 → 10.0.21

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 (733) hide show
  1. package/dist/approved-private-replica.d.ts +54 -0
  2. package/dist/approved-private-replica.d.ts.map +1 -0
  3. package/dist/approved-private-replica.js +148 -0
  4. package/dist/approved-private-replica.js.map +1 -0
  5. package/dist/bounded-operation.d.ts +2 -0
  6. package/dist/bounded-operation.d.ts.map +1 -1
  7. package/dist/bounded-operation.js +5 -0
  8. package/dist/bounded-operation.js.map +1 -1
  9. package/dist/chain-finality-confirmations-v1.d.ts +7 -0
  10. package/dist/chain-finality-confirmations-v1.d.ts.map +1 -0
  11. package/dist/chain-finality-confirmations-v1.js +9 -0
  12. package/dist/chain-finality-confirmations-v1.js.map +1 -0
  13. package/dist/chain-reconciler.d.ts +23 -0
  14. package/dist/chain-reconciler.d.ts.map +1 -1
  15. package/dist/chain-reconciler.js +35 -0
  16. package/dist/chain-reconciler.js.map +1 -1
  17. package/dist/confirmed-graph-scoped-vm-resolver.d.ts +7 -1
  18. package/dist/confirmed-graph-scoped-vm-resolver.d.ts.map +1 -1
  19. package/dist/confirmed-graph-scoped-vm-resolver.js +5 -3
  20. package/dist/confirmed-graph-scoped-vm-resolver.js.map +1 -1
  21. package/dist/context-graph-authority-dependency.d.ts +11 -0
  22. package/dist/context-graph-authority-dependency.d.ts.map +1 -0
  23. package/dist/context-graph-authority-dependency.js +50 -0
  24. package/dist/context-graph-authority-dependency.js.map +1 -0
  25. package/dist/context-graph-binding-state.d.ts +6 -0
  26. package/dist/context-graph-binding-state.d.ts.map +1 -1
  27. package/dist/context-graph-binding-state.js +17 -10
  28. package/dist/context-graph-binding-state.js.map +1 -1
  29. package/dist/context-graph-claim-proof.d.ts +74 -0
  30. package/dist/context-graph-claim-proof.d.ts.map +1 -0
  31. package/dist/context-graph-claim-proof.js +137 -0
  32. package/dist/context-graph-claim-proof.js.map +1 -0
  33. package/dist/context-graph-member-proof.d.ts +33 -0
  34. package/dist/context-graph-member-proof.d.ts.map +1 -0
  35. package/dist/context-graph-member-proof.js +142 -0
  36. package/dist/context-graph-member-proof.js.map +1 -0
  37. package/dist/context-graph-membership-persist-scheduler.d.ts +7 -23
  38. package/dist/context-graph-membership-persist-scheduler.d.ts.map +1 -1
  39. package/dist/context-graph-membership-persist-scheduler.js +12 -88
  40. package/dist/context-graph-membership-persist-scheduler.js.map +1 -1
  41. package/dist/context-graph-meta-confirmation.d.ts +22 -2
  42. package/dist/context-graph-meta-confirmation.d.ts.map +1 -1
  43. package/dist/context-graph-meta-confirmation.js +54 -23
  44. package/dist/context-graph-meta-confirmation.js.map +1 -1
  45. package/dist/context-graph-meta-projection.d.ts +13 -2
  46. package/dist/context-graph-meta-projection.d.ts.map +1 -1
  47. package/dist/context-graph-meta-projection.js +61 -24
  48. package/dist/context-graph-meta-projection.js.map +1 -1
  49. package/dist/context-graph-metadata-relocation.d.ts +18 -30
  50. package/dist/context-graph-metadata-relocation.d.ts.map +1 -1
  51. package/dist/context-graph-metadata-relocation.js +32 -2
  52. package/dist/context-graph-metadata-relocation.js.map +1 -1
  53. package/dist/context-graph-private-meta-proof.d.ts +8 -9
  54. package/dist/context-graph-private-meta-proof.d.ts.map +1 -1
  55. package/dist/context-graph-private-meta-proof.js +25 -89
  56. package/dist/context-graph-private-meta-proof.js.map +1 -1
  57. package/dist/context-graph-public-meta-proof.d.ts +11 -1
  58. package/dist/context-graph-public-meta-proof.d.ts.map +1 -1
  59. package/dist/context-graph-public-meta-proof.js +23 -3
  60. package/dist/context-graph-public-meta-proof.js.map +1 -1
  61. package/dist/context-graph-read-authority.d.ts +30 -3
  62. package/dist/context-graph-read-authority.d.ts.map +1 -1
  63. package/dist/context-graph-read-authority.js +62 -18
  64. package/dist/context-graph-read-authority.js.map +1 -1
  65. package/dist/context-graph-storage-discovery.d.ts +14 -4
  66. package/dist/context-graph-storage-discovery.d.ts.map +1 -1
  67. package/dist/context-graph-storage-discovery.js +27 -7
  68. package/dist/context-graph-storage-discovery.js.map +1 -1
  69. package/dist/context-graph-subscription-authority-recovery.d.ts +7 -0
  70. package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -1
  71. package/dist/context-graph-subscription-authority-recovery.js +1 -0
  72. package/dist/context-graph-subscription-authority-recovery.js.map +1 -1
  73. package/dist/context-graph-subscription-persist-scheduler.d.ts +52 -0
  74. package/dist/context-graph-subscription-persist-scheduler.d.ts.map +1 -0
  75. package/dist/context-graph-subscription-persist-scheduler.js +78 -0
  76. package/dist/context-graph-subscription-persist-scheduler.js.map +1 -0
  77. package/dist/curator-dial-address.d.ts +16 -0
  78. package/dist/curator-dial-address.d.ts.map +1 -0
  79. package/dist/curator-dial-address.js +58 -0
  80. package/dist/curator-dial-address.js.map +1 -0
  81. package/dist/curator-meta-refresh.d.ts +18 -4
  82. package/dist/curator-meta-refresh.d.ts.map +1 -1
  83. package/dist/curator-meta-refresh.js +61 -58
  84. package/dist/curator-meta-refresh.js.map +1 -1
  85. package/dist/curator-peer-connection.d.ts +21 -0
  86. package/dist/curator-peer-connection.d.ts.map +1 -0
  87. package/dist/curator-peer-connection.js +41 -0
  88. package/dist/curator-peer-connection.js.map +1 -0
  89. package/dist/dkg-agent-agents-phonebook.d.ts +41 -0
  90. package/dist/dkg-agent-agents-phonebook.d.ts.map +1 -0
  91. package/dist/dkg-agent-agents-phonebook.js +155 -0
  92. package/dist/dkg-agent-agents-phonebook.js.map +1 -0
  93. package/dist/dkg-agent-base.d.ts +162 -24
  94. package/dist/dkg-agent-base.d.ts.map +1 -1
  95. package/dist/dkg-agent-base.js +175 -147
  96. package/dist/dkg-agent-base.js.map +1 -1
  97. package/dist/dkg-agent-cg-chain-observation.d.ts +6 -1
  98. package/dist/dkg-agent-cg-chain-observation.d.ts.map +1 -1
  99. package/dist/dkg-agent-cg-chain-observation.js +20 -5
  100. package/dist/dkg-agent-cg-chain-observation.js.map +1 -1
  101. package/dist/dkg-agent-cg-name-resolution.d.ts +38 -2
  102. package/dist/dkg-agent-cg-name-resolution.d.ts.map +1 -1
  103. package/dist/dkg-agent-cg-name-resolution.js +100 -8
  104. package/dist/dkg-agent-cg-name-resolution.js.map +1 -1
  105. package/dist/dkg-agent-cg-registry.d.ts +43 -3
  106. package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
  107. package/dist/dkg-agent-cg-registry.js +267 -129
  108. package/dist/dkg-agent-cg-registry.js.map +1 -1
  109. package/dist/dkg-agent-cg-resolve.d.ts +6 -4
  110. package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
  111. package/dist/dkg-agent-cg-resolve.js +40 -18
  112. package/dist/dkg-agent-cg-resolve.js.map +1 -1
  113. package/dist/dkg-agent-constants.d.ts +10 -2
  114. package/dist/dkg-agent-constants.d.ts.map +1 -1
  115. package/dist/dkg-agent-constants.js +10 -2
  116. package/dist/dkg-agent-constants.js.map +1 -1
  117. package/dist/dkg-agent-context-graph.d.ts.map +1 -1
  118. package/dist/dkg-agent-context-graph.js +1 -5
  119. package/dist/dkg-agent-context-graph.js.map +1 -1
  120. package/dist/dkg-agent-crypto.d.ts +128 -21
  121. package/dist/dkg-agent-crypto.d.ts.map +1 -1
  122. package/dist/dkg-agent-crypto.js +824 -176
  123. package/dist/dkg-agent-crypto.js.map +1 -1
  124. package/dist/dkg-agent-diagnostics.d.ts.map +1 -1
  125. package/dist/dkg-agent-diagnostics.js +4 -3
  126. package/dist/dkg-agent-diagnostics.js.map +1 -1
  127. package/dist/dkg-agent-helpers.d.ts +2 -2
  128. package/dist/dkg-agent-helpers.d.ts.map +1 -1
  129. package/dist/dkg-agent-helpers.js +3 -3
  130. package/dist/dkg-agent-helpers.js.map +1 -1
  131. package/dist/dkg-agent-join.d.ts +12 -1
  132. package/dist/dkg-agent-join.d.ts.map +1 -1
  133. package/dist/dkg-agent-join.js +80 -92
  134. package/dist/dkg-agent-join.js.map +1 -1
  135. package/dist/dkg-agent-lifecycle.d.ts +129 -22
  136. package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
  137. package/dist/dkg-agent-lifecycle.js +690 -211
  138. package/dist/dkg-agent-lifecycle.js.map +1 -1
  139. package/dist/dkg-agent-publish.d.ts +33 -40
  140. package/dist/dkg-agent-publish.d.ts.map +1 -1
  141. package/dist/dkg-agent-publish.js +194 -281
  142. package/dist/dkg-agent-publish.js.map +1 -1
  143. package/dist/dkg-agent-query.d.ts +7 -0
  144. package/dist/dkg-agent-query.d.ts.map +1 -1
  145. package/dist/dkg-agent-query.js +102 -86
  146. package/dist/dkg-agent-query.js.map +1 -1
  147. package/dist/dkg-agent-registered-private-empty-vm.d.ts +70 -0
  148. package/dist/dkg-agent-registered-private-empty-vm.d.ts.map +1 -0
  149. package/dist/dkg-agent-registered-private-empty-vm.js +133 -0
  150. package/dist/dkg-agent-registered-private-empty-vm.js.map +1 -0
  151. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts +8 -3
  152. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts.map +1 -1
  153. package/dist/dkg-agent-rfc64-catalog-auto-publish.js +45 -51
  154. package/dist/dkg-agent-rfc64-catalog-auto-publish.js.map +1 -1
  155. package/dist/dkg-agent-rfc64-catalog.d.ts +87 -80
  156. package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
  157. package/dist/dkg-agent-rfc64-catalog.js +726 -476
  158. package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
  159. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts +6 -1
  160. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts.map +1 -1
  161. package/dist/dkg-agent-rfc64-meta-bootstrap.js +29 -13
  162. package/dist/dkg-agent-rfc64-meta-bootstrap.js.map +1 -1
  163. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts +8 -0
  164. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts.map +1 -1
  165. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js +249 -40
  166. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js.map +1 -1
  167. package/dist/dkg-agent-rfc64-swm-catalog-projection.d.ts.map +1 -1
  168. package/dist/dkg-agent-rfc64-swm-catalog-projection.js +3 -2
  169. package/dist/dkg-agent-rfc64-swm-catalog-projection.js.map +1 -1
  170. package/dist/dkg-agent-swm-host.d.ts +217 -52
  171. package/dist/dkg-agent-swm-host.d.ts.map +1 -1
  172. package/dist/dkg-agent-swm-host.js +1305 -858
  173. package/dist/dkg-agent-swm-host.js.map +1 -1
  174. package/dist/dkg-agent-swm-state.d.ts +15 -0
  175. package/dist/dkg-agent-swm-state.d.ts.map +1 -1
  176. package/dist/dkg-agent-swm-state.js +43 -0
  177. package/dist/dkg-agent-swm-state.js.map +1 -1
  178. package/dist/dkg-agent-swm-substrate.d.ts +49 -8
  179. package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
  180. package/dist/dkg-agent-swm-substrate.js +219 -46
  181. package/dist/dkg-agent-swm-substrate.js.map +1 -1
  182. package/dist/dkg-agent-types.d.ts +86 -27
  183. package/dist/dkg-agent-types.d.ts.map +1 -1
  184. package/dist/dkg-agent-types.js.map +1 -1
  185. package/dist/dkg-agent-vm-promotion.d.ts +4 -0
  186. package/dist/dkg-agent-vm-promotion.d.ts.map +1 -1
  187. package/dist/dkg-agent-vm-promotion.js +40 -5
  188. package/dist/dkg-agent-vm-promotion.js.map +1 -1
  189. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts +7 -0
  190. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts.map +1 -1
  191. package/dist/dkg-agent-vm-reconcile-scheduling.js +18 -0
  192. package/dist/dkg-agent-vm-reconcile-scheduling.js.map +1 -1
  193. package/dist/dkg-agent.d.ts +31 -2
  194. package/dist/dkg-agent.d.ts.map +1 -1
  195. package/dist/dkg-agent.js +188 -72
  196. package/dist/dkg-agent.js.map +1 -1
  197. package/dist/exact-graph-content-verifier.d.ts.map +1 -1
  198. package/dist/exact-graph-content-verifier.js +3 -2
  199. package/dist/exact-graph-content-verifier.js.map +1 -1
  200. package/dist/finalization-handler.d.ts +26 -211
  201. package/dist/finalization-handler.d.ts.map +1 -1
  202. package/dist/finalization-handler.js +94 -1652
  203. package/dist/finalization-handler.js.map +1 -1
  204. package/dist/finalization-recovery-sqlite-displacement.d.ts +37 -0
  205. package/dist/finalization-recovery-sqlite-displacement.d.ts.map +1 -0
  206. package/dist/finalization-recovery-sqlite-displacement.js +102 -0
  207. package/dist/finalization-recovery-sqlite-displacement.js.map +1 -0
  208. package/dist/finalization-recovery-sqlite-policy.d.ts +20 -4
  209. package/dist/finalization-recovery-sqlite-policy.d.ts.map +1 -1
  210. package/dist/finalization-recovery-sqlite-policy.js +21 -5
  211. package/dist/finalization-recovery-sqlite-policy.js.map +1 -1
  212. package/dist/finalization-recovery-sqlite-rows.d.ts +53 -0
  213. package/dist/finalization-recovery-sqlite-rows.d.ts.map +1 -0
  214. package/dist/finalization-recovery-sqlite-rows.js +77 -0
  215. package/dist/finalization-recovery-sqlite-rows.js.map +1 -0
  216. package/dist/finalization-recovery-sqlite-store.d.ts +10 -4
  217. package/dist/finalization-recovery-sqlite-store.d.ts.map +1 -1
  218. package/dist/finalization-recovery-sqlite-store.js +49 -50
  219. package/dist/finalization-recovery-sqlite-store.js.map +1 -1
  220. package/dist/finalization-recovery-store.d.ts +18 -0
  221. package/dist/finalization-recovery-store.d.ts.map +1 -1
  222. package/dist/finalization-recovery-store.js +24 -0
  223. package/dist/finalization-recovery-store.js.map +1 -1
  224. package/dist/finalization-recovery-worker.js +1 -1
  225. package/dist/finalization-recovery-worker.js.map +1 -1
  226. package/dist/finalization-recovery.d.ts +2 -3
  227. package/dist/finalization-recovery.d.ts.map +1 -1
  228. package/dist/finalization-recovery.js +12 -9
  229. package/dist/finalization-recovery.js.map +1 -1
  230. package/dist/finalized-authority-cold-resolution.d.ts +6 -1
  231. package/dist/finalized-authority-cold-resolution.d.ts.map +1 -1
  232. package/dist/finalized-authority-cold-resolution.js +22 -3
  233. package/dist/finalized-authority-cold-resolution.js.map +1 -1
  234. package/dist/gossip-publish-handler.d.ts.map +1 -1
  235. package/dist/gossip-publish-handler.js +4 -2
  236. package/dist/gossip-publish-handler.js.map +1 -1
  237. package/dist/gossip-session.d.ts +29 -0
  238. package/dist/gossip-session.d.ts.map +1 -0
  239. package/dist/gossip-session.js +48 -0
  240. package/dist/gossip-session.js.map +1 -0
  241. package/dist/index.d.ts +4 -1
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js +4 -0
  244. package/dist/index.js.map +1 -1
  245. package/dist/internal/context-graph-authority/approved-member-acceptance.d.ts +61 -0
  246. package/dist/internal/context-graph-authority/approved-member-acceptance.d.ts.map +1 -0
  247. package/dist/internal/context-graph-authority/approved-member-acceptance.js +75 -0
  248. package/dist/internal/context-graph-authority/approved-member-acceptance.js.map +1 -0
  249. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts +5 -5
  250. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts.map +1 -1
  251. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js +59 -49
  252. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js.map +1 -1
  253. package/dist/internal/context-graph-authority/context-graph-authority.d.ts +1 -0
  254. package/dist/internal/context-graph-authority/context-graph-authority.d.ts.map +1 -1
  255. package/dist/internal/context-graph-authority/context-graph-authority.js +25 -0
  256. package/dist/internal/context-graph-authority/context-graph-authority.js.map +1 -1
  257. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts +17 -0
  258. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts.map +1 -0
  259. package/dist/internal/context-graph-authority/finalized-target-projection.js +36 -0
  260. package/dist/internal/context-graph-authority/finalized-target-projection.js.map +1 -0
  261. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts +84 -0
  262. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts.map +1 -0
  263. package/dist/internal/context-graph-authority/swm-transport-authority.js +175 -0
  264. package/dist/internal/context-graph-authority/swm-transport-authority.js.map +1 -0
  265. package/dist/internal/context-graph-binding-abort.d.ts +3 -0
  266. package/dist/internal/context-graph-binding-abort.d.ts.map +1 -0
  267. package/dist/internal/context-graph-binding-abort.js +32 -0
  268. package/dist/internal/context-graph-binding-abort.js.map +1 -0
  269. package/dist/internal/context-graph-cache-invalidating-store.d.ts +3 -0
  270. package/dist/internal/context-graph-cache-invalidating-store.d.ts.map +1 -0
  271. package/dist/internal/context-graph-cache-invalidating-store.js +167 -0
  272. package/dist/internal/context-graph-cache-invalidating-store.js.map +1 -0
  273. package/dist/internal/context-graph-meta-record-copy.d.ts +3 -0
  274. package/dist/internal/context-graph-meta-record-copy.d.ts.map +1 -0
  275. package/dist/internal/context-graph-meta-record-copy.js +21 -0
  276. package/dist/internal/context-graph-meta-record-copy.js.map +1 -0
  277. package/dist/internal/gossip/host-mode-handler.d.ts +11 -0
  278. package/dist/internal/gossip/host-mode-handler.d.ts.map +1 -0
  279. package/dist/internal/gossip/host-mode-handler.js +41 -0
  280. package/dist/internal/gossip/host-mode-handler.js.map +1 -0
  281. package/dist/internal/join-encryption-key-bundle.d.ts +10 -0
  282. package/dist/internal/join-encryption-key-bundle.d.ts.map +1 -0
  283. package/dist/internal/join-encryption-key-bundle.js +72 -0
  284. package/dist/internal/join-encryption-key-bundle.js.map +1 -0
  285. package/dist/internal/knowledge-asset-vm-publish-request.d.ts +31 -0
  286. package/dist/internal/knowledge-asset-vm-publish-request.d.ts.map +1 -0
  287. package/dist/internal/knowledge-asset-vm-publish-request.js +91 -0
  288. package/dist/internal/knowledge-asset-vm-publish-request.js.map +1 -0
  289. package/dist/internal/lifecycle-sync-policy.d.ts +5 -0
  290. package/dist/internal/lifecycle-sync-policy.d.ts.map +1 -0
  291. package/dist/internal/lifecycle-sync-policy.js +12 -0
  292. package/dist/internal/lifecycle-sync-policy.js.map +1 -0
  293. package/dist/internal/local-private-member.d.ts +14 -0
  294. package/dist/internal/local-private-member.d.ts.map +1 -0
  295. package/dist/internal/local-private-member.js +21 -0
  296. package/dist/internal/local-private-member.js.map +1 -0
  297. package/dist/internal/promote/assertion-promote-precommit.d.ts +41 -1
  298. package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
  299. package/dist/internal/promote/assertion-promote-precommit.js +79 -22
  300. package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
  301. package/dist/internal/storage-ack-owned-request.d.ts +16 -0
  302. package/dist/internal/storage-ack-owned-request.d.ts.map +1 -0
  303. package/dist/internal/storage-ack-owned-request.js +16 -0
  304. package/dist/internal/storage-ack-owned-request.js.map +1 -0
  305. package/dist/internal/vm-reconcile-local-admission-wait.d.ts +96 -0
  306. package/dist/internal/vm-reconcile-local-admission-wait.d.ts.map +1 -0
  307. package/dist/internal/vm-reconcile-local-admission-wait.js +226 -0
  308. package/dist/internal/vm-reconcile-local-admission-wait.js.map +1 -0
  309. package/dist/internal/vm-reconcile-read-authority.d.ts +27 -0
  310. package/dist/internal/vm-reconcile-read-authority.d.ts.map +1 -0
  311. package/dist/internal/vm-reconcile-read-authority.js +33 -0
  312. package/dist/internal/vm-reconcile-read-authority.js.map +1 -0
  313. package/dist/internal/vm-reconcile-sweep-admission.d.ts +2 -0
  314. package/dist/internal/vm-reconcile-sweep-admission.d.ts.map +1 -1
  315. package/dist/internal/vm-reconcile-sweep.d.ts +16 -4
  316. package/dist/internal/vm-reconcile-sweep.d.ts.map +1 -1
  317. package/dist/internal/vm-reconcile-sweep.js +91 -50
  318. package/dist/internal/vm-reconcile-sweep.js.map +1 -1
  319. package/dist/internal/workspace-projected-delegatees.d.ts +3 -0
  320. package/dist/internal/workspace-projected-delegatees.d.ts.map +1 -0
  321. package/dist/internal/workspace-projected-delegatees.js +34 -0
  322. package/dist/internal/workspace-projected-delegatees.js.map +1 -0
  323. package/dist/join-approval-restart-projection.d.ts +14 -0
  324. package/dist/join-approval-restart-projection.d.ts.map +1 -0
  325. package/dist/join-approval-restart-projection.js +32 -0
  326. package/dist/join-approval-restart-projection.js.map +1 -0
  327. package/dist/keyed-persist-scheduler.d.ts +72 -0
  328. package/dist/keyed-persist-scheduler.d.ts.map +1 -0
  329. package/dist/keyed-persist-scheduler.js +140 -0
  330. package/dist/keyed-persist-scheduler.js.map +1 -0
  331. package/dist/map-with-concurrency.d.ts +7 -0
  332. package/dist/map-with-concurrency.d.ts.map +1 -1
  333. package/dist/map-with-concurrency.js +36 -0
  334. package/dist/map-with-concurrency.js.map +1 -1
  335. package/dist/p2p/network-admission-coordinator.d.ts +15 -0
  336. package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
  337. package/dist/p2p/network-admission-coordinator.js +20 -2
  338. package/dist/p2p/network-admission-coordinator.js.map +1 -1
  339. package/dist/p2p/peer-connect.d.ts +10 -1
  340. package/dist/p2p/peer-connect.d.ts.map +1 -1
  341. package/dist/p2p/peer-connect.js +11 -2
  342. package/dist/p2p/peer-connect.js.map +1 -1
  343. package/dist/p2p/peer-selection.d.ts +8 -0
  344. package/dist/p2p/peer-selection.d.ts.map +1 -1
  345. package/dist/p2p/peer-selection.js +21 -12
  346. package/dist/p2p/peer-selection.js.map +1 -1
  347. package/dist/p2p/protocol-readiness.d.ts +3 -3
  348. package/dist/p2p/protocol-readiness.d.ts.map +1 -1
  349. package/dist/p2p/protocol-readiness.js +4 -3
  350. package/dist/p2p/protocol-readiness.js.map +1 -1
  351. package/dist/prepare-unscoped-context-graph-read-checks.d.ts.map +1 -1
  352. package/dist/prepare-unscoped-context-graph-read-checks.js +12 -0
  353. package/dist/prepare-unscoped-context-graph-read-checks.js.map +1 -1
  354. package/dist/registered-context-graph-authority.d.ts +19 -0
  355. package/dist/registered-context-graph-authority.d.ts.map +1 -1
  356. package/dist/registered-private-empty-vm-attempt-v1.d.ts +34 -0
  357. package/dist/registered-private-empty-vm-attempt-v1.d.ts.map +1 -0
  358. package/dist/registered-private-empty-vm-attempt-v1.js +120 -0
  359. package/dist/registered-private-empty-vm-attempt-v1.js.map +1 -0
  360. package/dist/reserved-ka-id-allocation.d.ts +12 -0
  361. package/dist/reserved-ka-id-allocation.d.ts.map +1 -0
  362. package/dist/reserved-ka-id-allocation.js +25 -0
  363. package/dist/reserved-ka-id-allocation.js.map +1 -0
  364. package/dist/rfc64/applied-catalog-authority-transition-v1.d.ts.map +1 -1
  365. package/dist/rfc64/applied-catalog-authority-transition-v1.js +15 -17
  366. package/dist/rfc64/applied-catalog-authority-transition-v1.js.map +1 -1
  367. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts +5 -3
  368. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts.map +1 -1
  369. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js +9 -0
  370. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js.map +1 -1
  371. package/dist/rfc64/catalog-completion-evidence-v1.d.ts +38 -0
  372. package/dist/rfc64/catalog-completion-evidence-v1.d.ts.map +1 -0
  373. package/dist/rfc64/catalog-completion-evidence-v1.js +49 -0
  374. package/dist/rfc64/catalog-completion-evidence-v1.js.map +1 -0
  375. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +12 -13
  376. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -1
  377. package/dist/rfc64/catalog-operational-applied-heads-v1.js +17 -52
  378. package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -1
  379. package/dist/rfc64/catalog-operational-reads-v1.d.ts +13 -0
  380. package/dist/rfc64/catalog-operational-reads-v1.d.ts.map +1 -0
  381. package/dist/rfc64/catalog-operational-reads-v1.js +56 -0
  382. package/dist/rfc64/catalog-operational-reads-v1.js.map +1 -0
  383. package/dist/rfc64/catalog-operational-targets-v1.d.ts +55 -0
  384. package/dist/rfc64/catalog-operational-targets-v1.d.ts.map +1 -0
  385. package/dist/rfc64/catalog-operational-targets-v1.js +379 -0
  386. package/dist/rfc64/catalog-operational-targets-v1.js.map +1 -0
  387. package/dist/rfc64/catalog-repair-diagnostics-v1.d.ts +28 -0
  388. package/dist/rfc64/catalog-repair-diagnostics-v1.d.ts.map +1 -0
  389. package/dist/rfc64/catalog-repair-diagnostics-v1.js +93 -0
  390. package/dist/rfc64/catalog-repair-diagnostics-v1.js.map +1 -0
  391. package/dist/rfc64/catalog-repair-retry-v1.d.ts +13 -0
  392. package/dist/rfc64/catalog-repair-retry-v1.d.ts.map +1 -0
  393. package/dist/rfc64/catalog-repair-retry-v1.js +39 -0
  394. package/dist/rfc64/catalog-repair-retry-v1.js.map +1 -0
  395. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +52 -0
  396. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -1
  397. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +188 -32
  398. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -1
  399. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts +2 -8
  400. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts.map +1 -1
  401. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js +10 -37
  402. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js.map +1 -1
  403. package/dist/rfc64/catalog-rollout-authority-v1.d.ts +13 -0
  404. package/dist/rfc64/catalog-rollout-authority-v1.d.ts.map +1 -1
  405. package/dist/rfc64/catalog-rollout-authority-v1.js +11 -0
  406. package/dist/rfc64/catalog-rollout-authority-v1.js.map +1 -1
  407. package/dist/rfc64/catalog-row-authorship.d.ts +12 -0
  408. package/dist/rfc64/catalog-row-authorship.d.ts.map +1 -1
  409. package/dist/rfc64/catalog-row-authorship.js +110 -57
  410. package/dist/rfc64/catalog-row-authorship.js.map +1 -1
  411. package/dist/rfc64/inventory-v1/candidate.d.ts +31 -10
  412. package/dist/rfc64/inventory-v1/candidate.d.ts.map +1 -1
  413. package/dist/rfc64/inventory-v1/candidate.js +51 -16
  414. package/dist/rfc64/inventory-v1/candidate.js.map +1 -1
  415. package/dist/rfc64/inventory-v1/index.d.ts +1 -1
  416. package/dist/rfc64/inventory-v1/index.d.ts.map +1 -1
  417. package/dist/rfc64/inventory-v1/index.js +1 -1
  418. package/dist/rfc64/inventory-v1/index.js.map +1 -1
  419. package/dist/rfc64/inventory-v1/open.d.ts.map +1 -1
  420. package/dist/rfc64/inventory-v1/open.js +7 -4
  421. package/dist/rfc64/inventory-v1/open.js.map +1 -1
  422. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts +3 -1
  423. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts.map +1 -1
  424. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js +15 -0
  425. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js.map +1 -1
  426. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts +25 -0
  427. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts.map +1 -0
  428. package/dist/rfc64/legacy-swm-boundary-codec-v1.js +127 -0
  429. package/dist/rfc64/legacy-swm-boundary-codec-v1.js.map +1 -0
  430. package/dist/rfc64/legacy-swm-boundary-v1.d.ts +12 -0
  431. package/dist/rfc64/legacy-swm-boundary-v1.d.ts.map +1 -1
  432. package/dist/rfc64/legacy-swm-boundary-v1.js +83 -144
  433. package/dist/rfc64/legacy-swm-boundary-v1.js.map +1 -1
  434. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts +33 -0
  435. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts.map +1 -0
  436. package/dist/rfc64/private-catalog-subscription-readiness-v1.js +97 -0
  437. package/dist/rfc64/private-catalog-subscription-readiness-v1.js.map +1 -0
  438. package/dist/rfc64/private-read-roster-v1.d.ts +14 -0
  439. package/dist/rfc64/private-read-roster-v1.d.ts.map +1 -0
  440. package/dist/rfc64/private-read-roster-v1.js +57 -0
  441. package/dist/rfc64/private-read-roster-v1.js.map +1 -0
  442. package/dist/rfc64/public-catalog-native-receiver-v1.d.ts.map +1 -1
  443. package/dist/rfc64/public-catalog-native-receiver-v1.js +26 -21
  444. package/dist/rfc64/public-catalog-native-receiver-v1.js.map +1 -1
  445. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts +17 -11
  446. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts.map +1 -1
  447. package/dist/rfc64/public-catalog-native-reconciler-v1.js +10 -8
  448. package/dist/rfc64/public-catalog-native-reconciler-v1.js.map +1 -1
  449. package/dist/rfc64/public-catalog-receiver-v1.d.ts +9 -0
  450. package/dist/rfc64/public-catalog-receiver-v1.d.ts.map +1 -1
  451. package/dist/rfc64/public-catalog-receiver-v1.js +11 -2
  452. package/dist/rfc64/public-catalog-receiver-v1.js.map +1 -1
  453. package/dist/rfc64/public-catalog-service-v1.d.ts.map +1 -1
  454. package/dist/rfc64/public-catalog-service-v1.js +21 -22
  455. package/dist/rfc64/public-catalog-service-v1.js.map +1 -1
  456. package/dist/rfc64/public-catalog-successor-producer-v1.d.ts.map +1 -1
  457. package/dist/rfc64/public-catalog-successor-producer-v1.js +5 -4
  458. package/dist/rfc64/public-catalog-successor-producer-v1.js.map +1 -1
  459. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts +20 -0
  460. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts.map +1 -0
  461. package/dist/rfc64/registered-private-empty-vm-proof-v1.js +26 -0
  462. package/dist/rfc64/registered-private-empty-vm-proof-v1.js.map +1 -0
  463. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.d.ts.map +1 -1
  464. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js +60 -53
  465. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js.map +1 -1
  466. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts +2 -1
  467. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts.map +1 -1
  468. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js +44 -4
  469. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js.map +1 -1
  470. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts +3 -1
  471. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts.map +1 -1
  472. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js +34 -0
  473. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js.map +1 -1
  474. package/dist/sync/auth/pipe-request-tail.d.ts +5 -1
  475. package/dist/sync/auth/pipe-request-tail.d.ts.map +1 -1
  476. package/dist/sync/auth/pipe-request-tail.js +13 -3
  477. package/dist/sync/auth/pipe-request-tail.js.map +1 -1
  478. package/dist/sync/auth/request-build.d.ts +3 -0
  479. package/dist/sync/auth/request-build.d.ts.map +1 -1
  480. package/dist/sync/auth/request-build.js +11 -2
  481. package/dist/sync/auth/request-build.js.map +1 -1
  482. package/dist/sync/backpressure.d.ts +27 -16
  483. package/dist/sync/backpressure.d.ts.map +1 -1
  484. package/dist/sync/backpressure.js +66 -40
  485. package/dist/sync/backpressure.js.map +1 -1
  486. package/dist/sync/catchup-policy.d.ts +2 -0
  487. package/dist/sync/catchup-policy.d.ts.map +1 -1
  488. package/dist/sync/catchup-policy.js +2 -0
  489. package/dist/sync/catchup-policy.js.map +1 -1
  490. package/dist/sync/exact-asset-fetch.d.ts +22 -0
  491. package/dist/sync/exact-asset-fetch.d.ts.map +1 -1
  492. package/dist/sync/exact-asset-fetch.js +30 -3
  493. package/dist/sync/exact-asset-fetch.js.map +1 -1
  494. package/dist/sync/exact-assets.d.ts +7 -5
  495. package/dist/sync/exact-assets.d.ts.map +1 -1
  496. package/dist/sync/exact-assets.js +13 -8
  497. package/dist/sync/exact-assets.js.map +1 -1
  498. package/dist/sync/exact-batch-observation.d.ts +3 -0
  499. package/dist/sync/exact-batch-observation.d.ts.map +1 -0
  500. package/dist/sync/exact-batch-observation.js +13 -0
  501. package/dist/sync/exact-batch-observation.js.map +1 -0
  502. package/dist/sync/exact-batch-stream-capability.d.ts +24 -0
  503. package/dist/sync/exact-batch-stream-capability.d.ts.map +1 -0
  504. package/dist/sync/exact-batch-stream-capability.js +88 -0
  505. package/dist/sync/exact-batch-stream-capability.js.map +1 -0
  506. package/dist/sync/exact-batch-stream-contract.d.ts +78 -0
  507. package/dist/sync/exact-batch-stream-contract.d.ts.map +1 -0
  508. package/dist/sync/exact-batch-stream-contract.js +206 -0
  509. package/dist/sync/exact-batch-stream-contract.js.map +1 -0
  510. package/dist/sync/on-connect/sync-on-connect.d.ts +1 -1
  511. package/dist/sync/on-connect/sync-on-connect.d.ts.map +1 -1
  512. package/dist/sync/on-connect/sync-on-connect.js +3 -3
  513. package/dist/sync/on-connect/sync-on-connect.js.map +1 -1
  514. package/dist/sync/on-demand-agents-phonebook.d.ts +162 -0
  515. package/dist/sync/on-demand-agents-phonebook.d.ts.map +1 -0
  516. package/dist/sync/on-demand-agents-phonebook.js +571 -0
  517. package/dist/sync/on-demand-agents-phonebook.js.map +1 -0
  518. package/dist/sync/peer-connection.d.ts.map +1 -1
  519. package/dist/sync/peer-connection.js +11 -2
  520. package/dist/sync/peer-connection.js.map +1 -1
  521. package/dist/sync/priority-admission-queue.d.ts +17 -0
  522. package/dist/sync/priority-admission-queue.d.ts.map +1 -1
  523. package/dist/sync/priority-admission-queue.js +58 -37
  524. package/dist/sync/priority-admission-queue.js.map +1 -1
  525. package/dist/sync/requester/admission-boundary.d.ts +12 -0
  526. package/dist/sync/requester/admission-boundary.d.ts.map +1 -0
  527. package/dist/sync/requester/admission-boundary.js +22 -0
  528. package/dist/sync/requester/admission-boundary.js.map +1 -0
  529. package/dist/sync/requester/durable-sync.d.ts +2 -1
  530. package/dist/sync/requester/durable-sync.d.ts.map +1 -1
  531. package/dist/sync/requester/durable-sync.js +3 -188
  532. package/dist/sync/requester/durable-sync.js.map +1 -1
  533. package/dist/sync/requester/exact-batch-stream-driver.d.ts +83 -0
  534. package/dist/sync/requester/exact-batch-stream-driver.d.ts.map +1 -0
  535. package/dist/sync/requester/exact-batch-stream-driver.js +299 -0
  536. package/dist/sync/requester/exact-batch-stream-driver.js.map +1 -0
  537. package/dist/sync/requester/exact-batch-stream.d.ts +72 -0
  538. package/dist/sync/requester/exact-batch-stream.d.ts.map +1 -0
  539. package/dist/sync/requester/exact-batch-stream.js +267 -0
  540. package/dist/sync/requester/exact-batch-stream.js.map +1 -0
  541. package/dist/sync/requester/exact-recovery-transport.d.ts +19 -0
  542. package/dist/sync/requester/exact-recovery-transport.d.ts.map +1 -0
  543. package/dist/sync/requester/exact-recovery-transport.js +3 -0
  544. package/dist/sync/requester/exact-recovery-transport.js.map +1 -0
  545. package/dist/sync/requester/finalized-swm-twin-reconciliation.js +12 -3
  546. package/dist/sync/requester/finalized-swm-twin-reconciliation.js.map +1 -1
  547. package/dist/sync/requester/graph-scoped-materialization.d.ts.map +1 -1
  548. package/dist/sync/requester/graph-scoped-materialization.js +61 -27
  549. package/dist/sync/requester/graph-scoped-materialization.js.map +1 -1
  550. package/dist/sync/requester/page-fetch.d.ts +7 -0
  551. package/dist/sync/requester/page-fetch.d.ts.map +1 -1
  552. package/dist/sync/requester/page-fetch.js +103 -49
  553. package/dist/sync/requester/page-fetch.js.map +1 -1
  554. package/dist/sync/requester/shared-memory-sync.d.ts +10 -5
  555. package/dist/sync/requester/shared-memory-sync.d.ts.map +1 -1
  556. package/dist/sync/requester/shared-memory-sync.js +149 -150
  557. package/dist/sync/requester/shared-memory-sync.js.map +1 -1
  558. package/dist/sync/requester/swm-materialization-memo.d.ts +12 -0
  559. package/dist/sync/requester/swm-materialization-memo.d.ts.map +1 -0
  560. package/dist/sync/requester/swm-materialization-memo.js +54 -0
  561. package/dist/sync/requester/swm-materialization-memo.js.map +1 -0
  562. package/dist/sync/requester/swm-recovery.d.ts +3 -29
  563. package/dist/sync/requester/swm-recovery.d.ts.map +1 -1
  564. package/dist/sync/requester/swm-recovery.js +11 -10
  565. package/dist/sync/requester/swm-recovery.js.map +1 -1
  566. package/dist/sync/requester/swm-snapshot-materializer.d.ts.map +1 -1
  567. package/dist/sync/requester/swm-snapshot-materializer.js +18 -0
  568. package/dist/sync/requester/swm-snapshot-materializer.js.map +1 -1
  569. package/dist/sync/requester/swm-target-executor.d.ts +6 -0
  570. package/dist/sync/requester/swm-target-executor.d.ts.map +1 -1
  571. package/dist/sync/requester/swm-target-executor.js +24 -3
  572. package/dist/sync/requester/swm-target-executor.js.map +1 -1
  573. package/dist/sync/requester/verified-asset-preparation.d.ts +9 -0
  574. package/dist/sync/requester/verified-asset-preparation.d.ts.map +1 -0
  575. package/dist/sync/requester/verified-asset-preparation.js +190 -0
  576. package/dist/sync/requester/verified-asset-preparation.js.map +1 -0
  577. package/dist/sync/responder/asset-metadata.d.ts +18 -0
  578. package/dist/sync/responder/asset-metadata.d.ts.map +1 -0
  579. package/dist/sync/responder/asset-metadata.js +27 -0
  580. package/dist/sync/responder/asset-metadata.js.map +1 -0
  581. package/dist/sync/responder/durable-data-request-policy.d.ts +2 -16
  582. package/dist/sync/responder/durable-data-request-policy.d.ts.map +1 -1
  583. package/dist/sync/responder/durable-data-request-policy.js +1 -31
  584. package/dist/sync/responder/durable-data-request-policy.js.map +1 -1
  585. package/dist/sync/responder/exact-asset-export-cache.d.ts +89 -0
  586. package/dist/sync/responder/exact-asset-export-cache.d.ts.map +1 -0
  587. package/dist/sync/responder/exact-asset-export-cache.js +550 -0
  588. package/dist/sync/responder/exact-asset-export-cache.js.map +1 -0
  589. package/dist/sync/responder/exact-batch-stream.d.ts +47 -0
  590. package/dist/sync/responder/exact-batch-stream.d.ts.map +1 -0
  591. package/dist/sync/responder/exact-batch-stream.js +151 -0
  592. package/dist/sync/responder/exact-batch-stream.js.map +1 -0
  593. package/dist/sync/responder/exact-data-session.d.ts +67 -0
  594. package/dist/sync/responder/exact-data-session.d.ts.map +1 -0
  595. package/dist/sync/responder/exact-data-session.js +130 -0
  596. package/dist/sync/responder/exact-data-session.js.map +1 -0
  597. package/dist/sync/responder/exact-graph-cursor-filter.d.ts +9 -0
  598. package/dist/sync/responder/exact-graph-cursor-filter.d.ts.map +1 -0
  599. package/dist/sync/responder/exact-graph-cursor-filter.js +101 -0
  600. package/dist/sync/responder/exact-graph-cursor-filter.js.map +1 -0
  601. package/dist/sync/responder/exact-graph-reader.d.ts +95 -0
  602. package/dist/sync/responder/exact-graph-reader.d.ts.map +1 -0
  603. package/dist/sync/responder/exact-graph-reader.js +623 -0
  604. package/dist/sync/responder/exact-graph-reader.js.map +1 -0
  605. package/dist/sync/responder/exact-page-reader.d.ts +37 -0
  606. package/dist/sync/responder/exact-page-reader.d.ts.map +1 -0
  607. package/dist/sync/responder/exact-page-reader.js +130 -0
  608. package/dist/sync/responder/exact-page-reader.js.map +1 -0
  609. package/dist/sync/responder/graph-plan.d.ts +19 -85
  610. package/dist/sync/responder/graph-plan.d.ts.map +1 -1
  611. package/dist/sync/responder/graph-plan.js +51 -988
  612. package/dist/sync/responder/graph-plan.js.map +1 -1
  613. package/dist/sync/responder/page-framing-policy.d.ts +31 -0
  614. package/dist/sync/responder/page-framing-policy.d.ts.map +1 -0
  615. package/dist/sync/responder/page-framing-policy.js +41 -0
  616. package/dist/sync/responder/page-framing-policy.js.map +1 -0
  617. package/dist/sync/responder/responder-row-page.d.ts +85 -0
  618. package/dist/sync/responder/responder-row-page.d.ts.map +1 -0
  619. package/dist/sync/responder/responder-row-page.js +181 -0
  620. package/dist/sync/responder/responder-row-page.js.map +1 -0
  621. package/dist/sync/responder/row-serialization.d.ts +34 -0
  622. package/dist/sync/responder/row-serialization.d.ts.map +1 -0
  623. package/dist/sync/responder/row-serialization.js +69 -0
  624. package/dist/sync/responder/row-serialization.js.map +1 -0
  625. package/dist/sync/responder/session-plan-memo.d.ts +20 -0
  626. package/dist/sync/responder/session-plan-memo.d.ts.map +1 -0
  627. package/dist/sync/responder/session-plan-memo.js +135 -0
  628. package/dist/sync/responder/session-plan-memo.js.map +1 -0
  629. package/dist/sync/responder/sync-handler.d.ts +26 -1
  630. package/dist/sync/responder/sync-handler.d.ts.map +1 -1
  631. package/dist/sync/responder/sync-handler.js +107 -58
  632. package/dist/sync/responder/sync-handler.js.map +1 -1
  633. package/dist/sync/shared-memory-completion.d.ts +30 -0
  634. package/dist/sync/shared-memory-completion.d.ts.map +1 -1
  635. package/dist/sync/shared-memory-completion.js +13 -0
  636. package/dist/sync/shared-memory-completion.js.map +1 -1
  637. package/dist/sync/system-context-graph-policy.d.ts +10 -0
  638. package/dist/sync/system-context-graph-policy.d.ts.map +1 -1
  639. package/dist/sync/system-context-graph-policy.js +11 -0
  640. package/dist/sync/system-context-graph-policy.js.map +1 -1
  641. package/dist/sync/wire-compression.d.ts +47 -0
  642. package/dist/sync/wire-compression.d.ts.map +1 -0
  643. package/dist/sync/wire-compression.js +111 -0
  644. package/dist/sync/wire-compression.js.map +1 -0
  645. package/dist/unscoped-query-consistency.d.ts +12 -0
  646. package/dist/unscoped-query-consistency.d.ts.map +1 -1
  647. package/dist/unscoped-query-consistency.js +17 -1
  648. package/dist/unscoped-query-consistency.js.map +1 -1
  649. package/dist/vm-promotion-audit.d.ts +2 -2
  650. package/dist/vm-promotion-audit.d.ts.map +1 -1
  651. package/dist/vm-promotion-audit.js +26 -9
  652. package/dist/vm-promotion-audit.js.map +1 -1
  653. package/dist/vm-publish-snapshot-preflight.d.ts +13 -0
  654. package/dist/vm-publish-snapshot-preflight.d.ts.map +1 -0
  655. package/dist/vm-publish-snapshot-preflight.js +94 -0
  656. package/dist/vm-publish-snapshot-preflight.js.map +1 -0
  657. package/dist/vm-reconcile-dispatcher.d.ts +42 -1
  658. package/dist/vm-reconcile-dispatcher.d.ts.map +1 -1
  659. package/dist/vm-reconcile-dispatcher.js +103 -4
  660. package/dist/vm-reconcile-dispatcher.js.map +1 -1
  661. package/dist/vm-reconcile-peer-topology.d.ts +7 -9
  662. package/dist/vm-reconcile-peer-topology.d.ts.map +1 -1
  663. package/dist/vm-reconcile-peer-topology.js +1 -37
  664. package/dist/vm-reconcile-peer-topology.js.map +1 -1
  665. package/dist/vm-recovery-candidate-order.d.ts +16 -0
  666. package/dist/vm-recovery-candidate-order.d.ts.map +1 -0
  667. package/dist/vm-recovery-candidate-order.js +24 -0
  668. package/dist/vm-recovery-candidate-order.js.map +1 -0
  669. package/dist/vm-recovery-core-transport-preference.d.ts +69 -0
  670. package/dist/vm-recovery-core-transport-preference.d.ts.map +1 -0
  671. package/dist/vm-recovery-core-transport-preference.js +131 -0
  672. package/dist/vm-recovery-core-transport-preference.js.map +1 -0
  673. package/dist/vm-recovery-experiment-policy.d.ts +24 -0
  674. package/dist/vm-recovery-experiment-policy.d.ts.map +1 -0
  675. package/dist/vm-recovery-experiment-policy.js +18 -0
  676. package/dist/vm-recovery-experiment-policy.js.map +1 -0
  677. package/dist/vm-recovery-footprint.d.ts +54 -0
  678. package/dist/vm-recovery-footprint.d.ts.map +1 -1
  679. package/dist/vm-recovery-footprint.js +88 -24
  680. package/dist/vm-recovery-footprint.js.map +1 -1
  681. package/dist/vm-recovery-microbatch.d.ts +2 -0
  682. package/dist/vm-recovery-microbatch.d.ts.map +1 -1
  683. package/dist/vm-recovery-microbatch.js +7 -3
  684. package/dist/vm-recovery-microbatch.js.map +1 -1
  685. package/dist/vm-recovery-pass-authority.d.ts +84 -0
  686. package/dist/vm-recovery-pass-authority.d.ts.map +1 -0
  687. package/dist/vm-recovery-pass-authority.js +126 -0
  688. package/dist/vm-recovery-pass-authority.js.map +1 -0
  689. package/dist/vm-recovery-phase-timing.d.ts +75 -0
  690. package/dist/vm-recovery-phase-timing.d.ts.map +1 -0
  691. package/dist/vm-recovery-phase-timing.js +236 -0
  692. package/dist/vm-recovery-phase-timing.js.map +1 -0
  693. package/dist/vm-recovery-preparation.d.ts +143 -0
  694. package/dist/vm-recovery-preparation.d.ts.map +1 -0
  695. package/dist/vm-recovery-preparation.js +433 -0
  696. package/dist/vm-recovery-preparation.js.map +1 -0
  697. package/dist/vm-recovery-provider-policy.d.ts +13 -1
  698. package/dist/vm-recovery-provider-policy.d.ts.map +1 -1
  699. package/dist/vm-recovery-provider-policy.js +37 -5
  700. package/dist/vm-recovery-provider-policy.js.map +1 -1
  701. package/dist/vm-recovery-stream-profile.d.ts +15 -0
  702. package/dist/vm-recovery-stream-profile.d.ts.map +1 -0
  703. package/dist/vm-recovery-stream-profile.js +53 -0
  704. package/dist/vm-recovery-stream-profile.js.map +1 -0
  705. package/dist/vm-recovery-stream-setback-policy.d.ts +54 -0
  706. package/dist/vm-recovery-stream-setback-policy.d.ts.map +1 -0
  707. package/dist/vm-recovery-stream-setback-policy.js +85 -0
  708. package/dist/vm-recovery-stream-setback-policy.js.map +1 -0
  709. package/dist/vm-recovery-timing-observer.d.ts +27 -0
  710. package/dist/vm-recovery-timing-observer.d.ts.map +1 -0
  711. package/dist/vm-recovery-timing-observer.js +49 -0
  712. package/dist/vm-recovery-timing-observer.js.map +1 -0
  713. package/dist/vm-recovery-transport-budget-policy.d.ts +32 -0
  714. package/dist/vm-recovery-transport-budget-policy.d.ts.map +1 -0
  715. package/dist/vm-recovery-transport-budget-policy.js +55 -0
  716. package/dist/vm-recovery-transport-budget-policy.js.map +1 -0
  717. package/dist/vm-recovery-transport-plan.d.ts +83 -0
  718. package/dist/vm-recovery-transport-plan.d.ts.map +1 -0
  719. package/dist/vm-recovery-transport-plan.js +117 -0
  720. package/dist/vm-recovery-transport-plan.js.map +1 -0
  721. package/dist/vm-refresh.d.ts +138 -0
  722. package/dist/vm-refresh.d.ts.map +1 -0
  723. package/dist/vm-refresh.js +201 -0
  724. package/dist/vm-refresh.js.map +1 -0
  725. package/package.json +19 -9
  726. package/dist/finalization-annotations.d.ts +0 -5
  727. package/dist/finalization-annotations.d.ts.map +0 -1
  728. package/dist/finalization-annotations.js +0 -6
  729. package/dist/finalization-annotations.js.map +0 -1
  730. package/dist/swm-ka-bound.d.ts +0 -21
  731. package/dist/swm-ka-bound.d.ts.map +0 -1
  732. package/dist/swm-ka-bound.js +0 -36
  733. package/dist/swm-ka-bound.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-reconcile-read-authority.d.ts","sourceRoot":"","sources":["../../src/internal/vm-reconcile-read-authority.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,iCAAiC,EACjC,4CAA4C,EAC7C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAalE,gFAAgF;AAChF,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,iCAAiC,GAAG,SAAS,GACtD,QAAQ,IAAI,4CAA4C,CAI1D;AAED;;;;;GAKG;AACH,qBAAa,uCAAwC,SAAQ,yBAAyB;IACpF,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAG7B,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,IAAI,CAAC,4CAA4C,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;CAKnG"}
@@ -0,0 +1,33 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { ContextGraphNotFoundError } from '../dkg-agent-types.js';
3
+ /**
4
+ * On a current-state read these reasons only come from a chain read that
5
+ * timed out or that the transport rejected. `chain-access-policy-unknown` is
6
+ * absent on purpose: there the chain answered, and the answer is final.
7
+ */
8
+ const UNANSWERED_CHAIN_READ_REASONS = new Set([
9
+ 'chain-access-policy-timeout',
10
+ 'chain-access-policy-unavailable',
11
+ 'chain-participant-authority-unavailable',
12
+ ]);
13
+ /** Whether the decision is "no answer from the chain" rather than a refusal. */
14
+ export function isUnansweredVmReconcileReadAuthority(decision) {
15
+ return decision?.outcome === 'unavailable'
16
+ && decision.dependency === 'chain'
17
+ && UNANSWERED_CHAIN_READ_REASONS.has(decision.reason);
18
+ }
19
+ /**
20
+ * The pass could not confirm read authority because the chain read behind the
21
+ * check got no answer. To a caller it is the refusal it always was, a
22
+ * {@link ContextGraphNotFoundError} with the same message; reconcile
23
+ * scheduling tells it apart by class.
24
+ */
25
+ export class VmReconcileReadAuthorityUnansweredError extends ContextGraphNotFoundError {
26
+ /** `source/reason/dependency` of the unanswered decision, for the node's log. */
27
+ readAuthority;
28
+ constructor(contextGraphId, decision) {
29
+ super(contextGraphId);
30
+ this.readAuthority = `${decision.source}/${decision.reason}/${decision.dependency}`;
31
+ }
32
+ }
33
+ //# sourceMappingURL=vm-reconcile-read-authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-reconcile-read-authority.js","sourceRoot":"","sources":["../../src/internal/vm-reconcile-read-authority.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAkBtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE;;;;GAIG;AACH,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAAC;IACjE,6BAA6B;IAC7B,iCAAiC;IACjC,yCAAyC;CAC1C,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,UAAU,oCAAoC,CAClD,QAAuD;IAEvD,OAAO,QAAQ,EAAE,OAAO,KAAK,aAAa;WACrC,QAAQ,CAAC,UAAU,KAAK,OAAO;WAC/B,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,uCAAwC,SAAQ,yBAAyB;IACpF,iFAAiF;IACxE,aAAa,CAAS;IAE/B,YACE,cAAsB,EACtB,QAAgG;QAEhG,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtF,CAAC;CACF"}
@@ -1,6 +1,8 @@
1
1
  /** Internal sweep capability; deliberately absent from the package-root API. */
2
2
  export interface VmReconcileSweepAdmission<T = unknown> {
3
3
  readonly tryAdmit: (key: string) => Promise<T> | undefined;
4
+ /** Dispatcher-owned timer cap; coalesced work does not consume another slot. */
5
+ readonly tryAdmitBoundTimer: (key: string) => Promise<T> | undefined;
4
6
  readonly waitForChange: (signal?: AbortSignal) => Promise<void>;
5
7
  readonly isClosed: () => boolean;
6
8
  /** Keep waiting periodic admission visible until its owner retires. */
@@ -1 +1 @@
1
- {"version":3,"file":"vm-reconcile-sweep-admission.d.ts","sourceRoot":"","sources":["../../src/internal/vm-reconcile-sweep-admission.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,yBAAyB,CAAC,CAAC,GAAG,OAAO;IACpD,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,IAAI,CAAC;CAC9D"}
1
+ {"version":3,"file":"vm-reconcile-sweep-admission.d.ts","sourceRoot":"","sources":["../../src/internal/vm-reconcile-sweep-admission.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,yBAAyB,CAAC,CAAC,GAAG,OAAO;IACpD,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3D,gFAAgF;IAChF,QAAQ,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,IAAI,CAAC;CAC9D"}
@@ -7,17 +7,22 @@ export declare class VmReconcileSweepSelector {
7
7
  /** Return successful admissions; keep a rejected candidate for the next call. */
8
8
  admit(keys: readonly string[], maximum: number, tryAdmit: (key: string) => boolean): number;
9
9
  }
10
+ export interface VmReconcileSweepPlannerOptions {
11
+ discoveryBatchSize: number;
12
+ periodicBoundBatchSize?: number;
13
+ }
10
14
  /** Own real admissions and their completion handles throughout a discovery turn. */
11
15
  export declare class VmReconcileSweepPlanner {
12
- private readonly discoveryBatchSize;
13
16
  private readonly retainCapacity;
14
17
  private readonly bound;
15
18
  private readonly unbound;
19
+ private readonly discoveryBatchSize;
20
+ private readonly periodicBoundBatchSize;
16
21
  private turn;
17
- constructor(discoveryBatchSize: number, retainCapacity: VmReconcileSweepAdmission['retainCapacity']);
22
+ constructor(options: VmReconcileSweepPlannerOptions, retainCapacity: VmReconcileSweepAdmission['retainCapacity']);
18
23
  reset(): void;
19
24
  /** Timer admission is synchronous; retain a capacity-limited discovery turn. */
20
- admit(boundKeys: readonly string[], unboundKeys: readonly string[], tryAdmit: (key: string) => Promise<unknown> | undefined): void;
25
+ admit(boundKeys: readonly string[], unboundKeys: readonly string[], admission: Pick<VmReconcileSweepAdmission, 'tryAdmit' | 'tryAdmitBoundTimer'>): void;
21
26
  /**
22
27
  * Join retained admissions, then finish this turn's selected rotation.
23
28
  * Calls overlapping a partial admission turn join it; once admission is
@@ -28,6 +33,13 @@ export declare class VmReconcileSweepPlanner {
28
33
  private claimForCompletion;
29
34
  private releaseTimerCapacity;
30
35
  private finish;
31
- private advance;
36
+ private record;
37
+ private admitLeadingBound;
38
+ private spendDiscovery;
39
+ private admitBoundTail;
40
+ /** A timer tick spends discovery independently, then fills only its bound allowance. */
41
+ private advanceTimerTurn;
42
+ /** An explicit completion owns one full finite bound rotation and retries. */
43
+ private advanceCompletionTurn;
32
44
  }
33
45
  //# sourceMappingURL=vm-reconcile-sweep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm-reconcile-sweep.d.ts","sourceRoot":"","sources":["../../src/internal/vm-reconcile-sweep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,kFAAkF;AAClF,qBAAa,wBAAwB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAK;IAEtB,KAAK,IAAI,IAAI;IAEb,iFAAiF;IACjF,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM;CAiB5F;AA4BD,oFAAoF;AACpF,qBAAa,uBAAuB;IAMhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IANjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,IAAI,CAAwB;gBAGjB,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,yBAAyB,CAAC,gBAAgB,CAAC;IAG9E,KAAK,IAAI,IAAI;IAMb,gFAAgF;IAChF,KAAK,CACH,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,GACtD,IAAI;IASP;;;;OAIG;IACG,QAAQ,CACZ,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,SAAS,EAAE,yBAAyB,EACpC,SAAS,EAAE,MAAM,OAAO,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAsBhB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;CAwDhB"}
1
+ {"version":3,"file":"vm-reconcile-sweep.d.ts","sourceRoot":"","sources":["../../src/internal/vm-reconcile-sweep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,kFAAkF;AAClF,qBAAa,wBAAwB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAK;IAEtB,KAAK,IAAI,IAAI;IAEb,iFAAiF;IACjF,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM;CAiB5F;AAgCD,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,oFAAoF;AACpF,qBAAa,uBAAuB;IAShC,OAAO,CAAC,QAAQ,CAAC,cAAc;IARjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,IAAI,CAAwB;gBAGlC,OAAO,EAAE,8BAA8B,EACtB,cAAc,EAAE,yBAAyB,CAAC,gBAAgB,CAAC;IAM9E,KAAK,IAAI,IAAI;IAMb,gFAAgF;IAChF,KAAK,CACH,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE,UAAU,GAAG,oBAAoB,CAAC,GAC5E,IAAI;IAUP;;;;OAIG;IACG,QAAQ,CACZ,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,SAAS,EAAE,yBAAyB,EACpC,SAAS,EAAE,MAAM,OAAO,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IA0BhB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,cAAc;IAYtB,wFAAwF;IACxF,OAAO,CAAC,gBAAgB;IA0CxB,8EAA8E;IAC9E,OAAO,CAAC,qBAAqB;CA4B9B"}
@@ -28,14 +28,16 @@ export class VmReconcileSweepSelector {
28
28
  }
29
29
  /** Own real admissions and their completion handles throughout a discovery turn. */
30
30
  export class VmReconcileSweepPlanner {
31
- discoveryBatchSize;
32
31
  retainCapacity;
33
32
  bound = new VmReconcileSweepSelector();
34
33
  unbound = new VmReconcileSweepSelector();
34
+ discoveryBatchSize;
35
+ periodicBoundBatchSize;
35
36
  turn;
36
- constructor(discoveryBatchSize, retainCapacity) {
37
- this.discoveryBatchSize = discoveryBatchSize;
37
+ constructor(options, retainCapacity) {
38
38
  this.retainCapacity = retainCapacity;
39
+ this.discoveryBatchSize = options.discoveryBatchSize;
40
+ this.periodicBoundBatchSize = options.periodicBoundBatchSize ?? 8;
39
41
  }
40
42
  reset() {
41
43
  if (this.turn)
@@ -44,10 +46,12 @@ export class VmReconcileSweepPlanner {
44
46
  this.unbound.reset();
45
47
  }
46
48
  /** Timer admission is synchronous; retain a capacity-limited discovery turn. */
47
- admit(boundKeys, unboundKeys, tryAdmit) {
49
+ admit(boundKeys, unboundKeys, admission) {
48
50
  const turn = this.currentTurn();
51
+ if (turn.owner === 'completion')
52
+ return;
49
53
  this.releaseTimerCapacity(turn);
50
- this.advance(turn, boundKeys, unboundKeys, tryAdmit);
54
+ this.advanceTimerTurn(turn, boundKeys, unboundKeys, admission);
51
55
  if (!turn.finished.signal.aborted) {
52
56
  turn.releaseTimerCapacity = this.retainCapacity(turn.finished.signal);
53
57
  }
@@ -67,7 +71,7 @@ export class VmReconcileSweepPlanner {
67
71
  const releaseCapacity = this.retainCapacity(waitingSignal);
68
72
  try {
69
73
  while (!turn.finished.signal.aborted && isActive() && !admission.isClosed()) {
70
- this.advance(turn, boundKeys, unboundKeys, key => isActive() ? admission.tryAdmit(key) : undefined);
74
+ this.advanceCompletionTurn(turn, unboundKeys, key => isActive() ? admission.tryAdmit(key) : undefined);
71
75
  if (turn.finished.signal.aborted || !isActive() || admission.isClosed())
72
76
  break;
73
77
  // Successful admissions may wake another caller finishing this turn.
@@ -77,6 +81,11 @@ export class VmReconcileSweepPlanner {
77
81
  }
78
82
  finally {
79
83
  releaseCapacity();
84
+ turn.completionClaimants--;
85
+ // A cancelled or obsolete final caller must not leave the planner in
86
+ // completion mode, which would suppress every later timer sweep.
87
+ if (turn.completionClaimants === 0 && !turn.finished.signal.aborted)
88
+ this.finish(turn);
80
89
  }
81
90
  await Promise.all(turn.completions);
82
91
  }
@@ -84,18 +93,22 @@ export class VmReconcileSweepPlanner {
84
93
  return this.turn ??= {
85
94
  owner: 'timer',
86
95
  state: { phase: 'leading', remainingDiscovery: this.discoveryBatchSize },
87
- admittedKeys: new Set(), completions: [], finished: new AbortController(),
96
+ admittedKeys: new Set(), boundAdmissions: 0, completionClaimants: 0,
97
+ completions: [], finished: new AbortController(),
88
98
  };
89
99
  }
90
100
  claimForCompletion(boundKeys) {
91
101
  const current = this.currentTurn();
92
102
  this.releaseTimerCapacity(current);
93
- if (current.owner === 'completion')
103
+ if (current.owner === 'completion') {
104
+ current.completionClaimants++;
94
105
  return current;
106
+ }
95
107
  const claimed = {
96
108
  ...current,
97
109
  owner: 'completion',
98
110
  fullBoundKeys: [...boundKeys],
111
+ completionClaimants: 1,
99
112
  };
100
113
  this.turn = claimed;
101
114
  return claimed;
@@ -109,59 +122,87 @@ export class VmReconcileSweepPlanner {
109
122
  if (this.turn === turn)
110
123
  this.turn = undefined;
111
124
  }
112
- advance(turn, boundKeys, unboundKeys, tryAdmit) {
113
- if (turn.finished.signal.aborted)
114
- return;
115
- const boundRotation = turn.owner === 'completion' ? turn.fullBoundKeys : boundKeys;
116
- const accept = (key) => {
117
- const completion = tryAdmit(key);
118
- if (completion === undefined)
125
+ record(turn, key, tryAdmit, bound) {
126
+ const completion = tryAdmit(key);
127
+ if (completion === undefined)
128
+ return false;
129
+ // Preserve the exact handle, including work coalesced with an earlier tick.
130
+ turn.completions.push(completion.catch(() => undefined));
131
+ turn.admittedKeys.add(key);
132
+ if (bound)
133
+ turn.boundAdmissions++;
134
+ return true;
135
+ }
136
+ admitLeadingBound(turn, keys, tryAdmit) {
137
+ return keys.length === 0 || this.bound.admit(keys, 1, key => this.record(turn, key, tryAdmit, true)) === 1;
138
+ }
139
+ spendDiscovery(turn, keys, remaining, tryAdmit) {
140
+ let budget = Math.min(remaining, keys.length);
141
+ this.unbound.admit(keys, budget, key => {
142
+ if (!this.record(turn, key, tryAdmit, false))
119
143
  return false;
120
- // Automatic failures are reported by the dispatcher. Retain each exact
121
- // handle immediately, including work admitted by an earlier timer tick.
122
- turn.completions.push(completion.catch(() => undefined));
144
+ budget--;
123
145
  return true;
124
- };
146
+ });
147
+ return budget;
148
+ }
149
+ admitBoundTail(turn, keys, limit, tryAdmit) {
150
+ const tail = keys.filter(key => !turn.admittedKeys.has(key));
151
+ const admitted = limit === 0 ? 0 : this.bound.admit(tail, Math.min(tail.length, limit), key => this.record(turn, key, tryAdmit, true));
152
+ return { admitted, available: tail.length };
153
+ }
154
+ /** A timer tick spends discovery independently, then fills only its bound allowance. */
155
+ advanceTimerTurn(turn, boundKeys, unboundKeys, admission) {
156
+ if (turn.owner !== 'timer' || turn.finished.signal.aborted)
157
+ return;
158
+ const timerBound = admission.tryAdmitBoundTimer;
125
159
  if (turn.state.phase === 'leading') {
126
- const count = this.bound.admit(boundRotation, 1, key => {
127
- if (!accept(key))
128
- return false;
129
- turn.admittedKeys.add(key);
130
- return true;
131
- });
132
- if (boundRotation.length > 0 && count === 0)
160
+ const remaining = turn.state.remainingDiscovery;
161
+ if (!this.admitLeadingBound(turn, boundKeys, timerBound)) {
162
+ // Keep the periodic capacity claim for dispatcher fairness. Discovery
163
+ // can still run, but the rejected bound key waits for the next tick.
164
+ turn.state = {
165
+ phase: 'leading',
166
+ remainingDiscovery: this.spendDiscovery(turn, unboundKeys, remaining, admission.tryAdmit),
167
+ };
133
168
  return;
134
- turn.state = {
135
- phase: 'discovery',
136
- remainingDiscovery: turn.state.remainingDiscovery,
137
- };
169
+ }
170
+ turn.state = { phase: 'discovery', remainingDiscovery: remaining };
138
171
  }
139
172
  if (turn.state.phase === 'discovery') {
140
- let remainingDiscovery = Math.min(turn.state.remainingDiscovery, unboundKeys.length);
141
- this.unbound.admit(unboundKeys, remainingDiscovery, key => {
142
- if (!accept(key))
143
- return false;
144
- turn.admittedKeys.add(key);
145
- remainingDiscovery--;
146
- return true;
147
- });
148
- if (remainingDiscovery > 0) {
149
- turn.state = { phase: 'discovery', remainingDiscovery };
173
+ const remaining = this.spendDiscovery(turn, unboundKeys, turn.state.remainingDiscovery, admission.tryAdmit);
174
+ if (remaining > 0) {
175
+ turn.state = { phase: 'discovery', remainingDiscovery: remaining };
150
176
  return;
151
177
  }
152
178
  turn.state = { phase: 'tail' };
153
179
  }
154
- const tail = boundRotation.filter(key => !turn.admittedKeys.has(key));
155
- const count = this.bound.admit(tail, tail.length, key => {
156
- if (!accept(key))
157
- return false;
158
- turn.admittedKeys.add(key);
159
- return true;
160
- });
161
- if (turn.owner === 'completion' && count < tail.length)
180
+ this.admitBoundTail(turn, boundKeys, Math.max(0, this.periodicBoundBatchSize - turn.boundAdmissions), timerBound);
181
+ // A rejected tail retains the selector's round-robin cursor for the next
182
+ // tick. Timer turns never own an unbounded completion drain.
183
+ this.finish(turn);
184
+ }
185
+ /** An explicit completion owns one full finite bound rotation and retries. */
186
+ advanceCompletionTurn(turn, unboundKeys, tryAdmit) {
187
+ if (turn.owner !== 'completion' || turn.finished.signal.aborted)
188
+ return;
189
+ const boundKeys = turn.fullBoundKeys;
190
+ if (turn.state.phase === 'leading') {
191
+ if (!this.admitLeadingBound(turn, boundKeys, tryAdmit))
192
+ return;
193
+ turn.state = { phase: 'discovery', remainingDiscovery: turn.state.remainingDiscovery };
194
+ }
195
+ if (turn.state.phase === 'discovery') {
196
+ const remaining = this.spendDiscovery(turn, unboundKeys, turn.state.remainingDiscovery, tryAdmit);
197
+ if (remaining > 0) {
198
+ turn.state = { phase: 'discovery', remainingDiscovery: remaining };
199
+ return;
200
+ }
201
+ turn.state = { phase: 'tail' };
202
+ }
203
+ const { admitted, available } = this.admitBoundTail(turn, boundKeys, boundKeys.length, tryAdmit);
204
+ if (admitted < available)
162
205
  return;
163
- // A timer's rejected tail leads its next discovery turn. Public callers
164
- // retain the tail until admitted, so their finite selected rotation drains.
165
206
  this.finish(turn);
166
207
  }
167
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vm-reconcile-sweep.js","sourceRoot":"","sources":["../../src/internal/vm-reconcile-sweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-reconcile-sweep.js","sourceRoot":"","sources":["../../src/internal/vm-reconcile-sweep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ContextGraphMetaRecord } from '../context-graph-meta-projection.js';
2
+ export declare function collectProjectedDelegatees(meta: ContextGraphMetaRecord, field: 'allowedPeers' | 'allowedKeys', normalizeValue: (value: string) => string): Map<string, string[]>;
3
+ //# sourceMappingURL=workspace-projected-delegatees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-projected-delegatees.d.ts","sourceRoot":"","sources":["../../src/internal/workspace-projected-delegatees.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAUlF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,cAAc,GAAG,aAAa,EACrC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACxC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsBvB"}
@@ -0,0 +1,34 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ function delegationIsCurrentlyActive(expiresAtValues, nowMs) {
3
+ if (expiresAtValues.length === 0)
4
+ return true;
5
+ return expiresAtValues.some((value) => {
6
+ const expiresAt = Number(value);
7
+ return !Number.isFinite(expiresAt) || expiresAt <= 0 || expiresAt >= nowMs;
8
+ });
9
+ }
10
+ export function collectProjectedDelegatees(meta, field, normalizeValue) {
11
+ const members = new Set([...meta.allowedAgents, ...meta.participantAgents].map((agent) => agent.toLowerCase()));
12
+ const revoked = new Set(meta.revokedAgents.map((agent) => agent.toLowerCase()));
13
+ const out = new Map();
14
+ const nowMs = Date.now();
15
+ for (const delegation of meta.delegations) {
16
+ if (!delegationIsCurrentlyActive(delegation.expiresAtValues, nowMs))
17
+ continue;
18
+ for (const rawAgent of delegation.agents) {
19
+ const agent = rawAgent.toLowerCase();
20
+ if (!agent || !members.has(agent) || revoked.has(agent))
21
+ continue;
22
+ const values = out.get(agent) ?? [];
23
+ for (const rawValue of delegation[field]) {
24
+ const value = normalizeValue(rawValue);
25
+ if (value && !values.includes(value))
26
+ values.push(value);
27
+ }
28
+ if (values.length > 0)
29
+ out.set(agent, values);
30
+ }
31
+ }
32
+ return out;
33
+ }
34
+ //# sourceMappingURL=workspace-projected-delegatees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-projected-delegatees.js","sourceRoot":"","sources":["../../src/internal/workspace-projected-delegatees.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAItC,SAAS,2BAA2B,CAAC,eAAkC,EAAE,KAAa;IACpF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA4B,EAC5B,KAAqC,EACrC,cAAyC;IAEzC,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACvF,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC;YAAE,SAAS;QAC9E,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAClE,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ContextGraphMembershipRecord } from './dkg-agent-types.js';
2
+ export type ContextGraphMembershipSnapshot = ReadonlyArray<ContextGraphMembershipRecord & {
3
+ firstSeenAt?: number;
4
+ updatedAt: number;
5
+ }>;
6
+ interface PersistedJoinApprovalProjection {
7
+ readonly principalId: string;
8
+ readonly updatedAt: number;
9
+ readonly curatorPeerId?: string;
10
+ readonly curatorDialAddress?: string;
11
+ }
12
+ export declare function projectPersistedJoinApprovals(persistedMembershipRows: ContextGraphMembershipSnapshot, persistedContextGraphIds: ReadonlySet<string>, localAgentAddresses: ReadonlySet<string>): ReadonlyMap<string, PersistedJoinApprovalProjection>;
13
+ export {};
14
+ //# sourceMappingURL=join-approval-restart-projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join-approval-restart-projection.d.ts","sourceRoot":"","sources":["../src/join-approval-restart-projection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAGzE,MAAM,MAAM,8BAA8B,GAAG,aAAa,CACxD,4BAA4B,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAC3E,CAAC;AAEF,UAAU,+BAA+B;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,wBAAgB,6BAA6B,CAC3C,uBAAuB,EAAE,8BAA8B,EACvD,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAAC,EAC7C,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,GACvC,WAAW,CAAC,MAAM,EAAE,+BAA+B,CAAC,CA8BtD"}
@@ -0,0 +1,32 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { verifiedCuratorDialAddress } from './curator-dial-address.js';
3
+ export function projectPersistedJoinApprovals(persistedMembershipRows, persistedContextGraphIds, localAgentAddresses) {
4
+ const newestApprovalByContextGraph = new Map();
5
+ for (const membership of persistedMembershipRows) {
6
+ const principalId = membership.principalId.toLowerCase();
7
+ if (membership.principalType !== 'agent' ||
8
+ membership.status !== 'active' ||
9
+ membership.source !== 'join-approved' ||
10
+ !persistedContextGraphIds.has(membership.contextGraphId) ||
11
+ !localAgentAddresses.has(principalId)) {
12
+ continue;
13
+ }
14
+ const existing = newestApprovalByContextGraph.get(membership.contextGraphId);
15
+ if (!existing || membership.updatedAt > existing.updatedAt) {
16
+ const curatorPeerId = typeof membership.metadata?.['curatorPeerId'] === 'string' &&
17
+ membership.metadata['curatorPeerId'].trim()
18
+ ? membership.metadata['curatorPeerId'].trim()
19
+ : undefined;
20
+ newestApprovalByContextGraph.set(membership.contextGraphId, {
21
+ principalId,
22
+ updatedAt: membership.updatedAt,
23
+ curatorPeerId,
24
+ curatorDialAddress: curatorPeerId
25
+ ? verifiedCuratorDialAddress(membership.metadata?.['curatorDialAddress'], curatorPeerId)
26
+ : undefined,
27
+ });
28
+ }
29
+ }
30
+ return newestApprovalByContextGraph;
31
+ }
32
+ //# sourceMappingURL=join-approval-restart-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join-approval-restart-projection.js","sourceRoot":"","sources":["../src/join-approval-restart-projection.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAGtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAavE,MAAM,UAAU,6BAA6B,CAC3C,uBAAuD,EACvD,wBAA6C,EAC7C,mBAAwC;IAExC,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAA2C,CAAC;IACxF,KAAK,MAAM,UAAU,IAAI,uBAAuB,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACzD,IACE,UAAU,CAAC,aAAa,KAAK,OAAO;YACpC,UAAU,CAAC,MAAM,KAAK,QAAQ;YAC9B,UAAU,CAAC,MAAM,KAAK,eAAe;YACrC,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;YACxD,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EACrC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC3D,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,KAAK,QAAQ;gBAC9E,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;gBAC3C,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;gBAC7C,CAAC,CAAC,SAAS,CAAC;YACd,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE;gBAC1D,WAAW;gBACX,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,aAAa;gBACb,kBAAkB,EAAE,aAAa;oBAC/B,CAAC,CAAC,0BAA0B,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC;oBACxF,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,4BAA4B,CAAC;AACtC,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Configuration for a {@link KeyedPersistScheduler}. Each persistence domain
3
+ * (membership, subscription, ...) supplies its own bounds and typed errors so a
4
+ * caller can still branch on `instanceof` and on the stable error `code`.
5
+ */
6
+ export interface KeyedPersistSchedulerOptions {
7
+ /**
8
+ * Lower-case noun phrase naming the domain, for example
9
+ * `context-graph membership persistence`. It appears in bound and reopen
10
+ * error messages.
11
+ */
12
+ readonly label: string;
13
+ /** Distinct keys that may hold a lane at once. */
14
+ readonly maxLanes: number;
15
+ /** Writes one key may hold pending behind its active write. */
16
+ readonly maxPendingPerLane: number;
17
+ /** Builds the rejection for a lane or pending-write bound. */
18
+ readonly queueFullError: (message: string) => Error;
19
+ /** Builds the rejection for admission after {@link KeyedPersistScheduler.closeAndDrain}. */
20
+ readonly queueClosedError: () => Error;
21
+ }
22
+ export interface KeyedPersistSchedulerStatus {
23
+ closed: boolean;
24
+ lanes: number;
25
+ active: number;
26
+ pending: number;
27
+ }
28
+ /**
29
+ * Bounded keyed serialization for persistent-store mutations.
30
+ *
31
+ * Writes for one key run one at a time in arrival order; writes for different
32
+ * keys run concurrently. That is what lets a task on key A enqueue and await a
33
+ * task on key B, on this scheduler or another, without deadlocking.
34
+ *
35
+ * Strict operations preserve FIFO order and receive explicit backpressure.
36
+ * Adjacent background mutations coalesce to their latest write while the
37
+ * displaced caller settles successfully: those callers are deliberately
38
+ * best-effort, and only the final persisted state is meaningful.
39
+ *
40
+ * A write that rejects settles only its own caller. The lane keeps draining,
41
+ * so one failed write never stalls or poisons the next one for that key.
42
+ *
43
+ * `closeAndDrain()` fences admission synchronously and resolves once every
44
+ * admitted write, including those still pending, has physically settled.
45
+ * `reopen()` admits new work again after a drain.
46
+ */
47
+ export declare class KeyedPersistScheduler {
48
+ private readonly lanes;
49
+ private readonly label;
50
+ private readonly maxLanes;
51
+ private readonly maxPendingPerLane;
52
+ private readonly queueFullError;
53
+ private readonly queueClosedError;
54
+ private closed;
55
+ constructor(options: KeyedPersistSchedulerOptions);
56
+ enqueue(key: string, write: () => Promise<void>, options?: {
57
+ strict?: boolean;
58
+ }): Promise<void>;
59
+ closeAndDrain(): Promise<void>;
60
+ reopen(): void;
61
+ /** True while `key` has an active or pending write. */
62
+ hasLane(key: string): boolean;
63
+ status(): KeyedPersistSchedulerStatus;
64
+ private runLane;
65
+ }
66
+ /**
67
+ * Resolves `true` when `drain` settles within `timeoutMs`, `false` when the
68
+ * timer wins. The timer is unref'd and always cleared, so it never holds the
69
+ * process open and never outlives the race.
70
+ */
71
+ export declare function drainsWithin(drain: Promise<unknown>, timeoutMs: number): Promise<boolean>;
72
+ //# sourceMappingURL=keyed-persist-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyed-persist-scheduler.d.ts","sourceRoot":"","sources":["../src/keyed-persist-scheduler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;IACpD,4FAA4F;IAC5F,QAAQ,CAAC,gBAAgB,EAAE,MAAM,KAAK,CAAC;CACxC;AAgBD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAc;IAC/C,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,4BAA4B;IAcjD,OAAO,CACL,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACjC,OAAO,CAAC,IAAI,CAAC;IAyChB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,MAAM,IAAI,IAAI;IAOd,uDAAuD;IACvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,MAAM,IAAI,2BAA2B;YAUvB,OAAO;CActB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW/F"}