@sempdev/semp 0.4.3
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/LICENSE +21 -0
- package/README.md +59 -0
- package/dist/brief/address.d.ts +77 -0
- package/dist/brief/address.d.ts.map +1 -0
- package/dist/brief/address.js +217 -0
- package/dist/brief/address.js.map +1 -0
- package/dist/brief/brief.d.ts +75 -0
- package/dist/brief/brief.d.ts.map +1 -0
- package/dist/brief/brief.js +56 -0
- package/dist/brief/brief.js.map +1 -0
- package/dist/brief/index.d.ts +11 -0
- package/dist/brief/index.d.ts.map +1 -0
- package/dist/brief/index.js +11 -0
- package/dist/brief/index.js.map +1 -0
- package/dist/canonical/index.d.ts +8 -0
- package/dist/canonical/index.d.ts.map +1 -0
- package/dist/canonical/index.js +8 -0
- package/dist/canonical/index.js.map +1 -0
- package/dist/canonical/marshal.d.ts +35 -0
- package/dist/canonical/marshal.d.ts.map +1 -0
- package/dist/canonical/marshal.js +107 -0
- package/dist/canonical/marshal.js.map +1 -0
- package/dist/clockskew/index.d.ts +52 -0
- package/dist/clockskew/index.d.ts.map +1 -0
- package/dist/clockskew/index.js +62 -0
- package/dist/clockskew/index.js.map +1 -0
- package/dist/closure/closure.d.ts +106 -0
- package/dist/closure/closure.d.ts.map +1 -0
- package/dist/closure/closure.js +152 -0
- package/dist/closure/closure.js.map +1 -0
- package/dist/closure/driver.d.ts +103 -0
- package/dist/closure/driver.d.ts.map +1 -0
- package/dist/closure/driver.js +126 -0
- package/dist/closure/driver.js.map +1 -0
- package/dist/closure/index.d.ts +13 -0
- package/dist/closure/index.d.ts.map +1 -0
- package/dist/closure/index.js +13 -0
- package/dist/closure/index.js.map +1 -0
- package/dist/closure/store.d.ts +80 -0
- package/dist/closure/store.d.ts.map +1 -0
- package/dist/closure/store.js +89 -0
- package/dist/closure/store.js.map +1 -0
- package/dist/crypto/aead.d.ts +29 -0
- package/dist/crypto/aead.d.ts.map +1 -0
- package/dist/crypto/aead.js +48 -0
- package/dist/crypto/aead.js.map +1 -0
- package/dist/crypto/argon2.d.ts +20 -0
- package/dist/crypto/argon2.d.ts.map +1 -0
- package/dist/crypto/argon2.js +28 -0
- package/dist/crypto/argon2.js.map +1 -0
- package/dist/crypto/index.d.ts +14 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +14 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/kdf.d.ts +96 -0
- package/dist/crypto/kdf.d.ts.map +1 -0
- package/dist/crypto/kdf.js +122 -0
- package/dist/crypto/kdf.js.map +1 -0
- package/dist/crypto/kem.d.ts +85 -0
- package/dist/crypto/kem.d.ts.map +1 -0
- package/dist/crypto/kem.js +130 -0
- package/dist/crypto/kem.js.map +1 -0
- package/dist/crypto/mac.d.ts +19 -0
- package/dist/crypto/mac.d.ts.map +1 -0
- package/dist/crypto/mac.js +32 -0
- package/dist/crypto/mac.js.map +1 -0
- package/dist/delivery/ack.d.ts +125 -0
- package/dist/delivery/ack.d.ts.map +1 -0
- package/dist/delivery/ack.js +141 -0
- package/dist/delivery/ack.js.map +1 -0
- package/dist/delivery/blocklist.d.ts +87 -0
- package/dist/delivery/blocklist.d.ts.map +1 -0
- package/dist/delivery/blocklist.js +107 -0
- package/dist/delivery/blocklist.js.map +1 -0
- package/dist/delivery/cancel.d.ts +60 -0
- package/dist/delivery/cancel.d.ts.map +1 -0
- package/dist/delivery/cancel.js +43 -0
- package/dist/delivery/cancel.js.map +1 -0
- package/dist/delivery/disposition.d.ts +106 -0
- package/dist/delivery/disposition.d.ts.map +1 -0
- package/dist/delivery/disposition.js +105 -0
- package/dist/delivery/disposition.js.map +1 -0
- package/dist/delivery/fetch.d.ts +59 -0
- package/dist/delivery/fetch.d.ts.map +1 -0
- package/dist/delivery/fetch.js +47 -0
- package/dist/delivery/fetch.js.map +1 -0
- package/dist/delivery/forwarder.d.ts +106 -0
- package/dist/delivery/forwarder.d.ts.map +1 -0
- package/dist/delivery/forwarder.js +251 -0
- package/dist/delivery/forwarder.js.map +1 -0
- package/dist/delivery/inbox.d.ts +42 -0
- package/dist/delivery/inbox.d.ts.map +1 -0
- package/dist/delivery/inbox.js +68 -0
- package/dist/delivery/inbox.js.map +1 -0
- package/dist/delivery/index.d.ts +31 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +31 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/delivery/internalroute.d.ts +50 -0
- package/dist/delivery/internalroute.d.ts.map +1 -0
- package/dist/delivery/internalroute.js +23 -0
- package/dist/delivery/internalroute.js.map +1 -0
- package/dist/delivery/pipeline.d.ts +153 -0
- package/dist/delivery/pipeline.d.ts.map +1 -0
- package/dist/delivery/pipeline.js +356 -0
- package/dist/delivery/pipeline.js.map +1 -0
- package/dist/delivery/policy_state.d.ts +105 -0
- package/dist/delivery/policy_state.d.ts.map +1 -0
- package/dist/delivery/policy_state.js +293 -0
- package/dist/delivery/policy_state.js.map +1 -0
- package/dist/delivery/queue.d.ts +47 -0
- package/dist/delivery/queue.d.ts.map +1 -0
- package/dist/delivery/queue.js +33 -0
- package/dist/delivery/queue.js.map +1 -0
- package/dist/delivery/receipt.d.ts +137 -0
- package/dist/delivery/receipt.d.ts.map +1 -0
- package/dist/delivery/receipt.js +181 -0
- package/dist/delivery/receipt.js.map +1 -0
- package/dist/delivery/receipt_store.d.ts +81 -0
- package/dist/delivery/receipt_store.d.ts.map +1 -0
- package/dist/delivery/receipt_store.js +74 -0
- package/dist/delivery/receipt_store.js.map +1 -0
- package/dist/delivery/retry.d.ts +78 -0
- package/dist/delivery/retry.d.ts.map +1 -0
- package/dist/delivery/retry.js +132 -0
- package/dist/delivery/retry.js.map +1 -0
- package/dist/delivery/scheduler.d.ts +156 -0
- package/dist/delivery/scheduler.d.ts.map +1 -0
- package/dist/delivery/scheduler.js +349 -0
- package/dist/delivery/scheduler.js.map +1 -0
- package/dist/delivery/stage_partition.d.ts +87 -0
- package/dist/delivery/stage_partition.d.ts.map +1 -0
- package/dist/delivery/stage_partition.js +122 -0
- package/dist/delivery/stage_partition.js.map +1 -0
- package/dist/delivery/staged_runner.d.ts +100 -0
- package/dist/delivery/staged_runner.d.ts.map +1 -0
- package/dist/delivery/staged_runner.js +277 -0
- package/dist/delivery/staged_runner.js.map +1 -0
- package/dist/delivery/submission.d.ts +72 -0
- package/dist/delivery/submission.d.ts.map +1 -0
- package/dist/delivery/submission.js +58 -0
- package/dist/delivery/submission.js.map +1 -0
- package/dist/delivery/sync.d.ts +68 -0
- package/dist/delivery/sync.d.ts.map +1 -0
- package/dist/delivery/sync.js +99 -0
- package/dist/delivery/sync.js.map +1 -0
- package/dist/delivery/user_policy.d.ts +74 -0
- package/dist/delivery/user_policy.d.ts.map +1 -0
- package/dist/delivery/user_policy.js +140 -0
- package/dist/delivery/user_policy.js.map +1 -0
- package/dist/discovery/cache.d.ts +37 -0
- package/dist/discovery/cache.d.ts.map +1 -0
- package/dist/discovery/cache.js +45 -0
- package/dist/discovery/cache.js.map +1 -0
- package/dist/discovery/configuration.d.ts +97 -0
- package/dist/discovery/configuration.d.ts.map +1 -0
- package/dist/discovery/configuration.js +146 -0
- package/dist/discovery/configuration.js.map +1 -0
- package/dist/discovery/dns.d.ts +56 -0
- package/dist/discovery/dns.d.ts.map +1 -0
- package/dist/discovery/dns.js +120 -0
- package/dist/discovery/dns.js.map +1 -0
- package/dist/discovery/domain_keys.d.ts +62 -0
- package/dist/discovery/domain_keys.d.ts.map +1 -0
- package/dist/discovery/domain_keys.js +89 -0
- package/dist/discovery/domain_keys.js.map +1 -0
- package/dist/discovery/index.d.ts +19 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +19 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/lookup.d.ts +72 -0
- package/dist/discovery/lookup.d.ts.map +1 -0
- package/dist/discovery/lookup.js +121 -0
- package/dist/discovery/lookup.js.map +1 -0
- package/dist/discovery/onion.d.ts +34 -0
- package/dist/discovery/onion.d.ts.map +1 -0
- package/dist/discovery/onion.js +61 -0
- package/dist/discovery/onion.js.map +1 -0
- package/dist/discovery/partition.d.ts +96 -0
- package/dist/discovery/partition.d.ts.map +1 -0
- package/dist/discovery/partition.js +247 -0
- package/dist/discovery/partition.js.map +1 -0
- package/dist/discovery/resolver.d.ts +113 -0
- package/dist/discovery/resolver.d.ts.map +1 -0
- package/dist/discovery/resolver.js +176 -0
- package/dist/discovery/resolver.js.map +1 -0
- package/dist/discovery/txt.d.ts +39 -0
- package/dist/discovery/txt.d.ts.map +1 -0
- package/dist/discovery/txt.js +71 -0
- package/dist/discovery/txt.js.map +1 -0
- package/dist/enclosure/forwarding.d.ts +128 -0
- package/dist/enclosure/forwarding.d.ts.map +1 -0
- package/dist/enclosure/forwarding.js +119 -0
- package/dist/enclosure/forwarding.js.map +1 -0
- package/dist/enclosure/index.d.ts +11 -0
- package/dist/enclosure/index.d.ts.map +1 -0
- package/dist/enclosure/index.js +11 -0
- package/dist/enclosure/index.js.map +1 -0
- package/dist/envelope/buckets.d.ts +38 -0
- package/dist/envelope/buckets.d.ts.map +1 -0
- package/dist/envelope/buckets.js +73 -0
- package/dist/envelope/buckets.js.map +1 -0
- package/dist/envelope/canonical.d.ts +28 -0
- package/dist/envelope/canonical.d.ts.map +1 -0
- package/dist/envelope/canonical.js +54 -0
- package/dist/envelope/canonical.js.map +1 -0
- package/dist/envelope/compose.d.ts +171 -0
- package/dist/envelope/compose.d.ts.map +1 -0
- package/dist/envelope/compose.js +237 -0
- package/dist/envelope/compose.js.map +1 -0
- package/dist/envelope/encode.d.ts +41 -0
- package/dist/envelope/encode.d.ts.map +1 -0
- package/dist/envelope/encode.js +69 -0
- package/dist/envelope/encode.js.map +1 -0
- package/dist/envelope/index.d.ts +20 -0
- package/dist/envelope/index.d.ts.map +1 -0
- package/dist/envelope/index.js +20 -0
- package/dist/envelope/index.js.map +1 -0
- package/dist/envelope/open_any.d.ts +48 -0
- package/dist/envelope/open_any.d.ts.map +1 -0
- package/dist/envelope/open_any.js +81 -0
- package/dist/envelope/open_any.js.map +1 -0
- package/dist/envelope/open_verified.d.ts +59 -0
- package/dist/envelope/open_verified.d.ts.map +1 -0
- package/dist/envelope/open_verified.js +67 -0
- package/dist/envelope/open_verified.js.map +1 -0
- package/dist/envelope/padding.d.ts +55 -0
- package/dist/envelope/padding.d.ts.map +1 -0
- package/dist/envelope/padding.js +162 -0
- package/dist/envelope/padding.js.map +1 -0
- package/dist/envelope/rejection.d.ts +22 -0
- package/dist/envelope/rejection.d.ts.map +1 -0
- package/dist/envelope/rejection.js +30 -0
- package/dist/envelope/rejection.js.map +1 -0
- package/dist/envelope/sendtime.d.ts +49 -0
- package/dist/envelope/sendtime.d.ts.map +1 -0
- package/dist/envelope/sendtime.js +87 -0
- package/dist/envelope/sendtime.js.map +1 -0
- package/dist/envelope/verify.d.ts +29 -0
- package/dist/envelope/verify.d.ts.map +1 -0
- package/dist/envelope/verify.js +90 -0
- package/dist/envelope/verify.js.map +1 -0
- package/dist/extensions/index.d.ts +7 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +7 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/limits.d.ts +101 -0
- package/dist/extensions/limits.d.ts.map +1 -0
- package/dist/extensions/limits.js +175 -0
- package/dist/extensions/limits.js.map +1 -0
- package/dist/handshake/abort.d.ts +49 -0
- package/dist/handshake/abort.d.ts.map +1 -0
- package/dist/handshake/abort.js +82 -0
- package/dist/handshake/abort.js.map +1 -0
- package/dist/handshake/capabilities.d.ts +46 -0
- package/dist/handshake/capabilities.d.ts.map +1 -0
- package/dist/handshake/capabilities.js +114 -0
- package/dist/handshake/capabilities.js.map +1 -0
- package/dist/handshake/client_state.d.ts +186 -0
- package/dist/handshake/client_state.d.ts.map +1 -0
- package/dist/handshake/client_state.js +520 -0
- package/dist/handshake/client_state.js.map +1 -0
- package/dist/handshake/confirm.d.ts +21 -0
- package/dist/handshake/confirm.d.ts.map +1 -0
- package/dist/handshake/confirm.js +27 -0
- package/dist/handshake/confirm.js.map +1 -0
- package/dist/handshake/driver.d.ts +126 -0
- package/dist/handshake/driver.d.ts.map +1 -0
- package/dist/handshake/driver.js +251 -0
- package/dist/handshake/driver.js.map +1 -0
- package/dist/handshake/federation.d.ts +365 -0
- package/dist/handshake/federation.d.ts.map +1 -0
- package/dist/handshake/federation.js +664 -0
- package/dist/handshake/federation.js.map +1 -0
- package/dist/handshake/first_contact.d.ts +57 -0
- package/dist/handshake/first_contact.d.ts.map +1 -0
- package/dist/handshake/first_contact.js +124 -0
- package/dist/handshake/first_contact.js.map +1 -0
- package/dist/handshake/identity.d.ts +101 -0
- package/dist/handshake/identity.d.ts.map +1 -0
- package/dist/handshake/identity.js +117 -0
- package/dist/handshake/identity.js.map +1 -0
- package/dist/handshake/index.d.ts +21 -0
- package/dist/handshake/index.d.ts.map +1 -0
- package/dist/handshake/index.js +21 -0
- package/dist/handshake/index.js.map +1 -0
- package/dist/handshake/messages.d.ts +176 -0
- package/dist/handshake/messages.d.ts.map +1 -0
- package/dist/handshake/messages.js +125 -0
- package/dist/handshake/messages.js.map +1 -0
- package/dist/handshake/pow.d.ts +53 -0
- package/dist/handshake/pow.d.ts.map +1 -0
- package/dist/handshake/pow.js +142 -0
- package/dist/handshake/pow.js.map +1 -0
- package/dist/handshake/resume_driver.d.ts +56 -0
- package/dist/handshake/resume_driver.d.ts.map +1 -0
- package/dist/handshake/resume_driver.js +75 -0
- package/dist/handshake/resume_driver.js.map +1 -0
- package/dist/handshake/server.d.ts +112 -0
- package/dist/handshake/server.d.ts.map +1 -0
- package/dist/handshake/server.js +247 -0
- package/dist/handshake/server.js.map +1 -0
- package/dist/handshake/server_state.d.ts +102 -0
- package/dist/handshake/server_state.d.ts.map +1 -0
- package/dist/handshake/server_state.js +278 -0
- package/dist/handshake/server_state.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/keys/compromise.d.ts +118 -0
- package/dist/keys/compromise.d.ts.map +1 -0
- package/dist/keys/compromise.js +218 -0
- package/dist/keys/compromise.js.map +1 -0
- package/dist/keys/device_certificate.d.ts +166 -0
- package/dist/keys/device_certificate.d.ts.map +1 -0
- package/dist/keys/device_certificate.js +328 -0
- package/dist/keys/device_certificate.js.map +1 -0
- package/dist/keys/device_records.d.ts +175 -0
- package/dist/keys/device_records.d.ts.map +1 -0
- package/dist/keys/device_records.js +418 -0
- package/dist/keys/device_records.js.map +1 -0
- package/dist/keys/directory_cache.d.ts +64 -0
- package/dist/keys/directory_cache.d.ts.map +1 -0
- package/dist/keys/directory_cache.js +98 -0
- package/dist/keys/directory_cache.js.map +1 -0
- package/dist/keys/directory_state.d.ts +79 -0
- package/dist/keys/directory_state.d.ts.map +1 -0
- package/dist/keys/directory_state.js +155 -0
- package/dist/keys/directory_state.js.map +1 -0
- package/dist/keys/index.d.ts +18 -0
- package/dist/keys/index.d.ts.map +1 -0
- package/dist/keys/index.js +18 -0
- package/dist/keys/index.js.map +1 -0
- package/dist/keys/key_revocation.d.ts +61 -0
- package/dist/keys/key_revocation.d.ts.map +1 -0
- package/dist/keys/key_revocation.js +88 -0
- package/dist/keys/key_revocation.js.map +1 -0
- package/dist/keys/request.d.ts +124 -0
- package/dist/keys/request.d.ts.map +1 -0
- package/dist/keys/request.js +130 -0
- package/dist/keys/request.js.map +1 -0
- package/dist/keys/sign.d.ts +49 -0
- package/dist/keys/sign.d.ts.map +1 -0
- package/dist/keys/sign.js +80 -0
- package/dist/keys/sign.js.map +1 -0
- package/dist/keys/signed.d.ts +80 -0
- package/dist/keys/signed.d.ts.map +1 -0
- package/dist/keys/signed.js +138 -0
- package/dist/keys/signed.js.map +1 -0
- package/dist/keys/store.d.ts +138 -0
- package/dist/keys/store.d.ts.map +1 -0
- package/dist/keys/store.js +107 -0
- package/dist/keys/store.js.map +1 -0
- package/dist/largeattachment/crypto.d.ts +47 -0
- package/dist/largeattachment/crypto.d.ts.map +1 -0
- package/dist/largeattachment/crypto.js +235 -0
- package/dist/largeattachment/crypto.js.map +1 -0
- package/dist/largeattachment/enclosure.d.ts +48 -0
- package/dist/largeattachment/enclosure.d.ts.map +1 -0
- package/dist/largeattachment/enclosure.js +102 -0
- package/dist/largeattachment/enclosure.js.map +1 -0
- package/dist/largeattachment/index.d.ts +15 -0
- package/dist/largeattachment/index.d.ts.map +1 -0
- package/dist/largeattachment/index.js +15 -0
- package/dist/largeattachment/index.js.map +1 -0
- package/dist/largeattachment/store.d.ts +36 -0
- package/dist/largeattachment/store.d.ts.map +1 -0
- package/dist/largeattachment/store.js +37 -0
- package/dist/largeattachment/store.js.map +1 -0
- package/dist/largeattachment/types.d.ts +56 -0
- package/dist/largeattachment/types.d.ts.map +1 -0
- package/dist/largeattachment/types.js +31 -0
- package/dist/largeattachment/types.js.map +1 -0
- package/dist/largeattachment/upload.d.ts +62 -0
- package/dist/largeattachment/upload.d.ts.map +1 -0
- package/dist/largeattachment/upload.js +166 -0
- package/dist/largeattachment/upload.js.map +1 -0
- package/dist/migration/index.d.ts +17 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +17 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/migration/lockout.d.ts +48 -0
- package/dist/migration/lockout.d.ts.map +1 -0
- package/dist/migration/lockout.js +57 -0
- package/dist/migration/lockout.js.map +1 -0
- package/dist/migration/migration.d.ts +48 -0
- package/dist/migration/migration.d.ts.map +1 -0
- package/dist/migration/migration.js +58 -0
- package/dist/migration/migration.js.map +1 -0
- package/dist/migration/notice.d.ts +33 -0
- package/dist/migration/notice.d.ts.map +1 -0
- package/dist/migration/notice.js +85 -0
- package/dist/migration/notice.js.map +1 -0
- package/dist/migration/orchestrate.d.ts +109 -0
- package/dist/migration/orchestrate.d.ts.map +1 -0
- package/dist/migration/orchestrate.js +212 -0
- package/dist/migration/orchestrate.js.map +1 -0
- package/dist/migration/publication_store.d.ts +34 -0
- package/dist/migration/publication_store.d.ts.map +1 -0
- package/dist/migration/publication_store.js +44 -0
- package/dist/migration/publication_store.js.map +1 -0
- package/dist/migration/sign.d.ts +65 -0
- package/dist/migration/sign.d.ts.map +1 -0
- package/dist/migration/sign.js +331 -0
- package/dist/migration/sign.js.map +1 -0
- package/dist/migration/types.d.ts +92 -0
- package/dist/migration/types.d.ts.map +1 -0
- package/dist/migration/types.js +26 -0
- package/dist/migration/types.js.map +1 -0
- package/dist/reasoncodes.d.ts +42 -0
- package/dist/reasoncodes.d.ts.map +1 -0
- package/dist/reasoncodes.js +80 -0
- package/dist/reasoncodes.js.map +1 -0
- package/dist/recovery/bundle.d.ts +34 -0
- package/dist/recovery/bundle.d.ts.map +1 -0
- package/dist/recovery/bundle.js +144 -0
- package/dist/recovery/bundle.js.map +1 -0
- package/dist/recovery/bundle_crypto.d.ts +60 -0
- package/dist/recovery/bundle_crypto.d.ts.map +1 -0
- package/dist/recovery/bundle_crypto.js +179 -0
- package/dist/recovery/bundle_crypto.js.map +1 -0
- package/dist/recovery/bundle_store.d.ts +57 -0
- package/dist/recovery/bundle_store.d.ts.map +1 -0
- package/dist/recovery/bundle_store.js +104 -0
- package/dist/recovery/bundle_store.js.map +1 -0
- package/dist/recovery/index.d.ts +19 -0
- package/dist/recovery/index.d.ts.map +1 -0
- package/dist/recovery/index.js +19 -0
- package/dist/recovery/index.js.map +1 -0
- package/dist/recovery/manifest_crosscheck.d.ts +59 -0
- package/dist/recovery/manifest_crosscheck.d.ts.map +1 -0
- package/dist/recovery/manifest_crosscheck.js +59 -0
- package/dist/recovery/manifest_crosscheck.js.map +1 -0
- package/dist/recovery/shamir.d.ts +51 -0
- package/dist/recovery/shamir.d.ts.map +1 -0
- package/dist/recovery/shamir.js +181 -0
- package/dist/recovery/shamir.js.map +1 -0
- package/dist/recovery/sign.d.ts +61 -0
- package/dist/recovery/sign.d.ts.map +1 -0
- package/dist/recovery/sign.js +359 -0
- package/dist/recovery/sign.js.map +1 -0
- package/dist/recovery/types.d.ts +180 -0
- package/dist/recovery/types.d.ts.map +1 -0
- package/dist/recovery/types.js +31 -0
- package/dist/recovery/types.js.map +1 -0
- package/dist/reputation/abuse_report.d.ts +62 -0
- package/dist/reputation/abuse_report.d.ts.map +1 -0
- package/dist/reputation/abuse_report.js +111 -0
- package/dist/reputation/abuse_report.js.map +1 -0
- package/dist/reputation/bucketize.d.ts +31 -0
- package/dist/reputation/bucketize.d.ts.map +1 -0
- package/dist/reputation/bucketize.js +77 -0
- package/dist/reputation/bucketize.js.map +1 -0
- package/dist/reputation/gossip.d.ts +24 -0
- package/dist/reputation/gossip.d.ts.map +1 -0
- package/dist/reputation/gossip.js +64 -0
- package/dist/reputation/gossip.js.map +1 -0
- package/dist/reputation/gossip_fetch.d.ts +64 -0
- package/dist/reputation/gossip_fetch.d.ts.map +1 -0
- package/dist/reputation/gossip_fetch.js +114 -0
- package/dist/reputation/gossip_fetch.js.map +1 -0
- package/dist/reputation/index.d.ts +20 -0
- package/dist/reputation/index.d.ts.map +1 -0
- package/dist/reputation/index.js +20 -0
- package/dist/reputation/index.js.map +1 -0
- package/dist/reputation/observation_store.d.ts +67 -0
- package/dist/reputation/observation_store.d.ts.map +1 -0
- package/dist/reputation/observation_store.js +171 -0
- package/dist/reputation/observation_store.js.map +1 -0
- package/dist/reputation/pow.d.ts +91 -0
- package/dist/reputation/pow.d.ts.map +1 -0
- package/dist/reputation/pow.js +209 -0
- package/dist/reputation/pow.js.map +1 -0
- package/dist/reputation/sign.d.ts +40 -0
- package/dist/reputation/sign.d.ts.map +1 -0
- package/dist/reputation/sign.js +202 -0
- package/dist/reputation/sign.js.map +1 -0
- package/dist/reputation/types.d.ts +133 -0
- package/dist/reputation/types.d.ts.map +1 -0
- package/dist/reputation/types.js +33 -0
- package/dist/reputation/types.js.map +1 -0
- package/dist/reputation/whois.d.ts +25 -0
- package/dist/reputation/whois.d.ts.map +1 -0
- package/dist/reputation/whois.js +20 -0
- package/dist/reputation/whois.js.map +1 -0
- package/dist/seal/index.d.ts +8 -0
- package/dist/seal/index.d.ts.map +1 -0
- package/dist/seal/index.js +8 -0
- package/dist/seal/index.js.map +1 -0
- package/dist/seal/wrap.d.ts +74 -0
- package/dist/seal/wrap.d.ts.map +1 -0
- package/dist/seal/wrap.js +213 -0
- package/dist/seal/wrap.js.map +1 -0
- package/dist/session/dispatcher.d.ts +65 -0
- package/dist/session/dispatcher.d.ts.map +1 -0
- package/dist/session/dispatcher.js +96 -0
- package/dist/session/dispatcher.js.map +1 -0
- package/dist/session/index.d.ts +15 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +15 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/rekey.d.ts +108 -0
- package/dist/session/rekey.d.ts.map +1 -0
- package/dist/session/rekey.js +207 -0
- package/dist/session/rekey.js.map +1 -0
- package/dist/session/rekey_seal.d.ts +66 -0
- package/dist/session/rekey_seal.d.ts.map +1 -0
- package/dist/session/rekey_seal.js +153 -0
- package/dist/session/rekey_seal.js.map +1 -0
- package/dist/session/resume.d.ts +125 -0
- package/dist/session/resume.d.ts.map +1 -0
- package/dist/session/resume.js +263 -0
- package/dist/session/resume.js.map +1 -0
- package/dist/session/session.d.ts +136 -0
- package/dist/session/session.d.ts.map +1 -0
- package/dist/session/session.js +188 -0
- package/dist/session/session.js.map +1 -0
- package/dist/transparency/index.d.ts +13 -0
- package/dist/transparency/index.d.ts.map +1 -0
- package/dist/transparency/index.js +13 -0
- package/dist/transparency/index.js.map +1 -0
- package/dist/transparency/log.d.ts +61 -0
- package/dist/transparency/log.d.ts.map +1 -0
- package/dist/transparency/log.js +133 -0
- package/dist/transparency/log.js.map +1 -0
- package/dist/transparency/merkle.d.ts +59 -0
- package/dist/transparency/merkle.d.ts.map +1 -0
- package/dist/transparency/merkle.js +314 -0
- package/dist/transparency/merkle.js.map +1 -0
- package/dist/transparency/sign.d.ts +48 -0
- package/dist/transparency/sign.d.ts.map +1 -0
- package/dist/transparency/sign.js +140 -0
- package/dist/transparency/sign.js.map +1 -0
- package/dist/transparency/types.d.ts +97 -0
- package/dist/transparency/types.d.ts.map +1 -0
- package/dist/transparency/types.js +25 -0
- package/dist/transparency/types.js.map +1 -0
- package/dist/transport/h2.d.ts +163 -0
- package/dist/transport/h2.d.ts.map +1 -0
- package/dist/transport/h2.js +397 -0
- package/dist/transport/h2.js.map +1 -0
- package/dist/transport/index.d.ts +15 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +15 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/memory.d.ts +21 -0
- package/dist/transport/memory.d.ts.map +1 -0
- package/dist/transport/memory.js +112 -0
- package/dist/transport/memory.js.map +1 -0
- package/dist/transport/transport.d.ts +54 -0
- package/dist/transport/transport.d.ts.map +1 -0
- package/dist/transport/transport.js +20 -0
- package/dist/transport/transport.js.map +1 -0
- package/dist/transport/ws.d.ts +40 -0
- package/dist/transport/ws.d.ts.map +1 -0
- package/dist/transport/ws.js +204 -0
- package/dist/transport/ws.js.map +1 -0
- package/package.json +147 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Federation handshake (server ↔ server) per HANDSHAKE.md §5.
|
|
3
|
+
*
|
|
4
|
+
* Two servers establish a federation session by exchanging four
|
|
5
|
+
* messages — symmetric in shape to the client handshake but with
|
|
6
|
+
* domain identity in plaintext on both sides plus a domain-proof
|
|
7
|
+
* verification step:
|
|
8
|
+
*
|
|
9
|
+
* 1. ServerInit (initiator → responder) carrying the initiator's
|
|
10
|
+
* domain, ephemeral key, identity proof, and a {@link DomainProof}
|
|
11
|
+
* that the responder verifies via DNS / certificate / well-known.
|
|
12
|
+
* 2. FederationResponse (responder → initiator) carrying the
|
|
13
|
+
* responder's identity material, the {@link DomainVerificationResult},
|
|
14
|
+
* negotiated capabilities, and the responder's
|
|
15
|
+
* {@link FederationPolicy}.
|
|
16
|
+
* 3. FederationConfirm (initiator → responder) with the
|
|
17
|
+
* confirmation hash and a {@link FederationAcceptance} block
|
|
18
|
+
* stating whether the initiator accepts the policy.
|
|
19
|
+
* 4. FederationAccepted (responder → initiator) finalizing the
|
|
20
|
+
* session and (optionally) issuing a resumption ticket.
|
|
21
|
+
*
|
|
22
|
+
* @module
|
|
23
|
+
*/
|
|
24
|
+
import { type SessionKeys } from "../crypto/index.js";
|
|
25
|
+
import { type Capabilities, type Negotiated, type ResumptionTicket } from "./messages.js";
|
|
26
|
+
/** Wire-level discriminators (shared with the client handshake). */
|
|
27
|
+
export declare const FederationMessageType = "SEMP_HANDSHAKE";
|
|
28
|
+
/**
|
|
29
|
+
* Federation domain-proof verification methods per HANDSHAKE.md
|
|
30
|
+
* §5.3.
|
|
31
|
+
*/
|
|
32
|
+
export type DomainProofMethod = "dns-txt" | "certificate" | "well-known"
|
|
33
|
+
/** Test fixture; production deployments MUST NOT accept this method. */
|
|
34
|
+
| "test-trust";
|
|
35
|
+
/** Domain ownership proof per §5.3. */
|
|
36
|
+
export interface DomainProof {
|
|
37
|
+
method: DomainProofMethod;
|
|
38
|
+
/** Verification payload, format determined by `method`. */
|
|
39
|
+
data: string;
|
|
40
|
+
}
|
|
41
|
+
/** Result of a {@link DomainVerifier} check per §5.4. */
|
|
42
|
+
export interface DomainVerificationResult {
|
|
43
|
+
/** `"verified"` on success; `"rejected"` or `"unverified"` otherwise. */
|
|
44
|
+
status: "verified" | "rejected" | "unverified";
|
|
45
|
+
/** Echoes the verification method that was attempted. */
|
|
46
|
+
method: DomainProofMethod;
|
|
47
|
+
/** Optional human-readable detail; operator-facing. */
|
|
48
|
+
detail?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Operator-defined federation policy per §5.4. */
|
|
51
|
+
export interface FederationPolicy {
|
|
52
|
+
/** Duration string (e.g. `"7d"`, `"30d"`, `"0"`). */
|
|
53
|
+
message_retention: string;
|
|
54
|
+
/** `"allowed"` or `"denied"`. */
|
|
55
|
+
user_discovery: "allowed" | "denied";
|
|
56
|
+
/** Whether the responder forwards envelopes on behalf of third parties. */
|
|
57
|
+
relay_allowed: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Initiator's acceptance of the responder's policy per §5.5. When
|
|
61
|
+
* `accepted === false`, a `reason` is REQUIRED and the responder
|
|
62
|
+
* MUST treat the handshake as rejected.
|
|
63
|
+
*/
|
|
64
|
+
export interface FederationAcceptance {
|
|
65
|
+
accepted: boolean;
|
|
66
|
+
policy_acknowledged: boolean;
|
|
67
|
+
reason?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Abbreviated identity proof used inside federation init / response
|
|
71
|
+
* messages. The signature is over the canonical bytes:
|
|
72
|
+
*
|
|
73
|
+
* - init: `eph_pub || nonce_bytes`
|
|
74
|
+
* - response: `eph_pub || responder_nonce || initiator_nonce`
|
|
75
|
+
*
|
|
76
|
+
* with the `SEMP-IDENTITY:` domain-separation prefix. Binds the
|
|
77
|
+
* long-term domain key to the ephemeral key without depending on
|
|
78
|
+
* the surrounding message envelope.
|
|
79
|
+
*/
|
|
80
|
+
export interface FederationProof {
|
|
81
|
+
key_id: string;
|
|
82
|
+
/** Base64 Ed25519 signature. */
|
|
83
|
+
signature: string;
|
|
84
|
+
}
|
|
85
|
+
/** Reusable ephemeral-key block. */
|
|
86
|
+
export interface FederationEphemeralKey {
|
|
87
|
+
algorithm: string;
|
|
88
|
+
/** Base64. */
|
|
89
|
+
key: string;
|
|
90
|
+
key_id: string;
|
|
91
|
+
}
|
|
92
|
+
/** Server-init message per §5.2. */
|
|
93
|
+
export interface ServerInit {
|
|
94
|
+
type: typeof FederationMessageType;
|
|
95
|
+
step: "init";
|
|
96
|
+
party: "server";
|
|
97
|
+
version: string;
|
|
98
|
+
/** Base64 32-byte initiator nonce. */
|
|
99
|
+
nonce: string;
|
|
100
|
+
server_id: string;
|
|
101
|
+
server_domain: string;
|
|
102
|
+
server_ephemeral_key: FederationEphemeralKey;
|
|
103
|
+
server_identity_proof: FederationProof;
|
|
104
|
+
domain_proof: DomainProof;
|
|
105
|
+
capabilities: Capabilities;
|
|
106
|
+
/** Base64 outer Ed25519 signature. */
|
|
107
|
+
server_signature: string;
|
|
108
|
+
extensions: Record<string, unknown>;
|
|
109
|
+
}
|
|
110
|
+
/** Responder's response per §5.4. */
|
|
111
|
+
export interface FederationResponse {
|
|
112
|
+
type: typeof FederationMessageType;
|
|
113
|
+
step: "response";
|
|
114
|
+
party: "server";
|
|
115
|
+
version: string;
|
|
116
|
+
session_id: string;
|
|
117
|
+
/** Echo of the initiator's nonce. */
|
|
118
|
+
client_nonce: string;
|
|
119
|
+
/** Base64 32-byte responder nonce. */
|
|
120
|
+
server_nonce: string;
|
|
121
|
+
server_id: string;
|
|
122
|
+
server_domain: string;
|
|
123
|
+
server_ephemeral_key: FederationEphemeralKey;
|
|
124
|
+
server_identity_proof: FederationProof;
|
|
125
|
+
domain_verification_result: DomainVerificationResult;
|
|
126
|
+
negotiated: Negotiated;
|
|
127
|
+
federation_policy: FederationPolicy;
|
|
128
|
+
/** Base64 outer Ed25519 signature. */
|
|
129
|
+
server_signature: string;
|
|
130
|
+
extensions: Record<string, unknown>;
|
|
131
|
+
}
|
|
132
|
+
/** Initiator's confirm per §5.5. */
|
|
133
|
+
export interface FederationConfirm {
|
|
134
|
+
type: typeof FederationMessageType;
|
|
135
|
+
step: "confirm";
|
|
136
|
+
party: "server";
|
|
137
|
+
version: string;
|
|
138
|
+
session_id: string;
|
|
139
|
+
/** Base64 SHA-256(canonical(init) || canonical(response)). */
|
|
140
|
+
confirmation_hash: string;
|
|
141
|
+
federation_acceptance: FederationAcceptance;
|
|
142
|
+
/** Base64 outer Ed25519 signature. */
|
|
143
|
+
server_signature: string;
|
|
144
|
+
extensions: Record<string, unknown>;
|
|
145
|
+
}
|
|
146
|
+
/** Responder's accepted per §5.6 / §2.8.7. */
|
|
147
|
+
export interface FederationAccepted {
|
|
148
|
+
type: typeof FederationMessageType;
|
|
149
|
+
step: "accepted";
|
|
150
|
+
party: "server";
|
|
151
|
+
version: string;
|
|
152
|
+
session_id: string;
|
|
153
|
+
status: "accepted";
|
|
154
|
+
session_ttl: number;
|
|
155
|
+
/** Resumption-only fields, present when responding to FederationResume. */
|
|
156
|
+
server_nonce?: string;
|
|
157
|
+
server_ephemeral_key?: FederationEphemeralKey;
|
|
158
|
+
resumption_ticket?: ResumptionTicket;
|
|
159
|
+
/** Base64 outer Ed25519 signature. */
|
|
160
|
+
server_signature: string;
|
|
161
|
+
extensions: Record<string, unknown>;
|
|
162
|
+
}
|
|
163
|
+
/** Initiator-side resume per §2.8.7. */
|
|
164
|
+
export interface FederationResume {
|
|
165
|
+
type: typeof FederationMessageType;
|
|
166
|
+
step: "resume";
|
|
167
|
+
party: "server";
|
|
168
|
+
version: string;
|
|
169
|
+
/** Base64 32-byte initiator nonce. */
|
|
170
|
+
nonce: string;
|
|
171
|
+
server_id: string;
|
|
172
|
+
server_domain: string;
|
|
173
|
+
/** Initiator's discovery cache revision; 0 omits. */
|
|
174
|
+
peer_configuration_revision?: number;
|
|
175
|
+
/** Base64 opaque ticket bytes from the prior FederationAccepted. */
|
|
176
|
+
resumption_ticket: string;
|
|
177
|
+
client_ephemeral_key: FederationEphemeralKey;
|
|
178
|
+
transport: string;
|
|
179
|
+
extensions: Record<string, unknown>;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Domain-ownership verifier invoked by the responder during the
|
|
183
|
+
* handshake. `verify` resolves on success; rejects (or throws) on
|
|
184
|
+
* failure — the rejection reason is surfaced in
|
|
185
|
+
* {@link DomainVerificationResult.detail}.
|
|
186
|
+
*/
|
|
187
|
+
export interface DomainVerifier {
|
|
188
|
+
verify(domain: string, proof: DomainProof, initiatorNonce: string): Promise<void>;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Permissive verifier that accepts every proof. Tests / single-
|
|
192
|
+
* process deployments only — production MUST NOT use it.
|
|
193
|
+
*/
|
|
194
|
+
export declare class TrustingDomainVerifier implements DomainVerifier {
|
|
195
|
+
verify(): Promise<void>;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Decide which of two simultaneously-initiated federation handshakes
|
|
199
|
+
* proceeds per SESSION.md §2.5.2. Both peers agree on the winner
|
|
200
|
+
* without external coordination — lexicographic compare provides
|
|
201
|
+
* exactly this property.
|
|
202
|
+
*
|
|
203
|
+
* Returns the winning `session_id` (the one that proceeds).
|
|
204
|
+
*/
|
|
205
|
+
export declare function resolveCollision(idA: string, idB: string): string;
|
|
206
|
+
/** Hook deciding whether to accept a {@link FederationPolicy}. */
|
|
207
|
+
export type PolicyAcceptor = (policy: FederationPolicy) => string | null;
|
|
208
|
+
/** Default acceptor that accepts every policy (tests). */
|
|
209
|
+
export declare const acceptAllPolicies: PolicyAcceptor;
|
|
210
|
+
/** Configuration for {@link FederationInitiator}. */
|
|
211
|
+
export interface FederationInitiatorConfig {
|
|
212
|
+
/** Algorithm suite. v1: `"x25519-chacha20-poly1305"`. */
|
|
213
|
+
suite: "x25519-chacha20-poly1305";
|
|
214
|
+
/** Capability set to advertise. */
|
|
215
|
+
capabilities: Capabilities;
|
|
216
|
+
/** Initiator's own domain. */
|
|
217
|
+
localDomain: string;
|
|
218
|
+
/**
|
|
219
|
+
* Stable id of the initiator server instance within `localDomain`.
|
|
220
|
+
* If empty, callers MUST set one before calling {@link init}.
|
|
221
|
+
*/
|
|
222
|
+
localServerID: string;
|
|
223
|
+
/** 32-byte Ed25519 secret seed for the initiator's domain key. */
|
|
224
|
+
localDomainSeed: Uint8Array;
|
|
225
|
+
/** Lookup hook returning the responder's published domain pub. */
|
|
226
|
+
peerDomainPubLookup: (domain: string) => Uint8Array;
|
|
227
|
+
/** Responder's domain (the one the initiator wants to federate with). */
|
|
228
|
+
peerDomain: string;
|
|
229
|
+
/** {@link DomainProof} the initiator presents. */
|
|
230
|
+
domainProof: DomainProof;
|
|
231
|
+
/** Defaults to {@link acceptAllPolicies}. */
|
|
232
|
+
policyAcceptor?: PolicyAcceptor;
|
|
233
|
+
/** Optional pre-pinned ephemeral private (deterministic tests). */
|
|
234
|
+
initiatorEphemeralPriv?: Uint8Array;
|
|
235
|
+
/** Optional pre-pinned 32-byte initiator nonce. */
|
|
236
|
+
initiatorNonce?: Uint8Array;
|
|
237
|
+
}
|
|
238
|
+
/** Outcome of a successful federation handshake (initiator side). */
|
|
239
|
+
export interface FederationInitiatorSession {
|
|
240
|
+
sessionId: string;
|
|
241
|
+
sessionTTL: number;
|
|
242
|
+
keys: SessionKeys;
|
|
243
|
+
peerDomain: string;
|
|
244
|
+
resumptionTicket?: ResumptionTicket;
|
|
245
|
+
extensions: Record<string, unknown>;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Stateful federation initiator. Mirror of `semp-go/handshake.Initiator`.
|
|
249
|
+
* Single-shot — discard after success or error.
|
|
250
|
+
*/
|
|
251
|
+
export declare class FederationInitiator {
|
|
252
|
+
private readonly cfg;
|
|
253
|
+
private readonly localDomainPub;
|
|
254
|
+
private readonly localDomainKeyId;
|
|
255
|
+
private nonce;
|
|
256
|
+
private ephPriv;
|
|
257
|
+
private ephPub;
|
|
258
|
+
private initCanonical;
|
|
259
|
+
private respCanonical;
|
|
260
|
+
private sessionId;
|
|
261
|
+
private sessionKeys;
|
|
262
|
+
private finalSession;
|
|
263
|
+
private resumptionSecret;
|
|
264
|
+
private resumeNonce;
|
|
265
|
+
constructor(cfg: FederationInitiatorConfig);
|
|
266
|
+
/** Build ServerInit bytes (message 1). */
|
|
267
|
+
init(): Uint8Array;
|
|
268
|
+
/** Process FederationResponse (message 2) and produce FederationConfirm bytes. */
|
|
269
|
+
onResponse(data: Uint8Array): Uint8Array;
|
|
270
|
+
/** Process FederationAccepted (message 4) and finalize the session. */
|
|
271
|
+
onAccepted(data: Uint8Array): void;
|
|
272
|
+
/** Final session populated by {@link onAccepted}. */
|
|
273
|
+
session(): FederationInitiatorSession;
|
|
274
|
+
/** Load `K_resumption` recovered from a prior session before {@link resume}. */
|
|
275
|
+
loadResumptionSecret(secret: Uint8Array): void;
|
|
276
|
+
/**
|
|
277
|
+
* Build a {@link FederationResume} bytes per §2.8.7. `ticket` is
|
|
278
|
+
* the opaque value from the prior FederationAccepted's
|
|
279
|
+
* `resumption_ticket.value` (already base64-decoded). Pass
|
|
280
|
+
* `peerConfigurationRevision = 0` to omit it.
|
|
281
|
+
*/
|
|
282
|
+
resume(ticket: Uint8Array, peerConfigurationRevision?: number): Uint8Array;
|
|
283
|
+
/**
|
|
284
|
+
* Process the responder's FederationAccepted in response to
|
|
285
|
+
* {@link resume} and derive resumed session keys per §2.8.3.
|
|
286
|
+
*/
|
|
287
|
+
onResumeAccepted(data: Uint8Array): {
|
|
288
|
+
session: FederationInitiatorSession;
|
|
289
|
+
newTicket: Uint8Array | undefined;
|
|
290
|
+
};
|
|
291
|
+
/** Wipe in-memory secret state. */
|
|
292
|
+
erase(): void;
|
|
293
|
+
}
|
|
294
|
+
/** Configuration for {@link FederationResponder}. */
|
|
295
|
+
export interface FederationResponderConfig {
|
|
296
|
+
suite: "x25519-chacha20-poly1305";
|
|
297
|
+
capabilities: Capabilities;
|
|
298
|
+
/** Responder's own domain. */
|
|
299
|
+
localDomain: string;
|
|
300
|
+
/** Stable id of the responder server instance within `localDomain`. */
|
|
301
|
+
localServerID: string;
|
|
302
|
+
/** 32-byte Ed25519 secret seed for the responder's domain key. */
|
|
303
|
+
localDomainSeed: Uint8Array;
|
|
304
|
+
/** Lookup hook returning the initiator's published domain pub. */
|
|
305
|
+
peerDomainPubLookup: (domain: string) => Uint8Array;
|
|
306
|
+
/** Verifier for the initiator's {@link DomainProof}. */
|
|
307
|
+
verifier?: DomainVerifier;
|
|
308
|
+
/** Federation policy returned in message 2. */
|
|
309
|
+
policy: FederationPolicy;
|
|
310
|
+
/** Session TTL in seconds. Defaults to 3600. */
|
|
311
|
+
sessionTTL?: number;
|
|
312
|
+
/** Generator for `session_id`. Required. */
|
|
313
|
+
generateSessionId: () => string;
|
|
314
|
+
/** Optional pre-pinned ephemeral private (deterministic tests). */
|
|
315
|
+
responderEphemeralPriv?: Uint8Array;
|
|
316
|
+
/** Optional pre-pinned 32-byte responder nonce. */
|
|
317
|
+
responderNonce?: Uint8Array;
|
|
318
|
+
}
|
|
319
|
+
/** Outcome of a successful federation handshake (responder side). */
|
|
320
|
+
export interface FederationResponderSession {
|
|
321
|
+
sessionId: string;
|
|
322
|
+
sessionTTL: number;
|
|
323
|
+
keys: SessionKeys;
|
|
324
|
+
peerDomain: string;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Stateful federation responder. Mirror of `semp-go/handshake.Responder`.
|
|
328
|
+
* Single-shot — discard after success or error.
|
|
329
|
+
*/
|
|
330
|
+
export declare class FederationResponder {
|
|
331
|
+
private readonly cfg;
|
|
332
|
+
private readonly localDomainPub;
|
|
333
|
+
private readonly localDomainKeyId;
|
|
334
|
+
private readonly verifier;
|
|
335
|
+
private readonly sessionTTL;
|
|
336
|
+
private sessionId;
|
|
337
|
+
private peerDomain;
|
|
338
|
+
private peerNonce;
|
|
339
|
+
private serverNonce;
|
|
340
|
+
private respEphPriv;
|
|
341
|
+
private initCanonical;
|
|
342
|
+
private respCanonical;
|
|
343
|
+
private sessionKeys;
|
|
344
|
+
private finalSession;
|
|
345
|
+
constructor(cfg: FederationResponderConfig);
|
|
346
|
+
/**
|
|
347
|
+
* Process ServerInit (message 1) and produce FederationResponse
|
|
348
|
+
* bytes. Throws on signature, identity-proof, or domain-proof
|
|
349
|
+
* verification failure.
|
|
350
|
+
*/
|
|
351
|
+
onInit(data: Uint8Array): Promise<Uint8Array>;
|
|
352
|
+
/**
|
|
353
|
+
* Process FederationConfirm (message 3) and produce
|
|
354
|
+
* FederationAccepted bytes (message 4). Throws if the initiator
|
|
355
|
+
* rejected the policy or the confirmation hash doesn't match.
|
|
356
|
+
*/
|
|
357
|
+
onConfirm(data: Uint8Array, opts?: {
|
|
358
|
+
issueResumptionTicket?: (keys: SessionKeys) => ResumptionTicket;
|
|
359
|
+
}): Uint8Array;
|
|
360
|
+
/** Final session populated by {@link onConfirm}. */
|
|
361
|
+
session(): FederationResponderSession;
|
|
362
|
+
/** Wipe in-memory secret state. */
|
|
363
|
+
erase(): void;
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=federation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/handshake/federation.ts"],"names":[],"mappings":"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"}
|