keri-ts 2.0.1 → 2.2.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 +30 -2
- package/esm/keri/npm/src/acdc/authoring.js +195 -0
- package/esm/keri/npm/src/acdc/chaining.js +223 -89
- package/esm/keri/npm/src/acdc/custody.js +164 -0
- package/esm/keri/npm/src/acdc/dhking.js +244 -32
- package/esm/keri/npm/src/acdc/observing.js +2 -2
- package/esm/keri/npm/src/acdc/regbasing.js +30 -29
- package/esm/keri/npm/src/acdc/regengine.js +4 -6
- package/esm/keri/npm/src/acdc/registering.js +13 -10
- package/esm/keri/npm/src/acdc/registraring.js +4 -9
- package/esm/keri/npm/src/acdc/salting.js +143 -26
- package/esm/keri/npm/src/acdc/scheming.js +93 -54
- package/esm/keri/npm/src/acdc/unblinding.js +120 -99
- package/esm/keri/npm/src/app/bootstrap/authenticating.js +4 -6
- package/esm/keri/npm/src/app/bootstrap/oobi-resolving.js +41 -0
- package/esm/keri/npm/src/app/bootstrap/oobiery.js +5 -7
- package/esm/keri/npm/src/app/credentials/credential-revoking.js +1 -0
- package/esm/keri/npm/src/app/credentials/credential-workflows.js +2 -0
- package/esm/keri/npm/src/app/credentials/registry-settling.js +44 -0
- package/esm/keri/npm/src/app/credentials/root-replicating.js +131 -0
- package/esm/keri/npm/src/app/credentials/root-replicator.js +198 -0
- package/esm/keri/npm/src/app/credentials/tel-completion.js +36 -0
- package/esm/keri/npm/src/app/credentials/verifying.js +12 -3
- package/esm/keri/npm/src/app/delivery/forwarding.js +64 -9
- package/esm/keri/npm/src/app/exchanges/exchanging.js +24 -15
- package/esm/keri/npm/src/app/identity/challenging.js +50 -0
- package/esm/keri/npm/src/app/identity/configing.js +17 -43
- package/esm/keri/npm/src/app/identity/delegating.js +77 -77
- package/esm/keri/npm/src/app/identity/delegation-approval.js +333 -0
- package/esm/keri/npm/src/app/identity/event-completion.js +154 -0
- package/esm/keri/npm/src/app/identity/habbing.js +183 -41
- package/esm/keri/npm/src/app/identity/keeping.js +78 -5
- package/esm/keri/npm/src/app/identity/lmdb-habery.js +12 -0
- package/esm/keri/npm/src/app/ipex/group-ipex.js +327 -0
- package/esm/keri/npm/src/app/ipex/group-issuance.js +902 -0
- package/esm/keri/npm/src/app/ipex/ipex-admitting.js +120 -0
- package/esm/keri/npm/src/app/ipex/ipex-conversation.js +197 -0
- package/esm/keri/npm/src/app/ipex/ipex-discloser.js +591 -0
- package/esm/keri/npm/src/app/ipex/ipex-granting.js +93 -0
- package/esm/keri/npm/src/app/ipex/ipex-graph.js +7 -70
- package/esm/keri/npm/src/app/ipex/ipex-grouping.js +42 -16
- package/esm/keri/npm/src/app/ipex/ipex-v2.js +21 -5
- package/esm/keri/npm/src/app/ipex/ipexing.js +1 -1
- package/esm/keri/npm/src/app/ipex/issuance.js +888 -0
- package/esm/keri/npm/src/app/ipex/pending-presentations.js +46 -0
- package/esm/keri/npm/src/app/ipex/presentation-files.js +200 -0
- package/esm/keri/npm/src/app/ipex/presenting.js +401 -0
- package/esm/keri/npm/src/app/ipex/receive-issuance.js +86 -0
- package/esm/keri/npm/src/app/ipex/unblinding-workflow.js +660 -0
- package/esm/keri/npm/src/app/mailbox/ipex-arrival.js +103 -0
- package/esm/keri/npm/src/app/mailbox/kel-publisher.js +322 -0
- package/esm/keri/npm/src/app/mailbox/kel-publishing.js +65 -0
- package/esm/keri/npm/src/app/mailbox/kel-submission.js +24 -0
- package/esm/keri/npm/src/app/mailbox/mailbox-admin.js +208 -0
- package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +212 -47
- package/esm/keri/npm/src/app/mailbox/mailboxing.js +15 -14
- package/esm/keri/npm/src/app/multisig/counseling.js +482 -0
- package/esm/keri/npm/src/app/multisig/group-members.js +32 -0
- package/esm/keri/npm/src/app/multisig/grouping.js +4 -3
- package/esm/keri/npm/src/app/multisig/multisig-workflows.js +101 -141
- package/esm/keri/npm/src/app/multisig/proposals.js +281 -0
- package/esm/keri/npm/src/app/multisig/proposing.js +122 -0
- package/esm/keri/npm/src/app/notifications/notifying.js +5 -9
- package/esm/keri/npm/src/app/notifications/signaling.js +5 -5
- package/esm/keri/npm/src/app/protocol/parsering.js +26 -1
- package/esm/keri/npm/src/app/protocol/protocol-processing.js +44 -6
- package/esm/keri/npm/src/app/queries/query-workflows.js +98 -0
- package/esm/keri/npm/src/app/queries/witness-inquisitor.js +2 -2
- package/esm/keri/npm/src/app/runtime/agent-runtime.js +113 -65
- package/esm/keri/npm/src/app/runtime/cue-runtime.js +3 -6
- package/esm/keri/npm/src/app/runtime/delivery-outbox.js +87 -0
- package/esm/keri/npm/src/app/runtime/doing.js +17 -0
- package/esm/keri/npm/src/app/runtime/ipex-auxiliaries.js +207 -0
- package/esm/keri/npm/src/app/runtime/operation-owners.js +151 -0
- package/esm/keri/npm/src/app/runtime/retry-backoff.js +93 -0
- package/esm/keri/npm/src/app/runtime/workflow-contract.js +80 -0
- package/esm/keri/npm/src/app/transport/byte-source.js +6 -42
- package/esm/keri/npm/src/app/transport/cesr-egress.js +77 -13
- package/esm/keri/npm/src/app/transport/file-bytes.js +41 -0
- package/esm/keri/npm/src/app/transport/http-client.js +25 -6
- package/esm/keri/npm/src/app/transport/http-messenger.js +14 -9
- package/esm/keri/npm/src/app/transport/message-source.js +1 -1
- package/esm/keri/npm/src/app/transport/messengering.js +3 -4
- package/esm/keri/npm/src/app/transport/node-http-client.js +21 -0
- package/esm/keri/npm/src/app/transport/tcp-dialer.js +14 -0
- package/esm/keri/npm/src/app/witness/http-endpoints.js +4 -4
- package/esm/keri/npm/src/app/witness/receipt-client.js +2 -2
- package/esm/keri/npm/src/cli/common/context.js +2 -2
- package/esm/keri/npm/src/cli/common/event-completion.js +49 -0
- package/esm/keri/npm/src/cli/common/existing.js +3 -5
- package/esm/keri/npm/src/cli/common/runtime-workers.js +23 -0
- package/esm/keri/npm/src/cli/credentials/ipex.js +159 -191
- package/esm/keri/npm/src/cli/credentials/vc.js +53 -72
- package/esm/keri/npm/src/cli/endpoints/did.js +12 -3
- package/esm/keri/npm/src/cli/endpoints/oobi-clean.js +4 -3
- package/esm/keri/npm/src/cli/endpoints/oobi.js +12 -15
- package/esm/keri/npm/src/cli/identity/challenge.js +9 -35
- package/esm/keri/npm/src/cli/identity/delegate.js +81 -258
- package/esm/keri/npm/src/cli/identity/incept.js +17 -34
- package/esm/keri/npm/src/cli/identity/init.js +4 -3
- package/esm/keri/npm/src/cli/identity/interact.js +7 -19
- package/esm/keri/npm/src/cli/identity/rotate.js +10 -38
- package/esm/keri/npm/src/cli/index.js +3 -1
- package/esm/keri/npm/src/cli/messaging/exchange.js +2 -2
- package/esm/keri/npm/src/cli/messaging/group-join.js +79 -0
- package/esm/keri/npm/src/cli/messaging/group-wait.js +88 -0
- package/esm/keri/npm/src/cli/messaging/multisig.js +187 -250
- package/esm/keri/npm/src/cli/messaging/root-copy-lines.js +31 -0
- package/esm/keri/npm/src/cli/tools/annotate.js +2 -1
- package/esm/keri/npm/src/cli/tools/benchmark.js +2 -1
- package/esm/keri/npm/src/cli/tools/db-dump.js +1 -4
- package/esm/keri/npm/src/core/bytes.js +9 -0
- package/esm/keri/npm/src/core/kel/delegation-ancestry.js +92 -0
- package/esm/keri/npm/src/core/kel/eventing.js +67 -12
- package/esm/keri/npm/src/core/kel/kever.js +11 -9
- package/esm/keri/npm/src/core/mailbox/kram-policy.js +41 -9
- package/esm/keri/npm/src/core/mailbox/kram-pruning.js +15 -22
- package/esm/keri/npm/src/core/mailbox/kram-staging.js +2 -2
- package/esm/keri/npm/src/core/mailbox/kraming.js +2 -0
- package/esm/keri/npm/src/core/records.js +23 -0
- package/esm/keri/npm/src/core/routing.js +15 -2
- package/esm/keri/npm/src/db/basing.js +183 -205
- package/esm/keri/npm/src/db/core/dber.js +1062 -0
- package/esm/keri/npm/src/db/core/index.js +4 -2
- package/esm/keri/npm/src/db/core/indexeddb-persistence.js +221 -0
- package/esm/keri/npm/src/db/core/lmdb-opener.js +30 -0
- package/esm/keri/npm/src/db/core/lmdber.js +199 -1067
- package/esm/keri/npm/src/db/core/memstore.js +532 -0
- package/esm/keri/npm/src/db/core/path-manager.js +109 -223
- package/esm/keri/npm/src/db/core/store-owner.js +104 -0
- package/esm/keri/npm/src/db/core/webdber.js +252 -0
- package/esm/keri/npm/src/db/escrowing.js +2 -2
- package/esm/keri/npm/src/db/exchange/exchange-nests.js +3 -2
- package/esm/keri/npm/src/db/indexeddb.js +98 -0
- package/esm/keri/npm/src/db/keeping.js +38 -123
- package/esm/keri/npm/src/db/koming.js +1 -1
- package/esm/keri/npm/src/db/lmdb-stores.js +68 -0
- package/esm/keri/npm/src/db/lmdb.js +6 -0
- package/esm/keri/npm/src/db/mailbox/mailboxing.js +12 -65
- package/esm/keri/npm/src/db/noting.js +11 -55
- package/esm/keri/npm/src/db/reger.js +43 -105
- package/esm/keri/npm/src/db/replay/witness-replay.js +2 -20
- package/esm/keri/npm/src/db/store-lock.js +150 -0
- package/esm/keri/npm/src/db/subing.js +1 -1
- package/esm/keri/npm/src/npm/db-indexeddb.browser.js +2 -0
- package/esm/keri/npm/src/npm/db-indexeddb.js +3 -0
- package/esm/keri/npm/src/npm/db-lmdb.js +3 -0
- package/esm/keri/npm/src/npm/db.browser.js +2 -0
- package/esm/keri/npm/src/npm/index.browser.js +9 -0
- package/esm/keri/npm/src/npm/runtime-node.js +3 -0
- package/esm/keri/npm/src/npm/runtime-web.browser.js +2 -0
- package/esm/keri/npm/src/npm/runtime-web.js +3 -0
- package/esm/keri/npm/src/npm/runtime.browser.js +2 -0
- package/esm/keri/npm/src/runtime/index.js +58 -12
- package/esm/keri/npm/src/runtime/node.js +14 -0
- package/esm/keri/npm/src/runtime/web/output-barrier.js +47 -0
- package/esm/keri/npm/src/runtime/web/persistent-storage.js +37 -0
- package/esm/keri/npm/src/runtime/web.js +10 -0
- package/esm/keri/npm/src/vdr/eventing.js +1 -1
- package/esm/keri/npm/src/vdr/tel-publication.js +19 -3
- package/esm/keri/npm/src/version.js +2 -2
- package/package.json +24 -4
- package/types/acdc/authoring.d.ts +54 -0
- package/types/acdc/authoring.d.ts.map +1 -0
- package/types/acdc/chaining.d.ts +56 -6
- package/types/acdc/chaining.d.ts.map +1 -1
- package/types/acdc/custody.d.ts +77 -0
- package/types/acdc/custody.d.ts.map +1 -0
- package/types/acdc/dhking.d.ts +94 -3
- package/types/acdc/dhking.d.ts.map +1 -1
- package/types/acdc/regbasing.d.ts +11 -6
- package/types/acdc/regbasing.d.ts.map +1 -1
- package/types/acdc/regengine.d.ts.map +1 -1
- package/types/acdc/registering.d.ts +8 -4
- package/types/acdc/registering.d.ts.map +1 -1
- package/types/acdc/registraring.d.ts.map +1 -1
- package/types/acdc/salting.d.ts +59 -7
- package/types/acdc/salting.d.ts.map +1 -1
- package/types/acdc/scheming.d.ts +2 -0
- package/types/acdc/scheming.d.ts.map +1 -1
- package/types/acdc/unblinding.d.ts +58 -19
- package/types/acdc/unblinding.d.ts.map +1 -1
- package/types/app/bootstrap/authenticating.d.ts +3 -1
- package/types/app/bootstrap/authenticating.d.ts.map +1 -1
- package/types/app/bootstrap/oobi-resolving.d.ts +92 -0
- package/types/app/bootstrap/oobi-resolving.d.ts.map +1 -0
- package/types/app/bootstrap/oobiery.d.ts +3 -1
- package/types/app/bootstrap/oobiery.d.ts.map +1 -1
- package/types/app/credentials/credential-revoking.d.ts +3 -0
- package/types/app/credentials/credential-revoking.d.ts.map +1 -1
- package/types/app/credentials/credential-workflows.d.ts +5 -0
- package/types/app/credentials/credential-workflows.d.ts.map +1 -1
- package/types/app/credentials/registry-settling.d.ts +85 -0
- package/types/app/credentials/registry-settling.d.ts.map +1 -0
- package/types/app/credentials/root-replicating.d.ts +97 -0
- package/types/app/credentials/root-replicating.d.ts.map +1 -0
- package/types/app/credentials/root-replicator.d.ts +105 -0
- package/types/app/credentials/root-replicator.d.ts.map +1 -0
- package/types/app/credentials/tel-completion.d.ts +55 -0
- package/types/app/credentials/tel-completion.d.ts.map +1 -0
- package/types/app/credentials/verifying.d.ts +2 -1
- package/types/app/credentials/verifying.d.ts.map +1 -1
- package/types/app/delivery/forwarding.d.ts +16 -0
- package/types/app/delivery/forwarding.d.ts.map +1 -1
- package/types/app/exchanges/exchanging.d.ts +2 -0
- package/types/app/exchanges/exchanging.d.ts.map +1 -1
- package/types/app/identity/challenging.d.ts +54 -0
- package/types/app/identity/challenging.d.ts.map +1 -1
- package/types/app/identity/configing.d.ts +7 -5
- package/types/app/identity/configing.d.ts.map +1 -1
- package/types/app/identity/delegating.d.ts +21 -4
- package/types/app/identity/delegating.d.ts.map +1 -1
- package/types/app/identity/delegation-approval.d.ts +228 -0
- package/types/app/identity/delegation-approval.d.ts.map +1 -0
- package/types/app/identity/event-completion.d.ts +151 -0
- package/types/app/identity/event-completion.d.ts.map +1 -0
- package/types/app/identity/habbing.d.ts +90 -7
- package/types/app/identity/habbing.d.ts.map +1 -1
- package/types/app/identity/keeping.d.ts +50 -4
- package/types/app/identity/keeping.d.ts.map +1 -1
- package/types/app/identity/lmdb-habery.d.ts +6 -0
- package/types/app/identity/lmdb-habery.d.ts.map +1 -0
- package/types/app/ipex/group-ipex.d.ts +247 -0
- package/types/app/ipex/group-ipex.d.ts.map +1 -0
- package/types/app/ipex/group-issuance.d.ts +281 -0
- package/types/app/ipex/group-issuance.d.ts.map +1 -0
- package/types/app/ipex/ipex-admitting.d.ts +47 -0
- package/types/app/ipex/ipex-admitting.d.ts.map +1 -0
- package/types/app/ipex/ipex-conversation.d.ts +195 -0
- package/types/app/ipex/ipex-conversation.d.ts.map +1 -0
- package/types/app/ipex/ipex-discloser.d.ts +156 -0
- package/types/app/ipex/ipex-discloser.d.ts.map +1 -0
- package/types/app/ipex/ipex-granting.d.ts +145 -0
- package/types/app/ipex/ipex-granting.d.ts.map +1 -0
- package/types/app/ipex/ipex-graph.d.ts +4 -4
- package/types/app/ipex/ipex-graph.d.ts.map +1 -1
- package/types/app/ipex/ipex-grouping.d.ts +18 -0
- package/types/app/ipex/ipex-grouping.d.ts.map +1 -1
- package/types/app/ipex/ipex-v2.d.ts +11 -2
- package/types/app/ipex/ipex-v2.d.ts.map +1 -1
- package/types/app/ipex/ipexing.d.ts +3 -0
- package/types/app/ipex/ipexing.d.ts.map +1 -1
- package/types/app/ipex/issuance.d.ts +443 -0
- package/types/app/ipex/issuance.d.ts.map +1 -0
- package/types/app/ipex/pending-presentations.d.ts +25 -0
- package/types/app/ipex/pending-presentations.d.ts.map +1 -0
- package/types/app/ipex/presentation-files.d.ts +47 -0
- package/types/app/ipex/presentation-files.d.ts.map +1 -0
- package/types/app/ipex/presenting.d.ts +298 -0
- package/types/app/ipex/presenting.d.ts.map +1 -0
- package/types/app/ipex/receive-issuance.d.ts +99 -0
- package/types/app/ipex/receive-issuance.d.ts.map +1 -0
- package/types/app/ipex/unblinding-workflow.d.ts +255 -0
- package/types/app/ipex/unblinding-workflow.d.ts.map +1 -0
- package/types/app/mailbox/ipex-arrival.d.ts +104 -0
- package/types/app/mailbox/ipex-arrival.d.ts.map +1 -0
- package/types/app/mailbox/kel-publisher.d.ts +141 -0
- package/types/app/mailbox/kel-publisher.d.ts.map +1 -0
- package/types/app/mailbox/kel-publishing.d.ts +70 -0
- package/types/app/mailbox/kel-publishing.d.ts.map +1 -0
- package/types/app/mailbox/kel-submission.d.ts +18 -0
- package/types/app/mailbox/kel-submission.d.ts.map +1 -0
- package/types/app/mailbox/mailbox-admin.d.ts +113 -0
- package/types/app/mailbox/mailbox-admin.d.ts.map +1 -0
- package/types/app/mailbox/mailbox-poller.d.ts +92 -3
- package/types/app/mailbox/mailbox-poller.d.ts.map +1 -1
- package/types/app/mailbox/mailboxing.d.ts +4 -1
- package/types/app/mailbox/mailboxing.d.ts.map +1 -1
- package/types/app/multisig/counseling.d.ts +196 -0
- package/types/app/multisig/counseling.d.ts.map +1 -0
- package/types/app/multisig/group-members.d.ts +20 -0
- package/types/app/multisig/group-members.d.ts.map +1 -1
- package/types/app/multisig/grouping.d.ts +39 -20
- package/types/app/multisig/grouping.d.ts.map +1 -1
- package/types/app/multisig/multisig-workflows.d.ts +93 -23
- package/types/app/multisig/multisig-workflows.d.ts.map +1 -1
- package/types/app/multisig/proposals.d.ts +129 -0
- package/types/app/multisig/proposals.d.ts.map +1 -0
- package/types/app/multisig/proposing.d.ts +125 -0
- package/types/app/multisig/proposing.d.ts.map +1 -0
- package/types/app/notifications/notifying.d.ts +1 -1
- package/types/app/notifications/notifying.d.ts.map +1 -1
- package/types/app/notifications/signaling.d.ts +3 -1
- package/types/app/notifications/signaling.d.ts.map +1 -1
- package/types/app/protocol/parsering.d.ts +16 -1
- package/types/app/protocol/parsering.d.ts.map +1 -1
- package/types/app/protocol/protocol-processing.d.ts +9 -1
- package/types/app/protocol/protocol-processing.d.ts.map +1 -1
- package/types/app/queries/query-workflows.d.ts +98 -0
- package/types/app/queries/query-workflows.d.ts.map +1 -0
- package/types/app/runtime/agent-runtime.d.ts +79 -25
- package/types/app/runtime/agent-runtime.d.ts.map +1 -1
- package/types/app/runtime/cue-runtime.d.ts +2 -1
- package/types/app/runtime/cue-runtime.d.ts.map +1 -1
- package/types/app/runtime/delivery-outbox.d.ts +68 -0
- package/types/app/runtime/delivery-outbox.d.ts.map +1 -0
- package/types/app/runtime/doing.d.ts +27 -0
- package/types/app/runtime/doing.d.ts.map +1 -0
- package/types/app/runtime/ipex-auxiliaries.d.ts +74 -0
- package/types/app/runtime/ipex-auxiliaries.d.ts.map +1 -0
- package/types/app/runtime/operation-owners.d.ts +137 -0
- package/types/app/runtime/operation-owners.d.ts.map +1 -0
- package/types/app/runtime/retry-backoff.d.ts +49 -0
- package/types/app/runtime/retry-backoff.d.ts.map +1 -0
- package/types/app/runtime/workflow-contract.d.ts +79 -0
- package/types/app/runtime/workflow-contract.d.ts.map +1 -0
- package/types/app/transport/byte-source.d.ts +13 -10
- package/types/app/transport/byte-source.d.ts.map +1 -1
- package/types/app/transport/cesr-egress.d.ts +21 -7
- package/types/app/transport/cesr-egress.d.ts.map +1 -1
- package/types/app/transport/file-bytes.d.ts +11 -0
- package/types/app/transport/file-bytes.d.ts.map +1 -0
- package/types/app/transport/http-client.d.ts +3 -0
- package/types/app/transport/http-client.d.ts.map +1 -1
- package/types/app/transport/http-messenger.d.ts +15 -10
- package/types/app/transport/http-messenger.d.ts.map +1 -1
- package/types/app/transport/message-source.d.ts +1 -1
- package/types/app/transport/messengering.d.ts +2 -2
- package/types/app/transport/messengering.d.ts.map +1 -1
- package/types/app/transport/node-http-client.d.ts +10 -0
- package/types/app/transport/node-http-client.d.ts.map +1 -0
- package/types/app/transport/tcp-dialer.d.ts +21 -0
- package/types/app/transport/tcp-dialer.d.ts.map +1 -0
- package/types/cli/common/event-completion.d.ts +26 -0
- package/types/cli/common/event-completion.d.ts.map +1 -0
- package/types/cli/common/existing.d.ts.map +1 -1
- package/types/cli/common/runtime-workers.d.ts +23 -0
- package/types/cli/common/runtime-workers.d.ts.map +1 -0
- package/types/cli/credentials/ipex.d.ts.map +1 -1
- package/types/cli/credentials/vc.d.ts +1 -1
- package/types/cli/credentials/vc.d.ts.map +1 -1
- package/types/cli/endpoints/did.d.ts.map +1 -1
- package/types/cli/endpoints/oobi-clean.d.ts.map +1 -1
- package/types/cli/endpoints/oobi.d.ts +3 -1
- package/types/cli/endpoints/oobi.d.ts.map +1 -1
- package/types/cli/identity/challenge.d.ts +1 -1
- package/types/cli/identity/challenge.d.ts.map +1 -1
- package/types/cli/identity/delegate.d.ts +14 -1
- package/types/cli/identity/delegate.d.ts.map +1 -1
- package/types/cli/identity/incept.d.ts.map +1 -1
- package/types/cli/identity/init.d.ts.map +1 -1
- package/types/cli/identity/interact.d.ts.map +1 -1
- package/types/cli/identity/rotate.d.ts.map +1 -1
- package/types/cli/index.d.ts +4 -2
- package/types/cli/index.d.ts.map +1 -1
- package/types/cli/messaging/group-join.d.ts +53 -0
- package/types/cli/messaging/group-join.d.ts.map +1 -0
- package/types/cli/messaging/group-wait.d.ts +34 -0
- package/types/cli/messaging/group-wait.d.ts.map +1 -0
- package/types/cli/messaging/multisig.d.ts +36 -4
- package/types/cli/messaging/multisig.d.ts.map +1 -1
- package/types/cli/messaging/root-copy-lines.d.ts +39 -0
- package/types/cli/messaging/root-copy-lines.d.ts.map +1 -0
- package/types/cli/tools/annotate.d.ts.map +1 -1
- package/types/cli/tools/benchmark.d.ts.map +1 -1
- package/types/cli/tools/db-dump.d.ts.map +1 -1
- package/types/core/bytes.d.ts +2 -0
- package/types/core/bytes.d.ts.map +1 -1
- package/types/core/cues.d.ts +11 -0
- package/types/core/cues.d.ts.map +1 -1
- package/types/core/kel/delegation-ancestry.d.ts +41 -0
- package/types/core/kel/delegation-ancestry.d.ts.map +1 -0
- package/types/core/kel/eventing.d.ts.map +1 -1
- package/types/core/kel/kever.d.ts +5 -4
- package/types/core/kel/kever.d.ts.map +1 -1
- package/types/core/mailbox/kram-policy.d.ts +14 -0
- package/types/core/mailbox/kram-policy.d.ts.map +1 -1
- package/types/core/mailbox/kram-pruning.d.ts +1 -3
- package/types/core/mailbox/kram-pruning.d.ts.map +1 -1
- package/types/core/mailbox/kraming.d.ts +1 -1
- package/types/core/mailbox/kraming.d.ts.map +1 -1
- package/types/core/records.d.ts +61 -0
- package/types/core/records.d.ts.map +1 -1
- package/types/core/routing.d.ts +6 -0
- package/types/core/routing.d.ts.map +1 -1
- package/types/db/basing.d.ts +22 -25
- package/types/db/basing.d.ts.map +1 -1
- package/types/db/core/dber.d.ts +505 -0
- package/types/db/core/dber.d.ts.map +1 -0
- package/types/db/core/index.d.ts +4 -2
- package/types/db/core/index.d.ts.map +1 -1
- package/types/db/core/indexeddb-persistence.d.ts +59 -0
- package/types/db/core/indexeddb-persistence.d.ts.map +1 -0
- package/types/db/core/lmdb-opener.d.ts +17 -0
- package/types/db/core/lmdb-opener.d.ts.map +1 -0
- package/types/db/core/lmdber.d.ts +60 -383
- package/types/db/core/lmdber.d.ts.map +1 -1
- package/types/db/core/memstore.d.ts +129 -0
- package/types/db/core/memstore.d.ts.map +1 -0
- package/types/db/core/path-manager.d.ts +22 -45
- package/types/db/core/path-manager.d.ts.map +1 -1
- package/types/db/core/store-owner.d.ts +59 -0
- package/types/db/core/store-owner.d.ts.map +1 -0
- package/types/db/core/webdber.d.ts +127 -0
- package/types/db/core/webdber.d.ts.map +1 -0
- package/types/db/escrowing.d.ts +3 -3
- package/types/db/escrowing.d.ts.map +1 -1
- package/types/db/exchange/exchange-nests.d.ts.map +1 -1
- package/types/db/indexeddb.d.ts +37 -0
- package/types/db/indexeddb.d.ts.map +1 -0
- package/types/db/keeping.d.ts +14 -25
- package/types/db/keeping.d.ts.map +1 -1
- package/types/db/koming.d.ts +7 -8
- package/types/db/koming.d.ts.map +1 -1
- package/types/db/lmdb-stores.d.ts +45 -0
- package/types/db/lmdb-stores.d.ts.map +1 -0
- package/types/db/lmdb.d.ts +7 -0
- package/types/db/lmdb.d.ts.map +1 -0
- package/types/db/mailbox/mailboxing.d.ts +7 -21
- package/types/db/mailbox/mailboxing.d.ts.map +1 -1
- package/types/db/noting.d.ts +7 -12
- package/types/db/noting.d.ts.map +1 -1
- package/types/db/reger.d.ts +7 -11
- package/types/db/reger.d.ts.map +1 -1
- package/types/db/replay/witness-replay.d.ts +0 -2
- package/types/db/replay/witness-replay.d.ts.map +1 -1
- package/types/db/store-lock.d.ts +72 -0
- package/types/db/store-lock.d.ts.map +1 -0
- package/types/db/subing.d.ts +24 -25
- package/types/db/subing.d.ts.map +1 -1
- package/types/npm/db-indexeddb.d.ts +4 -0
- package/types/npm/db-indexeddb.d.ts.map +1 -0
- package/types/npm/db-lmdb.d.ts +4 -0
- package/types/npm/db-lmdb.d.ts.map +1 -0
- package/types/npm/runtime-node.d.ts +4 -0
- package/types/npm/runtime-node.d.ts.map +1 -0
- package/types/npm/runtime-web.d.ts +4 -0
- package/types/npm/runtime-web.d.ts.map +1 -0
- package/types/runtime/index.d.ts +48 -14
- package/types/runtime/index.d.ts.map +1 -1
- package/types/runtime/node.d.ts +15 -0
- package/types/runtime/node.d.ts.map +1 -0
- package/types/runtime/web/output-barrier.d.ts +30 -0
- package/types/runtime/web/output-barrier.d.ts.map +1 -0
- package/types/runtime/web/persistent-storage.d.ts +36 -0
- package/types/runtime/web/persistent-storage.d.ts.map +1 -0
- package/types/runtime/web.d.ts +11 -0
- package/types/runtime/web.d.ts.map +1 -0
- package/types/vdr/tel-publication.d.ts +6 -0
- package/types/vdr/tel-publication.d.ts.map +1 -1
- package/types/version.d.ts +2 -2
- package/esm/keri/npm/src/acdc/relating.js +0 -59
- package/esm/keri/npm/src/cli/common/tel-completion.js +0 -24
- package/esm/keri/npm/src/db/baser-defaults.js +0 -11
- package/types/acdc/relating.d.ts +0 -21
- package/types/acdc/relating.d.ts.map +0 -1
- package/types/cli/common/tel-completion.d.ts +0 -8
- package/types/cli/common/tel-completion.d.ts.map +0 -1
- package/types/db/baser-defaults.d.ts +0 -5
- package/types/db/baser-defaults.d.ts.map +0 -1
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { b, Cigar, concatBytes, Counter, Dater, Diger, NumberPrimitive, Prefixer, Saider, SerderACDC, SerderKERI, Siger, t, Verfer, Vrsn_1_0, } from "cesr-ts";
|
|
13
13
|
import { attachmentCounterPayloadQb64b, attachmentCounterQb64b, attachmentOrdinal, resolveAttachmentGvrsn, } from "../core/attachment-countering.js";
|
|
14
|
-
import {
|
|
14
|
+
import { DatabaseOperationError, ValidationError } from "../core/errors.js";
|
|
15
15
|
import { RegistryRecord, RegStateRecord } from "../core/records.js";
|
|
16
16
|
import { dgKey, splitOnKey } from "./core/keys.js";
|
|
17
|
-
import {
|
|
17
|
+
import { StoreOwner } from "./core/store-owner.js";
|
|
18
18
|
import { Broker } from "./escrowing.js";
|
|
19
19
|
import { Komer } from "./koming.js";
|
|
20
20
|
import { CapturedTelReplay, UnsupportedTelReplayError, } from "./replay/tel-replay.js";
|
|
@@ -40,17 +40,9 @@ function isRecord(value) {
|
|
|
40
40
|
* Protocol evidence uses literal KERIpy `Reger` subkeys; observer receipt
|
|
41
41
|
* evidence remains separate from local issuer publication state.
|
|
42
42
|
*/
|
|
43
|
-
export class Reger extends
|
|
44
|
-
constructor(
|
|
45
|
-
|
|
46
|
-
super(options, {
|
|
47
|
-
tailDirPath: Reger.TailDirPath,
|
|
48
|
-
cleanTailDirPath: "keri/clean/reg",
|
|
49
|
-
altTailDirPath: compat ? Reger.CompatAltTailDirPath : Reger.AltTailDirPath,
|
|
50
|
-
altCleanTailDirPath: compat ? ".keri/clean/reg" : ".tufa/clean/reg",
|
|
51
|
-
tempPrefix: Reger.TempPrefix,
|
|
52
|
-
maxNamedDBs: Reger.MaxNamedDBs,
|
|
53
|
-
});
|
|
43
|
+
export class Reger extends StoreOwner {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(...arguments);
|
|
54
46
|
Object.defineProperty(this, "registries", {
|
|
55
47
|
enumerable: true,
|
|
56
48
|
configurable: true,
|
|
@@ -241,97 +233,97 @@ export class Reger extends LMDBer {
|
|
|
241
233
|
}
|
|
242
234
|
/** Open the root LMDB environment and bind the KERIpy `Reger` subdb surface. */
|
|
243
235
|
*reopen(options = {}) {
|
|
244
|
-
const opened = yield*
|
|
236
|
+
const opened = yield* this.store.reopen(options);
|
|
245
237
|
if (!opened) {
|
|
246
238
|
return false;
|
|
247
239
|
}
|
|
248
240
|
try {
|
|
249
|
-
this.tvts = new BytesSuber(this, { subkey: "tvts." });
|
|
250
|
-
this.tels = new CesrOnSuber(this, {
|
|
241
|
+
this.tvts = new BytesSuber(this.store, { subkey: "tvts." });
|
|
242
|
+
this.tels = new CesrOnSuber(this.store, {
|
|
251
243
|
subkey: "tels.",
|
|
252
244
|
ctor: Diger,
|
|
253
245
|
});
|
|
254
|
-
this.ancs = new CatCesrSuber(this, {
|
|
246
|
+
this.ancs = new CatCesrSuber(this.store, {
|
|
255
247
|
subkey: "ancs.",
|
|
256
248
|
ctor: [NumberPrimitive, Diger],
|
|
257
249
|
});
|
|
258
|
-
this.baks = new IoDupSuber(this, { subkey: "baks." });
|
|
259
|
-
this.tibs = new CesrDupSuber(this, {
|
|
250
|
+
this.baks = new IoDupSuber(this.store, { subkey: "baks." });
|
|
251
|
+
this.tibs = new CesrDupSuber(this.store, {
|
|
260
252
|
subkey: "tibs.",
|
|
261
253
|
ctor: Siger,
|
|
262
254
|
});
|
|
263
|
-
this.oots = new OnIoDupSuber(this, { subkey: "oots" });
|
|
264
|
-
this.twes = new OnIoDupSuber(this, { subkey: "twes" });
|
|
265
|
-
this.taes = new OnIoDupSuber(this, { subkey: "taes" });
|
|
266
|
-
this.tets = new CesrSuber(this, {
|
|
255
|
+
this.oots = new OnIoDupSuber(this.store, { subkey: "oots" });
|
|
256
|
+
this.twes = new OnIoDupSuber(this.store, { subkey: "twes" });
|
|
257
|
+
this.taes = new OnIoDupSuber(this.store, { subkey: "taes" });
|
|
258
|
+
this.tets = new CesrSuber(this.store, {
|
|
267
259
|
subkey: "tets.",
|
|
268
260
|
ctor: Dater,
|
|
269
261
|
});
|
|
270
|
-
this.states = new Komer(this, {
|
|
262
|
+
this.states = new Komer(this.store, {
|
|
271
263
|
subkey: "stts.",
|
|
272
264
|
recordClass: RegStateRecord,
|
|
273
265
|
});
|
|
274
|
-
this.creds = new SerderSuber(this, {
|
|
266
|
+
this.creds = new SerderSuber(this.store, {
|
|
275
267
|
subkey: "creds.",
|
|
276
268
|
ctor: SerderACDC,
|
|
277
269
|
});
|
|
278
|
-
this.cancs = new CatCesrSuber(this, {
|
|
270
|
+
this.cancs = new CatCesrSuber(this.store, {
|
|
279
271
|
subkey: "cancs.",
|
|
280
272
|
ctor: [Prefixer, NumberPrimitive, Diger],
|
|
281
273
|
});
|
|
282
|
-
this.spsgs = new CesrIoSetSuber(this, {
|
|
274
|
+
this.spsgs = new CesrIoSetSuber(this.store, {
|
|
283
275
|
subkey: "ssgs.",
|
|
284
276
|
ctor: Siger,
|
|
285
277
|
});
|
|
286
|
-
this.spcgs = new CatCesrIoSetSuber(this, {
|
|
278
|
+
this.spcgs = new CatCesrIoSetSuber(this.store, {
|
|
287
279
|
subkey: "scgs.",
|
|
288
280
|
ctor: [Verfer, Cigar],
|
|
289
281
|
});
|
|
290
|
-
this.saved = new CesrSuber(this, {
|
|
282
|
+
this.saved = new CesrSuber(this.store, {
|
|
291
283
|
subkey: "saved.",
|
|
292
284
|
ctor: Saider,
|
|
293
285
|
});
|
|
294
|
-
this.issus = new CesrDupSuber(this, {
|
|
286
|
+
this.issus = new CesrDupSuber(this.store, {
|
|
295
287
|
subkey: "issus.",
|
|
296
288
|
ctor: Saider,
|
|
297
289
|
});
|
|
298
|
-
this.subjs = new CesrDupSuber(this, {
|
|
290
|
+
this.subjs = new CesrDupSuber(this.store, {
|
|
299
291
|
subkey: "subjs.",
|
|
300
292
|
ctor: Saider,
|
|
301
293
|
});
|
|
302
|
-
this.schms = new CesrDupSuber(this, {
|
|
294
|
+
this.schms = new CesrDupSuber(this.store, {
|
|
303
295
|
subkey: "schms.",
|
|
304
296
|
ctor: Saider,
|
|
305
297
|
});
|
|
306
|
-
this.mre = new CesrSuber(this, { subkey: "mre.", ctor: Dater });
|
|
307
|
-
this.mce = new CesrSuber(this, { subkey: "mce.", ctor: Dater });
|
|
308
|
-
this.mse = new CesrSuber(this, { subkey: "mse.", ctor: Dater });
|
|
309
|
-
this.txnsb = new Broker(this, "txn.");
|
|
310
|
-
this.regs = new Komer(this, {
|
|
298
|
+
this.mre = new CesrSuber(this.store, { subkey: "mre.", ctor: Dater });
|
|
299
|
+
this.mce = new CesrSuber(this.store, { subkey: "mce.", ctor: Dater });
|
|
300
|
+
this.mse = new CesrSuber(this.store, { subkey: "mse.", ctor: Dater });
|
|
301
|
+
this.txnsb = new Broker(this.store, "txn.");
|
|
302
|
+
this.regs = new Komer(this.store, {
|
|
311
303
|
subkey: "regs.",
|
|
312
304
|
recordClass: RegistryRecord,
|
|
313
305
|
});
|
|
314
|
-
this.tpwe = new CatCesrIoSetSuber(this, {
|
|
306
|
+
this.tpwe = new CatCesrIoSetSuber(this.store, {
|
|
315
307
|
subkey: "tpwe.",
|
|
316
308
|
ctor: [Prefixer, NumberPrimitive, Diger],
|
|
317
309
|
});
|
|
318
|
-
this.tmse = new CatCesrIoSetSuber(this, {
|
|
310
|
+
this.tmse = new CatCesrIoSetSuber(this.store, {
|
|
319
311
|
subkey: "tmse.",
|
|
320
312
|
ctor: [Prefixer, NumberPrimitive, Diger],
|
|
321
313
|
});
|
|
322
|
-
this.tede = new CatCesrIoSetSuber(this, {
|
|
314
|
+
this.tede = new CatCesrIoSetSuber(this.store, {
|
|
323
315
|
subkey: "tede.",
|
|
324
316
|
ctor: [Prefixer, NumberPrimitive, Saider],
|
|
325
317
|
});
|
|
326
|
-
this.ctel = new CesrSuber(this, {
|
|
318
|
+
this.ctel = new CesrSuber(this.store, {
|
|
327
319
|
subkey: "ctel.",
|
|
328
320
|
ctor: Saider,
|
|
329
321
|
});
|
|
330
|
-
this.cmse = new SerderSuber(this, {
|
|
322
|
+
this.cmse = new SerderSuber(this.store, {
|
|
331
323
|
subkey: "cmse.",
|
|
332
324
|
ctor: SerderACDC,
|
|
333
325
|
});
|
|
334
|
-
this.ccrd = new SerderSuber(this, {
|
|
326
|
+
this.ccrd = new SerderSuber(this.store, {
|
|
335
327
|
subkey: "ccrd.",
|
|
336
328
|
ctor: SerderACDC,
|
|
337
329
|
});
|
|
@@ -372,7 +364,11 @@ export class Reger extends LMDBer {
|
|
|
372
364
|
/** Capture one TEL extent without body reads; each reader releases its cursor before yielding. */
|
|
373
365
|
replay(pre, { gvrsn = Vrsn_1_0, genusify = false } = {}) {
|
|
374
366
|
let end = null;
|
|
375
|
-
for (const entry of this.tels.sdb
|
|
367
|
+
for (const entry of this.store.scan(this.tels.sdb, {
|
|
368
|
+
start: b(`${pre}.${"f".repeat(32)}`),
|
|
369
|
+
reverse: true,
|
|
370
|
+
limit: 1,
|
|
371
|
+
})) {
|
|
376
372
|
const [prefix, ordinal] = splitOnKey(entry.key);
|
|
377
373
|
if (t(prefix) === pre)
|
|
378
374
|
end = ordinal;
|
|
@@ -497,68 +493,10 @@ export class Reger extends LMDBer {
|
|
|
497
493
|
return sources;
|
|
498
494
|
}
|
|
499
495
|
}
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
configurable: true,
|
|
503
|
-
writable: true,
|
|
504
|
-
value: "keri/reg"
|
|
505
|
-
});
|
|
506
|
-
Object.defineProperty(Reger, "AltTailDirPath", {
|
|
507
|
-
enumerable: true,
|
|
508
|
-
configurable: true,
|
|
509
|
-
writable: true,
|
|
510
|
-
value: ".tufa/reg"
|
|
511
|
-
});
|
|
512
|
-
Object.defineProperty(Reger, "CompatAltTailDirPath", {
|
|
496
|
+
/** Placement of this store kind. */
|
|
497
|
+
Object.defineProperty(Reger, "Family", {
|
|
513
498
|
enumerable: true,
|
|
514
499
|
configurable: true,
|
|
515
500
|
writable: true,
|
|
516
|
-
value: "
|
|
501
|
+
value: { tail: "reg", maxTables: 96 }
|
|
517
502
|
});
|
|
518
|
-
Object.defineProperty(Reger, "TempPrefix", {
|
|
519
|
-
enumerable: true,
|
|
520
|
-
configurable: true,
|
|
521
|
-
writable: true,
|
|
522
|
-
value: "keri_reg_"
|
|
523
|
-
});
|
|
524
|
-
Object.defineProperty(Reger, "MaxNamedDBs", {
|
|
525
|
-
enumerable: true,
|
|
526
|
-
configurable: true,
|
|
527
|
-
writable: true,
|
|
528
|
-
value: 96
|
|
529
|
-
});
|
|
530
|
-
/** Transfer a ready `Reger` to its caller, closing unreturned acquisitions on failure or cancellation. */
|
|
531
|
-
export function* createReger(options = {}) {
|
|
532
|
-
const reger = new Reger(options);
|
|
533
|
-
let delivered = false;
|
|
534
|
-
let failure;
|
|
535
|
-
try {
|
|
536
|
-
const opened = yield* reger.reopen(options);
|
|
537
|
-
if (!opened) {
|
|
538
|
-
throw new DatabaseNotOpenError("Failed to open Reger");
|
|
539
|
-
}
|
|
540
|
-
delivered = true;
|
|
541
|
-
return reger;
|
|
542
|
-
}
|
|
543
|
-
catch (error) {
|
|
544
|
-
failure = { error };
|
|
545
|
-
throw error;
|
|
546
|
-
}
|
|
547
|
-
finally {
|
|
548
|
-
if (!delivered) {
|
|
549
|
-
try {
|
|
550
|
-
yield* reger.close();
|
|
551
|
-
}
|
|
552
|
-
catch (error) {
|
|
553
|
-
if (failure) {
|
|
554
|
-
// deno-lint-ignore no-unsafe-finally -- Preserve the operation failure alongside shutdown failure.
|
|
555
|
-
throw new AggregateError([failure.error, error], "Database acquisition and close failed", {
|
|
556
|
-
cause: failure.error,
|
|
557
|
-
});
|
|
558
|
-
}
|
|
559
|
-
// deno-lint-ignore no-unsafe-finally -- A shutdown failure must propagate.
|
|
560
|
-
throw error;
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
|
-
}
|
|
@@ -53,33 +53,15 @@ export class CapturedWitnessReplay {
|
|
|
53
53
|
__classPrivateFieldSet(this, _CapturedWitnessReplay_db, db, "f");
|
|
54
54
|
Object.freeze(this);
|
|
55
55
|
}
|
|
56
|
-
/** Copy one duplicate through the pinned binary seek branch; the facade never leaves this synchronous read. */
|
|
57
|
-
readDuplicate(key, start) {
|
|
58
|
-
const db = __classPrivateFieldGet(this, _CapturedWitnessReplay_db, "f").kels.sdb;
|
|
59
|
-
if (db.encoding !== "binary")
|
|
60
|
-
throw new DatabaseOperationError("Witness replay requires binary KEL rows");
|
|
61
|
-
// Pinned lmdb-js 3.5.3 dereferences encoder.writeKey before its binary-value seek branch.
|
|
62
|
-
// This private read facade supplies that missing object without mutating the borrowed DB.
|
|
63
|
-
const seek = Object.create(db);
|
|
64
|
-
seek.encoder = db.encoder ?? {};
|
|
65
|
-
const rows = seek.getValues(key, { start, limit: 1 })[Symbol.iterator]();
|
|
66
|
-
try {
|
|
67
|
-
const row = rows.next();
|
|
68
|
-
return row.done ? undefined : new Uint8Array(row.value);
|
|
69
|
-
}
|
|
70
|
-
finally {
|
|
71
|
-
rows.return?.();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
56
|
/** Seek after one physical insertion proem, closing every cursor before hydration or yield. */
|
|
75
57
|
*[(_CapturedWitnessReplay_db = new WeakMap(), Symbol.iterator)]() {
|
|
76
58
|
const prefix = b(this.pre);
|
|
77
59
|
let next = this.from, start, bucketDone = false;
|
|
78
60
|
while (next <= this.end) {
|
|
79
61
|
const key = onKey(prefix, next);
|
|
80
|
-
const value = bucketDone ? undefined : this.
|
|
62
|
+
const value = bucketDone ? undefined : __classPrivateFieldGet(this, _CapturedWitnessReplay_db, "f").seekVal(__classPrivateFieldGet(this, _CapturedWitnessReplay_db, "f").kels.sdb, key, start);
|
|
81
63
|
if (!value) {
|
|
82
|
-
const keys = __classPrivateFieldGet(this, _CapturedWitnessReplay_db, "f").kels.sdb
|
|
64
|
+
const keys = __classPrivateFieldGet(this, _CapturedWitnessReplay_db, "f").scanKeys(__classPrivateFieldGet(this, _CapturedWitnessReplay_db, "f").kels.sdb, { start: key, exclusiveStart: true, limit: 1 })[Symbol.iterator]();
|
|
83
65
|
let following;
|
|
84
66
|
try {
|
|
85
67
|
const row = keys.next();
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-writer lock for a browser store identity.
|
|
3
|
+
*
|
|
4
|
+
* `WebDBer` holds a snapshot of its persisted rows taken at open, so two tabs
|
|
5
|
+
* writing the same identity would each overwrite the other's commits. `indexedDbOpener`
|
|
6
|
+
* takes this lock in its first store's `reopen`, before anything loads, and holds it
|
|
7
|
+
* until its last store of the identity closes; `acquireStoreLock` is public for hosts
|
|
8
|
+
* that compose stores their own way.
|
|
9
|
+
*/
|
|
10
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
11
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
12
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
13
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
|
+
};
|
|
15
|
+
var _StoreLockGroup_entries;
|
|
16
|
+
import { AppError } from "../core/errors.js";
|
|
17
|
+
/** Another tab, worker or window holds the store; `key`, `storeName` and `storeBase` support a UI message. */
|
|
18
|
+
export class StoreLockHeldError extends AppError {
|
|
19
|
+
constructor(key, storeName, storeBase) {
|
|
20
|
+
super(`Store ${JSON.stringify(storeName ?? "")} is already open in another tab or window`);
|
|
21
|
+
Object.defineProperty(this, "key", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
writable: true,
|
|
25
|
+
value: key
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(this, "storeName", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: storeName
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(this, "storeBase", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: storeBase
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** `navigator.locks` is absent (insecure context or old engine), so single-writer cannot be enforced. */
|
|
42
|
+
export class StoreLockUnsupportedError extends AppError {
|
|
43
|
+
constructor() {
|
|
44
|
+
super("Web Locks API unavailable; refusing to open the store without a single-writer lock");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The lock name for a store identity. It matches `IndexedDbPersistence`'s database
|
|
49
|
+
* naming minus the family, so one lock covers every store family of the identity.
|
|
50
|
+
*/
|
|
51
|
+
export function storeLockKey(identity) {
|
|
52
|
+
return `keri-ts:store:${JSON.stringify([identity.base ?? "", identity.name ?? "", identity.temp ? "temp" : "durable"])}`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Take the exclusive lock for `identity` without waiting.
|
|
56
|
+
*
|
|
57
|
+
* @throws StoreLockHeldError when another holder has it.
|
|
58
|
+
* @throws StoreLockUnsupportedError when no lock manager exists; never proceeds unlocked.
|
|
59
|
+
*/
|
|
60
|
+
export async function acquireStoreLock(identity, options = {}) {
|
|
61
|
+
const locks = options.locks === undefined
|
|
62
|
+
? globalThis.navigator?.locks
|
|
63
|
+
: options.locks;
|
|
64
|
+
if (!locks)
|
|
65
|
+
throw new StoreLockUnsupportedError();
|
|
66
|
+
const key = storeLockKey(identity);
|
|
67
|
+
let letGo;
|
|
68
|
+
const held = new Promise((resolve) => letGo = resolve);
|
|
69
|
+
let done;
|
|
70
|
+
const acquired = await new Promise((resolve, reject) => {
|
|
71
|
+
done = locks.request(key, { mode: "exclusive", ifAvailable: true }, (lock) => {
|
|
72
|
+
resolve(lock !== null);
|
|
73
|
+
return lock === null ? undefined : held;
|
|
74
|
+
});
|
|
75
|
+
done.catch(reject);
|
|
76
|
+
});
|
|
77
|
+
if (!acquired)
|
|
78
|
+
throw new StoreLockHeldError(key, identity.name, identity.base);
|
|
79
|
+
return {
|
|
80
|
+
key,
|
|
81
|
+
release: () => {
|
|
82
|
+
letGo();
|
|
83
|
+
return done.then(() => { });
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Reference-counted store locks for one opener: every store of an identity shares
|
|
89
|
+
* one lock, taken by the first reference and released by the last.
|
|
90
|
+
*/
|
|
91
|
+
export class StoreLockGroup {
|
|
92
|
+
constructor(options = {}) {
|
|
93
|
+
Object.defineProperty(this, "options", {
|
|
94
|
+
enumerable: true,
|
|
95
|
+
configurable: true,
|
|
96
|
+
writable: true,
|
|
97
|
+
value: options
|
|
98
|
+
});
|
|
99
|
+
_StoreLockGroup_entries.set(this, new Map());
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Take a reference, acquiring the lock if no other store of the identity holds it.
|
|
103
|
+
*
|
|
104
|
+
* @throws StoreLockHeldError when another holder has the identity.
|
|
105
|
+
* @throws StoreLockUnsupportedError when no lock manager exists.
|
|
106
|
+
*/
|
|
107
|
+
async acquire(identity) {
|
|
108
|
+
const key = storeLockKey(identity);
|
|
109
|
+
let entry = __classPrivateFieldGet(this, _StoreLockGroup_entries, "f").get(key);
|
|
110
|
+
while (entry?.releasing) {
|
|
111
|
+
await entry.releasing;
|
|
112
|
+
entry = __classPrivateFieldGet(this, _StoreLockGroup_entries, "f").get(key);
|
|
113
|
+
}
|
|
114
|
+
if (!entry) {
|
|
115
|
+
entry = { refs: 0, lock: acquireStoreLock(identity, this.options) };
|
|
116
|
+
__classPrivateFieldGet(this, _StoreLockGroup_entries, "f").set(key, entry);
|
|
117
|
+
}
|
|
118
|
+
const mine = entry;
|
|
119
|
+
mine.refs++;
|
|
120
|
+
try {
|
|
121
|
+
await mine.lock;
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
mine.refs--;
|
|
125
|
+
if (__classPrivateFieldGet(this, _StoreLockGroup_entries, "f").get(key) === mine)
|
|
126
|
+
__classPrivateFieldGet(this, _StoreLockGroup_entries, "f").delete(key);
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
let released = false;
|
|
130
|
+
return {
|
|
131
|
+
release: async () => {
|
|
132
|
+
if (released)
|
|
133
|
+
return;
|
|
134
|
+
released = true;
|
|
135
|
+
if (--mine.refs > 0)
|
|
136
|
+
return;
|
|
137
|
+
const lock = await mine.lock;
|
|
138
|
+
mine.releasing = lock.release();
|
|
139
|
+
try {
|
|
140
|
+
await mine.releasing;
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
if (__classPrivateFieldGet(this, _StoreLockGroup_entries, "f").get(key) === mine)
|
|
144
|
+
__classPrivateFieldGet(this, _StoreLockGroup_entries, "f").delete(key);
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
_StoreLockGroup_entries = new WeakMap();
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* npm package root entrypoint.
|
|
3
|
+
*
|
|
4
|
+
* Boundary rule:
|
|
5
|
+
* - root/default imports remain browser-safe
|
|
6
|
+
* - runtime and LMDB-backed storage move to explicit subpaths
|
|
7
|
+
*/
|
|
8
|
+
export * from "../library/index.js";
|
|
9
|
+
export { BUILD_METADATA, DISPLAY_VERSION, PACKAGE_VERSION, } from "../version.js";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Supported
|
|
2
|
+
* Supported KERI operations and data contracts that need no host sockets or
|
|
3
|
+
* files. TCP transport and the local-file reader live in `keri-ts/runtime/node`.
|
|
3
4
|
*
|
|
4
5
|
* This curated surface serves library users and Tufa composition. Private
|
|
5
6
|
* continuation state, handler installation, reply-slot bookkeeping and internal
|
|
@@ -14,17 +15,17 @@ export { Reactor, } from "../app/protocol/reactor.js";
|
|
|
14
15
|
export { abortable, rethrowCleanupFailure, } from "../app/runtime/abortable.js";
|
|
15
16
|
export { createAgentRuntime, runAgentRuntime, runAgentRuntimeUntil, runtimeOobiConverged, settleMailboxPollBatch, settleRuntimeIngress, } from "../app/runtime/agent-runtime.js";
|
|
16
17
|
export { cueDo, processCuesOnce, } from "../app/runtime/cue-runtime.js";
|
|
17
|
-
export { chunkBytes, collectBytes,
|
|
18
|
+
export { chunkBytes, collectBytes, } from "../app/transport/byte-source.js";
|
|
18
19
|
export { CesrHttpRefusal, postCesr, requestFrame, } from "../app/transport/cesr-egress.js";
|
|
19
20
|
export { buildCesrRequest, buildCesrStreamRequest, CESR_ATTACHMENT_HEADER, CESR_CONTENT_TYPE, CESR_DESTINATION_HEADER, isCesrContentType, isMultipartFormContentType, KERIPY_CESR_JSON_CONTENT_TYPE, MULTIPART_CONTENT_TYPE, readCesrRequestBytes, readMailboxAdminRequest, readRequiredCesrRequestBytes, requestBytes, } from "../app/transport/cesr-http.js";
|
|
20
21
|
export { FetchHttpClient, } from "../app/transport/http-client.js";
|
|
21
|
-
export {
|
|
22
|
-
export { TCPMessenger, } from "../app/transport/tcp-messenger.js";
|
|
23
|
-
export { openTcpConnection, sendCesrTcp, sendCesrTcpFrame, sendCesrTcpSocket, streamCesrTcp, writeCesrTcpSocket, } from "../app/transport/tcp-egress.js";
|
|
22
|
+
export { requireTcpDialer } from "../app/transport/tcp-dialer.js";
|
|
24
23
|
export { TransportError } from "../app/transport/transport-error.js";
|
|
25
24
|
// Controller state, credentials and protocol operations.
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
25
|
+
export { RegistryAuthor } from "../acdc/authoring.js";
|
|
26
|
+
export { DEFAULT_GRANT_WALK, evaluateChain, } from "../acdc/chaining.js";
|
|
27
|
+
export { BaserDerivedUpdateStore, MemoryDerivedUpdateStore, RegistryCustody, } from "../acdc/custody.js";
|
|
28
|
+
export { decodePublicKey, deriveRoot, Dhke, generateKeyPair, grantTransactionId, } from "../acdc/dhking.js";
|
|
28
29
|
export { RegistryRoot, RootDeferred, rootExn, RootRefused, RootUnverified, } from "../acdc/salting.js";
|
|
29
30
|
export { Unblind } from "../acdc/unblinding.js";
|
|
30
31
|
export { Oobiery, oobiRequestExn, } from "../app/bootstrap/oobiery.js";
|
|
@@ -36,26 +37,34 @@ export { EssrRecipient, } from "../app/exchanges/essr.js";
|
|
|
36
37
|
export { createExchangeMessage, sendExchangeMessage, } from "../app/exchanges/exchange-messaging.js";
|
|
37
38
|
export { Exchanger, RouteRefuser, } from "../app/exchanges/exchanging.js";
|
|
38
39
|
export { findVerifiedChallengeResponse, generateChallengeWords, markChallengeVerified, parseChallengeWords, } from "../app/identity/challenging.js";
|
|
39
|
-
export { Configer, createConfiger, } from "../app/identity/configing.js";
|
|
40
40
|
export { Anchorer, } from "../app/identity/delegating.js";
|
|
41
41
|
export { endpointRoleAccepted, loadAcceptedEndpointRole, proposeGroupEndpointRole, } from "../app/identity/endpoint-roleing.js";
|
|
42
|
-
export {
|
|
42
|
+
export { beginDelegation, completeEvent, DELEGATION_WAIT_TIMEOUT_MS, delegationStatus, eventStatus, receiptEvent, waitForDelegation, } from "../app/identity/event-completion.js";
|
|
43
|
+
export { acceptedEventReplayMessage, Hab, Habery, openHabery, } from "../app/identity/habbing.js";
|
|
43
44
|
export { Algos, Manager, } from "../app/identity/keeping.js";
|
|
44
45
|
export { Organizer, } from "../app/identity/organizing.js";
|
|
46
|
+
export { IpexAdmitter } from "../app/ipex/ipex-admitting.js";
|
|
45
47
|
export { ipexExnBody, prepareIpexExn } from "../app/ipex/ipex-building.js";
|
|
46
48
|
export { credentialPresentationArtifacts, credentialSaidFromGrant, ipexCredentialAdmit, ipexCredentialGrant, processCredentialPresentationArtifacts, storedGrantArtifacts, } from "../app/ipex/ipex-credentialing.js";
|
|
49
|
+
export { anchorExchange as anchorIpexExchange, exchangeWire, IpexDiscloser, } from "../app/ipex/ipex-discloser.js";
|
|
47
50
|
export { walkIpexGraph } from "../app/ipex/ipex-graph.js";
|
|
48
51
|
export { approveStoredMultisigIpexWrappers, prepareAcdcV2GroupIpex, publishInitialGroupIpex, requireAcdcV2GroupUse, sendCompletedGroupIpex, } from "../app/ipex/ipex-grouping.js";
|
|
49
52
|
export { acceptedRegistryEvidence, authenticateIpexNode, issuedNodeVerdict, } from "../app/ipex/ipex-node-authentication.js";
|
|
53
|
+
export { ipexGrantWalk } from "../app/ipex/ipex-v2.js";
|
|
50
54
|
export { IPEX_GRANT_ROUTE, IPEX_ROUTES, ipexAdmitExn, ipexAgreeExn, ipexApplyExn, ipexGrantExn, ipexOfferExn, ipexSpurnExn, } from "../app/ipex/ipexing.js";
|
|
55
|
+
export { KEL_PUBLISHER_PACING, KEL_PUBLISHER_SWEEP_TOCKS, KEL_PUBLISHER_TOCK_MS, KelPublisher, kelPublisherDo, } from "../app/mailbox/kel-publisher.js";
|
|
56
|
+
export { addMailbox, completeGroupMailbox, completeMailboxAdmin, mailboxAdminUrl, mailboxStatus, proposeGroupMailbox, removeMailbox, requireMailboxEndpointUrl, waitForMailboxState, } from "../app/mailbox/mailbox-admin.js";
|
|
51
57
|
export { MailboxDirector, } from "../app/mailbox/mailbox-director.js";
|
|
52
58
|
export { MailboxPoller, } from "../app/mailbox/mailbox-poller.js";
|
|
53
59
|
export { consumeMailboxSse, parseMailboxSse, readMailboxSseBody, } from "../app/mailbox/mailbox-sse.js";
|
|
54
60
|
export { endpointBasePath, fetchEndpointUrls, mailboxPollEndpoints, mailboxQueryTopics, mailboxTopicKey, preferredUrl, resolveHostedEndpointPath, } from "../app/mailbox/mailboxing.js";
|
|
55
|
-
export {
|
|
61
|
+
export { Counselor, DEFAULT_FALLBACK_AFTER_MS, RECEIPT_BACKOFF_MS, waitForGroupEvent, } from "../app/multisig/counseling.js";
|
|
62
|
+
export { groupElectedMember, groupSigningMembers, groupWitnesser, groupWitnesserSelection, isLocalGroupHab, latestGroupContribution, localGroupMember, } from "../app/multisig/group-members.js";
|
|
56
63
|
export { Multiplexor, MULTISIG_ROUTES, multisigExn, multisigExnBody, multisigInceptExn, multisigInteractExn, multisigIpexProofExn, multisigIssueExn, multisigQueryExn, multisigRegistryInceptExn, multisigRevokeExn, multisigRotateExn, multisigRpyExn, } from "../app/multisig/grouping.js";
|
|
57
64
|
export { signGroupMessage } from "../app/multisig/multisig-messaging.js";
|
|
58
65
|
export { approveAcdcV2Registry, publishAcdcV2Registry } from "../app/multisig/multisig-workflows.js";
|
|
66
|
+
export { approveGroupProposal, dismissGroupProposal, findGroupProposal, listGroupProposals, } from "../app/multisig/proposals.js";
|
|
67
|
+
export { proposeCredentialIssue, proposeCredentialRegistry, proposeCredentialRevocation, proposeGroupInception, proposeGroupInteraction, proposeGroupRotation, proposeRegistryEvent, settleProposedRotation, } from "../app/multisig/proposing.js";
|
|
59
68
|
export { Notifier, } from "../app/notifications/notifying.js";
|
|
60
69
|
export { Signal, Signaler, } from "../app/notifications/signaling.js";
|
|
61
70
|
export { RawRecord } from "../core/records.js";
|
|
@@ -72,6 +81,8 @@ export { matchesRegistrySeal, vet, vetBinds, vetBlind, vetBound, } from "../acdc
|
|
|
72
81
|
/** ACDC v2 services are distinct from the legacy VDR Regery/Registry exports. */
|
|
73
82
|
export { createRegery as createAcdcV2Regery, Regery as AcdcV2Regery, Registry as AcdcV2Registry, } from "../acdc/registraring.js";
|
|
74
83
|
export { validateSchema as validateAcdcSchema } from "../acdc/scheming.js";
|
|
84
|
+
export { deliverRegistryRoots, replicateRootCopies, replicateRootCopy, resealRootCopies, RootResealBudgetMs, } from "../app/credentials/root-replicating.js";
|
|
85
|
+
export { RootReplicator, } from "../app/credentials/root-replicator.js";
|
|
75
86
|
export { publishPendingTel } from "../app/credentials/tel-publishing.js";
|
|
76
87
|
export { Deck } from "../core/deck.js";
|
|
77
88
|
export { AppError, DatabaseError, DatabaseKeyError, DatabaseNotOpenError, DatabaseOperationError, InvalidPathNameError, PathError, ValidationError, } from "../core/errors.js";
|
|
@@ -80,7 +91,7 @@ export { exchange } from "../core/exchange/protocol-exchanging.js";
|
|
|
80
91
|
export { Kevery, } from "../core/kel/eventing.js";
|
|
81
92
|
export { Kever, } from "../core/kel/kever.js";
|
|
82
93
|
export { consoleLogger, getLogLevel, LOG_LEVELS, noopLogger, setLogLevel, } from "../core/logger.js";
|
|
83
|
-
export { Kramer } from "../core/mailbox/kraming.js";
|
|
94
|
+
export { DEFAULT_KRAM_CACHES, Kramer } from "../core/mailbox/kraming.js";
|
|
84
95
|
export { CREDENTIAL_MAILBOX_TOPIC, DELEGATE_MAILBOX_TOPIC, normalizeMbxTopicCursor, OOBI_MAILBOX_TOPIC, RECEIPT_MAILBOX_TOPIC, REPLAY_MAILBOX_TOPIC, REPLY_MAILBOX_TOPIC, } from "../core/mailbox/mailbox-topics.js";
|
|
85
96
|
export { incept, interact, query, reply, rotate } from "../core/protocol-eventing.js";
|
|
86
97
|
export { messageAttachmentGroups, messagize } from "../core/protocol-serialization.js";
|
|
@@ -104,7 +115,42 @@ export { makeNowIso8601, timestampMicros, } from "../time/mod.js";
|
|
|
104
115
|
export { HTTPMessenger } from "../app/transport/http-messenger.js";
|
|
105
116
|
export { HTTPStreamMessenger } from "../app/transport/http-stream-messenger.js";
|
|
106
117
|
export { messengerFrom, streamMessengerFrom } from "../app/transport/messengering.js";
|
|
107
|
-
export { TCPStreamMessenger } from "../app/transport/tcp-stream-messenger.js";
|
|
108
118
|
export { systemClock } from "../app/runtime/runtime-clock.js";
|
|
109
119
|
export { AnchorQuerier, KeyStateNoticer, LogQuerier, SeqNoQuerier } from "../app/queries/querying.js";
|
|
110
120
|
export { WitnessInquisitor } from "../app/queries/witness-inquisitor.js";
|
|
121
|
+
// Library OOBI resolution and key-state/anchor queries (begin, status, wait).
|
|
122
|
+
export { beginOobi, OOBI_RESOLVE_TIMEOUT_MS, oobiStatus, resolveOobi, waitForOobi, } from "../app/bootstrap/oobi-resolving.js";
|
|
123
|
+
export { anchorQueryStatus, beginAnchorQuery, beginKeyStateQuery, QUERY_TIMEOUT_MS, queryAnchor, queryKeyState, requireQueryRequester, } from "../app/queries/query-workflows.js";
|
|
124
|
+
export { MemoryChangeSink, observeUntil, signalerChangeSink, } from "../app/runtime/workflow-contract.js";
|
|
125
|
+
// Library poll-and-settle for credential IPEX arrivals (settle, status, wait).
|
|
126
|
+
export { ipexArrivalStatus, ipexBaseline, MailboxIntakeTally, settleStoredGrants, waitForIpexArrival, } from "../app/mailbox/ipex-arrival.js";
|
|
127
|
+
// Runtime-owned group IPEX messages (a group holder's Admit): propose, approve, status, wait.
|
|
128
|
+
export { abandonGroupIpex, approveGroupIpex, GROUP_IPEX_COLLECT_MS, GROUP_IPEX_RETRY_BOUND_MS, GroupIpexOperations, groupIpexProposals, groupIpexStatus, proposeGroupAdmit, proposeGroupIpex, proposeGroupIpexAfter, waitForGroupIpex, } from "../app/ipex/group-ipex.js";
|
|
129
|
+
export { RETRY_BASE_MS, RETRY_MAX_MS, RetryBackoff } from "../app/runtime/retry-backoff.js";
|
|
130
|
+
// Runtime-owned group DH issuance: consent calls for the custodian and the members, election read, proof export.
|
|
131
|
+
export { approveGroupIssuance, approveGroupIssuanceExchange, followGroupIssuanceProof, groupIssuanceElection, groupIssuanceProof, groupIssuanceProposals, prepareGroupIssuance, proposeGroupIssuance, } from "../app/ipex/group-issuance.js";
|
|
132
|
+
// Runtime-owned DH issuance operations, single-signature and group (begin, process, status, wait, abandon).
|
|
133
|
+
export { abandonIssuance, admitIssuance, approveIssuanceExchange, beginIssuance, deliverIssuanceAdmit, ISSUANCE_RETRY_BOUND_MS, ISSUANCE_SWEEP_MS, IssuanceOperations, issuanceStatus, pendingGroupGrants, pendingIssuanceGrants, posterDelivery, prepareIssuanceGrant, proposeIssuance, rebuildIssuanceAdmit, waitForIssuance, } from "../app/ipex/issuance.js";
|
|
134
|
+
export { ADMIT_DELIVERY_TIMEOUT_MS, admitAndDeliver, receiveIssuance, } from "../app/ipex/receive-issuance.js";
|
|
135
|
+
// Runtime-owned single-signature IPEX presentation operations (present, process, status, wait, abandon).
|
|
136
|
+
export { abandonPresentation, deliverPreparedGrant, preparePresentation, present, PRESENTATION_RETRY_BOUND_MS, PresentationOperations, presentationStatus, proposeGroupPresentation, resendPresentation, waitForPresentation, } from "../app/ipex/presenting.js";
|
|
137
|
+
export { pendingPresentations } from "../app/ipex/pending-presentations.js";
|
|
138
|
+
// Exact public Grant files for a group presentation (prepare, resume), and the delivery outbox with retry.
|
|
139
|
+
export { preparePresentationFile, resumePresentationFile, } from "../app/ipex/presentation-files.js";
|
|
140
|
+
export { DeliveryOutbox, } from "../app/runtime/delivery-outbox.js";
|
|
141
|
+
// Runtime-owned single-signature IPEX Unblind operations (request, approve, process, status, wait, abandon).
|
|
142
|
+
export { abandonUnblinding, answerUnblind, requestUnblind, UnblindingOperations, unblindingStatus, waitForUnblinding, } from "../app/ipex/unblinding-workflow.js";
|
|
143
|
+
// Fixed-tock doers.
|
|
144
|
+
export { doEvery } from "../app/runtime/doing.js";
|
|
145
|
+
// Operations owners composed by the runtime.
|
|
146
|
+
export { OWNER_PACING, OWNER_SWEEP_TOCKS, OWNER_TOCK_MS, OwnerHealth, } from "../app/runtime/operation-owners.js";
|
|
147
|
+
// Library delegator approval (list, approve, status, wait, dismiss).
|
|
148
|
+
export { approveDelegation, DELEGATION_APPROVAL_TIMEOUT_MS, delegationApprovalStatus, dismissDelegation, listPendingDelegations, proposeGroupDelegationApproval, requestDelegatedEvent, settleDelegationApproval, waitForDelegationAnchor, waitForDelegationApproval, waitForPendingDelegation, } from "../app/identity/delegation-approval.js";
|
|
149
|
+
// Library TEL completion status/waits and challenge respond/status/wait.
|
|
150
|
+
export { REGISTRY_WAIT_POLL_MS, registryEventRef, registryEventStatus, settleRegistryEvent, waitForRegistryEvent, } from "../app/credentials/registry-settling.js";
|
|
151
|
+
export { issuedCredentialStatus, telEventStatus, waitForIssuedCredential, waitForTelEvent, } from "../app/credentials/tel-completion.js";
|
|
152
|
+
export { challengeStatus, respondToChallenge, waitForChallengeResponse, } from "../app/identity/challenging.js";
|
|
153
|
+
// Library legacy IPEX conversation (apply, offer, agree, spurn; status and wait).
|
|
154
|
+
export { ipexExchangeStatus, requireIpexPrior, requireIpexSender, sendIpexAgree, sendIpexApply, sendIpexOffer, sendIpexSpurn, waitForIpexExchange, } from "../app/ipex/ipex-conversation.js";
|
|
155
|
+
// Library legacy IPEX grant, admit and credential settle.
|
|
156
|
+
export { requireAdmittableGrant, sendIpexAdmit, sendIpexGrant, settleGrantCredential, } from "../app/ipex/ipex-granting.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host surface for Node and Deno: TCP sockets, local files and config files.
|
|
3
|
+
*
|
|
4
|
+
* `keri-ts/runtime` stays free of `node:` modules and the `Deno` global so it
|
|
5
|
+
* can be bundled for a browser. Hosts with sockets import the TCP messengers,
|
|
6
|
+
* the dialer-equipped HTTP client and the file reader from here.
|
|
7
|
+
*/
|
|
8
|
+
export { Configer, createConfiger } from "../app/identity/configing.js";
|
|
9
|
+
export { fileBytes } from "../app/transport/file-bytes.js";
|
|
10
|
+
export { NodeHttpClient, nodeTcpDialer } from "../app/transport/node-http-client.js";
|
|
11
|
+
export { socketBytes, } from "../app/transport/socket-source.js";
|
|
12
|
+
export { openTcpConnection, sendCesrTcp, sendCesrTcpFrame, sendCesrTcpSocket, streamCesrTcp, writeCesrTcpSocket, } from "../app/transport/tcp-egress.js";
|
|
13
|
+
export { TCPMessenger, } from "../app/transport/tcp-messenger.js";
|
|
14
|
+
export { TCPStreamMessenger } from "../app/transport/tcp-stream-messenger.js";
|