@origintrail-official/dkg-agent 10.0.20 → 10.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/approved-private-replica.d.ts +54 -0
- package/dist/approved-private-replica.d.ts.map +1 -0
- package/dist/approved-private-replica.js +148 -0
- package/dist/approved-private-replica.js.map +1 -0
- package/dist/bounded-operation.d.ts +2 -0
- package/dist/bounded-operation.d.ts.map +1 -1
- package/dist/bounded-operation.js +5 -0
- package/dist/bounded-operation.js.map +1 -1
- package/dist/chain-finality-confirmations-v1.d.ts +7 -0
- package/dist/chain-finality-confirmations-v1.d.ts.map +1 -0
- package/dist/chain-finality-confirmations-v1.js +9 -0
- package/dist/chain-finality-confirmations-v1.js.map +1 -0
- package/dist/chain-reconciler.d.ts +23 -0
- package/dist/chain-reconciler.d.ts.map +1 -1
- package/dist/chain-reconciler.js +35 -0
- package/dist/chain-reconciler.js.map +1 -1
- package/dist/context-graph-member-proof.d.ts +13 -0
- package/dist/context-graph-member-proof.d.ts.map +1 -1
- package/dist/context-graph-member-proof.js +36 -0
- package/dist/context-graph-member-proof.js.map +1 -1
- package/dist/context-graph-membership-persist-scheduler.d.ts +7 -23
- package/dist/context-graph-membership-persist-scheduler.d.ts.map +1 -1
- package/dist/context-graph-membership-persist-scheduler.js +12 -88
- package/dist/context-graph-membership-persist-scheduler.js.map +1 -1
- package/dist/context-graph-meta-projection.d.ts +13 -2
- package/dist/context-graph-meta-projection.d.ts.map +1 -1
- package/dist/context-graph-meta-projection.js +61 -24
- package/dist/context-graph-meta-projection.js.map +1 -1
- package/dist/context-graph-private-meta-proof.d.ts +5 -0
- package/dist/context-graph-private-meta-proof.d.ts.map +1 -1
- package/dist/context-graph-private-meta-proof.js +23 -0
- package/dist/context-graph-private-meta-proof.js.map +1 -1
- package/dist/context-graph-read-authority.d.ts +13 -0
- package/dist/context-graph-read-authority.d.ts.map +1 -1
- package/dist/context-graph-read-authority.js +23 -3
- package/dist/context-graph-read-authority.js.map +1 -1
- package/dist/context-graph-storage-discovery.d.ts +11 -2
- package/dist/context-graph-storage-discovery.d.ts.map +1 -1
- package/dist/context-graph-storage-discovery.js +11 -2
- package/dist/context-graph-storage-discovery.js.map +1 -1
- package/dist/context-graph-subscription-persist-scheduler.d.ts +52 -0
- package/dist/context-graph-subscription-persist-scheduler.d.ts.map +1 -0
- package/dist/context-graph-subscription-persist-scheduler.js +78 -0
- package/dist/context-graph-subscription-persist-scheduler.js.map +1 -0
- package/dist/curator-dial-address.d.ts +16 -0
- package/dist/curator-dial-address.d.ts.map +1 -0
- package/dist/curator-dial-address.js +58 -0
- package/dist/curator-dial-address.js.map +1 -0
- package/dist/curator-meta-refresh.d.ts +2 -0
- package/dist/curator-meta-refresh.d.ts.map +1 -1
- package/dist/curator-meta-refresh.js +2 -44
- package/dist/curator-meta-refresh.js.map +1 -1
- package/dist/curator-peer-connection.d.ts +21 -0
- package/dist/curator-peer-connection.d.ts.map +1 -0
- package/dist/curator-peer-connection.js +41 -0
- package/dist/curator-peer-connection.js.map +1 -0
- package/dist/dkg-agent-base.d.ts +94 -22
- package/dist/dkg-agent-base.d.ts.map +1 -1
- package/dist/dkg-agent-base.js +97 -144
- package/dist/dkg-agent-base.js.map +1 -1
- package/dist/dkg-agent-cg-registry.d.ts +10 -0
- package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
- package/dist/dkg-agent-cg-registry.js +176 -115
- package/dist/dkg-agent-cg-registry.js.map +1 -1
- package/dist/dkg-agent-cg-resolve.d.ts +6 -4
- package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
- package/dist/dkg-agent-cg-resolve.js +22 -16
- package/dist/dkg-agent-cg-resolve.js.map +1 -1
- package/dist/dkg-agent-constants.d.ts +4 -2
- package/dist/dkg-agent-constants.d.ts.map +1 -1
- package/dist/dkg-agent-constants.js +4 -2
- package/dist/dkg-agent-constants.js.map +1 -1
- package/dist/dkg-agent-crypto.d.ts +101 -21
- package/dist/dkg-agent-crypto.d.ts.map +1 -1
- package/dist/dkg-agent-crypto.js +670 -152
- package/dist/dkg-agent-crypto.js.map +1 -1
- package/dist/dkg-agent-helpers.d.ts +2 -2
- package/dist/dkg-agent-helpers.d.ts.map +1 -1
- package/dist/dkg-agent-helpers.js +3 -3
- package/dist/dkg-agent-helpers.js.map +1 -1
- package/dist/dkg-agent-join.d.ts +12 -1
- package/dist/dkg-agent-join.d.ts.map +1 -1
- package/dist/dkg-agent-join.js +80 -92
- package/dist/dkg-agent-join.js.map +1 -1
- package/dist/dkg-agent-lifecycle.d.ts +58 -15
- package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
- package/dist/dkg-agent-lifecycle.js +295 -114
- package/dist/dkg-agent-lifecycle.js.map +1 -1
- package/dist/dkg-agent-publish.d.ts +33 -40
- package/dist/dkg-agent-publish.d.ts.map +1 -1
- package/dist/dkg-agent-publish.js +190 -256
- package/dist/dkg-agent-publish.js.map +1 -1
- package/dist/dkg-agent-query.d.ts +7 -0
- package/dist/dkg-agent-query.d.ts.map +1 -1
- package/dist/dkg-agent-query.js +75 -63
- package/dist/dkg-agent-query.js.map +1 -1
- package/dist/dkg-agent-registered-private-empty-vm.d.ts +70 -0
- package/dist/dkg-agent-registered-private-empty-vm.d.ts.map +1 -0
- package/dist/dkg-agent-registered-private-empty-vm.js +133 -0
- package/dist/dkg-agent-registered-private-empty-vm.js.map +1 -0
- package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts +8 -3
- package/dist/dkg-agent-rfc64-catalog-auto-publish.d.ts.map +1 -1
- package/dist/dkg-agent-rfc64-catalog-auto-publish.js +45 -51
- package/dist/dkg-agent-rfc64-catalog-auto-publish.js.map +1 -1
- package/dist/dkg-agent-rfc64-catalog.d.ts +63 -87
- package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
- package/dist/dkg-agent-rfc64-catalog.js +595 -551
- package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
- package/dist/dkg-agent-swm-host.d.ts +43 -52
- package/dist/dkg-agent-swm-host.d.ts.map +1 -1
- package/dist/dkg-agent-swm-host.js +629 -812
- package/dist/dkg-agent-swm-host.js.map +1 -1
- package/dist/dkg-agent-swm-state.d.ts +15 -0
- package/dist/dkg-agent-swm-state.d.ts.map +1 -1
- package/dist/dkg-agent-swm-state.js +43 -0
- package/dist/dkg-agent-swm-state.js.map +1 -1
- package/dist/dkg-agent-swm-substrate.d.ts +2 -0
- package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
- package/dist/dkg-agent-swm-substrate.js +110 -53
- package/dist/dkg-agent-swm-substrate.js.map +1 -1
- package/dist/dkg-agent-types.d.ts +62 -26
- package/dist/dkg-agent-types.d.ts.map +1 -1
- package/dist/dkg-agent-types.js.map +1 -1
- package/dist/dkg-agent-vm-promotion.d.ts +2 -0
- package/dist/dkg-agent-vm-promotion.d.ts.map +1 -1
- package/dist/dkg-agent-vm-promotion.js +39 -5
- package/dist/dkg-agent-vm-promotion.js.map +1 -1
- package/dist/dkg-agent.d.ts +8 -1
- package/dist/dkg-agent.d.ts.map +1 -1
- package/dist/dkg-agent.js +75 -45
- package/dist/dkg-agent.js.map +1 -1
- package/dist/exact-graph-content-verifier.d.ts.map +1 -1
- package/dist/exact-graph-content-verifier.js +3 -2
- package/dist/exact-graph-content-verifier.js.map +1 -1
- package/dist/finalization-handler.d.ts +19 -207
- package/dist/finalization-handler.d.ts.map +1 -1
- package/dist/finalization-handler.js +79 -1646
- package/dist/finalization-handler.js.map +1 -1
- package/dist/finalization-recovery-worker.js +1 -1
- package/dist/finalization-recovery-worker.js.map +1 -1
- package/dist/finalized-authority-cold-resolution.d.ts +6 -1
- package/dist/finalized-authority-cold-resolution.d.ts.map +1 -1
- package/dist/finalized-authority-cold-resolution.js +22 -3
- package/dist/finalized-authority-cold-resolution.js.map +1 -1
- package/dist/gossip-session.d.ts +29 -0
- package/dist/gossip-session.d.ts.map +1 -0
- package/dist/gossip-session.js +48 -0
- package/dist/gossip-session.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts +5 -5
- package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.d.ts.map +1 -1
- package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js +59 -49
- package/dist/internal/context-graph-authority/context-graph-agent-gate-authority.js.map +1 -1
- package/dist/internal/context-graph-authority/finalized-target-projection.d.ts +17 -0
- package/dist/internal/context-graph-authority/finalized-target-projection.d.ts.map +1 -0
- package/dist/internal/context-graph-authority/finalized-target-projection.js +36 -0
- package/dist/internal/context-graph-authority/finalized-target-projection.js.map +1 -0
- package/dist/internal/context-graph-authority/swm-transport-authority.d.ts +43 -7
- package/dist/internal/context-graph-authority/swm-transport-authority.d.ts.map +1 -1
- package/dist/internal/context-graph-authority/swm-transport-authority.js +135 -18
- package/dist/internal/context-graph-authority/swm-transport-authority.js.map +1 -1
- package/dist/internal/context-graph-binding-abort.d.ts +3 -0
- package/dist/internal/context-graph-binding-abort.d.ts.map +1 -0
- package/dist/internal/context-graph-binding-abort.js +32 -0
- package/dist/internal/context-graph-binding-abort.js.map +1 -0
- package/dist/internal/context-graph-cache-invalidating-store.d.ts +3 -0
- package/dist/internal/context-graph-cache-invalidating-store.d.ts.map +1 -0
- package/dist/internal/context-graph-cache-invalidating-store.js +167 -0
- package/dist/internal/context-graph-cache-invalidating-store.js.map +1 -0
- package/dist/internal/context-graph-meta-record-copy.d.ts +3 -0
- package/dist/internal/context-graph-meta-record-copy.d.ts.map +1 -0
- package/dist/internal/context-graph-meta-record-copy.js +21 -0
- package/dist/internal/context-graph-meta-record-copy.js.map +1 -0
- package/dist/internal/gossip/host-mode-handler.d.ts +11 -0
- package/dist/internal/gossip/host-mode-handler.d.ts.map +1 -0
- package/dist/internal/gossip/host-mode-handler.js +41 -0
- package/dist/internal/gossip/host-mode-handler.js.map +1 -0
- package/dist/internal/join-encryption-key-bundle.d.ts +10 -0
- package/dist/internal/join-encryption-key-bundle.d.ts.map +1 -0
- package/dist/internal/join-encryption-key-bundle.js +72 -0
- package/dist/internal/join-encryption-key-bundle.js.map +1 -0
- package/dist/internal/knowledge-asset-vm-publish-request.d.ts +31 -0
- package/dist/internal/knowledge-asset-vm-publish-request.d.ts.map +1 -0
- package/dist/internal/knowledge-asset-vm-publish-request.js +91 -0
- package/dist/internal/knowledge-asset-vm-publish-request.js.map +1 -0
- package/dist/internal/lifecycle-sync-policy.d.ts +5 -0
- package/dist/internal/lifecycle-sync-policy.d.ts.map +1 -0
- package/dist/internal/lifecycle-sync-policy.js +12 -0
- package/dist/internal/lifecycle-sync-policy.js.map +1 -0
- package/dist/internal/local-private-member.d.ts +14 -0
- package/dist/internal/local-private-member.d.ts.map +1 -0
- package/dist/internal/local-private-member.js +21 -0
- package/dist/internal/local-private-member.js.map +1 -0
- package/dist/internal/promote/assertion-promote-precommit.d.ts +41 -1
- package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
- package/dist/internal/promote/assertion-promote-precommit.js +74 -5
- package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
- package/dist/internal/storage-ack-owned-request.d.ts +16 -0
- package/dist/internal/storage-ack-owned-request.d.ts.map +1 -0
- package/dist/internal/storage-ack-owned-request.js +16 -0
- package/dist/internal/storage-ack-owned-request.js.map +1 -0
- package/dist/internal/vm-reconcile-local-admission-wait.d.ts +96 -0
- package/dist/internal/vm-reconcile-local-admission-wait.d.ts.map +1 -0
- package/dist/internal/vm-reconcile-local-admission-wait.js +226 -0
- package/dist/internal/vm-reconcile-local-admission-wait.js.map +1 -0
- package/dist/internal/vm-reconcile-read-authority.d.ts +27 -0
- package/dist/internal/vm-reconcile-read-authority.d.ts.map +1 -0
- package/dist/internal/vm-reconcile-read-authority.js +33 -0
- package/dist/internal/vm-reconcile-read-authority.js.map +1 -0
- package/dist/internal/vm-reconcile-sweep-admission.d.ts +2 -0
- package/dist/internal/vm-reconcile-sweep-admission.d.ts.map +1 -1
- package/dist/internal/vm-reconcile-sweep.d.ts +16 -4
- package/dist/internal/vm-reconcile-sweep.d.ts.map +1 -1
- package/dist/internal/vm-reconcile-sweep.js +91 -50
- package/dist/internal/vm-reconcile-sweep.js.map +1 -1
- package/dist/internal/workspace-projected-delegatees.d.ts +3 -0
- package/dist/internal/workspace-projected-delegatees.d.ts.map +1 -0
- package/dist/internal/workspace-projected-delegatees.js +34 -0
- package/dist/internal/workspace-projected-delegatees.js.map +1 -0
- package/dist/join-approval-restart-projection.d.ts +14 -0
- package/dist/join-approval-restart-projection.d.ts.map +1 -0
- package/dist/join-approval-restart-projection.js +32 -0
- package/dist/join-approval-restart-projection.js.map +1 -0
- package/dist/keyed-persist-scheduler.d.ts +72 -0
- package/dist/keyed-persist-scheduler.d.ts.map +1 -0
- package/dist/keyed-persist-scheduler.js +140 -0
- package/dist/keyed-persist-scheduler.js.map +1 -0
- package/dist/map-with-concurrency.d.ts +7 -0
- package/dist/map-with-concurrency.d.ts.map +1 -1
- package/dist/map-with-concurrency.js +36 -0
- package/dist/map-with-concurrency.js.map +1 -1
- package/dist/p2p/network-admission-coordinator.d.ts +15 -0
- package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
- package/dist/p2p/network-admission-coordinator.js +20 -2
- package/dist/p2p/network-admission-coordinator.js.map +1 -1
- package/dist/prepare-unscoped-context-graph-read-checks.d.ts.map +1 -1
- package/dist/prepare-unscoped-context-graph-read-checks.js +12 -0
- package/dist/prepare-unscoped-context-graph-read-checks.js.map +1 -1
- package/dist/registered-context-graph-authority.d.ts +7 -0
- package/dist/registered-context-graph-authority.d.ts.map +1 -1
- package/dist/registered-private-empty-vm-attempt-v1.d.ts +34 -0
- package/dist/registered-private-empty-vm-attempt-v1.d.ts.map +1 -0
- package/dist/registered-private-empty-vm-attempt-v1.js +120 -0
- package/dist/registered-private-empty-vm-attempt-v1.js.map +1 -0
- package/dist/reserved-ka-id-allocation.d.ts +12 -0
- package/dist/reserved-ka-id-allocation.d.ts.map +1 -0
- package/dist/reserved-ka-id-allocation.js +25 -0
- package/dist/reserved-ka-id-allocation.js.map +1 -0
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts +5 -3
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts.map +1 -1
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.js +9 -0
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.js.map +1 -1
- package/dist/rfc64/catalog-completion-evidence-v1.d.ts +38 -0
- package/dist/rfc64/catalog-completion-evidence-v1.d.ts.map +1 -0
- package/dist/rfc64/catalog-completion-evidence-v1.js +49 -0
- package/dist/rfc64/catalog-completion-evidence-v1.js.map +1 -0
- package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +6 -3
- package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -1
- package/dist/rfc64/catalog-operational-applied-heads-v1.js +6 -3
- package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -1
- package/dist/rfc64/catalog-operational-reads-v1.d.ts +13 -0
- package/dist/rfc64/catalog-operational-reads-v1.d.ts.map +1 -0
- package/dist/rfc64/catalog-operational-reads-v1.js +56 -0
- package/dist/rfc64/catalog-operational-reads-v1.js.map +1 -0
- package/dist/rfc64/catalog-operational-targets-v1.d.ts +55 -0
- package/dist/rfc64/catalog-operational-targets-v1.d.ts.map +1 -0
- package/dist/rfc64/catalog-operational-targets-v1.js +379 -0
- package/dist/rfc64/catalog-operational-targets-v1.js.map +1 -0
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +2 -0
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -1
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +18 -25
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -1
- package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts +25 -0
- package/dist/rfc64/legacy-swm-boundary-codec-v1.d.ts.map +1 -0
- package/dist/rfc64/legacy-swm-boundary-codec-v1.js +127 -0
- package/dist/rfc64/legacy-swm-boundary-codec-v1.js.map +1 -0
- package/dist/rfc64/legacy-swm-boundary-v1.d.ts +12 -0
- package/dist/rfc64/legacy-swm-boundary-v1.d.ts.map +1 -1
- package/dist/rfc64/legacy-swm-boundary-v1.js +83 -144
- package/dist/rfc64/legacy-swm-boundary-v1.js.map +1 -1
- package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts +33 -0
- package/dist/rfc64/private-catalog-subscription-readiness-v1.d.ts.map +1 -0
- package/dist/rfc64/private-catalog-subscription-readiness-v1.js +97 -0
- package/dist/rfc64/private-catalog-subscription-readiness-v1.js.map +1 -0
- package/dist/rfc64/private-read-roster-v1.d.ts +14 -0
- package/dist/rfc64/private-read-roster-v1.d.ts.map +1 -0
- package/dist/rfc64/private-read-roster-v1.js +57 -0
- package/dist/rfc64/private-read-roster-v1.js.map +1 -0
- package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts +20 -0
- package/dist/rfc64/registered-private-empty-vm-proof-v1.d.ts.map +1 -0
- package/dist/rfc64/registered-private-empty-vm-proof-v1.js +26 -0
- package/dist/rfc64/registered-private-empty-vm-proof-v1.js.map +1 -0
- package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts +3 -1
- package/dist/rfc64/swm-inventory-shadow-runtime-v1.d.ts.map +1 -1
- package/dist/rfc64/swm-inventory-shadow-runtime-v1.js +34 -0
- package/dist/rfc64/swm-inventory-shadow-runtime-v1.js.map +1 -1
- package/dist/sync/auth/pipe-request-tail.d.ts +5 -1
- package/dist/sync/auth/pipe-request-tail.d.ts.map +1 -1
- package/dist/sync/auth/pipe-request-tail.js +13 -3
- package/dist/sync/auth/pipe-request-tail.js.map +1 -1
- package/dist/sync/auth/request-build.d.ts +3 -0
- package/dist/sync/auth/request-build.d.ts.map +1 -1
- package/dist/sync/auth/request-build.js +11 -2
- package/dist/sync/auth/request-build.js.map +1 -1
- package/dist/sync/backpressure.d.ts +27 -16
- package/dist/sync/backpressure.d.ts.map +1 -1
- package/dist/sync/backpressure.js +66 -40
- package/dist/sync/backpressure.js.map +1 -1
- package/dist/sync/catchup-policy.d.ts +2 -0
- package/dist/sync/catchup-policy.d.ts.map +1 -1
- package/dist/sync/catchup-policy.js +2 -0
- package/dist/sync/catchup-policy.js.map +1 -1
- package/dist/sync/exact-assets.d.ts +7 -5
- package/dist/sync/exact-assets.d.ts.map +1 -1
- package/dist/sync/exact-assets.js +13 -8
- package/dist/sync/exact-assets.js.map +1 -1
- package/dist/sync/exact-batch-observation.d.ts +3 -0
- package/dist/sync/exact-batch-observation.d.ts.map +1 -0
- package/dist/sync/exact-batch-observation.js +13 -0
- package/dist/sync/exact-batch-observation.js.map +1 -0
- package/dist/sync/exact-batch-stream-capability.d.ts +24 -0
- package/dist/sync/exact-batch-stream-capability.d.ts.map +1 -0
- package/dist/sync/exact-batch-stream-capability.js +88 -0
- package/dist/sync/exact-batch-stream-capability.js.map +1 -0
- package/dist/sync/exact-batch-stream-contract.d.ts +78 -0
- package/dist/sync/exact-batch-stream-contract.d.ts.map +1 -0
- package/dist/sync/exact-batch-stream-contract.js +206 -0
- package/dist/sync/exact-batch-stream-contract.js.map +1 -0
- package/dist/sync/peer-connection.d.ts.map +1 -1
- package/dist/sync/peer-connection.js +11 -2
- package/dist/sync/peer-connection.js.map +1 -1
- package/dist/sync/priority-admission-queue.d.ts +17 -0
- package/dist/sync/priority-admission-queue.d.ts.map +1 -1
- package/dist/sync/priority-admission-queue.js +58 -37
- package/dist/sync/priority-admission-queue.js.map +1 -1
- package/dist/sync/requester/admission-boundary.d.ts +12 -0
- package/dist/sync/requester/admission-boundary.d.ts.map +1 -0
- package/dist/sync/requester/admission-boundary.js +22 -0
- package/dist/sync/requester/admission-boundary.js.map +1 -0
- package/dist/sync/requester/durable-sync.d.ts +2 -1
- package/dist/sync/requester/durable-sync.d.ts.map +1 -1
- package/dist/sync/requester/durable-sync.js +3 -188
- package/dist/sync/requester/durable-sync.js.map +1 -1
- package/dist/sync/requester/exact-batch-stream-driver.d.ts +83 -0
- package/dist/sync/requester/exact-batch-stream-driver.d.ts.map +1 -0
- package/dist/sync/requester/exact-batch-stream-driver.js +299 -0
- package/dist/sync/requester/exact-batch-stream-driver.js.map +1 -0
- package/dist/sync/requester/exact-batch-stream.d.ts +72 -0
- package/dist/sync/requester/exact-batch-stream.d.ts.map +1 -0
- package/dist/sync/requester/exact-batch-stream.js +267 -0
- package/dist/sync/requester/exact-batch-stream.js.map +1 -0
- package/dist/sync/requester/exact-recovery-transport.d.ts +19 -0
- package/dist/sync/requester/exact-recovery-transport.d.ts.map +1 -0
- package/dist/sync/requester/exact-recovery-transport.js +3 -0
- package/dist/sync/requester/exact-recovery-transport.js.map +1 -0
- package/dist/sync/requester/finalized-swm-twin-reconciliation.js +12 -3
- package/dist/sync/requester/finalized-swm-twin-reconciliation.js.map +1 -1
- package/dist/sync/requester/graph-scoped-materialization.d.ts.map +1 -1
- package/dist/sync/requester/graph-scoped-materialization.js +58 -24
- package/dist/sync/requester/graph-scoped-materialization.js.map +1 -1
- package/dist/sync/requester/page-fetch.d.ts +7 -0
- package/dist/sync/requester/page-fetch.d.ts.map +1 -1
- package/dist/sync/requester/page-fetch.js +103 -49
- package/dist/sync/requester/page-fetch.js.map +1 -1
- package/dist/sync/requester/shared-memory-sync.d.ts +10 -5
- package/dist/sync/requester/shared-memory-sync.d.ts.map +1 -1
- package/dist/sync/requester/shared-memory-sync.js +149 -150
- package/dist/sync/requester/shared-memory-sync.js.map +1 -1
- package/dist/sync/requester/swm-materialization-memo.d.ts +12 -0
- package/dist/sync/requester/swm-materialization-memo.d.ts.map +1 -0
- package/dist/sync/requester/swm-materialization-memo.js +54 -0
- package/dist/sync/requester/swm-materialization-memo.js.map +1 -0
- package/dist/sync/requester/swm-recovery.d.ts +3 -29
- package/dist/sync/requester/swm-recovery.d.ts.map +1 -1
- package/dist/sync/requester/swm-recovery.js +11 -10
- package/dist/sync/requester/swm-recovery.js.map +1 -1
- package/dist/sync/requester/swm-snapshot-materializer.d.ts.map +1 -1
- package/dist/sync/requester/swm-snapshot-materializer.js +18 -0
- package/dist/sync/requester/swm-snapshot-materializer.js.map +1 -1
- package/dist/sync/requester/swm-target-executor.d.ts +6 -0
- package/dist/sync/requester/swm-target-executor.d.ts.map +1 -1
- package/dist/sync/requester/swm-target-executor.js +24 -3
- package/dist/sync/requester/swm-target-executor.js.map +1 -1
- package/dist/sync/requester/verified-asset-preparation.d.ts +9 -0
- package/dist/sync/requester/verified-asset-preparation.d.ts.map +1 -0
- package/dist/sync/requester/verified-asset-preparation.js +190 -0
- package/dist/sync/requester/verified-asset-preparation.js.map +1 -0
- package/dist/sync/responder/asset-metadata.d.ts +18 -0
- package/dist/sync/responder/asset-metadata.d.ts.map +1 -0
- package/dist/sync/responder/asset-metadata.js +27 -0
- package/dist/sync/responder/asset-metadata.js.map +1 -0
- package/dist/sync/responder/durable-data-request-policy.d.ts +2 -16
- package/dist/sync/responder/durable-data-request-policy.d.ts.map +1 -1
- package/dist/sync/responder/durable-data-request-policy.js +1 -31
- package/dist/sync/responder/durable-data-request-policy.js.map +1 -1
- package/dist/sync/responder/exact-asset-export-cache.d.ts +89 -0
- package/dist/sync/responder/exact-asset-export-cache.d.ts.map +1 -0
- package/dist/sync/responder/exact-asset-export-cache.js +550 -0
- package/dist/sync/responder/exact-asset-export-cache.js.map +1 -0
- package/dist/sync/responder/exact-batch-stream.d.ts +47 -0
- package/dist/sync/responder/exact-batch-stream.d.ts.map +1 -0
- package/dist/sync/responder/exact-batch-stream.js +151 -0
- package/dist/sync/responder/exact-batch-stream.js.map +1 -0
- package/dist/sync/responder/exact-data-session.d.ts +67 -0
- package/dist/sync/responder/exact-data-session.d.ts.map +1 -0
- package/dist/sync/responder/exact-data-session.js +130 -0
- package/dist/sync/responder/exact-data-session.js.map +1 -0
- package/dist/sync/responder/exact-graph-cursor-filter.d.ts +9 -0
- package/dist/sync/responder/exact-graph-cursor-filter.d.ts.map +1 -0
- package/dist/sync/responder/exact-graph-cursor-filter.js +101 -0
- package/dist/sync/responder/exact-graph-cursor-filter.js.map +1 -0
- package/dist/sync/responder/exact-graph-reader.d.ts +95 -0
- package/dist/sync/responder/exact-graph-reader.d.ts.map +1 -0
- package/dist/sync/responder/exact-graph-reader.js +623 -0
- package/dist/sync/responder/exact-graph-reader.js.map +1 -0
- package/dist/sync/responder/exact-page-reader.d.ts +37 -0
- package/dist/sync/responder/exact-page-reader.d.ts.map +1 -0
- package/dist/sync/responder/exact-page-reader.js +130 -0
- package/dist/sync/responder/exact-page-reader.js.map +1 -0
- package/dist/sync/responder/graph-plan.d.ts +19 -85
- package/dist/sync/responder/graph-plan.d.ts.map +1 -1
- package/dist/sync/responder/graph-plan.js +51 -988
- package/dist/sync/responder/graph-plan.js.map +1 -1
- package/dist/sync/responder/page-framing-policy.d.ts +31 -0
- package/dist/sync/responder/page-framing-policy.d.ts.map +1 -0
- package/dist/sync/responder/page-framing-policy.js +41 -0
- package/dist/sync/responder/page-framing-policy.js.map +1 -0
- package/dist/sync/responder/responder-row-page.d.ts +85 -0
- package/dist/sync/responder/responder-row-page.d.ts.map +1 -0
- package/dist/sync/responder/responder-row-page.js +181 -0
- package/dist/sync/responder/responder-row-page.js.map +1 -0
- package/dist/sync/responder/row-serialization.d.ts +34 -0
- package/dist/sync/responder/row-serialization.d.ts.map +1 -0
- package/dist/sync/responder/row-serialization.js +69 -0
- package/dist/sync/responder/row-serialization.js.map +1 -0
- package/dist/sync/responder/session-plan-memo.d.ts +20 -0
- package/dist/sync/responder/session-plan-memo.d.ts.map +1 -0
- package/dist/sync/responder/session-plan-memo.js +135 -0
- package/dist/sync/responder/session-plan-memo.js.map +1 -0
- package/dist/sync/responder/sync-handler.d.ts +18 -1
- package/dist/sync/responder/sync-handler.d.ts.map +1 -1
- package/dist/sync/responder/sync-handler.js +101 -57
- package/dist/sync/responder/sync-handler.js.map +1 -1
- package/dist/sync/shared-memory-completion.d.ts +30 -0
- package/dist/sync/shared-memory-completion.d.ts.map +1 -1
- package/dist/sync/shared-memory-completion.js +13 -0
- package/dist/sync/shared-memory-completion.js.map +1 -1
- package/dist/sync/wire-compression.d.ts +47 -0
- package/dist/sync/wire-compression.d.ts.map +1 -0
- package/dist/sync/wire-compression.js +111 -0
- package/dist/sync/wire-compression.js.map +1 -0
- package/dist/unscoped-query-consistency.d.ts +12 -0
- package/dist/unscoped-query-consistency.d.ts.map +1 -1
- package/dist/unscoped-query-consistency.js +17 -1
- package/dist/unscoped-query-consistency.js.map +1 -1
- package/dist/vm-promotion-audit.d.ts +2 -2
- package/dist/vm-promotion-audit.d.ts.map +1 -1
- package/dist/vm-promotion-audit.js +26 -9
- package/dist/vm-promotion-audit.js.map +1 -1
- package/dist/vm-reconcile-dispatcher.d.ts +42 -1
- package/dist/vm-reconcile-dispatcher.d.ts.map +1 -1
- package/dist/vm-reconcile-dispatcher.js +103 -4
- package/dist/vm-reconcile-dispatcher.js.map +1 -1
- package/dist/vm-reconcile-peer-topology.d.ts +7 -9
- package/dist/vm-reconcile-peer-topology.d.ts.map +1 -1
- package/dist/vm-reconcile-peer-topology.js +1 -37
- package/dist/vm-reconcile-peer-topology.js.map +1 -1
- package/dist/vm-recovery-candidate-order.d.ts +16 -0
- package/dist/vm-recovery-candidate-order.d.ts.map +1 -0
- package/dist/vm-recovery-candidate-order.js +24 -0
- package/dist/vm-recovery-candidate-order.js.map +1 -0
- package/dist/vm-recovery-core-transport-preference.d.ts +69 -0
- package/dist/vm-recovery-core-transport-preference.d.ts.map +1 -0
- package/dist/vm-recovery-core-transport-preference.js +131 -0
- package/dist/vm-recovery-core-transport-preference.js.map +1 -0
- package/dist/vm-recovery-experiment-policy.d.ts +24 -0
- package/dist/vm-recovery-experiment-policy.d.ts.map +1 -0
- package/dist/vm-recovery-experiment-policy.js +18 -0
- package/dist/vm-recovery-experiment-policy.js.map +1 -0
- package/dist/vm-recovery-footprint.d.ts +54 -0
- package/dist/vm-recovery-footprint.d.ts.map +1 -1
- package/dist/vm-recovery-footprint.js +88 -24
- package/dist/vm-recovery-footprint.js.map +1 -1
- package/dist/vm-recovery-microbatch.d.ts +2 -0
- package/dist/vm-recovery-microbatch.d.ts.map +1 -1
- package/dist/vm-recovery-microbatch.js +7 -3
- package/dist/vm-recovery-microbatch.js.map +1 -1
- package/dist/vm-recovery-pass-authority.d.ts +84 -0
- package/dist/vm-recovery-pass-authority.d.ts.map +1 -0
- package/dist/vm-recovery-pass-authority.js +126 -0
- package/dist/vm-recovery-pass-authority.js.map +1 -0
- package/dist/vm-recovery-phase-timing.d.ts +75 -0
- package/dist/vm-recovery-phase-timing.d.ts.map +1 -0
- package/dist/vm-recovery-phase-timing.js +236 -0
- package/dist/vm-recovery-phase-timing.js.map +1 -0
- package/dist/vm-recovery-preparation.d.ts +143 -0
- package/dist/vm-recovery-preparation.d.ts.map +1 -0
- package/dist/vm-recovery-preparation.js +433 -0
- package/dist/vm-recovery-preparation.js.map +1 -0
- package/dist/vm-recovery-provider-policy.d.ts +13 -1
- package/dist/vm-recovery-provider-policy.d.ts.map +1 -1
- package/dist/vm-recovery-provider-policy.js +37 -5
- package/dist/vm-recovery-provider-policy.js.map +1 -1
- package/dist/vm-recovery-stream-profile.d.ts +15 -0
- package/dist/vm-recovery-stream-profile.d.ts.map +1 -0
- package/dist/vm-recovery-stream-profile.js +53 -0
- package/dist/vm-recovery-stream-profile.js.map +1 -0
- package/dist/vm-recovery-stream-setback-policy.d.ts +54 -0
- package/dist/vm-recovery-stream-setback-policy.d.ts.map +1 -0
- package/dist/vm-recovery-stream-setback-policy.js +85 -0
- package/dist/vm-recovery-stream-setback-policy.js.map +1 -0
- package/dist/vm-recovery-timing-observer.d.ts +27 -0
- package/dist/vm-recovery-timing-observer.d.ts.map +1 -0
- package/dist/vm-recovery-timing-observer.js +49 -0
- package/dist/vm-recovery-timing-observer.js.map +1 -0
- package/dist/vm-recovery-transport-budget-policy.d.ts +32 -0
- package/dist/vm-recovery-transport-budget-policy.d.ts.map +1 -0
- package/dist/vm-recovery-transport-budget-policy.js +55 -0
- package/dist/vm-recovery-transport-budget-policy.js.map +1 -0
- package/dist/vm-recovery-transport-plan.d.ts +83 -0
- package/dist/vm-recovery-transport-plan.d.ts.map +1 -0
- package/dist/vm-recovery-transport-plan.js +117 -0
- package/dist/vm-recovery-transport-plan.js.map +1 -0
- package/package.json +17 -9
- package/dist/finalization-annotations.d.ts +0 -5
- package/dist/finalization-annotations.d.ts.map +0 -1
- package/dist/finalization-annotations.js +0 -6
- package/dist/finalization-annotations.js.map +0 -1
- package/dist/swm-ka-bound.d.ts +0 -21
- package/dist/swm-ka-bound.d.ts.map +0 -1
- package/dist/swm-ka-bound.js +0 -36
- package/dist/swm-ka-bound.js.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { DKGAgent } from './dkg-agent.js';
|
|
2
|
+
export interface ApprovedPrivateReplicaAuthority {
|
|
3
|
+
readonly approvedAgentAddress: string;
|
|
4
|
+
readonly ownerAddress: string;
|
|
5
|
+
readonly requestGeneration: string;
|
|
6
|
+
readonly curatorPeerId: string;
|
|
7
|
+
readonly memberAddresses: readonly string[];
|
|
8
|
+
/**
|
|
9
|
+
* Source-qualified graph peer gate proved with this replica authority.
|
|
10
|
+
* Current producers always set this; optionality preserves the public
|
|
11
|
+
* authority shape accepted from older callers.
|
|
12
|
+
*/
|
|
13
|
+
readonly allowedPeers?: readonly string[];
|
|
14
|
+
/**
|
|
15
|
+
* Deadline of the delegation this proof rests on, in epoch milliseconds;
|
|
16
|
+
* `null` when that delegation has no expiry. A consumer that awaits further
|
|
17
|
+
* reads before it uses the proof re-checks it with
|
|
18
|
+
* {@link isApprovedPrivateReplicaDelegationActive}. Current producers always
|
|
19
|
+
* set this; optionality preserves the public authority shape.
|
|
20
|
+
*/
|
|
21
|
+
readonly delegationExpiresAtMs?: number | null;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Whether the delegation an earlier proof rested on is still active. No store
|
|
25
|
+
* write marks the moment a delegation expires, so the revision fences cannot
|
|
26
|
+
* see it; an authority without a recorded deadline is not extended.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isApprovedPrivateReplicaDelegationActive(authority: ApprovedPrivateReplicaAuthority, nowMs?: number): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Result of the one source-qualified private-member proof.
|
|
31
|
+
*
|
|
32
|
+
* A canonical on-chain id in the exact private definition makes the proof
|
|
33
|
+
* ineligible for unregistered-replica authority, but legacy adapters still
|
|
34
|
+
* need to distinguish that fully proved registered-metadata shape from an
|
|
35
|
+
* invalid bare-name proof. Only the legacy compatibility route consumes the
|
|
36
|
+
* latter result; finalized absence never does.
|
|
37
|
+
*/
|
|
38
|
+
export type ApprovedPrivateReplicaAuthorityResolution = Readonly<{
|
|
39
|
+
kind: 'unregistered-private-replica';
|
|
40
|
+
authority: ApprovedPrivateReplicaAuthority;
|
|
41
|
+
}> | Readonly<{
|
|
42
|
+
kind: 'confirmed-registered-meta';
|
|
43
|
+
onChainId: string;
|
|
44
|
+
authority: ApprovedPrivateReplicaAuthority;
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* Resolve the current authority proved by a durable approved private join.
|
|
48
|
+
*
|
|
49
|
+
* This proves who approved the local replica and returns only the fresh,
|
|
50
|
+
* source-qualified private roster. Callers must independently establish exact
|
|
51
|
+
* finalized chain-name absence before treating the graph as unregistered.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveApprovedPrivateReplicaAuthority(agent: DKGAgent, contextGraphId: string, approvedAgentAddress: string | undefined, approvalStillHolds: () => boolean, metadataStillCurrent: () => boolean, signal?: AbortSignal): Promise<ApprovedPrivateReplicaAuthorityResolution | null>;
|
|
54
|
+
//# sourceMappingURL=approved-private-replica.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approved-private-replica.d.ts","sourceRoot":"","sources":["../src/approved-private-replica.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACtD,SAAS,EAAE,+BAA+B,EAC1C,KAAK,SAAa,GACjB,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,yCAAyC,GACjD,QAAQ,CAAC;IACP,IAAI,EAAE,8BAA8B,CAAC;IACrC,SAAS,EAAE,+BAA+B,CAAC;CAC5C,CAAC,GACF,QAAQ,CAAC;IACP,IAAI,EAAE,2BAA2B,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,+BAA+B,CAAC;CAC5C,CAAC,CAAC;AA4BP;;;;;;GAMG;AACH,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,QAAQ,EACf,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,kBAAkB,EAAE,MAAM,OAAO,EACjC,oBAAoB,EAAE,MAAM,OAAO,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yCAAyC,GAAG,IAAI,CAAC,CA4G3D"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
import { isApprovedMemberDelegationExpiryActive, parseApprovedMemberDelegationExpiry, } from './context-graph-member-proof.js';
|
|
3
|
+
import { buildAuthoritativePrivateMetaMemberProofQuery, } from './context-graph-private-meta-proof.js';
|
|
4
|
+
import { isCanonicalAuthoritativeContextGraphId } from './context-graph-binding-state.js';
|
|
5
|
+
import { stripLiteral } from './dkg-agent-utils.js';
|
|
6
|
+
const EVM_ADDRESS = /^0x[0-9a-f]{40}$/u;
|
|
7
|
+
const ZERO_ADDRESS = `0x${'0'.repeat(40)}`;
|
|
8
|
+
/**
|
|
9
|
+
* Whether the delegation an earlier proof rested on is still active. No store
|
|
10
|
+
* write marks the moment a delegation expires, so the revision fences cannot
|
|
11
|
+
* see it; an authority without a recorded deadline is not extended.
|
|
12
|
+
*/
|
|
13
|
+
export function isApprovedPrivateReplicaDelegationActive(authority, nowMs = Date.now()) {
|
|
14
|
+
return authority.delegationExpiresAtMs !== undefined
|
|
15
|
+
&& isApprovedMemberDelegationExpiryActive(authority.delegationExpiresAtMs, nowMs);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Classify the exact own-meta on-chain binding returned by the same proof.
|
|
19
|
+
* `null` means absent; `undefined` means malformed, ambiguous, or a mixed
|
|
20
|
+
* bound/unbound result and therefore fails closed.
|
|
21
|
+
*/
|
|
22
|
+
function parseRegisteredMetaOnChainId(bindings) {
|
|
23
|
+
const values = new Set();
|
|
24
|
+
let sawUnbound = false;
|
|
25
|
+
for (const binding of bindings) {
|
|
26
|
+
const raw = binding['contextGraphOnChainId'];
|
|
27
|
+
if (raw === undefined) {
|
|
28
|
+
sawUnbound = true;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const value = stripLiteral(raw);
|
|
32
|
+
if (!isCanonicalAuthoritativeContextGraphId(value))
|
|
33
|
+
return undefined;
|
|
34
|
+
values.add(value);
|
|
35
|
+
if (values.size > 1)
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
if (values.size === 0)
|
|
39
|
+
return null;
|
|
40
|
+
if (sawUnbound)
|
|
41
|
+
return undefined;
|
|
42
|
+
return values.values().next().value;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the current authority proved by a durable approved private join.
|
|
46
|
+
*
|
|
47
|
+
* This proves who approved the local replica and returns only the fresh,
|
|
48
|
+
* source-qualified private roster. Callers must independently establish exact
|
|
49
|
+
* finalized chain-name absence before treating the graph as unregistered.
|
|
50
|
+
*/
|
|
51
|
+
export async function resolveApprovedPrivateReplicaAuthority(agent, contextGraphId, approvedAgentAddress, approvalStillHolds, metadataStillCurrent, signal) {
|
|
52
|
+
const approved = approvedAgentAddress?.toLowerCase();
|
|
53
|
+
const hasLocalAgent = () => agent.listLocalAgents().some(({ agentAddress }) => agentAddress.toLowerCase() === approved);
|
|
54
|
+
if (!approved || !hasLocalAgent())
|
|
55
|
+
return null;
|
|
56
|
+
// Own-meta reads and the proof query are separate store operations. Fence the
|
|
57
|
+
// projection revision so a root/member/delegation mutation between them
|
|
58
|
+
// cannot authorize from a mixed generation.
|
|
59
|
+
const state = await agent.readRequesterJoinRequestState(contextGraphId, approved);
|
|
60
|
+
if (state?.status !== 'approved'
|
|
61
|
+
|| !state.curatorPeerId
|
|
62
|
+
|| state.curatorAuthorityEra !== '0'
|
|
63
|
+
|| !state.curatorAgentAddress
|
|
64
|
+
|| !EVM_ADDRESS.test(state.curatorAgentAddress)
|
|
65
|
+
|| state.curatorAgentAddress === ZERO_ADDRESS)
|
|
66
|
+
return null;
|
|
67
|
+
const ownerAddress = state.curatorAgentAddress;
|
|
68
|
+
const meta = await agent.getOwnCgMetaFacts(contextGraphId, { signal });
|
|
69
|
+
const owners = new Set(meta.curators.map((did) => did
|
|
70
|
+
.replace(/^did:dkg:agent:/u, '').toLowerCase()));
|
|
71
|
+
const creators = new Set(meta.creators);
|
|
72
|
+
const registrationStatus = await agent.readLocalContextGraphRegistrationStatus(contextGraphId);
|
|
73
|
+
if (meta.accessPolicy?.trim().toLowerCase() !== 'private'
|
|
74
|
+
|| owners.size !== 1
|
|
75
|
+
|| !owners.has(ownerAddress)
|
|
76
|
+
|| creators.size !== 1
|
|
77
|
+
|| !creators.has(`did:dkg:agent:${state.curatorPeerId}`)
|
|
78
|
+
// Agent membership and the graph-level peer gate are conjunctive. The
|
|
79
|
+
// member's delegation proves that this peer may act for the agent; it does
|
|
80
|
+
// not override an explicit curator-maintained receiver allowlist.
|
|
81
|
+
|| (meta.allowedPeers.length > 0 && !meta.allowedPeers.includes(agent.peerId))
|
|
82
|
+
|| registrationStatus === 'pending')
|
|
83
|
+
return null;
|
|
84
|
+
// Bind the same current membership and active delegation proof used by
|
|
85
|
+
// private metadata bootstrap to this physical receiver's peer identity.
|
|
86
|
+
const proof = await agent.store.query(buildAuthoritativePrivateMetaMemberProofQuery(contextGraphId, { approvedAgentAddress: approved, expectedDelegateePeerId: agent.peerId }), { signal, source: 'agent.contextGraph.approvedPrivateReplica' });
|
|
87
|
+
signal?.throwIfAborted();
|
|
88
|
+
if (proof.type !== 'bindings')
|
|
89
|
+
return null;
|
|
90
|
+
const delegationExpiry = parseApprovedMemberDelegationExpiry(proof.bindings);
|
|
91
|
+
if (delegationExpiry === undefined)
|
|
92
|
+
return null;
|
|
93
|
+
const registeredMetaOnChainId = parseRegisteredMetaOnChainId(proof.bindings);
|
|
94
|
+
if (registeredMetaOnChainId === undefined)
|
|
95
|
+
return null;
|
|
96
|
+
// Approval and requester state are local mutable authority. Re-read their
|
|
97
|
+
// complete generation binding after every metadata/store await so a
|
|
98
|
+
// rejection, replacement request, or local-agent removal cannot race into a
|
|
99
|
+
// successful result based on a stale snapshot.
|
|
100
|
+
const currentRegistrationStatus = await agent
|
|
101
|
+
.readLocalContextGraphRegistrationStatus(contextGraphId);
|
|
102
|
+
if (currentRegistrationStatus === 'pending'
|
|
103
|
+
|| (registeredMetaOnChainId === null
|
|
104
|
+
&& currentRegistrationStatus !== 'unregistered')) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const current = await agent.readRequesterJoinRequestState(contextGraphId, approved);
|
|
108
|
+
if (!approvalStillHolds()
|
|
109
|
+
|| !hasLocalAgent()
|
|
110
|
+
|| current?.status !== 'approved'
|
|
111
|
+
|| current.requestGeneration !== state.requestGeneration
|
|
112
|
+
|| current.curatorPeerId !== state.curatorPeerId
|
|
113
|
+
|| current.curatorAgentAddress !== ownerAddress
|
|
114
|
+
|| current.curatorAuthorityEra !== '0'
|
|
115
|
+
|| !metadataStillCurrent())
|
|
116
|
+
return null;
|
|
117
|
+
// The proof query embeds its start time. Recheck the deadline it proved
|
|
118
|
+
// after every await so a delegation cannot expire while the read is in
|
|
119
|
+
// flight and still authorize the replica.
|
|
120
|
+
if (!isApprovedMemberDelegationExpiryActive(delegationExpiry))
|
|
121
|
+
return null;
|
|
122
|
+
const authority = Object.freeze({
|
|
123
|
+
approvedAgentAddress: approved,
|
|
124
|
+
ownerAddress,
|
|
125
|
+
requestGeneration: state.requestGeneration,
|
|
126
|
+
curatorPeerId: state.curatorPeerId,
|
|
127
|
+
// This proof authorizes this receiver's approved local participant. It is
|
|
128
|
+
// neither a generic owner policy nor a replacement encryption roster.
|
|
129
|
+
memberAddresses: Object.freeze([approved]),
|
|
130
|
+
// Preserve the graph's own peer restriction with the proof. Consumers
|
|
131
|
+
// must not re-read the merged metadata projection, where source identity
|
|
132
|
+
// has already been discarded.
|
|
133
|
+
allowedPeers: Object.freeze([...meta.allowedPeers]),
|
|
134
|
+
delegationExpiresAtMs: delegationExpiry,
|
|
135
|
+
});
|
|
136
|
+
if (registeredMetaOnChainId !== null) {
|
|
137
|
+
return Object.freeze({
|
|
138
|
+
kind: 'confirmed-registered-meta',
|
|
139
|
+
onChainId: registeredMetaOnChainId,
|
|
140
|
+
authority,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return Object.freeze({
|
|
144
|
+
kind: 'unregistered-private-replica',
|
|
145
|
+
authority,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=approved-private-replica.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approved-private-replica.js","sourceRoot":"","sources":["../src/approved-private-replica.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export declare class BoundedOperationTimeoutError extends Error {
|
|
|
7
7
|
}
|
|
8
8
|
export declare function isBoundedOperationTimeoutError(error: unknown): error is BoundedOperationTimeoutError;
|
|
9
9
|
export declare function createAbortError(reason: unknown): Error;
|
|
10
|
+
/** Refuse cancelled work using the canonical normalized AbortError. */
|
|
11
|
+
export declare function throwIfOperationAborted(signal: AbortSignal | undefined): void;
|
|
10
12
|
/**
|
|
11
13
|
* Run one lazily-started operation with a caller-abort and deadline boundary.
|
|
12
14
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounded-operation.d.ts","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,qBAAa,4BAA6B,SAAQ,KAAK;IAInD,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ5B,QAAQ,CAAC,IAAI,+BAA+B;gBAGjC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;CAK7B;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,4BAA4B,CAMvC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAWvD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAClD,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GACA,OAAO,CAAC,CAAC,CAAC,CA2DZ"}
|
|
1
|
+
{"version":3,"file":"bounded-operation.d.ts","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,qBAAa,4BAA6B,SAAQ,KAAK;IAInD,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ5B,QAAQ,CAAC,IAAI,+BAA+B;gBAGjC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;CAK7B;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,4BAA4B,CAMvC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAWvD;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAClD,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GACA,OAAO,CAAC,CAAC,CAAC,CA2DZ"}
|
|
@@ -29,6 +29,11 @@ export function createAbortError(reason) {
|
|
|
29
29
|
error.name = 'AbortError';
|
|
30
30
|
return error;
|
|
31
31
|
}
|
|
32
|
+
/** Refuse cancelled work using the canonical normalized AbortError. */
|
|
33
|
+
export function throwIfOperationAborted(signal) {
|
|
34
|
+
if (signal?.aborted)
|
|
35
|
+
throw createAbortError(signal.reason);
|
|
36
|
+
}
|
|
32
37
|
/**
|
|
33
38
|
* Run one lazily-started operation with a caller-abort and deadline boundary.
|
|
34
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounded-operation.js","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,uDAAuD;AACvD,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAI1C;IACA;IAJF,IAAI,GAAG,2BAA2B,CAAC;IAE5C,YACW,cAAsB,EACtB,SAAiB;QAE1B,KAAK,CAAC,GAAG,cAAc,oBAAoB,SAAS,IAAI,CAAC,CAAC;QAHjD,mBAAc,GAAd,cAAc,CAAQ;QACtB,cAAS,GAAT,SAAS,CAAQ;QAG1B,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAc;IAEd,OAAO,KAAK,YAAY,4BAA4B;WAC/C,CACD,KAAK,YAAY,KAAK;eAClB,KAAoC,CAAC,IAAI,KAAK,2BAA2B,CAC9E,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,MAAM,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,KAAqC,CAAC,KAAK,GAAG,MAAM,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAkD,EAClD,OAIC;IAED,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5E,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAgD,CAAC;QACrD,MAAM,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,QAAoB,EAAE,EAAE;YACtC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,MAAe,EAAE,EAAE;YACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO;gBAAE,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/C,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE;YACH,MAAM,KAAK,GAAG,IAAI,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACjE,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,CAAC,EACD,SAAS,CACV,CAAC;QACF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,qEAAqE;QACrE,oCAAoC;QACpC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,IAAgB,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,qEAAqE;QACvE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CACP,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACvC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"bounded-operation.js","sourceRoot":"","sources":["../src/bounded-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** The adapter that resolves chain anchors owns finality when it exposes a depth. */
|
|
2
|
+
export declare function resolveChainFinalityConfirmationsV1(chain: {
|
|
3
|
+
getFinalityConfirmations?: () => number | undefined;
|
|
4
|
+
}, config: {
|
|
5
|
+
finalityConfirmations?: number;
|
|
6
|
+
} | undefined): number | undefined;
|
|
7
|
+
//# sourceMappingURL=chain-finality-confirmations-v1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-finality-confirmations-v1.d.ts","sourceRoot":"","sources":["../src/chain-finality-confirmations-v1.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,wBAAgB,mCAAmC,CACjD,KAAK,EAAE;IAAE,wBAAwB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CAAE,EAC9D,MAAM,EAAE;IAAE,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACrD,MAAM,GAAG,SAAS,CAKpB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
/** The adapter that resolves chain anchors owns finality when it exposes a depth. */
|
|
3
|
+
export function resolveChainFinalityConfirmationsV1(chain, config) {
|
|
4
|
+
const fromAdapter = typeof chain.getFinalityConfirmations === 'function'
|
|
5
|
+
? chain.getFinalityConfirmations()
|
|
6
|
+
: undefined;
|
|
7
|
+
return fromAdapter ?? config?.finalityConfirmations;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=chain-finality-confirmations-v1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-finality-confirmations-v1.js","sourceRoot":"","sources":["../src/chain-finality-confirmations-v1.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,qFAAqF;AACrF,MAAM,UAAU,mCAAmC,CACjD,KAA8D,EAC9D,MAAsD;IAEtD,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,wBAAwB,KAAK,UAAU;QACtE,CAAC,CAAC,KAAK,CAAC,wBAAwB,EAAE;QAClC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,WAAW,IAAI,MAAM,EAAE,qBAAqB,CAAC;AACtD,CAAC"}
|
|
@@ -79,6 +79,8 @@ export interface PendingOrdinalRecoveryResult {
|
|
|
79
79
|
* the fair scan moving through unvisited ordinals.
|
|
80
80
|
*/
|
|
81
81
|
cooldownOnly?: boolean;
|
|
82
|
+
/** No peer work ran because node-local sync admission was unavailable. */
|
|
83
|
+
localAdmissionDeferred?: boolean;
|
|
82
84
|
}
|
|
83
85
|
export interface ChainReconcilerDeps {
|
|
84
86
|
/** Chain-head ordinal for the CG (`getContextGraphKCCount`). */
|
|
@@ -129,6 +131,23 @@ export interface ChainReconcilerDeps {
|
|
|
129
131
|
/** Confirmation depth (blocks) before a completed ordinal advances the watermark. */
|
|
130
132
|
confirmationDepth: number;
|
|
131
133
|
log: (msg: string) => void;
|
|
134
|
+
/**
|
|
135
|
+
* Observation only: receives the wall clock of this slice's serial stages
|
|
136
|
+
* when it completes. Never consulted by scheduling or cursor policy.
|
|
137
|
+
*/
|
|
138
|
+
observePassTimings?: (timings: ReconcilePassTimings) => void;
|
|
139
|
+
}
|
|
140
|
+
/** Observation-only wall clock of one reconcile slice's serial stages. */
|
|
141
|
+
export interface ReconcilePassTimings {
|
|
142
|
+
/** `getKCCount`. */
|
|
143
|
+
readonly headReadMs: number;
|
|
144
|
+
/** `getHeadBlock`. */
|
|
145
|
+
readonly blockReadMs: number;
|
|
146
|
+
/** Ordinal scan: per-ordinal chain membership read and local classification. */
|
|
147
|
+
readonly scanMs: number;
|
|
148
|
+
/** `recoverPendingOrdinals`: curator, peer readiness, sizing, exchange, post-fetch. */
|
|
149
|
+
readonly recoverMs: number;
|
|
150
|
+
readonly totalMs: number;
|
|
132
151
|
}
|
|
133
152
|
export interface ReconcileResult {
|
|
134
153
|
head: number;
|
|
@@ -147,6 +166,10 @@ export interface ReconcileResult {
|
|
|
147
166
|
shouldContinueImmediately: boolean;
|
|
148
167
|
/** True when this pass stopped because its captured chain binding changed. */
|
|
149
168
|
staleTarget: boolean;
|
|
169
|
+
/** Internal bounded retry signal; local pressure is not peer evidence. */
|
|
170
|
+
localAdmissionDeferred?: boolean;
|
|
171
|
+
/** This pass asked peers for missing assets, so it used node-local sync admission. */
|
|
172
|
+
recoveryAttempted?: boolean;
|
|
150
173
|
}
|
|
151
174
|
/**
|
|
152
175
|
* One bounded sweep slice for a single CG: reconcile up to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,KAAK,4BAA4B,GAClC,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,8BAA8B,CAAC;CACnD;AAED,MAAM,WAAW,4BAA4B;IAC3C,6EAA6E;IAC7E,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,gFAAgF;IAChF,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC;;;;OAIG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
|
package/dist/chain-reconciler.js
CHANGED
|
@@ -30,6 +30,9 @@ export { VmReconcileDispatcher, VmReconcileSchedulingRuntime, } from './vm-recon
|
|
|
30
30
|
* independently interpreting the legacy result fields.
|
|
31
31
|
*/
|
|
32
32
|
function recoveryDisposition(result) {
|
|
33
|
+
if (result.localAdmissionDeferred === true) {
|
|
34
|
+
return { kind: 'local-admission', continuationOrdinal: result.continuationOrdinal };
|
|
35
|
+
}
|
|
33
36
|
if (result.cooldownOnly === true) {
|
|
34
37
|
return { kind: 'cooldown', continuationOrdinal: result.continuationOrdinal };
|
|
35
38
|
}
|
|
@@ -92,6 +95,11 @@ function planOrdinalPass(candidates, passLimit, requestedRecent, watermark) {
|
|
|
92
95
|
return leftRecent ? right.ordinal - left.ordinal : left.ordinal - right.ordinal;
|
|
93
96
|
},
|
|
94
97
|
nextScanOrdinal: ({ watermark: currentWatermark, recovery, }) => {
|
|
98
|
+
if (recovery.kind === 'local-admission') {
|
|
99
|
+
// Retry the same historical slice after local capacity becomes usable.
|
|
100
|
+
// A never-started fetch cannot move this cursor past untouched KAs.
|
|
101
|
+
return Math.max(currentWatermark, historicalOrdinals[0] ?? currentWatermark);
|
|
102
|
+
}
|
|
95
103
|
if (usesRecentLane) {
|
|
96
104
|
return hasUnvisitedCandidates
|
|
97
105
|
? Math.max(currentWatermark, historicalContinuationOrdinal)
|
|
@@ -137,7 +145,15 @@ function holdCompletedOrdinals(state, ordinals, outcomes) {
|
|
|
137
145
|
* moved. Mutates `state` in place (the agent owns one `CursorState` per CG).
|
|
138
146
|
*/
|
|
139
147
|
export async function reconcileContextGraph(deps, state, localCgId, onChainCgId) {
|
|
148
|
+
const passStartedAt = performance.now();
|
|
149
|
+
const observePass = (timings) => {
|
|
150
|
+
try {
|
|
151
|
+
deps.observePassTimings?.(timings);
|
|
152
|
+
}
|
|
153
|
+
catch { /* observation only */ }
|
|
154
|
+
};
|
|
140
155
|
const head = await deps.getKCCount(onChainCgId);
|
|
156
|
+
const headReadMs = performance.now() - passStartedAt;
|
|
141
157
|
const before = state.watermark;
|
|
142
158
|
// The persisted contiguous watermark is durable completeness evidence. If
|
|
143
159
|
// it already covers the chain head, avoid the head-block RPC and all ordinal
|
|
@@ -145,6 +161,10 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
145
161
|
// an evidence mismatch, but is equally non-actionable in this pass.
|
|
146
162
|
if (before >= head) {
|
|
147
163
|
state.scanOrdinal = before;
|
|
164
|
+
observePass({
|
|
165
|
+
headReadMs, blockReadMs: 0, scanMs: 0, recoverMs: 0,
|
|
166
|
+
totalMs: performance.now() - passStartedAt,
|
|
167
|
+
});
|
|
148
168
|
return {
|
|
149
169
|
head,
|
|
150
170
|
watermark: before,
|
|
@@ -162,6 +182,7 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
162
182
|
// synthetic version block for chain-backed data.
|
|
163
183
|
let headBlock;
|
|
164
184
|
let headUnavailable = false;
|
|
185
|
+
const blockStartedAt = performance.now();
|
|
165
186
|
try {
|
|
166
187
|
headBlock = await deps.getHeadBlock();
|
|
167
188
|
}
|
|
@@ -169,6 +190,9 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
169
190
|
headUnavailable = true;
|
|
170
191
|
deps.log(`reconcile ${localCgId}: getHeadBlock failed, holding watermark (${err instanceof Error ? err.message : String(err)})`);
|
|
171
192
|
}
|
|
193
|
+
const blockReadMs = performance.now() - blockStartedAt;
|
|
194
|
+
let scanMs = 0;
|
|
195
|
+
let recoverMs = 0;
|
|
172
196
|
// Re-absorb any depth-held ordinals as the head advances — a long-running
|
|
173
197
|
// node makes progress on confirmation-depth-blocked ordinals even with no
|
|
174
198
|
// new completions this pass. Skipped when the head is unobservable.
|
|
@@ -255,7 +279,9 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
255
279
|
}
|
|
256
280
|
};
|
|
257
281
|
const workerCount = Math.min(ordinalConcurrency, ordinals.length);
|
|
282
|
+
const scanStartedAt = performance.now();
|
|
258
283
|
await Promise.all(Array.from({ length: workerCount }, () => runOrdinalWorker()));
|
|
284
|
+
scanMs = performance.now() - scanStartedAt;
|
|
259
285
|
if (workerFailed) {
|
|
260
286
|
if (!staleTarget)
|
|
261
287
|
keepRejectedPassProgress();
|
|
@@ -273,8 +299,10 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
273
299
|
.sort(passPlan.compareRecoveryTargets);
|
|
274
300
|
if (!staleTarget && recoveryTargets.length > 0 && deps.recoverPendingOrdinals) {
|
|
275
301
|
let recoveryResult;
|
|
302
|
+
const recoverStartedAt = performance.now();
|
|
276
303
|
try {
|
|
277
304
|
recoveryResult = await deps.recoverPendingOrdinals(localCgId, onChainCgId, recoveryTargets, headBlock);
|
|
305
|
+
recoverMs = performance.now() - recoverStartedAt;
|
|
278
306
|
}
|
|
279
307
|
catch (error) {
|
|
280
308
|
// Recovery is the longest await; keep progress only under the same binding.
|
|
@@ -343,6 +371,7 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
343
371
|
const hasMore = !headUnavailable
|
|
344
372
|
&& !staleTarget
|
|
345
373
|
&& recovery.kind !== 'cooldown'
|
|
374
|
+
&& recovery.kind !== 'local-admission'
|
|
346
375
|
&& (recoveryAttempted
|
|
347
376
|
? hasImmediateRecoveryContinuation
|
|
348
377
|
|| hasUnvisitedCandidates
|
|
@@ -356,6 +385,10 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
356
385
|
else if (reconciled > 0 || pending > 0) {
|
|
357
386
|
deps.log(`reconcile ${localCgId}: watermark held at ${state.watermark} (head=${head}, processed=${processed}, reconciled=${reconciled}, pending=${pending}${headUnavailable ? ', headUnavailable' : ''})`);
|
|
358
387
|
}
|
|
388
|
+
observePass({
|
|
389
|
+
headReadMs, blockReadMs, scanMs, recoverMs,
|
|
390
|
+
totalMs: performance.now() - passStartedAt,
|
|
391
|
+
});
|
|
359
392
|
return {
|
|
360
393
|
head,
|
|
361
394
|
watermark: state.watermark,
|
|
@@ -365,6 +398,8 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
365
398
|
hasMore,
|
|
366
399
|
shouldContinueImmediately,
|
|
367
400
|
staleTarget,
|
|
401
|
+
...(recovery.kind === 'local-admission' ? { localAdmissionDeferred: true } : {}),
|
|
402
|
+
...(recoveryAttempted ? { recoveryAttempted: true } : {}),
|
|
368
403
|
};
|
|
369
404
|
}
|
|
370
405
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,19 @@ export interface ApprovedMemberProof {
|
|
|
8
8
|
/** Injectable wall clock for parity tests. Defaults to Date.now(). */
|
|
9
9
|
nowMs?: number;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Expiry carried out of the same source-qualified store proof that established
|
|
13
|
+
* membership. `null` means that the proved delegation has no expiry.
|
|
14
|
+
*/
|
|
15
|
+
export type ApprovedMemberDelegationExpiry = number | null;
|
|
16
|
+
/**
|
|
17
|
+
* Parse the expiry selected by the authoritative member proof. Multiple
|
|
18
|
+
* active expiry rows retain the latest deadline, matching the proof's
|
|
19
|
+
* any-active-row semantics. Ambiguous or malformed results fail closed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseApprovedMemberDelegationExpiry(bindings: readonly Readonly<Record<string, string>>[]): ApprovedMemberDelegationExpiry | undefined;
|
|
22
|
+
/** Revalidate a proved delegation deadline against the current wall clock. */
|
|
23
|
+
export declare function isApprovedMemberDelegationExpiryActive(expiry: ApprovedMemberDelegationExpiry, nowMs?: number): boolean;
|
|
11
24
|
/**
|
|
12
25
|
* Whether a fetched root `_meta` snapshot proves the approved member: it is in
|
|
13
26
|
* `allowedAgent`, not revoked, and holds an active delegation bound to this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-graph-member-proof.d.ts","sourceRoot":"","sources":["../src/context-graph-member-proof.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAa9D,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"context-graph-member-proof.d.ts","sourceRoot":"","sources":["../src/context-graph-member-proof.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAa9D,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,IAAI,CAAC;AA8B3D;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GACpD,8BAA8B,GAAG,SAAS,CAoB5C;AAED,8EAA8E;AAC9E,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,8BAA8B,EACtC,KAAK,SAAa,GACjB,OAAO,CAIT;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CA6CT;AAED,sDAAsD;AACtD,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,CAsCR"}
|
|
@@ -31,6 +31,42 @@ function normalizeMemberProof(proof) {
|
|
|
31
31
|
function literalEqualsIgnoreCase(value, expected) {
|
|
32
32
|
return value.startsWith('"') && stripLiteral(value).trim().toLowerCase() === expected;
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Parse the expiry selected by the authoritative member proof. Multiple
|
|
36
|
+
* active expiry rows retain the latest deadline, matching the proof's
|
|
37
|
+
* any-active-row semantics. Ambiguous or malformed results fail closed.
|
|
38
|
+
*/
|
|
39
|
+
export function parseApprovedMemberDelegationExpiry(bindings) {
|
|
40
|
+
if (bindings.length === 0)
|
|
41
|
+
return undefined;
|
|
42
|
+
let hasUnboundedRow = false;
|
|
43
|
+
let latestExpiry;
|
|
44
|
+
for (const binding of bindings) {
|
|
45
|
+
const rawExpiry = binding['delegationExpiresAt'];
|
|
46
|
+
if (rawExpiry === undefined) {
|
|
47
|
+
hasUnboundedRow = true;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const lexicalExpiry = stripLiteral(rawExpiry);
|
|
51
|
+
if (!/^[0-9]+$/u.test(lexicalExpiry))
|
|
52
|
+
return undefined;
|
|
53
|
+
const expiry = Number(lexicalExpiry);
|
|
54
|
+
if (!Number.isSafeInteger(expiry) || expiry < 0)
|
|
55
|
+
return undefined;
|
|
56
|
+
latestExpiry = latestExpiry === undefined
|
|
57
|
+
? expiry
|
|
58
|
+
: Math.max(latestExpiry, expiry);
|
|
59
|
+
}
|
|
60
|
+
if (hasUnboundedRow)
|
|
61
|
+
return latestExpiry === undefined ? null : undefined;
|
|
62
|
+
return latestExpiry;
|
|
63
|
+
}
|
|
64
|
+
/** Revalidate a proved delegation deadline against the current wall clock. */
|
|
65
|
+
export function isApprovedMemberDelegationExpiryActive(expiry, nowMs = Date.now()) {
|
|
66
|
+
return Number.isSafeInteger(nowMs)
|
|
67
|
+
&& nowMs >= 0
|
|
68
|
+
&& (expiry === null || expiry > nowMs);
|
|
69
|
+
}
|
|
34
70
|
/**
|
|
35
71
|
* Whether a fetched root `_meta` snapshot proves the approved member: it is in
|
|
36
72
|
* `allowedAgent`, not revoked, and holds an active delegation bound to this
|