keri-ts 0.11.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 +32 -2
- package/esm/keri/npm/src/_dnt.polyfills.js +36 -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 +47 -40
- package/esm/keri/npm/src/acdc/regbasing.js +22 -22
- package/esm/keri/npm/src/acdc/regengine.js +88 -119
- package/esm/keri/npm/src/acdc/regeventing.js +163 -44
- package/esm/keri/npm/src/acdc/registering.js +99 -23
- package/esm/keri/npm/src/acdc/registraring.js +82 -46
- 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 +103 -105
- package/esm/keri/npm/src/acdc/unblinding.js +1042 -0
- package/esm/keri/npm/src/app/{authenticating.js → bootstrap/authenticating.js} +40 -39
- package/esm/keri/npm/src/app/bootstrap/bootstrapping.js +109 -0
- package/esm/keri/npm/src/app/bootstrap/oobi-replies.js +113 -0
- package/esm/keri/npm/src/app/{oobiery.js → bootstrap/oobiery.js} +211 -267
- 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 -45
- 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/delivery/reply-streams.js +230 -0
- package/esm/keri/npm/src/app/delivery/respondant.js +159 -0
- package/esm/keri/npm/src/app/delivery/stored-replies.js +53 -0
- 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/{challenging.js → identity/challenging.js} +13 -8
- package/esm/keri/npm/src/app/{configing.js → identity/configing.js} +4 -4
- package/esm/keri/npm/src/app/{delegating.js → identity/delegating.js} +118 -40
- package/esm/keri/npm/src/app/{endpoint-roleing.js → identity/endpoint-roleing.js} +43 -39
- package/esm/keri/npm/src/app/{habbing.js → identity/habbing.js} +258 -226
- 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-building.js → ipex/ipex-building.js} +53 -55
- package/esm/keri/npm/src/app/ipex/ipex-credentialing.js +359 -0
- package/esm/keri/npm/src/app/{ipex-graph.js → ipex/ipex-graph.js} +70 -124
- package/esm/keri/npm/src/app/ipex/ipex-grouping.js +664 -0
- package/esm/keri/npm/src/app/ipex/ipex-node-authentication.js +185 -0
- package/esm/keri/npm/src/app/ipex/ipex-v2.js +692 -0
- package/esm/keri/npm/src/app/{ipexing.js → ipex/ipexing.js} +59 -10
- 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} +146 -139
- 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} +117 -70
- 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/multisig/grouping.js +932 -0
- 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} +23 -50
- package/esm/keri/npm/src/app/notifications/signaling.js +177 -0
- package/esm/keri/npm/src/app/{parsering.js → protocol/parsering.js} +123 -53
- 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/queries/query-replies.js +151 -0
- 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/runtime/abortable.js +103 -0
- 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} +43 -21
- 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} +28 -78
- 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} +41 -5
- 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 -9
- package/esm/keri/npm/src/{app/cli → cli}/common/existing.js +9 -29
- 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 +71 -53
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/ends.js +34 -31
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/loc.js +22 -20
- package/esm/keri/npm/src/cli/endpoints/oobi-clean.js +134 -0
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/oobi.js +37 -36
- package/esm/keri/npm/src/{app/cli → cli/identity}/aid.js +8 -7
- package/esm/keri/npm/src/cli/identity/challenge.js +181 -0
- package/esm/keri/npm/src/{app/cli → cli/identity}/delegate.js +88 -73
- 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/cli/identity/rotate.js +172 -0
- package/esm/keri/npm/src/cli/index.js +38 -0
- package/esm/keri/npm/src/{app/cli → cli/messaging}/exchange.js +24 -24
- package/esm/keri/npm/src/cli/messaging/multisig.js +569 -0
- 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/cli/tools/annotate.js +25 -0
- package/esm/keri/npm/src/{app/cli → cli/tools}/benchmark.js +18 -9
- package/esm/keri/npm/src/{app/cli → cli/tools}/db-dump.js +14 -27
- 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/deck.js +5 -44
- package/esm/keri/npm/src/core/dispatch.js +10 -2
- package/esm/keri/npm/src/core/errors.js +5 -10
- 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} +47 -4
- package/esm/keri/npm/src/core/genus-framing.js +44 -0
- package/esm/keri/npm/src/core/{eventing.js → kel/eventing.js} +209 -390
- package/esm/keri/npm/src/core/kel/kever-decisions.js +70 -0
- package/esm/keri/npm/src/core/{kever.js → kel/kever.js} +84 -167
- 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} +5 -15
- package/esm/keri/npm/src/core/{kram-signatures.js → mailbox/kram-signatures.js} +1 -1
- package/esm/keri/npm/src/core/mailbox/kram-staging.js +149 -0
- package/esm/keri/npm/src/core/{kram-time.js → mailbox/kram-time.js} +9 -15
- package/esm/keri/npm/src/core/mailbox/kraming.js +78 -0
- package/esm/keri/npm/src/core/protocol-eventing.js +6 -1
- package/esm/keri/npm/src/core/protocol-serialization.js +9 -34
- package/esm/keri/npm/src/core/protocol-vdr-eventing.js +10 -11
- package/esm/keri/npm/src/core/records.js +0 -19
- package/esm/keri/npm/src/core/routing.js +187 -199
- package/esm/keri/npm/src/db/baser-defaults.js +11 -0
- package/esm/keri/npm/src/db/basing.js +224 -401
- package/esm/keri/npm/src/db/core/keys.js +2 -2
- package/esm/keri/npm/src/db/core/lmdber.js +123 -149
- package/esm/keri/npm/src/db/core/path-manager.js +2 -4
- package/esm/keri/npm/src/db/escrowing.js +82 -200
- 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 -6
- package/esm/keri/npm/src/db/keeping.js +123 -6
- package/esm/keri/npm/src/db/{kram-factors.js → mailbox/kram-factors.js} +17 -50
- package/esm/keri/npm/src/db/{mailboxing.js → mailbox/mailboxing.js} +5 -8
- package/esm/keri/npm/src/db/reger.js +48 -69
- package/esm/keri/npm/src/db/{kel-replay.js → replay/kel-replay.js} +12 -24
- package/esm/keri/npm/src/db/{tel-replay.js → replay/tel-replay.js} +38 -36
- package/esm/keri/npm/src/db/{witness-replay.js → replay/witness-replay.js} +8 -14
- package/esm/keri/npm/src/db/subing.js +2 -11
- package/esm/keri/npm/src/did/keri/resolving.js +4 -18
- package/esm/keri/npm/src/did/webs/artifacts.js +21 -24
- package/esm/keri/npm/src/did/webs/designated-aliases.js +18 -48
- package/esm/keri/npm/src/did/webs/documenting.js +8 -8
- package/esm/keri/npm/src/did/webs/resolving.js +73 -74
- 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 +105 -74
- 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 -109
- package/esm/keri/npm/src/vdr/eventing.js +633 -251
- 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/vdr/tsn-query.js +15 -10
- package/esm/keri/npm/src/{app/version.js → version.js} +2 -2
- package/package.json +7 -21
- package/types/_dnt.polyfills.d.ts +55 -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 +19 -15
- package/types/acdc/observing.d.ts.map +1 -1
- package/types/acdc/regbasing.d.ts +8 -9
- package/types/acdc/regbasing.d.ts.map +1 -1
- package/types/acdc/regengine.d.ts +14 -28
- 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 +27 -11
- package/types/acdc/registering.d.ts.map +1 -1
- package/types/acdc/registraring.d.ts +22 -22
- 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 +3 -2
- 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/bootstrap/oobi-replies.d.ts +8 -0
- package/types/app/bootstrap/oobi-replies.d.ts.map +1 -0
- package/types/app/{oobiery.d.ts → bootstrap/oobiery.d.ts} +98 -27
- 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} +20 -9
- 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/delivery/stored-replies.d.ts +11 -0
- 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} +9 -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} +59 -17
- package/types/app/identity/delegating.d.ts.map +1 -0
- package/types/app/identity/endpoint-roleing.d.ts +54 -0
- package/types/app/identity/endpoint-roleing.d.ts.map +1 -0
- package/types/app/{habbing.d.ts → identity/habbing.d.ts} +86 -54
- 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-building.d.ts → ipex/ipex-building.d.ts} +5 -5
- package/types/app/ipex/ipex-building.d.ts.map +1 -0
- package/types/app/{ipex-credentialing.d.ts → ipex/ipex-credentialing.d.ts} +42 -10
- 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/ipex-node-authentication.d.ts +32 -0
- 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 -8
- 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 -43
- 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/multisig/grouping.d.ts +317 -0
- 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} +5 -6
- package/types/app/notifications/notifying.d.ts.map +1 -0
- package/types/app/notifications/signaling.d.ts +68 -0
- package/types/app/notifications/signaling.d.ts.map +1 -0
- package/types/app/protocol/parsering.d.ts +128 -0
- 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} +9 -33
- 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} +10 -3
- 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 -9
- package/types/cli/common/context.d.ts.map +1 -0
- package/types/{app/cli → cli}/common/existing.d.ts +2 -8
- 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 +3 -1
- 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 +4 -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/{app/cli → cli/tools}/db-dump.d.ts +0 -2
- 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 +146 -57
- package/types/core/cues.d.ts.map +1 -1
- package/types/core/deck.d.ts +2 -12
- package/types/core/deck.d.ts.map +1 -1
- package/types/core/dispatch.d.ts +7 -3
- package/types/core/dispatch.d.ts.map +1 -1
- package/types/core/errors.d.ts +4 -4
- package/types/core/errors.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} +18 -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} +37 -48
- package/types/core/kel/eventing.d.ts.map +1 -0
- package/types/core/{kever-decisions.d.ts → kel/kever-decisions.d.ts} +36 -22
- package/types/core/kel/kever-decisions.d.ts.map +1 -0
- package/types/core/{kever.d.ts → kel/kever.d.ts} +13 -47
- 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} +3 -3
- package/types/core/{kram-pruning.d.ts.map → mailbox/kram-pruning.d.ts.map} +1 -1
- 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/mailbox/kram-staging.d.ts +30 -0
- package/types/core/mailbox/kram-staging.d.ts.map +1 -0
- package/types/core/{kram-time.d.ts → mailbox/kram-time.d.ts} +5 -11
- package/types/core/mailbox/kram-time.d.ts.map +1 -0
- package/types/core/mailbox/kraming.d.ts +42 -0
- 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 +5 -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/protocol-vdr-eventing.d.ts +7 -5
- package/types/core/protocol-vdr-eventing.d.ts.map +1 -1
- package/types/core/records.d.ts +15 -50
- package/types/core/records.d.ts.map +1 -1
- package/types/core/routing.d.ts +76 -46
- 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 +70 -75
- package/types/db/basing.d.ts.map +1 -1
- package/types/db/core/keys.d.ts.map +1 -1
- package/types/db/core/lmdber.d.ts +21 -23
- package/types/db/core/lmdber.d.ts.map +1 -1
- package/types/db/core/path-manager.d.ts.map +1 -1
- package/types/db/escrowing.d.ts +12 -49
- 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 -6
- 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/koming.d.ts +1 -1
- package/types/db/koming.d.ts.map +1 -1
- package/types/db/{kram-factors.d.ts → mailbox/kram-factors.d.ts} +3 -5
- package/types/db/mailbox/kram-factors.d.ts.map +1 -0
- package/types/db/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +3 -4
- package/types/db/mailbox/mailboxing.d.ts.map +1 -0
- package/types/db/reger.d.ts +10 -12
- package/types/db/reger.d.ts.map +1 -1
- package/types/db/{kel-replay.d.ts → replay/kel-replay.d.ts} +2 -6
- package/types/db/replay/kel-replay.d.ts.map +1 -0
- package/types/db/{tel-replay.d.ts → replay/tel-replay.d.ts} +13 -8
- package/types/db/replay/tel-replay.d.ts.map +1 -0
- package/types/db/{witness-replay.d.ts → replay/witness-replay.d.ts} +2 -3
- package/types/db/replay/witness-replay.d.ts.map +1 -0
- package/types/db/subing.d.ts +1 -5
- package/types/db/subing.d.ts.map +1 -1
- package/types/did/keri/resolving.d.ts +5 -10
- 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 +6 -5
- package/types/did/webs/designated-aliases.d.ts.map +1 -1
- package/types/did/webs/documenting.d.ts +6 -5
- package/types/did/webs/documenting.d.ts.map +1 -1
- package/types/did/webs/resolving.d.ts +13 -3
- 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 +109 -76
- 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 -27
- package/types/vdr/credentialing.d.ts.map +1 -1
- package/types/vdr/eventing.d.ts +66 -23
- 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 +9 -4
- 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/abortable.js +0 -27
- package/esm/keri/npm/src/app/agent-runtime.js +0 -638
- package/esm/keri/npm/src/app/cesr-egress.js +0 -308
- package/esm/keri/npm/src/app/cesr-output.js +0 -12
- package/esm/keri/npm/src/app/cli/annotate.js +0 -24
- package/esm/keri/npm/src/app/cli/challenge.js +0 -168
- 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 -187
- package/esm/keri/npm/src/app/cli/index.js +0 -36
- package/esm/keri/npm/src/app/cli/init.js +0 -155
- package/esm/keri/npm/src/app/cli/interact.js +0 -72
- package/esm/keri/npm/src/app/cli/ipex.js +0 -453
- package/esm/keri/npm/src/app/cli/multisig.js +0 -474
- package/esm/keri/npm/src/app/cli/query.js +0 -143
- package/esm/keri/npm/src/app/cli/rotate.js +0 -171
- package/esm/keri/npm/src/app/cli/vc.js +0 -284
- package/esm/keri/npm/src/app/cli/verifier.js +0 -96
- package/esm/keri/npm/src/app/credential-workflows.js +0 -431
- package/esm/keri/npm/src/app/cue-delivery.js +0 -171
- package/esm/keri/npm/src/app/cue-preparation.js +0 -124
- package/esm/keri/npm/src/app/cue-route.js +0 -64
- package/esm/keri/npm/src/app/cue-runtime.js +0 -104
- package/esm/keri/npm/src/app/direct-reply-delivery.js +0 -282
- package/esm/keri/npm/src/app/essr.js +0 -235
- package/esm/keri/npm/src/app/exchanging.js +0 -1219
- package/esm/keri/npm/src/app/forwarding.js +0 -1346
- package/esm/keri/npm/src/app/group-members.js +0 -37
- package/esm/keri/npm/src/app/grouping.js +0 -534
- package/esm/keri/npm/src/app/httping.js +0 -130
- package/esm/keri/npm/src/app/ipex-credentialing.js +0 -245
- package/esm/keri/npm/src/app/ipex-grouping.js +0 -317
- package/esm/keri/npm/src/app/ipex-v2.js +0 -542
- package/esm/keri/npm/src/app/mailbox-sse.js +0 -257
- package/esm/keri/npm/src/app/multisig-workflows.js +0 -537
- package/esm/keri/npm/src/app/oobi-replies.js +0 -194
- package/esm/keri/npm/src/app/query-replies.js +0 -181
- package/esm/keri/npm/src/app/querying.js +0 -1040
- package/esm/keri/npm/src/app/reactor.js +0 -517
- package/esm/keri/npm/src/app/reply-streams.js +0 -304
- package/esm/keri/npm/src/app/respondant.js +0 -173
- package/esm/keri/npm/src/app/runtime-deliveries.js +0 -510
- package/esm/keri/npm/src/app/runtime-services.js +0 -25
- package/esm/keri/npm/src/app/signaling.js +0 -388
- package/esm/keri/npm/src/app/stored-replies.js +0 -85
- package/esm/keri/npm/src/app/tcp-egress.js +0 -334
- package/esm/keri/npm/src/app/verifier-agent.js +0 -461
- package/esm/keri/npm/src/app/witnessing.js +0 -956
- package/esm/keri/npm/src/core/cue-admission.js +0 -419
- package/esm/keri/npm/src/core/index.js +0 -23
- package/esm/keri/npm/src/core/kever-decisions.js +0 -63
- package/esm/keri/npm/src/core/kram-handoff.js +0 -148
- package/esm/keri/npm/src/core/kram-staging.js +0 -211
- package/esm/keri/npm/src/core/kraming.js +0 -99
- package/esm/keri/npm/src/db/exchange-nests.js +0 -175
- package/esm/keri/npm/src/db/exchange-records.js +0 -7
- package/esm/keri/npm/src/db/kram-snapshots.js +0 -216
- package/esm/keri/npm/src/db/mailbox-inbox.js +0 -206
- package/esm/keri/npm/src/db/outboxing.js +0 -371
- package/esm/keri/npm/src/db/payload-archive.js +0 -402
- package/esm/keri/npm/src/db/payload-store.js +0 -416
- 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 -218
- package/esm/keri/npm/src/vdr/registry-tsn.js +0 -218
- package/types/app/abortable.d.ts +0 -11
- package/types/app/abortable.d.ts.map +0 -1
- package/types/app/agent-runtime.d.ts +0 -284
- 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 -48
- package/types/app/cesr-egress.d.ts.map +0 -1
- package/types/app/cesr-http.d.ts.map +0 -1
- package/types/app/cesr-output.d.ts +0 -5
- package/types/app/cesr-output.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 +0 -26
- 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 -118
- package/types/app/credential-workflows.d.ts.map +0 -1
- package/types/app/cue-delivery.d.ts +0 -30
- package/types/app/cue-delivery.d.ts.map +0 -1
- package/types/app/cue-preparation.d.ts +0 -25
- package/types/app/cue-preparation.d.ts.map +0 -1
- package/types/app/cue-route.d.ts +0 -19
- package/types/app/cue-route.d.ts.map +0 -1
- package/types/app/cue-runtime.d.ts +0 -46
- package/types/app/cue-runtime.d.ts.map +0 -1
- package/types/app/delegating.d.ts.map +0 -1
- package/types/app/direct-reply-delivery.d.ts +0 -38
- package/types/app/direct-reply-delivery.d.ts.map +0 -1
- package/types/app/endpoint-roleing.d.ts +0 -41
- package/types/app/endpoint-roleing.d.ts.map +0 -1
- package/types/app/essr.d.ts +0 -72
- package/types/app/essr.d.ts.map +0 -1
- package/types/app/exchanging.d.ts +0 -245
- package/types/app/exchanging.d.ts.map +0 -1
- package/types/app/forwarding.d.ts +0 -411
- 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 +0 -150
- 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 -42
- package/types/app/httping.d.ts.map +0 -1
- package/types/app/ipex-building.d.ts.map +0 -1
- package/types/app/ipex-credentialing.d.ts.map +0 -1
- package/types/app/ipex-graph.d.ts +0 -30
- package/types/app/ipex-graph.d.ts.map +0 -1
- package/types/app/ipex-grouping.d.ts +0 -51
- package/types/app/ipex-grouping.d.ts.map +0 -1
- package/types/app/ipex-v2.d.ts +0 -51
- 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 -159
- package/types/app/mailbox-director.d.ts.map +0 -1
- package/types/app/mailbox-sse.d.ts +0 -38
- 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 -59
- 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 +0 -18
- 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 +0 -106
- 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 -45
- package/types/app/query-replies.d.ts.map +0 -1
- package/types/app/querying.d.ts +0 -294
- package/types/app/querying.d.ts.map +0 -1
- package/types/app/reactor.d.ts +0 -171
- package/types/app/reactor.d.ts.map +0 -1
- package/types/app/reply-streams.d.ts +0 -51
- package/types/app/reply-streams.d.ts.map +0 -1
- package/types/app/respondant.d.ts +0 -48
- package/types/app/respondant.d.ts.map +0 -1
- package/types/app/runtime-deliveries.d.ts +0 -67
- package/types/app/runtime-deliveries.d.ts.map +0 -1
- package/types/app/runtime-services.d.ts +0 -29
- 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 +0 -96
- 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 +0 -18
- package/types/app/stored-replies.d.ts.map +0 -1
- package/types/app/tcp-egress.d.ts +0 -87
- package/types/app/tcp-egress.d.ts.map +0 -1
- package/types/app/verifier-agent.d.ts +0 -91
- 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 -227
- package/types/app/witnessing.d.ts.map +0 -1
- package/types/core/cue-admission.d.ts +0 -74
- package/types/core/cue-admission.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-handoff.d.ts +0 -45
- package/types/core/kram-handoff.d.ts.map +0 -1
- package/types/core/kram-policy.d.ts.map +0 -1
- package/types/core/kram-signatures.d.ts.map +0 -1
- package/types/core/kram-staging.d.ts +0 -36
- 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 +0 -46
- 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 -39
- package/types/db/exchange-nests.d.ts.map +0 -1
- package/types/db/exchange-records.d.ts +0 -35
- 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/kram-snapshots.d.ts +0 -23
- package/types/db/kram-snapshots.d.ts.map +0 -1
- package/types/db/mailbox-inbox.d.ts +0 -72
- package/types/db/mailbox-inbox.d.ts.map +0 -1
- package/types/db/mailboxing.d.ts.map +0 -1
- package/types/db/outboxing.d.ts +0 -182
- package/types/db/outboxing.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 -18
- package/types/vdr/credential-tsn.d.ts.map +0 -1
- package/types/vdr/registry-tsn.d.ts +0 -23
- 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/{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/{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}/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}/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,13 +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 {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { encodeDateTimeToDater, makeNowIso8601 } from "
|
|
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";
|
|
17
17
|
import { resolveCachedSchema } from "./schema-resolving.js";
|
|
18
18
|
/**
|
|
19
|
-
* Concrete verifier
|
|
19
|
+
* Concrete credential verifier supplied to the shared `ProtocolProcessor`.
|
|
20
20
|
*
|
|
21
21
|
* The verifier owns only credential validation/indexing and its own VDR escrows.
|
|
22
22
|
* TEL processing remains delegated to `Tevery`, and webhook/application policy
|
|
@@ -90,8 +90,6 @@ export class Verifier {
|
|
|
90
90
|
}
|
|
91
91
|
/** Validate and save one registry-backed credential. */
|
|
92
92
|
processCredential(args) {
|
|
93
|
-
if (!(this.cues instanceof CueDeck))
|
|
94
|
-
this.cues.checkSpace();
|
|
95
93
|
const creder = args.creder;
|
|
96
94
|
const said = credentialSaid(creder);
|
|
97
95
|
const regk = creder.regid;
|
|
@@ -128,11 +126,14 @@ export class Verifier {
|
|
|
128
126
|
schemer.verify(creder.raw);
|
|
129
127
|
}
|
|
130
128
|
catch (error) {
|
|
129
|
+
if (!(error instanceof ValidationError))
|
|
130
|
+
throw error;
|
|
131
131
|
return {
|
|
132
132
|
kind: "reject",
|
|
133
133
|
reason: "invalidSchema",
|
|
134
134
|
said,
|
|
135
135
|
detail: error instanceof Error ? error.message : String(error),
|
|
136
|
+
cause: error,
|
|
136
137
|
};
|
|
137
138
|
}
|
|
138
139
|
const edges = normalizedEdges(creder.edge);
|
|
@@ -163,11 +164,14 @@ export class Verifier {
|
|
|
163
164
|
chainState = this.verifyChain(node.n, op, issuer);
|
|
164
165
|
}
|
|
165
166
|
catch (error) {
|
|
167
|
+
if (!(error instanceof ValidationError))
|
|
168
|
+
throw error;
|
|
166
169
|
return {
|
|
167
170
|
kind: "reject",
|
|
168
171
|
reason: "unsupportedChainOperator",
|
|
169
172
|
said,
|
|
170
173
|
detail: error instanceof Error ? error.message : String(error),
|
|
174
|
+
cause: error,
|
|
171
175
|
};
|
|
172
176
|
}
|
|
173
177
|
if (!chainState) {
|
|
@@ -189,48 +193,21 @@ export class Verifier {
|
|
|
189
193
|
}
|
|
190
194
|
}
|
|
191
195
|
const cue = { kin: "saved", creder };
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
this.saveCredential(args);
|
|
195
|
-
if (prepared)
|
|
196
|
-
prepared.publish();
|
|
197
|
-
else
|
|
198
|
-
this.cues.push(cue);
|
|
199
|
-
}
|
|
200
|
-
finally {
|
|
201
|
-
prepared?.release();
|
|
202
|
-
}
|
|
196
|
+
this.saveCredential(args);
|
|
197
|
+
this.cues.push(cue);
|
|
203
198
|
return { kind: "accept", said };
|
|
204
199
|
}
|
|
205
|
-
/**
|
|
200
|
+
/** Persist dependency evidence before publishing its ordinary query cue.
|
|
206
201
|
* Registry/schema queries follow new membership; chain retries always request their dependency.
|
|
207
|
-
* Preparation refusal leaves the current escrow family and any prior credential proof unchanged.
|
|
208
202
|
*/
|
|
209
203
|
escrowDependency(args, reason, cue) {
|
|
210
|
-
const
|
|
211
|
-
? this.
|
|
204
|
+
const inserted = reason === "missingRegistry"
|
|
205
|
+
? this.escrowMRE(args)
|
|
212
206
|
: reason === "missingSchema"
|
|
213
|
-
? this.
|
|
214
|
-
: this.
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const prepared = owned && (fresh || reason === "missingChain") ? this.cues.prepare([cue]) : undefined;
|
|
218
|
-
try {
|
|
219
|
-
const inserted = reason === "missingRegistry"
|
|
220
|
-
? this.escrowMRE(args)
|
|
221
|
-
: reason === "missingSchema"
|
|
222
|
-
? this.escrowMSE(args)
|
|
223
|
-
: this.escrowMCE(args);
|
|
224
|
-
if (owned && inserted !== fresh)
|
|
225
|
-
throw new Error("Credential escrow membership changed during admission");
|
|
226
|
-
if (prepared)
|
|
227
|
-
prepared.publish();
|
|
228
|
-
else if (!owned && (inserted || reason === "missingChain"))
|
|
229
|
-
this.cues.push(cue);
|
|
230
|
-
}
|
|
231
|
-
finally {
|
|
232
|
-
prepared?.release();
|
|
233
|
-
}
|
|
207
|
+
? this.escrowMSE(args)
|
|
208
|
+
: this.escrowMCE(args);
|
|
209
|
+
if (inserted || reason === "missingChain")
|
|
210
|
+
this.cues.push(cue);
|
|
234
211
|
}
|
|
235
212
|
/** Missing registry escrow. */
|
|
236
213
|
escrowMRE(args) {
|
|
@@ -303,6 +280,16 @@ export class Verifier {
|
|
|
303
280
|
const tever = regk ? teverFrom(this.tevers.get(regk)) : null;
|
|
304
281
|
return tever?.vcState(nodeSaid) ?? null;
|
|
305
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
|
+
*/
|
|
306
293
|
processEscrow(db, expectedReason, timeoutMs) {
|
|
307
294
|
for (const [keys, dater] of db.getTopItemIter()) {
|
|
308
295
|
const said = keys[0];
|
|
@@ -310,14 +297,32 @@ export class Verifier {
|
|
|
310
297
|
continue;
|
|
311
298
|
}
|
|
312
299
|
if (Date.now() - new Date(dater.dts).getTime() > timeoutMs) {
|
|
313
|
-
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
|
+
}
|
|
314
308
|
continue;
|
|
315
309
|
}
|
|
316
310
|
const [creder, prefixer, seqner, saider] = this.reger.cloneCred(said);
|
|
317
311
|
// Remote validation outcomes are typed; thrown failures retain their exact identity and escrow owner.
|
|
318
312
|
const decision = this.processCredential({ creder, prefixer, seqner, saider });
|
|
319
313
|
if (decision.kind === "accept" || decision.kind === "reject") {
|
|
320
|
-
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
|
+
}
|
|
321
326
|
continue;
|
|
322
327
|
}
|
|
323
328
|
if (decision.reason !== expectedReason) {
|