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,308 +0,0 @@
|
|
|
1
|
-
/** Scoped CESR HTTP output: bounded metadata, streamed payloads, and joined cancellation. */
|
|
2
|
-
import { attachmentPayload, byteString, collectPayload, discardFrame, framePayload, ResourceAdmissionError, } from "cesr-ts";
|
|
3
|
-
import { toEffectionFrames } from "cesr-ts/effection";
|
|
4
|
-
import { call, each, resource, scoped } from "effection";
|
|
5
|
-
import { ValidationError } from "../core/errors.js";
|
|
6
|
-
import { CESR_ATTACHMENT_HEADER, CESR_CONTENT_TYPE, CESR_DESTINATION_HEADER, KERIPY_CESR_JSON_CONTENT_TYPE, } from "./cesr-http.js";
|
|
7
|
-
import { cesrOutputMetadataBytes } from "./cesr-output.js";
|
|
8
|
-
import { defaultRuntimeServices } from "./runtime-services.js";
|
|
9
|
-
/** Positive remote HTTP refusal, distinct from source, transport, storage and cleanup failure. */
|
|
10
|
-
export class CesrHttpRefusal extends ValidationError {
|
|
11
|
-
constructor(message, status) {
|
|
12
|
-
super(message);
|
|
13
|
-
Object.defineProperty(this, "status", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
configurable: true,
|
|
16
|
-
writable: true,
|
|
17
|
-
value: status
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
/** Adapt an already admitted payload to the platform fetch boundary without collecting it. */
|
|
22
|
-
function requestBody(payload, upstream) {
|
|
23
|
-
// Fetch can cancel the upload independently of the surrounding response scope.
|
|
24
|
-
const controller = new AbortController();
|
|
25
|
-
const signal = AbortSignal.any([upstream, controller.signal]);
|
|
26
|
-
// The iterator borrows the frame's payload owner until this request scope exits.
|
|
27
|
-
const iterator = payload.open(signal)[Symbol.asyncIterator]();
|
|
28
|
-
// Joining includes the source's active next(), even if fetch stops waiting for the upload.
|
|
29
|
-
let pending;
|
|
30
|
-
// Repeated transport/scope cancellation shares one cleanup operation.
|
|
31
|
-
let closed;
|
|
32
|
-
/** Returning after the pending read prevents concurrent next/return calls into a sink reader. */
|
|
33
|
-
function close() {
|
|
34
|
-
controller.abort();
|
|
35
|
-
return closed ??= (async () => {
|
|
36
|
-
await pending?.catch(() => undefined);
|
|
37
|
-
await iterator.return?.();
|
|
38
|
-
})();
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
stream: new ReadableStream({
|
|
42
|
-
/** A zero high-water mark leaves demand entirely with fetch's reader. */
|
|
43
|
-
async pull(controller) {
|
|
44
|
-
signal.throwIfAborted();
|
|
45
|
-
pending = iterator.next();
|
|
46
|
-
try {
|
|
47
|
-
// Fetch receives one bounded owned chunk, never a view pinning a whole envelope.
|
|
48
|
-
const result = await pending;
|
|
49
|
-
if (result.done)
|
|
50
|
-
controller.close();
|
|
51
|
-
else
|
|
52
|
-
controller.enqueue(result.value);
|
|
53
|
-
}
|
|
54
|
-
finally {
|
|
55
|
-
pending = undefined;
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
/** Fetch cancellation releases the source; scope cancellation also aborts its signal. */
|
|
59
|
-
cancel: close,
|
|
60
|
-
}, { highWaterMark: 0 }),
|
|
61
|
-
close,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/** Read only a finite failed-response prefix and cancel any unread tail. */
|
|
65
|
-
async function errorText(response, limit, signal) {
|
|
66
|
-
if (!response.body)
|
|
67
|
-
return "";
|
|
68
|
-
// Diagnostics are metadata, not a reason to buffer an arbitrary peer response.
|
|
69
|
-
const reader = response.body.getReader();
|
|
70
|
-
let closing;
|
|
71
|
-
/** Repeated cancel calls do not join the first underlying stream cancellation. */
|
|
72
|
-
const close = () => closing ??= reader.cancel(signal.reason);
|
|
73
|
-
/** Cancellation wakes a blocked read even for an injected response disconnected from fetch. */
|
|
74
|
-
const cancel = () => {
|
|
75
|
-
void close().catch(() => undefined);
|
|
76
|
-
};
|
|
77
|
-
signal.addEventListener("abort", cancel, { once: true });
|
|
78
|
-
if (signal.aborted)
|
|
79
|
-
cancel();
|
|
80
|
-
// A finite byte budget applies before text decoding can expand the diagnostic representation.
|
|
81
|
-
const bytes = new Uint8Array(limit);
|
|
82
|
-
// Only the initialized prefix is decoded when the peer ends early.
|
|
83
|
-
let size = 0;
|
|
84
|
-
try {
|
|
85
|
-
while (size < limit) {
|
|
86
|
-
// A peer stream may end before the finite diagnostic budget is exhausted.
|
|
87
|
-
const result = await reader.read();
|
|
88
|
-
if (result.done)
|
|
89
|
-
break;
|
|
90
|
-
const part = result.value.subarray(0, limit - size);
|
|
91
|
-
bytes.set(part, size);
|
|
92
|
-
size += part.length;
|
|
93
|
-
}
|
|
94
|
-
return new TextDecoder().decode(bytes.subarray(0, size));
|
|
95
|
-
}
|
|
96
|
-
finally {
|
|
97
|
-
signal.removeEventListener("abort", cancel);
|
|
98
|
-
try {
|
|
99
|
-
await close();
|
|
100
|
-
}
|
|
101
|
-
finally {
|
|
102
|
-
reader.releaseLock();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/** Reject invalid budgets before allocating buffers or opening a remote connection. */
|
|
107
|
-
function byteLimit(value, name) {
|
|
108
|
-
if (!Number.isSafeInteger(value) || value < 0)
|
|
109
|
-
throw new RangeError(`${name} must be a non-negative safe integer`);
|
|
110
|
-
return value;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Open one frame response as an Effection resource owned by the caller's scope.
|
|
114
|
-
*
|
|
115
|
-
* The caller supplies an already admitted frame tree. Body mode streams a complete frame; header mode explicitly caps text-qualified
|
|
116
|
-
* attachments. Scope exit aborts fetch and its body iterator, joins pending I/O,
|
|
117
|
-
* and closes the response. The caller retains ownership of frame.essr.
|
|
118
|
-
*/
|
|
119
|
-
export function requestFrame(url, frame, options = {}) {
|
|
120
|
-
return openFrameResponse(url, frame, options, 1);
|
|
121
|
-
}
|
|
122
|
-
/** Source-driven output already owns its stream slot; direct frame requests acquire one here. */
|
|
123
|
-
function openFrameResponse(url, frame, options, streams) {
|
|
124
|
-
return resource(function* (provide) {
|
|
125
|
-
// One controller owns fetch, payload reads, and the response body until the resource closes.
|
|
126
|
-
const controller = new AbortController();
|
|
127
|
-
// External abort and structured cancellation share the same transport signal.
|
|
128
|
-
const signal = options.signal ? AbortSignal.any([options.signal, controller.signal]) : controller.signal;
|
|
129
|
-
// The runtime chooses the HTTP implementation; the resource still owns its lifetime.
|
|
130
|
-
const services = options.services ?? defaultRuntimeServices;
|
|
131
|
-
// Header mode is the KERIpy default, and bulk body mode is explicit.
|
|
132
|
-
const mode = options.bodyMode ?? "header";
|
|
133
|
-
// Validate both finite metadata budgets before creating any network or payload reader.
|
|
134
|
-
const headerLimit = byteLimit(options.maxHeaderBytes ?? 64 * 1024, "maxHeaderBytes");
|
|
135
|
-
const errorLimit = byteLimit(options.maxErrorBytes ?? 16 * 1024, "maxErrorBytes");
|
|
136
|
-
// Retain conservative qualification/header/diagnostic copies plus bounded serializer reader/output backing.
|
|
137
|
-
const bytes = 8 * cesrOutputMetadataBytes(frame) + 6 * headerLimit + 4 * errorLimit + 2 * 1024 ** 2;
|
|
138
|
-
const credit = services.resources.reserve({ streams, bytes });
|
|
139
|
-
if (credit.kind === "refuse") {
|
|
140
|
-
const refusal = new ResourceAdmissionError(`HTTP output ${credit.resource} admission refused: ${credit.reason}`, credit.reason);
|
|
141
|
-
options.onAdmissionRefusal?.(refusal);
|
|
142
|
-
throw refusal;
|
|
143
|
-
}
|
|
144
|
-
// Each Promise leaf remains tracked until cancellation has joined its cleanup.
|
|
145
|
-
let preparing;
|
|
146
|
-
// Upload cleanup is independent of whether fetch has already returned response headers.
|
|
147
|
-
let body;
|
|
148
|
-
// The most recent response belongs to this resource until provide() completes.
|
|
149
|
-
let response;
|
|
150
|
-
// Aborting fetch is followed by joining it, including a concurrently completed response.
|
|
151
|
-
let fetching;
|
|
152
|
-
// Diagnostic reads are separate Promise leaves and must also finish before scope exit.
|
|
153
|
-
let reading;
|
|
154
|
-
try {
|
|
155
|
-
signal.throwIfAborted();
|
|
156
|
-
// Detached attachments are always legal text, even if the admitted frame was binary.
|
|
157
|
-
const attachments = mode === "header"
|
|
158
|
-
? attachmentPayload(frame, {
|
|
159
|
-
domain: "txt",
|
|
160
|
-
enclosingGvrsn: frame.body.gvrsn ?? frame.body.pvrsn,
|
|
161
|
-
})
|
|
162
|
-
: undefined;
|
|
163
|
-
preparing = attachments ? collectPayload(attachments, headerLimit, signal) : undefined;
|
|
164
|
-
// Only detached-header mode collects attachments, under its explicit finite limit.
|
|
165
|
-
const header = preparing ? byteString(yield* call(() => preparing)) : undefined;
|
|
166
|
-
// Retry only the established KERIpy media-type negotiation, using the same reopenable frame.
|
|
167
|
-
const types = mode === "header" ? [CESR_CONTENT_TYPE, KERIPY_CESR_JSON_CONTENT_TYPE] : [CESR_CONTENT_TYPE];
|
|
168
|
-
for (const contentType of types) {
|
|
169
|
-
// Reopening supplies fresh request bytes for a media-type retry without retaining the first upload.
|
|
170
|
-
const headers = new Headers(options.headers);
|
|
171
|
-
headers.set("Content-Type", contentType);
|
|
172
|
-
headers.delete(CESR_DESTINATION_HEADER);
|
|
173
|
-
headers.delete(CESR_ATTACHMENT_HEADER);
|
|
174
|
-
if (options.destination)
|
|
175
|
-
headers.set(CESR_DESTINATION_HEADER, options.destination);
|
|
176
|
-
if (header !== undefined)
|
|
177
|
-
headers.set(CESR_ATTACHMENT_HEADER, header);
|
|
178
|
-
if (mode === "body")
|
|
179
|
-
body = requestBody(framePayload(frame), signal);
|
|
180
|
-
// Node requires duplex for streaming uploads; Deno accepts the same standard fetch body.
|
|
181
|
-
const init = {
|
|
182
|
-
method: "POST",
|
|
183
|
-
headers,
|
|
184
|
-
signal,
|
|
185
|
-
body: body?.stream ?? frame.body.raw.slice().buffer,
|
|
186
|
-
...(body ? { duplex: "half" } : {}),
|
|
187
|
-
};
|
|
188
|
-
fetching = services.http.fetch(url, init);
|
|
189
|
-
response = yield* call(() => fetching);
|
|
190
|
-
if (response.ok) {
|
|
191
|
-
yield* provide(response);
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
// Only failed response text is read here; successful bodies remain available to the caller.
|
|
195
|
-
reading = errorText(response, errorLimit, signal);
|
|
196
|
-
// The retained prefix determines whether the historical media-type retry applies.
|
|
197
|
-
const detail = yield* call(() => reading);
|
|
198
|
-
if (mode === "header" && response.status === 406 && contentType === CESR_CONTENT_TYPE
|
|
199
|
-
&& detail.toLowerCase().includes("content type"))
|
|
200
|
-
continue;
|
|
201
|
-
const refusal = new CesrHttpRefusal(`CESR delivery to ${url} failed with HTTP ${response.status}: ${detail}`, response.status);
|
|
202
|
-
options.onHttpRefusal?.(refusal);
|
|
203
|
-
throw refusal;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
finally {
|
|
207
|
-
try {
|
|
208
|
-
// Abort first so blocked fetch/payload reads can settle before their owners are joined.
|
|
209
|
-
controller.abort();
|
|
210
|
-
try {
|
|
211
|
-
if (fetching) {
|
|
212
|
-
yield* call(async () => {
|
|
213
|
-
// A late successful response still has an owned body that must be closed.
|
|
214
|
-
const completed = await fetching.catch(() => undefined);
|
|
215
|
-
if (completed?.body && !completed.body.locked) {
|
|
216
|
-
try {
|
|
217
|
-
await completed.body.cancel();
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
// Native fetch may error an unread body with this exact intentional teardown reason.
|
|
221
|
-
if (error !== controller.signal.reason)
|
|
222
|
-
throw error;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
finally {
|
|
229
|
-
if (preparing)
|
|
230
|
-
yield* call(() => preparing.then(() => { }, () => { }));
|
|
231
|
-
if (reading)
|
|
232
|
-
yield* call(() => reading.then(() => { }, () => { }));
|
|
233
|
-
if (body)
|
|
234
|
-
yield* call(() => body.close());
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
finally {
|
|
238
|
-
credit.reservation.release();
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
/** Post one complete frame at a time, joining its optional response consumer before advancing input. */
|
|
244
|
-
export function postCesr(url, source, options = {}, consume) {
|
|
245
|
-
// Isolate joining cleanup so a halt cannot resume a delegated caller after payload disposal.
|
|
246
|
-
return call(function* () {
|
|
247
|
-
const services = options.services ?? defaultRuntimeServices;
|
|
248
|
-
const limits = {
|
|
249
|
-
...options.parse,
|
|
250
|
-
maxChunkBytes: options.parse?.maxChunkBytes ?? 1024 ** 2,
|
|
251
|
-
maxBufferedBytes: options.parse?.maxBufferedBytes ?? 8 * 1024 ** 2,
|
|
252
|
-
};
|
|
253
|
-
for (const limit of [limits.maxChunkBytes, limits.maxBufferedBytes]) {
|
|
254
|
-
if (!Number.isSafeInteger(limit) || limit < 1)
|
|
255
|
-
throw new RangeError("Invalid output input limit");
|
|
256
|
-
}
|
|
257
|
-
if (limits.maxChunkBytes > limits.maxBufferedBytes)
|
|
258
|
-
throw new RangeError("Chunk limit exceeds buffer limit");
|
|
259
|
-
if (limits.resources && limits.resources !== services.resources) {
|
|
260
|
-
throw new RangeError("Output parser must share its HTTP resource policy");
|
|
261
|
-
}
|
|
262
|
-
// Registered before parsing: its stream/cursor/producer credit outlives all parser and source cleanup.
|
|
263
|
-
yield* resource(function* (provide) {
|
|
264
|
-
const credit = services.resources.reserve({
|
|
265
|
-
streams: 1,
|
|
266
|
-
bytes: limits.maxChunkBytes + limits.maxBufferedBytes,
|
|
267
|
-
});
|
|
268
|
-
if (credit.kind === "refuse") {
|
|
269
|
-
const refusal = new ResourceAdmissionError(`Output source admission refused: ${credit.reason}`, credit.reason);
|
|
270
|
-
options.onAdmissionRefusal?.(refusal);
|
|
271
|
-
throw refusal;
|
|
272
|
-
}
|
|
273
|
-
try {
|
|
274
|
-
yield* provide();
|
|
275
|
-
}
|
|
276
|
-
finally {
|
|
277
|
-
credit.reservation.release();
|
|
278
|
-
}
|
|
279
|
-
});
|
|
280
|
-
// Either caller-facing signal cancels both parsing and the request already consuming a frame.
|
|
281
|
-
const signals = [options.signal, options.parse?.signal].filter((value) => value !== undefined);
|
|
282
|
-
const signal = signals.length ? AbortSignal.any(signals) : undefined;
|
|
283
|
-
// The adapter owns input cancellation and leaves each delivered ESSR payload with this loop.
|
|
284
|
-
const channel = yield* toEffectionFrames(source, {
|
|
285
|
-
...limits,
|
|
286
|
-
resources: services.resources,
|
|
287
|
-
signal,
|
|
288
|
-
onAdmissionRefusal(error) {
|
|
289
|
-
options.parse?.onAdmissionRefusal?.(error);
|
|
290
|
-
options.onAdmissionRefusal?.(error);
|
|
291
|
-
},
|
|
292
|
-
});
|
|
293
|
-
for (const frame of yield* each(channel.frames)) {
|
|
294
|
-
try {
|
|
295
|
-
// Each request is closed before another frame or request can become resident.
|
|
296
|
-
yield* scoped(function* () {
|
|
297
|
-
const response = yield* openFrameResponse(url, frame, { ...options, services, signal }, 0);
|
|
298
|
-
if (consume)
|
|
299
|
-
yield* consume(response);
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
finally {
|
|
303
|
-
yield* call(() => discardFrame(frame));
|
|
304
|
-
}
|
|
305
|
-
yield* each.next();
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/** Count finite ordinary metadata without qualifying bytes or opening any ESSR owner. */
|
|
2
|
-
export function cesrOutputMetadataBytes(root) {
|
|
3
|
-
let size = root.body.raw.length;
|
|
4
|
-
for (const group of root.attachments)
|
|
5
|
-
size += group.raw.length;
|
|
6
|
-
for (const child of root.nests ?? [])
|
|
7
|
-
size += cesrOutputMetadataBytes(child);
|
|
8
|
-
if (!Number.isSafeInteger(size) || size < 0) {
|
|
9
|
-
throw new RangeError("output metadata bytes must be a non-negative safe integer");
|
|
10
|
-
}
|
|
11
|
-
return size;
|
|
12
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as dntShim from "../../_dnt.shims.js";
|
|
2
|
-
import { annotate, ANNOTATION_LIMIT } from "cesr-ts";
|
|
3
|
-
import { abortable } from "../abortable.js";
|
|
4
|
-
import { collectBytes, fileBytes, streamBytes } from "../byte-source.js";
|
|
5
|
-
import { colorizeAnnotatedOutput } from "./annotate-color.js";
|
|
6
|
-
import { writeStdout } from "./output.js";
|
|
7
|
-
/** Annotate bounded file/stdin input with every I/O leaf owned by this operation. */
|
|
8
|
-
export function* annotateCommand(args) {
|
|
9
|
-
const options = args;
|
|
10
|
-
const limit = options.maxBytes ?? ANNOTATION_LIMIT;
|
|
11
|
-
const bytes = yield* abortable((signal) => collectBytes(options.inPath ? fileBytes(options.inPath, { signal }) : streamBytes(dntShim.Deno.stdin.readable, { signal }), limit));
|
|
12
|
-
const text = yield* abortable((signal) => annotate(bytes, {
|
|
13
|
-
pretty: options.pretty,
|
|
14
|
-
maxBytes: limit,
|
|
15
|
-
signal,
|
|
16
|
-
}));
|
|
17
|
-
if (options.outPath) {
|
|
18
|
-
yield* abortable((signal) => dntShim.Deno.writeTextFile(options.outPath, text, { signal }));
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
const output = options.colored ? colorizeAnnotatedOutput(text) : text;
|
|
22
|
-
yield* abortable((signal) => writeStdout(`${output}\n`, signal));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { action } from "effection";
|
|
2
|
-
import { ValidationError } from "../../core/errors.js";
|
|
3
|
-
import { processMailboxTurn } from "../agent-runtime.js";
|
|
4
|
-
import { normalizeCesrBodyMode } from "../cesr-http.js";
|
|
5
|
-
import { findVerifiedChallengeResponse, formatChallengeWords, generateChallengeWords, markChallengeVerified, parseChallengeWords, } from "../challenging.js";
|
|
6
|
-
import { sendExchangeMessage } from "../forwarding.js";
|
|
7
|
-
import { Organizer } from "../organizing.js";
|
|
8
|
-
import { withAgentRuntime, withExistingHab } from "./common/context.js";
|
|
9
|
-
/** Implement `tufa challenge generate`. */
|
|
10
|
-
export function* challengeGenerateCommand(args) {
|
|
11
|
-
const commandArgs = {
|
|
12
|
-
strength: args.strength ? Number(args.strength) : 128,
|
|
13
|
-
out: args.out,
|
|
14
|
-
};
|
|
15
|
-
const out = normalizeOutput(commandArgs.out);
|
|
16
|
-
const words = generateChallengeWords(commandArgs.strength ?? 128);
|
|
17
|
-
console.log(formatChallengeWords(words, out));
|
|
18
|
-
}
|
|
19
|
-
/** Implement `tufa challenge respond` by sending a signed `/challenge/response` exchange message. */
|
|
20
|
-
export function* challengeRespondCommand(args) {
|
|
21
|
-
const commandArgs = {
|
|
22
|
-
name: args.name,
|
|
23
|
-
base: args.base,
|
|
24
|
-
headDirPath: args.headDirPath,
|
|
25
|
-
passcode: args.passcode,
|
|
26
|
-
alias: args.alias,
|
|
27
|
-
recipient: args.recipient,
|
|
28
|
-
words: args.words,
|
|
29
|
-
transport: args.transport,
|
|
30
|
-
compat: args.compat,
|
|
31
|
-
outboxer: args.outboxer,
|
|
32
|
-
cesrBodyMode: normalizeCesrBodyMode(args.cesrBodyMode),
|
|
33
|
-
};
|
|
34
|
-
if (!commandArgs.name) {
|
|
35
|
-
throw new ValidationError("Name is required and cannot be empty");
|
|
36
|
-
}
|
|
37
|
-
if (!commandArgs.alias) {
|
|
38
|
-
throw new ValidationError("Alias is required and cannot be empty");
|
|
39
|
-
}
|
|
40
|
-
if (!commandArgs.recipient) {
|
|
41
|
-
throw new ValidationError("Recipient prefix is required.");
|
|
42
|
-
}
|
|
43
|
-
if (!commandArgs.words) {
|
|
44
|
-
throw new ValidationError("Challenge words are required.");
|
|
45
|
-
}
|
|
46
|
-
const words = parseChallengeWords(commandArgs.words);
|
|
47
|
-
if (words.length === 0) {
|
|
48
|
-
throw new ValidationError("Challenge words must not be empty.");
|
|
49
|
-
}
|
|
50
|
-
const recipient = commandArgs.recipient;
|
|
51
|
-
yield* withExistingHab(commandArgs, commandArgs.alias, {
|
|
52
|
-
compat: commandArgs.compat ?? false,
|
|
53
|
-
readonly: false,
|
|
54
|
-
skipConfig: false,
|
|
55
|
-
skipSignator: false,
|
|
56
|
-
outboxer: commandArgs.outboxer ?? false,
|
|
57
|
-
cesrBodyMode: commandArgs.cesrBodyMode,
|
|
58
|
-
}, function* ({ hby, hab }) {
|
|
59
|
-
const { serder } = yield* sendExchangeMessage(hby, hab, {
|
|
60
|
-
recipient,
|
|
61
|
-
route: "/challenge/response",
|
|
62
|
-
topic: "challenge",
|
|
63
|
-
payload: { i: hab.pre, words },
|
|
64
|
-
delivery: normalizeTransport(commandArgs.transport),
|
|
65
|
-
});
|
|
66
|
-
console.log("Sent EXN message");
|
|
67
|
-
console.log(serder.pretty());
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
/** Implement `tufa challenge verify` by matching accepted challenge responses in local exchange state. */
|
|
71
|
-
export function* challengeVerifyCommand(args) {
|
|
72
|
-
const commandArgs = {
|
|
73
|
-
name: args.name,
|
|
74
|
-
base: args.base,
|
|
75
|
-
headDirPath: args.headDirPath,
|
|
76
|
-
passcode: args.passcode,
|
|
77
|
-
signer: args.signer,
|
|
78
|
-
words: args.words,
|
|
79
|
-
generate: args.generate,
|
|
80
|
-
strength: args.strength ? Number(args.strength) : undefined,
|
|
81
|
-
out: args.out,
|
|
82
|
-
timeout: args.timeout ? Number(args.timeout) : 10,
|
|
83
|
-
compat: args.compat,
|
|
84
|
-
outboxer: args.outboxer,
|
|
85
|
-
cesrBodyMode: normalizeCesrBodyMode(args.cesrBodyMode),
|
|
86
|
-
pollDelayMs: args.pollDelayMs ? Number(args.pollDelayMs) : undefined,
|
|
87
|
-
};
|
|
88
|
-
if (!commandArgs.name) {
|
|
89
|
-
throw new ValidationError("Name is required and cannot be empty");
|
|
90
|
-
}
|
|
91
|
-
if (!commandArgs.signer) {
|
|
92
|
-
throw new ValidationError("Signer identifier or contact alias is required.");
|
|
93
|
-
}
|
|
94
|
-
if (!commandArgs.generate && !commandArgs.words) {
|
|
95
|
-
throw new ValidationError("Challenge words are required.");
|
|
96
|
-
}
|
|
97
|
-
const words = commandArgs.generate
|
|
98
|
-
? generateChallengeWords(commandArgs.strength ?? 128)
|
|
99
|
-
: parseChallengeWords(commandArgs.words);
|
|
100
|
-
if (words.length === 0) {
|
|
101
|
-
throw new ValidationError("Challenge words must not be empty.");
|
|
102
|
-
}
|
|
103
|
-
const signerInput = commandArgs.signer;
|
|
104
|
-
yield* withAgentRuntime(commandArgs, {
|
|
105
|
-
compat: commandArgs.compat ?? false,
|
|
106
|
-
readonly: false,
|
|
107
|
-
skipConfig: false,
|
|
108
|
-
skipSignator: true,
|
|
109
|
-
outboxer: commandArgs.outboxer ?? false,
|
|
110
|
-
cesrBodyMode: commandArgs.cesrBodyMode,
|
|
111
|
-
}, function* ({ hby, runtime }) {
|
|
112
|
-
const signer = resolveSigner(hby, signerInput);
|
|
113
|
-
if (commandArgs.generate) {
|
|
114
|
-
console.log(formatChallengeWords(words, normalizeOutput(commandArgs.out)));
|
|
115
|
-
}
|
|
116
|
-
runtime.mailboxDirector.topics.clear();
|
|
117
|
-
runtime.mailboxDirector.registerTopic("/challenge");
|
|
118
|
-
const timeoutMs = Math.max(1, commandArgs.timeout ?? 10) * 1000;
|
|
119
|
-
const pollDelayMs = Math.max(1, commandArgs.pollDelayMs ?? 250);
|
|
120
|
-
const deadline = Date.now() + timeoutMs;
|
|
121
|
-
let match = findVerifiedChallengeResponse(hby.db, signer, words);
|
|
122
|
-
while (!match && Date.now() < deadline) {
|
|
123
|
-
yield* processMailboxTurn(runtime);
|
|
124
|
-
match = findVerifiedChallengeResponse(hby.db, signer, words);
|
|
125
|
-
if (!match && Date.now() < deadline) {
|
|
126
|
-
yield* sleep(pollDelayMs);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (!match) {
|
|
130
|
-
throw new ValidationError(`No challenge response from ${signerInput} matched the provided words.`);
|
|
131
|
-
}
|
|
132
|
-
markChallengeVerified(hby.db, signer, match);
|
|
133
|
-
console.log(`${signer} ${match.said}`);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
function resolveSigner(hby, signer) {
|
|
137
|
-
if (hby.db.getKever(signer)) {
|
|
138
|
-
return signer;
|
|
139
|
-
}
|
|
140
|
-
const matches = new Organizer(hby).findExact("alias", signer);
|
|
141
|
-
if (matches.length === 0) {
|
|
142
|
-
throw new ValidationError(`no contact found with alias '${signer}'`);
|
|
143
|
-
}
|
|
144
|
-
if (matches.length > 1) {
|
|
145
|
-
throw new ValidationError(`multiple contacts match alias '${signer}', use prefix instead`);
|
|
146
|
-
}
|
|
147
|
-
return matches[0].id;
|
|
148
|
-
}
|
|
149
|
-
function normalizeOutput(input) {
|
|
150
|
-
const out = input ?? "json";
|
|
151
|
-
if (out === "json" || out === "string" || out === "words") {
|
|
152
|
-
return out;
|
|
153
|
-
}
|
|
154
|
-
throw new ValidationError(`Unsupported challenge output ${String(input)}.`);
|
|
155
|
-
}
|
|
156
|
-
function normalizeTransport(input) {
|
|
157
|
-
const value = input ?? "auto";
|
|
158
|
-
if (value === "auto" || value === "direct" || value === "indirect") {
|
|
159
|
-
return value;
|
|
160
|
-
}
|
|
161
|
-
throw new ValidationError(`Unsupported exchange transport ${String(input)}.`);
|
|
162
|
-
}
|
|
163
|
-
function* sleep(ms) {
|
|
164
|
-
yield* action((resolve) => {
|
|
165
|
-
const timeoutId = setTimeout(() => resolve(undefined), ms);
|
|
166
|
-
return () => clearTimeout(timeoutId);
|
|
167
|
-
});
|
|
168
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ValidationError } from "../../../core/errors.js";
|
|
2
|
-
import { dgKey } from "../../../db/core/keys.js";
|
|
3
|
-
/** Render one threshold bigint in the KLI-style decimal display form. */
|
|
4
|
-
function decimalThreshold(value) {
|
|
5
|
-
return value.toString();
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Print KLI-style external key-state output for one known identifier.
|
|
9
|
-
*
|
|
10
|
-
* Maintainer note:
|
|
11
|
-
* - this is intentionally presentation-oriented and should not be reused as a
|
|
12
|
-
* structured state API
|
|
13
|
-
* - `query` relies on this exact mental model to show "best local view of
|
|
14
|
-
* external state after bounded convergence work"
|
|
15
|
-
*/
|
|
16
|
-
export function printExternal(hby, pre, label = "Identifier") {
|
|
17
|
-
const kever = hby.db.getKever(pre);
|
|
18
|
-
if (!kever) {
|
|
19
|
-
throw new ValidationError(`No known key state for prefix ${pre}.`);
|
|
20
|
-
}
|
|
21
|
-
const estSaid = kever.lastEst.d || kever.said;
|
|
22
|
-
const witnessReceipts = estSaid
|
|
23
|
-
? hby.db.wigs.get(dgKey(pre, estSaid)).length
|
|
24
|
-
: 0;
|
|
25
|
-
console.log(`${label}: ${pre}`);
|
|
26
|
-
console.log(`Seq No:\t${kever.sner.num.toString()}`);
|
|
27
|
-
if (kever.delegated) {
|
|
28
|
-
console.log("Delegated Identifier");
|
|
29
|
-
console.log(` Delegator: ${kever.delpre ?? ""}`);
|
|
30
|
-
console.log("");
|
|
31
|
-
}
|
|
32
|
-
console.log("");
|
|
33
|
-
console.log("Witnesses:");
|
|
34
|
-
console.log(`Count:\t\t${kever.wits.length}`);
|
|
35
|
-
console.log(`Receipts:\t${witnessReceipts}`);
|
|
36
|
-
console.log(`Threshold:\t${decimalThreshold(kever.toader.num)}`);
|
|
37
|
-
console.log("");
|
|
38
|
-
console.log("Public Keys:\t");
|
|
39
|
-
for (const [idx, verfer] of kever.verfers.entries()) {
|
|
40
|
-
console.log(`\t${idx + 1}. ${verfer.qb64}`);
|
|
41
|
-
}
|
|
42
|
-
console.log("");
|
|
43
|
-
}
|