@origintrail-official/dkg-agent 10.0.18 → 10.0.19

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 (265) hide show
  1. package/dist/bounded-map.d.ts +3 -0
  2. package/dist/bounded-map.d.ts.map +1 -0
  3. package/dist/bounded-map.js +15 -0
  4. package/dist/bounded-map.js.map +1 -0
  5. package/dist/chain-reconciler.d.ts +3 -1
  6. package/dist/chain-reconciler.d.ts.map +1 -1
  7. package/dist/chain-reconciler.js +46 -3
  8. package/dist/chain-reconciler.js.map +1 -1
  9. package/dist/confirmed-graph-scoped-vm-resolver.d.ts +7 -0
  10. package/dist/confirmed-graph-scoped-vm-resolver.d.ts.map +1 -1
  11. package/dist/confirmed-graph-scoped-vm-resolver.js +14 -2
  12. package/dist/confirmed-graph-scoped-vm-resolver.js.map +1 -1
  13. package/dist/context-graph-list-authority-enrichment.d.ts +35 -0
  14. package/dist/context-graph-list-authority-enrichment.d.ts.map +1 -1
  15. package/dist/context-graph-list-authority-enrichment.js +16 -0
  16. package/dist/context-graph-list-authority-enrichment.js.map +1 -1
  17. package/dist/context-graph-metadata-fact.d.ts +20 -0
  18. package/dist/context-graph-metadata-fact.d.ts.map +1 -0
  19. package/dist/context-graph-metadata-fact.js +21 -0
  20. package/dist/context-graph-metadata-fact.js.map +1 -0
  21. package/dist/context-graph-metadata-relocation.d.ts +84 -0
  22. package/dist/context-graph-metadata-relocation.d.ts.map +1 -0
  23. package/dist/context-graph-metadata-relocation.js +241 -0
  24. package/dist/context-graph-metadata-relocation.js.map +1 -0
  25. package/dist/context-graph-name-candidate.d.ts +38 -0
  26. package/dist/context-graph-name-candidate.d.ts.map +1 -0
  27. package/dist/context-graph-name-candidate.js +86 -0
  28. package/dist/context-graph-name-candidate.js.map +1 -0
  29. package/dist/context-graph-name-protocol.d.ts +56 -0
  30. package/dist/context-graph-name-protocol.d.ts.map +1 -0
  31. package/dist/context-graph-name-protocol.js +150 -0
  32. package/dist/context-graph-name-protocol.js.map +1 -0
  33. package/dist/context-graph-name-resolver.d.ts +212 -0
  34. package/dist/context-graph-name-resolver.d.ts.map +1 -0
  35. package/dist/context-graph-name-resolver.js +576 -0
  36. package/dist/context-graph-name-resolver.js.map +1 -0
  37. package/dist/context-graph-on-chain-reference.d.ts +113 -0
  38. package/dist/context-graph-on-chain-reference.d.ts.map +1 -0
  39. package/dist/context-graph-on-chain-reference.js +82 -0
  40. package/dist/context-graph-on-chain-reference.js.map +1 -0
  41. package/dist/context-graph-storage-discovery.d.ts +226 -0
  42. package/dist/context-graph-storage-discovery.d.ts.map +1 -0
  43. package/dist/context-graph-storage-discovery.js +531 -0
  44. package/dist/context-graph-storage-discovery.js.map +1 -0
  45. package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -1
  46. package/dist/context-graph-subscription-authority-recovery.js +8 -0
  47. package/dist/context-graph-subscription-authority-recovery.js.map +1 -1
  48. package/dist/core-hosted-public-cg-record-decision.d.ts +44 -3
  49. package/dist/core-hosted-public-cg-record-decision.d.ts.map +1 -1
  50. package/dist/core-hosted-public-cg-record-decision.js +25 -5
  51. package/dist/core-hosted-public-cg-record-decision.js.map +1 -1
  52. package/dist/dkg-agent-base.d.ts +107 -7
  53. package/dist/dkg-agent-base.d.ts.map +1 -1
  54. package/dist/dkg-agent-base.js +100 -7
  55. package/dist/dkg-agent-base.js.map +1 -1
  56. package/dist/dkg-agent-cg-chain-observation.d.ts +129 -0
  57. package/dist/dkg-agent-cg-chain-observation.d.ts.map +1 -0
  58. package/dist/dkg-agent-cg-chain-observation.js +299 -0
  59. package/dist/dkg-agent-cg-chain-observation.js.map +1 -0
  60. package/dist/dkg-agent-cg-name-resolution.d.ts +200 -0
  61. package/dist/dkg-agent-cg-name-resolution.d.ts.map +1 -0
  62. package/dist/dkg-agent-cg-name-resolution.js +736 -0
  63. package/dist/dkg-agent-cg-name-resolution.js.map +1 -0
  64. package/dist/dkg-agent-cg-on-chain-id.d.ts +92 -0
  65. package/dist/dkg-agent-cg-on-chain-id.d.ts.map +1 -0
  66. package/dist/dkg-agent-cg-on-chain-id.js +285 -0
  67. package/dist/dkg-agent-cg-on-chain-id.js.map +1 -0
  68. package/dist/dkg-agent-cg-registry.d.ts +6 -0
  69. package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
  70. package/dist/dkg-agent-cg-registry.js +27 -15
  71. package/dist/dkg-agent-cg-registry.js.map +1 -1
  72. package/dist/dkg-agent-cg-resolve.d.ts +13 -0
  73. package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
  74. package/dist/dkg-agent-cg-resolve.js +86 -7
  75. package/dist/dkg-agent-cg-resolve.js.map +1 -1
  76. package/dist/dkg-agent-context-graph.d.ts +6 -5
  77. package/dist/dkg-agent-context-graph.d.ts.map +1 -1
  78. package/dist/dkg-agent-context-graph.js +66 -93
  79. package/dist/dkg-agent-context-graph.js.map +1 -1
  80. package/dist/dkg-agent-crypto.d.ts +10 -2
  81. package/dist/dkg-agent-crypto.d.ts.map +1 -1
  82. package/dist/dkg-agent-crypto.js +50 -8
  83. package/dist/dkg-agent-crypto.js.map +1 -1
  84. package/dist/dkg-agent-join.d.ts.map +1 -1
  85. package/dist/dkg-agent-join.js +1 -1
  86. package/dist/dkg-agent-join.js.map +1 -1
  87. package/dist/dkg-agent-lifecycle.d.ts +25 -3
  88. package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
  89. package/dist/dkg-agent-lifecycle.js +260 -538
  90. package/dist/dkg-agent-lifecycle.js.map +1 -1
  91. package/dist/dkg-agent-publish.d.ts.map +1 -1
  92. package/dist/dkg-agent-publish.js +16 -2
  93. package/dist/dkg-agent-publish.js.map +1 -1
  94. package/dist/dkg-agent-query.d.ts.map +1 -1
  95. package/dist/dkg-agent-query.js +9 -0
  96. package/dist/dkg-agent-query.js.map +1 -1
  97. package/dist/dkg-agent-registry.d.ts.map +1 -1
  98. package/dist/dkg-agent-registry.js +6 -1
  99. package/dist/dkg-agent-registry.js.map +1 -1
  100. package/dist/dkg-agent-rfc64-catalog.d.ts +8 -0
  101. package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
  102. package/dist/dkg-agent-rfc64-catalog.js +61 -80
  103. package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
  104. package/dist/dkg-agent-rfc64-seed-fetch.js +1 -1
  105. package/dist/dkg-agent-rfc64-seed-fetch.js.map +1 -1
  106. package/dist/dkg-agent-swm-host.d.ts +59 -11
  107. package/dist/dkg-agent-swm-host.d.ts.map +1 -1
  108. package/dist/dkg-agent-swm-host.js +348 -92
  109. package/dist/dkg-agent-swm-host.js.map +1 -1
  110. package/dist/dkg-agent-swm-substrate.d.ts +4 -2
  111. package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
  112. package/dist/dkg-agent-swm-substrate.js +26 -9
  113. package/dist/dkg-agent-swm-substrate.js.map +1 -1
  114. package/dist/dkg-agent-types.d.ts +34 -1
  115. package/dist/dkg-agent-types.d.ts.map +1 -1
  116. package/dist/dkg-agent-types.js.map +1 -1
  117. package/dist/dkg-agent-vm-promotion.d.ts +217 -0
  118. package/dist/dkg-agent-vm-promotion.d.ts.map +1 -0
  119. package/dist/dkg-agent-vm-promotion.js +1212 -0
  120. package/dist/dkg-agent-vm-promotion.js.map +1 -0
  121. package/dist/dkg-agent.d.ts +62 -35
  122. package/dist/dkg-agent.d.ts.map +1 -1
  123. package/dist/dkg-agent.js +256 -95
  124. package/dist/dkg-agent.js.map +1 -1
  125. package/dist/finalization-handler.d.ts +63 -0
  126. package/dist/finalization-handler.d.ts.map +1 -1
  127. package/dist/finalization-handler.js +180 -8
  128. package/dist/finalization-handler.js.map +1 -1
  129. package/dist/finalization-recovery.d.ts +6 -0
  130. package/dist/finalization-recovery.d.ts.map +1 -1
  131. package/dist/finalization-recovery.js +21 -0
  132. package/dist/finalization-recovery.js.map +1 -1
  133. package/dist/gossip-publish-handler.d.ts +18 -0
  134. package/dist/gossip-publish-handler.d.ts.map +1 -1
  135. package/dist/gossip-publish-handler.js +38 -1
  136. package/dist/gossip-publish-handler.js.map +1 -1
  137. package/dist/index.d.ts +4 -1
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +3 -1
  140. package/dist/index.js.map +1 -1
  141. package/dist/ontology-binding-slot-classifier.d.ts +43 -0
  142. package/dist/ontology-binding-slot-classifier.d.ts.map +1 -0
  143. package/dist/ontology-binding-slot-classifier.js +80 -0
  144. package/dist/ontology-binding-slot-classifier.js.map +1 -0
  145. package/dist/p2p/ack-candidate-discovery.d.ts +35 -0
  146. package/dist/p2p/ack-candidate-discovery.d.ts.map +1 -0
  147. package/dist/p2p/ack-candidate-discovery.js +140 -0
  148. package/dist/p2p/ack-candidate-discovery.js.map +1 -0
  149. package/dist/p2p/connected-peer-ids.d.ts +12 -0
  150. package/dist/p2p/connected-peer-ids.d.ts.map +1 -0
  151. package/dist/p2p/connected-peer-ids.js +10 -0
  152. package/dist/p2p/connected-peer-ids.js.map +1 -0
  153. package/dist/p2p/local-storage-ack-transport.d.ts +17 -0
  154. package/dist/p2p/local-storage-ack-transport.d.ts.map +1 -0
  155. package/dist/p2p/local-storage-ack-transport.js +62 -0
  156. package/dist/p2p/local-storage-ack-transport.js.map +1 -0
  157. package/dist/p2p/messenger.d.ts +8 -0
  158. package/dist/p2p/messenger.d.ts.map +1 -1
  159. package/dist/p2p/messenger.js +30 -0
  160. package/dist/p2p/messenger.js.map +1 -1
  161. package/dist/p2p/network-admission-coordinator.d.ts +18 -0
  162. package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
  163. package/dist/p2p/network-admission-coordinator.js +25 -4
  164. package/dist/p2p/network-admission-coordinator.js.map +1 -1
  165. package/dist/p2p/network-admission.d.ts +6 -2
  166. package/dist/p2p/network-admission.d.ts.map +1 -1
  167. package/dist/p2p/network-admission.js +6 -1
  168. package/dist/p2p/network-admission.js.map +1 -1
  169. package/dist/p2p/peer-capability.d.ts +45 -0
  170. package/dist/p2p/peer-capability.d.ts.map +1 -0
  171. package/dist/p2p/peer-capability.js +95 -0
  172. package/dist/p2p/peer-capability.js.map +1 -0
  173. package/dist/p2p/peer-id.d.ts +18 -0
  174. package/dist/p2p/peer-id.d.ts.map +1 -1
  175. package/dist/p2p/peer-id.js +22 -0
  176. package/dist/p2p/peer-id.js.map +1 -1
  177. package/dist/p2p/protocol-readiness.d.ts +12 -0
  178. package/dist/p2p/protocol-readiness.d.ts.map +1 -1
  179. package/dist/p2p/protocol-readiness.js +27 -5
  180. package/dist/p2p/protocol-readiness.js.map +1 -1
  181. package/dist/p2p/storage-ack-endpoint.d.ts +40 -0
  182. package/dist/p2p/storage-ack-endpoint.d.ts.map +1 -0
  183. package/dist/p2p/storage-ack-endpoint.js +46 -0
  184. package/dist/p2p/storage-ack-endpoint.js.map +1 -0
  185. package/dist/p2p/storage-ack-registrar.d.ts +43 -0
  186. package/dist/p2p/storage-ack-registrar.d.ts.map +1 -0
  187. package/dist/p2p/storage-ack-registrar.js +289 -0
  188. package/dist/p2p/storage-ack-registrar.js.map +1 -0
  189. package/dist/p2p/storage-ack-registration-runtime.d.ts +55 -0
  190. package/dist/p2p/storage-ack-registration-runtime.d.ts.map +1 -0
  191. package/dist/p2p/storage-ack-registration-runtime.js +237 -0
  192. package/dist/p2p/storage-ack-registration-runtime.js.map +1 -0
  193. package/dist/registered-context-graph-participant-mutation.d.ts +46 -2
  194. package/dist/registered-context-graph-participant-mutation.d.ts.map +1 -1
  195. package/dist/registered-context-graph-participant-mutation.js +14 -5
  196. package/dist/registered-context-graph-participant-mutation.js.map +1 -1
  197. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +42 -0
  198. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -0
  199. package/dist/rfc64/catalog-operational-applied-heads-v1.js +150 -0
  200. package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -0
  201. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts +6 -0
  202. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts.map +1 -1
  203. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js +20 -4
  204. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js.map +1 -1
  205. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.d.ts +13 -1
  206. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.d.ts.map +1 -1
  207. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.js +14 -2
  208. package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.js.map +1 -1
  209. package/dist/rfc64/inventory-v1/candidate.d.ts +12 -1
  210. package/dist/rfc64/inventory-v1/candidate.d.ts.map +1 -1
  211. package/dist/rfc64/inventory-v1/candidate.js +36 -11
  212. package/dist/rfc64/inventory-v1/candidate.js.map +1 -1
  213. package/dist/rfc64/inventory-v1/open.js +6 -0
  214. package/dist/rfc64/inventory-v1/open.js.map +1 -1
  215. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts +52 -0
  216. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts.map +1 -1
  217. package/dist/rfc64/public-catalog-native-reconciler-v1.js +140 -36
  218. package/dist/rfc64/public-catalog-native-reconciler-v1.js.map +1 -1
  219. package/dist/rfc64/public-catalog-receiver-v1.d.ts +13 -0
  220. package/dist/rfc64/public-catalog-receiver-v1.d.ts.map +1 -1
  221. package/dist/rfc64/public-catalog-receiver-v1.js +9 -0
  222. package/dist/rfc64/public-catalog-receiver-v1.js.map +1 -1
  223. package/dist/rfc64/public-catalog-service-v1.d.ts +5 -0
  224. package/dist/rfc64/public-catalog-service-v1.d.ts.map +1 -1
  225. package/dist/rfc64/public-catalog-service-v1.js +72 -7
  226. package/dist/rfc64/public-catalog-service-v1.js.map +1 -1
  227. package/dist/storage-ack-retention.d.ts +61 -0
  228. package/dist/storage-ack-retention.d.ts.map +1 -0
  229. package/dist/storage-ack-retention.js +146 -0
  230. package/dist/storage-ack-retention.js.map +1 -0
  231. package/dist/sync/backpressure.d.ts +11 -3
  232. package/dist/sync/backpressure.d.ts.map +1 -1
  233. package/dist/sync/backpressure.js +13 -3
  234. package/dist/sync/backpressure.js.map +1 -1
  235. package/dist/sync/error-tags.d.ts +13 -0
  236. package/dist/sync/error-tags.d.ts.map +1 -1
  237. package/dist/sync/error-tags.js +20 -0
  238. package/dist/sync/error-tags.js.map +1 -1
  239. package/dist/sync/on-connect/sync-on-connect-compat.d.ts +18 -0
  240. package/dist/sync/on-connect/sync-on-connect-compat.d.ts.map +1 -0
  241. package/dist/sync/on-connect/sync-on-connect-compat.js +31 -0
  242. package/dist/sync/on-connect/sync-on-connect-compat.js.map +1 -0
  243. package/dist/sync/on-connect/sync-on-connect.d.ts +14 -7
  244. package/dist/sync/on-connect/sync-on-connect.d.ts.map +1 -1
  245. package/dist/sync/on-connect/sync-on-connect.js +10 -21
  246. package/dist/sync/on-connect/sync-on-connect.js.map +1 -1
  247. package/dist/sync/policy.d.ts.map +1 -1
  248. package/dist/sync/policy.js +17 -6
  249. package/dist/sync/policy.js.map +1 -1
  250. package/dist/sync/requester/durable-sync.d.ts.map +1 -1
  251. package/dist/sync/requester/durable-sync.js +9 -1
  252. package/dist/sync/requester/durable-sync.js.map +1 -1
  253. package/dist/sync/requester/finalized-swm-twin-reconciliation.d.ts +2 -0
  254. package/dist/sync/requester/finalized-swm-twin-reconciliation.d.ts.map +1 -1
  255. package/dist/sync/requester/finalized-swm-twin-reconciliation.js +60 -9
  256. package/dist/sync/requester/finalized-swm-twin-reconciliation.js.map +1 -1
  257. package/dist/vm-promotion-audit.d.ts +97 -0
  258. package/dist/vm-promotion-audit.d.ts.map +1 -0
  259. package/dist/vm-promotion-audit.js +210 -0
  260. package/dist/vm-promotion-audit.js.map +1 -0
  261. package/package.json +10 -8
  262. package/dist/dkg-agent-apply-mixins.d.ts +0 -16
  263. package/dist/dkg-agent-apply-mixins.d.ts.map +0 -1
  264. package/dist/dkg-agent-apply-mixins.js +0 -24
  265. package/dist/dkg-agent-apply-mixins.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ /** Insert as newest, evicting the oldest entries so at most `bound` remain. */
2
+ export declare function rememberBounded<K, V>(map: Map<K, V>, key: K, value: V, bound: number): void;
3
+ //# sourceMappingURL=bounded-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-map.d.ts","sourceRoot":"","sources":["../src/bounded-map.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQ3F"}
@@ -0,0 +1,15 @@
1
+ // Bounded insertion-ordered memory shared by agent subsystems (the Context
2
+ // Graph name resolver's peer bookkeeping, the name-reveal verdict cache).
3
+ // Neutral so neither owns the other's helpers.
4
+ /** Insert as newest, evicting the oldest entries so at most `bound` remain. */
5
+ export function rememberBounded(map, key, value, bound) {
6
+ map.delete(key);
7
+ while (map.size >= bound) {
8
+ const oldest = map.keys().next().value;
9
+ if (oldest === undefined)
10
+ break;
11
+ map.delete(oldest);
12
+ }
13
+ map.set(key, value);
14
+ }
15
+ //# sourceMappingURL=bounded-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-map.js","sourceRoot":"","sources":["../src/bounded-map.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,+CAA+C;AAE/C,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAO,GAAc,EAAE,GAAM,EAAE,KAAQ,EAAE,KAAa;IACnF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -97,7 +97,9 @@ export interface ChainReconcilerDeps {
97
97
  * after `confirmationDepth` blocks of real chain progress past observation
98
98
  * (reorg-safe without a per-ordinal registration-block lookup).
99
99
  */
100
- reconcileOrdinal: (localCgId: string, onChainCgId: bigint, ordinal: number, headBlock: number | undefined) => Promise<OrdinalOutcome>;
100
+ reconcileOrdinal: (localCgId: string, onChainCgId: bigint, ordinal: number, headBlock: number | undefined, context?: {
101
+ readonly headOrdinal: number;
102
+ }) => Promise<OrdinalOutcome>;
101
103
  /** Maximum ordinals attempted before yielding the global VM worker. */
102
104
  maxOrdinalsPerPass?: number;
103
105
  /** Maximum ordinal reconciliations allowed to run concurrently in one pass. */
@@ -1 +1 @@
1
- {"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,22 @@ function planOrdinalPass(candidates, passLimit, requestedRecent, watermark) {
113
113
  },
114
114
  };
115
115
  }
116
+ /**
117
+ * Keep the verified completions of a pass that is about to reject. They wait
118
+ * in `ahead` like any out-of-order completion, and the next pass absorbs them
119
+ * through the usual contiguity and confirmation-depth gate. Without this, one
120
+ * ordinal that keeps throwing re-reads its settled siblings on every pass.
121
+ */
122
+ function holdCompletedOrdinals(state, ordinals, outcomes) {
123
+ for (const ordinal of ordinals) {
124
+ const outcome = outcomes.get(ordinal);
125
+ if (outcome?.status !== 'reconciled' && outcome?.status !== 'already')
126
+ continue;
127
+ if (ordinal < state.watermark || state.ahead.has(ordinal))
128
+ continue;
129
+ state.ahead.set(ordinal, outcome.blockNumber);
130
+ }
131
+ }
116
132
  /**
117
133
  * One bounded sweep slice for a single CG: reconcile up to
118
134
  * `maxOrdinalsPerPass` ordinals in `[watermark, head)` (skipping ones already
@@ -192,6 +208,18 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
192
208
  let nextOrdinalIndex = 0;
193
209
  let workerFailed = false;
194
210
  let workerError;
211
+ // Dispatch walks `ordinals` in ascending order, so every ordinal of this
212
+ // pass up to the highest one dispatched has an outcome or has thrown.
213
+ let highestDispatched;
214
+ // A rejected pass keeps what it proved: its completions wait in `ahead`,
215
+ // and the scan resumes past what it dispatched, so the ordinals that threw
216
+ // or stayed pending are retried with the next cycle like any other gap.
217
+ const keepRejectedPassProgress = () => {
218
+ holdCompletedOrdinals(state, ordinals, outcomes);
219
+ if (highestDispatched === undefined)
220
+ return;
221
+ state.scanOrdinal = Math.max(state.watermark, Math.min(highestDispatched + 1, passPlan.historicalContinuationOrdinal));
222
+ };
195
223
  const runOrdinalWorker = async () => {
196
224
  // Contain failures instead of racing them: a thrown ordinal must not
197
225
  // leave sibling workers running past this pass's lifetime (their network
@@ -209,7 +237,8 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
209
237
  return;
210
238
  }
211
239
  const ordinal = ordinals[index];
212
- const outcome = await deps.reconcileOrdinal(localCgId, onChainCgId, ordinal, headBlock);
240
+ highestDispatched = Math.max(highestDispatched ?? ordinal, ordinal);
241
+ const outcome = await deps.reconcileOrdinal(localCgId, onChainCgId, ordinal, headBlock, { headOrdinal: head });
213
242
  processed += 1;
214
243
  if (deps.isTargetCurrent && !(await deps.isTargetCurrent(localCgId, onChainCgId))) {
215
244
  staleTarget = true;
@@ -227,8 +256,11 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
227
256
  };
228
257
  const workerCount = Math.min(ordinalConcurrency, ordinals.length);
229
258
  await Promise.all(Array.from({ length: workerCount }, () => runOrdinalWorker()));
230
- if (workerFailed)
259
+ if (workerFailed) {
260
+ if (!staleTarget)
261
+ keepRejectedPassProgress();
231
262
  throw workerError;
263
+ }
232
264
  const recoveryTargets = ordinals
233
265
  .map((ordinal) => outcomes.get(ordinal))
234
266
  .filter((outcome) => outcome?.status === 'pending' && outcome.recovery !== undefined)
@@ -240,7 +272,18 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
240
272
  // ordinal order, so this changes latency rather than correctness.
241
273
  .sort(passPlan.compareRecoveryTargets);
242
274
  if (!staleTarget && recoveryTargets.length > 0 && deps.recoverPendingOrdinals) {
243
- const recoveryResult = await deps.recoverPendingOrdinals(localCgId, onChainCgId, recoveryTargets, headBlock);
275
+ let recoveryResult;
276
+ try {
277
+ recoveryResult = await deps.recoverPendingOrdinals(localCgId, onChainCgId, recoveryTargets, headBlock);
278
+ }
279
+ catch (error) {
280
+ // Recovery is the longest await; keep progress only under the same binding.
281
+ const stillCurrent = !deps.isTargetCurrent
282
+ || await Promise.resolve(deps.isTargetCurrent(localCgId, onChainCgId)).catch(() => false);
283
+ if (stillCurrent)
284
+ keepRejectedPassProgress();
285
+ throw error;
286
+ }
244
287
  // Recovery is the longest await in the pass; the binding can be repaired
245
288
  // while it runs. Outcomes recovered under the old binding must never
246
289
  // advance or persist cursor state for the rebound CG, so re-check before
@@ -1 +1 @@
1
- {"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAE7B,MAAM,8BAA8B,CAAC;AA6DtC;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,MAAoC;IAEpC,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAC5E,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;SAChD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,wBAAwB;QAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAC9E,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC;AAqGD;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,UAA6B,EAC7B,SAAiB,EACjB,eAAuB,EACvB,SAAiB;IAEjB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,kBAAqC,CAAC;IAC1C,IAAI,cAAc,GAAsB,EAAE,CAAC;IAC3C,IAAI,WAAW,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;QAChD,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClD,cAAc,GAAG,UAAU;aACxB,KAAK,CAAC,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,cAAc,CAAC;SACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,MAAM,sBAAsB,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACnE,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC;QACjE,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,kBAAkB;QAClB,cAAc;QACd,QAAQ;QACR,cAAc;QACd,sBAAsB;QACtB,6BAA6B;QAC7B,sBAAsB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,UAAU,KAAK,WAAW;gBAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAClF,CAAC;QACD,eAAe,EAAE,CAAC,EAChB,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,GACT,EAAE,EAAE;YACH,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,sBAAsB;oBAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;oBAC3D,CAAC,CAAC,gBAAgB,CAAC;YACvB,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAClE,CAAC;YACD,IACE,QAAQ,CAAC,IAAI,KAAK,UAAU;mBACzB,QAAQ,CAAC,mBAAmB,KAAK,SAAS,EAC7C,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,sBAAsB;gBAAE,OAAO,gBAAgB,CAAC;YACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAyB,EACzB,KAAkB,EAClB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAE/B,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;QAC3B,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,yBAAyB,EAAE,KAAK;YAChC,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,0EAA0E;IAC1E,iDAAiD;IACjD,IAAI,SAA6B,CAAC;IAClC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,aAAa,SAAS,6CAA6C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnI,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,SAAS,KAAK,SAAS;QAAE,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEvF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,QAAQ,GAAsC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAC5E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAChD,MAAM,SAAS,GAAG,eAAe,KAAK,SAAS;QAC7C,CAAC,CAAC,MAAM,CAAC,iBAAiB;QAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,0EAA0E;QAC1E,2DAA2D;QAC3D,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;QACpC,UAAU,GAAG,iBAAiB,CAAC;IACjC,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACjE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,QAAQ,GAAG,eAAe,CAC9B,UAAU,EACV,SAAS,EACT,eAAe,EACf,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,MAAM,EACJ,QAAQ,EACR,sBAAsB,GACvB,GAAG,QAAQ,CAAC;IACb,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACzD,MAAM,kBAAkB,GAAG,qBAAqB,KAAK,SAAS;YAC5D,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;QACnD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,WAAoB,CAAC;QAEzB,MAAM,gBAAgB,GAAG,KAAK,IAAmB,EAAE;YACjD,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,CAAC;gBACH,OAAO,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,gBAAgB,CAAC;oBAC/B,gBAAgB,IAAI,CAAC,CAAC;oBACtB,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM;wBAAE,OAAO;oBAErC,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;wBAClF,WAAW,GAAG,IAAI,CAAC;wBACnB,OAAO;oBACT,CAAC;oBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBACxF,SAAS,IAAI,CAAC,CAAC;oBACf,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;wBAClF,WAAW,GAAG,IAAI,CAAC;wBACnB,OAAO;oBACT,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,IAAI,CAAC;oBACpB,WAAW,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,YAAY;YAAE,MAAM,WAAW,CAAC;QAEpC,MAAM,eAAe,GAAG,QAAQ;aAC7B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,OAAO,EAA6D,EAAE,CAC7E,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAChE;aACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAS,CAAC;YACpC,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,kEAAkE;YAClE,kEAAkE;aACjE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACtD,SAAS,EACT,WAAW,EACX,eAAe,EACf,SAAS,CACV,CAAC;YACF,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,0EAA0E;YAC1E,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;gBAClF,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;oBACzD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;gBACD,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,mCAAmC;QACnC,IAAI,CAAC,WAAW;YAAE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACpE,UAAU,IAAI,CAAC,CAAC;oBAChB,qEAAqE;oBACrE,sEAAsE;oBACtE,mCAAmC;oBACnC,gBAAgB,CACd,KAAK,EACL,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAC7C,SAAS,IAAI,OAAO,CAAC,WAAW,EAChC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;QACnC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,eAAe,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,KAAK,sBAAsB;WAC7D,QAAQ,CAAC,IAAI,KAAK,uBAAuB;WACzC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC;IACnC,MAAM,gCAAgC,GAAG,QAAQ,CAAC,IAAI,KAAK,sBAAsB;WAC5E,QAAQ,CAAC,IAAI,KAAK,uBAAuB,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,eAAe;WAC3B,CAAC,WAAW;WACZ,QAAQ,CAAC,IAAI,KAAK,UAAU;WAC5B,CACD,iBAAiB;YACf,CAAC,CAAC,gCAAgC;mBAC7B,sBAAsB;YAC3B,CAAC,CAAC,sBAAsB,CAC3B,CAAC;IACJ,MAAM,yBAAyB,GAAG,WAAW;WACxC,CAAC,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,gCAAgC,CAAC,CAAC,CAAC;IAEvE,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,aAAa,SAAS,eAAe,MAAM,OAAO,KAAK,CAAC,SAAS,UAAU,IAAI,eAAe,SAAS,gBAAgB,UAAU,aAAa,OAAO,GAAG,CAAC,CAAC;IACrK,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,aAAa,SAAS,uBAAuB,KAAK,CAAC,SAAS,UAAU,IAAI,eAAe,SAAS,gBAAgB,UAAU,aAAa,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7M,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU;QACV,OAAO;QACP,SAAS;QACT,OAAO;QACP,yBAAyB;QACzB,WAAW;KACZ,CAAC;AACJ,CAAC;AAGD;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAEM;IADZ,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,YAA6B,MAAM,IAAI;QAAV,QAAG,GAAH,GAAG,CAAO;IAAG,CAAC;IAE3C,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,MAAe;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;CACF;AAED,6EAA6E;AAC7E,MAAM,OAAO,0BAA0B;IAIlB;IACA;IACA;IALF,IAAI,GAAG,IAAI,GAAG,EAA2C,CAAC;IAE3E,YACmB,MAAM,IAAI,EACV,QAAQ,CAAC,GAAG,MAAM,EAClB,MAAoB,IAAI,CAAC,GAAG;QAF5B,QAAG,GAAH,GAAG,CAAO;QACV,UAAK,GAAL,KAAK,CAAa;QAClB,QAAG,GAAH,GAAG,CAAyB;IAC5C,CAAC;IAEJ,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
@@ -29,4 +29,11 @@ export type ConfirmedGraphScopedVmResolution = {
29
29
  * this resolver so they cannot apply different recognition rules.
30
30
  */
31
31
  export declare function resolveConfirmedGraphScopedVm(store: TripleStore, input: ConfirmedGraphScopedVmResolutionInput): Promise<ConfirmedGraphScopedVmResolution>;
32
+ /**
33
+ * The same recognition without a chain read: the stored content must still
34
+ * verify against the root its own confirmed metadata recorded. The chain-driven
35
+ * sweep uses this to settle an ordinal whose VM copy is already confirmed
36
+ * locally, trusting the root that copy was confirmed at.
37
+ */
38
+ export declare function resolveLocallyConfirmedGraphScopedVm(store: TripleStore, input: Omit<ConfirmedGraphScopedVmResolutionInput, 'merkleRoot'>): Promise<ConfirmedGraphScopedVmResolution>;
32
39
  //# sourceMappingURL=confirmed-graph-scoped-vm-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirmed-graph-scoped-vm-resolver.d.ts","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAGL,KAAK,4CAA4C,EAClD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAG3E,MAAM,WAAW,qCAAqC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mCAAmC,GAC3C,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,gCAAgC,GACxC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GAClE;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,4CAA4C,CAAC;IACvD,KAAK,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACzD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAON;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAoD3C"}
1
+ {"version":3,"file":"confirmed-graph-scoped-vm-resolver.d.ts","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAGL,KAAK,4CAA4C,EAClD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAG3E,MAAM,WAAW,qCAAqC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mCAAmC,GAC3C,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,gCAAgC,GACxC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GAClE;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,4CAA4C,CAAC;IACvD,KAAK,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACzD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAON;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,IAAI,CAAC,qCAAqC,EAAE,YAAY,CAAC,GAC/D,OAAO,CAAC,gCAAgC,CAAC,CAE3C"}
@@ -11,6 +11,18 @@ function equalBytes(left, right) {
11
11
  * this resolver so they cannot apply different recognition rules.
12
12
  */
13
13
  export async function resolveConfirmedGraphScopedVm(store, input) {
14
+ return resolveConfirmedGraphScopedVmAgainst(store, input, input.merkleRoot);
15
+ }
16
+ /**
17
+ * The same recognition without a chain read: the stored content must still
18
+ * verify against the root its own confirmed metadata recorded. The chain-driven
19
+ * sweep uses this to settle an ordinal whose VM copy is already confirmed
20
+ * locally, trusting the root that copy was confirmed at.
21
+ */
22
+ export async function resolveLocallyConfirmedGraphScopedVm(store, input) {
23
+ return resolveConfirmedGraphScopedVmAgainst(store, input, undefined);
24
+ }
25
+ async function resolveConfirmedGraphScopedVmAgainst(store, input, chainMerkleRoot) {
14
26
  const stored = await readConfirmedGraphKnowledgeAssetMetadataEnvelope(store, {
15
27
  contextGraphId: input.contextGraphId,
16
28
  ual: input.ual,
@@ -34,7 +46,7 @@ export async function resolveConfirmedGraphScopedVm(store, input) {
34
46
  || envelope.batchId !== input.batchId
35
47
  || (input.assertionVersion !== undefined
36
48
  && BigInt(envelope.assertionVersion) !== input.assertionVersion)
37
- || !equalBytes(envelope.merkleRoot, input.merkleRoot)
49
+ || (chainMerkleRoot !== undefined && !equalBytes(envelope.merkleRoot, chainMerkleRoot))
38
50
  || input.subGraphName !== envelope.subGraphName) {
39
51
  return { status: 'invalid', reason: 'identity' };
40
52
  }
@@ -44,7 +56,7 @@ export async function resolveConfirmedGraphScopedVm(store, input) {
44
56
  ...(envelope.privateMerkleRoot
45
57
  ? { privateMerkleRoot: envelope.privateMerkleRoot }
46
58
  : {}),
47
- expectedMerkleRoot: input.merkleRoot,
59
+ expectedMerkleRoot: chainMerkleRoot ?? envelope.merkleRoot,
48
60
  source: 'agent.finalization.resolveConfirmedGraphScopedVm',
49
61
  });
50
62
  if (content.status === 'count-mismatch') {
@@ -1 +1 @@
1
- {"version":3,"file":"confirmed-graph-scoped-vm-resolver.js","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirmed-graph-scoped-vm-resolver.js","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EACL,gDAAgD,EAChD,0BAA0B,GAE3B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AA6B5E,SAAS,UAAU,CAAC,IAAgB,EAAE,KAAiB;IACrD,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;WAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAkB,EAClB,KAA4C;IAE5C,OAAO,oCAAoC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,KAAkB,EAClB,KAAgE;IAEhE,OAAO,oCAAoC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,oCAAoC,CACjD,KAAkB,EAClB,KAAgE,EAChE,eAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,gDAAgD,CAAC,KAAK,EAAE;QAC3E,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC3D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,IAAI,KAAwD,CAAC;IAC7D,IAAI,CAAC;QACH,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChF,IACE,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;WACpB,UAAU,KAAK,KAAK,CAAC,IAAI;WACzB,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;WAClC,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;eACnC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,KAAK,CAAC,gBAAgB,CAAC;WAC/D,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;WACpF,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,EAC/C,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE;QACnD,QAAQ,EAAE,QAAQ,CAAC,cAAc;QACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,GAAG,CAAC,QAAQ,CAAC,iBAAiB;YAC5B,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,kBAAkB,EAAE,eAAe,IAAI,QAAQ,CAAC,UAAU;QAC1D,MAAM,EAAE,kDAAkD;KAC3D,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACzD,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,QAAQ;QACR,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,iBAAiB,EAAE,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7D,CAAC;AACJ,CAAC"}
@@ -1,4 +1,31 @@
1
1
  import type { FinalizedContextGraphAuthorityTargetV1, FinalizedContextGraphAuthorityTargetsResolutionV1 } from './dkg-agent-cg-registry.js';
2
+ import type { OnChainContextGraphFacts } from './context-graph-storage-discovery.js';
3
+ /**
4
+ * Chain-public facts attached to a `listContextGraphs` row. Every field is
5
+ * public on chain, including for private graphs; nothing here comes from the
6
+ * local store, so it never reveals a private graph's cleartext name.
7
+ */
8
+ export interface ContextGraphListOnChainFacts {
9
+ /** Positive decimal ContextGraphStorage id. */
10
+ readonly id: string;
11
+ /** From the write-once on-chain access policy: 0 = public, 1 = private. */
12
+ readonly access: 'public' | 'private' | 'unknown';
13
+ /** 0 = curated (only the publish authority may publish), 1 = open; null until observed. */
14
+ readonly publishPolicy: 'curated' | 'open' | 'unknown' | null;
15
+ readonly publishAuthority: string | null;
16
+ /** Current ERC-721 owner (the creator unless ownership was transferred); null until observed. */
17
+ readonly owner: string | null;
18
+ /** ISO-8601 creation time from the on-chain timestamp; null until enumerated. */
19
+ readonly createdAt: string | null;
20
+ /** On-chain active flag; `false` once deactivated; null until enumerated. */
21
+ readonly active: boolean | null;
22
+ /** Curator-committed name hash; null when the curator opted out. */
23
+ readonly nameHash: string | null;
24
+ /** Block of the newest observation behind these facts. */
25
+ readonly observedAtBlock: number;
26
+ }
27
+ /** Project the node's merged on-chain facts onto the list row's `onChain` field. */
28
+ export declare function toContextGraphListOnChainFacts(facts: OnChainContextGraphFacts): ContextGraphListOnChainFacts;
2
29
  export type ListContextGraphsRow = {
3
30
  id: string;
4
31
  uri: string;
@@ -13,6 +40,14 @@ export type ListContextGraphsRow = {
13
40
  synced: boolean;
14
41
  onChainId?: string;
15
42
  callerInvolved?: boolean;
43
+ /**
44
+ * `false` when the node knows this graph only by its on-chain name hash:
45
+ * `id` and `name` are then that hash, never a guessed cleartext. Subscribing
46
+ * by the hash lets the node resolve and verify the cleartext id.
47
+ */
48
+ nameKnown?: boolean;
49
+ /** Chain-public ContextGraphStorage facts, when the node has observed them. */
50
+ onChain?: ContextGraphListOnChainFacts;
16
51
  };
17
52
  type ContextGraphListAuthorityAttemptV1<T> = Readonly<{
18
53
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"context-graph-list-authority-enrichment.d.ts","sourceRoot":"","sources":["../src/context-graph-list-authority-enrichment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sCAAsC,EACtC,iDAAiD,EAClD,MAAM,4BAA4B,CAAC;AAGpC,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,KAAK,kCAAkC,CAAC,CAAC,IACrC,QAAQ,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC,GAChC,QAAQ,CAAC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE5C,MAAM,MAAM,yCAAyC,GACjD,QAAQ,CAAC;IACP,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;CACtE,CAAC,GACF,QAAQ,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GACpC,QAAQ,CAAC;IAAE,IAAI,EAAE,0BAA0B,CAAA;CAAE,CAAC,CAAC;AAEnD,MAAM,WAAW,4CAA4C;IAC3D,QAAQ,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,eAAe,EAAE,SAAS,MAAM,EAAE,KAC/B,OAAO,CAAC,kCAAkC,CAC7C,iDAAiD,CAClD,CAAC,CAAC;IACH,QAAQ,CAAC,sBAAsB,EAAE,CAC/B,cAAc,EAAE,MAAM,KACnB,OAAO,CAAC,kCAAkC,CAC7C,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,CACjD,CAAC,CAAC;IACH,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,cAAc,EAAE,MAAM,KACnB,OAAO,CAAC,kCAAkC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACjE;AAmBD;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,4CAA4C,GACpD,OAAO,CAAC,QAAQ,CAAC;IAClB,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,yCAAyC,CAAC;CACjD,CAAC,CAAC,CAyDF"}
1
+ {"version":3,"file":"context-graph-list-authority-enrichment.d.ts","sourceRoot":"","sources":["../src/context-graph-list-authority-enrichment.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,22 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  import { DKGAgentBase } from './dkg-agent-base.js';
3
3
  import { mapWithConcurrency } from './map-with-concurrency.js';
4
+ /** Project the node's merged on-chain facts onto the list row's `onChain` field. */
5
+ export function toContextGraphListOnChainFacts(facts) {
6
+ return Object.freeze({
7
+ id: facts.onChainId,
8
+ access: facts.accessPolicy === 0 ? 'public' : facts.accessPolicy === 1 ? 'private' : 'unknown',
9
+ publishPolicy: facts.publishPolicy === null
10
+ ? null
11
+ : facts.publishPolicy === 0 ? 'curated' : facts.publishPolicy === 1 ? 'open' : 'unknown',
12
+ publishAuthority: facts.publishAuthority,
13
+ owner: facts.owner,
14
+ createdAt: facts.createdAt === null ? null : new Date(facts.createdAt * 1_000).toISOString(),
15
+ active: facts.active,
16
+ nameHash: facts.nameHash,
17
+ observedAtBlock: facts.observedAtBlock,
18
+ });
19
+ }
4
20
  async function mapRowsSettled(rows, fn) {
5
21
  return mapWithConcurrency(rows, DKGAgentBase.LIST_CONTEXT_GRAPHS_ROW_CONCURRENCY, async (row, index) => {
6
22
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"context-graph-list-authority-enrichment.js","sourceRoot":"","sources":["../src/context-graph-list-authority-enrichment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-graph-list-authority-enrichment.js","sourceRoot":"","sources":["../src/context-graph-list-authority-enrichment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type Quad, type TripleStore } from '@origintrail-official/dkg-storage';
2
+ export interface ContextGraphMetadataFact {
3
+ readonly predicate: string;
4
+ readonly object: string;
5
+ /**
6
+ * Where the fact goes: `contextGraphMetadataGraphs` for a node that keeps
7
+ * the graph's own record, `contextGraphMetadataHomeGraph` otherwise.
8
+ */
9
+ readonly graphs: readonly string[];
10
+ /** Written in the same insert as the fact. */
11
+ readonly alsoInsert?: readonly Quad[];
12
+ }
13
+ /**
14
+ * Write a single-valued metadata fact of a Context Graph, such as its
15
+ * on-chain id binding or its name. Earlier values are cleared from the
16
+ * target graphs and from `ontology`, where a curated graph's fact must not
17
+ * stay, so readers never see two values.
18
+ */
19
+ export declare function replaceContextGraphMetadataFact(store: TripleStore, contextGraphId: string, fact: ContextGraphMetadataFact): Promise<void>;
20
+ //# sourceMappingURL=context-graph-metadata-fact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-metadata-fact.d.ts","sourceRoot":"","sources":["../src/context-graph-metadata-fact.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+B,KAAK,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAE7G,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { SYSTEM_CONTEXT_GRAPHS, contextGraphDataGraphUri } from '@origintrail-official/dkg-core';
3
+ import { deleteByPatternWithoutCount } from '@origintrail-official/dkg-storage';
4
+ /**
5
+ * Write a single-valued metadata fact of a Context Graph, such as its
6
+ * on-chain id binding or its name. Earlier values are cleared from the
7
+ * target graphs and from `ontology`, where a curated graph's fact must not
8
+ * stay, so readers never see two values.
9
+ */
10
+ export async function replaceContextGraphMetadataFact(store, contextGraphId, fact) {
11
+ const subject = contextGraphDataGraphUri(contextGraphId);
12
+ const ontologyGraph = contextGraphDataGraphUri(SYSTEM_CONTEXT_GRAPHS.ONTOLOGY);
13
+ for (const graph of new Set([ontologyGraph, ...fact.graphs])) {
14
+ await deleteByPatternWithoutCount(store, { graph, subject, predicate: fact.predicate });
15
+ }
16
+ await store.insert([
17
+ ...fact.graphs.map((graph) => ({ subject, predicate: fact.predicate, object: fact.object, graph })),
18
+ ...(fact.alsoInsert ?? []),
19
+ ]);
20
+ }
21
+ //# sourceMappingURL=context-graph-metadata-fact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-metadata-fact.js","sourceRoot":"","sources":["../src/context-graph-metadata-fact.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAA+B,MAAM,mCAAmC,CAAC;AAc7G;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,KAAkB,EAClB,cAAsB,EACtB,IAA8B;IAE9B,MAAM,OAAO,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,wBAAwB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,2BAA2B,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,KAAK,CAAC,MAAM,CAAC;QACjB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACnG,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Move curated and local-only Context Graph metadata out of the shared
3
+ * `ontology` system graph and into each graph's own `_meta`.
4
+ *
5
+ * `ontology` is the network-wide catalogue of public graphs. A curated or
6
+ * `private: true` graph's metadata belongs in its own `_meta`. Earlier builds
7
+ * also wrote some of it to ontology:
8
+ *
9
+ * - the on-chain id binding of a registered curated graph;
10
+ * - the definition of a `private: true` (local-only) graph;
11
+ * - the new name of a renamed curated graph.
12
+ *
13
+ * This pass removes those rows. For a graph this node holds (it has the
14
+ * graph's own `_meta`), facts that `_meta` lacks are copied there first. A
15
+ * graph counts as private when:
16
+ *
17
+ * - this node's own policy for a graph it holds says so;
18
+ * - ontology carries its private definition, or only its name (a public
19
+ * graph's definition carries its name);
20
+ * - a bare on-chain id binding names a slot the chain proves curated.
21
+ *
22
+ * A public definition, a held graph whose own policy is public, and a binding
23
+ * to a live public slot are kept. So is a binding whose slot isn't proven
24
+ * either way: a slot that doesn't read live may still be a public one this
25
+ * node's RPC can't see yet, so it is retried on a later pass. Chain reads are
26
+ * bounded per pass; a slot the classifier already knows costs none.
27
+ *
28
+ * A graph with a public definition in ontology is never a candidate, so the
29
+ * common case costs one store query and no chain read.
30
+ */
31
+ import { type OntologyBindingSlotClass } from '@origintrail-official/dkg-core';
32
+ import { type TripleStore } from '@origintrail-official/dkg-storage';
33
+ /** Chain classifications one pass may start; the rest wait for the next pass. */
34
+ export declare const METADATA_RELOCATION_MAX_CHAIN_CLASSIFICATIONS = 16;
35
+ export interface ContextGraphMetadataRelocationDependencies {
36
+ readonly store: TripleStore;
37
+ /**
38
+ * This node's own policy for a graph it holds: `private`, `public`, or
39
+ * `null` when no local policy is known. Consulted only for graphs whose
40
+ * `_meta` this node has.
41
+ */
42
+ readonly localAccessPolicy: (contextGraphId: string) => Promise<'private' | 'public' | null>;
43
+ /**
44
+ * Classify a numeric slot named by a bare binding. Omit to leave bindings
45
+ * that need the chain untouched (no chain access).
46
+ */
47
+ readonly classifyOnChainSlot?: (onChainId: string) => Promise<OntologyBindingSlotClass>;
48
+ /**
49
+ * A class the classifier already knows without a chain read, if any. Such
50
+ * slots don't count against {@link maxChainClassifications}.
51
+ */
52
+ readonly knownSlotClass?: (onChainId: string) => OntologyBindingSlotClass | undefined;
53
+ /** Defaults to {@link METADATA_RELOCATION_MAX_CHAIN_CLASSIFICATIONS}. */
54
+ readonly maxChainClassifications?: number;
55
+ }
56
+ export interface ContextGraphMetadataRelocationResult {
57
+ /** Held graphs whose private facts moved from ontology to their `_meta`. */
58
+ readonly movedToMeta: readonly string[];
59
+ /** Graphs not held here whose private rows were deleted from ontology. */
60
+ readonly deletedForeign: number;
61
+ /** Graphs kept because a binding's slot wasn't proven public or curated this pass. */
62
+ readonly unclassified: number;
63
+ }
64
+ export interface OntologyRow {
65
+ readonly predicate: string;
66
+ readonly object: string;
67
+ }
68
+ /** What happens to a candidate's ontology rows; `unproven` keeps them for a later pass. */
69
+ export type RelocationVerdict = 'remove' | 'keep' | 'unproven';
70
+ /**
71
+ * The verdict local facts give, or the on-chain ids whose slots decide it. A
72
+ * candidate goes when its own policy is private, when ontology holds its
73
+ * private definition, or when ontology holds only its name.
74
+ */
75
+ export declare function localRelocationVerdict(localPolicy: 'private' | 'public' | null, ontologyRows: readonly OntologyRow[]): RelocationVerdict | {
76
+ readonly onChainIds: readonly string[];
77
+ };
78
+ /**
79
+ * A bare binding goes only when a slot it names is proven curated. A slot
80
+ * proven neither way keeps it for a later pass.
81
+ */
82
+ export declare function slotRelocationVerdict(slotClasses: readonly OntologyBindingSlotClass[]): RelocationVerdict;
83
+ export declare function relocatePrivateContextGraphMetadata(deps: ContextGraphMetadataRelocationDependencies): Promise<ContextGraphMetadataRelocationResult>;
84
+ //# sourceMappingURL=context-graph-metadata-relocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-metadata-relocation.d.ts","sourceRoot":"","sources":["../src/context-graph-metadata-relocation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAOL,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAC;AAO3C,iFAAiF;AACjF,eAAO,MAAM,6CAA6C,KAAK,CAAC;AAEhE,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC7F;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACxF;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IACtF,yEAAyE;IACzE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,oCAAoC;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,EACxC,YAAY,EAAE,SAAS,WAAW,EAAE,GACnC,iBAAiB,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAgBhE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,GAAG,iBAAiB,CAGzG;AA6ED,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,0CAA0C,GAC/C,OAAO,CAAC,oCAAoC,CAAC,CA6E/C"}