@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
@@ -1,6 +1,11 @@
1
1
  import { DKGAgentBase } from './dkg-agent-base.js';
2
2
  import type { DKGAgent } from './dkg-agent.js';
3
3
  export type Rfc64CatalogMetadataBootstrapOutcomeV1 = 'system-graph' | 'local-author' | 'not-subscribed' | 'no-accepted-public-policy' | 'already-confirmed' | 'no-connected-peers' | 'fetched' | 'not-found';
4
+ /** Public registration already authenticated by the explicit subscribe route. */
5
+ export interface RegisteredPublicMetadataBootstrapProofV1 {
6
+ readonly contextGraphId: string;
7
+ readonly onChainId: string;
8
+ }
4
9
  export declare class Rfc64MetaBootstrapMethods extends DKGAgentBase {
5
10
  /**
6
11
  * Pull `<cg>/_meta` for a newly active RFC-64 public replica from peers that
@@ -9,7 +14,7 @@ export declare class Rfc64MetaBootstrapMethods extends DKGAgentBase {
9
14
  * error, rejected snapshot) is a miss, and a miss keeps the local state
10
15
  * exactly as it was: no metadata is installed, no lane changes.
11
16
  */
12
- bootstrapRfc64CatalogContextGraphMetadataFromPeersV1(this: DKGAgent, contextGraphId: string, signal?: AbortSignal): Promise<Rfc64CatalogMetadataBootstrapOutcomeV1>;
17
+ bootstrapRfc64CatalogContextGraphMetadataFromPeersV1(this: DKGAgent, contextGraphId: string, signal?: AbortSignal, registeredPublicProof?: Readonly<RegisteredPublicMetadataBootstrapProofV1>): Promise<Rfc64CatalogMetadataBootstrapOutcomeV1>;
13
18
  private runRfc64CatalogContextGraphMetadataBootstrapV1;
14
19
  }
15
20
  //# sourceMappingURL=dkg-agent-rfc64-meta-bootstrap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dkg-agent-rfc64-meta-bootstrap.d.ts","sourceRoot":"","sources":["../src/dkg-agent-rfc64-meta-bootstrap.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,MAAM,sCAAsC,GAC9C,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,SAAS,GACT,WAAW,CAAC;AAQhB,qBAAa,yBAA0B,SAAQ,YAAY;IACzD;;;;;;OAMG;IACH,oDAAoD,CAClD,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sCAAsC,CAAC;YAgBpC,8CAA8C;CAwE7D"}
1
+ {"version":3,"file":"dkg-agent-rfc64-meta-bootstrap.d.ts","sourceRoot":"","sources":["../src/dkg-agent-rfc64-meta-bootstrap.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,MAAM,sCAAsC,GAC9C,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,SAAS,GACT,WAAW,CAAC;AAEhB,iFAAiF;AACjF,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAWD,qBAAa,yBAA0B,SAAQ,YAAY;IACzD;;;;;;OAMG;IACH,oDAAoD,CAClD,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,qBAAqB,CAAC,EAAE,QAAQ,CAAC,wCAAwC,CAAC,GACzE,OAAO,CAAC,sCAAsC,CAAC;YA8BpC,8CAA8C;CA+E7D"}
@@ -32,7 +32,7 @@ import { SYSTEM_CONTEXT_GRAPHS, createOperationContext, } from '@origintrail-off
32
32
  import { DKGAgentBase } from './dkg-agent-base.js';
33
33
  import { runCuratorMetaRefreshFromPeer } from './curator-meta-refresh.js';
34
34
  import { rfc64UnregisteredAuthorityOwnerV1 } from './rfc64/unregistered-authority-transport-v1.js';
35
- /** One in-flight bootstrap per (agent, graph); concurrent callers share it. */
35
+ /** One in-flight bootstrap per (agent, graph); only equivalent authority shares it. */
36
36
  const rfc64MetadataBootstrapsInFlightV1 = new WeakMap();
37
37
  export class Rfc64MetaBootstrapMethods extends DKGAgentBase {
38
38
  /**
@@ -42,24 +42,33 @@ export class Rfc64MetaBootstrapMethods extends DKGAgentBase {
42
42
  * error, rejected snapshot) is a miss, and a miss keeps the local state
43
43
  * exactly as it was: no metadata is installed, no lane changes.
44
44
  */
45
- bootstrapRfc64CatalogContextGraphMetadataFromPeersV1(contextGraphId, signal) {
45
+ bootstrapRfc64CatalogContextGraphMetadataFromPeersV1(contextGraphId, signal, registeredPublicProof) {
46
46
  let inFlight = rfc64MetadataBootstrapsInFlightV1.get(this);
47
47
  if (inFlight === undefined) {
48
48
  inFlight = new Map();
49
49
  rfc64MetadataBootstrapsInFlightV1.set(this, inFlight);
50
50
  }
51
+ const proofKey = registeredPublicProof === undefined
52
+ ? undefined
53
+ : `${registeredPublicProof.contextGraphId}\0${registeredPublicProof.onChainId}`;
51
54
  const existing = inFlight.get(contextGraphId);
52
- if (existing !== undefined)
53
- return existing;
54
- const run = this.runRfc64CatalogContextGraphMetadataBootstrapV1(contextGraphId, signal)
55
+ if (existing !== undefined) {
56
+ if (existing.proofKey === proofKey)
57
+ return existing.promise;
58
+ // An activation pull without chain admission may be in flight when an
59
+ // explicit subscribe proves public registration. Run that stronger pull
60
+ // after the first generation settles; never reuse its weaker outcome.
61
+ return existing.promise.catch(() => undefined).then(() => this.bootstrapRfc64CatalogContextGraphMetadataFromPeersV1(contextGraphId, signal, registeredPublicProof));
62
+ }
63
+ const run = this.runRfc64CatalogContextGraphMetadataBootstrapV1(contextGraphId, signal, registeredPublicProof)
55
64
  .finally(() => {
56
- if (inFlight.get(contextGraphId) === run)
65
+ if (inFlight.get(contextGraphId)?.promise === run)
57
66
  inFlight.delete(contextGraphId);
58
67
  });
59
- inFlight.set(contextGraphId, run);
68
+ inFlight.set(contextGraphId, { proofKey, promise: run });
60
69
  return run;
61
70
  }
62
- async runRfc64CatalogContextGraphMetadataBootstrapV1(contextGraphId, signal) {
71
+ async runRfc64CatalogContextGraphMetadataBootstrapV1(contextGraphId, signal, registeredPublicProof) {
63
72
  signal?.throwIfAborted();
64
73
  if (Object.values(SYSTEM_CONTEXT_GRAPHS).includes(contextGraphId)) {
65
74
  return 'system-graph';
@@ -70,19 +79,26 @@ export class Rfc64MetaBootstrapMethods extends DKGAgentBase {
70
79
  if (this.subscribedContextGraphs.get(contextGraphId)?.subscribed !== true) {
71
80
  return 'not-subscribed';
72
81
  }
73
- // Fail closed: only an accepted PUBLIC policy may drive this pull. A
82
+ // Fail closed: only authenticated PUBLIC authority may drive this pull. A
74
83
  // private graph's metadata arrives through the authenticated join-approval
75
- // path, and a graph with no accepted policy has no business fetching.
84
+ // path. An explicit subscribe may already have proved a registered public
85
+ // graph against current chain authority before the catalog service holds
86
+ // that policy. Carry that exact admission proof into this catch-up job;
87
+ // background activation without one never starts a new chain read here.
76
88
  const accepted = this.readAcceptedRfc64CatalogAccessSnapshotV1(contextGraphId);
77
- if (accepted === null || accepted.policy.accessPolicy !== 0) {
89
+ if (accepted?.policy.accessPolicy === 1)
90
+ return 'no-accepted-public-policy';
91
+ if (accepted === null && !(registeredPublicProof?.contextGraphId === contextGraphId
92
+ && /^[1-9][0-9]*$/.test(registeredPublicProof.onChainId)))
78
93
  return 'no-accepted-public-policy';
79
- }
80
94
  // The owner this node already authenticated: the seed signer for an
81
95
  // owner-signed policy, otherwise the wallet namespace of the id. A served
82
96
  // declaration that names a different curator is not this graph's.
83
- const expectedCuratorAddress = accepted.policy.source.kind === 'owner-signed-unregistered'
97
+ const expectedCuratorAddress = accepted?.policy.source.kind === 'owner-signed-unregistered'
84
98
  ? accepted.policy.source.ownerAddress
85
99
  : rfc64UnregisteredAuthorityOwnerV1(contextGraphId) ?? undefined;
100
+ if (expectedCuratorAddress === undefined)
101
+ return 'no-accepted-public-policy';
86
102
  if (await this.hasConfirmedMetaState(contextGraphId).catch(() => false)) {
87
103
  return 'already-confirmed';
88
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dkg-agent-rfc64-meta-bootstrap.js","sourceRoot":"","sources":["../src/dkg-agent-rfc64-meta-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dkg-agent-rfc64-meta-bootstrap.js","sourceRoot":"","sources":["../src/dkg-agent-rfc64-meta-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { DKGAgent } from './dkg-agent.js';
5
5
  import type { Rfc64CatalogBootstrapPartitionV1 } from './dkg-agent-rfc64-catalog-bootstrap.js';
6
6
  import type { Rfc64CatalogWorkloadOwnerV1 } from './rfc64/catalog-runtime-v1.js';
7
7
  import type { Rfc64FinalizedPrivatePlacementRepairV1 } from './rfc64/finalized-private-placement-repair-store-v1.js';
8
+ import { type CatalogRepairDiagnosticV1 } from './rfc64/catalog-repair-diagnostics-v1.js';
8
9
  export type Rfc64PublicCatalogAuthorRepairOutcomeV1 = 'pending' | 'reconciled' | 'no-inventory' | 'failed';
9
10
  export interface Rfc64PublicCatalogAuthorRepairStatusV1 {
10
11
  readonly contextGraphId: ContextGraphIdV1;
@@ -16,6 +17,9 @@ export interface Rfc64PublicCatalogAuthorRepairStatusV1 {
16
17
  readonly inventoryRowCount: string | null;
17
18
  readonly lastError: string | null;
18
19
  readonly updatedAtMs: number | null;
20
+ readonly diagnostic: Readonly<CatalogRepairDiagnosticV1> | null;
21
+ readonly consecutiveFailures: number;
22
+ readonly nextAttemptAtMs: number | null;
19
23
  }
20
24
  export interface Rfc64SwmCatalogProjectionSupervisorStatusV1 {
21
25
  readonly running: boolean;
@@ -36,6 +40,7 @@ interface ProjectionOwnerDependenciesV1 {
36
40
  readonly listLocalAuthorAddresses: () => readonly EvmAddressV1[];
37
41
  readonly acceptsPublicRootLane: (contextGraphId: ContextGraphIdV1) => boolean;
38
42
  readonly acceptsFinalizedPrivateLane: (contextGraphId: ContextGraphIdV1) => boolean;
43
+ readonly readRepairRevision: (contextGraphId: ContextGraphIdV1, authorAddress: EvmAddressV1) => string | null;
39
44
  readonly listFinalizedPrivateRepairs: () => readonly Readonly<Rfc64FinalizedPrivatePlacementRepairV1>[];
40
45
  readonly repairFinalizedPrivatePlacement: (repair: Readonly<Rfc64FinalizedPrivatePlacementRepairV1>) => Promise<void>;
41
46
  readonly reconcile: (params: Readonly<{
@@ -49,6 +54,8 @@ interface ProjectionOwnerDependenciesV1 {
49
54
  export declare class Rfc64SwmCatalogProjectionOwnerV1 implements Rfc64CatalogWorkloadOwnerV1 {
50
55
  #private;
51
56
  constructor(dependencies: ProjectionOwnerDependenciesV1);
57
+ /** Observe a real inactive edge without reopening admission or starting work. */
58
+ observeLaneAvailability(contextGraphId: string): void;
52
59
  start(ctx: OperationContext): void;
53
60
  request(params: Readonly<{
54
61
  readonly contextGraphId: ContextGraphIdV1;
@@ -66,6 +73,7 @@ export declare class Rfc64SwmCatalogProjectionOwnerV1 implements Rfc64CatalogWor
66
73
  }
67
74
  export declare function bindRfc64SwmCatalogProjectionOwnerV1(agent: DKGAgent, owner: Rfc64SwmCatalogProjectionOwnerV1): Rfc64SwmCatalogProjectionOwnerV1;
68
75
  export declare class Rfc64SwmCatalogProjectionSupervisorMethods extends DKGAgentBase {
76
+ observeRfc64SwmCatalogProjectionLaneAvailabilityV1(this: DKGAgent, contextGraphId: string): void;
69
77
  /** Seed bounded local-author projection work from selected catalog scopes. */
70
78
  startRfc64SwmCatalogProjectionSupervisorV1(this: DKGAgent, ctx: OperationContext): void;
71
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts","sourceRoot":"","sources":["../src/dkg-agent-rfc64-swm-catalog-projection-supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts","sourceRoot":"","sources":["../src/dkg-agent-rfc64-swm-catalog-projection-supervisor.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  /** Restart-safe local SWM-inventory to catalog projection supervisor. */
3
3
  import { assertCanonicalEvmAddress, assertContextGraphIdV1, createOperationContext, } from '@origintrail-official/dkg-core';
4
+ import { withDefaultStoreWorkPriority } from '@origintrail-official/dkg-storage';
4
5
  import { DKGAgentBase } from './dkg-agent-base.js';
5
6
  import { mapWithConcurrency } from './map-with-concurrency.js';
6
7
  import { CoalescingRecurringTask } from './coalescing-recurring-task.js';
7
- import { boundedRfc64SupervisorErrorV1, rfc64SupervisorErrorMessageV1, } from './rfc64/supervisor-status-v1.js';
8
+ import { catalogRepairDiagnosticV1, catalogRepairErrorSummaryV1, CatalogRepairLaneInactiveErrorV1, } from './rfc64/catalog-repair-diagnostics-v1.js';
9
+ import { CatalogRepairRetryV1 } from './rfc64/catalog-repair-retry-v1.js';
8
10
  const MAX_CONCURRENT_REPAIRS_V1 = 4;
9
11
  const DEFAULT_PROJECTION_RETRY_INTERVAL_MS_V1 = 5_000;
10
12
  /** Feature-local owner for projection admission, mutable repair state, and its runner. */
@@ -15,6 +17,31 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
15
17
  constructor(dependencies) {
16
18
  this.#dependencies = dependencies;
17
19
  }
20
+ /** Observe a real inactive edge without reopening admission or starting work. */
21
+ observeLaneAvailability(contextGraphId) {
22
+ if (this.#admissionClosed || this.#state === undefined)
23
+ return;
24
+ for (const repair of this.#state.repairs) {
25
+ if (repair.contextGraphId !== contextGraphId)
26
+ continue;
27
+ try {
28
+ if (!this.#dependencies.acceptsPublicRootLane(repair.contextGraphId)) {
29
+ repair.retry.observe(null);
30
+ }
31
+ }
32
+ catch { /* Scheduling hints must not reject a subscription transition. */ }
33
+ }
34
+ for (const entry of this.#state.finalizedPrivateRetries.values()) {
35
+ if (entry.contextGraphId !== contextGraphId)
36
+ continue;
37
+ try {
38
+ if (!this.#dependencies.acceptsFinalizedPrivateLane(entry.contextGraphId)) {
39
+ entry.retry.observe(null);
40
+ }
41
+ }
42
+ catch { /* The periodic admission check remains authoritative. */ }
43
+ }
44
+ }
18
45
  start(ctx) {
19
46
  this.#admissionClosed = false;
20
47
  const partition = this.#dependencies.resolvePartition();
@@ -45,21 +72,10 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
45
72
  existing.repairs.push(repair);
46
73
  publicRepairRequested = true;
47
74
  }
48
- else if (current.outcome === 'failed') {
49
- // Re-entering start is an authorization/subscription transition, not
50
- // a new inventory observation. Retry a failed repair, but do not turn
51
- // a completed no-inventory or reconciled result into duplicate work.
52
- current.dirty = true;
53
- publicRepairRequested = true;
54
- }
55
75
  }
56
- // Release-native/default selection has no bootstrap partition to seed
57
- // `repairs`. An authority transition must still revive a repair that
58
- // failed while the lane was temporarily inactive.
59
76
  for (const current of existing.repairs) {
60
- if (!repairKeys.has(`${current.contextGraphId}\n${current.authorAddress}`)
61
- && current.outcome === 'failed'
62
- && this.#dependencies.acceptsPublicRootLane(current.contextGraphId)) {
77
+ const changed = this.#observeRevision(current.retry, current.contextGraphId, current.authorAddress);
78
+ if ((changed || current.outcome === 'failed') && current.retry.eligible(Date.now())) {
63
79
  current.dirty = true;
64
80
  publicRepairRequested = true;
65
81
  }
@@ -83,8 +99,11 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
83
99
  request(params) {
84
100
  if (this.#admissionClosed)
85
101
  return false;
86
- if (!this.#dependencies.acceptsPublicRootLane(params.contextGraphId))
102
+ if (!this.#dependencies.acceptsPublicRootLane(params.contextGraphId)) {
103
+ this.#state?.repairs.find((repair) => repair.contextGraphId === params.contextGraphId
104
+ && repair.authorAddress === params.authorAddress)?.retry.observe(null);
87
105
  return false;
106
+ }
88
107
  let state = this.#state;
89
108
  if (state === undefined) {
90
109
  const retryIntervalMs = this.#dependencies.resolvePartition()?.retryIntervalMs
@@ -100,9 +119,19 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
100
119
  repair = newPendingRepairV1(params.contextGraphId, params.authorAddress);
101
120
  state.repairs.push(repair);
102
121
  }
103
- else {
122
+ const changed = this.#observeRevision(repair.retry, repair.contextGraphId, repair.authorAddress);
123
+ if (changed === undefined) {
124
+ repair.pendingUnknownRequest = true;
104
125
  repair.dirty = true;
105
126
  }
127
+ if (!repair.retry.eligible(Date.now())) {
128
+ // A cheap pass arms the pending mutation's deadline without admitting
129
+ // canonical store work before the unchanged failure cooldown expires.
130
+ if (repair.pendingUnknownRequest)
131
+ state.runner.request();
132
+ return true;
133
+ }
134
+ repair.dirty = true;
106
135
  return state.runner.request();
107
136
  }
108
137
  /** Enqueue one already-durable chain-confirmed private placement transition. */
@@ -114,6 +143,8 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
114
143
  if (this.#admissionClosed)
115
144
  return rejected();
116
145
  if (!this.#dependencies.acceptsFinalizedPrivateLane(params.repair.contextGraphId)) {
146
+ this.#state?.finalizedPrivateRetries.get(finalizedPrivateRepairKeyV1(params.repair))
147
+ ?.retry.observe(null);
117
148
  return rejected();
118
149
  }
119
150
  let state = this.#state;
@@ -150,7 +181,8 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
150
181
  retryIntervalMs: state.retryIntervalMs ?? 0,
151
182
  lastPassStartedAtMs: state.lastPassStartedAtMs,
152
183
  lastPassCompletedAtMs: state.lastPassCompletedAtMs,
153
- repairs: Object.freeze(state.repairs.map(({ dirty: _dirty, ...repair }) => (Object.freeze(repair)))),
184
+ repairs: Object.freeze(state.repairs.map(({ dirty: _dirty, pendingUnknownRequest: _pendingUnknownRequest, retry, ...repair }) => (Object.freeze({ ...repair, consecutiveFailures: retry.consecutiveFailures,
185
+ nextAttemptAtMs: retry.nextAttemptAtMs })))),
154
186
  });
155
187
  }
156
188
  async whenIdle() {
@@ -164,28 +196,43 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
164
196
  const state = this.#state;
165
197
  if (state === undefined)
166
198
  return;
199
+ clearTimeout(state.publicMutationTimer);
200
+ state.publicMutationTimer = undefined;
201
+ clearTimeout(state.finalizedPrivateWaiterTimer);
202
+ state.finalizedPrivateWaiterTimer = undefined;
167
203
  await Promise.all([state.runner.close(), state.finalizedPrivateRunner.close()]);
168
204
  for (const waiters of state.finalizedPrivateAttemptWaiters.values()) {
169
205
  for (const settle of waiters)
170
206
  settle();
171
207
  }
172
208
  state.finalizedPrivateAttemptWaiters.clear();
209
+ state.finalizedPrivateRetries.clear();
173
210
  this.#state = undefined;
174
211
  }
175
212
  #createState(retryIntervalMs, finalizedPrivateRetryIntervalMs, repairs, ctx) {
176
213
  let state;
177
214
  const runner = new CoalescingRecurringTask({
178
215
  retryIntervalMs,
179
- runPass: (signal) => this.#runPass(state, signal),
216
+ runPass: async (signal) => {
217
+ try {
218
+ await this.#runPass(state, signal);
219
+ }
220
+ finally {
221
+ this.#schedulePublicMutationWake(state);
222
+ }
223
+ },
180
224
  onError: (error) => {
181
- this.#dependencies.warn(ctx, `RFC-64 SWM catalog projection pass failed: ${rfc64SupervisorErrorMessageV1(error)}`);
225
+ this.#dependencies.warn(ctx, JSON.stringify({ event: 'catalog_repair_pass_failed', diagnostic: catalogRepairDiagnosticV1(error) }));
182
226
  },
183
227
  beforePeriodicPass: () => {
184
228
  // Live inventory mutations already dirty their exact scope. The timer
185
229
  // is the bounded liveness path for failures, not a reason to rebuild
186
230
  // every healthy catalog from its complete inventory every five seconds.
187
231
  for (const repair of state.repairs) {
188
- if (repair.outcome === 'failed')
232
+ if (repair.outcome !== 'failed')
233
+ continue;
234
+ this.#observeRevision(repair.retry, repair.contextGraphId, repair.authorAddress);
235
+ if (repair.retry.eligible(Date.now()))
189
236
  repair.dirty = true;
190
237
  }
191
238
  },
@@ -193,9 +240,25 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
193
240
  });
194
241
  const finalizedPrivateRunner = new CoalescingRecurringTask({
195
242
  retryIntervalMs: finalizedPrivateRetryIntervalMs,
196
- runPass: (signal) => this.#runFinalizedPrivatePass(state, signal),
243
+ runPass: async (signal) => {
244
+ let failed = false;
245
+ try {
246
+ await this.#runFinalizedPrivatePass(state, signal);
247
+ }
248
+ catch (error) {
249
+ failed = true;
250
+ throw error;
251
+ }
252
+ finally {
253
+ // A failed durable queue read must not spin on an already-due waiter.
254
+ this.#schedulePrivateWaiterWake(state, failed
255
+ ? (finalizedPrivateRetryIntervalMs > 0
256
+ ? finalizedPrivateRetryIntervalMs : DEFAULT_PROJECTION_RETRY_INTERVAL_MS_V1)
257
+ : 0);
258
+ }
259
+ },
197
260
  onError: (error) => {
198
- this.#dependencies.warn(ctx, `RFC-64 finalized-private repair pass failed: ${rfc64SupervisorErrorMessageV1(error)}`);
261
+ this.#dependencies.warn(ctx, JSON.stringify({ event: 'catalog_private_repair_pass_failed', diagnostic: catalogRepairDiagnosticV1(error) }));
199
262
  },
200
263
  closingMessage: 'RFC-64 finalized-private placement repair closing',
201
264
  });
@@ -203,8 +266,11 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
203
266
  retryIntervalMs,
204
267
  repairs,
205
268
  runner,
269
+ publicMutationTimer: undefined,
206
270
  finalizedPrivateRunner,
207
271
  finalizedPrivateAttemptWaiters: new Map(),
272
+ finalizedPrivateWaiterTimer: undefined,
273
+ finalizedPrivateRetries: new Map(),
208
274
  pass: 0,
209
275
  lastPassStartedAtMs: null,
210
276
  lastPassCompletedAtMs: null,
@@ -212,7 +278,7 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
212
278
  return state;
213
279
  }
214
280
  async #runPass(state, signal) {
215
- const pending = state.repairs.filter((repair) => repair.dirty);
281
+ const pending = state.repairs.filter((repair) => repair.dirty && repair.retry.eligible(Date.now()));
216
282
  if (pending.length === 0)
217
283
  return;
218
284
  for (const repair of pending)
@@ -223,7 +289,7 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
223
289
  await mapWithConcurrency(pending, MAX_CONCURRENT_REPAIRS_V1, async (repair) => {
224
290
  if (signal.aborted)
225
291
  return;
226
- await this.#reconcile(repair, signal);
292
+ await this.#reconcile(repair, state.retryIntervalMs, signal);
227
293
  });
228
294
  }
229
295
  finally {
@@ -232,41 +298,154 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
232
298
  }
233
299
  async #runFinalizedPrivatePass(state, signal) {
234
300
  const repairs = this.#dependencies.listFinalizedPrivateRepairs();
301
+ const currentKeys = new Set(repairs.map(finalizedPrivateRepairKeyV1));
302
+ for (const key of state.finalizedPrivateRetries.keys()) {
303
+ if (!currentKeys.has(key))
304
+ state.finalizedPrivateRetries.delete(key);
305
+ }
306
+ for (const key of state.finalizedPrivateAttemptWaiters.keys()) {
307
+ if (!currentKeys.has(key))
308
+ this.#settlePrivateWaiters(state, key);
309
+ }
235
310
  await mapWithConcurrency(repairs, MAX_CONCURRENT_REPAIRS_V1, async (repair) => {
311
+ if (signal.aborted)
312
+ return;
236
313
  const key = finalizedPrivateRepairKeyV1(repair);
314
+ let entry = state.finalizedPrivateRetries.get(key);
315
+ if (entry === undefined) {
316
+ entry = { contextGraphId: repair.contextGraphId, retry: new CatalogRepairRetryV1(), attempts: 0 };
317
+ state.finalizedPrivateRetries.set(key, entry);
318
+ }
319
+ this.#observePrivateLane(entry.retry, repair.contextGraphId);
320
+ if (!entry.retry.eligible(Date.now()))
321
+ return;
322
+ const attemptGeneration = entry.retry.generation;
323
+ entry.attempts += 1;
237
324
  try {
238
- if (signal.aborted)
239
- return;
240
- await this.#dependencies.repairFinalizedPrivatePlacement(repair);
325
+ if (!this.#dependencies.acceptsFinalizedPrivateLane(repair.contextGraphId)) {
326
+ throw new CatalogRepairLaneInactiveErrorV1();
327
+ }
328
+ await withDefaultStoreWorkPriority('background', () => (this.#dependencies.repairFinalizedPrivatePlacement(repair)));
329
+ state.finalizedPrivateRetries.delete(key);
241
330
  }
242
331
  catch (error) {
243
332
  if (!signal.aborted) {
244
- this.#dependencies.warn(createOperationContext('system'), `RFC-64 finalized-private placement repair failed for ${repair.contextGraphId} / ${repair.kaUal}: ${boundedRfc64SupervisorErrorV1(error)}`);
333
+ const changed = this.#observePrivateLane(entry.retry, repair.contextGraphId);
334
+ entry.retry.fail(attemptGeneration, Date.now(), state.retryIntervalMs);
335
+ if (changed)
336
+ state.finalizedPrivateRunner.request();
337
+ this.#warnFailure('catalog_private_repair_failed', error, entry.attempts, entry.retry);
245
338
  }
246
339
  }
247
340
  finally {
248
- const waiters = state.finalizedPrivateAttemptWaiters.get(key);
249
- if (waiters !== undefined) {
250
- state.finalizedPrivateAttemptWaiters.delete(key);
251
- for (const settle of waiters)
252
- settle();
253
- }
341
+ this.#settlePrivateWaiters(state, key);
254
342
  }
255
343
  });
256
344
  }
257
- async #reconcile(repair, signal) {
345
+ #settlePrivateWaiters(state, key) {
346
+ const waiters = state.finalizedPrivateAttemptWaiters.get(key);
347
+ state.finalizedPrivateAttemptWaiters.delete(key);
348
+ if (waiters !== undefined)
349
+ for (const settle of waiters)
350
+ settle();
351
+ }
352
+ /** Retain explicit mutations whose revision hint was unavailable, even in one-pass mode. */
353
+ #schedulePublicMutationWake(state) {
354
+ clearTimeout(state.publicMutationTimer);
355
+ state.publicMutationTimer = undefined;
356
+ if (this.#state !== state || this.#admissionClosed || state.runner.closed)
357
+ return;
358
+ let earliest = Infinity;
359
+ for (const repair of state.repairs) {
360
+ if (repair.pendingUnknownRequest) {
361
+ earliest = Math.min(earliest, repair.retry.nextAttemptAtMs ?? Date.now());
362
+ }
363
+ }
364
+ if (!Number.isFinite(earliest))
365
+ return;
366
+ state.publicMutationTimer = setTimeout(() => {
367
+ state.publicMutationTimer = undefined;
368
+ if (this.#state !== state || this.#admissionClosed || state.runner.closed)
369
+ return;
370
+ for (const repair of state.repairs) {
371
+ if (repair.pendingUnknownRequest)
372
+ repair.dirty = true;
373
+ }
374
+ state.runner.request();
375
+ }, Math.min(2_147_483_647, Math.max(0, earliest - Date.now())));
376
+ state.publicMutationTimer.unref?.();
377
+ }
378
+ /** Accepted cooldown requests need one wake even when periodic retries are disabled. */
379
+ #schedulePrivateWaiterWake(state, minimumDelayMs) {
380
+ clearTimeout(state.finalizedPrivateWaiterTimer);
381
+ state.finalizedPrivateWaiterTimer = undefined;
382
+ if (this.#state !== state || this.#admissionClosed || state.finalizedPrivateRunner.closed)
383
+ return;
384
+ let earliest = Infinity;
385
+ for (const key of state.finalizedPrivateAttemptWaiters.keys()) {
386
+ const deadline = state.finalizedPrivateRetries.get(key)?.retry.nextAttemptAtMs;
387
+ earliest = Math.min(earliest, deadline ?? Date.now());
388
+ }
389
+ if (!Number.isFinite(earliest))
390
+ return;
391
+ state.finalizedPrivateWaiterTimer = setTimeout(() => {
392
+ state.finalizedPrivateWaiterTimer = undefined;
393
+ if (this.#state === state && !this.#admissionClosed && !state.finalizedPrivateRunner.closed) {
394
+ state.finalizedPrivateRunner.request();
395
+ }
396
+ }, Math.min(2_147_483_647, Math.max(minimumDelayMs, earliest - Date.now())));
397
+ state.finalizedPrivateWaiterTimer.unref?.();
398
+ }
399
+ #observePrivateLane(retry, contextGraphId) {
400
+ try {
401
+ // Exact durable identity already partitions private retries. An unrelated
402
+ // mutation of the author's inventory must not reset this repair's backoff.
403
+ return retry.observe(this.#dependencies.acceptsFinalizedPrivateLane(contextGraphId) ? 'active' : null);
404
+ }
405
+ catch {
406
+ return false;
407
+ }
408
+ }
409
+ #observeRevision(retry, contextGraphId, authorAddress) {
410
+ try {
411
+ const active = this.#dependencies.acceptsPublicRootLane(contextGraphId);
412
+ return retry.observe(active
413
+ ? this.#dependencies.readRepairRevision(contextGraphId, authorAddress) : null);
414
+ }
415
+ catch {
416
+ // A hint failure must not reject the mutation caller or reset its cooldown.
417
+ return undefined;
418
+ }
419
+ }
420
+ #warnFailure(event, error, attempt, retry) {
421
+ try {
422
+ this.#dependencies.warn(createOperationContext('system'), JSON.stringify({
423
+ event, diagnostic: catalogRepairDiagnosticV1(error), attempt,
424
+ consecutiveFailures: retry.consecutiveFailures, nextAttemptAtMs: retry.nextAttemptAtMs,
425
+ }));
426
+ }
427
+ catch { /* Diagnostics must not alter repair state or waiter settlement. */ }
428
+ }
429
+ async #reconcile(repair, retryIntervalMs, signal) {
430
+ // Consume only at actual admission. A newer unknown mutation received
431
+ // during this attempt must survive both its success and failure paths.
432
+ repair.pendingUnknownRequest = false;
433
+ this.#observeRevision(repair.retry, repair.contextGraphId, repair.authorAddress);
434
+ const attemptGeneration = repair.retry.generation;
258
435
  repair.attempts += 1;
259
436
  try {
260
437
  if (!this.#dependencies.acceptsPublicRootLane(repair.contextGraphId)) {
261
- throw new Error('RFC-64 SWM catalog projection lane is temporarily inactive');
438
+ throw new CatalogRepairLaneInactiveErrorV1();
262
439
  }
263
- const reconciliation = await this.#dependencies.reconcile({
440
+ const reconciliation = await withDefaultStoreWorkPriority('background', () => this.#dependencies.reconcile({
264
441
  contextGraphId: repair.contextGraphId,
265
442
  authorAddress: repair.authorAddress,
266
443
  signal,
267
- });
444
+ }));
268
445
  if (signal.aborted)
269
446
  return;
447
+ repair.retry.reset();
448
+ repair.diagnostic = null;
270
449
  if (reconciliation === null) {
271
450
  Object.assign(repair, {
272
451
  outcome: 'no-inventory',
@@ -291,15 +470,28 @@ export class Rfc64SwmCatalogProjectionOwnerV1 {
291
470
  catch (error) {
292
471
  if (signal.aborted)
293
472
  return;
473
+ const changed = this.#observeRevision(repair.retry, repair.contextGraphId, repair.authorAddress);
474
+ if (repair.retry.fail(attemptGeneration, Date.now(), retryIntervalMs)) {
475
+ // Duplicate same-head wakes received while this attempt was active do
476
+ // not get to bypass the newly established failure deadline.
477
+ repair.dirty = repair.pendingUnknownRequest;
478
+ }
479
+ else {
480
+ repair.dirty = true;
481
+ // A head may change without an explicit notification while draining.
482
+ if (changed)
483
+ this.#state?.runner.request();
484
+ }
294
485
  Object.assign(repair, {
295
486
  outcome: 'failed',
296
487
  inventoryHeadObjectDigest: null,
297
488
  catalogVersion: null,
298
489
  inventoryRowCount: null,
299
- lastError: boundedRfc64SupervisorErrorV1(error),
490
+ lastError: catalogRepairErrorSummaryV1(error),
491
+ diagnostic: catalogRepairDiagnosticV1(error),
300
492
  updatedAtMs: Date.now(),
301
493
  });
302
- this.#dependencies.warn(createOperationContext('system'), `RFC-64 local SWM catalog projection failed for ${repair.contextGraphId} / ${repair.authorAddress}: ${rfc64SupervisorErrorMessageV1(error)}`);
494
+ this.#warnFailure('catalog_repair_failed', error, repair.attempts, repair.retry);
303
495
  }
304
496
  }
305
497
  }
@@ -329,18 +521,35 @@ function newPendingRepairV1(contextGraphId, authorAddress) {
329
521
  lastError: null,
330
522
  updatedAtMs: null,
331
523
  dirty: true,
524
+ pendingUnknownRequest: false,
525
+ diagnostic: null,
526
+ retry: new CatalogRepairRetryV1(),
332
527
  };
333
528
  }
334
529
  function finalizedPrivateRepairKeyV1(repair) {
335
530
  return JSON.stringify([
531
+ repair.version,
336
532
  repair.contextGraphId,
337
533
  repair.authorAddress,
534
+ repair.inventoryScope.networkId,
535
+ repair.inventoryScope.contextGraphId,
536
+ repair.inventoryScope.governanceChainId,
537
+ repair.inventoryScope.governanceContractAddress,
538
+ repair.inventoryScope.ownershipTransitionDigest,
539
+ repair.inventoryScope.authorAddress,
540
+ repair.inventoryScope.subGraphName,
541
+ repair.inventoryScope.era,
542
+ repair.assertionCoordinate,
338
543
  repair.kaUal,
339
544
  repair.assertionVersion,
340
545
  repair.sealDigest,
341
546
  ]);
342
547
  }
343
548
  export class Rfc64SwmCatalogProjectionSupervisorMethods extends DKGAgentBase {
549
+ observeRfc64SwmCatalogProjectionLaneAvailabilityV1(contextGraphId) {
550
+ // Subscription selection can be initialized before the workload is bound.
551
+ projectionOwnersV1.get(this)?.observeLaneAvailability(contextGraphId);
552
+ }
344
553
  /** Seed bounded local-author projection work from selected catalog scopes. */
345
554
  startRfc64SwmCatalogProjectionSupervisorV1(ctx) {
346
555
  projectionOwnerV1(this).start(ctx);