@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
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import type { LocalSwmSenderKeySendState, LocalSwmSenderKeyReceiveState, PendingSenderKeyEntry } from './dkg-agent-types.js';
|
|
2
2
|
export declare function swmSenderStateKey(contextGraphId: string, subGraphName: string | undefined, senderAgentAddress: string): string;
|
|
3
3
|
export declare function swmReceiverStateKey(contextGraphId: string, subGraphName: string | undefined, senderAgentAddress: string, epochId: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* Hash the exact transport routes that received (or durably queued) setup for
|
|
6
|
+
* a Sender Key epoch. Logical membership remains `(agent, key)`; this separate
|
|
7
|
+
* snapshot ensures that adding or removing a peer-bound variant rotates the
|
|
8
|
+
* epoch without redefining the authenticated member set.
|
|
9
|
+
*/
|
|
10
|
+
export declare function computeSwmSenderKeyRecipientRouteHash(input: {
|
|
11
|
+
contextGraphId: string;
|
|
12
|
+
subGraphName?: string;
|
|
13
|
+
recipients: readonly {
|
|
14
|
+
agentAddress: string;
|
|
15
|
+
recipientKeyId: string;
|
|
16
|
+
peerId?: string;
|
|
17
|
+
}[];
|
|
18
|
+
}): string;
|
|
4
19
|
export declare function serializeSwmSenderSendState(state: LocalSwmSenderKeySendState): Record<string, unknown>;
|
|
5
20
|
export declare function serializeSwmSenderReceiveState(state: LocalSwmSenderKeyReceiveState): Record<string, unknown>;
|
|
6
21
|
export declare function serializePendingSenderKeyEntry(entry: PendingSenderKeyEntry): Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dkg-agent-swm-state.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dkg-agent-swm-state.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAE9H;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAQD;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL,GAAG,MAAM,CAyBT;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CActG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB5G;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAapG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,0BAA0B,CAcxG;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6BAA6B,CAsB9G;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,CAetG"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* "Invalid Sender Key state" error message tied to this state schema
|
|
13
13
|
* and are not a general-purpose validation library.
|
|
14
14
|
*/
|
|
15
|
+
import { createHash } from 'node:crypto';
|
|
15
16
|
import { ethers } from 'ethers';
|
|
16
17
|
import { encodeWorkspaceEncryptionKey, decodeWorkspaceEncryptionKey, } from '@origintrail-official/dkg-core';
|
|
17
18
|
export function swmSenderStateKey(contextGraphId, subGraphName, senderAgentAddress) {
|
|
@@ -20,6 +21,44 @@ export function swmSenderStateKey(contextGraphId, subGraphName, senderAgentAddre
|
|
|
20
21
|
export function swmReceiverStateKey(contextGraphId, subGraphName, senderAgentAddress, epochId) {
|
|
21
22
|
return `${swmSenderStateKey(contextGraphId, subGraphName, senderAgentAddress)}\0${epochId}`;
|
|
22
23
|
}
|
|
24
|
+
// v2 invalidates route hashes written by the short-lived peer-variant build
|
|
25
|
+
// whose pending rows did not yet retain their destination peer. On its first
|
|
26
|
+
// publish after upgrade that state rotates instead of reusing an epoch whose
|
|
27
|
+
// remaining delivery obligations cannot be reconstructed from disk.
|
|
28
|
+
const SWM_SENDER_KEY_RECIPIENT_ROUTES_DOMAIN = 'dkg.swm.sender-key.recipient-routes.v2';
|
|
29
|
+
/**
|
|
30
|
+
* Hash the exact transport routes that received (or durably queued) setup for
|
|
31
|
+
* a Sender Key epoch. Logical membership remains `(agent, key)`; this separate
|
|
32
|
+
* snapshot ensures that adding or removing a peer-bound variant rotates the
|
|
33
|
+
* epoch without redefining the authenticated member set.
|
|
34
|
+
*/
|
|
35
|
+
export function computeSwmSenderKeyRecipientRouteHash(input) {
|
|
36
|
+
const uniqueRoutes = new Map();
|
|
37
|
+
for (const recipient of input.recipients) {
|
|
38
|
+
const route = [
|
|
39
|
+
ethers.getAddress(recipient.agentAddress).toLowerCase(),
|
|
40
|
+
recipient.recipientKeyId,
|
|
41
|
+
recipient.peerId ?? '',
|
|
42
|
+
];
|
|
43
|
+
uniqueRoutes.set(JSON.stringify(route), route);
|
|
44
|
+
}
|
|
45
|
+
const routes = [...uniqueRoutes.values()].sort((left, right) => {
|
|
46
|
+
const byAgent = left[0].localeCompare(right[0]);
|
|
47
|
+
if (byAgent !== 0)
|
|
48
|
+
return byAgent;
|
|
49
|
+
const byKey = left[1].localeCompare(right[1]);
|
|
50
|
+
return byKey !== 0 ? byKey : left[2].localeCompare(right[2]);
|
|
51
|
+
});
|
|
52
|
+
const digest = createHash('sha256')
|
|
53
|
+
.update(JSON.stringify({
|
|
54
|
+
domain: SWM_SENDER_KEY_RECIPIENT_ROUTES_DOMAIN,
|
|
55
|
+
contextGraphId: input.contextGraphId,
|
|
56
|
+
subGraphName: input.subGraphName ?? '',
|
|
57
|
+
routes,
|
|
58
|
+
}))
|
|
59
|
+
.digest('hex');
|
|
60
|
+
return `sha256:${digest}`;
|
|
61
|
+
}
|
|
23
62
|
export function serializeSwmSenderSendState(state) {
|
|
24
63
|
return {
|
|
25
64
|
contextGraphId: state.contextGraphId,
|
|
@@ -27,6 +66,7 @@ export function serializeSwmSenderSendState(state) {
|
|
|
27
66
|
senderAgentAddress: state.senderAgentAddress,
|
|
28
67
|
epochId: state.epochId,
|
|
29
68
|
membershipHash: state.membershipHash,
|
|
69
|
+
recipientRouteHash: state.recipientRouteHash,
|
|
30
70
|
chainKey: encodeWorkspaceEncryptionKey(state.chainKey),
|
|
31
71
|
nextMessageIndex: state.nextMessageIndex,
|
|
32
72
|
senderSigningSecretKey: encodeWorkspaceEncryptionKey(state.senderSigningSecretKey),
|
|
@@ -56,6 +96,7 @@ export function serializePendingSenderKeyEntry(entry) {
|
|
|
56
96
|
senderAgentAddress: entry.senderAgentAddress,
|
|
57
97
|
recipientAgentAddress: entry.recipientAgentAddress,
|
|
58
98
|
recipientKeyId: entry.recipientKeyId,
|
|
99
|
+
recipientPeerId: entry.recipientPeerId,
|
|
59
100
|
epochId: entry.epochId,
|
|
60
101
|
contextGraphId: entry.contextGraphId,
|
|
61
102
|
subGraphName: entry.subGraphName,
|
|
@@ -71,6 +112,7 @@ export function deserializeSwmSenderSendState(entry) {
|
|
|
71
112
|
senderAgentAddress: ethers.getAddress(requiredString(entry.senderAgentAddress, 'senderAgentAddress')),
|
|
72
113
|
epochId: requiredString(entry.epochId, 'epochId'),
|
|
73
114
|
membershipHash: requiredString(entry.membershipHash, 'membershipHash'),
|
|
115
|
+
recipientRouteHash: optionalString(entry.recipientRouteHash),
|
|
74
116
|
chainKey: decodeWorkspaceEncryptionKey(requiredString(entry.chainKey, 'chainKey')),
|
|
75
117
|
nextMessageIndex: requiredNumber(entry.nextMessageIndex, 'nextMessageIndex'),
|
|
76
118
|
senderSigningSecretKey: decodeWorkspaceEncryptionKey(requiredString(entry.senderSigningSecretKey, 'senderSigningSecretKey')),
|
|
@@ -105,6 +147,7 @@ export function deserializePendingSenderKeyEntry(entry) {
|
|
|
105
147
|
senderAgentAddress: senderAgentAddress.toLowerCase(),
|
|
106
148
|
recipientAgentAddress: recipientAgentAddress.toLowerCase(),
|
|
107
149
|
recipientKeyId: requiredString(entry.recipientKeyId, 'pending.recipientKeyId'),
|
|
150
|
+
recipientPeerId: optionalString(entry.recipientPeerId),
|
|
108
151
|
epochId: requiredString(entry.epochId, 'pending.epochId'),
|
|
109
152
|
contextGraphId: requiredString(entry.contextGraphId, 'pending.contextGraphId'),
|
|
110
153
|
subGraphName: optionalString(entry.subGraphName),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dkg-agent-swm-state.js","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dkg-agent-swm-state.js","sourceRoot":"","sources":["../src/dkg-agent-swm-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,24 @@ import { FinalizationHandler } from './finalization-handler.js';
|
|
|
8
8
|
import { type ContextGraphSub } from './dkg-agent-types.js';
|
|
9
9
|
import { DKGAgentBase } from './dkg-agent-base.js';
|
|
10
10
|
import type { DKGAgent } from './dkg-agent.js';
|
|
11
|
+
/** Options for subscribing this node to one context graph. */
|
|
12
|
+
export interface ContextGraphSubscribeOptions {
|
|
13
|
+
trackSyncScope?: boolean;
|
|
14
|
+
persist?: boolean;
|
|
15
|
+
deferSharedMemoryGossipSubscribe?: boolean;
|
|
16
|
+
syncMode?: 'on-demand' | 'always-on';
|
|
17
|
+
/** Authoritative numeric slot established by the admission owner. */
|
|
18
|
+
onChainId?: string;
|
|
19
|
+
}
|
|
11
20
|
export declare class SwmSubstrateMethods extends DKGAgentBase {
|
|
12
|
-
subscribeToContextGraph(this: DKGAgent, contextGraphId: string, options?:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
subscribeToContextGraph(this: DKGAgent, contextGraphId: string, options?: ContextGraphSubscribeOptions): ContextGraphSub;
|
|
22
|
+
/** Apply the process-local remainder of the startup subscription plan. */
|
|
23
|
+
applyStartupContextGraphGossipPlan(this: DKGAgent): number;
|
|
24
|
+
/**
|
|
25
|
+
* Install one subscription after alias adoption: the row, its sync scope
|
|
26
|
+
* and its gossip handlers, or the RFC-64 catalog-owned equivalent.
|
|
27
|
+
*/
|
|
28
|
+
protected installContextGraphSubscription(this: DKGAgent, contextGraphId: string, options?: ContextGraphSubscribeOptions): ContextGraphSub;
|
|
20
29
|
/**
|
|
21
30
|
* Inverse of {@link subscribeToContextGraph}: drop the LIVE member
|
|
22
31
|
* subscription (publish / app / update / finalization + member-mode SWM
|
|
@@ -57,6 +66,38 @@ export declare class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
57
66
|
rfc64LegacySwmApplyAllowedForScope(this: DKGAgent, contextGraphId: string, subGraphName: string | null): boolean;
|
|
58
67
|
/** Member transport remains necessary for the named-subgraph lane. */
|
|
59
68
|
rfc64LegacySwmMemberTransportAllowedForContextGraph(this: DKGAgent, contextGraphId: string): boolean;
|
|
69
|
+
/** The cleartext id behind a wire id, or the id unchanged when it has none. */
|
|
70
|
+
rfc64AuthorityContextGraphIdV1(this: DKGAgent, contextGraphId: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Whether a private graph's root-scope SWM stays on the legacy member lane
|
|
73
|
+
* (#2858). RFC-64 closed legacy root-scope apply, admission and recovery for
|
|
74
|
+
* every catalog-mode graph, so that its selected-private lane carries root
|
|
75
|
+
* SWM on its own. That lane needs private authority a node may not have, so
|
|
76
|
+
* a member's RFC-64 authority for the graph can stay blocked or resolving
|
|
77
|
+
* indefinitely. Nothing then delivers the curator's root writes: they are
|
|
78
|
+
* declined for good, recovery skips the root scope, and a Knowledge Asset's
|
|
79
|
+
* updates never reach the member.
|
|
80
|
+
*
|
|
81
|
+
* The same holds while that authority is active on a node without private
|
|
82
|
+
* access-policy authority: the selected-private lane then delivers nothing.
|
|
83
|
+
*
|
|
84
|
+
* So unless RFC-64 can deliver private root SWM on this node, a private
|
|
85
|
+
* graph this node is a member of keeps the legacy member lane. Membership
|
|
86
|
+
* is read from the graph's own `_meta` on this node: a join approval
|
|
87
|
+
* delivers it before the curator's first share, and it survives a restart,
|
|
88
|
+
* whereas RFC-64 responsibility needs chain reads that can lag for a long
|
|
89
|
+
* time. The lane's own checks (allowlist, envelope, sender key, the
|
|
90
|
+
* curator's authorization) still apply. Public graphs, explicitly selected
|
|
91
|
+
* or accepted graphs, and nodes with private access-policy authority keep
|
|
92
|
+
* their RFC-64 behaviour.
|
|
93
|
+
*/
|
|
94
|
+
rfc64PrivateRootSwmOnLegacyLaneV1(this: DKGAgent, contextGraphId: string): Promise<boolean>;
|
|
95
|
+
/**
|
|
96
|
+
* The RFC-64 half of {@link rfc64PrivateRootSwmOnLegacyLaneV1}: the graph's
|
|
97
|
+
* authority id when RFC-64 cannot deliver its private root SWM on this node,
|
|
98
|
+
* otherwise `null`. Synchronous, so the caller can repeat it after an await.
|
|
99
|
+
*/
|
|
100
|
+
protected rfc64PrivateRootLegacyLaneAuthorityIdV1(this: DKGAgent, contextGraphId: string): string | null;
|
|
60
101
|
reconcileSharedMemoryGossipSubscription(this: DKGAgent, contextGraphId: string): Promise<void>;
|
|
61
102
|
/**
|
|
62
103
|
* Receiver handler for `PROTOCOL_SWM_SHARE_ACK`. Extracted into
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dkg-agent-swm-substrate.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-substrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dkg-agent-swm-substrate.d.ts","sourceRoot":"","sources":["../src/dkg-agent-swm-substrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
/**
|
|
3
|
+
* SWM substrate / shared-memory subsystem extracted from dkg-agent.ts as a
|
|
4
|
+
* mixin holder: CG gossip subscription reconcile, SWM share-ACK handling and
|
|
5
|
+
* quorum tracking, substrate top-up + fan-out bookkeeping/eviction, and the
|
|
6
|
+
* lazily-constructed gossip/shared-memory/update/finalization handlers. 1:1
|
|
7
|
+
* move; methods take `this: DKGAgent` so cross-calls resolve against the
|
|
8
|
+
* composed class.
|
|
9
|
+
*/
|
|
10
|
+
import { isLocalPrivateMember } from './internal/local-private-member.js';
|
|
2
11
|
import { PROTOCOL_SWM_UPDATE, PROTOCOL_SWM_SHARE_ACK, contextGraphPublishTopic, contextGraphWorkspaceTopic, contextGraphAppTopic, contextGraphUpdateTopic, contextGraphFinalizationTopic, SYSTEM_CONTEXT_GRAPHS, createOperationContext, logKaLifecycleEvent, encodeSwmShareAck, decodeSwmShareAck, } from '@origintrail-official/dkg-core';
|
|
3
12
|
import { SharedMemoryHandler, UpdateHandler, projectWorkspaceAgentRecipientFanout, } from '@origintrail-official/dkg-publisher';
|
|
4
13
|
import { prepareRfc64LateLegacySwmBoundaryV1 } from './rfc64/legacy-swm-boundary-v1.js';
|
|
@@ -14,6 +23,7 @@ import { resolveContextGraphSyncMode } from './context-graph-subscription-policy
|
|
|
14
23
|
import { DKGAgentBase } from './dkg-agent-base.js';
|
|
15
24
|
import { CONTEXT_GRAPH_AUTHORITY_RPC_SITES as CG_AUTH_RPC_SITES, withRpcUsageSite, } from '@origintrail-official/dkg-chain';
|
|
16
25
|
import { rfc64ExecutionPlanAllowsLegacySyncV1 } from './rfc64/public-catalog-activation-config-v1.js';
|
|
26
|
+
import { projectRfc64CatalogTransportStateV1 } from './rfc64/catalog-rollout-authority-v1.js';
|
|
17
27
|
export class SwmSubstrateMethods extends DKGAgentBase {
|
|
18
28
|
subscribeToContextGraph(contextGraphId, options) {
|
|
19
29
|
// A name hash this node already resolved (and holds no row for) is the
|
|
@@ -24,6 +34,45 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
24
34
|
// Subscribing the cleartext of a graph held only by its name hash moves
|
|
25
35
|
// the subscription: nothing may keep running under the hash id.
|
|
26
36
|
this.retireLiveContextGraphNamePlaceholderFor(contextGraphId);
|
|
37
|
+
const subscription = this.installContextGraphSubscription(contextGraphId, options);
|
|
38
|
+
// The row is installed, so the phonebook check sees the subscription it
|
|
39
|
+
// qualifies against. An Edge keeps no durable `agents` phonebook, so the
|
|
40
|
+
// curator tier of a public wallet-scoped graph cannot reach its owner's
|
|
41
|
+
// holders: ask for one bounded fetch. Startup rehydration subscribes
|
|
42
|
+
// through here too. The request is O(1) and does its checks detached.
|
|
43
|
+
this.requestOnDemandAgentsPhonebook(contextGraphId, 'subscribe');
|
|
44
|
+
return subscription;
|
|
45
|
+
}
|
|
46
|
+
/** Apply the process-local remainder of the startup subscription plan. */
|
|
47
|
+
applyStartupContextGraphGossipPlan() {
|
|
48
|
+
const session = this.gossipSession;
|
|
49
|
+
const systemContextGraphs = new Set(Object.values(SYSTEM_CONTEXT_GRAPHS));
|
|
50
|
+
let restored = 0;
|
|
51
|
+
for (const [contextGraphId, intent] of session.startupLiveIntents) {
|
|
52
|
+
const subscription = this.subscribedContextGraphs.get(contextGraphId);
|
|
53
|
+
if (!session.active || subscription?.subscribed !== true || subscription.pendingMeta
|
|
54
|
+
|| systemContextGraphs.has(contextGraphId) || session.gossipRegistered.has(contextGraphId))
|
|
55
|
+
continue;
|
|
56
|
+
try {
|
|
57
|
+
this.subscribeToContextGraph(contextGraphId, {
|
|
58
|
+
trackSyncScope: false,
|
|
59
|
+
persist: false,
|
|
60
|
+
syncMode: intent.syncMode,
|
|
61
|
+
});
|
|
62
|
+
restored += 1;
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
this.log.warn(createOperationContext('system'), `Failed to re-arm gossip for "${contextGraphId}" after restart: ${err instanceof Error ? err.message : String(err)}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
session.startupLiveIntents.clear();
|
|
69
|
+
return restored;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Install one subscription after alias adoption: the row, its sync scope
|
|
73
|
+
* and its gossip handlers, or the RFC-64 catalog-owned equivalent.
|
|
74
|
+
*/
|
|
75
|
+
installContextGraphSubscription(contextGraphId, options) {
|
|
27
76
|
const existing = this.subscribedContextGraphs.get(contextGraphId);
|
|
28
77
|
const nextSubscription = () => {
|
|
29
78
|
const next = {
|
|
@@ -239,19 +288,102 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
239
288
|
}
|
|
240
289
|
/** Member transport remains necessary for the named-subgraph lane. */
|
|
241
290
|
rfc64LegacySwmMemberTransportAllowedForContextGraph(contextGraphId) {
|
|
291
|
+
return this.rfc64LegacySwmGossipAllowedForContextGraph(contextGraphId)
|
|
292
|
+
|| this.subscribedContextGraphs.get(this.rfc64AuthorityContextGraphIdV1(contextGraphId))?.subscribed === true;
|
|
293
|
+
}
|
|
294
|
+
/** The cleartext id behind a wire id, or the id unchanged when it has none. */
|
|
295
|
+
rfc64AuthorityContextGraphIdV1(contextGraphId) {
|
|
242
296
|
const wireContextGraphId = /^0x[0-9a-fA-F]{64}$/.test(contextGraphId)
|
|
243
297
|
? contextGraphId.toLowerCase()
|
|
244
298
|
: null;
|
|
245
|
-
|
|
299
|
+
return wireContextGraphId === null
|
|
246
300
|
? contextGraphId
|
|
247
301
|
: (this.wireIdToLocalCgId.get(wireContextGraphId)
|
|
248
302
|
?? this.config.rfc64CatalogExecutionPlan
|
|
249
303
|
.selectedAuthorityByWireId[wireContextGraphId]?.contextGraphId
|
|
250
304
|
?? wireContextGraphId);
|
|
251
|
-
|
|
252
|
-
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Whether a private graph's root-scope SWM stays on the legacy member lane
|
|
308
|
+
* (#2858). RFC-64 closed legacy root-scope apply, admission and recovery for
|
|
309
|
+
* every catalog-mode graph, so that its selected-private lane carries root
|
|
310
|
+
* SWM on its own. That lane needs private authority a node may not have, so
|
|
311
|
+
* a member's RFC-64 authority for the graph can stay blocked or resolving
|
|
312
|
+
* indefinitely. Nothing then delivers the curator's root writes: they are
|
|
313
|
+
* declined for good, recovery skips the root scope, and a Knowledge Asset's
|
|
314
|
+
* updates never reach the member.
|
|
315
|
+
*
|
|
316
|
+
* The same holds while that authority is active on a node without private
|
|
317
|
+
* access-policy authority: the selected-private lane then delivers nothing.
|
|
318
|
+
*
|
|
319
|
+
* So unless RFC-64 can deliver private root SWM on this node, a private
|
|
320
|
+
* graph this node is a member of keeps the legacy member lane. Membership
|
|
321
|
+
* is read from the graph's own `_meta` on this node: a join approval
|
|
322
|
+
* delivers it before the curator's first share, and it survives a restart,
|
|
323
|
+
* whereas RFC-64 responsibility needs chain reads that can lag for a long
|
|
324
|
+
* time. The lane's own checks (allowlist, envelope, sender key, the
|
|
325
|
+
* curator's authorization) still apply. Public graphs, explicitly selected
|
|
326
|
+
* or accepted graphs, and nodes with private access-policy authority keep
|
|
327
|
+
* their RFC-64 behaviour.
|
|
328
|
+
*/
|
|
329
|
+
async rfc64PrivateRootSwmOnLegacyLaneV1(contextGraphId) {
|
|
330
|
+
const authorityContextGraphId = this.rfc64PrivateRootLegacyLaneAuthorityIdV1(contextGraphId);
|
|
331
|
+
if (authorityContextGraphId === null)
|
|
332
|
+
return false;
|
|
333
|
+
const localAgents = [
|
|
334
|
+
this.defaultAgentAddress,
|
|
335
|
+
...this.listLocalAgents().map(({ agentAddress }) => agentAddress),
|
|
336
|
+
];
|
|
337
|
+
// The cached merged projection only screens out the common case cheaply;
|
|
338
|
+
// it also holds replicated ONTOLOGY and AGENTS facts, so the decision is
|
|
339
|
+
// taken from the graph's own `_meta` alone.
|
|
340
|
+
try {
|
|
341
|
+
if (!isLocalPrivateMember(await this.getCgMeta(authorityContextGraphId), localAgents)) {
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
if (!isLocalPrivateMember(await this.getOwnCgMetaFacts(authorityContextGraphId), localAgents)) {
|
|
345
|
+
return false;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
catch {
|
|
349
|
+
return false;
|
|
350
|
+
}
|
|
351
|
+
// RFC-64 authority can change while the metadata is read: decide on the
|
|
352
|
+
// authority as it stands now, not as it stood before the reads.
|
|
353
|
+
return this.rfc64PrivateRootLegacyLaneAuthorityIdV1(contextGraphId) === authorityContextGraphId;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* The RFC-64 half of {@link rfc64PrivateRootSwmOnLegacyLaneV1}: the graph's
|
|
357
|
+
* authority id when RFC-64 cannot deliver its private root SWM on this node,
|
|
358
|
+
* otherwise `null`. Synchronous, so the caller can repeat it after an await.
|
|
359
|
+
*/
|
|
360
|
+
rfc64PrivateRootLegacyLaneAuthorityIdV1(contextGraphId) {
|
|
361
|
+
if (this.rfc64LegacySwmGossipAllowedForContextGraph(contextGraphId))
|
|
362
|
+
return null;
|
|
363
|
+
const authorityContextGraphId = this.rfc64AuthorityContextGraphIdV1(contextGraphId);
|
|
364
|
+
// A wire id with no cleartext binding names no graph this node holds.
|
|
365
|
+
if (/^0x[0-9a-fA-F]{64}$/.test(authorityContextGraphId))
|
|
366
|
+
return null;
|
|
367
|
+
if (this.config.rfc64CatalogExecutionPlan.selectedAuthority[authorityContextGraphId] !== undefined
|
|
368
|
+
|| this.hasRfc64AcceptedCompatibilityAuthorityV1(authorityContextGraphId)
|
|
369
|
+
|| (this.config.rfc64CatalogBootstrap?.acceptedPolicies ?? []).some(({ policyEnvelope }) => policyEnvelope.payload.contextGraphId === authorityContextGraphId))
|
|
370
|
+
return null;
|
|
371
|
+
// RFC-64's selected-private lane carries private root SWM only on a node
|
|
372
|
+
// configured with private access-policy authority. Elsewhere it delivers
|
|
373
|
+
// nothing, whether or not the graph's RFC-64 authority is active.
|
|
374
|
+
const transport = projectRfc64CatalogTransportStateV1(this.resolveRfc64CatalogReceiverAuthorityV1(authorityContextGraphId));
|
|
375
|
+
if (transport === 'legacy')
|
|
376
|
+
return null;
|
|
377
|
+
if (transport === 'catalog-active'
|
|
378
|
+
&& this.config.rfc64CatalogAccessPolicyAuthority !== undefined)
|
|
379
|
+
return null;
|
|
380
|
+
return authorityContextGraphId;
|
|
253
381
|
}
|
|
254
382
|
async reconcileSharedMemoryGossipSubscription(contextGraphId) {
|
|
383
|
+
const session = this.gossipSession;
|
|
384
|
+
const live = session.live();
|
|
385
|
+
if (live === null)
|
|
386
|
+
return;
|
|
255
387
|
// Retired name-hash id: skip. It shares the wire topic and host-mode key
|
|
256
388
|
// with the cleartext row, and a topic-wide unsubscribe here would drop
|
|
257
389
|
// that row's handler (see supersedingContextGraphIdFor).
|
|
@@ -260,9 +392,9 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
260
392
|
this.log.debug(createOperationContext('system'), `SWM gossip reconcile for "${contextGraphId}" skipped: superseded by cleartext adoption of "${supersedingId}"`);
|
|
261
393
|
return;
|
|
262
394
|
}
|
|
263
|
-
// Reconcile is the membership boundary
|
|
264
|
-
//
|
|
265
|
-
this.contextGraphMetaProjection.
|
|
395
|
+
// Reconcile is the membership boundary: decide on a rebuilt policy view.
|
|
396
|
+
// It writes no authority fact, so the authority revisions stay as they are.
|
|
397
|
+
this.contextGraphMetaProjection.requireFreshRead(contextGraphId);
|
|
266
398
|
// OT-RFC-38 / LU-6 Phase B — subscribe on the wire-form (hash) topic.
|
|
267
399
|
// Members compute the hash from their local cleartext id via
|
|
268
400
|
// {@link gossipWireIdFor}; cores hosting CGs they never joined
|
|
@@ -271,7 +403,7 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
271
403
|
// identity for them.
|
|
272
404
|
const wireCgId = this.gossipWireIdFor(contextGraphId);
|
|
273
405
|
const swmTopic = contextGraphWorkspaceTopic(wireCgId);
|
|
274
|
-
const isRegistered =
|
|
406
|
+
const isRegistered = session.sharedMemoryGossipRegistered.has(contextGraphId);
|
|
275
407
|
const ctx = createOperationContext('system');
|
|
276
408
|
if (!this.rfc64LegacySwmMemberTransportAllowedForContextGraph(contextGraphId)) {
|
|
277
409
|
// This is the member-mode transport boundary. An unsubscribed selected
|
|
@@ -281,12 +413,12 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
281
413
|
// GossipSubManager.unsubscribe() is topic-wide, so clear both member
|
|
282
414
|
// and host bookkeeping before returning. A future live subscription
|
|
283
415
|
// may explicitly restore the scope-filtered member handler.
|
|
284
|
-
|
|
285
|
-
|
|
416
|
+
live.manager.unsubscribe(swmTopic);
|
|
417
|
+
session.sharedMemoryGossipRegistered.delete(contextGraphId);
|
|
286
418
|
const hostKey = this.canonicalSwmHostModeKey(contextGraphId);
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
419
|
+
session.swmHostModeSubscribed.delete(hostKey);
|
|
420
|
+
session.swmHostModeCurated.delete(hostKey);
|
|
421
|
+
session.swmHostModeHandlers.delete(hostKey);
|
|
290
422
|
this.enqueueHostModePersistence(contextGraphId, false);
|
|
291
423
|
}
|
|
292
424
|
else {
|
|
@@ -296,7 +428,10 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
296
428
|
}
|
|
297
429
|
return;
|
|
298
430
|
}
|
|
299
|
-
|
|
431
|
+
const canUseSharedMemory = await this.canUseSharedMemoryForContextGraph(contextGraphId);
|
|
432
|
+
if (!session.active || this.gossipSession !== session)
|
|
433
|
+
return;
|
|
434
|
+
if (!canUseSharedMemory) {
|
|
300
435
|
if (isRegistered) {
|
|
301
436
|
// `gossip.unsubscribe()` drops EVERY handler on the topic,
|
|
302
437
|
// not just the member-mode one. If this core was already
|
|
@@ -328,17 +463,17 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
328
463
|
// final on-disk state always matches the final in-memory
|
|
329
464
|
// intent — no possible interleave where the "false" lands
|
|
330
465
|
// after a later "true" and re-subscribes on next boot.
|
|
331
|
-
|
|
332
|
-
|
|
466
|
+
live.manager.unsubscribe(swmTopic);
|
|
467
|
+
session.sharedMemoryGossipRegistered.delete(contextGraphId);
|
|
333
468
|
// Host-mode maps are canonical-keyed (wire-form hash); delete
|
|
334
469
|
// by canonical id so this cleanup hits the entry regardless
|
|
335
470
|
// of which discovery path wired it. Without this, the
|
|
336
471
|
// immediate `reconcileSwmHostModeSubscription()` call below
|
|
337
472
|
// would see a stale entry and early-return.
|
|
338
473
|
const hostKey = this.canonicalSwmHostModeKey(contextGraphId);
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
474
|
+
session.swmHostModeSubscribed.delete(hostKey);
|
|
475
|
+
session.swmHostModeCurated.delete(hostKey);
|
|
476
|
+
session.swmHostModeHandlers.delete(hostKey);
|
|
342
477
|
this.enqueueHostModePersistence(contextGraphId, false);
|
|
343
478
|
this.log.warn(ctx, `SWM gossip unsubscribed for "${contextGraphId}": local node is no longer authorized`);
|
|
344
479
|
}
|
|
@@ -362,9 +497,11 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
362
497
|
// dropping every handler on the topic) so we don't double-
|
|
363
498
|
// process every envelope (apply + opaque append).
|
|
364
499
|
this.unwireSwmHostModeHandler(contextGraphId);
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
500
|
+
session.sharedMemoryGossipRegistered.add(contextGraphId);
|
|
501
|
+
live.manager.subscribe(swmTopic);
|
|
502
|
+
live.manager.onMessage(swmTopic, async (_topic, data, from) => {
|
|
503
|
+
if (!session.active)
|
|
504
|
+
return;
|
|
368
505
|
const wh = this.getOrCreateSharedMemoryHandler();
|
|
369
506
|
const outcome = await wh.handle(data, from);
|
|
370
507
|
// Emit SwmShareAck on gossip-applied shares so the
|
|
@@ -621,20 +758,39 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
621
758
|
sharedMemoryOwnedEntities: this.workspaceOwnedEntities,
|
|
622
759
|
writeLocks: this.writeLocks,
|
|
623
760
|
localAgentAddresses: () => [...this.localAgents.keys()],
|
|
624
|
-
contextGraphMetaOracle: (cgId) =>
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
761
|
+
contextGraphMetaOracle: async (cgId) => {
|
|
762
|
+
// The approved-private proof authorizes this receiver only. Another
|
|
763
|
+
// member can be revoked after the metadata snapshot but before that
|
|
764
|
+
// proof finishes without invalidating the receiver's proof. Retry
|
|
765
|
+
// one changed snapshot so the ordinary revoke race does not drop an
|
|
766
|
+
// otherwise valid envelope, then fail closed under continued churn.
|
|
767
|
+
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
768
|
+
const metadataRevision = this.contextGraphMetaProjection.readAuthorityFactsRevision;
|
|
769
|
+
const meta = await this.getCgMeta(cgId);
|
|
770
|
+
const allowedPeers = await this.resolveApprovedPrivateReplicaSwmAllowedPeersOverride(cgId);
|
|
771
|
+
if (this.contextGraphMetaProjection.readAuthorityFactsRevision
|
|
772
|
+
=== metadataRevision) {
|
|
773
|
+
return allowedPeers === undefined ? meta : { ...meta, allowedPeers };
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
throw new Error(`Context graph "${cgId}" metadata authority kept changing while resolving its SWM gate`);
|
|
777
|
+
},
|
|
778
|
+
// Same predicate the SENDER uses to decide plaintext vs encrypted SWM
|
|
779
|
+
// (`resolveWorkspaceRecipientsGated`), so both sides of the wire stay
|
|
780
|
+
// on one authority. Without it the receiver judged from local
|
|
781
|
+
// allowedAgent/participantAgent triples and permanently dropped the
|
|
782
|
+
// plaintext writes the sender is supposed to send on a public CG —
|
|
783
|
+
// silently breaking member->curator SWM shares on every public/curated
|
|
784
|
+
// context graph, registered or owner-signed unregistered (#2827).
|
|
785
|
+
publicAccessPolicyOracle: (cgId) => withRpcUsageSite(CG_AUTH_RPC_SITES.swmPublicOracle, () => this.isContextGraphSwmPublic(cgId, createOperationContext('share'))),
|
|
633
786
|
// RFC-64 catalog authority already excludes selected CGs from legacy
|
|
634
787
|
// durable catch-up. Apply the same decision to live gossip/substrate
|
|
635
788
|
// delivery so a partial ambient generation cannot race ahead of an
|
|
636
789
|
// authenticated exact catalog head and make cold bootstrap fail closed.
|
|
637
|
-
|
|
790
|
+
// A private graph's root scope keeps the legacy member lane while its
|
|
791
|
+
// RFC-64 authority is not active (#2858).
|
|
792
|
+
legacyApplyAllowedOracle: async (cgId, subGraphName) => (this.rfc64LegacySwmApplyAllowedForScope(cgId, subGraphName)
|
|
793
|
+
|| (subGraphName === null && await this.rfc64PrivateRootSwmOnLegacyLaneV1(cgId))),
|
|
638
794
|
resolveDurableRootAtomicCompanion: (input) => {
|
|
639
795
|
if (this.config.dataDir === undefined)
|
|
640
796
|
return;
|
|
@@ -825,7 +981,7 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
825
981
|
getOrCreateCGMemberEnumerator() {
|
|
826
982
|
if (!this.cgMemberEnumerator) {
|
|
827
983
|
this.cgMemberEnumerator = createCGMemberEnumerator({
|
|
828
|
-
getContextGraphAllowedPeers: (cgId) => this.
|
|
984
|
+
getContextGraphAllowedPeers: (cgId) => this.resolveSwmAllowedPeersForCurrentAuthority(cgId),
|
|
829
985
|
getContextGraphAllowedAgentPeers: (cgId) => this.resolvePrivateSwmAgentPeerRoster(cgId),
|
|
830
986
|
isPrivateContextGraph: (cgId) => this.isPrivateContextGraph(cgId),
|
|
831
987
|
getTopicSubscribers: (topic) => this.gossip.getSubscribers(topic),
|
|
@@ -1312,20 +1468,31 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
1312
1468
|
this.contextGraphMetaProjection.markDirtyFromQuads(quads);
|
|
1313
1469
|
},
|
|
1314
1470
|
workspaceWriteLocks: this.writeLocks,
|
|
1315
|
-
retireConfirmedGraphScopedSwmTwinIfOrphaned:
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1471
|
+
retireConfirmedGraphScopedSwmTwinIfOrphaned: (() => {
|
|
1472
|
+
const retireOrphaned = createRetireConfirmedGraphScopedSwmTwinIfOrphaned({
|
|
1473
|
+
store: this.store,
|
|
1474
|
+
writeLocks: this.writeLocks,
|
|
1475
|
+
retire: async (candidate, ctx) => {
|
|
1476
|
+
await this.publisher.clearPublishedKnowledgeAssetSwm(candidate.contextGraphId, {
|
|
1477
|
+
kind: 'named-lifecycle',
|
|
1478
|
+
identity: {
|
|
1479
|
+
agentAddress: candidate.agentAddress,
|
|
1480
|
+
kaNumber: candidate.kaNumber,
|
|
1481
|
+
},
|
|
1482
|
+
}, candidate.subGraphName, ctx, candidate.ual);
|
|
1483
|
+
},
|
|
1484
|
+
onTornHeadRemoved: (message, ctx) => this.log.warn(ctx, message),
|
|
1485
|
+
});
|
|
1486
|
+
return async (candidate, ctx) => {
|
|
1487
|
+
await retireOrphaned(candidate, ctx);
|
|
1488
|
+
await this.retireLegacySwmAfterVerifiedVmTwin({
|
|
1489
|
+
contextGraphId: candidate.contextGraphId,
|
|
1490
|
+
kaUal: candidate.ual,
|
|
1491
|
+
assertionVersion: candidate.assertionVersion,
|
|
1492
|
+
subGraphName: candidate.subGraphName,
|
|
1493
|
+
});
|
|
1494
|
+
};
|
|
1495
|
+
})(),
|
|
1329
1496
|
reconcileConfirmedGraphScopedSwmTwin: async (evidence, ctx) => {
|
|
1330
1497
|
const retirement = await reconcileFinalizedSwmTwinFromCatalogProjection({
|
|
1331
1498
|
store: this.store,
|
|
@@ -1334,6 +1501,12 @@ export class SwmSubstrateMethods extends DKGAgentBase {
|
|
|
1334
1501
|
retire: (candidate) => this.retireFinalizedSwmTwinCandidate(candidate, ctx),
|
|
1335
1502
|
});
|
|
1336
1503
|
if (retirement === 'retired') {
|
|
1504
|
+
await this.retireLegacySwmAfterVerifiedVmTwin({
|
|
1505
|
+
contextGraphId: evidence.contextGraphId,
|
|
1506
|
+
kaUal: evidence.kaUal,
|
|
1507
|
+
assertionVersion: evidence.assertionVersion,
|
|
1508
|
+
subGraphName: evidence.subGraphName,
|
|
1509
|
+
});
|
|
1337
1510
|
this.invalidateListContextGraphsCache();
|
|
1338
1511
|
this.log.info(ctx, `Retired byte-identical SWM twin after finalized VM reconciliation for ${evidence.kaUal}`);
|
|
1339
1512
|
}
|