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,55 @@
|
|
|
1
|
+
import { Diger, Prefixer } from "cesr-ts";
|
|
2
|
+
import { RegStateRecord } from "../core/records.js";
|
|
3
|
+
import { timestampMicros } from "../time/mod.js";
|
|
4
|
+
/** Require the entire qualified prefix, not a valid prefix followed by untrusted suffix bytes. */
|
|
5
|
+
export function qualifiedPrefix(value) {
|
|
6
|
+
try {
|
|
7
|
+
return typeof value === "string" && new Prefixer({ qb64: value }).qb64 === value;
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/** Validate unknown notice fields and return the existing record with every field required. */
|
|
14
|
+
export function registryRecord(data) {
|
|
15
|
+
if (!data || typeof data !== "object" || Array.isArray(data))
|
|
16
|
+
return null;
|
|
17
|
+
if (Object.keys(data).some((key) => !["vn", "i", "s", "d", "ii", "dt", "et", "bt", "b", "c"].includes(key))
|
|
18
|
+
|| !("i" in data) || !qualifiedPrefix(data.i) || !("ii" in data) || !qualifiedPrefix(data.ii)
|
|
19
|
+
|| !("s" in data) || typeof data.s !== "string" || !/^[0-9a-f]{1,14}$/i.test(data.s)
|
|
20
|
+
|| BigInt(`0x${data.s}`) > BigInt(Number.MAX_SAFE_INTEGER)
|
|
21
|
+
|| !("bt" in data) || typeof data.bt !== "string" || !/^[0-9a-f]{1,14}$/i.test(data.bt)
|
|
22
|
+
|| !("et" in data) || (data.et !== "vcp" && data.et !== "vrt")
|
|
23
|
+
|| !("dt" in data) || typeof data.dt !== "string" || timestampMicros(data.dt) === null
|
|
24
|
+
|| !("vn" in data) || !Array.isArray(data.vn) || data.vn.length !== 2
|
|
25
|
+
|| !("b" in data) || !Array.isArray(data.b) || !("c" in data) || !Array.isArray(data.c)
|
|
26
|
+
|| !("d" in data) || typeof data.d !== "string")
|
|
27
|
+
return null;
|
|
28
|
+
// Array.isArray erases item types; narrow untrusted elements before constructing owned projections.
|
|
29
|
+
const version = data.vn, backers = data.b, config = data.c;
|
|
30
|
+
const [major, minor] = version;
|
|
31
|
+
if (typeof major !== "number" || !Number.isSafeInteger(major) || major < 0
|
|
32
|
+
|| typeof minor !== "number" || !Number.isSafeInteger(minor) || minor < 0
|
|
33
|
+
|| !backers.every(qualifiedPrefix) || !config.every((item) => typeof item === "string"))
|
|
34
|
+
return null;
|
|
35
|
+
try {
|
|
36
|
+
if (new Diger({ qb64: data.d }).qb64 !== data.d)
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
// Keep required-field types while constructing the existing record; these arrays are fresh owned copies.
|
|
43
|
+
return Object.assign(new RegStateRecord(), {
|
|
44
|
+
vn: [major, minor],
|
|
45
|
+
i: data.i,
|
|
46
|
+
s: data.s,
|
|
47
|
+
d: data.d,
|
|
48
|
+
ii: data.ii,
|
|
49
|
+
dt: data.dt,
|
|
50
|
+
et: data.et,
|
|
51
|
+
bt: data.bt,
|
|
52
|
+
b: [...backers],
|
|
53
|
+
c: [...config],
|
|
54
|
+
});
|
|
55
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** Read-only authority and retained-event selection for local legacy NoBackers revocation. */
|
|
2
|
+
import { Ilks, NumDex, Seqner, SerderKERI, TraitDex } from "cesr-ts";
|
|
3
|
+
import { DatabaseOperationError, ValidationError } from "../core/errors.js";
|
|
4
|
+
import { revoke } from "../core/protocol-vdr-eventing.js";
|
|
5
|
+
import { dgKey } from "../db/core/keys.js";
|
|
6
|
+
/**
|
|
7
|
+
* Check the credential, accepted registry, original issuance and proposed REV
|
|
8
|
+
* before a local member signs its issuer anchor. Missing authority stays pending;
|
|
9
|
+
* contradictory evidence refuses. This neither accepts TEL nor changes escrows.
|
|
10
|
+
* An already accepted matching REV remains valid for explicit approval resume.
|
|
11
|
+
*/
|
|
12
|
+
export function validateCredentialRevocation(reger, issuer, event) {
|
|
13
|
+
if (!event.verify() || event.ilk !== Ilks.rev || event.sn !== 1 || !event.pre) {
|
|
14
|
+
throw new ValidationError("Credential revocation requires valid rev evidence at ordinal one.");
|
|
15
|
+
}
|
|
16
|
+
const creder = reger.creds.get(event.pre);
|
|
17
|
+
if (!creder || reger.saved.get(event.pre) === null)
|
|
18
|
+
return false;
|
|
19
|
+
if (!creder.verify() || creder.issuer !== issuer || creder.regid !== event.ked?.ri) {
|
|
20
|
+
throw new ValidationError("Credential revocation does not match its credential, issuer and registry.");
|
|
21
|
+
}
|
|
22
|
+
const registry = creder.regid;
|
|
23
|
+
const state = reger.states.get(registry);
|
|
24
|
+
if (!state)
|
|
25
|
+
return false;
|
|
26
|
+
if (state.ii !== issuer || !(state.c ?? []).includes(TraitDex.NoBackers)) {
|
|
27
|
+
throw new ValidationError("Local credential revocation requires its issuer's NoBackers registry.");
|
|
28
|
+
}
|
|
29
|
+
const issuance = reger.tels.getOn(event.pre, 0);
|
|
30
|
+
if (!issuance)
|
|
31
|
+
return false;
|
|
32
|
+
const original = storedEvent(reger, event.pre, issuance.qb64);
|
|
33
|
+
if (original.ilk !== Ilks.iss || original.ked?.ri !== registry || event.ked?.p !== issuance.qb64) {
|
|
34
|
+
throw new ValidationError("Credential revocation predecessor does not match its accepted issuance.");
|
|
35
|
+
}
|
|
36
|
+
const accepted = reger.tels.getOn(event.pre, 1);
|
|
37
|
+
if (accepted && accepted.qb64 !== event.said) {
|
|
38
|
+
throw new ValidationError("Credential already has another accepted revocation.");
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Reuse the accepted REV or this issuer's original publication candidate. The
|
|
44
|
+
* ordinary tmse record identifies locally tracked work; unrelated remote escrow
|
|
45
|
+
* candidates cannot select an event for local authoring. A fresh REV is returned
|
|
46
|
+
* only when neither exists. The caller owns anchoring and TEL admission.
|
|
47
|
+
*/
|
|
48
|
+
export function prepareCredentialRevocation(reger, issuer, registry, said) {
|
|
49
|
+
const creder = reger.creds.get(said);
|
|
50
|
+
if (!creder || creder.issuer !== issuer || creder.regid !== registry) {
|
|
51
|
+
throw new ValidationError("Credential is not controlled by the selected issuer and registry.");
|
|
52
|
+
}
|
|
53
|
+
const accepted = reger.tels.getOn(said, 1);
|
|
54
|
+
const rawOrdinal = new Uint8Array(16);
|
|
55
|
+
rawOrdinal[15] = 1;
|
|
56
|
+
const ordinal = new Seqner({ code: NumDex.Huge, raw: rawOrdinal }).qb64;
|
|
57
|
+
const pending = new Set([...reger.tmse.getTopItemIter([said, ordinal])].map(([keys]) => keys[2]));
|
|
58
|
+
if (pending.size > 1 || (accepted && [...pending].some(digest => digest !== accepted.qb64))) {
|
|
59
|
+
throw new DatabaseOperationError("Conflicting locally tracked credential revocations.");
|
|
60
|
+
}
|
|
61
|
+
const retained = accepted?.qb64 ?? [...pending][0];
|
|
62
|
+
let event;
|
|
63
|
+
if (retained) {
|
|
64
|
+
event = storedEvent(reger, said, retained);
|
|
65
|
+
if (!reger.ancs.get(dgKey(said, retained))) {
|
|
66
|
+
throw new DatabaseOperationError("Stored revocation issuer source seal is missing.");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const issuance = reger.tels.getOn(said, 0);
|
|
71
|
+
if (!issuance)
|
|
72
|
+
throw new ValidationError(`Cannot revoke unknown credential ${said}.`);
|
|
73
|
+
event = revoke(said, registry, issuance.qb64);
|
|
74
|
+
}
|
|
75
|
+
if (!validateCredentialRevocation(reger, issuer, event)) {
|
|
76
|
+
throw new ValidationError("Credential revocation is missing accepted credential, registry or issuance evidence.");
|
|
77
|
+
}
|
|
78
|
+
return event;
|
|
79
|
+
}
|
|
80
|
+
/** Accepted/publication indexes must reference an intact body with the same immutable identity. */
|
|
81
|
+
function storedEvent(reger, prefix, digest) {
|
|
82
|
+
const raw = reger.tvts.get(dgKey(prefix, digest));
|
|
83
|
+
if (!raw)
|
|
84
|
+
throw new DatabaseOperationError("Stored credential TEL body is missing.");
|
|
85
|
+
const event = new SerderKERI({ raw });
|
|
86
|
+
if (event.pre !== prefix || event.said !== digest || !event.verify()) {
|
|
87
|
+
throw new DatabaseOperationError("Stored credential TEL identity is corrupt.");
|
|
88
|
+
}
|
|
89
|
+
return event;
|
|
90
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Exact issuer KEL authority for legacy TEL events. */
|
|
2
|
+
import { Ilks } from "cesr-ts";
|
|
3
|
+
/** Verify the complete TEL seal in the accepted issuer event at the supplied source coordinate. */
|
|
4
|
+
export function verifyTelAnchor(db, issuer, event, ordinal, digest) {
|
|
5
|
+
if (!ordinal || !digest || ordinal.num > BigInt(Number.MAX_SAFE_INTEGER))
|
|
6
|
+
return false;
|
|
7
|
+
const accepted = db.kels.getLast(issuer, Number(ordinal.num));
|
|
8
|
+
if (accepted !== digest.qb64)
|
|
9
|
+
return false;
|
|
10
|
+
const anchor = db.getEvtSerder(issuer, accepted);
|
|
11
|
+
if (!anchor || anchor.said !== accepted)
|
|
12
|
+
return false;
|
|
13
|
+
return telAnchorMatches(issuer, event, anchor);
|
|
14
|
+
}
|
|
15
|
+
/** Match the complete TEL seal in an issuer KEL body before that anchor is signed or accepted. */
|
|
16
|
+
export function telAnchorMatches(issuer, event, anchor) {
|
|
17
|
+
const seals = anchor.ked?.a;
|
|
18
|
+
return Array.isArray(seals) && seals.length === 1 && telAnchorIncludes(issuer, event, anchor);
|
|
19
|
+
}
|
|
20
|
+
/** Recognize the exact TEL tuple within an issuer event, including a batch of other seals. */
|
|
21
|
+
export function telAnchorIncludes(issuer, event, anchor) {
|
|
22
|
+
if (anchor.pre !== issuer || (!anchor.estive && anchor.ilk !== Ilks.ixn))
|
|
23
|
+
return false;
|
|
24
|
+
const seals = anchor.ked?.a;
|
|
25
|
+
return Array.isArray(seals)
|
|
26
|
+
&& seals.some((seal) => !!seal && typeof seal === "object" && !Array.isArray(seal)
|
|
27
|
+
&& "i" in seal && seal.i === event.pre && "s" in seal && seal.s === event.snh
|
|
28
|
+
&& "d" in seal && seal.d === event.said);
|
|
29
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/** Durable legacy TEL publication progress, separate from observer acceptance. */
|
|
2
|
+
import { Diger, NumberPrimitive, NumDex, Prefixer, Saider, Seqner, Verfer } from "cesr-ts";
|
|
3
|
+
import { DatabaseOperationError, ValidationError } from "../core/errors.js";
|
|
4
|
+
import { dgKey } from "../db/core/keys.js";
|
|
5
|
+
import { telAnchorMatches } from "./tel-anchor.js";
|
|
6
|
+
/** Encode Python's fixed-width Seqner key, independent of the event body's number encoding. */
|
|
7
|
+
function ordinal(sn) {
|
|
8
|
+
if (!Number.isSafeInteger(sn) || sn < 0)
|
|
9
|
+
throw new RangeError("Invalid TEL publication ordinal");
|
|
10
|
+
const raw = new Uint8Array(16);
|
|
11
|
+
let value = BigInt(sn);
|
|
12
|
+
for (let index = raw.length - 1; index >= 0; index--) {
|
|
13
|
+
raw[index] = Number(value & 255n);
|
|
14
|
+
value >>= 8n;
|
|
15
|
+
}
|
|
16
|
+
return new Seqner({ code: NumDex.Huge, raw });
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Own tmse -> tpwe -> tede -> ctel using KERIpy's existing Reger tables.
|
|
20
|
+
* Accepted issuer anchors, full witness collection and completed local transport
|
|
21
|
+
* are distinct gates. ctel stores the issuer anchor SAID, as in KERIpy, and never
|
|
22
|
+
* claims remote TEL acceptance. No network work occurs inside a writer.
|
|
23
|
+
*/
|
|
24
|
+
export class TelPublication {
|
|
25
|
+
/** Borrow accepted KEL authority and the issuer's existing TEL environment. */
|
|
26
|
+
constructor(db, reger) {
|
|
27
|
+
Object.defineProperty(this, "db", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: db
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(this, "reger", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: reger
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/** Retain the original anchor even while group signatures or TEL dependencies are missing. */
|
|
41
|
+
track(event, anchor) {
|
|
42
|
+
if (!event.pre || event.sn === null || !event.said || !anchor.pre || anchor.sn === null || !anchor.said
|
|
43
|
+
|| !telAnchorMatches(anchor.pre, event, anchor)) {
|
|
44
|
+
throw new ValidationError("TEL publication requires the exact issuer anchor and TEL seal.");
|
|
45
|
+
}
|
|
46
|
+
const keys = [event.pre, ordinal(event.sn).qb64, event.said];
|
|
47
|
+
const seal = [
|
|
48
|
+
new Prefixer({ qb64: anchor.pre }),
|
|
49
|
+
new NumberPrimitive({ code: NumDex.Huge, raw: ordinal(anchor.sn).raw }),
|
|
50
|
+
new Diger({ qb64: anchor.said }),
|
|
51
|
+
];
|
|
52
|
+
const coordinates = keys.slice(0, 2);
|
|
53
|
+
const sameAnchor = (stored) => stored.every((value, index) => value.qb64 === seal[index].qb64);
|
|
54
|
+
if (!this.complete(event.pre, event.sn)
|
|
55
|
+
&& !this.reger.tpwe.get(coordinates).some(sameAnchor)
|
|
56
|
+
&& !this.reger.tede.get(coordinates).some(sameAnchor)) {
|
|
57
|
+
this.reger.tmse.add(keys, seal);
|
|
58
|
+
}
|
|
59
|
+
this.advance();
|
|
60
|
+
}
|
|
61
|
+
/** Move accepted anchors forward; empty witness/publication cohorts need no I/O. */
|
|
62
|
+
advance() {
|
|
63
|
+
this.reger.env.transactionSync(() => {
|
|
64
|
+
for (const [keys, seal] of [...this.reger.tmse.getTopItemIter()]) {
|
|
65
|
+
const target = this.target(keys, seal);
|
|
66
|
+
if (!target || target.said !== keys[2])
|
|
67
|
+
continue;
|
|
68
|
+
this.reger.tpwe.add(keys.slice(0, 2), seal);
|
|
69
|
+
this.reger.tmse.rem(keys, seal);
|
|
70
|
+
}
|
|
71
|
+
for (const target of this.pendingReceipts()) {
|
|
72
|
+
if (target.witnesses.length === 0)
|
|
73
|
+
this.receipted(target);
|
|
74
|
+
}
|
|
75
|
+
for (const target of this.pendingPublications()) {
|
|
76
|
+
if (target.witnesses.length === 0)
|
|
77
|
+
this.published(target);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/** Snapshot accepted anchors awaiting an actual complete receipt/fanout attempt. */
|
|
82
|
+
pendingReceipts() {
|
|
83
|
+
return [...this.reger.tpwe.getTopItemIter()].flatMap(([keys, seal]) => {
|
|
84
|
+
const target = this.target(keys, seal);
|
|
85
|
+
return target ? [target] : [];
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** Commit receipt completion only after the I/O owner returned and all unique proofs still verify. */
|
|
89
|
+
receipted(target) {
|
|
90
|
+
if (!this.allReceipts(target))
|
|
91
|
+
throw new ValidationError("TEL anchor is missing required witness receipts.");
|
|
92
|
+
const seal = this.seal(target);
|
|
93
|
+
this.reger.env.transactionSync(() => {
|
|
94
|
+
this.reger.tede.add(this.keys(target), [seal[0], seal[1], new Saider({ qb64: target.anchorSaid })]);
|
|
95
|
+
this.reger.tpwe.rem(this.keys(target), seal);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/** Accepted TEL replay becomes eligible only after the anchor's receipt obligation finished. */
|
|
99
|
+
pendingPublications() {
|
|
100
|
+
return [...this.reger.tede.getTopItemIter()].flatMap(([keys, seal]) => {
|
|
101
|
+
const target = this.target(keys, [seal[0], seal[1], new Diger({ qb64: seal[2].qb64 })]);
|
|
102
|
+
return target && this.reger.tels.getOn(target.pre, target.sn)?.qb64 === target.said ? [target] : [];
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/** Record finished local publication; an interrupted attempt leaves its ordinary dissemination escrow. */
|
|
106
|
+
published(target) {
|
|
107
|
+
if (!this.allReceipts(target) || this.reger.tels.getOn(target.pre, target.sn)?.qb64 !== target.said) {
|
|
108
|
+
throw new ValidationError("TEL publication dependencies changed before completion.");
|
|
109
|
+
}
|
|
110
|
+
const seal = this.seal(target);
|
|
111
|
+
this.reger.env.transactionSync(() => {
|
|
112
|
+
this.reger.ctel.pin(this.keys(target), new Saider({ qb64: target.anchorSaid }));
|
|
113
|
+
this.reger.tede.rem(this.keys(target), [seal[0], seal[1], new Saider({ qb64: target.anchorSaid })]);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Completion is durable local dissemination, not merely accepted TEL storage or peer acknowledgement. */
|
|
117
|
+
complete(pre, sn = 0) {
|
|
118
|
+
return this.reger.ctel.get([pre, ordinal(sn).qb64]) !== null;
|
|
119
|
+
}
|
|
120
|
+
/** Reverify by unique roster index; multiple signatures from one witness never fill another's slot. */
|
|
121
|
+
allReceipts(target) {
|
|
122
|
+
const current = this.target(this.keys(target), this.seal(target));
|
|
123
|
+
if (!current || current.said !== target.said)
|
|
124
|
+
return false;
|
|
125
|
+
const anchor = this.db.getEvtSerder(target.issuer, target.anchorSaid);
|
|
126
|
+
if (!anchor || this.db.kels.getLast(target.issuer, target.anchorSn) !== target.anchorSaid)
|
|
127
|
+
return false;
|
|
128
|
+
const witnesses = this.db.acceptedEventWitnesses(anchor);
|
|
129
|
+
if (!witnesses || witnesses.length !== target.witnesses.length
|
|
130
|
+
|| witnesses.some((witness, index) => witness !== target.witnesses[index]))
|
|
131
|
+
return false;
|
|
132
|
+
const indices = new Set();
|
|
133
|
+
for (const signature of this.db.wigs.get(dgKey(target.issuer, target.anchorSaid))) {
|
|
134
|
+
const witness = witnesses[signature.index];
|
|
135
|
+
if (witness && new Verfer({ qb64: witness }).verify(signature.raw, anchor.raw))
|
|
136
|
+
indices.add(signature.index);
|
|
137
|
+
}
|
|
138
|
+
return indices.size === witnesses.length;
|
|
139
|
+
}
|
|
140
|
+
/** Resolve the signed TEL seal from the exact accepted historical issuer event. */
|
|
141
|
+
target(keys, seal) {
|
|
142
|
+
const [prefixer, sner, diger] = seal;
|
|
143
|
+
if (sner.num > BigInt(Number.MAX_SAFE_INTEGER))
|
|
144
|
+
throw new DatabaseOperationError("Unsafe TEL anchor ordinal");
|
|
145
|
+
const anchorSn = Number(sner.num);
|
|
146
|
+
if (this.db.kels.getLast(prefixer.qb64, anchorSn) !== diger.qb64)
|
|
147
|
+
return null;
|
|
148
|
+
const anchor = this.db.getEvtSerder(prefixer.qb64, diger.qb64);
|
|
149
|
+
if (!anchor)
|
|
150
|
+
throw new DatabaseOperationError("Accepted TEL anchor body is missing");
|
|
151
|
+
const sn = Number(new Seqner({ qb64: keys[1] }).sn);
|
|
152
|
+
if (!Number.isSafeInteger(sn) || sn < 0)
|
|
153
|
+
throw new DatabaseOperationError("Unsafe TEL publication ordinal");
|
|
154
|
+
const seals = anchor.ked?.a;
|
|
155
|
+
const eventSeal = Array.isArray(seals) && seals.length === 1 ? seals[0] : null;
|
|
156
|
+
if (!eventSeal || typeof eventSeal !== "object" || !("i" in eventSeal) || eventSeal.i !== keys[0]
|
|
157
|
+
|| !("s" in eventSeal) || eventSeal.s !== sn.toString(16)
|
|
158
|
+
|| !("d" in eventSeal) || typeof eventSeal.d !== "string") {
|
|
159
|
+
throw new DatabaseOperationError("Stored TEL publication does not match its issuer anchor");
|
|
160
|
+
}
|
|
161
|
+
const witnesses = this.db.acceptedEventWitnesses(anchor);
|
|
162
|
+
if (!witnesses)
|
|
163
|
+
return null;
|
|
164
|
+
return { pre: keys[0], sn, said: eventSeal.d, issuer: prefixer.qb64, anchorSn, anchorSaid: diger.qb64, witnesses };
|
|
165
|
+
}
|
|
166
|
+
/** Reuse the TEL coordinate key across witness, dissemination and completion tables. */
|
|
167
|
+
keys(target) {
|
|
168
|
+
return [target.pre, ordinal(target.sn).qb64];
|
|
169
|
+
}
|
|
170
|
+
/** Serialize the same issuer source coordinate in every escrow stage. */
|
|
171
|
+
seal(target) {
|
|
172
|
+
return [
|
|
173
|
+
new Prefixer({ qb64: target.issuer }),
|
|
174
|
+
new NumberPrimitive({ code: NumDex.Huge, raw: ordinal(target.anchorSn).raw }),
|
|
175
|
+
new Diger({ qb64: target.anchorSaid }),
|
|
176
|
+
];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -10,25 +10,30 @@ export function prepareTsnQuery({ serder, source, cigars }, tevers) {
|
|
|
10
10
|
if (!dest)
|
|
11
11
|
return { kind: "drop", reason: "missingAuthentication" };
|
|
12
12
|
const query = serder.ked?.q;
|
|
13
|
-
if (!query || typeof query
|
|
13
|
+
if (!query || typeof query !== "object" || Array.isArray(query)
|
|
14
|
+
|| !("ri" in query) || typeof query.ri !== "string" || !query.ri
|
|
15
|
+
|| !("i" in query) || typeof query.i !== "string") {
|
|
14
16
|
return { kind: "drop", reason: "invalidQuery" };
|
|
15
17
|
}
|
|
16
18
|
const tever = tevers.get(query.ri);
|
|
17
19
|
if (!tever)
|
|
18
|
-
return { kind: "unavailable"
|
|
19
|
-
const
|
|
20
|
+
return { kind: "unavailable" };
|
|
21
|
+
const querySaid = serder.said ?? undefined;
|
|
22
|
+
const registry = {
|
|
20
23
|
kin: "reply",
|
|
21
|
-
route,
|
|
22
|
-
data,
|
|
24
|
+
route: "/tsn/registry",
|
|
25
|
+
data: tever.state(),
|
|
23
26
|
dest,
|
|
24
|
-
querySaid
|
|
25
|
-
}
|
|
26
|
-
const registry = response("/tsn/registry", tever.state().asDict());
|
|
27
|
+
querySaid,
|
|
28
|
+
};
|
|
27
29
|
if (!query.i)
|
|
28
30
|
return { kind: "reply", replies: [registry] };
|
|
29
31
|
// 714 processQuery passes nonexistent vcpre=; use the actual vcState(vci) helper.
|
|
30
32
|
const credential = tever.vcState(query.i);
|
|
31
33
|
if (!credential)
|
|
32
|
-
return { kind: "reply", replies: [registry]
|
|
33
|
-
return {
|
|
34
|
+
return { kind: "reply", replies: [registry] };
|
|
35
|
+
return {
|
|
36
|
+
kind: "reply",
|
|
37
|
+
replies: [registry, { kin: "reply", route: "/tsn/credential", data: credential, dest, querySaid }],
|
|
38
|
+
};
|
|
34
39
|
}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* `src/version.ts` files by hand; edit this template instead.
|
|
7
7
|
*/
|
|
8
8
|
/** Package semantic version copied from the owning package manifest. */
|
|
9
|
-
export const PACKAGE_VERSION = "0.
|
|
9
|
+
export const PACKAGE_VERSION = "2.0.0";
|
|
10
10
|
/** Optional build metadata stamp injected by release/CI workflows. */
|
|
11
|
-
export const BUILD_METADATA = "build.
|
|
11
|
+
export const BUILD_METADATA = "build.27.c6e19e9ebea5a79ed7b5d232ffa4d60a9acb805d";
|
|
12
12
|
/** User-facing version string with build metadata appended when present. */
|
|
13
13
|
export const DISPLAY_VERSION = BUILD_METADATA
|
|
14
14
|
? `${PACKAGE_VERSION}+${BUILD_METADATA}`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "keri-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "KERI TypeScript protocol and runtime library",
|
|
5
5
|
"homepage": "https://github.com/kentbull/keri-ts",
|
|
6
6
|
"repository": {
|
|
@@ -31,22 +31,6 @@
|
|
|
31
31
|
"./db": {
|
|
32
32
|
"import": "./esm/keri/npm/src/npm/db.js",
|
|
33
33
|
"types": "./types/npm/db.d.ts"
|
|
34
|
-
},
|
|
35
|
-
"./app/*": {
|
|
36
|
-
"import": "./esm/keri/npm/src/app/*.js",
|
|
37
|
-
"types": "./types/app/*.d.ts"
|
|
38
|
-
},
|
|
39
|
-
"./core/*": {
|
|
40
|
-
"import": "./esm/keri/npm/src/core/*.js",
|
|
41
|
-
"types": "./types/core/*.d.ts"
|
|
42
|
-
},
|
|
43
|
-
"./db/*": {
|
|
44
|
-
"import": "./esm/keri/npm/src/db/*.js",
|
|
45
|
-
"types": "./types/db/*.d.ts"
|
|
46
|
-
},
|
|
47
|
-
"./vdr/*": {
|
|
48
|
-
"import": "./esm/keri/npm/src/vdr/*.js",
|
|
49
|
-
"types": "./types/vdr/*.d.ts"
|
|
50
34
|
}
|
|
51
35
|
},
|
|
52
36
|
"scripts": {
|
|
@@ -68,12 +52,14 @@
|
|
|
68
52
|
},
|
|
69
53
|
"dependencies": {
|
|
70
54
|
"@deno/shim-deno": "0.18.2",
|
|
71
|
-
"
|
|
72
|
-
"
|
|
55
|
+
"@inquirer/password": "3.0.1",
|
|
56
|
+
"@noble/hashes": "1.8.0",
|
|
57
|
+
"ajv": "8.18.0",
|
|
58
|
+
"cesr-ts": ">=2.0.0 <2.1.0",
|
|
73
59
|
"effection": "^3.6.0",
|
|
74
60
|
"lmdb": "3.5.3",
|
|
75
|
-
"@msgpack/msgpack": "
|
|
76
|
-
"cbor-x": "
|
|
61
|
+
"@msgpack/msgpack": "3.1.3",
|
|
62
|
+
"cbor-x": "1.6.0",
|
|
77
63
|
"libsodium-wrappers-sumo": "0.8.4"
|
|
78
64
|
},
|
|
79
65
|
"_generatedBy": "dnt@dev"
|
|
@@ -97,6 +97,61 @@ interface ImportMetaPonyfill extends ImportMetaPonyfillCommonjs, ImportMetaPonyf
|
|
|
97
97
|
export declare let import_meta_ponyfill_commonjs: ImportMetaPonyfillCommonjs;
|
|
98
98
|
export declare let import_meta_ponyfill_esmodule: ImportMetaPonyfillEsmodule;
|
|
99
99
|
export declare let import_meta_ponyfill: ImportMetaPonyfill;
|
|
100
|
+
declare global {
|
|
101
|
+
interface Error {
|
|
102
|
+
cause?: unknown;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export {};
|
|
106
|
+
declare global {
|
|
107
|
+
interface Array<T> {
|
|
108
|
+
/**
|
|
109
|
+
* Returns the value of the last element in the array where predicate is true, and undefined
|
|
110
|
+
* otherwise.
|
|
111
|
+
* @param predicate find calls predicate once for each element of the array, in ascending
|
|
112
|
+
* order, until it finds one where predicate returns true. If such an element is found, find
|
|
113
|
+
* immediately returns that element value. Otherwise, find returns undefined.
|
|
114
|
+
* @param thisArg If provided, it will be used as the this value for each invocation of
|
|
115
|
+
* predicate. If it is not provided, undefined is used instead.
|
|
116
|
+
*/
|
|
117
|
+
findLast<S extends T>(predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined;
|
|
118
|
+
findLast(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T | undefined;
|
|
119
|
+
/**
|
|
120
|
+
* Returns the index of the last element in the array where predicate is true, and -1
|
|
121
|
+
* otherwise.
|
|
122
|
+
* @param predicate find calls predicate once for each element of the array, in ascending
|
|
123
|
+
* order, until it finds one where predicate returns true. If such an element is found,
|
|
124
|
+
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
|
|
125
|
+
* @param thisArg If provided, it will be used as the this value for each invocation of
|
|
126
|
+
* predicate. If it is not provided, undefined is used instead.
|
|
127
|
+
*/
|
|
128
|
+
findLastIndex(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): number;
|
|
129
|
+
}
|
|
130
|
+
interface Uint8Array {
|
|
131
|
+
/**
|
|
132
|
+
* Returns the value of the last element in the array where predicate is true, and undefined
|
|
133
|
+
* otherwise.
|
|
134
|
+
* @param predicate findLast calls predicate once for each element of the array, in descending
|
|
135
|
+
* order, until it finds one where predicate returns true. If such an element is found, findLast
|
|
136
|
+
* immediately returns that element value. Otherwise, findLast returns undefined.
|
|
137
|
+
* @param thisArg If provided, it will be used as the this value for each invocation of
|
|
138
|
+
* predicate. If it is not provided, undefined is used instead.
|
|
139
|
+
*/
|
|
140
|
+
findLast<S extends number>(predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S | undefined;
|
|
141
|
+
findLast(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number | undefined;
|
|
142
|
+
/**
|
|
143
|
+
* Returns the index of the last element in the array where predicate is true, and -1
|
|
144
|
+
* otherwise.
|
|
145
|
+
* @param predicate findLastIndex calls predicate once for each element of the array, in descending
|
|
146
|
+
* order, until it finds one where predicate returns true. If such an element is found,
|
|
147
|
+
* findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.
|
|
148
|
+
* @param thisArg If provided, it will be used as the this value for each invocation of
|
|
149
|
+
* predicate. If it is not provided, undefined is used instead.
|
|
150
|
+
*/
|
|
151
|
+
findLastIndex(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
export {};
|
|
100
155
|
declare global {
|
|
101
156
|
interface Object {
|
|
102
157
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_dnt.polyfills.d.ts","sourceRoot":"","sources":["../src/_dnt.polyfills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAgC,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB;;;;;;;;;;;;;;WAcG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;QACtE;;;;;;;;WAQG;QACH,IAAI,EAAE,OAAO,CAAC;QAEd;;;;;;;;;;;;WAYG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;;;;;;;;;;;WAYG;QACH,OAAO,EAAE,MAAM,CAAC;KACjB;CACF;AAED,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,UAAU,0BAA0B;IAClC,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACxD;AACD,UAAU,0BAA0B;IAClC,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;CACtC;AACD,UAAU,kBACR,SAAQ,0BAA0B,EAAE,0BAA0B;CAC/D;AAiBD,eAAO,IAAI,6BAA6B,EA2BnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,6BAA6B,EA4DnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,oBAAoB,EAoB1B,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"_dnt.polyfills.d.ts","sourceRoot":"","sources":["../src/_dnt.polyfills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAgC,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB;;;;;;;;;;;;;;WAcG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;QACtE;;;;;;;;WAQG;QACH,IAAI,EAAE,OAAO,CAAC;QAEd;;;;;;;;;;;;WAYG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;;;;;;;;;;;WAYG;QACH,OAAO,EAAE,MAAM,CAAC;KACjB;CACF;AAED,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,UAAU,0BAA0B;IAClC,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACxD;AACD,UAAU,0BAA0B;IAClC,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;CACtC;AACD,UAAU,kBACR,SAAQ,0BAA0B,EAAE,0BAA0B;CAC/D;AAiBD,eAAO,IAAI,6BAA6B,EA2BnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,6BAA6B,EA4DnC,0BAA0B,CAAC;AAMhC,eAAO,IAAI,oBAAoB,EAoB1B,kBAAkB,CAAC;AACxB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CACF;AAED,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC,CAAC;QACf;;;;;;;;WAQG;QACH,QAAQ,CAAC,CAAC,SAAS,CAAC,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,EACxE,OAAO,CAAC,EAAE,GAAG,GACZ,CAAC,GAAG,SAAS,CAAC;QACjB,QAAQ,CACN,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,EACzD,OAAO,CAAC,EAAE,GAAG,GACZ,CAAC,GAAG,SAAS,CAAC;QAEjB;;;;;;;;WAQG;QACH,aAAa,CACX,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,EACzD,OAAO,CAAC,EAAE,GAAG,GACZ,MAAM,CAAC;KACX;IACD,UAAU,UAAU;QAClB;;;;;;;;WAQG;QACH,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvB,SAAS,EAAE,CACP,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,KAChB,KAAK,IAAI,CAAC,EACf,OAAO,CAAC,EAAE,GAAG,GACZ,CAAC,GAAG,SAAS,CAAC;QACjB,QAAQ,CACJ,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,EACvE,OAAO,CAAC,EAAE,GAAG,GACd,MAAM,GAAG,SAAS,CAAC;QAEtB;;;;;;;;WAQG;QACH,aAAa,CACT,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,EACvE,OAAO,CAAC,EAAE,GAAG,GACd,MAAM,CAAC;KACX;CACF;AA4CD,OAAO,EAAE,CAAC;AAgBV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd;;;;WAIG;QACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;KAC5C;CACF;AAED,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Read-only ACDC chaining over caller-owned node verdicts; authentication and application state policy stay separate. */
|
|
2
|
+
import { type SerderACDC } from "cesr-ts";
|
|
3
|
+
import type { Baser } from "../db/basing.js";
|
|
4
|
+
/** Borrow a complete reachable DAG of verified credential views, with its origin first, without projecting frames. */
|
|
5
|
+
export interface AcdcGraph {
|
|
6
|
+
nodes: ReadonlyMap<string, {
|
|
7
|
+
readonly body: SerderACDC;
|
|
8
|
+
}>;
|
|
9
|
+
order: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
/** Reserved section/group labels include a pin at every level. */
|
|
12
|
+
export declare const acdcGroupLabels: ReadonlySet<string>;
|
|
13
|
+
/** A truth verdict cannot absorb malformed input; callers represent that separately as null. */
|
|
14
|
+
export type ChainVerdict = {
|
|
15
|
+
kind: "valid";
|
|
16
|
+
} | {
|
|
17
|
+
kind: "invalid";
|
|
18
|
+
} | {
|
|
19
|
+
kind: "unknown";
|
|
20
|
+
retryable: boolean;
|
|
21
|
+
reason: string;
|
|
22
|
+
schemas: readonly string[];
|
|
23
|
+
};
|
|
24
|
+
/** Empty section containers carry no disclosed edge semantics; malformed nonempty values refuse. */
|
|
25
|
+
export declare function acdcEdgeBlocks(value: unknown): Record<string, unknown>[] | null;
|
|
26
|
+
/** Compact Edge strings name blocks, never far ACDCs. Expanded leaves have exact labels. */
|
|
27
|
+
export declare function acdcEdgeTarget(value: unknown): string | null | false;
|
|
28
|
+
/**
|
|
29
|
+
* Validate every own schema, then conjoin each caller verdict with its complete edge expression.
|
|
30
|
+
* Every branch is inspected for malformed shape, even when its truth value is unused.
|
|
31
|
+
* Protocol callers supply issuer authentication; applications supply their state policy.
|
|
32
|
+
* This helper reads schemas but writes no records and publishes no cues.
|
|
33
|
+
*/
|
|
34
|
+
export declare function evaluateChain(graph: AcdcGraph, verdicts: ReadonlyMap<string, ChainVerdict>, db: Baser): ChainVerdict | null;
|
|
35
|
+
//# sourceMappingURL=chaining.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chaining.d.ts","sourceRoot":"","sources":["../../src/acdc/chaining.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI7C,sHAAsH;AACtH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC1D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,kEAAkE;AAClE,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAAsC,CAAC;AAKvF,gGAAgG;AAChG,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAMxF,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAI/E;AAUD,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAGpE;AAoBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,EAAE,EAAE,KAAK,GACR,YAAY,GAAG,IAAI,CA6HrB"}
|