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
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credential registry and lifecycle workflow orchestration.
|
|
3
|
+
*
|
|
4
|
+
* CLI adapters parse inputs and render outputs. This module owns registry state,
|
|
5
|
+
* credential issuance/import/export,
|
|
6
|
+
* and multisig VC proposal coordination.
|
|
7
|
+
*/
|
|
8
|
+
import { concatBytes, Diger, NumberPrimitive, NumDex, Prefixer, TraitDex, } from "cesr-ts";
|
|
9
|
+
import { ValidationError } from "../../core/errors.js";
|
|
10
|
+
import { incept as inceptRegistryEvent, issue as issueEvent } from "../../core/protocol-vdr-eventing.js";
|
|
11
|
+
import { RegistryRecord } from "../../core/records.js";
|
|
12
|
+
import { Schemer } from "../../core/scheming.js";
|
|
13
|
+
import { Credentialer, CredentialWallet, Registry, serializeCredential } from "../../vdr/credentialing.js";
|
|
14
|
+
import { validateRegistryInception } from "../../vdr/eventing.js";
|
|
15
|
+
import { credentialStreamMessages } from "../ipex/ipex-credentialing.js";
|
|
16
|
+
import { groupSigningMembers, isLocalGroupHab, localGroupMember } from "../multisig/group-members.js";
|
|
17
|
+
import { MULTISIG_ISS_ROUTE, MULTISIG_VCP_ROUTE, prepareMultisigVdrExn, } from "../multisig/grouping.js";
|
|
18
|
+
import { validateCredentialIssueProposal, validateRegistryName, } from "./credential-proposals.js";
|
|
19
|
+
import { admitAndSendGroupMessage, groupSendResult, prepareGroupMessage, remoteGroupMembers, } from "../multisig/multisig-messaging.js";
|
|
20
|
+
/** Pin a JSON schema body into the local schema table. */
|
|
21
|
+
export function pinSchemaBytes(hby, raw) {
|
|
22
|
+
const schemer = new Schemer({ raw });
|
|
23
|
+
hby.db.schema.pin(schemer.said, schemer);
|
|
24
|
+
return schemer.said;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a single-sig registry or propose a group registry inception.
|
|
28
|
+
*
|
|
29
|
+
* @param rgy Borrowed legacy registry/credential owner.
|
|
30
|
+
* @param input Borrowed byte intake; commits each exact local wrapper before peer delivery.
|
|
31
|
+
* @param postman Borrowed Poster; its delivery worker must run while this operation awaits outcomes.
|
|
32
|
+
* @param hab Local signing habitat; its state/store lifetime remains with the caller.
|
|
33
|
+
* @param options Registry name/configuration and optional group proposal usage.
|
|
34
|
+
* @returns Registry/proposal state and actual deliveries, with acceptance reported separately.
|
|
35
|
+
*/
|
|
36
|
+
export function* inceptCredentialRegistry(rgy, input, postman, hab, options) {
|
|
37
|
+
const { hby } = rgy;
|
|
38
|
+
validateRegistryName(rgy.reger, options.registryName);
|
|
39
|
+
if (isLocalGroupHab(hby, hab)) {
|
|
40
|
+
return yield* proposeGroupRegistryIncept(rgy, input, postman, hab, options);
|
|
41
|
+
}
|
|
42
|
+
const registry = rgy.makeRegistry(options.registryName, hab, {
|
|
43
|
+
estOnly: options.estOnly ?? false,
|
|
44
|
+
});
|
|
45
|
+
return {
|
|
46
|
+
publicationComplete: rgy.publication.complete(registry.regk),
|
|
47
|
+
name: options.registryName,
|
|
48
|
+
registry: registry.regk,
|
|
49
|
+
issuer: hab.pre,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Return locally known credential registry records. */
|
|
53
|
+
export function credentialRegistryRecords(reger) {
|
|
54
|
+
const records = [];
|
|
55
|
+
for (const [keys, record] of reger.regs.getTopItemIter()) {
|
|
56
|
+
records.push({
|
|
57
|
+
name: keys[0],
|
|
58
|
+
registry: record.registryKey,
|
|
59
|
+
issuer: record.prefix,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return records;
|
|
63
|
+
}
|
|
64
|
+
/** Return current TEL status for one local registry name. */
|
|
65
|
+
export function credentialRegistryStatus(rgy, registryName) {
|
|
66
|
+
const record = rgy.reger.regs.get(registryName);
|
|
67
|
+
if (!record?.registryKey) {
|
|
68
|
+
throw new ValidationError(`Registry ${registryName} not found.`);
|
|
69
|
+
}
|
|
70
|
+
const tever = rgy.tvy.tevers.get(record.registryKey);
|
|
71
|
+
return {
|
|
72
|
+
name: registryName,
|
|
73
|
+
registry: record.registryKey,
|
|
74
|
+
issuer: record.prefix,
|
|
75
|
+
state: tever?.state() ?? null,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Create and issue one registry-backed credential.
|
|
80
|
+
*
|
|
81
|
+
* @param rgy Borrowed registry/TEL/credential owner.
|
|
82
|
+
* @param input Borrowed byte intake; commits each exact local wrapper before peer delivery.
|
|
83
|
+
* @param postman Borrowed Poster; its delivery worker must run while this operation awaits outcomes.
|
|
84
|
+
* @param options Issuer registry, credential data/schema, and optional delivery/export choices.
|
|
85
|
+
* @returns Credential/TEL result with saved/accepted state distinct from delivered URLs.
|
|
86
|
+
*/
|
|
87
|
+
export function* createCredential(rgy, input, postman, options) {
|
|
88
|
+
const { hby, reger } = rgy;
|
|
89
|
+
const registry = requireRegistry(rgy, options.registryName);
|
|
90
|
+
const credentialer = new Credentialer(hby, {
|
|
91
|
+
reger,
|
|
92
|
+
vry: rgy.vry,
|
|
93
|
+
});
|
|
94
|
+
const creder = credentialer.create({
|
|
95
|
+
registry,
|
|
96
|
+
schema: options.schema,
|
|
97
|
+
recipient: options.recipient,
|
|
98
|
+
data: options.data,
|
|
99
|
+
edges: options.edges,
|
|
100
|
+
rules: options.rules,
|
|
101
|
+
});
|
|
102
|
+
const recipient = options.recipient ?? creder.issuee ?? "";
|
|
103
|
+
if (isLocalGroupHab(hby, registry.hab)) {
|
|
104
|
+
return yield* proposeGroupCredentialIssue(rgy, input, postman, registry, creder, recipient);
|
|
105
|
+
}
|
|
106
|
+
const result = credentialer.issue(registry, creder);
|
|
107
|
+
return {
|
|
108
|
+
creder,
|
|
109
|
+
recipient,
|
|
110
|
+
tel: result.tel.said,
|
|
111
|
+
publicationComplete: rgy.publication.complete(creder.said),
|
|
112
|
+
status: result.verifierDecision.kind,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/** List locally saved credentials through wallet indexes. */
|
|
116
|
+
export function listCredentials(rgy, options) {
|
|
117
|
+
const { reger } = rgy;
|
|
118
|
+
const wallet = new CredentialWallet(reger);
|
|
119
|
+
const tvy = rgy.tvy;
|
|
120
|
+
return wallet.list({ issued: options.issued ?? false, aid: options.aid, schema: options.schema }).map((said) => {
|
|
121
|
+
const [creder] = reger.cloneCred(said);
|
|
122
|
+
const tever = creder.regid ? tvy.tevers.get(creder.regid) : null;
|
|
123
|
+
return {
|
|
124
|
+
said,
|
|
125
|
+
issuer: creder.issuer,
|
|
126
|
+
issuee: creder.issuee,
|
|
127
|
+
schema: typeof creder.schema === "string" ? creder.schema : null,
|
|
128
|
+
status: tever?.vcState(said)?.et ?? null,
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/** Build a KERIpy-compatible credential export stream. */
|
|
133
|
+
export function exportCredentialStream(hby, reger, credentialSaid, recipient) {
|
|
134
|
+
const [creder] = reger.cloneCred(credentialSaid);
|
|
135
|
+
const resolvedRecipient = recipient ?? creder.issuee ?? "";
|
|
136
|
+
return {
|
|
137
|
+
creder,
|
|
138
|
+
recipient: resolvedRecipient,
|
|
139
|
+
bytes: credentialStreamBytes(hby, reger, creder, resolvedRecipient),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/** Build a KERIpy-compatible credential stream for an already loaded credential. */
|
|
143
|
+
export function credentialStreamBytes(hby, reger, creder, recipient) {
|
|
144
|
+
return concatBytes(...credentialStreamMessages(hby, reger, creder, recipient));
|
|
145
|
+
}
|
|
146
|
+
/** Author the required group anchor after all available business evidence has been validated. */
|
|
147
|
+
export function anchorGroupCredentialEvent(hby, hab, event, estOnly) {
|
|
148
|
+
const data = [{ i: event.pre, s: event.snh, d: event.said }];
|
|
149
|
+
if (estOnly || hab.kever?.estOnly)
|
|
150
|
+
return hby.rotateGroupHab(hab.name, undefined, undefined, { data });
|
|
151
|
+
return hby.interactGroupHab(hab.name, undefined, { data });
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Construct a group registry inception and anchored proposal, then await member delivery.
|
|
155
|
+
* Local TEL acceptance is reported separately from successful proposal transmission.
|
|
156
|
+
*
|
|
157
|
+
* @param rgy Borrowed registry owner and accepted state.
|
|
158
|
+
* @param input Borrowed byte intake; commits each exact local wrapper before peer delivery.
|
|
159
|
+
* @param postman Borrowed Poster; its delivery worker must run while this operation awaits outcomes.
|
|
160
|
+
* @param hab Group issuer habitat.
|
|
161
|
+
* @param options Registry name and establishment policy; local authoring always uses NoBackers.
|
|
162
|
+
* @returns Proposal route, registry identity, TEL status and completed target deliveries.
|
|
163
|
+
*/
|
|
164
|
+
function* proposeGroupRegistryIncept(rgy, input, postman, hab, options) {
|
|
165
|
+
const { hby, reger } = rgy;
|
|
166
|
+
const estOnly = options.estOnly ?? false;
|
|
167
|
+
const cnfg = [
|
|
168
|
+
TraitDex.NoBackers,
|
|
169
|
+
...(estOnly ? [TraitDex.EstOnly] : []),
|
|
170
|
+
];
|
|
171
|
+
const vcp = inceptRegistryEvent(hab.pre, { cnfg });
|
|
172
|
+
validateRegistryInception(vcp);
|
|
173
|
+
const anchor = anchorGroupCredentialEvent(hby, hab, vcp, estOnly);
|
|
174
|
+
const seal = sourceSeal(anchor.serder);
|
|
175
|
+
const decision = rgy.tvy.processEvent({
|
|
176
|
+
serder: vcp,
|
|
177
|
+
seqner: seal.seqner,
|
|
178
|
+
saider: seal.saider,
|
|
179
|
+
});
|
|
180
|
+
rgy.processEscrows();
|
|
181
|
+
const regk = requireSerderPrefix(vcp, "registry inception");
|
|
182
|
+
registerRegistry(rgy, options.registryName, hab, regk, { estOnly });
|
|
183
|
+
rgy.publication.track(vcp, anchor.serder);
|
|
184
|
+
const publication = yield* publishGroupVcProposal(hby, input, postman, hab, {
|
|
185
|
+
route: MULTISIG_VCP_ROUTE,
|
|
186
|
+
attrs: { gid: hab.pre, usage: options.usage ?? options.registryName },
|
|
187
|
+
embeds: { vcp: vcp.raw, anc: anchor.message },
|
|
188
|
+
});
|
|
189
|
+
return {
|
|
190
|
+
publicationComplete: rgy.publication.complete(regk),
|
|
191
|
+
name: options.registryName,
|
|
192
|
+
registry: regk,
|
|
193
|
+
issuer: hab.pre,
|
|
194
|
+
group: {
|
|
195
|
+
route: MULTISIG_VCP_ROUTE,
|
|
196
|
+
status: decision.kind,
|
|
197
|
+
accepted: telAccepted(reger, regk, 0, requireSerderSaid(vcp, "registry inception")),
|
|
198
|
+
...publication,
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Prepare group issuance evidence and publish it to remote signing members.
|
|
204
|
+
* Return protocol status separately from transport delivery; peer signature
|
|
205
|
+
* collection may still be incomplete.
|
|
206
|
+
*
|
|
207
|
+
* @param rgy Borrowed registry and credential verification owner.
|
|
208
|
+
* @param input Borrowed byte intake; commits each exact local wrapper before peer delivery.
|
|
209
|
+
* @param postman Borrowed Poster; its delivery worker must run while this operation awaits outcomes.
|
|
210
|
+
* @param registry Group issuer registry to anchor issuance.
|
|
211
|
+
* @param creder Constructed credential to validate and bind to the TEL issue event.
|
|
212
|
+
* @param recipient Resolved issuee retained for the caller's subsequent export or delivery.
|
|
213
|
+
* @returns Credential/TEL decisions, saved state and completed member deliveries.
|
|
214
|
+
*/
|
|
215
|
+
function* proposeGroupCredentialIssue(rgy, input, postman, registry, creder, recipient) {
|
|
216
|
+
const { hby, reger } = rgy;
|
|
217
|
+
const regk = requireRegistryKey(registry);
|
|
218
|
+
const iss = issueEvent(requireCredentialSaid(creder), regk);
|
|
219
|
+
if (!validateCredentialIssueProposal(rgy, registry.hab.pre, creder, iss)) {
|
|
220
|
+
throw new ValidationError("Credential issuance is missing accepted registry or schema evidence.");
|
|
221
|
+
}
|
|
222
|
+
const estOnly = registry.estOnly || (reger.states.get(regk)?.c ?? []).includes(TraitDex.EstOnly);
|
|
223
|
+
const anchor = anchorGroupCredentialEvent(hby, registry.hab, iss, estOnly);
|
|
224
|
+
const seal = sourceSeal(anchor.serder);
|
|
225
|
+
const telDecision = rgy.tvy.processEvent({
|
|
226
|
+
serder: iss,
|
|
227
|
+
seqner: seal.seqner,
|
|
228
|
+
saider: seal.saider,
|
|
229
|
+
});
|
|
230
|
+
rgy.processEscrows();
|
|
231
|
+
const credentialSeal = telCredentialSeal(iss);
|
|
232
|
+
const verifierDecision = rgy.vry.processCredential({
|
|
233
|
+
creder,
|
|
234
|
+
prefixer: credentialSeal.prefixer,
|
|
235
|
+
seqner: credentialSeal.seqner,
|
|
236
|
+
saider: credentialSeal.saider,
|
|
237
|
+
});
|
|
238
|
+
if (verifierDecision.kind === "accept") {
|
|
239
|
+
reger.ccrd.pin(requireCredentialSaid(creder), creder);
|
|
240
|
+
}
|
|
241
|
+
rgy.vry.processEscrows();
|
|
242
|
+
rgy.publication.track(iss, anchor.serder);
|
|
243
|
+
const publication = yield* publishGroupVcProposal(hby, input, postman, registry.hab, {
|
|
244
|
+
route: MULTISIG_ISS_ROUTE,
|
|
245
|
+
attrs: { gid: registry.hab.pre },
|
|
246
|
+
embeds: {
|
|
247
|
+
acdc: serializeCredential(creder, credentialSeal.prefixer, credentialSeal.seqner, credentialSeal.saider),
|
|
248
|
+
iss: iss.raw,
|
|
249
|
+
anc: anchor.message,
|
|
250
|
+
},
|
|
251
|
+
});
|
|
252
|
+
return {
|
|
253
|
+
creder,
|
|
254
|
+
recipient,
|
|
255
|
+
tel: iss.said,
|
|
256
|
+
publicationComplete: rgy.publication.complete(creder.said),
|
|
257
|
+
status: verifierDecision.kind,
|
|
258
|
+
group: {
|
|
259
|
+
route: MULTISIG_ISS_ROUTE,
|
|
260
|
+
telStatus: telDecision.kind,
|
|
261
|
+
saved: credentialSaved(reger, creder),
|
|
262
|
+
...publication,
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Send one signed proposal per remote signing member and await each delivery.
|
|
268
|
+
* Local members are skipped; a failed outcome throws before reporting success.
|
|
269
|
+
*
|
|
270
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
271
|
+
* @param postman Borrowed Poster; its delivery worker must run while this operation awaits outcomes.
|
|
272
|
+
* @param groupHab Group issuer habitat whose remote signing members receive the proposal.
|
|
273
|
+
* @param proposal Registry, issuance or revocation route with its required named evidence.
|
|
274
|
+
* @returns Stable proposal/wrapper identities and successful target URLs after concrete Poster completion.
|
|
275
|
+
*/
|
|
276
|
+
export function* publishGroupVcProposal(hby, input, postman, groupHab, proposal) {
|
|
277
|
+
const member = localGroupMember(hby, groupHab.pre);
|
|
278
|
+
const outcomes = [];
|
|
279
|
+
for (const recipient of remoteGroupMembers(hby, member, groupSigningMembers(hby, groupHab.pre))) {
|
|
280
|
+
const prepared = prepareMultisigVdrExn(member.pre, proposal, { recipient });
|
|
281
|
+
const signed = yield* prepareGroupMessage(input.protocol.exc, member, recipient, prepared);
|
|
282
|
+
outcomes.push(yield* admitAndSendGroupMessage(input, postman, signed));
|
|
283
|
+
}
|
|
284
|
+
return groupSendResult(outcomes);
|
|
285
|
+
}
|
|
286
|
+
function registerRegistry(rgy, name, hab, regk, options) {
|
|
287
|
+
rgy.reger.registries.add(regk);
|
|
288
|
+
rgy.reger.regs.pin(name, new RegistryRecord({
|
|
289
|
+
registryKey: regk,
|
|
290
|
+
prefix: hab.pre,
|
|
291
|
+
}));
|
|
292
|
+
if (!rgy.registries.has(name)) {
|
|
293
|
+
rgy.registries.set(name, new Registry({
|
|
294
|
+
publication: rgy.publication,
|
|
295
|
+
name,
|
|
296
|
+
hab,
|
|
297
|
+
reger: rgy.reger,
|
|
298
|
+
tvy: rgy.tvy,
|
|
299
|
+
cues: rgy.cues,
|
|
300
|
+
regk,
|
|
301
|
+
estOnly: options.estOnly,
|
|
302
|
+
}));
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
function sourceSeal(serder) {
|
|
306
|
+
return {
|
|
307
|
+
prefixer: new Prefixer({ qb64: requireSerderPrefix(serder, "anchor event") }),
|
|
308
|
+
seqner: ordinal(serder.sn ?? 0),
|
|
309
|
+
saider: new Diger({ qb64: requireSerderSaid(serder, "anchor event") }),
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function telCredentialSeal(serder) {
|
|
313
|
+
return {
|
|
314
|
+
prefixer: new Prefixer({ qb64: requireSerderPrefix(serder, "credential TEL event") }),
|
|
315
|
+
seqner: ordinal(serder.sn ?? 0),
|
|
316
|
+
saider: new Diger({ qb64: requireSerderSaid(serder, "credential TEL event") }),
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
function ordinal(num) {
|
|
320
|
+
const raw = new Uint8Array(16);
|
|
321
|
+
let value = BigInt(num);
|
|
322
|
+
for (let i = raw.length - 1; i >= 0; i--) {
|
|
323
|
+
raw[i] = Number(value & 0xffn);
|
|
324
|
+
value >>= 8n;
|
|
325
|
+
}
|
|
326
|
+
return new NumberPrimitive({ code: NumDex.Huge, raw });
|
|
327
|
+
}
|
|
328
|
+
function requireRegistry(rgy, name) {
|
|
329
|
+
const registry = rgy.registryByName(name);
|
|
330
|
+
if (!registry) {
|
|
331
|
+
throw new ValidationError(`Registry ${name} not found.`);
|
|
332
|
+
}
|
|
333
|
+
return registry;
|
|
334
|
+
}
|
|
335
|
+
function requireRegistryKey(registry) {
|
|
336
|
+
if (!registry.regk) {
|
|
337
|
+
throw new ValidationError(`Registry ${registry.name} has not been incepted.`);
|
|
338
|
+
}
|
|
339
|
+
return registry.regk;
|
|
340
|
+
}
|
|
341
|
+
function requireCredentialSaid(creder) {
|
|
342
|
+
if (!creder.said) {
|
|
343
|
+
throw new ValidationError("Credential is missing SAID.");
|
|
344
|
+
}
|
|
345
|
+
return creder.said;
|
|
346
|
+
}
|
|
347
|
+
function credentialSaved(reger, creder) {
|
|
348
|
+
const said = requireCredentialSaid(creder);
|
|
349
|
+
return reger.saved.get([said]) !== null || reger.ccrd.get(said) !== null;
|
|
350
|
+
}
|
|
351
|
+
function requireSerderPrefix(serder, label) {
|
|
352
|
+
if (!serder.pre) {
|
|
353
|
+
throw new ValidationError(`${label} is missing prefix.`);
|
|
354
|
+
}
|
|
355
|
+
return serder.pre;
|
|
356
|
+
}
|
|
357
|
+
function requireSerderSaid(serder, label) {
|
|
358
|
+
if (!serder.said) {
|
|
359
|
+
throw new ValidationError(`${label} is missing SAID.`);
|
|
360
|
+
}
|
|
361
|
+
return serder.said;
|
|
362
|
+
}
|
|
363
|
+
function telAccepted(reger, pre, sn, eventSaid) {
|
|
364
|
+
return reger.tels.getOn(pre, sn)?.qb64 === eventSaid;
|
|
365
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ValidationError } from "../../core/errors.js";
|
|
2
|
+
import { sendWitnessMessage } from "../witness/receipt-client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Advance one captured set of protocol escrows. Receipt collection includes
|
|
5
|
+
* fanout; a crash before its commit repeats that ordinary finite operation.
|
|
6
|
+
* Dissemination replays accepted TEL evidence to the anchor's historical witness
|
|
7
|
+
* cohort and commits ctel only after every local transmission finished. Failure
|
|
8
|
+
* retains the corresponding escrow for explicit resume, without an outbox.
|
|
9
|
+
*/
|
|
10
|
+
export function* publishPendingTel(hby, publication, receiptor, http, clock) {
|
|
11
|
+
publication.advance();
|
|
12
|
+
for (const target of publication.pendingReceipts()) {
|
|
13
|
+
yield* receiptor.receipt(target.issuer, { sn: target.anchorSn, allowTcp: true });
|
|
14
|
+
publication.receipted(target);
|
|
15
|
+
}
|
|
16
|
+
for (const target of publication.pendingPublications()) {
|
|
17
|
+
const hab = hby.habs.get(target.issuer);
|
|
18
|
+
if (!hab)
|
|
19
|
+
throw new ValidationError(`Missing local TEL issuer ${target.issuer}.`);
|
|
20
|
+
const diger = publication.reger.tels.getOn(target.pre, target.sn);
|
|
21
|
+
const message = publication.reger.cloneTvt(target.pre, diger);
|
|
22
|
+
for (const witness of target.witnesses) {
|
|
23
|
+
yield* sendWitnessMessage(hab, witness, message, http, clock, null);
|
|
24
|
+
}
|
|
25
|
+
publication.published(target);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
* flow; durable corruption and unsupported `DI2I` still fail explicitly
|
|
11
11
|
*/
|
|
12
12
|
import { Dater, Ilks, Saider, } from "cesr-ts";
|
|
13
|
-
import { Deck } from "
|
|
14
|
-
import { ValidationError } from "
|
|
15
|
-
import {
|
|
13
|
+
import { Deck } from "../../core/deck.js";
|
|
14
|
+
import { ValidationError } from "../../core/errors.js";
|
|
15
|
+
import { consoleLogger } from "../../core/logger.js";
|
|
16
|
+
import { encodeDateTimeToDater, makeNowIso8601 } from "../../time/mod.js";
|
|
16
17
|
import { resolveCachedSchema } from "./schema-resolving.js";
|
|
17
18
|
/**
|
|
18
|
-
* Concrete credential verifier supplied
|
|
19
|
+
* Concrete credential verifier supplied to the shared `ProtocolProcessor`.
|
|
19
20
|
*
|
|
20
21
|
* The verifier owns only credential validation/indexing and its own VDR escrows.
|
|
21
22
|
* TEL processing remains delegated to `Tevery`, and webhook/application policy
|
|
@@ -91,6 +92,15 @@ export class Verifier {
|
|
|
91
92
|
processCredential(args) {
|
|
92
93
|
const creder = args.creder;
|
|
93
94
|
const said = credentialSaid(creder);
|
|
95
|
+
// Parser hydration does not verify bodies; KERIpy's Serder does at parse time.
|
|
96
|
+
if (!creder.verify()) {
|
|
97
|
+
return {
|
|
98
|
+
kind: "reject",
|
|
99
|
+
reason: "invalidCredential",
|
|
100
|
+
said,
|
|
101
|
+
detail: "Credential body does not match its SAID.",
|
|
102
|
+
};
|
|
103
|
+
}
|
|
94
104
|
const regk = creder.regid;
|
|
95
105
|
const issuer = creder.issuer;
|
|
96
106
|
const schema = creder.schema;
|
|
@@ -125,11 +135,14 @@ export class Verifier {
|
|
|
125
135
|
schemer.verify(creder.raw);
|
|
126
136
|
}
|
|
127
137
|
catch (error) {
|
|
138
|
+
if (!(error instanceof ValidationError))
|
|
139
|
+
throw error;
|
|
128
140
|
return {
|
|
129
141
|
kind: "reject",
|
|
130
142
|
reason: "invalidSchema",
|
|
131
143
|
said,
|
|
132
144
|
detail: error instanceof Error ? error.message : String(error),
|
|
145
|
+
cause: error,
|
|
133
146
|
};
|
|
134
147
|
}
|
|
135
148
|
const edges = normalizedEdges(creder.edge);
|
|
@@ -160,11 +173,14 @@ export class Verifier {
|
|
|
160
173
|
chainState = this.verifyChain(node.n, op, issuer);
|
|
161
174
|
}
|
|
162
175
|
catch (error) {
|
|
176
|
+
if (!(error instanceof ValidationError))
|
|
177
|
+
throw error;
|
|
163
178
|
return {
|
|
164
179
|
kind: "reject",
|
|
165
180
|
reason: "unsupportedChainOperator",
|
|
166
181
|
said,
|
|
167
182
|
detail: error instanceof Error ? error.message : String(error),
|
|
183
|
+
cause: error,
|
|
168
184
|
};
|
|
169
185
|
}
|
|
170
186
|
if (!chainState) {
|
|
@@ -273,6 +289,16 @@ export class Verifier {
|
|
|
273
289
|
const tever = regk ? teverFrom(this.tevers.get(regk)) : null;
|
|
274
290
|
return tever?.vcState(nodeSaid) ?? null;
|
|
275
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* Retry one dependency family and report terminal removals after they succeed.
|
|
294
|
+
*
|
|
295
|
+
* Acceptance and migration to another family are ordinary progress, not ejection.
|
|
296
|
+
* Storage failures propagate with the original evidence still owned by its escrow.
|
|
297
|
+
*
|
|
298
|
+
* @param db Pending credential identities and their original admission timestamps.
|
|
299
|
+
* @param expectedReason Dependency family whose membership this pass owns.
|
|
300
|
+
* @param timeoutMs Maximum pending age in milliseconds; equality remains eligible.
|
|
301
|
+
*/
|
|
276
302
|
processEscrow(db, expectedReason, timeoutMs) {
|
|
277
303
|
for (const [keys, dater] of db.getTopItemIter()) {
|
|
278
304
|
const said = keys[0];
|
|
@@ -280,14 +306,32 @@ export class Verifier {
|
|
|
280
306
|
continue;
|
|
281
307
|
}
|
|
282
308
|
if (Date.now() - new Date(dater.dts).getTime() > timeoutMs) {
|
|
283
|
-
db.rem([said])
|
|
309
|
+
if (db.rem([said])) {
|
|
310
|
+
consoleLogger.warn("Verifier ejected credential escrow", {
|
|
311
|
+
family: expectedReason,
|
|
312
|
+
said,
|
|
313
|
+
reason: "expired",
|
|
314
|
+
detail: `Credential dependency remained unresolved beyond ${timeoutMs} ms.`,
|
|
315
|
+
});
|
|
316
|
+
}
|
|
284
317
|
continue;
|
|
285
318
|
}
|
|
286
319
|
const [creder, prefixer, seqner, saider] = this.reger.cloneCred(said);
|
|
287
320
|
// Remote validation outcomes are typed; thrown failures retain their exact identity and escrow owner.
|
|
288
321
|
const decision = this.processCredential({ creder, prefixer, seqner, saider });
|
|
289
322
|
if (decision.kind === "accept" || decision.kind === "reject") {
|
|
290
|
-
db.rem([said]);
|
|
323
|
+
const removed = db.rem([said]);
|
|
324
|
+
if (removed && decision.kind === "reject") {
|
|
325
|
+
consoleLogger.warn("Verifier ejected credential escrow", {
|
|
326
|
+
family: expectedReason,
|
|
327
|
+
said,
|
|
328
|
+
issuer: creder.issuer,
|
|
329
|
+
registry: creder.regid,
|
|
330
|
+
reason: decision.reason,
|
|
331
|
+
detail: decision.detail,
|
|
332
|
+
cause: decision.cause,
|
|
333
|
+
});
|
|
334
|
+
}
|
|
291
335
|
continue;
|
|
292
336
|
}
|
|
293
337
|
if (decision.reason !== expectedReason) {
|