@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,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proving that ONE message sits under the root the directory notarized.
|
|
3
|
+
*
|
|
4
|
+
* ─── WHAT MAKES THIS A PROOF AND NOT A DATA STRUCTURE ────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* Two things, and both are easy to get wrong in a way that still looks like a proof.
|
|
7
|
+
*
|
|
8
|
+
* **1. The root comes from the CERTIFICATE, never from the proof.** A proof that carries its own
|
|
9
|
+
* root and is checked against it proves that the machine which wrote the proof is self-consistent —
|
|
10
|
+
* and that machine is the one a sceptic distrusts. So `verifyInclusionProof` REQUIRES the root as a
|
|
11
|
+
* separate argument, supplied by whoever holds the directory-signed certificate, and the root inside
|
|
12
|
+
* the proof is only ever compared to it. Drop that argument and the whole file becomes theatre.
|
|
13
|
+
*
|
|
14
|
+
* **2. The leaf is recomputed from the MESSAGE BYTES, never taken from the proof.** The Merkle leaf
|
|
15
|
+
* is a content hash, and since `DOD-M15-SEALWIRE-1` that hash is `HMAC-SHA256(salt, 0x00 ‖ content)`
|
|
16
|
+
* for a salted session. A proof over the leaf hash alone answers "is this opaque 32-byte number in
|
|
17
|
+
* the tree", and the operator's question is about a sentence. So the salt and the algorithm NAME
|
|
18
|
+
* travel with the proof, the verifier recomputes the leaf from the plaintext it holds, and a message
|
|
19
|
+
* that differs by one byte produces a different leaf and fails — which is the assertion the whole
|
|
20
|
+
* feature exists to make.
|
|
21
|
+
*
|
|
22
|
+
* Neither hash nor Merkle maths is reimplemented here. `contentHashFor` (wire-content-hash.ts) is
|
|
23
|
+
* the daemon's ONE content-hash derivation and `verifyInclusion` (@cello-protocol/crypto) is the ONE
|
|
24
|
+
* RFC 6962 verifier. A second copy of either drifts from the seal, and the drift surfaces as a lost
|
|
25
|
+
* dispute rather than as a failing test.
|
|
26
|
+
*
|
|
27
|
+
* Crypto refs: RFC 6962 §2.1.1 (Merkle audit paths), RFC 2104 (HMAC), FIPS 180-4 (SHA-256).
|
|
28
|
+
*/
|
|
29
|
+
import { type ContentHashAlg } from "./wire-content-hash.js";
|
|
30
|
+
/** Everything a third party needs alongside the message bytes and the certificate. */
|
|
31
|
+
export interface InclusionProof {
|
|
32
|
+
/** Proof format version. Bumped when any field below changes meaning. */
|
|
33
|
+
readonly version: 1;
|
|
34
|
+
/** The session this proof is about, hex — so a proof cannot be silently read against another. */
|
|
35
|
+
readonly session_id: string;
|
|
36
|
+
/**
|
|
37
|
+
* The root this proof lands on, hex. NOT authoritative on its own: `verifyInclusionProof`
|
|
38
|
+
* compares it to the root the caller took from the certificate and refuses if they differ.
|
|
39
|
+
*/
|
|
40
|
+
readonly certified_root: string;
|
|
41
|
+
/** Zero-based position of this message's leaf under the certified root. */
|
|
42
|
+
readonly leaf_index: number;
|
|
43
|
+
/** How many leaves the certified root covers (content leaves AND the seal's control leaves). */
|
|
44
|
+
readonly leaf_count: number;
|
|
45
|
+
/** The leaf hash this proof is for, hex — recomputed by the verifier, never trusted from here. */
|
|
46
|
+
readonly leaf_hash: string;
|
|
47
|
+
/** RFC 6962 §2.1.1 audit path: sibling hashes, hex, leaf level upward. */
|
|
48
|
+
readonly proof_path: readonly string[];
|
|
49
|
+
/** How the leaf hash is derived from the message bytes. Named, never assumed. */
|
|
50
|
+
readonly content_hash_alg: ContentHashAlg;
|
|
51
|
+
/**
|
|
52
|
+
* The session salt, hex. Required — this build issues salted proofs only, and a proof carrying no
|
|
53
|
+
* salt is refused rather than checked. The type stays nullable because the shape check runs over
|
|
54
|
+
* an object off the wire, and "carried null" must be refusable BY NAME rather than by a crash.
|
|
55
|
+
*/
|
|
56
|
+
readonly content_salt: string | null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Why a verification did not conclude "verified".
|
|
60
|
+
*
|
|
61
|
+
* A CLOSED set with a total guidance map below, so a new code cannot be added without something the
|
|
62
|
+
* reader can act on. `message_does_not_match_leaf` and `proof_path_invalid` are the two that mean
|
|
63
|
+
* "the proof is bad"; the rest mean "this proof was not checkable as presented".
|
|
64
|
+
*/
|
|
65
|
+
export declare const INCLUSION_VERIFY_REASONS: {
|
|
66
|
+
/** The proof object is not a v1 proof, or a field is missing / the wrong width. */
|
|
67
|
+
readonly PROOF_MALFORMED: "proof_malformed";
|
|
68
|
+
/** The proof names a root that is not the one in the certificate the caller holds. */
|
|
69
|
+
readonly ROOT_NOT_FROM_CERTIFICATE: "root_not_from_certificate";
|
|
70
|
+
/**
|
|
71
|
+
* The root SUPPLIED by the caller is not a 32-byte hex value — so there is nothing to compare.
|
|
72
|
+
*
|
|
73
|
+
* Separate from the reason above because that one's guidance says *"the proof lands on a DIFFERENT
|
|
74
|
+
* root than the certificate you supplied"*, and for a truncated paste or a stray quote that is
|
|
75
|
+
* false: no root was supplied at all. Naming the exit point instead of the cause is the defect
|
|
76
|
+
* Invariant 3 is about, and it costs an operator the one thing they can actually fix.
|
|
77
|
+
*/
|
|
78
|
+
readonly CERTIFIED_ROOT_MALFORMED: "certified_root_malformed";
|
|
79
|
+
/** The proof names a hash algorithm this build cannot reproduce. */
|
|
80
|
+
readonly UNKNOWN_HASH_ALG: "unknown_content_hash_alg";
|
|
81
|
+
/**
|
|
82
|
+
* The proof is over an UNSALTED content hash. Refused rather than checked.
|
|
83
|
+
*
|
|
84
|
+
* There is no compatibility branch here on purpose. An unsalted leaf hash is `sha256(0x00 ‖
|
|
85
|
+
* content)` — a value anyone holding the plaintext can compute, so it correlates the message
|
|
86
|
+
* across every record that carries it, which is exactly what the session salt exists to stop.
|
|
87
|
+
* Verifying one anyway would hand back `ok: true` for a proof carrying strictly weaker protection
|
|
88
|
+
* than the one this build issues, under the same word.
|
|
89
|
+
*/
|
|
90
|
+
readonly UNSALTED_PROOF: "unsalted_proof_refused";
|
|
91
|
+
/** The salted algorithm was named and no salt was carried. */
|
|
92
|
+
readonly SALT_MISSING: "salt_missing";
|
|
93
|
+
/** The message hashes to a different leaf than the proof is for — the message was altered. */
|
|
94
|
+
readonly MESSAGE_DOES_NOT_MATCH_LEAF: "message_does_not_match_leaf";
|
|
95
|
+
/** The audit path does not reconstruct the certified root from this leaf at this index. */
|
|
96
|
+
readonly PROOF_PATH_INVALID: "proof_path_invalid";
|
|
97
|
+
};
|
|
98
|
+
export type InclusionVerifyReason = (typeof INCLUSION_VERIFY_REASONS)[keyof typeof INCLUSION_VERIFY_REASONS];
|
|
99
|
+
/** What the reader should DO about each. Total over the union by construction. */
|
|
100
|
+
export declare const INCLUSION_VERIFY_GUIDANCE: Record<InclusionVerifyReason, string>;
|
|
101
|
+
export type InclusionVerifyResult = {
|
|
102
|
+
ok: true;
|
|
103
|
+
session_id: string;
|
|
104
|
+
leaf_index: number;
|
|
105
|
+
leaf_count: number;
|
|
106
|
+
certified_root: string;
|
|
107
|
+
content_hash_alg: ContentHashAlg;
|
|
108
|
+
/** Always false: no part of this check binds a session id. See the note at the return site. */
|
|
109
|
+
session_id_verified: false;
|
|
110
|
+
} | {
|
|
111
|
+
ok: false;
|
|
112
|
+
reason: InclusionVerifyReason;
|
|
113
|
+
detail: string;
|
|
114
|
+
guidance: string;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* The Merkle root over an ordered list of leaf HASHES (hex).
|
|
118
|
+
*
|
|
119
|
+
* `kind: "hash"` because these values already ARE leaf hashes — the certified root the directory
|
|
120
|
+
* signs is built the same way (`directory-node.ts`, over each leaf's `s2.content_hash`), and
|
|
121
|
+
* applying a leaf prefix here would produce a root nobody else computes.
|
|
122
|
+
*/
|
|
123
|
+
export declare function rootOverLeafHashes(leafHashesHex: readonly string[]): string;
|
|
124
|
+
/**
|
|
125
|
+
* Build the audit path for one leaf of a leaf-hash list.
|
|
126
|
+
*
|
|
127
|
+
* Delegates to `inclusionProof`. Deliberately NOT a local tree walk: the seal and the proof must
|
|
128
|
+
* come from the same Merkle implementation or they drift, and the drift is invisible until a real
|
|
129
|
+
* dispute.
|
|
130
|
+
*/
|
|
131
|
+
export declare function proofPathFor(leafHashesHex: readonly string[], index: number): string[];
|
|
132
|
+
/**
|
|
133
|
+
* Is this a structurally valid v1 proof? Shape only — says nothing about whether it verifies.
|
|
134
|
+
*
|
|
135
|
+
* Separated so the daemon's verify handler can refuse a malformed object by name before it reaches
|
|
136
|
+
* any hashing, and so a test can assert the two failure classes apart.
|
|
137
|
+
*/
|
|
138
|
+
export declare function isInclusionProofShape(value: unknown): value is InclusionProof;
|
|
139
|
+
/**
|
|
140
|
+
* VERIFY — the whole point of the file, and it touches no database.
|
|
141
|
+
*
|
|
142
|
+
* Three inputs and nothing else: the proof, the message bytes, and the root the caller took from the
|
|
143
|
+
* directory-signed certificate. That is what makes it runnable by a third party who has never seen
|
|
144
|
+
* the daemon that issued the proof.
|
|
145
|
+
*
|
|
146
|
+
* `certifiedRootHex` is REQUIRED and is the anchor. Making it optional — defaulting to the root
|
|
147
|
+
* inside the proof — would turn every call into the proof checking itself, which is the exact shape
|
|
148
|
+
* this feature exists to replace.
|
|
149
|
+
*/
|
|
150
|
+
export declare function verifyInclusionProof(proof: unknown, messageBytes: Uint8Array, certifiedRootHex: string): InclusionVerifyResult;
|
|
151
|
+
//# sourceMappingURL=inclusion-proof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclusion-proof.d.ts","sourceRoot":"","sources":["../src/inclusion-proof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAEhC,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,iGAAiG;IACjG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,kGAAkG;IAClG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC,mFAAmF;;IAEnF,sFAAsF;;IAEtF;;;;;;;OAOG;;IAEH,oEAAoE;;IAEpE;;;;;;;;OAQG;;IAEH,8DAA8D;;IAE9D,8FAA8F;;IAE9F,2FAA2F;;CAEnF,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAkC3E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,cAAc,CAAC;IACjC,+FAA+F;IAC/F,mBAAmB,EAAE,KAAK,CAAC;CAC5B,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAYnF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAG3E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAGtF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAkB7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM,GACvB,qBAAqB,CAgGvB"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proving that ONE message sits under the root the directory notarized.
|
|
3
|
+
*
|
|
4
|
+
* ─── WHAT MAKES THIS A PROOF AND NOT A DATA STRUCTURE ────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* Two things, and both are easy to get wrong in a way that still looks like a proof.
|
|
7
|
+
*
|
|
8
|
+
* **1. The root comes from the CERTIFICATE, never from the proof.** A proof that carries its own
|
|
9
|
+
* root and is checked against it proves that the machine which wrote the proof is self-consistent —
|
|
10
|
+
* and that machine is the one a sceptic distrusts. So `verifyInclusionProof` REQUIRES the root as a
|
|
11
|
+
* separate argument, supplied by whoever holds the directory-signed certificate, and the root inside
|
|
12
|
+
* the proof is only ever compared to it. Drop that argument and the whole file becomes theatre.
|
|
13
|
+
*
|
|
14
|
+
* **2. The leaf is recomputed from the MESSAGE BYTES, never taken from the proof.** The Merkle leaf
|
|
15
|
+
* is a content hash, and since `DOD-M15-SEALWIRE-1` that hash is `HMAC-SHA256(salt, 0x00 ‖ content)`
|
|
16
|
+
* for a salted session. A proof over the leaf hash alone answers "is this opaque 32-byte number in
|
|
17
|
+
* the tree", and the operator's question is about a sentence. So the salt and the algorithm NAME
|
|
18
|
+
* travel with the proof, the verifier recomputes the leaf from the plaintext it holds, and a message
|
|
19
|
+
* that differs by one byte produces a different leaf and fails — which is the assertion the whole
|
|
20
|
+
* feature exists to make.
|
|
21
|
+
*
|
|
22
|
+
* Neither hash nor Merkle maths is reimplemented here. `contentHashFor` (wire-content-hash.ts) is
|
|
23
|
+
* the daemon's ONE content-hash derivation and `verifyInclusion` (@cello-protocol/crypto) is the ONE
|
|
24
|
+
* RFC 6962 verifier. A second copy of either drifts from the seal, and the drift surfaces as a lost
|
|
25
|
+
* dispute rather than as a failing test.
|
|
26
|
+
*
|
|
27
|
+
* Crypto refs: RFC 6962 §2.1.1 (Merkle audit paths), RFC 2104 (HMAC), FIPS 180-4 (SHA-256).
|
|
28
|
+
*/
|
|
29
|
+
import { verifyInclusion, buildMerkleTree, merkleRoot, inclusionProof } from "@cello-protocol/crypto";
|
|
30
|
+
import { CONTENT_HASH_ALGS, contentHashFor, isKnownContentHashAlg, } from "./wire-content-hash.js";
|
|
31
|
+
/**
|
|
32
|
+
* Why a verification did not conclude "verified".
|
|
33
|
+
*
|
|
34
|
+
* A CLOSED set with a total guidance map below, so a new code cannot be added without something the
|
|
35
|
+
* reader can act on. `message_does_not_match_leaf` and `proof_path_invalid` are the two that mean
|
|
36
|
+
* "the proof is bad"; the rest mean "this proof was not checkable as presented".
|
|
37
|
+
*/
|
|
38
|
+
export const INCLUSION_VERIFY_REASONS = {
|
|
39
|
+
/** The proof object is not a v1 proof, or a field is missing / the wrong width. */
|
|
40
|
+
PROOF_MALFORMED: "proof_malformed",
|
|
41
|
+
/** The proof names a root that is not the one in the certificate the caller holds. */
|
|
42
|
+
ROOT_NOT_FROM_CERTIFICATE: "root_not_from_certificate",
|
|
43
|
+
/**
|
|
44
|
+
* The root SUPPLIED by the caller is not a 32-byte hex value — so there is nothing to compare.
|
|
45
|
+
*
|
|
46
|
+
* Separate from the reason above because that one's guidance says *"the proof lands on a DIFFERENT
|
|
47
|
+
* root than the certificate you supplied"*, and for a truncated paste or a stray quote that is
|
|
48
|
+
* false: no root was supplied at all. Naming the exit point instead of the cause is the defect
|
|
49
|
+
* Invariant 3 is about, and it costs an operator the one thing they can actually fix.
|
|
50
|
+
*/
|
|
51
|
+
CERTIFIED_ROOT_MALFORMED: "certified_root_malformed",
|
|
52
|
+
/** The proof names a hash algorithm this build cannot reproduce. */
|
|
53
|
+
UNKNOWN_HASH_ALG: "unknown_content_hash_alg",
|
|
54
|
+
/**
|
|
55
|
+
* The proof is over an UNSALTED content hash. Refused rather than checked.
|
|
56
|
+
*
|
|
57
|
+
* There is no compatibility branch here on purpose. An unsalted leaf hash is `sha256(0x00 ‖
|
|
58
|
+
* content)` — a value anyone holding the plaintext can compute, so it correlates the message
|
|
59
|
+
* across every record that carries it, which is exactly what the session salt exists to stop.
|
|
60
|
+
* Verifying one anyway would hand back `ok: true` for a proof carrying strictly weaker protection
|
|
61
|
+
* than the one this build issues, under the same word.
|
|
62
|
+
*/
|
|
63
|
+
UNSALTED_PROOF: "unsalted_proof_refused",
|
|
64
|
+
/** The salted algorithm was named and no salt was carried. */
|
|
65
|
+
SALT_MISSING: "salt_missing",
|
|
66
|
+
/** The message hashes to a different leaf than the proof is for — the message was altered. */
|
|
67
|
+
MESSAGE_DOES_NOT_MATCH_LEAF: "message_does_not_match_leaf",
|
|
68
|
+
/** The audit path does not reconstruct the certified root from this leaf at this index. */
|
|
69
|
+
PROOF_PATH_INVALID: "proof_path_invalid",
|
|
70
|
+
};
|
|
71
|
+
/** What the reader should DO about each. Total over the union by construction. */
|
|
72
|
+
export const INCLUSION_VERIFY_GUIDANCE = {
|
|
73
|
+
[INCLUSION_VERIFY_REASONS.PROOF_MALFORMED]: "This is not a well-formed CELLO inclusion proof. Ask whoever gave it to you for the exact JSON " +
|
|
74
|
+
"object cello_get_inclusion_proof returned — a proof that has been reformatted, truncated, or " +
|
|
75
|
+
"had fields renamed cannot be checked.",
|
|
76
|
+
[INCLUSION_VERIFY_REASONS.ROOT_NOT_FROM_CERTIFICATE]: "The proof lands on a DIFFERENT root than the certificate you supplied. It may be a proof for " +
|
|
77
|
+
"another session, or for an earlier seal of this one. Check the session id on both, and take the " +
|
|
78
|
+
"root from the certificate (cello_sealed_receipt reports it as sealed_root) — never from the proof.",
|
|
79
|
+
[INCLUSION_VERIFY_REASONS.CERTIFIED_ROOT_MALFORMED]: "The certified_root you supplied is not a 64-character hex value, so there was nothing to check " +
|
|
80
|
+
"the proof against and NOTHING about the proof has been established either way. Copy sealed_root " +
|
|
81
|
+
"from cello_sealed_receipt exactly — a truncated paste, an added quote or a stray newline is the " +
|
|
82
|
+
"usual cause.",
|
|
83
|
+
[INCLUSION_VERIFY_REASONS.UNKNOWN_HASH_ALG]: "The proof names a content-hash algorithm this build does not implement, so there is no value to " +
|
|
84
|
+
"compare against. This is a version difference, NOT evidence of tampering. Upgrade the client and " +
|
|
85
|
+
"check again before drawing any conclusion.",
|
|
86
|
+
[INCLUSION_VERIFY_REASONS.UNSALTED_PROOF]: "This proof is over an UNSALTED content hash, which this build does not accept — a leaf anyone " +
|
|
87
|
+
"holding the plaintext can recompute is the exact correlation the session salt exists to prevent. " +
|
|
88
|
+
"It has NOT been shown to be false; it has not been checked. Ask for a proof from a salted " +
|
|
89
|
+
"session (cello_sealed_receipt reports whether the session's content hashes are salted).",
|
|
90
|
+
[INCLUSION_VERIFY_REASONS.SALT_MISSING]: "The proof names the salted algorithm and carries no salt, so the leaf cannot be recomputed from " +
|
|
91
|
+
"the message. Ask for the proof to be re-issued; do not treat this as a failed verification.",
|
|
92
|
+
[INCLUSION_VERIFY_REASONS.MESSAGE_DOES_NOT_MATCH_LEAF]: "THE MESSAGE YOU SUPPLIED IS NOT THE ONE THIS PROOF IS ABOUT. Its bytes hash to a different leaf. " +
|
|
93
|
+
"Either the text was altered (even by one character, or by trailing whitespace a copy/paste added) " +
|
|
94
|
+
"or this proof belongs to a different message. Compare against the exact bytes from cello_transcript.",
|
|
95
|
+
[INCLUSION_VERIFY_REASONS.PROOF_PATH_INVALID]: "The audit path does not rebuild the certified root from this message. The proof does not " +
|
|
96
|
+
"establish that this message is in the sealed conversation. Ask for a freshly issued proof; if a " +
|
|
97
|
+
"fresh one fails the same way, the record and the certificate genuinely disagree.",
|
|
98
|
+
};
|
|
99
|
+
const HEX32 = /^[0-9a-f]{64}$/;
|
|
100
|
+
function hexToBytes(hex) {
|
|
101
|
+
return new Uint8Array(Buffer.from(hex, "hex"));
|
|
102
|
+
}
|
|
103
|
+
function bytesToHex(bytes) {
|
|
104
|
+
return Buffer.from(bytes).toString("hex");
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The Merkle root over an ordered list of leaf HASHES (hex).
|
|
108
|
+
*
|
|
109
|
+
* `kind: "hash"` because these values already ARE leaf hashes — the certified root the directory
|
|
110
|
+
* signs is built the same way (`directory-node.ts`, over each leaf's `s2.content_hash`), and
|
|
111
|
+
* applying a leaf prefix here would produce a root nobody else computes.
|
|
112
|
+
*/
|
|
113
|
+
export function rootOverLeafHashes(leafHashesHex) {
|
|
114
|
+
const inputs = leafHashesHex.map((h) => ({ kind: "hash", data: hexToBytes(h) }));
|
|
115
|
+
return bytesToHex(merkleRoot(buildMerkleTree(inputs)));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Build the audit path for one leaf of a leaf-hash list.
|
|
119
|
+
*
|
|
120
|
+
* Delegates to `inclusionProof`. Deliberately NOT a local tree walk: the seal and the proof must
|
|
121
|
+
* come from the same Merkle implementation or they drift, and the drift is invisible until a real
|
|
122
|
+
* dispute.
|
|
123
|
+
*/
|
|
124
|
+
export function proofPathFor(leafHashesHex, index) {
|
|
125
|
+
const inputs = leafHashesHex.map((h) => ({ kind: "hash", data: hexToBytes(h) }));
|
|
126
|
+
return inclusionProof(buildMerkleTree(inputs), index).map(bytesToHex);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Is this a structurally valid v1 proof? Shape only — says nothing about whether it verifies.
|
|
130
|
+
*
|
|
131
|
+
* Separated so the daemon's verify handler can refuse a malformed object by name before it reaches
|
|
132
|
+
* any hashing, and so a test can assert the two failure classes apart.
|
|
133
|
+
*/
|
|
134
|
+
export function isInclusionProofShape(value) {
|
|
135
|
+
if (typeof value !== "object" || value === null)
|
|
136
|
+
return false;
|
|
137
|
+
const p = value;
|
|
138
|
+
if (p["version"] !== 1)
|
|
139
|
+
return false;
|
|
140
|
+
if (typeof p["session_id"] !== "string" || p["session_id"].length === 0)
|
|
141
|
+
return false;
|
|
142
|
+
if (typeof p["certified_root"] !== "string" || !HEX32.test(p["certified_root"]))
|
|
143
|
+
return false;
|
|
144
|
+
if (typeof p["leaf_hash"] !== "string" || !HEX32.test(p["leaf_hash"]))
|
|
145
|
+
return false;
|
|
146
|
+
if (!Number.isInteger(p["leaf_index"]) || p["leaf_index"] < 0)
|
|
147
|
+
return false;
|
|
148
|
+
if (!Number.isInteger(p["leaf_count"]) || p["leaf_count"] <= 0)
|
|
149
|
+
return false;
|
|
150
|
+
if (p["leaf_index"] >= p["leaf_count"])
|
|
151
|
+
return false;
|
|
152
|
+
const path = p["proof_path"];
|
|
153
|
+
if (!Array.isArray(path) || path.some((s) => typeof s !== "string" || !HEX32.test(s)))
|
|
154
|
+
return false;
|
|
155
|
+
if (typeof p["content_hash_alg"] !== "string")
|
|
156
|
+
return false;
|
|
157
|
+
const salt = p["content_salt"];
|
|
158
|
+
if (salt !== null && (typeof salt !== "string" || salt.length === 0 || !/^([0-9a-f]{2})+$/.test(salt))) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* VERIFY — the whole point of the file, and it touches no database.
|
|
165
|
+
*
|
|
166
|
+
* Three inputs and nothing else: the proof, the message bytes, and the root the caller took from the
|
|
167
|
+
* directory-signed certificate. That is what makes it runnable by a third party who has never seen
|
|
168
|
+
* the daemon that issued the proof.
|
|
169
|
+
*
|
|
170
|
+
* `certifiedRootHex` is REQUIRED and is the anchor. Making it optional — defaulting to the root
|
|
171
|
+
* inside the proof — would turn every call into the proof checking itself, which is the exact shape
|
|
172
|
+
* this feature exists to replace.
|
|
173
|
+
*/
|
|
174
|
+
export function verifyInclusionProof(proof, messageBytes, certifiedRootHex) {
|
|
175
|
+
const fail = (reason, detail) => ({
|
|
176
|
+
ok: false,
|
|
177
|
+
reason,
|
|
178
|
+
detail,
|
|
179
|
+
guidance: INCLUSION_VERIFY_GUIDANCE[reason],
|
|
180
|
+
});
|
|
181
|
+
if (!isInclusionProofShape(proof)) {
|
|
182
|
+
return fail(INCLUSION_VERIFY_REASONS.PROOF_MALFORMED, "the proof is not a version-1 inclusion proof with the required fields at their required widths");
|
|
183
|
+
}
|
|
184
|
+
if (typeof certifiedRootHex !== "string" || !HEX32.test(certifiedRootHex.toLowerCase())) {
|
|
185
|
+
return fail(INCLUSION_VERIFY_REASONS.CERTIFIED_ROOT_MALFORMED, `the certified root supplied is not a 32-byte hex value (got ${typeof certifiedRootHex === "string" ? `${certifiedRootHex.length} chars` : typeof certifiedRootHex})`);
|
|
186
|
+
}
|
|
187
|
+
const anchor = certifiedRootHex.toLowerCase();
|
|
188
|
+
if (proof.certified_root !== anchor) {
|
|
189
|
+
return fail(INCLUSION_VERIFY_REASONS.ROOT_NOT_FROM_CERTIFICATE, `the proof lands on ${proof.certified_root} and the certificate names ${anchor}`);
|
|
190
|
+
}
|
|
191
|
+
if (!isKnownContentHashAlg(proof.content_hash_alg)) {
|
|
192
|
+
return fail(INCLUSION_VERIFY_REASONS.UNKNOWN_HASH_ALG, `the proof names content-hash algorithm "${proof.content_hash_alg}"`);
|
|
193
|
+
}
|
|
194
|
+
if (proof.content_hash_alg !== CONTENT_HASH_ALGS.HMAC_SALT_V1) {
|
|
195
|
+
return fail(INCLUSION_VERIFY_REASONS.UNSALTED_PROOF, `the proof names content-hash algorithm "${proof.content_hash_alg}"; only ${CONTENT_HASH_ALGS.HMAC_SALT_V1} is accepted`);
|
|
196
|
+
}
|
|
197
|
+
if (proof.content_salt === null) {
|
|
198
|
+
return fail(INCLUSION_VERIFY_REASONS.SALT_MISSING, `algorithm ${proof.content_hash_alg} needs a salt and the proof carries none`);
|
|
199
|
+
}
|
|
200
|
+
// The leaf is DERIVED from the bytes in hand, never read out of the proof. This line is what makes
|
|
201
|
+
// a one-byte edit fail.
|
|
202
|
+
const recomputed = bytesToHex(contentHashFor(messageBytes, { alg: proof.content_hash_alg, salt: hexToBytes(proof.content_salt) }));
|
|
203
|
+
if (recomputed !== proof.leaf_hash) {
|
|
204
|
+
return fail(INCLUSION_VERIFY_REASONS.MESSAGE_DOES_NOT_MATCH_LEAF, `the message supplied hashes to ${recomputed} under ${proof.content_hash_alg}; the proof is for leaf ${proof.leaf_hash}`);
|
|
205
|
+
}
|
|
206
|
+
const verified = verifyInclusion(hexToBytes(recomputed), proof.leaf_index, proof.leaf_count, proof.proof_path.map(hexToBytes), hexToBytes(anchor));
|
|
207
|
+
if (!verified) {
|
|
208
|
+
return fail(INCLUSION_VERIFY_REASONS.PROOF_PATH_INVALID, `the audit path (${proof.proof_path.length} sibling hashes) does not rebuild ${anchor} from leaf ${proof.leaf_index} of ${proof.leaf_count}`);
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
ok: true,
|
|
212
|
+
/**
|
|
213
|
+
* ⚠️ UNVERIFIED, AND THE FIELD SAYS SO ONE LEVEL UP — the caller must not present this as checked.
|
|
214
|
+
*
|
|
215
|
+
* Nothing here binds a session id: the anchor is the ROOT, and the root is what the certificate
|
|
216
|
+
* signs. This value is copied out of the proof, so a relabelled proof reports a session it was
|
|
217
|
+
* never checked against. It is returned because a reader holding several proofs needs to tell
|
|
218
|
+
* them apart, not because it has been established.
|
|
219
|
+
*/
|
|
220
|
+
session_id: proof.session_id,
|
|
221
|
+
session_id_verified: false,
|
|
222
|
+
leaf_index: proof.leaf_index,
|
|
223
|
+
leaf_count: proof.leaf_count,
|
|
224
|
+
certified_root: anchor,
|
|
225
|
+
content_hash_alg: proof.content_hash_alg,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=inclusion-proof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclusion-proof.js","sourceRoot":"","sources":["../src/inclusion-proof.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type { Logger, LockFileContent, IpcRequest, IpcResponse, IpcResponseOk, IpcResponseError, IpcNotification, IpcFrame, AgentState, AgentInfo, ConnectionStatus, ConnectionInfo, DirectorySignalingState, DaemonStatusResponse, DaemonConfig, IManifestProvider, IManifestVersionStore, IManifestPollScheduler, IDirectoryChallengeVerifier, } from "./types.js";
|
|
2
|
+
export { startDaemon, type DaemonHandle } from "./daemon.js";
|
|
3
|
+
export { readLock, acquireLock, removeLock, removeLockIfOwned, isProcessAlive } from "./lock-file.js";
|
|
4
|
+
export { acquireSingletonLock, probeSingletonLock, DaemonAlreadyRunningError, SINGLETON_LOCK_FILENAME, type SingletonLock, } from "./singleton-lock.js";
|
|
5
|
+
export { loadAgents, type LoadedAgent, type FailedAgent, type AgentLoadResult } from "./agent-loader.js";
|
|
6
|
+
export { createIpcServer, type IpcServer, type IpcHandler, type IpcServerConfig, type IpcDisconnectHandler } from "./ipc-server.js";
|
|
7
|
+
export { connectToDaemon, type IpcClient, IpcError } from "./ipc-client.js";
|
|
8
|
+
export { connectOrStart, type ConnectResult } from "./connect-or-start.js";
|
|
9
|
+
export { RetryQueue, type RetryQueueEntry, type ResendFn, type ResendResult, RETRY_QUEUE_CAP } from "./retry-queue.js";
|
|
10
|
+
export { NonceDedupStore, NONCE_DEDUP_CAP } from "./nonce-dedup.js";
|
|
11
|
+
export { TransportSelector, LocalTransportSelectorStub, TRANSPORT_ERROR, DEFAULT_DIRECT_DIAL_TIMEOUT_MS, selectAdvertisedAddress, } from "./transport-selector.js";
|
|
12
|
+
export type { ITransportSelector, TransportResult, TransportDialer, TransportDialOptions, AdvertisedAddress, } from "./transport-selector.js";
|
|
13
|
+
export { RandomizedPollScheduler, ImmediatePollScheduler } from "./manifest-poll-scheduler.js";
|
|
14
|
+
export { InMemoryManifestVersionStore } from "./manifest-version-store.js";
|
|
15
|
+
export { DbManifestVersionStore } from "./manifest-version-store-db.js";
|
|
16
|
+
export { ManifestDirectoryChallengeVerifier, TestDirectoryChallengeVerifier } from "./challenge-verifier.js";
|
|
17
|
+
export { TypeRegistry, type TypeClassification, type UnclassifiedType, type TypeLookupResult, type RegistryDocument } from "./type-registry.js";
|
|
18
|
+
export { DbRegistryVersionStore, type IRegistryVersionStore } from "./registry-version-store-db.js";
|
|
19
|
+
export { pollRegistryOverHttp, startRegistryPoll, type RegistryPollOutcome, type RegistryPollFailureReason } from "./registry-poll.js";
|
|
20
|
+
export { documentsEnabled, documentLayerState, DOCUMENTS_FLAG_ENV } from "./document-flag.js";
|
|
21
|
+
export { DUAL_SURFACE_VERBS, MCP_ONLY_TOOLS, NON_TOOL_IDENTIFIERS, DEAD_CLI_VERBS, deadCliVerbPattern, RENAMED_AWAY_TOOLS, knownToolNames, isDocumentVerbName, toCliGuidance, renderForSurface, type DualSurfaceVerb, type ClientSurface, } from "./vocabulary.js";
|
|
22
|
+
export { NetworkDirectoryNode, runNetworkDkg, runNetworkRefresh, } from "./network-directory-node.js";
|
|
23
|
+
export type { FrostAuthSigner } from "./network-directory-node.js";
|
|
24
|
+
export { resolveAgentState, isAgentRunning } from "./agent-state.js";
|
|
25
|
+
export type { AgentStateInputs } from "./agent-state.js";
|
|
26
|
+
export { createBackup, restoreBackup, inspectBackup } from "./backup-restore.js";
|
|
27
|
+
export type { BackupResult, RestoreResult } from "./backup-restore.js";
|
|
28
|
+
export { noAgentsGuidance, botHandle, WAITLIST_URL, BOT_HANDLE_PRODUCTION, BOT_HANDLE_STAGING } from "./onboarding-guidance.js";
|
|
29
|
+
export { consortiumFingerprintShort, consortiumFingerprintFull, consortiumFingerprintPreimage, describeConsortiumFingerprint, } from "./consortium-fingerprint.js";
|
|
30
|
+
export { BUNDLED_CONSORTIUM_MANIFEST, BUNDLED_CONSORTIUM_ROOT_KEYS, BUNDLED_CONSORTIUM_THRESHOLD, } from "./bundled-consortium-manifest.js";
|
|
31
|
+
export { EmbeddedManifestProvider } from "./file-manifest-provider.js";
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,8FAA8F;AAE9F,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAA4D,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAoF,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,eAAe,EAAkB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAA0D,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEpE,6DAA6D;AAC7D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AASjC,8CAA8C;AAC9C,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kCAAkC,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAE7G,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAgG,MAAM,oBAAoB,CAAC;AAChJ,OAAO,EAAE,sBAAsB,EAA8B,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAA4D,MAAM,oBAAoB,CAAC;AAEvI,oGAAoG;AACpG,oGAAoG;AACpG,kGAAkG;AAClG,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE9F,oGAAoG;AACpG,qGAAqG;AACrG,sCAAsC;AACtC,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AAEzB,qGAAqG;AACrG,yFAAyF;AACzF,mFAAmF;AACnF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,qGAAqG;AACrG,qGAAqG;AACrG,oGAAoG;AACpG,mCAAmC;AACnC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGrE,6FAA6F;AAC7F,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGjF,+FAA+F;AAC/F,kGAAkG;AAClG,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEhI,8FAA8F;AAC9F,kGAAkG;AAClG,6DAA6D;AAC7D,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAE1C,uFAAuF;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { IpcHandler } from "./ipc-server.js";
|
|
2
|
+
import type { SessionNodeManager, RelayConnectParams } from "./session-node-manager.js";
|
|
3
|
+
import type { Logger } from "./types.js";
|
|
4
|
+
import type { ConnState } from "./contact-handlers.js";
|
|
5
|
+
import { type ITransportSelector, type SessionNegotiator } from "./transport-selector.js";
|
|
6
|
+
import type { SessionAssignment } from "@cello-protocol/protocol-types";
|
|
7
|
+
import type { IAutoNatService } from "@cello-protocol/transport";
|
|
8
|
+
export interface InitiateSessionDeps {
|
|
9
|
+
/**
|
|
10
|
+
* SYNC-P5 (R39, review F5): an OUTBOUND session succeeding is the initiator-side
|
|
11
|
+
* party-became-reachable signal — fired after the session is usable, best-effort.
|
|
12
|
+
*/
|
|
13
|
+
onSessionOpened?(agentName: string, counterpartyPubkey: string): void;
|
|
14
|
+
handlers: Map<string, IpcHandler>;
|
|
15
|
+
logger: Logger;
|
|
16
|
+
sessionNodeManager: SessionNodeManager;
|
|
17
|
+
getConnState: (connectionId: string) => ConnState | undefined;
|
|
18
|
+
resolveCurrentAgent: (connState: ConnState | undefined, explicitAgent?: string) => string | null;
|
|
19
|
+
NO_CURRENT_AGENT_RESPONSE: unknown;
|
|
20
|
+
resolvedSessionNegotiator: SessionNegotiator;
|
|
21
|
+
transportSelector: ITransportSelector;
|
|
22
|
+
autoNatService: IAutoNatService;
|
|
23
|
+
buildRelayConnectParams: (agentName: string, assignment: SessionAssignment) => Promise<RelayConnectParams | undefined>;
|
|
24
|
+
getRelayCircuitAddress?: () => string;
|
|
25
|
+
/**
|
|
26
|
+
* M16: is this LOCAL agent a broadcast channel? A channel never opens a session, so the opener
|
|
27
|
+
* refuses before any directory traffic.
|
|
28
|
+
*/
|
|
29
|
+
isChannelAgent: (agentName: string) => boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Registers `cello_initiate_session` and returns the agent-scoped opener behind it, so a worker can
|
|
33
|
+
* open a session without an IPC connection. See `openSessionAs`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function registerInitiateSessionHandler(deps: InitiateSessionDeps): {
|
|
36
|
+
/**
|
|
37
|
+
* The raw opener. `params` is forwarded to the negotiator as MCP wire names — an INTERNAL caller
|
|
38
|
+
* should use `openSessionFor` instead, which cannot get those names wrong.
|
|
39
|
+
*/
|
|
40
|
+
openSessionAs(agentName: string, params: Record<string, unknown> | undefined): Promise<Record<string, unknown>>;
|
|
41
|
+
/**
|
|
42
|
+
* Open a session as `agentName` with a counterparty, named in TypeScript rather than in wire
|
|
43
|
+
* strings.
|
|
44
|
+
*
|
|
45
|
+
* This exists because the wire names are not guessable and a wrong one fails silently-ish: the
|
|
46
|
+
* negotiator reads `target_pubkey` (falling back to `counterparty_pubkey`) and nothing else, so a
|
|
47
|
+
* caller passing `pubkey` gets `invalid_target_pubkey` — an error that sends whoever reads it to
|
|
48
|
+
* look at the PEER's key when the bug is in the caller's own field name. The same class of defect
|
|
49
|
+
* already exists one seam over in the close handler (`session_id` vs `sessionId`).
|
|
50
|
+
*/
|
|
51
|
+
openSessionFor(agentName: string, target: {
|
|
52
|
+
targetPubkey: string;
|
|
53
|
+
}): Promise<Record<string, unknown>>;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=initiate-session-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initiate-session-handler.d.ts","sourceRoot":"","sources":["../src/initiate-session-handler.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAA2B,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGnH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC9D,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,iBAAiB,CAAC;IAC7C,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,cAAc,EAAE,eAAe,CAAC;IAChC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACvH,sBAAsB,CAAC,EAAE,MAAM,MAAM,CAAC;IACtC;;;OAGG;IACH,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,mBAAmB,GAAG;IACzE;;;OAGG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC1C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpC;;;;;;;;;OASG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrC,CA2UA"}
|