@interncom/diplomatic 0.23.0 → 0.24.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.
Files changed (40) hide show
  1. package/dist/cli/index.mjs +2 -2
  2. package/dist/cli/shared/auth.d.ts +2 -2
  3. package/dist/cli/shared/bag.d.ts +7 -5
  4. package/dist/cli/shared/client.d.ts +10 -7
  5. package/dist/cli/shared/codec.d.ts +4 -0
  6. package/dist/cli/shared/codecs/kdm.d.ts +1 -0
  7. package/dist/cli/shared/crypto/bagman.d.ts +19 -0
  8. package/dist/cli/shared/crypto/binary.d.ts +1 -0
  9. package/dist/cli/shared/crypto/enclave.d.ts +24 -59
  10. package/dist/cli/shared/endpoint.d.ts +3 -4
  11. package/dist/cli/shared/sync.d.ts +2 -4
  12. package/dist/cli/shared/types.d.ts +0 -5
  13. package/dist/cli/src/index.d.ts +1 -1
  14. package/dist/web/client.d.ts +8 -2
  15. package/dist/web/entdb/idb.d.ts +1 -3
  16. package/dist/web/index.d.ts +4 -3
  17. package/dist/web/index.mjs +1 -1
  18. package/dist/web/objEq.d.ts +1 -0
  19. package/dist/web/shared/auth.d.ts +2 -2
  20. package/dist/web/shared/bag.d.ts +7 -5
  21. package/dist/web/shared/blobs.d.ts +25 -0
  22. package/dist/web/shared/client.d.ts +10 -7
  23. package/dist/web/shared/codec.d.ts +4 -0
  24. package/dist/web/shared/codecs/ent.d.ts +5 -0
  25. package/dist/web/shared/codecs/kdm.d.ts +1 -0
  26. package/dist/web/shared/crypto/bagman.d.ts +19 -0
  27. package/dist/web/shared/crypto/binary.d.ts +1 -0
  28. package/dist/web/shared/crypto/enclave.d.ts +24 -59
  29. package/dist/web/shared/crypto/tty.d.ts +1 -1
  30. package/dist/web/shared/endpoint.d.ts +3 -4
  31. package/dist/web/shared/exim.d.ts +5 -5
  32. package/dist/web/shared/sync.d.ts +2 -4
  33. package/dist/web/shared/types.d.ts +0 -5
  34. package/dist/web/state.d.ts +1 -2
  35. package/dist/web/sync.d.ts +7 -8
  36. package/dist/web/types.d.ts +7 -2
  37. package/dist/web/worker/client.d.ts +6 -2
  38. package/dist/web/worker.mjs +1 -1
  39. package/package.json +1 -2
  40. package/dist/cli/bun/src/codec.d.ts +0 -3
@@ -1,61 +1,38 @@
1
1
  import type { BundleHost } from "../codecs/bundleHost.ts";
2
2
  import type { IKDM } from "../codecs/kdm.ts";
3
+ import type { MasterSeed, SealedMasterKey } from "../seed.ts";
4
+ import type { ValStat } from "../valstat.ts";
5
+ import type { PDK } from "./derivation.ts";
6
+ import type { DHKEReq, DHKEResp } from "./pairing.ts";
7
+ import type { LargeBlobCreateOpts, LargeBlobRp } from "../webauthn/largeBlob.ts";
8
+ import type { BindPrior, PasskeyPrfOpts, PrfBinding, PrfBound, PrfSealedMaster } from "./prf.ts";
3
9
  import { Status } from "../consts.ts";
4
- import { type MasterSeed, type SealedMasterKey } from "../seed.ts";
5
- import type { PublicKey } from "../types.ts";
6
- import { type ValStat } from "../valstat.ts";
7
- import { type HostRlm, type PDK } from "./derivation.ts";
8
- import { type DHKEReq, type DHKEResp, PairRequest } from "./pairing.ts";
9
- import { type LargeBlobCreateOpts, type LargeBlobRp } from "../webauthn/largeBlob.ts";
10
- import { type BindPrior, type PasskeyPrfOpts, type PrfBinding, type PrfBound, type PrfSealedMaster } from "./prf.ts";
11
- export type EncryptCipher = {
12
- encrypt: (data: Uint8Array) => Promise<ValStat<Uint8Array>>;
13
- };
14
- export type DecryptCipher = {
15
- decrypt: (data: Uint8Array) => Promise<ValStat<Uint8Array>>;
16
- };
17
- /** Encrypt + decrypt capability for one KDM. */
18
- export type DerivedCipher = EncryptCipher & DecryptCipher;
19
- /** Which ops the caller needs; only those methods are present on the handle. */
20
- export type CipherUsage = "encrypt" | "decrypt" | "both";
21
- /** Return shape of `deriveCipher` for a given usage (type-level enforcement). */
22
- export type CipherForUsage<U extends CipherUsage> = {
23
- encrypt: EncryptCipher;
24
- decrypt: DecryptCipher;
25
- both: DerivedCipher;
26
- }[U];
27
- /**
28
- * KDM-scoped signing identity: public key is public; sign/kdmFor re-enter
29
- * the enclave so the private key never leaves. Used for hosts, export files, etc.
30
- */
31
- export type Identity = {
32
- readonly publicKey: PublicKey;
33
- sign: (message: Uint8Array | string) => Promise<ValStat<Uint8Array>>;
34
- /** Per-bag 8-byte KDM (bag-kdm PDK child keyed by the encoded head). */
35
- kdmFor: (msgHeadEnc: Uint8Array) => Promise<ValStat<Uint8Array>>;
36
- };
10
+ import { PairRequest } from "./pairing.ts";
11
+ import { BagManager } from "./bagman.ts";
37
12
  /** Minimum musec length (Mandatory User-Space Entropy Contribution). */
38
13
  export declare const MUSEC_MIN_LEN = 32;
39
14
  export declare function fromSeedHosts(buf: Uint8Array): ValStat<{
40
- enclave: Enclave;
15
+ enclave: OuterEnclave;
41
16
  hosts: BundleHost[];
42
17
  }>;
43
18
  /** Brand `bytes` as {@link MasterSeed} only if length is {@link MASTER_SEED_LEN}. */
44
19
  export declare function asMasterSeed(bytes: Uint8Array): ValStat<MasterSeed>;
45
- export declare class Enclave {
20
+ declare class OuterEnclave {
46
21
  #private;
47
22
  private constructor();
48
23
  /**
49
24
  * New enclave: blake3(OS CSPRNG ‖ musec). musec is required (MUSEC_MIN_LEN).
50
- * Mix stays in this method; musec is wiped before return.
25
+ * Musec is wiped on every return, including rejection and a throw from the
26
+ * OS generator. A rejected digest is wiped. The stored seed is that digest
27
+ * buffer, so the success path must not wipe it.
51
28
  */
52
- static fromRandom(musec: Uint8Array): Promise<ValStat<Enclave>>;
29
+ static fromRandom(musec: Uint8Array): Promise<ValStat<OuterEnclave>>;
53
30
  /**
54
31
  * Construct from raw master seed bytes (import / bootstrap only).
55
32
  * Copies the seed so callers may zero their buffer after success.
56
33
  * Prefer {@link fromRandom} or {@link unsealWithPasskey} for normal flows.
57
34
  */
58
- static fromBytes(bytes: Uint8Array): ValStat<Enclave>;
35
+ static fromBytes(bytes: Uint8Array): ValStat<OuterEnclave>;
59
36
  /**
60
37
  * UV + PRF ceremony, then AEAD-seal master. Returns sealed ciphertext + public
61
38
  * meta only — never PRF output. Sealed blob on disk is useless without a
@@ -77,23 +54,23 @@ export declare class Enclave {
77
54
  static unsealWithPasskey(bindings: readonly PrfBinding[], opts: PasskeyPrfOpts & {
78
55
  salt: Uint8Array;
79
56
  }): Promise<ValStat<{
80
- enclave: Enclave;
57
+ enclave: OuterEnclave;
81
58
  credId: Uint8Array;
82
59
  }>>;
83
60
  /**
84
61
  * AEAD-seal master under caller-supplied PRF IKM (CLI hmac-secret).
85
62
  * Wipes `ikm` before return. Ciphertext only — never the seed.
86
63
  */
87
- sealWithIkm(ikm: Uint8Array): Promise<ValStat<SealedMasterKey>>;
64
+ sealWithIKM(ikm: Uint8Array): Promise<ValStat<SealedMasterKey>>;
88
65
  /**
89
66
  * Unseal a PRF binding given IKM (CLI hmac-secret eval). Returns Enclave.
90
67
  * Wipes `ikm` before return.
91
68
  */
92
- static unsealWithIkm(sealed: SealedMasterKey, ikm: Uint8Array): Promise<ValStat<Enclave>>;
69
+ static unsealWithIKM(sealed: SealedMasterKey, ikm: Uint8Array): Promise<ValStat<OuterEnclave>>;
93
70
  /**
94
71
  * UV + write IdentityBundle (seed + hosts) to largeBlob.
95
- * Encode stays here; {@link writeLargeBlob} does the UV write. Nothing
96
- * seed-bearing is returned. Prefer empty `hosts` for seed-only backup.
72
+ * Inner encodes the wire and {@link writeLargeBlob} does the UV write.
73
+ * Nothing seed-bearing is returned. Prefer empty `hosts` for seed-only backup.
97
74
  *
98
75
  * Pass `opts.credId` to write an existing credential (one UV). Omit it to
99
76
  * create a largeBlob-capable credential then write (two UV). Returns the
@@ -112,7 +89,7 @@ export declare class Enclave {
112
89
  static fromLargeBlob(opts?: LargeBlobRp & {
113
90
  credId?: Uint8Array;
114
91
  }): Promise<ValStat<{
115
- enclave: Enclave;
92
+ enclave: OuterEnclave;
116
93
  hosts: BundleHost[];
117
94
  credId: Uint8Array;
118
95
  }>>;
@@ -123,7 +100,7 @@ export declare class Enclave {
123
100
  * Paced mode erases the previous line before the next (Enter between).
124
101
  * Web bundles set DIP_CLI_DUMP=false; the write is compiled out.
125
102
  */
126
- dumpToTty(): Promise<Status>;
103
+ dumpToTTY(): Promise<Status>;
127
104
  static pairRequest(): Promise<ValStat<PairRequest>>;
128
105
  /**
129
106
  * Seals seed+hosts for dhkeReq. Returns dhkeResp to send back.
@@ -149,19 +126,7 @@ export declare class Enclave {
149
126
  id: number;
150
127
  persist?: boolean;
151
128
  }): Worker;
152
- realmID(realmKDM: IKDM): Promise<ValStat<PDK["RealmID"]>>;
153
- hostRlm(realmKDM: IKDM, hostKDM: IKDM): Promise<ValStat<PDK["HostRLM"]>>;
154
- realmForRlm(hostKDM: IKDM, rlm: HostRlm, realms: readonly IKDM[]): Promise<ValStat<IKDM>>;
155
- /**
156
- * Cipher for public KDM under a realm (default: nullKDM). Does not hold
157
- * key bytes; each op re-enters the enclave. `usage` selects the shape:
158
- * `"encrypt"` → `{ encrypt }`, `"decrypt"` → `{ decrypt }`, `"both"` → both.
159
- */
160
- deriveCipher<U extends CipherUsage>(kdm: Uint8Array, usage: U, realmKDM?: IKDM): CipherForUsage<U>;
161
- /**
162
- * Identity from the identity PDK + KDM. Private key stays in the enclave;
163
- * only publicKey and capability methods are returned.
164
- */
165
- deriveIdentity(kdm: IKDM): Promise<ValStat<Identity>>;
129
+ bagman(idKDM: IKDM, realmKDM: IKDM): Promise<ValStat<BagManager>>;
166
130
  fingerprint(kdm?: Uint8Array | IKDM): Promise<ValStat<PDK["Fingerprint"]>>;
167
131
  }
132
+ export { OuterEnclave as Enclave };
@@ -2,21 +2,20 @@ import { IClock } from "./clock.ts";
2
2
  import { Decoder, Encoder } from "./codec.ts";
3
3
  import { IAuthTimestamp } from "./codecs/authTimestamp.ts";
4
4
  import { Status } from "./consts.ts";
5
- import { Enclave, type Identity } from "./crypto/enclave.ts";
5
+ import type { BagManager } from "./crypto/bagman.ts";
6
6
  import { ICrypto, IProtoHost } from "./types.ts";
7
7
  import { ValStat } from "./valstat.ts";
8
8
  interface IProtoClient {
9
9
  crypto: ICrypto;
10
- enclave: Enclave;
11
10
  clock: IClock;
12
11
  }
13
12
  export interface IAuthenticatedEndpoint<ReqInput, Resp> {
14
- encodeReq(client: IProtoClient, identity: Identity, authTS: IAuthTimestamp, body: ReqInput, reqEnc: Encoder): Promise<Status>;
13
+ encodeReq(client: IProtoClient, identity: BagManager, authTS: IAuthTimestamp, body: ReqInput, reqEnc: Encoder): Promise<Status>;
15
14
  handleReq(host: IProtoHost, reqDec: Decoder, respEnc: Encoder): Promise<Status>;
16
15
  decodeResp(respDec: Decoder): ValStat<Resp>;
17
16
  }
18
17
  export interface IAuthData {
19
- identity: Identity;
18
+ identity: BagManager;
20
19
  authTS: IAuthTimestamp;
21
20
  }
22
21
  export {};
@@ -1,11 +1,9 @@
1
1
  import { IBagPeekItem } from "./codecs/peekItem.ts";
2
- import type { IKDM } from "./codecs/kdm.ts";
3
- import { type HostRlm } from "./crypto/derivation.ts";
4
- import { Enclave } from "./crypto/enclave.ts";
2
+ import { BagManager } from "./crypto/bagman.ts";
5
3
  import { ICrypto } from "./types.ts";
6
4
  import { ValStat } from "./valstat.ts";
7
5
  export interface IDecryptedBagPeekItem {
8
6
  kdm: Uint8Array;
9
7
  headEnc: Uint8Array;
10
8
  }
11
- export declare function decryptPeekItem(item: IBagPeekItem, verifyKey: CryptoKey, enclave: Enclave, crypto: ICrypto, rlm: HostRlm, realm?: IKDM): Promise<ValStat<IDecryptedBagPeekItem>>;
9
+ export declare function decryptPeekItem(item: IBagPeekItem, verifyKey: CryptoKey, bagMgr: BagManager, crypto: ICrypto): Promise<ValStat<IDecryptedBagPeekItem>>;
@@ -151,11 +151,6 @@ export interface ICrypto extends IHostCrypto {
151
151
  signEd25519: (message: Uint8Array | string, secKey: PrivateKey) => Promise<Uint8Array>;
152
152
  blake3: (data: Uint8Array, opts?: Blake3Opts) => Promise<Hash>;
153
153
  }
154
- export interface IMsgpackCodec {
155
- encode: (source: unknown) => Uint8Array;
156
- decode: (packed: ArrayBuffer | Uint8Array) => unknown;
157
- decodeAsync: (stream: ReadableStream<Uint8Array>) => Promise<unknown>;
158
- }
159
154
  export interface IProtoHost {
160
155
  storage: IStorage;
161
156
  crypto: IHostCrypto;
@@ -9,6 +9,7 @@ import { Enclave } from "../shared/crypto/enclave.ts";
9
9
  import { HostHandle, IHostConnectionInfo, IMessage, ITransport } from "../shared/types.ts";
10
10
  import { ValStat } from "../shared/valstat.ts";
11
11
  export declare class CLIClient<Handle extends HostHandle> {
12
+ #private;
12
13
  private enclave;
13
14
  private conn?;
14
15
  private clock;
@@ -38,7 +39,6 @@ export declare function initCLIOrPanic<Handle extends URL>({ enclave, host, tran
38
39
  /** Load master seed hex from env and construct an Enclave immediately. */
39
40
  export declare function loadEnclaveOrPanic(envVar: string): Enclave;
40
41
  export declare function loadHostOrPanic(envVar: string): IHostConnectionInfo<URL>;
41
- export { default as msgpack } from "../bun/src/codec.ts";
42
42
  export { Decoder } from "../shared/codec.ts";
43
43
  export { notifItemCodec } from "../shared/codecs/notifItem.ts";
44
44
  export type { IBagNotifItem } from "../shared/codecs/notifItem.ts";
@@ -5,6 +5,7 @@ import { EncodedMessage } from "./shared/message";
5
5
  import type { Enclave } from "./shared/crypto/enclave";
6
6
  import { EntityID, Hash, HostHandle, ICrypto, IDeleteParams, IEntRev, IHostConnectionInfo, IInsertParams, IMessageHead, IStateManager, ITransport, IUpdateParams } from "./shared/types";
7
7
  import { ValStat } from "./shared/valstat";
8
+ import { type IBlobUpdate, type IBlobWrite } from "./shared/blobs";
8
9
  import { ApldState, IClient, IDiplomaticClientState, IDiplomaticClientXferState, IHostRow, IStateEmitter, IStore, IStoredMessage, ListMsgsOpts, OpenAccount, ReconcileOpts, ReconcileReport, SetSeedOpts, WipeOpts } from "./types";
9
10
  export declare class SyncClient<Handle extends HostHandle> implements IClient<Handle> {
10
11
  #private;
@@ -125,13 +126,18 @@ export declare class SyncClient<Handle extends HostHandle> implements IClient<Ha
125
126
  */
126
127
  private updateWithSkew;
127
128
  updateRaw(prior: IEntRev, bod: EncodedMessage | undefined, force?: boolean, typ?: string): Promise<ValStat<IMessageHead>>;
128
- insert<T = unknown>(op: IInsertParams<T>): Promise<ValStat<IMessageHead>>;
129
- update<T = unknown>(op: IUpdateParams<T>): Promise<ValStat<IMessageHead>>;
129
+ insert(op: IInsertParams<Uint8Array>): Promise<ValStat<IMessageHead>>;
130
+ update(op: IUpdateParams<Uint8Array>): Promise<ValStat<IMessageHead>>;
130
131
  /**
131
132
  * Delete by `{ prior }` (preferred) or `{ eid }` (archive lookup).
132
133
  * `force` defaults to true (skew recovery on delete).
133
134
  */
134
135
  delete(op: IDeleteParams): Promise<ValStat<IMessageHead>>;
136
+ insertBlob(mime: string, bytes: Uint8Array, opts?: IBlobWrite): Promise<ValStat<IMessageHead>>;
137
+ updateBlob(eid: EntityID, bytes: Uint8Array, opts?: IBlobUpdate): Promise<ValStat<IMessageHead>>;
138
+ deleteBlob(eid: EntityID): Promise<ValStat<IMessageHead>>;
139
+ readBlob(eid: EntityID): Promise<ValStat<Uint8Array>>;
140
+ private lastMsg;
135
141
  /**
136
142
  * Latest rev for eid from the message archive.
137
143
  * If none, returns ctr -1 so the next write uses ctr 0.
@@ -10,9 +10,7 @@ export declare const typeParentIndexName = "entity_type_parent_id";
10
10
  export declare const tagsIndexName = "entity_tags";
11
11
  /** Realm label. Rows in the default realm omit rlm and are not in this index. */
12
12
  export declare const realmIndexName = "entity_rlm";
13
- /** Pre-split EntDB name. New accounts use `ents-<acct>`. */
14
- export declare const ENT_IDB_NAME = "db";
15
- /** v15: optional rlm (realm label) index. Omitted on the default realm. */
13
+ /** Current EntDB schema. Default-realm rows omit rlm. */
16
14
  export declare const ENT_IDB_VERSION = 15;
17
15
  export declare class EntIDB implements IEntDB {
18
16
  private name;
@@ -11,13 +11,14 @@ import { b64tob, b64urltob, btob64, btob64url, btoh, htob } from "./shared/binar
11
11
  import { Clock } from "./shared/clock";
12
12
  import { Decoder, Encoder } from "./shared/codec";
13
13
  import { eidCodec, genSingletonEID } from "./shared/codecs/eid";
14
+ import { encodeEnt, entCodec } from "./shared/codecs/ent";
14
15
  import { Status } from "./shared/consts";
15
16
  import { hostHTTPTransport, HTTPTransport } from "./shared/http";
16
17
  import { TypedEventEmitter } from "./shared/events";
17
18
  import { asSealedMasterKey, MASTER_SEED_LEN, SEALED_MASTER_KEY_LEN, type SealedMasterKey } from "./shared/seed";
18
19
  import { EntityID, HostHandle, ICrypto, IDeleteParams, IEntRev, IHostConnectionInfo, IMessage, IMutateOp, type IOp, IStateManager, ITransport, IUpdateParams } from "./shared/types";
19
20
  import { Enclave } from "./shared/crypto/enclave";
20
- import type { Identity } from "./shared/crypto/enclave";
21
+ import type { BagManager } from "./shared/crypto/bagman";
21
22
  import { asChildKey, asHostRlm, type ChildKey, type HostRlm, nullKDM, Purpose } from "./shared/crypto/derivation";
22
23
  import type { PairRequest } from "./shared/crypto/pairing";
23
24
  import type { BindPrior, PrfBound } from "./shared/crypto/prf";
@@ -49,5 +50,5 @@ import type { WipeOpts } from "./types";
49
50
  /** Platform advertises largeBlob (not a guarantee the binding key has it). */
50
51
  export { largeBlobCapable } from "./shared/webauthn/largeBlob";
51
52
  export { webAuthnLastError } from "./shared/webauthn/common";
52
- export { APLD_APPLIED, APLD_ERROR, APLD_PENDING, apldFromStored, asChildKey, asDHKEReq, asDHKEResp, asHostRlm, asSealedMasterKey, b64tob, b64urltob, btob64, btob64url, btoh, CachedEntDB, checksumEntRevs, checksumSet, Clock, cmpBytes, crypto, Decoder, DEFAULT_PRF_SALT, defaultPeekProgressEvery, defaultWebAuthnRpId, eidCodec, Enclave, encodeEntRev, Encoder, EntDBMemory, EntIDB, EntitiesQuery, EntityID, entStateManager, genSingletonEID, hostHTTPTransport, htob, HTTPTransport, IDBAccountStore, IDBStore, idleProgress, IEntDB, IEntity, isApldState, isLiveEnt, isPendingApply, isTerminalApplyFailure, isTombstone, IStore, KEYRING_MAX, keyringCredIds, keyringKind, keyringLabel, MASTER_SEED_LEN, MemoryStore, normalizeTags, nullEntDB, nullKDM, nullStateManager, openDiplomaticClient, openEntDB, openIDBStore, PasskeySeedStore, prfCapable, PrfSeedStore, Purpose, revFromEntity, revFromHead, SEALED_MASTER_KEY_LEN, setApld, shouldEmitItemProgress, SingletonStateManager, StateManager, Status, SyncClient, TypedEventEmitter, useClient, useClientState, useClientXferState, useStateWatcher, useStateWatcherSuspense, useSyncOnResume, WorkerClient, };
53
- export type { ApldState, Applier, BindPrior, BundleHost, CachedEntDBOptions, ChildKey, DateSpec, DHKEReq, DHKEResp, EntDBMemoryOptions, EntRlm, HostHandle, HostRlm, HostSeqsUpdate, IClient, ICrypto, IDateRange, IDeleteParams, Identity, IDiplomaticClientState, IEntRev, IEntRow, IHostConnectionInfo, IHostRow, IKDM, IMessage, IMutateOp, IOp, IRealm, IStateManager, IStoredMessage, IStoredMessageData, IStoredMessageWrite, ITagRange, ITombstone, ITransport, IUpdateParams, Keyring, KeyringEntry, KeyringRow, ListMsgsOpts, OpenAccount, OpenDiplomaticClientMainOptions, OpenDiplomaticClientOptions, OpenDiplomaticClientWorkerOptions, OpenedDiplomaticClient, OpenEntDBOptions, PairRequest, PasskeySeedStoreOpts, PersistKeyring, PrfBound, PrfRp, PrfSeedStoreOpts, ReconcileOpts, ReconcileReport, SealedMasterKey, SetSeedOpts, SyncProgressEvent, TagSpec, WipeOpts, WorkerClientOptions, };
53
+ export { APLD_APPLIED, APLD_ERROR, APLD_PENDING, apldFromStored, asChildKey, asDHKEReq, asDHKEResp, asHostRlm, asSealedMasterKey, b64tob, b64urltob, btob64, btob64url, btoh, CachedEntDB, checksumEntRevs, checksumSet, Clock, cmpBytes, crypto, Decoder, DEFAULT_PRF_SALT, defaultPeekProgressEvery, defaultWebAuthnRpId, eidCodec, Enclave, encodeEnt, encodeEntRev, Encoder, entCodec, EntDBMemory, EntIDB, EntitiesQuery, EntityID, entStateManager, genSingletonEID, hostHTTPTransport, htob, HTTPTransport, IDBAccountStore, IDBStore, idleProgress, IEntDB, IEntity, isApldState, isLiveEnt, isPendingApply, isTerminalApplyFailure, isTombstone, IStore, KEYRING_MAX, keyringCredIds, keyringKind, keyringLabel, MASTER_SEED_LEN, MemoryStore, normalizeTags, nullEntDB, nullKDM, nullStateManager, openDiplomaticClient, openEntDB, openIDBStore, PasskeySeedStore, prfCapable, PrfSeedStore, Purpose, revFromEntity, revFromHead, SEALED_MASTER_KEY_LEN, setApld, shouldEmitItemProgress, SingletonStateManager, StateManager, Status, SyncClient, TypedEventEmitter, useClient, useClientState, useClientXferState, useStateWatcher, useStateWatcherSuspense, useSyncOnResume, WorkerClient, };
54
+ export type { ApldState, Applier, BagManager, BindPrior, BundleHost, CachedEntDBOptions, ChildKey, DateSpec, DHKEReq, DHKEResp, EntDBMemoryOptions, EntRlm, HostHandle, HostRlm, HostSeqsUpdate, IClient, ICrypto, IDateRange, IDeleteParams, IDiplomaticClientState, IEntRev, IEntRow, IHostConnectionInfo, IHostRow, IKDM, IMessage, IMutateOp, IOp, IRealm, IStateManager, IStoredMessage, IStoredMessageData, IStoredMessageWrite, ITagRange, ITombstone, ITransport, IUpdateParams, Keyring, KeyringEntry, KeyringRow, ListMsgsOpts, OpenAccount, OpenDiplomaticClientMainOptions, OpenDiplomaticClientOptions, OpenDiplomaticClientWorkerOptions, OpenedDiplomaticClient, OpenEntDBOptions, PairRequest, PasskeySeedStoreOpts, PersistKeyring, PrfBound, PrfRp, PrfSeedStoreOpts, ReconcileOpts, ReconcileReport, SealedMasterKey, SetSeedOpts, SyncProgressEvent, TagSpec, WipeOpts, WorkerClientOptions, };