@origintrail-official/dkg-agent 10.0.16 → 10.0.17

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 (651) hide show
  1. package/README.md +24 -0
  2. package/dist/active-public-context-graph-chain-proof.d.ts +8 -5
  3. package/dist/active-public-context-graph-chain-proof.d.ts.map +1 -1
  4. package/dist/active-public-context-graph-chain-proof.js +8 -3
  5. package/dist/active-public-context-graph-chain-proof.js.map +1 -1
  6. package/dist/agent-peer-discovery.d.ts +24 -0
  7. package/dist/agent-peer-discovery.d.ts.map +1 -0
  8. package/dist/agent-peer-discovery.js +50 -0
  9. package/dist/agent-peer-discovery.js.map +1 -0
  10. package/dist/authority-index-config.d.ts +21 -0
  11. package/dist/authority-index-config.d.ts.map +1 -0
  12. package/dist/authority-index-config.js +55 -0
  13. package/dist/authority-index-config.js.map +1 -0
  14. package/dist/authority-index-snapshot-client.d.ts +42 -0
  15. package/dist/authority-index-snapshot-client.d.ts.map +1 -0
  16. package/dist/authority-index-snapshot-client.js +119 -0
  17. package/dist/authority-index-snapshot-client.js.map +1 -0
  18. package/dist/authority-index-snapshot-config.d.ts +17 -0
  19. package/dist/authority-index-snapshot-config.d.ts.map +1 -0
  20. package/dist/authority-index-snapshot-config.js +54 -0
  21. package/dist/authority-index-snapshot-config.js.map +1 -0
  22. package/dist/authority-index-snapshot-handler.d.ts +12 -0
  23. package/dist/authority-index-snapshot-handler.d.ts.map +1 -0
  24. package/dist/authority-index-snapshot-handler.js +93 -0
  25. package/dist/authority-index-snapshot-handler.js.map +1 -0
  26. package/dist/authority-index-snapshot-runtime.d.ts +16 -0
  27. package/dist/authority-index-snapshot-runtime.d.ts.map +1 -0
  28. package/dist/authority-index-snapshot-runtime.js +45 -0
  29. package/dist/authority-index-snapshot-runtime.js.map +1 -0
  30. package/dist/authority-index-snapshot-service.d.ts +6 -0
  31. package/dist/authority-index-snapshot-service.d.ts.map +1 -0
  32. package/dist/authority-index-snapshot-service.js +7 -0
  33. package/dist/authority-index-snapshot-service.js.map +1 -0
  34. package/dist/authority-index-snapshot-transport.d.ts +11 -0
  35. package/dist/authority-index-snapshot-transport.d.ts.map +1 -0
  36. package/dist/authority-index-snapshot-transport.js +25 -0
  37. package/dist/authority-index-snapshot-transport.js.map +1 -0
  38. package/dist/authority-index-snapshot-wire.d.ts +15 -0
  39. package/dist/authority-index-snapshot-wire.d.ts.map +1 -0
  40. package/dist/authority-index-snapshot-wire.js +55 -0
  41. package/dist/authority-index-snapshot-wire.js.map +1 -0
  42. package/dist/bounded-curator-roster-traversal.d.ts +41 -0
  43. package/dist/bounded-curator-roster-traversal.d.ts.map +1 -0
  44. package/dist/bounded-curator-roster-traversal.js +59 -0
  45. package/dist/bounded-curator-roster-traversal.js.map +1 -0
  46. package/dist/chain-reconciler.d.ts +13 -67
  47. package/dist/chain-reconciler.d.ts.map +1 -1
  48. package/dist/chain-reconciler.js +42 -321
  49. package/dist/chain-reconciler.js.map +1 -1
  50. package/dist/coalescing-recurring-task.d.ts +2 -0
  51. package/dist/coalescing-recurring-task.d.ts.map +1 -0
  52. package/dist/coalescing-recurring-task.js +3 -0
  53. package/dist/coalescing-recurring-task.js.map +1 -0
  54. package/dist/context-graph-binding-state.d.ts +9 -0
  55. package/dist/context-graph-binding-state.d.ts.map +1 -1
  56. package/dist/context-graph-binding-state.js +28 -6
  57. package/dist/context-graph-binding-state.js.map +1 -1
  58. package/dist/context-graph-discovery-options.d.ts +46 -0
  59. package/dist/context-graph-discovery-options.d.ts.map +1 -0
  60. package/dist/context-graph-discovery-options.js +85 -0
  61. package/dist/context-graph-discovery-options.js.map +1 -0
  62. package/dist/context-graph-list-authority-enrichment.d.ts +48 -0
  63. package/dist/context-graph-list-authority-enrichment.d.ts.map +1 -0
  64. package/dist/context-graph-list-authority-enrichment.js +78 -0
  65. package/dist/context-graph-list-authority-enrichment.js.map +1 -0
  66. package/dist/context-graph-meta-projection.d.ts +25 -3
  67. package/dist/context-graph-meta-projection.d.ts.map +1 -1
  68. package/dist/context-graph-meta-projection.js +88 -3
  69. package/dist/context-graph-meta-projection.js.map +1 -1
  70. package/dist/context-graph-read-authority.d.ts +15 -0
  71. package/dist/context-graph-read-authority.d.ts.map +1 -1
  72. package/dist/context-graph-read-authority.js +22 -0
  73. package/dist/context-graph-read-authority.js.map +1 -1
  74. package/dist/context-graph-registration-read-plan.d.ts +28 -0
  75. package/dist/context-graph-registration-read-plan.d.ts.map +1 -0
  76. package/dist/context-graph-registration-read-plan.js +142 -0
  77. package/dist/context-graph-registration-read-plan.js.map +1 -0
  78. package/dist/context-graph-subscription-authority-recovery.d.ts +49 -0
  79. package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -0
  80. package/dist/context-graph-subscription-authority-recovery.js +197 -0
  81. package/dist/context-graph-subscription-authority-recovery.js.map +1 -0
  82. package/dist/core-hosted-public-cg-record-decision.d.ts +10 -0
  83. package/dist/core-hosted-public-cg-record-decision.d.ts.map +1 -0
  84. package/dist/core-hosted-public-cg-record-decision.js +16 -0
  85. package/dist/core-hosted-public-cg-record-decision.js.map +1 -0
  86. package/dist/curator-meta-refresh.d.ts +39 -0
  87. package/dist/curator-meta-refresh.d.ts.map +1 -1
  88. package/dist/curator-meta-refresh.js +114 -22
  89. package/dist/curator-meta-refresh.js.map +1 -1
  90. package/dist/discovery.d.ts +11 -4
  91. package/dist/discovery.d.ts.map +1 -1
  92. package/dist/discovery.js +43 -11
  93. package/dist/discovery.js.map +1 -1
  94. package/dist/dkg-agent-base.d.ts +66 -79
  95. package/dist/dkg-agent-base.d.ts.map +1 -1
  96. package/dist/dkg-agent-base.js +59 -76
  97. package/dist/dkg-agent-base.js.map +1 -1
  98. package/dist/dkg-agent-ccl.d.ts.map +1 -1
  99. package/dist/dkg-agent-ccl.js.map +1 -1
  100. package/dist/dkg-agent-cg-registry.d.ts +73 -1
  101. package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
  102. package/dist/dkg-agent-cg-registry.js +510 -29
  103. package/dist/dkg-agent-cg-registry.js.map +1 -1
  104. package/dist/dkg-agent-cg-resolve.d.ts +29 -58
  105. package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
  106. package/dist/dkg-agent-cg-resolve.js +231 -54
  107. package/dist/dkg-agent-cg-resolve.js.map +1 -1
  108. package/dist/dkg-agent-constants.d.ts +11 -0
  109. package/dist/dkg-agent-constants.d.ts.map +1 -1
  110. package/dist/dkg-agent-constants.js +11 -0
  111. package/dist/dkg-agent-constants.js.map +1 -1
  112. package/dist/dkg-agent-context-graph.d.ts.map +1 -1
  113. package/dist/dkg-agent-context-graph.js +333 -86
  114. package/dist/dkg-agent-context-graph.js.map +1 -1
  115. package/dist/dkg-agent-crypto.d.ts +10 -0
  116. package/dist/dkg-agent-crypto.d.ts.map +1 -1
  117. package/dist/dkg-agent-crypto.js +143 -34
  118. package/dist/dkg-agent-crypto.js.map +1 -1
  119. package/dist/dkg-agent-diagnostics.d.ts.map +1 -1
  120. package/dist/dkg-agent-diagnostics.js +1 -2
  121. package/dist/dkg-agent-diagnostics.js.map +1 -1
  122. package/dist/dkg-agent-endorse.d.ts.map +1 -1
  123. package/dist/dkg-agent-endorse.js.map +1 -1
  124. package/dist/dkg-agent-join.d.ts +2 -9
  125. package/dist/dkg-agent-join.d.ts.map +1 -1
  126. package/dist/dkg-agent-join.js +9 -4
  127. package/dist/dkg-agent-join.js.map +1 -1
  128. package/dist/dkg-agent-lifecycle.d.ts +129 -18
  129. package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
  130. package/dist/dkg-agent-lifecycle.js +1249 -927
  131. package/dist/dkg-agent-lifecycle.js.map +1 -1
  132. package/dist/dkg-agent-ownership.d.ts.map +1 -1
  133. package/dist/dkg-agent-ownership.js.map +1 -1
  134. package/dist/dkg-agent-publish.d.ts.map +1 -1
  135. package/dist/dkg-agent-publish.js +68 -43
  136. package/dist/dkg-agent-publish.js.map +1 -1
  137. package/dist/dkg-agent-query.d.ts +26 -8
  138. package/dist/dkg-agent-query.d.ts.map +1 -1
  139. package/dist/dkg-agent-query.js +203 -107
  140. package/dist/dkg-agent-query.js.map +1 -1
  141. package/dist/dkg-agent-registry.d.ts +14 -17
  142. package/dist/dkg-agent-registry.d.ts.map +1 -1
  143. package/dist/dkg-agent-registry.js +37 -20
  144. package/dist/dkg-agent-registry.js.map +1 -1
  145. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts +27 -1
  146. package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts.map +1 -1
  147. package/dist/dkg-agent-rfc64-catalog-auto-publish.js +477 -168
  148. package/dist/dkg-agent-rfc64-catalog-auto-publish.js.map +1 -1
  149. package/dist/dkg-agent-rfc64-catalog-bootstrap.d.ts.map +1 -1
  150. package/dist/dkg-agent-rfc64-catalog-bootstrap.js +2 -2
  151. package/dist/dkg-agent-rfc64-catalog-bootstrap.js.map +1 -1
  152. package/dist/dkg-agent-rfc64-catalog-upsert.d.ts +7 -0
  153. package/dist/dkg-agent-rfc64-catalog-upsert.d.ts.map +1 -1
  154. package/dist/dkg-agent-rfc64-catalog-upsert.js +20 -3
  155. package/dist/dkg-agent-rfc64-catalog-upsert.js.map +1 -1
  156. package/dist/dkg-agent-rfc64-catalog.d.ts +190 -11
  157. package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
  158. package/dist/dkg-agent-rfc64-catalog.js +1563 -351
  159. package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
  160. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts +15 -0
  161. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts.map +1 -0
  162. package/dist/dkg-agent-rfc64-meta-bootstrap.js +127 -0
  163. package/dist/dkg-agent-rfc64-meta-bootstrap.js.map +1 -0
  164. package/dist/dkg-agent-rfc64-seed-fetch.d.ts +85 -0
  165. package/dist/dkg-agent-rfc64-seed-fetch.d.ts.map +1 -0
  166. package/dist/dkg-agent-rfc64-seed-fetch.js +389 -0
  167. package/dist/dkg-agent-rfc64-seed-fetch.js.map +1 -0
  168. package/dist/dkg-agent-rfc64-seed-store.d.ts +42 -0
  169. package/dist/dkg-agent-rfc64-seed-store.d.ts.map +1 -0
  170. package/dist/dkg-agent-rfc64-seed-store.js +127 -0
  171. package/dist/dkg-agent-rfc64-seed-store.js.map +1 -0
  172. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts.map +1 -1
  173. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js +3 -3
  174. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js.map +1 -1
  175. package/dist/dkg-agent-rfc64-swm-catalog-projection.js +2 -2
  176. package/dist/dkg-agent-rfc64-swm-catalog-projection.js.map +1 -1
  177. package/dist/dkg-agent-rfc64-swm-recovery-runtime.d.ts +3 -0
  178. package/dist/dkg-agent-rfc64-swm-recovery-runtime.d.ts.map +1 -1
  179. package/dist/dkg-agent-rfc64-swm-recovery-runtime.js +14 -2
  180. package/dist/dkg-agent-rfc64-swm-recovery-runtime.js.map +1 -1
  181. package/dist/dkg-agent-swm-host.d.ts +50 -33
  182. package/dist/dkg-agent-swm-host.d.ts.map +1 -1
  183. package/dist/dkg-agent-swm-host.js +510 -255
  184. package/dist/dkg-agent-swm-host.js.map +1 -1
  185. package/dist/dkg-agent-swm-substrate.d.ts +2 -0
  186. package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
  187. package/dist/dkg-agent-swm-substrate.js +29 -22
  188. package/dist/dkg-agent-swm-substrate.js.map +1 -1
  189. package/dist/dkg-agent-types.d.ts +100 -174
  190. package/dist/dkg-agent-types.d.ts.map +1 -1
  191. package/dist/dkg-agent-types.js +21 -0
  192. package/dist/dkg-agent-types.js.map +1 -1
  193. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts +25 -0
  194. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts.map +1 -0
  195. package/dist/dkg-agent-vm-reconcile-scheduling.js +106 -0
  196. package/dist/dkg-agent-vm-reconcile-scheduling.js.map +1 -0
  197. package/dist/dkg-agent.d.ts +51 -13
  198. package/dist/dkg-agent.d.ts.map +1 -1
  199. package/dist/dkg-agent.js +539 -307
  200. package/dist/dkg-agent.js.map +1 -1
  201. package/dist/finalization-annotations.d.ts +5 -0
  202. package/dist/finalization-annotations.d.ts.map +1 -0
  203. package/dist/finalization-annotations.js +6 -0
  204. package/dist/finalization-annotations.js.map +1 -0
  205. package/dist/finalization-graph-envelope.d.ts +3 -2
  206. package/dist/finalization-graph-envelope.d.ts.map +1 -1
  207. package/dist/finalization-graph-envelope.js.map +1 -1
  208. package/dist/finalization-handler.d.ts +10 -4
  209. package/dist/finalization-handler.d.ts.map +1 -1
  210. package/dist/finalization-handler.js +152 -61
  211. package/dist/finalization-handler.js.map +1 -1
  212. package/dist/finalization-publisher-authority-observer.d.ts +40 -0
  213. package/dist/finalization-publisher-authority-observer.d.ts.map +1 -0
  214. package/dist/finalization-publisher-authority-observer.js +76 -0
  215. package/dist/finalization-publisher-authority-observer.js.map +1 -0
  216. package/dist/finalization-recovery-eligibility.d.ts +23 -0
  217. package/dist/finalization-recovery-eligibility.d.ts.map +1 -0
  218. package/dist/finalization-recovery-eligibility.js +40 -0
  219. package/dist/finalization-recovery-eligibility.js.map +1 -0
  220. package/dist/finalization-recovery-sqlite-codec.d.ts.map +1 -1
  221. package/dist/finalization-recovery-sqlite-codec.js +4 -0
  222. package/dist/finalization-recovery-sqlite-codec.js.map +1 -1
  223. package/dist/finalization-recovery-sqlite-schema.d.ts.map +1 -1
  224. package/dist/finalization-recovery-sqlite-schema.js +52 -13
  225. package/dist/finalization-recovery-sqlite-schema.js.map +1 -1
  226. package/dist/finalization-recovery-sqlite-store.d.ts +2 -2
  227. package/dist/finalization-recovery-sqlite-store.d.ts.map +1 -1
  228. package/dist/finalization-recovery-sqlite-store.js +49 -19
  229. package/dist/finalization-recovery-sqlite-store.js.map +1 -1
  230. package/dist/finalization-recovery-store.d.ts +33 -1
  231. package/dist/finalization-recovery-store.d.ts.map +1 -1
  232. package/dist/finalization-recovery-store.js +40 -0
  233. package/dist/finalization-recovery-store.js.map +1 -1
  234. package/dist/finalization-recovery.d.ts +7 -6
  235. package/dist/finalization-recovery.d.ts.map +1 -1
  236. package/dist/finalization-recovery.js +145 -86
  237. package/dist/finalization-recovery.js.map +1 -1
  238. package/dist/generic-sql-source.d.ts.map +1 -1
  239. package/dist/generic-sql-source.js +2 -1
  240. package/dist/generic-sql-source.js.map +1 -1
  241. package/dist/gossip-publish-handler.d.ts.map +1 -1
  242. package/dist/gossip-publish-handler.js +6 -7
  243. package/dist/gossip-publish-handler.js.map +1 -1
  244. package/dist/imported-artifact.d.ts.map +1 -1
  245. package/dist/imported-artifact.js +2 -1
  246. package/dist/imported-artifact.js.map +1 -1
  247. package/dist/index.d.ts +12 -2
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +5 -1
  250. package/dist/index.js.map +1 -1
  251. package/dist/internal/context-graph-authority/context-graph-access-policy.d.ts +28 -1
  252. package/dist/internal/context-graph-authority/context-graph-access-policy.d.ts.map +1 -1
  253. package/dist/internal/context-graph-authority/context-graph-access-policy.js +78 -0
  254. package/dist/internal/context-graph-authority/context-graph-access-policy.js.map +1 -1
  255. package/dist/internal/context-graph-authority/context-graph-authority.d.ts.map +1 -1
  256. package/dist/internal/context-graph-authority/context-graph-authority.js +2 -0
  257. package/dist/internal/context-graph-authority/context-graph-authority.js.map +1 -1
  258. package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
  259. package/dist/internal/promote/assertion-promote-precommit.js +3 -0
  260. package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
  261. package/dist/internal/vm-reconcile-sweep-admission.d.ts +9 -0
  262. package/dist/internal/vm-reconcile-sweep-admission.d.ts.map +1 -0
  263. package/dist/internal/vm-reconcile-sweep-admission.js +2 -0
  264. package/dist/internal/vm-reconcile-sweep-admission.js.map +1 -0
  265. package/dist/internal/vm-reconcile-sweep.d.ts +33 -0
  266. package/dist/internal/vm-reconcile-sweep.d.ts.map +1 -0
  267. package/dist/internal/vm-reconcile-sweep.js +168 -0
  268. package/dist/internal/vm-reconcile-sweep.js.map +1 -0
  269. package/dist/local-context-graph-provenance.d.ts +30 -0
  270. package/dist/local-context-graph-provenance.d.ts.map +1 -0
  271. package/dist/local-context-graph-provenance.js +50 -0
  272. package/dist/local-context-graph-provenance.js.map +1 -0
  273. package/dist/local-context-graph-registration-status.d.ts +20 -0
  274. package/dist/local-context-graph-registration-status.d.ts.map +1 -0
  275. package/dist/local-context-graph-registration-status.js +91 -0
  276. package/dist/local-context-graph-registration-status.js.map +1 -0
  277. package/dist/map-with-concurrency.d.ts +7 -0
  278. package/dist/map-with-concurrency.d.ts.map +1 -1
  279. package/dist/map-with-concurrency.js +82 -0
  280. package/dist/map-with-concurrency.js.map +1 -1
  281. package/dist/p2p/messenger.d.ts +13 -13
  282. package/dist/p2p/messenger.d.ts.map +1 -1
  283. package/dist/p2p/messenger.js +23 -15
  284. package/dist/p2p/messenger.js.map +1 -1
  285. package/dist/p2p/network-admission-coordinator.d.ts +19 -0
  286. package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
  287. package/dist/p2p/network-admission-coordinator.js +47 -0
  288. package/dist/p2p/network-admission-coordinator.js.map +1 -1
  289. package/dist/p2p/network-admission-probe-retry.d.ts +10 -0
  290. package/dist/p2p/network-admission-probe-retry.d.ts.map +1 -1
  291. package/dist/p2p/network-admission-probe-retry.js +23 -0
  292. package/dist/p2p/network-admission-probe-retry.js.map +1 -1
  293. package/dist/p2p/network-admission.d.ts +4 -0
  294. package/dist/p2p/network-admission.d.ts.map +1 -1
  295. package/dist/p2p/network-admission.js +10 -0
  296. package/dist/p2p/network-admission.js.map +1 -1
  297. package/dist/p2p/outbox-drain-types.d.ts +26 -0
  298. package/dist/p2p/outbox-drain-types.d.ts.map +1 -0
  299. package/dist/p2p/outbox-drain-types.js +2 -0
  300. package/dist/p2p/outbox-drain-types.js.map +1 -0
  301. package/dist/p2p/outbox-drainer.d.ts +21 -5
  302. package/dist/p2p/outbox-drainer.d.ts.map +1 -1
  303. package/dist/p2p/outbox-drainer.js +71 -22
  304. package/dist/p2p/outbox-drainer.js.map +1 -1
  305. package/dist/p2p/peer-connection.d.ts +11 -0
  306. package/dist/p2p/peer-connection.d.ts.map +1 -0
  307. package/dist/p2p/peer-connection.js +2 -0
  308. package/dist/p2p/peer-connection.js.map +1 -0
  309. package/dist/p2p/peer-event-lifetime.d.ts +15 -0
  310. package/dist/p2p/peer-event-lifetime.d.ts.map +1 -0
  311. package/dist/p2p/peer-event-lifetime.js +46 -0
  312. package/dist/p2p/peer-event-lifetime.js.map +1 -0
  313. package/dist/p2p/sync-transport.d.ts +14 -4
  314. package/dist/p2p/sync-transport.d.ts.map +1 -1
  315. package/dist/p2p/sync-transport.js +14 -4
  316. package/dist/p2p/sync-transport.js.map +1 -1
  317. package/dist/prepare-unscoped-context-graph-read-checks.d.ts +16 -0
  318. package/dist/prepare-unscoped-context-graph-read-checks.d.ts.map +1 -0
  319. package/dist/prepare-unscoped-context-graph-read-checks.js +133 -0
  320. package/dist/prepare-unscoped-context-graph-read-checks.js.map +1 -0
  321. package/dist/random-sampling-bind.d.ts +23 -3
  322. package/dist/random-sampling-bind.d.ts.map +1 -1
  323. package/dist/random-sampling-bind.js +38 -19
  324. package/dist/random-sampling-bind.js.map +1 -1
  325. package/dist/random-sampling-eligibility.d.ts +24 -0
  326. package/dist/random-sampling-eligibility.d.ts.map +1 -0
  327. package/dist/random-sampling-eligibility.js +31 -0
  328. package/dist/random-sampling-eligibility.js.map +1 -0
  329. package/dist/random-sampling-runtime.d.ts +86 -0
  330. package/dist/random-sampling-runtime.d.ts.map +1 -0
  331. package/dist/random-sampling-runtime.js +228 -0
  332. package/dist/random-sampling-runtime.js.map +1 -0
  333. package/dist/registered-context-graph-authority.d.ts +1 -1
  334. package/dist/registered-context-graph-authority.d.ts.map +1 -1
  335. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts +150 -0
  336. package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts.map +1 -0
  337. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js +360 -0
  338. package/dist/rfc64/authority-rpc-circuit-breaker-v1.js.map +1 -0
  339. package/dist/rfc64/background-work-dispatcher-v1.d.ts +21 -0
  340. package/dist/rfc64/background-work-dispatcher-v1.d.ts.map +1 -0
  341. package/dist/rfc64/background-work-dispatcher-v1.js +144 -0
  342. package/dist/rfc64/background-work-dispatcher-v1.js.map +1 -0
  343. package/dist/rfc64/catalog-access-policy-v1.d.ts +30 -15
  344. package/dist/rfc64/catalog-access-policy-v1.d.ts.map +1 -1
  345. package/dist/rfc64/catalog-access-policy-v1.js +140 -3
  346. package/dist/rfc64/catalog-access-policy-v1.js.map +1 -1
  347. package/dist/rfc64/catalog-authority-config-v1.d.ts +4 -1
  348. package/dist/rfc64/catalog-authority-config-v1.d.ts.map +1 -1
  349. package/dist/rfc64/catalog-authority-config-v1.js +10 -2
  350. package/dist/rfc64/catalog-authority-config-v1.js.map +1 -1
  351. package/dist/rfc64/catalog-authority-refresh-binding-v1.d.ts +25 -0
  352. package/dist/rfc64/catalog-authority-refresh-binding-v1.d.ts.map +1 -0
  353. package/dist/rfc64/catalog-authority-refresh-binding-v1.js +60 -0
  354. package/dist/rfc64/catalog-authority-refresh-binding-v1.js.map +1 -0
  355. package/dist/rfc64/catalog-authority-refresh-loop-v1.d.ts +43 -4
  356. package/dist/rfc64/catalog-authority-refresh-loop-v1.d.ts.map +1 -1
  357. package/dist/rfc64/catalog-authority-refresh-loop-v1.js +292 -84
  358. package/dist/rfc64/catalog-authority-refresh-loop-v1.js.map +1 -1
  359. package/dist/rfc64/catalog-authority-revision-projection-v1.d.ts +10 -0
  360. package/dist/rfc64/catalog-authority-revision-projection-v1.d.ts.map +1 -0
  361. package/dist/rfc64/catalog-authority-revision-projection-v1.js +33 -0
  362. package/dist/rfc64/catalog-authority-revision-projection-v1.js.map +1 -0
  363. package/dist/rfc64/catalog-limits-v1.d.ts +3 -0
  364. package/dist/rfc64/catalog-limits-v1.d.ts.map +1 -0
  365. package/dist/rfc64/catalog-limits-v1.js +4 -0
  366. package/dist/rfc64/catalog-limits-v1.js.map +1 -0
  367. package/dist/rfc64/catalog-replay-connection-runtime-v1.d.ts +29 -0
  368. package/dist/rfc64/catalog-replay-connection-runtime-v1.d.ts.map +1 -0
  369. package/dist/rfc64/catalog-replay-connection-runtime-v1.js +82 -0
  370. package/dist/rfc64/catalog-replay-connection-runtime-v1.js.map +1 -0
  371. package/dist/rfc64/catalog-replay-generation-v1.d.ts +43 -0
  372. package/dist/rfc64/catalog-replay-generation-v1.d.ts.map +1 -0
  373. package/dist/rfc64/catalog-replay-generation-v1.js +54 -0
  374. package/dist/rfc64/catalog-replay-generation-v1.js.map +1 -0
  375. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +86 -0
  376. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -0
  377. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +528 -0
  378. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -0
  379. package/dist/rfc64/catalog-responsibility-registry-v1.d.ts.map +1 -1
  380. package/dist/rfc64/catalog-responsibility-registry-v1.js +2 -1
  381. package/dist/rfc64/catalog-responsibility-registry-v1.js.map +1 -1
  382. package/dist/rfc64/catalog-rollout-authority-v1.d.ts +36 -3
  383. package/dist/rfc64/catalog-rollout-authority-v1.d.ts.map +1 -1
  384. package/dist/rfc64/catalog-rollout-authority-v1.js +74 -22
  385. package/dist/rfc64/catalog-rollout-authority-v1.js.map +1 -1
  386. package/dist/rfc64/catalog-runtime-v1.d.ts +4 -0
  387. package/dist/rfc64/catalog-runtime-v1.d.ts.map +1 -1
  388. package/dist/rfc64/catalog-runtime-v1.js.map +1 -1
  389. package/dist/rfc64/catalog-shadow-observability-v1.d.ts +136 -0
  390. package/dist/rfc64/catalog-shadow-observability-v1.d.ts.map +1 -0
  391. package/dist/rfc64/catalog-shadow-observability-v1.js +175 -0
  392. package/dist/rfc64/catalog-shadow-observability-v1.js.map +1 -0
  393. package/dist/rfc64/catalog-transport-authorization-v1.d.ts.map +1 -1
  394. package/dist/rfc64/catalog-transport-authorization-v1.js +20 -13
  395. package/dist/rfc64/catalog-transport-authorization-v1.js.map +1 -1
  396. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.d.ts +28 -0
  397. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.d.ts.map +1 -0
  398. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.js +78 -0
  399. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.js.map +1 -0
  400. package/dist/rfc64/finalized-policy-agent-precommit-v1.d.ts +14 -0
  401. package/dist/rfc64/finalized-policy-agent-precommit-v1.d.ts.map +1 -1
  402. package/dist/rfc64/finalized-policy-agent-precommit-v1.js +10 -0
  403. package/dist/rfc64/finalized-policy-agent-precommit-v1.js.map +1 -1
  404. package/dist/rfc64/finalized-vm-agent-precommit-v1.d.ts +6 -0
  405. package/dist/rfc64/finalized-vm-agent-precommit-v1.d.ts.map +1 -1
  406. package/dist/rfc64/finalized-vm-agent-precommit-v1.js +2 -1
  407. package/dist/rfc64/finalized-vm-agent-precommit-v1.js.map +1 -1
  408. package/dist/rfc64/inventory-v1/candidate.d.ts +13 -5
  409. package/dist/rfc64/inventory-v1/candidate.d.ts.map +1 -1
  410. package/dist/rfc64/inventory-v1/candidate.js +133 -3
  411. package/dist/rfc64/inventory-v1/candidate.js.map +1 -1
  412. package/dist/rfc64/inventory-v1/index.d.ts +1 -1
  413. package/dist/rfc64/inventory-v1/index.d.ts.map +1 -1
  414. package/dist/rfc64/inventory-v1/index.js.map +1 -1
  415. package/dist/rfc64/inventory-v1/open.d.ts.map +1 -1
  416. package/dist/rfc64/inventory-v1/open.js +28 -3
  417. package/dist/rfc64/inventory-v1/open.js.map +1 -1
  418. package/dist/rfc64/inventory-v1/sql.d.ts +13 -1
  419. package/dist/rfc64/inventory-v1/sql.d.ts.map +1 -1
  420. package/dist/rfc64/inventory-v1/sql.js +42 -2
  421. package/dist/rfc64/inventory-v1/sql.js.map +1 -1
  422. package/dist/rfc64/inventory-v1/statements.d.ts +10 -2
  423. package/dist/rfc64/inventory-v1/statements.d.ts.map +1 -1
  424. package/dist/rfc64/inventory-v1/statements.js +35 -0
  425. package/dist/rfc64/inventory-v1/statements.js.map +1 -1
  426. package/dist/rfc64/inventory-v1/swm-author-inventory-auth-v1.d.ts +9 -1
  427. package/dist/rfc64/inventory-v1/swm-author-inventory-auth-v1.d.ts.map +1 -1
  428. package/dist/rfc64/inventory-v1/swm-author-inventory-auth-v1.js +50 -0
  429. package/dist/rfc64/inventory-v1/swm-author-inventory-auth-v1.js.map +1 -1
  430. package/dist/rfc64/inventory-v1/swm-author-inventory-commit-plan.d.ts +16 -1
  431. package/dist/rfc64/inventory-v1/swm-author-inventory-commit-plan.d.ts.map +1 -1
  432. package/dist/rfc64/inventory-v1/swm-author-inventory-commit-plan.js +28 -0
  433. package/dist/rfc64/inventory-v1/swm-author-inventory-commit-plan.js.map +1 -1
  434. package/dist/rfc64/inventory-v1/swm-author-inventory-contracts.d.ts +19 -1
  435. package/dist/rfc64/inventory-v1/swm-author-inventory-contracts.d.ts.map +1 -1
  436. package/dist/rfc64/inventory-v1/swm-author-inventory-contracts.js.map +1 -1
  437. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts +5 -1
  438. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts.map +1 -1
  439. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js +137 -13
  440. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js.map +1 -1
  441. package/dist/rfc64/inventory-v1/swm-author-inventory-sql-codec.d.ts +2 -2
  442. package/dist/rfc64/inventory-v1/swm-author-inventory-sql-codec.d.ts.map +1 -1
  443. package/dist/rfc64/inventory-v1/swm-author-inventory-sql-codec.js.map +1 -1
  444. package/dist/rfc64/legacy-swm-boundary-v1.d.ts +35 -0
  445. package/dist/rfc64/legacy-swm-boundary-v1.d.ts.map +1 -1
  446. package/dist/rfc64/legacy-swm-boundary-v1.js +301 -75
  447. package/dist/rfc64/legacy-swm-boundary-v1.js.map +1 -1
  448. package/dist/rfc64/persistence-v1.d.ts +3 -0
  449. package/dist/rfc64/persistence-v1.d.ts.map +1 -1
  450. package/dist/rfc64/persistence-v1.js +16 -2
  451. package/dist/rfc64/persistence-v1.js.map +1 -1
  452. package/dist/rfc64/public-catalog-activation-config-v1.d.ts +41 -2
  453. package/dist/rfc64/public-catalog-activation-config-v1.d.ts.map +1 -1
  454. package/dist/rfc64/public-catalog-activation-config-v1.js +212 -18
  455. package/dist/rfc64/public-catalog-activation-config-v1.js.map +1 -1
  456. package/dist/rfc64/public-catalog-native-receiver-v1.d.ts +29 -0
  457. package/dist/rfc64/public-catalog-native-receiver-v1.d.ts.map +1 -1
  458. package/dist/rfc64/public-catalog-native-receiver-v1.js +381 -262
  459. package/dist/rfc64/public-catalog-native-receiver-v1.js.map +1 -1
  460. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts +5 -3
  461. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts.map +1 -1
  462. package/dist/rfc64/public-catalog-native-reconciler-v1.js +20 -7
  463. package/dist/rfc64/public-catalog-native-reconciler-v1.js.map +1 -1
  464. package/dist/rfc64/public-catalog-native-transport-v1.d.ts.map +1 -1
  465. package/dist/rfc64/public-catalog-native-transport-v1.js +26 -23
  466. package/dist/rfc64/public-catalog-native-transport-v1.js.map +1 -1
  467. package/dist/rfc64/public-catalog-receiver-task-lifecycle-v1.d.ts +32 -6
  468. package/dist/rfc64/public-catalog-receiver-task-lifecycle-v1.d.ts.map +1 -1
  469. package/dist/rfc64/public-catalog-receiver-task-lifecycle-v1.js +60 -16
  470. package/dist/rfc64/public-catalog-receiver-task-lifecycle-v1.js.map +1 -1
  471. package/dist/rfc64/public-catalog-receiver-v1.d.ts +66 -7
  472. package/dist/rfc64/public-catalog-receiver-v1.d.ts.map +1 -1
  473. package/dist/rfc64/public-catalog-receiver-v1.js +255 -48
  474. package/dist/rfc64/public-catalog-receiver-v1.js.map +1 -1
  475. package/dist/rfc64/public-catalog-service-v1.d.ts +105 -0
  476. package/dist/rfc64/public-catalog-service-v1.d.ts.map +1 -1
  477. package/dist/rfc64/public-catalog-service-v1.js +468 -17
  478. package/dist/rfc64/public-catalog-service-v1.js.map +1 -1
  479. package/dist/rfc64/public-catalog-transport-v1.d.ts.map +1 -1
  480. package/dist/rfc64/public-catalog-transport-v1.js +12 -10
  481. package/dist/rfc64/public-catalog-transport-v1.js.map +1 -1
  482. package/dist/rfc64/public-catalog-workload-owner-v1.d.ts +7 -2
  483. package/dist/rfc64/public-catalog-workload-owner-v1.d.ts.map +1 -1
  484. package/dist/rfc64/public-catalog-workload-owner-v1.js +13 -0
  485. package/dist/rfc64/public-catalog-workload-owner-v1.js.map +1 -1
  486. package/dist/rfc64/swm-author-inventory-producer-v1.d.ts +19 -0
  487. package/dist/rfc64/swm-author-inventory-producer-v1.d.ts.map +1 -1
  488. package/dist/rfc64/swm-author-inventory-producer-v1.js +154 -0
  489. package/dist/rfc64/swm-author-inventory-producer-v1.js.map +1 -1
  490. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.d.ts.map +1 -1
  491. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js +29 -17
  492. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js.map +1 -1
  493. package/dist/rfc64/unregistered-authority-seed-store-v1.d.ts +57 -0
  494. package/dist/rfc64/unregistered-authority-seed-store-v1.d.ts.map +1 -0
  495. package/dist/rfc64/unregistered-authority-seed-store-v1.js +97 -0
  496. package/dist/rfc64/unregistered-authority-seed-store-v1.js.map +1 -0
  497. package/dist/rfc64/unregistered-authority-transport-v1.d.ts +131 -0
  498. package/dist/rfc64/unregistered-authority-transport-v1.d.ts.map +1 -0
  499. package/dist/rfc64/unregistered-authority-transport-v1.js +379 -0
  500. package/dist/rfc64/unregistered-authority-transport-v1.js.map +1 -0
  501. package/dist/rfc64/unregistered-replica-authority-v1.d.ts +114 -0
  502. package/dist/rfc64/unregistered-replica-authority-v1.d.ts.map +1 -0
  503. package/dist/rfc64/unregistered-replica-authority-v1.js +242 -0
  504. package/dist/rfc64/unregistered-replica-authority-v1.js.map +1 -0
  505. package/dist/sqlite/module-loader-v1.d.ts +6 -1
  506. package/dist/sqlite/module-loader-v1.d.ts.map +1 -1
  507. package/dist/sqlite/module-loader-v1.js +5 -3
  508. package/dist/sqlite/module-loader-v1.js.map +1 -1
  509. package/dist/swm/swm-catchup-peer-selection.d.ts +11 -1
  510. package/dist/swm/swm-catchup-peer-selection.d.ts.map +1 -1
  511. package/dist/swm/swm-catchup-peer-selection.js +18 -1
  512. package/dist/swm/swm-catchup-peer-selection.js.map +1 -1
  513. package/dist/sync/auth/request-authorize.d.ts.map +1 -1
  514. package/dist/sync/auth/request-authorize.js +4 -3
  515. package/dist/sync/auth/request-authorize.js.map +1 -1
  516. package/dist/sync/durable-integrity.d.ts.map +1 -1
  517. package/dist/sync/durable-integrity.js +52 -64
  518. package/dist/sync/durable-integrity.js.map +1 -1
  519. package/dist/sync/exact-asset-fetch.d.ts +6 -0
  520. package/dist/sync/exact-asset-fetch.d.ts.map +1 -1
  521. package/dist/sync/exact-asset-fetch.js +1 -0
  522. package/dist/sync/exact-asset-fetch.js.map +1 -1
  523. package/dist/sync/graph-scoped-swm-recovery.d.ts +28 -7
  524. package/dist/sync/graph-scoped-swm-recovery.d.ts.map +1 -1
  525. package/dist/sync/graph-scoped-swm-recovery.js +262 -121
  526. package/dist/sync/graph-scoped-swm-recovery.js.map +1 -1
  527. package/dist/sync/memory-telemetry.d.ts +1 -1
  528. package/dist/sync/memory-telemetry.d.ts.map +1 -1
  529. package/dist/sync/metadata-literal.d.ts +4 -0
  530. package/dist/sync/metadata-literal.d.ts.map +1 -0
  531. package/dist/sync/metadata-literal.js +6 -0
  532. package/dist/sync/metadata-literal.js.map +1 -0
  533. package/dist/sync/on-connect/attempt-accounting.d.ts.map +1 -1
  534. package/dist/sync/on-connect/attempt-accounting.js +10 -5
  535. package/dist/sync/on-connect/attempt-accounting.js.map +1 -1
  536. package/dist/sync/on-connect/peer-job-runner.d.ts +4 -1
  537. package/dist/sync/on-connect/peer-job-runner.d.ts.map +1 -1
  538. package/dist/sync/on-connect/peer-job-runner.js +16 -2
  539. package/dist/sync/on-connect/peer-job-runner.js.map +1 -1
  540. package/dist/sync/on-connect/peer-scheduler.d.ts +3 -0
  541. package/dist/sync/on-connect/peer-scheduler.d.ts.map +1 -1
  542. package/dist/sync/on-connect/peer-scheduler.js +15 -0
  543. package/dist/sync/on-connect/peer-scheduler.js.map +1 -1
  544. package/dist/sync/on-connect/sync-on-connect.d.ts +38 -4
  545. package/dist/sync/on-connect/sync-on-connect.d.ts.map +1 -1
  546. package/dist/sync/on-connect/sync-on-connect.js +114 -10
  547. package/dist/sync/on-connect/sync-on-connect.js.map +1 -1
  548. package/dist/sync/peer-connection.d.ts +24 -0
  549. package/dist/sync/peer-connection.d.ts.map +1 -0
  550. package/dist/sync/peer-connection.js +75 -0
  551. package/dist/sync/peer-connection.js.map +1 -0
  552. package/dist/sync/peer-sync-session.d.ts +59 -0
  553. package/dist/sync/peer-sync-session.d.ts.map +1 -0
  554. package/dist/sync/peer-sync-session.js +139 -0
  555. package/dist/sync/peer-sync-session.js.map +1 -0
  556. package/dist/sync/requester/durable-sync.d.ts +4 -2
  557. package/dist/sync/requester/durable-sync.d.ts.map +1 -1
  558. package/dist/sync/requester/durable-sync.js +53 -9
  559. package/dist/sync/requester/durable-sync.js.map +1 -1
  560. package/dist/sync/requester/entity-slice-recovery.d.ts +53 -0
  561. package/dist/sync/requester/entity-slice-recovery.d.ts.map +1 -0
  562. package/dist/sync/requester/entity-slice-recovery.js +77 -0
  563. package/dist/sync/requester/entity-slice-recovery.js.map +1 -0
  564. package/dist/sync/requester/exact-durable-fetch.d.ts +27 -0
  565. package/dist/sync/requester/exact-durable-fetch.d.ts.map +1 -1
  566. package/dist/sync/requester/exact-durable-fetch.js +39 -10
  567. package/dist/sync/requester/exact-durable-fetch.js.map +1 -1
  568. package/dist/sync/requester/graph-scoped-materialization.d.ts.map +1 -1
  569. package/dist/sync/requester/graph-scoped-materialization.js +17 -2
  570. package/dist/sync/requester/graph-scoped-materialization.js.map +1 -1
  571. package/dist/sync/requester/manifest-bound-snapshot-walk.d.ts +55 -0
  572. package/dist/sync/requester/manifest-bound-snapshot-walk.d.ts.map +1 -0
  573. package/dist/sync/requester/manifest-bound-snapshot-walk.js +197 -0
  574. package/dist/sync/requester/manifest-bound-snapshot-walk.js.map +1 -0
  575. package/dist/sync/requester/page-fetch.d.ts +11 -3
  576. package/dist/sync/requester/page-fetch.d.ts.map +1 -1
  577. package/dist/sync/requester/page-fetch.js +208 -174
  578. package/dist/sync/requester/page-fetch.js.map +1 -1
  579. package/dist/sync/requester/private-swm-recovery-budget.d.ts +14 -0
  580. package/dist/sync/requester/private-swm-recovery-budget.d.ts.map +1 -0
  581. package/dist/sync/requester/private-swm-recovery-budget.js +39 -0
  582. package/dist/sync/requester/private-swm-recovery-budget.js.map +1 -0
  583. package/dist/sync/requester/private-swm-snapshot-walk-registry.d.ts +44 -0
  584. package/dist/sync/requester/private-swm-snapshot-walk-registry.d.ts.map +1 -0
  585. package/dist/sync/requester/private-swm-snapshot-walk-registry.js +96 -0
  586. package/dist/sync/requester/private-swm-snapshot-walk-registry.js.map +1 -0
  587. package/dist/sync/requester/shared-memory-sync.d.ts +37 -88
  588. package/dist/sync/requester/shared-memory-sync.d.ts.map +1 -1
  589. package/dist/sync/requester/shared-memory-sync.js +352 -226
  590. package/dist/sync/requester/shared-memory-sync.js.map +1 -1
  591. package/dist/sync/requester/swm-recovery-apply.d.ts +4 -1
  592. package/dist/sync/requester/swm-recovery-apply.d.ts.map +1 -1
  593. package/dist/sync/requester/swm-recovery-apply.js +105 -20
  594. package/dist/sync/requester/swm-recovery-apply.js.map +1 -1
  595. package/dist/sync/requester/swm-recovery.d.ts +44 -11
  596. package/dist/sync/requester/swm-recovery.d.ts.map +1 -1
  597. package/dist/sync/requester/swm-recovery.js +158 -34
  598. package/dist/sync/requester/swm-recovery.js.map +1 -1
  599. package/dist/sync/requester/swm-snapshot-materializer.d.ts +9 -0
  600. package/dist/sync/requester/swm-snapshot-materializer.d.ts.map +1 -1
  601. package/dist/sync/requester/swm-snapshot-materializer.js +45 -10
  602. package/dist/sync/requester/swm-snapshot-materializer.js.map +1 -1
  603. package/dist/sync/requester/swm-target-executor.d.ts +14 -5
  604. package/dist/sync/requester/swm-target-executor.d.ts.map +1 -1
  605. package/dist/sync/requester/swm-target-executor.js +36 -7
  606. package/dist/sync/requester/swm-target-executor.js.map +1 -1
  607. package/dist/sync/responder/graph-plan.d.ts +25 -1
  608. package/dist/sync/responder/graph-plan.d.ts.map +1 -1
  609. package/dist/sync/responder/graph-plan.js +304 -15
  610. package/dist/sync/responder/graph-plan.js.map +1 -1
  611. package/dist/sync/selected-swm-meta-budget.d.ts +11 -0
  612. package/dist/sync/selected-swm-meta-budget.d.ts.map +1 -1
  613. package/dist/sync/selected-swm-meta-budget.js +10 -0
  614. package/dist/sync/selected-swm-meta-budget.js.map +1 -1
  615. package/dist/sync/selected-swm-meta-fetcher.d.ts +2 -0
  616. package/dist/sync/selected-swm-meta-fetcher.d.ts.map +1 -1
  617. package/dist/sync/selected-swm-meta-fetcher.js +87 -73
  618. package/dist/sync/selected-swm-meta-fetcher.js.map +1 -1
  619. package/dist/sync/shared-memory-completion.d.ts +27 -0
  620. package/dist/sync/shared-memory-completion.d.ts.map +1 -0
  621. package/dist/sync/shared-memory-completion.js +28 -0
  622. package/dist/sync/shared-memory-completion.js.map +1 -0
  623. package/dist/sync/shared-memory-diagnostics.d.ts +106 -0
  624. package/dist/sync/shared-memory-diagnostics.d.ts.map +1 -0
  625. package/dist/sync/shared-memory-diagnostics.js +170 -0
  626. package/dist/sync/shared-memory-diagnostics.js.map +1 -0
  627. package/dist/sync/shared-memory-freshness.d.ts +2 -3
  628. package/dist/sync/shared-memory-freshness.d.ts.map +1 -1
  629. package/dist/sync/shared-memory-freshness.js +0 -9
  630. package/dist/sync/shared-memory-freshness.js.map +1 -1
  631. package/dist/sync/work-admission.d.ts +38 -0
  632. package/dist/sync/work-admission.d.ts.map +1 -0
  633. package/dist/sync/work-admission.js +70 -0
  634. package/dist/sync/work-admission.js.map +1 -0
  635. package/dist/unscoped-query-admission.d.ts +17 -0
  636. package/dist/unscoped-query-admission.d.ts.map +1 -0
  637. package/dist/unscoped-query-admission.js +69 -0
  638. package/dist/unscoped-query-admission.js.map +1 -0
  639. package/dist/unscoped-query-consistency.d.ts +20 -0
  640. package/dist/unscoped-query-consistency.d.ts.map +1 -0
  641. package/dist/unscoped-query-consistency.js +45 -0
  642. package/dist/unscoped-query-consistency.js.map +1 -0
  643. package/dist/vm-reconcile-dispatcher.d.ts +114 -0
  644. package/dist/vm-reconcile-dispatcher.d.ts.map +1 -0
  645. package/dist/vm-reconcile-dispatcher.js +456 -0
  646. package/dist/vm-reconcile-dispatcher.js.map +1 -0
  647. package/package.json +23 -9
  648. package/dist/rfc64/coalescing-supervisor-v1.d.ts +0 -24
  649. package/dist/rfc64/coalescing-supervisor-v1.d.ts.map +0 -1
  650. package/dist/rfc64/coalescing-supervisor-v1.js +0 -112
  651. package/dist/rfc64/coalescing-supervisor-v1.js.map +0 -1
package/README.md CHANGED
@@ -45,6 +45,30 @@ const agents = await agent.findAgents();
45
45
  const skills = await agent.findSkills({ skillType: 'sentiment-analysis' });
46
46
  ```
47
47
 
48
+ ## Bounded peer discovery
49
+
50
+ `DiscoveryClient.findAgentPeerPageByAddress(wallet, { limit, afterPeerId?, signal? })`
51
+ requires an integer limit from 1 to `MAX_AGENT_PEER_PAGE_SIZE` (1,024). It returns
52
+ `{ peerIds, nextAfterPeerId }`: peer IDs are unique and ordered, the cursor is
53
+ exclusive, and a null continuation means the query found no further row. The
54
+ query retains at most `limit + 1` rows and does not select optional profile fields.
55
+ The existing `findAgentPeerIdsByAddress(wallet, options?)` remains available as a
56
+ deprecated array-returning facade. It walks bounded pages internally, retaining
57
+ the full result only for callers explicitly using that legacy API.
58
+
59
+ Bounded recovery providers must implement the exported `AgentPeerDiscovery`
60
+ contract. Providers that cannot paginate must reject the lookup; bounded recovery
61
+ reports `lookupFailed` and never substitutes `findAgents()`. This also applies to
62
+ registry discovery during its metadata-refresh fallback. Legacy single-curator
63
+ metadata resolution and callers explicitly using the rich profile API retain
64
+ their existing behavior.
65
+
66
+ A page walk is not a snapshot of a changing registry. Recovery treats tail pages
67
+ as incomplete roster evidence even when a tail page has no continuation. Only a
68
+ fresh first-page query covering the entire bounded roster can support its existing
69
+ absence-proof checks. These local peer IDs do not themselves establish curator
70
+ authority.
71
+
48
72
  ## Internal Dependencies
49
73
 
50
74
  - `@origintrail-official/dkg-core` — P2P node, crypto, event bus
@@ -10,13 +10,16 @@ export type ActivePublicContextGraphChainProof = {
10
10
  detail?: string;
11
11
  };
12
12
  export type OnChainAccessPolicyState = 0 | 1 | 'unregistered' | 'unknown';
13
- export type OnChainAccessPolicyStateResolver = (contextGraphId: string, operationContext: OperationContext, options: {
14
- slotBindingMode: 'chain-attested-repair';
15
- }) => Promise<OnChainAccessPolicyState>;
13
+ export type FinalizedOnChainAccessPolicyStateResolver = (contextGraphId: string, operationContext: OperationContext) => Promise<OnChainAccessPolicyState>;
16
14
  export type OperationAwareActivePublicChainProofResolver = (contextGraphId: string, operationContext: OperationContext) => Promise<ActivePublicContextGraphChainProof>;
17
15
  export type BoundActivePublicChainProofResolver = (operationContext: OperationContext) => Promise<ActivePublicContextGraphChainProof>;
18
- /** Strict proof boundary: owns binding policy, RPC classification, and state conversion. */
19
- export declare function resolveActivePublicContextGraphChainProof(resolveOnChainAccessPolicyState: OnChainAccessPolicyStateResolver, contextGraphId: string, operationContext: OperationContext): Promise<ActivePublicContextGraphChainProof>;
16
+ /**
17
+ * Strict metadata-bootstrap proof boundary: owns binding policy, finalized
18
+ * authority-index consistency, RPC classification, and state conversion.
19
+ * Runtime SWM/publish policy gates do not use this resolver and retain fresh
20
+ * current-state reads.
21
+ */
22
+ export declare function resolveActivePublicContextGraphChainProof(resolveFinalizedOnChainAccessPolicyState: FinalizedOnChainAccessPolicyStateResolver, contextGraphId: string, operationContext: OperationContext): Promise<ActivePublicContextGraphChainProof>;
20
23
  /** Bind one lazy proof promise to one normalized graph for repair + confirmation reuse. */
21
24
  export declare function memoizeActivePublicContextGraphChainProof(contextGraphId: string, resolveProof: OperationAwareActivePublicChainProofResolver): BoundActivePublicChainProofResolver;
22
25
  //# sourceMappingURL=active-public-context-graph-chain-proof.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"active-public-context-graph-chain-proof.d.ts","sourceRoot":"","sources":["../src/active-public-context-graph-chain-proof.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,kCAAkC,GAC1C;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CAAA;CAAE,GAC3D;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,gCAAgC,GAAG,CAC7C,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE;IAAE,eAAe,EAAE,uBAAuB,CAAA;CAAE,KAClD,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEvC,MAAM,MAAM,4CAA4C,GAAG,CACzD,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEjD,MAAM,MAAM,mCAAmC,GAAG,CAChD,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEjD,4FAA4F;AAC5F,wBAAsB,yCAAyC,CAC7D,+BAA+B,EAAE,gCAAgC,EACjE,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,kCAAkC,CAAC,CAqB7C;AAED,2FAA2F;AAC3F,wBAAgB,yCAAyC,CACvD,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,4CAA4C,GACzD,mCAAmC,CAMrC"}
1
+ {"version":3,"file":"active-public-context-graph-chain-proof.d.ts","sourceRoot":"","sources":["../src/active-public-context-graph-chain-proof.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,kCAAkC,GAC1C;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CAAA;CAAE,GAC3D;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,yCAAyC,GAAG,CACtD,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEvC,MAAM,MAAM,4CAA4C,GAAG,CACzD,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEjD,MAAM,MAAM,mCAAmC,GAAG,CAChD,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,wBAAsB,yCAAyC,CAC7D,wCAAwC,EAAE,yCAAyC,EACnF,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,kCAAkC,CAAC,CAoB7C;AAED,2FAA2F;AAC3F,wBAAgB,yCAAyC,CACvD,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,4CAA4C,GACzD,mCAAmC,CAMrC"}
@@ -1,9 +1,14 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- /** Strict proof boundary: owns binding policy, RPC classification, and state conversion. */
3
- export async function resolveActivePublicContextGraphChainProof(resolveOnChainAccessPolicyState, contextGraphId, operationContext) {
2
+ /**
3
+ * Strict metadata-bootstrap proof boundary: owns binding policy, finalized
4
+ * authority-index consistency, RPC classification, and state conversion.
5
+ * Runtime SWM/publish policy gates do not use this resolver and retain fresh
6
+ * current-state reads.
7
+ */
8
+ export async function resolveActivePublicContextGraphChainProof(resolveFinalizedOnChainAccessPolicyState, contextGraphId, operationContext) {
4
9
  let state;
5
10
  try {
6
- state = await resolveOnChainAccessPolicyState(contextGraphId, operationContext, { slotBindingMode: 'chain-attested-repair' });
11
+ state = await resolveFinalizedOnChainAccessPolicyState(contextGraphId, operationContext);
7
12
  }
8
13
  catch (error) {
9
14
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"active-public-context-graph-chain-proof.js","sourceRoot":"","sources":["../src/active-public-context-graph-chain-proof.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA0BtC,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAC7D,+BAAiE,EACjE,cAAsB,EACtB,gBAAkC;IAElC,IAAI,KAA+B,CAAC;IACpC,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,+BAA+B,CAC3C,cAAc,EACd,gBAAgB,EAChB,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAC7C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC5C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACnE,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACpD,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yCAAyC,CACvD,cAAsB,EACtB,YAA0D;IAE1D,IAAI,KAA8D,CAAC;IACnE,OAAO,CAAC,gBAAgB,EAAE,EAAE;QAC1B,KAAK,KAAK,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"active-public-context-graph-chain-proof.js","sourceRoot":"","sources":["../src/active-public-context-graph-chain-proof.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAyBtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAC7D,wCAAmF,EACnF,cAAsB,EACtB,gBAAkC;IAElC,IAAI,KAA+B,CAAC;IACpC,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,wCAAwC,CACpD,cAAc,EACd,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC5C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACnE,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACpD,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yCAAyC,CACvD,cAAsB,EACtB,YAA0D;IAE1D,IAAI,KAA8D,CAAC;IACnE,OAAO,CAAC,gBAAgB,EAAE,EAAE;QAC1B,KAAK,KAAK,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ /** Maximum peer IDs in one wallet-registry page, excluding one lookahead row. */
2
+ export declare const MAX_AGENT_PEER_PAGE_SIZE = 1024;
3
+ export interface AgentPeerPageRequest {
4
+ /** Positive integer, at most MAX_AGENT_PEER_PAGE_SIZE. */
5
+ readonly limit: number;
6
+ /** Exclusive lexical peer-ID cursor; omit for the first page. */
7
+ readonly afterPeerId?: string;
8
+ readonly signal?: AbortSignal;
9
+ }
10
+ export interface AgentPeerPage {
11
+ /** Strictly increasing, duplicate-free peer IDs; at most request.limit. */
12
+ readonly peerIds: readonly string[];
13
+ /** Last returned peer ID when another row exists, otherwise null. */
14
+ readonly nextAfterPeerId: string | null;
15
+ }
16
+ /** Required capability for bounded recovery. Unsupported providers must reject. */
17
+ export interface AgentPeerDiscovery {
18
+ findAgentPeerPageByAddress(agentAddress: string, request: AgentPeerPageRequest): Promise<AgentPeerPage>;
19
+ }
20
+ export declare function validateAgentPeerPageRequest(request: AgentPeerPageRequest): void;
21
+ /** Reject a broken provider contract before treating a page as registry evidence. */
22
+ export declare function validateAgentPeerPage(page: unknown, request: AgentPeerPageRequest): AgentPeerPage;
23
+ export declare function readAgentPeerPage(discovery: AgentPeerDiscovery, agentAddress: string, request: AgentPeerPageRequest): Promise<AgentPeerPage>;
24
+ //# sourceMappingURL=agent-peer-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-peer-discovery.d.ts","sourceRoot":"","sources":["../src/agent-peer-discovery.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACzG;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAQhF;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA8BjG;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,kBAAkB,EAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAKxB"}
@@ -0,0 +1,50 @@
1
+ /** Maximum peer IDs in one wallet-registry page, excluding one lookahead row. */
2
+ export const MAX_AGENT_PEER_PAGE_SIZE = 1024;
3
+ export function validateAgentPeerPageRequest(request) {
4
+ if (!Number.isSafeInteger(request.limit) || request.limit < 1 || request.limit > MAX_AGENT_PEER_PAGE_SIZE) {
5
+ throw new RangeError(`Peer page limit must be an integer from 1 to ${MAX_AGENT_PEER_PAGE_SIZE}`);
6
+ }
7
+ if (request.afterPeerId !== undefined && (typeof request.afterPeerId !== 'string' || request.afterPeerId.length === 0)) {
8
+ throw new TypeError('Peer page cursor must be a nonempty string');
9
+ }
10
+ request.signal?.throwIfAborted();
11
+ }
12
+ /** Reject a broken provider contract before treating a page as registry evidence. */
13
+ export function validateAgentPeerPage(page, request) {
14
+ if (page === null || typeof page !== 'object' || Array.isArray(page)) {
15
+ throw new TypeError('Peer discovery returned an invalid page');
16
+ }
17
+ const { peerIds: rawPeerIds, nextAfterPeerId } = page;
18
+ if (!Array.isArray(rawPeerIds)) {
19
+ throw new Error('Peer discovery exceeded its page bound');
20
+ }
21
+ const peerCount = rawPeerIds.length;
22
+ if (!Number.isSafeInteger(peerCount) || peerCount < 0 || peerCount > request.limit) {
23
+ throw new Error('Peer discovery exceeded its page bound');
24
+ }
25
+ if (nextAfterPeerId !== null && typeof nextAfterPeerId !== 'string') {
26
+ throw new TypeError('Peer discovery returned an invalid continuation');
27
+ }
28
+ const peerIds = [];
29
+ let previous = request.afterPeerId;
30
+ for (let index = 0; index < peerCount; index++) {
31
+ const peerId = rawPeerIds[index];
32
+ if (typeof peerId !== 'string' || peerId.length === 0 || (previous !== undefined && peerId <= previous)) {
33
+ throw new Error('Peer discovery returned a non-monotonic page');
34
+ }
35
+ peerIds.push(peerId);
36
+ previous = peerId;
37
+ }
38
+ if (nextAfterPeerId !== null && (peerIds.length !== request.limit || nextAfterPeerId !== previous)) {
39
+ throw new Error('Peer discovery returned an invalid continuation');
40
+ }
41
+ request.signal?.throwIfAborted();
42
+ return { peerIds, nextAfterPeerId };
43
+ }
44
+ export async function readAgentPeerPage(discovery, agentAddress, request) {
45
+ const boundedRequest = Object.freeze({ ...request });
46
+ validateAgentPeerPageRequest(boundedRequest);
47
+ const page = await discovery.findAgentPeerPageByAddress(agentAddress, boundedRequest);
48
+ return validateAgentPeerPage(page, boundedRequest);
49
+ }
50
+ //# sourceMappingURL=agent-peer-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-peer-discovery.js","sourceRoot":"","sources":["../src/agent-peer-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type NormalizedAuthorityIndexSnapshotConfig } from './authority-index-snapshot-service.js';
2
+ /** Explicit trust in the history supplied by these core PeerIDs. */
3
+ export interface AuthorityIndexConfig {
4
+ mode: 'core-snapshot';
5
+ trustedCorePeers: readonly string[];
6
+ maxTailBlocks?: number;
7
+ /** Increment to discard cached trusted history while keeping the same peers. */
8
+ cacheEpoch?: number;
9
+ }
10
+ export interface ResolvedAuthorityIndexConfig extends AuthorityIndexConfig {
11
+ readonly maxTailBlocks: number;
12
+ readonly cacheEpoch: number;
13
+ /** Canonical identities retained for transport and persistence namespacing. */
14
+ readonly snapshot: NormalizedAuthorityIndexSnapshotConfig;
15
+ }
16
+ /**
17
+ * `nodeRole` is required: this resolver's job includes rejecting cores, so a
18
+ * default would silently opt an embedder's unlabelled core out of that rule.
19
+ */
20
+ export declare function resolveAuthorityIndexConfig(config: unknown, nodeRole: 'core' | 'edge'): ResolvedAuthorityIndexConfig | undefined;
21
+ //# sourceMappingURL=authority-index-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-index-config.d.ts","sourceRoot":"","sources":["../src/authority-index-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,sCAAsC,EAC5C,MAAM,uCAAuC,CAAC;AAI/C,oEAAoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;CAC3D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,4BAA4B,GAAG,SAAS,CA6C1C"}
@@ -0,0 +1,55 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { normalizeAuthorityIndexSnapshotConfig, } from './authority-index-snapshot-service.js';
3
+ const resolvedConfigs = new WeakSet();
4
+ /**
5
+ * `nodeRole` is required: this resolver's job includes rejecting cores, so a
6
+ * default would silently opt an embedder's unlabelled core out of that rule.
7
+ */
8
+ export function resolveAuthorityIndexConfig(config, nodeRole) {
9
+ if (config === undefined)
10
+ return undefined;
11
+ if (config === null || typeof config !== 'object' || Array.isArray(config)) {
12
+ throw new TypeError('authorityIndex must be an object');
13
+ }
14
+ const allowedKeys = new Set(['mode', 'trustedCorePeers', 'maxTailBlocks', 'cacheEpoch']);
15
+ const unknownKeys = Object.keys(config).filter((key) => !allowedKeys.has(key));
16
+ if (unknownKeys.length > 0) {
17
+ throw new TypeError(`Unknown authorityIndex option(s): ${unknownKeys.join(', ')}. `
18
+ + 'Supported options: mode, trustedCorePeers, maxTailBlocks, cacheEpoch');
19
+ }
20
+ const value = config;
21
+ const cacheEpoch = value.cacheEpoch === undefined ? 0 : value.cacheEpoch;
22
+ if (!Number.isSafeInteger(cacheEpoch) || cacheEpoch < 0) {
23
+ throw new TypeError('authorityIndex.cacheEpoch must be a non-negative safe integer');
24
+ }
25
+ if (value.mode !== 'core-snapshot') {
26
+ throw new TypeError('authorityIndex.mode must be core-snapshot');
27
+ }
28
+ if (nodeRole !== 'edge') {
29
+ throw new TypeError('authorityIndex core-snapshot mode is only supported on edge nodes');
30
+ }
31
+ // The daemon validates before allocating resources, then passes this same
32
+ // immutable value to DKGAgent.create. Only our own objects bypass re-parsing.
33
+ if (resolvedConfigs.has(config))
34
+ return config;
35
+ try {
36
+ const normalized = normalizeAuthorityIndexSnapshotConfig(value);
37
+ const resolved = {
38
+ mode: 'core-snapshot',
39
+ trustedCorePeers: Object.freeze(normalized.trustedCorePeers.map((peer) => peer.multiaddr)),
40
+ maxTailBlocks: normalized.maxTailBlocks,
41
+ cacheEpoch,
42
+ snapshot: normalized,
43
+ };
44
+ // Persisted config keeps its public wire shape; parsed runtime metadata must
45
+ // not become an unknown field when a caller serializes a resolved config.
46
+ Object.defineProperty(resolved, 'snapshot', { enumerable: false });
47
+ Object.freeze(resolved);
48
+ resolvedConfigs.add(resolved);
49
+ return resolved;
50
+ }
51
+ catch (cause) {
52
+ throw new TypeError(`authorityIndex: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
53
+ }
54
+ }
55
+ //# sourceMappingURL=authority-index-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-index-config.js","sourceRoot":"","sources":["../src/authority-index-config.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EACL,qCAAqC,GAEtC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,eAAe,GAAG,IAAI,OAAO,EAAU,CAAC;AAkB9C;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAe,EACf,QAAyB;IAEzB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,qCAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cAC7D,sEAAsE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAuC,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;IAC3F,CAAC;IACD,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAsC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,qCAAqC,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,eAAwB;YAC9B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1F,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,UAAU;YACV,QAAQ,EAAE,UAAU;SACrB,CAAC;QACF,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,SAAS,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { type ContextGraphAuthorityIndexSnapshotRequest } from '@origintrail-official/dkg-chain';
2
+ import { type AuthorityIndexSnapshotConfig, type AuthorityIndexSnapshotPeer, type NormalizedAuthorityIndexSnapshotConfig } from './authority-index-snapshot-config.js';
3
+ import { type Status } from './authority-index-snapshot-wire.js';
4
+ export interface AuthorityIndexSnapshotTransportOptions {
5
+ readonly signal: AbortSignal;
6
+ readonly timeoutMs: number;
7
+ readonly maxReadBytes: number;
8
+ readonly payloadReuse: 'single-use';
9
+ }
10
+ export type AuthorityIndexSnapshotClientOptions = ({
11
+ readonly config: AuthorityIndexSnapshotConfig;
12
+ readonly normalizedConfig?: never;
13
+ } | {
14
+ readonly normalizedConfig: NormalizedAuthorityIndexSnapshotConfig;
15
+ readonly config?: never;
16
+ }) & {
17
+ /**
18
+ * Prime peer.multiaddr, then call ProtocolRouter.send(peer.peerId, protocol, ...).
19
+ * The router's authenticated Noise connection binds the response to that exact
20
+ * configured PeerID. Never implement this callback with a response-claimed ID.
21
+ * Pass the complete options object: single-use bypasses pooled buffering and
22
+ * maxReadBytes aborts the response stream before its wire budget is exceeded.
23
+ */
24
+ readonly request: (peer: AuthorityIndexSnapshotPeer, bytes: Uint8Array, options: AuthorityIndexSnapshotTransportOptions) => Promise<Uint8Array>;
25
+ readonly timeoutMs?: number;
26
+ /** One peer walk, including chain admission, never gets more than 30 seconds. */
27
+ readonly overallTimeoutMs?: number;
28
+ };
29
+ export declare class AuthorityIndexSnapshotUnavailableError extends AggregateError {
30
+ readonly code = "AUTHORITY_INDEX_SNAPSHOT_UNAVAILABLE";
31
+ constructor(errors: readonly unknown[]);
32
+ }
33
+ export declare class AuthorityIndexSnapshotPeerStatusError extends Error {
34
+ readonly peerId: string;
35
+ readonly status: Status;
36
+ constructor(peerId: string, status: Status);
37
+ }
38
+ /** Ordered, bounded failover; no discovery, multicast, or durable message outbox. */
39
+ export declare function createAuthorityIndexSnapshotClient(options: AuthorityIndexSnapshotClientOptions): {
40
+ fetchSnapshot(request: ContextGraphAuthorityIndexSnapshotRequest, signal?: AbortSignal, validateSnapshot?: (snapshot: unknown, signal?: AbortSignal) => Promise<void>): Promise<unknown>;
41
+ };
42
+ //# sourceMappingURL=authority-index-snapshot-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-index-snapshot-client.d.ts","sourceRoot":"","sources":["../src/authority-index-snapshot-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,yCAAyC,EAC/C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC5C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAUL,KAAK,MAAM,EACZ,MAAM,oCAAoC,CAAC;AAI5C,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED,MAAM,MAAM,mCAAmC,GAAG,CAC9C;IAAE,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CACjG,GAAG;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,0BAA0B,EAChC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,sCAAsC,KAC5C,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,qBAAa,sCAAuC,SAAQ,cAAc;IACxE,QAAQ,CAAC,IAAI,0CAA0C;gBAE3C,MAAM,EAAE,SAAS,OAAO,EAAE;CAIvC;AAED,qBAAa,qCAAsC,SAAQ,KAAK;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAvC,MAAM,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAI7D;AAED,qFAAqF;AACrF,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,mCAAmC,GAAG;IAChG,aAAa,CACX,OAAO,EAAE,yCAAyC,EAClD,MAAM,CAAC,EAAE,WAAW,EACpB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAC5E,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB,CAiGA"}
@@ -0,0 +1,119 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { CONTEXT_GRAPH_AUTHORITY_INDEX_BOOTSTRAP_TIMEOUT_MS, decodeContextGraphAuthorityIndexSnapshot, } from '@origintrail-official/dkg-chain';
3
+ import { normalizeAuthorityIndexSnapshotConfig, } from './authority-index-snapshot-config.js';
4
+ import { AUTHORITY_INDEX_SNAPSHOT_MAX_REQUEST_BYTES, AUTHORITY_INDEX_SNAPSHOT_MAX_RESPONSE_BYTES, encoder, exactKeys, hasSnapshotEnvelopeKeys, parseBounded, record, STATUSES, validateRequest, } from './authority-index-snapshot-wire.js';
5
+ const DEFAULT_TIMEOUT_MS = 10_000;
6
+ export class AuthorityIndexSnapshotUnavailableError extends AggregateError {
7
+ code = 'AUTHORITY_INDEX_SNAPSHOT_UNAVAILABLE';
8
+ constructor(errors) {
9
+ super(errors, 'No configured trusted core supplied a usable authority index snapshot; retry later');
10
+ this.name = 'AuthorityIndexSnapshotUnavailableError';
11
+ }
12
+ }
13
+ export class AuthorityIndexSnapshotPeerStatusError extends Error {
14
+ peerId;
15
+ status;
16
+ constructor(peerId, status) {
17
+ super(`Authority index core ${peerId} replied ${status}`);
18
+ this.peerId = peerId;
19
+ this.status = status;
20
+ this.name = 'AuthorityIndexSnapshotPeerStatusError';
21
+ }
22
+ }
23
+ /** Ordered, bounded failover; no discovery, multicast, or durable message outbox. */
24
+ export function createAuthorityIndexSnapshotClient(options) {
25
+ const config = options.normalizedConfig ?? normalizeAuthorityIndexSnapshotConfig(options.config);
26
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
27
+ if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > DEFAULT_TIMEOUT_MS) {
28
+ throw new Error('Authority index snapshot timeout must be an integer between 1 and 10000 ms');
29
+ }
30
+ const overallTimeoutMs = options.overallTimeoutMs ?? CONTEXT_GRAPH_AUTHORITY_INDEX_BOOTSTRAP_TIMEOUT_MS;
31
+ if (!Number.isSafeInteger(overallTimeoutMs) || overallTimeoutMs < 1
32
+ || overallTimeoutMs > CONTEXT_GRAPH_AUTHORITY_INDEX_BOOTSTRAP_TIMEOUT_MS) {
33
+ throw new Error('Authority index snapshot overall timeout must be an integer between 1 and 30000 ms');
34
+ }
35
+ return Object.freeze({
36
+ async fetchSnapshot(rawRequest, signal, validateSnapshot) {
37
+ signal?.throwIfAborted();
38
+ const request = validateRequest(rawRequest, config.maxTailBlocks);
39
+ const bytes = encoder.encode(JSON.stringify({ version: 1, request }));
40
+ if (bytes.byteLength > AUTHORITY_INDEX_SNAPSHOT_MAX_REQUEST_BYTES) {
41
+ throw new Error('Authority index snapshot request exceeds wire limit');
42
+ }
43
+ const failures = [];
44
+ const overall = new AbortController();
45
+ const forwardOverallAbort = () => overall.abort(signal.reason);
46
+ signal?.addEventListener('abort', forwardOverallAbort, { once: true });
47
+ const overallDeadline = Date.now() + overallTimeoutMs;
48
+ const overallTimer = setTimeout(() => overall.abort(new Error('Authority index snapshot total seed deadline exceeded')), overallTimeoutMs);
49
+ try {
50
+ for (const peer of config.trustedCorePeers) {
51
+ signal?.throwIfAborted();
52
+ if (overall.signal.aborted)
53
+ break;
54
+ const attempt = new AbortController();
55
+ const forwardAbort = () => attempt.abort(overall.signal.reason);
56
+ overall.signal.addEventListener('abort', forwardAbort, { once: true });
57
+ const attemptTimeoutMs = Math.min(timeoutMs, Math.max(1, overallDeadline - Date.now()));
58
+ const timeout = setTimeout(() => attempt.abort(new Error(`Authority index snapshot peer ${peer.peerId} timeout`)), attemptTimeoutMs);
59
+ let onAttemptAbort;
60
+ try {
61
+ const aborted = new Promise((_, reject) => {
62
+ onAttemptAbort = () => reject(attempt.signal.reason);
63
+ attempt.signal.addEventListener('abort', onAttemptAbort, { once: true });
64
+ });
65
+ const fetched = (async () => {
66
+ const responseBytes = await options.request(peer, bytes, {
67
+ signal: attempt.signal,
68
+ timeoutMs: attemptTimeoutMs,
69
+ maxReadBytes: AUTHORITY_INDEX_SNAPSHOT_MAX_RESPONSE_BYTES,
70
+ payloadReuse: 'single-use',
71
+ });
72
+ attempt.signal.throwIfAborted();
73
+ const response = record(parseBounded(responseBytes, AUTHORITY_INDEX_SNAPSHOT_MAX_RESPONSE_BYTES));
74
+ if (response?.version === 1 && typeof response.status === 'string'
75
+ && STATUSES.has(response.status) && exactKeys(response, ['version', 'status'])) {
76
+ throw new AuthorityIndexSnapshotPeerStatusError(peer.peerId, response.status);
77
+ }
78
+ if (!response || response.version !== 1 || response.status !== 'ok'
79
+ || !exactKeys(response, ['version', 'status', 'snapshot'])) {
80
+ throw new Error('Authority index core snapshot invalid response');
81
+ }
82
+ const snapshot = response.snapshot;
83
+ if (!hasSnapshotEnvelopeKeys(snapshot)
84
+ || decodeContextGraphAuthorityIndexSnapshot(snapshot, request) === undefined) {
85
+ throw new Error('Invalid authority index snapshot envelope, scope, coverage, or integrity');
86
+ }
87
+ // Canonical hash/integrity errors try the next trusted provider,
88
+ // inside both the per-peer and physical seed deadline.
89
+ await validateSnapshot?.(snapshot, attempt.signal);
90
+ attempt.signal.throwIfAborted();
91
+ return snapshot;
92
+ })();
93
+ return await Promise.race([fetched, aborted]);
94
+ }
95
+ catch (error) {
96
+ signal?.throwIfAborted();
97
+ failures.push(error);
98
+ }
99
+ finally {
100
+ clearTimeout(timeout);
101
+ overall.signal.removeEventListener('abort', forwardAbort);
102
+ if (onAttemptAbort)
103
+ attempt.signal.removeEventListener('abort', onAttemptAbort);
104
+ }
105
+ }
106
+ if (overall.signal.aborted && !failures.includes(overall.signal.reason)) {
107
+ failures.push(overall.signal.reason);
108
+ }
109
+ // Retry classification and cooldown belong to the chain bootstrap owner.
110
+ throw new AuthorityIndexSnapshotUnavailableError(failures);
111
+ }
112
+ finally {
113
+ clearTimeout(overallTimer);
114
+ signal?.removeEventListener('abort', forwardOverallAbort);
115
+ }
116
+ },
117
+ });
118
+ }
119
+ //# sourceMappingURL=authority-index-snapshot-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-index-snapshot-client.js","sourceRoot":"","sources":["../src/authority-index-snapshot-client.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EACL,kDAAkD,EAClD,wCAAwC,GAEzC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,qCAAqC,GAItC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,0CAA0C,EAC1C,2CAA2C,EAC3C,OAAO,EACP,SAAS,EACT,uBAAuB,EACvB,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AA8BlC,MAAM,OAAO,sCAAuC,SAAQ,cAAc;IAC/D,IAAI,GAAG,sCAAsC,CAAC;IAEvD,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,EAAE,oFAAoF,CAAC,CAAC;QACpG,IAAI,CAAC,IAAI,GAAG,wCAAwC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,KAAK;IACzC;IAAyB;IAA9C,YAAqB,MAAc,EAAW,MAAc;QAC1D,KAAK,CAAC,wBAAwB,MAAM,YAAY,MAAM,EAAE,CAAC,CAAC;QADvC,WAAM,GAAN,MAAM,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAE1D,IAAI,CAAC,IAAI,GAAG,uCAAuC,CAAC;IACtD,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,UAAU,kCAAkC,CAAC,OAA4C;IAO7F,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,IAAI,qCAAqC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,kDAAkD,CAAC;IACxG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC;WAC9D,gBAAgB,GAAG,kDAAkD,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,aAAa,CACjB,UAAqD,EACrD,MAAoB,EACpB,gBAA6E;YAE7E,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,UAAU,GAAG,0CAA0C,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,QAAQ,GAAc,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;YACtD,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CACjD,IAAI,KAAK,CAAC,uDAAuD,CAAC,CACnE,EAAE,gBAAgB,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC3C,MAAM,EAAE,cAAc,EAAE,CAAC;oBACzB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM;oBAClC,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAChE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACxF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAC5C,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,MAAM,UAAU,CAAC,CAClE,EAAE,gBAAgB,CAAC,CAAC;oBACrB,IAAI,cAAwC,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;4BAC/C,cAAc,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACrD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3E,CAAC,CAAC,CAAC;wBACH,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;4BAC1B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;gCACvD,MAAM,EAAE,OAAO,CAAC,MAAM;gCACtB,SAAS,EAAE,gBAAgB;gCAC3B,YAAY,EAAE,2CAA2C;gCACzD,YAAY,EAAE,YAAY;6BAC3B,CAAC,CAAC;4BACH,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,2CAA2C,CAAC,CAAC,CAAC;4BAClG,IAAI,QAAQ,EAAE,OAAO,KAAK,CAAC,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;mCAC7D,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;gCACjF,MAAM,IAAI,qCAAqC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAgB,CAAC,CAAC;4BAC1F,CAAC;4BACD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI;mCAC9D,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gCAC7D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;4BACpE,CAAC;4BACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;4BACnC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;mCACjC,wCAAwC,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;gCAC/E,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;4BAC9F,CAAC;4BACD,iEAAiE;4BACjE,uDAAuD;4BACvD,MAAM,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;4BACnD,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BAChC,OAAO,QAAQ,CAAC;wBAClB,CAAC,CAAC,EAAE,CAAC;wBACL,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAChD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,EAAE,cAAc,EAAE,CAAC;wBACzB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;4BAAS,CAAC;wBACT,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;wBAC1D,IAAI,cAAc;4BAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvC,CAAC;gBACD,yEAAyE;gBACzE,MAAM,IAAI,sCAAsC,CAAC,QAAQ,CAAC,CAAC;YAC7D,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC3B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS = 8;
2
+ export declare const AUTHORITY_INDEX_SNAPSHOT_DEFAULT_MAX_TAIL_BLOCKS = 2000;
3
+ export interface AuthorityIndexSnapshotConfig {
4
+ readonly trustedCorePeers: readonly string[];
5
+ readonly maxTailBlocks?: number;
6
+ }
7
+ export interface AuthorityIndexSnapshotPeer {
8
+ readonly peerId: string;
9
+ readonly multiaddr: string;
10
+ }
11
+ export interface NormalizedAuthorityIndexSnapshotConfig {
12
+ readonly trustedCorePeers: readonly AuthorityIndexSnapshotPeer[];
13
+ readonly maxTailBlocks: number;
14
+ }
15
+ /** Explicit identities only. Discovery or relay roles never enlarge this trust set. */
16
+ export declare function normalizeAuthorityIndexSnapshotConfig(config: unknown): NormalizedAuthorityIndexSnapshotConfig;
17
+ //# sourceMappingURL=authority-index-snapshot-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-index-snapshot-config.d.ts","sourceRoot":"","sources":["../src/authority-index-snapshot-config.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,0CAA0C,IAA2D,CAAC;AACnH,eAAO,MAAM,gDAAgD,OAAQ,CAAC;AAEtE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACjE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,uFAAuF;AACvF,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,OAAO,GACd,sCAAsC,CA6CxC"}
@@ -0,0 +1,54 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { peerIdFromString } from '@libp2p/peer-id';
3
+ import { multiaddr } from '@multiformats/multiaddr';
4
+ import { CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MAX_TAIL_BLOCKS, CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS, CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MIN_TAIL_BLOCKS, } from '@origintrail-official/dkg-chain';
5
+ import { record } from './authority-index-snapshot-wire.js';
6
+ export const AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS = CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS;
7
+ export const AUTHORITY_INDEX_SNAPSHOT_DEFAULT_MAX_TAIL_BLOCKS = 2_000;
8
+ /** Explicit identities only. Discovery or relay roles never enlarge this trust set. */
9
+ export function normalizeAuthorityIndexSnapshotConfig(config) {
10
+ const data = record(config);
11
+ if (!data || !Array.isArray(data.trustedCorePeers)
12
+ || data.trustedCorePeers.length === 0
13
+ || data.trustedCorePeers.length > AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS) {
14
+ throw new Error(`Authority index trustedCorePeers must contain at least 1 and at most ${AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS} explicit multiaddrs`);
15
+ }
16
+ const maxTailBlocks = data.maxTailBlocks === undefined
17
+ ? AUTHORITY_INDEX_SNAPSHOT_DEFAULT_MAX_TAIL_BLOCKS
18
+ : data.maxTailBlocks;
19
+ if (typeof maxTailBlocks !== 'number' || !Number.isSafeInteger(maxTailBlocks)
20
+ || maxTailBlocks < CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MIN_TAIL_BLOCKS
21
+ || maxTailBlocks > CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MAX_TAIL_BLOCKS) {
22
+ throw new Error(`Authority index maxTailBlocks must be an integer between ${CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MIN_TAIL_BLOCKS} and ${CONTEXT_GRAPH_AUTHORITY_INDEX_SNAPSHOT_MAX_TAIL_BLOCKS}`);
23
+ }
24
+ const identities = new Set();
25
+ const peers = data.trustedCorePeers.map((raw) => {
26
+ if (typeof raw !== 'string' || raw.length === 0 || raw.length > 1_024) {
27
+ throw new Error('Authority index trusted core must be an explicit multiaddr');
28
+ }
29
+ const parsed = multiaddr(raw);
30
+ const components = parsed.getComponents();
31
+ const last = components.at(-1);
32
+ const circuitIndexes = components.flatMap((part, index) => part.name === 'p2p-circuit' ? [index] : []);
33
+ const peerIndexes = components.flatMap((part, index) => part.name === 'p2p' ? [index] : []);
34
+ const host = components[0];
35
+ if (!host || !['ip4', 'ip6', 'dns', 'dns4', 'dns6'].includes(host.name)
36
+ || !components.some((part) => part.name === 'tcp' || part.name === 'udp')
37
+ || last?.name !== 'p2p' || !last.value
38
+ || circuitIndexes.length > 1
39
+ || (circuitIndexes.length === 0 && peerIndexes.length !== 1)
40
+ || (circuitIndexes.length === 1 && (peerIndexes.length !== 2
41
+ || peerIndexes[0] !== circuitIndexes[0] - 1
42
+ || peerIndexes[1] !== circuitIndexes[0] + 1))) {
43
+ throw new Error('Authority index trusted core requires a host transport and unambiguous final /p2p/<peerId>');
44
+ }
45
+ // Canonicalize alternate encodings so one identity cannot count twice.
46
+ const peerId = peerIdFromString(last.value).toString();
47
+ if (identities.has(peerId))
48
+ throw new Error('Authority index trustedCorePeers contains a duplicate peer identity');
49
+ identities.add(peerId);
50
+ return Object.freeze({ peerId, multiaddr: parsed.toString() });
51
+ });
52
+ return Object.freeze({ trustedCorePeers: Object.freeze(peers), maxTailBlocks });
53
+ }
54
+ //# sourceMappingURL=authority-index-snapshot-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-index-snapshot-config.js","sourceRoot":"","sources":["../src/authority-index-snapshot-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type ContextGraphAuthorityIndexSnapshotRequest } from '@origintrail-official/dkg-chain';
2
+ /**
3
+ * Register only on cores with router.register(PROTOCOL..., handler,
4
+ * {maxReadBytes: AUTHORITY_INDEX_SNAPSHOT_MAX_REQUEST_BYTES}). This handler reads
5
+ * the materialized cache only: a peer request must never start a historical scan.
6
+ */
7
+ export declare function createAuthorityIndexSnapshotHandler(options: {
8
+ readonly exportSnapshot: (request: ContextGraphAuthorityIndexSnapshotRequest) => Promise<unknown | null>;
9
+ }): (bytes: Uint8Array, peer?: unknown, options?: {
10
+ signal?: AbortSignal;
11
+ }) => Promise<Uint8Array>;
12
+ //# sourceMappingURL=authority-index-snapshot-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-index-snapshot-handler.d.ts","sourceRoot":"","sources":["../src/authority-index-snapshot-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,yCAAyC,EAC/C,MAAM,iCAAiC,CAAC;AAoBzC;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE;IAC3D,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,yCAAyC,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1G,GAAG,CACF,KAAK,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC/B,OAAO,CAAC,UAAU,CAAC,CAmEvB"}