@interop/was-react 0.3.5 → 0.4.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.
@@ -2,30 +2,28 @@
2
2
  * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
3
  */
4
4
  /**
5
- * WAS identity + per-collection vault-key derivation from a 32-byte master seed.
5
+ * WAS master-identity derivation from a 32-byte master seed.
6
6
  *
7
7
  * SEED-DERIVATION CONVENTION (pinned, part of the shared-key contract): the
8
8
  * pinned `@interop/webkms-client` exposes `CapabilityAgent.fromSeed({ seed })`,
9
- * which takes the raw 32 bytes AS-IS (no hashing). We use it for BOTH the master
10
- * identity and the per-collection key-agreement keys, feeding raw bytes -- never
11
- * `fromSecret`, which salt-hashes a STRING and would derive a different key for
12
- * a byte array vs its text form.
9
+ * which takes the raw 32 bytes AS-IS (no hashing). We use it for the master
10
+ * identity, feeding raw bytes -- never `fromSecret`, which salt-hashes a STRING
11
+ * and would derive a different key for a byte array vs its text form.
13
12
  *
14
13
  * WHAT SELECTS THE KEY (verified against `CapabilityAgent.fromSeed`): the key
15
14
  * material is derived from the `seed` bytes (the HMAC key) and the `keyName`
16
15
  * string (the HMAC message) alone. The `handle` is stored on the returned agent
17
16
  * as a cosmetic identifier and does NOT enter key derivation -- nor the derived
18
17
  * did:key id, which is the fingerprint of the seed+keyName key pair. So the
19
- * PINNED derivation inputs are the seed bytes and the `keyName` values
20
- * (`IDENTITY_KEY_NAME` / `KAK_KEY_NAME` below); changing THOSE after first use
21
- * is a data-migration event. The `identityHandle` / `kakHandle` parameters are
22
- * safe to change and exist only so an app can supply a label for cosmetic
23
- * continuity; they do not affect the identity, keys, or any stored data.
18
+ * PINNED derivation inputs are the seed bytes and the `keyName` value
19
+ * (`IDENTITY_KEY_NAME` below); changing THAT after first use is a data-migration
20
+ * event. The `identityHandle` parameter is safe to change and exists only so an
21
+ * app can supply a label for cosmetic continuity; it does not affect the
22
+ * identity, keys, or any stored data.
24
23
  *
25
- * Per-collection KAKs derive via `HKDF-SHA256(master, info = 'kak:v1:<id>')` to
26
- * a 32-byte per-collection seed, then the standard Ed25519-to-X25519 path. HKDF
27
- * one-wayness means a shared per-collection key exposes nothing about the master
28
- * or sibling collections -- the future multi-app sharing unit.
24
+ * The per-collection key-agreement (KAK) derivation now lives in
25
+ * `@interop/wallet-core/identity` (`deriveCollectionKeys`, along with its pinned
26
+ * HKDF derivation inputs) and is re-exported here for compatibility.
29
27
  *
30
28
  * Not test-node-safe on React Native, but fine under Node/Vitest: the crypto
31
29
  * stack (`webkms-client`, `x25519-key-agreement-key`) runs on the standard Web
@@ -33,17 +31,18 @@
33
31
  */
34
32
  import { CapabilityAgent } from '@interop/webkms-client';
35
33
  import { ZcapClient } from '@interop/ezcap';
36
- import type { IKeyAgreementKey, IKeyResolver } from '@interop/data-integrity-core';
34
+ /**
35
+ * The per-collection vault-key (KAK) derivation, its result type, and its
36
+ * default cosmetic handle now live in `@interop/wallet-core/identity` (moved
37
+ * there verbatim, with their pinned `kak:v1:<collectionId>` HKDF derivation
38
+ * inputs); re-exported here so existing imports keep working.
39
+ */
40
+ export { deriveCollectionKeys, DEFAULT_KAK_HANDLE, type CollectionKeys } from '@interop/wallet-core/identity';
37
41
  /**
38
42
  * Default cosmetic label for the master identity agent. Local naming only (does
39
43
  * not affect key material or the derived did:key); safe to override.
40
44
  */
41
45
  export declare const DEFAULT_IDENTITY_HANDLE = "was-react";
42
- /**
43
- * Default cosmetic label for a per-collection key-agreement agent. Local naming
44
- * only (does not affect key material); safe to override.
45
- */
46
- export declare const DEFAULT_KAK_HANDLE = "was-react-kak";
47
46
  /**
48
47
  * The agents derived from the master seed: the app's stable did:key controller,
49
48
  * its signing agent, and a ZcapClient for signing storage requests later.
@@ -53,16 +52,6 @@ export interface IdentityAgents {
53
52
  keyAgent: CapabilityAgent;
54
53
  zcapClient: ZcapClient;
55
54
  }
56
- /**
57
- * Derives one collection's X25519 key agreement key (KAK) plus its resolver, the
58
- * material the doc-cipher needs. The concrete KAK type carries `type` /
59
- * `publicKeyMultibase`; it is widened to `IKeyAgreementKey` only at the
60
- * boundary.
61
- */
62
- export interface CollectionKeys {
63
- keyAgreementKey: IKeyAgreementKey;
64
- keyResolver: IKeyResolver;
65
- }
66
55
  /**
67
56
  * Derives the master identity agents from the master seed. The did:key
68
57
  * controller is stable across devices for the same seed.
@@ -77,23 +66,4 @@ export declare function deriveIdentity({ seed, identityHandle }: {
77
66
  seed: Uint8Array;
78
67
  identityHandle?: string;
79
68
  }): Promise<IdentityAgents>;
80
- /**
81
- * Derives one collection's vault key material from the master seed:
82
- * `HKDF(master, 'kak:v1:<collectionId>')` to a per-collection seed, then the
83
- * Ed25519-to-X25519 (Montgomery-form) key-agreement key. Deterministic, so the
84
- * same seed decrypts the same envelopes on any device. Encryption uses these
85
- * per-collection KAKs from day one -- never share one KAK across collections.
86
- *
87
- * @param options {object}
88
- * @param options.seed {Uint8Array} the 32-byte master seed
89
- * @param options.collectionId {string} the WAS collection id (the HKDF label)
90
- * @param [options.kakHandle] {string} cosmetic agent label; does not affect
91
- * keys (defaults to `DEFAULT_KAK_HANDLE`)
92
- * @returns {Promise<CollectionKeys>}
93
- */
94
- export declare function deriveCollectionKeys({ seed, collectionId, kakHandle }: {
95
- seed: Uint8Array;
96
- collectionId: string;
97
- kakHandle?: string;
98
- }): Promise<CollectionKeys>;
99
69
  //# sourceMappingURL=agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/identity/agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,8BAA8B,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,cAAc,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AAOjD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,eAAe,CAAA;IACzB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,gBAAgB,CAAA;IACjC,WAAW,EAAE,YAAY,CAAA;CAC1B;AAiCD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,EACnC,IAAI,EACJ,cAAwC,EACzC,EAAE;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,OAAO,CAAC,cAAc,CAAC,CAa1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,IAAI,EACJ,YAAY,EACZ,SAA8B,EAC/B,EAAE;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyB1B"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/identity/agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;;;;GAKG;AACH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,cAAc,CAAA;AAMlD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,eAAe,CAAA;IACzB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,EACnC,IAAI,EACJ,cAAwC,EACzC,EAAE;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,OAAO,CAAC,cAAc,CAAC,CAa1B"}
@@ -2,30 +2,28 @@
2
2
  * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
3
  */
4
4
  /**
5
- * WAS identity + per-collection vault-key derivation from a 32-byte master seed.
5
+ * WAS master-identity derivation from a 32-byte master seed.
6
6
  *
7
7
  * SEED-DERIVATION CONVENTION (pinned, part of the shared-key contract): the
8
8
  * pinned `@interop/webkms-client` exposes `CapabilityAgent.fromSeed({ seed })`,
9
- * which takes the raw 32 bytes AS-IS (no hashing). We use it for BOTH the master
10
- * identity and the per-collection key-agreement keys, feeding raw bytes -- never
11
- * `fromSecret`, which salt-hashes a STRING and would derive a different key for
12
- * a byte array vs its text form.
9
+ * which takes the raw 32 bytes AS-IS (no hashing). We use it for the master
10
+ * identity, feeding raw bytes -- never `fromSecret`, which salt-hashes a STRING
11
+ * and would derive a different key for a byte array vs its text form.
13
12
  *
14
13
  * WHAT SELECTS THE KEY (verified against `CapabilityAgent.fromSeed`): the key
15
14
  * material is derived from the `seed` bytes (the HMAC key) and the `keyName`
16
15
  * string (the HMAC message) alone. The `handle` is stored on the returned agent
17
16
  * as a cosmetic identifier and does NOT enter key derivation -- nor the derived
18
17
  * did:key id, which is the fingerprint of the seed+keyName key pair. So the
19
- * PINNED derivation inputs are the seed bytes and the `keyName` values
20
- * (`IDENTITY_KEY_NAME` / `KAK_KEY_NAME` below); changing THOSE after first use
21
- * is a data-migration event. The `identityHandle` / `kakHandle` parameters are
22
- * safe to change and exist only so an app can supply a label for cosmetic
23
- * continuity; they do not affect the identity, keys, or any stored data.
18
+ * PINNED derivation inputs are the seed bytes and the `keyName` value
19
+ * (`IDENTITY_KEY_NAME` below); changing THAT after first use is a data-migration
20
+ * event. The `identityHandle` parameter is safe to change and exists only so an
21
+ * app can supply a label for cosmetic continuity; it does not affect the
22
+ * identity, keys, or any stored data.
24
23
  *
25
- * Per-collection KAKs derive via `HKDF-SHA256(master, info = 'kak:v1:<id>')` to
26
- * a 32-byte per-collection seed, then the standard Ed25519-to-X25519 path. HKDF
27
- * one-wayness means a shared per-collection key exposes nothing about the master
28
- * or sibling collections -- the future multi-app sharing unit.
24
+ * The per-collection key-agreement (KAK) derivation now lives in
25
+ * `@interop/wallet-core/identity` (`deriveCollectionKeys`, along with its pinned
26
+ * HKDF derivation inputs) and is re-exported here for compatibility.
29
27
  *
30
28
  * Not test-node-safe on React Native, but fine under Node/Vitest: the crypto
31
29
  * stack (`webkms-client`, `x25519-key-agreement-key`) runs on the standard Web
@@ -34,38 +32,21 @@
34
32
  import { CapabilityAgent } from '@interop/webkms-client';
35
33
  import { Ed25519Signature2020 } from '@interop/ed25519-signature';
36
34
  import { ZcapClient } from '@interop/ezcap';
37
- import { X25519KeyAgreementKey2020 } from '@interop/x25519-key-agreement-key';
35
+ /**
36
+ * The per-collection vault-key (KAK) derivation, its result type, and its
37
+ * default cosmetic handle now live in `@interop/wallet-core/identity` (moved
38
+ * there verbatim, with their pinned `kak:v1:<collectionId>` HKDF derivation
39
+ * inputs); re-exported here so existing imports keep working.
40
+ */
41
+ export { deriveCollectionKeys, DEFAULT_KAK_HANDLE } from '@interop/wallet-core/identity';
38
42
  /**
39
43
  * Default cosmetic label for the master identity agent. Local naming only (does
40
44
  * not affect key material or the derived did:key); safe to override.
41
45
  */
42
46
  export const DEFAULT_IDENTITY_HANDLE = 'was-react';
43
- /**
44
- * Default cosmetic label for a per-collection key-agreement agent. Local naming
45
- * only (does not affect key material); safe to override.
46
- */
47
- export const DEFAULT_KAK_HANDLE = 'was-react-kak';
48
- // PINNED key-derivation inputs (the HMAC message that, with the seed, selects
49
- // the key). Changing either after first use is a data-migration event.
47
+ // PINNED key-derivation input (the HMAC message that, with the seed, selects
48
+ // the key). Changing it after first use is a data-migration event.
50
49
  const IDENTITY_KEY_NAME = 'app-key';
51
- const KAK_KEY_NAME = 'kak';
52
- /**
53
- * HKDF-SHA256 expansion of the master seed into a 32-byte per-context seed.
54
- *
55
- * @param master {Uint8Array}
56
- * @param info {string} the domain-separation label (e.g. `kak:v1:projects`)
57
- * @returns {Promise<Uint8Array>}
58
- */
59
- async function hkdfExpand(master, info) {
60
- const key = await globalThis.crypto.subtle.importKey('raw', master, 'HKDF', false, ['deriveBits']);
61
- const bits = await globalThis.crypto.subtle.deriveBits({
62
- name: 'HKDF',
63
- hash: 'SHA-256',
64
- salt: new Uint8Array(0),
65
- info: new TextEncoder().encode(info)
66
- }, key, 256);
67
- return new Uint8Array(bits);
68
- }
69
50
  /**
70
51
  * Derives the master identity agents from the master seed. The did:key
71
52
  * controller is stable across devices for the same seed.
@@ -90,43 +71,4 @@ export async function deriveIdentity({ seed, identityHandle = DEFAULT_IDENTITY_H
90
71
  });
91
72
  return { controllerDid: keyAgent.id, keyAgent, zcapClient };
92
73
  }
93
- /**
94
- * Derives one collection's vault key material from the master seed:
95
- * `HKDF(master, 'kak:v1:<collectionId>')` to a per-collection seed, then the
96
- * Ed25519-to-X25519 (Montgomery-form) key-agreement key. Deterministic, so the
97
- * same seed decrypts the same envelopes on any device. Encryption uses these
98
- * per-collection KAKs from day one -- never share one KAK across collections.
99
- *
100
- * @param options {object}
101
- * @param options.seed {Uint8Array} the 32-byte master seed
102
- * @param options.collectionId {string} the WAS collection id (the HKDF label)
103
- * @param [options.kakHandle] {string} cosmetic agent label; does not affect
104
- * keys (defaults to `DEFAULT_KAK_HANDLE`)
105
- * @returns {Promise<CollectionKeys>}
106
- */
107
- export async function deriveCollectionKeys({ seed, collectionId, kakHandle = DEFAULT_KAK_HANDLE }) {
108
- const collectionSeed = await hkdfExpand(seed, `kak:v1:${collectionId}`);
109
- const keyAgent = await CapabilityAgent.fromSeed({
110
- seed: collectionSeed,
111
- handle: kakHandle,
112
- keyName: KAK_KEY_NAME
113
- });
114
- const keyAgreementKey = X25519KeyAgreementKey2020.fromEd25519VerificationKey2020({
115
- keyPair: keyAgent.getVerificationKeyPair()
116
- });
117
- const keyResolver = async ({ id }) => {
118
- if (id !== keyAgreementKey.id) {
119
- throw new Error(`Unknown key id "${id}".`);
120
- }
121
- return {
122
- id: keyAgreementKey.id,
123
- type: keyAgreementKey.type,
124
- publicKeyMultibase: keyAgreementKey.publicKeyMultibase
125
- };
126
- };
127
- return {
128
- keyAgreementKey: keyAgreementKey,
129
- keyResolver
130
- };
131
- }
132
74
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/identity/agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAM7E;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAA;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAA;AAEjD,8EAA8E;AAC9E,uEAAuE;AACvE,MAAM,iBAAiB,GAAG,SAAS,CAAA;AACnC,MAAM,YAAY,GAAG,KAAK,CAAA;AAuB1B;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CACvB,MAAkB,EAClB,IAAY;IAEZ,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAClD,KAAK,EACL,MAAiC,EACjC,MAAM,EACN,KAAK,EACL,CAAC,YAAY,CAAC,CACf,CAAA;IACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CACpD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;QACvB,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KACrC,EACD,GAAG,EACH,GAAG,CACJ,CAAA;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,IAAI,EACJ,cAAc,GAAG,uBAAuB,EAIzC;IACC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC;QAC9C,IAAI;QACJ,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,iBAAiB;KAC3B,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IACnC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;QAChC,UAAU,EAAE,oBAAoB;QAChC,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE,MAAM;KACzB,CAAC,CAAA;IACF,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AAC7D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,IAAI,EACJ,YAAY,EACZ,SAAS,GAAG,kBAAkB,EAK/B;IACC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,YAAY,EAAE,CAAC,CAAA;IACvE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,YAAY;KACtB,CAAC,CAAA;IACF,MAAM,eAAe,GACnB,yBAAyB,CAAC,8BAA8B,CAAC;QACvD,OAAO,EAAE,QAAQ,CAAC,sBAAsB,EAAE;KAC3C,CAAC,CAAA;IACJ,MAAM,WAAW,GAAiB,KAAK,EAAE,EAAE,EAAE,EAAmB,EAAE,EAAE;QAClE,IAAI,EAAE,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO;YACL,EAAE,EAAE,eAAe,CAAC,EAAE;YACtB,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,kBAAkB,EAAE,eAAe,CAAC,kBAAkB;SACvD,CAAA;IACH,CAAC,CAAA;IACD,OAAO;QACL,eAAe,EAAE,eAAmC;QACpD,WAAW;KACZ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/identity/agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;;;;GAKG;AACH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAEnB,MAAM,+BAA+B,CAAA;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAA;AAElD,6EAA6E;AAC7E,mEAAmE;AACnE,MAAM,iBAAiB,GAAG,SAAS,CAAA;AAYnC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,IAAI,EACJ,cAAc,GAAG,uBAAuB,EAIzC;IACC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC;QAC9C,IAAI;QACJ,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,iBAAiB;KAC3B,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IACnC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;QAChC,UAAU,EAAE,oBAAoB;QAChC,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE,MAAM;KACzB,CAAC,CAAA;IACF,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AAC7D,CAAC"}
@@ -19,7 +19,17 @@ export interface SeedStore {
19
19
  */
20
20
  loadRecord(): Promise<unknown | null>;
21
21
  /**
22
- * Wipes the seed and the session record (logout).
22
+ * Persists the collection-encryption marker cache (keyed by WAS collection
23
+ * id), so an offline / hot-restore session can rebuild its epoch-aware
24
+ * ciphers without a live description read.
25
+ */
26
+ saveMarkers(markers: unknown): Promise<void>;
27
+ /**
28
+ * Loads the persisted marker cache, or `null`.
29
+ */
30
+ loadMarkers(): Promise<unknown | null>;
31
+ /**
32
+ * Wipes the seed, the session record, and the marker cache (logout).
23
33
  */
24
34
  clearSeedStore(): Promise<void>;
25
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seedStore.d.ts","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACtC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACrC;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,GAAe,EAChB,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB,GAAG,SAAS,CA2DZ"}
1
+ {"version":3,"file":"seedStore.d.ts","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACtC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACrC;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACtC;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,GAAe,EAChB,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB,GAAG,SAAS,CAuEZ"}
@@ -14,6 +14,7 @@
14
14
  const SESSION_STORE = 'session';
15
15
  const SEED_RECORD = 'seed';
16
16
  const SESSION_RECORD = 'record';
17
+ const MARKERS_RECORD = 'markers';
17
18
  /**
18
19
  * Creates a seed store bound to `dbName` and `idb`.
19
20
  *
@@ -65,9 +66,17 @@ export function createSeedStore({ dbName, idb = indexedDB }) {
65
66
  const stored = await withSessionStore('readonly', store => store.get(SESSION_RECORD));
66
67
  return stored ?? null;
67
68
  },
69
+ async saveMarkers(markers) {
70
+ await withSessionStore('readwrite', store => store.put(markers, MARKERS_RECORD));
71
+ },
72
+ async loadMarkers() {
73
+ const stored = await withSessionStore('readonly', store => store.get(MARKERS_RECORD));
74
+ return stored ?? null;
75
+ },
68
76
  async clearSeedStore() {
69
77
  await withSessionStore('readwrite', store => store.delete(SEED_RECORD));
70
78
  await withSessionStore('readwrite', store => store.delete(SESSION_RECORD));
79
+ await withSessionStore('readwrite', store => store.delete(MARKERS_RECORD));
71
80
  }
72
81
  };
73
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seedStore.js","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seedStore.js","sourceRoot":"","sources":["../../src/identity/seedStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"authStore.d.ts","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AAIrB,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAQ1E,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAA;AA0B7B;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAA;AAqBxE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,aAAa,CAAA;IACrB;;;;OAIG;IACH,UAAU,EAAE,aAAa,GAAG,aAAa,CAAA;IACzC;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;OAGG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAC1B,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC3C;;;;;;;;;;;OAWG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE;QAC3B,IAAI,EAAE,UAAU,CAAA;QAChB,MAAM,EAAE,KAAK,EAAE,CAAA;QACf,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAC1B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B;;;;;;;OAOG;IACH,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAC/B;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;AAQ9C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACR,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CACtC,GAAG,YAAY,CA6tBf"}
1
+ {"version":3,"file":"authStore.d.ts","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AAIrB,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAQ1E,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAA;AA0B7B;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAA;AAqBxE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,aAAa,CAAA;IACrB;;;;OAIG;IACH,UAAU,EAAE,aAAa,GAAG,aAAa,CAAA;IACzC;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;OAGG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAC1B,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC3C;;;;;;;;;;;OAWG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE;QAC3B,IAAI,EAAE,UAAU,CAAA;QAChB,MAAM,EAAE,KAAK,EAAE,CAAA;QACf,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAC1B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B;;;;;;;OAOG;IACH,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAC/B;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;AAQ9C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACR,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CACtC,GAAG,YAAY,CAkwBf"}
@@ -175,7 +175,10 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
175
175
  localStore: requireStore(),
176
176
  syncController: controller,
177
177
  onRemoteChange: (key, event) => void patchFromChange(registry, key, event),
178
- onAuthError: () => store.getState().notifyAccessExpired()
178
+ onAuthError: () => store.getState().notifyAccessExpired(),
179
+ onMarkersFetched: markers => void sessionStore
180
+ .saveMarkers(markers)
181
+ .catch(err => console.warn('Failed to cache encryption markers:', err))
179
182
  });
180
183
  setRemoteStore(remoteStore);
181
184
  return remoteStore;
@@ -244,13 +247,17 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
244
247
  * @param options.seed {Uint8Array}
245
248
  * @param options.controllerDid {string}
246
249
  * @param [options.adopt] {AdoptSource}
250
+ * @param [options.markers] {Record<string, CollectionEncryption>} cached
251
+ * encryption markers, so a connected (incl. offline hot-restore) replica
252
+ * opens epoch-aware before any live description read
247
253
  * @returns {Promise<void>}
248
254
  */
249
- async function openAndHydrate({ seed, controllerDid, adopt }) {
255
+ async function openAndHydrate({ seed, controllerDid, adopt, markers }) {
250
256
  const local = await LocalStore.init({
251
257
  seed,
252
258
  collections: config.collections,
253
259
  dbName: dbNameForController({ dbName, controllerDid }),
260
+ ...(markers && { markers }),
254
261
  ...(storage && { storage })
255
262
  });
256
263
  setLocalStore(local);
@@ -306,12 +313,35 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
306
313
  * @param session {ActiveSession}
307
314
  * @returns {Promise<void>}
308
315
  */
316
+ /**
317
+ * Loads the persisted encryption-marker cache (keyed by WAS collection id),
318
+ * or `undefined` when none is stored or it is malformed. Best-effort: a read
319
+ * failure falls back to opening single-key ciphers (sync refreshes them).
320
+ */
321
+ async function loadCachedMarkers() {
322
+ try {
323
+ const stored = await sessionStore.loadMarkers();
324
+ if (stored && typeof stored === 'object' && !Array.isArray(stored)) {
325
+ return stored;
326
+ }
327
+ }
328
+ catch (err) {
329
+ console.warn('Failed to load cached encryption markers:', err);
330
+ }
331
+ return undefined;
332
+ }
309
333
  async function activateConnected(session) {
310
334
  try {
335
+ // Load the cached encryption markers so the connected replica opens
336
+ // epoch-aware: an offline hot restore then decrypts multi-recipient
337
+ // envelopes with no live description read; an online session refreshes
338
+ // them from the server once sync starts.
339
+ const markers = await loadCachedMarkers();
311
340
  await openAndHydrate({
312
341
  seed: session.seed,
313
342
  controllerDid: session.identity.controllerDid,
314
- ...(session.adopt && { adopt: session.adopt })
343
+ ...(session.adopt && { adopt: session.adopt }),
344
+ ...(markers && { markers })
315
345
  });
316
346
  await persistAndStartSync({
317
347
  seed: session.seed,
@@ -1 +1 @@
1
- {"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@
26
26
  */
27
27
  import { type RxCollection, type RxStorage } from 'rxdb/plugins/core';
28
28
  import { type WasCollectionConfig } from '../config.js';
29
+ import type { CollectionEncryption } from '@interop/was-client';
29
30
  import { type Json, type SyncedDoc } from '../sync/index.js';
30
31
  type EntityPayload = {
31
32
  id: string;
@@ -57,18 +58,26 @@ export declare class LocalStore {
57
58
  * derivation entirely and gets the pass-through plaintext codec) and opens
58
59
  * one RxDB collection per entity.
59
60
  *
61
+ * When `markers` carries an encryption marker for a private collection (from
62
+ * the offline marker cache), that collection's cipher is built epoch-aware so
63
+ * a multi-recipient envelope decrypts before any live description read; a
64
+ * collection with no cached marker keeps the single-key behavior.
65
+ *
60
66
  * @param options {object}
61
67
  * @param options.seed {Uint8Array} the 32-byte master seed
62
68
  * @param options.collections {WasCollectionConfig[]} the collection registry
63
69
  * (logical key to WAS collection id)
70
+ * @param [options.markers] {Record<string, CollectionEncryption>} cached
71
+ * encryption markers keyed by WAS collection id (from the offline cache)
64
72
  * @param [options.storage] {RxStorage<unknown, unknown>} defaults to
65
73
  * Dexie/IndexedDB; injectable for tests
66
74
  * @param [options.dbName] {string} defaults to {@link DEFAULT_DB_NAME}
67
75
  * @returns {Promise<LocalStore>}
68
76
  */
69
- static init({ seed, collections, storage, dbName }: {
77
+ static init({ seed, collections, markers, storage, dbName }: {
70
78
  seed: Uint8Array;
71
79
  collections: WasCollectionConfig[];
80
+ markers?: Record<string, CollectionEncryption>;
72
81
  storage?: RxStorage<unknown, unknown>;
73
82
  dbName?: string;
74
83
  }): Promise<LocalStore>;
@@ -81,6 +90,48 @@ export declare class LocalStore {
81
90
  * @returns {WasCollectionConfig}
82
91
  */
83
92
  collectionConfig(key: string): WasCollectionConfig;
93
+ /**
94
+ * Installs the epoch-marker refresher: given a WAS collection id, it fetches
95
+ * that collection's fresh encryption marker (a live description read). Called
96
+ * once a remote store exists; a decrypt that meets an unknown key epoch uses
97
+ * it to re-read the marker and rebuild the cipher exactly once.
98
+ *
99
+ * @param refresher {(collectionId: string) => Promise<CollectionEncryption | undefined>}
100
+ * @returns {void}
101
+ */
102
+ setEpochRefresher(refresher: (collectionId: string) => Promise<CollectionEncryption | undefined>): void;
103
+ /**
104
+ * Rebuilds one private collection's cipher from a new encryption marker,
105
+ * re-deriving its per-collection key material from the master seed. A public
106
+ * (plaintext) collection has no seed-derived cipher and is a no-op. The new
107
+ * cipher replaces the held one in place, so the conflict handler and every
108
+ * read path pick it up.
109
+ *
110
+ * @param options {object}
111
+ * @param options.key {string} the collection logical key
112
+ * @param options.encryption {CollectionEncryption} the new marker
113
+ * @returns {Promise<void>}
114
+ */
115
+ rebuildCipher({ key, encryption }: {
116
+ key: string;
117
+ encryption: CollectionEncryption;
118
+ }): Promise<void>;
119
+ /**
120
+ * Applies a freshly fetched remote encryption marker (by WAS collection id):
121
+ * rebuilds that collection's cipher when the marker's current epoch differs
122
+ * from the one the current cipher was built from (a wallet-side rotation, or
123
+ * first-ever epochs), so subsequent writes stamp the current epoch. Returns
124
+ * whether a rebuild happened. Unknown / public collections are ignored.
125
+ *
126
+ * @param options {object}
127
+ * @param options.collectionId {string} the WAS collection id
128
+ * @param options.encryption {CollectionEncryption} the fetched marker
129
+ * @returns {Promise<boolean>}
130
+ */
131
+ applyRemoteMarker({ collectionId, encryption }: {
132
+ collectionId: string;
133
+ encryption: CollectionEncryption;
134
+ }): Promise<boolean>;
84
135
  /**
85
136
  * Encrypts `payload` into a fresh EDV envelope and inserts it as a new row.
86
137
  *
@@ -1 +1 @@
1
- {"version":3,"file":"localStore.d.ts","sourceRoot":"","sources":["../../src/storage/localStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localStore.d.ts","sourceRoot":"","sources":["../../src/storage/localStore.ts"],"names":[],"mappings":"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"}