@origintrail-official/dkg-agent 10.0.19 → 10.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/dist/approved-private-replica.d.ts +54 -0
  2. package/dist/approved-private-replica.d.ts.map +1 -0
  3. package/dist/approved-private-replica.js +148 -0
  4. package/dist/approved-private-replica.js.map +1 -0
  5. package/dist/bounded-operation.d.ts +2 -0
  6. package/dist/bounded-operation.d.ts.map +1 -1
  7. package/dist/bounded-operation.js +5 -0
  8. package/dist/bounded-operation.js.map +1 -1
  9. package/dist/chain-finality-confirmations-v1.d.ts +7 -0
  10. package/dist/chain-finality-confirmations-v1.d.ts.map +1 -0
  11. package/dist/chain-finality-confirmations-v1.js +9 -0
  12. package/dist/chain-finality-confirmations-v1.js.map +1 -0
  13. package/dist/chain-reconciler.d.ts +23 -0
  14. package/dist/chain-reconciler.d.ts.map +1 -1
  15. package/dist/chain-reconciler.js +35 -0
  16. package/dist/chain-reconciler.js.map +1 -1
  17. package/dist/confirmed-graph-scoped-vm-resolver.d.ts +7 -1
  18. package/dist/confirmed-graph-scoped-vm-resolver.d.ts.map +1 -1
  19. package/dist/confirmed-graph-scoped-vm-resolver.js +5 -3
  20. package/dist/confirmed-graph-scoped-vm-resolver.js.map +1 -1
  21. package/dist/context-graph-authority-dependency.d.ts +11 -0
  22. package/dist/context-graph-authority-dependency.d.ts.map +1 -0
  23. package/dist/context-graph-authority-dependency.js +50 -0
  24. package/dist/context-graph-authority-dependency.js.map +1 -0
  25. package/dist/context-graph-binding-state.d.ts +6 -0
  26. package/dist/context-graph-binding-state.d.ts.map +1 -1
  27. package/dist/context-graph-binding-state.js +17 -10
  28. package/dist/context-graph-binding-state.js.map +1 -1
  29. package/dist/context-graph-claim-proof.d.ts +74 -0
  30. package/dist/context-graph-claim-proof.d.ts.map +1 -0
  31. package/dist/context-graph-claim-proof.js +137 -0
  32. package/dist/context-graph-claim-proof.js.map +1 -0
  33. package/dist/context-graph-member-proof.d.ts +33 -0
  34. package/dist/context-graph-member-proof.d.ts.map +1 -0
  35. package/dist/context-graph-member-proof.js +142 -0
  36. package/dist/context-graph-member-proof.js.map +1 -0
  37. package/dist/context-graph-membership-persist-scheduler.d.ts +7 -23
  38. package/dist/context-graph-membership-persist-scheduler.d.ts.map +1 -1
  39. package/dist/context-graph-membership-persist-scheduler.js +12 -88
  40. package/dist/context-graph-membership-persist-scheduler.js.map +1 -1
  41. package/dist/context-graph-meta-confirmation.d.ts +22 -2
  42. package/dist/context-graph-meta-confirmation.d.ts.map +1 -1
  43. package/dist/context-graph-meta-confirmation.js +54 -23
  44. package/dist/context-graph-meta-confirmation.js.map +1 -1
  45. package/dist/context-graph-meta-projection.d.ts +13 -2
  46. package/dist/context-graph-meta-projection.d.ts.map +1 -1
  47. package/dist/context-graph-meta-projection.js +61 -24
  48. package/dist/context-graph-meta-projection.js.map +1 -1
  49. package/dist/context-graph-metadata-relocation.d.ts +18 -30
  50. package/dist/context-graph-metadata-relocation.d.ts.map +1 -1
  51. package/dist/context-graph-metadata-relocation.js +32 -2
  52. package/dist/context-graph-metadata-relocation.js.map +1 -1
  53. package/dist/context-graph-private-meta-proof.d.ts +8 -9
  54. package/dist/context-graph-private-meta-proof.d.ts.map +1 -1
  55. package/dist/context-graph-private-meta-proof.js +25 -89
  56. package/dist/context-graph-private-meta-proof.js.map +1 -1
  57. package/dist/context-graph-public-meta-proof.d.ts +11 -1
  58. package/dist/context-graph-public-meta-proof.d.ts.map +1 -1
  59. package/dist/context-graph-public-meta-proof.js +23 -3
  60. package/dist/context-graph-public-meta-proof.js.map +1 -1
  61. package/dist/context-graph-read-authority.d.ts +30 -3
  62. package/dist/context-graph-read-authority.d.ts.map +1 -1
  63. package/dist/context-graph-read-authority.js +62 -18
  64. package/dist/context-graph-read-authority.js.map +1 -1
  65. package/dist/context-graph-storage-discovery.d.ts +14 -4
  66. package/dist/context-graph-storage-discovery.d.ts.map +1 -1
  67. package/dist/context-graph-storage-discovery.js +27 -7
  68. package/dist/context-graph-storage-discovery.js.map +1 -1
  69. package/dist/context-graph-subscription-authority-recovery.d.ts +7 -0
  70. package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -1
  71. package/dist/context-graph-subscription-authority-recovery.js +1 -0
  72. package/dist/context-graph-subscription-authority-recovery.js.map +1 -1
  73. package/dist/context-graph-subscription-persist-scheduler.d.ts +52 -0
  74. package/dist/context-graph-subscription-persist-scheduler.d.ts.map +1 -0
  75. package/dist/context-graph-subscription-persist-scheduler.js +78 -0
  76. package/dist/context-graph-subscription-persist-scheduler.js.map +1 -0
  77. package/dist/curator-dial-address.d.ts +16 -0
  78. package/dist/curator-dial-address.d.ts.map +1 -0
  79. package/dist/curator-dial-address.js +58 -0
  80. package/dist/curator-dial-address.js.map +1 -0
  81. package/dist/curator-meta-refresh.d.ts +18 -4
  82. package/dist/curator-meta-refresh.d.ts.map +1 -1
  83. package/dist/curator-meta-refresh.js +61 -58
  84. package/dist/curator-meta-refresh.js.map +1 -1
  85. package/dist/curator-peer-connection.d.ts +21 -0
  86. package/dist/curator-peer-connection.d.ts.map +1 -0
  87. package/dist/curator-peer-connection.js +41 -0
  88. package/dist/curator-peer-connection.js.map +1 -0
  89. package/dist/dkg-agent-agents-phonebook.d.ts +41 -0
  90. package/dist/dkg-agent-agents-phonebook.d.ts.map +1 -0
  91. package/dist/dkg-agent-agents-phonebook.js +155 -0
  92. package/dist/dkg-agent-agents-phonebook.js.map +1 -0
  93. package/dist/dkg-agent-base.d.ts +162 -24
  94. package/dist/dkg-agent-base.d.ts.map +1 -1
  95. package/dist/dkg-agent-base.js +175 -147
  96. package/dist/dkg-agent-base.js.map +1 -1
  97. package/dist/dkg-agent-cg-chain-observation.d.ts +6 -1
  98. package/dist/dkg-agent-cg-chain-observation.d.ts.map +1 -1
  99. package/dist/dkg-agent-cg-chain-observation.js +20 -5
  100. package/dist/dkg-agent-cg-chain-observation.js.map +1 -1
  101. package/dist/dkg-agent-cg-name-resolution.d.ts +38 -2
  102. package/dist/dkg-agent-cg-name-resolution.d.ts.map +1 -1
  103. package/dist/dkg-agent-cg-name-resolution.js +100 -8
  104. package/dist/dkg-agent-cg-name-resolution.js.map +1 -1
  105. package/dist/dkg-agent-cg-registry.d.ts +43 -3
  106. package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
  107. package/dist/dkg-agent-cg-registry.js +267 -129
  108. package/dist/dkg-agent-cg-registry.js.map +1 -1
  109. package/dist/dkg-agent-cg-resolve.d.ts +6 -4
  110. package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
  111. package/dist/dkg-agent-cg-resolve.js +40 -18
  112. package/dist/dkg-agent-cg-resolve.js.map +1 -1
  113. package/dist/dkg-agent-constants.d.ts +10 -2
  114. package/dist/dkg-agent-constants.d.ts.map +1 -1
  115. package/dist/dkg-agent-constants.js +10 -2
  116. package/dist/dkg-agent-constants.js.map +1 -1
  117. package/dist/dkg-agent-context-graph.d.ts.map +1 -1
  118. package/dist/dkg-agent-context-graph.js +1 -5
  119. package/dist/dkg-agent-context-graph.js.map +1 -1
  120. package/dist/dkg-agent-crypto.d.ts +128 -21
  121. package/dist/dkg-agent-crypto.d.ts.map +1 -1
  122. package/dist/dkg-agent-crypto.js +824 -176
  123. package/dist/dkg-agent-crypto.js.map +1 -1
  124. package/dist/dkg-agent-diagnostics.d.ts.map +1 -1
  125. package/dist/dkg-agent-diagnostics.js +4 -3
  126. package/dist/dkg-agent-diagnostics.js.map +1 -1
  127. package/dist/dkg-agent-helpers.d.ts +2 -2
  128. package/dist/dkg-agent-helpers.d.ts.map +1 -1
  129. package/dist/dkg-agent-helpers.js +3 -3
  130. package/dist/dkg-agent-helpers.js.map +1 -1
  131. package/dist/dkg-agent-join.d.ts +12 -1
  132. package/dist/dkg-agent-join.d.ts.map +1 -1
  133. package/dist/dkg-agent-join.js +80 -92
  134. package/dist/dkg-agent-join.js.map +1 -1
  135. package/dist/dkg-agent-lifecycle.d.ts +129 -22
  136. package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
  137. package/dist/dkg-agent-lifecycle.js +690 -211
  138. package/dist/dkg-agent-lifecycle.js.map +1 -1
  139. package/dist/dkg-agent-publish.d.ts +33 -40
  140. package/dist/dkg-agent-publish.d.ts.map +1 -1
  141. package/dist/dkg-agent-publish.js +194 -281
  142. package/dist/dkg-agent-publish.js.map +1 -1
  143. package/dist/dkg-agent-query.d.ts +7 -0
  144. package/dist/dkg-agent-query.d.ts.map +1 -1
  145. package/dist/dkg-agent-query.js +102 -86
  146. package/dist/dkg-agent-query.js.map +1 -1
  147. package/dist/dkg-agent-registered-private-empty-vm.d.ts +70 -0
  148. package/dist/dkg-agent-registered-private-empty-vm.d.ts.map +1 -0
  149. package/dist/dkg-agent-registered-private-empty-vm.js +133 -0
  150. package/dist/dkg-agent-registered-private-empty-vm.js.map +1 -0
  151. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts +8 -3
  152. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts.map +1 -1
  153. package/dist/dkg-agent-rfc64-catalog-auto-publish.js +45 -51
  154. package/dist/dkg-agent-rfc64-catalog-auto-publish.js.map +1 -1
  155. package/dist/dkg-agent-rfc64-catalog.d.ts +87 -80
  156. package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
  157. package/dist/dkg-agent-rfc64-catalog.js +726 -476
  158. package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
  159. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts +6 -1
  160. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts.map +1 -1
  161. package/dist/dkg-agent-rfc64-meta-bootstrap.js +29 -13
  162. package/dist/dkg-agent-rfc64-meta-bootstrap.js.map +1 -1
  163. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts +8 -0
  164. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts.map +1 -1
  165. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js +249 -40
  166. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js.map +1 -1
  167. package/dist/dkg-agent-rfc64-swm-catalog-projection.d.ts.map +1 -1
  168. package/dist/dkg-agent-rfc64-swm-catalog-projection.js +3 -2
  169. package/dist/dkg-agent-rfc64-swm-catalog-projection.js.map +1 -1
  170. package/dist/dkg-agent-swm-host.d.ts +217 -52
  171. package/dist/dkg-agent-swm-host.d.ts.map +1 -1
  172. package/dist/dkg-agent-swm-host.js +1305 -858
  173. package/dist/dkg-agent-swm-host.js.map +1 -1
  174. package/dist/dkg-agent-swm-state.d.ts +15 -0
  175. package/dist/dkg-agent-swm-state.d.ts.map +1 -1
  176. package/dist/dkg-agent-swm-state.js +43 -0
  177. package/dist/dkg-agent-swm-state.js.map +1 -1
  178. package/dist/dkg-agent-swm-substrate.d.ts +49 -8
  179. package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
  180. package/dist/dkg-agent-swm-substrate.js +219 -46
  181. package/dist/dkg-agent-swm-substrate.js.map +1 -1
  182. package/dist/dkg-agent-types.d.ts +86 -27
  183. package/dist/dkg-agent-types.d.ts.map +1 -1
  184. package/dist/dkg-agent-types.js.map +1 -1
  185. package/dist/dkg-agent-vm-promotion.d.ts +4 -0
  186. package/dist/dkg-agent-vm-promotion.d.ts.map +1 -1
  187. package/dist/dkg-agent-vm-promotion.js +40 -5
  188. package/dist/dkg-agent-vm-promotion.js.map +1 -1
  189. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts +7 -0
  190. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts.map +1 -1
  191. package/dist/dkg-agent-vm-reconcile-scheduling.js +18 -0
  192. package/dist/dkg-agent-vm-reconcile-scheduling.js.map +1 -1
  193. package/dist/dkg-agent.d.ts +31 -2
  194. package/dist/dkg-agent.d.ts.map +1 -1
  195. package/dist/dkg-agent.js +188 -72
  196. package/dist/dkg-agent.js.map +1 -1
  197. package/dist/exact-graph-content-verifier.d.ts.map +1 -1
  198. package/dist/exact-graph-content-verifier.js +3 -2
  199. package/dist/exact-graph-content-verifier.js.map +1 -1
  200. package/dist/finalization-handler.d.ts +26 -211
  201. package/dist/finalization-handler.d.ts.map +1 -1
  202. package/dist/finalization-handler.js +94 -1652
  203. package/dist/finalization-handler.js.map +1 -1
  204. package/dist/finalization-recovery-sqlite-displacement.d.ts +37 -0
  205. package/dist/finalization-recovery-sqlite-displacement.d.ts.map +1 -0
  206. package/dist/finalization-recovery-sqlite-displacement.js +102 -0
  207. package/dist/finalization-recovery-sqlite-displacement.js.map +1 -0
  208. package/dist/finalization-recovery-sqlite-policy.d.ts +20 -4
  209. package/dist/finalization-recovery-sqlite-policy.d.ts.map +1 -1
  210. package/dist/finalization-recovery-sqlite-policy.js +21 -5
  211. package/dist/finalization-recovery-sqlite-policy.js.map +1 -1
  212. package/dist/finalization-recovery-sqlite-rows.d.ts +53 -0
  213. package/dist/finalization-recovery-sqlite-rows.d.ts.map +1 -0
  214. package/dist/finalization-recovery-sqlite-rows.js +77 -0
  215. package/dist/finalization-recovery-sqlite-rows.js.map +1 -0
  216. package/dist/finalization-recovery-sqlite-store.d.ts +10 -4
  217. package/dist/finalization-recovery-sqlite-store.d.ts.map +1 -1
  218. package/dist/finalization-recovery-sqlite-store.js +49 -50
  219. package/dist/finalization-recovery-sqlite-store.js.map +1 -1
  220. package/dist/finalization-recovery-store.d.ts +18 -0
  221. package/dist/finalization-recovery-store.d.ts.map +1 -1
  222. package/dist/finalization-recovery-store.js +24 -0
  223. package/dist/finalization-recovery-store.js.map +1 -1
  224. package/dist/finalization-recovery-worker.js +1 -1
  225. package/dist/finalization-recovery-worker.js.map +1 -1
  226. package/dist/finalization-recovery.d.ts +2 -3
  227. package/dist/finalization-recovery.d.ts.map +1 -1
  228. package/dist/finalization-recovery.js +12 -9
  229. package/dist/finalization-recovery.js.map +1 -1
  230. package/dist/finalized-authority-cold-resolution.d.ts +6 -1
  231. package/dist/finalized-authority-cold-resolution.d.ts.map +1 -1
  232. package/dist/finalized-authority-cold-resolution.js +22 -3
  233. package/dist/finalized-authority-cold-resolution.js.map +1 -1
  234. package/dist/gossip-publish-handler.d.ts.map +1 -1
  235. package/dist/gossip-publish-handler.js +4 -2
  236. package/dist/gossip-publish-handler.js.map +1 -1
  237. package/dist/gossip-session.d.ts +29 -0
  238. package/dist/gossip-session.d.ts.map +1 -0
  239. package/dist/gossip-session.js +48 -0
  240. package/dist/gossip-session.js.map +1 -0
  241. package/dist/index.d.ts +4 -1
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js +4 -0
  244. package/dist/index.js.map +1 -1
  245. package/dist/internal/context-graph-authority/approved-member-acceptance.d.ts +61 -0
  246. package/dist/internal/context-graph-authority/approved-member-acceptance.d.ts.map +1 -0
  247. package/dist/internal/context-graph-authority/approved-member-acceptance.js +75 -0
  248. package/dist/internal/context-graph-authority/approved-member-acceptance.js.map +1 -0
  249. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts +5 -5
  250. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts.map +1 -1
  251. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js +59 -49
  252. package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js.map +1 -1
  253. package/dist/internal/context-graph-authority/context-graph-authority.d.ts +1 -0
  254. package/dist/internal/context-graph-authority/context-graph-authority.d.ts.map +1 -1
  255. package/dist/internal/context-graph-authority/context-graph-authority.js +25 -0
  256. package/dist/internal/context-graph-authority/context-graph-authority.js.map +1 -1
  257. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts +17 -0
  258. package/dist/internal/context-graph-authority/finalized-target-projection.d.ts.map +1 -0
  259. package/dist/internal/context-graph-authority/finalized-target-projection.js +36 -0
  260. package/dist/internal/context-graph-authority/finalized-target-projection.js.map +1 -0
  261. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts +84 -0
  262. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts.map +1 -0
  263. package/dist/internal/context-graph-authority/swm-transport-authority.js +175 -0
  264. package/dist/internal/context-graph-authority/swm-transport-authority.js.map +1 -0
  265. package/dist/internal/context-graph-binding-abort.d.ts +3 -0
  266. package/dist/internal/context-graph-binding-abort.d.ts.map +1 -0
  267. package/dist/internal/context-graph-binding-abort.js +32 -0
  268. package/dist/internal/context-graph-binding-abort.js.map +1 -0
  269. package/dist/internal/context-graph-cache-invalidating-store.d.ts +3 -0
  270. package/dist/internal/context-graph-cache-invalidating-store.d.ts.map +1 -0
  271. package/dist/internal/context-graph-cache-invalidating-store.js +167 -0
  272. package/dist/internal/context-graph-cache-invalidating-store.js.map +1 -0
  273. package/dist/internal/context-graph-meta-record-copy.d.ts +3 -0
  274. package/dist/internal/context-graph-meta-record-copy.d.ts.map +1 -0
  275. package/dist/internal/context-graph-meta-record-copy.js +21 -0
  276. package/dist/internal/context-graph-meta-record-copy.js.map +1 -0
  277. package/dist/internal/gossip/host-mode-handler.d.ts +11 -0
  278. package/dist/internal/gossip/host-mode-handler.d.ts.map +1 -0
  279. package/dist/internal/gossip/host-mode-handler.js +41 -0
  280. package/dist/internal/gossip/host-mode-handler.js.map +1 -0
  281. package/dist/internal/join-encryption-key-bundle.d.ts +10 -0
  282. package/dist/internal/join-encryption-key-bundle.d.ts.map +1 -0
  283. package/dist/internal/join-encryption-key-bundle.js +72 -0
  284. package/dist/internal/join-encryption-key-bundle.js.map +1 -0
  285. package/dist/internal/knowledge-asset-vm-publish-request.d.ts +31 -0
  286. package/dist/internal/knowledge-asset-vm-publish-request.d.ts.map +1 -0
  287. package/dist/internal/knowledge-asset-vm-publish-request.js +91 -0
  288. package/dist/internal/knowledge-asset-vm-publish-request.js.map +1 -0
  289. package/dist/internal/lifecycle-sync-policy.d.ts +5 -0
  290. package/dist/internal/lifecycle-sync-policy.d.ts.map +1 -0
  291. package/dist/internal/lifecycle-sync-policy.js +12 -0
  292. package/dist/internal/lifecycle-sync-policy.js.map +1 -0
  293. package/dist/internal/local-private-member.d.ts +14 -0
  294. package/dist/internal/local-private-member.d.ts.map +1 -0
  295. package/dist/internal/local-private-member.js +21 -0
  296. package/dist/internal/local-private-member.js.map +1 -0
  297. package/dist/internal/promote/assertion-promote-precommit.d.ts +41 -1
  298. package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
  299. package/dist/internal/promote/assertion-promote-precommit.js +79 -22
  300. package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
  301. package/dist/internal/storage-ack-owned-request.d.ts +16 -0
  302. package/dist/internal/storage-ack-owned-request.d.ts.map +1 -0
  303. package/dist/internal/storage-ack-owned-request.js +16 -0
  304. package/dist/internal/storage-ack-owned-request.js.map +1 -0
  305. package/dist/internal/vm-reconcile-local-admission-wait.d.ts +96 -0
  306. package/dist/internal/vm-reconcile-local-admission-wait.d.ts.map +1 -0
  307. package/dist/internal/vm-reconcile-local-admission-wait.js +226 -0
  308. package/dist/internal/vm-reconcile-local-admission-wait.js.map +1 -0
  309. package/dist/internal/vm-reconcile-read-authority.d.ts +27 -0
  310. package/dist/internal/vm-reconcile-read-authority.d.ts.map +1 -0
  311. package/dist/internal/vm-reconcile-read-authority.js +33 -0
  312. package/dist/internal/vm-reconcile-read-authority.js.map +1 -0
  313. package/dist/internal/vm-reconcile-sweep-admission.d.ts +2 -0
  314. package/dist/internal/vm-reconcile-sweep-admission.d.ts.map +1 -1
  315. package/dist/internal/vm-reconcile-sweep.d.ts +16 -4
  316. package/dist/internal/vm-reconcile-sweep.d.ts.map +1 -1
  317. package/dist/internal/vm-reconcile-sweep.js +91 -50
  318. package/dist/internal/vm-reconcile-sweep.js.map +1 -1
  319. package/dist/internal/workspace-projected-delegatees.d.ts +3 -0
  320. package/dist/internal/workspace-projected-delegatees.d.ts.map +1 -0
  321. package/dist/internal/workspace-projected-delegatees.js +34 -0
  322. package/dist/internal/workspace-projected-delegatees.js.map +1 -0
  323. package/dist/join-approval-restart-projection.d.ts +14 -0
  324. package/dist/join-approval-restart-projection.d.ts.map +1 -0
  325. package/dist/join-approval-restart-projection.js +32 -0
  326. package/dist/join-approval-restart-projection.js.map +1 -0
  327. package/dist/keyed-persist-scheduler.d.ts +72 -0
  328. package/dist/keyed-persist-scheduler.d.ts.map +1 -0
  329. package/dist/keyed-persist-scheduler.js +140 -0
  330. package/dist/keyed-persist-scheduler.js.map +1 -0
  331. package/dist/map-with-concurrency.d.ts +7 -0
  332. package/dist/map-with-concurrency.d.ts.map +1 -1
  333. package/dist/map-with-concurrency.js +36 -0
  334. package/dist/map-with-concurrency.js.map +1 -1
  335. package/dist/p2p/network-admission-coordinator.d.ts +15 -0
  336. package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
  337. package/dist/p2p/network-admission-coordinator.js +20 -2
  338. package/dist/p2p/network-admission-coordinator.js.map +1 -1
  339. package/dist/p2p/peer-connect.d.ts +10 -1
  340. package/dist/p2p/peer-connect.d.ts.map +1 -1
  341. package/dist/p2p/peer-connect.js +11 -2
  342. package/dist/p2p/peer-connect.js.map +1 -1
  343. package/dist/p2p/peer-selection.d.ts +8 -0
  344. package/dist/p2p/peer-selection.d.ts.map +1 -1
  345. package/dist/p2p/peer-selection.js +21 -12
  346. package/dist/p2p/peer-selection.js.map +1 -1
  347. package/dist/p2p/protocol-readiness.d.ts +3 -3
  348. package/dist/p2p/protocol-readiness.d.ts.map +1 -1
  349. package/dist/p2p/protocol-readiness.js +4 -3
  350. package/dist/p2p/protocol-readiness.js.map +1 -1
  351. package/dist/prepare-unscoped-context-graph-read-checks.d.ts.map +1 -1
  352. package/dist/prepare-unscoped-context-graph-read-checks.js +12 -0
  353. package/dist/prepare-unscoped-context-graph-read-checks.js.map +1 -1
  354. package/dist/registered-context-graph-authority.d.ts +19 -0
  355. package/dist/registered-context-graph-authority.d.ts.map +1 -1
  356. package/dist/registered-private-empty-vm-attempt-v1.d.ts +34 -0
  357. package/dist/registered-private-empty-vm-attempt-v1.d.ts.map +1 -0
  358. package/dist/registered-private-empty-vm-attempt-v1.js +120 -0
  359. package/dist/registered-private-empty-vm-attempt-v1.js.map +1 -0
  360. package/dist/reserved-ka-id-allocation.d.ts +12 -0
  361. package/dist/reserved-ka-id-allocation.d.ts.map +1 -0
  362. package/dist/reserved-ka-id-allocation.js +25 -0
  363. package/dist/reserved-ka-id-allocation.js.map +1 -0
  364. package/dist/rfc64/applied-catalog-authority-transition-v1.d.ts.map +1 -1
  365. package/dist/rfc64/applied-catalog-authority-transition-v1.js +15 -17
  366. package/dist/rfc64/applied-catalog-authority-transition-v1.js.map +1 -1
  367. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts +5 -3
  368. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts.map +1 -1
  369. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js +9 -0
  370. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js.map +1 -1
  371. package/dist/rfc64/catalog-completion-evidence-v1.d.ts +38 -0
  372. package/dist/rfc64/catalog-completion-evidence-v1.d.ts.map +1 -0
  373. package/dist/rfc64/catalog-completion-evidence-v1.js +49 -0
  374. package/dist/rfc64/catalog-completion-evidence-v1.js.map +1 -0
  375. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +12 -13
  376. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -1
  377. package/dist/rfc64/catalog-operational-applied-heads-v1.js +17 -52
  378. package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -1
  379. package/dist/rfc64/catalog-operational-reads-v1.d.ts +13 -0
  380. package/dist/rfc64/catalog-operational-reads-v1.d.ts.map +1 -0
  381. package/dist/rfc64/catalog-operational-reads-v1.js +56 -0
  382. package/dist/rfc64/catalog-operational-reads-v1.js.map +1 -0
  383. package/dist/rfc64/catalog-operational-targets-v1.d.ts +55 -0
  384. package/dist/rfc64/catalog-operational-targets-v1.d.ts.map +1 -0
  385. package/dist/rfc64/catalog-operational-targets-v1.js +379 -0
  386. package/dist/rfc64/catalog-operational-targets-v1.js.map +1 -0
  387. package/dist/rfc64/catalog-repair-diagnostics-v1.d.ts +28 -0
  388. package/dist/rfc64/catalog-repair-diagnostics-v1.d.ts.map +1 -0
  389. package/dist/rfc64/catalog-repair-diagnostics-v1.js +93 -0
  390. package/dist/rfc64/catalog-repair-diagnostics-v1.js.map +1 -0
  391. package/dist/rfc64/catalog-repair-retry-v1.d.ts +13 -0
  392. package/dist/rfc64/catalog-repair-retry-v1.d.ts.map +1 -0
  393. package/dist/rfc64/catalog-repair-retry-v1.js +39 -0
  394. package/dist/rfc64/catalog-repair-retry-v1.js.map +1 -0
  395. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +52 -0
  396. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -1
  397. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +188 -32
  398. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -1
  399. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts +2 -8
  400. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts.map +1 -1
  401. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js +10 -37
  402. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js.map +1 -1
  403. package/dist/rfc64/catalog-rollout-authority-v1.d.ts +13 -0
  404. package/dist/rfc64/catalog-rollout-authority-v1.d.ts.map +1 -1
  405. package/dist/rfc64/catalog-rollout-authority-v1.js +11 -0
  406. package/dist/rfc64/catalog-rollout-authority-v1.js.map +1 -1
  407. package/dist/rfc64/catalog-row-authorship.d.ts +12 -0
  408. package/dist/rfc64/catalog-row-authorship.d.ts.map +1 -1
  409. package/dist/rfc64/catalog-row-authorship.js +110 -57
  410. package/dist/rfc64/catalog-row-authorship.js.map +1 -1
  411. package/dist/rfc64/inventory-v1/candidate.d.ts +31 -10
  412. package/dist/rfc64/inventory-v1/candidate.d.ts.map +1 -1
  413. package/dist/rfc64/inventory-v1/candidate.js +51 -16
  414. package/dist/rfc64/inventory-v1/candidate.js.map +1 -1
  415. package/dist/rfc64/inventory-v1/index.d.ts +1 -1
  416. package/dist/rfc64/inventory-v1/index.d.ts.map +1 -1
  417. package/dist/rfc64/inventory-v1/index.js +1 -1
  418. package/dist/rfc64/inventory-v1/index.js.map +1 -1
  419. package/dist/rfc64/inventory-v1/open.d.ts.map +1 -1
  420. package/dist/rfc64/inventory-v1/open.js +7 -4
  421. package/dist/rfc64/inventory-v1/open.js.map +1 -1
  422. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts +3 -1
  423. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts.map +1 -1
  424. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js +15 -0
  425. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js.map +1 -1
  426. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts +25 -0
  427. package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts.map +1 -0
  428. package/dist/rfc64/legacy-swm-boundary-codec-v1.js +127 -0
  429. package/dist/rfc64/legacy-swm-boundary-codec-v1.js.map +1 -0
  430. package/dist/rfc64/legacy-swm-boundary-v1.d.ts +12 -0
  431. package/dist/rfc64/legacy-swm-boundary-v1.d.ts.map +1 -1
  432. package/dist/rfc64/legacy-swm-boundary-v1.js +83 -144
  433. package/dist/rfc64/legacy-swm-boundary-v1.js.map +1 -1
  434. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts +33 -0
  435. package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts.map +1 -0
  436. package/dist/rfc64/private-catalog-subscription-readiness-v1.js +97 -0
  437. package/dist/rfc64/private-catalog-subscription-readiness-v1.js.map +1 -0
  438. package/dist/rfc64/private-read-roster-v1.d.ts +14 -0
  439. package/dist/rfc64/private-read-roster-v1.d.ts.map +1 -0
  440. package/dist/rfc64/private-read-roster-v1.js +57 -0
  441. package/dist/rfc64/private-read-roster-v1.js.map +1 -0
  442. package/dist/rfc64/public-catalog-native-receiver-v1.d.ts.map +1 -1
  443. package/dist/rfc64/public-catalog-native-receiver-v1.js +26 -21
  444. package/dist/rfc64/public-catalog-native-receiver-v1.js.map +1 -1
  445. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts +17 -11
  446. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts.map +1 -1
  447. package/dist/rfc64/public-catalog-native-reconciler-v1.js +10 -8
  448. package/dist/rfc64/public-catalog-native-reconciler-v1.js.map +1 -1
  449. package/dist/rfc64/public-catalog-receiver-v1.d.ts +9 -0
  450. package/dist/rfc64/public-catalog-receiver-v1.d.ts.map +1 -1
  451. package/dist/rfc64/public-catalog-receiver-v1.js +11 -2
  452. package/dist/rfc64/public-catalog-receiver-v1.js.map +1 -1
  453. package/dist/rfc64/public-catalog-service-v1.d.ts.map +1 -1
  454. package/dist/rfc64/public-catalog-service-v1.js +21 -22
  455. package/dist/rfc64/public-catalog-service-v1.js.map +1 -1
  456. package/dist/rfc64/public-catalog-successor-producer-v1.d.ts.map +1 -1
  457. package/dist/rfc64/public-catalog-successor-producer-v1.js +5 -4
  458. package/dist/rfc64/public-catalog-successor-producer-v1.js.map +1 -1
  459. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts +20 -0
  460. package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts.map +1 -0
  461. package/dist/rfc64/registered-private-empty-vm-proof-v1.js +26 -0
  462. package/dist/rfc64/registered-private-empty-vm-proof-v1.js.map +1 -0
  463. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.d.ts.map +1 -1
  464. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js +60 -53
  465. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js.map +1 -1
  466. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts +2 -1
  467. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts.map +1 -1
  468. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js +44 -4
  469. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js.map +1 -1
  470. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts +3 -1
  471. package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts.map +1 -1
  472. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js +34 -0
  473. package/dist/rfc64/swm-inventory-shadow-runtime-v1.js.map +1 -1
  474. package/dist/sync/auth/pipe-request-tail.d.ts +5 -1
  475. package/dist/sync/auth/pipe-request-tail.d.ts.map +1 -1
  476. package/dist/sync/auth/pipe-request-tail.js +13 -3
  477. package/dist/sync/auth/pipe-request-tail.js.map +1 -1
  478. package/dist/sync/auth/request-build.d.ts +3 -0
  479. package/dist/sync/auth/request-build.d.ts.map +1 -1
  480. package/dist/sync/auth/request-build.js +11 -2
  481. package/dist/sync/auth/request-build.js.map +1 -1
  482. package/dist/sync/backpressure.d.ts +27 -16
  483. package/dist/sync/backpressure.d.ts.map +1 -1
  484. package/dist/sync/backpressure.js +66 -40
  485. package/dist/sync/backpressure.js.map +1 -1
  486. package/dist/sync/catchup-policy.d.ts +2 -0
  487. package/dist/sync/catchup-policy.d.ts.map +1 -1
  488. package/dist/sync/catchup-policy.js +2 -0
  489. package/dist/sync/catchup-policy.js.map +1 -1
  490. package/dist/sync/exact-asset-fetch.d.ts +22 -0
  491. package/dist/sync/exact-asset-fetch.d.ts.map +1 -1
  492. package/dist/sync/exact-asset-fetch.js +30 -3
  493. package/dist/sync/exact-asset-fetch.js.map +1 -1
  494. package/dist/sync/exact-assets.d.ts +7 -5
  495. package/dist/sync/exact-assets.d.ts.map +1 -1
  496. package/dist/sync/exact-assets.js +13 -8
  497. package/dist/sync/exact-assets.js.map +1 -1
  498. package/dist/sync/exact-batch-observation.d.ts +3 -0
  499. package/dist/sync/exact-batch-observation.d.ts.map +1 -0
  500. package/dist/sync/exact-batch-observation.js +13 -0
  501. package/dist/sync/exact-batch-observation.js.map +1 -0
  502. package/dist/sync/exact-batch-stream-capability.d.ts +24 -0
  503. package/dist/sync/exact-batch-stream-capability.d.ts.map +1 -0
  504. package/dist/sync/exact-batch-stream-capability.js +88 -0
  505. package/dist/sync/exact-batch-stream-capability.js.map +1 -0
  506. package/dist/sync/exact-batch-stream-contract.d.ts +78 -0
  507. package/dist/sync/exact-batch-stream-contract.d.ts.map +1 -0
  508. package/dist/sync/exact-batch-stream-contract.js +206 -0
  509. package/dist/sync/exact-batch-stream-contract.js.map +1 -0
  510. package/dist/sync/on-connect/sync-on-connect.d.ts +1 -1
  511. package/dist/sync/on-connect/sync-on-connect.d.ts.map +1 -1
  512. package/dist/sync/on-connect/sync-on-connect.js +3 -3
  513. package/dist/sync/on-connect/sync-on-connect.js.map +1 -1
  514. package/dist/sync/on-demand-agents-phonebook.d.ts +162 -0
  515. package/dist/sync/on-demand-agents-phonebook.d.ts.map +1 -0
  516. package/dist/sync/on-demand-agents-phonebook.js +571 -0
  517. package/dist/sync/on-demand-agents-phonebook.js.map +1 -0
  518. package/dist/sync/peer-connection.d.ts.map +1 -1
  519. package/dist/sync/peer-connection.js +11 -2
  520. package/dist/sync/peer-connection.js.map +1 -1
  521. package/dist/sync/priority-admission-queue.d.ts +17 -0
  522. package/dist/sync/priority-admission-queue.d.ts.map +1 -1
  523. package/dist/sync/priority-admission-queue.js +58 -37
  524. package/dist/sync/priority-admission-queue.js.map +1 -1
  525. package/dist/sync/requester/admission-boundary.d.ts +12 -0
  526. package/dist/sync/requester/admission-boundary.d.ts.map +1 -0
  527. package/dist/sync/requester/admission-boundary.js +22 -0
  528. package/dist/sync/requester/admission-boundary.js.map +1 -0
  529. package/dist/sync/requester/durable-sync.d.ts +2 -1
  530. package/dist/sync/requester/durable-sync.d.ts.map +1 -1
  531. package/dist/sync/requester/durable-sync.js +3 -188
  532. package/dist/sync/requester/durable-sync.js.map +1 -1
  533. package/dist/sync/requester/exact-batch-stream-driver.d.ts +83 -0
  534. package/dist/sync/requester/exact-batch-stream-driver.d.ts.map +1 -0
  535. package/dist/sync/requester/exact-batch-stream-driver.js +299 -0
  536. package/dist/sync/requester/exact-batch-stream-driver.js.map +1 -0
  537. package/dist/sync/requester/exact-batch-stream.d.ts +72 -0
  538. package/dist/sync/requester/exact-batch-stream.d.ts.map +1 -0
  539. package/dist/sync/requester/exact-batch-stream.js +267 -0
  540. package/dist/sync/requester/exact-batch-stream.js.map +1 -0
  541. package/dist/sync/requester/exact-recovery-transport.d.ts +19 -0
  542. package/dist/sync/requester/exact-recovery-transport.d.ts.map +1 -0
  543. package/dist/sync/requester/exact-recovery-transport.js +3 -0
  544. package/dist/sync/requester/exact-recovery-transport.js.map +1 -0
  545. package/dist/sync/requester/finalized-swm-twin-reconciliation.js +12 -3
  546. package/dist/sync/requester/finalized-swm-twin-reconciliation.js.map +1 -1
  547. package/dist/sync/requester/graph-scoped-materialization.d.ts.map +1 -1
  548. package/dist/sync/requester/graph-scoped-materialization.js +61 -27
  549. package/dist/sync/requester/graph-scoped-materialization.js.map +1 -1
  550. package/dist/sync/requester/page-fetch.d.ts +7 -0
  551. package/dist/sync/requester/page-fetch.d.ts.map +1 -1
  552. package/dist/sync/requester/page-fetch.js +103 -49
  553. package/dist/sync/requester/page-fetch.js.map +1 -1
  554. package/dist/sync/requester/shared-memory-sync.d.ts +10 -5
  555. package/dist/sync/requester/shared-memory-sync.d.ts.map +1 -1
  556. package/dist/sync/requester/shared-memory-sync.js +149 -150
  557. package/dist/sync/requester/shared-memory-sync.js.map +1 -1
  558. package/dist/sync/requester/swm-materialization-memo.d.ts +12 -0
  559. package/dist/sync/requester/swm-materialization-memo.d.ts.map +1 -0
  560. package/dist/sync/requester/swm-materialization-memo.js +54 -0
  561. package/dist/sync/requester/swm-materialization-memo.js.map +1 -0
  562. package/dist/sync/requester/swm-recovery.d.ts +3 -29
  563. package/dist/sync/requester/swm-recovery.d.ts.map +1 -1
  564. package/dist/sync/requester/swm-recovery.js +11 -10
  565. package/dist/sync/requester/swm-recovery.js.map +1 -1
  566. package/dist/sync/requester/swm-snapshot-materializer.d.ts.map +1 -1
  567. package/dist/sync/requester/swm-snapshot-materializer.js +18 -0
  568. package/dist/sync/requester/swm-snapshot-materializer.js.map +1 -1
  569. package/dist/sync/requester/swm-target-executor.d.ts +6 -0
  570. package/dist/sync/requester/swm-target-executor.d.ts.map +1 -1
  571. package/dist/sync/requester/swm-target-executor.js +24 -3
  572. package/dist/sync/requester/swm-target-executor.js.map +1 -1
  573. package/dist/sync/requester/verified-asset-preparation.d.ts +9 -0
  574. package/dist/sync/requester/verified-asset-preparation.d.ts.map +1 -0
  575. package/dist/sync/requester/verified-asset-preparation.js +190 -0
  576. package/dist/sync/requester/verified-asset-preparation.js.map +1 -0
  577. package/dist/sync/responder/asset-metadata.d.ts +18 -0
  578. package/dist/sync/responder/asset-metadata.d.ts.map +1 -0
  579. package/dist/sync/responder/asset-metadata.js +27 -0
  580. package/dist/sync/responder/asset-metadata.js.map +1 -0
  581. package/dist/sync/responder/durable-data-request-policy.d.ts +2 -16
  582. package/dist/sync/responder/durable-data-request-policy.d.ts.map +1 -1
  583. package/dist/sync/responder/durable-data-request-policy.js +1 -31
  584. package/dist/sync/responder/durable-data-request-policy.js.map +1 -1
  585. package/dist/sync/responder/exact-asset-export-cache.d.ts +89 -0
  586. package/dist/sync/responder/exact-asset-export-cache.d.ts.map +1 -0
  587. package/dist/sync/responder/exact-asset-export-cache.js +550 -0
  588. package/dist/sync/responder/exact-asset-export-cache.js.map +1 -0
  589. package/dist/sync/responder/exact-batch-stream.d.ts +47 -0
  590. package/dist/sync/responder/exact-batch-stream.d.ts.map +1 -0
  591. package/dist/sync/responder/exact-batch-stream.js +151 -0
  592. package/dist/sync/responder/exact-batch-stream.js.map +1 -0
  593. package/dist/sync/responder/exact-data-session.d.ts +67 -0
  594. package/dist/sync/responder/exact-data-session.d.ts.map +1 -0
  595. package/dist/sync/responder/exact-data-session.js +130 -0
  596. package/dist/sync/responder/exact-data-session.js.map +1 -0
  597. package/dist/sync/responder/exact-graph-cursor-filter.d.ts +9 -0
  598. package/dist/sync/responder/exact-graph-cursor-filter.d.ts.map +1 -0
  599. package/dist/sync/responder/exact-graph-cursor-filter.js +101 -0
  600. package/dist/sync/responder/exact-graph-cursor-filter.js.map +1 -0
  601. package/dist/sync/responder/exact-graph-reader.d.ts +95 -0
  602. package/dist/sync/responder/exact-graph-reader.d.ts.map +1 -0
  603. package/dist/sync/responder/exact-graph-reader.js +623 -0
  604. package/dist/sync/responder/exact-graph-reader.js.map +1 -0
  605. package/dist/sync/responder/exact-page-reader.d.ts +37 -0
  606. package/dist/sync/responder/exact-page-reader.d.ts.map +1 -0
  607. package/dist/sync/responder/exact-page-reader.js +130 -0
  608. package/dist/sync/responder/exact-page-reader.js.map +1 -0
  609. package/dist/sync/responder/graph-plan.d.ts +19 -85
  610. package/dist/sync/responder/graph-plan.d.ts.map +1 -1
  611. package/dist/sync/responder/graph-plan.js +51 -988
  612. package/dist/sync/responder/graph-plan.js.map +1 -1
  613. package/dist/sync/responder/page-framing-policy.d.ts +31 -0
  614. package/dist/sync/responder/page-framing-policy.d.ts.map +1 -0
  615. package/dist/sync/responder/page-framing-policy.js +41 -0
  616. package/dist/sync/responder/page-framing-policy.js.map +1 -0
  617. package/dist/sync/responder/responder-row-page.d.ts +85 -0
  618. package/dist/sync/responder/responder-row-page.d.ts.map +1 -0
  619. package/dist/sync/responder/responder-row-page.js +181 -0
  620. package/dist/sync/responder/responder-row-page.js.map +1 -0
  621. package/dist/sync/responder/row-serialization.d.ts +34 -0
  622. package/dist/sync/responder/row-serialization.d.ts.map +1 -0
  623. package/dist/sync/responder/row-serialization.js +69 -0
  624. package/dist/sync/responder/row-serialization.js.map +1 -0
  625. package/dist/sync/responder/session-plan-memo.d.ts +20 -0
  626. package/dist/sync/responder/session-plan-memo.d.ts.map +1 -0
  627. package/dist/sync/responder/session-plan-memo.js +135 -0
  628. package/dist/sync/responder/session-plan-memo.js.map +1 -0
  629. package/dist/sync/responder/sync-handler.d.ts +26 -1
  630. package/dist/sync/responder/sync-handler.d.ts.map +1 -1
  631. package/dist/sync/responder/sync-handler.js +107 -58
  632. package/dist/sync/responder/sync-handler.js.map +1 -1
  633. package/dist/sync/shared-memory-completion.d.ts +30 -0
  634. package/dist/sync/shared-memory-completion.d.ts.map +1 -1
  635. package/dist/sync/shared-memory-completion.js +13 -0
  636. package/dist/sync/shared-memory-completion.js.map +1 -1
  637. package/dist/sync/system-context-graph-policy.d.ts +10 -0
  638. package/dist/sync/system-context-graph-policy.d.ts.map +1 -1
  639. package/dist/sync/system-context-graph-policy.js +11 -0
  640. package/dist/sync/system-context-graph-policy.js.map +1 -1
  641. package/dist/sync/wire-compression.d.ts +47 -0
  642. package/dist/sync/wire-compression.d.ts.map +1 -0
  643. package/dist/sync/wire-compression.js +111 -0
  644. package/dist/sync/wire-compression.js.map +1 -0
  645. package/dist/unscoped-query-consistency.d.ts +12 -0
  646. package/dist/unscoped-query-consistency.d.ts.map +1 -1
  647. package/dist/unscoped-query-consistency.js +17 -1
  648. package/dist/unscoped-query-consistency.js.map +1 -1
  649. package/dist/vm-promotion-audit.d.ts +2 -2
  650. package/dist/vm-promotion-audit.d.ts.map +1 -1
  651. package/dist/vm-promotion-audit.js +26 -9
  652. package/dist/vm-promotion-audit.js.map +1 -1
  653. package/dist/vm-publish-snapshot-preflight.d.ts +13 -0
  654. package/dist/vm-publish-snapshot-preflight.d.ts.map +1 -0
  655. package/dist/vm-publish-snapshot-preflight.js +94 -0
  656. package/dist/vm-publish-snapshot-preflight.js.map +1 -0
  657. package/dist/vm-reconcile-dispatcher.d.ts +42 -1
  658. package/dist/vm-reconcile-dispatcher.d.ts.map +1 -1
  659. package/dist/vm-reconcile-dispatcher.js +103 -4
  660. package/dist/vm-reconcile-dispatcher.js.map +1 -1
  661. package/dist/vm-reconcile-peer-topology.d.ts +7 -9
  662. package/dist/vm-reconcile-peer-topology.d.ts.map +1 -1
  663. package/dist/vm-reconcile-peer-topology.js +1 -37
  664. package/dist/vm-reconcile-peer-topology.js.map +1 -1
  665. package/dist/vm-recovery-candidate-order.d.ts +16 -0
  666. package/dist/vm-recovery-candidate-order.d.ts.map +1 -0
  667. package/dist/vm-recovery-candidate-order.js +24 -0
  668. package/dist/vm-recovery-candidate-order.js.map +1 -0
  669. package/dist/vm-recovery-core-transport-preference.d.ts +69 -0
  670. package/dist/vm-recovery-core-transport-preference.d.ts.map +1 -0
  671. package/dist/vm-recovery-core-transport-preference.js +131 -0
  672. package/dist/vm-recovery-core-transport-preference.js.map +1 -0
  673. package/dist/vm-recovery-experiment-policy.d.ts +24 -0
  674. package/dist/vm-recovery-experiment-policy.d.ts.map +1 -0
  675. package/dist/vm-recovery-experiment-policy.js +18 -0
  676. package/dist/vm-recovery-experiment-policy.js.map +1 -0
  677. package/dist/vm-recovery-footprint.d.ts +54 -0
  678. package/dist/vm-recovery-footprint.d.ts.map +1 -1
  679. package/dist/vm-recovery-footprint.js +88 -24
  680. package/dist/vm-recovery-footprint.js.map +1 -1
  681. package/dist/vm-recovery-microbatch.d.ts +2 -0
  682. package/dist/vm-recovery-microbatch.d.ts.map +1 -1
  683. package/dist/vm-recovery-microbatch.js +7 -3
  684. package/dist/vm-recovery-microbatch.js.map +1 -1
  685. package/dist/vm-recovery-pass-authority.d.ts +84 -0
  686. package/dist/vm-recovery-pass-authority.d.ts.map +1 -0
  687. package/dist/vm-recovery-pass-authority.js +126 -0
  688. package/dist/vm-recovery-pass-authority.js.map +1 -0
  689. package/dist/vm-recovery-phase-timing.d.ts +75 -0
  690. package/dist/vm-recovery-phase-timing.d.ts.map +1 -0
  691. package/dist/vm-recovery-phase-timing.js +236 -0
  692. package/dist/vm-recovery-phase-timing.js.map +1 -0
  693. package/dist/vm-recovery-preparation.d.ts +143 -0
  694. package/dist/vm-recovery-preparation.d.ts.map +1 -0
  695. package/dist/vm-recovery-preparation.js +433 -0
  696. package/dist/vm-recovery-preparation.js.map +1 -0
  697. package/dist/vm-recovery-provider-policy.d.ts +13 -1
  698. package/dist/vm-recovery-provider-policy.d.ts.map +1 -1
  699. package/dist/vm-recovery-provider-policy.js +37 -5
  700. package/dist/vm-recovery-provider-policy.js.map +1 -1
  701. package/dist/vm-recovery-stream-profile.d.ts +15 -0
  702. package/dist/vm-recovery-stream-profile.d.ts.map +1 -0
  703. package/dist/vm-recovery-stream-profile.js +53 -0
  704. package/dist/vm-recovery-stream-profile.js.map +1 -0
  705. package/dist/vm-recovery-stream-setback-policy.d.ts +54 -0
  706. package/dist/vm-recovery-stream-setback-policy.d.ts.map +1 -0
  707. package/dist/vm-recovery-stream-setback-policy.js +85 -0
  708. package/dist/vm-recovery-stream-setback-policy.js.map +1 -0
  709. package/dist/vm-recovery-timing-observer.d.ts +27 -0
  710. package/dist/vm-recovery-timing-observer.d.ts.map +1 -0
  711. package/dist/vm-recovery-timing-observer.js +49 -0
  712. package/dist/vm-recovery-timing-observer.js.map +1 -0
  713. package/dist/vm-recovery-transport-budget-policy.d.ts +32 -0
  714. package/dist/vm-recovery-transport-budget-policy.d.ts.map +1 -0
  715. package/dist/vm-recovery-transport-budget-policy.js +55 -0
  716. package/dist/vm-recovery-transport-budget-policy.js.map +1 -0
  717. package/dist/vm-recovery-transport-plan.d.ts +83 -0
  718. package/dist/vm-recovery-transport-plan.d.ts.map +1 -0
  719. package/dist/vm-recovery-transport-plan.js +117 -0
  720. package/dist/vm-recovery-transport-plan.js.map +1 -0
  721. package/dist/vm-refresh.d.ts +138 -0
  722. package/dist/vm-refresh.d.ts.map +1 -0
  723. package/dist/vm-refresh.js +201 -0
  724. package/dist/vm-refresh.js.map +1 -0
  725. package/package.json +19 -9
  726. package/dist/finalization-annotations.d.ts +0 -5
  727. package/dist/finalization-annotations.d.ts.map +0 -1
  728. package/dist/finalization-annotations.js +0 -6
  729. package/dist/finalization-annotations.js.map +0 -1
  730. package/dist/swm-ka-bound.d.ts +0 -21
  731. package/dist/swm-ka-bound.d.ts.map +0 -1
  732. package/dist/swm-ka-bound.js +0 -36
  733. package/dist/swm-ka-bound.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-recovery-core-transport-preference.js","sourceRoot":"","sources":["../src/vm-recovery-core-transport-preference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type VmRecoveryPreparationLimits } from './vm-recovery-preparation.js';
2
+ export type VmRecoveryAuthorityRetryPolicy = {
3
+ readonly kind: 'disabled';
4
+ } | {
5
+ readonly kind: 'spaced';
6
+ readonly minIntervalMs: number;
7
+ };
8
+ /** Resolve the bundled experiment once; owner presence is not a policy switch. */
9
+ export declare function resolveVmRecoveryExperimentPolicy(configValue?: boolean, limits?: Readonly<VmRecoveryPreparationLimits>): Readonly<{
10
+ prefetchEnabled: boolean;
11
+ sharePassAuthorityEvidence: boolean;
12
+ authorityRetry: Readonly<{
13
+ kind: "spaced";
14
+ minIntervalMs: number;
15
+ } | {
16
+ kind: "disabled";
17
+ minIntervalMs?: undefined;
18
+ }>;
19
+ sizing: Readonly<{
20
+ sizingReadConcurrency: number;
21
+ sizingReadTimeoutMs: number;
22
+ }> | undefined;
23
+ }>;
24
+ //# sourceMappingURL=vm-recovery-experiment-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-recovery-experiment-policy.d.ts","sourceRoot":"","sources":["../src/vm-recovery-experiment-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAoE,KAAK,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAElJ,MAAM,MAAM,8BAA8B,GACtC;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,kFAAkF;AAClF,wBAAgB,iCAAiC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAE,QAAQ,CAAC,2BAA2B,CAAkC;;;;;;;;;;;;;;GAatJ"}
@@ -0,0 +1,18 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { resolveVmRecoveryPrefetchEnabled, VM_RECOVERY_PREPARATION_LIMITS } from './vm-recovery-preparation.js';
3
+ /** Resolve the bundled experiment once; owner presence is not a policy switch. */
4
+ export function resolveVmRecoveryExperimentPolicy(configValue, limits = VM_RECOVERY_PREPARATION_LIMITS) {
5
+ const enabled = resolveVmRecoveryPrefetchEnabled(configValue);
6
+ return Object.freeze({
7
+ prefetchEnabled: enabled,
8
+ sharePassAuthorityEvidence: enabled,
9
+ authorityRetry: Object.freeze(enabled
10
+ ? { kind: 'spaced', minIntervalMs: limits.authorityRetryMinIntervalMs }
11
+ : { kind: 'disabled' }),
12
+ sizing: enabled ? Object.freeze({
13
+ sizingReadConcurrency: limits.planningReadConcurrency,
14
+ sizingReadTimeoutMs: limits.planningReadTimeoutMs,
15
+ }) : undefined,
16
+ });
17
+ }
18
+ //# sourceMappingURL=vm-recovery-experiment-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-recovery-experiment-policy.js","sourceRoot":"","sources":["../src/vm-recovery-experiment-policy.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,gCAAgC,EAAE,8BAA8B,EAAoC,MAAM,8BAA8B,CAAC;AAMlJ,kFAAkF;AAClF,MAAM,UAAU,iCAAiC,CAAC,WAAqB,EAAE,SAAgD,8BAA8B;IACrJ,MAAM,OAAO,GAAG,gCAAgC,CAAC,WAAW,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,eAAe,EAAE,OAAO;QACxB,0BAA0B,EAAE,OAAO;QACnC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YACnC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,aAAa,EAAE,MAAM,CAAC,2BAA2B,EAAE;YAChF,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC;QAClC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAC9B,qBAAqB,EAAE,MAAM,CAAC,uBAAuB;YACrD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB;SAClD,CAAC,CAAC,CAAC,CAAC,SAAS;KACf,CAAC,CAAC;AACL,CAAC"}
@@ -11,23 +11,77 @@ export interface VmRecoveryFootprintSizingReader {
11
11
  signal?: AbortSignal;
12
12
  }): Promise<VmRecoveryUpdateContext>;
13
13
  }
14
+ /**
15
+ * Advisory sizing hints prepared before this pass began. A hint is single-use
16
+ * planning evidence of exactly the same kind a live read produces
17
+ * (`latest-bounded`); it is never authority to materialize anything.
18
+ */
19
+ export interface VmRecoveryPreparedHints {
20
+ /**
21
+ * The prepared hint for `kaId`, or `undefined` when none is usable (absent,
22
+ * stale, already taken, failed or not ready within `maxWaitMs`). The caller
23
+ * then falls back to its own live read, so a miss is never evidence of
24
+ * absence or permission to skip a candidate.
25
+ */
26
+ take(kaId: string, options: {
27
+ readonly maxWaitMs: number;
28
+ readonly signal?: AbortSignal;
29
+ }): Promise<VmRecoveryChainFootprint | undefined>;
30
+ }
14
31
  /** Public authority is resolved by the host; this module owns sizing only. */
15
32
  export interface VmRecoveryFootprintBridge {
16
33
  readonly resolvePublicAccess: (contextGraphId: bigint, options?: {
17
34
  signal?: AbortSignal;
18
35
  }) => Promise<boolean>;
19
36
  readonly sizing: VmRecoveryFootprintSizingReader | null;
37
+ /** Optional prepared hints consumed before any live read; absent keeps today's behavior. */
38
+ readonly prepared?: VmRecoveryPreparedHints | null;
20
39
  }
21
40
  export interface VmRecoveryFootprintBridgeOptions {
22
41
  maxContextReads: number;
23
42
  sizingReadTimeoutMs?: number;
24
43
  signal?: AbortSignal;
25
44
  isCurrent: () => boolean;
45
+ /** Observation only: receives the outcome counts of one enrichment call. */
46
+ observe?: (observation: VmRecoveryFootprintObservation) => void;
47
+ /**
48
+ * How many live sizing reads may be in flight at once. Reads start in
49
+ * candidate order and each read's deadline starts when that read starts, so
50
+ * a later candidate never spends its budget queueing behind earlier ones in
51
+ * the local RPC governor. Omitted keeps every read concurrent from the start.
52
+ */
53
+ readConcurrency?: number;
26
54
  }
55
+ /** What one enrichment call did; never consulted by any recovery decision. */
56
+ export interface VmRecoveryFootprintObservation {
57
+ /** Entries whose footprint was unknown and therefore needed a sizing read. */
58
+ readonly requested: number;
59
+ /** Reads that produced a valid public footprint. */
60
+ readonly resolved: number;
61
+ /** Candidates served by a prepared hint instead of a live read. */
62
+ readonly prepared: number;
63
+ /** Reads that outlived the sizing deadline (including governor queue wait). */
64
+ readonly timedOut: number;
65
+ /** Reads dropped because the operation was aborted or no longer current. */
66
+ readonly aborted: number;
67
+ /** Reads that returned a malformed, zero or unsafe tuple. */
68
+ readonly invalid: number;
69
+ /** Reads that rejected. */
70
+ readonly failed: number;
71
+ readonly elapsedMs: number;
72
+ }
73
+ export declare const VM_RECOVERY_BRIDGE_ABORTED: unique symbol;
74
+ export declare const VM_RECOVERY_BRIDGE_TIMED_OUT: unique symbol;
27
75
  export declare const VM_RECOVERY_FOOTPRINT_READ_TIMEOUT_MS = 2500;
76
+ export declare function readVmRecoveryFootprintWithDeadline<T>(start: (signal: AbortSignal) => Promise<T>, callerSignal: AbortSignal | undefined, timeoutMs: number): Promise<T | typeof VM_RECOVERY_BRIDGE_ABORTED | typeof VM_RECOVERY_BRIDGE_TIMED_OUT>;
28
77
  export type VmRecoveryFootprintEnrichedTarget<T extends VmRecoveryFootprintBridgeTarget> = Omit<T, 'recoveryFootprint'> & {
29
78
  readonly recoveryFootprint: VmRecoveryChainFootprint;
30
79
  };
80
+ /**
81
+ * The one rule that turns an observed update context into a planning hint.
82
+ * Zero, negative or unsafe values are not hints: they stay unknown/singleton.
83
+ */
84
+ export declare function vmRecoveryFootprintFromUpdateContext(context: VmRecoveryUpdateContext): VmRecoveryChainFootprint | undefined;
31
85
  /**
32
86
  * Enrich a bounded prefix with public-chain sizing hints. Latest-state reads
33
87
  * influence soft packing only; unavailable, stale, private, aborted, or
@@ -1 +1 @@
1
- {"version":3,"file":"vm-recovery-footprint.d.ts","sourceRoot":"","sources":["../src/vm-recovery-footprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CACvD;AAED,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,2BAA2B,EAC3B,kBAAkB,GAAG,UAAU,GAAG,iBAAiB,CACpD,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC9C,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACrC;AAED,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,+BAA+B,GAAG,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,gCAAgC;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAID,eAAO,MAAM,qCAAqC,OAAQ,CAAC;AAqE3D,MAAM,MAAM,iCAAiC,CAAC,CAAC,SAAS,+BAA+B,IACrF,IAAI,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG;IAAE,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAA;CAAE,CAAC;AA2C1F;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,SAAS,+BAA+B,EACxF,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,QAAQ,CAAC,gCAAgC,CAAC,GAClD,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,CAoEjD"}
1
+ {"version":3,"file":"vm-recovery-footprint.d.ts","sourceRoot":"","sources":["../src/vm-recovery-footprint.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- const VM_RECOVERY_BRIDGE_ABORTED = Symbol('vm-recovery-bridge-aborted');
2
- const VM_RECOVERY_BRIDGE_TIMED_OUT = Symbol('vm-recovery-bridge-timed-out');
1
+ import { mapWithConcurrency } from './map-with-concurrency.js';
2
+ export const VM_RECOVERY_BRIDGE_ABORTED = Symbol('vm-recovery-bridge-aborted');
3
+ export const VM_RECOVERY_BRIDGE_TIMED_OUT = Symbol('vm-recovery-bridge-timed-out');
3
4
  export const VM_RECOVERY_FOOTPRINT_READ_TIMEOUT_MS = 2_500;
4
5
  function vmRecoveryBridgeSignalAborted(signal) {
5
6
  return signal?.aborted === true;
@@ -22,7 +23,7 @@ async function raceVmRecoveryBridgeAbort(promise, signal) {
22
23
  signal.removeEventListener('abort', abortListener);
23
24
  }
24
25
  }
25
- async function readVmRecoveryFootprintWithDeadline(start, callerSignal, timeoutMs) {
26
+ export async function readVmRecoveryFootprintWithDeadline(start, callerSignal, timeoutMs) {
26
27
  if (callerSignal?.aborted)
27
28
  return VM_RECOVERY_BRIDGE_ABORTED;
28
29
  const controller = new AbortController();
@@ -96,6 +97,32 @@ async function resolveVmRecoveryPublicAuthority(onChainCgId, resolvePublicAccess
96
97
  return false;
97
98
  }
98
99
  }
100
+ /**
101
+ * The one rule that turns an observed update context into a planning hint.
102
+ * Zero, negative or unsafe values are not hints: they stay unknown/singleton.
103
+ */
104
+ export function vmRecoveryFootprintFromUpdateContext(context) {
105
+ if (context.merkleRootsCount <= 0n
106
+ || context.byteSize <= 0n
107
+ || !Number.isSafeInteger(context.merkleLeafCount)
108
+ || context.merkleLeafCount <= 0)
109
+ return undefined;
110
+ return {
111
+ kind: 'public-v10',
112
+ byteSize: context.byteSize,
113
+ merkleLeafCount: BigInt(context.merkleLeafCount),
114
+ assertionVersion: context.merkleRootsCount.toString(),
115
+ anchor: { kind: 'latest-bounded' },
116
+ };
117
+ }
118
+ function isUsablePreparedFootprint(footprint) {
119
+ return footprint?.kind === 'public-v10'
120
+ && typeof footprint.byteSize === 'bigint'
121
+ && footprint.byteSize > 0n
122
+ && typeof footprint.merkleLeafCount === 'bigint'
123
+ && footprint.merkleLeafCount > 0n
124
+ && footprint.anchor.kind === 'latest-bounded';
125
+ }
99
126
  /**
100
127
  * Enrich a bounded prefix with public-chain sizing hints. Latest-state reads
101
128
  * influence soft packing only; unavailable, stale, private, aborted, or
@@ -126,36 +153,73 @@ export async function enrichVmRecoveryFootprints(targets, onChainCgId, bridge, o
126
153
  || bridge.sizing === null)
127
154
  return original;
128
155
  const sizing = bridge.sizing;
129
- const observed = await Promise.all(unknownEntries.map(async ({ target, index }) => {
130
- if (options.signal?.aborted || !options.isCurrent())
156
+ const counts = { resolved: 0, prepared: 0, timedOut: 0, aborted: 0, invalid: 0, failed: 0 };
157
+ const startedAt = performance.now();
158
+ const configuredConcurrency = options.readConcurrency;
159
+ const readConcurrency = configuredConcurrency !== undefined
160
+ && Number.isSafeInteger(configuredConcurrency)
161
+ && configuredConcurrency > 0
162
+ ? configuredConcurrency
163
+ : unknownEntries.length;
164
+ const sizeEntry = async ({ target, index }) => {
165
+ if (options.signal?.aborted || !options.isCurrent()) {
166
+ counts.aborted += 1;
131
167
  return { index };
168
+ }
132
169
  try {
170
+ if (bridge.prepared) {
171
+ // A prepared hint is the same advisory evidence a live read yields. Any
172
+ // problem with it (absent, stale, failed, late, malformed) is a plain
173
+ // miss: the live read below runs exactly as it would without hints.
174
+ const hinted = await bridge.prepared
175
+ .take(target.kaId, { maxWaitMs: sizingReadTimeoutMs, signal: options.signal })
176
+ .catch(() => undefined);
177
+ if (options.signal?.aborted || !options.isCurrent()) {
178
+ counts.aborted += 1;
179
+ return { index };
180
+ }
181
+ if (isUsablePreparedFootprint(hinted)) {
182
+ counts.prepared += 1;
183
+ return { index, footprint: hinted };
184
+ }
185
+ }
133
186
  const observedContext = await readVmRecoveryFootprintWithDeadline((readSignal) => sizing.readUpdateContext(BigInt(target.kaId), { signal: readSignal }), options.signal, sizingReadTimeoutMs);
134
- if (observedContext === VM_RECOVERY_BRIDGE_ABORTED
135
- || observedContext === VM_RECOVERY_BRIDGE_TIMED_OUT)
187
+ if (observedContext === VM_RECOVERY_BRIDGE_ABORTED) {
188
+ counts.aborted += 1;
136
189
  return { index };
137
- if (options.signal?.aborted
138
- || !options.isCurrent()
139
- || observedContext.merkleRootsCount <= 0n
140
- || observedContext.byteSize <= 0n
141
- || !Number.isSafeInteger(observedContext.merkleLeafCount)
142
- || observedContext.merkleLeafCount <= 0)
190
+ }
191
+ if (observedContext === VM_RECOVERY_BRIDGE_TIMED_OUT) {
192
+ counts.timedOut += 1;
143
193
  return { index };
144
- return {
145
- index,
146
- footprint: {
147
- kind: 'public-v10',
148
- byteSize: observedContext.byteSize,
149
- merkleLeafCount: BigInt(observedContext.merkleLeafCount),
150
- assertionVersion: observedContext.merkleRootsCount.toString(),
151
- anchor: { kind: 'latest-bounded' },
152
- },
153
- };
194
+ }
195
+ if (options.signal?.aborted || !options.isCurrent()) {
196
+ counts.aborted += 1;
197
+ return { index };
198
+ }
199
+ const footprint = vmRecoveryFootprintFromUpdateContext(observedContext);
200
+ if (!footprint) {
201
+ counts.invalid += 1;
202
+ return { index };
203
+ }
204
+ counts.resolved += 1;
205
+ return { index, footprint };
154
206
  }
155
207
  catch {
208
+ counts.failed += 1;
156
209
  return { index };
157
210
  }
158
- }));
211
+ };
212
+ const observed = await mapWithConcurrency(unknownEntries, readConcurrency, sizeEntry);
213
+ if (options.observe) {
214
+ try {
215
+ options.observe({
216
+ requested: unknownEntries.length,
217
+ ...counts,
218
+ elapsedMs: performance.now() - startedAt,
219
+ });
220
+ }
221
+ catch { /* observation only */ }
222
+ }
159
223
  if (options.signal?.aborted || !options.isCurrent())
160
224
  return unverified;
161
225
  const enriched = [...original];
@@ -1 +1 @@
1
- {"version":3,"file":"vm-recovery-footprint.js","sourceRoot":"","sources":["../src/vm-recovery-footprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-recovery-footprint.js","sourceRoot":"","sources":["../src/vm-recovery-footprint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAqF/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,CAAC;AAE3D,SAAS,6BAA6B,CAAC,MAA+B;IACpE,OAAO,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,OAAmB,EACnB,MAA+B;IAE/B,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5B,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,0BAA0B,CAAC;IACtD,IAAI,aAAuC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,EAAE;QACzE,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,IAAI,aAAa;YAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,KAA0C,EAC1C,YAAqC,EACrC,SAAiB;IAEjB,IAAI,YAAY,EAAE,OAAO;QAAE,OAAO,0BAA0B,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAgD,CAAC;IACrD,IAAI,eAAyC,CAAC;IAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,EAAE;QAC/E,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,eAAe,GAAG,GAAG,EAAE;YACrB,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,CAAC,0BAA0B,CAAC,CAAC;YACpC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAsC,CAAC,OAAO,EAAE,EAAE;QAC5E,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACtC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,8CAA8C,SAAS,IAAI,CAAC,CAAC,CAAC;QAC3F,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,IAAI,IAAgB,CAAC;IACrB,IAAI,CAAC;QACH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,IAAI,cAAc;YAAE,OAAO,0BAA0B,CAAC;QACtD,IAAI,eAAe;YAAE,OAAO,4BAA4B,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,YAAY,IAAI,eAAe;YAAE,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAKD,SAAS,4BAA4B,CACnC,MAAS;IAET,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,OAAO,MAA8C,CAAC;IACxD,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAC1C,OAAqB;IAErB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAwC,EAAE,CAClE,MAAM,CAAC,iBAAiB,EAAE,IAAI,KAAK,YAAY;QAC7C,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACvD,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,WAAmB,EACnB,mBAAqE,EACrE,MAA+B,EAC/B,SAAwB;IAExB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAC7C,mBAAmB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,EAC5C,MAAM,CACP,CAAC;QACF,OAAO,OAAO,KAAK,0BAA0B;eACxC,OAAO,KAAK,IAAI;eAChB,CAAC,6BAA6B,CAAC,MAAM,CAAC;eACtC,SAAS,EAAE,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,OAAgC;IAEhC,IACE,OAAO,CAAC,gBAAgB,IAAI,EAAE;WAC3B,OAAO,CAAC,QAAQ,IAAI,EAAE;WACtB,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC;WAC9C,OAAO,CAAC,eAAe,IAAI,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QAChD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QACrD,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,SAA+C;IAE/C,OAAO,SAAS,EAAE,IAAI,KAAK,YAAY;WAClC,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ;WACtC,SAAS,CAAC,QAAQ,GAAG,EAAE;WACvB,OAAO,SAAS,CAAC,eAAe,KAAK,QAAQ;WAC7C,SAAS,CAAC,eAAe,GAAG,EAAE;WAC9B,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAqB,EACrB,WAAmB,EACnB,MAAiC,EACjC,OAAmD;IAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,mCAAmC,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,WAAW,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QAAE,OAAO,UAAU,CAAC;IAE5F,MAAM,eAAe,GAAG,MAAM,gCAAgC,CAC5D,WAAW,EAAE,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAC3E,CAAC;IACF,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QAAE,OAAO,UAAU,CAAC;IAE3F,MAAM,cAAc,GAAG,OAAO;SAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB;WAC5C,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,SAAS,CAAC;SAChD,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,qCAAqC,CAAC;IACjG,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC;WAC3C,OAAO,CAAC,eAAe,IAAI,CAAC;WAC5B,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;WAC1C,mBAAmB,IAAI,CAAC;WACxB,MAAM,CAAC,MAAM,KAAK,IAAI;QACzB,OAAO,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC5F,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IACtD,MAAM,eAAe,GAAG,qBAAqB,KAAK,SAAS;WACtD,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC;WAC3C,qBAAqB,GAAG,CAAC;QAC5B,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,KAAK,EACrB,EAAE,MAAM,EAAE,KAAK,EAAgC,EACmB,EAAE;QACpE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,wEAAwE;gBACxE,sEAAsE;gBACtE,oEAAoE;gBACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ;qBACjC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;qBAC7E,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC1B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;oBACpD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;oBACpB,OAAO,EAAE,KAAK,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;oBACrB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,mCAAmC,CAC/D,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EACrF,OAAO,CAAC,MAAM,EACd,mBAAmB,CACpB,CAAC;YACF,IAAI,eAAe,KAAK,0BAA0B,EAAE,CAAC;gBACnD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBACpB,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,IAAI,eAAe,KAAK,4BAA4B,EAAE,CAAC;gBACrD,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACrB,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBACpB,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,SAAS,GAAG,oCAAoC,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBACpB,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,CAAC;gBACd,SAAS,EAAE,cAAc,CAAC,MAAM;gBAChC,GAAG,MAAM;gBACT,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;aACzC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QAAE,OAAO,UAAU,CAAC;IACvE,MAAM,QAAQ,GAA2C,CAAC,GAAG,QAAQ,CAAC,CAAC;IACvE,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC5C,IAAI,SAAS;YAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;IACxF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -18,6 +18,8 @@ export interface VmRecoveryMicrobatchPlan<T> {
18
18
  readonly selectorBytes: number;
19
19
  readonly completeFootprints: boolean;
20
20
  }
21
+ /** Conservative byte estimate for an already-validated public asset footprint. */
22
+ export declare function estimateVmRecoveryAssetBytes(byteSize: bigint, merkleLeafCount: bigint, limits: Readonly<Pick<VmRecoveryMicrobatchLimits, 'fixedBytesPerAsset' | 'bytesPerLeafOverhead' | 'byteSizeMultiplierBps'>>): bigint;
21
23
  /**
22
24
  * Pack one stable exact-recovery prefix. Unknown footprints remain singleton;
23
25
  * soft byte/leaf targets never reject an individually large KA, while executor
@@ -1 +1 @@
1
- {"version":3,"file":"vm-recovery-microbatch.d.ts","sourceRoot":"","sources":["../src/vm-recovery-microbatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;CACtD;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC;AAYD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,yBAAyB,EAC1E,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC,EAC5C,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,GAClD,wBAAwB,CAAC,CAAC,CAAC,CAqE7B"}
1
+ {"version":3,"file":"vm-recovery-microbatch.d.ts","sourceRoot":"","sources":["../src/vm-recovery-microbatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;CACtD;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC;AAYD,kFAAkF;AAClF,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,QAAQ,CAAC,IAAI,CACnB,0BAA0B,EAC1B,oBAAoB,GAAG,sBAAsB,GAAG,uBAAuB,CACxE,CAAC,GACD,MAAM,CAMR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,yBAAyB,EAC1E,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC,EAC5C,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,GAClD,wBAAwB,CAAC,CAAC,CAAC,CAiE7B"}
@@ -6,6 +6,12 @@ function nonNegativeFiniteInteger(value) {
6
6
  function nonNegativeBigint(value) {
7
7
  return typeof value === 'bigint' && value >= 0n ? value : undefined;
8
8
  }
9
+ /** Conservative byte estimate for an already-validated public asset footprint. */
10
+ export function estimateVmRecoveryAssetBytes(byteSize, merkleLeafCount, limits) {
11
+ const scaledByteFloor = (byteSize * limits.byteSizeMultiplierBps + 9999n) / 10000n;
12
+ const graphAndLeafFloor = byteSize + merkleLeafCount * limits.bytesPerLeafOverhead;
13
+ return (scaledByteFloor > graphAndLeafFloor ? scaledByteFloor : graphAndLeafFloor) + limits.fixedBytesPerAsset;
14
+ }
9
15
  /**
10
16
  * Pack one stable exact-recovery prefix. Unknown footprints remain singleton;
11
17
  * soft byte/leaf targets never reject an individually large KA, while executor
@@ -53,9 +59,7 @@ export function planVmRecoveryMicrobatch(candidates, limits, selectorBytesFor) {
53
59
  }
54
60
  break;
55
61
  }
56
- const scaledByteFloor = (byteSize * limits.byteSizeMultiplierBps + 9999n) / 10000n;
57
- const graphAndLeafFloor = byteSize + merkleLeafCount * limits.bytesPerLeafOverhead;
58
- const candidateEstimatedBytes = (scaledByteFloor > graphAndLeafFloor ? scaledByteFloor : graphAndLeafFloor) + limits.fixedBytesPerAsset;
62
+ const candidateEstimatedBytes = estimateVmRecoveryAssetBytes(byteSize, merkleLeafCount, limits);
59
63
  const nextBytes = estimatedBytes + candidateEstimatedBytes;
60
64
  const nextLeaves = estimatedLeaves + merkleLeafCount;
61
65
  if (targets.length > 0 && (nextBytes > limits.targetBytes || nextLeaves > limits.targetLeaves))
@@ -1 +1 @@
1
- {"version":3,"file":"vm-recovery-microbatch.js","sourceRoot":"","sources":["../src/vm-recovery-microbatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-recovery-microbatch.js","sourceRoot":"","sources":["../src/vm-recovery-microbatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { VmRecoveryAuthorityRetryPolicy } from './vm-recovery-experiment-policy.js';
2
+ import type { RegisteredContextGraphAuthority } from './registered-context-graph-authority.js';
3
+ /**
4
+ * How long a pass's positive registered-public answer may stand in for the identical read its
5
+ * own exchange would otherwise repeat.
6
+ */
7
+ export declare const VM_RECOVERY_REGISTERED_PUBLIC_MAX_AGE_MS = 90000;
8
+ /**
9
+ * What one exact-recovery pass knows about the graph's registered authority: the repository's
10
+ * own discriminated answer, plus the two states a pass can be in without one.
11
+ */
12
+ export type VmRecoveryPassAuthorityObservation = RegisteredContextGraphAuthority | {
13
+ readonly kind: 'not-read';
14
+ } | {
15
+ readonly kind: 'read-failed';
16
+ };
17
+ /** The recovery operation a handed-over answer belongs to. */
18
+ export interface VmRecoveryPassAuthorityOwner {
19
+ readonly contextGraphId: string;
20
+ /** The recovery operation's cancellation signal. */
21
+ readonly signal?: AbortSignal;
22
+ /** Recovery ownership at call time (lifecycle, binding, target). */
23
+ readonly isCurrent: () => boolean;
24
+ }
25
+ /**
26
+ * A positive registered-public answer, handed explicitly to the exchange of the pass that
27
+ * obtained it. Only that exchange holds it, it is revoked when the exchange returns, and it
28
+ * stays tied to the pass's latest observation, so a later miss withdraws it. Any doubt is
29
+ * `false`, and the exchange then reads the authority itself.
30
+ */
31
+ export interface VmRecoveryRegisteredPublicEvidence {
32
+ /**
33
+ * True only while the pass's latest observation is public, no older than
34
+ * {@link VM_RECOVERY_REGISTERED_PUBLIC_MAX_AGE_MS}, for this graph, with the owning operation
35
+ * still current and neither it nor the asker cancelled.
36
+ */
37
+ usableFor(contextGraphId: string, askerSignal?: AbortSignal): boolean;
38
+ /** The exchange it was handed to is over: it can no longer be relied on. */
39
+ revoke(): void;
40
+ }
41
+ /**
42
+ * The pass-local owner of the registered-authority observation that gates the stream wire.
43
+ * Retry eligibility, the stream decision, the diagnostic label and the answer handed to the
44
+ * pass's own exchange are all derived from the one typed observation, so none of them can
45
+ * drift from the others and no decision branches on a log string. Nothing is carried from
46
+ * one pass to the next: a pass creates its own.
47
+ */
48
+ export declare class VmRecoveryPassAuthority {
49
+ #private;
50
+ private readonly clock;
51
+ private readonly maxEvidenceAgeMs;
52
+ private readonly retryPolicy;
53
+ constructor(clock?: () => number, maxEvidenceAgeMs?: number, retryPolicy?: VmRecoveryAuthorityRetryPolicy);
54
+ /**
55
+ * Read once more. Whatever an earlier read of this pass said is superseded by this one, and
56
+ * a read that throws is recorded as `read-failed` rather than propagated.
57
+ */
58
+ read(resolve: () => Promise<RegisteredContextGraphAuthority>): Promise<VmRecoveryPassAuthorityObservation>;
59
+ get observation(): VmRecoveryPassAuthorityObservation;
60
+ /** A positive answer: the only state that authorizes the stream wire. */
61
+ get isPublic(): boolean;
62
+ /**
63
+ * The read did not answer. Unlike `private` and `unregistered`, which are answers, this is the
64
+ * transient case worth asking again.
65
+ */
66
+ get missed(): boolean;
67
+ /** A miss may be read again only under the pass's configured retry spacing. */
68
+ retryDue(): boolean;
69
+ /** A single bounded miss retry at pass entry; cancellation releases the wait. */
70
+ waitForMissRetry(signal?: AbortSignal): Promise<boolean>;
71
+ /** The observation as a log label. Observation only: nothing branches on it. */
72
+ get label(): string;
73
+ /**
74
+ * A handle for the owning pass to give its own exchange. It reads this observation when it is
75
+ * asked, so it always reflects the pass's latest answer, and it dies when revoked.
76
+ */
77
+ evidence(owner: VmRecoveryPassAuthorityOwner): VmRecoveryRegisteredPublicEvidence;
78
+ }
79
+ /**
80
+ * Resolve after `ms`, or sooner when `signal` aborts. Never rejects and leaves neither
81
+ * a timer nor a listener behind, so a cancelled pass is not held by its own wait.
82
+ */
83
+ export declare function vmRecoveryRetryDelay(ms: number, signal?: AbortSignal): Promise<void>;
84
+ //# sourceMappingURL=vm-recovery-pass-authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-recovery-pass-authority.d.ts","sourceRoot":"","sources":["../src/vm-recovery-pass-authority.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAE/F;;;GAGG;AACH,eAAO,MAAM,wCAAwC,QAAS,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,kCAAkC,GAC1C,+BAA+B,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC,8DAA8D;AAC9D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD;;;;OAIG;IACH,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IACtE,4EAA4E;IAC5E,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;GAMG;AACH,qBAAa,uBAAuB;;IAMhC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,KAAK,GAAE,MAAM,MAAgC,EAC7C,gBAAgB,GAAE,MAAiD,EACnE,WAAW,GAAE,8BAAqD;IAGrF;;;OAGG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,OAAO,CAAC,+BAA+B,CAAC,GACtD,OAAO,CAAC,kCAAkC,CAAC;IAW9C,IAAI,WAAW,IAAI,kCAAkC,CAEpD;IAED,yEAAyE;IACzE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED,+EAA+E;IAC/E,QAAQ,IAAI,OAAO;IAKnB,iFAAiF;IAC3E,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9D,gFAAgF;IAChF,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,kCAAkC;CAiBlF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpF"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * How long a pass's positive registered-public answer may stand in for the identical read its
3
+ * own exchange would otherwise repeat.
4
+ */
5
+ export const VM_RECOVERY_REGISTERED_PUBLIC_MAX_AGE_MS = 90_000;
6
+ /**
7
+ * The pass-local owner of the registered-authority observation that gates the stream wire.
8
+ * Retry eligibility, the stream decision, the diagnostic label and the answer handed to the
9
+ * pass's own exchange are all derived from the one typed observation, so none of them can
10
+ * drift from the others and no decision branches on a log string. Nothing is carried from
11
+ * one pass to the next: a pass creates its own.
12
+ */
13
+ export class VmRecoveryPassAuthority {
14
+ clock;
15
+ maxEvidenceAgeMs;
16
+ retryPolicy;
17
+ #observation = { kind: 'not-read' };
18
+ #lastReadStartedAt = Number.NEGATIVE_INFINITY;
19
+ #publicObservedAt = Number.NEGATIVE_INFINITY;
20
+ constructor(clock = () => performance.now(), maxEvidenceAgeMs = VM_RECOVERY_REGISTERED_PUBLIC_MAX_AGE_MS, retryPolicy = { kind: 'disabled' }) {
21
+ this.clock = clock;
22
+ this.maxEvidenceAgeMs = maxEvidenceAgeMs;
23
+ this.retryPolicy = retryPolicy;
24
+ }
25
+ /**
26
+ * Read once more. Whatever an earlier read of this pass said is superseded by this one, and
27
+ * a read that throws is recorded as `read-failed` rather than propagated.
28
+ */
29
+ async read(resolve) {
30
+ this.#lastReadStartedAt = this.clock();
31
+ try {
32
+ this.#observation = await resolve();
33
+ }
34
+ catch {
35
+ this.#observation = { kind: 'read-failed' };
36
+ }
37
+ if (this.#observation.kind === 'public')
38
+ this.#publicObservedAt = this.clock();
39
+ return this.#observation;
40
+ }
41
+ get observation() {
42
+ return this.#observation;
43
+ }
44
+ /** A positive answer: the only state that authorizes the stream wire. */
45
+ get isPublic() {
46
+ return this.#observation.kind === 'public';
47
+ }
48
+ /**
49
+ * The read did not answer. Unlike `private` and `unregistered`, which are answers, this is the
50
+ * transient case worth asking again.
51
+ */
52
+ get missed() {
53
+ const { kind } = this.#observation;
54
+ return kind === 'unavailable' || kind === 'read-failed';
55
+ }
56
+ /** A miss may be read again only under the pass's configured retry spacing. */
57
+ retryDue() {
58
+ return this.retryPolicy.kind === 'spaced' && this.missed
59
+ && this.clock() - this.#lastReadStartedAt >= this.retryPolicy.minIntervalMs;
60
+ }
61
+ /** A single bounded miss retry at pass entry; cancellation releases the wait. */
62
+ async waitForMissRetry(signal) {
63
+ if (!this.missed || this.retryPolicy.kind !== 'spaced')
64
+ return false;
65
+ await vmRecoveryRetryDelay(this.retryPolicy.minIntervalMs, signal);
66
+ return !signal?.aborted;
67
+ }
68
+ /** The observation as a log label. Observation only: nothing branches on it. */
69
+ get label() {
70
+ const observation = this.#observation;
71
+ if (observation.kind === 'unavailable')
72
+ return `unavailable:${observation.reason}`;
73
+ return observation.kind === 'read-failed' ? 'error' : observation.kind;
74
+ }
75
+ /**
76
+ * A handle for the owning pass to give its own exchange. It reads this observation when it is
77
+ * asked, so it always reflects the pass's latest answer, and it dies when revoked.
78
+ */
79
+ evidence(owner) {
80
+ let revoked = false;
81
+ return {
82
+ usableFor: (contextGraphId, askerSignal) => {
83
+ if (revoked || this.#observation.kind !== 'public')
84
+ return false;
85
+ if (contextGraphId !== owner.contextGraphId)
86
+ return false;
87
+ if (askerSignal?.aborted || owner.signal?.aborted)
88
+ return false;
89
+ if (this.clock() - this.#publicObservedAt > this.maxEvidenceAgeMs)
90
+ return false;
91
+ try {
92
+ return owner.isCurrent();
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ },
98
+ revoke: () => { revoked = true; },
99
+ };
100
+ }
101
+ }
102
+ /**
103
+ * Resolve after `ms`, or sooner when `signal` aborts. Never rejects and leaves neither
104
+ * a timer nor a listener behind, so a cancelled pass is not held by its own wait.
105
+ */
106
+ export function vmRecoveryRetryDelay(ms, signal) {
107
+ if (ms <= 0 || signal?.aborted)
108
+ return Promise.resolve();
109
+ return new Promise((resolve) => {
110
+ let onAbort;
111
+ const timer = setTimeout(() => {
112
+ if (onAbort)
113
+ signal?.removeEventListener('abort', onAbort);
114
+ resolve();
115
+ }, ms);
116
+ timer.unref?.();
117
+ if (signal) {
118
+ onAbort = () => {
119
+ clearTimeout(timer);
120
+ resolve();
121
+ };
122
+ signal.addEventListener('abort', onAbort, { once: true });
123
+ }
124
+ });
125
+ }
126
+ //# sourceMappingURL=vm-recovery-pass-authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-recovery-pass-authority.js","sourceRoot":"","sources":["../src/vm-recovery-pass-authority.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,MAAM,CAAC;AAqC/D;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAMf;IACA;IACA;IAPnB,YAAY,GAAuC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACxE,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC9C,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAE7C,YACmB,QAAsB,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAC7C,mBAA2B,wCAAwC,EACnE,cAA8C,EAAE,IAAI,EAAE,UAAU,EAAE;QAFlE,UAAK,GAAL,KAAK,CAAwC;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAmD;QACnE,gBAAW,GAAX,WAAW,CAAuD;IAClF,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,OAAuD;QAEvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,MAAM,OAAO,EAAE,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,yEAAyE;IACzE,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,OAAO,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,aAAa,CAAC;IAC1D,CAAC;IAED,+EAA+E;IAC/E,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM;eACnD,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IAChF,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,gBAAgB,CAAC,MAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrE,MAAM,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,CAAC;IAED,gFAAgF;IAChF,IAAI,KAAK;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,eAAe,WAAW,CAAC,MAAM,EAAE,CAAC;QACnF,OAAO,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAmC;QAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO;YACL,SAAS,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBACjE,IAAI,cAAc,KAAK,KAAK,CAAC,cAAc;oBAAE,OAAO,KAAK,CAAC;gBAC1D,IAAI,WAAW,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO;oBAAE,OAAO,KAAK,CAAC;gBAChE,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB;oBAAE,OAAO,KAAK,CAAC;gBAChF,IAAI,CAAC;oBACH,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,MAAoB;IACnE,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACzD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,OAAiC,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,GAAG,EAAE;gBACb,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}