@cello-protocol/daemon 0.0.227 → 0.0.229
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/agent-admin-handlers.d.ts +56 -0
- package/dist/agent-admin-handlers.d.ts.map +1 -0
- package/dist/agent-admin-handlers.js +73 -0
- package/dist/agent-admin-handlers.js.map +1 -0
- package/dist/agent-handlers.d.ts +72 -0
- package/dist/agent-handlers.d.ts.map +1 -0
- package/dist/agent-handlers.js +604 -0
- package/dist/agent-handlers.js.map +1 -0
- package/dist/agent-id-migration.d.ts +70 -0
- package/dist/agent-id-migration.d.ts.map +1 -0
- package/dist/agent-id-migration.js +468 -0
- package/dist/agent-id-migration.js.map +1 -0
- package/dist/agent-loader.d.ts +37 -0
- package/dist/agent-loader.d.ts.map +1 -0
- package/dist/agent-loader.js +37 -0
- package/dist/agent-loader.js.map +1 -0
- package/dist/agent-selection-root.d.ts +29 -0
- package/dist/agent-selection-root.d.ts.map +1 -0
- package/dist/agent-selection-root.js +126 -0
- package/dist/agent-selection-root.js.map +1 -0
- package/dist/agent-selection.d.ts +73 -0
- package/dist/agent-selection.d.ts.map +1 -0
- package/dist/agent-selection.js +80 -0
- package/dist/agent-selection.js.map +1 -0
- package/dist/agent-settings-keys.d.ts +52 -0
- package/dist/agent-settings-keys.d.ts.map +1 -0
- package/dist/agent-settings-keys.js +114 -0
- package/dist/agent-settings-keys.js.map +1 -0
- package/dist/agent-state.d.ts +67 -0
- package/dist/agent-state.d.ts.map +1 -0
- package/dist/agent-state.js +66 -0
- package/dist/agent-state.js.map +1 -0
- package/dist/assignment-verify.d.ts +90 -0
- package/dist/assignment-verify.d.ts.map +1 -0
- package/dist/assignment-verify.js +301 -0
- package/dist/assignment-verify.js.map +1 -0
- package/dist/attendance-wiring.d.ts +23 -0
- package/dist/attendance-wiring.d.ts.map +1 -0
- package/dist/attendance-wiring.js +248 -0
- package/dist/attendance-wiring.js.map +1 -0
- package/dist/attestation-body.d.ts +47 -0
- package/dist/attestation-body.d.ts.map +1 -0
- package/dist/attestation-body.js +71 -0
- package/dist/attestation-body.js.map +1 -0
- package/dist/authorship-verification.d.ts +91 -0
- package/dist/authorship-verification.d.ts.map +1 -0
- package/dist/authorship-verification.js +532 -0
- package/dist/authorship-verification.js.map +1 -0
- package/dist/away-detection.d.ts +139 -0
- package/dist/away-detection.d.ts.map +1 -0
- package/dist/away-detection.js +186 -0
- package/dist/away-detection.js.map +1 -0
- package/dist/away-inbox-oneshot.d.ts +40 -0
- package/dist/away-inbox-oneshot.d.ts.map +1 -0
- package/dist/away-inbox-oneshot.js +311 -0
- package/dist/away-inbox-oneshot.js.map +1 -0
- package/dist/backup-restore-handlers.d.ts +10 -0
- package/dist/backup-restore-handlers.d.ts.map +1 -0
- package/dist/backup-restore-handlers.js +82 -0
- package/dist/backup-restore-handlers.js.map +1 -0
- package/dist/backup-restore.d.ts +102 -0
- package/dist/backup-restore.d.ts.map +1 -0
- package/dist/backup-restore.js +341 -0
- package/dist/backup-restore.js.map +1 -0
- package/dist/bin/cello-daemon.d.ts +13 -0
- package/dist/bin/cello-daemon.d.ts.map +1 -0
- package/dist/bin/cello-daemon.js.map +1 -0
- package/dist/boot-agents.d.ts +64 -0
- package/dist/boot-agents.d.ts.map +1 -0
- package/dist/boot-agents.js +241 -0
- package/dist/boot-agents.js.map +1 -0
- package/dist/boot-connection-state.d.ts +38 -0
- package/dist/boot-connection-state.d.ts.map +1 -0
- package/dist/boot-connection-state.js +95 -0
- package/dist/boot-connection-state.js.map +1 -0
- package/dist/boot-core.d.ts +36 -0
- package/dist/boot-core.d.ts.map +1 -0
- package/dist/boot-core.js +293 -0
- package/dist/boot-core.js.map +1 -0
- package/dist/boot-parked-content.d.ts +34 -0
- package/dist/boot-parked-content.d.ts.map +1 -0
- package/dist/boot-parked-content.js +528 -0
- package/dist/boot-parked-content.js.map +1 -0
- package/dist/boot-sweeps.d.ts +22 -0
- package/dist/boot-sweeps.d.ts.map +1 -0
- package/dist/boot-sweeps.js +51 -0
- package/dist/boot-sweeps.js.map +1 -0
- package/dist/bundled-consortium-manifest.d.ts +47 -0
- package/dist/bundled-consortium-manifest.d.ts.map +1 -0
- package/dist/bundled-consortium-manifest.js +116 -0
- package/dist/bundled-consortium-manifest.js.map +1 -0
- package/dist/cbor-blob-migration.d.ts +8 -0
- package/dist/cbor-blob-migration.d.ts.map +1 -0
- package/dist/cbor-blob-migration.js +116 -0
- package/dist/cbor-blob-migration.js.map +1 -0
- package/dist/challenge-verifier.d.ts +12 -0
- package/dist/challenge-verifier.d.ts.map +1 -0
- package/dist/challenge-verifier.js +11 -0
- package/dist/challenge-verifier.js.map +1 -0
- package/dist/channel-log-store.d.ts +80 -0
- package/dist/channel-log-store.d.ts.map +1 -0
- package/dist/channel-log-store.js +290 -0
- package/dist/channel-log-store.js.map +1 -0
- package/dist/close-commitment.d.ts +67 -0
- package/dist/close-commitment.d.ts.map +1 -0
- package/dist/close-commitment.js +78 -0
- package/dist/close-commitment.js.map +1 -0
- package/dist/close-session-handler.d.ts +94 -0
- package/dist/close-session-handler.d.ts.map +1 -0
- package/dist/close-session-handler.js +1418 -0
- package/dist/close-session-handler.js.map +1 -0
- package/dist/co-attendance.d.ts +29 -0
- package/dist/co-attendance.d.ts.map +1 -0
- package/dist/co-attendance.js +32 -0
- package/dist/co-attendance.js.map +1 -0
- package/dist/column-birth.d.ts +40 -0
- package/dist/column-birth.d.ts.map +1 -0
- package/dist/column-birth.js +61 -0
- package/dist/column-birth.js.map +1 -0
- package/dist/connect-or-start.d.ts +25 -0
- package/dist/connect-or-start.d.ts.map +1 -0
- package/dist/connect-or-start.js +175 -0
- package/dist/connect-or-start.js.map +1 -0
- package/dist/connection-agents.d.ts +16 -0
- package/dist/connection-agents.d.ts.map +1 -0
- package/dist/connection-agents.js +68 -0
- package/dist/connection-agents.js.map +1 -0
- package/dist/consent-migration.d.ts +49 -0
- package/dist/consent-migration.d.ts.map +1 -0
- package/dist/consent-migration.js +128 -0
- package/dist/consent-migration.js.map +1 -0
- package/dist/consortium-bootstrap.d.ts +138 -0
- package/dist/consortium-bootstrap.d.ts.map +1 -0
- package/dist/consortium-bootstrap.js +339 -0
- package/dist/consortium-bootstrap.js.map +1 -0
- package/dist/consortium-fingerprint.d.ts +115 -0
- package/dist/consortium-fingerprint.d.ts.map +1 -0
- package/dist/consortium-fingerprint.js +175 -0
- package/dist/consortium-fingerprint.js.map +1 -0
- package/dist/contact-handlers.d.ts +59 -0
- package/dist/contact-handlers.d.ts.map +1 -0
- package/dist/contact-handlers.js +343 -0
- package/dist/contact-handlers.js.map +1 -0
- package/dist/contact-pubkey-case.d.ts +65 -0
- package/dist/contact-pubkey-case.d.ts.map +1 -0
- package/dist/contact-pubkey-case.js +136 -0
- package/dist/contact-pubkey-case.js.map +1 -0
- package/dist/contacts-tier-migration.d.ts +90 -0
- package/dist/contacts-tier-migration.d.ts.map +1 -0
- package/dist/contacts-tier-migration.js +150 -0
- package/dist/contacts-tier-migration.js.map +1 -0
- package/dist/content-encryption-status.d.ts +111 -0
- package/dist/content-encryption-status.d.ts.map +1 -0
- package/dist/content-encryption-status.js +158 -0
- package/dist/content-encryption-status.js.map +1 -0
- package/dist/content-park-client.d.ts +90 -0
- package/dist/content-park-client.d.ts.map +1 -0
- package/dist/content-park-client.js +362 -0
- package/dist/content-park-client.js.map +1 -0
- package/dist/content-park.d.ts +52 -0
- package/dist/content-park.d.ts.map +1 -0
- package/dist/content-park.js +1309 -0
- package/dist/content-park.js.map +1 -0
- package/dist/cross-node-negotiation.d.ts +44 -0
- package/dist/cross-node-negotiation.d.ts.map +1 -0
- package/dist/cross-node-negotiation.js +34 -0
- package/dist/cross-node-negotiation.js.map +1 -0
- package/dist/daemon-handle.d.ts +57 -0
- package/dist/daemon-handle.d.ts.map +1 -0
- package/dist/daemon-handle.js +2 -0
- package/dist/daemon-handle.js.map +1 -0
- package/dist/daemon-status-report.d.ts +50 -0
- package/dist/daemon-status-report.d.ts.map +1 -0
- package/dist/daemon-status-report.js +81 -0
- package/dist/daemon-status-report.js.map +1 -0
- package/dist/daemon.d.ts +45 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +1177 -0
- package/dist/daemon.js.map +1 -0
- package/dist/db-identity-store.d.ts +159 -0
- package/dist/db-identity-store.d.ts.map +1 -0
- package/dist/db-identity-store.js +502 -0
- package/dist/db-identity-store.js.map +1 -0
- package/dist/delivery-open-registry.d.ts +92 -0
- package/dist/delivery-open-registry.d.ts.map +1 -0
- package/dist/delivery-open-registry.js +121 -0
- package/dist/delivery-open-registry.js.map +1 -0
- package/dist/delivery-session-suspects.d.ts +56 -0
- package/dist/delivery-session-suspects.d.ts.map +1 -0
- package/dist/delivery-session-suspects.js +94 -0
- package/dist/delivery-session-suspects.js.map +1 -0
- package/dist/directory-auth-posture.d.ts +87 -0
- package/dist/directory-auth-posture.d.ts.map +1 -0
- package/dist/directory-auth-posture.js +134 -0
- package/dist/directory-auth-posture.js.map +1 -0
- package/dist/directory-bootstrap.d.ts +310 -0
- package/dist/directory-bootstrap.d.ts.map +1 -0
- package/dist/directory-bootstrap.js +557 -0
- package/dist/directory-bootstrap.js.map +1 -0
- package/dist/directory-connect.d.ts +27 -0
- package/dist/directory-connect.d.ts.map +1 -0
- package/dist/directory-connect.js +106 -0
- package/dist/directory-connect.js.map +1 -0
- package/dist/disconnect-cleanup.d.ts +51 -0
- package/dist/disconnect-cleanup.d.ts.map +1 -0
- package/dist/disconnect-cleanup.js +72 -0
- package/dist/disconnect-cleanup.js.map +1 -0
- package/dist/document-amendment-store.d.ts +120 -0
- package/dist/document-amendment-store.d.ts.map +1 -0
- package/dist/document-amendment-store.js +266 -0
- package/dist/document-amendment-store.js.map +1 -0
- package/dist/document-delivery-transport.d.ts +168 -0
- package/dist/document-delivery-transport.d.ts.map +1 -0
- package/dist/document-delivery-transport.js +206 -0
- package/dist/document-delivery-transport.js.map +1 -0
- package/dist/document-engine.d.ts +134 -0
- package/dist/document-engine.d.ts.map +1 -0
- package/dist/document-engine.js +282 -0
- package/dist/document-engine.js.map +1 -0
- package/dist/document-flag.d.ts +58 -0
- package/dist/document-flag.d.ts.map +1 -0
- package/dist/document-flag.js +70 -0
- package/dist/document-flag.js.map +1 -0
- package/dist/document-frame-router.d.ts +245 -0
- package/dist/document-frame-router.d.ts.map +1 -0
- package/dist/document-frame-router.js +397 -0
- package/dist/document-frame-router.js.map +1 -0
- package/dist/document-gate-wiring.d.ts +61 -0
- package/dist/document-gate-wiring.d.ts.map +1 -0
- package/dist/document-gate-wiring.js +125 -0
- package/dist/document-gate-wiring.js.map +1 -0
- package/dist/document-gate.d.ts +149 -0
- package/dist/document-gate.d.ts.map +1 -0
- package/dist/document-gate.js +509 -0
- package/dist/document-gate.js.map +1 -0
- package/dist/document-handlers.d.ts +47 -0
- package/dist/document-handlers.d.ts.map +1 -0
- package/dist/document-handlers.js +2203 -0
- package/dist/document-handlers.js.map +1 -0
- package/dist/document-handshake.d.ts +176 -0
- package/dist/document-handshake.d.ts.map +1 -0
- package/dist/document-handshake.js +452 -0
- package/dist/document-handshake.js.map +1 -0
- package/dist/document-inbound.d.ts +162 -0
- package/dist/document-inbound.d.ts.map +1 -0
- package/dist/document-inbound.js +530 -0
- package/dist/document-inbound.js.map +1 -0
- package/dist/document-json.d.ts +120 -0
- package/dist/document-json.d.ts.map +1 -0
- package/dist/document-json.js +191 -0
- package/dist/document-json.js.map +1 -0
- package/dist/document-layer.d.ts +215 -0
- package/dist/document-layer.d.ts.map +1 -0
- package/dist/document-layer.js +1025 -0
- package/dist/document-layer.js.map +1 -0
- package/dist/document-lifecycle.d.ts +52 -0
- package/dist/document-lifecycle.d.ts.map +1 -0
- package/dist/document-lifecycle.js +134 -0
- package/dist/document-lifecycle.js.map +1 -0
- package/dist/document-live-docs.d.ts +58 -0
- package/dist/document-live-docs.d.ts.map +1 -0
- package/dist/document-live-docs.js +126 -0
- package/dist/document-live-docs.js.map +1 -0
- package/dist/document-notify.d.ts +228 -0
- package/dist/document-notify.d.ts.map +1 -0
- package/dist/document-notify.js +580 -0
- package/dist/document-notify.js.map +1 -0
- package/dist/document-profile.d.ts +61 -0
- package/dist/document-profile.d.ts.map +1 -0
- package/dist/document-profile.js +112 -0
- package/dist/document-profile.js.map +1 -0
- package/dist/document-publish.d.ts +87 -0
- package/dist/document-publish.d.ts.map +1 -0
- package/dist/document-publish.js +173 -0
- package/dist/document-publish.js.map +1 -0
- package/dist/document-reachability.d.ts +42 -0
- package/dist/document-reachability.d.ts.map +1 -0
- package/dist/document-reachability.js +80 -0
- package/dist/document-reachability.js.map +1 -0
- package/dist/document-reconcile-engine.d.ts +66 -0
- package/dist/document-reconcile-engine.d.ts.map +1 -0
- package/dist/document-reconcile-engine.js +225 -0
- package/dist/document-reconcile-engine.js.map +1 -0
- package/dist/document-reconcile-scheduler.d.ts +163 -0
- package/dist/document-reconcile-scheduler.d.ts.map +1 -0
- package/dist/document-reconcile-scheduler.js +303 -0
- package/dist/document-reconcile-scheduler.js.map +1 -0
- package/dist/document-rejection.d.ts +251 -0
- package/dist/document-rejection.d.ts.map +1 -0
- package/dist/document-rejection.js +435 -0
- package/dist/document-rejection.js.map +1 -0
- package/dist/document-screen.d.ts +114 -0
- package/dist/document-screen.d.ts.map +1 -0
- package/dist/document-screen.js +223 -0
- package/dist/document-screen.js.map +1 -0
- package/dist/document-store.d.ts +372 -0
- package/dist/document-store.d.ts.map +1 -0
- package/dist/document-store.js +931 -0
- package/dist/document-store.js.map +1 -0
- package/dist/document-surface.d.ts +32 -0
- package/dist/document-surface.d.ts.map +1 -0
- package/dist/document-surface.js +151 -0
- package/dist/document-surface.js.map +1 -0
- package/dist/document-types.d.ts +94 -0
- package/dist/document-types.d.ts.map +1 -0
- package/dist/document-types.js +90 -0
- package/dist/document-types.js.map +1 -0
- package/dist/document-watch.d.ts +69 -0
- package/dist/document-watch.d.ts.map +1 -0
- package/dist/document-watch.js +108 -0
- package/dist/document-watch.js.map +1 -0
- package/dist/document-wiring.d.ts +53 -0
- package/dist/document-wiring.d.ts.map +1 -0
- package/dist/document-wiring.js +323 -0
- package/dist/document-wiring.js.map +1 -0
- package/dist/document-write-guard.d.ts +66 -0
- package/dist/document-write-guard.d.ts.map +1 -0
- package/dist/document-write-guard.js +98 -0
- package/dist/document-write-guard.js.map +1 -0
- package/dist/document-write-path.d.ts +94 -0
- package/dist/document-write-path.d.ts.map +1 -0
- package/dist/document-write-path.js +530 -0
- package/dist/document-write-path.js.map +1 -0
- package/dist/error-message.d.ts +7 -0
- package/dist/error-message.d.ts.map +1 -0
- package/dist/error-message.js +19 -0
- package/dist/error-message.js.map +1 -0
- package/dist/file-manifest-provider.d.ts +37 -0
- package/dist/file-manifest-provider.d.ts.map +1 -0
- package/dist/file-manifest-provider.js +105 -0
- package/dist/file-manifest-provider.js.map +1 -0
- package/dist/frame-values.d.ts +3 -0
- package/dist/frame-values.d.ts.map +1 -0
- package/dist/frame-values.js +84 -0
- package/dist/frame-values.js.map +1 -0
- package/dist/frontier-mismatch.d.ts +73 -0
- package/dist/frontier-mismatch.d.ts.map +1 -0
- package/dist/frontier-mismatch.js +89 -0
- package/dist/frontier-mismatch.js.map +1 -0
- package/dist/gateway-config-handlers.d.ts +26 -0
- package/dist/gateway-config-handlers.d.ts.map +1 -0
- package/dist/gateway-config-handlers.js +454 -0
- package/dist/gateway-config-handlers.js.map +1 -0
- package/dist/held-content.d.ts +145 -0
- package/dist/held-content.d.ts.map +1 -0
- package/dist/held-content.js +389 -0
- package/dist/held-content.js.map +1 -0
- package/dist/http-manifest-poll.d.ts +67 -0
- package/dist/http-manifest-poll.d.ts.map +1 -0
- package/dist/http-manifest-poll.js +150 -0
- package/dist/http-manifest-poll.js.map +1 -0
- package/dist/identity-migration.d.ts +40 -0
- package/dist/identity-migration.d.ts.map +1 -0
- package/dist/identity-migration.js +461 -0
- package/dist/identity-migration.js.map +1 -0
- package/dist/inbound-refusals.d.ts +283 -0
- package/dist/inbound-refusals.d.ts.map +1 -0
- package/dist/inbound-refusals.js +919 -0
- package/dist/inbound-refusals.js.map +1 -0
- package/dist/inbound-seal-request.d.ts +32 -0
- package/dist/inbound-seal-request.d.ts.map +1 -0
- package/dist/inbound-seal-request.js +228 -0
- package/dist/inbound-seal-request.js.map +1 -0
- package/dist/inbound-sessions.d.ts +291 -0
- package/dist/inbound-sessions.d.ts.map +1 -0
- package/dist/inbound-sessions.js +1609 -0
- package/dist/inbound-sessions.js.map +1 -0
- package/dist/inclusion-proof-handlers.d.ts +43 -0
- package/dist/inclusion-proof-handlers.d.ts.map +1 -0
- package/dist/inclusion-proof-handlers.js +565 -0
- package/dist/inclusion-proof-handlers.js.map +1 -0
- package/dist/inclusion-proof.d.ts +151 -0
- package/dist/inclusion-proof.d.ts.map +1 -0
- package/dist/inclusion-proof.js +228 -0
- package/dist/inclusion-proof.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/initiate-session-handler.d.ts +55 -0
- package/dist/initiate-session-handler.d.ts.map +1 -0
- package/dist/initiate-session-handler.js +310 -0
- package/dist/initiate-session-handler.js.map +1 -0
- package/dist/ipc-client.d.ts +31 -0
- package/dist/ipc-client.d.ts.map +1 -0
- package/dist/ipc-client.js +113 -0
- package/dist/ipc-client.js.map +1 -0
- package/dist/ipc-server.d.ts +63 -0
- package/dist/ipc-server.d.ts.map +1 -0
- package/dist/ipc-server.js +429 -0
- package/dist/ipc-server.js.map +1 -0
- package/dist/ipc-surface.d.ts +44 -0
- package/dist/ipc-surface.d.ts.map +1 -0
- package/dist/ipc-surface.js +107 -0
- package/dist/ipc-surface.js.map +1 -0
- package/dist/line-lcs.d.ts +51 -0
- package/dist/line-lcs.d.ts.map +1 -0
- package/dist/line-lcs.js +71 -0
- package/dist/line-lcs.js.map +1 -0
- package/dist/lock-file.d.ts +39 -0
- package/dist/lock-file.d.ts.map +1 -0
- package/dist/lock-file.js +120 -0
- package/dist/lock-file.js.map +1 -0
- package/dist/log-collapse.d.ts +66 -0
- package/dist/log-collapse.d.ts.map +1 -0
- package/dist/log-collapse.js +244 -0
- package/dist/log-collapse.js.map +1 -0
- package/dist/log-rotate.d.ts +67 -0
- package/dist/log-rotate.d.ts.map +1 -0
- package/dist/log-rotate.js +134 -0
- package/dist/log-rotate.js.map +1 -0
- package/dist/manifest-deps.d.ts +25 -0
- package/dist/manifest-deps.d.ts.map +1 -0
- package/dist/manifest-deps.js +151 -0
- package/dist/manifest-deps.js.map +1 -0
- package/dist/manifest-poll-scheduler.d.ts +31 -0
- package/dist/manifest-poll-scheduler.d.ts.map +1 -0
- package/dist/manifest-poll-scheduler.js +59 -0
- package/dist/manifest-poll-scheduler.js.map +1 -0
- package/dist/manifest-validity.d.ts +153 -0
- package/dist/manifest-validity.d.ts.map +1 -0
- package/dist/manifest-validity.js +268 -0
- package/dist/manifest-validity.js.map +1 -0
- package/dist/manifest-version-store-db.d.ts +24 -0
- package/dist/manifest-version-store-db.d.ts.map +1 -0
- package/dist/manifest-version-store-db.js +58 -0
- package/dist/manifest-version-store-db.js.map +1 -0
- package/dist/manifest-version-store.d.ts +16 -0
- package/dist/manifest-version-store.d.ts.map +1 -0
- package/dist/manifest-version-store.js +15 -0
- package/dist/manifest-version-store.js.map +1 -0
- package/dist/network-directory-node.d.ts +136 -0
- package/dist/network-directory-node.d.ts.map +1 -0
- package/dist/network-directory-node.js +810 -0
- package/dist/network-directory-node.js.map +1 -0
- package/dist/nonce-dedup.d.ts +68 -0
- package/dist/nonce-dedup.d.ts.map +1 -0
- package/dist/nonce-dedup.js +205 -0
- package/dist/nonce-dedup.js.map +1 -0
- package/dist/notification-dispatcher.d.ts +92 -0
- package/dist/notification-dispatcher.d.ts.map +1 -0
- package/dist/notification-dispatcher.js +210 -0
- package/dist/notification-dispatcher.js.map +1 -0
- package/dist/notification-handlers.d.ts +53 -0
- package/dist/notification-handlers.d.ts.map +1 -0
- package/dist/notification-handlers.js +461 -0
- package/dist/notification-handlers.js.map +1 -0
- package/dist/onboarding-guidance.d.ts +79 -0
- package/dist/onboarding-guidance.d.ts.map +1 -0
- package/dist/onboarding-guidance.js +95 -0
- package/dist/onboarding-guidance.js.map +1 -0
- package/dist/operator-guidance.d.ts +25 -0
- package/dist/operator-guidance.d.ts.map +1 -0
- package/dist/operator-guidance.js +50 -0
- package/dist/operator-guidance.js.map +1 -0
- package/dist/orphan-triage.d.ts +130 -0
- package/dist/orphan-triage.d.ts.map +1 -0
- package/dist/orphan-triage.js +207 -0
- package/dist/orphan-triage.js.map +1 -0
- package/dist/outbound-sessions.d.ts +126 -0
- package/dist/outbound-sessions.d.ts.map +1 -0
- package/dist/outbound-sessions.js +1052 -0
- package/dist/outbound-sessions.js.map +1 -0
- package/dist/park-envelope.d.ts +329 -0
- package/dist/park-envelope.d.ts.map +1 -0
- package/dist/park-envelope.js +509 -0
- package/dist/park-envelope.js.map +1 -0
- package/dist/park-recovery.d.ts +273 -0
- package/dist/park-recovery.d.ts.map +1 -0
- package/dist/park-recovery.js +717 -0
- package/dist/park-recovery.js.map +1 -0
- package/dist/park-refusals.d.ts +147 -0
- package/dist/park-refusals.d.ts.map +1 -0
- package/dist/park-refusals.js +331 -0
- package/dist/park-refusals.js.map +1 -0
- package/dist/quarantine-framing.d.ts +92 -0
- package/dist/quarantine-framing.d.ts.map +1 -0
- package/dist/quarantine-framing.js +111 -0
- package/dist/quarantine-framing.js.map +1 -0
- package/dist/reconnect-drain.d.ts +22 -0
- package/dist/reconnect-drain.d.ts.map +1 -0
- package/dist/reconnect-drain.js +65 -0
- package/dist/reconnect-drain.js.map +1 -0
- package/dist/recovered-position.d.ts +14 -0
- package/dist/recovered-position.d.ts.map +1 -0
- package/dist/recovered-position.js +59 -0
- package/dist/recovered-position.js.map +1 -0
- package/dist/refusal-notices.d.ts +196 -0
- package/dist/refusal-notices.d.ts.map +1 -0
- package/dist/refusal-notices.js +516 -0
- package/dist/refusal-notices.js.map +1 -0
- package/dist/refusal-reasons.d.ts +245 -0
- package/dist/refusal-reasons.d.ts.map +1 -0
- package/dist/refusal-reasons.js +363 -0
- package/dist/refusal-reasons.js.map +1 -0
- package/dist/register-handler.d.ts +36 -0
- package/dist/register-handler.d.ts.map +1 -0
- package/dist/register-handler.js +285 -0
- package/dist/register-handler.js.map +1 -0
- package/dist/registration-context.d.ts +72 -0
- package/dist/registration-context.d.ts.map +1 -0
- package/dist/registration-context.js +126 -0
- package/dist/registration-context.js.map +1 -0
- package/dist/registration-manager.d.ts +94 -0
- package/dist/registration-manager.d.ts.map +1 -0
- package/dist/registration-manager.js +585 -0
- package/dist/registration-manager.js.map +1 -0
- package/dist/registration-persistence.d.ts +183 -0
- package/dist/registration-persistence.d.ts.map +1 -0
- package/dist/registration-persistence.js +263 -0
- package/dist/registration-persistence.js.map +1 -0
- package/dist/registry-poll.d.ts +52 -0
- package/dist/registry-poll.d.ts.map +1 -0
- package/dist/registry-poll.js +140 -0
- package/dist/registry-poll.js.map +1 -0
- package/dist/registry-version-store-db.d.ts +22 -0
- package/dist/registry-version-store-db.d.ts.map +1 -0
- package/dist/registry-version-store-db.js +50 -0
- package/dist/registry-version-store-db.js.map +1 -0
- package/dist/relay-endpoints.d.ts +18 -0
- package/dist/relay-endpoints.d.ts.map +1 -0
- package/dist/relay-endpoints.js +9 -0
- package/dist/relay-endpoints.js.map +1 -0
- package/dist/relay-only.d.ts +140 -0
- package/dist/relay-only.d.ts.map +1 -0
- package/dist/relay-only.js +193 -0
- package/dist/relay-only.js.map +1 -0
- package/dist/relay-receipt-store.d.ts +155 -0
- package/dist/relay-receipt-store.d.ts.map +1 -0
- package/dist/relay-receipt-store.js +284 -0
- package/dist/relay-receipt-store.js.map +1 -0
- package/dist/relay-reconnect.d.ts +32 -0
- package/dist/relay-reconnect.d.ts.map +1 -0
- package/dist/relay-reconnect.js +29 -0
- package/dist/relay-reconnect.js.map +1 -0
- package/dist/reply-lag.d.ts +11 -0
- package/dist/reply-lag.d.ts.map +1 -0
- package/dist/reply-lag.js +46 -0
- package/dist/reply-lag.js.map +1 -0
- package/dist/resolve-named-agent.d.ts +49 -0
- package/dist/resolve-named-agent.d.ts.map +1 -0
- package/dist/resolve-named-agent.js +77 -0
- package/dist/resolve-named-agent.js.map +1 -0
- package/dist/restart-seal-resolver.d.ts +110 -0
- package/dist/restart-seal-resolver.d.ts.map +1 -0
- package/dist/restart-seal-resolver.js +353 -0
- package/dist/restart-seal-resolver.js.map +1 -0
- package/dist/resume-last-seen.d.ts +15 -0
- package/dist/resume-last-seen.d.ts.map +1 -0
- package/dist/resume-last-seen.js +44 -0
- package/dist/resume-last-seen.js.map +1 -0
- package/dist/retry-queue.d.ts +203 -0
- package/dist/retry-queue.d.ts.map +1 -0
- package/dist/retry-queue.js +701 -0
- package/dist/retry-queue.js.map +1 -0
- package/dist/roster-freshness.d.ts +160 -0
- package/dist/roster-freshness.d.ts.map +1 -0
- package/dist/roster-freshness.js +250 -0
- package/dist/roster-freshness.js.map +1 -0
- package/dist/screening-status.d.ts +15 -0
- package/dist/screening-status.d.ts.map +1 -0
- package/dist/screening-status.js +65 -0
- package/dist/screening-status.js.map +1 -0
- package/dist/seal-carried-close.d.ts +37 -0
- package/dist/seal-carried-close.d.ts.map +1 -0
- package/dist/seal-carried-close.js +179 -0
- package/dist/seal-carried-close.js.map +1 -0
- package/dist/seal-certificate-pull.d.ts +79 -0
- package/dist/seal-certificate-pull.d.ts.map +1 -0
- package/dist/seal-certificate-pull.js +186 -0
- package/dist/seal-certificate-pull.js.map +1 -0
- package/dist/seal-certified-root-check.d.ts +37 -0
- package/dist/seal-certified-root-check.d.ts.map +1 -0
- package/dist/seal-certified-root-check.js +127 -0
- package/dist/seal-certified-root-check.js.map +1 -0
- package/dist/seal-coordinator.d.ts +118 -0
- package/dist/seal-coordinator.d.ts.map +1 -0
- package/dist/seal-coordinator.js +927 -0
- package/dist/seal-coordinator.js.map +1 -0
- package/dist/seal-escalation.d.ts +80 -0
- package/dist/seal-escalation.d.ts.map +1 -0
- package/dist/seal-escalation.js +283 -0
- package/dist/seal-escalation.js.map +1 -0
- package/dist/seal-evidence-root-check.d.ts +70 -0
- package/dist/seal-evidence-root-check.d.ts.map +1 -0
- package/dist/seal-evidence-root-check.js +199 -0
- package/dist/seal-evidence-root-check.js.map +1 -0
- package/dist/seal-failure-store.d.ts +139 -0
- package/dist/seal-failure-store.d.ts.map +1 -0
- package/dist/seal-failure-store.js +207 -0
- package/dist/seal-failure-store.js.map +1 -0
- package/dist/seal-flows.d.ts +107 -0
- package/dist/seal-flows.d.ts.map +1 -0
- package/dist/seal-flows.js +638 -0
- package/dist/seal-flows.js.map +1 -0
- package/dist/seal-frontier-verify.d.ts +103 -0
- package/dist/seal-frontier-verify.d.ts.map +1 -0
- package/dist/seal-frontier-verify.js +143 -0
- package/dist/seal-frontier-verify.js.map +1 -0
- package/dist/seal-leaf.d.ts +58 -0
- package/dist/seal-leaf.d.ts.map +1 -0
- package/dist/seal-leaf.js +112 -0
- package/dist/seal-leaf.js.map +1 -0
- package/dist/seal-legibility-tbs.d.ts +25 -0
- package/dist/seal-legibility-tbs.d.ts.map +1 -0
- package/dist/seal-legibility-tbs.js +77 -0
- package/dist/seal-legibility-tbs.js.map +1 -0
- package/dist/seal-local-terminus.d.ts +41 -0
- package/dist/seal-local-terminus.d.ts.map +1 -0
- package/dist/seal-local-terminus.js +170 -0
- package/dist/seal-local-terminus.js.map +1 -0
- package/dist/seal-receipt-upgrade.d.ts +30 -0
- package/dist/seal-receipt-upgrade.d.ts.map +1 -0
- package/dist/seal-receipt-upgrade.js +49 -0
- package/dist/seal-receipt-upgrade.js.map +1 -0
- package/dist/seal-relay-silence.d.ts +51 -0
- package/dist/seal-relay-silence.d.ts.map +1 -0
- package/dist/seal-relay-silence.js +76 -0
- package/dist/seal-relay-silence.js.map +1 -0
- package/dist/seal-settle.d.ts +38 -0
- package/dist/seal-settle.d.ts.map +1 -0
- package/dist/seal-settle.js +33 -0
- package/dist/seal-settle.js.map +1 -0
- package/dist/seal-upgrade.d.ts +107 -0
- package/dist/seal-upgrade.d.ts.map +1 -0
- package/dist/seal-upgrade.js +200 -0
- package/dist/seal-upgrade.js.map +1 -0
- package/dist/sealed-conversation.d.ts +36 -0
- package/dist/sealed-conversation.d.ts.map +1 -0
- package/dist/sealed-conversation.js +171 -0
- package/dist/sealed-conversation.js.map +1 -0
- package/dist/sealed-leaf-set.d.ts +92 -0
- package/dist/sealed-leaf-set.d.ts.map +1 -0
- package/dist/sealed-leaf-set.js +122 -0
- package/dist/sealed-leaf-set.js.map +1 -0
- package/dist/send-claims.d.ts +56 -0
- package/dist/send-claims.d.ts.map +1 -0
- package/dist/send-claims.js +50 -0
- package/dist/send-claims.js.map +1 -0
- package/dist/session-assignment-parser.d.ts +104 -0
- package/dist/session-assignment-parser.d.ts.map +1 -0
- package/dist/session-assignment-parser.js +345 -0
- package/dist/session-assignment-parser.js.map +1 -0
- package/dist/session-category.d.ts +19 -0
- package/dist/session-category.d.ts.map +1 -0
- package/dist/session-category.js +14 -0
- package/dist/session-category.js.map +1 -0
- package/dist/session-ceremony.d.ts +297 -0
- package/dist/session-ceremony.d.ts.map +1 -0
- package/dist/session-ceremony.js +964 -0
- package/dist/session-ceremony.js.map +1 -0
- package/dist/session-closed.d.ts +79 -0
- package/dist/session-closed.d.ts.map +1 -0
- package/dist/session-closed.js +189 -0
- package/dist/session-closed.js.map +1 -0
- package/dist/session-connection-gater.d.ts +148 -0
- package/dist/session-connection-gater.d.ts.map +1 -0
- package/dist/session-connection-gater.js +332 -0
- package/dist/session-connection-gater.js.map +1 -0
- package/dist/session-content-context.d.ts +162 -0
- package/dist/session-content-context.d.ts.map +1 -0
- package/dist/session-content-context.js +2 -0
- package/dist/session-content-context.js.map +1 -0
- package/dist/session-content-handlers.d.ts +82 -0
- package/dist/session-content-handlers.d.ts.map +1 -0
- package/dist/session-content-handlers.js +1382 -0
- package/dist/session-content-handlers.js.map +1 -0
- package/dist/session-content-ingest.d.ts +206 -0
- package/dist/session-content-ingest.d.ts.map +1 -0
- package/dist/session-content-ingest.js +2167 -0
- package/dist/session-content-ingest.js.map +1 -0
- package/dist/session-content-send.d.ts +191 -0
- package/dist/session-content-send.d.ts.map +1 -0
- package/dist/session-content-send.js +1360 -0
- package/dist/session-content-send.js.map +1 -0
- package/dist/session-delivery-acks.d.ts +169 -0
- package/dist/session-delivery-acks.d.ts.map +1 -0
- package/dist/session-delivery-acks.js +569 -0
- package/dist/session-delivery-acks.js.map +1 -0
- package/dist/session-ephemerals.d.ts +279 -0
- package/dist/session-ephemerals.d.ts.map +1 -0
- package/dist/session-ephemerals.js +591 -0
- package/dist/session-ephemerals.js.map +1 -0
- package/dist/session-leaf-records.d.ts +159 -0
- package/dist/session-leaf-records.d.ts.map +1 -0
- package/dist/session-leaf-records.js +408 -0
- package/dist/session-leaf-records.js.map +1 -0
- package/dist/session-lifecycle.d.ts +303 -0
- package/dist/session-lifecycle.d.ts.map +1 -0
- package/dist/session-lifecycle.js +1679 -0
- package/dist/session-lifecycle.js.map +1 -0
- package/dist/session-liveness.d.ts +135 -0
- package/dist/session-liveness.d.ts.map +1 -0
- package/dist/session-liveness.js +347 -0
- package/dist/session-liveness.js.map +1 -0
- package/dist/session-name.d.ts +35 -0
- package/dist/session-name.d.ts.map +1 -0
- package/dist/session-name.js +60 -0
- package/dist/session-name.js.map +1 -0
- package/dist/session-node-factory.d.ts +18 -0
- package/dist/session-node-factory.d.ts.map +1 -0
- package/dist/session-node-factory.js +182 -0
- package/dist/session-node-factory.js.map +1 -0
- package/dist/session-node-manager.d.ts +877 -0
- package/dist/session-node-manager.d.ts.map +1 -0
- package/dist/session-node-manager.js +2998 -0
- package/dist/session-node-manager.js.map +1 -0
- package/dist/session-node-types.d.ts +1057 -0
- package/dist/session-node-types.d.ts.map +1 -0
- package/dist/session-node-types.js +657 -0
- package/dist/session-node-types.js.map +1 -0
- package/dist/session-notify.d.ts +46 -0
- package/dist/session-notify.d.ts.map +1 -0
- package/dist/session-notify.js +116 -0
- package/dist/session-notify.js.map +1 -0
- package/dist/session-own-chain-store.d.ts +65 -0
- package/dist/session-own-chain-store.d.ts.map +1 -0
- package/dist/session-own-chain-store.js +75 -0
- package/dist/session-own-chain-store.js.map +1 -0
- package/dist/session-queries.d.ts +476 -0
- package/dist/session-queries.d.ts.map +1 -0
- package/dist/session-queries.js +1007 -0
- package/dist/session-queries.js.map +1 -0
- package/dist/session-read-handlers.d.ts +87 -0
- package/dist/session-read-handlers.d.ts.map +1 -0
- package/dist/session-read-handlers.js +689 -0
- package/dist/session-read-handlers.js.map +1 -0
- package/dist/session-records.d.ts +341 -0
- package/dist/session-records.d.ts.map +1 -0
- package/dist/session-records.js +858 -0
- package/dist/session-records.js.map +1 -0
- package/dist/session-relay-client.d.ts +659 -0
- package/dist/session-relay-client.d.ts.map +1 -0
- package/dist/session-relay-client.js +2876 -0
- package/dist/session-relay-client.js.map +1 -0
- package/dist/session-relay.d.ts +397 -0
- package/dist/session-relay.d.ts.map +1 -0
- package/dist/session-relay.js +1636 -0
- package/dist/session-relay.js.map +1 -0
- package/dist/session-salt-agreement.d.ts +331 -0
- package/dist/session-salt-agreement.d.ts.map +1 -0
- package/dist/session-salt-agreement.js +472 -0
- package/dist/session-salt-agreement.js.map +1 -0
- package/dist/session-salts.d.ts +432 -0
- package/dist/session-salts.d.ts.map +1 -0
- package/dist/session-salts.js +1540 -0
- package/dist/session-salts.js.map +1 -0
- package/dist/session-schema.d.ts +30 -0
- package/dist/session-schema.d.ts.map +1 -0
- package/dist/session-schema.js +877 -0
- package/dist/session-schema.js.map +1 -0
- package/dist/session-seal-leaf-store.d.ts +70 -0
- package/dist/session-seal-leaf-store.d.ts.map +1 -0
- package/dist/session-seal-leaf-store.js +105 -0
- package/dist/session-seal-leaf-store.js.map +1 -0
- package/dist/session-seal.d.ts +334 -0
- package/dist/session-seal.d.ts.map +1 -0
- package/dist/session-seal.js +1017 -0
- package/dist/session-seal.js.map +1 -0
- package/dist/session-terminal-refusal.d.ts +65 -0
- package/dist/session-terminal-refusal.d.ts.map +1 -0
- package/dist/session-terminal-refusal.js +87 -0
- package/dist/session-terminal-refusal.js.map +1 -0
- package/dist/session-tree.d.ts +110 -0
- package/dist/session-tree.d.ts.map +1 -0
- package/dist/session-tree.js +144 -0
- package/dist/session-tree.js.map +1 -0
- package/dist/session-views.d.ts +47 -0
- package/dist/session-views.d.ts.map +1 -0
- package/dist/session-views.js +278 -0
- package/dist/session-views.js.map +1 -0
- package/dist/signal-handlers.d.ts +63 -0
- package/dist/signal-handlers.d.ts.map +1 -0
- package/dist/signal-handlers.js +980 -0
- package/dist/signal-handlers.js.map +1 -0
- package/dist/signal-requirement-policy.d.ts +51 -0
- package/dist/signal-requirement-policy.d.ts.map +1 -0
- package/dist/signal-requirement-policy.js +89 -0
- package/dist/signal-requirement-policy.js.map +1 -0
- package/dist/signal-revocability.d.ts +49 -0
- package/dist/signal-revocability.d.ts.map +1 -0
- package/dist/signal-revocability.js +93 -0
- package/dist/signal-revocability.js.map +1 -0
- package/dist/signal-submission.d.ts +181 -0
- package/dist/signal-submission.d.ts.map +1 -0
- package/dist/signal-submission.js +368 -0
- package/dist/signal-submission.js.map +1 -0
- package/dist/signaling-connect.d.ts +118 -0
- package/dist/signaling-connect.d.ts.map +1 -0
- package/dist/signaling-connect.js +538 -0
- package/dist/signaling-connect.js.map +1 -0
- package/dist/signaling-wiring.d.ts +105 -0
- package/dist/signaling-wiring.d.ts.map +1 -0
- package/dist/signaling-wiring.js +393 -0
- package/dist/signaling-wiring.js.map +1 -0
- package/dist/singleton-lock.d.ts +85 -0
- package/dist/singleton-lock.d.ts.map +1 -0
- package/dist/singleton-lock.js +219 -0
- package/dist/singleton-lock.js.map +1 -0
- package/dist/sqlcipher-db.d.ts +139 -0
- package/dist/sqlcipher-db.d.ts.map +1 -0
- package/dist/sqlcipher-db.js +357 -0
- package/dist/sqlcipher-db.js.map +1 -0
- package/dist/standing-receivers.d.ts +319 -0
- package/dist/standing-receivers.d.ts.map +1 -0
- package/dist/standing-receivers.js +1295 -0
- package/dist/standing-receivers.js.map +1 -0
- package/dist/start-agent.d.ts +64 -0
- package/dist/start-agent.d.ts.map +1 -0
- package/dist/start-agent.js +136 -0
- package/dist/start-agent.js.map +1 -0
- package/dist/status-handler.d.ts +54 -0
- package/dist/status-handler.d.ts.map +1 -0
- package/dist/status-handler.js +61 -0
- package/dist/status-handler.js.map +1 -0
- package/dist/submission-retry.d.ts +208 -0
- package/dist/submission-retry.d.ts.map +1 -0
- package/dist/submission-retry.js +506 -0
- package/dist/submission-retry.js.map +1 -0
- package/dist/telegram-bot-client.d.ts +34 -0
- package/dist/telegram-bot-client.d.ts.map +1 -0
- package/dist/telegram-bot-client.js +36 -0
- package/dist/telegram-bot-client.js.map +1 -0
- package/dist/telegram-doorbell.d.ts +38 -0
- package/dist/telegram-doorbell.d.ts.map +1 -0
- package/dist/telegram-doorbell.js +140 -0
- package/dist/telegram-doorbell.js.map +1 -0
- package/dist/test-handlers.d.ts +62 -0
- package/dist/test-handlers.d.ts.map +1 -0
- package/dist/test-handlers.js +240 -0
- package/dist/test-handlers.js.map +1 -0
- package/dist/testing.d.ts +10 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +10 -0
- package/dist/testing.js.map +1 -0
- package/dist/transport-composition.d.ts +31 -0
- package/dist/transport-composition.d.ts.map +1 -0
- package/dist/transport-composition.js +55 -0
- package/dist/transport-composition.js.map +1 -0
- package/dist/transport-selector.d.ts +202 -0
- package/dist/transport-selector.d.ts.map +1 -0
- package/dist/transport-selector.js +196 -0
- package/dist/transport-selector.js.map +1 -0
- package/dist/trust-signal-pickup-listener.d.ts +43 -0
- package/dist/trust-signal-pickup-listener.d.ts.map +1 -0
- package/dist/trust-signal-pickup-listener.js +48 -0
- package/dist/trust-signal-pickup-listener.js.map +1 -0
- package/dist/trust-signal-store.d.ts +406 -0
- package/dist/trust-signal-store.d.ts.map +1 -0
- package/dist/trust-signal-store.js +939 -0
- package/dist/trust-signal-store.js.map +1 -0
- package/dist/trust-signal-sweep-tick.d.ts +60 -0
- package/dist/trust-signal-sweep-tick.d.ts.map +1 -0
- package/dist/trust-signal-sweep-tick.js +101 -0
- package/dist/trust-signal-sweep-tick.js.map +1 -0
- package/dist/trust-signal-sweep.d.ts +94 -0
- package/dist/trust-signal-sweep.d.ts.map +1 -0
- package/dist/trust-signal-sweep.js +147 -0
- package/dist/trust-signal-sweep.js.map +1 -0
- package/dist/type-registry.d.ts +42 -0
- package/dist/type-registry.d.ts.map +1 -0
- package/dist/type-registry.js +37 -0
- package/dist/type-registry.js.map +1 -0
- package/dist/types.d.ts +746 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +20 -0
- package/dist/types.js.map +1 -0
- package/dist/unresolved-nodes-report.d.ts +14 -0
- package/dist/unresolved-nodes-report.d.ts.map +1 -0
- package/dist/unresolved-nodes-report.js +96 -0
- package/dist/unresolved-nodes-report.js.map +1 -0
- package/dist/vocabulary.d.ts +150 -0
- package/dist/vocabulary.d.ts.map +1 -0
- package/dist/vocabulary.js +386 -0
- package/dist/vocabulary.js.map +1 -0
- package/dist/who-label.d.ts +28 -0
- package/dist/who-label.d.ts.map +1 -0
- package/dist/who-label.js +31 -0
- package/dist/who-label.js.map +1 -0
- package/dist/who-resolver.d.ts +15 -0
- package/dist/who-resolver.d.ts.map +1 -0
- package/dist/who-resolver.js +47 -0
- package/dist/who-resolver.js.map +1 -0
- package/dist/wire-content-hash.d.ts +93 -0
- package/dist/wire-content-hash.d.ts.map +1 -0
- package/dist/wire-content-hash.js +116 -0
- package/dist/wire-content-hash.js.map +1 -0
- package/dist/withheld-content.d.ts +13 -0
- package/dist/withheld-content.d.ts.map +1 -0
- package/dist/withheld-content.js +46 -0
- package/dist/withheld-content.js.map +1 -0
- package/dist/witness-alerts.d.ts +40 -0
- package/dist/witness-alerts.d.ts.map +1 -0
- package/dist/witness-alerts.js +102 -0
- package/dist/witness-alerts.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SYNC-P3 (R10, R17–R20, R36) — the responder half of the reconcile exchange.
|
|
3
|
+
*
|
|
4
|
+
* Given a peer's position for one document, decide from OUR OWN state alone whether they may be
|
|
5
|
+
* answered at all (the four entitlement classes, R17), and if so compute exactly what they lack:
|
|
6
|
+
* governance entries first, then content envelopes, never anything in their refusal set (R36).
|
|
7
|
+
* The reply carries our own position so the initiator can send step 3 if WE are behind — the
|
|
8
|
+
* exchange is symmetric by construction.
|
|
9
|
+
*
|
|
10
|
+
* Everything here is derived at the moment of the exchange from the entry set and the envelope
|
|
11
|
+
* log. There is no per-peer record consulted and none written (R8/R9): asked twice, we answer
|
|
12
|
+
* twice, identically — idempotence is not bookkeeping, it is the absence of bookkeeping.
|
|
13
|
+
*/
|
|
14
|
+
import { decodeDocumentAmendment, documentAmendmentHash, encodeDocumentUpdateEnvelope, DOCUMENT_UPDATE_ENCODING_V1, } from "@cello-protocol/protocol-types";
|
|
15
|
+
/** Our own position for one document — step 1's payload, and the position half of every reply. */
|
|
16
|
+
export function buildReconcileBlock(reads, documentId) {
|
|
17
|
+
const governance = [...reads.watermarks(documentId)]
|
|
18
|
+
.map(([author, mark]) => ({
|
|
19
|
+
author,
|
|
20
|
+
seq: mark.seq,
|
|
21
|
+
head_hashes: [...mark.headHashes].sort(),
|
|
22
|
+
}))
|
|
23
|
+
.sort((a, b) => (a.author < b.author ? -1 : 1));
|
|
24
|
+
const content = contentPositions(reads.envelopeLog(documentId));
|
|
25
|
+
return {
|
|
26
|
+
document_id: documentId,
|
|
27
|
+
governance,
|
|
28
|
+
content,
|
|
29
|
+
refused: [...reads.refusedHashes(documentId)].sort(),
|
|
30
|
+
entries: [],
|
|
31
|
+
envelopes: [],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function contentPositions(log) {
|
|
35
|
+
const bySender = new Map();
|
|
36
|
+
for (const row of log) {
|
|
37
|
+
const rows = bySender.get(row.senderAgentId);
|
|
38
|
+
if (rows)
|
|
39
|
+
rows.push(row);
|
|
40
|
+
else
|
|
41
|
+
bySender.set(row.senderAgentId, [row]);
|
|
42
|
+
}
|
|
43
|
+
return [...bySender]
|
|
44
|
+
.map(([author, rows]) => ({
|
|
45
|
+
author,
|
|
46
|
+
count: rows.length,
|
|
47
|
+
head_hash: rows[rows.length - 1].envelopeHash,
|
|
48
|
+
}))
|
|
49
|
+
.sort((a, b) => (a.author < b.author ? -1 : 1));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Answer a peer's position for one document. The entitlement ruling comes FIRST and from our
|
|
53
|
+
* own state alone (R18); a refusal rides the BLOCK (never silenced by a batch, review F4), and
|
|
54
|
+
* a refusal-bearing block carries EMPTY positions — a stranger learns nothing about where this
|
|
55
|
+
* holder stands. The removed holder is the one refusal that also DELIVERS: their own removal
|
|
56
|
+
* and its ancestors travel with the terminal ruling (R32), so a holder who was offline at
|
|
57
|
+
* removal time can derive why the document went quiet.
|
|
58
|
+
*/
|
|
59
|
+
export function respondToReconcile(reads, peerAgentId, peerBlock, budget) {
|
|
60
|
+
const documentId = peerBlock.document_id;
|
|
61
|
+
const refusalBlock = (reason, terminal, entries = []) => ({
|
|
62
|
+
block: {
|
|
63
|
+
document_id: documentId,
|
|
64
|
+
governance: [],
|
|
65
|
+
content: [],
|
|
66
|
+
refused: [],
|
|
67
|
+
entries,
|
|
68
|
+
envelopes: [],
|
|
69
|
+
refusal: { reason, terminal },
|
|
70
|
+
},
|
|
71
|
+
peerAhead: false,
|
|
72
|
+
truncated: false,
|
|
73
|
+
});
|
|
74
|
+
const derived = reads.deriveState(documentId);
|
|
75
|
+
if (!derived.ok) {
|
|
76
|
+
return refusalBlock(`document_reconcile_underivable: ${derived.reason}`, false);
|
|
77
|
+
}
|
|
78
|
+
const state = derived.state;
|
|
79
|
+
// R17 — the four classes, from OUR state, never a stored flag.
|
|
80
|
+
const isParticipant = state.participants.has(peerAgentId);
|
|
81
|
+
const isInvited = state.invited.has(peerAgentId);
|
|
82
|
+
if (!isParticipant && !isInvited) {
|
|
83
|
+
if (reads.standingOf(documentId, peerAgentId) === "removed") {
|
|
84
|
+
// R32: the ruling is terminal, but it DELIVERS — the removal entry and its ancestors,
|
|
85
|
+
// so the removed holder can derive their own removal, surface it with its reason, and
|
|
86
|
+
// stop asking. Idempotent like everything here: asking again gets the same closure.
|
|
87
|
+
const closure = reads.removalClosure(documentId, peerAgentId) ?? [];
|
|
88
|
+
return refusalBlock(`document_reconcile_removed: this holder was removed — the removal is forward-only ` +
|
|
89
|
+
`(the copy is theirs); the removal entry and its ancestors are attached so their own ` +
|
|
90
|
+
`derivation can say so, and there is nothing further to reconcile`, true, closure);
|
|
91
|
+
}
|
|
92
|
+
// R18 + R19: refused by name, NON-terminal, and the sentence says why it is not final — a
|
|
93
|
+
// legitimate joiner is exactly this refusal whenever their inviter's admission has not yet
|
|
94
|
+
// reached us, and a terminal answer here would strand them (the failure R19 names).
|
|
95
|
+
return refusalBlock(`document_reconcile_stranger: ${peerAgentId} is not a party to this document AS THIS ` +
|
|
96
|
+
`HOLDER CURRENTLY DERIVES IT — non-terminal: if you were admitted, the admission may ` +
|
|
97
|
+
`not have reached us yet; reconcile again after your inviter's entries spread`, false);
|
|
98
|
+
}
|
|
99
|
+
const peerRefused = new Set(peerBlock.refused);
|
|
100
|
+
const block = buildReconcileBlock(reads, documentId);
|
|
101
|
+
let truncated = false;
|
|
102
|
+
const spend = (wire) => {
|
|
103
|
+
if (!budget)
|
|
104
|
+
return true;
|
|
105
|
+
if (budget.remainingBytes < wire.length) {
|
|
106
|
+
truncated = true;
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
budget.remainingBytes -= wire.length;
|
|
110
|
+
return true;
|
|
111
|
+
};
|
|
112
|
+
// Governance difference — R12 says these apply first, so they are FIRST in the frame.
|
|
113
|
+
const peerGov = new Map(peerBlock.governance.map((g) => [g.author, g]));
|
|
114
|
+
const entries = [];
|
|
115
|
+
for (const mine of block.governance) {
|
|
116
|
+
const theirs = peerGov.get(mine.author);
|
|
117
|
+
// Behind: everything past their contiguous seq. Fork at the SAME seq (heads differ):
|
|
118
|
+
// re-offer from one before the fork point, so both branches reach them and their fold —
|
|
119
|
+
// like ours — rules on the fork (the Entry 48 §3 detection path).
|
|
120
|
+
let fromSeq = null;
|
|
121
|
+
if (!theirs)
|
|
122
|
+
fromSeq = 0;
|
|
123
|
+
else if (theirs.seq < mine.seq)
|
|
124
|
+
fromSeq = theirs.seq;
|
|
125
|
+
else if (theirs.seq === mine.seq &&
|
|
126
|
+
[...theirs.head_hashes].sort().join(",") !== mine.head_hashes.join(",")) {
|
|
127
|
+
fromSeq = Math.max(0, mine.seq - 1);
|
|
128
|
+
}
|
|
129
|
+
if (fromSeq === null)
|
|
130
|
+
continue;
|
|
131
|
+
for (const wire of reads.entriesByAuthorAfter(documentId, mine.author, fromSeq)) {
|
|
132
|
+
const hash = Buffer.from(documentAmendmentHash(decodeDocumentAmendment(wire).body)).toString("hex");
|
|
133
|
+
if (peerRefused.has(hash))
|
|
134
|
+
continue; // R36: nothing refused is ever re-offered
|
|
135
|
+
if (!spend(wire))
|
|
136
|
+
break;
|
|
137
|
+
entries.push(wire);
|
|
138
|
+
}
|
|
139
|
+
if (truncated)
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
// Content difference — the sender-chain suffix past the peer's count, re-encoded losslessly
|
|
143
|
+
// from the log rows (the join-offer snapshot precedent). Refused rows carry no payload and
|
|
144
|
+
// cannot be re-offered; the hole they leave is named by OUR refusal set in the block.
|
|
145
|
+
const peerContent = new Map(peerBlock.content.map((c) => [c.author, c]));
|
|
146
|
+
const log = reads.envelopeLog(documentId);
|
|
147
|
+
const bySender = new Map();
|
|
148
|
+
for (const row of log) {
|
|
149
|
+
const rows = bySender.get(row.senderAgentId);
|
|
150
|
+
if (rows)
|
|
151
|
+
rows.push(row);
|
|
152
|
+
else
|
|
153
|
+
bySender.set(row.senderAgentId, [row]);
|
|
154
|
+
}
|
|
155
|
+
const envelopes = [];
|
|
156
|
+
for (const [author, rows] of [...bySender].sort((a, b) => (a[0] < b[0] ? -1 : 1))) {
|
|
157
|
+
if (truncated)
|
|
158
|
+
break;
|
|
159
|
+
const theirs = peerContent.get(author);
|
|
160
|
+
const from = theirs ? theirs.count : 0;
|
|
161
|
+
for (const row of rows.slice(from)) {
|
|
162
|
+
if (row.kind !== "update" || row.payload === null)
|
|
163
|
+
continue;
|
|
164
|
+
if (peerRefused.has(row.envelopeHash))
|
|
165
|
+
continue;
|
|
166
|
+
const wire = new Uint8Array(encodeDocumentUpdateEnvelope({
|
|
167
|
+
type: "document_update",
|
|
168
|
+
document_id: row.documentId,
|
|
169
|
+
doc_prev_hash: row.docPrevHash,
|
|
170
|
+
sender_agent_id: row.senderAgentId,
|
|
171
|
+
sender_client_id: row.senderClientId ?? 0,
|
|
172
|
+
update_encoding: DOCUMENT_UPDATE_ENCODING_V1,
|
|
173
|
+
state_vector: row.stateVector,
|
|
174
|
+
governance_parents: [...row.governanceParents],
|
|
175
|
+
update: row.payload,
|
|
176
|
+
signature: row.signature,
|
|
177
|
+
}));
|
|
178
|
+
if (!spend(wire))
|
|
179
|
+
break;
|
|
180
|
+
envelopes.push(wire);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Is the PEER ahead of us anywhere? Then the initiator owes step 3.
|
|
184
|
+
const myGov = new Map(block.governance.map((g) => [g.author, g]));
|
|
185
|
+
const myContent = new Map(block.content.map((c) => [c.author, c]));
|
|
186
|
+
const peerAhead = peerBlock.governance.some((g) => {
|
|
187
|
+
const mine = myGov.get(g.author);
|
|
188
|
+
if (!mine)
|
|
189
|
+
return g.seq > 0;
|
|
190
|
+
if (g.seq > mine.seq)
|
|
191
|
+
return true;
|
|
192
|
+
return (g.seq === mine.seq &&
|
|
193
|
+
[...g.head_hashes].sort().join(",") !== mine.head_hashes.join(","));
|
|
194
|
+
}) ||
|
|
195
|
+
peerBlock.content.some((c) => {
|
|
196
|
+
const mine = myContent.get(c.author);
|
|
197
|
+
return mine ? c.count > mine.count : c.count > 0;
|
|
198
|
+
});
|
|
199
|
+
// A peer whose position is EMPTY holds nothing — a joiner (spec §4: "simply very far
|
|
200
|
+
// behind"). Hand them the anchor everything derives from; it is the one record that is not an
|
|
201
|
+
// entry, and the bootstrap on their side is idempotent.
|
|
202
|
+
const peerHoldsNothing = peerBlock.governance.length === 0 && peerBlock.content.length === 0;
|
|
203
|
+
const genesis = peerHoldsNothing ? reads.genesisBytes(documentId) : null;
|
|
204
|
+
// SYNC-R35: our own signed refusal records ride every reply, whole — few by construction
|
|
205
|
+
// (each one is a retry round), deduplicated on the receiving side, and the only way a THIRD
|
|
206
|
+
// holder wedged behind a refused hash ever learns its name and reason (P3 review F5/F8).
|
|
207
|
+
const refusals = [];
|
|
208
|
+
for (const wire of reads.refusalRecords(documentId)) {
|
|
209
|
+
if (!spend(wire))
|
|
210
|
+
break;
|
|
211
|
+
refusals.push(wire);
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
block: {
|
|
215
|
+
...block,
|
|
216
|
+
entries,
|
|
217
|
+
envelopes,
|
|
218
|
+
...(refusals.length > 0 ? { refusals } : {}),
|
|
219
|
+
...(genesis ? { genesis } : {}),
|
|
220
|
+
},
|
|
221
|
+
peerAhead,
|
|
222
|
+
truncated,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=document-reconcile-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-reconcile-engine.js","sourceRoot":"","sources":["../src/document-reconcile-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SYNC-P5 (R39–R43) — WHEN reconciling is attempted. The exchange itself (P3) is stateless and
|
|
3
|
+
* idempotent; this module only decides moments, and every piece of state it holds is VOLATILE
|
|
4
|
+
* scheduling state in the R41 sense: it may delay an exchange, it must never forbid one, gate
|
|
5
|
+
* admissibility, or survive a restart as authority. Losing all of it costs at most one sweep
|
|
6
|
+
* interval of latency.
|
|
7
|
+
*
|
|
8
|
+
* The three triggers (R39):
|
|
9
|
+
* 1. committing an entry / publishing — the layer nudges directly (P4's `nudgeSeats` and the
|
|
10
|
+
* entry fan-out); not this module's job.
|
|
11
|
+
* 2. a party becoming reachable — `onReachable`, wired to session establishment. An explicit
|
|
12
|
+
* reachability signal RESETS backoff: the backoff modeled "they do not answer", and here
|
|
13
|
+
* they demonstrably just did.
|
|
14
|
+
* 3. the periodic sweep — `sweep`, wired to a timer. Bounded per R43: batched per party (R16's
|
|
15
|
+
* cap is the exchange's own), and — DOD-DOC-PUSH-NOT-POLL-1 — it speaks only for a party we
|
|
16
|
+
* HOLD something for. A timer is not a reason to speak.
|
|
17
|
+
*
|
|
18
|
+
* R42: the in-flight mark is TIME-BOUNDED and released LOUDLY on expiry. An unbounded in-flight
|
|
19
|
+
* mark is the stall this milestone already paid for twice.
|
|
20
|
+
*
|
|
21
|
+
* DOD-DOC-PUSH-NOT-POLL-1 (Andre, 2026-08-18) — WHAT THE TIMER MAY NO LONGER DO, and what it cost.
|
|
22
|
+
* The suppressor used to be a BELIEF with an expiry: a party was skipped only while every shared
|
|
23
|
+
* document read in_sync AND had been exchanged within ten minutes. Past the window it asked again
|
|
24
|
+
* whether or not anything had changed. Measured live: three agents, thirty documents, the freshest
|
|
25
|
+
* exchange days old, and one stale timestamp kept a whole party — fourteen documents — sweeping
|
|
26
|
+
* every 120 seconds forever. Each of those frames takes a position in the CONVERSATION's hash
|
|
27
|
+
* chain, so a quiet document spends a real conversation's sequence numbers: 34 positions on one
|
|
28
|
+
* live session, 2 of them actual messages, and the seal refused `session_incomplete`.
|
|
29
|
+
*
|
|
30
|
+
* The rule now: WE SPEAK WHEN WE HOLD SOMETHING THE PARTY HAS NOT CONFIRMED RECEIVING, and an
|
|
31
|
+
* unchanged holding is offered once, not on every tick. Nothing pending, no frame, no position.
|
|
32
|
+
*
|
|
33
|
+
* THE GATE IS ON THE DECISION, NOT ON THE FRAME'S CONTENTS (review F2). Once one document has
|
|
34
|
+
* justified speaking to a party, the frame carries every document shared with them: a block is
|
|
35
|
+
* POSITIONS ONLY, and the responder replies solely for a document where one side is actually
|
|
36
|
+
* ahead — so a quiet document rides along for bytes, never for a frame or a position. Narrowing
|
|
37
|
+
* the list would have dropped the pull for those documents and saved nothing.
|
|
38
|
+
*
|
|
39
|
+
* THE TRADE, STATED RATHER THAN HIDDEN: `pendingFor` can only see what we hold that they lack —
|
|
40
|
+
* never what they hold that we lack — so removing the expiry removes the timer-driven PULL. The
|
|
41
|
+
* pull moves onto the two triggers that are events rather than clocks: their publish nudges us
|
|
42
|
+
* (R39 trigger 1), and a session with them coming up sweeps everything (`onReachable`, which
|
|
43
|
+
* deliberately does NOT inherit the pending gate).
|
|
44
|
+
*
|
|
45
|
+
* THE THIRD TRADE, WHICH IS A REMOVAL CASE (review F4). A removed holder is in neither the
|
|
46
|
+
* participants nor the invited set of the remover's derived state, so the REMOVER never sweeps to
|
|
47
|
+
* them — there is no push and no nudge in that direction. Their primary notice is the parked frame
|
|
48
|
+
* the relay holds; when that is gone, the backstop was their own belief expiring and asking, which
|
|
49
|
+
* earned the terminal `document_reconcile_removed` answer. That backstop now waits for them to
|
|
50
|
+
* hold something pending — their next write, or their next session. This WIDENS a gap the M14B
|
|
51
|
+
* board already names (DOD-SYNC-P6, "R32's terminal-refusal delivery is not exercised by the
|
|
52
|
+
* enforcers"); it does not open a new one, and nothing here forbids the exchange.
|
|
53
|
+
*/
|
|
54
|
+
import type { Logger } from "./types.js";
|
|
55
|
+
/** How long one attempt may hold the in-flight mark before the sweep stops honoring it. */
|
|
56
|
+
export declare const RECONCILE_INFLIGHT_BOUND_MS = 60000;
|
|
57
|
+
/** First back-off step for a party that did not answer; doubles per consecutive failure. */
|
|
58
|
+
export declare const RECONCILE_BACKOFF_BASE_MS = 30000;
|
|
59
|
+
export declare const RECONCILE_BACKOFF_CAP_MS: number;
|
|
60
|
+
/** R16's per-frame batching ceiling, honored by chunking a party's documents. */
|
|
61
|
+
export declare const RECONCILE_BATCH_CAP = 32;
|
|
62
|
+
export interface ReconcileSchedulerDeps {
|
|
63
|
+
now(): number;
|
|
64
|
+
logger: Logger;
|
|
65
|
+
/**
|
|
66
|
+
* Every (party → shared ACTIVE documents) pair one owner's sweep should consider. DERIVED by
|
|
67
|
+
* the caller from the fold — the scheduler never decides who is a party.
|
|
68
|
+
*/
|
|
69
|
+
sweepTargets(ownerAgentId: string): Map<string, string[]>;
|
|
70
|
+
/**
|
|
71
|
+
* DOD-DOC-PUSH-NOT-POLL-1 — WHAT we hold on this document that this party has not confirmed
|
|
72
|
+
* receiving, as a comparable fingerprint; `null` when there is nothing. Derived by the caller
|
|
73
|
+
* from the same comparison that answers "are they behind" on the list surface — two copies of
|
|
74
|
+
* that question is two daemons disagreeing about who needs an exchange.
|
|
75
|
+
*
|
|
76
|
+
* Compared, never interpreted: the scheduler only asks whether it changed since it last spoke.
|
|
77
|
+
*/
|
|
78
|
+
pendingFor(ownerAgentId: string, documentId: string, partyAgentId: string): string | null;
|
|
79
|
+
initiateReconcile(ownerAgentId: string, peerAgentId: string, documentIds: readonly string[]): Promise<{
|
|
80
|
+
ok: true;
|
|
81
|
+
} | {
|
|
82
|
+
ok: false;
|
|
83
|
+
reason?: string;
|
|
84
|
+
}>;
|
|
85
|
+
/**
|
|
86
|
+
* Test-pace override for the failure backoff (the enforcers' lesson: a restarted daemon's
|
|
87
|
+
* first attempts can fail while its own signaling settles, and the production 30s-doubling
|
|
88
|
+
* ladder walks a fast-sweep test out of its window). Omitted = the production constants.
|
|
89
|
+
*/
|
|
90
|
+
backoffBaseMs?: number;
|
|
91
|
+
}
|
|
92
|
+
export interface SweepResult {
|
|
93
|
+
attempted: number;
|
|
94
|
+
/** Held back because this peer FAILED or REFUSED us. Look at the peer. */
|
|
95
|
+
skippedBackoff: number;
|
|
96
|
+
skippedInFlight: number;
|
|
97
|
+
/**
|
|
98
|
+
* Held back because we had nothing NEW to say — we already offered this exact holding. Kept
|
|
99
|
+
* apart from `skippedBackoff` (review F5) because this unit exists to make sweep traffic
|
|
100
|
+
* diagnosable from these very logs, and one counter for two causes sends the reader to the
|
|
101
|
+
* wrong subsystem.
|
|
102
|
+
*/
|
|
103
|
+
skippedQuiet: number;
|
|
104
|
+
/** Nothing pending at all: no frame was owed to this party. */
|
|
105
|
+
skippedNothingPending: number;
|
|
106
|
+
failed: number;
|
|
107
|
+
}
|
|
108
|
+
export declare class ReconcileScheduler {
|
|
109
|
+
#private;
|
|
110
|
+
constructor(deps: ReconcileSchedulerDeps);
|
|
111
|
+
/**
|
|
112
|
+
* DOD-M12B-SHUTDOWN-1 — refuse all further work. Idempotent, and one-way on purpose.
|
|
113
|
+
*
|
|
114
|
+
* Clearing the sweep timer stops the NEXT tick and nothing else: the pass already running walks
|
|
115
|
+
* every agent, and each step dials a peer and opens a session. Measured 2026-08-17 — `cello
|
|
116
|
+
* logout` reported the daemon down, the socket was already gone, and the process ran on for 30+
|
|
117
|
+
* seconds still logging `document.reconcile.sweep`, dialling on its way out. It took a signal to
|
|
118
|
+
* exit. A shutdown that keeps starting new outbound work is not draining.
|
|
119
|
+
*
|
|
120
|
+
* Guarded at the top of the two entry points that START work — `sweep` and `onReachable` — so
|
|
121
|
+
* `sweepTargets`, a database read, is not run either, AND inside the sweep's own party loop so a
|
|
122
|
+
* pass already running stops at the next party rather than finishing its round. `noteRefusal`
|
|
123
|
+
* deliberately still runs: it records an outcome and starts nothing.
|
|
124
|
+
*
|
|
125
|
+
* Never un-set: a reachability trigger firing from a session tearing down during shutdown must
|
|
126
|
+
* not be able to restart the sweeper on the way out.
|
|
127
|
+
*/
|
|
128
|
+
stop(): void;
|
|
129
|
+
/**
|
|
130
|
+
* R39's second trigger: this party is demonstrably reachable RIGHT NOW — a session with them
|
|
131
|
+
* just came up. Backoff is reset (it modeled silence; they answered) and the attempt fires
|
|
132
|
+
* for every shared document, in R16-capped batches.
|
|
133
|
+
*
|
|
134
|
+
* DELIBERATELY EXEMPT FROM THE PENDING GATE (DOD-DOC-PUSH-NOT-POLL-1). The gate can only see
|
|
135
|
+
* what we hold that they lack; the exchange is the only thing that sees the other direction.
|
|
136
|
+
* Take the gate off the timer and this becomes where the PULL lives, so gating it here too
|
|
137
|
+
* would leave nothing that ever asks.
|
|
138
|
+
*
|
|
139
|
+
* It DOES record what it just offered (review F3). Nulling that instead cost one guaranteed
|
|
140
|
+
* duplicate frame per session establishment — the sweep tick minutes later would find no
|
|
141
|
+
* record of the offer, treat an unchanged holding as new, and spend another position in the
|
|
142
|
+
* conversation's hash chain. That is the exact currency this unit defends.
|
|
143
|
+
*/
|
|
144
|
+
onReachable(ownerAgentId: string, peerAgentId: string): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* A PEER ANSWERED "NO". That is an answer, and it must slow the asking down.
|
|
147
|
+
*
|
|
148
|
+
* `#attempt` can only see whether the FRAME WAS SENT — the refusal arrives later, on its own
|
|
149
|
+
* inbound frame, and until now it was logged and dropped. So a peer refusing every exchange was
|
|
150
|
+
* indistinguishable from a peer answering fine: `failures` reset to 0, `nextAttemptMs` to now,
|
|
151
|
+
* and the sweep asked again immediately. Measured 321 attempts against two documents in 85
|
|
152
|
+
* minutes, refused every time, zero successes.
|
|
153
|
+
*
|
|
154
|
+
* R41 IS PRESERVED: this DELAYS an exchange, it never forbids one. A terminal refusal jumps
|
|
155
|
+
* straight to the cap rather than retiring the party, because "terminal" is one holder's current
|
|
156
|
+
* derivation — a later entry can make the same exchange admissible again, and scheduling state
|
|
157
|
+
* must never be the thing that forbids it. `onReachable` still clears it outright.
|
|
158
|
+
*/
|
|
159
|
+
noteRefusal(ownerAgentId: string, peerAgentId: string, terminal: boolean): void;
|
|
160
|
+
/** R39's third trigger — one bounded pass for one owner. */
|
|
161
|
+
sweep(ownerAgentId: string): Promise<SweepResult>;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=document-reconcile-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-reconcile-scheduler.d.ts","sourceRoot":"","sources":["../src/document-reconcile-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,2FAA2F;AAC3F,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,4FAA4F;AAC5F,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,wBAAwB,QAAc,CAAC;AACpD,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,MAAM,WAAW,sBAAsB;IACrC,GAAG,IAAI,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D;;;;;;;OAOG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1F,iBAAiB,CACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAkBD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAkB;;gBAOjB,IAAI,EAAE,sBAAsB;IAIxC;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,IAAI,IAAI;IA+CZ;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3E;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAe/E,4DAA4D;IACtD,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAiHxD"}
|