@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 @@
|
|
|
1
|
+
{"version":3,"file":"session-schema.js","sourceRoot":"","sources":["../src/session-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionSealLeafStore — FED-OPTIONB-SEAL-001.
|
|
3
|
+
*
|
|
4
|
+
* The per-session leaf log a UNILATERAL seal CARRIES to the directory so the directory rebuilds + verifies
|
|
5
|
+
* the Merkle tree OFFLINE (no directory→relay getSealLeaves dial). It holds BOTH parties' leaves, because a
|
|
6
|
+
* unilateral seal's reported_root spans the whole conversation:
|
|
7
|
+
* - PRESENT-party (own) leaves: captured from this agent's own hash_submit_ack — they carry the relay's
|
|
8
|
+
* signed RECEIPT (relay_id + timestamp + signature over buildRelayAckTbs(content_hash, seq, ts)). That
|
|
9
|
+
* signature is the teeth that pins each own leaf to its canonical sequence (Structure1 does NOT bind
|
|
10
|
+
* seq/prev_root, so without it a supplier could reorder its own leaves).
|
|
11
|
+
* - COUNTERPARTY leaves: captured from leaf_deliver — they carry structure1/structure2 but NO relay
|
|
12
|
+
* receipt (the relay does not ack-sign a delivery to the recipient). They are pinned by the absent
|
|
13
|
+
* party's sender_signature (unforgeable) + the prev_root chain + the signed last_seen_seq causal check +
|
|
14
|
+
* sequence contiguity against the receipt-pinned own leaves.
|
|
15
|
+
*
|
|
16
|
+
* Immutable at a position (agent, session, sequence): INSERT OR IGNORE keeps the first record for a seq.
|
|
17
|
+
*/
|
|
18
|
+
import type { DaemonDatabase } from "./sqlcipher-db.js";
|
|
19
|
+
import type { Logger } from "./types.js";
|
|
20
|
+
/** A carried leaf for the unilateral-seal offline rebuild. Relay-receipt fields present only for own leaves. */
|
|
21
|
+
export interface SealCarryLeaf {
|
|
22
|
+
sequenceNumber: number;
|
|
23
|
+
/** 0x00 message / 0x02 control (SEAL). */
|
|
24
|
+
leafKind: number;
|
|
25
|
+
/** Hex of the leaf author's 32-byte pubkey (present party for own leaves, counterparty for received). */
|
|
26
|
+
senderPubkeyHex: string;
|
|
27
|
+
/** The relay's committed Structure2 (CBOR) for this leaf. */
|
|
28
|
+
structure2Cbor: Uint8Array;
|
|
29
|
+
/** The sender-signed Structure1 (CBOR) for this leaf. */
|
|
30
|
+
structure1Cbor: Uint8Array;
|
|
31
|
+
/** Relay ack-signing pubkey hex (own leaves only). */
|
|
32
|
+
relayId?: string;
|
|
33
|
+
/** Unix ms embedded in the relay ACK TBS (own leaves only). */
|
|
34
|
+
relayTimestamp?: number;
|
|
35
|
+
/** Hex of the 64-byte relay ACK signature (own leaves only). */
|
|
36
|
+
relaySignatureHex?: string;
|
|
37
|
+
/**
|
|
38
|
+
* 069-ORDERPROOF: hex of the 32-byte running root the relay bound into its attestation for this
|
|
39
|
+
* position (own leaves only). Part of the signed statement, so without it the directory cannot
|
|
40
|
+
* rebuild the bytes and refuses the leaf as unwitnessed.
|
|
41
|
+
*/
|
|
42
|
+
relayRunningRootHex?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare class SessionSealLeafStore {
|
|
45
|
+
#private;
|
|
46
|
+
constructor(db: DaemonDatabase, logger: Logger);
|
|
47
|
+
/**
|
|
48
|
+
* Persist a leaf at its canonical position. IMMUTABLE: INSERT OR IGNORE keeps the FIRST record for an
|
|
49
|
+
* (agent, session, sequence) — a later record for the same position (e.g. a re-delivery, or a relay
|
|
50
|
+
* equivocation) cannot overwrite it. Returns true iff a new row was written.
|
|
51
|
+
*/
|
|
52
|
+
store(agentPubkeyHex: string, sessionIdHex: string, leaf: SealCarryLeaf, storedAtMs: number): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* The last acknowledgement the live path recorded for this agent and session (`session_last_ack`):
|
|
55
|
+
* a RELAY position and its hash. A message that arrives on the direct path is acknowledged without
|
|
56
|
+
* ever being written to this leaf table, so a resumed session reads this too. Joined through
|
|
57
|
+
* `agents` on the stable agent_id, never the name.
|
|
58
|
+
*/
|
|
59
|
+
recordedAcknowledgement(agentPubkeyHex: string, sessionIdHex: string): {
|
|
60
|
+
seq: number;
|
|
61
|
+
hash: Uint8Array;
|
|
62
|
+
} | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* The complete carried leaf chain for a session's UNILATERAL seal, ordered by canonical sequence. The
|
|
65
|
+
* directory rebuilds + verifies this tree OFFLINE. Returns ALL recorded leaves (both parties); the caller
|
|
66
|
+
* carries them verbatim and the directory enforces contiguity + the per-leaf relay-receipt teeth.
|
|
67
|
+
*/
|
|
68
|
+
getCarry(agentPubkeyHex: string, sessionIdHex: string): SealCarryLeaf[];
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=session-seal-leaf-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-seal-leaf-store.d.ts","sourceRoot":"","sources":["../src/session-seal-leaf-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,gHAAgH;AAChH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,cAAc,EAAE,UAAU,CAAC;IAC3B,yDAAyD;IACzD,cAAc,EAAE,UAAU,CAAC;IAC3B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAsBD,qBAAa,oBAAoB;;gBAInB,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM;IAsB9C;;;;OAIG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAwBrG;;;;;OAKG;IACH,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS;IAcpH;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;CAmBxE"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
const CREATE_SQL = `
|
|
2
|
+
CREATE TABLE IF NOT EXISTS session_seal_leaves (
|
|
3
|
+
agent_pubkey TEXT NOT NULL,
|
|
4
|
+
session_id TEXT NOT NULL,
|
|
5
|
+
sequence_number INTEGER NOT NULL,
|
|
6
|
+
leaf_kind INTEGER NOT NULL,
|
|
7
|
+
sender_pubkey_hex TEXT NOT NULL,
|
|
8
|
+
structure2_cbor BLOB NOT NULL,
|
|
9
|
+
structure1_cbor BLOB NOT NULL,
|
|
10
|
+
relay_id TEXT,
|
|
11
|
+
relay_timestamp INTEGER,
|
|
12
|
+
relay_signature TEXT,
|
|
13
|
+
-- 069-ORDERPROOF. NULLABLE: rows written before this order keep working, and a session created
|
|
14
|
+
-- before it still opens, reads and seals bilaterally exactly as it did.
|
|
15
|
+
relay_running_root TEXT,
|
|
16
|
+
stored_at INTEGER NOT NULL,
|
|
17
|
+
PRIMARY KEY (agent_pubkey, session_id, sequence_number)
|
|
18
|
+
);
|
|
19
|
+
`;
|
|
20
|
+
export class SessionSealLeafStore {
|
|
21
|
+
#db;
|
|
22
|
+
#logger;
|
|
23
|
+
constructor(db, logger) {
|
|
24
|
+
this.#db = db;
|
|
25
|
+
this.#logger = logger;
|
|
26
|
+
this.#db.exec(CREATE_SQL);
|
|
27
|
+
this.#migrateRunningRoot();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 069-ORDERPROOF: add `relay_running_root` to a table created before this order. `CREATE TABLE IF
|
|
31
|
+
* NOT EXISTS` leaves an existing table untouched, so without this an upgraded daemon would write
|
|
32
|
+
* to a column that is not there. Idempotent, additive and nullable — no row is rewritten and no
|
|
33
|
+
* existing evidence is invalidated.
|
|
34
|
+
*/
|
|
35
|
+
#migrateRunningRoot() {
|
|
36
|
+
const cols = new Set(this.#db.prepare(`PRAGMA table_info(session_seal_leaves)`).all().map((c) => c.name));
|
|
37
|
+
if (!cols.has("relay_running_root")) {
|
|
38
|
+
this.#db.exec(`ALTER TABLE session_seal_leaves ADD COLUMN relay_running_root TEXT`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Persist a leaf at its canonical position. IMMUTABLE: INSERT OR IGNORE keeps the FIRST record for an
|
|
43
|
+
* (agent, session, sequence) — a later record for the same position (e.g. a re-delivery, or a relay
|
|
44
|
+
* equivocation) cannot overwrite it. Returns true iff a new row was written.
|
|
45
|
+
*/
|
|
46
|
+
store(agentPubkeyHex, sessionIdHex, leaf, storedAtMs) {
|
|
47
|
+
const info = this.#db
|
|
48
|
+
.prepare(`INSERT OR IGNORE INTO session_seal_leaves
|
|
49
|
+
(agent_pubkey, session_id, sequence_number, leaf_kind, sender_pubkey_hex, structure2_cbor, structure1_cbor, relay_id, relay_timestamp, relay_signature, relay_running_root, stored_at)
|
|
50
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
51
|
+
.run(agentPubkeyHex, sessionIdHex, leaf.sequenceNumber, leaf.leafKind, leaf.senderPubkeyHex, Buffer.from(leaf.structure2Cbor), Buffer.from(leaf.structure1Cbor), leaf.relayId ?? null, leaf.relayTimestamp ?? null, leaf.relaySignatureHex ?? null, leaf.relayRunningRootHex ?? null, storedAtMs);
|
|
52
|
+
return Number(info.changes) > 0;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The last acknowledgement the live path recorded for this agent and session (`session_last_ack`):
|
|
56
|
+
* a RELAY position and its hash. A message that arrives on the direct path is acknowledged without
|
|
57
|
+
* ever being written to this leaf table, so a resumed session reads this too. Joined through
|
|
58
|
+
* `agents` on the stable agent_id, never the name.
|
|
59
|
+
*/
|
|
60
|
+
recordedAcknowledgement(agentPubkeyHex, sessionIdHex) {
|
|
61
|
+
// The session schema creates the table; a database without it (a leaf store used on its own)
|
|
62
|
+
// has recorded no acknowledgement, which is the same fact.
|
|
63
|
+
if (this.#db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'session_last_ack'").get() === undefined)
|
|
64
|
+
return undefined;
|
|
65
|
+
const row = this.#db
|
|
66
|
+
.prepare(`SELECT k.relay_seq AS seq, k.hash_hex AS hash FROM session_last_ack k
|
|
67
|
+
JOIN agents a ON a.agent_id = k.agent_id
|
|
68
|
+
WHERE a.k_local_pubkey = ? AND k.session_id = ?`)
|
|
69
|
+
.get(agentPubkeyHex, sessionIdHex);
|
|
70
|
+
return row ? { seq: row.seq, hash: new Uint8Array(Buffer.from(row.hash, "hex")) } : undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The complete carried leaf chain for a session's UNILATERAL seal, ordered by canonical sequence. The
|
|
74
|
+
* directory rebuilds + verifies this tree OFFLINE. Returns ALL recorded leaves (both parties); the caller
|
|
75
|
+
* carries them verbatim and the directory enforces contiguity + the per-leaf relay-receipt teeth.
|
|
76
|
+
*/
|
|
77
|
+
getCarry(agentPubkeyHex, sessionIdHex) {
|
|
78
|
+
const rows = this.#db
|
|
79
|
+
.prepare(`SELECT sequence_number, leaf_kind, sender_pubkey_hex, structure2_cbor, structure1_cbor, relay_id, relay_timestamp, relay_signature, relay_running_root
|
|
80
|
+
FROM session_seal_leaves WHERE agent_pubkey = ? AND session_id = ? ORDER BY sequence_number ASC`)
|
|
81
|
+
.all(agentPubkeyHex, sessionIdHex);
|
|
82
|
+
return rows.map((r) => ({
|
|
83
|
+
sequenceNumber: r.sequence_number,
|
|
84
|
+
leafKind: r.leaf_kind,
|
|
85
|
+
senderPubkeyHex: r.sender_pubkey_hex,
|
|
86
|
+
structure2Cbor: toU8(r.structure2_cbor),
|
|
87
|
+
structure1Cbor: toU8(r.structure1_cbor),
|
|
88
|
+
relayId: r.relay_id ?? undefined,
|
|
89
|
+
relayTimestamp: r.relay_timestamp ?? undefined,
|
|
90
|
+
relaySignatureHex: r.relay_signature ?? undefined,
|
|
91
|
+
relayRunningRootHex: r.relay_running_root ?? undefined,
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Normalize a SQLite BLOB (Buffer/Uint8Array/ArrayBuffer) to a Uint8Array. */
|
|
96
|
+
function toU8(v) {
|
|
97
|
+
if (v instanceof Uint8Array)
|
|
98
|
+
return v;
|
|
99
|
+
if (Buffer.isBuffer(v))
|
|
100
|
+
return new Uint8Array(v);
|
|
101
|
+
if (v instanceof ArrayBuffer)
|
|
102
|
+
return new Uint8Array(v);
|
|
103
|
+
return new Uint8Array();
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=session-seal-leaf-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-seal-leaf-store.js","sourceRoot":"","sources":["../src/session-seal-leaf-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import type { KeyProvider } from "@cello-protocol/crypto";
|
|
2
|
+
import type { SealUpgradeReadiness } from "./seal-upgrade.js";
|
|
3
|
+
import type { Logger, SealReadinessView } from "./types.js";
|
|
4
|
+
import type { SessionTree } from "./session-tree.js";
|
|
5
|
+
import type { DaemonDatabase } from "./sqlcipher-db.js";
|
|
6
|
+
import { type AgentRelayClient } from "./session-relay-client.js";
|
|
7
|
+
import { RelayReceiptStore } from "./relay-receipt-store.js";
|
|
8
|
+
import { SessionSealLeafStore, type SealCarryLeaf } from "./session-seal-leaf-store.js";
|
|
9
|
+
import type { SessionOwnChainStore } from "./session-own-chain-store.js";
|
|
10
|
+
import type { SessionRecords } from "./session-records.js";
|
|
11
|
+
import type { SessionQueries } from "./session-queries.js";
|
|
12
|
+
import type { ParkRecovery } from "./park-recovery.js";
|
|
13
|
+
import type { HeldContent, HeldEntry } from "./held-content.js";
|
|
14
|
+
import type { SessionLeafRecords } from "./session-leaf-records.js";
|
|
15
|
+
import type { StandingReceivers } from "./standing-receivers.js";
|
|
16
|
+
import type { ActiveSessionEntry } from "./session-node-types.js";
|
|
17
|
+
/** What the seal path needs from the manager. */
|
|
18
|
+
export interface SessionSealContext {
|
|
19
|
+
readonly logger: Logger;
|
|
20
|
+
readonly records: SessionRecords;
|
|
21
|
+
readonly queries: SessionQueries;
|
|
22
|
+
readonly park: ParkRecovery;
|
|
23
|
+
readonly held: HeldContent;
|
|
24
|
+
readonly leafRecords: SessionLeafRecords;
|
|
25
|
+
readonly receivers: StandingReceivers;
|
|
26
|
+
/** A function: the manager opens its database after construction. Re-exposed below as `#db`. */
|
|
27
|
+
db(): DaemonDatabase | null;
|
|
28
|
+
readonly activeNodes: Map<string, ActiveSessionEntry>;
|
|
29
|
+
readonly heldContent: Map<string, Map<number, HeldEntry>>;
|
|
30
|
+
readonly witnessedSeq: Map<string, Map<string, number>>;
|
|
31
|
+
/** DOD-M15-SEALPRECOND-1 — our own leaves the relay has ordered and this tree has not placed. */
|
|
32
|
+
readonly ownLeavesOrdered: Map<string, Map<string, number>>;
|
|
33
|
+
readonly highWaterSeq: Map<string, number>;
|
|
34
|
+
readonly orderingObserved: Set<string>;
|
|
35
|
+
readonly contentDesynced: Map<string, "tampered" | "unverifiable">;
|
|
36
|
+
readonly responderSealSubmitted: Map<string, {
|
|
37
|
+
reportedRootHex: string;
|
|
38
|
+
sequenceNumber: number;
|
|
39
|
+
} | null>;
|
|
40
|
+
readonly relayClients: Map<string, AgentRelayClient>;
|
|
41
|
+
/**
|
|
42
|
+
* ⚠️ READ-WRITE, both of them, and deliberately so — see the file header. They are `null` until
|
|
43
|
+
* something needs them, and whichever side reaches for one first is the side that opens it. A
|
|
44
|
+
* read-only view here would have meant this file opening its own second instance over the same
|
|
45
|
+
* rows the manager writes.
|
|
46
|
+
*/
|
|
47
|
+
relayReceiptStore: RelayReceiptStore | null;
|
|
48
|
+
sealLeafStore: SessionSealLeafStore | null;
|
|
49
|
+
/**
|
|
50
|
+
* Assigned by `setEnsureSealBroker`, which lives here; the manager only forwards to it.
|
|
51
|
+
*
|
|
52
|
+
* ⚠️ `undefined`, not `null` — matching the manager's field exactly rather than tidying it. The
|
|
53
|
+
* broker returns a HANDLE with a `stop`, not a boolean: it is the thing keeping a seal ceremony
|
|
54
|
+
* alive, and a caller has to be able to end it. Simplifying that to a success flag here would
|
|
55
|
+
* have compiled against a wrapper and lost the only way to cancel.
|
|
56
|
+
*/
|
|
57
|
+
ensureSealBroker: ((agentName: string, sessionId: string) => Promise<{
|
|
58
|
+
stop: (reason: string) => Promise<void>;
|
|
59
|
+
} | null>) | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* ⚠️ FOUR PARAMETERS. The last two — the state name and the counterparty key — are what the
|
|
62
|
+
* notification carries to the operator's channel; a two-parameter version would have type-checked
|
|
63
|
+
* at the call site and delivered a state change with no state in it.
|
|
64
|
+
*/
|
|
65
|
+
readonly onSessionStateChanged: ((agentName: string, sessionId: string, state: string, counterpartyPubkey: string | null) => void) | null;
|
|
66
|
+
readonly ownChainStore: SessionOwnChainStore | null;
|
|
67
|
+
/**
|
|
68
|
+
* ⚠️ THE `stores` ARGUMENT IS NOT OPTIONAL DECORATION. A client built without it has no receipt
|
|
69
|
+
* store and no seal-leaf store, so `#captureReceipt` silently returns false: the submit reports
|
|
70
|
+
* ok while the relay's signed receipt — the evidence the seal rests on — is never written.
|
|
71
|
+
*/
|
|
72
|
+
readonly detachedRelayClientBuilder: ((agentName: string, relayPeerId: string, relayAddrs: string[], stores: {
|
|
73
|
+
receiptStore?: RelayReceiptStore;
|
|
74
|
+
sealLeafStore?: SessionSealLeafStore;
|
|
75
|
+
ownChainStore?: SessionOwnChainStore;
|
|
76
|
+
onlineToken: () => Uint8Array | undefined;
|
|
77
|
+
}) => AgentRelayClient | undefined) | null;
|
|
78
|
+
/** DOD-LOOP-1: (agentName, sessionId), never sessionId alone — see the manager's own note. */
|
|
79
|
+
sessionKey(agentName: string, sessionId: string): string;
|
|
80
|
+
requireAgentId(agentName: string): string;
|
|
81
|
+
getSessionTree(agentName: string, sessionId: string): SessionTree;
|
|
82
|
+
getSessionTreeRootHex(agentName: string, sessionId: string): string;
|
|
83
|
+
/**
|
|
84
|
+
* 070-CARRIEDSEAL: the agent's own signing key, for the closing leaf this side writes when no
|
|
85
|
+
* relay is left to order one. `undefined` when the agent is not loaded in this daemon — which is
|
|
86
|
+
* a refusal with its own name, never a leaf signed by something else.
|
|
87
|
+
*/
|
|
88
|
+
getKeyProvider(agentName: string): KeyProvider | undefined;
|
|
89
|
+
getDirectoryOnlineToken(agentName: string): Uint8Array | undefined;
|
|
90
|
+
destroySessionSeed(agentName: string, sessionId: string): void;
|
|
91
|
+
updateSessionStatus(agentName: string, sessionId: string, status: "active" | "sealed" | "interrupted" | "abandoned", interruptedBy?: "local"): boolean;
|
|
92
|
+
}
|
|
93
|
+
export declare class SessionSeal {
|
|
94
|
+
#private;
|
|
95
|
+
constructor(ctx: SessionSealContext);
|
|
96
|
+
/**
|
|
97
|
+
* Does a certificate describe the leaf set this daemon holds? The judgement lives in
|
|
98
|
+
* `seal-certified-root-check.ts`; this binds it to this instance's carry.
|
|
99
|
+
*/
|
|
100
|
+
verifyCertifiedRoot(agentPubkeyHex: string, sessionIdHex: string, certifiedRoot: Uint8Array, certifiedLeafCount: number, evidence: readonly unknown[] | undefined): {
|
|
101
|
+
verdict: "match";
|
|
102
|
+
} | {
|
|
103
|
+
verdict: "mismatch";
|
|
104
|
+
ownRootHex: string | null;
|
|
105
|
+
detail: string;
|
|
106
|
+
} | {
|
|
107
|
+
verdict: "cannot_judge";
|
|
108
|
+
reason: string;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* FED-OPTIONB-SEAL-001: the complete ordered leaf chain (both parties) a UNILATERAL seal carries to the
|
|
112
|
+
* directory for the OFFLINE tree rebuild. Empty when no leaves were logged (e.g. a direct-only session
|
|
113
|
+
* with no relay witness) — the caller then has nothing to carry and the seal stays bilateral/pending.
|
|
114
|
+
*
|
|
115
|
+
* ⚠️ Stranded on `verifyCertifiedRoot` before this split — the third block found doing that, and the
|
|
116
|
+
* reason the rule is now written down: a method reduced to a delegator leaves its documentation
|
|
117
|
+
* behind, and the block below it ends up carrying two descriptions of which the first is a stranger.
|
|
118
|
+
*/
|
|
119
|
+
getSealCarry(agentPubkeyHex: string, sessionIdHex: string): SealCarryLeaf[];
|
|
120
|
+
/** Fix #1 EXTENSION: inject the broker-connection opener. Setter injection, same construction-order reason. */
|
|
121
|
+
setEnsureSealBroker(cb: (agentName: string, sessionId: string) => Promise<{
|
|
122
|
+
stop: (reason: string) => Promise<void>;
|
|
123
|
+
} | null>): void;
|
|
124
|
+
/**
|
|
125
|
+
* DOD-M12B-INTERRUPTED-ESCALATE-1 — flip a session to `sealed`, synchronously, without needing a
|
|
126
|
+
* live node.
|
|
127
|
+
*
|
|
128
|
+
* **`destroySessionNode(…, "sealed")` cannot be relied on to do this.** It returns early at
|
|
129
|
+
* `if (!entry) return`, and the status write lives 26 lines BELOW that guard — so it flips the
|
|
130
|
+
* status only for a session that still has an `#activeNodes` entry. An interrupted session has
|
|
131
|
+
* none by construction: every producer of that status deletes the entry. Before this method, a
|
|
132
|
+
* unilateral seal on an interrupted session stored the notarized root and the certificate and
|
|
133
|
+
* left the row saying `interrupted` — the receipt landed and nothing that represents it moved.
|
|
134
|
+
* `cello_sessions` still showed it stuck, `cello_close_session` still refused it by name, and the
|
|
135
|
+
* restart-seal resolver re-selected it on the next boot to run the whole ceremony again against a
|
|
136
|
+
* session that already held a receipt.
|
|
137
|
+
*
|
|
138
|
+
* STATUS FIRST AND SYNCHRONOUS, teardown second — the order `abandonSession` uses and the one
|
|
139
|
+
* `retireSession` documents. The flip is the load-bearing half; the teardown makes memory agree
|
|
140
|
+
* with it. `#updateSessionStatus` also runs the terminal disposition hooks (held content is
|
|
141
|
+
* annexed, not stranded), which the early return skipped entirely.
|
|
142
|
+
*/
|
|
143
|
+
markSealed(agentName: string, sessionId: string): boolean;
|
|
144
|
+
/**
|
|
145
|
+
* M8B FINDING-6 (cascade-2): persist a seal certificate for a session that may have NO local
|
|
146
|
+
* `sessions` row. recordSealCertificate (a manager delegator onto `session-queries.ts`) is an `UPDATE ... WHERE` — a SILENT no-op when the
|
|
147
|
+
* row is absent (the exact trap the cascade-2 reviewer flagged). The ABSENT party (B), learning of
|
|
148
|
+
* a seal on reconnect via seal_unilateral_notification, may never have persisted a row for this
|
|
149
|
+
* session. This ensures a minimal stub row first (INSERT OR IGNORE — a no-op if a row already
|
|
150
|
+
* exists, e.g. an 'interrupted' row after a restart) so B's receipt is actually durable + retrievable
|
|
151
|
+
* via cello_get_sealed_receipt. The counterparty pubkey is required by the schema (NOT NULL); B
|
|
152
|
+
* derives it from the notification's present_pubkey.
|
|
153
|
+
*/
|
|
154
|
+
recordSealCertificateEnsuringRow(agentName: string, sessionId: string, counterpartyPubkeyHex: string, sealedRootHex: string, legibilityJson: string): void;
|
|
155
|
+
/**
|
|
156
|
+
* M7-SESSION-001 (H-1): persist a verified bilateral SEAL-INTERRUPTED
|
|
157
|
+
* commitment and transition the session to 'seal_interrupted_pending'.
|
|
158
|
+
*
|
|
159
|
+
* This is NOT a seal. It records that both parties produced and exchanged
|
|
160
|
+
* K_local-signed SEAL-INTERRUPTED leaves over the same {leafCount, merkleRoot}.
|
|
161
|
+
* The FROST threshold notarization is a separate, currently-unwired step (see
|
|
162
|
+
* daemon.ts handleSealInterruptedFlow H-1 note), which is precisely why the
|
|
163
|
+
* status is 'seal_interrupted_pending' and never 'sealed'.
|
|
164
|
+
*
|
|
165
|
+
* The status update is guarded so it only advances a session out of the
|
|
166
|
+
* 'interrupted' state — it will not overwrite a 'sealed' row.
|
|
167
|
+
*
|
|
168
|
+
* @returns true if the session row was advanced to seal_interrupted_pending.
|
|
169
|
+
*/
|
|
170
|
+
persistSealInterruptedCommitment(opts: {
|
|
171
|
+
agentName: string;
|
|
172
|
+
sessionId: string;
|
|
173
|
+
role: "initiator" | "responder";
|
|
174
|
+
ownLeaf: unknown;
|
|
175
|
+
counterpartyLeaf: unknown;
|
|
176
|
+
merkleRoot: string;
|
|
177
|
+
nonce: string;
|
|
178
|
+
}): boolean;
|
|
179
|
+
submitSealLeaf(agentName: string, sessionId: string, correlationId?: string): Promise<{
|
|
180
|
+
ok: true;
|
|
181
|
+
sequenceNumber: number;
|
|
182
|
+
reportedRootHex: string;
|
|
183
|
+
/**
|
|
184
|
+
* 070-CARRIEDSEAL: this leaf was signed HERE because no relay answered, so no relay holds
|
|
185
|
+
* it. The caller must not then wait out the bilateral window: a bilateral seal is a ceremony
|
|
186
|
+
* the RELAY runs from its own leaf log, and there is no relay. Waiting eleven minutes for a
|
|
187
|
+
* ceremony that cannot begin is eleven minutes of an operator watching nothing happen before
|
|
188
|
+
* the solo seal that was always the only outcome.
|
|
189
|
+
*/
|
|
190
|
+
viaLocalTerminus?: true;
|
|
191
|
+
} | {
|
|
192
|
+
ok: false;
|
|
193
|
+
reason: string;
|
|
194
|
+
reportedRootHex?: string;
|
|
195
|
+
sequenceNumber?: number;
|
|
196
|
+
viaLocalTerminus?: true;
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* CELLO-M7-UPGRADE-001 (DOD-UP-1): readiness of a session for B to RATIFY a unilateral seal
|
|
200
|
+
* (the returning absent party). This is the SAME verifiability bar as the UP-2 auto-ack gate:
|
|
201
|
+
*
|
|
202
|
+
* - `known`: the session exists locally with its content (B has a transcript to ratify). After a
|
|
203
|
+
* restart B reloads it from SQLite, and autoRecoverForAgent re-pulls any parked content first.
|
|
204
|
+
* - `tampered`: the content cross-check flagged a content_hash mismatch (#contentDesynced) — B
|
|
205
|
+
* must NEVER ratify content it could not integrity-verify (the KERNEL refusal, AC-003).
|
|
206
|
+
*
|
|
207
|
+
* The directory separately verifies B's ack signature is genuine; B separately verifies the
|
|
208
|
+
* unilateral cert signature (R1 is authentic). NOTE: a full "B's frontier covers R1's tail"
|
|
209
|
+
* completeness check (the `desynced` reason) requires the deferred MSG-001-3b canonical-sequence
|
|
210
|
+
* reconciliation — same documented limitation as the UP-2 gate above.
|
|
211
|
+
*/
|
|
212
|
+
getSealUpgradeReadiness(agentName: string, sessionId: string): SealUpgradeReadiness;
|
|
213
|
+
/**
|
|
214
|
+
* M7-UPGRADE-002: auto-acknowledge close (POSTMORTEM Workstream E / C-5). When B's daemon
|
|
215
|
+
* ingests the COUNTERPARTY's SEAL control leaf and B has verified the content, B's OWN node
|
|
216
|
+
* auto-co-signs + submits its responder SEAL leaf WITHOUT waiting for B's agent to call
|
|
217
|
+
* cello_close_session — so a bilateral seal completes promptly instead of degrading to
|
|
218
|
+
* unilateral on a slow/busy/crashed agent.
|
|
219
|
+
*
|
|
220
|
+
* SI-001 (non-negotiable): B's signature is ALWAYS produced by B's own node — submitSealLeaf
|
|
221
|
+
* signs the responder SEAL leaf with B's K_local. We remove the agent PROMPT, never the SIGNER;
|
|
222
|
+
* nothing here lets the directory or the peer synthesize B's acknowledgement.
|
|
223
|
+
*
|
|
224
|
+
* SI-002 (verifiability gate): auto-ack ONLY content B has verified. A session whose content
|
|
225
|
+
* cross-check failed (content_hash_mismatch = tamper, recorded in #contentDesynced) is NEVER
|
|
226
|
+
* auto-signed — it surfaces to the agent as a genuine decision point. DISAGREEMENT with the
|
|
227
|
+
* content is NOT a gate failure (C-6): the gate is "can I verify integrity?", never "do I agree?"
|
|
228
|
+
* — a verified-but-disliked tail is auto-sealed and the transcript speaks for B.
|
|
229
|
+
*
|
|
230
|
+
* Idempotent + non-throwing: marks #responderSealSubmitted BEFORE the async submit so a
|
|
231
|
+
* redelivered ctrl leaf cannot double-submit; clears the mark on submit failure so a later
|
|
232
|
+
* agent close / reconnect can still complete the seal (DB-001 — never a silent half-seal).
|
|
233
|
+
*/
|
|
234
|
+
maybeAutoAcknowledgeSeal(agentName: string, sessionId: string, correlationId: string): void;
|
|
235
|
+
/**
|
|
236
|
+
* M12-P14: is this side's chain COMPLETE enough to be sealed?
|
|
237
|
+
*
|
|
238
|
+
* A seal is a bilateral signature over the same conversation, so a side that is missing a leaf
|
|
239
|
+
* cannot produce a signable one — the counterparty compares frontiers and refuses with
|
|
240
|
+
* `leaf_count_mismatch`. That refusal is correct and it is also terminal: there is no backfill
|
|
241
|
+
* request in the protocol, so the only exit is a force-abandon, which yields NO notarized receipt.
|
|
242
|
+
* Measured 2026-08-05 on two sessions that died exactly this way (initiator 2 leaves, responder 3).
|
|
243
|
+
*
|
|
244
|
+
* The cheap prevention is to notice BEFORE asking. Two local signals already exist and, until now,
|
|
245
|
+
* nothing read either of them at close time:
|
|
246
|
+
* - `#highWaterSeq` — the largest canonical sequence the RELAY has witnessed for this session.
|
|
247
|
+
* The relay is the ordering authority, so a high-water above our own frontier is proof that a
|
|
248
|
+
* leaf exists which we have not appended. (Its own doc comment called it "reserved … NOT yet
|
|
249
|
+
* consumed by the gate" — this is that consumer.)
|
|
250
|
+
* - `#heldContent` — content we HAVE received and verified but cannot append because it sits
|
|
251
|
+
* behind a gap. Holding content and sealing anyway would seal a chain we know is short.
|
|
252
|
+
*
|
|
253
|
+
* Deliberately NOT a network call: it must work when the counterparty is unreachable, which is
|
|
254
|
+
* the whole situation a seal-interrupted exists for.
|
|
255
|
+
*
|
|
256
|
+
* KNOWN LIMIT, stated rather than hidden: both maps are in-memory and cleared on teardown, so
|
|
257
|
+
* after a daemon restart this returns ready for a session whose gap predates the restart — which
|
|
258
|
+
* is the shape of the 2026-08-05 incident itself. Closing that needs the mailbox drained (or the
|
|
259
|
+
* high-water persisted) before the check; tracked with M12-P14, not claimed here.
|
|
260
|
+
*/
|
|
261
|
+
sealReadiness(agentName: string, sessionId: string): {
|
|
262
|
+
ready: boolean;
|
|
263
|
+
treeSize: number;
|
|
264
|
+
highWaterSeq: number;
|
|
265
|
+
heldCount: number;
|
|
266
|
+
missingLeaves: number;
|
|
267
|
+
/** DOD-M12B-INDEX-1: of `heldCount`, how many are THIS side's own sends versus the
|
|
268
|
+
* counterparty's. They block a seal identically and mean completely different things. */
|
|
269
|
+
heldOwn: number;
|
|
270
|
+
heldReceived: number;
|
|
271
|
+
/**
|
|
272
|
+
* DOD-M15-DIVERGE-1 — this tree and the relay's counter have PROVABLY parted.
|
|
273
|
+
*
|
|
274
|
+
* The other two counters both measure the same direction: positions the relay committed that
|
|
275
|
+
* this tree has not appended. This is the OPPOSITE direction — this tree holds a leaf at a
|
|
276
|
+
* position the relay assigned to something else — and it is the direction an injected or forged
|
|
277
|
+
* leaf appears in. Without it `ready` was asymmetric, and a diverged session read as perfectly
|
|
278
|
+
* sealable right up until the counterparty answered `leaf_count_mismatch`, which is terminal.
|
|
279
|
+
*/
|
|
280
|
+
diverged: boolean;
|
|
281
|
+
/**
|
|
282
|
+
* DOD-M15-SEALPRECOND-1 — leaves of OUR OWN the relay has ordered and this tree has not placed.
|
|
283
|
+
*
|
|
284
|
+
* The fourth term, and the one the 2026-09-11 lost receipt needed. The other three describe the
|
|
285
|
+
* counterparty's leaves or a permanent parting, and none of them moves when the relay orders a
|
|
286
|
+
* send of ours — `relayLeafHandler` records a witness only for leaves NOT authored by us. So a
|
|
287
|
+
* close landing between the ordering and `placeOwnLeaf` read a clean readiness and signed short.
|
|
288
|
+
* Unlike `diverged`, this RESOLVES in milliseconds, which is why its consumer waits.
|
|
289
|
+
*/
|
|
290
|
+
ownLeavesOrdered: number;
|
|
291
|
+
};
|
|
292
|
+
/**
|
|
293
|
+
* DOD-M12B-SEAL-STUCK-1 — the operator-facing answer to "can this session be closed?".
|
|
294
|
+
*
|
|
295
|
+
* THREE STATES, because there are three answers. `sealReadiness` above returns a boolean plus raw
|
|
296
|
+
* counters, and both of its counters are easy to misread on a surface:
|
|
297
|
+
*
|
|
298
|
+
* - `missingLeaves` is `#witnessedSeq.size`, which is every position the relay witnessed that
|
|
299
|
+
* this tree has not appended — and a HELD frame keeps its witness entry. So it INCLUDES the
|
|
300
|
+
* held ones. Reporting it beside `heldCount` counts the same message twice and labels one copy
|
|
301
|
+
* "never received" when it is sitting on our own disk. Split here into what each actually is.
|
|
302
|
+
* - Neither counter survives a restart on its own: `#witnessedSeq` is memory-only. Held content
|
|
303
|
+
* is durable since DOD-M12B-STRAND-1, but a position the relay witnessed for content that
|
|
304
|
+
* never arrived leaves no trace. So for a session carrying leaves this process did not watch
|
|
305
|
+
* arrive, "clean" is unknowable — and saying `ready` there invites a close that gets
|
|
306
|
+
* `leaf_count_mismatch` back, which is terminal and costs the receipt for good.
|
|
307
|
+
*/
|
|
308
|
+
sealReadinessView(agentName: string, sessionId: string): SealReadinessView;
|
|
309
|
+
/**
|
|
310
|
+
* WHERE THE MUTUALLY-SIGNED PREFIX ENDS, DERIVED FROM THIS DAEMON'S OWN LEAVES —
|
|
311
|
+
* `DOD-M15-UNILATERAL-1`, review F2.
|
|
312
|
+
*
|
|
313
|
+
* ⚠️ **THE FIRST VERSION COMPUTED THIS FROM THE CERTIFICATE'S OWN PARTICIPANT LIST, AND CALLED
|
|
314
|
+
* THAT "recomputed, cannot be steered".** It could be steered. On the SOLO path the certificate's
|
|
315
|
+
* TBS binds no legibility at all, and the client verifies only the *live* party's frontier — so
|
|
316
|
+
* the absent party's `content_frontier_seq` and every `last_authored_seq` arrived unchecked. One
|
|
317
|
+
* directory node could publish the absent party's frontier as 3 and the receipt would say
|
|
318
|
+
* "mutually signed through 3" over a transcript that party never signed for. That is the precise
|
|
319
|
+
* conflation this field exists to prevent, reintroduced by the field itself.
|
|
320
|
+
*
|
|
321
|
+
* The carry answers it without trusting anybody. This daemon holds the counterparty's own leaves,
|
|
322
|
+
* each carrying, inside the bytes THEY signed, both the sequence they authored and the
|
|
323
|
+
* `last_seen_seq` they acknowledged. So a party's commitment reaches
|
|
324
|
+
* `max(highest sequence they authored, highest sequence they acknowledged)`, and the transcript is
|
|
325
|
+
* mutually signed only as far as the LEAST-committed party reaches.
|
|
326
|
+
*
|
|
327
|
+
* Fewer than two distinct authors ⇒ `0`: nobody countersigned anything, which is the honest floor
|
|
328
|
+
* for a conversation where the other side only ever received. `null` when the carry is empty or
|
|
329
|
+
* unreadable — the caller must then publish NO boundary rather than fall back to a number
|
|
330
|
+
* somebody else supplied.
|
|
331
|
+
*/
|
|
332
|
+
countersignedThroughSeqFromCarry(agentPubkeyHex: string, sessionIdHex: string): number | null;
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=session-seal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-seal.d.ts","sourceRoot":"","sources":["../src/session-seal.ts"],"names":[],"mappings":"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"}
|