@origintrail-official/dkg-agent 10.0.20 → 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 (535) 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/context-graph-member-proof.d.ts +13 -0
  18. package/dist/context-graph-member-proof.d.ts.map +1 -1
  19. package/dist/context-graph-member-proof.js +36 -0
  20. package/dist/context-graph-member-proof.js.map +1 -1
  21. package/dist/context-graph-membership-persist-scheduler.d.ts +7 -23
  22. package/dist/context-graph-membership-persist-scheduler.d.ts.map +1 -1
  23. package/dist/context-graph-membership-persist-scheduler.js +12 -88
  24. package/dist/context-graph-membership-persist-scheduler.js.map +1 -1
  25. package/dist/context-graph-meta-projection.d.ts +13 -2
  26. package/dist/context-graph-meta-projection.d.ts.map +1 -1
  27. package/dist/context-graph-meta-projection.js +61 -24
  28. package/dist/context-graph-meta-projection.js.map +1 -1
  29. package/dist/context-graph-private-meta-proof.d.ts +5 -0
  30. package/dist/context-graph-private-meta-proof.d.ts.map +1 -1
  31. package/dist/context-graph-private-meta-proof.js +23 -0
  32. package/dist/context-graph-private-meta-proof.js.map +1 -1
  33. package/dist/context-graph-read-authority.d.ts +13 -0
  34. package/dist/context-graph-read-authority.d.ts.map +1 -1
  35. package/dist/context-graph-read-authority.js +23 -3
  36. package/dist/context-graph-read-authority.js.map +1 -1
  37. package/dist/context-graph-storage-discovery.d.ts +11 -2
  38. package/dist/context-graph-storage-discovery.d.ts.map +1 -1
  39. package/dist/context-graph-storage-discovery.js +11 -2
  40. package/dist/context-graph-storage-discovery.js.map +1 -1
  41. package/dist/context-graph-subscription-persist-scheduler.d.ts +52 -0
  42. package/dist/context-graph-subscription-persist-scheduler.d.ts.map +1 -0
  43. package/dist/context-graph-subscription-persist-scheduler.js +78 -0
  44. package/dist/context-graph-subscription-persist-scheduler.js.map +1 -0
  45. package/dist/curator-dial-address.d.ts +16 -0
  46. package/dist/curator-dial-address.d.ts.map +1 -0
  47. package/dist/curator-dial-address.js +58 -0
  48. package/dist/curator-dial-address.js.map +1 -0
  49. package/dist/curator-meta-refresh.d.ts +2 -0
  50. package/dist/curator-meta-refresh.d.ts.map +1 -1
  51. package/dist/curator-meta-refresh.js +2 -44
  52. package/dist/curator-meta-refresh.js.map +1 -1
  53. package/dist/curator-peer-connection.d.ts +21 -0
  54. package/dist/curator-peer-connection.d.ts.map +1 -0
  55. package/dist/curator-peer-connection.js +41 -0
  56. package/dist/curator-peer-connection.js.map +1 -0
  57. package/dist/dkg-agent-base.d.ts +94 -22
  58. package/dist/dkg-agent-base.d.ts.map +1 -1
  59. package/dist/dkg-agent-base.js +97 -144
  60. package/dist/dkg-agent-base.js.map +1 -1
  61. package/dist/dkg-agent-cg-registry.d.ts +10 -0
  62. package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
  63. package/dist/dkg-agent-cg-registry.js +176 -115
  64. package/dist/dkg-agent-cg-registry.js.map +1 -1
  65. package/dist/dkg-agent-cg-resolve.d.ts +6 -4
  66. package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
  67. package/dist/dkg-agent-cg-resolve.js +22 -16
  68. package/dist/dkg-agent-cg-resolve.js.map +1 -1
  69. package/dist/dkg-agent-constants.d.ts +4 -2
  70. package/dist/dkg-agent-constants.d.ts.map +1 -1
  71. package/dist/dkg-agent-constants.js +4 -2
  72. package/dist/dkg-agent-constants.js.map +1 -1
  73. package/dist/dkg-agent-crypto.d.ts +101 -21
  74. package/dist/dkg-agent-crypto.d.ts.map +1 -1
  75. package/dist/dkg-agent-crypto.js +670 -152
  76. package/dist/dkg-agent-crypto.js.map +1 -1
  77. package/dist/dkg-agent-helpers.d.ts +2 -2
  78. package/dist/dkg-agent-helpers.d.ts.map +1 -1
  79. package/dist/dkg-agent-helpers.js +3 -3
  80. package/dist/dkg-agent-helpers.js.map +1 -1
  81. package/dist/dkg-agent-join.d.ts +12 -1
  82. package/dist/dkg-agent-join.d.ts.map +1 -1
  83. package/dist/dkg-agent-join.js +80 -92
  84. package/dist/dkg-agent-join.js.map +1 -1
  85. package/dist/dkg-agent-lifecycle.d.ts +58 -15
  86. package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
  87. package/dist/dkg-agent-lifecycle.js +295 -114
  88. package/dist/dkg-agent-lifecycle.js.map +1 -1
  89. package/dist/dkg-agent-publish.d.ts +33 -40
  90. package/dist/dkg-agent-publish.d.ts.map +1 -1
  91. package/dist/dkg-agent-publish.js +190 -256
  92. package/dist/dkg-agent-publish.js.map +1 -1
  93. package/dist/dkg-agent-query.d.ts +7 -0
  94. package/dist/dkg-agent-query.d.ts.map +1 -1
  95. package/dist/dkg-agent-query.js +75 -63
  96. package/dist/dkg-agent-query.js.map +1 -1
  97. package/dist/dkg-agent-registered-private-empty-vm.d.ts +70 -0
  98. package/dist/dkg-agent-registered-private-empty-vm.d.ts.map +1 -0
  99. package/dist/dkg-agent-registered-private-empty-vm.js +133 -0
  100. package/dist/dkg-agent-registered-private-empty-vm.js.map +1 -0
  101. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts +8 -3
  102. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts.map +1 -1
  103. package/dist/dkg-agent-rfc64-catalog-auto-publish.js +45 -51
  104. package/dist/dkg-agent-rfc64-catalog-auto-publish.js.map +1 -1
  105. package/dist/dkg-agent-rfc64-catalog.d.ts +63 -87
  106. package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
  107. package/dist/dkg-agent-rfc64-catalog.js +595 -551
  108. package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
  109. package/dist/dkg-agent-swm-host.d.ts +43 -52
  110. package/dist/dkg-agent-swm-host.d.ts.map +1 -1
  111. package/dist/dkg-agent-swm-host.js +629 -812
  112. package/dist/dkg-agent-swm-host.js.map +1 -1
  113. package/dist/dkg-agent-swm-state.d.ts +15 -0
  114. package/dist/dkg-agent-swm-state.d.ts.map +1 -1
  115. package/dist/dkg-agent-swm-state.js +43 -0
  116. package/dist/dkg-agent-swm-state.js.map +1 -1
  117. package/dist/dkg-agent-swm-substrate.d.ts +2 -0
  118. package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
  119. package/dist/dkg-agent-swm-substrate.js +110 -53
  120. package/dist/dkg-agent-swm-substrate.js.map +1 -1
  121. package/dist/dkg-agent-types.d.ts +62 -26
  122. package/dist/dkg-agent-types.d.ts.map +1 -1
  123. package/dist/dkg-agent-types.js.map +1 -1
  124. package/dist/dkg-agent-vm-promotion.d.ts +2 -0
  125. package/dist/dkg-agent-vm-promotion.d.ts.map +1 -1
  126. package/dist/dkg-agent-vm-promotion.js +39 -5
  127. package/dist/dkg-agent-vm-promotion.js.map +1 -1
  128. package/dist/dkg-agent.d.ts +8 -1
  129. package/dist/dkg-agent.d.ts.map +1 -1
  130. package/dist/dkg-agent.js +75 -45
  131. package/dist/dkg-agent.js.map +1 -1
  132. package/dist/exact-graph-content-verifier.d.ts.map +1 -1
  133. package/dist/exact-graph-content-verifier.js +3 -2
  134. package/dist/exact-graph-content-verifier.js.map +1 -1
  135. package/dist/finalization-handler.d.ts +19 -207
  136. package/dist/finalization-handler.d.ts.map +1 -1
  137. package/dist/finalization-handler.js +79 -1646
  138. package/dist/finalization-handler.js.map +1 -1
  139. package/dist/finalization-recovery-worker.js +1 -1
  140. package/dist/finalization-recovery-worker.js.map +1 -1
  141. package/dist/finalized-authority-cold-resolution.d.ts +6 -1
  142. package/dist/finalized-authority-cold-resolution.d.ts.map +1 -1
  143. package/dist/finalized-authority-cold-resolution.js +22 -3
  144. package/dist/finalized-authority-cold-resolution.js.map +1 -1
  145. package/dist/gossip-session.d.ts +29 -0
  146. package/dist/gossip-session.d.ts.map +1 -0
  147. package/dist/gossip-session.js +48 -0
  148. package/dist/gossip-session.js.map +1 -0
  149. package/dist/index.d.ts +3 -0
  150. package/dist/index.d.ts.map +1 -1
  151. package/dist/index.js +4 -0
  152. package/dist/index.js.map +1 -1
  153. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts +5 -5
  154. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts.map +1 -1
  155. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js +59 -49
  156. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js.map +1 -1
  157. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts +17 -0
  158. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts.map +1 -0
  159. package/dist/internal/context-graph-authority/finalized-target-projection.js +36 -0
  160. package/dist/internal/context-graph-authority/finalized-target-projection.js.map +1 -0
  161. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts +43 -7
  162. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts.map +1 -1
  163. package/dist/internal/context-graph-authority/swm-transport-authority.js +135 -18
  164. package/dist/internal/context-graph-authority/swm-transport-authority.js.map +1 -1
  165. package/dist/internal/context-graph-binding-abort.d.ts +3 -0
  166. package/dist/internal/context-graph-binding-abort.d.ts.map +1 -0
  167. package/dist/internal/context-graph-binding-abort.js +32 -0
  168. package/dist/internal/context-graph-binding-abort.js.map +1 -0
  169. package/dist/internal/context-graph-cache-invalidating-store.d.ts +3 -0
  170. package/dist/internal/context-graph-cache-invalidating-store.d.ts.map +1 -0
  171. package/dist/internal/context-graph-cache-invalidating-store.js +167 -0
  172. package/dist/internal/context-graph-cache-invalidating-store.js.map +1 -0
  173. package/dist/internal/context-graph-meta-record-copy.d.ts +3 -0
  174. package/dist/internal/context-graph-meta-record-copy.d.ts.map +1 -0
  175. package/dist/internal/context-graph-meta-record-copy.js +21 -0
  176. package/dist/internal/context-graph-meta-record-copy.js.map +1 -0
  177. package/dist/internal/gossip/host-mode-handler.d.ts +11 -0
  178. package/dist/internal/gossip/host-mode-handler.d.ts.map +1 -0
  179. package/dist/internal/gossip/host-mode-handler.js +41 -0
  180. package/dist/internal/gossip/host-mode-handler.js.map +1 -0
  181. package/dist/internal/join-encryption-key-bundle.d.ts +10 -0
  182. package/dist/internal/join-encryption-key-bundle.d.ts.map +1 -0
  183. package/dist/internal/join-encryption-key-bundle.js +72 -0
  184. package/dist/internal/join-encryption-key-bundle.js.map +1 -0
  185. package/dist/internal/knowledge-asset-vm-publish-request.d.ts +31 -0
  186. package/dist/internal/knowledge-asset-vm-publish-request.d.ts.map +1 -0
  187. package/dist/internal/knowledge-asset-vm-publish-request.js +91 -0
  188. package/dist/internal/knowledge-asset-vm-publish-request.js.map +1 -0
  189. package/dist/internal/lifecycle-sync-policy.d.ts +5 -0
  190. package/dist/internal/lifecycle-sync-policy.d.ts.map +1 -0
  191. package/dist/internal/lifecycle-sync-policy.js +12 -0
  192. package/dist/internal/lifecycle-sync-policy.js.map +1 -0
  193. package/dist/internal/local-private-member.d.ts +14 -0
  194. package/dist/internal/local-private-member.d.ts.map +1 -0
  195. package/dist/internal/local-private-member.js +21 -0
  196. package/dist/internal/local-private-member.js.map +1 -0
  197. package/dist/internal/promote/assertion-promote-precommit.d.ts +41 -1
  198. package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
  199. package/dist/internal/promote/assertion-promote-precommit.js +74 -5
  200. package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
  201. package/dist/internal/storage-ack-owned-request.d.ts +16 -0
  202. package/dist/internal/storage-ack-owned-request.d.ts.map +1 -0
  203. package/dist/internal/storage-ack-owned-request.js +16 -0
  204. package/dist/internal/storage-ack-owned-request.js.map +1 -0
  205. package/dist/internal/vm-reconcile-local-admission-wait.d.ts +96 -0
  206. package/dist/internal/vm-reconcile-local-admission-wait.d.ts.map +1 -0
  207. package/dist/internal/vm-reconcile-local-admission-wait.js +226 -0
  208. package/dist/internal/vm-reconcile-local-admission-wait.js.map +1 -0
  209. package/dist/internal/vm-reconcile-read-authority.d.ts +27 -0
  210. package/dist/internal/vm-reconcile-read-authority.d.ts.map +1 -0
  211. package/dist/internal/vm-reconcile-read-authority.js +33 -0
  212. package/dist/internal/vm-reconcile-read-authority.js.map +1 -0
  213. package/dist/internal/vm-reconcile-sweep-admission.d.ts +2 -0
  214. package/dist/internal/vm-reconcile-sweep-admission.d.ts.map +1 -1
  215. package/dist/internal/vm-reconcile-sweep.d.ts +16 -4
  216. package/dist/internal/vm-reconcile-sweep.d.ts.map +1 -1
  217. package/dist/internal/vm-reconcile-sweep.js +91 -50
  218. package/dist/internal/vm-reconcile-sweep.js.map +1 -1
  219. package/dist/internal/workspace-projected-delegatees.d.ts +3 -0
  220. package/dist/internal/workspace-projected-delegatees.d.ts.map +1 -0
  221. package/dist/internal/workspace-projected-delegatees.js +34 -0
  222. package/dist/internal/workspace-projected-delegatees.js.map +1 -0
  223. package/dist/join-approval-restart-projection.d.ts +14 -0
  224. package/dist/join-approval-restart-projection.d.ts.map +1 -0
  225. package/dist/join-approval-restart-projection.js +32 -0
  226. package/dist/join-approval-restart-projection.js.map +1 -0
  227. package/dist/keyed-persist-scheduler.d.ts +72 -0
  228. package/dist/keyed-persist-scheduler.d.ts.map +1 -0
  229. package/dist/keyed-persist-scheduler.js +140 -0
  230. package/dist/keyed-persist-scheduler.js.map +1 -0
  231. package/dist/map-with-concurrency.d.ts +7 -0
  232. package/dist/map-with-concurrency.d.ts.map +1 -1
  233. package/dist/map-with-concurrency.js +36 -0
  234. package/dist/map-with-concurrency.js.map +1 -1
  235. package/dist/p2p/network-admission-coordinator.d.ts +15 -0
  236. package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
  237. package/dist/p2p/network-admission-coordinator.js +20 -2
  238. package/dist/p2p/network-admission-coordinator.js.map +1 -1
  239. package/dist/prepare-unscoped-context-graph-read-checks.d.ts.map +1 -1
  240. package/dist/prepare-unscoped-context-graph-read-checks.js +12 -0
  241. package/dist/prepare-unscoped-context-graph-read-checks.js.map +1 -1
  242. package/dist/registered-context-graph-authority.d.ts +7 -0
  243. package/dist/registered-context-graph-authority.d.ts.map +1 -1
  244. package/dist/registered-private-empty-vm-attempt-v1.d.ts +34 -0
  245. package/dist/registered-private-empty-vm-attempt-v1.d.ts.map +1 -0
  246. package/dist/registered-private-empty-vm-attempt-v1.js +120 -0
  247. package/dist/registered-private-empty-vm-attempt-v1.js.map +1 -0
  248. package/dist/reserved-ka-id-allocation.d.ts +12 -0
  249. package/dist/reserved-ka-id-allocation.d.ts.map +1 -0
  250. package/dist/reserved-ka-id-allocation.js +25 -0
  251. package/dist/reserved-ka-id-allocation.js.map +1 -0
  252. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts +5 -3
  253. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts.map +1 -1
  254. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js +9 -0
  255. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js.map +1 -1
  256. package/dist/rfc64/catalog-completion-evidence-v1.d.ts +38 -0
  257. package/dist/rfc64/catalog-completion-evidence-v1.d.ts.map +1 -0
  258. package/dist/rfc64/catalog-completion-evidence-v1.js +49 -0
  259. package/dist/rfc64/catalog-completion-evidence-v1.js.map +1 -0
  260. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +6 -3
  261. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -1
  262. package/dist/rfc64/catalog-operational-applied-heads-v1.js +6 -3
  263. package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -1
  264. package/dist/rfc64/catalog-operational-reads-v1.d.ts +13 -0
  265. package/dist/rfc64/catalog-operational-reads-v1.d.ts.map +1 -0
  266. package/dist/rfc64/catalog-operational-reads-v1.js +56 -0
  267. package/dist/rfc64/catalog-operational-reads-v1.js.map +1 -0
  268. package/dist/rfc64/catalog-operational-targets-v1.d.ts +55 -0
  269. package/dist/rfc64/catalog-operational-targets-v1.d.ts.map +1 -0
  270. package/dist/rfc64/catalog-operational-targets-v1.js +379 -0
  271. package/dist/rfc64/catalog-operational-targets-v1.js.map +1 -0
  272. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +2 -0
  273. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -1
  274. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +18 -25
  275. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -1
  276. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts +25 -0
  277. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts.map +1 -0
  278. package/dist/rfc64/legacy-swm-boundary-codec-v1.js +127 -0
  279. package/dist/rfc64/legacy-swm-boundary-codec-v1.js.map +1 -0
  280. package/dist/rfc64/legacy-swm-boundary-v1.d.ts +12 -0
  281. package/dist/rfc64/legacy-swm-boundary-v1.d.ts.map +1 -1
  282. package/dist/rfc64/legacy-swm-boundary-v1.js +83 -144
  283. package/dist/rfc64/legacy-swm-boundary-v1.js.map +1 -1
  284. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts +33 -0
  285. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts.map +1 -0
  286. package/dist/rfc64/private-catalog-subscription-readiness-v1.js +97 -0
  287. package/dist/rfc64/private-catalog-subscription-readiness-v1.js.map +1 -0
  288. package/dist/rfc64/private-read-roster-v1.d.ts +14 -0
  289. package/dist/rfc64/private-read-roster-v1.d.ts.map +1 -0
  290. package/dist/rfc64/private-read-roster-v1.js +57 -0
  291. package/dist/rfc64/private-read-roster-v1.js.map +1 -0
  292. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts +20 -0
  293. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts.map +1 -0
  294. package/dist/rfc64/registered-private-empty-vm-proof-v1.js +26 -0
  295. package/dist/rfc64/registered-private-empty-vm-proof-v1.js.map +1 -0
  296. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts +3 -1
  297. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts.map +1 -1
  298. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js +34 -0
  299. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js.map +1 -1
  300. package/dist/sync/auth/pipe-request-tail.d.ts +5 -1
  301. package/dist/sync/auth/pipe-request-tail.d.ts.map +1 -1
  302. package/dist/sync/auth/pipe-request-tail.js +13 -3
  303. package/dist/sync/auth/pipe-request-tail.js.map +1 -1
  304. package/dist/sync/auth/request-build.d.ts +3 -0
  305. package/dist/sync/auth/request-build.d.ts.map +1 -1
  306. package/dist/sync/auth/request-build.js +11 -2
  307. package/dist/sync/auth/request-build.js.map +1 -1
  308. package/dist/sync/backpressure.d.ts +27 -16
  309. package/dist/sync/backpressure.d.ts.map +1 -1
  310. package/dist/sync/backpressure.js +66 -40
  311. package/dist/sync/backpressure.js.map +1 -1
  312. package/dist/sync/catchup-policy.d.ts +2 -0
  313. package/dist/sync/catchup-policy.d.ts.map +1 -1
  314. package/dist/sync/catchup-policy.js +2 -0
  315. package/dist/sync/catchup-policy.js.map +1 -1
  316. package/dist/sync/exact-assets.d.ts +7 -5
  317. package/dist/sync/exact-assets.d.ts.map +1 -1
  318. package/dist/sync/exact-assets.js +13 -8
  319. package/dist/sync/exact-assets.js.map +1 -1
  320. package/dist/sync/exact-batch-observation.d.ts +3 -0
  321. package/dist/sync/exact-batch-observation.d.ts.map +1 -0
  322. package/dist/sync/exact-batch-observation.js +13 -0
  323. package/dist/sync/exact-batch-observation.js.map +1 -0
  324. package/dist/sync/exact-batch-stream-capability.d.ts +24 -0
  325. package/dist/sync/exact-batch-stream-capability.d.ts.map +1 -0
  326. package/dist/sync/exact-batch-stream-capability.js +88 -0
  327. package/dist/sync/exact-batch-stream-capability.js.map +1 -0
  328. package/dist/sync/exact-batch-stream-contract.d.ts +78 -0
  329. package/dist/sync/exact-batch-stream-contract.d.ts.map +1 -0
  330. package/dist/sync/exact-batch-stream-contract.js +206 -0
  331. package/dist/sync/exact-batch-stream-contract.js.map +1 -0
  332. package/dist/sync/peer-connection.d.ts.map +1 -1
  333. package/dist/sync/peer-connection.js +11 -2
  334. package/dist/sync/peer-connection.js.map +1 -1
  335. package/dist/sync/priority-admission-queue.d.ts +17 -0
  336. package/dist/sync/priority-admission-queue.d.ts.map +1 -1
  337. package/dist/sync/priority-admission-queue.js +58 -37
  338. package/dist/sync/priority-admission-queue.js.map +1 -1
  339. package/dist/sync/requester/admission-boundary.d.ts +12 -0
  340. package/dist/sync/requester/admission-boundary.d.ts.map +1 -0
  341. package/dist/sync/requester/admission-boundary.js +22 -0
  342. package/dist/sync/requester/admission-boundary.js.map +1 -0
  343. package/dist/sync/requester/durable-sync.d.ts +2 -1
  344. package/dist/sync/requester/durable-sync.d.ts.map +1 -1
  345. package/dist/sync/requester/durable-sync.js +3 -188
  346. package/dist/sync/requester/durable-sync.js.map +1 -1
  347. package/dist/sync/requester/exact-batch-stream-driver.d.ts +83 -0
  348. package/dist/sync/requester/exact-batch-stream-driver.d.ts.map +1 -0
  349. package/dist/sync/requester/exact-batch-stream-driver.js +299 -0
  350. package/dist/sync/requester/exact-batch-stream-driver.js.map +1 -0
  351. package/dist/sync/requester/exact-batch-stream.d.ts +72 -0
  352. package/dist/sync/requester/exact-batch-stream.d.ts.map +1 -0
  353. package/dist/sync/requester/exact-batch-stream.js +267 -0
  354. package/dist/sync/requester/exact-batch-stream.js.map +1 -0
  355. package/dist/sync/requester/exact-recovery-transport.d.ts +19 -0
  356. package/dist/sync/requester/exact-recovery-transport.d.ts.map +1 -0
  357. package/dist/sync/requester/exact-recovery-transport.js +3 -0
  358. package/dist/sync/requester/exact-recovery-transport.js.map +1 -0
  359. package/dist/sync/requester/finalized-swm-twin-reconciliation.js +12 -3
  360. package/dist/sync/requester/finalized-swm-twin-reconciliation.js.map +1 -1
  361. package/dist/sync/requester/graph-scoped-materialization.d.ts.map +1 -1
  362. package/dist/sync/requester/graph-scoped-materialization.js +58 -24
  363. package/dist/sync/requester/graph-scoped-materialization.js.map +1 -1
  364. package/dist/sync/requester/page-fetch.d.ts +7 -0
  365. package/dist/sync/requester/page-fetch.d.ts.map +1 -1
  366. package/dist/sync/requester/page-fetch.js +103 -49
  367. package/dist/sync/requester/page-fetch.js.map +1 -1
  368. package/dist/sync/requester/shared-memory-sync.d.ts +10 -5
  369. package/dist/sync/requester/shared-memory-sync.d.ts.map +1 -1
  370. package/dist/sync/requester/shared-memory-sync.js +149 -150
  371. package/dist/sync/requester/shared-memory-sync.js.map +1 -1
  372. package/dist/sync/requester/swm-materialization-memo.d.ts +12 -0
  373. package/dist/sync/requester/swm-materialization-memo.d.ts.map +1 -0
  374. package/dist/sync/requester/swm-materialization-memo.js +54 -0
  375. package/dist/sync/requester/swm-materialization-memo.js.map +1 -0
  376. package/dist/sync/requester/swm-recovery.d.ts +3 -29
  377. package/dist/sync/requester/swm-recovery.d.ts.map +1 -1
  378. package/dist/sync/requester/swm-recovery.js +11 -10
  379. package/dist/sync/requester/swm-recovery.js.map +1 -1
  380. package/dist/sync/requester/swm-snapshot-materializer.d.ts.map +1 -1
  381. package/dist/sync/requester/swm-snapshot-materializer.js +18 -0
  382. package/dist/sync/requester/swm-snapshot-materializer.js.map +1 -1
  383. package/dist/sync/requester/swm-target-executor.d.ts +6 -0
  384. package/dist/sync/requester/swm-target-executor.d.ts.map +1 -1
  385. package/dist/sync/requester/swm-target-executor.js +24 -3
  386. package/dist/sync/requester/swm-target-executor.js.map +1 -1
  387. package/dist/sync/requester/verified-asset-preparation.d.ts +9 -0
  388. package/dist/sync/requester/verified-asset-preparation.d.ts.map +1 -0
  389. package/dist/sync/requester/verified-asset-preparation.js +190 -0
  390. package/dist/sync/requester/verified-asset-preparation.js.map +1 -0
  391. package/dist/sync/responder/asset-metadata.d.ts +18 -0
  392. package/dist/sync/responder/asset-metadata.d.ts.map +1 -0
  393. package/dist/sync/responder/asset-metadata.js +27 -0
  394. package/dist/sync/responder/asset-metadata.js.map +1 -0
  395. package/dist/sync/responder/durable-data-request-policy.d.ts +2 -16
  396. package/dist/sync/responder/durable-data-request-policy.d.ts.map +1 -1
  397. package/dist/sync/responder/durable-data-request-policy.js +1 -31
  398. package/dist/sync/responder/durable-data-request-policy.js.map +1 -1
  399. package/dist/sync/responder/exact-asset-export-cache.d.ts +89 -0
  400. package/dist/sync/responder/exact-asset-export-cache.d.ts.map +1 -0
  401. package/dist/sync/responder/exact-asset-export-cache.js +550 -0
  402. package/dist/sync/responder/exact-asset-export-cache.js.map +1 -0
  403. package/dist/sync/responder/exact-batch-stream.d.ts +47 -0
  404. package/dist/sync/responder/exact-batch-stream.d.ts.map +1 -0
  405. package/dist/sync/responder/exact-batch-stream.js +151 -0
  406. package/dist/sync/responder/exact-batch-stream.js.map +1 -0
  407. package/dist/sync/responder/exact-data-session.d.ts +67 -0
  408. package/dist/sync/responder/exact-data-session.d.ts.map +1 -0
  409. package/dist/sync/responder/exact-data-session.js +130 -0
  410. package/dist/sync/responder/exact-data-session.js.map +1 -0
  411. package/dist/sync/responder/exact-graph-cursor-filter.d.ts +9 -0
  412. package/dist/sync/responder/exact-graph-cursor-filter.d.ts.map +1 -0
  413. package/dist/sync/responder/exact-graph-cursor-filter.js +101 -0
  414. package/dist/sync/responder/exact-graph-cursor-filter.js.map +1 -0
  415. package/dist/sync/responder/exact-graph-reader.d.ts +95 -0
  416. package/dist/sync/responder/exact-graph-reader.d.ts.map +1 -0
  417. package/dist/sync/responder/exact-graph-reader.js +623 -0
  418. package/dist/sync/responder/exact-graph-reader.js.map +1 -0
  419. package/dist/sync/responder/exact-page-reader.d.ts +37 -0
  420. package/dist/sync/responder/exact-page-reader.d.ts.map +1 -0
  421. package/dist/sync/responder/exact-page-reader.js +130 -0
  422. package/dist/sync/responder/exact-page-reader.js.map +1 -0
  423. package/dist/sync/responder/graph-plan.d.ts +19 -85
  424. package/dist/sync/responder/graph-plan.d.ts.map +1 -1
  425. package/dist/sync/responder/graph-plan.js +51 -988
  426. package/dist/sync/responder/graph-plan.js.map +1 -1
  427. package/dist/sync/responder/page-framing-policy.d.ts +31 -0
  428. package/dist/sync/responder/page-framing-policy.d.ts.map +1 -0
  429. package/dist/sync/responder/page-framing-policy.js +41 -0
  430. package/dist/sync/responder/page-framing-policy.js.map +1 -0
  431. package/dist/sync/responder/responder-row-page.d.ts +85 -0
  432. package/dist/sync/responder/responder-row-page.d.ts.map +1 -0
  433. package/dist/sync/responder/responder-row-page.js +181 -0
  434. package/dist/sync/responder/responder-row-page.js.map +1 -0
  435. package/dist/sync/responder/row-serialization.d.ts +34 -0
  436. package/dist/sync/responder/row-serialization.d.ts.map +1 -0
  437. package/dist/sync/responder/row-serialization.js +69 -0
  438. package/dist/sync/responder/row-serialization.js.map +1 -0
  439. package/dist/sync/responder/session-plan-memo.d.ts +20 -0
  440. package/dist/sync/responder/session-plan-memo.d.ts.map +1 -0
  441. package/dist/sync/responder/session-plan-memo.js +135 -0
  442. package/dist/sync/responder/session-plan-memo.js.map +1 -0
  443. package/dist/sync/responder/sync-handler.d.ts +18 -1
  444. package/dist/sync/responder/sync-handler.d.ts.map +1 -1
  445. package/dist/sync/responder/sync-handler.js +101 -57
  446. package/dist/sync/responder/sync-handler.js.map +1 -1
  447. package/dist/sync/shared-memory-completion.d.ts +30 -0
  448. package/dist/sync/shared-memory-completion.d.ts.map +1 -1
  449. package/dist/sync/shared-memory-completion.js +13 -0
  450. package/dist/sync/shared-memory-completion.js.map +1 -1
  451. package/dist/sync/wire-compression.d.ts +47 -0
  452. package/dist/sync/wire-compression.d.ts.map +1 -0
  453. package/dist/sync/wire-compression.js +111 -0
  454. package/dist/sync/wire-compression.js.map +1 -0
  455. package/dist/unscoped-query-consistency.d.ts +12 -0
  456. package/dist/unscoped-query-consistency.d.ts.map +1 -1
  457. package/dist/unscoped-query-consistency.js +17 -1
  458. package/dist/unscoped-query-consistency.js.map +1 -1
  459. package/dist/vm-promotion-audit.d.ts +2 -2
  460. package/dist/vm-promotion-audit.d.ts.map +1 -1
  461. package/dist/vm-promotion-audit.js +26 -9
  462. package/dist/vm-promotion-audit.js.map +1 -1
  463. package/dist/vm-reconcile-dispatcher.d.ts +42 -1
  464. package/dist/vm-reconcile-dispatcher.d.ts.map +1 -1
  465. package/dist/vm-reconcile-dispatcher.js +103 -4
  466. package/dist/vm-reconcile-dispatcher.js.map +1 -1
  467. package/dist/vm-reconcile-peer-topology.d.ts +7 -9
  468. package/dist/vm-reconcile-peer-topology.d.ts.map +1 -1
  469. package/dist/vm-reconcile-peer-topology.js +1 -37
  470. package/dist/vm-reconcile-peer-topology.js.map +1 -1
  471. package/dist/vm-recovery-candidate-order.d.ts +16 -0
  472. package/dist/vm-recovery-candidate-order.d.ts.map +1 -0
  473. package/dist/vm-recovery-candidate-order.js +24 -0
  474. package/dist/vm-recovery-candidate-order.js.map +1 -0
  475. package/dist/vm-recovery-core-transport-preference.d.ts +69 -0
  476. package/dist/vm-recovery-core-transport-preference.d.ts.map +1 -0
  477. package/dist/vm-recovery-core-transport-preference.js +131 -0
  478. package/dist/vm-recovery-core-transport-preference.js.map +1 -0
  479. package/dist/vm-recovery-experiment-policy.d.ts +24 -0
  480. package/dist/vm-recovery-experiment-policy.d.ts.map +1 -0
  481. package/dist/vm-recovery-experiment-policy.js +18 -0
  482. package/dist/vm-recovery-experiment-policy.js.map +1 -0
  483. package/dist/vm-recovery-footprint.d.ts +54 -0
  484. package/dist/vm-recovery-footprint.d.ts.map +1 -1
  485. package/dist/vm-recovery-footprint.js +88 -24
  486. package/dist/vm-recovery-footprint.js.map +1 -1
  487. package/dist/vm-recovery-microbatch.d.ts +2 -0
  488. package/dist/vm-recovery-microbatch.d.ts.map +1 -1
  489. package/dist/vm-recovery-microbatch.js +7 -3
  490. package/dist/vm-recovery-microbatch.js.map +1 -1
  491. package/dist/vm-recovery-pass-authority.d.ts +84 -0
  492. package/dist/vm-recovery-pass-authority.d.ts.map +1 -0
  493. package/dist/vm-recovery-pass-authority.js +126 -0
  494. package/dist/vm-recovery-pass-authority.js.map +1 -0
  495. package/dist/vm-recovery-phase-timing.d.ts +75 -0
  496. package/dist/vm-recovery-phase-timing.d.ts.map +1 -0
  497. package/dist/vm-recovery-phase-timing.js +236 -0
  498. package/dist/vm-recovery-phase-timing.js.map +1 -0
  499. package/dist/vm-recovery-preparation.d.ts +143 -0
  500. package/dist/vm-recovery-preparation.d.ts.map +1 -0
  501. package/dist/vm-recovery-preparation.js +433 -0
  502. package/dist/vm-recovery-preparation.js.map +1 -0
  503. package/dist/vm-recovery-provider-policy.d.ts +13 -1
  504. package/dist/vm-recovery-provider-policy.d.ts.map +1 -1
  505. package/dist/vm-recovery-provider-policy.js +37 -5
  506. package/dist/vm-recovery-provider-policy.js.map +1 -1
  507. package/dist/vm-recovery-stream-profile.d.ts +15 -0
  508. package/dist/vm-recovery-stream-profile.d.ts.map +1 -0
  509. package/dist/vm-recovery-stream-profile.js +53 -0
  510. package/dist/vm-recovery-stream-profile.js.map +1 -0
  511. package/dist/vm-recovery-stream-setback-policy.d.ts +54 -0
  512. package/dist/vm-recovery-stream-setback-policy.d.ts.map +1 -0
  513. package/dist/vm-recovery-stream-setback-policy.js +85 -0
  514. package/dist/vm-recovery-stream-setback-policy.js.map +1 -0
  515. package/dist/vm-recovery-timing-observer.d.ts +27 -0
  516. package/dist/vm-recovery-timing-observer.d.ts.map +1 -0
  517. package/dist/vm-recovery-timing-observer.js +49 -0
  518. package/dist/vm-recovery-timing-observer.js.map +1 -0
  519. package/dist/vm-recovery-transport-budget-policy.d.ts +32 -0
  520. package/dist/vm-recovery-transport-budget-policy.d.ts.map +1 -0
  521. package/dist/vm-recovery-transport-budget-policy.js +55 -0
  522. package/dist/vm-recovery-transport-budget-policy.js.map +1 -0
  523. package/dist/vm-recovery-transport-plan.d.ts +83 -0
  524. package/dist/vm-recovery-transport-plan.d.ts.map +1 -0
  525. package/dist/vm-recovery-transport-plan.js +117 -0
  526. package/dist/vm-recovery-transport-plan.js.map +1 -0
  527. package/package.json +17 -9
  528. package/dist/finalization-annotations.d.ts +0 -5
  529. package/dist/finalization-annotations.d.ts.map +0 -1
  530. package/dist/finalization-annotations.js +0 -6
  531. package/dist/finalization-annotations.js.map +0 -1
  532. package/dist/swm-ka-bound.d.ts +0 -21
  533. package/dist/swm-ka-bound.d.ts.map +0 -1
  534. package/dist/swm-ka-bound.js +0 -36
  535. package/dist/swm-ka-bound.js.map +0 -1
@@ -1,6 +1,21 @@
1
1
  import type { LocalSwmSenderKeySendState, LocalSwmSenderKeyReceiveState, PendingSenderKeyEntry } from './dkg-agent-types.js';
2
2
  export declare function swmSenderStateKey(contextGraphId: string, subGraphName: string | undefined, senderAgentAddress: string): string;
3
3
  export declare function swmReceiverStateKey(contextGraphId: string, subGraphName: string | undefined, senderAgentAddress: string, epochId: string): string;
4
+ /**
5
+ * Hash the exact transport routes that received (or durably queued) setup for
6
+ * a Sender Key epoch. Logical membership remains `(agent, key)`; this separate
7
+ * snapshot ensures that adding or removing a peer-bound variant rotates the
8
+ * epoch without redefining the authenticated member set.
9
+ */
10
+ export declare function computeSwmSenderKeyRecipientRouteHash(input: {
11
+ contextGraphId: string;
12
+ subGraphName?: string;
13
+ recipients: readonly {
14
+ agentAddress: string;
15
+ recipientKeyId: string;
16
+ peerId?: string;
17
+ }[];
18
+ }): string;
4
19
  export declare function serializeSwmSenderSendState(state: LocalSwmSenderKeySendState): Record<string, unknown>;
5
20
  export declare function serializeSwmSenderReceiveState(state: LocalSwmSenderKeyReceiveState): Record<string, unknown>;
6
21
  export declare function serializePendingSenderKeyEntry(entry: PendingSenderKeyEntry): Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"dkg-agent-swm-state.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAE9H;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAatG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB5G;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYpG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,0BAA0B,CAaxG;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6BAA6B,CAsB9G;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,CActG"}
1
+ {"version":3,"file":"dkg-agent-swm-state.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAE9H;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAQD;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL,GAAG,MAAM,CAyBT;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CActG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB5G;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAapG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,0BAA0B,CAcxG;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6BAA6B,CAsB9G;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,CAetG"}
@@ -12,6 +12,7 @@
12
12
  * "Invalid Sender Key state" error message tied to this state schema
13
13
  * and are not a general-purpose validation library.
14
14
  */
15
+ import { createHash } from 'node:crypto';
15
16
  import { ethers } from 'ethers';
16
17
  import { encodeWorkspaceEncryptionKey, decodeWorkspaceEncryptionKey, } from '@origintrail-official/dkg-core';
17
18
  export function swmSenderStateKey(contextGraphId, subGraphName, senderAgentAddress) {
@@ -20,6 +21,44 @@ export function swmSenderStateKey(contextGraphId, subGraphName, senderAgentAddre
20
21
  export function swmReceiverStateKey(contextGraphId, subGraphName, senderAgentAddress, epochId) {
21
22
  return `${swmSenderStateKey(contextGraphId, subGraphName, senderAgentAddress)}\0${epochId}`;
22
23
  }
24
+ // v2 invalidates route hashes written by the short-lived peer-variant build
25
+ // whose pending rows did not yet retain their destination peer. On its first
26
+ // publish after upgrade that state rotates instead of reusing an epoch whose
27
+ // remaining delivery obligations cannot be reconstructed from disk.
28
+ const SWM_SENDER_KEY_RECIPIENT_ROUTES_DOMAIN = 'dkg.swm.sender-key.recipient-routes.v2';
29
+ /**
30
+ * Hash the exact transport routes that received (or durably queued) setup for
31
+ * a Sender Key epoch. Logical membership remains `(agent, key)`; this separate
32
+ * snapshot ensures that adding or removing a peer-bound variant rotates the
33
+ * epoch without redefining the authenticated member set.
34
+ */
35
+ export function computeSwmSenderKeyRecipientRouteHash(input) {
36
+ const uniqueRoutes = new Map();
37
+ for (const recipient of input.recipients) {
38
+ const route = [
39
+ ethers.getAddress(recipient.agentAddress).toLowerCase(),
40
+ recipient.recipientKeyId,
41
+ recipient.peerId ?? '',
42
+ ];
43
+ uniqueRoutes.set(JSON.stringify(route), route);
44
+ }
45
+ const routes = [...uniqueRoutes.values()].sort((left, right) => {
46
+ const byAgent = left[0].localeCompare(right[0]);
47
+ if (byAgent !== 0)
48
+ return byAgent;
49
+ const byKey = left[1].localeCompare(right[1]);
50
+ return byKey !== 0 ? byKey : left[2].localeCompare(right[2]);
51
+ });
52
+ const digest = createHash('sha256')
53
+ .update(JSON.stringify({
54
+ domain: SWM_SENDER_KEY_RECIPIENT_ROUTES_DOMAIN,
55
+ contextGraphId: input.contextGraphId,
56
+ subGraphName: input.subGraphName ?? '',
57
+ routes,
58
+ }))
59
+ .digest('hex');
60
+ return `sha256:${digest}`;
61
+ }
23
62
  export function serializeSwmSenderSendState(state) {
24
63
  return {
25
64
  contextGraphId: state.contextGraphId,
@@ -27,6 +66,7 @@ export function serializeSwmSenderSendState(state) {
27
66
  senderAgentAddress: state.senderAgentAddress,
28
67
  epochId: state.epochId,
29
68
  membershipHash: state.membershipHash,
69
+ recipientRouteHash: state.recipientRouteHash,
30
70
  chainKey: encodeWorkspaceEncryptionKey(state.chainKey),
31
71
  nextMessageIndex: state.nextMessageIndex,
32
72
  senderSigningSecretKey: encodeWorkspaceEncryptionKey(state.senderSigningSecretKey),
@@ -56,6 +96,7 @@ export function serializePendingSenderKeyEntry(entry) {
56
96
  senderAgentAddress: entry.senderAgentAddress,
57
97
  recipientAgentAddress: entry.recipientAgentAddress,
58
98
  recipientKeyId: entry.recipientKeyId,
99
+ recipientPeerId: entry.recipientPeerId,
59
100
  epochId: entry.epochId,
60
101
  contextGraphId: entry.contextGraphId,
61
102
  subGraphName: entry.subGraphName,
@@ -71,6 +112,7 @@ export function deserializeSwmSenderSendState(entry) {
71
112
  senderAgentAddress: ethers.getAddress(requiredString(entry.senderAgentAddress, 'senderAgentAddress')),
72
113
  epochId: requiredString(entry.epochId, 'epochId'),
73
114
  membershipHash: requiredString(entry.membershipHash, 'membershipHash'),
115
+ recipientRouteHash: optionalString(entry.recipientRouteHash),
74
116
  chainKey: decodeWorkspaceEncryptionKey(requiredString(entry.chainKey, 'chainKey')),
75
117
  nextMessageIndex: requiredNumber(entry.nextMessageIndex, 'nextMessageIndex'),
76
118
  senderSigningSecretKey: decodeWorkspaceEncryptionKey(requiredString(entry.senderSigningSecretKey, 'senderSigningSecretKey')),
@@ -105,6 +147,7 @@ export function deserializePendingSenderKeyEntry(entry) {
105
147
  senderAgentAddress: senderAgentAddress.toLowerCase(),
106
148
  recipientAgentAddress: recipientAgentAddress.toLowerCase(),
107
149
  recipientKeyId: requiredString(entry.recipientKeyId, 'pending.recipientKeyId'),
150
+ recipientPeerId: optionalString(entry.recipientPeerId),
108
151
  epochId: requiredString(entry.epochId, 'pending.epochId'),
109
152
  contextGraphId: requiredString(entry.contextGraphId, 'pending.contextGraphId'),
110
153
  subGraphName: optionalString(entry.subGraphName),
@@ -1 +1 @@
1
- {"version":3,"file":"dkg-agent-swm-state.js","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dkg-agent-swm-state.js","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface ContextGraphSubscribeOptions {
19
19
  }
20
20
  export declare class SwmSubstrateMethods extends DKGAgentBase {
21
21
  subscribeToContextGraph(this: DKGAgent, contextGraphId: string, options?: ContextGraphSubscribeOptions): ContextGraphSub;
22
+ /** Apply the process-local remainder of the startup subscription plan. */
23
+ applyStartupContextGraphGossipPlan(this: DKGAgent): number;
22
24
  /**
23
25
  * Install one subscription after alias adoption: the row, its sync scope
24
26
  * and its gossip handlers, or the RFC-64 catalog-owned equivalent.
@@ -1 +1 @@
1
- {"version":3,"file":"dkg-agent-swm-substrate.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-substrate.ts"],"names":[],"mappings":"AAkGA,OAAO,EACyB,mBAAmB,EAAE,aAAa,EAqBhE,KAAK,qCAAqC,EAI3C,MAAM,qCAAqC,CAAC;AA0B7C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAiE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAA4B,MAAM,2BAA2B,CAAC;AAiF1F,OAAO,EAsBL,KAAK,eAAe,EAcrB,MAAM,sBAAsB,CAAC;AAiC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU/C,8DAA8D;AAC9D,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACrC,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoCD,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,uBAAuB,CACrB,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe;IAkBlB;;;OAGG;IACH,SAAS,CAAC,+BAA+B,CACvC,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe;IAoHlB;;;;;;;;;;;;;;;;OAgBG;IACH,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EACxC,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,qEAAqE;QACrE,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,IAAI;IAuEP,mCAAmC,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IASjF;;;;;OAKG;IACH,0CAA0C,CACxC,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,GACrB,OAAO;IAyBV;;;;;OAKG;IACH,kCAAkC,CAChC,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO;IAQV,sEAAsE;IACtE,mDAAmD,CACjD,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,GACrB,OAAO;IAOV,+EAA+E;IAC/E,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM;IAc9E;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,iCAAiC,CACrC,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;IAyBnB;;;;OAIG;IACH,SAAS,CAAC,uCAAuC,CAC/C,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI;IA0BV,uCAAuC,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4IpG;;;;;;;;OAQG;IACU,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAuCzG;;;;;;;;;OASG;IACG,qCAAqC,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAI7H;;;;;;;;;;OAUG;IACH,qCAAqC,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,GAAG;QAC/E,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QACzB,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,SAAS;IAIb,gCAAgC,CAAC,IAAI,EAAE,QAAQ,GAAG,qBAAqB;IAOvE,kCAAkC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,GAAG,0BAA0B;IAIhH,0BAA0B,CACxB,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,GAC5B,IAAI;IAIP,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAQjG,+BAA+B,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIvI;;;;;;;;;;;;;OAaG;IACU,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;QACzD,OAAO,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8EjB;;;OAGG;IACI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAY7E;;;;;;;OAOG;IACI,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,MAAM,EAAE;IAIhE,+BAA+B,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB;IA4BrE,8BAA8B,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAwExF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgFtE,6BAA6B,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB;IAoDjE;;;;;;;OAOG;IACG,gCAAgC,CACpC,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,qCAAqC,GAAG,IAAI,CAAC;IAYxD;;;;;;;;;;;;;;;;;OAiBG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,EACtC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAC9C,EAAE;QACD,gBAAgB,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,UAAU,CAAC;QACpB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyIjB;;;;;OAKG;IACG,+BAA+B,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1D,gBAAgB,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,UAAU,CAAC;QACpB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY;IAuDrD;;;;;;;;;;;;;OAaG;IACH,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB;IAQ3D;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAM7F,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAWhG,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAS/D;;;;;;;;;;;;;;OAcG;IACH,6BAA6B,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAuCxE;;;;;;;;OAQG;IACH;;;;;;;;;;;;;;;;OAgBG;IACG,6BAA6B,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,gGAAgG;IAChG,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAIpD,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG;QAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,QAAQ,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACvH,SAAS,EAAE,OAAO,CAAC;KACpB;IAoBD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG;QACpC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB;IAOD,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa;IAavD,8BAA8B,CAAC,IAAI,EAAE,QAAQ,GAAG,mBAAmB;CAyDpE"}
1
+ {"version":3,"file":"dkg-agent-swm-substrate.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-substrate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * SWM substrate / shared-memory subsystem extracted from dkg-agent.ts as a
4
+ * mixin holder: CG gossip subscription reconcile, SWM share-ACK handling and
5
+ * quorum tracking, substrate top-up + fan-out bookkeeping/eviction, and the
6
+ * lazily-constructed gossip/shared-memory/update/finalization handlers. 1:1
7
+ * move; methods take `this: DKGAgent` so cross-calls resolve against the
8
+ * composed class.
9
+ */
10
+ import { isLocalPrivateMember } from './internal/local-private-member.js';
2
11
  import { PROTOCOL_SWM_UPDATE, PROTOCOL_SWM_SHARE_ACK, contextGraphPublishTopic, contextGraphWorkspaceTopic, contextGraphAppTopic, contextGraphUpdateTopic, contextGraphFinalizationTopic, SYSTEM_CONTEXT_GRAPHS, createOperationContext, logKaLifecycleEvent, encodeSwmShareAck, decodeSwmShareAck, } from '@origintrail-official/dkg-core';
3
12
  import { SharedMemoryHandler, UpdateHandler, projectWorkspaceAgentRecipientFanout, } from '@origintrail-official/dkg-publisher';
4
13
  import { prepareRfc64LateLegacySwmBoundaryV1 } from './rfc64/legacy-swm-boundary-v1.js';
@@ -15,25 +24,6 @@ import { DKGAgentBase } from './dkg-agent-base.js';
15
24
  import { CONTEXT_GRAPH_AUTHORITY_RPC_SITES as CG_AUTH_RPC_SITES, withRpcUsageSite, } from '@origintrail-official/dkg-chain';
16
25
  import { rfc64ExecutionPlanAllowsLegacySyncV1 } from './rfc64/public-catalog-activation-config-v1.js';
17
26
  import { projectRfc64CatalogTransportStateV1 } from './rfc64/catalog-rollout-authority-v1.js';
18
- /** A context graph member identity: a bare agent address or its `did:dkg:agent:` DID. */
19
- function memberAgentAddress(value) {
20
- const match = /^(?:did:dkg:agent:)?(0x[0-9a-fA-F]{40})$/.exec(value.trim());
21
- return match?.[1]?.toLowerCase();
22
- }
23
- /**
24
- * Whether `meta` declares an explicit private policy (#865) and lists one of
25
- * `localAgents` among its allowed agents, participants, curators or creators,
26
- * and not among its revoked agents.
27
- */
28
- function isLocalPrivateMember(meta, localAgents) {
29
- if (meta.accessPolicy?.trim().toLowerCase() !== 'private')
30
- return false;
31
- const revoked = new Set(meta.revokedAgents.map(memberAgentAddress));
32
- const members = new Set([...meta.allowedAgents, ...meta.participantAgents, ...meta.curators, ...meta.creators]
33
- .map(memberAgentAddress)
34
- .filter((member) => member !== undefined && !revoked.has(member)));
35
- return localAgents.some((local) => (local !== undefined && members.has(memberAgentAddress(local))));
36
- }
37
27
  export class SwmSubstrateMethods extends DKGAgentBase {
38
28
  subscribeToContextGraph(contextGraphId, options) {
39
29
  // A name hash this node already resolved (and holds no row for) is the
@@ -53,6 +43,31 @@ export class SwmSubstrateMethods extends DKGAgentBase {
53
43
  this.requestOnDemandAgentsPhonebook(contextGraphId, 'subscribe');
54
44
  return subscription;
55
45
  }
46
+ /** Apply the process-local remainder of the startup subscription plan. */
47
+ applyStartupContextGraphGossipPlan() {
48
+ const session = this.gossipSession;
49
+ const systemContextGraphs = new Set(Object.values(SYSTEM_CONTEXT_GRAPHS));
50
+ let restored = 0;
51
+ for (const [contextGraphId, intent] of session.startupLiveIntents) {
52
+ const subscription = this.subscribedContextGraphs.get(contextGraphId);
53
+ if (!session.active || subscription?.subscribed !== true || subscription.pendingMeta
54
+ || systemContextGraphs.has(contextGraphId) || session.gossipRegistered.has(contextGraphId))
55
+ continue;
56
+ try {
57
+ this.subscribeToContextGraph(contextGraphId, {
58
+ trackSyncScope: false,
59
+ persist: false,
60
+ syncMode: intent.syncMode,
61
+ });
62
+ restored += 1;
63
+ }
64
+ catch (err) {
65
+ this.log.warn(createOperationContext('system'), `Failed to re-arm gossip for "${contextGraphId}" after restart: ${err instanceof Error ? err.message : String(err)}`);
66
+ }
67
+ }
68
+ session.startupLiveIntents.clear();
69
+ return restored;
70
+ }
56
71
  /**
57
72
  * Install one subscription after alias adoption: the row, its sync scope
58
73
  * and its gossip handlers, or the RFC-64 catalog-owned equivalent.
@@ -365,6 +380,10 @@ export class SwmSubstrateMethods extends DKGAgentBase {
365
380
  return authorityContextGraphId;
366
381
  }
367
382
  async reconcileSharedMemoryGossipSubscription(contextGraphId) {
383
+ const session = this.gossipSession;
384
+ const live = session.live();
385
+ if (live === null)
386
+ return;
368
387
  // Retired name-hash id: skip. It shares the wire topic and host-mode key
369
388
  // with the cleartext row, and a topic-wide unsubscribe here would drop
370
389
  // that row's handler (see supersedingContextGraphIdFor).
@@ -373,9 +392,9 @@ export class SwmSubstrateMethods extends DKGAgentBase {
373
392
  this.log.debug(createOperationContext('system'), `SWM gossip reconcile for "${contextGraphId}" skipped: superseded by cleartext adoption of "${supersedingId}"`);
374
393
  return;
375
394
  }
376
- // Reconcile is the membership boundary; rebuild this CG's policy view
377
- // before deciding whether to keep or drop the SWM subscription.
378
- this.contextGraphMetaProjection.markDirty(contextGraphId);
395
+ // Reconcile is the membership boundary: decide on a rebuilt policy view.
396
+ // It writes no authority fact, so the authority revisions stay as they are.
397
+ this.contextGraphMetaProjection.requireFreshRead(contextGraphId);
379
398
  // OT-RFC-38 / LU-6 Phase B — subscribe on the wire-form (hash) topic.
380
399
  // Members compute the hash from their local cleartext id via
381
400
  // {@link gossipWireIdFor}; cores hosting CGs they never joined
@@ -384,7 +403,7 @@ export class SwmSubstrateMethods extends DKGAgentBase {
384
403
  // identity for them.
385
404
  const wireCgId = this.gossipWireIdFor(contextGraphId);
386
405
  const swmTopic = contextGraphWorkspaceTopic(wireCgId);
387
- const isRegistered = this.sharedMemoryGossipRegistered.has(contextGraphId);
406
+ const isRegistered = session.sharedMemoryGossipRegistered.has(contextGraphId);
388
407
  const ctx = createOperationContext('system');
389
408
  if (!this.rfc64LegacySwmMemberTransportAllowedForContextGraph(contextGraphId)) {
390
409
  // This is the member-mode transport boundary. An unsubscribed selected
@@ -394,12 +413,12 @@ export class SwmSubstrateMethods extends DKGAgentBase {
394
413
  // GossipSubManager.unsubscribe() is topic-wide, so clear both member
395
414
  // and host bookkeeping before returning. A future live subscription
396
415
  // may explicitly restore the scope-filtered member handler.
397
- this.gossip.unsubscribe(swmTopic);
398
- this.sharedMemoryGossipRegistered.delete(contextGraphId);
416
+ live.manager.unsubscribe(swmTopic);
417
+ session.sharedMemoryGossipRegistered.delete(contextGraphId);
399
418
  const hostKey = this.canonicalSwmHostModeKey(contextGraphId);
400
- this.swmHostModeSubscribed.delete(hostKey);
401
- this.swmHostModeCurated.delete(hostKey);
402
- this.swmHostModeHandlers.delete(hostKey);
419
+ session.swmHostModeSubscribed.delete(hostKey);
420
+ session.swmHostModeCurated.delete(hostKey);
421
+ session.swmHostModeHandlers.delete(hostKey);
403
422
  this.enqueueHostModePersistence(contextGraphId, false);
404
423
  }
405
424
  else {
@@ -409,7 +428,10 @@ export class SwmSubstrateMethods extends DKGAgentBase {
409
428
  }
410
429
  return;
411
430
  }
412
- if (!(await this.canUseSharedMemoryForContextGraph(contextGraphId))) {
431
+ const canUseSharedMemory = await this.canUseSharedMemoryForContextGraph(contextGraphId);
432
+ if (!session.active || this.gossipSession !== session)
433
+ return;
434
+ if (!canUseSharedMemory) {
413
435
  if (isRegistered) {
414
436
  // `gossip.unsubscribe()` drops EVERY handler on the topic,
415
437
  // not just the member-mode one. If this core was already
@@ -441,17 +463,17 @@ export class SwmSubstrateMethods extends DKGAgentBase {
441
463
  // final on-disk state always matches the final in-memory
442
464
  // intent — no possible interleave where the "false" lands
443
465
  // after a later "true" and re-subscribes on next boot.
444
- this.gossip.unsubscribe(swmTopic);
445
- this.sharedMemoryGossipRegistered.delete(contextGraphId);
466
+ live.manager.unsubscribe(swmTopic);
467
+ session.sharedMemoryGossipRegistered.delete(contextGraphId);
446
468
  // Host-mode maps are canonical-keyed (wire-form hash); delete
447
469
  // by canonical id so this cleanup hits the entry regardless
448
470
  // of which discovery path wired it. Without this, the
449
471
  // immediate `reconcileSwmHostModeSubscription()` call below
450
472
  // would see a stale entry and early-return.
451
473
  const hostKey = this.canonicalSwmHostModeKey(contextGraphId);
452
- this.swmHostModeSubscribed.delete(hostKey);
453
- this.swmHostModeCurated.delete(hostKey);
454
- this.swmHostModeHandlers.delete(hostKey);
474
+ session.swmHostModeSubscribed.delete(hostKey);
475
+ session.swmHostModeCurated.delete(hostKey);
476
+ session.swmHostModeHandlers.delete(hostKey);
455
477
  this.enqueueHostModePersistence(contextGraphId, false);
456
478
  this.log.warn(ctx, `SWM gossip unsubscribed for "${contextGraphId}": local node is no longer authorized`);
457
479
  }
@@ -475,9 +497,11 @@ export class SwmSubstrateMethods extends DKGAgentBase {
475
497
  // dropping every handler on the topic) so we don't double-
476
498
  // process every envelope (apply + opaque append).
477
499
  this.unwireSwmHostModeHandler(contextGraphId);
478
- this.sharedMemoryGossipRegistered.add(contextGraphId);
479
- this.gossip.subscribe(swmTopic);
480
- this.gossip.onMessage(swmTopic, async (_topic, data, from) => {
500
+ session.sharedMemoryGossipRegistered.add(contextGraphId);
501
+ live.manager.subscribe(swmTopic);
502
+ live.manager.onMessage(swmTopic, async (_topic, data, from) => {
503
+ if (!session.active)
504
+ return;
481
505
  const wh = this.getOrCreateSharedMemoryHandler();
482
506
  const outcome = await wh.handle(data, from);
483
507
  // Emit SwmShareAck on gossip-applied shares so the
@@ -734,7 +758,23 @@ export class SwmSubstrateMethods extends DKGAgentBase {
734
758
  sharedMemoryOwnedEntities: this.workspaceOwnedEntities,
735
759
  writeLocks: this.writeLocks,
736
760
  localAgentAddresses: () => [...this.localAgents.keys()],
737
- contextGraphMetaOracle: (cgId) => this.getCgMeta(cgId),
761
+ contextGraphMetaOracle: async (cgId) => {
762
+ // The approved-private proof authorizes this receiver only. Another
763
+ // member can be revoked after the metadata snapshot but before that
764
+ // proof finishes without invalidating the receiver's proof. Retry
765
+ // one changed snapshot so the ordinary revoke race does not drop an
766
+ // otherwise valid envelope, then fail closed under continued churn.
767
+ for (let attempt = 0; attempt < 2; attempt += 1) {
768
+ const metadataRevision = this.contextGraphMetaProjection.readAuthorityFactsRevision;
769
+ const meta = await this.getCgMeta(cgId);
770
+ const allowedPeers = await this.resolveApprovedPrivateReplicaSwmAllowedPeersOverride(cgId);
771
+ if (this.contextGraphMetaProjection.readAuthorityFactsRevision
772
+ === metadataRevision) {
773
+ return allowedPeers === undefined ? meta : { ...meta, allowedPeers };
774
+ }
775
+ }
776
+ throw new Error(`Context graph "${cgId}" metadata authority kept changing while resolving its SWM gate`);
777
+ },
738
778
  // Same predicate the SENDER uses to decide plaintext vs encrypted SWM
739
779
  // (`resolveWorkspaceRecipientsGated`), so both sides of the wire stay
740
780
  // on one authority. Without it the receiver judged from local
@@ -941,7 +981,7 @@ export class SwmSubstrateMethods extends DKGAgentBase {
941
981
  getOrCreateCGMemberEnumerator() {
942
982
  if (!this.cgMemberEnumerator) {
943
983
  this.cgMemberEnumerator = createCGMemberEnumerator({
944
- getContextGraphAllowedPeers: (cgId) => this.getContextGraphAllowedPeers(cgId),
984
+ getContextGraphAllowedPeers: (cgId) => this.resolveSwmAllowedPeersForCurrentAuthority(cgId),
945
985
  getContextGraphAllowedAgentPeers: (cgId) => this.resolvePrivateSwmAgentPeerRoster(cgId),
946
986
  isPrivateContextGraph: (cgId) => this.isPrivateContextGraph(cgId),
947
987
  getTopicSubscribers: (topic) => this.gossip.getSubscribers(topic),
@@ -1428,20 +1468,31 @@ export class SwmSubstrateMethods extends DKGAgentBase {
1428
1468
  this.contextGraphMetaProjection.markDirtyFromQuads(quads);
1429
1469
  },
1430
1470
  workspaceWriteLocks: this.writeLocks,
1431
- retireConfirmedGraphScopedSwmTwinIfOrphaned: createRetireConfirmedGraphScopedSwmTwinIfOrphaned({
1432
- store: this.store,
1433
- writeLocks: this.writeLocks,
1434
- retire: async (candidate, ctx) => {
1435
- await this.publisher.clearPublishedKnowledgeAssetSwm(candidate.contextGraphId, {
1436
- kind: 'named-lifecycle',
1437
- identity: {
1438
- agentAddress: candidate.agentAddress,
1439
- kaNumber: candidate.kaNumber,
1440
- },
1441
- }, candidate.subGraphName, ctx, candidate.ual);
1442
- },
1443
- onTornHeadRemoved: (message, ctx) => this.log.warn(ctx, message),
1444
- }),
1471
+ retireConfirmedGraphScopedSwmTwinIfOrphaned: (() => {
1472
+ const retireOrphaned = createRetireConfirmedGraphScopedSwmTwinIfOrphaned({
1473
+ store: this.store,
1474
+ writeLocks: this.writeLocks,
1475
+ retire: async (candidate, ctx) => {
1476
+ await this.publisher.clearPublishedKnowledgeAssetSwm(candidate.contextGraphId, {
1477
+ kind: 'named-lifecycle',
1478
+ identity: {
1479
+ agentAddress: candidate.agentAddress,
1480
+ kaNumber: candidate.kaNumber,
1481
+ },
1482
+ }, candidate.subGraphName, ctx, candidate.ual);
1483
+ },
1484
+ onTornHeadRemoved: (message, ctx) => this.log.warn(ctx, message),
1485
+ });
1486
+ return async (candidate, ctx) => {
1487
+ await retireOrphaned(candidate, ctx);
1488
+ await this.retireLegacySwmAfterVerifiedVmTwin({
1489
+ contextGraphId: candidate.contextGraphId,
1490
+ kaUal: candidate.ual,
1491
+ assertionVersion: candidate.assertionVersion,
1492
+ subGraphName: candidate.subGraphName,
1493
+ });
1494
+ };
1495
+ })(),
1445
1496
  reconcileConfirmedGraphScopedSwmTwin: async (evidence, ctx) => {
1446
1497
  const retirement = await reconcileFinalizedSwmTwinFromCatalogProjection({
1447
1498
  store: this.store,
@@ -1450,6 +1501,12 @@ export class SwmSubstrateMethods extends DKGAgentBase {
1450
1501
  retire: (candidate) => this.retireFinalizedSwmTwinCandidate(candidate, ctx),
1451
1502
  });
1452
1503
  if (retirement === 'retired') {
1504
+ await this.retireLegacySwmAfterVerifiedVmTwin({
1505
+ contextGraphId: evidence.contextGraphId,
1506
+ kaUal: evidence.kaUal,
1507
+ assertionVersion: evidence.assertionVersion,
1508
+ subGraphName: evidence.subGraphName,
1509
+ });
1453
1510
  this.invalidateListContextGraphsCache();
1454
1511
  this.log.info(ctx, `Retired byte-identical SWM twin after finalized VM reconciliation for ${evidence.kaUal}`);
1455
1512
  }