keri-ts 1.0.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 +23 -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 +40 -7
- package/esm/keri/npm/src/acdc/regbasing.js +13 -2
- package/esm/keri/npm/src/acdc/regengine.js +71 -23
- package/esm/keri/npm/src/acdc/regeventing.js +163 -44
- package/esm/keri/npm/src/acdc/registering.js +93 -14
- 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 +94 -39
- package/esm/keri/npm/src/acdc/unblinding.js +1042 -0
- package/esm/keri/npm/src/app/{authenticating.js → bootstrap/authenticating.js} +39 -18
- package/esm/keri/npm/src/app/bootstrap/bootstrapping.js +109 -0
- package/esm/keri/npm/src/app/{oobi-replies.js → bootstrap/oobi-replies.js} +8 -6
- package/esm/keri/npm/src/app/{oobiery.js → bootstrap/oobiery.js} +161 -75
- 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} +41 -6
- 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/{reply-streams.js → delivery/reply-streams.js} +52 -7
- package/esm/keri/npm/src/app/delivery/respondant.js +159 -0
- package/esm/keri/npm/src/app/{stored-replies.js → delivery/stored-replies.js} +4 -4
- 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/{configing.js → identity/configing.js} +4 -4
- package/esm/keri/npm/src/app/{delegating.js → identity/delegating.js} +99 -29
- package/esm/keri/npm/src/app/{endpoint-roleing.js → identity/endpoint-roleing.js} +36 -36
- package/esm/keri/npm/src/app/{habbing.js → identity/habbing.js} +232 -150
- 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/ipex-building.js +162 -0
- package/esm/keri/npm/src/app/{ipex-credentialing.js → ipex/ipex-credentialing.js} +142 -31
- package/esm/keri/npm/src/app/ipex/ipex-graph.js +243 -0
- package/esm/keri/npm/src/app/ipex/ipex-grouping.js +664 -0
- package/esm/keri/npm/src/app/{ipex-node-authentication.js → ipex/ipex-node-authentication.js} +83 -6
- package/esm/keri/npm/src/app/ipex/ipex-v2.js +692 -0
- package/esm/keri/npm/src/app/{ipexing.js → ipex/ipexing.js} +58 -1
- 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} +120 -15
- 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} +118 -67
- 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/{grouping.js → multisig/grouping.js} +384 -70
- 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} +8 -14
- package/esm/keri/npm/src/app/{signaling.js → notifications/signaling.js} +1 -1
- package/esm/keri/npm/src/app/{parsering.js → protocol/parsering.js} +86 -18
- 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/{query-replies.js → queries/query-replies.js} +57 -6
- 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/{abortable.js → runtime/abortable.js} +43 -4
- 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} +36 -6
- 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} +20 -55
- 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} +39 -2
- 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 -6
- package/esm/keri/npm/src/{app/cli → cli}/common/existing.js +9 -11
- 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 +63 -36
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/ends.js +33 -28
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/loc.js +16 -11
- package/esm/keri/npm/src/cli/endpoints/oobi-clean.js +134 -0
- package/esm/keri/npm/src/{app/cli → cli/endpoints}/oobi.js +35 -32
- package/esm/keri/npm/src/{app/cli → cli/identity}/aid.js +8 -7
- package/esm/keri/npm/src/{app/cli → cli/identity}/challenge.js +60 -49
- package/esm/keri/npm/src/{app/cli → cli/identity}/delegate.js +61 -26
- 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/{app/cli → cli/identity}/rotate.js +60 -57
- package/esm/keri/npm/src/cli/index.js +38 -0
- package/esm/keri/npm/src/{app/cli → cli/messaging}/exchange.js +24 -22
- package/esm/keri/npm/src/{app/cli → cli/messaging}/multisig.js +165 -156
- 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/{app/cli → cli/tools}/annotate.js +10 -4
- package/esm/keri/npm/src/{app/cli → cli/tools}/benchmark.js +15 -4
- package/esm/keri/npm/src/{app/cli → cli/tools}/db-dump.js +11 -10
- 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/{exchange-proofing.js → exchange/exchange-proofing.js} +32 -2
- package/esm/keri/npm/src/core/{protocol-exchanging.js → exchange/protocol-exchanging.js} +26 -4
- package/esm/keri/npm/src/core/genus-framing.js +44 -0
- package/esm/keri/npm/src/core/{eventing.js → kel/eventing.js} +57 -25
- package/esm/keri/npm/src/core/{kever-decisions.js → kel/kever-decisions.js} +24 -12
- package/esm/keri/npm/src/core/{kever.js → kel/kever.js} +4 -4
- 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} +3 -3
- package/esm/keri/npm/src/core/{kram-signatures.js → mailbox/kram-signatures.js} +1 -1
- package/esm/keri/npm/src/core/{kram-staging.js → mailbox/kram-staging.js} +6 -6
- package/esm/keri/npm/src/core/{kram-time.js → mailbox/kram-time.js} +4 -3
- package/esm/keri/npm/src/core/{kraming.js → mailbox/kraming.js} +2 -2
- package/esm/keri/npm/src/core/protocol-eventing.js +1 -1
- package/esm/keri/npm/src/core/protocol-serialization.js +9 -34
- package/esm/keri/npm/src/core/routing.js +52 -17
- package/esm/keri/npm/src/db/baser-defaults.js +11 -0
- package/esm/keri/npm/src/db/basing.js +89 -232
- package/esm/keri/npm/src/db/core/lmdber.js +102 -63
- package/esm/keri/npm/src/db/escrowing.js +73 -49
- 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 -4
- package/esm/keri/npm/src/db/keeping.js +122 -3
- package/esm/keri/npm/src/db/{kram-factors.js → mailbox/kram-factors.js} +1 -1
- package/esm/keri/npm/src/db/{mailboxing.js → mailbox/mailboxing.js} +3 -3
- package/esm/keri/npm/src/db/reger.js +38 -29
- package/esm/keri/npm/src/db/{kel-replay.js → replay/kel-replay.js} +11 -4
- package/esm/keri/npm/src/db/{tel-replay.js → replay/tel-replay.js} +34 -0
- package/esm/keri/npm/src/db/{witness-replay.js → replay/witness-replay.js} +2 -2
- package/esm/keri/npm/src/db/subing.js +2 -3
- package/esm/keri/npm/src/did/webs/artifacts.js +15 -18
- package/esm/keri/npm/src/did/webs/designated-aliases.js +5 -7
- package/esm/keri/npm/src/did/webs/resolving.js +73 -56
- 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 +79 -47
- 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 -82
- package/esm/keri/npm/src/vdr/eventing.js +592 -204
- 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/{app/version.js → version.js} +2 -2
- package/package.json +5 -3
- package/types/_dnt.polyfills.d.ts +6 -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 +18 -7
- package/types/acdc/observing.d.ts.map +1 -1
- package/types/acdc/regbasing.d.ts +3 -1
- package/types/acdc/regbasing.d.ts.map +1 -1
- package/types/acdc/regengine.d.ts +9 -4
- 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 +22 -6
- package/types/acdc/registering.d.ts.map +1 -1
- package/types/acdc/registraring.d.ts +1 -1
- 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 +1 -1
- 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/{oobi-replies.d.ts → bootstrap/oobi-replies.d.ts} +1 -1
- package/types/app/bootstrap/oobi-replies.d.ts.map +1 -0
- package/types/app/{oobiery.d.ts → bootstrap/oobiery.d.ts} +98 -25
- 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} +19 -7
- 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/{stored-replies.d.ts → delivery/stored-replies.d.ts} +1 -1
- 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} +3 -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} +52 -15
- package/types/app/identity/delegating.d.ts.map +1 -0
- package/types/app/{endpoint-roleing.d.ts → identity/endpoint-roleing.d.ts} +24 -13
- package/types/app/identity/endpoint-roleing.d.ts.map +1 -0
- package/types/app/{habbing.d.ts → identity/habbing.d.ts} +73 -32
- 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/ipex-building.d.ts +30 -0
- package/types/app/ipex/ipex-building.d.ts.map +1 -0
- package/types/app/{ipex-credentialing.d.ts → ipex/ipex-credentialing.d.ts} +33 -6
- 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-node-authentication.d.ts → ipex/ipex-node-authentication.d.ts} +10 -5
- 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 -6
- 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 -40
- 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/{grouping.d.ts → multisig/grouping.d.ts} +142 -19
- 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} +4 -5
- package/types/app/notifications/notifying.d.ts.map +1 -0
- package/types/app/notifications/signaling.d.ts.map +1 -0
- package/types/app/{parsering.d.ts → protocol/parsering.d.ts} +40 -11
- 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} +4 -27
- 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} +8 -0
- 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 -5
- package/types/cli/common/context.d.ts.map +1 -0
- package/types/{app/cli → cli}/common/existing.d.ts +2 -4
- 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 +2 -0
- 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.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/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 +78 -21
- package/types/core/cues.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} +10 -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} +22 -10
- package/types/core/kel/eventing.d.ts.map +1 -0
- package/types/core/{kever-decisions.d.ts → kel/kever-decisions.d.ts} +21 -8
- package/types/core/kel/kever-decisions.d.ts.map +1 -0
- package/types/core/{kever.d.ts → kel/kever.d.ts} +2 -2
- 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} +1 -1
- package/types/core/mailbox/kram-pruning.d.ts.map +1 -0
- 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/{kram-staging.d.ts → mailbox/kram-staging.d.ts} +2 -2
- package/types/core/mailbox/kram-staging.d.ts.map +1 -0
- package/types/core/{kram-time.d.ts → mailbox/kram-time.d.ts} +2 -2
- package/types/core/mailbox/kram-time.d.ts.map +1 -0
- package/types/core/{kraming.d.ts → mailbox/kraming.d.ts} +5 -5
- 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.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/records.d.ts +1 -1
- package/types/core/records.d.ts.map +1 -1
- package/types/core/routing.d.ts +24 -4
- 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 +32 -44
- package/types/db/basing.d.ts.map +1 -1
- package/types/db/core/lmdber.d.ts +18 -13
- package/types/db/core/lmdber.d.ts.map +1 -1
- package/types/db/escrowing.d.ts +3 -1
- 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 -4
- 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/{kram-factors.d.ts → mailbox/kram-factors.d.ts} +2 -2
- package/types/db/mailbox/kram-factors.d.ts.map +1 -0
- package/types/db/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +2 -2
- package/types/db/mailbox/mailboxing.d.ts.map +1 -0
- package/types/db/reger.d.ts +7 -6
- package/types/db/reger.d.ts.map +1 -1
- package/types/db/{kel-replay.d.ts → replay/kel-replay.d.ts} +1 -2
- package/types/db/replay/kel-replay.d.ts.map +1 -0
- package/types/db/{tel-replay.d.ts → replay/tel-replay.d.ts} +11 -1
- package/types/db/replay/tel-replay.d.ts.map +1 -0
- package/types/db/{witness-replay.d.ts → replay/witness-replay.d.ts} +1 -1
- package/types/db/replay/witness-replay.d.ts.map +1 -0
- package/types/db/subing.d.ts.map +1 -1
- package/types/did/keri/resolving.d.ts +1 -1
- 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 +1 -2
- package/types/did/webs/designated-aliases.d.ts.map +1 -1
- package/types/did/webs/documenting.d.ts +1 -1
- package/types/did/webs/documenting.d.ts.map +1 -1
- package/types/did/webs/resolving.d.ts +13 -9
- 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 +86 -51
- 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 -17
- package/types/vdr/credentialing.d.ts.map +1 -1
- package/types/vdr/eventing.d.ts +60 -18
- 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 +1 -1
- 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/agent-runtime.js +0 -544
- package/esm/keri/npm/src/app/cesr-egress.js +0 -294
- 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 -185
- package/esm/keri/npm/src/app/cli/index.js +0 -36
- package/esm/keri/npm/src/app/cli/init.js +0 -149
- package/esm/keri/npm/src/app/cli/interact.js +0 -72
- package/esm/keri/npm/src/app/cli/ipex.js +0 -519
- package/esm/keri/npm/src/app/cli/query.js +0 -142
- package/esm/keri/npm/src/app/cli/vc.js +0 -283
- package/esm/keri/npm/src/app/cli/verifier.js +0 -92
- package/esm/keri/npm/src/app/credential-workflows.js +0 -409
- package/esm/keri/npm/src/app/cue-runtime.js +0 -38
- package/esm/keri/npm/src/app/essr.js +0 -170
- package/esm/keri/npm/src/app/exchanging.js +0 -1001
- package/esm/keri/npm/src/app/forwarding.js +0 -936
- package/esm/keri/npm/src/app/group-members.js +0 -37
- package/esm/keri/npm/src/app/httping.js +0 -162
- package/esm/keri/npm/src/app/ipex-graph.js +0 -407
- package/esm/keri/npm/src/app/ipex-grouping.js +0 -276
- package/esm/keri/npm/src/app/ipex-v2.js +0 -438
- package/esm/keri/npm/src/app/mailbox-sse.js +0 -240
- package/esm/keri/npm/src/app/multisig-workflows.js +0 -457
- package/esm/keri/npm/src/app/querying.js +0 -775
- package/esm/keri/npm/src/app/reactor.js +0 -394
- package/esm/keri/npm/src/app/respondant.js +0 -358
- package/esm/keri/npm/src/app/runtime-services.js +0 -22
- package/esm/keri/npm/src/app/tcp-conversation.js +0 -85
- package/esm/keri/npm/src/app/tcp-egress.js +0 -251
- package/esm/keri/npm/src/app/verifier-agent.js +0 -443
- package/esm/keri/npm/src/app/witnessing.js +0 -914
- package/esm/keri/npm/src/core/index.js +0 -23
- package/esm/keri/npm/src/db/exchange-nests.js +0 -80
- package/esm/keri/npm/src/db/exchange-records.js +0 -7
- package/esm/keri/npm/src/db/payload-archive.js +0 -402
- package/esm/keri/npm/src/db/payload-store.js +0 -406
- 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 -230
- package/esm/keri/npm/src/vdr/registry-tsn.js +0 -217
- package/types/app/abortable.d.ts +0 -13
- package/types/app/abortable.d.ts.map +0 -1
- package/types/app/agent-runtime.d.ts +0 -221
- 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 -45
- package/types/app/cesr-egress.d.ts.map +0 -1
- package/types/app/cesr-http.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.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 -113
- package/types/app/credential-workflows.d.ts.map +0 -1
- package/types/app/cue-runtime.d.ts +0 -12
- package/types/app/cue-runtime.d.ts.map +0 -1
- package/types/app/delegating.d.ts.map +0 -1
- package/types/app/endpoint-roleing.d.ts.map +0 -1
- package/types/app/essr.d.ts +0 -58
- package/types/app/essr.d.ts.map +0 -1
- package/types/app/exchanging.d.ts +0 -233
- package/types/app/exchanging.d.ts.map +0 -1
- package/types/app/forwarding.d.ts +0 -352
- 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.map +0 -1
- package/types/app/habbing.d.ts.map +0 -1
- package/types/app/httping.d.ts +0 -49
- package/types/app/httping.d.ts.map +0 -1
- package/types/app/ipex-credentialing.d.ts.map +0 -1
- package/types/app/ipex-graph.d.ts +0 -49
- package/types/app/ipex-graph.d.ts.map +0 -1
- package/types/app/ipex-grouping.d.ts +0 -43
- package/types/app/ipex-grouping.d.ts.map +0 -1
- package/types/app/ipex-node-authentication.d.ts.map +0 -1
- package/types/app/ipex-v2.d.ts +0 -46
- 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 -140
- package/types/app/mailbox-director.d.ts.map +0 -1
- package/types/app/mailbox-sse.d.ts +0 -32
- 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 -47
- 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.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.map +0 -1
- package/types/app/protocol-host-policy.d.ts.map +0 -1
- package/types/app/query-replies.d.ts +0 -40
- package/types/app/query-replies.d.ts.map +0 -1
- package/types/app/querying.d.ts +0 -221
- package/types/app/querying.d.ts.map +0 -1
- package/types/app/reactor.d.ts +0 -138
- package/types/app/reactor.d.ts.map +0 -1
- package/types/app/reply-streams.d.ts +0 -20
- package/types/app/reply-streams.d.ts.map +0 -1
- package/types/app/respondant.d.ts +0 -63
- package/types/app/respondant.d.ts.map +0 -1
- package/types/app/runtime-services.d.ts +0 -26
- 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.map +0 -1
- package/types/app/socket-source.d.ts.map +0 -1
- package/types/app/stored-replies.d.ts.map +0 -1
- package/types/app/tcp-conversation.d.ts +0 -27
- package/types/app/tcp-conversation.d.ts.map +0 -1
- package/types/app/tcp-egress.d.ts +0 -49
- package/types/app/tcp-egress.d.ts.map +0 -1
- package/types/app/verifier-agent.d.ts +0 -92
- 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 -223
- package/types/app/witnessing.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-policy.d.ts.map +0 -1
- package/types/core/kram-pruning.d.ts.map +0 -1
- package/types/core/kram-signatures.d.ts.map +0 -1
- 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.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 -15
- package/types/db/exchange-nests.d.ts.map +0 -1
- package/types/db/exchange-records.d.ts +0 -33
- 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/mailboxing.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 -23
- package/types/vdr/credential-tsn.d.ts.map +0 -1
- package/types/vdr/registry-tsn.d.ts +0 -28
- 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/{challenging.js → identity/challenging.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/{signaling.d.ts → notifications/signaling.d.ts} +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}/delegate.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}/db-dump.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,9 +1,21 @@
|
|
|
1
|
-
import { call } from "effection";
|
|
2
|
-
import {
|
|
1
|
+
import { call, scoped } from "effection";
|
|
2
|
+
import { persistResolvedContact } from "../identity/organizing.js";
|
|
3
|
+
import { runtimeTurn } from "../runtime/runtime-turn.js";
|
|
3
4
|
import { isWellKnownOobiUrl, parseOobiUrl } from "./oobiery.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Return true when a well-known URL has been authorized into `wkas.`.
|
|
7
|
+
*
|
|
8
|
+
* @param db Borrowed authentication records; this read acquires no runtime or I/O lifetime.
|
|
9
|
+
* @param url Exact requested OOBI/well-known URL whose durable state is inspected.
|
|
10
|
+
* @returns Whether the documented authentication/convergence predicate currently holds.
|
|
11
|
+
*/
|
|
12
|
+
export function hasWellKnownAuth(db, url) {
|
|
13
|
+
const cid = parseOobiUrl(url).cid;
|
|
14
|
+
if (!cid) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return db.wkas.get(cid).some((record) => record.url === url);
|
|
18
|
+
}
|
|
7
19
|
/**
|
|
8
20
|
* Well-known OOBI authenticator for one `Habery`.
|
|
9
21
|
*
|
|
@@ -18,22 +30,29 @@ import { runtimeTurn } from "./runtime-turn.js";
|
|
|
18
30
|
* - `wkas.` records successful `(cid, url)` authorizations
|
|
19
31
|
*/
|
|
20
32
|
export class Authenticator {
|
|
21
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Bind the local authentication store and its configured HTTP dependency.
|
|
35
|
+
*
|
|
36
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
37
|
+
* @param http Borrowed HTTP implementation selected by composition.
|
|
38
|
+
*/
|
|
39
|
+
constructor(hby, http) {
|
|
40
|
+
/** Borrowed local identities and durable well-known authentication records. */
|
|
22
41
|
Object.defineProperty(this, "hby", {
|
|
23
42
|
enumerable: true,
|
|
24
43
|
configurable: true,
|
|
25
44
|
writable: true,
|
|
26
45
|
value: void 0
|
|
27
46
|
});
|
|
28
|
-
|
|
47
|
+
/** HTTP implementation selected when this authenticator is composed. */
|
|
48
|
+
Object.defineProperty(this, "http", {
|
|
29
49
|
enumerable: true,
|
|
30
50
|
configurable: true,
|
|
31
51
|
writable: true,
|
|
32
52
|
value: void 0
|
|
33
53
|
});
|
|
34
|
-
const services = options.services ?? defaultRuntimeServices;
|
|
35
54
|
this.hby = hby;
|
|
36
|
-
this.
|
|
55
|
+
this.http = http;
|
|
37
56
|
}
|
|
38
57
|
/** Process one bounded auth step if queued well-known work exists. */
|
|
39
58
|
*processOnce() {
|
|
@@ -100,16 +119,24 @@ export class Authenticator {
|
|
|
100
119
|
}
|
|
101
120
|
return null;
|
|
102
121
|
}
|
|
103
|
-
/**
|
|
122
|
+
/**
|
|
123
|
+
* Fetch one `mfa.` record and persist the terminal auth result.
|
|
124
|
+
*
|
|
125
|
+
* @param url Exact pending well-known authentication URL.
|
|
126
|
+
* @param record Durable mfa record retained until response handling and cleanup establish terminal state.
|
|
127
|
+
*/
|
|
104
128
|
*processPendingAuth(url, record) {
|
|
105
129
|
// Only HTTP status is needed; the response owner still joins body cleanup.
|
|
106
130
|
const cid = record.cid
|
|
107
131
|
?? parseOobiUrl(url, record.oobialias ?? undefined).cid
|
|
108
132
|
?? null;
|
|
109
|
-
const
|
|
133
|
+
const http = this.http;
|
|
134
|
+
const response = yield* scoped(function* () {
|
|
135
|
+
const response = yield* http.open(url);
|
|
136
|
+
return { ok: response.ok, status: response.status };
|
|
137
|
+
});
|
|
110
138
|
const date = new Date().toISOString();
|
|
111
139
|
const state = response.ok ? "resolved" : `http-${response.status}`;
|
|
112
|
-
yield* closeResponseBody(response);
|
|
113
140
|
this.hby.db.mfa.rem(url);
|
|
114
141
|
this.hby.db.rmfa.pin(url, {
|
|
115
142
|
...record,
|
|
@@ -126,9 +153,3 @@ export class Authenticator {
|
|
|
126
153
|
}
|
|
127
154
|
}
|
|
128
155
|
}
|
|
129
|
-
function* fetchAuthResponse(url, services) {
|
|
130
|
-
const { response } = yield* fetchResponseHandle(url, {}, {
|
|
131
|
-
services,
|
|
132
|
-
});
|
|
133
|
-
return response;
|
|
134
|
-
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/** Finite introduction/authentication composition shared by environment creation and inception. */
|
|
2
|
+
import { scoped, spawn } from "effection";
|
|
3
|
+
import { createProtocolProcessor } from "../protocol/protocol-processing.js";
|
|
4
|
+
import { runtimeTurn } from "../runtime/runtime-turn.js";
|
|
5
|
+
import { Authenticator, hasWellKnownAuth } from "./authenticating.js";
|
|
6
|
+
import { Oobiery, oobiTerminalState } from "./oobiery.js";
|
|
7
|
+
/**
|
|
8
|
+
* Resolve this command's pending introductions and well-known authentication.
|
|
9
|
+
*
|
|
10
|
+
* The command is the sole OOBI/authentication worker owner for its borrowed Habery.
|
|
11
|
+
* Select existing oobis/coobi/moobi and woobi/mfa rows, then include children and
|
|
12
|
+
* introductions queued by processing them. Old terminal rows alone select no work.
|
|
13
|
+
* Surviving coobi/mfa/moobi rows resume through their ordinary component owners.
|
|
14
|
+
* A queued attempt takes precedence over any older terminal/authorization row.
|
|
15
|
+
* The actual table family selects its terminal evidence: a well-known URL may
|
|
16
|
+
* be an ordinary introduction, a separate authentication, or both.
|
|
17
|
+
*
|
|
18
|
+
* Like KERIpy init, compose Oobiery and Authenticator directly. Resolution means
|
|
19
|
+
* that Oobiery processed the response, not that all its protocol evidence was
|
|
20
|
+
* accepted. KEL/reply escrow processing lets evidence arriving in separate
|
|
21
|
+
* responses unlock introductions and authentication's required controller state.
|
|
22
|
+
* Escrow contents never determine bootstrap completion. Later operations must
|
|
23
|
+
* check the accepted evidence they actually require.
|
|
24
|
+
*
|
|
25
|
+
* @param hby Borrowed identities/configuration/Baser; kept open through cleanup.
|
|
26
|
+
* @param http Borrowed request implementation used by OOBIs and authentication.
|
|
27
|
+
* @param options Finite positive elapsed deadline, default 30 seconds.
|
|
28
|
+
* @returns Selected terminal success, refusal or deadline after all children/I/O join.
|
|
29
|
+
* @throws Invariant, parser, storage, transport and cleanup failures propagate unchanged.
|
|
30
|
+
*/
|
|
31
|
+
export function resolveBootstrap(hby, http, { timeoutMs = 30_000 } = {}) {
|
|
32
|
+
return scoped(function* bootstrapScope() {
|
|
33
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
34
|
+
throw new RangeError("Bootstrap timeout must be finite and positive");
|
|
35
|
+
}
|
|
36
|
+
const selected = { oobis: new Set(), woobi: new Set() };
|
|
37
|
+
collectPendingUrls(hby.db, selected);
|
|
38
|
+
if (selected.oobis.size === 0 && selected.woobi.size === 0)
|
|
39
|
+
return { kind: "complete" };
|
|
40
|
+
const protocol = createProtocolProcessor(hby);
|
|
41
|
+
const oobiery = new Oobiery(hby, protocol, protocol.rvy, http, protocol.cues);
|
|
42
|
+
oobiery.registerReplyRoutes();
|
|
43
|
+
const authenticator = new Authenticator(hby, http);
|
|
44
|
+
yield* spawn(() => oobiery.oobiDo());
|
|
45
|
+
yield* spawn(() => authenticator.authDo());
|
|
46
|
+
yield* spawn(function* () {
|
|
47
|
+
while (true) {
|
|
48
|
+
protocol.processKelReplyEscrowsOnce();
|
|
49
|
+
yield* runtimeTurn();
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const deadline = performance.now() + timeoutMs;
|
|
53
|
+
while (true) {
|
|
54
|
+
collectPendingUrls(hby.db, selected);
|
|
55
|
+
const result = inspectBootstrap(hby.db, selected);
|
|
56
|
+
if (result)
|
|
57
|
+
return result;
|
|
58
|
+
if (performance.now() >= deadline) {
|
|
59
|
+
const pending = [];
|
|
60
|
+
for (const kind of ["oobis", "woobi"]) {
|
|
61
|
+
for (const url of selected[kind])
|
|
62
|
+
if (!bootstrapUrlComplete(hby.db, url, kind))
|
|
63
|
+
pending.push(url);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
kind: "timeout",
|
|
67
|
+
pending: [...new Set(pending)],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
yield* runtimeTurn();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/** Select actual queued/in-flight records; Oobiery owns multi-OOBI child completion. */
|
|
75
|
+
function collectPendingUrls(db, selected) {
|
|
76
|
+
for (const store of [db.oobis, db.coobi, db.moobi]) {
|
|
77
|
+
for (const [keys] of store.getTopItemIter())
|
|
78
|
+
if (keys[0])
|
|
79
|
+
selected.oobis.add(keys[0]);
|
|
80
|
+
}
|
|
81
|
+
for (const store of [db.woobi, db.mfa]) {
|
|
82
|
+
for (const [keys] of store.getTopItemIter())
|
|
83
|
+
if (keys[0])
|
|
84
|
+
selected.woobi.add(keys[0]);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** Require current terminal evidence; a saved authorization cannot mask a queued retry. */
|
|
88
|
+
function bootstrapUrlComplete(db, url, kind) {
|
|
89
|
+
if (oobiTerminalState(db, url, kind).status !== "resolved")
|
|
90
|
+
return false;
|
|
91
|
+
return kind === "oobis" || hasWellKnownAuth(db, url);
|
|
92
|
+
}
|
|
93
|
+
/** Decide only from selected URLs; absence of queue rows alone never establishes success. */
|
|
94
|
+
function inspectBootstrap(db, selected) {
|
|
95
|
+
const failures = [];
|
|
96
|
+
let pending = false;
|
|
97
|
+
for (const kind of ["oobis", "woobi"]) {
|
|
98
|
+
for (const url of selected[kind]) {
|
|
99
|
+
const terminal = oobiTerminalState(db, url, kind);
|
|
100
|
+
if (terminal.status === "failed")
|
|
101
|
+
failures.push({ url, state: terminal.record?.state ?? "failed" });
|
|
102
|
+
else if (!bootstrapUrlComplete(db, url, kind))
|
|
103
|
+
pending = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (failures.length)
|
|
107
|
+
return { kind: "failed", failures };
|
|
108
|
+
return pending ? null : { kind: "complete" };
|
|
109
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/** Lazy OOBI output borrows its Hab/keeper/database; metadata capture begins only on iterator acquisition. */
|
|
2
|
-
import { DatabaseOperationError } from "
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { DatabaseOperationError } from "../../core/errors.js";
|
|
3
|
+
import { genusFramed } from "../../core/genus-framing.js";
|
|
4
|
+
import { Roles } from "../../core/roles.js";
|
|
5
|
+
import { dgKey } from "../../db/core/keys.js";
|
|
6
|
+
import { loadStoredReply } from "../delivery/stored-replies.js";
|
|
6
7
|
/**
|
|
7
8
|
* Capture primitive descriptors, then emit finite messages in the established OOBI order.
|
|
8
9
|
* Selector inputs are borrowed and must stay immutable until acquisition under the caller's owner.
|
|
@@ -15,7 +16,8 @@ export function oobiReplyMessages(hab, cid, role, eids, scheme, requireReady) {
|
|
|
15
16
|
const selected = [];
|
|
16
17
|
for (let index = 0; index < count; index++)
|
|
17
18
|
selected.push(eids[index]);
|
|
18
|
-
|
|
19
|
+
// KELs, other parties' stored replies and fresh replies may legitimately differ in genus.
|
|
20
|
+
return genusFramed((function* () {
|
|
19
21
|
const parts = [], cloned = new Set();
|
|
20
22
|
const clone = (pre) => {
|
|
21
23
|
if (!pre || cloned.has(pre))
|
|
@@ -105,7 +107,7 @@ export function oobiReplyMessages(hab, cid, role, eids, scheme, requireReady) {
|
|
|
105
107
|
: hab.makeEndRole(part.eid, part.role, true);
|
|
106
108
|
}
|
|
107
109
|
}
|
|
108
|
-
})();
|
|
110
|
+
})());
|
|
109
111
|
},
|
|
110
112
|
};
|
|
111
113
|
}
|
|
@@ -1,19 +1,53 @@
|
|
|
1
1
|
import { Ilks, Prefixer, SerderKERI } from "cesr-ts";
|
|
2
|
-
import { call, resource } from "effection";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { OOBI_MAILBOX_TOPIC } from "
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { abortable } from "
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { defaultRuntimeServices } from "./runtime-services.js";
|
|
15
|
-
import { runtimeTurn } from "./runtime-turn.js";
|
|
2
|
+
import { call, resource, scoped } from "effection";
|
|
3
|
+
import { ValidationError } from "../../core/errors.js";
|
|
4
|
+
import { exchange } from "../../core/exchange/protocol-exchanging.js";
|
|
5
|
+
import { OOBI_MAILBOX_TOPIC } from "../../core/mailbox/mailbox-topics.js";
|
|
6
|
+
import { Roles } from "../../core/roles.js";
|
|
7
|
+
import { acceptReplyDecision, unverifiedReplyDecision } from "../../core/routing.js";
|
|
8
|
+
import { Schemer } from "../../core/scheming.js";
|
|
9
|
+
import { persistResolvedContact } from "../identity/organizing.js";
|
|
10
|
+
import { abortable } from "../runtime/abortable.js";
|
|
11
|
+
import { runtimeTurn } from "../runtime/runtime-turn.js";
|
|
12
|
+
import { collectBytes } from "../transport/byte-source.js";
|
|
13
|
+
import { processMessages } from "../transport/message-source.js";
|
|
16
14
|
export const OOBI_REQUEST_ROUTE = "/oobis";
|
|
15
|
+
/**
|
|
16
|
+
* Return the current terminal state projection for one requested OOBI URL.
|
|
17
|
+
*
|
|
18
|
+
* @param db Borrowed OOBI/authentication records; this read starts no workers or I/O.
|
|
19
|
+
* @param url Exact requested OOBI/well-known URL whose durable state is inspected.
|
|
20
|
+
* @param kind Actual queued family; ordinary CLI resolution infers it from the URL.
|
|
21
|
+
* Configuration may put the same well-known URL in introduction and auth queues.
|
|
22
|
+
* @returns Current durable terminal projection for that family.
|
|
23
|
+
*/
|
|
24
|
+
export function oobiTerminalState(db, url, kind = queueKindFor(url)) {
|
|
25
|
+
if (kind === "woobi") {
|
|
26
|
+
if (db.woobi.get(url) || db.mfa.get(url))
|
|
27
|
+
return { status: "pending", via: "none", record: null };
|
|
28
|
+
const record = db.rmfa.get(url);
|
|
29
|
+
if (!record) {
|
|
30
|
+
return { status: "pending", via: "none", record: null };
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
status: record.state === "resolved" ? "resolved" : "failed",
|
|
34
|
+
via: "rmfa",
|
|
35
|
+
record,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (db.oobis.get(url) || db.coobi.get(url) || db.moobi.get(url)) {
|
|
39
|
+
return { status: "pending", via: "none", record: null };
|
|
40
|
+
}
|
|
41
|
+
const failed = db.eoobi.get(url);
|
|
42
|
+
if (failed) {
|
|
43
|
+
return { status: "failed", via: "eoobi", record: failed };
|
|
44
|
+
}
|
|
45
|
+
const resolved = db.roobi.get(url);
|
|
46
|
+
if (resolved) {
|
|
47
|
+
return { status: "resolved", via: "roobi", record: resolved };
|
|
48
|
+
}
|
|
49
|
+
return { status: "pending", via: "none", record: null };
|
|
50
|
+
}
|
|
17
51
|
/**
|
|
18
52
|
* Durable OOBI processing component for one `Habery`.
|
|
19
53
|
*
|
|
@@ -28,45 +62,79 @@ export const OOBI_REQUEST_ROUTE = "/oobis";
|
|
|
28
62
|
* leak back to the `AgentRuntime` root
|
|
29
63
|
*/
|
|
30
64
|
export class Oobiery {
|
|
31
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Bind byte intake and the actual reply verifier used by OOBI proof persistence.
|
|
67
|
+
*
|
|
68
|
+
* @param hby Borrowed local identities and accepted-state stores.
|
|
69
|
+
* @param protocol Borrowed shared semantic owner; this component owns its fetched byte-input context.
|
|
70
|
+
* @param rvy Actual shared reply verifier used for OOBI reply proof persistence.
|
|
71
|
+
* @param http Borrowed HTTP implementation selected by composition.
|
|
72
|
+
* @param cues Required application result Deck supplied by composition.
|
|
73
|
+
*/
|
|
74
|
+
constructor(hby, protocol,
|
|
75
|
+
/** Borrowed reply verifier; route installation and proof writes share this owner. */
|
|
76
|
+
rvy, http, cues) {
|
|
77
|
+
Object.defineProperty(this, "protocol", {
|
|
78
|
+
enumerable: true,
|
|
79
|
+
configurable: true,
|
|
80
|
+
writable: true,
|
|
81
|
+
value: protocol
|
|
82
|
+
});
|
|
83
|
+
Object.defineProperty(this, "rvy", {
|
|
84
|
+
enumerable: true,
|
|
85
|
+
configurable: true,
|
|
86
|
+
writable: true,
|
|
87
|
+
value: rvy
|
|
88
|
+
});
|
|
89
|
+
/** Borrowed local identities and durable OOBI job stores. */
|
|
32
90
|
Object.defineProperty(this, "hby", {
|
|
33
91
|
enumerable: true,
|
|
34
92
|
configurable: true,
|
|
35
93
|
writable: true,
|
|
36
94
|
value: void 0
|
|
37
95
|
});
|
|
38
|
-
|
|
96
|
+
/** Input-specific KEL policy sharing accepted state and the composed reply verifier. */
|
|
97
|
+
Object.defineProperty(this, "kvy", {
|
|
39
98
|
enumerable: true,
|
|
40
99
|
configurable: true,
|
|
41
100
|
writable: true,
|
|
42
101
|
value: void 0
|
|
43
102
|
});
|
|
103
|
+
/** OOBI completion/query observations consumed by the composed application flow. */
|
|
44
104
|
Object.defineProperty(this, "cues", {
|
|
45
105
|
enumerable: true,
|
|
46
106
|
configurable: true,
|
|
47
107
|
writable: true,
|
|
48
108
|
value: void 0
|
|
49
109
|
});
|
|
50
|
-
|
|
110
|
+
/** Borrowed HTTP client; no network service is discovered through ingress. */
|
|
111
|
+
Object.defineProperty(this, "http", {
|
|
51
112
|
enumerable: true,
|
|
52
113
|
configurable: true,
|
|
53
114
|
writable: true,
|
|
54
115
|
value: void 0
|
|
55
116
|
});
|
|
117
|
+
/** Prevent overlapping passes over this owner's durable job queue. */
|
|
56
118
|
Object.defineProperty(this, "active", {
|
|
57
119
|
enumerable: true,
|
|
58
120
|
configurable: true,
|
|
59
121
|
writable: true,
|
|
60
122
|
value: false
|
|
61
123
|
});
|
|
62
|
-
const { cues, services = defaultRuntimeServices } = options;
|
|
63
124
|
this.hby = hby;
|
|
64
|
-
this.
|
|
65
|
-
this.
|
|
66
|
-
|
|
125
|
+
this.kvy = protocol.makeKevery();
|
|
126
|
+
if (this.kvy.db !== hby.db || this.kvy.rvy !== rvy) {
|
|
127
|
+
throw new TypeError("Oobiery requires the same accepted-state store and reply verifier");
|
|
128
|
+
}
|
|
129
|
+
this.cues = cues;
|
|
130
|
+
this.http = http;
|
|
67
131
|
}
|
|
68
|
-
/**
|
|
69
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Register `/introduce` on the shared reply router.
|
|
134
|
+
*
|
|
135
|
+
* @param router Shared reply router on which /introduce is registered.
|
|
136
|
+
*/
|
|
137
|
+
registerReplyRoutes(router = this.rvy.rtr) {
|
|
70
138
|
router.addRoute("/introduce", this);
|
|
71
139
|
}
|
|
72
140
|
/**
|
|
@@ -87,9 +155,9 @@ export class Oobiery {
|
|
|
87
155
|
* Process one queued durable OOBI record, if any.
|
|
88
156
|
*
|
|
89
157
|
* Behavior:
|
|
90
|
-
* - reads the next queued `oobis.`
|
|
158
|
+
* - reads the next queued `oobis.` record or resumes a surviving `coobi.` row
|
|
91
159
|
* - fetches it under Effection cancellation control
|
|
92
|
-
* -
|
|
160
|
+
* - parses fetched KERI bytes through this owner's Kevery and shared semantic handlers
|
|
93
161
|
* - transitions the durable record into `eoobi.` or `roobi.`
|
|
94
162
|
*/
|
|
95
163
|
*processOnce() {
|
|
@@ -143,27 +211,24 @@ export class Oobiery {
|
|
|
143
211
|
yield* runtimeTurn();
|
|
144
212
|
}
|
|
145
213
|
}
|
|
146
|
-
/**
|
|
214
|
+
/** Select queued work, including a surviving in-flight row whose former process is gone. */
|
|
147
215
|
nextQueued() {
|
|
148
|
-
for (const
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
|
|
216
|
+
for (const store of [this.hby.db.oobis, this.hby.db.coobi]) {
|
|
217
|
+
for (const [keys, record] of store.getTopItemIter()) {
|
|
218
|
+
const url = keys[0];
|
|
219
|
+
if (url)
|
|
220
|
+
return ["oobis", url, record];
|
|
152
221
|
}
|
|
153
|
-
return ["oobis", url, record];
|
|
154
222
|
}
|
|
155
223
|
return null;
|
|
156
224
|
}
|
|
157
|
-
/**
|
|
225
|
+
/** Select a parent only after its current child attempts, including authentication, settle. */
|
|
158
226
|
nextReadyMoobi() {
|
|
159
227
|
for (const [keys, record] of this.hby.db.moobi.getTopItemIter()) {
|
|
160
228
|
const url = keys[0];
|
|
161
|
-
if (!url)
|
|
229
|
+
if (!url)
|
|
162
230
|
continue;
|
|
163
|
-
|
|
164
|
-
const urls = record.urls ?? [];
|
|
165
|
-
if (urls.length === 0
|
|
166
|
-
|| urls.every((childUrl) => !!this.hby.db.roobi.get(childUrl) || !!this.hby.db.eoobi.get(childUrl))) {
|
|
231
|
+
if ((record.urls ?? []).every(child => oobiTerminalState(this.hby.db, child).status !== "pending")) {
|
|
167
232
|
return [url, record];
|
|
168
233
|
}
|
|
169
234
|
}
|
|
@@ -177,9 +242,13 @@ export class Oobiery {
|
|
|
177
242
|
* - `coobi.` while a fetched response is being processed
|
|
178
243
|
* - `eoobi.` on HTTP failure
|
|
179
244
|
* - `roobi.` after parser/routing success
|
|
245
|
+
*
|
|
246
|
+
* @param kind Durable OOBI queue family identifying the job path.
|
|
247
|
+
* @param url Exact OOBI URL used as the durable job key.
|
|
248
|
+
* @param record Pending durable job; retained through failure and joined cleanup.
|
|
180
249
|
*/
|
|
181
250
|
*processJob(kind, url, record) {
|
|
182
|
-
const
|
|
251
|
+
const http = this.http;
|
|
183
252
|
const meta = {
|
|
184
253
|
...parseOobiUrl(url, record.oobialias ?? undefined),
|
|
185
254
|
...record,
|
|
@@ -195,31 +264,50 @@ export class Oobiery {
|
|
|
195
264
|
oobialias: meta.alias ?? meta.oobialias ?? null,
|
|
196
265
|
said: meta.said ?? null,
|
|
197
266
|
};
|
|
198
|
-
//
|
|
199
|
-
|
|
267
|
+
// A new or resumed attempt supersedes old terminal facts, but keeps its
|
|
268
|
+
// queued row until intake succeeds. Cancellation can therefore retry it.
|
|
269
|
+
this.hby.db.env.transactionSync(() => {
|
|
270
|
+
this.pinQueueStore(kind, url, queuedRecord);
|
|
271
|
+
this.hby.db.eoobi.rem(url);
|
|
272
|
+
this.hby.db.roobi.rem(url);
|
|
273
|
+
});
|
|
274
|
+
const consume = this.processResponse.bind(this);
|
|
200
275
|
try {
|
|
201
|
-
yield*
|
|
276
|
+
const refused = yield* scoped(function* () {
|
|
277
|
+
const response = yield* http.open(url);
|
|
278
|
+
if (!response.ok)
|
|
279
|
+
return response.status;
|
|
280
|
+
yield* consume(kind, url, queuedRecord, meta, response);
|
|
281
|
+
return null;
|
|
282
|
+
});
|
|
283
|
+
if (refused === null)
|
|
284
|
+
this.remQueueStore(kind, url);
|
|
285
|
+
else {
|
|
286
|
+
// The response has closed before its terminal HTTP outcome is persisted.
|
|
287
|
+
const result = { ...queuedRecord, date: new Date().toISOString(), state: `http-${refused}` };
|
|
288
|
+
this.remQueueStore(kind, url);
|
|
289
|
+
this.hby.db.eoobi.pin(url, result);
|
|
290
|
+
this.cues.push({ kin: "oobiFailed", url, reason: `HTTP ${refused}` });
|
|
291
|
+
}
|
|
202
292
|
}
|
|
203
293
|
finally {
|
|
204
294
|
this.hby.db.coobi.rem(url);
|
|
205
295
|
}
|
|
206
296
|
}
|
|
207
|
-
/**
|
|
297
|
+
/**
|
|
298
|
+
* Consume one owned response; queued ownership ends only after a terminal result is persisted.
|
|
299
|
+
*
|
|
300
|
+
* @param kind Durable OOBI queue family identifying the job path.
|
|
301
|
+
* @param url Exact OOBI URL used as the durable job key.
|
|
302
|
+
* @param queuedRecord Original durable job metadata retained until terminal publication.
|
|
303
|
+
* @param meta Parsed OOBI URL metadata selecting the response interpretation.
|
|
304
|
+
* @param response Borrowed scoped HTTP response; complete processing precedes terminal state.
|
|
305
|
+
*/
|
|
208
306
|
*processResponse(kind, url, queuedRecord, meta, response) {
|
|
209
|
-
if (!response.ok) {
|
|
210
|
-
yield* closeResponseBody(response);
|
|
211
|
-
const result = { ...queuedRecord, date: new Date().toISOString(), state: `http-${response.status}` };
|
|
212
|
-
const cues = [{ kin: "oobiFailed", url, reason: `HTTP ${response.status}` }];
|
|
213
|
-
this.remQueueStore(kind, url);
|
|
214
|
-
this.hby.db.eoobi.pin(url, result);
|
|
215
|
-
this.cues.extend(cues);
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
307
|
const type = mediaType(response.headers.get("content-type") ?? "");
|
|
219
308
|
if (isCesrMediaType(type) || !type.includes("json")) {
|
|
220
309
|
// Keep durable retry ownership throughout partial acceptance and joined cancellation.
|
|
221
310
|
yield* this.resolveCesrOobiResponse(kind, url, queuedRecord, meta, response);
|
|
222
|
-
this.remQueueStore(kind, url);
|
|
223
311
|
return;
|
|
224
312
|
}
|
|
225
313
|
const bytes = yield* readResponseBytes(response);
|
|
@@ -230,28 +318,31 @@ export class Oobiery {
|
|
|
230
318
|
});
|
|
231
319
|
if (type === "application/schema+json") {
|
|
232
320
|
if (this.processSchemaOobiResponse(url, queuedRecord, bytes)) {
|
|
233
|
-
this.remQueueStore(kind, url);
|
|
234
321
|
return;
|
|
235
322
|
}
|
|
236
323
|
this.failFetchedOobi(url, queuedRecord, "invalid-schema-oobi");
|
|
237
|
-
this.remQueueStore(kind, url);
|
|
238
324
|
return;
|
|
239
325
|
}
|
|
240
326
|
if (type.includes("json")) {
|
|
241
327
|
if (this.processSchemaOobiResponse(url, queuedRecord, bytes)) {
|
|
242
|
-
this.remQueueStore(kind, url);
|
|
243
328
|
return;
|
|
244
329
|
}
|
|
245
330
|
if (this.processJsonOobiResponse(url, queuedRecord, bytes)) {
|
|
246
|
-
this.remQueueStore(kind, url);
|
|
247
331
|
return;
|
|
248
332
|
}
|
|
249
333
|
this.failFetchedOobi(url, queuedRecord, "invalid-json-oobi");
|
|
250
|
-
this.remQueueStore(kind, url);
|
|
251
334
|
return;
|
|
252
335
|
}
|
|
253
336
|
}
|
|
254
|
-
/**
|
|
337
|
+
/**
|
|
338
|
+
* Mark an OOBI resolved only after its complete CESR response has been dispatched.
|
|
339
|
+
*
|
|
340
|
+
* @param kind Durable OOBI queue family identifying the job path.
|
|
341
|
+
* @param url Exact OOBI URL used as the durable job key.
|
|
342
|
+
* @param queuedRecord Original durable job metadata retained until terminal publication.
|
|
343
|
+
* @param meta Parsed OOBI URL metadata selecting the response interpretation.
|
|
344
|
+
* @param response Borrowed scoped HTTP response; complete processing precedes terminal state.
|
|
345
|
+
*/
|
|
255
346
|
*resolveCesrOobiResponse(kind, url, queuedRecord, meta, response) {
|
|
256
347
|
const cue = {
|
|
257
348
|
kin: "oobiResolved",
|
|
@@ -262,7 +353,7 @@ export class Oobiery {
|
|
|
262
353
|
};
|
|
263
354
|
this.pinQueueStore(kind, url, queuedRecord);
|
|
264
355
|
this.hby.db.coobi.pin(url, { ...queuedRecord, state: "streaming" });
|
|
265
|
-
yield*
|
|
356
|
+
yield* processMessages((signal) => response.body(signal), this.protocol, this.kvy);
|
|
266
357
|
this.hby.db.coobi.rem(url);
|
|
267
358
|
this.hby.db.roobi.pin(url, { ...queuedRecord, date: new Date().toISOString(), state: "resolved" });
|
|
268
359
|
persistResolvedContact(this.hby, meta.cid, { alias: queuedRecord.oobialias, oobi: url });
|
|
@@ -341,7 +432,7 @@ export class Oobiery {
|
|
|
341
432
|
const urls = record.urls ?? [];
|
|
342
433
|
const date = new Date().toISOString();
|
|
343
434
|
const failed = urls.length === 0
|
|
344
|
-
|| urls.some(
|
|
435
|
+
|| urls.some(childUrl => oobiTerminalState(this.hby.db, childUrl).status === "failed");
|
|
345
436
|
const state = failed ? (urls.length === 0 ? "invalid-multi-oobi" : "child-failed") : "resolved";
|
|
346
437
|
const result = { ...record, date, state };
|
|
347
438
|
const cues = failed
|
|
@@ -399,6 +490,8 @@ export class Oobiery {
|
|
|
399
490
|
/**
|
|
400
491
|
* Process one `/introduce` reply and enqueue the introduced OOBI into the
|
|
401
492
|
* ordinary durable resolver path.
|
|
493
|
+
*
|
|
494
|
+
* @param args Verified reply route input and signature evidence used to persist introduction results.
|
|
402
495
|
*/
|
|
403
496
|
processReply(args) {
|
|
404
497
|
if (args.route !== "/introduce") {
|
|
@@ -415,7 +508,7 @@ export class Oobiery {
|
|
|
415
508
|
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
416
509
|
throw new ValidationError(`Invalid introduced OOBI scheme ${parsed.protocol}.`);
|
|
417
510
|
}
|
|
418
|
-
const proof = this.
|
|
511
|
+
const proof = this.rvy.decideReply({
|
|
419
512
|
serder: args.serder,
|
|
420
513
|
saider: args.diger,
|
|
421
514
|
route: args.route,
|
|
@@ -424,9 +517,9 @@ export class Oobiery {
|
|
|
424
517
|
cigars: args.cigars,
|
|
425
518
|
tsgs: args.tsgs,
|
|
426
519
|
});
|
|
427
|
-
const queryCues = this.
|
|
520
|
+
const queryCues = this.rvy.cues;
|
|
428
521
|
if (proof.kind === "unverified") {
|
|
429
|
-
this.
|
|
522
|
+
this.rvy.writeReply(proof);
|
|
430
523
|
if (proof.cues.length)
|
|
431
524
|
queryCues.extend(proof.cues);
|
|
432
525
|
return unverifiedReplyDecision(`Unverified introduction reply ${args.serder.said ?? "<unknown>"}.`);
|
|
@@ -442,7 +535,7 @@ export class Oobiery {
|
|
|
442
535
|
said: meta.said ?? null,
|
|
443
536
|
};
|
|
444
537
|
const cues = [{ kin: "oobiQueued", url: oobi }];
|
|
445
|
-
this.
|
|
538
|
+
this.rvy.writeReply(proof);
|
|
446
539
|
this.pinQueueStore(kind, oobi, record);
|
|
447
540
|
if (proof.cues.length)
|
|
448
541
|
queryCues.extend(proof.cues);
|
|
@@ -618,18 +711,11 @@ function isCesrMediaType(type) {
|
|
|
618
711
|
}
|
|
619
712
|
export { OOBI_MAILBOX_TOPIC };
|
|
620
713
|
/**
|
|
621
|
-
*
|
|
714
|
+
* Collect one finite OOBI document and join its reader on cancellation.
|
|
622
715
|
*
|
|
623
|
-
*
|
|
624
|
-
*
|
|
716
|
+
* @param response Borrowed finite OOBI document response.
|
|
717
|
+
* @returns Collected bytes after reader cleanup joins.
|
|
625
718
|
*/
|
|
626
|
-
function* fetchOobiResponse(url, services = defaultRuntimeServices) {
|
|
627
|
-
const { response } = yield* fetchResponseHandle(url, {}, {
|
|
628
|
-
services,
|
|
629
|
-
});
|
|
630
|
-
return response;
|
|
631
|
-
}
|
|
632
|
-
/** Collect one finite OOBI document and join its reader on cancellation. */
|
|
633
719
|
function* readResponseBytes(response) {
|
|
634
|
-
return yield* abortable((signal) => collectBytes(
|
|
720
|
+
return yield* abortable((signal) => collectBytes(response.body(signal)));
|
|
635
721
|
}
|