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,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core module - public API
|
|
3
|
-
*
|
|
4
|
-
* This module will contain core KERI types (future).
|
|
5
|
-
*/
|
|
6
|
-
export * from "./bytes.js";
|
|
7
|
-
export * from "./cues.js";
|
|
8
|
-
export * from "./deck.js";
|
|
9
|
-
export * from "./dispatch.js";
|
|
10
|
-
export * from "./errors.js";
|
|
11
|
-
export * from "./eventing.js";
|
|
12
|
-
export * from "./kever-decisions.js";
|
|
13
|
-
export * from "./kever.js";
|
|
14
|
-
export * from "./logger.js";
|
|
15
|
-
export * from "./mailbox-topics.js";
|
|
16
|
-
export * as ProtocolEventing from "./protocol-eventing.js";
|
|
17
|
-
export * as ProtocolExchanging from "./protocol-exchanging.js";
|
|
18
|
-
export * as ProtocolSerialization from "./protocol-serialization.js";
|
|
19
|
-
export * as ProtocolVdrEventing from "./protocol-vdr-eventing.js";
|
|
20
|
-
export * as Records from "./records.js";
|
|
21
|
-
export * from "./roles.js";
|
|
22
|
-
export * from "./routing.js";
|
|
23
|
-
export * from "./scheming.js";
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/** KERIpy enst. wire storage and finite nested evidence hydration. */
|
|
2
|
-
import { b, collectPayload, concatBytes, Counter, nestedPayload, parseBytes, t, Vrsn_2_0, } from "cesr-ts";
|
|
3
|
-
import { suffix, unsuffix } from "./core/keys.js";
|
|
4
|
-
/** Read one physical row and close the LMDB key cursor before any caller suspension. */
|
|
5
|
-
function nextRow(db, table, said, ordinal) {
|
|
6
|
-
for (const key of table.sdb.getKeys({ start: suffix(b(said), ordinal) })) {
|
|
7
|
-
const [owner, index] = unsuffix(key);
|
|
8
|
-
if (t(owner) !== said)
|
|
9
|
-
return null;
|
|
10
|
-
const wire = db.getVal(table.sdb, key);
|
|
11
|
-
if (!wire)
|
|
12
|
-
throw new Error("Stored nested row disappeared");
|
|
13
|
-
return { wire, next: index + 1 };
|
|
14
|
-
}
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
/** Test row presence without hydrating a potentially large wire value. */
|
|
18
|
-
export function hasNests(db, said, ordinal = 0) {
|
|
19
|
-
return hasRow(db.enst, said, ordinal);
|
|
20
|
-
}
|
|
21
|
-
/** Check a public or private bucket without hydrating any wire value. */
|
|
22
|
-
function hasRow(table, said, ordinal = 0) {
|
|
23
|
-
for (const key of table.sdb.getKeys({ start: suffix(b(said), ordinal) }))
|
|
24
|
-
return t(unsuffix(key)[0]) === said;
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
/** Preserve exact-value set semantics without building hex strings or a collection of prior rows. */
|
|
28
|
-
function sameWire(left, right) {
|
|
29
|
-
return left.length === right.length && left.every((value, index) => value === right[index]);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Prepare replacement rows one child wire at a time in private staging.
|
|
33
|
-
* The caller supplies a unique admission key and removes that bucket on every exit; accepted evidence is untouched.
|
|
34
|
-
*/
|
|
35
|
-
export async function stageNests(db, stage, nests, signal) {
|
|
36
|
-
if (hasRow(db.enstStaging, stage))
|
|
37
|
-
throw new Error("Nested stage is already owned");
|
|
38
|
-
for (const child of nests) {
|
|
39
|
-
const wire = await collectPayload(nestedPayload(child, Vrsn_2_0), signal);
|
|
40
|
-
let ordinal = 0;
|
|
41
|
-
let duplicate = false;
|
|
42
|
-
// One finite comparison row at a time preserves Python IoSet ordering and deduplication.
|
|
43
|
-
for (let row = nextRow(db, db.enstStaging, stage, ordinal); row; row = nextRow(db, db.enstStaging, stage, ordinal)) {
|
|
44
|
-
if (sameWire(row.wire, wire)) {
|
|
45
|
-
duplicate = true;
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
ordinal = row.next;
|
|
49
|
-
}
|
|
50
|
-
signal?.throwIfAborted();
|
|
51
|
-
if (!duplicate)
|
|
52
|
-
db.enstStaging.sdb.putSync(suffix(b(stage), ordinal), wire);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/** Replace the public IoSet within the caller's accepted/escrow transaction; never retain an array of rows. */
|
|
56
|
-
export function publishNests(db, said, stage) {
|
|
57
|
-
db.enst.rem([said]);
|
|
58
|
-
let ordinal = 0;
|
|
59
|
-
for (let row = nextRow(db, db.enstStaging, stage, ordinal); row; row = nextRow(db, db.enstStaging, stage, ordinal)) {
|
|
60
|
-
db.enst.sdb.putSync(suffix(b(said), ordinal), row.wire);
|
|
61
|
-
ordinal = row.next;
|
|
62
|
-
}
|
|
63
|
-
db.enstStaging.rem([stage]);
|
|
64
|
-
}
|
|
65
|
-
/** Hydrate each stored wrapper through the finite decoder without parser-owned files. */
|
|
66
|
-
export function loadNests(db, said) {
|
|
67
|
-
const nests = [];
|
|
68
|
-
let ordinal = 0;
|
|
69
|
-
for (;;) {
|
|
70
|
-
const row = nextRow(db, db.enst, said, ordinal);
|
|
71
|
-
if (!row)
|
|
72
|
-
break;
|
|
73
|
-
ordinal = row.next;
|
|
74
|
-
const frames = parseBytes(concatBytes(Counter.makeGVC(Vrsn_2_0), row.wire));
|
|
75
|
-
if (frames.length !== 1)
|
|
76
|
-
throw new Error("Stored nested row must contain exactly one child substream");
|
|
77
|
-
nests.push(frames[0]);
|
|
78
|
-
}
|
|
79
|
-
return nests;
|
|
80
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { RawRecord } from "../core/records.js";
|
|
2
|
-
/** Private metadata; the ordinary KERIpy exchange tables retain their wire schema. */
|
|
3
|
-
export class ExchangeRecord extends RawRecord {
|
|
4
|
-
}
|
|
5
|
-
/** Offset of the inner CESR stream within an authenticated plaintext object. */
|
|
6
|
-
export class PlaintextRecord extends RawRecord {
|
|
7
|
-
}
|
|
@@ -1,402 +0,0 @@
|
|
|
1
|
-
import * as dntShim from "../_dnt.shims.js";
|
|
2
|
-
import { dirname, join, resolve } from "../deps/jsr.io/@std/path/1.1.6/mod.js";
|
|
3
|
-
import { RawRecord } from "../core/records.js";
|
|
4
|
-
import { Komer } from "./koming.js";
|
|
5
|
-
import { PayloadStore } from "./payload-store.js";
|
|
6
|
-
/** Private reference metadata; KERIpy wire tables keep their original contents. */
|
|
7
|
-
class PayloadRecord extends RawRecord {
|
|
8
|
-
}
|
|
9
|
-
/** Reverse ownership lookup bounds orphan recovery memory independently of archive size. */
|
|
10
|
-
class OwnerRecord extends RawRecord {
|
|
11
|
-
}
|
|
12
|
-
/** Canonical directories owned by runtimes in this process. */
|
|
13
|
-
const activeRoots = new Set();
|
|
14
|
-
/** Random UUIDs identify only unfinished staging files. */
|
|
15
|
-
const stageId = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
16
|
-
/** Final objects use safe dot-separated immutable owner keys, such as essr.SAID. */
|
|
17
|
-
const objectId = /^[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*$/;
|
|
18
|
-
/** Flush directory entries before a durable database reference can name them. */
|
|
19
|
-
async function syncDirectory(path) {
|
|
20
|
-
const directory = await dntShim.Deno.open(path, { read: true });
|
|
21
|
-
try {
|
|
22
|
-
await directory.sync();
|
|
23
|
-
}
|
|
24
|
-
finally {
|
|
25
|
-
directory.close();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/** Create missing ancestors in order and flush each new parent entry before proceeding. */
|
|
29
|
-
async function makeRoot(path, signal) {
|
|
30
|
-
signal?.throwIfAborted();
|
|
31
|
-
try {
|
|
32
|
-
await dntShim.Deno.mkdir(path, { mode: 0o700 });
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
if (error instanceof dntShim.Deno.errors.AlreadyExists)
|
|
36
|
-
return;
|
|
37
|
-
if (!(error instanceof dntShim.Deno.errors.NotFound))
|
|
38
|
-
throw error;
|
|
39
|
-
await makeRoot(dirname(path), signal);
|
|
40
|
-
await dntShim.Deno.mkdir(path, { mode: 0o700 });
|
|
41
|
-
}
|
|
42
|
-
await syncDirectory(dirname(path));
|
|
43
|
-
signal?.throwIfAborted();
|
|
44
|
-
}
|
|
45
|
-
/** Compare differently chunked sources without collecting either payload. */
|
|
46
|
-
async function samePayload(left, right, signal) {
|
|
47
|
-
signal?.throwIfAborted();
|
|
48
|
-
if (left.size !== right.size)
|
|
49
|
-
return false;
|
|
50
|
-
const source = right.open(signal)[Symbol.asyncIterator]();
|
|
51
|
-
let other = new Uint8Array();
|
|
52
|
-
let offset = 0;
|
|
53
|
-
let size = 0;
|
|
54
|
-
try {
|
|
55
|
-
for await (const chunk of left.open(signal)) {
|
|
56
|
-
for (const byte of chunk) {
|
|
57
|
-
while (offset === other.length) {
|
|
58
|
-
const next = await source.next();
|
|
59
|
-
if (next.done)
|
|
60
|
-
return false;
|
|
61
|
-
other = next.value;
|
|
62
|
-
offset = 0;
|
|
63
|
-
}
|
|
64
|
-
if (byte !== other[offset++])
|
|
65
|
-
return false;
|
|
66
|
-
size++;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (size !== left.size || offset !== other.length)
|
|
70
|
-
return false;
|
|
71
|
-
for (;;) {
|
|
72
|
-
const next = await source.next();
|
|
73
|
-
if (next.done)
|
|
74
|
-
return true;
|
|
75
|
-
if (next.value.length)
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
finally {
|
|
80
|
-
await source.return?.();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Immutable payload references in private LMDB tables, separate from wire evidence.
|
|
85
|
-
*
|
|
86
|
-
* The host must exclusively own this directory across processes. An in-process
|
|
87
|
-
* guard rejects duplicate runtime owners; this is not a cross-process file lock.
|
|
88
|
-
* Open finishes incremental recovery before admitting work. A file and its
|
|
89
|
-
* directory entries reach disk before reference publication; reference deletion
|
|
90
|
-
* reaches disk before file deletion. Mutations reject concurrent admission.
|
|
91
|
-
*/
|
|
92
|
-
export class PayloadArchive {
|
|
93
|
-
/** Bind the private stores after the canonical directory has been reserved. */
|
|
94
|
-
constructor(db, root) {
|
|
95
|
-
Object.defineProperty(this, "db", {
|
|
96
|
-
enumerable: true,
|
|
97
|
-
configurable: true,
|
|
98
|
-
writable: true,
|
|
99
|
-
value: db
|
|
100
|
-
});
|
|
101
|
-
Object.defineProperty(this, "root", {
|
|
102
|
-
enumerable: true,
|
|
103
|
-
configurable: true,
|
|
104
|
-
writable: true,
|
|
105
|
-
value: root
|
|
106
|
-
});
|
|
107
|
-
/** Staging and transfer boundary for this private directory. */
|
|
108
|
-
Object.defineProperty(this, "files", {
|
|
109
|
-
enumerable: true,
|
|
110
|
-
configurable: true,
|
|
111
|
-
writable: true,
|
|
112
|
-
value: void 0
|
|
113
|
-
});
|
|
114
|
-
/** Forward immutable application key to object reference. */
|
|
115
|
-
Object.defineProperty(this, "refs", {
|
|
116
|
-
enumerable: true,
|
|
117
|
-
configurable: true,
|
|
118
|
-
writable: true,
|
|
119
|
-
value: void 0
|
|
120
|
-
});
|
|
121
|
-
/** Reverse object ownership, used for bounded orphan recovery. */
|
|
122
|
-
Object.defineProperty(this, "owners", {
|
|
123
|
-
enumerable: true,
|
|
124
|
-
configurable: true,
|
|
125
|
-
writable: true,
|
|
126
|
-
value: void 0
|
|
127
|
-
});
|
|
128
|
-
/** Stops new admission while close waits for an existing mutation. */
|
|
129
|
-
Object.defineProperty(this, "closed", {
|
|
130
|
-
enumerable: true,
|
|
131
|
-
configurable: true,
|
|
132
|
-
writable: true,
|
|
133
|
-
value: false
|
|
134
|
-
});
|
|
135
|
-
/** At most one admitted mutation; no internal wait queue. */
|
|
136
|
-
Object.defineProperty(this, "active", {
|
|
137
|
-
enumerable: true,
|
|
138
|
-
configurable: true,
|
|
139
|
-
writable: true,
|
|
140
|
-
value: null
|
|
141
|
-
});
|
|
142
|
-
/** Shared idempotent shutdown result. */
|
|
143
|
-
Object.defineProperty(this, "closing", {
|
|
144
|
-
enumerable: true,
|
|
145
|
-
configurable: true,
|
|
146
|
-
writable: true,
|
|
147
|
-
value: null
|
|
148
|
-
});
|
|
149
|
-
this.files = new PayloadStore(root);
|
|
150
|
-
this.refs = new Komer(db, { subkey: "payload.refs.", recordClass: PayloadRecord });
|
|
151
|
-
this.owners = new Komer(db, { subkey: "payload.owners.", recordClass: OwnerRecord });
|
|
152
|
-
}
|
|
153
|
-
/** Recover under exclusive startup ownership before returning a usable archive. */
|
|
154
|
-
static async open(db, root, signal) {
|
|
155
|
-
if (!db.env || db.readonly)
|
|
156
|
-
throw new Error("Payload archive requires an open writable database");
|
|
157
|
-
const path = resolve(root);
|
|
158
|
-
await makeRoot(path, signal);
|
|
159
|
-
const canonical = await dntShim.Deno.realPath(path);
|
|
160
|
-
signal?.throwIfAborted();
|
|
161
|
-
if (activeRoots.has(canonical))
|
|
162
|
-
throw new Error("Payload archive already has an owner");
|
|
163
|
-
activeRoots.add(canonical);
|
|
164
|
-
let archive;
|
|
165
|
-
try {
|
|
166
|
-
archive = new PayloadArchive(db, canonical);
|
|
167
|
-
for (const name of ["staging", "objects"]) {
|
|
168
|
-
const directory = join(canonical, name);
|
|
169
|
-
await dntShim.Deno.mkdir(directory, { mode: 0o700, recursive: true });
|
|
170
|
-
if (!(await dntShim.Deno.lstat(directory)).isDirectory) {
|
|
171
|
-
throw new Error("Payload archive directory must not be a symlink");
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
await syncDirectory(canonical);
|
|
175
|
-
await archive.recover(signal);
|
|
176
|
-
signal?.throwIfAborted();
|
|
177
|
-
return archive;
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
await archive?.files.close();
|
|
181
|
-
activeRoots.delete(canonical);
|
|
182
|
-
throw error;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Publish immutable bytes and related synchronous state in one LMDB transaction.
|
|
187
|
-
* An unclaimed local file transfers ownership on admission; referenced files
|
|
188
|
-
* are borrowed and copied like external sources. Failed publication leaves any
|
|
189
|
-
* promoted orphan for recovery.
|
|
190
|
-
* Cancellation reaches source reads and staging until the durability transaction
|
|
191
|
-
* begins; an admitted transaction finishes and flushes before returning.
|
|
192
|
-
* Final names map key segments to dots (essr/SAID → essr.SAID); these are
|
|
193
|
-
* immutable owner identities, not independent hashes of the stored bytes.
|
|
194
|
-
* An identical duplicate runs commit against the existing reference, then drops
|
|
195
|
-
* its redundant file; conflicting bytes never replace an existing reference.
|
|
196
|
-
*/
|
|
197
|
-
publish(key, payload, commit = () => { }, signal) {
|
|
198
|
-
this.checkKey(key);
|
|
199
|
-
return this.mutate(async () => {
|
|
200
|
-
signal?.throwIfAborted();
|
|
201
|
-
const existing = await this.lookup(key);
|
|
202
|
-
if (existing) {
|
|
203
|
-
if (!await samePayload(existing, payload, signal)) {
|
|
204
|
-
throw new Error("Payload reference already contains different bytes");
|
|
205
|
-
}
|
|
206
|
-
signal?.throwIfAborted();
|
|
207
|
-
this.environment().transactionSync(commit);
|
|
208
|
-
await this.environment().flushed;
|
|
209
|
-
if (this.files.owns(payload) && !this.owners.get([payload.id])) {
|
|
210
|
-
await this.files.adopt(payload).discard();
|
|
211
|
-
}
|
|
212
|
-
return existing;
|
|
213
|
-
}
|
|
214
|
-
const owned = await this.own(payload, signal);
|
|
215
|
-
try {
|
|
216
|
-
signal?.throwIfAborted();
|
|
217
|
-
const id = key.replaceAll("/", ".");
|
|
218
|
-
if (owned.id !== id)
|
|
219
|
-
await this.removeOrphan(id);
|
|
220
|
-
signal?.throwIfAborted();
|
|
221
|
-
await owned.promote(id);
|
|
222
|
-
}
|
|
223
|
-
catch (error) {
|
|
224
|
-
await owned.discard();
|
|
225
|
-
throw error;
|
|
226
|
-
}
|
|
227
|
-
// Reopen from this archive to verify identity/size before publishing any reference.
|
|
228
|
-
const reopened = await this.files.open(owned.id);
|
|
229
|
-
if (reopened.size !== owned.size)
|
|
230
|
-
throw new Error("Payload file size changed before publication");
|
|
231
|
-
await syncDirectory(join(this.root, "objects"));
|
|
232
|
-
await syncDirectory(join(this.root, "staging"));
|
|
233
|
-
await syncDirectory(this.root);
|
|
234
|
-
const env = this.environment();
|
|
235
|
-
signal?.throwIfAborted();
|
|
236
|
-
env.transactionSync(() => {
|
|
237
|
-
if (this.refs.get([key]) || this.owners.get([owned.id])) {
|
|
238
|
-
throw new Error("Payload publication conflicts with existing ownership");
|
|
239
|
-
}
|
|
240
|
-
this.refs.put([key], { id: owned.id, size: owned.size });
|
|
241
|
-
this.owners.put([owned.id], { key });
|
|
242
|
-
commit();
|
|
243
|
-
});
|
|
244
|
-
await env.flushed;
|
|
245
|
-
return this.view(owned);
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
/** Reopen durable bytes without permission to delete their file. */
|
|
249
|
-
async get(key, signal) {
|
|
250
|
-
this.check();
|
|
251
|
-
this.checkKey(key);
|
|
252
|
-
signal?.throwIfAborted();
|
|
253
|
-
const result = await this.lookup(key);
|
|
254
|
-
signal?.throwIfAborted();
|
|
255
|
-
return result;
|
|
256
|
-
}
|
|
257
|
-
/** Unpublish durably before reclaiming the file; interrupted deletion is recoverable. */
|
|
258
|
-
remove(key, commit = () => { }, signal) {
|
|
259
|
-
this.checkKey(key);
|
|
260
|
-
return this.mutate(async () => {
|
|
261
|
-
signal?.throwIfAborted();
|
|
262
|
-
const env = this.environment();
|
|
263
|
-
const record = env.transactionSync(() => {
|
|
264
|
-
const value = this.refs.get([key]);
|
|
265
|
-
this.refs.rem([key]);
|
|
266
|
-
if (value)
|
|
267
|
-
this.owners.rem([value.id]);
|
|
268
|
-
commit();
|
|
269
|
-
return value;
|
|
270
|
-
});
|
|
271
|
-
await env.flushed;
|
|
272
|
-
if (record)
|
|
273
|
-
await (await this.files.open(record.id)).discard();
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
/** Finish admitted publication before releasing the runtime owner. */
|
|
277
|
-
close() {
|
|
278
|
-
if (this.closing)
|
|
279
|
-
return this.closing;
|
|
280
|
-
this.closed = true;
|
|
281
|
-
this.closing = (async () => {
|
|
282
|
-
await this.active?.catch(() => undefined);
|
|
283
|
-
await this.files.close();
|
|
284
|
-
activeRoots.delete(this.root);
|
|
285
|
-
})();
|
|
286
|
-
return this.closing;
|
|
287
|
-
}
|
|
288
|
-
/** Adopt an unclaimed local file; copy borrowed archive files and external sources. */
|
|
289
|
-
async own(payload, signal) {
|
|
290
|
-
signal?.throwIfAborted();
|
|
291
|
-
if (this.files.owns(payload) && !this.owners.get([payload.id]))
|
|
292
|
-
return this.files.adopt(payload);
|
|
293
|
-
const sink = await this.files.stage(signal);
|
|
294
|
-
try {
|
|
295
|
-
let size = 0;
|
|
296
|
-
for await (const chunk of payload.open(signal)) {
|
|
297
|
-
await sink.write(chunk);
|
|
298
|
-
size += chunk.length;
|
|
299
|
-
}
|
|
300
|
-
if (size !== payload.size)
|
|
301
|
-
throw new Error("Payload size changed during publication");
|
|
302
|
-
return await sink.finish();
|
|
303
|
-
}
|
|
304
|
-
finally {
|
|
305
|
-
await sink.abort();
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
/** Allow retry after a rolled-back publication without touching any referenced object. */
|
|
309
|
-
async removeOrphan(id) {
|
|
310
|
-
if (this.owners.get([id]))
|
|
311
|
-
throw new Error("Payload publication conflicts with existing ownership");
|
|
312
|
-
const path = join(this.root, "objects", id);
|
|
313
|
-
try {
|
|
314
|
-
if (!(await dntShim.Deno.lstat(path)).isFile)
|
|
315
|
-
throw new Error("Unexpected entry in private payload archive");
|
|
316
|
-
await dntShim.Deno.remove(path);
|
|
317
|
-
}
|
|
318
|
-
catch (error) {
|
|
319
|
-
if (!(error instanceof dntShim.Deno.errors.NotFound))
|
|
320
|
-
throw error;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
/** Resolve both ownership directions and verify the stored file length. */
|
|
324
|
-
async lookup(key) {
|
|
325
|
-
this.environment();
|
|
326
|
-
const record = this.refs.get([key]);
|
|
327
|
-
if (!record)
|
|
328
|
-
return null;
|
|
329
|
-
const payload = await this.files.open(record.id);
|
|
330
|
-
if (record.id !== key.replaceAll("/", ".") || payload.size !== record.size
|
|
331
|
-
|| this.owners.get([record.id])?.key !== key) {
|
|
332
|
-
throw new Error("Payload archive reference is inconsistent");
|
|
333
|
-
}
|
|
334
|
-
return this.view(payload);
|
|
335
|
-
}
|
|
336
|
-
/** Sweep unreferenced files and validate every surviving reference before admission. */
|
|
337
|
-
async recover(signal) {
|
|
338
|
-
// Iterate directory entries and rows individually; no aggregate list of payload IDs.
|
|
339
|
-
for (const name of ["staging", "objects"]) {
|
|
340
|
-
signal?.throwIfAborted();
|
|
341
|
-
for await (const entry of dntShim.Deno.readDir(join(this.root, name))) {
|
|
342
|
-
signal?.throwIfAborted();
|
|
343
|
-
const valid = name === "staging"
|
|
344
|
-
? stageId.test(entry.name)
|
|
345
|
-
: entry.name.length <= 240 && objectId.test(entry.name);
|
|
346
|
-
if (!entry.isFile || !valid) {
|
|
347
|
-
throw new Error("Unexpected entry in private payload archive");
|
|
348
|
-
}
|
|
349
|
-
const owner = name === "objects" ? this.owners.get([entry.name]) : null;
|
|
350
|
-
if (!owner)
|
|
351
|
-
await dntShim.Deno.remove(join(this.root, name, entry.name));
|
|
352
|
-
else if (this.refs.get([owner.key])?.id !== entry.name) {
|
|
353
|
-
throw new Error("Payload owner has no matching reference");
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
await syncDirectory(join(this.root, name));
|
|
357
|
-
}
|
|
358
|
-
for (const [keys] of this.refs.getTopItemIter()) {
|
|
359
|
-
signal?.throwIfAborted();
|
|
360
|
-
await this.lookup(keys[0]);
|
|
361
|
-
}
|
|
362
|
-
for (const [keys, owner] of this.owners.getTopItemIter()) {
|
|
363
|
-
signal?.throwIfAborted();
|
|
364
|
-
if (this.refs.get([owner.key])?.id !== keys.join("."))
|
|
365
|
-
throw new Error("Payload owner has no matching reference");
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
/** Reject overlapping mutations and release admission state on either outcome. */
|
|
369
|
-
mutate(operation) {
|
|
370
|
-
this.check();
|
|
371
|
-
if (this.active)
|
|
372
|
-
return Promise.reject(new Error("Payload archive has an active mutation"));
|
|
373
|
-
// Reserve admission before any synchronous transaction callback can reenter.
|
|
374
|
-
const active = Promise.resolve().then(operation);
|
|
375
|
-
this.active = active;
|
|
376
|
-
return active.finally(() => {
|
|
377
|
-
this.active = null;
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
/** Hide mutable file ownership behind the public read-only payload contract. */
|
|
381
|
-
view(payload) {
|
|
382
|
-
return { size: payload.size, open: (signal) => payload.open(signal) };
|
|
383
|
-
}
|
|
384
|
-
/** Require a live archive and database before accepting a public operation. */
|
|
385
|
-
check() {
|
|
386
|
-
if (this.closed)
|
|
387
|
-
throw new Error("Payload archive is closed");
|
|
388
|
-
this.environment();
|
|
389
|
-
}
|
|
390
|
-
/** Require the backing LMDB environment to remain open. */
|
|
391
|
-
environment() {
|
|
392
|
-
if (!this.db.env)
|
|
393
|
-
throw new Error("Payload archive database is closed");
|
|
394
|
-
return this.db.env;
|
|
395
|
-
}
|
|
396
|
-
/** Keep the key-to-filename mapping injective and within filesystem/LMDB limits. */
|
|
397
|
-
checkKey(key) {
|
|
398
|
-
if (key.length > 240 || !/^[A-Za-z0-9_-]+(?:\/[A-Za-z0-9_-]+)*$/.test(key)) {
|
|
399
|
-
throw new TypeError("Invalid payload reference key");
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
}
|