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
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Cigar, Dater, Diger, Ilks, NumberPrimitive, Prefixer, SealSource, Siger, Verfer, } from "cesr-ts";
|
|
2
|
-
import { dgKey, snKey } from "
|
|
3
|
-
import { encodeDateTimeToDater, makeNowIso8601 } from "
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { dgKey, snKey } from "../../db/core/keys.js";
|
|
3
|
+
import { encodeDateTimeToDater, makeNowIso8601 } from "../../time/mod.js";
|
|
4
|
+
import { Deck } from "../deck.js";
|
|
5
|
+
import { ValidationError } from "../errors.js";
|
|
6
|
+
import { consoleLogger } from "../logger.js";
|
|
7
|
+
import { normalizeMbxTopicCursor } from "../mailbox/mailbox-topics.js";
|
|
8
|
+
import { reply as replyEvent } from "../protocol-eventing.js";
|
|
9
|
+
import { KeyStateRecord, ObservedRecord } from "../records.js";
|
|
10
|
+
import { acceptReplyDecision, unverifiedReplyDecision } from "../routing.js";
|
|
7
11
|
import { acceptEscrow, acceptQuery, acceptReceipt, dropEscrow, dropQuery, dropReceipt, escrowQuery, escrowReceipt, ignoreReceipt, keepEscrow, logEscrowDecision, } from "./kever-decisions.js";
|
|
8
12
|
import { Kever } from "./kever.js";
|
|
9
|
-
import { normalizeMbxTopicCursor } from "./mailbox-topics.js";
|
|
10
|
-
import { reply as replyEvent } from "./protocol-eventing.js";
|
|
11
|
-
import { KeyStateRecord, ObservedRecord } from "./records.js";
|
|
12
|
-
import { acceptReplyDecision, unverifiedReplyDecision } from "./routing.js";
|
|
13
13
|
import { deriveRotatedWitnessSet, hasUniqueWitnesses } from "./witnesses.js";
|
|
14
14
|
/** Normalize one dispatch ordinal into the number primitive expected by DB seal tuples. */
|
|
15
15
|
function normalizeSealOrdinal(seqner) {
|
|
@@ -118,7 +118,8 @@ export class Kevery {
|
|
|
118
118
|
* The returned decision is the normal typed outcome for remote processing.
|
|
119
119
|
* The owning native writer covers decision, admission and durable effects;
|
|
120
120
|
* accepted live state and cues publish only after that commit returns.
|
|
121
|
-
*
|
|
121
|
+
* Caller-owned native writers are refused before evaluation or effects: this
|
|
122
|
+
* processor must own the commit that precedes live state/cue publication.
|
|
122
123
|
* Exceptions are reserved for invariant/corruption cases during application.
|
|
123
124
|
*/
|
|
124
125
|
processEvent(envelope) {
|
|
@@ -126,36 +127,35 @@ export class Kevery {
|
|
|
126
127
|
}
|
|
127
128
|
settleEventDecision(input, escrow) {
|
|
128
129
|
const env = this.db.env;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return null;
|
|
138
|
-
}
|
|
139
|
-
const decision = this.decideEvent(envelope);
|
|
140
|
-
// A still-pending replay keeps its existing row and emits no additional cues.
|
|
141
|
-
if (escrow && decision.kind === "escrow" && decision.reason === escrow.kind)
|
|
142
|
-
return decision;
|
|
143
|
-
prepared = this.prepareDecision(decision);
|
|
144
|
-
prepared?.write();
|
|
130
|
+
if (this.db.inWriteTransaction) {
|
|
131
|
+
throw new Error("Kevery must own the KEL transaction; process events outside caller-owned writers");
|
|
132
|
+
}
|
|
133
|
+
let metadata;
|
|
134
|
+
const write = () => {
|
|
135
|
+
// Replay hydration may repair an existing delegation source hint; it belongs to this writer too.
|
|
136
|
+
const envelope = typeof input === "function" ? input() : input;
|
|
137
|
+
if (!envelope) {
|
|
145
138
|
if (escrow)
|
|
146
139
|
this.removeEscrow(escrow.kind, escrow.pre, escrow.on, escrow.said);
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
const decision = this.decideEvent(envelope);
|
|
143
|
+
// A still-pending replay keeps its existing row and emits no additional cues.
|
|
144
|
+
if (escrow && decision.kind === "escrow" && decision.reason === escrow.kind) {
|
|
145
|
+
this.writeSourceSealRepairs(decision);
|
|
147
146
|
return decision;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
prepared?.publish();
|
|
147
|
+
}
|
|
148
|
+
metadata = this.eventMetadata(decision);
|
|
149
|
+
this.writeEventDecision(decision, metadata);
|
|
150
|
+
if (escrow)
|
|
151
|
+
this.removeEscrow(escrow.kind, escrow.pre, escrow.on, escrow.said);
|
|
154
152
|
return decision;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
153
|
+
};
|
|
154
|
+
const decision = env.transactionSync(write);
|
|
155
|
+
this.publishEventState(metadata?.accepted);
|
|
156
|
+
if (metadata?.cues.length)
|
|
157
|
+
this.cues.extend(metadata.cues);
|
|
158
|
+
return decision;
|
|
159
159
|
}
|
|
160
160
|
/**
|
|
161
161
|
* Process one query message through the KEL-owned query/reply path.
|
|
@@ -201,9 +201,10 @@ export class Kevery {
|
|
|
201
201
|
* state or route criteria
|
|
202
202
|
* - `drop` means the query is malformed or unsupported and should not become
|
|
203
203
|
* query-not-found escrow
|
|
204
|
+
*
|
|
205
|
+
* @param envelope Parsed signed query and its attached authentication evidence.
|
|
204
206
|
*/
|
|
205
207
|
decideQuery(envelope) {
|
|
206
|
-
this.cues.checkSpace();
|
|
207
208
|
const route = envelope.serder.route;
|
|
208
209
|
const query = envelope.serder.ked?.q;
|
|
209
210
|
const pre = typeof query?.i === "string" ? query.i : null;
|
|
@@ -255,7 +256,7 @@ export class Kevery {
|
|
|
255
256
|
pre,
|
|
256
257
|
src,
|
|
257
258
|
dest,
|
|
258
|
-
messages,
|
|
259
|
+
msgs: messages,
|
|
259
260
|
}]);
|
|
260
261
|
}
|
|
261
262
|
case "ksn": {
|
|
@@ -269,8 +270,12 @@ export class Kevery {
|
|
|
269
270
|
return acceptQuery([{
|
|
270
271
|
kin: "reply",
|
|
271
272
|
querySaid: envelope.serder.said ?? undefined,
|
|
272
|
-
|
|
273
|
-
serder: replyEvent(`/ksn/${src}`, kever.state().asDict()
|
|
273
|
+
// KERIpy answers in the query's own protocol version and serialization kind.
|
|
274
|
+
serder: replyEvent(`/ksn/${src}`, kever.state().asDict(), {
|
|
275
|
+
pre,
|
|
276
|
+
pvrsn: envelope.serder.pvrsn,
|
|
277
|
+
kind: envelope.serder.kind,
|
|
278
|
+
}),
|
|
274
279
|
src,
|
|
275
280
|
dest,
|
|
276
281
|
}]);
|
|
@@ -525,7 +530,7 @@ export class Kevery {
|
|
|
525
530
|
if (!serder) {
|
|
526
531
|
return dropReceipt("staleReceipt");
|
|
527
532
|
}
|
|
528
|
-
const wits = this.
|
|
533
|
+
const wits = this.db.acceptedEventWitnesses(serder);
|
|
529
534
|
return wits
|
|
530
535
|
? { kind: "accept", event: { pre, said, serder, wits } }
|
|
531
536
|
: escrowReceipt("missingReceiptedEvent");
|
|
@@ -563,7 +568,7 @@ export class Kevery {
|
|
|
563
568
|
if (!replaySerder) {
|
|
564
569
|
return dropReceipt("staleReceipt");
|
|
565
570
|
}
|
|
566
|
-
const wits = this.
|
|
571
|
+
const wits = this.db.acceptedEventWitnesses(replaySerder);
|
|
567
572
|
return wits
|
|
568
573
|
? {
|
|
569
574
|
kind: "accept",
|
|
@@ -625,10 +630,7 @@ export class Kevery {
|
|
|
625
630
|
return {
|
|
626
631
|
kind: "reject",
|
|
627
632
|
code: "invalidPre",
|
|
628
|
-
message: `Invalid pre=${pre} for event ${said}
|
|
629
|
-
context: {
|
|
630
|
-
cause: error instanceof Error ? error.message : String(error),
|
|
631
|
-
},
|
|
633
|
+
message: `Invalid pre=${pre} for event ${said}: ${error instanceof Error ? error.message : String(error)}`,
|
|
632
634
|
};
|
|
633
635
|
}
|
|
634
636
|
const local = envelope.local ?? this.local;
|
|
@@ -669,91 +671,81 @@ export class Kevery {
|
|
|
669
671
|
}
|
|
670
672
|
return kever.evaluateUpdate(init);
|
|
671
673
|
}
|
|
672
|
-
/**
|
|
673
|
-
|
|
674
|
-
*
|
|
675
|
-
* Ownership rule:
|
|
676
|
-
* - `Kever` decides acceptance/rejection criteria
|
|
677
|
-
* - `Kevery` owns durable mutation, escrow routing, duplicate logging, and
|
|
678
|
-
* post-acceptance cue emission
|
|
679
|
-
* - explicit decide/apply callers own synchronous writer and commit/publication ordering
|
|
680
|
-
*/
|
|
681
|
-
applyDecision(decision) {
|
|
682
|
-
const prepared = this.prepareDecision(decision);
|
|
683
|
-
try {
|
|
684
|
-
prepared?.write();
|
|
685
|
-
prepared?.publish();
|
|
686
|
-
}
|
|
687
|
-
finally {
|
|
688
|
-
prepared?.release();
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
/** Admit concrete cues and fix FEL metadata under the caller's synchronous writer ownership. */
|
|
692
|
-
prepareDecision(decision) {
|
|
693
|
-
// Ordinary Runtime decks retain their existing refusal/retry boundary until ownership is fully ported.
|
|
694
|
-
if (!(this.cues instanceof CueDeck)) {
|
|
695
|
-
this.cues.checkSpace(("cues" in decision ? decision.cues?.length ?? 0 : 0)
|
|
696
|
-
+ (decision.kind === "accept" ? 4 : decision.kind === "duplicate" ? 1 : 0));
|
|
697
|
-
}
|
|
674
|
+
/** Describe finalized log coordinates, clone notices and accepted state without executable effects. */
|
|
675
|
+
eventMetadata(decision) {
|
|
698
676
|
if (decision.kind === "reject")
|
|
699
|
-
return;
|
|
677
|
+
return { cues: [] };
|
|
700
678
|
if (decision.kind === "accept") {
|
|
701
679
|
const kever = this.kevers.get(decision.transition.pre);
|
|
702
680
|
const target = !kever || decision.transition.mode === "create"
|
|
703
|
-
? Kever.fromTransition(decision.transition, { db: this.db
|
|
681
|
+
? Kever.fromTransition(decision.transition, { db: this.db })
|
|
704
682
|
: kever;
|
|
705
|
-
const
|
|
706
|
-
const transition = this.applyFirstSeenState(decision.transition,
|
|
683
|
+
const firstSeen = this.db.prepareKelEventLog(decision.transition.log);
|
|
684
|
+
const transition = this.applyFirstSeenState(decision.transition, firstSeen.fn, firstSeen.dater.dts);
|
|
707
685
|
const group = !!this.db.getHab(transition.pre)?.mid;
|
|
708
|
-
const cues = [...logged.cues, ...(decision.cues ?? []), ...this.acceptanceCues(transition, group)];
|
|
709
|
-
// Hold exact cue objects/backing and slots before accepted-event writes.
|
|
710
|
-
this.cues.checkSpace(cues.length);
|
|
711
|
-
const prepared = this.cues instanceof CueDeck ? this.cues.prepare(cues) : undefined;
|
|
712
686
|
return {
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
this.
|
|
717
|
-
|
|
718
|
-
},
|
|
719
|
-
|
|
720
|
-
target.applyTransition(transition);
|
|
721
|
-
this.kevers.set(transition.pre, target);
|
|
722
|
-
if (group) {
|
|
723
|
-
this.db.prefixes.add(transition.pre);
|
|
724
|
-
this.db.groups.add(transition.pre);
|
|
725
|
-
}
|
|
726
|
-
if (prepared)
|
|
727
|
-
prepared.publish();
|
|
728
|
-
else
|
|
729
|
-
this.emitDecisionCues(cues);
|
|
730
|
-
},
|
|
731
|
-
release: () => prepared?.release(),
|
|
687
|
+
cues: [
|
|
688
|
+
...this.logNoticeCues(decision.transition.log, firstSeen),
|
|
689
|
+
...(decision.cues ?? []),
|
|
690
|
+
...this.acceptanceCues(transition, group),
|
|
691
|
+
],
|
|
692
|
+
log: { event: transition.log, firstSeen, delegated: target.delegated },
|
|
693
|
+
accepted: { target, transition, group },
|
|
732
694
|
};
|
|
733
695
|
}
|
|
734
696
|
const kever = decision.kind === "duplicate" ? this.kevers.get(decision.log?.serder.pre ?? "") : undefined;
|
|
735
|
-
const
|
|
736
|
-
?
|
|
697
|
+
const log = decision.kind === "duplicate" && decision.log && kever
|
|
698
|
+
? { event: decision.log, firstSeen: this.db.prepareKelEventLog(decision.log), delegated: kever.delegated }
|
|
737
699
|
: undefined;
|
|
738
|
-
const cues = [...(logged?.cues ?? []), ...(decision.cues ?? [])];
|
|
739
|
-
this.cues.checkSpace(cues.length);
|
|
740
|
-
const prepared = cues.length && this.cues instanceof CueDeck ? this.cues.prepare(cues) : undefined;
|
|
741
700
|
return {
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
this.persistEscrowInstruction(decision.instruction);
|
|
745
|
-
else if (decision.log && kever && logged)
|
|
746
|
-
kever.logEvent(decision.log, logged);
|
|
747
|
-
},
|
|
748
|
-
publish: () => {
|
|
749
|
-
if (prepared)
|
|
750
|
-
prepared.publish();
|
|
751
|
-
else
|
|
752
|
-
this.emitDecisionCues(cues);
|
|
753
|
-
},
|
|
754
|
-
release: () => prepared?.release(),
|
|
701
|
+
cues: [...(log ? this.logNoticeCues(log.event, log.firstSeen) : []), ...(decision.cues ?? [])],
|
|
702
|
+
log,
|
|
755
703
|
};
|
|
756
704
|
}
|
|
705
|
+
/** Persist the decision and its concrete log metadata before publication. */
|
|
706
|
+
writeEventDecision(decision, metadata) {
|
|
707
|
+
this.writeSourceSealRepairs(decision);
|
|
708
|
+
if (metadata.log) {
|
|
709
|
+
const { event, firstSeen, delegated } = metadata.log;
|
|
710
|
+
this.db.writeKelEventLog(event, firstSeen, delegated);
|
|
711
|
+
}
|
|
712
|
+
if (metadata.accepted) {
|
|
713
|
+
const { transition } = metadata.accepted;
|
|
714
|
+
this.db.pinState(transition.pre, transition.state);
|
|
715
|
+
this.db.udes.rem(dgKey(transition.pre, transition.said));
|
|
716
|
+
this.repairAnchoredDelegationSourceSeals(transition.log.serder);
|
|
717
|
+
}
|
|
718
|
+
else if (decision.kind === "escrow")
|
|
719
|
+
this.persistEscrowInstruction(decision.instruction);
|
|
720
|
+
}
|
|
721
|
+
/** Publish accepted cache state; cue publication remains explicit at the processing owner. */
|
|
722
|
+
publishEventState(accepted) {
|
|
723
|
+
if (!accepted)
|
|
724
|
+
return;
|
|
725
|
+
const { target, transition, group } = accepted;
|
|
726
|
+
target.applyTransition(transition);
|
|
727
|
+
this.kevers.set(transition.pre, target);
|
|
728
|
+
if (group) {
|
|
729
|
+
this.db.prefixes.add(transition.pre);
|
|
730
|
+
this.db.groups.add(transition.pre);
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
/** Apply concrete delegation-hint discoveries only under the processing owner's write phase. */
|
|
734
|
+
writeSourceSealRepairs(decision) {
|
|
735
|
+
for (const { pre, said, sourceSeal } of decision.sourceSealRepairs ?? []) {
|
|
736
|
+
const key = dgKey(pre, said);
|
|
737
|
+
if (sourceSeal)
|
|
738
|
+
this.db.aess.pin(key, [sourceSeal.s, sourceSeal.d]);
|
|
739
|
+
else
|
|
740
|
+
this.db.aess.rem(key);
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
/** Describe a clone-order anomaly; storage metadata does not publish protocol work. */
|
|
744
|
+
logNoticeCues(log, prepared) {
|
|
745
|
+
if (prepared.fn === null || !log.frc || prepared.fn === Number(log.frc.f.num))
|
|
746
|
+
return [];
|
|
747
|
+
return [{ kin: "noticeBadCloneFN", serder: log.serder, fn: prepared.fn, firner: log.frc.f, dater: log.frc.dt }];
|
|
748
|
+
}
|
|
757
749
|
/** Reprocess one pass of out-of-order escrowed events. */
|
|
758
750
|
processEscrowOutOfOrders() {
|
|
759
751
|
this.processOrdinalEscrow("ooo");
|
|
@@ -777,11 +769,12 @@ export class Kevery {
|
|
|
777
769
|
continue;
|
|
778
770
|
}
|
|
779
771
|
const decision = this.reprocessEscrowedWitnessReceipt(pre, sn, said, new Siger({ qb64: wigerQb64 }));
|
|
780
|
-
logEscrowDecision("Kevery UWE", decision);
|
|
781
772
|
switch (decision.kind) {
|
|
782
773
|
case "accept":
|
|
783
774
|
case "drop":
|
|
784
|
-
this.db.uwes.remOn([pre], sn, couple)
|
|
775
|
+
if (this.db.uwes.remOn([pre], sn, couple)) {
|
|
776
|
+
logEscrowDecision(`Kevery UWE pre=${pre} sn=${sn} said=${said}`, decision);
|
|
777
|
+
}
|
|
785
778
|
break;
|
|
786
779
|
case "keep":
|
|
787
780
|
break;
|
|
@@ -811,11 +804,12 @@ export class Kevery {
|
|
|
811
804
|
const [diger, prefixer, cigar] = triple;
|
|
812
805
|
const hydrated = new Cigar(cigar, new Verfer({ qb64: prefixer.qb64 }));
|
|
813
806
|
const decision = this.reprocessEscrowedNonTransReceipt(pre, sn, diger, hydrated);
|
|
814
|
-
logEscrowDecision("Kevery URE", decision);
|
|
815
807
|
switch (decision.kind) {
|
|
816
808
|
case "accept":
|
|
817
809
|
case "drop":
|
|
818
|
-
this.db.ures.rem([pre, snh], triple)
|
|
810
|
+
if (this.db.ures.rem([pre, snh], triple)) {
|
|
811
|
+
logEscrowDecision(`Kevery URE pre=${pre} sn=${sn} said=${diger.qb64}`, decision);
|
|
812
|
+
}
|
|
819
813
|
break;
|
|
820
814
|
case "keep":
|
|
821
815
|
break;
|
|
@@ -845,11 +839,12 @@ export class Kevery {
|
|
|
845
839
|
}
|
|
846
840
|
const sn = parseInt(snh, 16);
|
|
847
841
|
const decision = this.reprocessEscrowedTransferableReceipt(pre, sn, quintuple);
|
|
848
|
-
logEscrowDecision("Kevery VRE", decision);
|
|
849
842
|
switch (decision.kind) {
|
|
850
843
|
case "accept":
|
|
851
844
|
case "drop":
|
|
852
|
-
this.db.vres.rem([pre, snh], quintuple)
|
|
845
|
+
if (this.db.vres.rem([pre, snh], quintuple)) {
|
|
846
|
+
logEscrowDecision(`Kevery VRE pre=${pre} sn=${sn} said=${quintuple[0].qb64}`, decision);
|
|
847
|
+
}
|
|
853
848
|
break;
|
|
854
849
|
case "keep":
|
|
855
850
|
break;
|
|
@@ -894,13 +889,15 @@ export class Kevery {
|
|
|
894
889
|
continue;
|
|
895
890
|
}
|
|
896
891
|
const decision = this.reprocessEscrowedQuery(requester, qsaid);
|
|
897
|
-
logEscrowDecision("Kevery QNF", decision);
|
|
898
892
|
switch (decision.kind) {
|
|
899
893
|
case "accept":
|
|
900
|
-
case "drop":
|
|
901
|
-
this.db.qnfs.rem([requester, qsaid], escrowedSaid);
|
|
894
|
+
case "drop": {
|
|
895
|
+
const removed = this.db.qnfs.rem([requester, qsaid], escrowedSaid);
|
|
902
896
|
this.clearEscrowedQueryMaterial(requester, qsaid);
|
|
897
|
+
if (removed)
|
|
898
|
+
logEscrowDecision(`Kevery QNF requester=${requester} said=${qsaid}`, decision);
|
|
903
899
|
break;
|
|
900
|
+
}
|
|
904
901
|
case "keep":
|
|
905
902
|
break;
|
|
906
903
|
}
|
|
@@ -934,8 +931,9 @@ export class Kevery {
|
|
|
934
931
|
* Why `Kevery` owns this route:
|
|
935
932
|
* - trust-source policy depends on KEL state and configured watchers
|
|
936
933
|
* - accepted replies must stay consistent with the accepted event log at `sn`
|
|
937
|
-
* - successful
|
|
938
|
-
*
|
|
934
|
+
* - successful validation/persistence emits `keyStateSaved`, supplying the
|
|
935
|
+
* remote notice target for query workflows; ordinary KEL acceptance does not
|
|
936
|
+
* imply receipt of such a notice
|
|
939
937
|
*/
|
|
940
938
|
processReplyKeyStateNotice(args) {
|
|
941
939
|
if (!this.rvy) {
|
|
@@ -973,7 +971,7 @@ export class Kevery {
|
|
|
973
971
|
if (osaider?.qb64 === args.diger.qb64) {
|
|
974
972
|
osaider = null;
|
|
975
973
|
}
|
|
976
|
-
const reply = this.rvy.
|
|
974
|
+
const reply = this.rvy.decideReply({
|
|
977
975
|
serder: args.serder,
|
|
978
976
|
saider: args.diger,
|
|
979
977
|
route: args.route,
|
|
@@ -982,38 +980,25 @@ export class Kevery {
|
|
|
982
980
|
cigars: args.cigars,
|
|
983
981
|
tsgs: args.tsgs,
|
|
984
982
|
});
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
reply.
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
if (child)
|
|
1005
|
-
child.publish();
|
|
1006
|
-
else
|
|
1007
|
-
this.cues.extend(cues);
|
|
1008
|
-
return acceptReplyDecision();
|
|
1009
|
-
}
|
|
1010
|
-
finally {
|
|
1011
|
-
child?.release();
|
|
1012
|
-
}
|
|
1013
|
-
}
|
|
1014
|
-
finally {
|
|
1015
|
-
reply.release();
|
|
1016
|
-
}
|
|
983
|
+
if (reply.kind === "unverified") {
|
|
984
|
+
this.rvy.writeReply(reply);
|
|
985
|
+
if (reply.cues.length)
|
|
986
|
+
this.rvy.cues.extend(reply.cues);
|
|
987
|
+
return unverifiedReplyDecision(`Unverified key state notice reply ${args.serder.said ?? "<unknown>"}.`);
|
|
988
|
+
}
|
|
989
|
+
const ldig = this.db.kels.getLast(pre, sn);
|
|
990
|
+
if (ldig && ldig !== said) {
|
|
991
|
+
throw new ValidationError(`Mismatch key state at sn=${sn} with accepted event log for ${pre}.`);
|
|
992
|
+
}
|
|
993
|
+
const saider = new Diger({ qb64: said });
|
|
994
|
+
const dater = new Dater({ qb64: encodeDateTimeToDater(dt) });
|
|
995
|
+
const cues = [{ kin: "keyStateSaved", ksn }];
|
|
996
|
+
this.rvy.writeReply(reply);
|
|
997
|
+
this.updateKeyState(args.aid, ksn, saider, dater);
|
|
998
|
+
if (reply.cues.length)
|
|
999
|
+
this.rvy.cues.extend(reply.cues);
|
|
1000
|
+
this.cues.extend(cues);
|
|
1001
|
+
return acceptReplyDecision();
|
|
1017
1002
|
}
|
|
1018
1003
|
/**
|
|
1019
1004
|
* Process one `/watcher/{aid}/add` or `/watcher/{aid}/cut` reply.
|
|
@@ -1093,32 +1078,18 @@ export class Kevery {
|
|
|
1093
1078
|
cues.push({ kin: "notice", serder });
|
|
1094
1079
|
if (local && (state.b ?? []).some((wit) => this.db.getHab(wit) !== null))
|
|
1095
1080
|
cues.push({ kin: "witness", serder });
|
|
1096
|
-
cues.push({ kin: "keyStateSaved", ksn: state });
|
|
1097
1081
|
return cues;
|
|
1098
1082
|
}
|
|
1099
|
-
/**
|
|
1100
|
-
emitDecisionCues(cues) {
|
|
1101
|
-
this.cues.extend(cues ?? []);
|
|
1102
|
-
}
|
|
1103
|
-
/** Admit concrete query output before repairing replay source seals or publishing its cues. */
|
|
1083
|
+
/** Repair replay source seals before publishing query output. */
|
|
1104
1084
|
publishQueryCues(serder, cues = []) {
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
if (
|
|
1109
|
-
|
|
1110
|
-
const kever = typeof query?.i === "string" ? this.db.getKever(query.i) : undefined;
|
|
1111
|
-
if (kever)
|
|
1112
|
-
this.repairReplaySourceSeal(kever);
|
|
1113
|
-
}
|
|
1114
|
-
if (batch)
|
|
1115
|
-
batch.publish();
|
|
1116
|
-
else
|
|
1117
|
-
this.emitDecisionCues(cues);
|
|
1118
|
-
}
|
|
1119
|
-
finally {
|
|
1120
|
-
batch?.release();
|
|
1085
|
+
if (serder.route === "logs") {
|
|
1086
|
+
const query = serder.ked?.q;
|
|
1087
|
+
const kever = typeof query?.i === "string" ? this.db.getKever(query.i) : undefined;
|
|
1088
|
+
if (kever)
|
|
1089
|
+
this.repairReplaySourceSeal(kever);
|
|
1121
1090
|
}
|
|
1091
|
+
if (cues.length)
|
|
1092
|
+
this.cues.extend(cues);
|
|
1122
1093
|
}
|
|
1123
1094
|
/**
|
|
1124
1095
|
* Persist one missing-state query so later runtime turns can retry it.
|
|
@@ -1201,16 +1172,10 @@ export class Kevery {
|
|
|
1201
1172
|
}
|
|
1202
1173
|
const serder = this.db.evts.get(dgkey);
|
|
1203
1174
|
if (!serder) {
|
|
1204
|
-
return dropEscrow("missingEscrowedEvent", {
|
|
1205
|
-
message: `QNF Missing escrowed evt at dig = ${qsaid}`,
|
|
1206
|
-
context: { requester, qsaid },
|
|
1207
|
-
});
|
|
1175
|
+
return dropEscrow("missingEscrowedEvent", `QNF Missing escrowed evt at dig = ${qsaid}`);
|
|
1208
1176
|
}
|
|
1209
1177
|
if (serder.ilk !== Ilks.qry) {
|
|
1210
|
-
return dropEscrow("malformedEscrowedQuery", {
|
|
1211
|
-
message: `QNF Escrowed event at dig = ${qsaid} is not a query.`,
|
|
1212
|
-
context: { requester, qsaid, ilk: serder.ilk },
|
|
1213
|
-
});
|
|
1178
|
+
return dropEscrow("malformedEscrowedQuery", `QNF Escrowed event at dig = ${qsaid} is not a query.`);
|
|
1214
1179
|
}
|
|
1215
1180
|
const sigers = this.db.sigs.get(dgkey);
|
|
1216
1181
|
// The durable `rcts.` contract is KERIpy-style `(Prefixer, Cigar)`, but
|
|
@@ -1219,10 +1184,7 @@ export class Kevery {
|
|
|
1219
1184
|
// into verifier context here.
|
|
1220
1185
|
const cigars = this.db.rcts.get(dgkey).map(([prefixer, cigar]) => new Cigar(cigar, new Verfer({ qb64: prefixer.qb64 })));
|
|
1221
1186
|
if (sigers.length === 0 && cigars.length === 0) {
|
|
1222
|
-
return dropEscrow("missingEscrowedEndorsements", {
|
|
1223
|
-
message: `QNF Missing escrowed evt sigs at dig = ${qsaid}`,
|
|
1224
|
-
context: { requester, qsaid },
|
|
1225
|
-
});
|
|
1187
|
+
return dropEscrow("missingEscrowedEndorsements", `QNF Missing escrowed evt sigs at dig = ${qsaid}`);
|
|
1226
1188
|
}
|
|
1227
1189
|
let source;
|
|
1228
1190
|
if (sigers.length > 0) {
|
|
@@ -1230,14 +1192,7 @@ export class Kevery {
|
|
|
1230
1192
|
source = new Prefixer({ qb64: requester });
|
|
1231
1193
|
}
|
|
1232
1194
|
catch (error) {
|
|
1233
|
-
return dropEscrow("malformedEscrowedQuery", {
|
|
1234
|
-
message: `QNF Failed to reconstruct escrowed query requester at dig = ${qsaid}`,
|
|
1235
|
-
context: {
|
|
1236
|
-
requester,
|
|
1237
|
-
qsaid,
|
|
1238
|
-
cause: error instanceof Error ? error.message : String(error),
|
|
1239
|
-
},
|
|
1240
|
-
});
|
|
1195
|
+
return dropEscrow("malformedEscrowedQuery", `QNF Failed to reconstruct requester=${requester} at dig=${qsaid}: ${error instanceof Error ? error.message : String(error)}`, error);
|
|
1241
1196
|
}
|
|
1242
1197
|
}
|
|
1243
1198
|
const decision = this.decideQuery({
|
|
@@ -1251,15 +1206,9 @@ export class Kevery {
|
|
|
1251
1206
|
this.publishQueryCues(serder, decision.cues);
|
|
1252
1207
|
return acceptEscrow();
|
|
1253
1208
|
case "escrow":
|
|
1254
|
-
return keepEscrow("queryNotFound", {
|
|
1255
|
-
message: `QNF Query still waiting on continuation state at dig = ${qsaid}`,
|
|
1256
|
-
context: { requester, qsaid, queryReason: decision.reason },
|
|
1257
|
-
});
|
|
1209
|
+
return keepEscrow("queryNotFound", `QNF Query still waiting on continuation state at dig=${qsaid}: ${decision.reason}`);
|
|
1258
1210
|
case "drop":
|
|
1259
|
-
return dropEscrow("malformedEscrowedQuery", {
|
|
1260
|
-
message: `QNF Dropping escrowed query at dig = ${qsaid} after live query validation failed.`,
|
|
1261
|
-
context: { requester, qsaid, liveReason: decision.reason },
|
|
1262
|
-
});
|
|
1211
|
+
return dropEscrow("malformedEscrowedQuery", `QNF Dropping escrowed query at dig=${qsaid}: ${decision.reason}.`);
|
|
1263
1212
|
}
|
|
1264
1213
|
}
|
|
1265
1214
|
/**
|
|
@@ -1474,7 +1423,7 @@ export class Kevery {
|
|
|
1474
1423
|
}
|
|
1475
1424
|
const witnessIndex = event.wits.indexOf(verfer.qb64);
|
|
1476
1425
|
if (witnessIndex >= 0) {
|
|
1477
|
-
// A detached non-transferable receipt from
|
|
1426
|
+
// A detached non-transferable receipt from an event-authorized witness is
|
|
1478
1427
|
// promoted to an indexed witness signature before storage.
|
|
1479
1428
|
this.db.wigs.add(dgkey, wigerFromCigar(cigar, witnessIndex, verfer));
|
|
1480
1429
|
continue;
|
|
@@ -1495,7 +1444,7 @@ export class Kevery {
|
|
|
1495
1444
|
continue;
|
|
1496
1445
|
}
|
|
1497
1446
|
// Witness receipt verification assigns the verifier from the receipted
|
|
1498
|
-
// event's
|
|
1447
|
+
// event's historical witness list, not from detached receipt material.
|
|
1499
1448
|
const verfer = new Verfer({ qb64: verferQb64 });
|
|
1500
1449
|
if (verfer.transferable || !verfer.verify(wiger.raw, event.serder.raw)) {
|
|
1501
1450
|
continue;
|
|
@@ -1617,66 +1566,24 @@ export class Kevery {
|
|
|
1617
1566
|
const acceptedSaid = this.db.kels.getLast(pre, sn);
|
|
1618
1567
|
const snh = sn.toString(16);
|
|
1619
1568
|
if (!acceptedSaid) {
|
|
1620
|
-
return keepEscrow("missingReceiptedEvent", {
|
|
1621
|
-
message: `${scope} Missing receipted evt at pre=${pre} sn=${snh}`,
|
|
1622
|
-
context: { pre, sn, said, scope },
|
|
1623
|
-
});
|
|
1569
|
+
return keepEscrow("missingReceiptedEvent", `${scope} Missing receipted evt at pre=${pre} sn=${snh}`);
|
|
1624
1570
|
}
|
|
1625
1571
|
if (acceptedSaid !== said) {
|
|
1626
|
-
return dropEscrow("invalidReceiptDigest", {
|
|
1627
|
-
message: `${scope} Bad escrowed receipt dig at pre=${pre} sn=${snh}`,
|
|
1628
|
-
context: { pre, sn, said, acceptedSaid, scope },
|
|
1629
|
-
});
|
|
1572
|
+
return dropEscrow("invalidReceiptDigest", `${scope} Bad escrowed receipt dig at pre=${pre} sn=${snh}`);
|
|
1630
1573
|
}
|
|
1631
1574
|
const serder = this.db.getEvtSerder(pre, said);
|
|
1632
1575
|
if (!serder) {
|
|
1633
|
-
return dropEscrow("invalidReceiptedEventReference", {
|
|
1634
|
-
message: `${scope} Invalid receipted evt reference at pre=${pre} sn=${snh}`,
|
|
1635
|
-
context: { pre, sn, said, acceptedSaid, scope },
|
|
1636
|
-
});
|
|
1576
|
+
return dropEscrow("invalidReceiptedEventReference", `${scope} Invalid receipted evt reference at pre=${pre} sn=${snh}`);
|
|
1637
1577
|
}
|
|
1638
|
-
const wits = this.
|
|
1578
|
+
const wits = this.db.acceptedEventWitnesses(serder);
|
|
1639
1579
|
if (!wits) {
|
|
1640
|
-
return keepEscrow("missingReceiptedEvent", {
|
|
1641
|
-
message: `${scope} Kever not ready for receipted evt at pre=${pre} sn=${snh}`,
|
|
1642
|
-
context: { pre, sn, said, scope },
|
|
1643
|
-
});
|
|
1580
|
+
return keepEscrow("missingReceiptedEvent", `${scope} Kever not ready for receipted evt at pre=${pre} sn=${snh}`);
|
|
1644
1581
|
}
|
|
1645
1582
|
return {
|
|
1646
1583
|
kind: "accept",
|
|
1647
1584
|
event: { pre, said, serder, wits },
|
|
1648
1585
|
};
|
|
1649
1586
|
}
|
|
1650
|
-
/**
|
|
1651
|
-
* Resolve the witness list used for accepted-event receipt processing.
|
|
1652
|
-
*
|
|
1653
|
-
* Order of preference:
|
|
1654
|
-
* - witness state already logged with the accepted event in `wits.`
|
|
1655
|
-
* - backers carried directly on inception/delegated inception events
|
|
1656
|
-
* - current live key state for later event types
|
|
1657
|
-
*
|
|
1658
|
-
* KERIpy note:
|
|
1659
|
-
* - accepted-event receipt handling is a different seam from
|
|
1660
|
-
* `_processEscrowFindUnver()`
|
|
1661
|
-
* - partial-witness replay deliberately recomputes the witness list from the
|
|
1662
|
-
* escrowed event and current state instead of trusting this projection
|
|
1663
|
-
*
|
|
1664
|
-
* Translation note:
|
|
1665
|
-
* - this helper is intentionally about accepted-event receipt handling only
|
|
1666
|
-
* - if a maintainer is looking for the partial-witness replay logic, the
|
|
1667
|
-
* right seam is `resolvePartialWitnessEscrowWitnesses()`
|
|
1668
|
-
*/
|
|
1669
|
-
resolveAcceptedEventWitnesses(pre, said, serder) {
|
|
1670
|
-
const stored = this.db.wits.get(dgKey(pre, said)).map((wit) => wit.qb64);
|
|
1671
|
-
if (stored.length > 0) {
|
|
1672
|
-
return stored;
|
|
1673
|
-
}
|
|
1674
|
-
if (serder.ilk === Ilks.icp || serder.ilk === Ilks.dip) {
|
|
1675
|
-
return [...serder.backs];
|
|
1676
|
-
}
|
|
1677
|
-
const kever = this.db.getKever(pre);
|
|
1678
|
-
return kever ? [...kever.wits] : null;
|
|
1679
|
-
}
|
|
1680
1587
|
/**
|
|
1681
1588
|
* Rebuild one partial-witness escrow event's witness list for receipt replay.
|
|
1682
1589
|
*
|
|
@@ -1698,10 +1605,7 @@ export class Kevery {
|
|
|
1698
1605
|
const wits = [...serder.backs];
|
|
1699
1606
|
return hasUniqueWitnesses(wits)
|
|
1700
1607
|
? { kind: "accept", wits }
|
|
1701
|
-
: dropEscrow("duplicateWitnesses", {
|
|
1702
|
-
message: `PWE Invalid wits = ${JSON.stringify(wits)} has duplicates for evt = ${JSON.stringify(serder.ked)}.`,
|
|
1703
|
-
context: { pre: serder.pre, said: serder.said, wits },
|
|
1704
|
-
});
|
|
1608
|
+
: dropEscrow("duplicateWitnesses", `PWE Invalid wits = ${JSON.stringify(wits)} has duplicates for evt = ${JSON.stringify(serder.ked)}.`);
|
|
1705
1609
|
}
|
|
1706
1610
|
const kever = this.db.getKever(serder.pre ?? "");
|
|
1707
1611
|
if (serder.ilk === Ilks.rot || serder.ilk === Ilks.drt) {
|
|
@@ -1714,25 +1618,12 @@ export class Kevery {
|
|
|
1714
1618
|
if (derived.kind === "accept") {
|
|
1715
1619
|
return { kind: "accept", wits: derived.value.wits };
|
|
1716
1620
|
}
|
|
1717
|
-
return dropEscrow(derived.reason, {
|
|
1718
|
-
message: `PWE Invalid witness cuts/adds for evt = ${JSON.stringify(serder.ked)}.`,
|
|
1719
|
-
context: {
|
|
1720
|
-
pre: serder.pre,
|
|
1721
|
-
said: serder.said,
|
|
1722
|
-
reason: derived.reason,
|
|
1723
|
-
cuts: [...serder.cuts],
|
|
1724
|
-
adds: [...serder.adds],
|
|
1725
|
-
currentWits: [...kever.wits],
|
|
1726
|
-
},
|
|
1727
|
-
});
|
|
1621
|
+
return dropEscrow(derived.reason, `PWE Invalid witness cuts/adds for evt = ${JSON.stringify(serder.ked)}.`);
|
|
1728
1622
|
}
|
|
1729
1623
|
// For non-establishment events, partial-witness replay expects current key
|
|
1730
1624
|
// state to be available already; otherwise the escrowed state is corrupt.
|
|
1731
1625
|
if (!kever) {
|
|
1732
|
-
return dropEscrow("processingError", {
|
|
1733
|
-
message: `PWE Missing current key state for receipted evt at pre=${serder.pre ?? ""}.`,
|
|
1734
|
-
context: { pre: serder.pre, said: serder.said, ilk: serder.ilk },
|
|
1735
|
-
});
|
|
1626
|
+
return dropEscrow("processingError", `PWE Missing current key state for receipted evt at pre=${serder.pre ?? ""}.`);
|
|
1736
1627
|
}
|
|
1737
1628
|
return { kind: "accept", wits: [...kever.wits] };
|
|
1738
1629
|
}
|
|
@@ -1761,10 +1652,7 @@ export class Kevery {
|
|
|
1761
1652
|
}
|
|
1762
1653
|
const serder = this.db.getEvtSerder(pre, candidateSaid);
|
|
1763
1654
|
if (!serder) {
|
|
1764
|
-
return dropEscrow("missingEscrowedEvent", {
|
|
1765
|
-
message: `PWE Missing escrowed evt at dig = ${candidateSaid}`,
|
|
1766
|
-
context: { pre, sn, said: candidateSaid },
|
|
1767
|
-
});
|
|
1655
|
+
return dropEscrow("missingEscrowedEvent", `PWE Missing escrowed evt at dig = ${candidateSaid}`);
|
|
1768
1656
|
}
|
|
1769
1657
|
const witnessState = this.resolvePartialWitnessEscrowWitnesses(serder);
|
|
1770
1658
|
if (witnessState.kind === "continue") {
|
|
@@ -1777,55 +1665,28 @@ export class Kevery {
|
|
|
1777
1665
|
const verfer = cigar.verfer;
|
|
1778
1666
|
const receiptorPre = verfer?.qb64;
|
|
1779
1667
|
if (!verfer || !receiptorPre) {
|
|
1780
|
-
return dropEscrow("missingEscrowArtifact", {
|
|
1781
|
-
message: `PWE Missing verifier context for escrowed receipt at pre=${pre} sn=${sn.toString(16)}.`,
|
|
1782
|
-
context: { pre, sn, said },
|
|
1783
|
-
});
|
|
1668
|
+
return dropEscrow("missingEscrowArtifact", `PWE Missing verifier context for escrowed receipt at pre=${pre} sn=${sn.toString(16)}.`);
|
|
1784
1669
|
}
|
|
1785
1670
|
const witnessIndex = witnessState.wits.indexOf(receiptorPre);
|
|
1786
1671
|
if (witnessIndex < 0) {
|
|
1787
1672
|
continue;
|
|
1788
1673
|
}
|
|
1789
1674
|
if (!verfer.verify(cigar.raw, serder.raw)) {
|
|
1790
|
-
return dropEscrow("invalidReceiptSignature", {
|
|
1791
|
-
message: `PWE Bad escrowed witness receipt wig at pre=${pre} sn=${sn.toString(16)}.`,
|
|
1792
|
-
context: { pre, sn, said, receiptor: receiptorPre },
|
|
1793
|
-
});
|
|
1675
|
+
return dropEscrow("invalidReceiptSignature", `PWE Bad escrowed witness receipt wig at pre=${pre} sn=${sn.toString(16)}.`);
|
|
1794
1676
|
}
|
|
1795
1677
|
this.db.wigs.add(dgKey(pre, serder.said ?? said), wigerFromCigar(cigar, witnessIndex, verfer));
|
|
1796
1678
|
return acceptEscrow();
|
|
1797
1679
|
}
|
|
1798
1680
|
if (!wiger) {
|
|
1799
|
-
return dropEscrow("missingEscrowArtifact", {
|
|
1800
|
-
message: `PWE Missing escrowed witness signature material at pre=${pre} sn=${sn.toString(16)}.`,
|
|
1801
|
-
context: { pre, sn, said },
|
|
1802
|
-
});
|
|
1681
|
+
return dropEscrow("missingEscrowArtifact", `PWE Missing escrowed witness signature material at pre=${pre} sn=${sn.toString(16)}.`);
|
|
1803
1682
|
}
|
|
1804
1683
|
const verferQb64 = witnessState.wits[wiger.index];
|
|
1805
1684
|
if (!verferQb64) {
|
|
1806
|
-
return dropEscrow("invalidWitnessIndex", {
|
|
1807
|
-
message: `PWE Bad escrowed witness receipt index=${wiger.index} at pre=${pre} sn=${sn.toString(16)}`,
|
|
1808
|
-
context: {
|
|
1809
|
-
pre,
|
|
1810
|
-
sn,
|
|
1811
|
-
said,
|
|
1812
|
-
witnessIndex: wiger.index,
|
|
1813
|
-
wits: witnessState.wits,
|
|
1814
|
-
},
|
|
1815
|
-
});
|
|
1685
|
+
return dropEscrow("invalidWitnessIndex", `PWE Bad escrowed witness receipt index=${wiger.index} at pre=${pre} sn=${sn.toString(16)}`);
|
|
1816
1686
|
}
|
|
1817
1687
|
const verfer = new Verfer({ qb64: verferQb64 });
|
|
1818
1688
|
if (!verfer.verify(wiger.raw, serder.raw)) {
|
|
1819
|
-
return dropEscrow("invalidReceiptSignature", {
|
|
1820
|
-
message: `PWE Bad escrowed witness receipt wig at pre=${pre} sn=${sn.toString(16)}.`,
|
|
1821
|
-
context: {
|
|
1822
|
-
pre,
|
|
1823
|
-
sn,
|
|
1824
|
-
said,
|
|
1825
|
-
witnessIndex: wiger.index,
|
|
1826
|
-
witness: verferQb64,
|
|
1827
|
-
},
|
|
1828
|
-
});
|
|
1689
|
+
return dropEscrow("invalidReceiptSignature", `PWE Bad escrowed witness receipt wig at pre=${pre} sn=${sn.toString(16)}.`);
|
|
1829
1690
|
}
|
|
1830
1691
|
this.db.wigs.add(dgKey(pre, serder.said ?? said), new Siger({
|
|
1831
1692
|
code: wiger.code,
|
|
@@ -1856,10 +1717,7 @@ export class Kevery {
|
|
|
1856
1717
|
}
|
|
1857
1718
|
const decision = this.processEscrowFindUnver(pre, sn, said, { wiger });
|
|
1858
1719
|
return decision.kind === "continue"
|
|
1859
|
-
? keepEscrow("missingReceiptedEvent", {
|
|
1860
|
-
message: `UWE Missing witness receipted evt at pre=${pre} sn=${sn.toString(16)}`,
|
|
1861
|
-
context: { pre, sn, said },
|
|
1862
|
-
})
|
|
1720
|
+
? keepEscrow("missingReceiptedEvent", `UWE Missing witness receipted evt at pre=${pre} sn=${sn.toString(16)}`)
|
|
1863
1721
|
: decision;
|
|
1864
1722
|
}
|
|
1865
1723
|
/**
|
|
@@ -1882,10 +1740,7 @@ export class Kevery {
|
|
|
1882
1740
|
}
|
|
1883
1741
|
const verfer = cigar.verfer;
|
|
1884
1742
|
if (!verfer) {
|
|
1885
|
-
return dropEscrow("missingEscrowArtifact", {
|
|
1886
|
-
message: `URE Missing escrowed receipt verifier at pre=${pre} sn=${sn.toString(16)}.`,
|
|
1887
|
-
context: { pre, sn, said },
|
|
1888
|
-
});
|
|
1743
|
+
return dropEscrow("missingEscrowArtifact", `URE Missing escrowed receipt verifier at pre=${pre} sn=${sn.toString(16)}.`);
|
|
1889
1744
|
}
|
|
1890
1745
|
const partialDecision = this.processEscrowFindUnver(pre, sn, said, {
|
|
1891
1746
|
cigar,
|
|
@@ -1899,10 +1754,7 @@ export class Kevery {
|
|
|
1899
1754
|
}
|
|
1900
1755
|
const { event } = lookup;
|
|
1901
1756
|
if (!verfer.verify(cigar.raw, event.serder.raw)) {
|
|
1902
|
-
return dropEscrow("invalidReceiptSignature", {
|
|
1903
|
-
message: `URE Bad escrowed receipt sig at pre=${pre} sn=${sn.toString(16)} receipter=${verfer.qb64}`,
|
|
1904
|
-
context: { pre, sn, said, receiptor: verfer.qb64 },
|
|
1905
|
-
});
|
|
1757
|
+
return dropEscrow("invalidReceiptSignature", `URE Bad escrowed receipt sig at pre=${pre} sn=${sn.toString(16)} receipter=${verfer.qb64}`);
|
|
1906
1758
|
}
|
|
1907
1759
|
const dgkey = dgKey(event.pre, event.said);
|
|
1908
1760
|
const witnessIndex = event.wits.indexOf(verfer.qb64);
|
|
@@ -1943,69 +1795,24 @@ export class Kevery {
|
|
|
1943
1795
|
const { event } = lookup;
|
|
1944
1796
|
const estSaid = this.db.kels.getLast(prefixer.qb64, Number(snumber.num));
|
|
1945
1797
|
if (!estSaid) {
|
|
1946
|
-
return keepEscrow("missingReceiptorEstablishment", {
|
|
1947
|
-
message: `VRE Missing receiptor establishment evt at pre=${prefixer.qb64} sn=${snumber.num.toString(16)}`,
|
|
1948
|
-
context: {
|
|
1949
|
-
pre,
|
|
1950
|
-
sn,
|
|
1951
|
-
said,
|
|
1952
|
-
receiptor: prefixer.qb64,
|
|
1953
|
-
receiptorSn: snumber.num.toString(16),
|
|
1954
|
-
},
|
|
1955
|
-
});
|
|
1798
|
+
return keepEscrow("missingReceiptorEstablishment", `VRE Missing receiptor establishment evt at pre=${prefixer.qb64} sn=${snumber.num.toString(16)}`);
|
|
1956
1799
|
}
|
|
1957
1800
|
if (estSaid !== ssaider.qb64) {
|
|
1958
|
-
return dropEscrow("invalidReceiptorSeal", {
|
|
1959
|
-
message: `VRE Bad chit seal at sn = ${snumber.num.toString(16)} for receipt from pre = ${prefixer.qb64}`,
|
|
1960
|
-
context: {
|
|
1961
|
-
pre,
|
|
1962
|
-
sn,
|
|
1963
|
-
said,
|
|
1964
|
-
receiptor: prefixer.qb64,
|
|
1965
|
-
estSaid,
|
|
1966
|
-
sealSaid: ssaider.qb64,
|
|
1967
|
-
},
|
|
1968
|
-
});
|
|
1801
|
+
return dropEscrow("invalidReceiptorSeal", `VRE Bad chit seal at sn = ${snumber.num.toString(16)} for receipt from pre = ${prefixer.qb64}`);
|
|
1969
1802
|
}
|
|
1970
1803
|
const estEvent = this.db.getEvtSerder(prefixer.qb64, estSaid);
|
|
1971
1804
|
if (!estEvent) {
|
|
1972
|
-
return dropEscrow("invalidReceiptorEstablishment", {
|
|
1973
|
-
message: `VRE Invalid seal est. event dig = ${ssaider.qb64} for receipt from pre = ${prefixer.qb64}`,
|
|
1974
|
-
context: { pre, sn, said, receiptor: prefixer.qb64, estSaid },
|
|
1975
|
-
});
|
|
1805
|
+
return dropEscrow("invalidReceiptorEstablishment", `VRE Invalid seal est. event dig = ${ssaider.qb64} for receipt from pre = ${prefixer.qb64}`);
|
|
1976
1806
|
}
|
|
1977
1807
|
if (estEvent.verfers.length === 0) {
|
|
1978
|
-
return dropEscrow("missingReceiptorKeys", {
|
|
1979
|
-
message: `VRE Invalid seal est. event dig = ${ssaider.qb64} for receipt from pre = ${prefixer.qb64} no keys`,
|
|
1980
|
-
context: { pre, sn, said, receiptor: prefixer.qb64, estSaid },
|
|
1981
|
-
});
|
|
1808
|
+
return dropEscrow("missingReceiptorKeys", `VRE Invalid seal est. event dig = ${ssaider.qb64} for receipt from pre = ${prefixer.qb64} no keys`);
|
|
1982
1809
|
}
|
|
1983
1810
|
if (siger.index >= estEvent.verfers.length) {
|
|
1984
|
-
return dropEscrow("receiptorIndexOutOfRange", {
|
|
1985
|
-
message: `VRE Index = ${siger.index} too large for keys`,
|
|
1986
|
-
context: {
|
|
1987
|
-
pre,
|
|
1988
|
-
sn,
|
|
1989
|
-
said,
|
|
1990
|
-
receiptor: prefixer.qb64,
|
|
1991
|
-
estSaid,
|
|
1992
|
-
sigerIndex: siger.index,
|
|
1993
|
-
keyCount: estEvent.verfers.length,
|
|
1994
|
-
},
|
|
1995
|
-
});
|
|
1811
|
+
return dropEscrow("receiptorIndexOutOfRange", `VRE Index=${siger.index} exceeds key count=${estEvent.verfers.length} for receiptor=${prefixer.qb64} at dig=${said}.`);
|
|
1996
1812
|
}
|
|
1997
1813
|
const verfer = estEvent.verfers[siger.index];
|
|
1998
1814
|
if (!verfer.verify(siger.raw, event.serder.raw)) {
|
|
1999
|
-
return dropEscrow("invalidReceiptSignature", {
|
|
2000
|
-
message: `VRE Bad escrowed trans receipt sig at pre=${pre} sn=${sn.toString(16)} receipter=${prefixer.qb64}`,
|
|
2001
|
-
context: {
|
|
2002
|
-
pre,
|
|
2003
|
-
sn,
|
|
2004
|
-
said,
|
|
2005
|
-
receiptor: prefixer.qb64,
|
|
2006
|
-
sigerIndex: siger.index,
|
|
2007
|
-
},
|
|
2008
|
-
});
|
|
1815
|
+
return dropEscrow("invalidReceiptSignature", `VRE Bad escrowed trans receipt sig at pre=${pre} sn=${sn.toString(16)} receipter=${prefixer.qb64}`);
|
|
2009
1816
|
}
|
|
2010
1817
|
const dgkey = dgKey(event.pre, event.said);
|
|
2011
1818
|
this.db.vrcs.add(dgkey, [
|
|
@@ -2025,23 +1832,16 @@ export class Kevery {
|
|
|
2025
1832
|
escrowReplayExpiry(scope, pre, said, timeoutMs) {
|
|
2026
1833
|
const dater = this.db.dtss.get(dgKey(pre, said));
|
|
2027
1834
|
if (!dater) {
|
|
2028
|
-
return dropEscrow("missingDater", {
|
|
2029
|
-
message: `${scope} Missing escrowed event datetime at dig = ${said}`,
|
|
2030
|
-
context: { pre, said, scope },
|
|
2031
|
-
});
|
|
1835
|
+
return dropEscrow("missingDater", `${scope} Missing escrowed event datetime at dig = ${said}`);
|
|
2032
1836
|
}
|
|
2033
1837
|
return Date.now() - new Date(dater.dts).getTime() > timeoutMs
|
|
2034
|
-
? dropEscrow("stale", {
|
|
2035
|
-
message: `${scope} Stale event escrow at dig = ${said}`,
|
|
2036
|
-
context: { pre, said, scope },
|
|
2037
|
-
})
|
|
1838
|
+
? dropEscrow("stale", `${scope} Stale event escrow at dig = ${said}`)
|
|
2038
1839
|
: null;
|
|
2039
1840
|
}
|
|
2040
1841
|
/** Build a Kever-init envelope shared across decide/apply helpers. */
|
|
2041
1842
|
makeKeverEventInit(envelope, local) {
|
|
2042
1843
|
return {
|
|
2043
1844
|
db: this.db,
|
|
2044
|
-
cues: this.cues,
|
|
2045
1845
|
serder: envelope.serder,
|
|
2046
1846
|
sigers: [...envelope.sigers],
|
|
2047
1847
|
wigers: [...envelope.wigers],
|
|
@@ -2289,7 +2089,9 @@ export class Kevery {
|
|
|
2289
2089
|
*
|
|
2290
2090
|
* Stored artifacts mirror the KERIpy event escrow model:
|
|
2291
2091
|
* - `dtss.` for local escrow insertion time
|
|
2292
|
-
* - `sigs.` / `wigs.`
|
|
2092
|
+
* - `sigs.` / `wigs.` for retained attachment candidates; early escrows may
|
|
2093
|
+
* precede their verification
|
|
2094
|
+
* - `wits.` for the derived witness cohort when available
|
|
2293
2095
|
* - `evts.` for the escrowed event body
|
|
2294
2096
|
* - `udes.` for delegation or source-seal context when present
|
|
2295
2097
|
* - `esrs.` for local/remote source provenance
|
|
@@ -2436,11 +2238,28 @@ export class Kevery {
|
|
|
2436
2238
|
*
|
|
2437
2239
|
* Event-escrow replay differs from receipt/query/reply replay:
|
|
2438
2240
|
* - the escrowed event is reconstructed back into a normal event envelope
|
|
2439
|
-
* - the same native writer and
|
|
2241
|
+
* - the same native writer and explicit processing path as live intake is reused
|
|
2440
2242
|
* - escrow movement/removal commits with event effects before state/cue publication
|
|
2243
|
+
*
|
|
2244
|
+
* @param currentEscrow Family currently retaining the event.
|
|
2245
|
+
* @param pre Event AID in qualified Base64 form.
|
|
2246
|
+
* @param on Event sequence number, or null for a set-keyed family.
|
|
2247
|
+
* @param said Event digest identifying its stored body and detached proofs.
|
|
2441
2248
|
*/
|
|
2442
2249
|
replayEscrowEntry(currentEscrow, pre, on, said) {
|
|
2443
|
-
this.settleEventDecision(() => this.rehydrateEscrowEnvelope(currentEscrow, pre, said), { kind: currentEscrow, pre, on, said });
|
|
2250
|
+
const decision = this.settleEventDecision(() => this.rehydrateEscrowEnvelope(currentEscrow, pre, said), { kind: currentEscrow, pre, on, said });
|
|
2251
|
+
// The transaction above has committed the removal. Acceptance and movement
|
|
2252
|
+
// to another dependency family are ordinary recovery, not ejections.
|
|
2253
|
+
if (decision === null || decision.kind === "reject") {
|
|
2254
|
+
consoleLogger.warn("KEL escrow removed", {
|
|
2255
|
+
family: currentEscrow,
|
|
2256
|
+
pre,
|
|
2257
|
+
sn: on,
|
|
2258
|
+
said,
|
|
2259
|
+
reason: decision?.code ?? "missingEscrowedEvent",
|
|
2260
|
+
detail: decision?.message ?? "Stored event body is missing.",
|
|
2261
|
+
});
|
|
2262
|
+
}
|
|
2444
2263
|
}
|
|
2445
2264
|
/** Remove one stored escrow pointer from its current bucket. */
|
|
2446
2265
|
removeEscrow(escrow, pre, on, said) {
|