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,26 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* KERIpy correspondence:
|
|
5
|
-
* - gathers responsibilities that KERIpy spreads across `Mailboxer`,
|
|
6
|
-
* mailbox iterables, and indirect-mode query handling
|
|
7
|
-
*
|
|
8
|
-
* Boundary rule:
|
|
9
|
-
* - this module is mailbox storage/query infrastructure, not the general
|
|
10
|
-
* responder path
|
|
11
|
-
* - non-`stream` cue delivery such as `reply`, `replay`, `receipt`, and
|
|
12
|
-
* `witness` belongs in `Respondant`
|
|
13
|
-
*
|
|
14
|
-
* Current `keri-ts` difference:
|
|
15
|
-
* - one runtime host receives an explicit mailbox sidecar instead of
|
|
16
|
-
* discovering mailbox storage through `Habery`
|
|
17
|
-
*/
|
|
18
|
-
import { ResourceAdmissionError, ResourceLimitError, ResourcePolicy } from "cesr-ts";
|
|
19
|
-
import { CueDeck } from "../core/cue-admission.js";
|
|
20
|
-
import { ValidationError } from "../core/errors.js";
|
|
1
|
+
import { Deck } from "../../core/deck.js";
|
|
2
|
+
import { ValidationError } from "../../core/errors.js";
|
|
21
3
|
import { mailboxQueryTopics, mailboxTopicKey, updateMailboxRemoteCursor } from "./mailboxing.js";
|
|
22
4
|
/** Shared encoder for SSE mailbox stream framing. */
|
|
23
5
|
const textEncoder = new TextEncoder();
|
|
6
|
+
/** Transport pull granularity; it does not restrict complete mailbox message size. */
|
|
7
|
+
const STREAM_CHUNK_BYTES = 65536;
|
|
24
8
|
/**
|
|
25
9
|
* Mailbox topic director for one runtime host.
|
|
26
10
|
*
|
|
@@ -41,13 +25,27 @@ const textEncoder = new TextEncoder();
|
|
|
41
25
|
* `MailboxIterable`
|
|
42
26
|
*/
|
|
43
27
|
export class MailboxDirector {
|
|
44
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Compose provider publication and request-owned stream tracking.
|
|
30
|
+
* Absent mailboxer disables storage/serving; correlation and topic registration
|
|
31
|
+
* remain available. A new query Deck is created only when none is supplied.
|
|
32
|
+
*
|
|
33
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
34
|
+
* @param options Optional borrowed mailbox store, exclusive query-cue Deck and initial topics; no store is opened.
|
|
35
|
+
*/
|
|
36
|
+
constructor(hby, { mailboxer, queryCues, topics = [], } = {}) {
|
|
37
|
+
/**
|
|
38
|
+
* Borrowed local identities and accepted-state stores.
|
|
39
|
+
*/
|
|
45
40
|
Object.defineProperty(this, "hby", {
|
|
46
41
|
enumerable: true,
|
|
47
42
|
configurable: true,
|
|
48
43
|
writable: true,
|
|
49
44
|
value: void 0
|
|
50
45
|
});
|
|
46
|
+
/**
|
|
47
|
+
* Borrowed provider mailbox store, or null when this host cannot serve stored messages.
|
|
48
|
+
*/
|
|
51
49
|
Object.defineProperty(this, "mailboxer", {
|
|
52
50
|
enumerable: true,
|
|
53
51
|
configurable: true,
|
|
@@ -61,31 +59,28 @@ export class MailboxDirector {
|
|
|
61
59
|
writable: true,
|
|
62
60
|
value: void 0
|
|
63
61
|
});
|
|
62
|
+
/**
|
|
63
|
+
* Registered protocol topics, copied from construction input and extended by registerTopic.
|
|
64
|
+
*/
|
|
64
65
|
Object.defineProperty(this, "topics", {
|
|
65
66
|
enumerable: true,
|
|
66
67
|
configurable: true,
|
|
67
68
|
writable: true,
|
|
68
69
|
value: void 0
|
|
69
70
|
});
|
|
71
|
+
/**
|
|
72
|
+
* Live response finalizers joined before the provider store can close.
|
|
73
|
+
*/
|
|
70
74
|
Object.defineProperty(this, "streamCleanups", {
|
|
71
75
|
enumerable: true,
|
|
72
76
|
configurable: true,
|
|
73
77
|
writable: true,
|
|
74
78
|
value: new Set()
|
|
75
79
|
});
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
value: void 0
|
|
81
|
-
});
|
|
82
|
-
Object.defineProperty(this, "limits", {
|
|
83
|
-
enumerable: true,
|
|
84
|
-
configurable: true,
|
|
85
|
-
writable: true,
|
|
86
|
-
value: void 0
|
|
87
|
-
});
|
|
88
|
-
Object.defineProperty(this, "correlationsClosed", {
|
|
80
|
+
/**
|
|
81
|
+
* Terminal stream/correlation admission state.
|
|
82
|
+
*/
|
|
83
|
+
Object.defineProperty(this, "closed", {
|
|
89
84
|
enumerable: true,
|
|
90
85
|
configurable: true,
|
|
91
86
|
writable: true,
|
|
@@ -93,43 +88,30 @@ export class MailboxDirector {
|
|
|
93
88
|
});
|
|
94
89
|
this.hby = hby;
|
|
95
90
|
this.mailboxer = mailboxer ?? null;
|
|
96
|
-
|
|
97
|
-
throw new RangeError("Invalid mailbox query capacity");
|
|
98
|
-
if (queryCues && queryCues.resourcePolicy !== resources)
|
|
99
|
-
throw new RangeError("Mailbox query policy mismatch");
|
|
100
|
-
this.queryCues = queryCues ?? new CueDeck(resources, maxQueryCues);
|
|
101
|
-
this.queryCues.capacity = Math.min(this.queryCues.capacity, maxQueryCues);
|
|
91
|
+
this.queryCues = queryCues ?? new Deck();
|
|
102
92
|
this.topics = new Set(topics);
|
|
103
|
-
this.resources = resources;
|
|
104
|
-
this.limits = {
|
|
105
|
-
maxMessageBytes: 4 * 1024 ** 2,
|
|
106
|
-
maxChunkBytes: 65536,
|
|
107
|
-
maxTopics: 64,
|
|
108
|
-
maxMetadataBytes: 65536,
|
|
109
|
-
...streamLimits,
|
|
110
|
-
};
|
|
111
|
-
for (const limit of Object.values(this.limits)) {
|
|
112
|
-
if (!Number.isSafeInteger(limit) || limit < 1)
|
|
113
|
-
throw new RangeError("Invalid mailbox stream limit");
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/** Return true when provider-side mailbox storage is available. */
|
|
117
|
-
hasMailboxStore() {
|
|
118
|
-
return this.mailboxer !== null;
|
|
119
93
|
}
|
|
120
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
* Register one mailbox topic this runtime should poll/stream.
|
|
96
|
+
*
|
|
97
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
98
|
+
*/
|
|
121
99
|
registerTopic(topic) {
|
|
122
100
|
if (topic.length > 0) {
|
|
123
101
|
this.topics.add(topic);
|
|
124
102
|
}
|
|
125
103
|
}
|
|
126
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* Snapshot the currently configured mailbox topic set.
|
|
106
|
+
*
|
|
107
|
+
* @returns Independent array snapshot of the configured topic set.
|
|
108
|
+
*/
|
|
127
109
|
registeredTopics() {
|
|
128
110
|
return [...this.topics];
|
|
129
111
|
}
|
|
130
112
|
/** Stop every request-owned mailbox stream before its backing store closes. */
|
|
131
113
|
async close() {
|
|
132
|
-
this.
|
|
114
|
+
this.closed = true;
|
|
133
115
|
const outcomes = await Promise.allSettled([...this.streamCleanups].map((cleanup) => Promise.resolve().then(cleanup)));
|
|
134
116
|
const failures = outcomes.flatMap((result) => result.status === "rejected" ? [result.reason] : []);
|
|
135
117
|
try {
|
|
@@ -144,58 +126,60 @@ export class MailboxDirector {
|
|
|
144
126
|
if (failures.length)
|
|
145
127
|
throw new AggregateError(failures, "Mailbox stream cleanup failed");
|
|
146
128
|
}
|
|
147
|
-
/**
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
throw new ResourceAdmissionError(`Mailbox stream admission refused: ${credit.reason}`, credit.reason);
|
|
156
|
-
}
|
|
157
|
-
return credit.reservation;
|
|
158
|
-
}
|
|
159
|
-
/** Bound labels/ordinals before making a cursor copy or Object.entries allocation. */
|
|
129
|
+
/**
|
|
130
|
+
* Validate exact cursor ordinals before copying the caller's query positions.
|
|
131
|
+
*
|
|
132
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
133
|
+
* @param topics Topic-to-next-wanted ordinal map; each value must be a nonnegative safe integer.
|
|
134
|
+
* @returns A copied cursor map owned by this response.
|
|
135
|
+
* @throws RangeError for malformed prefix/map/ordinals.
|
|
136
|
+
*/
|
|
160
137
|
cursor(pre, topics) {
|
|
161
138
|
if (typeof pre !== "string" || !topics || typeof topics !== "object" || Array.isArray(topics)) {
|
|
162
139
|
throw new RangeError("Invalid mailbox topic metadata");
|
|
163
140
|
}
|
|
164
|
-
let characters = pre.length, count = 0;
|
|
165
141
|
for (const topic in topics) {
|
|
166
142
|
if (!Object.hasOwn(topics, topic))
|
|
167
143
|
continue;
|
|
168
|
-
characters += topic.length;
|
|
169
|
-
if (++count > this.limits.maxTopics || 4 * characters > this.limits.maxMetadataBytes) {
|
|
170
|
-
throw new ResourceLimitError("Mailbox topic metadata exceeds configured policy");
|
|
171
|
-
}
|
|
172
144
|
if (!Number.isSafeInteger(topics[topic]) || topics[topic] < 0) {
|
|
173
145
|
throw new RangeError("Invalid mailbox topic cursor");
|
|
174
146
|
}
|
|
175
147
|
}
|
|
176
|
-
if (4 * characters > this.limits.maxMetadataBytes) {
|
|
177
|
-
throw new ResourceLimitError("Mailbox prefix metadata exceeds configured policy");
|
|
178
|
-
}
|
|
179
148
|
return { ...topics };
|
|
180
149
|
}
|
|
181
|
-
/**
|
|
182
|
-
|
|
183
|
-
|
|
150
|
+
/**
|
|
151
|
+
* Queue a query cue for correlation with its mailbox response.
|
|
152
|
+
*
|
|
153
|
+
* @param cue Authorized stream request produced by protocol processing; the director owns later correlation consumption.
|
|
154
|
+
*/
|
|
155
|
+
retainQueryCue(cue) {
|
|
156
|
+
if (this.closed)
|
|
184
157
|
throw new Error("Mailbox query correlation is closed");
|
|
185
|
-
this.queryCues.
|
|
158
|
+
this.queryCues.push(cue);
|
|
186
159
|
}
|
|
187
160
|
/**
|
|
188
161
|
* Persist one outbound mailbox payload under the ordered topic bucket for
|
|
189
162
|
* `pre/topic`.
|
|
190
163
|
*
|
|
191
164
|
* The returned index is the newly assigned mailbox event id for that topic.
|
|
165
|
+
*
|
|
166
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
167
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
168
|
+
* @param msg Complete already-authorized wire message to persist under this recipient/topic.
|
|
169
|
+
* @returns Assigned mailbox index; persistence is not remote consumption.
|
|
192
170
|
*/
|
|
193
171
|
publish(pre, topic, msg) {
|
|
194
172
|
const idx = this.lastIndex(pre, topic) + 1;
|
|
195
173
|
this.requireMailboxer().storeMsg(mailboxTopicKey(pre, topic), msg);
|
|
196
174
|
return idx;
|
|
197
175
|
}
|
|
198
|
-
/**
|
|
176
|
+
/**
|
|
177
|
+
* Return the latest stored publication index for one topic, or `-1`.
|
|
178
|
+
*
|
|
179
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
180
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
181
|
+
* @returns Latest stored insertion ordinal, or -1 for an empty topic.
|
|
182
|
+
*/
|
|
199
183
|
lastIndex(pre, topic) {
|
|
200
184
|
const count = this.requireMailboxer().tpcs.cntOn(mailboxTopicKey(pre, topic));
|
|
201
185
|
return count > 0 ? count - 1 : -1;
|
|
@@ -205,9 +189,14 @@ export class MailboxDirector {
|
|
|
205
189
|
*
|
|
206
190
|
* The returned index is the mailbox event id that should be reflected in the
|
|
207
191
|
* SSE `id:` field for the emitted message.
|
|
192
|
+
*
|
|
193
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
194
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
195
|
+
* @param from Inclusive insertion ordinal; default zero.
|
|
196
|
+
* @returns Synchronous iterator of ordinal/message pairs in storage order.
|
|
208
197
|
*/
|
|
209
|
-
*topicIter(pre, topic, from = 0
|
|
210
|
-
for (const [idx, , msg] of this.requireMailboxer().cloneTopicIter(mailboxTopicKey(pre, topic), from
|
|
198
|
+
*topicIter(pre, topic, from = 0) {
|
|
199
|
+
for (const [idx, , msg] of this.requireMailboxer().cloneTopicIter(mailboxTopicKey(pre, topic), from)) {
|
|
211
200
|
yield { idx, msg };
|
|
212
201
|
}
|
|
213
202
|
}
|
|
@@ -219,19 +208,27 @@ export class MailboxDirector {
|
|
|
219
208
|
* - emit one initial `retry:` hint
|
|
220
209
|
* - stream ordered mailbox payloads as `id/event/data`
|
|
221
210
|
* - close once the idle window expires without new mailbox traffic
|
|
211
|
+
*
|
|
212
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
213
|
+
* @param topicCursor Next wanted insertion ordinal for each requested topic; copied before streaming.
|
|
214
|
+
* @param options SSE retry hint, local polling interval, optional idle expiry and initial hint selection.
|
|
215
|
+
* @returns Demand-driven response tracked until EOF, cancellation or director close.
|
|
222
216
|
*/
|
|
223
217
|
streamMailbox(pre, topicCursor, options = {}) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
catch (error) {
|
|
229
|
-
credit.release();
|
|
230
|
-
throw error;
|
|
231
|
-
}
|
|
218
|
+
if (this.closed)
|
|
219
|
+
throw new Error("Mailbox stream is closed");
|
|
220
|
+
return this.mailboxStream(pre, this.cursor(pre, topicCursor), options, true);
|
|
232
221
|
}
|
|
233
|
-
/**
|
|
234
|
-
|
|
222
|
+
/**
|
|
223
|
+
* Own one demand-driven mailbox reader; query responses join their nested reader themselves.
|
|
224
|
+
*
|
|
225
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
226
|
+
* @param cursors Response-owned next-wanted ordinals, advanced as rows are framed.
|
|
227
|
+
* @param options Millisecond retry/poll/idle settings; null idle timeout keeps the response open.
|
|
228
|
+
* @param tracked Track direct responses here; nested query responses are joined by their outer owner.
|
|
229
|
+
* @returns SSE bytes in 64 KiB chunks; database iterators close before awaiting HTTP demand.
|
|
230
|
+
*/
|
|
231
|
+
mailboxStream(pre, cursors, { retryMs = 5000, pollIntervalMs = 50, idleTimeoutMs = 2000, emitRetryHeader = true, }, tracked) {
|
|
235
232
|
for (const value of [retryMs, pollIntervalMs, idleTimeoutMs]) {
|
|
236
233
|
if (value !== null && (!Number.isSafeInteger(value) || value < 0)) {
|
|
237
234
|
throw new RangeError("Invalid mailbox stream timing");
|
|
@@ -249,7 +246,6 @@ export class MailboxDirector {
|
|
|
249
246
|
let idleSince;
|
|
250
247
|
let pending;
|
|
251
248
|
let closing;
|
|
252
|
-
let released = false;
|
|
253
249
|
/** Closing wakes a pending pull before its database owner is released. */
|
|
254
250
|
const stop = () => {
|
|
255
251
|
if (closed)
|
|
@@ -260,13 +256,11 @@ export class MailboxDirector {
|
|
|
260
256
|
wake?.();
|
|
261
257
|
parts = [];
|
|
262
258
|
};
|
|
259
|
+
/** Remove this direct stream from shutdown tracking after its pending pull settles. */
|
|
263
260
|
const finish = () => {
|
|
264
|
-
if (released)
|
|
265
|
-
return;
|
|
266
|
-
released = true;
|
|
267
261
|
this.streamCleanups.delete(close);
|
|
268
|
-
release();
|
|
269
262
|
};
|
|
263
|
+
/** Wake and join the pending pull once before forgetting this response owner. */
|
|
270
264
|
const cleanup = () => {
|
|
271
265
|
stop();
|
|
272
266
|
return closing ??= Promise.resolve(pending).finally(finish);
|
|
@@ -280,6 +274,11 @@ export class MailboxDirector {
|
|
|
280
274
|
return cleanup();
|
|
281
275
|
};
|
|
282
276
|
const readable = new ReadableStream({
|
|
277
|
+
/**
|
|
278
|
+
* Bind the Web stream controller before response demand begins.
|
|
279
|
+
*
|
|
280
|
+
* @param controller Web response controller retained for later pulls/shutdown.
|
|
281
|
+
*/
|
|
283
282
|
start(controller) {
|
|
284
283
|
stream = controller;
|
|
285
284
|
},
|
|
@@ -297,7 +296,7 @@ export class MailboxDirector {
|
|
|
297
296
|
while (!closed) {
|
|
298
297
|
if (parts.length) {
|
|
299
298
|
const part = parts[0];
|
|
300
|
-
const end = Math.min(part.length, offset +
|
|
299
|
+
const end = Math.min(part.length, offset + STREAM_CHUNK_BYTES);
|
|
301
300
|
controller.enqueue(part.slice(offset, end));
|
|
302
301
|
offset = end;
|
|
303
302
|
if (offset === part.length) {
|
|
@@ -308,7 +307,7 @@ export class MailboxDirector {
|
|
|
308
307
|
}
|
|
309
308
|
for (const [topic, start] of Object.entries(cursors)) {
|
|
310
309
|
// Take one stored item, then release the LMDB iterator before suspending on HTTP demand.
|
|
311
|
-
const items = this.topicIter(pre, topic, start
|
|
310
|
+
const items = this.topicIter(pre, topic, start);
|
|
312
311
|
let item;
|
|
313
312
|
try {
|
|
314
313
|
item = items.next().value;
|
|
@@ -318,9 +317,6 @@ export class MailboxDirector {
|
|
|
318
317
|
}
|
|
319
318
|
if (!item)
|
|
320
319
|
continue;
|
|
321
|
-
if (item.msg.buffer.byteLength > this.limits.maxMessageBytes) {
|
|
322
|
-
throw new ResourceLimitError("Mailbox SSE message exceeds byte limit");
|
|
323
|
-
}
|
|
324
320
|
parts = [
|
|
325
321
|
textEncoder.encode(`id: ${item.idx}\nevent: ${topic}\nretry: ${retryMs}\ndata: `),
|
|
326
322
|
item.msg,
|
|
@@ -376,24 +372,16 @@ export class MailboxDirector {
|
|
|
376
372
|
* This mirrors KERIpy `QryRpyMailboxIterable` ownership closely: the HTTP
|
|
377
373
|
* route does not guess mailbox topics itself; it waits for mailbox query
|
|
378
374
|
* correlation to tell it what to stream.
|
|
375
|
+
*
|
|
376
|
+
* @param said Query SAID used to locate an already-authorized stream cue; correlation alone is not authorization.
|
|
377
|
+
* @param options Retry hint and query-cue polling interval in milliseconds; defaults 5000 and 50.
|
|
378
|
+
* @returns Request-owned SSE response that waits for its cue then proxies an unbounded mailbox reader.
|
|
379
379
|
*/
|
|
380
|
-
streamQueryResponse(said,
|
|
381
|
-
if (this.
|
|
380
|
+
streamQueryResponse(said, { retryMs = 5000, pollIntervalMs = 50 } = {}) {
|
|
381
|
+
if (this.closed)
|
|
382
382
|
throw new Error("Mailbox query correlation is closed");
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
if (typeof said !== "string" || 4 * said.length > this.limits.maxMetadataBytes) {
|
|
386
|
-
throw new ResourceLimitError("Mailbox query metadata exceeds configured policy");
|
|
387
|
-
}
|
|
388
|
-
return this.queryStream(said, options, () => credit.release());
|
|
389
|
-
}
|
|
390
|
-
catch (error) {
|
|
391
|
-
credit.release();
|
|
392
|
-
throw error;
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
/** The outer query owner joins its nested reader before returning shared stream credit. */
|
|
396
|
-
queryStream(said, { retryMs = 5000, pollIntervalMs = 50, }, release) {
|
|
383
|
+
if (typeof said !== "string")
|
|
384
|
+
throw new RangeError("Invalid mailbox query SAID");
|
|
397
385
|
if (!Number.isSafeInteger(retryMs) || retryMs < 0 || !Number.isSafeInteger(pollIntervalMs) || pollIntervalMs < 1) {
|
|
398
386
|
throw new RangeError("Invalid mailbox query timing");
|
|
399
387
|
}
|
|
@@ -435,16 +423,8 @@ export class MailboxDirector {
|
|
|
435
423
|
catch (error) {
|
|
436
424
|
failures.push(error);
|
|
437
425
|
}
|
|
438
|
-
try {
|
|
439
|
-
selected?.release();
|
|
440
|
-
}
|
|
441
|
-
catch (error) {
|
|
442
|
-
if (!failures.includes(error))
|
|
443
|
-
failures.push(error);
|
|
444
|
-
}
|
|
445
426
|
selected = undefined;
|
|
446
427
|
this.streamCleanups.delete(close);
|
|
447
|
-
release();
|
|
448
428
|
if (failures.length === 1)
|
|
449
429
|
throw failures[0];
|
|
450
430
|
if (failures.length)
|
|
@@ -461,6 +441,9 @@ export class MailboxDirector {
|
|
|
461
441
|
return completed;
|
|
462
442
|
};
|
|
463
443
|
const readable = new ReadableStream({
|
|
444
|
+
/** Bind this nested response controller before the first pull.
|
|
445
|
+
* @param controller Web response controller used by pull and shutdown.
|
|
446
|
+
*/
|
|
464
447
|
start(controller) {
|
|
465
448
|
stream = controller;
|
|
466
449
|
},
|
|
@@ -474,7 +457,7 @@ export class MailboxDirector {
|
|
|
474
457
|
while (!reader && !closed) {
|
|
475
458
|
selected = this.takeQueryCue(said) ?? undefined;
|
|
476
459
|
if (selected) {
|
|
477
|
-
const cue = selected
|
|
460
|
+
const cue = selected;
|
|
478
461
|
if (cue.kin !== "stream")
|
|
479
462
|
throw new Error("Mailbox query owner is not a stream cue");
|
|
480
463
|
reader = this.mailboxStream(cue.pre, this.cursor(cue.pre, cue.topics), {
|
|
@@ -482,7 +465,7 @@ export class MailboxDirector {
|
|
|
482
465
|
pollIntervalMs,
|
|
483
466
|
idleTimeoutMs: null,
|
|
484
467
|
emitRetryHeader: false,
|
|
485
|
-
},
|
|
468
|
+
}, false).getReader();
|
|
486
469
|
break;
|
|
487
470
|
}
|
|
488
471
|
await new Promise((resolve) => {
|
|
@@ -531,11 +514,22 @@ export class MailboxDirector {
|
|
|
531
514
|
*
|
|
532
515
|
* Stored cursor rows track the last seen index, while the wire query asks for
|
|
533
516
|
* the next wanted index.
|
|
517
|
+
*
|
|
518
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
519
|
+
* @param witness Remote mailbox/witness endpoint AID, not the local signer.
|
|
520
|
+
* @returns Next-wanted ordinals (last consumed + 1, or zero) for registered topics.
|
|
534
521
|
*/
|
|
535
522
|
remoteQueryCursor(pre, witness) {
|
|
536
523
|
return mailboxQueryTopics(this.hby, pre, witness, this.topics);
|
|
537
524
|
}
|
|
538
|
-
/**
|
|
525
|
+
/**
|
|
526
|
+
* Persist one consumed remote mailbox index for one `(pre, witness, topic)`.
|
|
527
|
+
*
|
|
528
|
+
* @param pre AID whose mailbox or accepted state is addressed.
|
|
529
|
+
* @param witness Remote endpoint AID.
|
|
530
|
+
* @param topic Protocol mailbox topic; leading slash is normalized where required.
|
|
531
|
+
* @param idx Last successfully consumed insertion ordinal, not the next requested ordinal.
|
|
532
|
+
*/
|
|
539
533
|
updateRemoteCursor(pre, witness, topic, idx) {
|
|
540
534
|
updateMailboxRemoteCursor(this.hby, pre, witness, topic, idx);
|
|
541
535
|
}
|
|
@@ -545,6 +539,9 @@ export class MailboxDirector {
|
|
|
545
539
|
*
|
|
546
540
|
* This keeps query correlation observable without consuming cues that later
|
|
547
541
|
* host work still needs.
|
|
542
|
+
*
|
|
543
|
+
* @param said Exact query SAID whose stream request is sought.
|
|
544
|
+
* @returns Whether a matching request exists.
|
|
548
545
|
*/
|
|
549
546
|
hasQueryCue(said) {
|
|
550
547
|
for (const cue of this.queryCues) {
|
|
@@ -553,24 +550,34 @@ export class MailboxDirector {
|
|
|
553
550
|
}
|
|
554
551
|
return false;
|
|
555
552
|
}
|
|
556
|
-
/**
|
|
553
|
+
/**
|
|
554
|
+
* Select the first matching owner without re-admission or changing preceding cue order.
|
|
555
|
+
*
|
|
556
|
+
* @param said Exact query SAID whose stream request is sought.
|
|
557
|
+
* @returns Removed matching cue, or null; other cues retain their order.
|
|
558
|
+
*/
|
|
557
559
|
takeQueryCue(said) {
|
|
558
560
|
let preceding = 0;
|
|
559
561
|
for (const cue of this.queryCues) {
|
|
560
562
|
if (cue.kin === "stream" && cue.serder.said === said) {
|
|
561
563
|
const kept = [];
|
|
562
564
|
for (let i = 0; i < preceding; i++)
|
|
563
|
-
kept.push(this.queryCues.
|
|
564
|
-
const selected = this.queryCues.
|
|
565
|
+
kept.push(this.queryCues.pull());
|
|
566
|
+
const selected = this.queryCues.pull();
|
|
565
567
|
for (let i = kept.length - 1; i >= 0; i--)
|
|
566
|
-
this.queryCues.
|
|
568
|
+
this.queryCues.prepend(kept[i]);
|
|
567
569
|
return selected;
|
|
568
570
|
}
|
|
569
571
|
preceding++;
|
|
570
572
|
}
|
|
571
573
|
return null;
|
|
572
574
|
}
|
|
573
|
-
/**
|
|
575
|
+
/**
|
|
576
|
+
* Require provider mailbox storage for publication or mailbox serving.
|
|
577
|
+
*
|
|
578
|
+
* @returns Borrowed provider store.
|
|
579
|
+
* @throws ValidationError when storage is absent.
|
|
580
|
+
*/
|
|
574
581
|
requireMailboxer() {
|
|
575
582
|
if (!this.mailboxer) {
|
|
576
583
|
throw new ValidationError("Provider mailbox storage is unavailable for this runtime.");
|