@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,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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"}
@@ -8,15 +8,24 @@ import { FinalizationHandler } from './finalization-handler.js';
8
8
  import { type ContextGraphSub } from './dkg-agent-types.js';
9
9
  import { DKGAgentBase } from './dkg-agent-base.js';
10
10
  import type { DKGAgent } from './dkg-agent.js';
11
+ /** Options for subscribing this node to one context graph. */
12
+ export interface ContextGraphSubscribeOptions {
13
+ trackSyncScope?: boolean;
14
+ persist?: boolean;
15
+ deferSharedMemoryGossipSubscribe?: boolean;
16
+ syncMode?: 'on-demand' | 'always-on';
17
+ /** Authoritative numeric slot established by the admission owner. */
18
+ onChainId?: string;
19
+ }
11
20
  export declare class SwmSubstrateMethods extends DKGAgentBase {
12
- subscribeToContextGraph(this: DKGAgent, contextGraphId: string, options?: {
13
- trackSyncScope?: boolean;
14
- persist?: boolean;
15
- deferSharedMemoryGossipSubscribe?: boolean;
16
- syncMode?: 'on-demand' | 'always-on';
17
- /** Authoritative numeric slot established by the admission owner. */
18
- onChainId?: string;
19
- }): ContextGraphSub;
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;
24
+ /**
25
+ * Install one subscription after alias adoption: the row, its sync scope
26
+ * and its gossip handlers, or the RFC-64 catalog-owned equivalent.
27
+ */
28
+ protected installContextGraphSubscription(this: DKGAgent, contextGraphId: string, options?: ContextGraphSubscribeOptions): ContextGraphSub;
20
29
  /**
21
30
  * Inverse of {@link subscribeToContextGraph}: drop the LIVE member
22
31
  * subscription (publish / app / update / finalization + member-mode SWM
@@ -57,6 +66,38 @@ export declare class SwmSubstrateMethods extends DKGAgentBase {
57
66
  rfc64LegacySwmApplyAllowedForScope(this: DKGAgent, contextGraphId: string, subGraphName: string | null): boolean;
58
67
  /** Member transport remains necessary for the named-subgraph lane. */
59
68
  rfc64LegacySwmMemberTransportAllowedForContextGraph(this: DKGAgent, contextGraphId: string): boolean;
69
+ /** The cleartext id behind a wire id, or the id unchanged when it has none. */
70
+ rfc64AuthorityContextGraphIdV1(this: DKGAgent, contextGraphId: string): string;
71
+ /**
72
+ * Whether a private graph's root-scope SWM stays on the legacy member lane
73
+ * (#2858). RFC-64 closed legacy root-scope apply, admission and recovery for
74
+ * every catalog-mode graph, so that its selected-private lane carries root
75
+ * SWM on its own. That lane needs private authority a node may not have, so
76
+ * a member's RFC-64 authority for the graph can stay blocked or resolving
77
+ * indefinitely. Nothing then delivers the curator's root writes: they are
78
+ * declined for good, recovery skips the root scope, and a Knowledge Asset's
79
+ * updates never reach the member.
80
+ *
81
+ * The same holds while that authority is active on a node without private
82
+ * access-policy authority: the selected-private lane then delivers nothing.
83
+ *
84
+ * So unless RFC-64 can deliver private root SWM on this node, a private
85
+ * graph this node is a member of keeps the legacy member lane. Membership
86
+ * is read from the graph's own `_meta` on this node: a join approval
87
+ * delivers it before the curator's first share, and it survives a restart,
88
+ * whereas RFC-64 responsibility needs chain reads that can lag for a long
89
+ * time. The lane's own checks (allowlist, envelope, sender key, the
90
+ * curator's authorization) still apply. Public graphs, explicitly selected
91
+ * or accepted graphs, and nodes with private access-policy authority keep
92
+ * their RFC-64 behaviour.
93
+ */
94
+ rfc64PrivateRootSwmOnLegacyLaneV1(this: DKGAgent, contextGraphId: string): Promise<boolean>;
95
+ /**
96
+ * The RFC-64 half of {@link rfc64PrivateRootSwmOnLegacyLaneV1}: the graph's
97
+ * authority id when RFC-64 cannot deliver its private root SWM on this node,
98
+ * otherwise `null`. Synchronous, so the caller can repeat it after an await.
99
+ */
100
+ protected rfc64PrivateRootLegacyLaneAuthorityIdV1(this: DKGAgent, contextGraphId: string): string | null;
60
101
  reconcileSharedMemoryGossipSubscription(this: DKGAgent, contextGraphId: string): Promise<void>;
61
102
  /**
62
103
  * Receiver handler for `PROTOCOL_SWM_SHARE_ACK`. Extracted into
@@ -1 +1 @@
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
+ {"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';
@@ -14,6 +23,7 @@ import { resolveContextGraphSyncMode } from './context-graph-subscription-policy
14
23
  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';
26
+ import { projectRfc64CatalogTransportStateV1 } from './rfc64/catalog-rollout-authority-v1.js';
17
27
  export class SwmSubstrateMethods extends DKGAgentBase {
18
28
  subscribeToContextGraph(contextGraphId, options) {
19
29
  // A name hash this node already resolved (and holds no row for) is the
@@ -24,6 +34,45 @@ export class SwmSubstrateMethods extends DKGAgentBase {
24
34
  // Subscribing the cleartext of a graph held only by its name hash moves
25
35
  // the subscription: nothing may keep running under the hash id.
26
36
  this.retireLiveContextGraphNamePlaceholderFor(contextGraphId);
37
+ const subscription = this.installContextGraphSubscription(contextGraphId, options);
38
+ // The row is installed, so the phonebook check sees the subscription it
39
+ // qualifies against. An Edge keeps no durable `agents` phonebook, so the
40
+ // curator tier of a public wallet-scoped graph cannot reach its owner's
41
+ // holders: ask for one bounded fetch. Startup rehydration subscribes
42
+ // through here too. The request is O(1) and does its checks detached.
43
+ this.requestOnDemandAgentsPhonebook(contextGraphId, 'subscribe');
44
+ return subscription;
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
+ }
71
+ /**
72
+ * Install one subscription after alias adoption: the row, its sync scope
73
+ * and its gossip handlers, or the RFC-64 catalog-owned equivalent.
74
+ */
75
+ installContextGraphSubscription(contextGraphId, options) {
27
76
  const existing = this.subscribedContextGraphs.get(contextGraphId);
28
77
  const nextSubscription = () => {
29
78
  const next = {
@@ -239,19 +288,102 @@ export class SwmSubstrateMethods extends DKGAgentBase {
239
288
  }
240
289
  /** Member transport remains necessary for the named-subgraph lane. */
241
290
  rfc64LegacySwmMemberTransportAllowedForContextGraph(contextGraphId) {
291
+ return this.rfc64LegacySwmGossipAllowedForContextGraph(contextGraphId)
292
+ || this.subscribedContextGraphs.get(this.rfc64AuthorityContextGraphIdV1(contextGraphId))?.subscribed === true;
293
+ }
294
+ /** The cleartext id behind a wire id, or the id unchanged when it has none. */
295
+ rfc64AuthorityContextGraphIdV1(contextGraphId) {
242
296
  const wireContextGraphId = /^0x[0-9a-fA-F]{64}$/.test(contextGraphId)
243
297
  ? contextGraphId.toLowerCase()
244
298
  : null;
245
- const authorityContextGraphId = wireContextGraphId === null
299
+ return wireContextGraphId === null
246
300
  ? contextGraphId
247
301
  : (this.wireIdToLocalCgId.get(wireContextGraphId)
248
302
  ?? this.config.rfc64CatalogExecutionPlan
249
303
  .selectedAuthorityByWireId[wireContextGraphId]?.contextGraphId
250
304
  ?? wireContextGraphId);
251
- return this.rfc64LegacySwmGossipAllowedForContextGraph(contextGraphId)
252
- || this.subscribedContextGraphs.get(authorityContextGraphId)?.subscribed === true;
305
+ }
306
+ /**
307
+ * Whether a private graph's root-scope SWM stays on the legacy member lane
308
+ * (#2858). RFC-64 closed legacy root-scope apply, admission and recovery for
309
+ * every catalog-mode graph, so that its selected-private lane carries root
310
+ * SWM on its own. That lane needs private authority a node may not have, so
311
+ * a member's RFC-64 authority for the graph can stay blocked or resolving
312
+ * indefinitely. Nothing then delivers the curator's root writes: they are
313
+ * declined for good, recovery skips the root scope, and a Knowledge Asset's
314
+ * updates never reach the member.
315
+ *
316
+ * The same holds while that authority is active on a node without private
317
+ * access-policy authority: the selected-private lane then delivers nothing.
318
+ *
319
+ * So unless RFC-64 can deliver private root SWM on this node, a private
320
+ * graph this node is a member of keeps the legacy member lane. Membership
321
+ * is read from the graph's own `_meta` on this node: a join approval
322
+ * delivers it before the curator's first share, and it survives a restart,
323
+ * whereas RFC-64 responsibility needs chain reads that can lag for a long
324
+ * time. The lane's own checks (allowlist, envelope, sender key, the
325
+ * curator's authorization) still apply. Public graphs, explicitly selected
326
+ * or accepted graphs, and nodes with private access-policy authority keep
327
+ * their RFC-64 behaviour.
328
+ */
329
+ async rfc64PrivateRootSwmOnLegacyLaneV1(contextGraphId) {
330
+ const authorityContextGraphId = this.rfc64PrivateRootLegacyLaneAuthorityIdV1(contextGraphId);
331
+ if (authorityContextGraphId === null)
332
+ return false;
333
+ const localAgents = [
334
+ this.defaultAgentAddress,
335
+ ...this.listLocalAgents().map(({ agentAddress }) => agentAddress),
336
+ ];
337
+ // The cached merged projection only screens out the common case cheaply;
338
+ // it also holds replicated ONTOLOGY and AGENTS facts, so the decision is
339
+ // taken from the graph's own `_meta` alone.
340
+ try {
341
+ if (!isLocalPrivateMember(await this.getCgMeta(authorityContextGraphId), localAgents)) {
342
+ return false;
343
+ }
344
+ if (!isLocalPrivateMember(await this.getOwnCgMetaFacts(authorityContextGraphId), localAgents)) {
345
+ return false;
346
+ }
347
+ }
348
+ catch {
349
+ return false;
350
+ }
351
+ // RFC-64 authority can change while the metadata is read: decide on the
352
+ // authority as it stands now, not as it stood before the reads.
353
+ return this.rfc64PrivateRootLegacyLaneAuthorityIdV1(contextGraphId) === authorityContextGraphId;
354
+ }
355
+ /**
356
+ * The RFC-64 half of {@link rfc64PrivateRootSwmOnLegacyLaneV1}: the graph's
357
+ * authority id when RFC-64 cannot deliver its private root SWM on this node,
358
+ * otherwise `null`. Synchronous, so the caller can repeat it after an await.
359
+ */
360
+ rfc64PrivateRootLegacyLaneAuthorityIdV1(contextGraphId) {
361
+ if (this.rfc64LegacySwmGossipAllowedForContextGraph(contextGraphId))
362
+ return null;
363
+ const authorityContextGraphId = this.rfc64AuthorityContextGraphIdV1(contextGraphId);
364
+ // A wire id with no cleartext binding names no graph this node holds.
365
+ if (/^0x[0-9a-fA-F]{64}$/.test(authorityContextGraphId))
366
+ return null;
367
+ if (this.config.rfc64CatalogExecutionPlan.selectedAuthority[authorityContextGraphId] !== undefined
368
+ || this.hasRfc64AcceptedCompatibilityAuthorityV1(authorityContextGraphId)
369
+ || (this.config.rfc64CatalogBootstrap?.acceptedPolicies ?? []).some(({ policyEnvelope }) => policyEnvelope.payload.contextGraphId === authorityContextGraphId))
370
+ return null;
371
+ // RFC-64's selected-private lane carries private root SWM only on a node
372
+ // configured with private access-policy authority. Elsewhere it delivers
373
+ // nothing, whether or not the graph's RFC-64 authority is active.
374
+ const transport = projectRfc64CatalogTransportStateV1(this.resolveRfc64CatalogReceiverAuthorityV1(authorityContextGraphId));
375
+ if (transport === 'legacy')
376
+ return null;
377
+ if (transport === 'catalog-active'
378
+ && this.config.rfc64CatalogAccessPolicyAuthority !== undefined)
379
+ return null;
380
+ return authorityContextGraphId;
253
381
  }
254
382
  async reconcileSharedMemoryGossipSubscription(contextGraphId) {
383
+ const session = this.gossipSession;
384
+ const live = session.live();
385
+ if (live === null)
386
+ return;
255
387
  // Retired name-hash id: skip. It shares the wire topic and host-mode key
256
388
  // with the cleartext row, and a topic-wide unsubscribe here would drop
257
389
  // that row's handler (see supersedingContextGraphIdFor).
@@ -260,9 +392,9 @@ export class SwmSubstrateMethods extends DKGAgentBase {
260
392
  this.log.debug(createOperationContext('system'), `SWM gossip reconcile for "${contextGraphId}" skipped: superseded by cleartext adoption of "${supersedingId}"`);
261
393
  return;
262
394
  }
263
- // Reconcile is the membership boundary; rebuild this CG's policy view
264
- // before deciding whether to keep or drop the SWM subscription.
265
- 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);
266
398
  // OT-RFC-38 / LU-6 Phase B — subscribe on the wire-form (hash) topic.
267
399
  // Members compute the hash from their local cleartext id via
268
400
  // {@link gossipWireIdFor}; cores hosting CGs they never joined
@@ -271,7 +403,7 @@ export class SwmSubstrateMethods extends DKGAgentBase {
271
403
  // identity for them.
272
404
  const wireCgId = this.gossipWireIdFor(contextGraphId);
273
405
  const swmTopic = contextGraphWorkspaceTopic(wireCgId);
274
- const isRegistered = this.sharedMemoryGossipRegistered.has(contextGraphId);
406
+ const isRegistered = session.sharedMemoryGossipRegistered.has(contextGraphId);
275
407
  const ctx = createOperationContext('system');
276
408
  if (!this.rfc64LegacySwmMemberTransportAllowedForContextGraph(contextGraphId)) {
277
409
  // This is the member-mode transport boundary. An unsubscribed selected
@@ -281,12 +413,12 @@ export class SwmSubstrateMethods extends DKGAgentBase {
281
413
  // GossipSubManager.unsubscribe() is topic-wide, so clear both member
282
414
  // and host bookkeeping before returning. A future live subscription
283
415
  // may explicitly restore the scope-filtered member handler.
284
- this.gossip.unsubscribe(swmTopic);
285
- this.sharedMemoryGossipRegistered.delete(contextGraphId);
416
+ live.manager.unsubscribe(swmTopic);
417
+ session.sharedMemoryGossipRegistered.delete(contextGraphId);
286
418
  const hostKey = this.canonicalSwmHostModeKey(contextGraphId);
287
- this.swmHostModeSubscribed.delete(hostKey);
288
- this.swmHostModeCurated.delete(hostKey);
289
- this.swmHostModeHandlers.delete(hostKey);
419
+ session.swmHostModeSubscribed.delete(hostKey);
420
+ session.swmHostModeCurated.delete(hostKey);
421
+ session.swmHostModeHandlers.delete(hostKey);
290
422
  this.enqueueHostModePersistence(contextGraphId, false);
291
423
  }
292
424
  else {
@@ -296,7 +428,10 @@ export class SwmSubstrateMethods extends DKGAgentBase {
296
428
  }
297
429
  return;
298
430
  }
299
- if (!(await this.canUseSharedMemoryForContextGraph(contextGraphId))) {
431
+ const canUseSharedMemory = await this.canUseSharedMemoryForContextGraph(contextGraphId);
432
+ if (!session.active || this.gossipSession !== session)
433
+ return;
434
+ if (!canUseSharedMemory) {
300
435
  if (isRegistered) {
301
436
  // `gossip.unsubscribe()` drops EVERY handler on the topic,
302
437
  // not just the member-mode one. If this core was already
@@ -328,17 +463,17 @@ export class SwmSubstrateMethods extends DKGAgentBase {
328
463
  // final on-disk state always matches the final in-memory
329
464
  // intent — no possible interleave where the "false" lands
330
465
  // after a later "true" and re-subscribes on next boot.
331
- this.gossip.unsubscribe(swmTopic);
332
- this.sharedMemoryGossipRegistered.delete(contextGraphId);
466
+ live.manager.unsubscribe(swmTopic);
467
+ session.sharedMemoryGossipRegistered.delete(contextGraphId);
333
468
  // Host-mode maps are canonical-keyed (wire-form hash); delete
334
469
  // by canonical id so this cleanup hits the entry regardless
335
470
  // of which discovery path wired it. Without this, the
336
471
  // immediate `reconcileSwmHostModeSubscription()` call below
337
472
  // would see a stale entry and early-return.
338
473
  const hostKey = this.canonicalSwmHostModeKey(contextGraphId);
339
- this.swmHostModeSubscribed.delete(hostKey);
340
- this.swmHostModeCurated.delete(hostKey);
341
- this.swmHostModeHandlers.delete(hostKey);
474
+ session.swmHostModeSubscribed.delete(hostKey);
475
+ session.swmHostModeCurated.delete(hostKey);
476
+ session.swmHostModeHandlers.delete(hostKey);
342
477
  this.enqueueHostModePersistence(contextGraphId, false);
343
478
  this.log.warn(ctx, `SWM gossip unsubscribed for "${contextGraphId}": local node is no longer authorized`);
344
479
  }
@@ -362,9 +497,11 @@ export class SwmSubstrateMethods extends DKGAgentBase {
362
497
  // dropping every handler on the topic) so we don't double-
363
498
  // process every envelope (apply + opaque append).
364
499
  this.unwireSwmHostModeHandler(contextGraphId);
365
- this.sharedMemoryGossipRegistered.add(contextGraphId);
366
- this.gossip.subscribe(swmTopic);
367
- 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;
368
505
  const wh = this.getOrCreateSharedMemoryHandler();
369
506
  const outcome = await wh.handle(data, from);
370
507
  // Emit SwmShareAck on gossip-applied shares so the
@@ -621,20 +758,39 @@ export class SwmSubstrateMethods extends DKGAgentBase {
621
758
  sharedMemoryOwnedEntities: this.workspaceOwnedEntities,
622
759
  writeLocks: this.writeLocks,
623
760
  localAgentAddresses: () => [...this.localAgents.keys()],
624
- contextGraphMetaOracle: (cgId) => this.getCgMeta(cgId),
625
- // Same live on-chain predicate the SENDER uses to decide plaintext vs
626
- // encrypted SWM (`resolveWorkspaceRecipientsGated`). Wiring it here
627
- // keeps both sides of the wire on one authority. Without it the
628
- // receiver judged from local allowedAgent/participantAgent triples and
629
- // permanently dropped the plaintext writes the sender is supposed to
630
- // send on a public CG — silently breaking member->curator SWM shares on
631
- // every public/curated context graph.
632
- publicAccessPolicyOnChainOracle: (cgId) => withRpcUsageSite(CG_AUTH_RPC_SITES.swmPublicOracle, () => this.isContextGraphPublicOnChain(cgId, createOperationContext('share'))),
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
+ },
778
+ // Same predicate the SENDER uses to decide plaintext vs encrypted SWM
779
+ // (`resolveWorkspaceRecipientsGated`), so both sides of the wire stay
780
+ // on one authority. Without it the receiver judged from local
781
+ // allowedAgent/participantAgent triples and permanently dropped the
782
+ // plaintext writes the sender is supposed to send on a public CG —
783
+ // silently breaking member->curator SWM shares on every public/curated
784
+ // context graph, registered or owner-signed unregistered (#2827).
785
+ publicAccessPolicyOracle: (cgId) => withRpcUsageSite(CG_AUTH_RPC_SITES.swmPublicOracle, () => this.isContextGraphSwmPublic(cgId, createOperationContext('share'))),
633
786
  // RFC-64 catalog authority already excludes selected CGs from legacy
634
787
  // durable catch-up. Apply the same decision to live gossip/substrate
635
788
  // delivery so a partial ambient generation cannot race ahead of an
636
789
  // authenticated exact catalog head and make cold bootstrap fail closed.
637
- legacyApplyAllowedOracle: (cgId, subGraphName) => (this.rfc64LegacySwmApplyAllowedForScope(cgId, subGraphName)),
790
+ // A private graph's root scope keeps the legacy member lane while its
791
+ // RFC-64 authority is not active (#2858).
792
+ legacyApplyAllowedOracle: async (cgId, subGraphName) => (this.rfc64LegacySwmApplyAllowedForScope(cgId, subGraphName)
793
+ || (subGraphName === null && await this.rfc64PrivateRootSwmOnLegacyLaneV1(cgId))),
638
794
  resolveDurableRootAtomicCompanion: (input) => {
639
795
  if (this.config.dataDir === undefined)
640
796
  return;
@@ -825,7 +981,7 @@ export class SwmSubstrateMethods extends DKGAgentBase {
825
981
  getOrCreateCGMemberEnumerator() {
826
982
  if (!this.cgMemberEnumerator) {
827
983
  this.cgMemberEnumerator = createCGMemberEnumerator({
828
- getContextGraphAllowedPeers: (cgId) => this.getContextGraphAllowedPeers(cgId),
984
+ getContextGraphAllowedPeers: (cgId) => this.resolveSwmAllowedPeersForCurrentAuthority(cgId),
829
985
  getContextGraphAllowedAgentPeers: (cgId) => this.resolvePrivateSwmAgentPeerRoster(cgId),
830
986
  isPrivateContextGraph: (cgId) => this.isPrivateContextGraph(cgId),
831
987
  getTopicSubscribers: (topic) => this.gossip.getSubscribers(topic),
@@ -1312,20 +1468,31 @@ export class SwmSubstrateMethods extends DKGAgentBase {
1312
1468
  this.contextGraphMetaProjection.markDirtyFromQuads(quads);
1313
1469
  },
1314
1470
  workspaceWriteLocks: this.writeLocks,
1315
- retireConfirmedGraphScopedSwmTwinIfOrphaned: createRetireConfirmedGraphScopedSwmTwinIfOrphaned({
1316
- store: this.store,
1317
- writeLocks: this.writeLocks,
1318
- retire: async (candidate, ctx) => {
1319
- await this.publisher.clearPublishedKnowledgeAssetSwm(candidate.contextGraphId, {
1320
- kind: 'named-lifecycle',
1321
- identity: {
1322
- agentAddress: candidate.agentAddress,
1323
- kaNumber: candidate.kaNumber,
1324
- },
1325
- }, candidate.subGraphName, ctx, candidate.ual);
1326
- },
1327
- onTornHeadRemoved: (message, ctx) => this.log.warn(ctx, message),
1328
- }),
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
+ })(),
1329
1496
  reconcileConfirmedGraphScopedSwmTwin: async (evidence, ctx) => {
1330
1497
  const retirement = await reconcileFinalizedSwmTwinFromCatalogProjection({
1331
1498
  store: this.store,
@@ -1334,6 +1501,12 @@ export class SwmSubstrateMethods extends DKGAgentBase {
1334
1501
  retire: (candidate) => this.retireFinalizedSwmTwinCandidate(candidate, ctx),
1335
1502
  });
1336
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
+ });
1337
1510
  this.invalidateListContextGraphsCache();
1338
1511
  this.log.info(ctx, `Retired byte-identical SWM twin after finalized VM reconciliation for ${evidence.kaUal}`);
1339
1512
  }