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,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
|
|
@@ -125,11 +126,14 @@ export class Verifier {
|
|
|
125
126
|
schemer.verify(creder.raw);
|
|
126
127
|
}
|
|
127
128
|
catch (error) {
|
|
129
|
+
if (!(error instanceof ValidationError))
|
|
130
|
+
throw error;
|
|
128
131
|
return {
|
|
129
132
|
kind: "reject",
|
|
130
133
|
reason: "invalidSchema",
|
|
131
134
|
said,
|
|
132
135
|
detail: error instanceof Error ? error.message : String(error),
|
|
136
|
+
cause: error,
|
|
133
137
|
};
|
|
134
138
|
}
|
|
135
139
|
const edges = normalizedEdges(creder.edge);
|
|
@@ -160,11 +164,14 @@ export class Verifier {
|
|
|
160
164
|
chainState = this.verifyChain(node.n, op, issuer);
|
|
161
165
|
}
|
|
162
166
|
catch (error) {
|
|
167
|
+
if (!(error instanceof ValidationError))
|
|
168
|
+
throw error;
|
|
163
169
|
return {
|
|
164
170
|
kind: "reject",
|
|
165
171
|
reason: "unsupportedChainOperator",
|
|
166
172
|
said,
|
|
167
173
|
detail: error instanceof Error ? error.message : String(error),
|
|
174
|
+
cause: error,
|
|
168
175
|
};
|
|
169
176
|
}
|
|
170
177
|
if (!chainState) {
|
|
@@ -273,6 +280,16 @@ export class Verifier {
|
|
|
273
280
|
const tever = regk ? teverFrom(this.tevers.get(regk)) : null;
|
|
274
281
|
return tever?.vcState(nodeSaid) ?? null;
|
|
275
282
|
}
|
|
283
|
+
/**
|
|
284
|
+
* Retry one dependency family and report terminal removals after they succeed.
|
|
285
|
+
*
|
|
286
|
+
* Acceptance and migration to another family are ordinary progress, not ejection.
|
|
287
|
+
* Storage failures propagate with the original evidence still owned by its escrow.
|
|
288
|
+
*
|
|
289
|
+
* @param db Pending credential identities and their original admission timestamps.
|
|
290
|
+
* @param expectedReason Dependency family whose membership this pass owns.
|
|
291
|
+
* @param timeoutMs Maximum pending age in milliseconds; equality remains eligible.
|
|
292
|
+
*/
|
|
276
293
|
processEscrow(db, expectedReason, timeoutMs) {
|
|
277
294
|
for (const [keys, dater] of db.getTopItemIter()) {
|
|
278
295
|
const said = keys[0];
|
|
@@ -280,14 +297,32 @@ export class Verifier {
|
|
|
280
297
|
continue;
|
|
281
298
|
}
|
|
282
299
|
if (Date.now() - new Date(dater.dts).getTime() > timeoutMs) {
|
|
283
|
-
db.rem([said])
|
|
300
|
+
if (db.rem([said])) {
|
|
301
|
+
consoleLogger.warn("Verifier ejected credential escrow", {
|
|
302
|
+
family: expectedReason,
|
|
303
|
+
said,
|
|
304
|
+
reason: "expired",
|
|
305
|
+
detail: `Credential dependency remained unresolved beyond ${timeoutMs} ms.`,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
284
308
|
continue;
|
|
285
309
|
}
|
|
286
310
|
const [creder, prefixer, seqner, saider] = this.reger.cloneCred(said);
|
|
287
311
|
// Remote validation outcomes are typed; thrown failures retain their exact identity and escrow owner.
|
|
288
312
|
const decision = this.processCredential({ creder, prefixer, seqner, saider });
|
|
289
313
|
if (decision.kind === "accept" || decision.kind === "reject") {
|
|
290
|
-
db.rem([said]);
|
|
314
|
+
const removed = db.rem([said]);
|
|
315
|
+
if (removed && decision.kind === "reject") {
|
|
316
|
+
consoleLogger.warn("Verifier ejected credential escrow", {
|
|
317
|
+
family: expectedReason,
|
|
318
|
+
said,
|
|
319
|
+
issuer: creder.issuer,
|
|
320
|
+
registry: creder.regid,
|
|
321
|
+
reason: decision.reason,
|
|
322
|
+
detail: decision.detail,
|
|
323
|
+
cause: decision.cause,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
291
326
|
continue;
|
|
292
327
|
}
|
|
293
328
|
if (decision.reason !== expectedReason) {
|