@interop/wallet-core 0.93.0 → 0.95.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 +21 -20
- package/dist/clientAnnex/mend.js +4 -1
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clients/index.d.ts +3 -2
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -2
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/listing.d.ts +19 -12
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +69 -22
- package/dist/clients/listing.js.map +1 -1
- package/dist/connections/didKey.d.ts +25 -0
- package/dist/connections/didKey.d.ts.map +1 -0
- package/dist/connections/didKey.js +49 -0
- package/dist/connections/didKey.js.map +1 -0
- package/dist/connections/entry.d.ts +226 -0
- package/dist/connections/entry.d.ts.map +1 -0
- package/dist/connections/entry.js +287 -0
- package/dist/connections/entry.js.map +1 -0
- package/dist/connections/errors.d.ts +33 -0
- package/dist/connections/errors.d.ts.map +1 -0
- package/dist/connections/errors.js +36 -0
- package/dist/connections/errors.js.map +1 -0
- package/dist/connections/grants.d.ts +94 -0
- package/dist/connections/grants.d.ts.map +1 -0
- package/dist/connections/grants.js +120 -0
- package/dist/connections/grants.js.map +1 -0
- package/dist/connections/index.d.ts +47 -0
- package/dist/connections/index.d.ts.map +1 -0
- package/dist/connections/index.js +40 -0
- package/dist/connections/index.js.map +1 -0
- package/dist/connections/read.d.ts +82 -0
- package/dist/connections/read.d.ts.map +1 -0
- package/dist/connections/read.js +100 -0
- package/dist/connections/read.js.map +1 -0
- package/dist/connections/resourceId.d.ts +36 -0
- package/dist/connections/resourceId.d.ts.map +1 -0
- package/dist/connections/resourceId.js +49 -0
- package/dist/connections/resourceId.js.map +1 -0
- package/dist/connections/store.d.ts +103 -0
- package/dist/connections/store.d.ts.map +1 -0
- package/dist/connections/store.js +67 -0
- package/dist/connections/store.js.map +1 -0
- package/dist/connections/upsert.d.ts +214 -0
- package/dist/connections/upsert.d.ts.map +1 -0
- package/dist/connections/upsert.js +468 -0
- package/dist/connections/upsert.js.map +1 -0
- package/dist/connections/writers.d.ts +217 -0
- package/dist/connections/writers.d.ts.map +1 -0
- package/dist/connections/writers.js +485 -0
- package/dist/connections/writers.js.map +1 -0
- package/dist/enrollment/onboardingResponse.d.ts +3 -3
- package/dist/enrollment/onboardingResponse.d.ts.map +1 -1
- package/dist/enrollment/onboardingResponse.js +17 -13
- package/dist/enrollment/onboardingResponse.js.map +1 -1
- package/dist/keys/index.d.ts +0 -7
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +0 -6
- package/dist/keys/index.js.map +1 -1
- package/dist/labelText.d.ts +30 -3
- package/dist/labelText.d.ts.map +1 -1
- package/dist/labelText.js +35 -3
- package/dist/labelText.js.map +1 -1
- package/dist/menders/ids.d.ts +1 -1
- package/dist/menders/ids.d.ts.map +1 -1
- package/dist/menders/ids.js +7 -2
- package/dist/menders/ids.js.map +1 -1
- package/dist/space/collections.d.ts +28 -25
- package/dist/space/collections.d.ts.map +1 -1
- package/dist/space/collections.js +46 -40
- package/dist/space/collections.js.map +1 -1
- package/dist/space/index.d.ts +4 -3
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +4 -3
- package/dist/space/index.js.map +1 -1
- package/package.json +8 -8
- package/dist/keys/clientLabels.d.ts +0 -85
- package/dist/keys/clientLabels.d.ts.map +0 -1
- package/dist/keys/clientLabels.js +0 -96
- package/dist/keys/clientLabels.js.map +0 -1
- package/dist/keys/wasLabelsStore.d.ts +0 -33
- package/dist/keys/wasLabelsStore.d.ts.map +0 -1
- package/dist/keys/wasLabelsStore.js +0 -35
- package/dist/keys/wasLabelsStore.js.map +0 -1
- package/dist/writers/entry.d.ts +0 -95
- package/dist/writers/entry.d.ts.map +0 -1
- package/dist/writers/entry.js +0 -90
- package/dist/writers/entry.js.map +0 -1
- package/dist/writers/index.d.ts +0 -17
- package/dist/writers/index.d.ts.map +0 -1
- package/dist/writers/index.js +0 -14
- package/dist/writers/index.js.map +0 -1
- package/dist/writers/roster.d.ts +0 -152
- package/dist/writers/roster.d.ts.map +0 -1
- package/dist/writers/roster.js +0 -365
- package/dist/writers/roster.js.map +0 -1
- package/dist/writers/store.d.ts +0 -71
- package/dist/writers/store.d.ts.map +0 -1
- package/dist/writers/store.js +0 -55
- package/dist/writers/store.js.map +0 -1
package/dist/labelText.d.ts
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* The character set and length every attacker-adjacent display string is
|
|
6
|
-
* held to: the onboarding response's suggested label,
|
|
7
|
-
* identifier the ceremony event helpers carry. An
|
|
8
|
-
* layer that must not load the enrollment ceremony can
|
|
6
|
+
* held to: the onboarding response's suggested label, a directory entry's
|
|
7
|
+
* `name`, and a server-served identifier the ceremony event helpers carry. An
|
|
8
|
+
* import-free leaf, so a layer that must not load the enrollment ceremony can
|
|
9
|
+
* still take it.
|
|
9
10
|
*/
|
|
10
11
|
/**
|
|
11
12
|
* The longest suggested display label an onboarding response may carry, in
|
|
@@ -21,4 +22,30 @@ export declare const ONBOARDING_LABEL_MAX_LENGTH = 64;
|
|
|
21
22
|
* reorder or hide what a consent screen or a log line shows.
|
|
22
23
|
*/
|
|
23
24
|
export declare const LABEL_STRIPPED_CHARACTERS: RegExp;
|
|
25
|
+
/**
|
|
26
|
+
* A display string with the {@link LABEL_STRIPPED_CHARACTERS} removed and the
|
|
27
|
+
* surrounding whitespace trimmed: the text a display name is measured by.
|
|
28
|
+
*
|
|
29
|
+
* @param options {object}
|
|
30
|
+
* @param options.value {string}
|
|
31
|
+
* @returns {string}
|
|
32
|
+
*/
|
|
33
|
+
export declare function strippedDisplayText({ value }: {
|
|
34
|
+
value: string;
|
|
35
|
+
}): string;
|
|
36
|
+
/**
|
|
37
|
+
* The one display-name rule every producer and reader shares: the stripped
|
|
38
|
+
* text (see {@link strippedDisplayText}) when it holds at least one and at
|
|
39
|
+
* most {@link ONBOARDING_LABEL_MAX_LENGTH} code points, else `undefined`. The
|
|
40
|
+
* onboarding response's suggested label, the directory entry's `name` member,
|
|
41
|
+
* and every write of that member all run through it, so no producer can
|
|
42
|
+
* write a name a reader refuses.
|
|
43
|
+
*
|
|
44
|
+
* @param options {object}
|
|
45
|
+
* @param options.value {string}
|
|
46
|
+
* @returns {string | undefined}
|
|
47
|
+
*/
|
|
48
|
+
export declare function normalizeDisplayName({ value }: {
|
|
49
|
+
value: string;
|
|
50
|
+
}): string | undefined;
|
|
24
51
|
//# sourceMappingURL=labelText.d.ts.map
|
package/dist/labelText.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labelText.d.ts","sourceRoot":"","sources":["../src/labelText.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"labelText.d.ts","sourceRoot":"","sources":["../src/labelText.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,QAEkC,CAAA;AAExE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,MAAM,GAAG,SAAS,CAOrB"}
|
package/dist/labelText.js
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* The character set and length every attacker-adjacent display string is
|
|
6
|
-
* held to: the onboarding response's suggested label,
|
|
7
|
-
* identifier the ceremony event helpers carry. An
|
|
8
|
-
* layer that must not load the enrollment ceremony can
|
|
6
|
+
* held to: the onboarding response's suggested label, a directory entry's
|
|
7
|
+
* `name`, and a server-served identifier the ceremony event helpers carry. An
|
|
8
|
+
* import-free leaf, so a layer that must not load the enrollment ceremony can
|
|
9
|
+
* still take it.
|
|
9
10
|
*/
|
|
10
11
|
/**
|
|
11
12
|
* The longest suggested display label an onboarding response may carry, in
|
|
@@ -23,4 +24,35 @@ export const ONBOARDING_LABEL_MAX_LENGTH = 64;
|
|
|
23
24
|
export const LABEL_STRIPPED_CHARACTERS =
|
|
24
25
|
// eslint-disable-next-line no-control-regex
|
|
25
26
|
/[\u0000-\u001f\u007f-\u009f\u200e\u200f\u202a-\u202e\u2066-\u2069]/gu;
|
|
27
|
+
/**
|
|
28
|
+
* A display string with the {@link LABEL_STRIPPED_CHARACTERS} removed and the
|
|
29
|
+
* surrounding whitespace trimmed: the text a display name is measured by.
|
|
30
|
+
*
|
|
31
|
+
* @param options {object}
|
|
32
|
+
* @param options.value {string}
|
|
33
|
+
* @returns {string}
|
|
34
|
+
*/
|
|
35
|
+
export function strippedDisplayText({ value }) {
|
|
36
|
+
return value.replace(LABEL_STRIPPED_CHARACTERS, '').trim();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The one display-name rule every producer and reader shares: the stripped
|
|
40
|
+
* text (see {@link strippedDisplayText}) when it holds at least one and at
|
|
41
|
+
* most {@link ONBOARDING_LABEL_MAX_LENGTH} code points, else `undefined`. The
|
|
42
|
+
* onboarding response's suggested label, the directory entry's `name` member,
|
|
43
|
+
* and every write of that member all run through it, so no producer can
|
|
44
|
+
* write a name a reader refuses.
|
|
45
|
+
*
|
|
46
|
+
* @param options {object}
|
|
47
|
+
* @param options.value {string}
|
|
48
|
+
* @returns {string | undefined}
|
|
49
|
+
*/
|
|
50
|
+
export function normalizeDisplayName({ value }) {
|
|
51
|
+
const stripped = strippedDisplayText({ value });
|
|
52
|
+
const length = [...stripped].length;
|
|
53
|
+
if (length === 0 || length > ONBOARDING_LABEL_MAX_LENGTH) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
return stripped;
|
|
57
|
+
}
|
|
26
58
|
//# sourceMappingURL=labelText.js.map
|
package/dist/labelText.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labelText.js","sourceRoot":"","sources":["../src/labelText.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"labelText.js","sourceRoot":"","sources":["../src/labelText.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB;AACpC,4CAA4C;AAC5C,sEAAsE,CAAA;AAExE;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAE,KAAK,EAAqB;IAC9D,OAAO,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AAC5D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EAGN;IACC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAA;IACnC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,2BAA2B,EAAE,CAAC;QACzD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
package/dist/menders/ids.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
/**
|
|
16
16
|
* Every invariant id, in design-table order.
|
|
17
17
|
*/
|
|
18
|
-
export declare const INVARIANT_IDS: readonly ["roster-wraps-exactly-the-document-key-set", "governed-log-heads-anchor-past-the-membership-change", "collection-epochs-name-the-current-user-key", "unlock-registry-opens-under-the-current-user-key", "registry-passphrase-entry-names-the-standing-credential", "passkey-entry-carries-its-standing-configuration", "registry-lists-the-passphrase-method", "standing-delegations-verify-under-the-current-document", "registry-records-the-committed-ladder-rung", "unlock-record-points-at-the-account-did", "account-pointer-names-the-account-did", "space-controller-is-the-account-did", "roster-and-collection-epochs-exist", "registry-records-the-establishing-credential", "annex-generation-is-reachable", "generation-delegation-is-current", "acting-credential-manage-zcap-is-current", "did-web-projection-matches-the-log", "no-annex-generation-outlives-its-pointer", "app-keys-live-only-in-app-connections", "client-key-record-matches-the-pointed-account", "this-browser-is-still-an-enrolled-client", "no-client-key-record-stays-pending", "recovery-spend-is-completed", "retired-credential-leaves-no-annex-inventory", "document-lists-the-acting-credential", "keystore-controller-is-the-account-did", "account-document-publishes-an-authentication-key", "every-document-key-agreement-entry-has-a-locatable-credential", "no-unlock-space-outlives-its-credential", "no-keystore-outlives-its-account", "saved-recovery-codes-locate-their-account", "standard-collections-are-provisioned", "no-auxiliary-space-stands-unnamed", "no-registered-writer-outlives-its-expiry"];
|
|
18
|
+
export declare const INVARIANT_IDS: readonly ["roster-wraps-exactly-the-document-key-set", "governed-log-heads-anchor-past-the-membership-change", "collection-epochs-name-the-current-user-key", "unlock-registry-opens-under-the-current-user-key", "registry-passphrase-entry-names-the-standing-credential", "passkey-entry-carries-its-standing-configuration", "registry-lists-the-passphrase-method", "standing-delegations-verify-under-the-current-document", "registry-records-the-committed-ladder-rung", "unlock-record-points-at-the-account-did", "account-pointer-names-the-account-did", "space-controller-is-the-account-did", "roster-and-collection-epochs-exist", "registry-records-the-establishing-credential", "annex-generation-is-reachable", "generation-delegation-is-current", "acting-credential-manage-zcap-is-current", "did-web-projection-matches-the-log", "no-annex-generation-outlives-its-pointer", "app-keys-live-only-in-app-connections", "client-key-record-matches-the-pointed-account", "this-browser-is-still-an-enrolled-client", "no-client-key-record-stays-pending", "recovery-spend-is-completed", "retired-credential-leaves-no-annex-inventory", "document-lists-the-acting-credential", "keystore-controller-is-the-account-did", "account-document-publishes-an-authentication-key", "every-document-key-agreement-entry-has-a-locatable-credential", "no-unlock-space-outlives-its-credential", "no-keystore-outlives-its-account", "saved-recovery-codes-locate-their-account", "standard-collections-are-provisioned", "no-auxiliary-space-stands-unnamed", "no-registered-writer-outlives-its-expiry", "every-party-with-authority-has-a-connection-entry"];
|
|
19
19
|
/**
|
|
20
20
|
* One id from {@link INVARIANT_IDS}.
|
|
21
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/menders/ids.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/menders/ids.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,klDA4EhB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
package/dist/menders/ids.js
CHANGED
|
@@ -84,7 +84,12 @@ export const INVARIANT_IDS = [
|
|
|
84
84
|
'standard-collections-are-provisioned',
|
|
85
85
|
// 34
|
|
86
86
|
'no-auxiliary-space-stands-unnamed',
|
|
87
|
-
// 35
|
|
88
|
-
|
|
87
|
+
// 35: no `writers` member of any `connections` entry stays `active` past
|
|
88
|
+
// the inactivity window, and no entry holds more than the writer cap once
|
|
89
|
+
// a sweep has run over it. The id predates the directory and stays.
|
|
90
|
+
'no-registered-writer-outlives-its-expiry',
|
|
91
|
+
// 36: every party holding a live grant, or listed in an unprotected
|
|
92
|
+
// collection's current epoch, has an unretired `connections` entry.
|
|
93
|
+
'every-party-with-authority-has-a-connection-entry'
|
|
89
94
|
];
|
|
90
95
|
//# sourceMappingURL=ids.js.map
|
package/dist/menders/ids.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/menders/ids.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI;IACJ,2CAA2C;IAC3C,IAAI;IACJ,sDAAsD;IACtD,IAAI;IACJ,6CAA6C;IAC7C,IAAI;IACJ,kDAAkD;IAClD,IAAI;IACJ,yDAAyD;IACzD,IAAI;IACJ,kDAAkD;IAClD,IAAI;IACJ,sCAAsC;IACtC,IAAI;IACJ,wDAAwD;IACxD,IAAI;IACJ,4CAA4C;IAC5C,KAAK;IACL,yCAAyC;IACzC,KAAK;IACL,uCAAuC;IACvC,KAAK;IACL,qCAAqC;IACrC,KAAK;IACL,oCAAoC;IACpC,KAAK;IACL,8CAA8C;IAC9C,KAAK;IACL,+BAA+B;IAC/B,KAAK;IACL,kCAAkC;IAClC,KAAK;IACL,0CAA0C;IAC1C,KAAK;IACL,oCAAoC;IACpC,KAAK;IACL,0CAA0C;IAC1C,KAAK;IACL,uCAAuC;IACvC,KAAK;IACL,+CAA+C;IAC/C,KAAK;IACL,0CAA0C;IAC1C,KAAK;IACL,oCAAoC;IACpC,KAAK;IACL,6BAA6B;IAC7B,KAAK;IACL,8CAA8C;IAC9C,KAAK;IACL,sCAAsC;IACtC,KAAK;IACL,wCAAwC;IACxC,KAAK;IACL,kDAAkD;IAClD,KAAK;IACL,+DAA+D;IAC/D,KAAK;IACL,yCAAyC;IACzC,KAAK;IACL,kCAAkC;IAClC,KAAK;IACL,2CAA2C;IAC3C,KAAK;IACL,sCAAsC;IACtC,KAAK;IACL,mCAAmC;IACnC,
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/menders/ids.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI;IACJ,2CAA2C;IAC3C,IAAI;IACJ,sDAAsD;IACtD,IAAI;IACJ,6CAA6C;IAC7C,IAAI;IACJ,kDAAkD;IAClD,IAAI;IACJ,yDAAyD;IACzD,IAAI;IACJ,kDAAkD;IAClD,IAAI;IACJ,sCAAsC;IACtC,IAAI;IACJ,wDAAwD;IACxD,IAAI;IACJ,4CAA4C;IAC5C,KAAK;IACL,yCAAyC;IACzC,KAAK;IACL,uCAAuC;IACvC,KAAK;IACL,qCAAqC;IACrC,KAAK;IACL,oCAAoC;IACpC,KAAK;IACL,8CAA8C;IAC9C,KAAK;IACL,+BAA+B;IAC/B,KAAK;IACL,kCAAkC;IAClC,KAAK;IACL,0CAA0C;IAC1C,KAAK;IACL,oCAAoC;IACpC,KAAK;IACL,0CAA0C;IAC1C,KAAK;IACL,uCAAuC;IACvC,KAAK;IACL,+CAA+C;IAC/C,KAAK;IACL,0CAA0C;IAC1C,KAAK;IACL,oCAAoC;IACpC,KAAK;IACL,6BAA6B;IAC7B,KAAK;IACL,8CAA8C;IAC9C,KAAK;IACL,sCAAsC;IACtC,KAAK;IACL,wCAAwC;IACxC,KAAK;IACL,kDAAkD;IAClD,KAAK;IACL,+DAA+D;IAC/D,KAAK;IACL,yCAAyC;IACzC,KAAK;IACL,kCAAkC;IAClC,KAAK;IACL,2CAA2C;IAC3C,KAAK;IACL,sCAAsC;IACtC,KAAK;IACL,mCAAmC;IACnC,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,0CAA0C;IAC1C,oEAAoE;IACpE,oEAAoE;IACpE,mDAAmD;CAC3C,CAAA"}
|
|
@@ -22,10 +22,10 @@ export declare const WALLET_ACTIVITY_COLLECTION = "wallet-activity";
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const APP_CONNECTIONS_COLLECTION = "app-connections";
|
|
24
24
|
/**
|
|
25
|
-
* The EDV-encrypted
|
|
26
|
-
*
|
|
25
|
+
* The EDV-encrypted `connections` directory: one entry per party the wallet
|
|
26
|
+
* has dealt with (an app, an agent, a wallet client, a contact).
|
|
27
27
|
*/
|
|
28
|
-
export declare const
|
|
28
|
+
export declare const CONNECTIONS_COLLECTION = "connections";
|
|
29
29
|
/**
|
|
30
30
|
* What provisioning a wallet Space collection needs: the collection id, the
|
|
31
31
|
* friendly display name both wallets pass as the server-side collection name,
|
|
@@ -37,12 +37,20 @@ export declare const REGISTERED_WRITERS_COLLECTION = "registered-writers";
|
|
|
37
37
|
* bare and declared encrypted by its governing history log's genesis.
|
|
38
38
|
* - `isPublic` -- whether the collection is granted collection-level world read
|
|
39
39
|
* on the server.
|
|
40
|
+
* - `grantable` -- whether an App Connect or interaction-URL grant may name the
|
|
41
|
+
* collection, read-only or otherwise. It is independent of `shareable`.
|
|
42
|
+
* `public-credentials` is not shareable yet is grantable. `app-connections`
|
|
43
|
+
* carries a key-epoch roster yet is never grantable, since its Resources are
|
|
44
|
+
* the connected apps' private seeds. A key- or seed-bearing collection MUST
|
|
45
|
+
* be `grantable: false`. The field is wallet-side policy only and is never
|
|
46
|
+
* written to the server.
|
|
40
47
|
*/
|
|
41
48
|
export interface SpaceProvisionSpec {
|
|
42
49
|
collectionId: string;
|
|
43
50
|
name: string;
|
|
44
51
|
encryption: 'edv' | 'plaintext';
|
|
45
52
|
isPublic: boolean;
|
|
53
|
+
grantable: boolean;
|
|
46
54
|
}
|
|
47
55
|
/**
|
|
48
56
|
* A declarative descriptor of a synced wallet Space collection: the
|
|
@@ -112,18 +120,21 @@ export declare const CONTACTS_HISTORY_SPACE_COLLECTION_SPEC: SpaceCollectionSpec
|
|
|
112
120
|
* replica, but in their own collection: keeping them out of
|
|
113
121
|
* `private-credentials` means the credential-wide surfaces (public-link
|
|
114
122
|
* creation, collection shares) can structurally never reach a seed.
|
|
115
|
-
* `shareable: false` is the point of the split
|
|
123
|
+
* `shareable: false` is the point of the split, and `grantable: false` keeps
|
|
124
|
+
* every requester's grant off the seeds too.
|
|
116
125
|
*/
|
|
117
126
|
export declare const APP_CONNECTIONS_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
118
127
|
/**
|
|
119
|
-
* The
|
|
120
|
-
* resource id
|
|
121
|
-
* (`
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
128
|
+
* The `connections` directory: one mutable EDV envelope per party, at a
|
|
129
|
+
* resource id keyed by the collection's blinded-index key
|
|
130
|
+
* (`connectionResourceId` in `@interop/wallet-core/connections`). It is the
|
|
131
|
+
* wallet's revocation index (each entry's `grants`) and its party names, so
|
|
132
|
+
* one reader would learn every party, its names and origins, and every
|
|
133
|
+
* capability delegated to it. Hence neither shareable nor grantable. Its only
|
|
134
|
+
* key-epoch recipient is the user key, and no party ever writes it. It is
|
|
135
|
+
* read and written directly, with no local replica and no sync feed.
|
|
125
136
|
*/
|
|
126
|
-
export declare const
|
|
137
|
+
export declare const CONNECTIONS_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
127
138
|
/**
|
|
128
139
|
* The `id` collection's provisioning attributes: plaintext (it holds only
|
|
129
140
|
* world-readable DID artifacts) with a collection-level public-read grant.
|
|
@@ -135,7 +146,8 @@ export declare const ID_COLLECTION_SPEC: SpaceProvisionSpec;
|
|
|
135
146
|
* envelope) and capability-only -- never public, exactly so `id` can be
|
|
136
147
|
* world-readable without exposing key material. Its roster names a passphrase
|
|
137
148
|
* credential by its passphrase-derived key beside a wrap of the user key, so
|
|
138
|
-
* a third-party read grant on it is an offline guessing oracle
|
|
149
|
+
* a third-party read grant on it is an offline guessing oracle, which is why it
|
|
150
|
+
* is never grantable.
|
|
139
151
|
*/
|
|
140
152
|
export declare const KEY_MAP_COLLECTION_SPEC: SpaceProvisionSpec;
|
|
141
153
|
/**
|
|
@@ -144,6 +156,7 @@ export declare const KEY_MAP_COLLECTION_SPEC: SpaceProvisionSpec;
|
|
|
144
156
|
* itself, so the collection needs no EDV envelope) and capability-only. Read
|
|
145
157
|
* and written directly with the remote as the source of truth, under
|
|
146
158
|
* conditional writes; it gets no local replica and no background replication.
|
|
159
|
+
* Never grantable: it is the account's own unlock-method registry.
|
|
147
160
|
*/
|
|
148
161
|
export declare const UNLOCK_METHODS_COLLECTION_SPEC: SpaceProvisionSpec;
|
|
149
162
|
/**
|
|
@@ -162,9 +175,9 @@ export declare const WALLET_SPACE_SYNCED_SPECS: SpaceCollectionSpec[];
|
|
|
162
175
|
export declare const WALLET_SPACE_SYSTEM_SPECS: SpaceProvisionSpec[];
|
|
163
176
|
/**
|
|
164
177
|
* The full wallet Space layout -- every collection the provisioning wallet
|
|
165
|
-
* ensures: the synced feeds first, then the directly read
|
|
166
|
-
* the system collections. A Space provisioned from this roster
|
|
167
|
-
* matter which wallet app created it.
|
|
178
|
+
* ensures: the synced feeds first, then the directly read `connections`
|
|
179
|
+
* directory, then the system collections. A Space provisioned from this roster
|
|
180
|
+
* is identical no matter which wallet app created it.
|
|
168
181
|
*/
|
|
169
182
|
export declare const WALLET_SPACE_PROVISION_ROSTER: SpaceProvisionSpec[];
|
|
170
183
|
/**
|
|
@@ -225,16 +238,6 @@ export declare const USER_KEY_ROSTER_LOG_RESOURCE = "user-key.jsonl";
|
|
|
225
238
|
* reads and writes exactly this sub-resource through the Collection handle.
|
|
226
239
|
*/
|
|
227
240
|
export declare const COLLECTION_HISTORY_LOG_SUBRESOURCE = "meta/log";
|
|
228
|
-
/**
|
|
229
|
-
* The enrolled-client display labels, sibling of `keys.json` and
|
|
230
|
-
* `user-key.jsonl` in the same private `key-map` collection: a plain-JSON map
|
|
231
|
-
* from a client's signing-key multibase to its human-chosen label. Display
|
|
232
|
-
* metadata only -- the did:webvh document carries key material, never labels --
|
|
233
|
-
* and plaintext by the collection's convention: the storage host can read the
|
|
234
|
-
* labels, but it already serves the world-readable log that names every client
|
|
235
|
-
* key, so a label adds only the display name.
|
|
236
|
-
*/
|
|
237
|
-
export declare const CLIENT_LABELS_RESOURCE = "client-labels.json";
|
|
238
241
|
/**
|
|
239
242
|
* The account's unlock-method registry, the single resource of the
|
|
240
243
|
* `unlock-methods` collection: the records naming which methods can unlock the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"AAiCA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,8BAA8B,wBAAwB,CAAA;AACnE;;GAEG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAA;AACjE;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,gBAAgB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,KAAK,GAAG,WAAW,CAAA;IAC/B,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,EAAE,mBASjD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,mBAShD,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAS7C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,mBAO5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,EAAE,mBAOpD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAS7C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,EAAE,mBASzC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAMhC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAMrC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,EAAE,kBAM5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAO1D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAIzD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,EAI7D,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAIvD;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAA;AAC/C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,cAAc,CAAA;AAC3C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,cAAc,CAAA;AAC5C;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,mBAAmB,CAAA;AAC5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kCAAkC,aAAa,CAAA;AAC5D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,iBAAiB,CAAA"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* the other. Both replicas MUST agree on every field here -- `collectionId`
|
|
8
8
|
* decides where a document lands on the server, `idDerivation` and `mutable`
|
|
9
9
|
* decide whether it is overwritten in place or only appended, `encryption` /
|
|
10
|
-
* `isPublic` decide how it is stored and who can read it,
|
|
11
|
-
* decides whether it may be offered on the wallet's share surface
|
|
10
|
+
* `isPublic` decide how it is stored and who can read it, `shareable`
|
|
11
|
+
* decides whether it may be offered on the wallet's share surface, and
|
|
12
|
+
* `grantable` decides whether a requester's grant may name it at all. A
|
|
12
13
|
* disagreement splits the feed into separate or incompatibly-shaped collections
|
|
13
14
|
* that never converge.
|
|
14
15
|
*
|
|
@@ -46,10 +47,10 @@ export const WALLET_ACTIVITY_COLLECTION = 'wallet-activity';
|
|
|
46
47
|
*/
|
|
47
48
|
export const APP_CONNECTIONS_COLLECTION = 'app-connections';
|
|
48
49
|
/**
|
|
49
|
-
* The EDV-encrypted
|
|
50
|
-
*
|
|
50
|
+
* The EDV-encrypted `connections` directory: one entry per party the wallet
|
|
51
|
+
* has dealt with (an app, an agent, a wallet client, a contact).
|
|
51
52
|
*/
|
|
52
|
-
export const
|
|
53
|
+
export const CONNECTIONS_COLLECTION = 'connections';
|
|
53
54
|
/**
|
|
54
55
|
* The immutable credential replica: each credential stored as an EDV envelope,
|
|
55
56
|
* addressed by the envelope's content hash, never overwritten, never public.
|
|
@@ -61,7 +62,8 @@ export const PRIVATE_CREDENTIALS_COLLECTION_SPEC = {
|
|
|
61
62
|
mutable: false,
|
|
62
63
|
encryption: 'edv',
|
|
63
64
|
isPublic: false,
|
|
64
|
-
shareable: true
|
|
65
|
+
shareable: true,
|
|
66
|
+
grantable: true
|
|
65
67
|
};
|
|
66
68
|
/**
|
|
67
69
|
* The plaintext, world-readable copies of shared credentials, keyed by the
|
|
@@ -76,7 +78,8 @@ export const PUBLIC_CREDENTIALS_COLLECTION_SPEC = {
|
|
|
76
78
|
mutable: false,
|
|
77
79
|
encryption: 'plaintext',
|
|
78
80
|
isPublic: true,
|
|
79
|
-
shareable: false
|
|
81
|
+
shareable: false,
|
|
82
|
+
grantable: true
|
|
80
83
|
};
|
|
81
84
|
/**
|
|
82
85
|
* The append-only activity log: each entry stored as an EDV envelope, addressed
|
|
@@ -95,7 +98,8 @@ export const WALLET_ACTIVITY_COLLECTION_SPEC = {
|
|
|
95
98
|
mutable: false,
|
|
96
99
|
encryption: 'edv',
|
|
97
100
|
isPublic: false,
|
|
98
|
-
shareable: false
|
|
101
|
+
shareable: false,
|
|
102
|
+
grantable: true
|
|
99
103
|
};
|
|
100
104
|
/**
|
|
101
105
|
* The contacts head collection as it sits in the wallet Space: the identity
|
|
@@ -109,7 +113,8 @@ export const CONTACTS_SPACE_COLLECTION_SPEC = {
|
|
|
109
113
|
name: 'Contacts',
|
|
110
114
|
encryption: 'edv',
|
|
111
115
|
isPublic: false,
|
|
112
|
-
shareable: true
|
|
116
|
+
shareable: true,
|
|
117
|
+
grantable: true
|
|
113
118
|
};
|
|
114
119
|
/**
|
|
115
120
|
* The contacts history log in the wallet Space: identity contract spread from
|
|
@@ -121,7 +126,8 @@ export const CONTACTS_HISTORY_SPACE_COLLECTION_SPEC = {
|
|
|
121
126
|
name: 'Contacts History',
|
|
122
127
|
encryption: 'edv',
|
|
123
128
|
isPublic: false,
|
|
124
|
-
shareable: true
|
|
129
|
+
shareable: true,
|
|
130
|
+
grantable: true
|
|
125
131
|
};
|
|
126
132
|
/**
|
|
127
133
|
* The app-key credentials behind connected apps, each carrying that app's
|
|
@@ -129,7 +135,8 @@ export const CONTACTS_HISTORY_SPACE_COLLECTION_SPEC = {
|
|
|
129
135
|
* replica, but in their own collection: keeping them out of
|
|
130
136
|
* `private-credentials` means the credential-wide surfaces (public-link
|
|
131
137
|
* creation, collection shares) can structurally never reach a seed.
|
|
132
|
-
* `shareable: false` is the point of the split
|
|
138
|
+
* `shareable: false` is the point of the split, and `grantable: false` keeps
|
|
139
|
+
* every requester's grant off the seeds too.
|
|
133
140
|
*/
|
|
134
141
|
export const APP_CONNECTIONS_COLLECTION_SPEC = {
|
|
135
142
|
collectionId: APP_CONNECTIONS_COLLECTION,
|
|
@@ -138,24 +145,28 @@ export const APP_CONNECTIONS_COLLECTION_SPEC = {
|
|
|
138
145
|
mutable: false,
|
|
139
146
|
encryption: 'edv',
|
|
140
147
|
isPublic: false,
|
|
141
|
-
shareable: false
|
|
148
|
+
shareable: false,
|
|
149
|
+
grantable: false
|
|
142
150
|
};
|
|
143
151
|
/**
|
|
144
|
-
* The
|
|
145
|
-
* resource id
|
|
146
|
-
* (`
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
152
|
+
* The `connections` directory: one mutable EDV envelope per party, at a
|
|
153
|
+
* resource id keyed by the collection's blinded-index key
|
|
154
|
+
* (`connectionResourceId` in `@interop/wallet-core/connections`). It is the
|
|
155
|
+
* wallet's revocation index (each entry's `grants`) and its party names, so
|
|
156
|
+
* one reader would learn every party, its names and origins, and every
|
|
157
|
+
* capability delegated to it. Hence neither shareable nor grantable. Its only
|
|
158
|
+
* key-epoch recipient is the user key, and no party ever writes it. It is
|
|
159
|
+
* read and written directly, with no local replica and no sync feed.
|
|
150
160
|
*/
|
|
151
|
-
export const
|
|
152
|
-
collectionId:
|
|
153
|
-
name: '
|
|
161
|
+
export const CONNECTIONS_COLLECTION_SPEC = {
|
|
162
|
+
collectionId: CONNECTIONS_COLLECTION,
|
|
163
|
+
name: 'Connections',
|
|
154
164
|
idDerivation: 'random',
|
|
155
165
|
mutable: true,
|
|
156
166
|
encryption: 'edv',
|
|
157
167
|
isPublic: false,
|
|
158
|
-
shareable: false
|
|
168
|
+
shareable: false,
|
|
169
|
+
grantable: false
|
|
159
170
|
};
|
|
160
171
|
/**
|
|
161
172
|
* The `id` collection's provisioning attributes: plaintext (it holds only
|
|
@@ -165,7 +176,8 @@ export const ID_COLLECTION_SPEC = {
|
|
|
165
176
|
collectionId: ID_COLLECTION.id,
|
|
166
177
|
name: ID_COLLECTION.name,
|
|
167
178
|
encryption: 'plaintext',
|
|
168
|
-
isPublic: true
|
|
179
|
+
isPublic: true,
|
|
180
|
+
grantable: true
|
|
169
181
|
};
|
|
170
182
|
/**
|
|
171
183
|
* The `key-map` collection's provisioning attributes: plaintext (its resources
|
|
@@ -173,13 +185,15 @@ export const ID_COLLECTION_SPEC = {
|
|
|
173
185
|
* envelope) and capability-only -- never public, exactly so `id` can be
|
|
174
186
|
* world-readable without exposing key material. Its roster names a passphrase
|
|
175
187
|
* credential by its passphrase-derived key beside a wrap of the user key, so
|
|
176
|
-
* a third-party read grant on it is an offline guessing oracle
|
|
188
|
+
* a third-party read grant on it is an offline guessing oracle, which is why it
|
|
189
|
+
* is never grantable.
|
|
177
190
|
*/
|
|
178
191
|
export const KEY_MAP_COLLECTION_SPEC = {
|
|
179
192
|
collectionId: KEY_MAP_COLLECTION.id,
|
|
180
193
|
name: KEY_MAP_COLLECTION.name,
|
|
181
194
|
encryption: 'plaintext',
|
|
182
|
-
isPublic: false
|
|
195
|
+
isPublic: false,
|
|
196
|
+
grantable: false
|
|
183
197
|
};
|
|
184
198
|
/**
|
|
185
199
|
* The `unlock-methods` collection's provisioning attributes: plaintext on the
|
|
@@ -187,12 +201,14 @@ export const KEY_MAP_COLLECTION_SPEC = {
|
|
|
187
201
|
* itself, so the collection needs no EDV envelope) and capability-only. Read
|
|
188
202
|
* and written directly with the remote as the source of truth, under
|
|
189
203
|
* conditional writes; it gets no local replica and no background replication.
|
|
204
|
+
* Never grantable: it is the account's own unlock-method registry.
|
|
190
205
|
*/
|
|
191
206
|
export const UNLOCK_METHODS_COLLECTION_SPEC = {
|
|
192
207
|
collectionId: UNLOCK_METHODS_COLLECTION.id,
|
|
193
208
|
name: UNLOCK_METHODS_COLLECTION.name,
|
|
194
209
|
encryption: 'plaintext',
|
|
195
|
-
isPublic: false
|
|
210
|
+
isPublic: false,
|
|
211
|
+
grantable: false
|
|
196
212
|
};
|
|
197
213
|
/**
|
|
198
214
|
* The synced wallet Space collections, in provision order: the feeds a wallet
|
|
@@ -221,13 +237,13 @@ export const WALLET_SPACE_SYSTEM_SPECS = [
|
|
|
221
237
|
];
|
|
222
238
|
/**
|
|
223
239
|
* The full wallet Space layout -- every collection the provisioning wallet
|
|
224
|
-
* ensures: the synced feeds first, then the directly read
|
|
225
|
-
* the system collections. A Space provisioned from this roster
|
|
226
|
-
* matter which wallet app created it.
|
|
240
|
+
* ensures: the synced feeds first, then the directly read `connections`
|
|
241
|
+
* directory, then the system collections. A Space provisioned from this roster
|
|
242
|
+
* is identical no matter which wallet app created it.
|
|
227
243
|
*/
|
|
228
244
|
export const WALLET_SPACE_PROVISION_ROSTER = [
|
|
229
245
|
...WALLET_SPACE_SYNCED_SPECS,
|
|
230
|
-
|
|
246
|
+
CONNECTIONS_COLLECTION_SPEC,
|
|
231
247
|
...WALLET_SPACE_SYSTEM_SPECS
|
|
232
248
|
];
|
|
233
249
|
/**
|
|
@@ -290,16 +306,6 @@ export const USER_KEY_ROSTER_LOG_RESOURCE = 'user-key.jsonl';
|
|
|
290
306
|
* reads and writes exactly this sub-resource through the Collection handle.
|
|
291
307
|
*/
|
|
292
308
|
export const COLLECTION_HISTORY_LOG_SUBRESOURCE = 'meta/log';
|
|
293
|
-
/**
|
|
294
|
-
* The enrolled-client display labels, sibling of `keys.json` and
|
|
295
|
-
* `user-key.jsonl` in the same private `key-map` collection: a plain-JSON map
|
|
296
|
-
* from a client's signing-key multibase to its human-chosen label. Display
|
|
297
|
-
* metadata only -- the did:webvh document carries key material, never labels --
|
|
298
|
-
* and plaintext by the collection's convention: the storage host can read the
|
|
299
|
-
* labels, but it already serves the world-readable log that names every client
|
|
300
|
-
* key, so a label adds only the display name.
|
|
301
|
-
*/
|
|
302
|
-
export const CLIENT_LABELS_RESOURCE = 'client-labels.json';
|
|
303
309
|
/**
|
|
304
310
|
* The account's unlock-method registry, the single resource of the
|
|
305
311
|
* `unlock-methods` collection: the records naming which methods can unlock the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"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"}
|
package/dist/space/index.d.ts
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* WAS-enabled wallet apps share.
|
|
7
7
|
*
|
|
8
8
|
* - The shared collection ids and descriptive specs (`private-credentials`,
|
|
9
|
-
* `public-credentials`, `wallet-activity`, `app-connections
|
|
9
|
+
* `public-credentials`, `wallet-activity`, `app-connections`, and the
|
|
10
|
+
* directly read `connections` directory; the contacts
|
|
10
11
|
* identity contract
|
|
11
12
|
* stays in `@interop/social-core`, spread into the wallet-Space specs here),
|
|
12
13
|
* and the provisioning rosters that split them into synced feeds vs.
|
|
@@ -38,8 +39,8 @@
|
|
|
38
39
|
* ids, including the ceremonies still implemented app-side.
|
|
39
40
|
*/
|
|
40
41
|
export { deleteSpaceWithCapability } from './deleteSpace.js';
|
|
41
|
-
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_CONNECTIONS_COLLECTION,
|
|
42
|
-
export { ID_COLLECTION, KEY_MAP_COLLECTION, UNLOCK_METHODS_COLLECTION, KEYRING_COLLECTION, ID_COLLECTION_SPEC, KEY_MAP_COLLECTION_SPEC, UNLOCK_METHODS_COLLECTION_SPEC, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_LOG_RESOURCE, COLLECTION_HISTORY_LOG_SUBRESOURCE,
|
|
42
|
+
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_CONNECTIONS_COLLECTION, CONNECTIONS_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC, CONTACTS_SPACE_COLLECTION_SPEC, CONTACTS_HISTORY_SPACE_COLLECTION_SPEC, APP_CONNECTIONS_COLLECTION_SPEC, CONNECTIONS_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
43
|
+
export { ID_COLLECTION, KEY_MAP_COLLECTION, UNLOCK_METHODS_COLLECTION, KEYRING_COLLECTION, ID_COLLECTION_SPEC, KEY_MAP_COLLECTION_SPEC, UNLOCK_METHODS_COLLECTION_SPEC, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_LOG_RESOURCE, COLLECTION_HISTORY_LOG_SUBRESOURCE, UNLOCK_METHODS_RESOURCE, KEYRING_RESOURCE } from './collections.js';
|
|
43
44
|
export type { SpaceProvisionSpec, SpaceCollectionSpec } from './collections.js';
|
|
44
45
|
export { provisionWalletSpace } from './provisioning.js';
|
|
45
46
|
export { plaintextCollection } from './plaintextCollection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAC9B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,kCAAkC,EAClC,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,cAAc,EACd,aAAa,EACb,uBAAuB,EACxB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/space/index.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* WAS-enabled wallet apps share.
|
|
7
7
|
*
|
|
8
8
|
* - The shared collection ids and descriptive specs (`private-credentials`,
|
|
9
|
-
* `public-credentials`, `wallet-activity`, `app-connections
|
|
9
|
+
* `public-credentials`, `wallet-activity`, `app-connections`, and the
|
|
10
|
+
* directly read `connections` directory; the contacts
|
|
10
11
|
* identity contract
|
|
11
12
|
* stays in `@interop/social-core`, spread into the wallet-Space specs here),
|
|
12
13
|
* and the provisioning rosters that split them into synced feeds vs.
|
|
@@ -38,8 +39,8 @@
|
|
|
38
39
|
* ids, including the ceremonies still implemented app-side.
|
|
39
40
|
*/
|
|
40
41
|
export { deleteSpaceWithCapability } from './deleteSpace.js';
|
|
41
|
-
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_CONNECTIONS_COLLECTION,
|
|
42
|
-
export { ID_COLLECTION, KEY_MAP_COLLECTION, UNLOCK_METHODS_COLLECTION, KEYRING_COLLECTION, ID_COLLECTION_SPEC, KEY_MAP_COLLECTION_SPEC, UNLOCK_METHODS_COLLECTION_SPEC, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_LOG_RESOURCE, COLLECTION_HISTORY_LOG_SUBRESOURCE,
|
|
42
|
+
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_CONNECTIONS_COLLECTION, CONNECTIONS_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC, CONTACTS_SPACE_COLLECTION_SPEC, CONTACTS_HISTORY_SPACE_COLLECTION_SPEC, APP_CONNECTIONS_COLLECTION_SPEC, CONNECTIONS_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
43
|
+
export { ID_COLLECTION, KEY_MAP_COLLECTION, UNLOCK_METHODS_COLLECTION, KEYRING_COLLECTION, ID_COLLECTION_SPEC, KEY_MAP_COLLECTION_SPEC, UNLOCK_METHODS_COLLECTION_SPEC, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_LOG_RESOURCE, COLLECTION_HISTORY_LOG_SUBRESOURCE, UNLOCK_METHODS_RESOURCE, KEYRING_RESOURCE } from './collections.js';
|
|
43
44
|
export { provisionWalletSpace } from './provisioning.js';
|
|
44
45
|
export { plaintextCollection } from './plaintextCollection.js';
|
|
45
46
|
export { ACTIVITY_TYPE, addHistoryNewAccount, addHistorySpaceCreated, addHistoryCredentialCreated, addHistoryCredentialDeleted, addHistoryCredentialShared, addHistoryCredentialUnshared, addHistoryLogin, addHistoryGrant, addHistoryWalletLogin, addHistoryAppRevoke, addHistoryAgentRevoke, addHistoryClientRevoked, addHistoryGenerationCollected, addHistoryContentImported, addHistoryProfileCreated, addHistoryCollectionShared, addHistoryCollectionUnshared } from './activity.js';
|
package/dist/space/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/space/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAC9B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,kCAAkC,EAClC,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,eAAe,CAAA;AAOtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interop/wallet-core",
|
|
3
3
|
"description": "Shared wallet-domain logic (WAS sync engine core and wallet Space layout contracts) for Interop wallet apps.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.95.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@eslint/js": "^10.0.1",
|
|
39
39
|
"@interop/logger": "^0.2.0",
|
|
40
|
-
"@interop/storage-core": "^0.
|
|
41
|
-
"@interop/was-client": "^0.
|
|
40
|
+
"@interop/storage-core": "^0.25.0",
|
|
41
|
+
"@interop/was-client": "^0.81.0",
|
|
42
42
|
"@playwright/test": "^1.60.0",
|
|
43
43
|
"@types/node": "^26.0.1",
|
|
44
44
|
"@vitest/coverage-v8": "^4.1.7",
|
|
@@ -199,11 +199,11 @@
|
|
|
199
199
|
"import": "./dist/clients/index.js",
|
|
200
200
|
"default": "./dist/clients/index.js"
|
|
201
201
|
},
|
|
202
|
-
"./
|
|
203
|
-
"types": "./dist/
|
|
204
|
-
"react-native": "./dist/
|
|
205
|
-
"import": "./dist/
|
|
206
|
-
"default": "./dist/
|
|
202
|
+
"./connections": {
|
|
203
|
+
"types": "./dist/connections/index.d.ts",
|
|
204
|
+
"react-native": "./dist/connections/index.js",
|
|
205
|
+
"import": "./dist/connections/index.js",
|
|
206
|
+
"default": "./dist/connections/index.js"
|
|
207
207
|
},
|
|
208
208
|
"./menders": {
|
|
209
209
|
"types": "./dist/menders/index.d.ts",
|