@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,4 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
+ const ACCEPTED_PRIVATE_ROSTER_UNAVAILABLE_DETAIL = 'active accepted private RFC-64 authority has no current roster';
2
3
  /**
3
4
  * The single policy application every SWM consumer shares: one active-policy
4
5
  * check, used as the accepted-absence allowance of one registered-authority
@@ -7,51 +8,167 @@
7
8
  */
8
9
  async function readWithActiveAcceptedPolicy(host, contextGraphId, options) {
9
10
  const activeAcceptedPublicPolicy = host.hasActiveAcceptedRfc64PublicUnregisteredAuthorityV1(contextGraphId);
11
+ const activeAcceptedPrivateRoster = activeAcceptedPublicPolicy
12
+ ? undefined
13
+ : host.resolveActiveAcceptedRfc64PrivateUnregisteredRosterV1?.(contextGraphId);
14
+ const acceptsFinalizedAbsence = activeAcceptedPublicPolicy
15
+ || activeAcceptedPrivateRoster !== undefined;
10
16
  const registered = await host.resolveRegisteredContextGraphAuthority(contextGraphId, {
11
17
  ...options,
12
- allowAcceptedRfc64FinalizedAbsence: activeAcceptedPublicPolicy,
18
+ allowAcceptedRfc64FinalizedAbsence: acceptsFinalizedAbsence,
19
+ allowApprovedPrivateReplicaFinalizedAbsence: true,
13
20
  });
14
21
  // An `unregistered` answer may rest on the accepted-absence allowance, which
15
22
  // holds only while the policy still governs transport. Catalog authority can
16
23
  // be killed, blocked or deactivated while the read awaits the index: then
17
24
  // read again without the allowance instead of acting on the stale fence. A
18
25
  // registered answer never depended on the allowance and stands as read.
19
- if (activeAcceptedPublicPolicy
20
- && registered.kind === 'unregistered'
21
- && !host.hasActiveAcceptedRfc64PublicUnregisteredAuthorityV1(contextGraphId)) {
22
- return {
23
- registered: await host.resolveRegisteredContextGraphAuthority(contextGraphId, {
26
+ if (registered.kind === 'unregistered') {
27
+ // Re-read the synchronous accepted-policy projection after the async
28
+ // registration lookup. Besides closing deactivation, this makes a private
29
+ // roster rotation during the lookup use the new exact roster rather than
30
+ // the stale pre-await snapshot.
31
+ const currentAcceptedPublicPolicy = host.hasActiveAcceptedRfc64PublicUnregisteredAuthorityV1(contextGraphId);
32
+ if (currentAcceptedPublicPolicy) {
33
+ return { registered, activeAcceptedPolicy: { kind: 'plaintext' } };
34
+ }
35
+ const currentAcceptedPrivateRoster = host.resolveActiveAcceptedRfc64PrivateUnregisteredRosterV1?.(contextGraphId);
36
+ if (currentAcceptedPrivateRoster !== undefined) {
37
+ if (currentAcceptedPrivateRoster === null) {
38
+ return {
39
+ registered: {
40
+ kind: 'unavailable',
41
+ reason: 'finalized-name-absence-unaccepted',
42
+ detail: ACCEPTED_PRIVATE_ROSTER_UNAVAILABLE_DETAIL,
43
+ },
44
+ activeAcceptedPolicy: null,
45
+ };
46
+ }
47
+ return {
48
+ registered,
49
+ activeAcceptedPolicy: {
50
+ kind: 'private-roster',
51
+ participantAgents: Object.freeze([...currentAcceptedPrivateRoster]),
52
+ },
53
+ };
54
+ }
55
+ if (acceptsFinalizedAbsence) {
56
+ const registeredWithoutAcceptedAbsence = await host.resolveRegisteredContextGraphAuthority(contextGraphId, {
24
57
  ...options,
25
58
  allowAcceptedRfc64FinalizedAbsence: false,
26
- }),
27
- activeAcceptedPublicPolicy: false,
28
- };
59
+ allowApprovedPrivateReplicaFinalizedAbsence: true,
60
+ });
61
+ // The accepted authority can reactivate or rotate while that fallback
62
+ // read awaits the index. If another authority (local-first or approved
63
+ // replica) independently proved unregistered, the newly current signed
64
+ // policy still takes precedence over its metadata roster.
65
+ if (registeredWithoutAcceptedAbsence.kind === 'unregistered') {
66
+ const reacquiredAcceptedPublicPolicy = host.hasActiveAcceptedRfc64PublicUnregisteredAuthorityV1(contextGraphId);
67
+ if (reacquiredAcceptedPublicPolicy) {
68
+ return {
69
+ registered: registeredWithoutAcceptedAbsence,
70
+ activeAcceptedPolicy: { kind: 'plaintext' },
71
+ };
72
+ }
73
+ const reacquiredAcceptedPrivateRoster = host.resolveActiveAcceptedRfc64PrivateUnregisteredRosterV1?.(contextGraphId);
74
+ if (reacquiredAcceptedPrivateRoster !== undefined) {
75
+ if (reacquiredAcceptedPrivateRoster === null) {
76
+ return {
77
+ registered: {
78
+ kind: 'unavailable',
79
+ reason: 'finalized-name-absence-unaccepted',
80
+ detail: ACCEPTED_PRIVATE_ROSTER_UNAVAILABLE_DETAIL,
81
+ },
82
+ activeAcceptedPolicy: null,
83
+ };
84
+ }
85
+ return {
86
+ registered: registeredWithoutAcceptedAbsence,
87
+ activeAcceptedPolicy: {
88
+ kind: 'private-roster',
89
+ participantAgents: Object.freeze([...reacquiredAcceptedPrivateRoster]),
90
+ },
91
+ };
92
+ }
93
+ }
94
+ return {
95
+ registered: registeredWithoutAcceptedAbsence,
96
+ activeAcceptedPolicy: null,
97
+ };
98
+ }
29
99
  }
30
- return { registered, activeAcceptedPublicPolicy };
100
+ return { registered, activeAcceptedPolicy: null };
31
101
  }
32
102
  /**
33
103
  * Registered-chain authority for SWM consumers that need the raw roster (the
34
- * agent gate and member recovery). An active accepted owner-signed PUBLIC
35
- * policy lets exact finalized name absence count as unregistered, as on the
36
- * read path; a registration the index shows always wins, and the creator's own
37
- * graph stays local-first in the registry until its registration commits.
104
+ * agent gate and member recovery). An active accepted owner-signed policy lets
105
+ * exact finalized name absence count as unregistered, as on the read path; a
106
+ * registration the index shows always wins, and the creator's own graph stays
107
+ * local-first in the registry until its registration commits. Consumers that
108
+ * need the accepted private roster itself use the transport/recovery decision,
109
+ * which preserves it alongside this registration result.
38
110
  */
39
111
  export async function resolveSwmRegisteredAuthorityDecision(host, contextGraphId, options = {}) {
40
112
  return (await readWithActiveAcceptedPolicy(host, contextGraphId, options)).registered;
41
113
  }
114
+ /**
115
+ * Resolve member-recovery authority without dropping the accepted private
116
+ * roster that licensed finalized absence. Keeping the roster and registration
117
+ * result in one decision also closes a deactivation/rotation race before a
118
+ * caller could fall back to stale local metadata.
119
+ */
120
+ export async function resolveSwmMemberRecoveryAuthorityDecision(host, contextGraphId, options = {}) {
121
+ const { registered, activeAcceptedPolicy } = await readWithActiveAcceptedPolicy(host, contextGraphId, options);
122
+ switch (registered.kind) {
123
+ case 'private':
124
+ return { kind: 'private-roster', participantAgents: registered.participantAgents };
125
+ case 'unregistered':
126
+ return activeAcceptedPolicy?.kind === 'private-roster'
127
+ ? activeAcceptedPolicy
128
+ : { kind: 'legacy-unregistered' };
129
+ case 'public':
130
+ case 'unavailable':
131
+ return { kind: 'denied' };
132
+ }
133
+ }
42
134
  /** How SWM on this graph may travel, for both ends of the wire. */
43
135
  export async function resolveSwmTransportAuthorityDecision(host, contextGraphId, options = {}) {
44
- const { registered, activeAcceptedPublicPolicy } = await readWithActiveAcceptedPolicy(host, contextGraphId, options);
136
+ const { registered, activeAcceptedPolicy } = await readWithActiveAcceptedPolicy(host, contextGraphId, options);
45
137
  switch (registered.kind) {
46
138
  case 'public':
47
139
  return { kind: 'plaintext' };
48
140
  case 'unregistered':
49
- // Exact finalized absence under the active public policy, or the
50
- // registry's local-first answer for a graph this node created.
51
- return activeAcceptedPublicPolicy ? { kind: 'plaintext' } : { kind: 'legacy-unregistered' };
141
+ // An active accepted owner policy is authoritative over both the stale
142
+ // local metadata roster and participant-only replica approval.
143
+ if (activeAcceptedPolicy !== null)
144
+ return activeAcceptedPolicy;
145
+ if (registered.approvedPrivateReplicaAuthority === undefined) {
146
+ return { kind: 'legacy-unregistered' };
147
+ }
148
+ const allowedPeers = registered.approvedPrivateReplicaAuthority.allowedPeers;
149
+ if (!Array.isArray(allowedPeers)
150
+ || !allowedPeers.every((peerId) => typeof peerId === 'string' && peerId.length > 0)) {
151
+ return {
152
+ kind: 'unavailable',
153
+ reason: 'finalized-name-absence-unaccepted',
154
+ detail: 'approved private replica authority is missing a valid source-qualified peer gate',
155
+ };
156
+ }
157
+ return {
158
+ kind: 'approved-private-replica',
159
+ allowedPeers: Object.freeze([...allowedPeers]),
160
+ };
52
161
  case 'private':
53
162
  return { kind: 'private-roster', participantAgents: registered.participantAgents };
54
163
  case 'unavailable':
164
+ if (registered.reason === 'finalized-name-absence-unaccepted'
165
+ && registered.detail === ACCEPTED_PRIVATE_ROSTER_UNAVAILABLE_DETAIL) {
166
+ return {
167
+ kind: 'unavailable',
168
+ reason: 'rfc64-private-read-roster-unavailable',
169
+ detail: registered.detail,
170
+ };
171
+ }
55
172
  return registered;
56
173
  }
57
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swm-transport-authority.js","sourceRoot":"","sources":["../../../src/internal/context-graph-authority/swm-transport-authority.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA6CtC;;;;;GAKG;AACH,KAAK,UAAU,4BAA4B,CACzC,IAAsB,EACtB,cAAsB,EACtB,OAA0C;IAK1C,MAAM,0BAA0B,GAC9B,IAAI,CAAC,mDAAmD,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sCAAsC,CAAC,cAAc,EAAE;QACnF,GAAG,OAAO;QACV,kCAAkC,EAAE,0BAA0B;KAC/D,CAAC,CAAC;IACH,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,IACE,0BAA0B;WACvB,UAAU,CAAC,IAAI,KAAK,cAAc;WAClC,CAAC,IAAI,CAAC,mDAAmD,CAAC,cAAc,CAAC,EAC5E,CAAC;QACD,OAAO;YACL,UAAU,EAAE,MAAM,IAAI,CAAC,sCAAsC,CAAC,cAAc,EAAE;gBAC5E,GAAG,OAAO;gBACV,kCAAkC,EAAE,KAAK;aAC1C,CAAC;YACF,0BAA0B,EAAE,KAAK;SAClC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,IAAsB,EACtB,cAAsB,EACtB,UAA6C,EAAE;IAE/C,OAAO,CAAC,MAAM,4BAA4B,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AACxF,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,IAAsB,EACtB,cAAsB,EACtB,UAA6C,EAAE;IAE/C,MAAM,EAAE,UAAU,EAAE,0BAA0B,EAAE,GAC9C,MAAM,4BAA4B,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACpE,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,KAAK,cAAc;YACjB,iEAAiE;YACjE,+DAA+D;YAC/D,OAAO,0BAA0B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;QAC9F,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACrF,KAAK,aAAa;YAChB,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"swm-transport-authority.js","sourceRoot":"","sources":["../../../src/internal/context-graph-authority/swm-transport-authority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function contextGraphBindingAbortReason(signal: AbortSignal): Error;
2
+ export declare function raceContextGraphBindingAgainstAbort<T>(work: Promise<T>, signal: AbortSignal | undefined): Promise<T>;
3
+ //# sourceMappingURL=context-graph-binding-abort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-binding-abort.d.ts","sourceRoot":"","sources":["../../src/internal/context-graph-binding-abort.ts"],"names":[],"mappings":"AAIA,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAKzE;AAED,wBAAgB,mCAAmC,CAAC,CAAC,EACnD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,OAAO,CAAC,CAAC,CAAC,CAsBZ"}
@@ -0,0 +1,32 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export function contextGraphBindingAbortReason(signal) {
3
+ if (signal.reason instanceof Error)
4
+ return signal.reason;
5
+ const error = new Error(String(signal.reason ?? 'Context Graph binding resolution aborted'));
6
+ error.name = 'AbortError';
7
+ return error;
8
+ }
9
+ export function raceContextGraphBindingAgainstAbort(work, signal) {
10
+ if (!signal)
11
+ return work;
12
+ if (signal.aborted)
13
+ return Promise.reject(contextGraphBindingAbortReason(signal));
14
+ return new Promise((resolve, reject) => {
15
+ const onAbort = () => {
16
+ cleanup();
17
+ reject(contextGraphBindingAbortReason(signal));
18
+ };
19
+ const cleanup = () => signal.removeEventListener('abort', onAbort);
20
+ signal.addEventListener('abort', onAbort, { once: true });
21
+ work.then((value) => {
22
+ cleanup();
23
+ resolve(value);
24
+ }, (error) => {
25
+ cleanup();
26
+ reject(error);
27
+ });
28
+ if (signal.aborted)
29
+ onAbort();
30
+ });
31
+ }
32
+ //# sourceMappingURL=context-graph-binding-abort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-binding-abort.js","sourceRoot":"","sources":["../../src/internal/context-graph-binding-abort.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAItC,MAAM,UAAU,8BAA8B,CAAC,MAAmB;IAChE,IAAI,MAAM,CAAC,MAAM,YAAY,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,0CAA0C,CAAC,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,IAAgB,EAChB,MAA+B;IAE/B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CACP,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CACF,CAAC;QACF,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type TripleStore, type Quad, type SortedGraphSetSource } from '@origintrail-official/dkg-storage';
2
+ export declare function createListContextGraphsCacheInvalidatingStore(innerStore: TripleStore, invalidate: () => void, markProjectionDirty?: (quads?: readonly Quad[], targetGraph?: string, targetSubject?: string) => void): TripleStore & Partial<SortedGraphSetSource>;
3
+ //# sourceMappingURL=context-graph-cache-invalidating-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-cache-invalidating-store.d.ts","sourceRoot":"","sources":["../../src/internal/context-graph-cache-invalidating-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2D,KAAK,WAAW,EAAE,KAAK,IAAI,EAAE,KAAK,oBAAoB,EAAuB,MAAM,mCAAmC,CAAC;AAEzL,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,MAAM,IAAI,EAGtB,mBAAmB,CAAC,EAAE,CACpB,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,KACnB,IAAI,GACR,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsO7C"}
@@ -0,0 +1,167 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { isSparqlUpdateOperation } from '@origintrail-official/dkg-core';
3
+ import { deleteByPatternWithoutCount, isStoreOperationNotStarted } from '@origintrail-official/dkg-storage';
4
+ export function createListContextGraphsCacheInvalidatingStore(innerStore, invalidate,
5
+ // #1863 — `targetGraph` lets a single-graph destructive mutation (replaceSubject)
6
+ // dirty the projection by graph rather than by inserted quads (covers deletes).
7
+ markProjectionDirty) {
8
+ const invalidateAfterMutation = async (work, changed, markDirty, operation) => {
9
+ try {
10
+ const result = await work();
11
+ if (changed(result)) {
12
+ invalidate();
13
+ markDirty?.();
14
+ }
15
+ return result;
16
+ }
17
+ catch (error) {
18
+ // A mutation may have committed before its response was lost. Only an
19
+ // outcome-tagged pre-dispatch refusal proves cache/authority state did
20
+ // not change; every indeterminate outcome must invalidate fail-closed.
21
+ if (operation !== undefined && !isStoreOperationNotStarted(error, operation)) {
22
+ invalidate();
23
+ markDirty?.();
24
+ }
25
+ throw error;
26
+ }
27
+ };
28
+ const sortedSource = typeof innerStore.listGraphsSorted
29
+ === 'function'
30
+ ? innerStore
31
+ : null;
32
+ const wrapper = {
33
+ innerStore,
34
+ get queryCancellation() {
35
+ return innerStore.queryCancellation;
36
+ },
37
+ getPressureSnapshot() {
38
+ return innerStore.getPressureSnapshot?.();
39
+ },
40
+ insert(quads, options) {
41
+ return invalidateAfterMutation(() => innerStore.insert(quads, options), () => quads.length > 0, () => markProjectionDirty?.(quads), 'insert');
42
+ },
43
+ delete(quads, options) {
44
+ return invalidateAfterMutation(() => innerStore.delete(quads, options), () => quads.length > 0, () => markProjectionDirty?.(quads), 'delete');
45
+ },
46
+ deleteByPattern(pattern, options) {
47
+ return invalidateAfterMutation(() => innerStore.deleteByPattern(pattern, options), removed => removed > 0, () => markProjectionDirty?.(undefined, pattern.graph), 'deleteByPattern');
48
+ },
49
+ deleteByPatternWithoutCount(pattern, options) {
50
+ return invalidateAfterMutation(() => deleteByPatternWithoutCount(innerStore, pattern, options), () => true, () => markProjectionDirty?.(undefined, pattern.graph), 'deleteByPattern');
51
+ },
52
+ query(sparql, options) {
53
+ return invalidateAfterMutation(() => innerStore.query(sparql, options), () => isSparqlUpdateOperation(sparql), () => markProjectionDirty?.(), isSparqlUpdateOperation(sparql) ? 'query' : undefined);
54
+ },
55
+ hasGraph(graphUri, options) {
56
+ return innerStore.hasGraph(graphUri, options);
57
+ },
58
+ createGraph(graphUri) {
59
+ return innerStore.createGraph(graphUri);
60
+ },
61
+ dropGraph(graphUri, options) {
62
+ return invalidateAfterMutation(() => innerStore.dropGraph(graphUri, options), () => true, () => markProjectionDirty?.(undefined, graphUri), 'dropGraph');
63
+ },
64
+ replaceGraph: innerStore.replaceGraph
65
+ ? (graphUri, quads, options) => invalidateAfterMutation(() => innerStore.replaceGraph(graphUri, quads, options), () => true, () => markProjectionDirty?.(undefined, graphUri), 'replaceGraph')
66
+ : undefined,
67
+ // Rootless KA materialization replaces the assertion graph and its UAL
68
+ // metadata subject in one backend transaction. Preserve that optional
69
+ // capability through the agent decorator just like replaceGraph/update;
70
+ // omitting it makes every capable production backend appear unsupported.
71
+ replaceGraphAndSubject: innerStore.replaceGraphAndSubject
72
+ ? (graphUri, graphQuads, metaGraphUri, metadataSubject, metadataQuads, options) => invalidateAfterMutation(() => innerStore.replaceGraphAndSubject(graphUri, graphQuads, metaGraphUri, metadataSubject, metadataQuads, options), () => true,
73
+ // Both deletion targets are named. A graph-scoped invalidation
74
+ // covers inserted and removed facts without scanning the payload.
75
+ () => {
76
+ markProjectionDirty?.(undefined, graphUri);
77
+ markProjectionDirty?.(undefined, metaGraphUri);
78
+ }, 'replaceGraphAndSubject')
79
+ : undefined,
80
+ // #1863 — the async-lift publisher persists a job transition via this atomic
81
+ // single-subject replace. Preserve the optional capability through the agent
82
+ // decorator just like replaceGraph/replaceGraphAndSubject/update; omitting it
83
+ // makes every capable production backend appear unsupported, so the publisher
84
+ // silently falls back to non-atomic delete-then-insert and the fix is a no-op.
85
+ replaceSubject: innerStore.replaceSubject
86
+ ? (graphUri, subject, quads, options) => invalidateAfterMutation(() => innerStore.replaceSubject(graphUri, subject, quads, options), () => true,
87
+ // The target graph covers deleted facts; the replacement quads
88
+ // cover inserted recipient facts. The subject lets downstream
89
+ // invalidation distinguish exact atomic replacement paths.
90
+ () => markProjectionDirty?.(quads, graphUri, subject), 'replaceSubject')
91
+ : undefined,
92
+ // RFC-64 author publication moves a complete public-SWM projection and
93
+ // its bounded semantic control state through one backend CAS. Preserve the
94
+ // capability through this cache-invalidation decorator and invalidate only
95
+ // after a proven commit; a clean guard conflict changes nothing.
96
+ rfc64AuthorCommitCasV1: innerStore.rfc64AuthorCommitCasV1
97
+ ? (input, options) => invalidateAfterMutation(() => innerStore.rfc64AuthorCommitCasV1(input, options), result => result === 'committed', () => {
98
+ // The CAS names every graph it replaces. A graph-wide dirty mark
99
+ // here invalidates an unrelated private CG's own metadata proof
100
+ // after every authored row, even though the CAS only changed this
101
+ // exact projection and its control subjects. Fence each named
102
+ // target, including deleted facts, without losing the conservative
103
+ // all-graph fallback used by genuinely opaque store mutations.
104
+ if (markProjectionDirty === undefined)
105
+ return;
106
+ markProjectionDirty(undefined, input.sharedProjectionGraph);
107
+ markProjectionDirty(undefined, input.authorSealGraph);
108
+ if ('currentHead' in input) {
109
+ for (const transition of [
110
+ input.currentHead,
111
+ input.subgraphMutationGeneration,
112
+ input.contextGraphMutationGeneration,
113
+ input.appliedSet,
114
+ ]) {
115
+ markProjectionDirty(undefined, transition.graphUri);
116
+ }
117
+ }
118
+ else {
119
+ markProjectionDirty(undefined, input.currentHeadGraph);
120
+ for (const transition of [
121
+ input.kaStateDigest,
122
+ input.subgraphMutationGeneration,
123
+ input.contextGraphMutationGeneration,
124
+ input.appliedSet,
125
+ ...input.sealInvalidations,
126
+ ]) {
127
+ markProjectionDirty(undefined, transition.graphUri);
128
+ }
129
+ }
130
+ }, 'rfc64AuthorCommitCasV1')
131
+ : undefined,
132
+ listGraphs(options) {
133
+ return innerStore.listGraphs(options);
134
+ },
135
+ // This wrapper changes mutation-side cache state but not graph visibility,
136
+ // so forwarding the direct inner capability preserves the same public
137
+ // boundary while keeping the responder's identity-stable catalog path live.
138
+ listGraphsSorted: sortedSource
139
+ ? (options) => sortedSource.listGraphsSorted(options)
140
+ : undefined,
141
+ listGraphsByPrefix(prefix, options) {
142
+ return innerStore.listGraphsByPrefix
143
+ ? innerStore.listGraphsByPrefix(prefix, options)
144
+ : innerStore.listGraphs(options).then((graphs) => graphs.filter((graph) => graph.startsWith(prefix)));
145
+ },
146
+ deleteBySubjectPrefix(graphUri, prefix, options) {
147
+ return invalidateAfterMutation(() => innerStore.deleteBySubjectPrefix(graphUri, prefix, options), removed => removed > 0, () => markProjectionDirty?.(), 'deleteBySubjectPrefix');
148
+ },
149
+ countQuads(graphUri, options) {
150
+ return innerStore.countQuads(graphUri, options);
151
+ },
152
+ // Defined iff the inner store supports it, so the capability propagates
153
+ // truthfully up the decorator chain (callers gate on `typeof store.update
154
+ // === 'function'`). A server-side UPDATE can create/drop named graphs and
155
+ // mutate projected content, so it invalidates the listGraphs cache and
156
+ // marks the projection dirty just like insert/delete.
157
+ update: innerStore.update
158
+ ? (sparql, options) => invalidateAfterMutation(() => innerStore.update(sparql, options), () => true, () => markProjectionDirty?.(), 'update')
159
+ : undefined,
160
+ flush: innerStore.flush ? (options) => innerStore.flush(options) : undefined,
161
+ close() {
162
+ return innerStore.close();
163
+ },
164
+ };
165
+ return wrapper;
166
+ }
167
+ //# sourceMappingURL=context-graph-cache-invalidating-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-cache-invalidating-store.js","sourceRoot":"","sources":["../../src/internal/context-graph-cache-invalidating-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ContextGraphMetaRecord } from '../context-graph-meta-projection.js';
2
+ export declare function cloneMetaRecord(record: ContextGraphMetaRecord): ContextGraphMetaRecord;
3
+ //# sourceMappingURL=context-graph-meta-record-copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-meta-record-copy.d.ts","sourceRoot":"","sources":["../../src/internal/context-graph-meta-record-copy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAElF,wBAAgB,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAmBtF"}
@@ -0,0 +1,21 @@
1
+ export function cloneMetaRecord(record) {
2
+ return {
3
+ ...record,
4
+ creators: [...record.creators],
5
+ curators: [...record.curators],
6
+ allowedPeers: [...record.allowedPeers],
7
+ allowedAgents: [...record.allowedAgents],
8
+ participantAgents: [...record.participantAgents],
9
+ participantIdentityIds: [...record.participantIdentityIds],
10
+ revokedAgents: [...record.revokedAgents],
11
+ delegations: record.delegations.map((delegation) => ({
12
+ ...delegation,
13
+ agents: [...delegation.agents],
14
+ allowedPeers: [...delegation.allowedPeers],
15
+ allowedKeys: [...delegation.allowedKeys],
16
+ expiresAtValues: [...delegation.expiresAtValues],
17
+ })),
18
+ subGraphs: record.subGraphs.map((subGraph) => ({ ...subGraph })),
19
+ };
20
+ }
21
+ //# sourceMappingURL=context-graph-meta-record-copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-meta-record-copy.js","sourceRoot":"","sources":["../../src/internal/context-graph-meta-record-copy.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAAC,MAA8B;IAC5D,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,aAAa,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACxC,iBAAiB,EAAE,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAChD,sBAAsB,EAAE,CAAC,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC1D,aAAa,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACxC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,GAAG,UAAU;YACb,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YAC9B,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;YAC1C,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC;YACxC,eAAe,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC;SACjD,CAAC,CAAC;QACH,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type Logger } from '@origintrail-official/dkg-core';
2
+ import type { GossipSession } from '../../gossip-session.js';
3
+ interface HostModeHandlerPorts {
4
+ swmHostModeStripCiphertext(): boolean;
5
+ ingestSwmCiphertextChunkEnvelope(contextGraphId: string, data: Uint8Array, from: string): Promise<unknown>;
6
+ ingestSwmHostModeEnvelope(contextGraphId: string, data: Uint8Array, from: string): Promise<unknown>;
7
+ }
8
+ /** Dispatch only through the session and classification which own this handler. */
9
+ export declare function createSwmHostModeHandler(ports: HostModeHandlerPorts, log: Pick<Logger, 'debug' | 'warn'>, session: GossipSession, contextGraphId: string, wireCgId: string): (topic: string, data: Uint8Array, from: string) => void;
10
+ export {};
11
+ //# sourceMappingURL=host-mode-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-mode-handler.d.ts","sourceRoot":"","sources":["../../../src/internal/gossip/host-mode-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,MAAM,EACZ,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,UAAU,oBAAoB;IAC5B,0BAA0B,IAAI,OAAO,CAAC;IACtC,gCAAgC,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3G,yBAAyB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrG;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,EACnC,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CA6CzD"}
@@ -0,0 +1,41 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { createOperationContext, decodeGossipEnvelope, GOSSIP_TYPE_WORKSPACE_PUBLISH_CHUNKED, } from '@origintrail-official/dkg-core';
3
+ /** Dispatch only through the session and classification which own this handler. */
4
+ export function createSwmHostModeHandler(ports, log, session, contextGraphId, wireCgId) {
5
+ return (_topic, data, from) => {
6
+ if (!session.active)
7
+ return;
8
+ // Fail closed when the classification is absent. Only an explicitly
9
+ // non-curated manual subscription retains the public host-mode hatch.
10
+ if (ports.swmHostModeStripCiphertext() &&
11
+ session.swmHostModeCurated.get(wireCgId) !== false) {
12
+ log.debug(createOperationContext('share'), `Dropping host-mode envelope on cg=${contextGraphId} from=${from}: ` +
13
+ `private-ciphertext strip is ON for a curated CG (OT-RFC-49 WS-A)`);
14
+ return;
15
+ }
16
+ // OT-RFC-38 LU-11: peek envelope type and dispatch. Chunked
17
+ // envelopes (`type='share-write-chunked'`) take the V2 chunk
18
+ // persistence path; everything else flows through the legacy
19
+ // host-mode store unchanged. Failed decode falls through to
20
+ // `ingestSwmHostModeEnvelope` which is also defensive — the
21
+ // dispatch here is best-effort, not a security boundary.
22
+ let envelopeType;
23
+ try {
24
+ const peek = decodeGossipEnvelope(data);
25
+ envelopeType = peek?.type;
26
+ }
27
+ catch { /* drop into legacy path */ }
28
+ if (envelopeType === GOSSIP_TYPE_WORKSPACE_PUBLISH_CHUNKED) {
29
+ ports.ingestSwmCiphertextChunkEnvelope(contextGraphId, data, from).catch((err) => {
30
+ const msg = err instanceof Error ? err.message : String(err);
31
+ log.warn(createOperationContext('system'), `LU-11: chunked SWM ingest failed for "${contextGraphId}": ${msg}`);
32
+ });
33
+ return;
34
+ }
35
+ ports.ingestSwmHostModeEnvelope(contextGraphId, data, from).catch((err) => {
36
+ const msg = err instanceof Error ? err.message : String(err);
37
+ log.warn(createOperationContext('system'), `Host-mode SWM ingest failed for "${contextGraphId}": ${msg}`);
38
+ });
39
+ };
40
+ }
41
+ //# sourceMappingURL=host-mode-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-mode-handler.js","sourceRoot":"","sources":["../../../src/internal/gossip/host-mode-handler.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EACL,sBAAsB,EAAE,oBAAoB,EAAE,qCAAqC,GAEpF,MAAM,gCAAgC,CAAC;AASxC,mFAAmF;AACnF,MAAM,UAAU,wBAAwB,CACtC,KAA2B,EAC3B,GAAmC,EACnC,OAAsB,EACtB,cAAsB,EACtB,QAAgB;IAEhB,OAAO,CAAC,MAAc,EAAE,IAAgB,EAAE,IAAY,EAAE,EAAE;QACxD,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAC5B,oEAAoE;QACpE,sEAAsE;QACtE,IACE,KAAK,CAAC,0BAA0B,EAAE;YAClC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,EAClD,CAAC;YACD,GAAG,CAAC,KAAK,CACP,sBAAsB,CAAC,OAAO,CAAC,EAC/B,qCAAqC,cAAc,SAAS,IAAI,IAAI;gBACpE,kEAAkE,CACnE,CAAC;YACF,OAAO;QACT,CAAC;QACD,4DAA4D;QAC5D,6DAA6D;QAC7D,6DAA6D;QAC7D,4DAA4D;QAC5D,4DAA4D;QAC5D,yDAAyD;QACzD,IAAI,YAAgC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACxC,YAAY,GAAG,IAAI,EAAE,IAAI,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACvC,IAAI,YAAY,KAAK,qCAAqC,EAAE,CAAC;YAC3D,KAAK,CAAC,gCAAgC,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACxF,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,GAAG,CAAC,IAAI,CACN,sBAAsB,CAAC,QAAQ,CAAC,EAChC,yCAAyC,cAAc,MAAM,GAAG,EAAE,CACnE,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACjF,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,GAAG,CAAC,IAAI,CACN,sBAAsB,CAAC,QAAQ,CAAC,EAChC,oCAAoC,cAAc,MAAM,GAAG,EAAE,CAC9D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type SignedAgentDelegation } from '../auth/agent-delegation.js';
2
+ interface VerifiedJoinEncryptionKeyBundle {
3
+ readonly issuedAtMs: number;
4
+ readonly keySetDigest: string;
5
+ readonly keys: NonNullable<SignedAgentDelegation['workspaceEncryptionKeys']>;
6
+ }
7
+ export declare function verifiedDelegationKeyIds(agentAddress: string, keys: VerifiedJoinEncryptionKeyBundle['keys']): Set<string>;
8
+ export declare function verifyJoinEncryptionKeyBundle(delegation: SignedAgentDelegation, carrierPeerId: string): VerifiedJoinEncryptionKeyBundle | null;
9
+ export {};
10
+ //# sourceMappingURL=join-encryption-key-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join-encryption-key-bundle.d.ts","sourceRoot":"","sources":["../../src/internal/join-encryption-key-bundle.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0E,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAKjJ,UAAU,+BAA+B;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAC,CAAC;CAC9E;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,+BAA+B,CAAC,MAAM,CAAC,GAC5C,GAAG,CAAC,MAAM,CAAC,CAKb;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,qBAAqB,EACjC,aAAa,EAAE,MAAM,GACpB,+BAA+B,GAAG,IAAI,CAsExC"}