keri-ts 1.0.0 → 2.0.0
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} +41 -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
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Diger, Prefixer } from "cesr-ts";
|
|
2
|
+
import { RegStateRecord } from "../core/records.js";
|
|
3
|
+
import { timestampMicros } from "../time/mod.js";
|
|
4
|
+
/** Require the entire qualified prefix, not a valid prefix followed by untrusted suffix bytes. */
|
|
5
|
+
export function qualifiedPrefix(value) {
|
|
6
|
+
try {
|
|
7
|
+
return typeof value === "string" && new Prefixer({ qb64: value }).qb64 === value;
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/** Validate unknown notice fields and return the existing record with every field required. */
|
|
14
|
+
export function registryRecord(data) {
|
|
15
|
+
if (!data || typeof data !== "object" || Array.isArray(data))
|
|
16
|
+
return null;
|
|
17
|
+
if (Object.keys(data).some((key) => !["vn", "i", "s", "d", "ii", "dt", "et", "bt", "b", "c"].includes(key))
|
|
18
|
+
|| !("i" in data) || !qualifiedPrefix(data.i) || !("ii" in data) || !qualifiedPrefix(data.ii)
|
|
19
|
+
|| !("s" in data) || typeof data.s !== "string" || !/^[0-9a-f]{1,14}$/i.test(data.s)
|
|
20
|
+
|| BigInt(`0x${data.s}`) > BigInt(Number.MAX_SAFE_INTEGER)
|
|
21
|
+
|| !("bt" in data) || typeof data.bt !== "string" || !/^[0-9a-f]{1,14}$/i.test(data.bt)
|
|
22
|
+
|| !("et" in data) || (data.et !== "vcp" && data.et !== "vrt")
|
|
23
|
+
|| !("dt" in data) || typeof data.dt !== "string" || timestampMicros(data.dt) === null
|
|
24
|
+
|| !("vn" in data) || !Array.isArray(data.vn) || data.vn.length !== 2
|
|
25
|
+
|| !("b" in data) || !Array.isArray(data.b) || !("c" in data) || !Array.isArray(data.c)
|
|
26
|
+
|| !("d" in data) || typeof data.d !== "string")
|
|
27
|
+
return null;
|
|
28
|
+
// Array.isArray erases item types; narrow untrusted elements before constructing owned projections.
|
|
29
|
+
const version = data.vn, backers = data.b, config = data.c;
|
|
30
|
+
const [major, minor] = version;
|
|
31
|
+
if (typeof major !== "number" || !Number.isSafeInteger(major) || major < 0
|
|
32
|
+
|| typeof minor !== "number" || !Number.isSafeInteger(minor) || minor < 0
|
|
33
|
+
|| !backers.every(qualifiedPrefix) || !config.every((item) => typeof item === "string"))
|
|
34
|
+
return null;
|
|
35
|
+
try {
|
|
36
|
+
if (new Diger({ qb64: data.d }).qb64 !== data.d)
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
// Keep required-field types while constructing the existing record; these arrays are fresh owned copies.
|
|
43
|
+
return Object.assign(new RegStateRecord(), {
|
|
44
|
+
vn: [major, minor],
|
|
45
|
+
i: data.i,
|
|
46
|
+
s: data.s,
|
|
47
|
+
d: data.d,
|
|
48
|
+
ii: data.ii,
|
|
49
|
+
dt: data.dt,
|
|
50
|
+
et: data.et,
|
|
51
|
+
bt: data.bt,
|
|
52
|
+
b: [...backers],
|
|
53
|
+
c: [...config],
|
|
54
|
+
});
|
|
55
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** Read-only authority and retained-event selection for local legacy NoBackers revocation. */
|
|
2
|
+
import { Ilks, NumDex, Seqner, SerderKERI, TraitDex } from "cesr-ts";
|
|
3
|
+
import { DatabaseOperationError, ValidationError } from "../core/errors.js";
|
|
4
|
+
import { revoke } from "../core/protocol-vdr-eventing.js";
|
|
5
|
+
import { dgKey } from "../db/core/keys.js";
|
|
6
|
+
/**
|
|
7
|
+
* Check the credential, accepted registry, original issuance and proposed REV
|
|
8
|
+
* before a local member signs its issuer anchor. Missing authority stays pending;
|
|
9
|
+
* contradictory evidence refuses. This neither accepts TEL nor changes escrows.
|
|
10
|
+
* An already accepted matching REV remains valid for explicit approval resume.
|
|
11
|
+
*/
|
|
12
|
+
export function validateCredentialRevocation(reger, issuer, event) {
|
|
13
|
+
if (!event.verify() || event.ilk !== Ilks.rev || event.sn !== 1 || !event.pre) {
|
|
14
|
+
throw new ValidationError("Credential revocation requires valid rev evidence at ordinal one.");
|
|
15
|
+
}
|
|
16
|
+
const creder = reger.creds.get(event.pre);
|
|
17
|
+
if (!creder || reger.saved.get(event.pre) === null)
|
|
18
|
+
return false;
|
|
19
|
+
if (!creder.verify() || creder.issuer !== issuer || creder.regid !== event.ked?.ri) {
|
|
20
|
+
throw new ValidationError("Credential revocation does not match its credential, issuer and registry.");
|
|
21
|
+
}
|
|
22
|
+
const registry = creder.regid;
|
|
23
|
+
const state = reger.states.get(registry);
|
|
24
|
+
if (!state)
|
|
25
|
+
return false;
|
|
26
|
+
if (state.ii !== issuer || !(state.c ?? []).includes(TraitDex.NoBackers)) {
|
|
27
|
+
throw new ValidationError("Local credential revocation requires its issuer's NoBackers registry.");
|
|
28
|
+
}
|
|
29
|
+
const issuance = reger.tels.getOn(event.pre, 0);
|
|
30
|
+
if (!issuance)
|
|
31
|
+
return false;
|
|
32
|
+
const original = storedEvent(reger, event.pre, issuance.qb64);
|
|
33
|
+
if (original.ilk !== Ilks.iss || original.ked?.ri !== registry || event.ked?.p !== issuance.qb64) {
|
|
34
|
+
throw new ValidationError("Credential revocation predecessor does not match its accepted issuance.");
|
|
35
|
+
}
|
|
36
|
+
const accepted = reger.tels.getOn(event.pre, 1);
|
|
37
|
+
if (accepted && accepted.qb64 !== event.said) {
|
|
38
|
+
throw new ValidationError("Credential already has another accepted revocation.");
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Reuse the accepted REV or this issuer's original publication candidate. The
|
|
44
|
+
* ordinary tmse record identifies locally tracked work; unrelated remote escrow
|
|
45
|
+
* candidates cannot select an event for local authoring. A fresh REV is returned
|
|
46
|
+
* only when neither exists. The caller owns anchoring and TEL admission.
|
|
47
|
+
*/
|
|
48
|
+
export function prepareCredentialRevocation(reger, issuer, registry, said) {
|
|
49
|
+
const creder = reger.creds.get(said);
|
|
50
|
+
if (!creder || creder.issuer !== issuer || creder.regid !== registry) {
|
|
51
|
+
throw new ValidationError("Credential is not controlled by the selected issuer and registry.");
|
|
52
|
+
}
|
|
53
|
+
const accepted = reger.tels.getOn(said, 1);
|
|
54
|
+
const rawOrdinal = new Uint8Array(16);
|
|
55
|
+
rawOrdinal[15] = 1;
|
|
56
|
+
const ordinal = new Seqner({ code: NumDex.Huge, raw: rawOrdinal }).qb64;
|
|
57
|
+
const pending = new Set([...reger.tmse.getTopItemIter([said, ordinal])].map(([keys]) => keys[2]));
|
|
58
|
+
if (pending.size > 1 || (accepted && [...pending].some(digest => digest !== accepted.qb64))) {
|
|
59
|
+
throw new DatabaseOperationError("Conflicting locally tracked credential revocations.");
|
|
60
|
+
}
|
|
61
|
+
const retained = accepted?.qb64 ?? [...pending][0];
|
|
62
|
+
let event;
|
|
63
|
+
if (retained) {
|
|
64
|
+
event = storedEvent(reger, said, retained);
|
|
65
|
+
if (!reger.ancs.get(dgKey(said, retained))) {
|
|
66
|
+
throw new DatabaseOperationError("Stored revocation issuer source seal is missing.");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const issuance = reger.tels.getOn(said, 0);
|
|
71
|
+
if (!issuance)
|
|
72
|
+
throw new ValidationError(`Cannot revoke unknown credential ${said}.`);
|
|
73
|
+
event = revoke(said, registry, issuance.qb64);
|
|
74
|
+
}
|
|
75
|
+
if (!validateCredentialRevocation(reger, issuer, event)) {
|
|
76
|
+
throw new ValidationError("Credential revocation is missing accepted credential, registry or issuance evidence.");
|
|
77
|
+
}
|
|
78
|
+
return event;
|
|
79
|
+
}
|
|
80
|
+
/** Accepted/publication indexes must reference an intact body with the same immutable identity. */
|
|
81
|
+
function storedEvent(reger, prefix, digest) {
|
|
82
|
+
const raw = reger.tvts.get(dgKey(prefix, digest));
|
|
83
|
+
if (!raw)
|
|
84
|
+
throw new DatabaseOperationError("Stored credential TEL body is missing.");
|
|
85
|
+
const event = new SerderKERI({ raw });
|
|
86
|
+
if (event.pre !== prefix || event.said !== digest || !event.verify()) {
|
|
87
|
+
throw new DatabaseOperationError("Stored credential TEL identity is corrupt.");
|
|
88
|
+
}
|
|
89
|
+
return event;
|
|
90
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Exact issuer KEL authority for legacy TEL events. */
|
|
2
|
+
import { Ilks } from "cesr-ts";
|
|
3
|
+
/** Verify the complete TEL seal in the accepted issuer event at the supplied source coordinate. */
|
|
4
|
+
export function verifyTelAnchor(db, issuer, event, ordinal, digest) {
|
|
5
|
+
if (!ordinal || !digest || ordinal.num > BigInt(Number.MAX_SAFE_INTEGER))
|
|
6
|
+
return false;
|
|
7
|
+
const accepted = db.kels.getLast(issuer, Number(ordinal.num));
|
|
8
|
+
if (accepted !== digest.qb64)
|
|
9
|
+
return false;
|
|
10
|
+
const anchor = db.getEvtSerder(issuer, accepted);
|
|
11
|
+
if (!anchor || anchor.said !== accepted)
|
|
12
|
+
return false;
|
|
13
|
+
return telAnchorMatches(issuer, event, anchor);
|
|
14
|
+
}
|
|
15
|
+
/** Match the complete TEL seal in an issuer KEL body before that anchor is signed or accepted. */
|
|
16
|
+
export function telAnchorMatches(issuer, event, anchor) {
|
|
17
|
+
const seals = anchor.ked?.a;
|
|
18
|
+
return Array.isArray(seals) && seals.length === 1 && telAnchorIncludes(issuer, event, anchor);
|
|
19
|
+
}
|
|
20
|
+
/** Recognize the exact TEL tuple within an issuer event, including a batch of other seals. */
|
|
21
|
+
export function telAnchorIncludes(issuer, event, anchor) {
|
|
22
|
+
if (anchor.pre !== issuer || (!anchor.estive && anchor.ilk !== Ilks.ixn))
|
|
23
|
+
return false;
|
|
24
|
+
const seals = anchor.ked?.a;
|
|
25
|
+
return Array.isArray(seals)
|
|
26
|
+
&& seals.some((seal) => !!seal && typeof seal === "object" && !Array.isArray(seal)
|
|
27
|
+
&& "i" in seal && seal.i === event.pre && "s" in seal && seal.s === event.snh
|
|
28
|
+
&& "d" in seal && seal.d === event.said);
|
|
29
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/** Durable legacy TEL publication progress, separate from observer acceptance. */
|
|
2
|
+
import { Diger, NumberPrimitive, NumDex, Prefixer, Saider, Seqner, Verfer } from "cesr-ts";
|
|
3
|
+
import { DatabaseOperationError, ValidationError } from "../core/errors.js";
|
|
4
|
+
import { dgKey } from "../db/core/keys.js";
|
|
5
|
+
import { telAnchorMatches } from "./tel-anchor.js";
|
|
6
|
+
/** Encode Python's fixed-width Seqner key, independent of the event body's number encoding. */
|
|
7
|
+
function ordinal(sn) {
|
|
8
|
+
if (!Number.isSafeInteger(sn) || sn < 0)
|
|
9
|
+
throw new RangeError("Invalid TEL publication ordinal");
|
|
10
|
+
const raw = new Uint8Array(16);
|
|
11
|
+
let value = BigInt(sn);
|
|
12
|
+
for (let index = raw.length - 1; index >= 0; index--) {
|
|
13
|
+
raw[index] = Number(value & 255n);
|
|
14
|
+
value >>= 8n;
|
|
15
|
+
}
|
|
16
|
+
return new Seqner({ code: NumDex.Huge, raw });
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Own tmse -> tpwe -> tede -> ctel using KERIpy's existing Reger tables.
|
|
20
|
+
* Accepted issuer anchors, full witness collection and completed local transport
|
|
21
|
+
* are distinct gates. ctel stores the issuer anchor SAID, as in KERIpy, and never
|
|
22
|
+
* claims remote TEL acceptance. No network work occurs inside a writer.
|
|
23
|
+
*/
|
|
24
|
+
export class TelPublication {
|
|
25
|
+
/** Borrow accepted KEL authority and the issuer's existing TEL environment. */
|
|
26
|
+
constructor(db, reger) {
|
|
27
|
+
Object.defineProperty(this, "db", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: db
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(this, "reger", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: reger
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/** Retain the original anchor even while group signatures or TEL dependencies are missing. */
|
|
41
|
+
track(event, anchor) {
|
|
42
|
+
if (!event.pre || event.sn === null || !event.said || !anchor.pre || anchor.sn === null || !anchor.said
|
|
43
|
+
|| !telAnchorMatches(anchor.pre, event, anchor)) {
|
|
44
|
+
throw new ValidationError("TEL publication requires the exact issuer anchor and TEL seal.");
|
|
45
|
+
}
|
|
46
|
+
const keys = [event.pre, ordinal(event.sn).qb64, event.said];
|
|
47
|
+
const seal = [
|
|
48
|
+
new Prefixer({ qb64: anchor.pre }),
|
|
49
|
+
new NumberPrimitive({ code: NumDex.Huge, raw: ordinal(anchor.sn).raw }),
|
|
50
|
+
new Diger({ qb64: anchor.said }),
|
|
51
|
+
];
|
|
52
|
+
const coordinates = keys.slice(0, 2);
|
|
53
|
+
const sameAnchor = (stored) => stored.every((value, index) => value.qb64 === seal[index].qb64);
|
|
54
|
+
if (!this.complete(event.pre, event.sn)
|
|
55
|
+
&& !this.reger.tpwe.get(coordinates).some(sameAnchor)
|
|
56
|
+
&& !this.reger.tede.get(coordinates).some(sameAnchor)) {
|
|
57
|
+
this.reger.tmse.add(keys, seal);
|
|
58
|
+
}
|
|
59
|
+
this.advance();
|
|
60
|
+
}
|
|
61
|
+
/** Move accepted anchors forward; empty witness/publication cohorts need no I/O. */
|
|
62
|
+
advance() {
|
|
63
|
+
this.reger.env.transactionSync(() => {
|
|
64
|
+
for (const [keys, seal] of [...this.reger.tmse.getTopItemIter()]) {
|
|
65
|
+
const target = this.target(keys, seal);
|
|
66
|
+
if (!target || target.said !== keys[2])
|
|
67
|
+
continue;
|
|
68
|
+
this.reger.tpwe.add(keys.slice(0, 2), seal);
|
|
69
|
+
this.reger.tmse.rem(keys, seal);
|
|
70
|
+
}
|
|
71
|
+
for (const target of this.pendingReceipts()) {
|
|
72
|
+
if (target.witnesses.length === 0)
|
|
73
|
+
this.receipted(target);
|
|
74
|
+
}
|
|
75
|
+
for (const target of this.pendingPublications()) {
|
|
76
|
+
if (target.witnesses.length === 0)
|
|
77
|
+
this.published(target);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/** Snapshot accepted anchors awaiting an actual complete receipt/fanout attempt. */
|
|
82
|
+
pendingReceipts() {
|
|
83
|
+
return [...this.reger.tpwe.getTopItemIter()].flatMap(([keys, seal]) => {
|
|
84
|
+
const target = this.target(keys, seal);
|
|
85
|
+
return target ? [target] : [];
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** Commit receipt completion only after the I/O owner returned and all unique proofs still verify. */
|
|
89
|
+
receipted(target) {
|
|
90
|
+
if (!this.allReceipts(target))
|
|
91
|
+
throw new ValidationError("TEL anchor is missing required witness receipts.");
|
|
92
|
+
const seal = this.seal(target);
|
|
93
|
+
this.reger.env.transactionSync(() => {
|
|
94
|
+
this.reger.tede.add(this.keys(target), [seal[0], seal[1], new Saider({ qb64: target.anchorSaid })]);
|
|
95
|
+
this.reger.tpwe.rem(this.keys(target), seal);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/** Accepted TEL replay becomes eligible only after the anchor's receipt obligation finished. */
|
|
99
|
+
pendingPublications() {
|
|
100
|
+
return [...this.reger.tede.getTopItemIter()].flatMap(([keys, seal]) => {
|
|
101
|
+
const target = this.target(keys, [seal[0], seal[1], new Diger({ qb64: seal[2].qb64 })]);
|
|
102
|
+
return target && this.reger.tels.getOn(target.pre, target.sn)?.qb64 === target.said ? [target] : [];
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/** Record finished local publication; an interrupted attempt leaves its ordinary dissemination escrow. */
|
|
106
|
+
published(target) {
|
|
107
|
+
if (!this.allReceipts(target) || this.reger.tels.getOn(target.pre, target.sn)?.qb64 !== target.said) {
|
|
108
|
+
throw new ValidationError("TEL publication dependencies changed before completion.");
|
|
109
|
+
}
|
|
110
|
+
const seal = this.seal(target);
|
|
111
|
+
this.reger.env.transactionSync(() => {
|
|
112
|
+
this.reger.ctel.pin(this.keys(target), new Saider({ qb64: target.anchorSaid }));
|
|
113
|
+
this.reger.tede.rem(this.keys(target), [seal[0], seal[1], new Saider({ qb64: target.anchorSaid })]);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Completion is durable local dissemination, not merely accepted TEL storage or peer acknowledgement. */
|
|
117
|
+
complete(pre, sn = 0) {
|
|
118
|
+
return this.reger.ctel.get([pre, ordinal(sn).qb64]) !== null;
|
|
119
|
+
}
|
|
120
|
+
/** Reverify by unique roster index; multiple signatures from one witness never fill another's slot. */
|
|
121
|
+
allReceipts(target) {
|
|
122
|
+
const current = this.target(this.keys(target), this.seal(target));
|
|
123
|
+
if (!current || current.said !== target.said)
|
|
124
|
+
return false;
|
|
125
|
+
const anchor = this.db.getEvtSerder(target.issuer, target.anchorSaid);
|
|
126
|
+
if (!anchor || this.db.kels.getLast(target.issuer, target.anchorSn) !== target.anchorSaid)
|
|
127
|
+
return false;
|
|
128
|
+
const witnesses = this.db.acceptedEventWitnesses(anchor);
|
|
129
|
+
if (!witnesses || witnesses.length !== target.witnesses.length
|
|
130
|
+
|| witnesses.some((witness, index) => witness !== target.witnesses[index]))
|
|
131
|
+
return false;
|
|
132
|
+
const indices = new Set();
|
|
133
|
+
for (const signature of this.db.wigs.get(dgKey(target.issuer, target.anchorSaid))) {
|
|
134
|
+
const witness = witnesses[signature.index];
|
|
135
|
+
if (witness && new Verfer({ qb64: witness }).verify(signature.raw, anchor.raw))
|
|
136
|
+
indices.add(signature.index);
|
|
137
|
+
}
|
|
138
|
+
return indices.size === witnesses.length;
|
|
139
|
+
}
|
|
140
|
+
/** Resolve the signed TEL seal from the exact accepted historical issuer event. */
|
|
141
|
+
target(keys, seal) {
|
|
142
|
+
const [prefixer, sner, diger] = seal;
|
|
143
|
+
if (sner.num > BigInt(Number.MAX_SAFE_INTEGER))
|
|
144
|
+
throw new DatabaseOperationError("Unsafe TEL anchor ordinal");
|
|
145
|
+
const anchorSn = Number(sner.num);
|
|
146
|
+
if (this.db.kels.getLast(prefixer.qb64, anchorSn) !== diger.qb64)
|
|
147
|
+
return null;
|
|
148
|
+
const anchor = this.db.getEvtSerder(prefixer.qb64, diger.qb64);
|
|
149
|
+
if (!anchor)
|
|
150
|
+
throw new DatabaseOperationError("Accepted TEL anchor body is missing");
|
|
151
|
+
const sn = Number(new Seqner({ qb64: keys[1] }).sn);
|
|
152
|
+
if (!Number.isSafeInteger(sn) || sn < 0)
|
|
153
|
+
throw new DatabaseOperationError("Unsafe TEL publication ordinal");
|
|
154
|
+
const seals = anchor.ked?.a;
|
|
155
|
+
const eventSeal = Array.isArray(seals) && seals.length === 1 ? seals[0] : null;
|
|
156
|
+
if (!eventSeal || typeof eventSeal !== "object" || !("i" in eventSeal) || eventSeal.i !== keys[0]
|
|
157
|
+
|| !("s" in eventSeal) || eventSeal.s !== sn.toString(16)
|
|
158
|
+
|| !("d" in eventSeal) || typeof eventSeal.d !== "string") {
|
|
159
|
+
throw new DatabaseOperationError("Stored TEL publication does not match its issuer anchor");
|
|
160
|
+
}
|
|
161
|
+
const witnesses = this.db.acceptedEventWitnesses(anchor);
|
|
162
|
+
if (!witnesses)
|
|
163
|
+
return null;
|
|
164
|
+
return { pre: keys[0], sn, said: eventSeal.d, issuer: prefixer.qb64, anchorSn, anchorSaid: diger.qb64, witnesses };
|
|
165
|
+
}
|
|
166
|
+
/** Reuse the TEL coordinate key across witness, dissemination and completion tables. */
|
|
167
|
+
keys(target) {
|
|
168
|
+
return [target.pre, ordinal(target.sn).qb64];
|
|
169
|
+
}
|
|
170
|
+
/** Serialize the same issuer source coordinate in every escrow stage. */
|
|
171
|
+
seal(target) {
|
|
172
|
+
return [
|
|
173
|
+
new Prefixer({ qb64: target.issuer }),
|
|
174
|
+
new NumberPrimitive({ code: NumDex.Huge, raw: ordinal(target.anchorSn).raw }),
|
|
175
|
+
new Diger({ qb64: target.anchorSaid }),
|
|
176
|
+
];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* `src/version.ts` files by hand; edit this template instead.
|
|
7
7
|
*/
|
|
8
8
|
/** Package semantic version copied from the owning package manifest. */
|
|
9
|
-
export const PACKAGE_VERSION = "
|
|
9
|
+
export const PACKAGE_VERSION = "2.0.0";
|
|
10
10
|
/** Optional build metadata stamp injected by release/CI workflows. */
|
|
11
|
-
export const BUILD_METADATA = "build.
|
|
11
|
+
export const BUILD_METADATA = "build.27.c6e19e9ebea5a79ed7b5d232ffa4d60a9acb805d";
|
|
12
12
|
/** User-facing version string with build metadata appended when present. */
|
|
13
13
|
export const DISPLAY_VERSION = BUILD_METADATA
|
|
14
14
|
? `${PACKAGE_VERSION}+${BUILD_METADATA}`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "keri-ts",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "KERI TypeScript protocol and runtime library",
|
|
5
5
|
"homepage": "https://github.com/kentbull/keri-ts",
|
|
6
6
|
"repository": {
|
|
@@ -52,8 +52,10 @@
|
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@deno/shim-deno": "0.18.2",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
55
|
+
"@inquirer/password": "3.0.1",
|
|
56
|
+
"@noble/hashes": "1.8.0",
|
|
57
|
+
"ajv": "8.18.0",
|
|
58
|
+
"cesr-ts": ">=2.0.0 <2.1.0",
|
|
57
59
|
"effection": "^3.6.0",
|
|
58
60
|
"lmdb": "3.5.3",
|
|
59
61
|
"@msgpack/msgpack": "3.1.3",
|
|
@@ -97,6 +97,12 @@ interface ImportMetaPonyfill extends ImportMetaPonyfillCommonjs, ImportMetaPonyf
|
|
|
97
97
|
export declare let import_meta_ponyfill_commonjs: ImportMetaPonyfillCommonjs;
|
|
98
98
|
export declare let import_meta_ponyfill_esmodule: ImportMetaPonyfillEsmodule;
|
|
99
99
|
export declare let import_meta_ponyfill: ImportMetaPonyfill;
|
|
100
|
+
declare global {
|
|
101
|
+
interface Error {
|
|
102
|
+
cause?: unknown;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export {};
|
|
100
106
|
declare global {
|
|
101
107
|
interface Array<T> {
|
|
102
108
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_dnt.polyfills.d.ts","sourceRoot":"","sources":["../src/_dnt.polyfills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAgC,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB;;;;;;;;;;;;;;WAcG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;QACtE;;;;;;;;WAQG;QACH,IAAI,EAAE,OAAO,CAAC;QAEd;;;;;;;;;;;;WAYG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;;;;;;;;;;;WAYG;QACH,OAAO,EAAE,MAAM,CAAC;KACjB;CACF;AAED,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,UAAU,0BAA0B;IAClC,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACxD;AACD,UAAU,0BAA0B;IAClC,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;CACtC;AACD,UAAU,kBACR,SAAQ,0BAA0B,EAAE,0BAA0B;CAC/D;AAiBD,eAAO,IAAI,6BAA6B,EA2BnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,6BAA6B,EA4DnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,oBAAoB,EAoB1B,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"_dnt.polyfills.d.ts","sourceRoot":"","sources":["../src/_dnt.polyfills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Read-only ACDC chaining over caller-owned node verdicts; authentication and application state policy stay separate. */
|
|
2
|
+
import { type SerderACDC } from "cesr-ts";
|
|
3
|
+
import type { Baser } from "../db/basing.js";
|
|
4
|
+
/** Borrow a complete reachable DAG of verified credential views, with its origin first, without projecting frames. */
|
|
5
|
+
export interface AcdcGraph {
|
|
6
|
+
nodes: ReadonlyMap<string, {
|
|
7
|
+
readonly body: SerderACDC;
|
|
8
|
+
}>;
|
|
9
|
+
order: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
/** Reserved section/group labels include a pin at every level. */
|
|
12
|
+
export declare const acdcGroupLabels: ReadonlySet<string>;
|
|
13
|
+
/** A truth verdict cannot absorb malformed input; callers represent that separately as null. */
|
|
14
|
+
export type ChainVerdict = {
|
|
15
|
+
kind: "valid";
|
|
16
|
+
} | {
|
|
17
|
+
kind: "invalid";
|
|
18
|
+
} | {
|
|
19
|
+
kind: "unknown";
|
|
20
|
+
retryable: boolean;
|
|
21
|
+
reason: string;
|
|
22
|
+
schemas: readonly string[];
|
|
23
|
+
};
|
|
24
|
+
/** Empty section containers carry no disclosed edge semantics; malformed nonempty values refuse. */
|
|
25
|
+
export declare function acdcEdgeBlocks(value: unknown): Record<string, unknown>[] | null;
|
|
26
|
+
/** Compact Edge strings name blocks, never far ACDCs. Expanded leaves have exact labels. */
|
|
27
|
+
export declare function acdcEdgeTarget(value: unknown): string | null | false;
|
|
28
|
+
/**
|
|
29
|
+
* Validate every own schema, then conjoin each caller verdict with its complete edge expression.
|
|
30
|
+
* Every branch is inspected for malformed shape, even when its truth value is unused.
|
|
31
|
+
* Protocol callers supply issuer authentication; applications supply their state policy.
|
|
32
|
+
* This helper reads schemas but writes no records and publishes no cues.
|
|
33
|
+
*/
|
|
34
|
+
export declare function evaluateChain(graph: AcdcGraph, verdicts: ReadonlyMap<string, ChainVerdict>, db: Baser): ChainVerdict | null;
|
|
35
|
+
//# sourceMappingURL=chaining.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chaining.d.ts","sourceRoot":"","sources":["../../src/acdc/chaining.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI7C,sHAAsH;AACtH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC1D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,kEAAkE;AAClE,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAAsC,CAAC;AAKvF,gGAAgG;AAChG,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAMxF,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAI/E;AAUD,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAGpE;AAoBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,EAAE,EAAE,KAAK,GACR,YAAY,GAAG,IAAI,CA6HrB"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Python's local IPEX DHKE profile, carried by KERI/CESR v2. The HKDF profile
|
|
3
|
+
* itself is not a KERI standard. Consent and ephemeral keys are process-local;
|
|
4
|
+
* only completed Salt128 roots enter the encrypted Keeper.
|
|
5
|
+
*/
|
|
6
|
+
import { type Cigar, type Diger, Salter, type SerderKERI } from "cesr-ts";
|
|
7
|
+
import type { Operation } from "effection";
|
|
8
|
+
import type { ExchangeDecision, Exchanger } from "../app/exchanges/exchanging.js";
|
|
9
|
+
import { Hab } from "../app/identity/habbing.js";
|
|
10
|
+
import { type GroupCoordinator } from "../app/multisig/group-members.js";
|
|
11
|
+
import { type AuxiliaryQueryProcessor, type MessageDropDecision } from "../app/protocol/parsering.js";
|
|
12
|
+
import { Deck } from "../core/deck.js";
|
|
13
|
+
import type { KeriDispatchEnvelope, TransIdxSigGroup } from "../core/dispatch.js";
|
|
14
|
+
import { type ReplyProcessDecision, type Revery } from "../core/routing.js";
|
|
15
|
+
import { type RegistryStore } from "./registering.js";
|
|
16
|
+
/** Exact context bound by the Python HKDF profile. XID can differ from Grant SAID. */
|
|
17
|
+
export interface DhkeContext {
|
|
18
|
+
role: "issuer" | "issuee";
|
|
19
|
+
xid: string;
|
|
20
|
+
grant: string;
|
|
21
|
+
registry: string;
|
|
22
|
+
issuer: string;
|
|
23
|
+
issuee: string;
|
|
24
|
+
issuerPublicKey: string;
|
|
25
|
+
issueePublicKey: string;
|
|
26
|
+
}
|
|
27
|
+
/** Decode canonical CESR C public material; the agreement primitive checks contribution. */
|
|
28
|
+
export declare function decodePublicKey(value: unknown): Uint8Array;
|
|
29
|
+
/** Generate a fresh agreement scalar, independent of every signing key. */
|
|
30
|
+
export declare function generateKeyPair(): {
|
|
31
|
+
privateKey: Uint8Array;
|
|
32
|
+
publicKey: string;
|
|
33
|
+
};
|
|
34
|
+
/** Derive one Salt128; malformed context, wrong local keys and low-order peers refuse. */
|
|
35
|
+
export declare function deriveRoot(privateKey: Uint8Array, context: DhkeContext): Salter;
|
|
36
|
+
/** Group consent names its own accepted coordinator and elected member; individuals omit both. */
|
|
37
|
+
export interface DhkeApproval {
|
|
38
|
+
coordinator?: GroupCoordinator;
|
|
39
|
+
custodian?: string;
|
|
40
|
+
}
|
|
41
|
+
/** Delivery of signed wire; sign asks members to review/contribute, never authorizes them. */
|
|
42
|
+
export interface DhkeOutgoing {
|
|
43
|
+
kin: "query" | "reply" | "sign";
|
|
44
|
+
dest: string;
|
|
45
|
+
msg: Uint8Array;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Issuer/issuee DH for an explicitly approved pending Grant. Wire
|
|
49
|
+
* intake cannot approve work. Inject as ProtocolProcessor.qvy and register on
|
|
50
|
+
* Revery's existing Router at Route. Full proofs remain owned by KRAM/Revery.
|
|
51
|
+
* A group freezes its own accepted coordinator/custodian at approval. Members
|
|
52
|
+
* contribute ordinary signatures; only the custodian generates or retains keys,
|
|
53
|
+
* after own complete query/reply intake through the same threshold owners.
|
|
54
|
+
*/
|
|
55
|
+
export declare class Dhke implements AuxiliaryQueryProcessor {
|
|
56
|
+
static readonly Route = "/ipex/dhke";
|
|
57
|
+
readonly resource = "/ipex/dhke";
|
|
58
|
+
readonly outgoing: Deck<DhkeOutgoing>;
|
|
59
|
+
private readonly pendingQueries;
|
|
60
|
+
private readonly now;
|
|
61
|
+
private readonly operations;
|
|
62
|
+
readonly hab: Hab;
|
|
63
|
+
readonly exc: Exchanger;
|
|
64
|
+
readonly rvy: Revery;
|
|
65
|
+
readonly registryStore: RegistryStore;
|
|
66
|
+
readonly group: boolean;
|
|
67
|
+
/** Bind concrete local owners; construction grants no consent and writes nothing. */
|
|
68
|
+
constructor({ hab, exc, registryStore, rvy, now }: {
|
|
69
|
+
hab: Hab;
|
|
70
|
+
exc: Exchanger;
|
|
71
|
+
registryStore: RegistryStore;
|
|
72
|
+
rvy?: Revery;
|
|
73
|
+
now?: () => number;
|
|
74
|
+
});
|
|
75
|
+
/** Select one live fresh issuance and freeze its exact bodies, parties and registry order. */
|
|
76
|
+
approve(grant: string, { coordinator, custodian }?: DhkeApproval): string;
|
|
77
|
+
/** Return the stable issuer proposal until own threshold intake supplies the complete query. */
|
|
78
|
+
start(grant: string): Uint8Array;
|
|
79
|
+
/**
|
|
80
|
+
* Re-sign this issuer's started individual query for delivery now.
|
|
81
|
+
*
|
|
82
|
+
* KERIpy `Dhke.requery` (kentbull/keripy#159): a queued query can age past the
|
|
83
|
+
* issuee's KRAM timeliness window before transport begins. The renewal keeps
|
|
84
|
+
* the approved Grant, ephemeral keys and registry scope; only the query's own
|
|
85
|
+
* `dt`, SAID and signatures change, and it becomes the outstanding query. It
|
|
86
|
+
* never extends the Grant's exchange deadline. A group threshold query needs
|
|
87
|
+
* a new member proposal, so groups cannot renew here.
|
|
88
|
+
*/
|
|
89
|
+
requery(xid: string): Uint8Array;
|
|
90
|
+
/** Explicitly sign one exact custodian proposal; partial proof authorizes review, never DH. */
|
|
91
|
+
contribute(xid: string, proposal: Uint8Array): Uint8Array;
|
|
92
|
+
/** Independently authenticate the full issuer threshold, even when KRAM is disabled. */
|
|
93
|
+
processQuery(envelope: KeriDispatchEnvelope): {
|
|
94
|
+
kind: "accept";
|
|
95
|
+
} | MessageDropDecision;
|
|
96
|
+
/** Revery decides reply threshold acceptance before any issuer derivation or retention. */
|
|
97
|
+
processReply({ serder, diger, route, cigars, tsgs }: {
|
|
98
|
+
serder: SerderKERI;
|
|
99
|
+
diger: Diger;
|
|
100
|
+
route: string;
|
|
101
|
+
cigars?: Cigar[];
|
|
102
|
+
tsgs?: TransIdxSigGroup[];
|
|
103
|
+
}): ReplyProcessDecision;
|
|
104
|
+
/** Completion remains inspectable after BUP, while the same original Grant is live. */
|
|
105
|
+
complete(xid: string): boolean;
|
|
106
|
+
/** Recipient members may defer reply contribution until the issuer query independently authenticates. */
|
|
107
|
+
hasPeerQuery(xid: string): boolean;
|
|
108
|
+
/** Verify all current issued openings, then retry the exact Grant; this never authors Admit. */
|
|
109
|
+
finish(xid: string): Operation<ExchangeDecision>;
|
|
110
|
+
/** Drop local ephemeral key references and permanently refuse this operation. */
|
|
111
|
+
abandon(xid: string): void;
|
|
112
|
+
/** Release all process-local approvals and retry bytes; zero owned ephemeral scalar arrays. */
|
|
113
|
+
close(): void;
|
|
114
|
+
/** Retain public query evidence against one exact pending Grant, without creating keys or consent. */
|
|
115
|
+
private retainQuery;
|
|
116
|
+
/** Expired evidence cannot survive another owner interaction. */
|
|
117
|
+
private pruneQueries;
|
|
118
|
+
/** Consume the first authenticated request only after explicit approval; never renew either clock. */
|
|
119
|
+
private replayQuery;
|
|
120
|
+
/** Bound process-local public evidence by the original query and accepted Grant lifetimes. */
|
|
121
|
+
private retainUntil;
|
|
122
|
+
private operation;
|
|
123
|
+
private pending;
|
|
124
|
+
private live;
|
|
125
|
+
private roots;
|
|
126
|
+
/** Decode only the exact DH message contract; authorization belongs to the selected operation. */
|
|
127
|
+
private parameters;
|
|
128
|
+
private preflight;
|
|
129
|
+
private generate;
|
|
130
|
+
private derive;
|
|
131
|
+
private retain;
|
|
132
|
+
private clearPrivate;
|
|
133
|
+
/** Recheck exact frozen election evidence and current membership without choosing a replacement. */
|
|
134
|
+
private custody;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=dhking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dhking.d.ts","sourceRoot":"","sources":["../../src/acdc/dhking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/acdc/messaging.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,IAAI,EACJ,KAAK,IAAI,EAGT,KAAK,SAAS,EACd,KAAK,WAAW,EAIhB,UAAU,EAEV,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAIjB,KAAK,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AACvC,KAAK,cAAc,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC;AAE7C,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,SAAS;IACtC,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU,GAAG,IAAI;IAC5B,SAAS,EAAE,UAAU,GAAG,IAAI;IAC5B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;CACjB,CAAC;AAiGF,4DAA4D;AAC5D,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,UAAU,CAchF;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,eAAoB,GAC5B,UAAU,
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/acdc/messaging.ts"],"names":[],"mappings":"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"}
|