@origintrail-official/dkg-agent 10.0.20 → 10.0.22

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 (555) 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 +22 -10
  26. package/dist/context-graph-meta-projection.d.ts.map +1 -1
  27. package/dist/context-graph-meta-projection.js +72 -34
  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 +668 -155
  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 +73 -58
  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 +4 -1
  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/context-graph-authority.d.ts +14 -1
  158. package/dist/internal/context-graph-authority/context-graph-authority.d.ts.map +1 -1
  159. package/dist/internal/context-graph-authority/context-graph-authority.js +19 -0
  160. package/dist/internal/context-graph-authority/context-graph-authority.js.map +1 -1
  161. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts +17 -0
  162. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts.map +1 -0
  163. package/dist/internal/context-graph-authority/finalized-target-projection.js +36 -0
  164. package/dist/internal/context-graph-authority/finalized-target-projection.js.map +1 -0
  165. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts +43 -7
  166. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts.map +1 -1
  167. package/dist/internal/context-graph-authority/swm-transport-authority.js +135 -18
  168. package/dist/internal/context-graph-authority/swm-transport-authority.js.map +1 -1
  169. package/dist/internal/context-graph-binding-abort.d.ts +3 -0
  170. package/dist/internal/context-graph-binding-abort.d.ts.map +1 -0
  171. package/dist/internal/context-graph-binding-abort.js +32 -0
  172. package/dist/internal/context-graph-binding-abort.js.map +1 -0
  173. package/dist/internal/context-graph-cache-invalidating-store.d.ts +11 -0
  174. package/dist/internal/context-graph-cache-invalidating-store.d.ts.map +1 -0
  175. package/dist/internal/context-graph-cache-invalidating-store.js +167 -0
  176. package/dist/internal/context-graph-cache-invalidating-store.js.map +1 -0
  177. package/dist/internal/context-graph-meta-record-copy.d.ts +3 -0
  178. package/dist/internal/context-graph-meta-record-copy.d.ts.map +1 -0
  179. package/dist/internal/context-graph-meta-record-copy.js +21 -0
  180. package/dist/internal/context-graph-meta-record-copy.js.map +1 -0
  181. package/dist/internal/gossip/host-mode-handler.d.ts +11 -0
  182. package/dist/internal/gossip/host-mode-handler.d.ts.map +1 -0
  183. package/dist/internal/gossip/host-mode-handler.js +41 -0
  184. package/dist/internal/gossip/host-mode-handler.js.map +1 -0
  185. package/dist/internal/join-encryption-key-bundle.d.ts +10 -0
  186. package/dist/internal/join-encryption-key-bundle.d.ts.map +1 -0
  187. package/dist/internal/join-encryption-key-bundle.js +72 -0
  188. package/dist/internal/join-encryption-key-bundle.js.map +1 -0
  189. package/dist/internal/knowledge-asset-vm-publish-request.d.ts +31 -0
  190. package/dist/internal/knowledge-asset-vm-publish-request.d.ts.map +1 -0
  191. package/dist/internal/knowledge-asset-vm-publish-request.js +91 -0
  192. package/dist/internal/knowledge-asset-vm-publish-request.js.map +1 -0
  193. package/dist/internal/lifecycle-sync-policy.d.ts +5 -0
  194. package/dist/internal/lifecycle-sync-policy.d.ts.map +1 -0
  195. package/dist/internal/lifecycle-sync-policy.js +12 -0
  196. package/dist/internal/lifecycle-sync-policy.js.map +1 -0
  197. package/dist/internal/local-private-member.d.ts +14 -0
  198. package/dist/internal/local-private-member.d.ts.map +1 -0
  199. package/dist/internal/local-private-member.js +21 -0
  200. package/dist/internal/local-private-member.js.map +1 -0
  201. package/dist/internal/peer-gate-revision.d.ts +28 -0
  202. package/dist/internal/peer-gate-revision.d.ts.map +1 -0
  203. package/dist/internal/peer-gate-revision.js +46 -0
  204. package/dist/internal/peer-gate-revision.js.map +1 -0
  205. package/dist/internal/projection-mutation-observer.d.ts +5 -0
  206. package/dist/internal/projection-mutation-observer.d.ts.map +1 -0
  207. package/dist/internal/projection-mutation-observer.js +42 -0
  208. package/dist/internal/projection-mutation-observer.js.map +1 -0
  209. package/dist/internal/promote/assertion-promote-precommit.d.ts +43 -1
  210. package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
  211. package/dist/internal/promote/assertion-promote-precommit.js +76 -5
  212. package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
  213. package/dist/internal/recipient-key-route-fence.d.ts +57 -0
  214. package/dist/internal/recipient-key-route-fence.d.ts.map +1 -0
  215. package/dist/internal/recipient-key-route-fence.js +157 -0
  216. package/dist/internal/recipient-key-route-fence.js.map +1 -0
  217. package/dist/internal/storage-ack-owned-request.d.ts +16 -0
  218. package/dist/internal/storage-ack-owned-request.d.ts.map +1 -0
  219. package/dist/internal/storage-ack-owned-request.js +16 -0
  220. package/dist/internal/storage-ack-owned-request.js.map +1 -0
  221. package/dist/internal/store-mutation.d.ts +28 -0
  222. package/dist/internal/store-mutation.d.ts.map +1 -0
  223. package/dist/internal/store-mutation.js +3 -0
  224. package/dist/internal/store-mutation.js.map +1 -0
  225. package/dist/internal/vm-reconcile-local-admission-wait.d.ts +96 -0
  226. package/dist/internal/vm-reconcile-local-admission-wait.d.ts.map +1 -0
  227. package/dist/internal/vm-reconcile-local-admission-wait.js +226 -0
  228. package/dist/internal/vm-reconcile-local-admission-wait.js.map +1 -0
  229. package/dist/internal/vm-reconcile-read-authority.d.ts +27 -0
  230. package/dist/internal/vm-reconcile-read-authority.d.ts.map +1 -0
  231. package/dist/internal/vm-reconcile-read-authority.js +33 -0
  232. package/dist/internal/vm-reconcile-read-authority.js.map +1 -0
  233. package/dist/internal/vm-reconcile-sweep-admission.d.ts +2 -0
  234. package/dist/internal/vm-reconcile-sweep-admission.d.ts.map +1 -1
  235. package/dist/internal/vm-reconcile-sweep.d.ts +16 -4
  236. package/dist/internal/vm-reconcile-sweep.d.ts.map +1 -1
  237. package/dist/internal/vm-reconcile-sweep.js +91 -50
  238. package/dist/internal/vm-reconcile-sweep.js.map +1 -1
  239. package/dist/internal/workspace-projected-delegatees.d.ts +3 -0
  240. package/dist/internal/workspace-projected-delegatees.d.ts.map +1 -0
  241. package/dist/internal/workspace-projected-delegatees.js +34 -0
  242. package/dist/internal/workspace-projected-delegatees.js.map +1 -0
  243. package/dist/join-approval-restart-projection.d.ts +14 -0
  244. package/dist/join-approval-restart-projection.d.ts.map +1 -0
  245. package/dist/join-approval-restart-projection.js +32 -0
  246. package/dist/join-approval-restart-projection.js.map +1 -0
  247. package/dist/keyed-persist-scheduler.d.ts +72 -0
  248. package/dist/keyed-persist-scheduler.d.ts.map +1 -0
  249. package/dist/keyed-persist-scheduler.js +140 -0
  250. package/dist/keyed-persist-scheduler.js.map +1 -0
  251. package/dist/map-with-concurrency.d.ts +7 -0
  252. package/dist/map-with-concurrency.d.ts.map +1 -1
  253. package/dist/map-with-concurrency.js +36 -0
  254. package/dist/map-with-concurrency.js.map +1 -1
  255. package/dist/p2p/network-admission-coordinator.d.ts +15 -0
  256. package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
  257. package/dist/p2p/network-admission-coordinator.js +20 -2
  258. package/dist/p2p/network-admission-coordinator.js.map +1 -1
  259. package/dist/prepare-unscoped-context-graph-read-checks.d.ts.map +1 -1
  260. package/dist/prepare-unscoped-context-graph-read-checks.js +12 -0
  261. package/dist/prepare-unscoped-context-graph-read-checks.js.map +1 -1
  262. package/dist/registered-context-graph-authority.d.ts +13 -0
  263. package/dist/registered-context-graph-authority.d.ts.map +1 -1
  264. package/dist/registered-private-empty-vm-attempt-v1.d.ts +34 -0
  265. package/dist/registered-private-empty-vm-attempt-v1.d.ts.map +1 -0
  266. package/dist/registered-private-empty-vm-attempt-v1.js +120 -0
  267. package/dist/registered-private-empty-vm-attempt-v1.js.map +1 -0
  268. package/dist/reserved-ka-id-allocation.d.ts +12 -0
  269. package/dist/reserved-ka-id-allocation.d.ts.map +1 -0
  270. package/dist/reserved-ka-id-allocation.js +25 -0
  271. package/dist/reserved-ka-id-allocation.js.map +1 -0
  272. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts +5 -3
  273. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts.map +1 -1
  274. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js +9 -0
  275. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js.map +1 -1
  276. package/dist/rfc64/catalog-completion-evidence-v1.d.ts +38 -0
  277. package/dist/rfc64/catalog-completion-evidence-v1.d.ts.map +1 -0
  278. package/dist/rfc64/catalog-completion-evidence-v1.js +49 -0
  279. package/dist/rfc64/catalog-completion-evidence-v1.js.map +1 -0
  280. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +6 -3
  281. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -1
  282. package/dist/rfc64/catalog-operational-applied-heads-v1.js +6 -3
  283. package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -1
  284. package/dist/rfc64/catalog-operational-reads-v1.d.ts +13 -0
  285. package/dist/rfc64/catalog-operational-reads-v1.d.ts.map +1 -0
  286. package/dist/rfc64/catalog-operational-reads-v1.js +56 -0
  287. package/dist/rfc64/catalog-operational-reads-v1.js.map +1 -0
  288. package/dist/rfc64/catalog-operational-targets-v1.d.ts +55 -0
  289. package/dist/rfc64/catalog-operational-targets-v1.d.ts.map +1 -0
  290. package/dist/rfc64/catalog-operational-targets-v1.js +379 -0
  291. package/dist/rfc64/catalog-operational-targets-v1.js.map +1 -0
  292. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +2 -0
  293. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -1
  294. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +18 -25
  295. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -1
  296. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts +25 -0
  297. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts.map +1 -0
  298. package/dist/rfc64/legacy-swm-boundary-codec-v1.js +127 -0
  299. package/dist/rfc64/legacy-swm-boundary-codec-v1.js.map +1 -0
  300. package/dist/rfc64/legacy-swm-boundary-v1.d.ts +12 -0
  301. package/dist/rfc64/legacy-swm-boundary-v1.d.ts.map +1 -1
  302. package/dist/rfc64/legacy-swm-boundary-v1.js +83 -144
  303. package/dist/rfc64/legacy-swm-boundary-v1.js.map +1 -1
  304. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts +33 -0
  305. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts.map +1 -0
  306. package/dist/rfc64/private-catalog-subscription-readiness-v1.js +97 -0
  307. package/dist/rfc64/private-catalog-subscription-readiness-v1.js.map +1 -0
  308. package/dist/rfc64/private-read-roster-v1.d.ts +14 -0
  309. package/dist/rfc64/private-read-roster-v1.d.ts.map +1 -0
  310. package/dist/rfc64/private-read-roster-v1.js +57 -0
  311. package/dist/rfc64/private-read-roster-v1.js.map +1 -0
  312. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts +20 -0
  313. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts.map +1 -0
  314. package/dist/rfc64/registered-private-empty-vm-proof-v1.js +26 -0
  315. package/dist/rfc64/registered-private-empty-vm-proof-v1.js.map +1 -0
  316. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts +3 -1
  317. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts.map +1 -1
  318. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js +34 -0
  319. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js.map +1 -1
  320. package/dist/sync/auth/pipe-request-tail.d.ts +5 -1
  321. package/dist/sync/auth/pipe-request-tail.d.ts.map +1 -1
  322. package/dist/sync/auth/pipe-request-tail.js +13 -3
  323. package/dist/sync/auth/pipe-request-tail.js.map +1 -1
  324. package/dist/sync/auth/request-build.d.ts +3 -0
  325. package/dist/sync/auth/request-build.d.ts.map +1 -1
  326. package/dist/sync/auth/request-build.js +11 -2
  327. package/dist/sync/auth/request-build.js.map +1 -1
  328. package/dist/sync/backpressure.d.ts +27 -16
  329. package/dist/sync/backpressure.d.ts.map +1 -1
  330. package/dist/sync/backpressure.js +66 -40
  331. package/dist/sync/backpressure.js.map +1 -1
  332. package/dist/sync/catchup-policy.d.ts +2 -0
  333. package/dist/sync/catchup-policy.d.ts.map +1 -1
  334. package/dist/sync/catchup-policy.js +2 -0
  335. package/dist/sync/catchup-policy.js.map +1 -1
  336. package/dist/sync/exact-assets.d.ts +7 -5
  337. package/dist/sync/exact-assets.d.ts.map +1 -1
  338. package/dist/sync/exact-assets.js +13 -8
  339. package/dist/sync/exact-assets.js.map +1 -1
  340. package/dist/sync/exact-batch-observation.d.ts +3 -0
  341. package/dist/sync/exact-batch-observation.d.ts.map +1 -0
  342. package/dist/sync/exact-batch-observation.js +13 -0
  343. package/dist/sync/exact-batch-observation.js.map +1 -0
  344. package/dist/sync/exact-batch-stream-capability.d.ts +24 -0
  345. package/dist/sync/exact-batch-stream-capability.d.ts.map +1 -0
  346. package/dist/sync/exact-batch-stream-capability.js +88 -0
  347. package/dist/sync/exact-batch-stream-capability.js.map +1 -0
  348. package/dist/sync/exact-batch-stream-contract.d.ts +78 -0
  349. package/dist/sync/exact-batch-stream-contract.d.ts.map +1 -0
  350. package/dist/sync/exact-batch-stream-contract.js +206 -0
  351. package/dist/sync/exact-batch-stream-contract.js.map +1 -0
  352. package/dist/sync/peer-connection.d.ts.map +1 -1
  353. package/dist/sync/peer-connection.js +11 -2
  354. package/dist/sync/peer-connection.js.map +1 -1
  355. package/dist/sync/priority-admission-queue.d.ts +17 -0
  356. package/dist/sync/priority-admission-queue.d.ts.map +1 -1
  357. package/dist/sync/priority-admission-queue.js +58 -37
  358. package/dist/sync/priority-admission-queue.js.map +1 -1
  359. package/dist/sync/requester/admission-boundary.d.ts +12 -0
  360. package/dist/sync/requester/admission-boundary.d.ts.map +1 -0
  361. package/dist/sync/requester/admission-boundary.js +22 -0
  362. package/dist/sync/requester/admission-boundary.js.map +1 -0
  363. package/dist/sync/requester/durable-sync.d.ts +2 -1
  364. package/dist/sync/requester/durable-sync.d.ts.map +1 -1
  365. package/dist/sync/requester/durable-sync.js +3 -188
  366. package/dist/sync/requester/durable-sync.js.map +1 -1
  367. package/dist/sync/requester/exact-batch-stream-driver.d.ts +83 -0
  368. package/dist/sync/requester/exact-batch-stream-driver.d.ts.map +1 -0
  369. package/dist/sync/requester/exact-batch-stream-driver.js +299 -0
  370. package/dist/sync/requester/exact-batch-stream-driver.js.map +1 -0
  371. package/dist/sync/requester/exact-batch-stream.d.ts +72 -0
  372. package/dist/sync/requester/exact-batch-stream.d.ts.map +1 -0
  373. package/dist/sync/requester/exact-batch-stream.js +267 -0
  374. package/dist/sync/requester/exact-batch-stream.js.map +1 -0
  375. package/dist/sync/requester/exact-recovery-transport.d.ts +19 -0
  376. package/dist/sync/requester/exact-recovery-transport.d.ts.map +1 -0
  377. package/dist/sync/requester/exact-recovery-transport.js +3 -0
  378. package/dist/sync/requester/exact-recovery-transport.js.map +1 -0
  379. package/dist/sync/requester/finalized-swm-twin-reconciliation.js +12 -3
  380. package/dist/sync/requester/finalized-swm-twin-reconciliation.js.map +1 -1
  381. package/dist/sync/requester/graph-scoped-materialization.d.ts.map +1 -1
  382. package/dist/sync/requester/graph-scoped-materialization.js +58 -24
  383. package/dist/sync/requester/graph-scoped-materialization.js.map +1 -1
  384. package/dist/sync/requester/page-fetch.d.ts +7 -0
  385. package/dist/sync/requester/page-fetch.d.ts.map +1 -1
  386. package/dist/sync/requester/page-fetch.js +103 -49
  387. package/dist/sync/requester/page-fetch.js.map +1 -1
  388. package/dist/sync/requester/shared-memory-sync.d.ts +10 -5
  389. package/dist/sync/requester/shared-memory-sync.d.ts.map +1 -1
  390. package/dist/sync/requester/shared-memory-sync.js +149 -150
  391. package/dist/sync/requester/shared-memory-sync.js.map +1 -1
  392. package/dist/sync/requester/swm-materialization-memo.d.ts +12 -0
  393. package/dist/sync/requester/swm-materialization-memo.d.ts.map +1 -0
  394. package/dist/sync/requester/swm-materialization-memo.js +54 -0
  395. package/dist/sync/requester/swm-materialization-memo.js.map +1 -0
  396. package/dist/sync/requester/swm-recovery.d.ts +3 -29
  397. package/dist/sync/requester/swm-recovery.d.ts.map +1 -1
  398. package/dist/sync/requester/swm-recovery.js +11 -10
  399. package/dist/sync/requester/swm-recovery.js.map +1 -1
  400. package/dist/sync/requester/swm-snapshot-materializer.d.ts.map +1 -1
  401. package/dist/sync/requester/swm-snapshot-materializer.js +18 -0
  402. package/dist/sync/requester/swm-snapshot-materializer.js.map +1 -1
  403. package/dist/sync/requester/swm-target-executor.d.ts +6 -0
  404. package/dist/sync/requester/swm-target-executor.d.ts.map +1 -1
  405. package/dist/sync/requester/swm-target-executor.js +24 -3
  406. package/dist/sync/requester/swm-target-executor.js.map +1 -1
  407. package/dist/sync/requester/verified-asset-preparation.d.ts +9 -0
  408. package/dist/sync/requester/verified-asset-preparation.d.ts.map +1 -0
  409. package/dist/sync/requester/verified-asset-preparation.js +190 -0
  410. package/dist/sync/requester/verified-asset-preparation.js.map +1 -0
  411. package/dist/sync/responder/asset-metadata.d.ts +18 -0
  412. package/dist/sync/responder/asset-metadata.d.ts.map +1 -0
  413. package/dist/sync/responder/asset-metadata.js +27 -0
  414. package/dist/sync/responder/asset-metadata.js.map +1 -0
  415. package/dist/sync/responder/durable-data-request-policy.d.ts +2 -16
  416. package/dist/sync/responder/durable-data-request-policy.d.ts.map +1 -1
  417. package/dist/sync/responder/durable-data-request-policy.js +1 -31
  418. package/dist/sync/responder/durable-data-request-policy.js.map +1 -1
  419. package/dist/sync/responder/exact-asset-export-cache.d.ts +89 -0
  420. package/dist/sync/responder/exact-asset-export-cache.d.ts.map +1 -0
  421. package/dist/sync/responder/exact-asset-export-cache.js +550 -0
  422. package/dist/sync/responder/exact-asset-export-cache.js.map +1 -0
  423. package/dist/sync/responder/exact-batch-stream.d.ts +47 -0
  424. package/dist/sync/responder/exact-batch-stream.d.ts.map +1 -0
  425. package/dist/sync/responder/exact-batch-stream.js +151 -0
  426. package/dist/sync/responder/exact-batch-stream.js.map +1 -0
  427. package/dist/sync/responder/exact-data-session.d.ts +67 -0
  428. package/dist/sync/responder/exact-data-session.d.ts.map +1 -0
  429. package/dist/sync/responder/exact-data-session.js +130 -0
  430. package/dist/sync/responder/exact-data-session.js.map +1 -0
  431. package/dist/sync/responder/exact-graph-cursor-filter.d.ts +9 -0
  432. package/dist/sync/responder/exact-graph-cursor-filter.d.ts.map +1 -0
  433. package/dist/sync/responder/exact-graph-cursor-filter.js +101 -0
  434. package/dist/sync/responder/exact-graph-cursor-filter.js.map +1 -0
  435. package/dist/sync/responder/exact-graph-reader.d.ts +95 -0
  436. package/dist/sync/responder/exact-graph-reader.d.ts.map +1 -0
  437. package/dist/sync/responder/exact-graph-reader.js +623 -0
  438. package/dist/sync/responder/exact-graph-reader.js.map +1 -0
  439. package/dist/sync/responder/exact-page-reader.d.ts +37 -0
  440. package/dist/sync/responder/exact-page-reader.d.ts.map +1 -0
  441. package/dist/sync/responder/exact-page-reader.js +130 -0
  442. package/dist/sync/responder/exact-page-reader.js.map +1 -0
  443. package/dist/sync/responder/graph-plan.d.ts +19 -85
  444. package/dist/sync/responder/graph-plan.d.ts.map +1 -1
  445. package/dist/sync/responder/graph-plan.js +51 -988
  446. package/dist/sync/responder/graph-plan.js.map +1 -1
  447. package/dist/sync/responder/page-framing-policy.d.ts +31 -0
  448. package/dist/sync/responder/page-framing-policy.d.ts.map +1 -0
  449. package/dist/sync/responder/page-framing-policy.js +41 -0
  450. package/dist/sync/responder/page-framing-policy.js.map +1 -0
  451. package/dist/sync/responder/responder-row-page.d.ts +85 -0
  452. package/dist/sync/responder/responder-row-page.d.ts.map +1 -0
  453. package/dist/sync/responder/responder-row-page.js +181 -0
  454. package/dist/sync/responder/responder-row-page.js.map +1 -0
  455. package/dist/sync/responder/row-serialization.d.ts +34 -0
  456. package/dist/sync/responder/row-serialization.d.ts.map +1 -0
  457. package/dist/sync/responder/row-serialization.js +69 -0
  458. package/dist/sync/responder/row-serialization.js.map +1 -0
  459. package/dist/sync/responder/session-plan-memo.d.ts +20 -0
  460. package/dist/sync/responder/session-plan-memo.d.ts.map +1 -0
  461. package/dist/sync/responder/session-plan-memo.js +135 -0
  462. package/dist/sync/responder/session-plan-memo.js.map +1 -0
  463. package/dist/sync/responder/sync-handler.d.ts +18 -1
  464. package/dist/sync/responder/sync-handler.d.ts.map +1 -1
  465. package/dist/sync/responder/sync-handler.js +101 -57
  466. package/dist/sync/responder/sync-handler.js.map +1 -1
  467. package/dist/sync/shared-memory-completion.d.ts +30 -0
  468. package/dist/sync/shared-memory-completion.d.ts.map +1 -1
  469. package/dist/sync/shared-memory-completion.js +13 -0
  470. package/dist/sync/shared-memory-completion.js.map +1 -1
  471. package/dist/sync/wire-compression.d.ts +47 -0
  472. package/dist/sync/wire-compression.d.ts.map +1 -0
  473. package/dist/sync/wire-compression.js +111 -0
  474. package/dist/sync/wire-compression.js.map +1 -0
  475. package/dist/unscoped-query-consistency.d.ts +12 -0
  476. package/dist/unscoped-query-consistency.d.ts.map +1 -1
  477. package/dist/unscoped-query-consistency.js +17 -1
  478. package/dist/unscoped-query-consistency.js.map +1 -1
  479. package/dist/vm-promotion-audit.d.ts +2 -2
  480. package/dist/vm-promotion-audit.d.ts.map +1 -1
  481. package/dist/vm-promotion-audit.js +26 -9
  482. package/dist/vm-promotion-audit.js.map +1 -1
  483. package/dist/vm-reconcile-dispatcher.d.ts +42 -1
  484. package/dist/vm-reconcile-dispatcher.d.ts.map +1 -1
  485. package/dist/vm-reconcile-dispatcher.js +103 -4
  486. package/dist/vm-reconcile-dispatcher.js.map +1 -1
  487. package/dist/vm-reconcile-peer-topology.d.ts +7 -9
  488. package/dist/vm-reconcile-peer-topology.d.ts.map +1 -1
  489. package/dist/vm-reconcile-peer-topology.js +1 -37
  490. package/dist/vm-reconcile-peer-topology.js.map +1 -1
  491. package/dist/vm-recovery-candidate-order.d.ts +16 -0
  492. package/dist/vm-recovery-candidate-order.d.ts.map +1 -0
  493. package/dist/vm-recovery-candidate-order.js +24 -0
  494. package/dist/vm-recovery-candidate-order.js.map +1 -0
  495. package/dist/vm-recovery-core-transport-preference.d.ts +69 -0
  496. package/dist/vm-recovery-core-transport-preference.d.ts.map +1 -0
  497. package/dist/vm-recovery-core-transport-preference.js +131 -0
  498. package/dist/vm-recovery-core-transport-preference.js.map +1 -0
  499. package/dist/vm-recovery-experiment-policy.d.ts +24 -0
  500. package/dist/vm-recovery-experiment-policy.d.ts.map +1 -0
  501. package/dist/vm-recovery-experiment-policy.js +18 -0
  502. package/dist/vm-recovery-experiment-policy.js.map +1 -0
  503. package/dist/vm-recovery-footprint.d.ts +54 -0
  504. package/dist/vm-recovery-footprint.d.ts.map +1 -1
  505. package/dist/vm-recovery-footprint.js +88 -24
  506. package/dist/vm-recovery-footprint.js.map +1 -1
  507. package/dist/vm-recovery-microbatch.d.ts +2 -0
  508. package/dist/vm-recovery-microbatch.d.ts.map +1 -1
  509. package/dist/vm-recovery-microbatch.js +7 -3
  510. package/dist/vm-recovery-microbatch.js.map +1 -1
  511. package/dist/vm-recovery-pass-authority.d.ts +84 -0
  512. package/dist/vm-recovery-pass-authority.d.ts.map +1 -0
  513. package/dist/vm-recovery-pass-authority.js +126 -0
  514. package/dist/vm-recovery-pass-authority.js.map +1 -0
  515. package/dist/vm-recovery-phase-timing.d.ts +75 -0
  516. package/dist/vm-recovery-phase-timing.d.ts.map +1 -0
  517. package/dist/vm-recovery-phase-timing.js +236 -0
  518. package/dist/vm-recovery-phase-timing.js.map +1 -0
  519. package/dist/vm-recovery-preparation.d.ts +143 -0
  520. package/dist/vm-recovery-preparation.d.ts.map +1 -0
  521. package/dist/vm-recovery-preparation.js +433 -0
  522. package/dist/vm-recovery-preparation.js.map +1 -0
  523. package/dist/vm-recovery-provider-policy.d.ts +13 -1
  524. package/dist/vm-recovery-provider-policy.d.ts.map +1 -1
  525. package/dist/vm-recovery-provider-policy.js +37 -5
  526. package/dist/vm-recovery-provider-policy.js.map +1 -1
  527. package/dist/vm-recovery-stream-profile.d.ts +15 -0
  528. package/dist/vm-recovery-stream-profile.d.ts.map +1 -0
  529. package/dist/vm-recovery-stream-profile.js +53 -0
  530. package/dist/vm-recovery-stream-profile.js.map +1 -0
  531. package/dist/vm-recovery-stream-setback-policy.d.ts +54 -0
  532. package/dist/vm-recovery-stream-setback-policy.d.ts.map +1 -0
  533. package/dist/vm-recovery-stream-setback-policy.js +85 -0
  534. package/dist/vm-recovery-stream-setback-policy.js.map +1 -0
  535. package/dist/vm-recovery-timing-observer.d.ts +27 -0
  536. package/dist/vm-recovery-timing-observer.d.ts.map +1 -0
  537. package/dist/vm-recovery-timing-observer.js +49 -0
  538. package/dist/vm-recovery-timing-observer.js.map +1 -0
  539. package/dist/vm-recovery-transport-budget-policy.d.ts +32 -0
  540. package/dist/vm-recovery-transport-budget-policy.d.ts.map +1 -0
  541. package/dist/vm-recovery-transport-budget-policy.js +55 -0
  542. package/dist/vm-recovery-transport-budget-policy.js.map +1 -0
  543. package/dist/vm-recovery-transport-plan.d.ts +83 -0
  544. package/dist/vm-recovery-transport-plan.d.ts.map +1 -0
  545. package/dist/vm-recovery-transport-plan.js +117 -0
  546. package/dist/vm-recovery-transport-plan.js.map +1 -0
  547. package/package.json +17 -9
  548. package/dist/finalization-annotations.d.ts +0 -5
  549. package/dist/finalization-annotations.d.ts.map +0 -1
  550. package/dist/finalization-annotations.js +0 -6
  551. package/dist/finalization-annotations.js.map +0 -1
  552. package/dist/swm-ka-bound.d.ts +0 -21
  553. package/dist/swm-ka-bound.d.ts.map +0 -1
  554. package/dist/swm-ka-bound.js +0 -36
  555. package/dist/swm-ka-bound.js.map +0 -1
@@ -0,0 +1,54 @@
1
+ import type { DKGAgent } from './dkg-agent.js';
2
+ export interface ApprovedPrivateReplicaAuthority {
3
+ readonly approvedAgentAddress: string;
4
+ readonly ownerAddress: string;
5
+ readonly requestGeneration: string;
6
+ readonly curatorPeerId: string;
7
+ readonly memberAddresses: readonly string[];
8
+ /**
9
+ * Source-qualified graph peer gate proved with this replica authority.
10
+ * Current producers always set this; optionality preserves the public
11
+ * authority shape accepted from older callers.
12
+ */
13
+ readonly allowedPeers?: readonly string[];
14
+ /**
15
+ * Deadline of the delegation this proof rests on, in epoch milliseconds;
16
+ * `null` when that delegation has no expiry. A consumer that awaits further
17
+ * reads before it uses the proof re-checks it with
18
+ * {@link isApprovedPrivateReplicaDelegationActive}. Current producers always
19
+ * set this; optionality preserves the public authority shape.
20
+ */
21
+ readonly delegationExpiresAtMs?: number | null;
22
+ }
23
+ /**
24
+ * Whether the delegation an earlier proof rested on is still active. No store
25
+ * write marks the moment a delegation expires, so the revision fences cannot
26
+ * see it; an authority without a recorded deadline is not extended.
27
+ */
28
+ export declare function isApprovedPrivateReplicaDelegationActive(authority: ApprovedPrivateReplicaAuthority, nowMs?: number): boolean;
29
+ /**
30
+ * Result of the one source-qualified private-member proof.
31
+ *
32
+ * A canonical on-chain id in the exact private definition makes the proof
33
+ * ineligible for unregistered-replica authority, but legacy adapters still
34
+ * need to distinguish that fully proved registered-metadata shape from an
35
+ * invalid bare-name proof. Only the legacy compatibility route consumes the
36
+ * latter result; finalized absence never does.
37
+ */
38
+ export type ApprovedPrivateReplicaAuthorityResolution = Readonly<{
39
+ kind: 'unregistered-private-replica';
40
+ authority: ApprovedPrivateReplicaAuthority;
41
+ }> | Readonly<{
42
+ kind: 'confirmed-registered-meta';
43
+ onChainId: string;
44
+ authority: ApprovedPrivateReplicaAuthority;
45
+ }>;
46
+ /**
47
+ * Resolve the current authority proved by a durable approved private join.
48
+ *
49
+ * This proves who approved the local replica and returns only the fresh,
50
+ * source-qualified private roster. Callers must independently establish exact
51
+ * finalized chain-name absence before treating the graph as unregistered.
52
+ */
53
+ export declare function resolveApprovedPrivateReplicaAuthority(agent: DKGAgent, contextGraphId: string, approvedAgentAddress: string | undefined, approvalStillHolds: () => boolean, metadataStillCurrent: () => boolean, signal?: AbortSignal): Promise<ApprovedPrivateReplicaAuthorityResolution | null>;
54
+ //# sourceMappingURL=approved-private-replica.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approved-private-replica.d.ts","sourceRoot":"","sources":["../src/approved-private-replica.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACtD,SAAS,EAAE,+BAA+B,EAC1C,KAAK,SAAa,GACjB,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,yCAAyC,GACjD,QAAQ,CAAC;IACP,IAAI,EAAE,8BAA8B,CAAC;IACrC,SAAS,EAAE,+BAA+B,CAAC;CAC5C,CAAC,GACF,QAAQ,CAAC;IACP,IAAI,EAAE,2BAA2B,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,+BAA+B,CAAC;CAC5C,CAAC,CAAC;AA4BP;;;;;;GAMG;AACH,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,QAAQ,EACf,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,kBAAkB,EAAE,MAAM,OAAO,EACjC,oBAAoB,EAAE,MAAM,OAAO,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yCAAyC,GAAG,IAAI,CAAC,CA4G3D"}
@@ -0,0 +1,148 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { isApprovedMemberDelegationExpiryActive, parseApprovedMemberDelegationExpiry, } from './context-graph-member-proof.js';
3
+ import { buildAuthoritativePrivateMetaMemberProofQuery, } from './context-graph-private-meta-proof.js';
4
+ import { isCanonicalAuthoritativeContextGraphId } from './context-graph-binding-state.js';
5
+ import { stripLiteral } from './dkg-agent-utils.js';
6
+ const EVM_ADDRESS = /^0x[0-9a-f]{40}$/u;
7
+ const ZERO_ADDRESS = `0x${'0'.repeat(40)}`;
8
+ /**
9
+ * Whether the delegation an earlier proof rested on is still active. No store
10
+ * write marks the moment a delegation expires, so the revision fences cannot
11
+ * see it; an authority without a recorded deadline is not extended.
12
+ */
13
+ export function isApprovedPrivateReplicaDelegationActive(authority, nowMs = Date.now()) {
14
+ return authority.delegationExpiresAtMs !== undefined
15
+ && isApprovedMemberDelegationExpiryActive(authority.delegationExpiresAtMs, nowMs);
16
+ }
17
+ /**
18
+ * Classify the exact own-meta on-chain binding returned by the same proof.
19
+ * `null` means absent; `undefined` means malformed, ambiguous, or a mixed
20
+ * bound/unbound result and therefore fails closed.
21
+ */
22
+ function parseRegisteredMetaOnChainId(bindings) {
23
+ const values = new Set();
24
+ let sawUnbound = false;
25
+ for (const binding of bindings) {
26
+ const raw = binding['contextGraphOnChainId'];
27
+ if (raw === undefined) {
28
+ sawUnbound = true;
29
+ continue;
30
+ }
31
+ const value = stripLiteral(raw);
32
+ if (!isCanonicalAuthoritativeContextGraphId(value))
33
+ return undefined;
34
+ values.add(value);
35
+ if (values.size > 1)
36
+ return undefined;
37
+ }
38
+ if (values.size === 0)
39
+ return null;
40
+ if (sawUnbound)
41
+ return undefined;
42
+ return values.values().next().value;
43
+ }
44
+ /**
45
+ * Resolve the current authority proved by a durable approved private join.
46
+ *
47
+ * This proves who approved the local replica and returns only the fresh,
48
+ * source-qualified private roster. Callers must independently establish exact
49
+ * finalized chain-name absence before treating the graph as unregistered.
50
+ */
51
+ export async function resolveApprovedPrivateReplicaAuthority(agent, contextGraphId, approvedAgentAddress, approvalStillHolds, metadataStillCurrent, signal) {
52
+ const approved = approvedAgentAddress?.toLowerCase();
53
+ const hasLocalAgent = () => agent.listLocalAgents().some(({ agentAddress }) => agentAddress.toLowerCase() === approved);
54
+ if (!approved || !hasLocalAgent())
55
+ return null;
56
+ // Own-meta reads and the proof query are separate store operations. Fence the
57
+ // projection revision so a root/member/delegation mutation between them
58
+ // cannot authorize from a mixed generation.
59
+ const state = await agent.readRequesterJoinRequestState(contextGraphId, approved);
60
+ if (state?.status !== 'approved'
61
+ || !state.curatorPeerId
62
+ || state.curatorAuthorityEra !== '0'
63
+ || !state.curatorAgentAddress
64
+ || !EVM_ADDRESS.test(state.curatorAgentAddress)
65
+ || state.curatorAgentAddress === ZERO_ADDRESS)
66
+ return null;
67
+ const ownerAddress = state.curatorAgentAddress;
68
+ const meta = await agent.getOwnCgMetaFacts(contextGraphId, { signal });
69
+ const owners = new Set(meta.curators.map((did) => did
70
+ .replace(/^did:dkg:agent:/u, '').toLowerCase()));
71
+ const creators = new Set(meta.creators);
72
+ const registrationStatus = await agent.readLocalContextGraphRegistrationStatus(contextGraphId);
73
+ if (meta.accessPolicy?.trim().toLowerCase() !== 'private'
74
+ || owners.size !== 1
75
+ || !owners.has(ownerAddress)
76
+ || creators.size !== 1
77
+ || !creators.has(`did:dkg:agent:${state.curatorPeerId}`)
78
+ // Agent membership and the graph-level peer gate are conjunctive. The
79
+ // member's delegation proves that this peer may act for the agent; it does
80
+ // not override an explicit curator-maintained receiver allowlist.
81
+ || (meta.allowedPeers.length > 0 && !meta.allowedPeers.includes(agent.peerId))
82
+ || registrationStatus === 'pending')
83
+ return null;
84
+ // Bind the same current membership and active delegation proof used by
85
+ // private metadata bootstrap to this physical receiver's peer identity.
86
+ const proof = await agent.store.query(buildAuthoritativePrivateMetaMemberProofQuery(contextGraphId, { approvedAgentAddress: approved, expectedDelegateePeerId: agent.peerId }), { signal, source: 'agent.contextGraph.approvedPrivateReplica' });
87
+ signal?.throwIfAborted();
88
+ if (proof.type !== 'bindings')
89
+ return null;
90
+ const delegationExpiry = parseApprovedMemberDelegationExpiry(proof.bindings);
91
+ if (delegationExpiry === undefined)
92
+ return null;
93
+ const registeredMetaOnChainId = parseRegisteredMetaOnChainId(proof.bindings);
94
+ if (registeredMetaOnChainId === undefined)
95
+ return null;
96
+ // Approval and requester state are local mutable authority. Re-read their
97
+ // complete generation binding after every metadata/store await so a
98
+ // rejection, replacement request, or local-agent removal cannot race into a
99
+ // successful result based on a stale snapshot.
100
+ const currentRegistrationStatus = await agent
101
+ .readLocalContextGraphRegistrationStatus(contextGraphId);
102
+ if (currentRegistrationStatus === 'pending'
103
+ || (registeredMetaOnChainId === null
104
+ && currentRegistrationStatus !== 'unregistered')) {
105
+ return null;
106
+ }
107
+ const current = await agent.readRequesterJoinRequestState(contextGraphId, approved);
108
+ if (!approvalStillHolds()
109
+ || !hasLocalAgent()
110
+ || current?.status !== 'approved'
111
+ || current.requestGeneration !== state.requestGeneration
112
+ || current.curatorPeerId !== state.curatorPeerId
113
+ || current.curatorAgentAddress !== ownerAddress
114
+ || current.curatorAuthorityEra !== '0'
115
+ || !metadataStillCurrent())
116
+ return null;
117
+ // The proof query embeds its start time. Recheck the deadline it proved
118
+ // after every await so a delegation cannot expire while the read is in
119
+ // flight and still authorize the replica.
120
+ if (!isApprovedMemberDelegationExpiryActive(delegationExpiry))
121
+ return null;
122
+ const authority = Object.freeze({
123
+ approvedAgentAddress: approved,
124
+ ownerAddress,
125
+ requestGeneration: state.requestGeneration,
126
+ curatorPeerId: state.curatorPeerId,
127
+ // This proof authorizes this receiver's approved local participant. It is
128
+ // neither a generic owner policy nor a replacement encryption roster.
129
+ memberAddresses: Object.freeze([approved]),
130
+ // Preserve the graph's own peer restriction with the proof. Consumers
131
+ // must not re-read the merged metadata projection, where source identity
132
+ // has already been discarded.
133
+ allowedPeers: Object.freeze([...meta.allowedPeers]),
134
+ delegationExpiresAtMs: delegationExpiry,
135
+ });
136
+ if (registeredMetaOnChainId !== null) {
137
+ return Object.freeze({
138
+ kind: 'confirmed-registered-meta',
139
+ onChainId: registeredMetaOnChainId,
140
+ authority,
141
+ });
142
+ }
143
+ return Object.freeze({
144
+ kind: 'unregistered-private-replica',
145
+ authority,
146
+ });
147
+ }
148
+ //# sourceMappingURL=approved-private-replica.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approved-private-replica.js","sourceRoot":"","sources":["../src/approved-private-replica.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export declare class BoundedOperationTimeoutError extends Error {
7
7
  }
8
8
  export declare function isBoundedOperationTimeoutError(error: unknown): error is BoundedOperationTimeoutError;
9
9
  export declare function createAbortError(reason: unknown): Error;
10
+ /** Refuse cancelled work using the canonical normalized AbortError. */
11
+ export declare function throwIfOperationAborted(signal: AbortSignal | undefined): void;
10
12
  /**
11
13
  * Run one lazily-started operation with a caller-abort and deadline boundary.
12
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-operation.d.ts","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,qBAAa,4BAA6B,SAAQ,KAAK;IAInD,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ5B,QAAQ,CAAC,IAAI,+BAA+B;gBAGjC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;CAK7B;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,4BAA4B,CAMvC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAWvD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAClD,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GACA,OAAO,CAAC,CAAC,CAAC,CA2DZ"}
1
+ {"version":3,"file":"bounded-operation.d.ts","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,qBAAa,4BAA6B,SAAQ,KAAK;IAInD,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ5B,QAAQ,CAAC,IAAI,+BAA+B;gBAGjC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;CAK7B;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,4BAA4B,CAMvC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAWvD;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAClD,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GACA,OAAO,CAAC,CAAC,CAAC,CA2DZ"}
@@ -29,6 +29,11 @@ export function createAbortError(reason) {
29
29
  error.name = 'AbortError';
30
30
  return error;
31
31
  }
32
+ /** Refuse cancelled work using the canonical normalized AbortError. */
33
+ export function throwIfOperationAborted(signal) {
34
+ if (signal?.aborted)
35
+ throw createAbortError(signal.reason);
36
+ }
32
37
  /**
33
38
  * Run one lazily-started operation with a caller-abort and deadline boundary.
34
39
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-operation.js","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bounded-operation.js","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** The adapter that resolves chain anchors owns finality when it exposes a depth. */
2
+ export declare function resolveChainFinalityConfirmationsV1(chain: {
3
+ getFinalityConfirmations?: () => number | undefined;
4
+ }, config: {
5
+ finalityConfirmations?: number;
6
+ } | undefined): number | undefined;
7
+ //# sourceMappingURL=chain-finality-confirmations-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-finality-confirmations-v1.d.ts","sourceRoot":"","sources":["../src/chain-finality-confirmations-v1.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,wBAAgB,mCAAmC,CACjD,KAAK,EAAE;IAAE,wBAAwB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CAAE,EAC9D,MAAM,EAAE;IAAE,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACrD,MAAM,GAAG,SAAS,CAKpB"}
@@ -0,0 +1,9 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /** The adapter that resolves chain anchors owns finality when it exposes a depth. */
3
+ export function resolveChainFinalityConfirmationsV1(chain, config) {
4
+ const fromAdapter = typeof chain.getFinalityConfirmations === 'function'
5
+ ? chain.getFinalityConfirmations()
6
+ : undefined;
7
+ return fromAdapter ?? config?.finalityConfirmations;
8
+ }
9
+ //# sourceMappingURL=chain-finality-confirmations-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-finality-confirmations-v1.js","sourceRoot":"","sources":["../src/chain-finality-confirmations-v1.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,qFAAqF;AACrF,MAAM,UAAU,mCAAmC,CACjD,KAA8D,EAC9D,MAAsD;IAEtD,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,wBAAwB,KAAK,UAAU;QACtE,CAAC,CAAC,KAAK,CAAC,wBAAwB,EAAE;QAClC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,WAAW,IAAI,MAAM,EAAE,qBAAqB,CAAC;AACtD,CAAC"}
@@ -79,6 +79,8 @@ export interface PendingOrdinalRecoveryResult {
79
79
  * the fair scan moving through unvisited ordinals.
80
80
  */
81
81
  cooldownOnly?: boolean;
82
+ /** No peer work ran because node-local sync admission was unavailable. */
83
+ localAdmissionDeferred?: boolean;
82
84
  }
83
85
  export interface ChainReconcilerDeps {
84
86
  /** Chain-head ordinal for the CG (`getContextGraphKCCount`). */
@@ -129,6 +131,23 @@ export interface ChainReconcilerDeps {
129
131
  /** Confirmation depth (blocks) before a completed ordinal advances the watermark. */
130
132
  confirmationDepth: number;
131
133
  log: (msg: string) => void;
134
+ /**
135
+ * Observation only: receives the wall clock of this slice's serial stages
136
+ * when it completes. Never consulted by scheduling or cursor policy.
137
+ */
138
+ observePassTimings?: (timings: ReconcilePassTimings) => void;
139
+ }
140
+ /** Observation-only wall clock of one reconcile slice's serial stages. */
141
+ export interface ReconcilePassTimings {
142
+ /** `getKCCount`. */
143
+ readonly headReadMs: number;
144
+ /** `getHeadBlock`. */
145
+ readonly blockReadMs: number;
146
+ /** Ordinal scan: per-ordinal chain membership read and local classification. */
147
+ readonly scanMs: number;
148
+ /** `recoverPendingOrdinals`: curator, peer readiness, sizing, exchange, post-fetch. */
149
+ readonly recoverMs: number;
150
+ readonly totalMs: number;
132
151
  }
133
152
  export interface ReconcileResult {
134
153
  head: number;
@@ -147,6 +166,10 @@ export interface ReconcileResult {
147
166
  shouldContinueImmediately: boolean;
148
167
  /** True when this pass stopped because its captured chain binding changed. */
149
168
  staleTarget: boolean;
169
+ /** Internal bounded retry signal; local pressure is not peer evidence. */
170
+ localAdmissionDeferred?: boolean;
171
+ /** This pass asked peers for missing assets, so it used node-local sync admission. */
172
+ recoveryAttempted?: boolean;
150
173
  }
151
174
  /**
152
175
  * One bounded sweep slice for a single CG: reconcile up to
@@ -1 +1 @@
1
- {"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,9 @@ export { VmReconcileDispatcher, VmReconcileSchedulingRuntime, } from './vm-recon
30
30
  * independently interpreting the legacy result fields.
31
31
  */
32
32
  function recoveryDisposition(result) {
33
+ if (result.localAdmissionDeferred === true) {
34
+ return { kind: 'local-admission', continuationOrdinal: result.continuationOrdinal };
35
+ }
33
36
  if (result.cooldownOnly === true) {
34
37
  return { kind: 'cooldown', continuationOrdinal: result.continuationOrdinal };
35
38
  }
@@ -92,6 +95,11 @@ function planOrdinalPass(candidates, passLimit, requestedRecent, watermark) {
92
95
  return leftRecent ? right.ordinal - left.ordinal : left.ordinal - right.ordinal;
93
96
  },
94
97
  nextScanOrdinal: ({ watermark: currentWatermark, recovery, }) => {
98
+ if (recovery.kind === 'local-admission') {
99
+ // Retry the same historical slice after local capacity becomes usable.
100
+ // A never-started fetch cannot move this cursor past untouched KAs.
101
+ return Math.max(currentWatermark, historicalOrdinals[0] ?? currentWatermark);
102
+ }
95
103
  if (usesRecentLane) {
96
104
  return hasUnvisitedCandidates
97
105
  ? Math.max(currentWatermark, historicalContinuationOrdinal)
@@ -137,7 +145,15 @@ function holdCompletedOrdinals(state, ordinals, outcomes) {
137
145
  * moved. Mutates `state` in place (the agent owns one `CursorState` per CG).
138
146
  */
139
147
  export async function reconcileContextGraph(deps, state, localCgId, onChainCgId) {
148
+ const passStartedAt = performance.now();
149
+ const observePass = (timings) => {
150
+ try {
151
+ deps.observePassTimings?.(timings);
152
+ }
153
+ catch { /* observation only */ }
154
+ };
140
155
  const head = await deps.getKCCount(onChainCgId);
156
+ const headReadMs = performance.now() - passStartedAt;
141
157
  const before = state.watermark;
142
158
  // The persisted contiguous watermark is durable completeness evidence. If
143
159
  // it already covers the chain head, avoid the head-block RPC and all ordinal
@@ -145,6 +161,10 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
145
161
  // an evidence mismatch, but is equally non-actionable in this pass.
146
162
  if (before >= head) {
147
163
  state.scanOrdinal = before;
164
+ observePass({
165
+ headReadMs, blockReadMs: 0, scanMs: 0, recoverMs: 0,
166
+ totalMs: performance.now() - passStartedAt,
167
+ });
148
168
  return {
149
169
  head,
150
170
  watermark: before,
@@ -162,6 +182,7 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
162
182
  // synthetic version block for chain-backed data.
163
183
  let headBlock;
164
184
  let headUnavailable = false;
185
+ const blockStartedAt = performance.now();
165
186
  try {
166
187
  headBlock = await deps.getHeadBlock();
167
188
  }
@@ -169,6 +190,9 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
169
190
  headUnavailable = true;
170
191
  deps.log(`reconcile ${localCgId}: getHeadBlock failed, holding watermark (${err instanceof Error ? err.message : String(err)})`);
171
192
  }
193
+ const blockReadMs = performance.now() - blockStartedAt;
194
+ let scanMs = 0;
195
+ let recoverMs = 0;
172
196
  // Re-absorb any depth-held ordinals as the head advances — a long-running
173
197
  // node makes progress on confirmation-depth-blocked ordinals even with no
174
198
  // new completions this pass. Skipped when the head is unobservable.
@@ -255,7 +279,9 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
255
279
  }
256
280
  };
257
281
  const workerCount = Math.min(ordinalConcurrency, ordinals.length);
282
+ const scanStartedAt = performance.now();
258
283
  await Promise.all(Array.from({ length: workerCount }, () => runOrdinalWorker()));
284
+ scanMs = performance.now() - scanStartedAt;
259
285
  if (workerFailed) {
260
286
  if (!staleTarget)
261
287
  keepRejectedPassProgress();
@@ -273,8 +299,10 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
273
299
  .sort(passPlan.compareRecoveryTargets);
274
300
  if (!staleTarget && recoveryTargets.length > 0 && deps.recoverPendingOrdinals) {
275
301
  let recoveryResult;
302
+ const recoverStartedAt = performance.now();
276
303
  try {
277
304
  recoveryResult = await deps.recoverPendingOrdinals(localCgId, onChainCgId, recoveryTargets, headBlock);
305
+ recoverMs = performance.now() - recoverStartedAt;
278
306
  }
279
307
  catch (error) {
280
308
  // Recovery is the longest await; keep progress only under the same binding.
@@ -343,6 +371,7 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
343
371
  const hasMore = !headUnavailable
344
372
  && !staleTarget
345
373
  && recovery.kind !== 'cooldown'
374
+ && recovery.kind !== 'local-admission'
346
375
  && (recoveryAttempted
347
376
  ? hasImmediateRecoveryContinuation
348
377
  || hasUnvisitedCandidates
@@ -356,6 +385,10 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
356
385
  else if (reconciled > 0 || pending > 0) {
357
386
  deps.log(`reconcile ${localCgId}: watermark held at ${state.watermark} (head=${head}, processed=${processed}, reconciled=${reconciled}, pending=${pending}${headUnavailable ? ', headUnavailable' : ''})`);
358
387
  }
388
+ observePass({
389
+ headReadMs, blockReadMs, scanMs, recoverMs,
390
+ totalMs: performance.now() - passStartedAt,
391
+ });
359
392
  return {
360
393
  head,
361
394
  watermark: state.watermark,
@@ -365,6 +398,8 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
365
398
  hasMore,
366
399
  shouldContinueImmediately,
367
400
  staleTarget,
401
+ ...(recovery.kind === 'local-admission' ? { localAdmissionDeferred: true } : {}),
402
+ ...(recoveryAttempted ? { recoveryAttempted: true } : {}),
368
403
  };
369
404
  }
370
405
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAE7B,MAAM,8BAA8B,CAAC;AA6DtC;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,MAAoC;IAEpC,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAC5E,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;SAChD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,wBAAwB;QAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAC9E,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC;AAsGD;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,UAA6B,EAC7B,SAAiB,EACjB,eAAuB,EACvB,SAAiB;IAEjB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,kBAAqC,CAAC;IAC1C,IAAI,cAAc,GAAsB,EAAE,CAAC;IAC3C,IAAI,WAAW,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;QAChD,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClD,cAAc,GAAG,UAAU;aACxB,KAAK,CAAC,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,cAAc,CAAC;SACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,MAAM,sBAAsB,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACnE,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC;QACjE,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,kBAAkB;QAClB,cAAc;QACd,QAAQ;QACR,cAAc;QACd,sBAAsB;QACtB,6BAA6B;QAC7B,sBAAsB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,UAAU,KAAK,WAAW;gBAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAClF,CAAC;QACD,eAAe,EAAE,CAAC,EAChB,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,GACT,EAAE,EAAE;YACH,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,sBAAsB;oBAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;oBAC3D,CAAC,CAAC,gBAAgB,CAAC;YACvB,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAClE,CAAC;YACD,IACE,QAAQ,CAAC,IAAI,KAAK,UAAU;mBACzB,QAAQ,CAAC,mBAAmB,KAAK,SAAS,EAC7C,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,sBAAsB;gBAAE,OAAO,gBAAgB,CAAC;YACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,KAAkB,EAClB,QAA2B,EAC3B,QAA6C;IAE7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,MAAM,KAAK,YAAY,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;YAAE,SAAS;QAChF,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QACpE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAyB,EACzB,KAAkB,EAClB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAE/B,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;QAC3B,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,yBAAyB,EAAE,KAAK;YAChC,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,0EAA0E;IAC1E,iDAAiD;IACjD,IAAI,SAA6B,CAAC;IAClC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,aAAa,SAAS,6CAA6C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnI,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,SAAS,KAAK,SAAS;QAAE,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEvF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,QAAQ,GAAsC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAC5E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAChD,MAAM,SAAS,GAAG,eAAe,KAAK,SAAS;QAC7C,CAAC,CAAC,MAAM,CAAC,iBAAiB;QAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,0EAA0E;QAC1E,2DAA2D;QAC3D,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;QACpC,UAAU,GAAG,iBAAiB,CAAC;IACjC,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACjE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,QAAQ,GAAG,eAAe,CAC9B,UAAU,EACV,SAAS,EACT,eAAe,EACf,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,MAAM,EACJ,QAAQ,EACR,sBAAsB,GACvB,GAAG,QAAQ,CAAC;IACb,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACzD,MAAM,kBAAkB,GAAG,qBAAqB,KAAK,SAAS;YAC5D,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;QACnD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,WAAoB,CAAC;QACzB,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,iBAAqC,CAAC;QAC1C,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,wBAAwB,GAAG,GAAS,EAAE;YAC1C,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,IAAI,iBAAiB,KAAK,SAAS;gBAAE,OAAO;YAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,QAAQ,CAAC,6BAA6B,CAAC,CACxE,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,KAAK,IAAmB,EAAE;YACjD,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,CAAC;gBACH,OAAO,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,gBAAgB,CAAC;oBAC/B,gBAAgB,IAAI,CAAC,CAAC;oBACtB,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM;wBAAE,OAAO;oBAErC,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;wBAClF,WAAW,GAAG,IAAI,CAAC;wBACnB,OAAO;oBACT,CAAC;oBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAE,CAAC;oBACjC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,EAAE,OAAO,CAAC,CAAC;oBACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACzC,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;oBACF,SAAS,IAAI,CAAC,CAAC;oBACf,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;wBAClF,WAAW,GAAG,IAAI,CAAC;wBACnB,OAAO;oBACT,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,IAAI,CAAC;oBACpB,WAAW,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW;gBAAE,wBAAwB,EAAE,CAAC;YAC7C,MAAM,WAAW,CAAC;QACpB,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ;aAC7B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,OAAO,EAA6D,EAAE,CAC7E,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAChE;aACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAS,CAAC;YACpC,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,kEAAkE;YAClE,kEAAkE;aACjE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9E,IAAI,cAA4C,CAAC;YACjD,IAAI,CAAC;gBACH,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAChD,SAAS,EACT,WAAW,EACX,eAAe,EACf,SAAS,CACV,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4EAA4E;gBAC5E,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,eAAe;uBACrC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5F,IAAI,YAAY;oBAAE,wBAAwB,EAAE,CAAC;gBAC7C,MAAM,KAAK,CAAC;YACd,CAAC;YACD,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,0EAA0E;YAC1E,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;gBAClF,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;oBACzD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;gBACD,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,mCAAmC;QACnC,IAAI,CAAC,WAAW;YAAE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACpE,UAAU,IAAI,CAAC,CAAC;oBAChB,qEAAqE;oBACrE,sEAAsE;oBACtE,mCAAmC;oBACnC,gBAAgB,CACd,KAAK,EACL,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAC7C,SAAS,IAAI,OAAO,CAAC,WAAW,EAChC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;QACnC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,eAAe,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,KAAK,sBAAsB;WAC7D,QAAQ,CAAC,IAAI,KAAK,uBAAuB;WACzC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC;IACnC,MAAM,gCAAgC,GAAG,QAAQ,CAAC,IAAI,KAAK,sBAAsB;WAC5E,QAAQ,CAAC,IAAI,KAAK,uBAAuB,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,eAAe;WAC3B,CAAC,WAAW;WACZ,QAAQ,CAAC,IAAI,KAAK,UAAU;WAC5B,CACD,iBAAiB;YACf,CAAC,CAAC,gCAAgC;mBAC7B,sBAAsB;YAC3B,CAAC,CAAC,sBAAsB,CAC3B,CAAC;IACJ,MAAM,yBAAyB,GAAG,WAAW;WACxC,CAAC,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,gCAAgC,CAAC,CAAC,CAAC;IAEvE,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,aAAa,SAAS,eAAe,MAAM,OAAO,KAAK,CAAC,SAAS,UAAU,IAAI,eAAe,SAAS,gBAAgB,UAAU,aAAa,OAAO,GAAG,CAAC,CAAC;IACrK,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,aAAa,SAAS,uBAAuB,KAAK,CAAC,SAAS,UAAU,IAAI,eAAe,SAAS,gBAAgB,UAAU,aAAa,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7M,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU;QACV,OAAO;QACP,SAAS;QACT,OAAO;QACP,yBAAyB;QACzB,WAAW;KACZ,CAAC;AACJ,CAAC;AAGD;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAEM;IADZ,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,YAA6B,MAAM,IAAI;QAAV,QAAG,GAAH,GAAG,CAAO;IAAG,CAAC;IAE3C,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,MAAe;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;CACF;AAED,6EAA6E;AAC7E,MAAM,OAAO,0BAA0B;IAIlB;IACA;IACA;IALF,IAAI,GAAG,IAAI,GAAG,EAA2C,CAAC;IAE3E,YACmB,MAAM,IAAI,EACV,QAAQ,CAAC,GAAG,MAAM,EAClB,MAAoB,IAAI,CAAC,GAAG;QAF5B,QAAG,GAAH,GAAG,CAAO;QACV,UAAK,GAAL,KAAK,CAAa;QAClB,QAAG,GAAH,GAAG,CAAyB;IAC5C,CAAC;IAEJ,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,19 @@ export interface ApprovedMemberProof {
8
8
  /** Injectable wall clock for parity tests. Defaults to Date.now(). */
9
9
  nowMs?: number;
10
10
  }
11
+ /**
12
+ * Expiry carried out of the same source-qualified store proof that established
13
+ * membership. `null` means that the proved delegation has no expiry.
14
+ */
15
+ export type ApprovedMemberDelegationExpiry = number | null;
16
+ /**
17
+ * Parse the expiry selected by the authoritative member proof. Multiple
18
+ * active expiry rows retain the latest deadline, matching the proof's
19
+ * any-active-row semantics. Ambiguous or malformed results fail closed.
20
+ */
21
+ export declare function parseApprovedMemberDelegationExpiry(bindings: readonly Readonly<Record<string, string>>[]): ApprovedMemberDelegationExpiry | undefined;
22
+ /** Revalidate a proved delegation deadline against the current wall clock. */
23
+ export declare function isApprovedMemberDelegationExpiryActive(expiry: ApprovedMemberDelegationExpiry, nowMs?: number): boolean;
11
24
  /**
12
25
  * Whether a fetched root `_meta` snapshot proves the approved member: it is in
13
26
  * `allowedAgent`, not revoked, and holds an active delegation bound to this
@@ -1 +1 @@
1
- {"version":3,"file":"context-graph-member-proof.d.ts","sourceRoot":"","sources":["../src/context-graph-member-proof.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAa9D,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqCD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CA6CT;AAED,sDAAsD;AACtD,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,CAsCR"}
1
+ {"version":3,"file":"context-graph-member-proof.d.ts","sourceRoot":"","sources":["../src/context-graph-member-proof.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAa9D,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,IAAI,CAAC;AA8B3D;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GACpD,8BAA8B,GAAG,SAAS,CAoB5C;AAED,8EAA8E;AAC9E,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,8BAA8B,EACtC,KAAK,SAAa,GACjB,OAAO,CAIT;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CA6CT;AAED,sDAAsD;AACtD,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,CAsCR"}
@@ -31,6 +31,42 @@ function normalizeMemberProof(proof) {
31
31
  function literalEqualsIgnoreCase(value, expected) {
32
32
  return value.startsWith('"') && stripLiteral(value).trim().toLowerCase() === expected;
33
33
  }
34
+ /**
35
+ * Parse the expiry selected by the authoritative member proof. Multiple
36
+ * active expiry rows retain the latest deadline, matching the proof's
37
+ * any-active-row semantics. Ambiguous or malformed results fail closed.
38
+ */
39
+ export function parseApprovedMemberDelegationExpiry(bindings) {
40
+ if (bindings.length === 0)
41
+ return undefined;
42
+ let hasUnboundedRow = false;
43
+ let latestExpiry;
44
+ for (const binding of bindings) {
45
+ const rawExpiry = binding['delegationExpiresAt'];
46
+ if (rawExpiry === undefined) {
47
+ hasUnboundedRow = true;
48
+ continue;
49
+ }
50
+ const lexicalExpiry = stripLiteral(rawExpiry);
51
+ if (!/^[0-9]+$/u.test(lexicalExpiry))
52
+ return undefined;
53
+ const expiry = Number(lexicalExpiry);
54
+ if (!Number.isSafeInteger(expiry) || expiry < 0)
55
+ return undefined;
56
+ latestExpiry = latestExpiry === undefined
57
+ ? expiry
58
+ : Math.max(latestExpiry, expiry);
59
+ }
60
+ if (hasUnboundedRow)
61
+ return latestExpiry === undefined ? null : undefined;
62
+ return latestExpiry;
63
+ }
64
+ /** Revalidate a proved delegation deadline against the current wall clock. */
65
+ export function isApprovedMemberDelegationExpiryActive(expiry, nowMs = Date.now()) {
66
+ return Number.isSafeInteger(nowMs)
67
+ && nowMs >= 0
68
+ && (expiry === null || expiry > nowMs);
69
+ }
34
70
  /**
35
71
  * Whether a fetched root `_meta` snapshot proves the approved member: it is in
36
72
  * `allowedAgent`, not revoked, and holds an active delegation bound to this