@origintrail-official/dkg-agent 10.0.19 → 10.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/confirmed-graph-scoped-vm-resolver.d.ts +7 -1
- package/dist/confirmed-graph-scoped-vm-resolver.d.ts.map +1 -1
- package/dist/confirmed-graph-scoped-vm-resolver.js +5 -3
- package/dist/confirmed-graph-scoped-vm-resolver.js.map +1 -1
- package/dist/context-graph-authority-dependency.d.ts +11 -0
- package/dist/context-graph-authority-dependency.d.ts.map +1 -0
- package/dist/context-graph-authority-dependency.js +50 -0
- package/dist/context-graph-authority-dependency.js.map +1 -0
- package/dist/context-graph-binding-state.d.ts +6 -0
- package/dist/context-graph-binding-state.d.ts.map +1 -1
- package/dist/context-graph-binding-state.js +17 -10
- package/dist/context-graph-binding-state.js.map +1 -1
- package/dist/context-graph-claim-proof.d.ts +74 -0
- package/dist/context-graph-claim-proof.d.ts.map +1 -0
- package/dist/context-graph-claim-proof.js +137 -0
- package/dist/context-graph-claim-proof.js.map +1 -0
- package/dist/context-graph-member-proof.d.ts +33 -0
- package/dist/context-graph-member-proof.d.ts.map +1 -0
- package/dist/context-graph-member-proof.js +142 -0
- package/dist/context-graph-member-proof.js.map +1 -0
- 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-confirmation.d.ts +22 -2
- package/dist/context-graph-meta-confirmation.d.ts.map +1 -1
- package/dist/context-graph-meta-confirmation.js +54 -23
- package/dist/context-graph-meta-confirmation.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-metadata-relocation.d.ts +18 -30
- package/dist/context-graph-metadata-relocation.d.ts.map +1 -1
- package/dist/context-graph-metadata-relocation.js +32 -2
- package/dist/context-graph-metadata-relocation.js.map +1 -1
- package/dist/context-graph-private-meta-proof.d.ts +8 -9
- package/dist/context-graph-private-meta-proof.d.ts.map +1 -1
- package/dist/context-graph-private-meta-proof.js +25 -89
- package/dist/context-graph-private-meta-proof.js.map +1 -1
- package/dist/context-graph-public-meta-proof.d.ts +11 -1
- package/dist/context-graph-public-meta-proof.d.ts.map +1 -1
- package/dist/context-graph-public-meta-proof.js +23 -3
- package/dist/context-graph-public-meta-proof.js.map +1 -1
- package/dist/context-graph-read-authority.d.ts +30 -3
- package/dist/context-graph-read-authority.d.ts.map +1 -1
- package/dist/context-graph-read-authority.js +62 -18
- package/dist/context-graph-read-authority.js.map +1 -1
- package/dist/context-graph-storage-discovery.d.ts +14 -4
- package/dist/context-graph-storage-discovery.d.ts.map +1 -1
- package/dist/context-graph-storage-discovery.js +27 -7
- package/dist/context-graph-storage-discovery.js.map +1 -1
- package/dist/context-graph-subscription-authority-recovery.d.ts +7 -0
- package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -1
- package/dist/context-graph-subscription-authority-recovery.js +1 -0
- package/dist/context-graph-subscription-authority-recovery.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 +18 -4
- package/dist/curator-meta-refresh.d.ts.map +1 -1
- package/dist/curator-meta-refresh.js +61 -58
- 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-agents-phonebook.d.ts +41 -0
- package/dist/dkg-agent-agents-phonebook.d.ts.map +1 -0
- package/dist/dkg-agent-agents-phonebook.js +155 -0
- package/dist/dkg-agent-agents-phonebook.js.map +1 -0
- package/dist/dkg-agent-base.d.ts +162 -24
- package/dist/dkg-agent-base.d.ts.map +1 -1
- package/dist/dkg-agent-base.js +175 -147
- package/dist/dkg-agent-base.js.map +1 -1
- package/dist/dkg-agent-cg-chain-observation.d.ts +6 -1
- package/dist/dkg-agent-cg-chain-observation.d.ts.map +1 -1
- package/dist/dkg-agent-cg-chain-observation.js +20 -5
- package/dist/dkg-agent-cg-chain-observation.js.map +1 -1
- package/dist/dkg-agent-cg-name-resolution.d.ts +38 -2
- package/dist/dkg-agent-cg-name-resolution.d.ts.map +1 -1
- package/dist/dkg-agent-cg-name-resolution.js +100 -8
- package/dist/dkg-agent-cg-name-resolution.js.map +1 -1
- package/dist/dkg-agent-cg-registry.d.ts +43 -3
- package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
- package/dist/dkg-agent-cg-registry.js +267 -129
- 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 +40 -18
- package/dist/dkg-agent-cg-resolve.js.map +1 -1
- package/dist/dkg-agent-constants.d.ts +10 -2
- package/dist/dkg-agent-constants.d.ts.map +1 -1
- package/dist/dkg-agent-constants.js +10 -2
- package/dist/dkg-agent-constants.js.map +1 -1
- package/dist/dkg-agent-context-graph.d.ts.map +1 -1
- package/dist/dkg-agent-context-graph.js +1 -5
- package/dist/dkg-agent-context-graph.js.map +1 -1
- package/dist/dkg-agent-crypto.d.ts +128 -21
- package/dist/dkg-agent-crypto.d.ts.map +1 -1
- package/dist/dkg-agent-crypto.js +824 -176
- package/dist/dkg-agent-crypto.js.map +1 -1
- package/dist/dkg-agent-diagnostics.d.ts.map +1 -1
- package/dist/dkg-agent-diagnostics.js +4 -3
- package/dist/dkg-agent-diagnostics.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 +129 -22
- package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
- package/dist/dkg-agent-lifecycle.js +690 -211
- 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 +194 -281
- 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 +102 -86
- 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 +87 -80
- package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
- package/dist/dkg-agent-rfc64-catalog.js +726 -476
- package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
- package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts +6 -1
- package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts.map +1 -1
- package/dist/dkg-agent-rfc64-meta-bootstrap.js +29 -13
- package/dist/dkg-agent-rfc64-meta-bootstrap.js.map +1 -1
- package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts +8 -0
- package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts.map +1 -1
- package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js +249 -40
- package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js.map +1 -1
- package/dist/dkg-agent-rfc64-swm-catalog-projection.d.ts.map +1 -1
- package/dist/dkg-agent-rfc64-swm-catalog-projection.js +3 -2
- package/dist/dkg-agent-rfc64-swm-catalog-projection.js.map +1 -1
- package/dist/dkg-agent-swm-host.d.ts +217 -52
- package/dist/dkg-agent-swm-host.d.ts.map +1 -1
- package/dist/dkg-agent-swm-host.js +1305 -858
- 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 +49 -8
- package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
- package/dist/dkg-agent-swm-substrate.js +219 -46
- package/dist/dkg-agent-swm-substrate.js.map +1 -1
- package/dist/dkg-agent-types.d.ts +86 -27
- 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 +4 -0
- package/dist/dkg-agent-vm-promotion.d.ts.map +1 -1
- package/dist/dkg-agent-vm-promotion.js +40 -5
- package/dist/dkg-agent-vm-promotion.js.map +1 -1
- package/dist/dkg-agent-vm-reconcile-scheduling.d.ts +7 -0
- package/dist/dkg-agent-vm-reconcile-scheduling.d.ts.map +1 -1
- package/dist/dkg-agent-vm-reconcile-scheduling.js +18 -0
- package/dist/dkg-agent-vm-reconcile-scheduling.js.map +1 -1
- package/dist/dkg-agent.d.ts +31 -2
- package/dist/dkg-agent.d.ts.map +1 -1
- package/dist/dkg-agent.js +188 -72
- 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 +26 -211
- package/dist/finalization-handler.d.ts.map +1 -1
- package/dist/finalization-handler.js +94 -1652
- package/dist/finalization-handler.js.map +1 -1
- package/dist/finalization-recovery-sqlite-displacement.d.ts +37 -0
- package/dist/finalization-recovery-sqlite-displacement.d.ts.map +1 -0
- package/dist/finalization-recovery-sqlite-displacement.js +102 -0
- package/dist/finalization-recovery-sqlite-displacement.js.map +1 -0
- package/dist/finalization-recovery-sqlite-policy.d.ts +20 -4
- package/dist/finalization-recovery-sqlite-policy.d.ts.map +1 -1
- package/dist/finalization-recovery-sqlite-policy.js +21 -5
- package/dist/finalization-recovery-sqlite-policy.js.map +1 -1
- package/dist/finalization-recovery-sqlite-rows.d.ts +53 -0
- package/dist/finalization-recovery-sqlite-rows.d.ts.map +1 -0
- package/dist/finalization-recovery-sqlite-rows.js +77 -0
- package/dist/finalization-recovery-sqlite-rows.js.map +1 -0
- package/dist/finalization-recovery-sqlite-store.d.ts +10 -4
- package/dist/finalization-recovery-sqlite-store.d.ts.map +1 -1
- package/dist/finalization-recovery-sqlite-store.js +49 -50
- package/dist/finalization-recovery-sqlite-store.js.map +1 -1
- package/dist/finalization-recovery-store.d.ts +18 -0
- package/dist/finalization-recovery-store.d.ts.map +1 -1
- package/dist/finalization-recovery-store.js +24 -0
- package/dist/finalization-recovery-store.js.map +1 -1
- package/dist/finalization-recovery-worker.js +1 -1
- package/dist/finalization-recovery-worker.js.map +1 -1
- package/dist/finalization-recovery.d.ts +2 -3
- package/dist/finalization-recovery.d.ts.map +1 -1
- package/dist/finalization-recovery.js +12 -9
- package/dist/finalization-recovery.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-publish-handler.d.ts.map +1 -1
- package/dist/gossip-publish-handler.js +4 -2
- package/dist/gossip-publish-handler.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 +4 -1
- 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/approved-member-acceptance.d.ts +61 -0
- package/dist/internal/context-graph-authority/approved-member-acceptance.d.ts.map +1 -0
- package/dist/internal/context-graph-authority/approved-member-acceptance.js +75 -0
- package/dist/internal/context-graph-authority/approved-member-acceptance.js.map +1 -0
- 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/context-graph-authority.d.ts +1 -0
- package/dist/internal/context-graph-authority/context-graph-authority.d.ts.map +1 -1
- package/dist/internal/context-graph-authority/context-graph-authority.js +25 -0
- package/dist/internal/context-graph-authority/context-graph-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 +84 -0
- package/dist/internal/context-graph-authority/swm-transport-authority.d.ts.map +1 -0
- package/dist/internal/context-graph-authority/swm-transport-authority.js +175 -0
- package/dist/internal/context-graph-authority/swm-transport-authority.js.map +1 -0
- 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 +79 -22
- 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/p2p/peer-connect.d.ts +10 -1
- package/dist/p2p/peer-connect.d.ts.map +1 -1
- package/dist/p2p/peer-connect.js +11 -2
- package/dist/p2p/peer-connect.js.map +1 -1
- package/dist/p2p/peer-selection.d.ts +8 -0
- package/dist/p2p/peer-selection.d.ts.map +1 -1
- package/dist/p2p/peer-selection.js +21 -12
- package/dist/p2p/peer-selection.js.map +1 -1
- package/dist/p2p/protocol-readiness.d.ts +3 -3
- package/dist/p2p/protocol-readiness.d.ts.map +1 -1
- package/dist/p2p/protocol-readiness.js +4 -3
- package/dist/p2p/protocol-readiness.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 +19 -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/applied-catalog-authority-transition-v1.d.ts.map +1 -1
- package/dist/rfc64/applied-catalog-authority-transition-v1.js +15 -17
- package/dist/rfc64/applied-catalog-authority-transition-v1.js.map +1 -1
- 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 +12 -13
- package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -1
- package/dist/rfc64/catalog-operational-applied-heads-v1.js +17 -52
- 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-repair-diagnostics-v1.d.ts +28 -0
- package/dist/rfc64/catalog-repair-diagnostics-v1.d.ts.map +1 -0
- package/dist/rfc64/catalog-repair-diagnostics-v1.js +93 -0
- package/dist/rfc64/catalog-repair-diagnostics-v1.js.map +1 -0
- package/dist/rfc64/catalog-repair-retry-v1.d.ts +13 -0
- package/dist/rfc64/catalog-repair-retry-v1.d.ts.map +1 -0
- package/dist/rfc64/catalog-repair-retry-v1.js +39 -0
- package/dist/rfc64/catalog-repair-retry-v1.js.map +1 -0
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +52 -0
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -1
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +188 -32
- package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -1
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts +2 -8
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts.map +1 -1
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js +10 -37
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js.map +1 -1
- package/dist/rfc64/catalog-rollout-authority-v1.d.ts +13 -0
- package/dist/rfc64/catalog-rollout-authority-v1.d.ts.map +1 -1
- package/dist/rfc64/catalog-rollout-authority-v1.js +11 -0
- package/dist/rfc64/catalog-rollout-authority-v1.js.map +1 -1
- package/dist/rfc64/catalog-row-authorship.d.ts +12 -0
- package/dist/rfc64/catalog-row-authorship.d.ts.map +1 -1
- package/dist/rfc64/catalog-row-authorship.js +110 -57
- package/dist/rfc64/catalog-row-authorship.js.map +1 -1
- package/dist/rfc64/inventory-v1/candidate.d.ts +31 -10
- package/dist/rfc64/inventory-v1/candidate.d.ts.map +1 -1
- package/dist/rfc64/inventory-v1/candidate.js +51 -16
- package/dist/rfc64/inventory-v1/candidate.js.map +1 -1
- package/dist/rfc64/inventory-v1/index.d.ts +1 -1
- package/dist/rfc64/inventory-v1/index.d.ts.map +1 -1
- package/dist/rfc64/inventory-v1/index.js +1 -1
- package/dist/rfc64/inventory-v1/index.js.map +1 -1
- package/dist/rfc64/inventory-v1/open.d.ts.map +1 -1
- package/dist/rfc64/inventory-v1/open.js +7 -4
- package/dist/rfc64/inventory-v1/open.js.map +1 -1
- package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts +3 -1
- package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts.map +1 -1
- package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js +15 -0
- package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.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/public-catalog-native-receiver-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-native-receiver-v1.js +26 -21
- package/dist/rfc64/public-catalog-native-receiver-v1.js.map +1 -1
- package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts +17 -11
- package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-native-reconciler-v1.js +10 -8
- package/dist/rfc64/public-catalog-native-reconciler-v1.js.map +1 -1
- package/dist/rfc64/public-catalog-receiver-v1.d.ts +9 -0
- package/dist/rfc64/public-catalog-receiver-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-receiver-v1.js +11 -2
- package/dist/rfc64/public-catalog-receiver-v1.js.map +1 -1
- package/dist/rfc64/public-catalog-service-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-service-v1.js +21 -22
- package/dist/rfc64/public-catalog-service-v1.js.map +1 -1
- package/dist/rfc64/public-catalog-successor-producer-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-successor-producer-v1.js +5 -4
- package/dist/rfc64/public-catalog-successor-producer-v1.js.map +1 -1
- 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-catalog-durable-asset-resolver-v1.d.ts.map +1 -1
- package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js +60 -53
- package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js.map +1 -1
- package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts +2 -1
- package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts.map +1 -1
- package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js +44 -4
- package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js.map +1 -1
- 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-asset-fetch.d.ts +22 -0
- package/dist/sync/exact-asset-fetch.d.ts.map +1 -1
- package/dist/sync/exact-asset-fetch.js +30 -3
- package/dist/sync/exact-asset-fetch.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/on-connect/sync-on-connect.d.ts +1 -1
- package/dist/sync/on-connect/sync-on-connect.d.ts.map +1 -1
- package/dist/sync/on-connect/sync-on-connect.js +3 -3
- package/dist/sync/on-connect/sync-on-connect.js.map +1 -1
- package/dist/sync/on-demand-agents-phonebook.d.ts +162 -0
- package/dist/sync/on-demand-agents-phonebook.d.ts.map +1 -0
- package/dist/sync/on-demand-agents-phonebook.js +571 -0
- package/dist/sync/on-demand-agents-phonebook.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 +61 -27
- 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 +26 -1
- package/dist/sync/responder/sync-handler.d.ts.map +1 -1
- package/dist/sync/responder/sync-handler.js +107 -58
- 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/system-context-graph-policy.d.ts +10 -0
- package/dist/sync/system-context-graph-policy.d.ts.map +1 -1
- package/dist/sync/system-context-graph-policy.js +11 -0
- package/dist/sync/system-context-graph-policy.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-publish-snapshot-preflight.d.ts +13 -0
- package/dist/vm-publish-snapshot-preflight.d.ts.map +1 -0
- package/dist/vm-publish-snapshot-preflight.js +94 -0
- package/dist/vm-publish-snapshot-preflight.js.map +1 -0
- 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/dist/vm-refresh.d.ts +138 -0
- package/dist/vm-refresh.d.ts.map +1 -0
- package/dist/vm-refresh.js +201 -0
- package/dist/vm-refresh.js.map +1 -0
- package/package.json +19 -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,21 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
/** A context graph member identity: a bare agent address or its `did:dkg:agent:` DID. */
|
|
3
|
+
function memberAgentAddress(value) {
|
|
4
|
+
const match = /^(?:did:dkg:agent:)?(0x[0-9a-fA-F]{40})$/.exec(value.trim());
|
|
5
|
+
return match?.[1]?.toLowerCase();
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Whether `meta` declares an explicit private policy (#865) and lists one of
|
|
9
|
+
* `localAgents` among its allowed agents, participants, curators or creators,
|
|
10
|
+
* and not among its revoked agents.
|
|
11
|
+
*/
|
|
12
|
+
export function isLocalPrivateMember(meta, localAgents) {
|
|
13
|
+
if (meta.accessPolicy?.trim().toLowerCase() !== 'private')
|
|
14
|
+
return false;
|
|
15
|
+
const revoked = new Set(meta.revokedAgents.map(memberAgentAddress));
|
|
16
|
+
const members = new Set([...meta.allowedAgents, ...meta.participantAgents, ...meta.curators, ...meta.creators]
|
|
17
|
+
.map(memberAgentAddress)
|
|
18
|
+
.filter((member) => member !== undefined && !revoked.has(member)));
|
|
19
|
+
return localAgents.some((local) => (local !== undefined && members.has(memberAgentAddress(local))));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=local-private-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-private-member.js","sourceRoot":"","sources":["../../src/internal/local-private-member.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAItC,yFAAyF;AACzF,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,KAAK,GAAG,0CAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAOC,EACD,WAA4C;IAE5C,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;SACnF,GAAG,CAAC,kBAAkB,CAAC;SACvB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CACpE,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACjC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -16,11 +16,51 @@ type AssertionPromotePreCommitResult = {
|
|
|
16
16
|
gossipSigner: GossipSigner;
|
|
17
17
|
publisherOptions: PublisherAssertionPromoteOptions;
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* The same translation for the root promote's boundary companion, which the
|
|
21
|
+
* publisher prepares synchronously. Only the retirement fence is transient:
|
|
22
|
+
* every other refusal from the prepare (unavailable persistence, the head
|
|
23
|
+
* limit, invalid input) is a hard failure and passes through unchanged.
|
|
24
|
+
*/
|
|
25
|
+
export declare function translateLegacySwmRetirementFence<T>(prepare: () => T): T;
|
|
26
|
+
/** Waits before each repeat of a promote's recipient read. */
|
|
27
|
+
export declare const PROMOTE_RECIPIENT_RETRY_DELAYS_MS: readonly number[];
|
|
28
|
+
/**
|
|
29
|
+
* No repeat starts later than this after the first read began. It sits below
|
|
30
|
+
* the chain authority read deadline, so a read that ran into that deadline is
|
|
31
|
+
* reported at once instead of being asked again.
|
|
32
|
+
*/
|
|
33
|
+
export declare const PROMOTE_RECIPIENT_RETRY_BUDGET_MS = 2000;
|
|
34
|
+
/** The clock and sleep of the recipient repeat, replaceable in tests. */
|
|
35
|
+
export interface PromoteRecipientRetryTiming {
|
|
36
|
+
now(): number;
|
|
37
|
+
sleep(delayMs: number): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Repeat a promote's recipient read while it fails with a retryable authority
|
|
41
|
+
* outage and the bound allows.
|
|
42
|
+
*
|
|
43
|
+
* The recipient read accepts its roster only while the node-wide authority
|
|
44
|
+
* facts revision stands still, and it gives up after a few attempts. Work that
|
|
45
|
+
* has nothing to do with this promote moves that revision: after a Context
|
|
46
|
+
* Graph is registered the node reconciles the new graph's gossip subscription
|
|
47
|
+
* several times within a few hundred milliseconds. A share sent straight after
|
|
48
|
+
* a registration can therefore use up those attempts and report the roster as
|
|
49
|
+
* temporarily unavailable, although no fact changed and the same read succeeds
|
|
50
|
+
* moments later.
|
|
51
|
+
*
|
|
52
|
+
* Repeating it is safe. It only reads authority and recipient keys, it fails
|
|
53
|
+
* closed every time, and the publisher asks for it before the attempt claims
|
|
54
|
+
* an operation id or writes Shared Memory. The bound is short on purpose: each
|
|
55
|
+
* repeat costs chain reads, and a failure that outlasts the bound is reported
|
|
56
|
+
* to the caller, which retries the whole promote.
|
|
57
|
+
*/
|
|
58
|
+
export declare function resolvePromoteRecipientsWithinBound<T>(resolve: () => Promise<T>, timing?: PromoteRecipientRetryTiming): Promise<T>;
|
|
19
59
|
/**
|
|
20
60
|
* Resolve agent prerequisites without access to the committing publisher.
|
|
21
61
|
* The publisher receives concrete, pre-wrapped recipient and curator callbacks,
|
|
22
62
|
* not a policy that it could apply to arbitrary commit/finalization failures.
|
|
23
63
|
*/
|
|
24
|
-
export declare function prepareAssertionPromote(host: AssertionPromotePreCommitHost, input: AssertionPromotePreCommitInput): Promise<AssertionPromotePreCommitResult>;
|
|
64
|
+
export declare function prepareAssertionPromote(host: AssertionPromotePreCommitHost, input: AssertionPromotePreCommitInput, recipientRetryTiming?: PromoteRecipientRetryTiming): Promise<AssertionPromotePreCommitResult>;
|
|
25
65
|
export {};
|
|
26
66
|
//# sourceMappingURL=assertion-promote-precommit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-promote-precommit.d.ts","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assertion-promote-precommit.d.ts","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,KAAK,YAAY,GAAG,OAAO,CACzB,UAAU,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAC3D,CAAC;AAEF,KAAK,gCAAgC,GAAG,IAAI,CAC1C,uBAAuB,EACrB,cAAc,GACd,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,cAAc,CACjB,CAAC;AAEF,KAAK,mCAAmC,GACpC,oCAAoC,GACpC,0BAA0B,GAC1B,iCAAiC,GACjC,8BAA8B,GAC9B,2BAA2B,CAAC;AAEhC,KAAK,6BAA6B,GAAG;KAClC,MAAM,IAAI,mCAAmC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CACrF,CAAC;AAEF,UAAU,8BAA8B;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,gCAAgC,CAAC;CAC5C;AAED,KAAK,+BAA+B,GAAG;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gCAAgC,CAAC;CACpD,CAAC;AAuBF;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CASxE;AAED,8DAA8D;AAC9D,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAAmC,CAAC;AAEnG;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,yEAAyE;AACzE,MAAM,WAAW,2BAA2B;IAC1C,GAAG,IAAI,MAAM,CAAC;IACd,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mCAAmC,CAAC,CAAC,EACzD,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,MAAM,GAAE,2BAAiE,GACxE,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,8BAA8B,EACrC,oBAAoB,CAAC,EAAE,2BAA2B,GACjD,OAAO,CAAC,+BAA+B,CAAC,CA+C1C"}
|
|
@@ -1,41 +1,98 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
import { createOperationContext } from '@origintrail-official/dkg-core';
|
|
2
|
+
import { createOperationContext, isRfc64LegacySwmBoundaryRetirementInProgressError, } from '@origintrail-official/dkg-core';
|
|
3
3
|
import { createPromoteRetryableFailure, } from '@origintrail-official/dkg-publisher';
|
|
4
|
-
import { isContextGraphAuthorityUnavailableMarker, } from '../context-graph-authority/context-graph-authority.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'chain-access-policy-unknown': false,
|
|
15
|
-
'chain-participant-authority-unsupported': false,
|
|
16
|
-
'chain-participant-authority-unavailable': true,
|
|
17
|
-
'chain-participant-authority-invalid': false,
|
|
18
|
-
'rfc64-private-read-roster-unavailable': true,
|
|
19
|
-
};
|
|
20
|
-
/** Retry translation belongs to these concrete agent prerequisite callbacks. */
|
|
4
|
+
import { isContextGraphAuthorityUnavailableMarker, isRetryableContextGraphAuthorityUnavailableReason, } from '../context-graph-authority/context-graph-authority.js';
|
|
5
|
+
/** An authority failure that can heal on its own (the shared classification). */
|
|
6
|
+
function isRetryableAuthorityUnavailable(error) {
|
|
7
|
+
return isContextGraphAuthorityUnavailableMarker(error)
|
|
8
|
+
&& isRetryableContextGraphAuthorityUnavailableReason(error.reason);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Retry translation belongs to these concrete agent prerequisite callbacks;
|
|
12
|
+
* which reasons are retryable is the shared authority classification.
|
|
13
|
+
*/
|
|
21
14
|
async function resolvePromoteAuthority(resolve) {
|
|
22
15
|
try {
|
|
23
16
|
return await resolve();
|
|
24
17
|
}
|
|
25
18
|
catch (error) {
|
|
26
|
-
if (
|
|
27
|
-
|
|
19
|
+
if (isRetryableAuthorityUnavailable(error)) {
|
|
20
|
+
throw createPromoteRetryableFailure(error);
|
|
21
|
+
}
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The same translation for the root promote's boundary companion, which the
|
|
27
|
+
* publisher prepares synchronously. Only the retirement fence is transient:
|
|
28
|
+
* every other refusal from the prepare (unavailable persistence, the head
|
|
29
|
+
* limit, invalid input) is a hard failure and passes through unchanged.
|
|
30
|
+
*/
|
|
31
|
+
export function translateLegacySwmRetirementFence(prepare) {
|
|
32
|
+
try {
|
|
33
|
+
return prepare();
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
if (isRfc64LegacySwmBoundaryRetirementInProgressError(error)) {
|
|
28
37
|
throw createPromoteRetryableFailure(error);
|
|
29
38
|
}
|
|
30
39
|
throw error;
|
|
31
40
|
}
|
|
32
41
|
}
|
|
42
|
+
/** Waits before each repeat of a promote's recipient read. */
|
|
43
|
+
export const PROMOTE_RECIPIENT_RETRY_DELAYS_MS = Object.freeze([100, 300, 700]);
|
|
44
|
+
/**
|
|
45
|
+
* No repeat starts later than this after the first read began. It sits below
|
|
46
|
+
* the chain authority read deadline, so a read that ran into that deadline is
|
|
47
|
+
* reported at once instead of being asked again.
|
|
48
|
+
*/
|
|
49
|
+
export const PROMOTE_RECIPIENT_RETRY_BUDGET_MS = 2_000;
|
|
50
|
+
const REAL_PROMOTE_RECIPIENT_RETRY_TIMING = Object.freeze({
|
|
51
|
+
now: () => performance.now(),
|
|
52
|
+
sleep: (delayMs) => new Promise((resolve) => { setTimeout(resolve, delayMs); }),
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Repeat a promote's recipient read while it fails with a retryable authority
|
|
56
|
+
* outage and the bound allows.
|
|
57
|
+
*
|
|
58
|
+
* The recipient read accepts its roster only while the node-wide authority
|
|
59
|
+
* facts revision stands still, and it gives up after a few attempts. Work that
|
|
60
|
+
* has nothing to do with this promote moves that revision: after a Context
|
|
61
|
+
* Graph is registered the node reconciles the new graph's gossip subscription
|
|
62
|
+
* several times within a few hundred milliseconds. A share sent straight after
|
|
63
|
+
* a registration can therefore use up those attempts and report the roster as
|
|
64
|
+
* temporarily unavailable, although no fact changed and the same read succeeds
|
|
65
|
+
* moments later.
|
|
66
|
+
*
|
|
67
|
+
* Repeating it is safe. It only reads authority and recipient keys, it fails
|
|
68
|
+
* closed every time, and the publisher asks for it before the attempt claims
|
|
69
|
+
* an operation id or writes Shared Memory. The bound is short on purpose: each
|
|
70
|
+
* repeat costs chain reads, and a failure that outlasts the bound is reported
|
|
71
|
+
* to the caller, which retries the whole promote.
|
|
72
|
+
*/
|
|
73
|
+
export async function resolvePromoteRecipientsWithinBound(resolve, timing = REAL_PROMOTE_RECIPIENT_RETRY_TIMING) {
|
|
74
|
+
const startedAt = timing.now();
|
|
75
|
+
for (let attempt = 0;; attempt += 1) {
|
|
76
|
+
try {
|
|
77
|
+
return await resolve();
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
const delayMs = PROMOTE_RECIPIENT_RETRY_DELAYS_MS[attempt];
|
|
81
|
+
if (delayMs === undefined
|
|
82
|
+
|| !isRetryableAuthorityUnavailable(error)
|
|
83
|
+
|| timing.now() - startedAt + delayMs > PROMOTE_RECIPIENT_RETRY_BUDGET_MS) {
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
await timing.sleep(delayMs);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
33
90
|
/**
|
|
34
91
|
* Resolve agent prerequisites without access to the committing publisher.
|
|
35
92
|
* The publisher receives concrete, pre-wrapped recipient and curator callbacks,
|
|
36
93
|
* not a policy that it could apply to arbitrary commit/finalization failures.
|
|
37
94
|
*/
|
|
38
|
-
export async function prepareAssertionPromote(host, input) {
|
|
95
|
+
export async function prepareAssertionPromote(host, input, recipientRetryTiming) {
|
|
39
96
|
return resolvePromoteAuthority(async () => {
|
|
40
97
|
const gossipSigner = await host.resolveWorkspaceGossipSigningAgent(input.contextGraphId);
|
|
41
98
|
const confirmBeforeCommit = await host.buildCuratorAckConfirmer(input.contextGraphId, gossipSigner, {
|
|
@@ -64,7 +121,7 @@ export async function prepareAssertionPromote(host, input) {
|
|
|
64
121
|
confirmBeforeCommit: confirmBeforeCommit === undefined
|
|
65
122
|
? undefined
|
|
66
123
|
: (message) => resolvePromoteAuthority(() => confirmBeforeCommit(message)),
|
|
67
|
-
resolveWorkspaceRecipients: (request) => resolvePromoteAuthority(() => host.resolveWorkspaceRecipientsGated(request)),
|
|
124
|
+
resolveWorkspaceRecipients: (request) => resolvePromoteAuthority(() => resolvePromoteRecipientsWithinBound(() => host.resolveWorkspaceRecipientsGated(request), recipientRetryTiming)),
|
|
68
125
|
...(shareAccessPolicy !== undefined ? { accessPolicy: shareAccessPolicy } : {}),
|
|
69
126
|
...(input.options?.allowedPeers !== undefined
|
|
70
127
|
? { allowedPeers: [...input.options.allowedPeers] }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-promote-precommit.js","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,
|
|
1
|
+
{"version":3,"file":"assertion-promote-precommit.js","sourceRoot":"","sources":["../../../src/internal/promote/assertion-promote-precommit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ACKCollectorDeps } from '@origintrail-official/dkg-publisher';
|
|
2
|
+
interface ACKReliableMessenger {
|
|
3
|
+
sendRequestOwned(peerId: string, protocol: string, data: Uint8Array, opts: {
|
|
4
|
+
timeoutMs: number;
|
|
5
|
+
}): Promise<{
|
|
6
|
+
delivered: boolean;
|
|
7
|
+
error?: unknown;
|
|
8
|
+
response?: Uint8Array;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
export declare function createACKSendP2P(input: {
|
|
12
|
+
messenger: ACKReliableMessenger;
|
|
13
|
+
timeoutMs: number;
|
|
14
|
+
}): ACKCollectorDeps['sendP2P'];
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=storage-ack-owned-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-ack-owned-request.d.ts","sourceRoot":"","sources":["../../src/internal/storage-ack-owned-request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,UAAU,oBAAoB;IAC5B,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,oBAAoB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAa9B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
export function createACKSendP2P(input) {
|
|
3
|
+
return async (peerId, protocol, data) => {
|
|
4
|
+
const sendResult = await input.messenger.sendRequestOwned(peerId, protocol, data, {
|
|
5
|
+
timeoutMs: input.timeoutMs,
|
|
6
|
+
});
|
|
7
|
+
if (!sendResult.delivered) {
|
|
8
|
+
throw new Error(`substrate send already in flight (transport): ${sendResult.error}`);
|
|
9
|
+
}
|
|
10
|
+
if (!sendResult.response) {
|
|
11
|
+
throw new Error('substrate delivered (transport) without response');
|
|
12
|
+
}
|
|
13
|
+
return sendResult.response;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=storage-ack-owned-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-ack-owned-request.js","sourceRoot":"","sources":["../../src/internal/storage-ack-owned-request.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAatC,MAAM,UAAU,gBAAgB,CAAC,KAGhC;IACC,OAAO,KAAK,EAAE,MAAc,EAAE,QAAgB,EAAE,IAAgB,EAAE,EAAE;QAClE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YAChF,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graphs waiting for node-local sync admission, served in turn.
|
|
3
|
+
*
|
|
4
|
+
* A reconcile pass that the node's own sync admission refused has nothing to
|
|
5
|
+
* gain from running again while that capacity is still in use: every repeat
|
|
6
|
+
* costs the pass's chain reads and is refused the same way, and every waiting
|
|
7
|
+
* graph pays them at once. This component owns the wait instead. A refused
|
|
8
|
+
* graph is kept in arrival order and nudged once the admission can take its
|
|
9
|
+
* fetch, one graph at a time.
|
|
10
|
+
*
|
|
11
|
+
* A pass that could not start its work at all, because the source it had to
|
|
12
|
+
* ask did not answer, waits here too (see {@link VmReconcileLocalAdmissionWait.defer}).
|
|
13
|
+
*
|
|
14
|
+
* It owns no sync lease and no VM worker. A nudge re-enters the ordinary
|
|
15
|
+
* bounded dispatcher, and the periodic sweep still visits a waiting graph.
|
|
16
|
+
*/
|
|
17
|
+
export interface LocalAdmissionWaitOptions {
|
|
18
|
+
signal?: AbortSignal;
|
|
19
|
+
isCurrent: () => boolean;
|
|
20
|
+
/** Whether the node's sync admission would take this graph's fetch right now. */
|
|
21
|
+
canAdmit: () => boolean;
|
|
22
|
+
}
|
|
23
|
+
/** One pass of a graph, from the moment it started. */
|
|
24
|
+
export interface LocalAdmissionPass {
|
|
25
|
+
readonly key: string;
|
|
26
|
+
/** The graph's place in the wait when the pass started, if it had one. */
|
|
27
|
+
readonly waiting: object | undefined;
|
|
28
|
+
}
|
|
29
|
+
export interface VmReconcileLocalAdmissionWaitDeps {
|
|
30
|
+
/**
|
|
31
|
+
* Nudge one graph and return its pass's completion. Undefined when the
|
|
32
|
+
* nudge was not admitted (held after a failed pass, or no queue room).
|
|
33
|
+
* `deferred` says the graph was parked by `defer`, so the hold a failed
|
|
34
|
+
* pass leaves is its own and this nudge is the retry.
|
|
35
|
+
*/
|
|
36
|
+
readonly nudge: (key: string, deferred: boolean) => Promise<unknown> | undefined;
|
|
37
|
+
/** Bound on retained waiters. */
|
|
38
|
+
readonly maxWaiters: number;
|
|
39
|
+
}
|
|
40
|
+
export declare class VmReconcileLocalAdmissionWait {
|
|
41
|
+
private readonly deps;
|
|
42
|
+
/** Waiting graphs, in the order they are served. */
|
|
43
|
+
private readonly waiters;
|
|
44
|
+
/** The waiter nudged last, until its pass settles. */
|
|
45
|
+
private turn;
|
|
46
|
+
/** No waiter is nudged before this time: a nudged pass was refused all the same. */
|
|
47
|
+
private holdUntil;
|
|
48
|
+
private timer;
|
|
49
|
+
private closed;
|
|
50
|
+
constructor(deps: VmReconcileLocalAdmissionWaitDeps);
|
|
51
|
+
/**
|
|
52
|
+
* The node's sync admission refused this graph's fetch. `canAdmit` reads the
|
|
53
|
+
* admission the fetch will ask. Every waiter uses this readiness contract.
|
|
54
|
+
*/
|
|
55
|
+
retry(key: string, options: LocalAdmissionWaitOptions): void;
|
|
56
|
+
/**
|
|
57
|
+
* A graph that just used the node's sync admission and has more to fetch
|
|
58
|
+
* goes behind the graphs already waiting for it. Returns false, and parks
|
|
59
|
+
* nothing, when no other graph is waiting.
|
|
60
|
+
*/
|
|
61
|
+
yieldTurn(key: string, options: LocalAdmissionWaitOptions): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* A pass ended before its work started: the source it had to ask gave no
|
|
64
|
+
* answer. Nothing here can read when it will, so the graph goes behind the
|
|
65
|
+
* others and no waiter is nudged for one delay. A graph that keeps getting
|
|
66
|
+
* no answer then costs one short pass per delay, in turn with the rest.
|
|
67
|
+
* `canAdmit` is the same readiness contract as for a refused fetch: the
|
|
68
|
+
* graph is not asked again while its fetch could not start anyway.
|
|
69
|
+
*
|
|
70
|
+
* Returns `again` when the pass was this wait's own nudge, `parked` when it
|
|
71
|
+
* came from elsewhere, and undefined when the graph was not taken.
|
|
72
|
+
*/
|
|
73
|
+
defer(key: string, options: LocalAdmissionWaitOptions): 'parked' | 'again' | undefined;
|
|
74
|
+
/** A pass of this graph is starting. Hand the result to {@link passEnded}. */
|
|
75
|
+
passStarted(key: string): LocalAdmissionPass;
|
|
76
|
+
/**
|
|
77
|
+
* The pass ended. A graph whose place in the wait is still the one it had
|
|
78
|
+
* when the pass started was not refused again, so it is no longer waiting.
|
|
79
|
+
* Whatever the pass used is free now, so this is also when the next waiter
|
|
80
|
+
* can go.
|
|
81
|
+
*/
|
|
82
|
+
passEnded(pass: LocalAdmissionPass): void;
|
|
83
|
+
close(): void;
|
|
84
|
+
private park;
|
|
85
|
+
private remove;
|
|
86
|
+
/**
|
|
87
|
+
* Nudge the longest waiter the node's sync admission can take, unless a
|
|
88
|
+
* nudged pass is still out. Waiters are read in arrival order and one that
|
|
89
|
+
* cannot be admitted yet is passed over, so a graph with capacity of its own
|
|
90
|
+
* is not held behind one without.
|
|
91
|
+
*/
|
|
92
|
+
private wake;
|
|
93
|
+
/** One timer for the whole wait: the next delay to run out, else a capacity re-read per interval. */
|
|
94
|
+
private armTimer;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=vm-reconcile-local-admission-wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm-reconcile-local-admission-wait.d.ts","sourceRoot":"","sources":["../../src/internal/vm-reconcile-local-admission-wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,OAAO,CAAC;CACzB;AAQD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,iCAAiC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACjF,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAWD,qBAAa,6BAA6B;IAU5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IATjC,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,sDAAsD;IACtD,OAAO,CAAC,IAAI,CAAiD;IAC7D,oFAAoF;IACpF,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,MAAM,CAAS;gBAEM,IAAI,EAAE,iCAAiC;IAEpE;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI;IAY5D;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO;IAYnE;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS;IAStF,8EAA8E;IAC9E,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAI5C;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAOzC,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,IAAI;IAkCZ,OAAO,CAAC,MAAM;IAOd;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IA6BZ,qGAAqG;IACrG,OAAO,CAAC,QAAQ;CAejB"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graphs waiting for node-local sync admission, served in turn.
|
|
3
|
+
*
|
|
4
|
+
* A reconcile pass that the node's own sync admission refused has nothing to
|
|
5
|
+
* gain from running again while that capacity is still in use: every repeat
|
|
6
|
+
* costs the pass's chain reads and is refused the same way, and every waiting
|
|
7
|
+
* graph pays them at once. This component owns the wait instead. A refused
|
|
8
|
+
* graph is kept in arrival order and nudged once the admission can take its
|
|
9
|
+
* fetch, one graph at a time.
|
|
10
|
+
*
|
|
11
|
+
* A pass that could not start its work at all, because the source it had to
|
|
12
|
+
* ask did not answer, waits here too (see {@link VmReconcileLocalAdmissionWait.defer}).
|
|
13
|
+
*
|
|
14
|
+
* It owns no sync lease and no VM worker. A nudge re-enters the ordinary
|
|
15
|
+
* bounded dispatcher, and the periodic sweep still visits a waiting graph.
|
|
16
|
+
*/
|
|
17
|
+
/** A refused nudge's hold, and how often the queue re-reads capacity. */
|
|
18
|
+
const RETRY_MS = 2_500;
|
|
19
|
+
/**
|
|
20
|
+
* How long a nudged pass holds the next waiter back when it has not settled:
|
|
21
|
+
* long enough to reach its own admission, after which the capacity read
|
|
22
|
+
* accounts for it. Without the bound a long fetch on a node with several sync
|
|
23
|
+
* slots would keep its free ones idle.
|
|
24
|
+
*/
|
|
25
|
+
const TURN_MAX_MS = 15_000;
|
|
26
|
+
/** A capacity read that cannot answer falls back to the plain bounded retry. */
|
|
27
|
+
function admissionAvailable(waiter) {
|
|
28
|
+
try {
|
|
29
|
+
return waiter.canAdmit();
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export class VmReconcileLocalAdmissionWait {
|
|
36
|
+
deps;
|
|
37
|
+
/** Waiting graphs, in the order they are served. */
|
|
38
|
+
waiters = new Map();
|
|
39
|
+
/** The waiter nudged last, until its pass settles. */
|
|
40
|
+
turn;
|
|
41
|
+
/** No waiter is nudged before this time: a nudged pass was refused all the same. */
|
|
42
|
+
holdUntil = 0;
|
|
43
|
+
timer;
|
|
44
|
+
closed = false;
|
|
45
|
+
constructor(deps) {
|
|
46
|
+
this.deps = deps;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The node's sync admission refused this graph's fetch. `canAdmit` reads the
|
|
50
|
+
* admission the fetch will ask. Every waiter uses this readiness contract.
|
|
51
|
+
*/
|
|
52
|
+
retry(key, options) {
|
|
53
|
+
if (this.closed || options.signal?.aborted || !options.isCurrent())
|
|
54
|
+
return;
|
|
55
|
+
const refusedTurn = this.turn?.key === key;
|
|
56
|
+
// The nudged graph was refused all the same, so the capacity read was
|
|
57
|
+
// wrong or capacity went elsewhere first. It keeps its place at the head,
|
|
58
|
+
// and nothing is nudged for one delay so a wrong read cannot spin passes.
|
|
59
|
+
if (this.park(key, options, refusedTurn ? 'front' : 'keep') && refusedTurn) {
|
|
60
|
+
this.holdUntil = Date.now() + RETRY_MS;
|
|
61
|
+
}
|
|
62
|
+
this.armTimer();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A graph that just used the node's sync admission and has more to fetch
|
|
66
|
+
* goes behind the graphs already waiting for it. Returns false, and parks
|
|
67
|
+
* nothing, when no other graph is waiting.
|
|
68
|
+
*/
|
|
69
|
+
yieldTurn(key, options) {
|
|
70
|
+
if (this.closed || options.signal?.aborted || !options.isCurrent())
|
|
71
|
+
return false;
|
|
72
|
+
let othersWaiting = false;
|
|
73
|
+
for (const waiting of this.waiters.keys()) {
|
|
74
|
+
if (waiting !== key) {
|
|
75
|
+
othersWaiting = true;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!othersWaiting)
|
|
80
|
+
return false;
|
|
81
|
+
const parked = this.park(key, options, 'back');
|
|
82
|
+
this.armTimer();
|
|
83
|
+
return parked;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* A pass ended before its work started: the source it had to ask gave no
|
|
87
|
+
* answer. Nothing here can read when it will, so the graph goes behind the
|
|
88
|
+
* others and no waiter is nudged for one delay. A graph that keeps getting
|
|
89
|
+
* no answer then costs one short pass per delay, in turn with the rest.
|
|
90
|
+
* `canAdmit` is the same readiness contract as for a refused fetch: the
|
|
91
|
+
* graph is not asked again while its fetch could not start anyway.
|
|
92
|
+
*
|
|
93
|
+
* Returns `again` when the pass was this wait's own nudge, `parked` when it
|
|
94
|
+
* came from elsewhere, and undefined when the graph was not taken.
|
|
95
|
+
*/
|
|
96
|
+
defer(key, options) {
|
|
97
|
+
if (this.closed || options.signal?.aborted || !options.isCurrent())
|
|
98
|
+
return undefined;
|
|
99
|
+
const nudged = this.turn?.key === key;
|
|
100
|
+
if (!this.park(key, options, 'back', true))
|
|
101
|
+
return undefined;
|
|
102
|
+
this.holdUntil = Date.now() + RETRY_MS;
|
|
103
|
+
this.armTimer();
|
|
104
|
+
return nudged ? 'again' : 'parked';
|
|
105
|
+
}
|
|
106
|
+
/** A pass of this graph is starting. Hand the result to {@link passEnded}. */
|
|
107
|
+
passStarted(key) {
|
|
108
|
+
return { key, waiting: this.waiters.get(key) };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The pass ended. A graph whose place in the wait is still the one it had
|
|
112
|
+
* when the pass started was not refused again, so it is no longer waiting.
|
|
113
|
+
* Whatever the pass used is free now, so this is also when the next waiter
|
|
114
|
+
* can go.
|
|
115
|
+
*/
|
|
116
|
+
passEnded(pass) {
|
|
117
|
+
if (pass.waiting !== undefined && this.waiters.get(pass.key) === pass.waiting) {
|
|
118
|
+
this.remove(pass.key);
|
|
119
|
+
}
|
|
120
|
+
this.wake();
|
|
121
|
+
}
|
|
122
|
+
close() {
|
|
123
|
+
this.closed = true;
|
|
124
|
+
for (const key of this.waiters.keys())
|
|
125
|
+
this.remove(key);
|
|
126
|
+
this.armTimer();
|
|
127
|
+
this.turn = undefined;
|
|
128
|
+
}
|
|
129
|
+
park(key, options, position, deferred = false) {
|
|
130
|
+
const existing = this.waiters.get(key);
|
|
131
|
+
if (!existing && this.waiters.size >= this.deps.maxWaiters)
|
|
132
|
+
return false;
|
|
133
|
+
const waiter = {
|
|
134
|
+
deferred,
|
|
135
|
+
canAdmit: options.canAdmit,
|
|
136
|
+
isCurrent: options.isCurrent,
|
|
137
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
138
|
+
onAbort: () => {
|
|
139
|
+
if (this.waiters.get(key) !== waiter)
|
|
140
|
+
return;
|
|
141
|
+
this.remove(key);
|
|
142
|
+
this.armTimer();
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
existing?.signal?.removeEventListener('abort', existing.onAbort);
|
|
146
|
+
if (position === 'front') {
|
|
147
|
+
const behind = [...this.waiters].filter(([waiting]) => waiting !== key);
|
|
148
|
+
this.waiters.clear();
|
|
149
|
+
this.waiters.set(key, waiter);
|
|
150
|
+
for (const [waiting, entry] of behind)
|
|
151
|
+
this.waiters.set(waiting, entry);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// Setting an existing key keeps its place; `back` gives it up first.
|
|
155
|
+
if (position === 'back')
|
|
156
|
+
this.waiters.delete(key);
|
|
157
|
+
this.waiters.set(key, waiter);
|
|
158
|
+
}
|
|
159
|
+
options.signal?.addEventListener('abort', waiter.onAbort, { once: true });
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
remove(key) {
|
|
163
|
+
const waiter = this.waiters.get(key);
|
|
164
|
+
if (!waiter)
|
|
165
|
+
return;
|
|
166
|
+
waiter.signal?.removeEventListener('abort', waiter.onAbort);
|
|
167
|
+
this.waiters.delete(key);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Nudge the longest waiter the node's sync admission can take, unless a
|
|
171
|
+
* nudged pass is still out. Waiters are read in arrival order and one that
|
|
172
|
+
* cannot be admitted yet is passed over, so a graph with capacity of its own
|
|
173
|
+
* is not held behind one without.
|
|
174
|
+
*/
|
|
175
|
+
wake() {
|
|
176
|
+
if (this.closed)
|
|
177
|
+
return;
|
|
178
|
+
const now = Date.now();
|
|
179
|
+
const turnIsOut = this.turn !== undefined && now - this.turn.startedAt < TURN_MAX_MS;
|
|
180
|
+
if (!turnIsOut && now >= this.holdUntil) {
|
|
181
|
+
// Removing the entry being visited is safe on a Map.
|
|
182
|
+
for (const [key, waiter] of this.waiters) {
|
|
183
|
+
if (waiter.signal?.aborted || !waiter.isCurrent()) {
|
|
184
|
+
this.remove(key);
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (!admissionAvailable(waiter))
|
|
188
|
+
continue;
|
|
189
|
+
this.remove(key);
|
|
190
|
+
const completion = this.deps.nudge(key, waiter.deferred);
|
|
191
|
+
// Not admitted: the periodic sweep owns the graph.
|
|
192
|
+
if (!completion)
|
|
193
|
+
continue;
|
|
194
|
+
const started = { key, startedAt: now };
|
|
195
|
+
this.turn = started;
|
|
196
|
+
const settle = () => {
|
|
197
|
+
if (this.turn === started)
|
|
198
|
+
this.turn = undefined;
|
|
199
|
+
this.wake();
|
|
200
|
+
};
|
|
201
|
+
completion.then(settle, settle);
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
this.armTimer();
|
|
206
|
+
}
|
|
207
|
+
/** One timer for the whole wait: the next delay to run out, else a capacity re-read per interval. */
|
|
208
|
+
armTimer() {
|
|
209
|
+
if (this.timer !== undefined)
|
|
210
|
+
clearTimeout(this.timer);
|
|
211
|
+
this.timer = undefined;
|
|
212
|
+
if (this.closed || this.waiters.size === 0)
|
|
213
|
+
return;
|
|
214
|
+
const now = Date.now();
|
|
215
|
+
let delay = RETRY_MS;
|
|
216
|
+
if (this.holdUntil > now) {
|
|
217
|
+
delay = this.holdUntil - now;
|
|
218
|
+
}
|
|
219
|
+
this.timer = setTimeout(() => {
|
|
220
|
+
this.timer = undefined;
|
|
221
|
+
this.wake();
|
|
222
|
+
}, delay);
|
|
223
|
+
this.timer.unref?.();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=vm-reconcile-local-admission-wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm-reconcile-local-admission-wait.js","sourceRoot":"","sources":["../../src/internal/vm-reconcile-local-admission-wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a VM reconcile pass makes of a read-authority check that was not
|
|
3
|
+
* allowed.
|
|
4
|
+
*
|
|
5
|
+
* A denial closes the pass, and so does an authority source that answered
|
|
6
|
+
* "unknown". A chain read that was never answered is different: the node's own
|
|
7
|
+
* RPC budget did not admit it, or the endpoint did not reply in time. That
|
|
8
|
+
* says nothing about the graph, and the same question may be answered a
|
|
9
|
+
* moment later, so the pass is told apart and its graph can be asked again
|
|
10
|
+
* without waiting for the periodic sweep.
|
|
11
|
+
*/
|
|
12
|
+
import type { ContextGraphReadAuthorityDecision, UnavailableContextGraphReadAuthorityDecision } from '../context-graph-read-authority.js';
|
|
13
|
+
import { ContextGraphNotFoundError } from '../dkg-agent-types.js';
|
|
14
|
+
/** Whether the decision is "no answer from the chain" rather than a refusal. */
|
|
15
|
+
export declare function isUnansweredVmReconcileReadAuthority(decision: ContextGraphReadAuthorityDecision | undefined): decision is UnavailableContextGraphReadAuthorityDecision;
|
|
16
|
+
/**
|
|
17
|
+
* The pass could not confirm read authority because the chain read behind the
|
|
18
|
+
* check got no answer. To a caller it is the refusal it always was, a
|
|
19
|
+
* {@link ContextGraphNotFoundError} with the same message; reconcile
|
|
20
|
+
* scheduling tells it apart by class.
|
|
21
|
+
*/
|
|
22
|
+
export declare class VmReconcileReadAuthorityUnansweredError extends ContextGraphNotFoundError {
|
|
23
|
+
/** `source/reason/dependency` of the unanswered decision, for the node's log. */
|
|
24
|
+
readonly readAuthority: string;
|
|
25
|
+
constructor(contextGraphId: string, decision: Pick<UnavailableContextGraphReadAuthorityDecision, 'source' | 'reason' | 'dependency'>);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=vm-reconcile-read-authority.d.ts.map
|