keri-ts 2.1.0 → 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/custody.js +164 -0
- package/esm/keri/npm/src/acdc/dhking.js +244 -32
- package/esm/keri/npm/src/acdc/regbasing.js +10 -0
- package/esm/keri/npm/src/acdc/salting.js +16 -1
- package/esm/keri/npm/src/acdc/scheming.js +93 -54
- package/esm/keri/npm/src/acdc/unblinding.js +118 -95
- 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 +4 -6
- 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 +68 -60
- 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/delivery/forwarding.js +16 -3
- package/esm/keri/npm/src/app/exchanges/exchanging.js +14 -4
- package/esm/keri/npm/src/app/identity/challenging.js +50 -0
- 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 +129 -6
- package/esm/keri/npm/src/app/identity/keeping.js +77 -4
- 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-grouping.js +34 -11
- 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 +10 -5
- package/esm/keri/npm/src/app/multisig/counseling.js +482 -0
- package/esm/keri/npm/src/app/multisig/group-members.js +18 -0
- package/esm/keri/npm/src/app/multisig/multisig-workflows.js +94 -139
- 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/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 +9 -3
- package/esm/keri/npm/src/app/queries/query-workflows.js +98 -0
- package/esm/keri/npm/src/app/runtime/agent-runtime.js +106 -55
- 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/http-client.js +25 -6
- package/esm/keri/npm/src/app/witness/http-endpoints.js +4 -4
- package/esm/keri/npm/src/cli/common/event-completion.js +49 -0
- package/esm/keri/npm/src/cli/common/runtime-workers.js +23 -0
- package/esm/keri/npm/src/cli/credentials/ipex.js +157 -190
- 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.js +10 -13
- package/esm/keri/npm/src/cli/identity/challenge.js +8 -34
- package/esm/keri/npm/src/cli/identity/delegate.js +81 -258
- package/esm/keri/npm/src/cli/identity/incept.js +15 -32
- package/esm/keri/npm/src/cli/identity/interact.js +5 -17
- package/esm/keri/npm/src/cli/identity/rotate.js +8 -36
- package/esm/keri/npm/src/cli/index.js +3 -1
- 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 +163 -284
- package/esm/keri/npm/src/cli/messaging/root-copy-lines.js +31 -0
- package/esm/keri/npm/src/core/kel/eventing.js +66 -10
- package/esm/keri/npm/src/core/mailbox/kram-policy.js +39 -6
- 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 +13 -0
- package/esm/keri/npm/src/db/basing.js +34 -2
- package/esm/keri/npm/src/db/core/indexeddb-persistence.js +221 -0
- package/esm/keri/npm/src/db/indexeddb.js +98 -0
- package/esm/keri/npm/src/db/keeping.js +11 -2
- package/esm/keri/npm/src/db/store-lock.js +150 -0
- 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.browser.js +2 -0
- package/esm/keri/npm/src/npm/index.browser.js +9 -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 +51 -4
- 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/tel-publication.js +16 -0
- package/esm/keri/npm/src/version.js +2 -2
- package/package.json +15 -2
- package/types/acdc/authoring.d.ts +54 -0
- package/types/acdc/authoring.d.ts.map +1 -0
- 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 +4 -0
- package/types/acdc/regbasing.d.ts.map +1 -1
- package/types/acdc/salting.d.ts +6 -1
- 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 +56 -44
- package/types/app/credentials/root-replicating.d.ts.map +1 -1
- 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/delivery/forwarding.d.ts +6 -0
- package/types/app/delivery/forwarding.d.ts.map +1 -1
- 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/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 +67 -2
- package/types/app/identity/habbing.d.ts.map +1 -1
- package/types/app/identity/keeping.d.ts +49 -3
- package/types/app/identity/keeping.d.ts.map +1 -1
- 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-grouping.d.ts +18 -0
- package/types/app/ipex/ipex-grouping.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 +3 -0
- 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 +11 -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 +91 -22
- 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/signaling.d.ts +3 -1
- package/types/app/notifications/signaling.d.ts.map +1 -1
- package/types/app/protocol/parsering.d.ts +13 -0
- package/types/app/protocol/parsering.d.ts.map +1 -1
- package/types/app/protocol/protocol-processing.d.ts +7 -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 +72 -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/http-client.d.ts.map +1 -1
- 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/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.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/interact.d.ts.map +1 -1
- package/types/cli/identity/rotate.d.ts.map +1 -1
- package/types/cli/index.d.ts +3 -1
- 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 +28 -5
- 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/core/cues.d.ts +11 -0
- package/types/core/cues.d.ts.map +1 -1
- package/types/core/kel/eventing.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/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 +8 -2
- package/types/db/basing.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/indexeddb.d.ts +37 -0
- package/types/db/indexeddb.d.ts.map +1 -0
- package/types/db/keeping.d.ts +5 -2
- package/types/db/keeping.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/npm/db-indexeddb.d.ts +4 -0
- package/types/npm/db-indexeddb.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 +41 -6
- package/types/runtime/index.d.ts.map +1 -1
- 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/cli/common/tel-completion.js +0 -24
- package/types/cli/common/tel-completion.d.ts +0 -8
- package/types/cli/common/tel-completion.d.ts.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry blind derivation over the Keeper's registry root.
|
|
3
|
+
*
|
|
4
|
+
* Issuing a blinded (BUP) registry update needs a deterministic opening. The
|
|
5
|
+
* root salt stays in the Keeper; this core derives openings from it and keeps
|
|
6
|
+
* only the public, event-specific coordinates in a `DerivedUpdateStore`. A
|
|
7
|
+
* runtime defaults to {@link BaserDerivedUpdateStore}; a wallet backs the port
|
|
8
|
+
* with its own table. The core opens no database of its own.
|
|
9
|
+
*/
|
|
10
|
+
import { type SerderACDC } from "cesr-ts";
|
|
11
|
+
import type { Hab, Habery } from "../app/identity/habbing.js";
|
|
12
|
+
import type { RegBaser } from "./regbasing.js";
|
|
13
|
+
import { type RegistryDisclosure } from "./regeventing.js";
|
|
14
|
+
import type { RegistryStore } from "./registering.js";
|
|
15
|
+
/** Public event-specific inputs; neither a salt nor a derived opening is retained here. */
|
|
16
|
+
export interface DerivedUpdate {
|
|
17
|
+
credential: string;
|
|
18
|
+
state: string;
|
|
19
|
+
bound: {
|
|
20
|
+
bn: string;
|
|
21
|
+
bd: string;
|
|
22
|
+
} | null;
|
|
23
|
+
}
|
|
24
|
+
/** Durable, non-secret derivation coordinates keyed by BUP SAID; `pin` overwrites. */
|
|
25
|
+
export interface DerivedUpdateStore {
|
|
26
|
+
get(event: string): DerivedUpdate | null;
|
|
27
|
+
pin(event: string, value: DerivedUpdate): void;
|
|
28
|
+
}
|
|
29
|
+
/** Process-local store for a CLI or tests; a wallet backs the port with its own durable table. */
|
|
30
|
+
export declare class MemoryDerivedUpdateStore implements DerivedUpdateStore {
|
|
31
|
+
private readonly rows;
|
|
32
|
+
get(event: string): DerivedUpdate | null;
|
|
33
|
+
pin(event: string, value: DerivedUpdate): void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Derivation coordinates kept in a registry environment's own database (`RegBaser.dvus`). The default of a
|
|
37
|
+
* runtime that supplies no store, so a server agent keeps them durably beside the registry events they
|
|
38
|
+
* describe. A wallet with its own table still passes that instead.
|
|
39
|
+
*/
|
|
40
|
+
export declare class BaserDerivedUpdateStore implements DerivedUpdateStore {
|
|
41
|
+
private readonly baser;
|
|
42
|
+
constructor(baser: RegBaser);
|
|
43
|
+
get(event: string): DerivedUpdate | null;
|
|
44
|
+
pin(event: string, value: DerivedUpdate): void;
|
|
45
|
+
}
|
|
46
|
+
/** Owners a custody borrows; construction opens nothing. */
|
|
47
|
+
export interface RegistryCustodyOptions {
|
|
48
|
+
hby: Habery;
|
|
49
|
+
hab: Hab;
|
|
50
|
+
registry: RegistryStore;
|
|
51
|
+
store: DerivedUpdateStore;
|
|
52
|
+
}
|
|
53
|
+
/** Explicit capability over a local habitat's Keeper root and accepted public registry evidence. */
|
|
54
|
+
export declare class RegistryCustody {
|
|
55
|
+
readonly options: RegistryCustodyOptions;
|
|
56
|
+
/** Borrow owners only; construction loads no encrypted row. */
|
|
57
|
+
constructor(options: RegistryCustodyOptions);
|
|
58
|
+
/** Bind the actual local habitat and its key owners, never an AID label alone. */
|
|
59
|
+
private owner;
|
|
60
|
+
/** Load only this habitat's Keeper root; possession confers no protocol authority. */
|
|
61
|
+
private load;
|
|
62
|
+
/** Provision an issuer-selected root once, refusing replacement behind opaque accepted history. */
|
|
63
|
+
createCustody(registry: string): {
|
|
64
|
+
registry: string;
|
|
65
|
+
};
|
|
66
|
+
/** Derive a candidate only; consumers still authenticate its exact accepted event and bound KEL reference. */
|
|
67
|
+
derive(registry: string, ordinal: number | bigint, credential: string, state: string, options?: {
|
|
68
|
+
bound?: boolean;
|
|
69
|
+
bsn?: number | bigint;
|
|
70
|
+
bd?: string;
|
|
71
|
+
}): RegistryDisclosure;
|
|
72
|
+
/** Persist exact nonsecret coordinates before processing/anchoring a newly derived BUP. */
|
|
73
|
+
retainDerivedUpdate(event: SerderACDC, opening: RegistryDisclosure): DerivedUpdate;
|
|
74
|
+
/** Reproduce only the exact accepted event, never today's head or a later credential's coordinates. */
|
|
75
|
+
derivedOpening(event: SerderACDC): RegistryDisclosure;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=custody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custody.d.ts","sourceRoot":"","sources":["../../src/acdc/custody.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAA8D,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACtG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,kBAAkB,EAAY,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1C;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAChD;AAED,kGAAkG;AAClG,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IACzD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAGxC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;CAG/C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAC5C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAIxC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;CAG/C;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAED,oGAAoG;AACpG,qBAAa,eAAe;IAEd,QAAQ,CAAC,OAAO,EAAE,sBAAsB;IADpD,+DAA+D;gBAC1C,OAAO,EAAE,sBAAsB;IAIpD,kFAAkF;IAClF,OAAO,CAAC,KAAK;IAOb,sFAAsF;IACtF,OAAO,CAAC,IAAI;IAOZ,mGAAmG;IACnG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAiCrD,8GAA8G;IAC9G,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAO,GACpE,kBAAkB;IAarB,2FAA2F;IAC3F,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAG,aAAa;IAiBlF,uGAAuG;IACvG,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB;CAwBtD"}
|
package/types/acdc/dhking.d.ts
CHANGED
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { type Cigar, type Diger, Salter, type SerderKERI } from "cesr-ts";
|
|
7
7
|
import type { Operation } from "effection";
|
|
8
|
-
import type { ExchangeDecision, Exchanger } from "../app/exchanges/exchanging.js";
|
|
8
|
+
import type { ExchangeDecision, ExchangeInput, Exchanger } from "../app/exchanges/exchanging.js";
|
|
9
9
|
import { Hab } from "../app/identity/habbing.js";
|
|
10
10
|
import { type GroupCoordinator } from "../app/multisig/group-members.js";
|
|
11
11
|
import { type AuxiliaryQueryProcessor, type MessageDropDecision } from "../app/protocol/parsering.js";
|
|
12
12
|
import { Deck } from "../core/deck.js";
|
|
13
13
|
import type { KeriDispatchEnvelope, TransIdxSigGroup } from "../core/dispatch.js";
|
|
14
14
|
import { type ReplyProcessDecision, type Revery } from "../core/routing.js";
|
|
15
|
+
import type { Baser } from "../db/basing.js";
|
|
15
16
|
import { type RegistryStore } from "./registering.js";
|
|
16
17
|
/** Exact context bound by the Python HKDF profile. XID can differ from Grant SAID. */
|
|
17
18
|
export interface DhkeContext {
|
|
@@ -33,6 +34,40 @@ export declare function generateKeyPair(): {
|
|
|
33
34
|
};
|
|
34
35
|
/** Derive one Salt128; malformed context, wrong local keys and low-order peers refuse. */
|
|
35
36
|
export declare function deriveRoot(privateKey: Uint8Array, context: DhkeContext): Salter;
|
|
37
|
+
/** The Grant `hab` takes part in, with its parties, transaction and registry scope. */
|
|
38
|
+
interface GrantScope {
|
|
39
|
+
input: ExchangeInput;
|
|
40
|
+
issuer: string;
|
|
41
|
+
issuee: string;
|
|
42
|
+
xid: string;
|
|
43
|
+
registries: readonly string[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The DH transaction id of a Grant: its own SAID when it opens the exchange (`xip`), and otherwise the exchange it
|
|
47
|
+
* continues (`x`). The one definition, so the owner and any workflow that names the transaction agree.
|
|
48
|
+
*/
|
|
49
|
+
export declare function grantTransactionId(grant: SerderKERI): string;
|
|
50
|
+
/**
|
|
51
|
+
* The scope of a completed exchange that can finish without new key exchange: the Grant is still pending
|
|
52
|
+
* inside its original deadline and `hab` holds a root for the registries it discloses. The scope is those
|
|
53
|
+
* registries; a registry that is still fresh must hold one. No fresh registry is required, because the
|
|
54
|
+
* issuer's update may already be accepted: {@link Dhke.finish} proves the held root against that update, so
|
|
55
|
+
* a root from any other exchange is rejected there. Pure read of stores. Null when nothing can resume.
|
|
56
|
+
*/
|
|
57
|
+
export declare function resumableExchange({ hab, exc }: {
|
|
58
|
+
hab: Hab;
|
|
59
|
+
exc: Exchanger;
|
|
60
|
+
}, grant: string): GrantScope | null;
|
|
61
|
+
/**
|
|
62
|
+
* Whether `registry` has no committed state: its head is still the inception and no update is escrowed.
|
|
63
|
+
* A staged update waits in the missing-anchor or out-of-order escrow under its registry until the issuer's
|
|
64
|
+
* anchor is accepted, and an accepted one moves the head, so two keyed reads bounded by this registry
|
|
65
|
+
* decide it. Only then can a retained root be unused, because every derivation from a root, and every copy
|
|
66
|
+
* of it to another member (which `RegistryRoot` authorizes only for an accepted, issuer-anchored update),
|
|
67
|
+
* starts from a staged or accepted update. A remote update escrowed for this registry also counts, which
|
|
68
|
+
* is the conservative side.
|
|
69
|
+
*/
|
|
70
|
+
export declare function registryUncommitted(registryStore: RegistryStore, registry: string): boolean;
|
|
36
71
|
/** Group consent names its own accepted coordinator and elected member; individuals omit both. */
|
|
37
72
|
export interface DhkeApproval {
|
|
38
73
|
coordinator?: GroupCoordinator;
|
|
@@ -44,6 +79,16 @@ export interface DhkeOutgoing {
|
|
|
44
79
|
dest: string;
|
|
45
80
|
msg: Uint8Array;
|
|
46
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* The group custodian just retained these registries' roots for `gid`; every other
|
|
84
|
+
* current member should receive a sealed copy (KERIpy's `replicate` cue). It carries
|
|
85
|
+
* coordinates only, never a root. It is a separate deck from `outgoing` because it is
|
|
86
|
+
* not wire: a drainer that sends every `outgoing` item would send it.
|
|
87
|
+
*/
|
|
88
|
+
export interface DhkeReplicate {
|
|
89
|
+
gid: string;
|
|
90
|
+
registries: string[];
|
|
91
|
+
}
|
|
47
92
|
/**
|
|
48
93
|
* Issuer/issuee DH for an explicitly approved pending Grant. Wire
|
|
49
94
|
* intake cannot approve work. Inject as ProtocolProcessor.qvy and register on
|
|
@@ -56,6 +101,8 @@ export declare class Dhke implements AuxiliaryQueryProcessor {
|
|
|
56
101
|
static readonly Route = "/ipex/dhke";
|
|
57
102
|
readonly resource = "/ipex/dhke";
|
|
58
103
|
readonly outgoing: Deck<DhkeOutgoing>;
|
|
104
|
+
/** Completion cues for roots just retained by this group's custodian; feed `RootReplicator.replicate`. */
|
|
105
|
+
readonly replicated: Deck<DhkeReplicate>;
|
|
59
106
|
private readonly pendingQueries;
|
|
60
107
|
private readonly now;
|
|
61
108
|
private readonly operations;
|
|
@@ -64,16 +111,46 @@ export declare class Dhke implements AuxiliaryQueryProcessor {
|
|
|
64
111
|
readonly rvy: Revery;
|
|
65
112
|
readonly registryStore: RegistryStore;
|
|
66
113
|
readonly group: boolean;
|
|
114
|
+
private readonly kram;
|
|
67
115
|
/** Bind concrete local owners; construction grants no consent and writes nothing. */
|
|
68
|
-
constructor({ hab, exc, registryStore, rvy, now }: {
|
|
116
|
+
constructor({ hab, exc, registryStore, rvy, now, kram }: {
|
|
69
117
|
hab: Hab;
|
|
70
118
|
exc: Exchanger;
|
|
71
119
|
registryStore: RegistryStore;
|
|
72
120
|
rvy?: Revery;
|
|
73
121
|
now?: () => number;
|
|
122
|
+
/** False when the runtime has KRAM off: its `tmsc`/`msgc` rows never exist, so `approve` refuses. */
|
|
123
|
+
kram?: boolean;
|
|
74
124
|
});
|
|
75
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* Select one live fresh issuance and freeze its exact bodies, parties and registry order.
|
|
127
|
+
*
|
|
128
|
+
* A registry that already holds a root refuses (`Registry root conflicts with this live DH operation`)
|
|
129
|
+
* unless it has no committed state ({@link registryUncommitted}): then the held root was never used and
|
|
130
|
+
* this exchange, whose Grant is from the registry's issuer, overwrites it when it retains its own root,
|
|
131
|
+
* never at approval, so an interruption before retention leaves the old root. Once any update is staged
|
|
132
|
+
* or accepted the refusal is unchanged. A KERIpy peer keeps the old rule and refuses such a second
|
|
133
|
+
* exchange: with a KERIpy holder the issuer needs a fresh registry. One process also refuses a second
|
|
134
|
+
* live operation on a registry, so two pending Grants cannot clobber each other's root.
|
|
135
|
+
*/
|
|
76
136
|
approve(grant: string, { coordinator, custodian }?: DhkeApproval): string;
|
|
137
|
+
/**
|
|
138
|
+
* Resume a completed exchange after a process restart, without new key exchange: rebuild the operation as
|
|
139
|
+
* completed from the roots held for the Grant's registries ({@link resumableExchange}). It holds no
|
|
140
|
+
* ephemeral key, so it cannot start, answer or renew a query; it can only {@link complete} and
|
|
141
|
+
* {@link finish}, which signs nothing and verifies the issuer's update against the held root. Needs an
|
|
142
|
+
* unlocked Keeper; wire intake never calls it. Repeating it returns the same transaction.
|
|
143
|
+
*
|
|
144
|
+
* @throws ValidationError unless the Grant is pending and holds a root for each registry in its scope.
|
|
145
|
+
*/
|
|
146
|
+
resume(grant: string, { coordinator, custodian }?: DhkeApproval): string;
|
|
147
|
+
/** Freeze the exact pending Grant, parties and registry order into an operation; registers nothing. */
|
|
148
|
+
private frozen;
|
|
149
|
+
/**
|
|
150
|
+
* Whether this owner already holds a live operation for `grant`. Two operation tables over one runtime
|
|
151
|
+
* (the host's and a command's own) use it so only the first to reach a Grant drives it.
|
|
152
|
+
*/
|
|
153
|
+
holds(grant: string): boolean;
|
|
77
154
|
/** Return the stable issuer proposal until own threshold intake supplies the complete query. */
|
|
78
155
|
start(grant: string): Uint8Array;
|
|
79
156
|
/**
|
|
@@ -109,6 +186,16 @@ export declare class Dhke implements AuxiliaryQueryProcessor {
|
|
|
109
186
|
finish(xid: string): Operation<ExchangeDecision>;
|
|
110
187
|
/** Drop local ephemeral key references and permanently refuse this operation. */
|
|
111
188
|
abandon(xid: string): void;
|
|
189
|
+
/**
|
|
190
|
+
* Whether this local habitat is the party of DH transaction `xid` with `sender`.
|
|
191
|
+
*
|
|
192
|
+
* Messages carry no recipient, so a per-identifier registry selects the owner by transaction:
|
|
193
|
+
* an approved operation here, a stored Grant from `sender` addressed to this habitat, or, for a
|
|
194
|
+
* group, its own members' contributions, which KRAM must pool before this owner consents.
|
|
195
|
+
*/
|
|
196
|
+
inTransaction(sender: string, xid: string): boolean;
|
|
197
|
+
/** Recipients of the pending Grants `sender` opened in DH transaction `xid`, from KRAM-accepted store rows. */
|
|
198
|
+
static recipients(db: Baser, sender: string, xid: string): string[];
|
|
112
199
|
/** Release all process-local approvals and retry bytes; zero owned ephemeral scalar arrays. */
|
|
113
200
|
close(): void;
|
|
114
201
|
/** Retain public query evidence against one exact pending Grant, without creating keys or consent. */
|
|
@@ -117,6 +204,9 @@ export declare class Dhke implements AuxiliaryQueryProcessor {
|
|
|
117
204
|
private pruneQueries;
|
|
118
205
|
/** Consume the first authenticated request only after explicit approval; never renew either clock. */
|
|
119
206
|
private replayQuery;
|
|
207
|
+
/** The persisted query for `xid` after a restart, with its lifetime recomputed from KRAM's durable records. */
|
|
208
|
+
private loadHeld;
|
|
209
|
+
private dropHeld;
|
|
120
210
|
/** Bound process-local public evidence by the original query and accepted Grant lifetimes. */
|
|
121
211
|
private retainUntil;
|
|
122
212
|
private operation;
|
|
@@ -133,4 +223,5 @@ export declare class Dhke implements AuxiliaryQueryProcessor {
|
|
|
133
223
|
/** Recheck exact frozen election evidence and current membership without choosing a replacement. */
|
|
134
224
|
private custody;
|
|
135
225
|
}
|
|
226
|
+
export {};
|
|
136
227
|
//# sourceMappingURL=dhking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dhking.d.ts","sourceRoot":"","sources":["../../src/acdc/dhking.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAGL,KAAK,KAAK,EAGV,KAAK,KAAK,EAUV,MAAM,EAEN,KAAK,UAAU,EAKhB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"dhking.d.ts","sourceRoot":"","sources":["../../src/acdc/dhking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/** Public ACDC registry database layout and joined LMDB lifecycle. */
|
|
2
2
|
import { Diger, NumberPrimitive, Saider, SerderACDC } from "cesr-ts";
|
|
3
3
|
import type { Operation } from "effection";
|
|
4
|
+
import { DerivedUpdateRecord } from "../core/records.js";
|
|
4
5
|
import type { StoreIdentity } from "../db/core/dber.js";
|
|
5
6
|
import type { LMDBerOptions } from "../db/core/lmdber.js";
|
|
6
7
|
import { type StoreFamily, StoreOwner } from "../db/core/store-owner.js";
|
|
8
|
+
import { Komer } from "../db/koming.js";
|
|
7
9
|
import { B64OnIoSetSuber, BytesSuber, CatCesrSuber, CesrOnSuber, CesrSuber, SerderSuber } from "../db/subing.js";
|
|
8
10
|
/** Registry paths retain the existing .tufa default and explicit .keri compatibility mode. */
|
|
9
11
|
export interface RegBaserOptions extends LMDBerOptions {
|
|
@@ -26,6 +28,8 @@ export declare class RegBaser extends StoreOwner {
|
|
|
26
28
|
heads: CesrSuber<Saider>;
|
|
27
29
|
/** Event-SAID -> one deliberately published counted BSQ/BSS opening; never private custody. */
|
|
28
30
|
openings: BytesSuber;
|
|
31
|
+
/** keri-ts only. BUP SAID -> public blind-derivation coordinates; never a salt or opening. */
|
|
32
|
+
dvus: Komer<DerivedUpdateRecord>;
|
|
29
33
|
/** Event-SAID -> earliest verified KEL source couple, in the current store. */
|
|
30
34
|
ancs: CatCesrSuber<[NumberPrimitive, Diger]>;
|
|
31
35
|
/** Insertion-ordered missing-anchor event-SAID tuples by registry and ordinal. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regbasing.d.ts","sourceRoot":"","sources":["../../src/acdc/regbasing.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAK,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEjH,8FAA8F;AAC9F,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACtC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAwB;IAE3D,gFAAgF;IAChF,IAAI,EAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/B,qFAAqF;IACrF,IAAI,EAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,4FAA4F;IAC5F,KAAK,EAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1B,+FAA+F;IAC/F,QAAQ,EAAG,UAAU,CAAC;IAEtB,+EAA+E;IAC/E,IAAI,EAAG,YAAY,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,kFAAkF;IAClF,IAAI,EAAG,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,gFAAgF;IAChF,IAAI,EAAG,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjC,4EAA4E;IAC3E,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"regbasing.d.ts","sourceRoot":"","sources":["../../src/acdc/regbasing.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAK,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEjH,8FAA8F;AAC9F,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACtC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAwB;IAE3D,gFAAgF;IAChF,IAAI,EAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/B,qFAAqF;IACrF,IAAI,EAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,4FAA4F;IAC5F,KAAK,EAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1B,+FAA+F;IAC/F,QAAQ,EAAG,UAAU,CAAC;IAEtB,8FAA8F;IAC9F,IAAI,EAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAElC,+EAA+E;IAC/E,IAAI,EAAG,YAAY,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,kFAAkF;IAClF,IAAI,EAAG,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,gFAAgF;IAChF,IAAI,EAAG,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjC,4EAA4E;IAC3E,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAAC,OAAO,CAAC;CAkBzD"}
|
package/types/acdc/salting.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import { Salter, type SerderACDC, type SerderKERI, Texter } from "cesr-ts";
|
|
|
24
24
|
import type { ExchangeRouteHandler } from "../app/exchanges/exchanging.js";
|
|
25
25
|
import type { Hab, Habery } from "../app/identity/habbing.js";
|
|
26
26
|
import type { Notifier } from "../app/notifications/notifying.js";
|
|
27
|
+
import type { ChangeSink } from "../app/runtime/workflow-contract.js";
|
|
27
28
|
import { ValidationError } from "../core/errors.js";
|
|
28
29
|
import { type RegistryDisclosure } from "./regeventing.js";
|
|
29
30
|
import type { Regery } from "./registraring.js";
|
|
@@ -120,7 +121,9 @@ export declare class RegistryRoot implements ExchangeRouteHandler {
|
|
|
120
121
|
readonly hby: Habery;
|
|
121
122
|
readonly rgy: Regery;
|
|
122
123
|
readonly notifier: Notifier | null;
|
|
123
|
-
|
|
124
|
+
/** Told `{kind: "root", id: registry}` after a copy is retained, so an embedder that waited for the root can act. */
|
|
125
|
+
readonly changes: ChangeSink | undefined;
|
|
126
|
+
constructor(hby: Habery, rgy: Regery, notifier?: Notifier | null, changes?: ChangeSink);
|
|
124
127
|
/** True when `member` contributed to any accepted establishment of `group`. */
|
|
125
128
|
private historical;
|
|
126
129
|
/** True when `member`'s latest contributing key is in `group`'s current keys. */
|
|
@@ -164,6 +167,8 @@ export declare class RegistryRoot implements ExchangeRouteHandler {
|
|
|
164
167
|
resealed(ghab: Hab, rotation: string): string[];
|
|
165
168
|
/** Return the current signing member AIDs of `gid` known to this Habery. */
|
|
166
169
|
members(gid: string): string[];
|
|
170
|
+
/** Public key by which `member` currently contributes to `gid`, or null while not a known current signing member. */
|
|
171
|
+
contributor(gid: string, member: string): string | null;
|
|
167
172
|
/** Return the registry SAIDs with a root retained locally for `gid`. */
|
|
168
173
|
held(gid: string): string[];
|
|
169
174
|
/** True when `ghab`'s local member is the elected sender for `rotation`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salting.d.ts","sourceRoot":"","sources":["../../src/acdc/salting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAgBL,MAAM,EACN,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,EAKP,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD,OAAO,EAAE,KAAK,kBAAkB,EAA+D,MAAM,kBAAkB,CAAC;AACxH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,0EAA0E;AAC1E,qBAAa,WAAY,SAAQ,eAAe;CAAG;AAEnD,6EAA6E;AAC7E,qBAAa,cAAe,SAAQ,eAAe;CAAG;AAEtD,4FAA4F;AAC5F,qBAAa,YAAa,SAAQ,cAAc;CAAG;AAEnD,iGAAiG;AACjG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8DD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,UAAU,CA4BZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,YAAa,YAAW,oBAAoB;IACvD,MAAM,CAAC,QAAQ,CAAC,KAAK,oBAAoB;IACzC,MAAM,CAAC,QAAQ,CAAC,IAAI,wBAAwB;IAC5C,MAAM,CAAC,QAAQ,CAAC,MAAM,iCAAkC;IACxD,QAAQ,CAAC,QAAQ,oBAAsB;IACvC,QAAQ,CAAC,aAAa,KAAK;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"salting.d.ts","sourceRoot":"","sources":["../../src/acdc/salting.ts"],"names":[],"mappings":"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"}
|
package/types/acdc/scheming.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export declare class MissingSchemaError extends ValidationError {
|
|
|
22
22
|
export declare class FailedSchemaValidationError extends ValidationError {
|
|
23
23
|
}
|
|
24
24
|
type Schema = Record<string, unknown>;
|
|
25
|
+
/** How many schema closures this process has compiled; a diagnostic for tests of the cache. */
|
|
26
|
+
export declare function schemaCompilationCount(): number;
|
|
25
27
|
/** Local static schema closure plus a synchronous Draft 2020-12 validator; legacy Schemer behavior is unchanged. */
|
|
26
28
|
export declare function validateSchema(acdc: SerderACDC, db: Baser, override?: string | Readonly<Schema>): SchemaValidation;
|
|
27
29
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheming.d.ts","sourceRoot":"","sources":["../../src/acdc/scheming.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,6FAA6F;AAC7F,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IACrF,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,4FAA4F;AAC5F,qBAAa,kBAAmB,SAAQ,eAAe;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAGpC;AACD,uFAAuF;AACvF,qBAAa,2BAA4B,SAAQ,eAAe;CAAG;AAGnE,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"scheming.d.ts","sourceRoot":"","sources":["../../src/acdc/scheming.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,6FAA6F;AAC7F,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IACrF,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,4FAA4F;AAC5F,qBAAa,kBAAmB,SAAQ,eAAe;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAGpC;AACD,uFAAuF;AACvF,qBAAa,2BAA4B,SAAQ,eAAe;CAAG;AAGnE,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiOtC,+FAA+F;AAC/F,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAwDD,oHAAoH;AACpH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,gBAAgB,CA+BlH"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* IPEX Unblind, following Python's local query/reply profile.
|
|
3
3
|
* Only event openings cross this boundary. Roots, application state vocabulary,
|
|
4
4
|
* transport and final Admit remain with their existing owners.
|
|
5
|
+
*
|
|
6
|
+
* Consent: the disclosee explicitly approves (`approve`/`start`) the Grant it requests proofs for.
|
|
7
|
+
* The discloser has no separate approval step: it consented by signing the presentation Grant, so an
|
|
8
|
+
* authenticated query for a live Grant this identifier sent is answered automatically, bounded by that
|
|
9
|
+
* Grant's registry scope and original deadline. The rule is decided from stored state, so it survives a
|
|
10
|
+
* restart. KERIpy's `Unblind` keeps its own local approve gate; that is local policy and the wire is
|
|
11
|
+
* unchanged.
|
|
5
12
|
*/
|
|
6
13
|
import { type Cigar, Diger, type SerderKERI } from "cesr-ts";
|
|
7
14
|
import type { Operation } from "effection";
|
|
@@ -11,8 +18,11 @@ import { type AuxiliaryQueryProcessor, type MessageDropDecision } from "../app/p
|
|
|
11
18
|
import { Deck } from "../core/deck.js";
|
|
12
19
|
import { type KeriDispatchEnvelope, TransIdxSigGroup } from "../core/dispatch.js";
|
|
13
20
|
import { type ReplyProcessDecision, type Revery } from "../core/routing.js";
|
|
21
|
+
import type { Baser } from "../db/basing.js";
|
|
14
22
|
import type { RegistryObserver } from "./observing.js";
|
|
15
23
|
import { type RegistryDisclosure } from "./regeventing.js";
|
|
24
|
+
/** Ordinary registry states an Unblind operation may reveal unless its approval names others. */
|
|
25
|
+
export declare const DEFAULT_UNBLIND_STATES: readonly string[];
|
|
16
26
|
/** Member signing proposals or elected delivery of full aggregates; all bytes are process-local. */
|
|
17
27
|
export interface UnblindOutgoing {
|
|
18
28
|
kin: "sign" | "query" | "reply";
|
|
@@ -30,28 +40,37 @@ export declare class Unblind implements AuxiliaryQueryProcessor {
|
|
|
30
40
|
static readonly Route = "/ipex/unblind";
|
|
31
41
|
readonly resource = "/ipex/unblind";
|
|
32
42
|
readonly outgoing: Deck<UnblindOutgoing>;
|
|
33
|
-
private readonly pendingQueries;
|
|
34
|
-
private readonly now;
|
|
35
43
|
private readonly operations;
|
|
44
|
+
/** Whether the persisted requests this identifier owes replies to were taken up by this owner. */
|
|
45
|
+
private restored;
|
|
36
46
|
readonly hab: Hab;
|
|
37
47
|
readonly exc: Exchanger;
|
|
38
48
|
readonly rvy: Revery;
|
|
39
49
|
readonly registry: RegistryObserver;
|
|
40
|
-
readonly states: readonly string[];
|
|
41
50
|
readonly group: boolean;
|
|
42
|
-
|
|
43
|
-
|
|
51
|
+
private readonly kram;
|
|
52
|
+
/** Bind the exact Grant verifier's store; the state vocabulary is chosen per approved operation. */
|
|
53
|
+
constructor({ hab, exc, registry, rvy, kram }: {
|
|
44
54
|
hab: Hab;
|
|
45
55
|
exc: Exchanger;
|
|
46
56
|
registry: RegistryObserver;
|
|
47
|
-
states: readonly string[];
|
|
48
57
|
rvy?: Revery;
|
|
49
|
-
|
|
58
|
+
/** False when the runtime has KRAM off: its `tmsc`/`msgc` rows never exist, so `approve` refuses. */
|
|
59
|
+
kram?: boolean;
|
|
50
60
|
});
|
|
51
|
-
/**
|
|
52
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Freeze one authenticated live Grant's exact bodies, parties, authorized registry scope and
|
|
63
|
+
* ordinary-state vocabulary. `states` defaults to the registry-root triple and applies to this
|
|
64
|
+
* operation only; approving the same Grant again with different explicit states is refused,
|
|
65
|
+
* while omitting `states` on a repeat approval keeps the frozen vocabulary.
|
|
66
|
+
*/
|
|
67
|
+
approve(grant: string, options?: {
|
|
68
|
+
states?: readonly string[];
|
|
69
|
+
}): string;
|
|
53
70
|
/** Freeze a signed disclosee query over the missing accepted public suffix. */
|
|
54
|
-
start(grant: string
|
|
71
|
+
start(grant: string, options?: {
|
|
72
|
+
states?: readonly string[];
|
|
73
|
+
}): Uint8Array;
|
|
55
74
|
/**
|
|
56
75
|
* Re-sign this disclosee's started individual query for delivery now.
|
|
57
76
|
*
|
|
@@ -73,6 +92,12 @@ export declare class Unblind implements AuxiliaryQueryProcessor {
|
|
|
73
92
|
processQuery(envelope: KeriDispatchEnvelope): {
|
|
74
93
|
kind: "accept";
|
|
75
94
|
} | MessageDropDecision;
|
|
95
|
+
/**
|
|
96
|
+
* Take up the requests this identifier owes a reply to after its owner was lost: each persisted request is
|
|
97
|
+
* processed again as when first accepted, and one that no longer holds (the Grant ended, its evidence changed)
|
|
98
|
+
* is dropped. Done once per owner, before the first look at what is owed.
|
|
99
|
+
*/
|
|
100
|
+
private restoreHeld;
|
|
76
101
|
/** Schedule responder work only after the selected live operation authenticates its peer query. */
|
|
77
102
|
hasPeerQuery(xid: string): boolean;
|
|
78
103
|
/** Retry a previously authenticated request locally when held proofs become available. */
|
|
@@ -106,18 +131,32 @@ export declare class Unblind implements AuxiliaryQueryProcessor {
|
|
|
106
131
|
finish(xid: string): Operation<ExchangeDecision>;
|
|
107
132
|
/** Discard approved work and unsent replies; delivered bytes remain caller-owned. */
|
|
108
133
|
abandon(xid: string): void;
|
|
134
|
+
/** Drop an operation's process-local approval, messages and openings; a persisted request stays. */
|
|
135
|
+
private forget;
|
|
109
136
|
/** Select the exact missing public suffix without signing or changing registry state. */
|
|
110
137
|
private request;
|
|
138
|
+
/**
|
|
139
|
+
* Whether this local habitat is the party of Unblind transaction `xid` with `sender`.
|
|
140
|
+
*
|
|
141
|
+
* Messages carry no recipient, so a per-identifier registry selects the owner by transaction:
|
|
142
|
+
* an approved operation here, a stored Grant from this habitat addressed to `sender`, or, for a
|
|
143
|
+
* group, its own members' contributions, which KRAM must pool before this owner consents.
|
|
144
|
+
*/
|
|
145
|
+
inTransaction(sender: string, xid: string): boolean;
|
|
146
|
+
/** Recipients of the Grants `pre` sent in transaction `xid`, from KRAM-accepted store rows. */
|
|
147
|
+
static recipients(db: Baser, pre: string, xid: string): string[];
|
|
111
148
|
/** Release all process-local approvals, opening references and retry bytes without changing stores. */
|
|
112
149
|
close(): void;
|
|
113
|
-
/**
|
|
114
|
-
private
|
|
115
|
-
/**
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
150
|
+
/** The one live Grant this identifier sent to `recipient` in exchange `xid`, from KRAM-accepted store rows. */
|
|
151
|
+
private sentGrant;
|
|
152
|
+
/**
|
|
153
|
+
* Individual discloser operations whose authenticated peer query is waiting for a delivered reply.
|
|
154
|
+
* Hosts adopt these to deliver the reply; a group discloser's replies need member contributions instead.
|
|
155
|
+
*/
|
|
156
|
+
awaitingReply(): {
|
|
157
|
+
xid: string;
|
|
158
|
+
grant: string;
|
|
159
|
+
}[];
|
|
121
160
|
private operation;
|
|
122
161
|
private live;
|
|
123
162
|
private current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unblinding.d.ts","sourceRoot":"","sources":["../../src/acdc/unblinding.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unblinding.d.ts","sourceRoot":"","sources":["../../src/acdc/unblinding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type Operation } from "effection";
|
|
2
2
|
import type { Baser } from "../../db/basing.js";
|
|
3
3
|
import type { Habery } from "../identity/habbing.js";
|
|
4
|
+
import { type DoerPacing } from "../runtime/doing.js";
|
|
5
|
+
import { type RuntimeClock } from "../runtime/runtime-clock.js";
|
|
4
6
|
import type { HttpClient } from "../transport/http-client.js";
|
|
5
7
|
/**
|
|
6
8
|
* Return true when a well-known URL has been authorized into `wkas.`.
|
|
@@ -38,7 +40,7 @@ export declare class Authenticator {
|
|
|
38
40
|
/** Process one bounded auth step if queued well-known work exists. */
|
|
39
41
|
processOnce(): Operation<void>;
|
|
40
42
|
/** Continuous auth doer for long-lived runtime hosts. */
|
|
41
|
-
authDo(): Operation<never>;
|
|
43
|
+
authDo(clock?: RuntimeClock, pacing?: Readonly<DoerPacing>): Operation<never>;
|
|
42
44
|
/** Promote one eligible `woobi.` record into the fetchable `mfa.` queue. */
|
|
43
45
|
private promoteQueuedWellKnown;
|
|
44
46
|
/** Return the next pending `mfa.` auth record, if any. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticating.d.ts","sourceRoot":"","sources":["../../../src/app/bootstrap/authenticating.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAU,MAAM,WAAW,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"authenticating.d.ts","sourceRoot":"","sources":["../../../src/app/bootstrap/authenticating.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAU,MAAM,WAAW,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,KAAK,UAAU,EAA4B,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,KAAK,EACT,GAAG,EAAE,MAAM,GACV,OAAO,CAMT;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAKzC,sEAAsE;IACrE,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC;IAe/B,yDAAyD;IACxD,MAAM,CAAC,KAAK,GAAE,YAA0B,EAAE,MAAM,GAAE,QAAQ,CAAC,UAAU,CAAmB,GAAG,SAAS,CAAC,KAAK,CAAC;IAI5G,4EAA4E;IAC5E,OAAO,CAAC,sBAAsB;IAsC9B,0DAA0D;IAC1D,OAAO,CAAC,eAAe;IAYvB;;;;;OAKG;IACH,OAAO,CAAE,kBAAkB;CAgC5B"}
|