keri-ts 1.0.0 → 2.0.1
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/README.md +23 -0
- package/esm/keri/npm/src/acdc/chaining.js +213 -0
- package/esm/keri/npm/src/acdc/dhking.js +716 -0
- package/esm/keri/npm/src/acdc/messaging.js +2 -0
- package/esm/keri/npm/src/acdc/observing.js +40 -7
- package/esm/keri/npm/src/acdc/regbasing.js +13 -2
- package/esm/keri/npm/src/acdc/regengine.js +71 -23
- package/esm/keri/npm/src/acdc/regeventing.js +163 -44
- package/esm/keri/npm/src/acdc/registering.js +93 -14
- package/esm/keri/npm/src/acdc/relating.js +59 -0
- package/esm/keri/npm/src/acdc/salting.js +720 -0
- package/esm/keri/npm/src/acdc/scheming.js +94 -39
- package/esm/keri/npm/src/acdc/unblinding.js +1042 -0
- package/esm/keri/npm/src/app/{authenticating.js → bootstrap/authenticating.js} +39 -18
- package/esm/keri/npm/src/app/bootstrap/bootstrapping.js +109 -0
- package/esm/keri/npm/src/app/{oobi-replies.js → bootstrap/oobi-replies.js} +8 -6
- package/esm/keri/npm/src/app/{oobiery.js → bootstrap/oobiery.js} +161 -75
- package/esm/keri/npm/src/app/credentials/credential-importing.js +201 -0
- package/esm/keri/npm/src/app/credentials/credential-proposals.js +120 -0
- package/esm/keri/npm/src/app/credentials/credential-revoking.js +165 -0
- package/esm/keri/npm/src/app/credentials/credential-workflows.js +365 -0
- package/esm/keri/npm/src/app/credentials/tel-publishing.js +27 -0
- package/esm/keri/npm/src/app/{verifying.js → credentials/verifying.js} +50 -6
- package/esm/keri/npm/src/app/delivery/forwarding.js +600 -0
- package/esm/keri/npm/src/app/delivery/introducing.js +68 -0
- package/esm/keri/npm/src/app/{reply-streams.js → delivery/reply-streams.js} +52 -7
- package/esm/keri/npm/src/app/delivery/respondant.js +159 -0
- package/esm/keri/npm/src/app/{stored-replies.js → delivery/stored-replies.js} +4 -4
- package/esm/keri/npm/src/app/exchanges/essr.js +111 -0
- package/esm/keri/npm/src/app/exchanges/exchange-messaging.js +66 -0
- package/esm/keri/npm/src/app/exchanges/exchanging.js +1354 -0
- package/esm/keri/npm/src/app/{configing.js → identity/configing.js} +4 -4
- package/esm/keri/npm/src/app/{delegating.js → identity/delegating.js} +99 -29
- package/esm/keri/npm/src/app/{endpoint-roleing.js → identity/endpoint-roleing.js} +36 -36
- package/esm/keri/npm/src/app/{habbing.js → identity/habbing.js} +232 -150
- package/esm/keri/npm/src/app/{keeping.js → identity/keeping.js} +60 -56
- package/esm/keri/npm/src/app/{organizing.js → identity/organizing.js} +47 -21
- package/esm/keri/npm/src/app/ipex/ipex-building.js +162 -0
- package/esm/keri/npm/src/app/{ipex-credentialing.js → ipex/ipex-credentialing.js} +142 -31
- package/esm/keri/npm/src/app/ipex/ipex-graph.js +243 -0
- package/esm/keri/npm/src/app/ipex/ipex-grouping.js +664 -0
- package/esm/keri/npm/src/app/{ipex-node-authentication.js → ipex/ipex-node-authentication.js} +83 -6
- package/esm/keri/npm/src/app/ipex/ipex-v2.js +692 -0
- package/esm/keri/npm/src/app/{ipexing.js → ipex/ipexing.js} +58 -1
- package/esm/keri/npm/src/app/mailbox/forward-handler.js +228 -0
- package/esm/keri/npm/src/app/{mailbox-director.js → mailbox/mailbox-director.js} +120 -15
- package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +305 -0
- package/esm/keri/npm/src/app/mailbox/mailbox-sse.js +254 -0
- package/esm/keri/npm/src/app/{mailboxing.js → mailbox/mailboxing.js} +118 -67
- package/esm/keri/npm/src/app/mailbox/topic-routing.js +54 -0
- package/esm/keri/npm/src/app/multisig/group-members.js +173 -0
- package/esm/keri/npm/src/app/{grouping.js → multisig/grouping.js} +384 -70
- package/esm/keri/npm/src/app/multisig/multisig-messaging.js +164 -0
- package/esm/keri/npm/src/app/multisig/multisig-workflows.js +821 -0
- package/esm/keri/npm/src/app/{notifying.js → notifications/notifying.js} +8 -14
- package/esm/keri/npm/src/app/{signaling.js → notifications/signaling.js} +1 -1
- package/esm/keri/npm/src/app/{parsering.js → protocol/parsering.js} +86 -18
- package/esm/keri/npm/src/app/protocol/protocol-processing.js +245 -0
- package/esm/keri/npm/src/app/protocol/reactor.js +55 -0
- package/esm/keri/npm/src/app/{query-replies.js → queries/query-replies.js} +57 -6
- package/esm/keri/npm/src/app/queries/querying.js +306 -0
- package/esm/keri/npm/src/app/queries/witness-inquisitor.js +415 -0
- package/esm/keri/npm/src/app/{abortable.js → runtime/abortable.js} +43 -4
- package/esm/keri/npm/src/app/runtime/agent-runtime.js +633 -0
- package/esm/keri/npm/src/app/runtime/cue-runtime.js +61 -0
- package/esm/keri/npm/src/app/runtime/runtime-clock.js +6 -0
- package/esm/keri/npm/src/app/{byte-source.js → transport/byte-source.js} +36 -6
- package/esm/keri/npm/src/app/transport/cesr-egress.js +317 -0
- package/esm/keri/npm/src/app/{cesr-http.js → transport/cesr-http.js} +20 -55
- package/esm/keri/npm/src/app/transport/http-client.js +172 -0
- package/esm/keri/npm/src/app/transport/http-messenger.js +52 -0
- package/esm/keri/npm/src/app/transport/http-stream-messenger.js +60 -0
- package/esm/keri/npm/src/app/transport/httping.js +57 -0
- package/esm/keri/npm/src/app/transport/message-source.js +77 -0
- package/esm/keri/npm/src/app/transport/messengering.js +68 -0
- package/esm/keri/npm/src/app/{socket-source.js → transport/socket-source.js} +39 -2
- package/esm/keri/npm/src/app/transport/tcp-egress.js +377 -0
- package/esm/keri/npm/src/app/transport/tcp-messenger.js +162 -0
- package/esm/keri/npm/src/app/transport/tcp-stream-messenger.js +40 -0
- package/esm/keri/npm/src/app/transport/transport-error.js +14 -0
- package/esm/keri/npm/src/app/witness/http-endpoints.js +185 -0
- package/esm/keri/npm/src/app/witness/ingress.js +148 -0
- package/esm/keri/npm/src/app/witness/receipt-client.js +248 -0
- package/esm/keri/npm/src/app/witness/receipt-messages.js +29 -0
- package/esm/keri/npm/src/app/witness/receipting.js +323 -0
- package/esm/keri/npm/src/app/witness/registration.js +50 -0
- package/esm/keri/npm/src/cli/common/bootstrap.js +12 -0
- package/esm/keri/npm/src/{app/cli → cli}/common/context.js +47 -6
- package/esm/keri/npm/src/{app/cli → cli}/common/existing.js +9 -11
- package/esm/keri/npm/src/cli/common/parsing.js +279 -0
- package/esm/keri/npm/src/cli/common/passcode.js +66 -0
- package/esm/keri/npm/src/cli/common/tel-completion.js +24 -0
- package/esm/keri/npm/src/{app/cli → cli}/common/witness-auth.js +2 -2
- package/esm/keri/npm/src/cli/credentials/ipex.js +702 -0
- package/esm/keri/npm/src/cli/credentials/vc.js +399 -0
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/did.js +63 -36
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/ends.js +33 -28
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/loc.js +16 -11
- package/esm/keri/npm/src/cli/endpoints/oobi-clean.js +134 -0
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/oobi.js +35 -32
- package/esm/keri/npm/src/{app/cli → cli/identity}/aid.js +8 -7
- package/esm/keri/npm/src/{app/cli → cli/identity}/challenge.js +60 -49
- package/esm/keri/npm/src/{app/cli → cli/identity}/delegate.js +61 -26
- package/esm/keri/npm/src/{app/cli → cli/identity}/export.js +9 -8
- package/esm/keri/npm/src/cli/identity/incept.js +181 -0
- package/esm/keri/npm/src/cli/identity/init.js +153 -0
- package/esm/keri/npm/src/cli/identity/interact.js +84 -0
- package/esm/keri/npm/src/{app/cli → cli/identity}/list.js +7 -6
- package/esm/keri/npm/src/{app/cli → cli/identity}/rotate.js +60 -57
- package/esm/keri/npm/src/cli/index.js +38 -0
- package/esm/keri/npm/src/{app/cli → cli/messaging}/exchange.js +24 -22
- package/esm/keri/npm/src/{app/cli → cli/messaging}/multisig.js +165 -156
- package/esm/keri/npm/src/{app/cli → cli/messaging}/notifications.js +26 -22
- package/esm/keri/npm/src/{app/cli → cli}/output.js +1 -1
- package/esm/keri/npm/src/{app/cli → cli/tools}/annotate.js +10 -4
- package/esm/keri/npm/src/{app/cli → cli/tools}/benchmark.js +15 -4
- package/esm/keri/npm/src/{app/cli → cli/tools}/db-dump.js +11 -10
- package/esm/keri/npm/src/{app/cli → cli/tools}/saidify.js +3 -2
- package/esm/keri/npm/src/{app/cli → cli/tools}/sign.js +16 -10
- package/esm/keri/npm/src/{app/cli → cli/tools}/verify.js +10 -10
- package/esm/keri/npm/src/core/attachment-countering.js +31 -1
- package/esm/keri/npm/src/core/{exchange-proofing.js → exchange/exchange-proofing.js} +32 -2
- package/esm/keri/npm/src/core/{protocol-exchanging.js → exchange/protocol-exchanging.js} +26 -4
- package/esm/keri/npm/src/core/genus-framing.js +44 -0
- package/esm/keri/npm/src/core/{eventing.js → kel/eventing.js} +57 -25
- package/esm/keri/npm/src/core/{kever-decisions.js → kel/kever-decisions.js} +24 -12
- package/esm/keri/npm/src/core/{kever.js → kel/kever.js} +4 -4
- package/esm/keri/npm/src/core/logger.js +3 -3
- package/esm/keri/npm/src/core/{kram-policy.js → mailbox/kram-policy.js} +14 -4
- package/esm/keri/npm/src/core/{kram-pruning.js → mailbox/kram-pruning.js} +3 -3
- package/esm/keri/npm/src/core/{kram-signatures.js → mailbox/kram-signatures.js} +1 -1
- package/esm/keri/npm/src/core/{kram-staging.js → mailbox/kram-staging.js} +6 -6
- package/esm/keri/npm/src/core/{kram-time.js → mailbox/kram-time.js} +4 -3
- package/esm/keri/npm/src/core/{kraming.js → mailbox/kraming.js} +2 -2
- package/esm/keri/npm/src/core/protocol-eventing.js +1 -1
- package/esm/keri/npm/src/core/protocol-serialization.js +9 -34
- package/esm/keri/npm/src/core/routing.js +52 -17
- package/esm/keri/npm/src/db/baser-defaults.js +11 -0
- package/esm/keri/npm/src/db/basing.js +89 -232
- package/esm/keri/npm/src/db/core/lmdber.js +102 -63
- package/esm/keri/npm/src/db/escrowing.js +73 -49
- package/esm/keri/npm/src/db/exchange/exchange-nests.js +54 -0
- package/esm/keri/npm/src/db/exchange/exchange-records.js +7 -0
- package/esm/keri/npm/src/db/index.js +5 -4
- package/esm/keri/npm/src/db/keeping.js +122 -3
- package/esm/keri/npm/src/db/{kram-factors.js → mailbox/kram-factors.js} +1 -1
- package/esm/keri/npm/src/db/{mailboxing.js → mailbox/mailboxing.js} +3 -3
- package/esm/keri/npm/src/db/reger.js +38 -29
- package/esm/keri/npm/src/db/{kel-replay.js → replay/kel-replay.js} +11 -4
- package/esm/keri/npm/src/db/{tel-replay.js → replay/tel-replay.js} +34 -0
- package/esm/keri/npm/src/db/{witness-replay.js → replay/witness-replay.js} +2 -2
- package/esm/keri/npm/src/db/subing.js +2 -3
- package/esm/keri/npm/src/did/webs/artifacts.js +15 -18
- package/esm/keri/npm/src/did/webs/designated-aliases.js +5 -7
- package/esm/keri/npm/src/did/webs/resolving.js +73 -56
- package/esm/keri/npm/src/library/index.js +1 -1
- package/esm/keri/npm/src/npm/cli.js +1 -1
- package/esm/keri/npm/src/npm/index.js +1 -1
- package/esm/keri/npm/src/runtime/index.js +79 -47
- package/esm/keri/npm/src/vdr/backer-state.js +55 -0
- package/esm/keri/npm/src/vdr/credential-tsn-record.js +59 -0
- package/esm/keri/npm/src/vdr/credentialing.js +84 -82
- package/esm/keri/npm/src/vdr/eventing.js +592 -204
- package/esm/keri/npm/src/vdr/registry-tsn-record.js +55 -0
- package/esm/keri/npm/src/vdr/revoking.js +90 -0
- package/esm/keri/npm/src/vdr/tel-anchor.js +29 -0
- package/esm/keri/npm/src/vdr/tel-publication.js +178 -0
- package/esm/keri/npm/src/{app/version.js → version.js} +2 -2
- package/package.json +5 -3
- package/types/_dnt.polyfills.d.ts +6 -0
- package/types/_dnt.polyfills.d.ts.map +1 -1
- package/types/acdc/chaining.d.ts +35 -0
- package/types/acdc/chaining.d.ts.map +1 -0
- package/types/acdc/dhking.d.ts +136 -0
- package/types/acdc/dhking.d.ts.map +1 -0
- package/types/acdc/messaging.d.ts.map +1 -1
- package/types/acdc/observing.d.ts +18 -7
- package/types/acdc/observing.d.ts.map +1 -1
- package/types/acdc/regbasing.d.ts +3 -1
- package/types/acdc/regbasing.d.ts.map +1 -1
- package/types/acdc/regengine.d.ts +9 -4
- package/types/acdc/regengine.d.ts.map +1 -1
- package/types/acdc/regeventing.d.ts +24 -7
- package/types/acdc/regeventing.d.ts.map +1 -1
- package/types/acdc/registering.d.ts +22 -6
- package/types/acdc/registering.d.ts.map +1 -1
- package/types/acdc/registraring.d.ts +1 -1
- package/types/acdc/registraring.d.ts.map +1 -1
- package/types/acdc/relating.d.ts +21 -0
- package/types/acdc/relating.d.ts.map +1 -0
- package/types/acdc/salting.d.ts +241 -0
- package/types/acdc/salting.d.ts.map +1 -0
- package/types/acdc/scheming.d.ts +1 -1
- package/types/acdc/scheming.d.ts.map +1 -1
- package/types/acdc/unblinding.d.ts +150 -0
- package/types/acdc/unblinding.d.ts.map +1 -0
- package/types/app/bootstrap/authenticating.d.ts +54 -0
- package/types/app/bootstrap/authenticating.d.ts.map +1 -0
- package/types/app/bootstrap/bootstrapping.d.ts +45 -0
- package/types/app/bootstrap/bootstrapping.d.ts.map +1 -0
- package/types/app/{oobi-replies.d.ts → bootstrap/oobi-replies.d.ts} +1 -1
- package/types/app/bootstrap/oobi-replies.d.ts.map +1 -0
- package/types/app/{oobiery.d.ts → bootstrap/oobiery.d.ts} +98 -25
- package/types/app/bootstrap/oobiery.d.ts.map +1 -0
- package/types/app/credentials/credential-importing.d.ts +29 -0
- package/types/app/credentials/credential-importing.d.ts.map +1 -0
- package/types/app/credentials/credential-proposals.d.ts +27 -0
- package/types/app/credentials/credential-proposals.d.ts.map +1 -0
- package/types/app/credentials/credential-revoking.d.ts +44 -0
- package/types/app/credentials/credential-revoking.d.ts.map +1 -0
- package/types/app/credentials/credential-workflows.d.ts +149 -0
- package/types/app/credentials/credential-workflows.d.ts.map +1 -0
- package/types/app/{schema-resolving.d.ts → credentials/schema-resolving.d.ts} +2 -2
- package/types/app/credentials/schema-resolving.d.ts.map +1 -0
- package/types/app/credentials/tel-publishing.d.ts +16 -0
- package/types/app/credentials/tel-publishing.d.ts.map +1 -0
- package/types/app/{verifying.d.ts → credentials/verifying.d.ts} +19 -7
- package/types/app/credentials/verifying.d.ts.map +1 -0
- package/types/app/delivery/forwarding.d.ts +227 -0
- package/types/app/delivery/forwarding.d.ts.map +1 -0
- package/types/app/delivery/introducing.d.ts +21 -0
- package/types/app/delivery/introducing.d.ts.map +1 -0
- package/types/app/delivery/reply-streams.d.ts +49 -0
- package/types/app/delivery/reply-streams.d.ts.map +1 -0
- package/types/app/delivery/respondant.d.ts +52 -0
- package/types/app/delivery/respondant.d.ts.map +1 -0
- package/types/app/{stored-replies.d.ts → delivery/stored-replies.d.ts} +1 -1
- package/types/app/delivery/stored-replies.d.ts.map +1 -0
- package/types/app/exchanges/essr.d.ts +53 -0
- package/types/app/exchanges/essr.d.ts.map +1 -0
- package/types/app/exchanges/exchange-messaging.d.ts +73 -0
- package/types/app/exchanges/exchange-messaging.d.ts.map +1 -0
- package/types/app/exchanges/exchanging.d.ts +379 -0
- package/types/app/exchanges/exchanging.d.ts.map +1 -0
- package/types/app/{challenging.d.ts → identity/challenging.d.ts} +3 -3
- package/types/app/identity/challenging.d.ts.map +1 -0
- package/types/app/{configing.d.ts → identity/configing.d.ts} +1 -1
- package/types/app/identity/configing.d.ts.map +1 -0
- package/types/app/{delegating.d.ts → identity/delegating.d.ts} +52 -15
- package/types/app/identity/delegating.d.ts.map +1 -0
- package/types/app/{endpoint-roleing.d.ts → identity/endpoint-roleing.d.ts} +24 -13
- package/types/app/identity/endpoint-roleing.d.ts.map +1 -0
- package/types/app/{habbing.d.ts → identity/habbing.d.ts} +73 -32
- package/types/app/identity/habbing.d.ts.map +1 -0
- package/types/app/{keeping.d.ts → identity/keeping.d.ts} +19 -5
- package/types/app/identity/keeping.d.ts.map +1 -0
- package/types/app/{organizing.d.ts → identity/organizing.d.ts} +19 -4
- package/types/app/identity/organizing.d.ts.map +1 -0
- package/types/app/ipex/ipex-building.d.ts +30 -0
- package/types/app/ipex/ipex-building.d.ts.map +1 -0
- package/types/app/{ipex-credentialing.d.ts → ipex/ipex-credentialing.d.ts} +33 -6
- package/types/app/ipex/ipex-credentialing.d.ts.map +1 -0
- package/types/app/ipex/ipex-graph.d.ts +28 -0
- package/types/app/ipex/ipex-graph.d.ts.map +1 -0
- package/types/app/ipex/ipex-grouping.d.ts +112 -0
- package/types/app/ipex/ipex-grouping.d.ts.map +1 -0
- package/types/app/{ipex-node-authentication.d.ts → ipex/ipex-node-authentication.d.ts} +10 -5
- package/types/app/ipex/ipex-node-authentication.d.ts.map +1 -0
- package/types/app/ipex/ipex-v2.d.ts +71 -0
- package/types/app/ipex/ipex-v2.d.ts.map +1 -0
- package/types/app/{ipexing.d.ts → ipex/ipexing.d.ts} +21 -6
- package/types/app/ipex/ipexing.d.ts.map +1 -0
- package/types/app/mailbox/forward-handler.d.ts +68 -0
- package/types/app/mailbox/forward-handler.d.ts.map +1 -0
- package/types/app/mailbox/mailbox-director.d.ts +252 -0
- package/types/app/mailbox/mailbox-director.d.ts.map +1 -0
- package/types/app/mailbox/mailbox-poller.d.ts +149 -0
- package/types/app/mailbox/mailbox-poller.d.ts.map +1 -0
- package/types/app/mailbox/mailbox-sse.d.ts +63 -0
- package/types/app/mailbox/mailbox-sse.d.ts.map +1 -0
- package/types/app/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +92 -40
- package/types/app/mailbox/mailboxing.d.ts.map +1 -0
- package/types/app/mailbox/topic-routing.d.ts +18 -0
- package/types/app/mailbox/topic-routing.d.ts.map +1 -0
- package/types/app/multisig/group-members.d.ts +60 -0
- package/types/app/multisig/group-members.d.ts.map +1 -0
- package/types/app/{grouping.d.ts → multisig/grouping.d.ts} +142 -19
- package/types/app/multisig/grouping.d.ts.map +1 -0
- package/types/app/multisig/multisig-messaging.d.ts +97 -0
- package/types/app/multisig/multisig-messaging.d.ts.map +1 -0
- package/types/app/multisig/multisig-workflows.d.ts +85 -0
- package/types/app/multisig/multisig-workflows.d.ts.map +1 -0
- package/types/app/{notifying.d.ts → notifications/notifying.d.ts} +4 -5
- package/types/app/notifications/notifying.d.ts.map +1 -0
- package/types/app/notifications/signaling.d.ts.map +1 -0
- package/types/app/{parsering.d.ts → protocol/parsering.d.ts} +40 -11
- package/types/app/protocol/parsering.d.ts.map +1 -0
- package/types/app/{protocol-host-policy.d.ts → protocol/protocol-host-policy.d.ts} +1 -10
- package/types/app/protocol/protocol-host-policy.d.ts.map +1 -0
- package/types/app/protocol/protocol-processing.d.ts +140 -0
- package/types/app/protocol/protocol-processing.d.ts.map +1 -0
- package/types/app/protocol/reactor.d.ts +43 -0
- package/types/app/protocol/reactor.d.ts.map +1 -0
- package/types/app/queries/query-replies.d.ts +78 -0
- package/types/app/queries/query-replies.d.ts.map +1 -0
- package/types/app/queries/querying.d.ts +155 -0
- package/types/app/queries/querying.d.ts.map +1 -0
- package/types/app/queries/witness-inquisitor.d.ts +150 -0
- package/types/app/queries/witness-inquisitor.d.ts.map +1 -0
- package/types/app/runtime/abortable.d.ts +39 -0
- package/types/app/runtime/abortable.d.ts.map +1 -0
- package/types/app/runtime/agent-runtime.d.ts +348 -0
- package/types/app/runtime/agent-runtime.d.ts.map +1 -0
- package/types/app/runtime/cue-runtime.d.ts +33 -0
- package/types/app/runtime/cue-runtime.d.ts.map +1 -0
- package/types/app/runtime/runtime-clock.d.ts +28 -0
- package/types/app/runtime/runtime-clock.d.ts.map +1 -0
- package/types/app/runtime/runtime-turn.d.ts.map +1 -0
- package/types/app/transport/byte-source.d.ts +41 -0
- package/types/app/transport/byte-source.d.ts.map +1 -0
- package/types/app/transport/cesr-egress.d.ts +117 -0
- package/types/app/transport/cesr-egress.d.ts.map +1 -0
- package/types/app/{cesr-http.d.ts → transport/cesr-http.d.ts} +4 -27
- package/types/app/transport/cesr-http.d.ts.map +1 -0
- package/types/app/transport/http-client.d.ts +99 -0
- package/types/app/transport/http-client.d.ts.map +1 -0
- package/types/app/transport/http-messenger.d.ts +37 -0
- package/types/app/transport/http-messenger.d.ts.map +1 -0
- package/types/app/transport/http-stream-messenger.d.ts +30 -0
- package/types/app/transport/http-stream-messenger.d.ts.map +1 -0
- package/types/app/transport/httping.d.ts +19 -0
- package/types/app/transport/httping.d.ts.map +1 -0
- package/types/app/transport/message-source.d.ts +22 -0
- package/types/app/transport/message-source.d.ts.map +1 -0
- package/types/app/transport/messengering.d.ts +41 -0
- package/types/app/transport/messengering.d.ts.map +1 -0
- package/types/app/{socket-source.d.ts → transport/socket-source.d.ts} +8 -0
- package/types/app/transport/socket-source.d.ts.map +1 -0
- package/types/app/transport/tcp-egress.d.ts +118 -0
- package/types/app/transport/tcp-egress.d.ts.map +1 -0
- package/types/app/transport/tcp-messenger.d.ts +69 -0
- package/types/app/transport/tcp-messenger.d.ts.map +1 -0
- package/types/app/transport/tcp-stream-messenger.d.ts +25 -0
- package/types/app/transport/tcp-stream-messenger.d.ts.map +1 -0
- package/types/app/transport/transport-error.d.ts +12 -0
- package/types/app/transport/transport-error.d.ts.map +1 -0
- package/types/app/witness/http-endpoints.d.ts +77 -0
- package/types/app/witness/http-endpoints.d.ts.map +1 -0
- package/types/app/witness/ingress.d.ts +65 -0
- package/types/app/witness/ingress.d.ts.map +1 -0
- package/types/app/witness/receipt-client.d.ts +82 -0
- package/types/app/witness/receipt-client.d.ts.map +1 -0
- package/types/app/witness/receipt-messages.d.ts +21 -0
- package/types/app/witness/receipt-messages.d.ts.map +1 -0
- package/types/app/witness/receipting.d.ts +117 -0
- package/types/app/witness/receipting.d.ts.map +1 -0
- package/types/app/witness/registration.d.ts +27 -0
- package/types/app/witness/registration.d.ts.map +1 -0
- package/types/cli/common/bootstrap.d.ts +5 -0
- package/types/cli/common/bootstrap.d.ts.map +1 -0
- package/types/{app/cli → cli}/common/context.d.ts +10 -5
- package/types/cli/common/context.d.ts.map +1 -0
- package/types/{app/cli → cli}/common/existing.d.ts +2 -4
- package/types/cli/common/existing.d.ts.map +1 -0
- package/types/{app/cli → cli}/common/parsing.d.ts +26 -15
- package/types/cli/common/parsing.d.ts.map +1 -0
- package/types/cli/common/passcode.d.ts +9 -0
- package/types/cli/common/passcode.d.ts.map +1 -0
- package/types/cli/common/rendering.d.ts.map +1 -0
- package/types/cli/common/tel-completion.d.ts +8 -0
- package/types/cli/common/tel-completion.d.ts.map +1 -0
- package/types/{app/cli → cli}/common/witness-auth.d.ts +1 -1
- package/types/cli/common/witness-auth.d.ts.map +1 -0
- package/types/cli/credentials/ipex.d.ts +110 -0
- package/types/cli/credentials/ipex.d.ts.map +1 -0
- package/types/cli/credentials/vc.d.ts +42 -0
- package/types/cli/credentials/vc.d.ts.map +1 -0
- package/types/{app/cli → cli/endpoints}/did.d.ts +5 -1
- package/types/cli/endpoints/did.d.ts.map +1 -0
- package/types/{app/cli → cli/endpoints}/ends.d.ts +9 -1
- package/types/cli/endpoints/ends.d.ts.map +1 -0
- package/types/cli/endpoints/loc.d.ts.map +1 -0
- package/types/cli/endpoints/oobi-clean.d.ts +8 -0
- package/types/cli/endpoints/oobi-clean.d.ts.map +1 -0
- package/types/{app/cli → cli/endpoints}/oobi.d.ts +2 -0
- package/types/cli/endpoints/oobi.d.ts.map +1 -0
- package/types/cli/identity/aid.d.ts.map +1 -0
- package/types/{app/cli → cli/identity}/challenge.d.ts +5 -1
- package/types/cli/identity/challenge.d.ts.map +1 -0
- package/types/cli/identity/delegate.d.ts.map +1 -0
- package/types/cli/identity/export.d.ts.map +1 -0
- package/types/{app/cli → cli/identity}/incept.d.ts +2 -0
- package/types/cli/identity/incept.d.ts.map +1 -0
- package/types/{app/cli → cli/identity}/init.d.ts +2 -0
- package/types/cli/identity/init.d.ts.map +1 -0
- package/types/{app/cli → cli/identity}/interact.d.ts +2 -0
- package/types/cli/identity/interact.d.ts.map +1 -0
- package/types/cli/identity/list.d.ts.map +1 -0
- package/types/{app/cli → cli/identity}/rotate.d.ts +9 -2
- package/types/cli/identity/rotate.d.ts.map +1 -0
- package/types/cli/index.d.ts +39 -0
- package/types/cli/index.d.ts.map +1 -0
- package/types/{app/cli → cli/messaging}/exchange.d.ts +3 -1
- package/types/cli/messaging/exchange.d.ts.map +1 -0
- package/types/cli/messaging/multisig.d.ts +29 -0
- package/types/cli/messaging/multisig.d.ts.map +1 -0
- package/types/cli/messaging/notifications.d.ts.map +1 -0
- package/types/cli/output.d.ts.map +1 -0
- package/types/cli/tools/annotate-color.d.ts.map +1 -0
- package/types/cli/tools/annotate.d.ts.map +1 -0
- package/types/cli/tools/benchmark.d.ts.map +1 -0
- package/types/cli/tools/db-dump.d.ts.map +1 -0
- package/types/cli/tools/saidify.d.ts.map +1 -0
- package/types/{app/cli → cli/tools}/sign.d.ts +2 -0
- package/types/cli/tools/sign.d.ts.map +1 -0
- package/types/cli/tools/verify.d.ts.map +1 -0
- package/types/core/attachment-countering.d.ts +10 -1
- package/types/core/attachment-countering.d.ts.map +1 -1
- package/types/core/cues.d.ts +78 -21
- package/types/core/cues.d.ts.map +1 -1
- package/types/core/{exchange-proofing.d.ts → exchange/exchange-proofing.d.ts} +9 -2
- package/types/core/exchange/exchange-proofing.d.ts.map +1 -0
- package/types/core/{protocol-exchanging.d.ts → exchange/protocol-exchanging.d.ts} +10 -2
- package/types/core/exchange/protocol-exchanging.d.ts.map +1 -0
- package/types/core/genus-framing.d.ts +12 -0
- package/types/core/genus-framing.d.ts.map +1 -0
- package/types/core/{eventing.d.ts → kel/eventing.d.ts} +22 -10
- package/types/core/kel/eventing.d.ts.map +1 -0
- package/types/core/{kever-decisions.d.ts → kel/kever-decisions.d.ts} +21 -8
- package/types/core/kel/kever-decisions.d.ts.map +1 -0
- package/types/core/{kever.d.ts → kel/kever.d.ts} +2 -2
- package/types/core/kel/kever.d.ts.map +1 -0
- package/types/core/kel/witnesses.d.ts.map +1 -0
- package/types/core/logger.d.ts +1 -1
- package/types/core/logger.d.ts.map +1 -1
- package/types/core/{kram-auth.d.ts → mailbox/kram-auth.d.ts} +2 -2
- package/types/core/mailbox/kram-auth.d.ts.map +1 -0
- package/types/core/{kram-policy.d.ts → mailbox/kram-policy.d.ts} +2 -2
- package/types/core/mailbox/kram-policy.d.ts.map +1 -0
- package/types/core/{kram-pruning.d.ts → mailbox/kram-pruning.d.ts} +1 -1
- package/types/core/mailbox/kram-pruning.d.ts.map +1 -0
- package/types/core/{kram-signatures.d.ts → mailbox/kram-signatures.d.ts} +3 -3
- package/types/core/mailbox/kram-signatures.d.ts.map +1 -0
- package/types/core/{kram-staging.d.ts → mailbox/kram-staging.d.ts} +2 -2
- package/types/core/mailbox/kram-staging.d.ts.map +1 -0
- package/types/core/{kram-time.d.ts → mailbox/kram-time.d.ts} +2 -2
- package/types/core/mailbox/kram-time.d.ts.map +1 -0
- package/types/core/{kraming.d.ts → mailbox/kraming.d.ts} +5 -5
- package/types/core/mailbox/kraming.d.ts.map +1 -0
- package/types/core/mailbox/mailbox-topics.d.ts.map +1 -0
- package/types/core/protocol-eventing.d.ts.map +1 -1
- package/types/core/protocol-serialization.d.ts +1 -1
- package/types/core/protocol-serialization.d.ts.map +1 -1
- package/types/core/records.d.ts +1 -1
- package/types/core/records.d.ts.map +1 -1
- package/types/core/routing.d.ts +24 -4
- package/types/core/routing.d.ts.map +1 -1
- package/types/db/baser-defaults.d.ts +5 -0
- package/types/db/baser-defaults.d.ts.map +1 -0
- package/types/db/basing.d.ts +32 -44
- package/types/db/basing.d.ts.map +1 -1
- package/types/db/core/lmdber.d.ts +18 -13
- package/types/db/core/lmdber.d.ts.map +1 -1
- package/types/db/escrowing.d.ts +3 -1
- package/types/db/escrowing.d.ts.map +1 -1
- package/types/db/exchange/exchange-nests.d.ts +12 -0
- package/types/db/exchange/exchange-nests.d.ts.map +1 -0
- package/types/db/exchange/exchange-records.d.ts +38 -0
- package/types/db/exchange/exchange-records.d.ts.map +1 -0
- package/types/db/index.d.ts +5 -4
- package/types/db/index.d.ts.map +1 -1
- package/types/db/keeping.d.ts +19 -1
- package/types/db/keeping.d.ts.map +1 -1
- package/types/db/{kram-factors.d.ts → mailbox/kram-factors.d.ts} +2 -2
- package/types/db/mailbox/kram-factors.d.ts.map +1 -0
- package/types/db/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +2 -2
- package/types/db/mailbox/mailboxing.d.ts.map +1 -0
- package/types/db/reger.d.ts +7 -6
- package/types/db/reger.d.ts.map +1 -1
- package/types/db/{kel-replay.d.ts → replay/kel-replay.d.ts} +1 -2
- package/types/db/replay/kel-replay.d.ts.map +1 -0
- package/types/db/{tel-replay.d.ts → replay/tel-replay.d.ts} +11 -1
- package/types/db/replay/tel-replay.d.ts.map +1 -0
- package/types/db/{witness-replay.d.ts → replay/witness-replay.d.ts} +1 -1
- package/types/db/replay/witness-replay.d.ts.map +1 -0
- package/types/db/subing.d.ts.map +1 -1
- package/types/did/keri/resolving.d.ts +1 -1
- package/types/did/keri/resolving.d.ts.map +1 -1
- package/types/did/webs/artifacts.d.ts +5 -5
- package/types/did/webs/artifacts.d.ts.map +1 -1
- package/types/did/webs/designated-aliases.d.ts +1 -2
- package/types/did/webs/designated-aliases.d.ts.map +1 -1
- package/types/did/webs/documenting.d.ts +1 -1
- package/types/did/webs/documenting.d.ts.map +1 -1
- package/types/did/webs/resolving.d.ts +13 -9
- package/types/did/webs/resolving.d.ts.map +1 -1
- package/types/library/index.d.ts +1 -1
- package/types/library/index.d.ts.map +1 -1
- package/types/npm/cli.d.ts +1 -1
- package/types/npm/cli.d.ts.map +1 -1
- package/types/npm/index.d.ts +1 -1
- package/types/npm/index.d.ts.map +1 -1
- package/types/runtime/index.d.ts +86 -51
- package/types/runtime/index.d.ts.map +1 -1
- package/types/vdr/backer-state.d.ts +22 -0
- package/types/vdr/backer-state.d.ts.map +1 -0
- package/types/vdr/credential-tsn-record.d.ts +13 -0
- package/types/vdr/credential-tsn-record.d.ts.map +1 -0
- package/types/vdr/credentialing.d.ts +16 -17
- package/types/vdr/credentialing.d.ts.map +1 -1
- package/types/vdr/eventing.d.ts +60 -18
- package/types/vdr/eventing.d.ts.map +1 -1
- package/types/vdr/registry-tsn-record.d.ts +6 -0
- package/types/vdr/registry-tsn-record.d.ts.map +1 -0
- package/types/vdr/revoking.d.ts +18 -0
- package/types/vdr/revoking.d.ts.map +1 -0
- package/types/vdr/tel-anchor.d.ts +10 -0
- package/types/vdr/tel-anchor.d.ts.map +1 -0
- package/types/vdr/tel-publication.d.ts +49 -0
- package/types/vdr/tel-publication.d.ts.map +1 -0
- package/types/vdr/tsn-query.d.ts +1 -1
- package/types/vdr/tsn-query.d.ts.map +1 -1
- package/types/{app/version.d.ts → version.d.ts} +2 -2
- package/types/version.d.ts.map +1 -0
- package/esm/keri/npm/src/app/agent-runtime.js +0 -544
- package/esm/keri/npm/src/app/cesr-egress.js +0 -294
- package/esm/keri/npm/src/app/cli/common/displaying.js +0 -43
- package/esm/keri/npm/src/app/cli/common/parsing.js +0 -215
- package/esm/keri/npm/src/app/cli/incept.js +0 -185
- package/esm/keri/npm/src/app/cli/index.js +0 -36
- package/esm/keri/npm/src/app/cli/init.js +0 -149
- package/esm/keri/npm/src/app/cli/interact.js +0 -72
- package/esm/keri/npm/src/app/cli/ipex.js +0 -519
- package/esm/keri/npm/src/app/cli/query.js +0 -142
- package/esm/keri/npm/src/app/cli/vc.js +0 -283
- package/esm/keri/npm/src/app/cli/verifier.js +0 -92
- package/esm/keri/npm/src/app/credential-workflows.js +0 -409
- package/esm/keri/npm/src/app/cue-runtime.js +0 -38
- package/esm/keri/npm/src/app/essr.js +0 -170
- package/esm/keri/npm/src/app/exchanging.js +0 -1001
- package/esm/keri/npm/src/app/forwarding.js +0 -936
- package/esm/keri/npm/src/app/group-members.js +0 -37
- package/esm/keri/npm/src/app/httping.js +0 -162
- package/esm/keri/npm/src/app/ipex-graph.js +0 -407
- package/esm/keri/npm/src/app/ipex-grouping.js +0 -276
- package/esm/keri/npm/src/app/ipex-v2.js +0 -438
- package/esm/keri/npm/src/app/mailbox-sse.js +0 -240
- package/esm/keri/npm/src/app/multisig-workflows.js +0 -457
- package/esm/keri/npm/src/app/querying.js +0 -775
- package/esm/keri/npm/src/app/reactor.js +0 -394
- package/esm/keri/npm/src/app/respondant.js +0 -358
- package/esm/keri/npm/src/app/runtime-services.js +0 -22
- package/esm/keri/npm/src/app/tcp-conversation.js +0 -85
- package/esm/keri/npm/src/app/tcp-egress.js +0 -251
- package/esm/keri/npm/src/app/verifier-agent.js +0 -443
- package/esm/keri/npm/src/app/witnessing.js +0 -914
- package/esm/keri/npm/src/core/index.js +0 -23
- package/esm/keri/npm/src/db/exchange-nests.js +0 -80
- package/esm/keri/npm/src/db/exchange-records.js +0 -7
- package/esm/keri/npm/src/db/payload-archive.js +0 -402
- package/esm/keri/npm/src/db/payload-store.js +0 -406
- package/esm/keri/npm/src/db/payload-view.js +0 -23
- package/esm/keri/npm/src/db/verifier-cueing.js +0 -132
- package/esm/keri/npm/src/vdr/credential-tsn.js +0 -230
- package/esm/keri/npm/src/vdr/registry-tsn.js +0 -217
- package/types/app/abortable.d.ts +0 -13
- package/types/app/abortable.d.ts.map +0 -1
- package/types/app/agent-runtime.d.ts +0 -221
- package/types/app/agent-runtime.d.ts.map +0 -1
- package/types/app/authenticating.d.ts +0 -36
- package/types/app/authenticating.d.ts.map +0 -1
- package/types/app/byte-source.d.ts +0 -16
- package/types/app/byte-source.d.ts.map +0 -1
- package/types/app/cesr-egress.d.ts +0 -45
- package/types/app/cesr-egress.d.ts.map +0 -1
- package/types/app/cesr-http.d.ts.map +0 -1
- package/types/app/challenging.d.ts.map +0 -1
- package/types/app/cli/aid.d.ts.map +0 -1
- package/types/app/cli/annotate-color.d.ts.map +0 -1
- package/types/app/cli/annotate.d.ts.map +0 -1
- package/types/app/cli/benchmark.d.ts.map +0 -1
- package/types/app/cli/challenge.d.ts.map +0 -1
- package/types/app/cli/common/context.d.ts.map +0 -1
- package/types/app/cli/common/displaying.d.ts +0 -12
- package/types/app/cli/common/displaying.d.ts.map +0 -1
- package/types/app/cli/common/existing.d.ts.map +0 -1
- package/types/app/cli/common/parsing.d.ts.map +0 -1
- package/types/app/cli/common/rendering.d.ts.map +0 -1
- package/types/app/cli/common/witness-auth.d.ts.map +0 -1
- package/types/app/cli/db-dump.d.ts.map +0 -1
- package/types/app/cli/delegate.d.ts.map +0 -1
- package/types/app/cli/did.d.ts.map +0 -1
- package/types/app/cli/ends.d.ts.map +0 -1
- package/types/app/cli/exchange.d.ts.map +0 -1
- package/types/app/cli/export.d.ts.map +0 -1
- package/types/app/cli/incept.d.ts.map +0 -1
- package/types/app/cli/index.d.ts +0 -37
- package/types/app/cli/index.d.ts.map +0 -1
- package/types/app/cli/init.d.ts.map +0 -1
- package/types/app/cli/interact.d.ts.map +0 -1
- package/types/app/cli/ipex.d.ts +0 -20
- package/types/app/cli/ipex.d.ts.map +0 -1
- package/types/app/cli/list.d.ts.map +0 -1
- package/types/app/cli/loc.d.ts.map +0 -1
- package/types/app/cli/multisig.d.ts +0 -12
- package/types/app/cli/multisig.d.ts.map +0 -1
- package/types/app/cli/notifications.d.ts.map +0 -1
- package/types/app/cli/oobi.d.ts.map +0 -1
- package/types/app/cli/output.d.ts.map +0 -1
- package/types/app/cli/query.d.ts +0 -12
- package/types/app/cli/query.d.ts.map +0 -1
- package/types/app/cli/rotate.d.ts.map +0 -1
- package/types/app/cli/saidify.d.ts.map +0 -1
- package/types/app/cli/sign.d.ts.map +0 -1
- package/types/app/cli/vc.d.ts +0 -20
- package/types/app/cli/vc.d.ts.map +0 -1
- package/types/app/cli/verifier.d.ts +0 -3
- package/types/app/cli/verifier.d.ts.map +0 -1
- package/types/app/cli/verify.d.ts.map +0 -1
- package/types/app/configing.d.ts.map +0 -1
- package/types/app/credential-workflows.d.ts +0 -113
- package/types/app/credential-workflows.d.ts.map +0 -1
- package/types/app/cue-runtime.d.ts +0 -12
- package/types/app/cue-runtime.d.ts.map +0 -1
- package/types/app/delegating.d.ts.map +0 -1
- package/types/app/endpoint-roleing.d.ts.map +0 -1
- package/types/app/essr.d.ts +0 -58
- package/types/app/essr.d.ts.map +0 -1
- package/types/app/exchanging.d.ts +0 -233
- package/types/app/exchanging.d.ts.map +0 -1
- package/types/app/forwarding.d.ts +0 -352
- package/types/app/forwarding.d.ts.map +0 -1
- package/types/app/group-members.d.ts +0 -12
- package/types/app/group-members.d.ts.map +0 -1
- package/types/app/grouping.d.ts.map +0 -1
- package/types/app/habbing.d.ts.map +0 -1
- package/types/app/httping.d.ts +0 -49
- package/types/app/httping.d.ts.map +0 -1
- package/types/app/ipex-credentialing.d.ts.map +0 -1
- package/types/app/ipex-graph.d.ts +0 -49
- package/types/app/ipex-graph.d.ts.map +0 -1
- package/types/app/ipex-grouping.d.ts +0 -43
- package/types/app/ipex-grouping.d.ts.map +0 -1
- package/types/app/ipex-node-authentication.d.ts.map +0 -1
- package/types/app/ipex-v2.d.ts +0 -46
- package/types/app/ipex-v2.d.ts.map +0 -1
- package/types/app/ipexing.d.ts.map +0 -1
- package/types/app/keeping.d.ts.map +0 -1
- package/types/app/mailbox-director.d.ts +0 -140
- package/types/app/mailbox-director.d.ts.map +0 -1
- package/types/app/mailbox-sse.d.ts +0 -32
- package/types/app/mailbox-sse.d.ts.map +0 -1
- package/types/app/mailboxing.d.ts.map +0 -1
- package/types/app/multisig-workflows.d.ts +0 -47
- package/types/app/multisig-workflows.d.ts.map +0 -1
- package/types/app/notifying.d.ts.map +0 -1
- package/types/app/oobi-replies.d.ts.map +0 -1
- package/types/app/oobiery.d.ts.map +0 -1
- package/types/app/organizing.d.ts.map +0 -1
- package/types/app/parsering.d.ts.map +0 -1
- package/types/app/protocol-host-policy.d.ts.map +0 -1
- package/types/app/query-replies.d.ts +0 -40
- package/types/app/query-replies.d.ts.map +0 -1
- package/types/app/querying.d.ts +0 -221
- package/types/app/querying.d.ts.map +0 -1
- package/types/app/reactor.d.ts +0 -138
- package/types/app/reactor.d.ts.map +0 -1
- package/types/app/reply-streams.d.ts +0 -20
- package/types/app/reply-streams.d.ts.map +0 -1
- package/types/app/respondant.d.ts +0 -63
- package/types/app/respondant.d.ts.map +0 -1
- package/types/app/runtime-services.d.ts +0 -26
- package/types/app/runtime-services.d.ts.map +0 -1
- package/types/app/runtime-turn.d.ts.map +0 -1
- package/types/app/schema-resolving.d.ts.map +0 -1
- package/types/app/signaling.d.ts.map +0 -1
- package/types/app/socket-source.d.ts.map +0 -1
- package/types/app/stored-replies.d.ts.map +0 -1
- package/types/app/tcp-conversation.d.ts +0 -27
- package/types/app/tcp-conversation.d.ts.map +0 -1
- package/types/app/tcp-egress.d.ts +0 -49
- package/types/app/tcp-egress.d.ts.map +0 -1
- package/types/app/verifier-agent.d.ts +0 -92
- package/types/app/verifier-agent.d.ts.map +0 -1
- package/types/app/verifying.d.ts.map +0 -1
- package/types/app/version.d.ts.map +0 -1
- package/types/app/witnessing.d.ts +0 -223
- package/types/app/witnessing.d.ts.map +0 -1
- package/types/core/eventing.d.ts.map +0 -1
- package/types/core/exchange-proofing.d.ts.map +0 -1
- package/types/core/index.d.ts +0 -24
- package/types/core/index.d.ts.map +0 -1
- package/types/core/kever-decisions.d.ts.map +0 -1
- package/types/core/kever.d.ts.map +0 -1
- package/types/core/kram-auth.d.ts.map +0 -1
- package/types/core/kram-policy.d.ts.map +0 -1
- package/types/core/kram-pruning.d.ts.map +0 -1
- package/types/core/kram-signatures.d.ts.map +0 -1
- package/types/core/kram-staging.d.ts.map +0 -1
- package/types/core/kram-time.d.ts.map +0 -1
- package/types/core/kraming.d.ts.map +0 -1
- package/types/core/mailbox-topics.d.ts.map +0 -1
- package/types/core/protocol-exchanging.d.ts.map +0 -1
- package/types/core/witnesses.d.ts.map +0 -1
- package/types/db/exchange-nests.d.ts +0 -15
- package/types/db/exchange-nests.d.ts.map +0 -1
- package/types/db/exchange-records.d.ts +0 -33
- package/types/db/exchange-records.d.ts.map +0 -1
- package/types/db/kel-replay.d.ts.map +0 -1
- package/types/db/kram-factors.d.ts.map +0 -1
- package/types/db/mailboxing.d.ts.map +0 -1
- package/types/db/payload-archive.d.ts +0 -70
- package/types/db/payload-archive.d.ts.map +0 -1
- package/types/db/payload-store.d.ts +0 -40
- package/types/db/payload-store.d.ts.map +0 -1
- package/types/db/payload-view.d.ts +0 -4
- package/types/db/payload-view.d.ts.map +0 -1
- package/types/db/tel-replay.d.ts.map +0 -1
- package/types/db/verifier-cueing.d.ts +0 -46
- package/types/db/verifier-cueing.d.ts.map +0 -1
- package/types/db/witness-replay.d.ts.map +0 -1
- package/types/vdr/credential-tsn.d.ts +0 -23
- package/types/vdr/credential-tsn.d.ts.map +0 -1
- package/types/vdr/registry-tsn.d.ts +0 -28
- package/types/vdr/registry-tsn.d.ts.map +0 -1
- /package/esm/keri/npm/src/app/{schema-resolving.js → credentials/schema-resolving.js} +0 -0
- /package/esm/keri/npm/src/app/{challenging.js → identity/challenging.js} +0 -0
- /package/esm/keri/npm/src/app/{protocol-host-policy.js → protocol/protocol-host-policy.js} +0 -0
- /package/esm/keri/npm/src/app/{runtime-turn.js → runtime/runtime-turn.js} +0 -0
- /package/esm/keri/npm/src/{app/cli → cli}/common/rendering.js +0 -0
- /package/esm/keri/npm/src/{app/cli → cli/tools}/annotate-color.js +0 -0
- /package/esm/keri/npm/src/core/{witnesses.js → kel/witnesses.js} +0 -0
- /package/esm/keri/npm/src/core/{kram-auth.js → mailbox/kram-auth.js} +0 -0
- /package/esm/keri/npm/src/core/{mailbox-topics.js → mailbox/mailbox-topics.js} +0 -0
- /package/types/app/{signaling.d.ts → notifications/signaling.d.ts} +0 -0
- /package/types/app/{runtime-turn.d.ts → runtime/runtime-turn.d.ts} +0 -0
- /package/types/{app/cli → cli}/common/rendering.d.ts +0 -0
- /package/types/{app/cli → cli/endpoints}/loc.d.ts +0 -0
- /package/types/{app/cli → cli/identity}/aid.d.ts +0 -0
- /package/types/{app/cli → cli/identity}/delegate.d.ts +0 -0
- /package/types/{app/cli → cli/identity}/export.d.ts +0 -0
- /package/types/{app/cli → cli/identity}/list.d.ts +0 -0
- /package/types/{app/cli → cli/messaging}/notifications.d.ts +0 -0
- /package/types/{app/cli → cli}/output.d.ts +0 -0
- /package/types/{app/cli → cli/tools}/annotate-color.d.ts +0 -0
- /package/types/{app/cli → cli/tools}/annotate.d.ts +0 -0
- /package/types/{app/cli → cli/tools}/benchmark.d.ts +0 -0
- /package/types/{app/cli → cli/tools}/db-dump.d.ts +0 -0
- /package/types/{app/cli → cli/tools}/saidify.d.ts +0 -0
- /package/types/{app/cli → cli/tools}/verify.d.ts +0 -0
- /package/types/core/{witnesses.d.ts → kel/witnesses.d.ts} +0 -0
- /package/types/core/{mailbox-topics.d.ts → mailbox/mailbox-topics.d.ts} +0 -0
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { TopicsRecord } from "
|
|
2
|
-
import { Roles } from "
|
|
3
|
-
import { createMailboxer } from "
|
|
1
|
+
import { TopicsRecord } from "../../core/records.js";
|
|
2
|
+
import { Roles } from "../../core/roles.js";
|
|
3
|
+
import { createMailboxer } from "../../db/mailbox/mailboxing.js";
|
|
4
4
|
/**
|
|
5
5
|
* Derive mailbox open options from one existing habery.
|
|
6
6
|
*
|
|
7
7
|
* This is the supported bridge from core habery state to the additive
|
|
8
8
|
* provider-side mailbox store lifecycle.
|
|
9
|
+
*
|
|
10
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
11
|
+
* @param options Explicit store options overriding the Habery-derived name/path/temp/read-only settings.
|
|
12
|
+
* @returns Derived open settings.
|
|
9
13
|
*/
|
|
10
14
|
export function mailboxerOptionsForHabery(hby, options = {}) {
|
|
11
15
|
return {
|
|
@@ -25,6 +29,10 @@ export function mailboxerOptionsForHabery(hby, options = {}) {
|
|
|
25
29
|
* Ownership rule:
|
|
26
30
|
* - this helper only derives open settings from habery state
|
|
27
31
|
* - the caller that opens the mailboxer owns its lifecycle
|
|
32
|
+
*
|
|
33
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
34
|
+
* @param options Explicit store options overriding the Habery-derived name/path/temp/read-only settings.
|
|
35
|
+
* @returns Provider sidecar whose acquisition/lifetime belongs to the caller scope.
|
|
28
36
|
*/
|
|
29
37
|
export function* openMailboxerForHabery(hby, options = {}) {
|
|
30
38
|
return yield* createMailboxer(mailboxerOptionsForHabery(hby, options));
|
|
@@ -34,6 +42,10 @@ export function* openMailboxerForHabery(hby, options = {}) {
|
|
|
34
42
|
*
|
|
35
43
|
* Topic buckets are normalized as `pre/topic`, with `topic` already carrying
|
|
36
44
|
* the leading slash when it is a protocol mailbox topic like `/challenge`.
|
|
45
|
+
*
|
|
46
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
47
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
48
|
+
* @returns Storage key joining the AID and one slash-prefixed topic.
|
|
37
49
|
*/
|
|
38
50
|
export function mailboxTopicKey(pre, topic) {
|
|
39
51
|
return topic.startsWith("/") ? `${pre}${topic}` : `${pre}/${topic}`;
|
|
@@ -43,6 +55,12 @@ export function mailboxTopicKey(pre, topic) {
|
|
|
43
55
|
*
|
|
44
56
|
* Cursor records store the last seen ordinal, while mailbox queries ask for
|
|
45
57
|
* the next ordinal wanted.
|
|
58
|
+
*
|
|
59
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
60
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
61
|
+
* @param witness Remote endpoint AID used in the durable cursor key.
|
|
62
|
+
* @param topics Topics requested by the poller.
|
|
63
|
+
* @returns Next-wanted ordinal map, derived from last-consumed rows plus one.
|
|
46
64
|
*/
|
|
47
65
|
export function mailboxQueryTopics(hby, pre, witness, topics) {
|
|
48
66
|
const record = mailboxRemoteCursorRecord(hby, pre, witness);
|
|
@@ -62,6 +80,12 @@ export function mailboxQueryTopics(hby, pre, witness, topics) {
|
|
|
62
80
|
*
|
|
63
81
|
* These cursors live in `Baser.tops` because they describe the consumer's
|
|
64
82
|
* remote poll progress, not the provider's stored inbox contents.
|
|
83
|
+
*
|
|
84
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
85
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
86
|
+
* @param witness Remote endpoint AID.
|
|
87
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
88
|
+
* @param idx Last successfully consumed provider ordinal.
|
|
65
89
|
*/
|
|
66
90
|
export function updateMailboxRemoteCursor(hby, pre, witness, topic, idx) {
|
|
67
91
|
const record = mailboxRemoteCursorRecord(hby, pre, witness);
|
|
@@ -69,66 +93,43 @@ export function updateMailboxRemoteCursor(hby, pre, witness, topic, idx) {
|
|
|
69
93
|
hby.db.tops.pin([pre, witness], record);
|
|
70
94
|
}
|
|
71
95
|
/**
|
|
72
|
-
*
|
|
96
|
+
* Enumerate authorized mailbox providers and the subject's current KEL witnesses.
|
|
73
97
|
*
|
|
74
|
-
* KERIpy
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
98
|
+
* Both sets are polled, as in KERIpy MailboxDirector. A provider in both roles
|
|
99
|
+
* shares one history and cursor, so it gets one worker. Locally controlled AIDs
|
|
100
|
+
* remain eligible for HTTP polling; provider storage is never scanned directly.
|
|
101
|
+
* Missing HTTP(S) locations produce no poll target until a location is available.
|
|
78
102
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* work instead of URL selection policy.
|
|
103
|
+
* @param hab Mailbox subject habitat supplying accepted roles and current witnesses.
|
|
104
|
+
* @returns One HTTPS-preferred HTTP target per provider AID, with stable worker keys.
|
|
82
105
|
*/
|
|
83
|
-
export function mailboxPollEndpoints(
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// Keep mailbox precedence before filtering transport; TCP delivery is a different caller policy.
|
|
89
|
-
if (mailbox.length > 0) {
|
|
90
|
-
return mailbox.filter(isHttp).map((endpoint) => ({
|
|
91
|
-
key: `${Roles.mailbox}:${endpoint.eid}:${endpoint.url}`,
|
|
92
|
-
eid: endpoint.eid,
|
|
93
|
-
url: endpoint.url,
|
|
94
|
-
}));
|
|
106
|
+
export function mailboxPollEndpoints(hab) {
|
|
107
|
+
const eids = new Set();
|
|
108
|
+
for (const [keys, end] of hab.db.ends.getTopItemIter([hab.pre, Roles.mailbox], { topive: true })) {
|
|
109
|
+
if (end.allowed && keys[2])
|
|
110
|
+
eids.add(keys[2]);
|
|
95
111
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Return the currently authorized mailbox endpoints for one remote recipient.
|
|
108
|
-
*
|
|
109
|
-
* `Poster` treats this as the mailbox-first broadcast target set.
|
|
110
|
-
*/
|
|
111
|
-
export function mailboxDeliveryEndpoints(hab, recipient) {
|
|
112
|
-
return flattenRoleUrls(hab.endsFor(recipient)[Roles.mailbox]);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Return the direct controller and agent endpoints for one remote recipient.
|
|
116
|
-
*
|
|
117
|
-
* These are fallback transport targets only when no mailbox endpoints are
|
|
118
|
-
* configured or when the caller explicitly forces direct delivery.
|
|
119
|
-
*/
|
|
120
|
-
export function directDeliveryEndpoints(hab, recipient) {
|
|
121
|
-
const ends = hab.endsFor(recipient);
|
|
122
|
-
return [
|
|
123
|
-
...flattenRoleUrls(ends[Roles.controller]),
|
|
124
|
-
...flattenRoleUrls(ends[Roles.agent]),
|
|
125
|
-
];
|
|
112
|
+
for (const eid of hab.kever?.wits ?? [])
|
|
113
|
+
eids.add(eid);
|
|
114
|
+
const endpoints = [];
|
|
115
|
+
for (const eid of eids) {
|
|
116
|
+
const urls = hab.fetchUrls(eid);
|
|
117
|
+
const url = urls.https ?? urls.http;
|
|
118
|
+
if (url)
|
|
119
|
+
endpoints.push({ key: `${eid}:${url}`, eid, url });
|
|
120
|
+
}
|
|
121
|
+
return endpoints;
|
|
126
122
|
}
|
|
127
123
|
/**
|
|
128
124
|
* Read one endpoint's currently stored URLs directly from shared DB state.
|
|
129
125
|
*
|
|
130
126
|
* This stays DB-oriented on purpose so CLI, server, and forwarding code can
|
|
131
127
|
* inspect authoritative location state without carrying a second cache.
|
|
128
|
+
*
|
|
129
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
130
|
+
* @param eid Endpoint AID whose accepted location replies are loaded.
|
|
131
|
+
* @param scheme Optional scheme filter; omission returns all recorded schemes.
|
|
132
|
+
* @returns Scheme-to-URL map from accepted location state.
|
|
132
133
|
*/
|
|
133
134
|
export function fetchEndpointUrls(hby, eid, scheme = "") {
|
|
134
135
|
const urls = {};
|
|
@@ -144,7 +145,12 @@ export function fetchEndpointUrls(hby, eid, scheme = "") {
|
|
|
144
145
|
}
|
|
145
146
|
return urls;
|
|
146
147
|
}
|
|
147
|
-
/**
|
|
148
|
+
/**
|
|
149
|
+
* Normalize one optional hosted-prefix filter into a membership set.
|
|
150
|
+
*
|
|
151
|
+
* @param eids Optional allowed hosted AID iterable; omission leaves filtering disabled.
|
|
152
|
+
* @returns Membership set or null when no filter was supplied.
|
|
153
|
+
*/
|
|
148
154
|
function hostedPrefixFilter(eids) {
|
|
149
155
|
if (!eids) {
|
|
150
156
|
return null;
|
|
@@ -163,6 +169,12 @@ function hostedPrefixFilter(eids) {
|
|
|
163
169
|
* - optionally append a resource suffix like `/mailboxes`
|
|
164
170
|
* - when more than one local endpoint matches, the caller must treat that as
|
|
165
171
|
* ambiguous instead of guessing
|
|
172
|
+
*
|
|
173
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
174
|
+
* @param pathname Incoming URL pathname to compare against accepted endpoint base paths.
|
|
175
|
+
* @param resourceSuffix Protocol resource suffix sought beneath the hosted base path.
|
|
176
|
+
* @param eids Optional explicit hosted-AID filter; do not infer host eligibility from all local identities.
|
|
177
|
+
* @returns Matching hosted endpoint projection; ambiguity follows this helper's documented selection policy.
|
|
166
178
|
*/
|
|
167
179
|
export function hostedEndpointMatches(hby, pathname, resourceSuffix = "", eids) {
|
|
168
180
|
const target = normalizePath(pathname);
|
|
@@ -189,6 +201,12 @@ export function hostedEndpointMatches(hby, pathname, resourceSuffix = "", eids)
|
|
|
189
201
|
*
|
|
190
202
|
* Callers that need ambiguity details should use `hostedEndpointPathMatches()`
|
|
191
203
|
* directly.
|
|
204
|
+
*
|
|
205
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
206
|
+
* @param pathname Incoming URL pathname to compare against accepted endpoint base paths.
|
|
207
|
+
* @param resourceSuffix Protocol resource suffix sought beneath the hosted base path.
|
|
208
|
+
* @param eids Optional explicit hosted-AID filter; do not infer host eligibility from all local identities.
|
|
209
|
+
* @returns Matching hosted endpoint projection; ambiguity follows this helper's documented selection policy.
|
|
192
210
|
*/
|
|
193
211
|
export function hostedEndpointForPath(hby, pathname, resourceSuffix = "", eids) {
|
|
194
212
|
const matches = hostedEndpointMatches(hby, pathname, resourceSuffix, eids);
|
|
@@ -203,6 +221,11 @@ export function hostedEndpointForPath(hby, pathname, resourceSuffix = "", eids)
|
|
|
203
221
|
* - non-root endpoints match their exact base path or any subpath beneath it
|
|
204
222
|
* - callers should prefer the longest matching base path and treat ties as
|
|
205
223
|
* ambiguous instead of guessing
|
|
224
|
+
*
|
|
225
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
226
|
+
* @param pathname Incoming URL pathname to compare against accepted endpoint base paths.
|
|
227
|
+
* @param eids Optional explicit hosted-AID filter; do not infer host eligibility from all local identities.
|
|
228
|
+
* @returns Matching hosted endpoint projection; ambiguity follows this helper's documented selection policy.
|
|
206
229
|
*/
|
|
207
230
|
export function hostedEndpointPathMatches(hby, pathname, eids) {
|
|
208
231
|
const target = normalizePath(pathname);
|
|
@@ -235,6 +258,12 @@ export function hostedEndpointPathMatches(hby, pathname, eids) {
|
|
|
235
258
|
* hit?" Keeping it here means `protocol-handler.ts` can reason in terms of
|
|
236
259
|
* explicit route matches while `server.ts` stays out of endpoint-selection
|
|
237
260
|
* policy entirely.
|
|
261
|
+
*
|
|
262
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
263
|
+
* @param pathname Incoming URL pathname to compare against accepted endpoint base paths.
|
|
264
|
+
* @param resourceSuffix Protocol resource suffix sought beneath the hosted base path.
|
|
265
|
+
* @param eids Optional explicit hosted-AID filter; do not infer host eligibility from all local identities.
|
|
266
|
+
* @returns Matching hosted endpoint projection; ambiguity follows this helper's documented selection policy.
|
|
238
267
|
*/
|
|
239
268
|
export function resolveHostedEndpointPath(hby, pathname, resourceSuffix = "", eids) {
|
|
240
269
|
const matches = hostedEndpointPathMatches(hby, pathname, eids)
|
|
@@ -261,6 +290,9 @@ export function resolveHostedEndpointPath(hby, pathname, resourceSuffix = "", ei
|
|
|
261
290
|
*
|
|
262
291
|
* This converts stored end-role location shape into the transport-ready tuples
|
|
263
292
|
* used by forwarding and polling logic.
|
|
293
|
+
*
|
|
294
|
+
* @param roleUrls Accepted endpoint-AID to scheme/URL map for one role, possibly absent.
|
|
295
|
+
* @returns All endpoint/preferred-URL pairs.
|
|
264
296
|
*/
|
|
265
297
|
export function flattenRoleUrls(roleUrls) {
|
|
266
298
|
if (!roleUrls) {
|
|
@@ -275,30 +307,26 @@ export function flattenRoleUrls(roleUrls) {
|
|
|
275
307
|
}
|
|
276
308
|
return flattened;
|
|
277
309
|
}
|
|
278
|
-
/**
|
|
279
|
-
* Return the deterministic first preferred endpoint from one role map.
|
|
280
|
-
*
|
|
281
|
-
* Forwarding fallback chooses one witness deterministically; mailbox polling
|
|
282
|
-
* enumerates its eligible witnesses separately.
|
|
283
|
-
*/
|
|
284
|
-
export function firstSortedEndpoint(roleUrls) {
|
|
285
|
-
const flattened = flattenRoleUrls(roleUrls).sort((left, right) => left.eid.localeCompare(right.eid));
|
|
286
|
-
return flattened[0] ?? null;
|
|
287
|
-
}
|
|
288
310
|
/**
|
|
289
311
|
* Return the preferred URL for one endpoint location set.
|
|
290
312
|
*
|
|
291
313
|
* HTTPS wins when present because mailbox and admin URLs are externally
|
|
292
314
|
* advertised endpoints.
|
|
315
|
+
*
|
|
316
|
+
* @param urls Accepted scheme-to-URL map for one endpoint.
|
|
317
|
+
* @returns HTTPS, then HTTP, then TCP; null when no supported location is recorded.
|
|
293
318
|
*/
|
|
294
319
|
export function preferredUrl(urls) {
|
|
295
|
-
return urls.https ?? urls.http ??
|
|
320
|
+
return urls.https ?? urls.http ?? urls.tcp ?? null;
|
|
296
321
|
}
|
|
297
322
|
/**
|
|
298
323
|
* Extract the normalized base path from one endpoint URL.
|
|
299
324
|
*
|
|
300
325
|
* Mailbox and OOBI hosts serve routes relative to this base path, not only
|
|
301
326
|
* from `/`.
|
|
327
|
+
*
|
|
328
|
+
* @param url Advertised endpoint URL; its pathname defines hosted routing.
|
|
329
|
+
* @returns Normalized base pathname.
|
|
302
330
|
*/
|
|
303
331
|
export function endpointBasePath(url) {
|
|
304
332
|
try {
|
|
@@ -308,13 +336,25 @@ export function endpointBasePath(url) {
|
|
|
308
336
|
return "/";
|
|
309
337
|
}
|
|
310
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* Join an endpoint base path with a protocol resource suffix.
|
|
341
|
+
*
|
|
342
|
+
* @param basePath Hosted endpoint base pathname.
|
|
343
|
+
* @param suffix Resource suffix to append; empty keeps the normalized base.
|
|
344
|
+
* @returns Normalized combined pathname.
|
|
345
|
+
*/
|
|
311
346
|
function joinBasePath(basePath, suffix) {
|
|
312
347
|
if (suffix.length === 0) {
|
|
313
348
|
return normalizePath(basePath);
|
|
314
349
|
}
|
|
315
350
|
return normalizePath(`${normalizePath(basePath) === "/" ? "" : normalizePath(basePath)}${suffix}`);
|
|
316
351
|
}
|
|
317
|
-
/**
|
|
352
|
+
/**
|
|
353
|
+
* Normalize hosted endpoint paths into the comparison form used everywhere.
|
|
354
|
+
*
|
|
355
|
+
* @param pathname Path to normalize for hosted-route comparison.
|
|
356
|
+
* @returns Comparison pathname with the existing leading/trailing slash normalization.
|
|
357
|
+
*/
|
|
318
358
|
function normalizePath(pathname) {
|
|
319
359
|
const trimmed = pathname.trim();
|
|
320
360
|
if (trimmed.length === 0 || trimmed === "/") {
|
|
@@ -328,6 +368,10 @@ function normalizePath(pathname) {
|
|
|
328
368
|
*
|
|
329
369
|
* Root-hosted endpoints match every absolute path; non-root endpoints match
|
|
330
370
|
* only their exact base path or descendants beneath it.
|
|
371
|
+
*
|
|
372
|
+
* @param basePath Normalized hosted endpoint base.
|
|
373
|
+
* @param pathname Incoming request path.
|
|
374
|
+
* @returns Slash-prefixed relative path, or null when outside the base.
|
|
331
375
|
*/
|
|
332
376
|
function relativeHostedPath(basePath, pathname) {
|
|
333
377
|
if (basePath === "/") {
|
|
@@ -341,7 +385,14 @@ function relativeHostedPath(basePath, pathname) {
|
|
|
341
385
|
}
|
|
342
386
|
return normalizePath(pathname.slice(basePath.length));
|
|
343
387
|
}
|
|
344
|
-
/**
|
|
388
|
+
/**
|
|
389
|
+
* Load or create the durable remote mailbox cursor record for one endpoint.
|
|
390
|
+
*
|
|
391
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
392
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
393
|
+
* @param witness Remote endpoint AID used with pre as the cursor key.
|
|
394
|
+
* @returns Existing cursor record or a new empty record; the caller persists updates.
|
|
395
|
+
*/
|
|
345
396
|
function mailboxRemoteCursorRecord(hby, pre, witness) {
|
|
346
397
|
return hby.db.tops.get([pre, witness]) ?? new TopicsRecord({ topics: {} });
|
|
347
398
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/** Map application routes to mailbox topics: queries use slash form; /fwd modifiers use bare form. */
|
|
2
|
+
import { CREDENTIAL_MAILBOX_TOPIC, DELEGATE_MAILBOX_TOPIC, OOBI_MAILBOX_TOPIC, } from "../../core/mailbox/mailbox-topics.js";
|
|
3
|
+
/**
|
|
4
|
+
* Derive the default mailbox topic from the first non-empty route segment.
|
|
5
|
+
*
|
|
6
|
+
* @param route Exchange route whose first nonempty segment chooses the mailbox topic.
|
|
7
|
+
* @returns Derived topic under the existing route mapping.
|
|
8
|
+
*/
|
|
9
|
+
function defaultTopicForRoute(route) {
|
|
10
|
+
if (route.startsWith("/delegate")) {
|
|
11
|
+
return DELEGATE_MAILBOX_TOPIC;
|
|
12
|
+
}
|
|
13
|
+
if (route === "/oobis") {
|
|
14
|
+
return OOBI_MAILBOX_TOPIC;
|
|
15
|
+
}
|
|
16
|
+
if (route.startsWith("/ipex/")) {
|
|
17
|
+
return CREDENTIAL_MAILBOX_TOPIC;
|
|
18
|
+
}
|
|
19
|
+
const trimmed = route.replace(/^\/+/, "");
|
|
20
|
+
return trimmed.split("/")[0] ?? "";
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* KERIpy pollers query protocol mailbox topics with a leading slash.
|
|
24
|
+
*
|
|
25
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
26
|
+
* @returns Slash-prefixed query topic.
|
|
27
|
+
*/
|
|
28
|
+
function pollMailboxTopic(topic) {
|
|
29
|
+
if (topic.length === 0 || topic.startsWith("/")) {
|
|
30
|
+
return topic;
|
|
31
|
+
}
|
|
32
|
+
return `/${topic}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* KERIpy `/fwd` modifiers use the bare topic name, e.g. `multisig`.
|
|
36
|
+
*
|
|
37
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
38
|
+
* @returns Bare /fwd modifier topic.
|
|
39
|
+
*/
|
|
40
|
+
export function transportMailboxTopic(topic) {
|
|
41
|
+
return topic.replace(/^\/+/, "");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Public helper for deriving mailbox topic defaults from one EXN route.
|
|
45
|
+
*
|
|
46
|
+
* This stays exported because CLI and runtime call sites both need one shared
|
|
47
|
+
* answer for "which mailbox topic should this route land in by default?"
|
|
48
|
+
*
|
|
49
|
+
* @param route Exchange route whose first nonempty segment chooses the mailbox topic.
|
|
50
|
+
* @returns Derived topic under the existing route mapping.
|
|
51
|
+
*/
|
|
52
|
+
export function mailboxTopicForRoute(route) {
|
|
53
|
+
return pollMailboxTopic(defaultTopicForRoute(route));
|
|
54
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { TransIdxSigGroup } from "../../core/dispatch.js";
|
|
2
|
+
import { ValidationError } from "../../core/errors.js";
|
|
3
|
+
import { Kever } from "../../core/kel/kever.js";
|
|
4
|
+
import { dgKey } from "../../db/core/keys.js";
|
|
5
|
+
/** True when the selected habitat is a local group habitat. */
|
|
6
|
+
export function isLocalGroupHab(hby, hab) {
|
|
7
|
+
return !!hab.pre && !!hby.db.getHab(hab.pre)?.mid;
|
|
8
|
+
}
|
|
9
|
+
/** Return the local member habitat for a persisted group identifier. */
|
|
10
|
+
export function localGroupMember(hby, groupPre) {
|
|
11
|
+
const record = hby.db.getHab(groupPre);
|
|
12
|
+
const member = record?.mid ? hby.habs.get(record.mid) : null;
|
|
13
|
+
if (!member) {
|
|
14
|
+
throw new ValidationError(`Group ${groupPre} is missing local member metadata.`);
|
|
15
|
+
}
|
|
16
|
+
return member;
|
|
17
|
+
}
|
|
18
|
+
/** Find the member's latest accepted single-key contribution to the supplied group keys. */
|
|
19
|
+
export function latestGroupContribution(db, member, verfers) {
|
|
20
|
+
const state = db.getKever(member);
|
|
21
|
+
if (!state)
|
|
22
|
+
return null;
|
|
23
|
+
const pubs = verfers.map(verfer => verfer.qb64);
|
|
24
|
+
for (const [, sn, said] of db.kels.getOnItemBackIter(member, state.sn)) {
|
|
25
|
+
if (db.kels.getLast(member, sn) !== said)
|
|
26
|
+
continue;
|
|
27
|
+
const event = db.getEvtSerder(member, said);
|
|
28
|
+
if (!event)
|
|
29
|
+
throw new ValidationError(`Missing accepted member event ${member}:${said}.`);
|
|
30
|
+
if (!event.estive)
|
|
31
|
+
continue;
|
|
32
|
+
const keys = event.verfers ?? [];
|
|
33
|
+
if (keys.length !== 1)
|
|
34
|
+
throw new ValidationError(`Group signing requires single-key member events for ${member}.`);
|
|
35
|
+
const index = pubs.indexOf(keys[0].qb64);
|
|
36
|
+
if (index >= 0)
|
|
37
|
+
return { event, index, verfer: keys[0] };
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Verify an accepted coordinator against its historical establishment threshold.
|
|
43
|
+
* index is the initial election; a frozen operation rechecks indices without
|
|
44
|
+
* replacing its earlier choice when more valid signatures arrive.
|
|
45
|
+
*/
|
|
46
|
+
export function groupWitnesserSelection(db, group, { sn, said }) {
|
|
47
|
+
if (!Number.isSafeInteger(sn) || sn < 0 || db.kels.getLast(group, sn) !== said)
|
|
48
|
+
return null;
|
|
49
|
+
const event = db.getEvtSerder(group, said);
|
|
50
|
+
if (!event || event.pre !== group || event.sn !== sn || event.said !== said)
|
|
51
|
+
return null;
|
|
52
|
+
for (const [, ordinal, digest] of db.kels.getOnItemBackIter(group, sn)) {
|
|
53
|
+
if (db.kels.getLast(group, ordinal) !== digest)
|
|
54
|
+
continue;
|
|
55
|
+
const establishment = db.getEvtSerder(group, digest);
|
|
56
|
+
if (!establishment)
|
|
57
|
+
throw new ValidationError(`Missing accepted group event ${group}:${digest}.`);
|
|
58
|
+
if (!establishment.estive)
|
|
59
|
+
continue;
|
|
60
|
+
const { indices } = Kever.verifyIndexedSignatures(event.raw, db.sigs.get(dgKey(group, said)), establishment.verfers);
|
|
61
|
+
if (!indices.length || !establishment.tholder?.satisfy(indices))
|
|
62
|
+
return null;
|
|
63
|
+
return { establishment, index: Math.min(...indices), indices };
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
/** Return current group signing member AIDs in signing-index order. */
|
|
68
|
+
export function groupSigningMembers(hby, groupPre) {
|
|
69
|
+
const stored = hby.ks.getSmids(groupPre).map((tuple) => tuple[0].qb64);
|
|
70
|
+
if (stored.length > 0) {
|
|
71
|
+
return stored;
|
|
72
|
+
}
|
|
73
|
+
const record = hby.db.getHab(groupPre);
|
|
74
|
+
return record?.smids ?? [];
|
|
75
|
+
}
|
|
76
|
+
/** Return the first locally available habitat from `members`, if any. */
|
|
77
|
+
export function findLocalGroupMember(hby, members) {
|
|
78
|
+
for (const member of members) {
|
|
79
|
+
const hab = hby.habs.get(member);
|
|
80
|
+
if (hab) {
|
|
81
|
+
return hab;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
/** Return unique non-empty member AIDs while preserving first-seen order. */
|
|
87
|
+
export function uniqueMembers(members) {
|
|
88
|
+
return [...new Set(members.filter((member) => member.length > 0))];
|
|
89
|
+
}
|
|
90
|
+
/** Match a group signing key to one member's accepted establishment history, including retired keys. */
|
|
91
|
+
export function groupMemberHasKey(db, member, key) {
|
|
92
|
+
for (const [, said] of db.getKelItemIter(member)) {
|
|
93
|
+
const event = db.getEvtSerder(member, said);
|
|
94
|
+
if (event?.estive && event.verfers[0]?.qb64 === key)
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Select only a cryptographically valid local partial at an accepted group establishment.
|
|
101
|
+
* The shared esigs table can hold unverified escrow candidates, so a matching
|
|
102
|
+
* index or an authenticated parent wrapper alone is not recorded child approval.
|
|
103
|
+
*/
|
|
104
|
+
export function localIpexContribution(db, member, embedded, proofs) {
|
|
105
|
+
for (const proof of proofs) {
|
|
106
|
+
if (proof.pre !== embedded.pre || proof.sn > BigInt(Number.MAX_SAFE_INTEGER))
|
|
107
|
+
continue;
|
|
108
|
+
const said = db.kels.getLast(proof.pre, Number(proof.sn));
|
|
109
|
+
const event = said === proof.said ? db.getEvtSerder(proof.pre, said) : null;
|
|
110
|
+
if (!event?.estive)
|
|
111
|
+
continue;
|
|
112
|
+
const verified = Kever.verifyIndexedSignatures(embedded.raw, proof.sigers, event.verfers);
|
|
113
|
+
for (const siger of verified.sigers) {
|
|
114
|
+
if (groupMemberHasKey(db, member, event.verfers[siger.index].qb64)) {
|
|
115
|
+
return new TransIdxSigGroup(proof.prefixer, event.sner, proof.diger, [siger]);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Derive the members of `group`'s latest accepted establishment event from
|
|
123
|
+
* local KELs, as KERIpy `GroupHab.acceptedMembers`.
|
|
124
|
+
*
|
|
125
|
+
* Each signing key is attributed to the candidate whose latest contributing
|
|
126
|
+
* establishment event supplied it, and each next-key digest to the candidate
|
|
127
|
+
* whose establishment event committed to it. Returns null when the event is
|
|
128
|
+
* missing or any key cannot be attributed to exactly one candidate.
|
|
129
|
+
*/
|
|
130
|
+
export function acceptedGroupMembers(db, group, candidates) {
|
|
131
|
+
const kever = db.getKever(group);
|
|
132
|
+
const event = kever ? db.getEvtSerder(group, kever.lastEst.d) : null;
|
|
133
|
+
if (!event)
|
|
134
|
+
return null;
|
|
135
|
+
const keys = (event.verfers ?? []).map(verfer => verfer.qb64);
|
|
136
|
+
const digs = (event.ndigers ?? []).map(diger => diger.qb64);
|
|
137
|
+
const signing = new Map(), rotating = new Map();
|
|
138
|
+
const attribute = (found, index, aid) => (found.get(index) ?? aid) === aid && !!found.set(index, aid);
|
|
139
|
+
for (const aid of candidates) {
|
|
140
|
+
const state = aid === group ? null : db.getKever(aid);
|
|
141
|
+
if (!state)
|
|
142
|
+
continue;
|
|
143
|
+
let signed = false;
|
|
144
|
+
for (const [, sn, said] of db.kels.getOnItemBackIter(aid, state.lastEst.s)) {
|
|
145
|
+
if (db.kels.getLast(aid, sn) !== said)
|
|
146
|
+
continue;
|
|
147
|
+
const member = db.getEvtSerder(aid, said);
|
|
148
|
+
if (!member?.estive)
|
|
149
|
+
continue;
|
|
150
|
+
// KERIpy fetchLatestContribTo: only the latest contributing establishment counts.
|
|
151
|
+
const index = signed
|
|
152
|
+
? -1
|
|
153
|
+
: (member.verfers ?? []).map(verfer => keys.indexOf(verfer.qb64)).find(i => i >= 0) ?? -1;
|
|
154
|
+
if (index >= 0) {
|
|
155
|
+
signed = true;
|
|
156
|
+
if (!attribute(signing, index, aid))
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
for (const diger of member.ndigers ?? []) {
|
|
160
|
+
const next = digs.indexOf(diger.qb64);
|
|
161
|
+
if (next >= 0 && !attribute(rotating, next, aid))
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (signing.size !== keys.length || rotating.size !== digs.length)
|
|
167
|
+
return null;
|
|
168
|
+
return {
|
|
169
|
+
event,
|
|
170
|
+
smids: keys.map((_, index) => signing.get(index)),
|
|
171
|
+
rmids: digs.map((_, index) => rotating.get(index)),
|
|
172
|
+
};
|
|
173
|
+
}
|