@cello-protocol/daemon 0.0.227 → 0.0.228
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 +429 -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":"document-write-path.js","sourceRoot":"","sources":["../src/document-write-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract a real message from a thrown value. libp2p / cross-package errors are not
|
|
3
|
+
* always `instanceof Error` in this realm (multi-version split), so fall back to a
|
|
4
|
+
* `message` property or JSON — never the useless "[object Object]".
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractErrorMessage(err: unknown): string;
|
|
7
|
+
//# sourceMappingURL=error-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-message.d.ts","sourceRoot":"","sources":["../src/error-message.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAUxD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract a real message from a thrown value. libp2p / cross-package errors are not
|
|
3
|
+
* always `instanceof Error` in this realm (multi-version split), so fall back to a
|
|
4
|
+
* `message` property or JSON — never the useless "[object Object]".
|
|
5
|
+
*/
|
|
6
|
+
export function extractErrorMessage(err) {
|
|
7
|
+
if (err instanceof Error)
|
|
8
|
+
return err.message;
|
|
9
|
+
if (err && typeof err === "object" && typeof err.message === "string") {
|
|
10
|
+
return err.message;
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
return JSON.stringify(err);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return String(err);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=error-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-message.js","sourceRoot":"","sources":["../src/error-message.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAQ,GAA6B,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjG,OAAQ,GAA2B,CAAC,OAAO,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ConsortiumManifest } from "@cello-protocol/protocol-types";
|
|
2
|
+
import { type ConsortiumManifestInput } from "@cello-protocol/crypto";
|
|
3
|
+
import type { IManifestProvider } from "@cello-protocol/transport";
|
|
4
|
+
export declare class ManifestLoadError extends Error {
|
|
5
|
+
readonly reason: string;
|
|
6
|
+
constructor(reason: string, detail?: string);
|
|
7
|
+
}
|
|
8
|
+
export interface FileManifestProviderOpts {
|
|
9
|
+
/** Absolute path to the consortium manifest JSON. */
|
|
10
|
+
path: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class FileManifestProvider implements IManifestProvider {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(opts: FileManifestProviderOpts);
|
|
15
|
+
loadAndVerify(rootKeys: readonly string[], threshold: number): Promise<ConsortiumManifest>;
|
|
16
|
+
getCurrentManifest(): ConsortiumManifest | null;
|
|
17
|
+
updateManifest(manifest: ConsortiumManifest): void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* EmbeddedManifestProvider — the production provider for the COMPILED-IN consortium roster
|
|
21
|
+
* (FINDING-4). Identical trust gate to FileManifestProvider (threshold officer-signature
|
|
22
|
+
* verification via `verifyManifest`, rejects an empty node set) but the manifest is an in-memory
|
|
23
|
+
* constant compiled into the client rather than a file on disk. This is what the daemon wires by
|
|
24
|
+
* default (no CELLO_CONSORTIUM_MANIFEST override), so the roster and step-6 directory-auth anchor
|
|
25
|
+
* are always present — they cannot be lost by a missing package file or a skipped build-copy step,
|
|
26
|
+
* and a corrupt/mis-signed embedded manifest fails CLOSED at load (ADV-002) rather than silently
|
|
27
|
+
* degrading. Expiry / version monotonicity remain the daemon's policy layer, exactly as for
|
|
28
|
+
* FileManifestProvider (see that class's note) — this provider does structure + signatures only.
|
|
29
|
+
*/
|
|
30
|
+
export declare class EmbeddedManifestProvider implements IManifestProvider {
|
|
31
|
+
#private;
|
|
32
|
+
constructor(input: ConsortiumManifestInput);
|
|
33
|
+
loadAndVerify(rootKeys: readonly string[], threshold: number): Promise<ConsortiumManifest>;
|
|
34
|
+
getCurrentManifest(): ConsortiumManifest | null;
|
|
35
|
+
updateManifest(manifest: ConsortiumManifest): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=file-manifest-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-manifest-provider.d.ts","sourceRoot":"","sources":["../src/file-manifest-provider.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAkB,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK5C;AAED,MAAM,WAAW,wBAAwB;IACvC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,oBAAqB,YAAW,iBAAiB;;gBAIhD,IAAI,EAAE,wBAAwB;IAIpC,aAAa,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2BhG,kBAAkB,IAAI,kBAAkB,GAAG,IAAI;IAI/C,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CAGnD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;;gBAIpD,KAAK,EAAE,uBAAuB;IAI1C,aAAa,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS1F,kBAAkB,IAAI,kBAAkB,GAAG,IAAI;IAI/C,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CAGnD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileManifestProvider — the production IManifestProvider (M7-MANIFEST-001/002).
|
|
3
|
+
*
|
|
4
|
+
* Reads a consortium manifest JSON from disk, verifies its threshold officer
|
|
5
|
+
* signatures against the configured root keys (RFC 8032 / Ed25519 via
|
|
6
|
+
* `verifyManifest`), enforces the not_before/expires validity window, and caches
|
|
7
|
+
* the result for getCurrentManifest(). This is the real counterpart to the
|
|
8
|
+
* test-only `TestManifestProvider` (which skips verification): it is what the
|
|
9
|
+
* cello-daemon binary wires when a manifest is configured, so step-6 directory
|
|
10
|
+
* auth (DOD-AUTH-1) reads node pubkeys from a manifest that has actually been
|
|
11
|
+
* verified, and a tampered / expired / rolled-back manifest is refused at load
|
|
12
|
+
* (DOD-AUTH-2 / TUF).
|
|
13
|
+
*
|
|
14
|
+
* Scope — signatures + structure ONLY. loadAndVerify verifies the threshold officer
|
|
15
|
+
* signatures and rejects an empty node set; it deliberately does NOT enforce the
|
|
16
|
+
* not_before/expires validity window or version monotonicity. That policy lives in
|
|
17
|
+
* the daemon (startDaemon), which checks the window after loadAndVerify returns and
|
|
18
|
+
* emits the named events `directory.auth.manifest.expired` /
|
|
19
|
+
* `directory.auth.manifest.version.rollback`. If this provider threw on expiry, it
|
|
20
|
+
* would preempt those named events (the daemon would only see `manifest.load.failed`)
|
|
21
|
+
* and make the daemon's policy layer dead code. Anchoring to the daemon's actual
|
|
22
|
+
* behaviour keeps the observability taxonomy intact (DOD-INV-6/8).
|
|
23
|
+
*/
|
|
24
|
+
import { readFileSync } from "node:fs";
|
|
25
|
+
import { verifyManifest } from "@cello-protocol/crypto";
|
|
26
|
+
import { extractErrorMessage } from "./error-message.js";
|
|
27
|
+
export class ManifestLoadError extends Error {
|
|
28
|
+
reason;
|
|
29
|
+
constructor(reason, detail) {
|
|
30
|
+
super(detail ? `${reason}: ${detail}` : reason);
|
|
31
|
+
this.name = "ManifestLoadError";
|
|
32
|
+
this.reason = reason;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export class FileManifestProvider {
|
|
36
|
+
#path;
|
|
37
|
+
#manifest = null;
|
|
38
|
+
constructor(opts) {
|
|
39
|
+
this.#path = opts.path;
|
|
40
|
+
}
|
|
41
|
+
async loadAndVerify(rootKeys, threshold) {
|
|
42
|
+
let raw;
|
|
43
|
+
try {
|
|
44
|
+
raw = readFileSync(this.#path, "utf8");
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
throw new ManifestLoadError("manifest_unreadable", extractErrorMessage(err));
|
|
48
|
+
}
|
|
49
|
+
let parsed;
|
|
50
|
+
try {
|
|
51
|
+
parsed = JSON.parse(raw);
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
throw new ManifestLoadError("manifest_malformed", extractErrorMessage(err));
|
|
55
|
+
}
|
|
56
|
+
// Threshold officer-signature verification (RFC 8032). verifyManifest also
|
|
57
|
+
// rejects an empty node set. This is the TUF root-of-trust gate. Expiry / version
|
|
58
|
+
// monotonicity are enforced by the daemon (named events), not here.
|
|
59
|
+
const result = verifyManifest(parsed, rootKeys, threshold);
|
|
60
|
+
if (!result.ok) {
|
|
61
|
+
throw new ManifestLoadError("manifest_signature_invalid", result.detail);
|
|
62
|
+
}
|
|
63
|
+
this.#manifest = parsed;
|
|
64
|
+
return parsed;
|
|
65
|
+
}
|
|
66
|
+
getCurrentManifest() {
|
|
67
|
+
return this.#manifest;
|
|
68
|
+
}
|
|
69
|
+
updateManifest(manifest) {
|
|
70
|
+
this.#manifest = manifest;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* EmbeddedManifestProvider — the production provider for the COMPILED-IN consortium roster
|
|
75
|
+
* (FINDING-4). Identical trust gate to FileManifestProvider (threshold officer-signature
|
|
76
|
+
* verification via `verifyManifest`, rejects an empty node set) but the manifest is an in-memory
|
|
77
|
+
* constant compiled into the client rather than a file on disk. This is what the daemon wires by
|
|
78
|
+
* default (no CELLO_CONSORTIUM_MANIFEST override), so the roster and step-6 directory-auth anchor
|
|
79
|
+
* are always present — they cannot be lost by a missing package file or a skipped build-copy step,
|
|
80
|
+
* and a corrupt/mis-signed embedded manifest fails CLOSED at load (ADV-002) rather than silently
|
|
81
|
+
* degrading. Expiry / version monotonicity remain the daemon's policy layer, exactly as for
|
|
82
|
+
* FileManifestProvider (see that class's note) — this provider does structure + signatures only.
|
|
83
|
+
*/
|
|
84
|
+
export class EmbeddedManifestProvider {
|
|
85
|
+
#input;
|
|
86
|
+
#manifest = null;
|
|
87
|
+
constructor(input) {
|
|
88
|
+
this.#input = input;
|
|
89
|
+
}
|
|
90
|
+
loadAndVerify(rootKeys, threshold) {
|
|
91
|
+
const result = verifyManifest(this.#input, rootKeys, threshold);
|
|
92
|
+
if (!result.ok) {
|
|
93
|
+
return Promise.reject(new ManifestLoadError("manifest_signature_invalid", result.detail));
|
|
94
|
+
}
|
|
95
|
+
this.#manifest = this.#input;
|
|
96
|
+
return Promise.resolve(this.#manifest);
|
|
97
|
+
}
|
|
98
|
+
getCurrentManifest() {
|
|
99
|
+
return this.#manifest;
|
|
100
|
+
}
|
|
101
|
+
updateManifest(manifest) {
|
|
102
|
+
this.#manifest = manifest;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=file-manifest-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-manifest-provider.js","sourceRoot":"","sources":["../src/file-manifest-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-values.d.ts","sourceRoot":"","sources":["../src/frame-values.ts"],"names":[],"mappings":"AAUA,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAKzD;AAQD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAsDrE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire-frame value helpers, shared by the seal coordinator and the session-event handlers.
|
|
3
|
+
*
|
|
4
|
+
* Pure: no daemon state, no closure. They lived inside startDaemon only because everything did.
|
|
5
|
+
*/
|
|
6
|
+
import { Buffer } from "node:buffer";
|
|
7
|
+
// CBOR-decoded byte fields arrive as Uint8Array or Buffer; a field may also already be
|
|
8
|
+
// a hex string. Hex strings are lowercased so the case-sensitive agent-pubkey match
|
|
9
|
+
// (agents store lowercase hex) cannot silently miss (review L2).
|
|
10
|
+
export function frameValueToHex(v) {
|
|
11
|
+
if (v instanceof Uint8Array)
|
|
12
|
+
return Buffer.from(v).toString("hex");
|
|
13
|
+
if (Buffer.isBuffer(v))
|
|
14
|
+
return Buffer.from(v).toString("hex");
|
|
15
|
+
if (typeof v === "string")
|
|
16
|
+
return v.toLowerCase();
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
// M7-SESSION-004 (AC-005): normalise the wire `legibility` object — CBOR-decoded, so pubkeys
|
|
20
|
+
// arrive as Uint8Array/Buffer — into a JSON-safe certificate with hex-encoded pubkeys. Returns
|
|
21
|
+
// undefined for an absent or structurally-implausible object (pre-M7 frame, or a malformed
|
|
22
|
+
// field), in which case nothing is persisted and the seal still completes. The constants
|
|
23
|
+
// (attests/disclaimer) and the integers/booleans are carried
|
|
24
|
+
// verbatim; only the byte fields are re-encoded. The daemon never invents or alters the
|
|
25
|
+
// certificate's meaning — it is the directory's derivation, surfaced.
|
|
26
|
+
export function normalizeLegibility(raw) {
|
|
27
|
+
if (!raw || typeof raw !== "object")
|
|
28
|
+
return undefined;
|
|
29
|
+
const o = raw;
|
|
30
|
+
if (o["attests"] !== "receipt")
|
|
31
|
+
return undefined;
|
|
32
|
+
const participantsRaw = o["participants"];
|
|
33
|
+
const finalRaw = o["final_message"];
|
|
34
|
+
if (!Array.isArray(participantsRaw) || !finalRaw || typeof finalRaw !== "object")
|
|
35
|
+
return undefined;
|
|
36
|
+
// Review finding (low): the disclaimer states what the certificate attests; a non-string value
|
|
37
|
+
// means a malformed/tampered frame, so REJECT the whole cert rather than surface a half-formed one.
|
|
38
|
+
if (typeof o["disclaimer"] !== "string" || o["disclaimer"].length === 0)
|
|
39
|
+
return undefined;
|
|
40
|
+
// Review finding (low): validate attestation_mode against the closed enum — never surface an
|
|
41
|
+
// arbitrary string from a malformed frame on the cert read surface (defensive parity with the
|
|
42
|
+
// coerced fields). An out-of-enum value rejects the whole cert.
|
|
43
|
+
const VALID_MODES = new Set(["live", "recovered", "absent"]);
|
|
44
|
+
const participants = [];
|
|
45
|
+
for (const p of participantsRaw) {
|
|
46
|
+
const pp = p;
|
|
47
|
+
const mode = pp["attestation_mode"];
|
|
48
|
+
if (typeof mode !== "string" || !VALID_MODES.has(mode))
|
|
49
|
+
return undefined;
|
|
50
|
+
participants.push({
|
|
51
|
+
pubkey: frameValueToHex(pp["pubkey"]),
|
|
52
|
+
content_frontier_seq: typeof pp["content_frontier_seq"] === "number" ? pp["content_frontier_seq"] : null,
|
|
53
|
+
last_authored_seq: typeof pp["last_authored_seq"] === "number" ? pp["last_authored_seq"] : null,
|
|
54
|
+
attestation_mode: mode,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
const fm = finalRaw;
|
|
58
|
+
const final_message = {
|
|
59
|
+
sender_pubkey: frameValueToHex(fm["sender_pubkey"]),
|
|
60
|
+
seq: typeof fm["seq"] === "number" ? fm["seq"] : null,
|
|
61
|
+
answered: fm["answered"] === true,
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
attests: "receipt",
|
|
65
|
+
disclaimer: o["disclaimer"],
|
|
66
|
+
participants,
|
|
67
|
+
final_message,
|
|
68
|
+
/**
|
|
69
|
+
* ⚠️ `countersigned_through_seq` IS DELIBERATELY NOT SET HERE — `DOD-M15-UNILATERAL-1`, F2.
|
|
70
|
+
*
|
|
71
|
+
* It was, computed from the participants just above, and described as "recomputed, cannot be
|
|
72
|
+
* steered". Those participants come off the WIRE. On a solo seal the certificate's TBS binds no
|
|
73
|
+
* legibility at all, and the client verifies only the live party's frontier — so the absent
|
|
74
|
+
* party's numbers, which are exactly the ones that decide this boundary, arrive unchecked.
|
|
75
|
+
* Deriving from them looked like verification and was arithmetic on somebody else's claim.
|
|
76
|
+
*
|
|
77
|
+
* The boundary is stamped by the seal coordinator instead, from this daemon's own signed carry
|
|
78
|
+
* (`countersignedThroughSeqFromCarry`), where the counterparty's own signature covers both
|
|
79
|
+
* inputs. Absent here means "not yet derived", and a receipt that reaches persistence without it
|
|
80
|
+
* says the boundary could not be established rather than guessing one.
|
|
81
|
+
*/
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=frame-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-values.js","sourceRoot":"","sources":["../src/frame-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOD-FRONTIER-STRAND-1 AC3 — a frontier mismatch, once seen, STAYS seen.
|
|
3
|
+
*
|
|
4
|
+
* Session `dbb93dfc…` sat unsealable for a week and nothing anywhere said so. A close was attempted,
|
|
5
|
+
* refused with `seal_interrupted_rejected_by_counterparty`, and that was the end of it: the refusal
|
|
6
|
+
* was a transient string in one command's output. `cello_sessions` went on listing the session as
|
|
7
|
+
* plain `interrupted` — indistinguishable from one that is merely paused and will seal fine the
|
|
8
|
+
* moment both parties are online. The operator had no way to tell "waiting" from "will never seal".
|
|
9
|
+
*
|
|
10
|
+
* So detection is not the gap; RETENTION is. The two frontiers can only be compared when the two
|
|
11
|
+
* sides talk, which is the seal attempt — that is inherent, not a defect. What was missing is that
|
|
12
|
+
* the answer was thrown away the instant it was produced, so the only way to learn the session was
|
|
13
|
+
* stranded was to attempt another close and read the error again.
|
|
14
|
+
*
|
|
15
|
+
* This is in-memory on purpose, and the trade is stated rather than hidden: it survives for the
|
|
16
|
+
* daemon's lifetime, not across a restart. Persisting it means a client-side schema migration on
|
|
17
|
+
* every operator's machine (AC3 does not ask for one), and a mismatch is re-detected by the very
|
|
18
|
+
* next close attempt anyway — so a restart costs one re-detection, never a wrong answer. What it
|
|
19
|
+
* must never do is report a mismatch that is no longer true, which is why `clear()` exists and the
|
|
20
|
+
* seal path calls it on success.
|
|
21
|
+
*/
|
|
22
|
+
/** The two frontiers, as the parties reported them, plus where they part company. */
|
|
23
|
+
export interface FrontierMismatch {
|
|
24
|
+
/** Leaf count on THIS side. */
|
|
25
|
+
readonly ours: number;
|
|
26
|
+
/** Leaf count the counterparty reported. */
|
|
27
|
+
readonly theirs: number;
|
|
28
|
+
/** First index at which the two records can differ — the shorter side simply stops there. */
|
|
29
|
+
readonly divergingLeafIndex: number;
|
|
30
|
+
/** Epoch ms, so the operator can see whether this is fresh or a week old. */
|
|
31
|
+
readonly observedAtMs: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Eviction is FIFO-BY-WRITE, not LRU (review L2). `record()` refreshes an entry's position;
|
|
35
|
+
* `get()` does not. Named accurately because the victim differs: a long-lived strand READ daily
|
|
36
|
+
* but never re-observed is evicted ahead of a fresher unread one. That is acceptable here — a
|
|
37
|
+
* mismatch is re-recorded on every close attempt, so anything actively being worked on is written,
|
|
38
|
+
* not merely read — but calling it LRU would set the wrong expectation for whoever tunes it next.
|
|
39
|
+
*/
|
|
40
|
+
export declare class FrontierMismatchStore {
|
|
41
|
+
#private;
|
|
42
|
+
/**
|
|
43
|
+
* Record a mismatch observed during a seal exchange. Overwrites any prior observation for the
|
|
44
|
+
* same session — the newest numbers are the true ones, and a stale pair would be worse than none.
|
|
45
|
+
*/
|
|
46
|
+
record(agentName: string, sessionId: string, m: Omit<FrontierMismatch, "observedAtMs">, nowMs: number): void;
|
|
47
|
+
/** What was observed for this session, or null. */
|
|
48
|
+
get(agentName: string, sessionId: string): FrontierMismatch | null;
|
|
49
|
+
/**
|
|
50
|
+
* Forget a session's mismatch.
|
|
51
|
+
*
|
|
52
|
+
* Called when a seal SUCCEEDS: the frontiers evidently agree now, so continuing to flag the
|
|
53
|
+
* session would be the same defect pointing the other way — an operator told a healthy session is
|
|
54
|
+
* stranded stops believing the flag, and the next real strand reads as noise.
|
|
55
|
+
*/
|
|
56
|
+
clear(agentName: string, sessionId: string): void;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Render a retained mismatch for the session list.
|
|
60
|
+
*
|
|
61
|
+
* Extracted rather than left inline in `daemon.ts` so it can be TESTED: the AC asks for a
|
|
62
|
+
* `cello_sessions` field, and an inline closure inside `buildInterruptedSessions` can only be
|
|
63
|
+
* reached by standing up a whole daemon and driving a real seal exchange. A pure function is the
|
|
64
|
+
* honest seam — the store is tested above, this is tested directly, and `daemon.ts` just calls it.
|
|
65
|
+
*/
|
|
66
|
+
export declare function renderFrontierMismatch(m: FrontierMismatch, sessionId: string): {
|
|
67
|
+
ours: number;
|
|
68
|
+
theirs: number;
|
|
69
|
+
divergingLeafIndex: number;
|
|
70
|
+
observedAt: string;
|
|
71
|
+
guidance: string;
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=frontier-mismatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontier-mismatch.d.ts","sourceRoot":"","sources":["../src/frontier-mismatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AASD;;;;;;GAMG;AAEH,qBAAa,qBAAqB;;IAOhC;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAW5G,mDAAmD;IACnD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAIlE;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAGlD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,gBAAgB,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAUpG"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOD-FRONTIER-STRAND-1 AC3 — a frontier mismatch, once seen, STAYS seen.
|
|
3
|
+
*
|
|
4
|
+
* Session `dbb93dfc…` sat unsealable for a week and nothing anywhere said so. A close was attempted,
|
|
5
|
+
* refused with `seal_interrupted_rejected_by_counterparty`, and that was the end of it: the refusal
|
|
6
|
+
* was a transient string in one command's output. `cello_sessions` went on listing the session as
|
|
7
|
+
* plain `interrupted` — indistinguishable from one that is merely paused and will seal fine the
|
|
8
|
+
* moment both parties are online. The operator had no way to tell "waiting" from "will never seal".
|
|
9
|
+
*
|
|
10
|
+
* So detection is not the gap; RETENTION is. The two frontiers can only be compared when the two
|
|
11
|
+
* sides talk, which is the seal attempt — that is inherent, not a defect. What was missing is that
|
|
12
|
+
* the answer was thrown away the instant it was produced, so the only way to learn the session was
|
|
13
|
+
* stranded was to attempt another close and read the error again.
|
|
14
|
+
*
|
|
15
|
+
* This is in-memory on purpose, and the trade is stated rather than hidden: it survives for the
|
|
16
|
+
* daemon's lifetime, not across a restart. Persisting it means a client-side schema migration on
|
|
17
|
+
* every operator's machine (AC3 does not ask for one), and a mismatch is re-detected by the very
|
|
18
|
+
* next close attempt anyway — so a restart costs one re-detection, never a wrong answer. What it
|
|
19
|
+
* must never do is report a mismatch that is no longer true, which is why `clear()` exists and the
|
|
20
|
+
* seal path calls it on success.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Bound: a daemon can hold many sessions over its lifetime and this map is never swept by anything
|
|
24
|
+
* else. An unstated cap is a silent truncation, so it is named here and enforced by eviction of the
|
|
25
|
+
* least-recently-written entry.
|
|
26
|
+
*/
|
|
27
|
+
const MAX_TRACKED_SESSIONS = 256;
|
|
28
|
+
/**
|
|
29
|
+
* Eviction is FIFO-BY-WRITE, not LRU (review L2). `record()` refreshes an entry's position;
|
|
30
|
+
* `get()` does not. Named accurately because the victim differs: a long-lived strand READ daily
|
|
31
|
+
* but never re-observed is evicted ahead of a fresher unread one. That is acceptable here — a
|
|
32
|
+
* mismatch is re-recorded on every close attempt, so anything actively being worked on is written,
|
|
33
|
+
* not merely read — but calling it LRU would set the wrong expectation for whoever tunes it next.
|
|
34
|
+
*/
|
|
35
|
+
export class FrontierMismatchStore {
|
|
36
|
+
#byKey = new Map();
|
|
37
|
+
static #key(agentName, sessionId) {
|
|
38
|
+
return `${agentName}\u0000${sessionId}`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Record a mismatch observed during a seal exchange. Overwrites any prior observation for the
|
|
42
|
+
* same session — the newest numbers are the true ones, and a stale pair would be worse than none.
|
|
43
|
+
*/
|
|
44
|
+
record(agentName, sessionId, m, nowMs) {
|
|
45
|
+
const key = FrontierMismatchStore.#key(agentName, sessionId);
|
|
46
|
+
this.#byKey.delete(key); // re-insert so this session moves to the young end of the eviction order
|
|
47
|
+
this.#byKey.set(key, { ...m, observedAtMs: nowMs });
|
|
48
|
+
while (this.#byKey.size > MAX_TRACKED_SESSIONS) {
|
|
49
|
+
const oldest = this.#byKey.keys().next();
|
|
50
|
+
if (oldest.done === true)
|
|
51
|
+
break;
|
|
52
|
+
this.#byKey.delete(oldest.value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** What was observed for this session, or null. */
|
|
56
|
+
get(agentName, sessionId) {
|
|
57
|
+
return this.#byKey.get(FrontierMismatchStore.#key(agentName, sessionId)) ?? null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Forget a session's mismatch.
|
|
61
|
+
*
|
|
62
|
+
* Called when a seal SUCCEEDS: the frontiers evidently agree now, so continuing to flag the
|
|
63
|
+
* session would be the same defect pointing the other way — an operator told a healthy session is
|
|
64
|
+
* stranded stops believing the flag, and the next real strand reads as noise.
|
|
65
|
+
*/
|
|
66
|
+
clear(agentName, sessionId) {
|
|
67
|
+
this.#byKey.delete(FrontierMismatchStore.#key(agentName, sessionId));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Render a retained mismatch for the session list.
|
|
72
|
+
*
|
|
73
|
+
* Extracted rather than left inline in `daemon.ts` so it can be TESTED: the AC asks for a
|
|
74
|
+
* `cello_sessions` field, and an inline closure inside `buildInterruptedSessions` can only be
|
|
75
|
+
* reached by standing up a whole daemon and driving a real seal exchange. A pure function is the
|
|
76
|
+
* honest seam — the store is tested above, this is tested directly, and `daemon.ts` just calls it.
|
|
77
|
+
*/
|
|
78
|
+
export function renderFrontierMismatch(m, sessionId) {
|
|
79
|
+
return {
|
|
80
|
+
ours: m.ours,
|
|
81
|
+
theirs: m.theirs,
|
|
82
|
+
divergingLeafIndex: m.divergingLeafIndex,
|
|
83
|
+
observedAt: new Date(m.observedAtMs).toISOString(),
|
|
84
|
+
// Says what is wrong, then what to do, then why it is terminal — an operator reading this on a
|
|
85
|
+
// week-old session needs all three, and the old refusal gave none of them.
|
|
86
|
+
guidance: `This session cannot seal: you hold ${m.ours} messages, the counterparty holds ${m.theirs}, and the records diverge at leaf ${m.divergingLeafIndex}. Compare that message on both transcripts with cello_transcript ${sessionId}. A leaf that only one side recorded can never be co-signed.`,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=frontier-mismatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontier-mismatch.js","sourceRoot":"","sources":["../src/frontier-mismatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAcH;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;;;;GAMG;AAEH,MAAM,OAAO,qBAAqB;IACvB,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,SAAiB,EAAE,SAAiB;QAC9C,OAAO,GAAG,SAAS,SAAS,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAiB,EAAE,SAAiB,EAAE,CAAyC,EAAE,KAAa;QACnG,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,yEAAyE;QAClG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,oBAAoB,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM;YAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,GAAG,CAAC,SAAiB,EAAE,SAAiB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IACnF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAiB,EAAE,SAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,CAAmB,EACnB,SAAiB;IAEjB,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;QACxC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;QAClD,+FAA+F;QAC/F,2EAA2E;QAC3E,QAAQ,EAAE,sCAAsC,CAAC,CAAC,IAAI,qCAAqC,CAAC,CAAC,MAAM,qCAAqC,CAAC,CAAC,kBAAkB,oEAAoE,SAAS,8DAA8D;KACxS,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IpcHandler } from "./ipc-server.js";
|
|
2
|
+
import type { Logger } from "./types.js";
|
|
3
|
+
/** The five keys the gateway reads. Kept here so the surface can list them without a store open. */
|
|
4
|
+
export declare const GATEWAY_CONFIG_KEYS: readonly ["autonomous_override", "pii_whitelist", "language_allow", "rate_max_per_window", "rate_window_ms"];
|
|
5
|
+
export interface GatewayConfigHandlerDeps {
|
|
6
|
+
handlers: Map<string, IpcHandler>;
|
|
7
|
+
celloDir: string;
|
|
8
|
+
logger: Logger;
|
|
9
|
+
/** Read this connection's declared client type — `"mcp"` or `"cli"` (M9B-D15). */
|
|
10
|
+
getClientType: (connectionId: string) => string | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Restart the screening sidecar so a stored change actually applies (M9B-D17). Supplied by the
|
|
13
|
+
* composition root, which owns the sidecar's lifecycle. Absent in tests that assert storage only.
|
|
14
|
+
*/
|
|
15
|
+
restartSecurityGateway?: (correlationId?: string) => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Release the held store handles (review F9). Safe in production either way — the bin calls
|
|
19
|
+
* `process.exit(0)` and a sqlcipher handle blocks nothing — but `stop()` had no way to let go, and
|
|
20
|
+
* the daemon explicitly supports in-process callers (vitest, embedders) for exactly this class of
|
|
21
|
+
* leak. MUST run AFTER `onShutdown` tears the sidecar down: while the sidecar lives, closing here
|
|
22
|
+
* would be the very unlink that F1/F2 is about.
|
|
23
|
+
*/
|
|
24
|
+
export type GatewayConfigDisposer = () => void;
|
|
25
|
+
export declare function registerGatewayConfigHandlers(deps: GatewayConfigHandlerDeps): GatewayConfigDisposer;
|
|
26
|
+
//# sourceMappingURL=gateway-config-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-config-handlers.d.ts","sourceRoot":"","sources":["../src/gateway-config-handlers.ts"],"names":[],"mappings":"AAyDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,8GAMtB,CAAC;AAWX,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAiED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC;AAE/C,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,wBAAwB,GAAG,qBAAqB,CAiTnG"}
|