@interop/wallet-core 0.20.0 → 0.21.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/dist/space/collections.d.ts +64 -30
- package/dist/space/collections.d.ts.map +1 -1
- package/dist/space/collections.js +86 -10
- package/dist/space/collections.js.map +1 -1
- package/dist/space/index.d.ts +10 -5
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +9 -4
- package/dist/space/index.js.map +1 -1
- package/dist/space/provisioning.d.ts +35 -0
- package/dist/space/provisioning.d.ts.map +1 -0
- package/dist/space/provisioning.js +63 -0
- package/dist/space/provisioning.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* The shared wallet Space layout: the collection ids and descriptive specs both
|
|
6
|
-
* wallet replicas provision, so a credential written by one is found and read by
|
|
7
|
-
* the other. Both replicas MUST agree on every field here -- `collectionId`
|
|
8
|
-
* decides where a document lands on the server, `idDerivation` and `mutable`
|
|
9
|
-
* decide whether it is overwritten in place or only appended, and `encryption` /
|
|
10
|
-
* `isPublic` decide how it is stored and who can read it. A disagreement splits
|
|
11
|
-
* the feed into separate or incompatibly-shaped collections that never converge.
|
|
12
|
-
*
|
|
13
|
-
* The contacts collections (`contacts`, `contacts-history`) are NOT declared
|
|
14
|
-
* here: their ids and specs live in `@interop/social-core`
|
|
15
|
-
* (`CONTACTS_COLLECTION_SPEC` / `CONTACTS_HISTORY_COLLECTION_SPEC`), which apps
|
|
16
|
-
* import directly. The field vocabulary below mirrors that spec.
|
|
17
|
-
*/
|
|
18
1
|
/**
|
|
19
2
|
* The app-neutral display name every wallet passes when provisioning the
|
|
20
3
|
* shared Space (`space.configure({ name })` re-runs on provisioning, so a
|
|
@@ -34,27 +17,37 @@ export declare const PUBLIC_CREDENTIALS_COLLECTION = "public-credentials";
|
|
|
34
17
|
*/
|
|
35
18
|
export declare const WALLET_ACTIVITY_COLLECTION = "wallet-activity";
|
|
36
19
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
20
|
+
* What provisioning a wallet Space collection needs: the collection id, the
|
|
21
|
+
* friendly display name both wallets pass as the server-side collection name,
|
|
22
|
+
* and the storage attributes --
|
|
40
23
|
*
|
|
41
|
-
* - `idDerivation` -- `'content'` for an append-only, content-addressed log (the
|
|
42
|
-
* id IS the hash of the stored body) or `'random'` for a mutable head (a
|
|
43
|
-
* stable id whose body is overwritten).
|
|
44
|
-
* - `mutable` -- whether a document is overwritten in place (`true`) or only
|
|
45
|
-
* ever appended (`false`).
|
|
46
24
|
* - `encryption` -- `'edv'` stores each document as an EDV envelope; `'plaintext'`
|
|
47
25
|
* stores it verbatim.
|
|
48
26
|
* - `isPublic` -- whether the collection is granted collection-level world read
|
|
49
27
|
* on the server.
|
|
50
28
|
*/
|
|
51
|
-
export interface
|
|
29
|
+
export interface SpaceProvisionSpec {
|
|
52
30
|
collectionId: string;
|
|
53
|
-
|
|
54
|
-
mutable: boolean;
|
|
31
|
+
name: string;
|
|
55
32
|
encryption: 'edv' | 'plaintext';
|
|
56
33
|
isPublic: boolean;
|
|
57
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* A declarative descriptor of a synced wallet Space collection: the
|
|
37
|
+
* provisioning attributes plus the document-identity contract the replication
|
|
38
|
+
* engines need, aligned with `@interop/social-core`'s
|
|
39
|
+
* `CONTACTS_COLLECTION_SPEC` vocabulary --
|
|
40
|
+
*
|
|
41
|
+
* - `idDerivation` -- `'content'` for an append-only, content-addressed log (the
|
|
42
|
+
* id IS the hash of the stored body) or `'random'` for a mutable head (a
|
|
43
|
+
* stable id whose body is overwritten).
|
|
44
|
+
* - `mutable` -- whether a document is overwritten in place (`true`) or only
|
|
45
|
+
* ever appended (`false`).
|
|
46
|
+
*/
|
|
47
|
+
export interface SpaceCollectionSpec extends SpaceProvisionSpec {
|
|
48
|
+
idDerivation: 'content' | 'random';
|
|
49
|
+
mutable: boolean;
|
|
50
|
+
}
|
|
58
51
|
/**
|
|
59
52
|
* The immutable credential replica: each credential stored as an EDV envelope,
|
|
60
53
|
* addressed by the envelope's content hash, never overwritten, never public.
|
|
@@ -73,9 +66,19 @@ export declare const PUBLIC_CREDENTIALS_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
|
73
66
|
*/
|
|
74
67
|
export declare const WALLET_ACTIVITY_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
75
68
|
/**
|
|
76
|
-
* The
|
|
69
|
+
* The contacts head collection as it sits in the wallet Space: the identity
|
|
70
|
+
* contract (`collectionId`, `idDerivation`, `mutable`) spread from
|
|
71
|
+
* `@interop/social-core`'s `CONTACTS_COLLECTION_SPEC` (which stays its owner),
|
|
72
|
+
* plus the storage attributes that are wallet-Space layout -- each contact a
|
|
73
|
+
* mutable EDV envelope, never public.
|
|
77
74
|
*/
|
|
78
|
-
export declare const
|
|
75
|
+
export declare const CONTACTS_SPACE_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
76
|
+
/**
|
|
77
|
+
* The contacts history log in the wallet Space: identity contract spread from
|
|
78
|
+
* `@interop/social-core`'s `CONTACTS_HISTORY_COLLECTION_SPEC`, stored as
|
|
79
|
+
* append-only, content-addressed EDV envelopes, never public.
|
|
80
|
+
*/
|
|
81
|
+
export declare const CONTACTS_HISTORY_SPACE_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
79
82
|
/**
|
|
80
83
|
* The system collections and resource names that carry an account's identity
|
|
81
84
|
* and key material. They sit deliberately OUTSIDE the synced collection specs
|
|
@@ -106,6 +109,37 @@ export declare const KEYRING_COLLECTION: {
|
|
|
106
109
|
id: string;
|
|
107
110
|
name: string;
|
|
108
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* The `id` collection's provisioning attributes: plaintext (it holds only
|
|
114
|
+
* world-readable DID artifacts) with a collection-level public-read grant.
|
|
115
|
+
*/
|
|
116
|
+
export declare const ID_COLLECTION_SPEC: SpaceProvisionSpec;
|
|
117
|
+
/**
|
|
118
|
+
* The `key-map` collection's provisioning attributes: plaintext (its resources
|
|
119
|
+
* are wrap-sets and key-id maps, protected by capability, not by an EDV
|
|
120
|
+
* envelope) and capability-only -- never public, exactly so `id` can be
|
|
121
|
+
* world-readable without exposing key material.
|
|
122
|
+
*/
|
|
123
|
+
export declare const KEY_MAP_COLLECTION_SPEC: SpaceProvisionSpec;
|
|
124
|
+
/**
|
|
125
|
+
* The synced wallet Space collections, in provision order: the feeds a wallet
|
|
126
|
+
* both provisions and replicates (each gets a local replica and a sync engine).
|
|
127
|
+
*/
|
|
128
|
+
export declare const WALLET_SPACE_SYNCED_SPECS: SpaceCollectionSpec[];
|
|
129
|
+
/**
|
|
130
|
+
* The provisioned-but-not-synced system collections: part of every wallet
|
|
131
|
+
* Space's layout, but no wallet mints a replication feed for them -- their
|
|
132
|
+
* resources (`did.json`, `keys.json`, `user-key.json`, ...) are read and
|
|
133
|
+
* written directly. `keyring` is deliberately absent: it lives in the separate
|
|
134
|
+
* unlock Space, never in the wallet data Space this roster lays out.
|
|
135
|
+
*/
|
|
136
|
+
export declare const WALLET_SPACE_SYSTEM_SPECS: SpaceProvisionSpec[];
|
|
137
|
+
/**
|
|
138
|
+
* The full wallet Space layout -- every collection the provisioning wallet
|
|
139
|
+
* ensures, synced feeds first. A Space provisioned from this roster is
|
|
140
|
+
* identical no matter which wallet app created it.
|
|
141
|
+
*/
|
|
142
|
+
export declare const WALLET_SPACE_PROVISION_ROSTER: SpaceProvisionSpec[];
|
|
109
143
|
/**
|
|
110
144
|
* The world-readable DID document, served as `application/did+json`.
|
|
111
145
|
*/
|
|
@@ -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":"AAyBA;;;;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;AAE3D;;;;;;;;;GASG;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;CAClB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,EAAE,mBAOjD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,EAAE,mBAOhD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAO7C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,mBAK5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,EAAE,mBAKpD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa;;;CAAiC,CAAA;AAC3D,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AACpE,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AAEpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAKrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAM1D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAGzD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,EAG7D,CAAA;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;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,kBAAkB,CAAA;AACvD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAA"}
|
|
@@ -10,11 +10,15 @@
|
|
|
10
10
|
* `isPublic` decide how it is stored and who can read it. A disagreement splits
|
|
11
11
|
* the feed into separate or incompatibly-shaped collections that never converge.
|
|
12
12
|
*
|
|
13
|
-
* The contacts collections (`contacts`, `contacts-history`)
|
|
14
|
-
*
|
|
15
|
-
* (`CONTACTS_COLLECTION_SPEC` / `CONTACTS_HISTORY_COLLECTION_SPEC`)
|
|
16
|
-
*
|
|
13
|
+
* The contacts collections (`contacts`, `contacts-history`) keep their identity
|
|
14
|
+
* contract (`collectionId`, `idDerivation`, `mutable`) in `@interop/social-core`
|
|
15
|
+
* (`CONTACTS_COLLECTION_SPEC` / `CONTACTS_HISTORY_COLLECTION_SPEC`) -- the field
|
|
16
|
+
* vocabulary below mirrors that spec. This module does not redeclare those
|
|
17
|
+
* fields; the wallet-Space rosters spread them in and add only the storage
|
|
18
|
+
* attributes that are wallet-Space layout (display name, `encryption`,
|
|
19
|
+
* `isPublic`).
|
|
17
20
|
*/
|
|
21
|
+
import { CONTACTS_COLLECTION_SPEC, CONTACTS_HISTORY_COLLECTION_SPEC } from '@interop/social-core';
|
|
18
22
|
/**
|
|
19
23
|
* The app-neutral display name every wallet passes when provisioning the
|
|
20
24
|
* shared Space (`space.configure({ name })` re-runs on provisioning, so a
|
|
@@ -39,6 +43,7 @@ export const WALLET_ACTIVITY_COLLECTION = 'wallet-activity';
|
|
|
39
43
|
*/
|
|
40
44
|
export const PRIVATE_CREDENTIALS_COLLECTION_SPEC = {
|
|
41
45
|
collectionId: PRIVATE_CREDENTIALS_COLLECTION,
|
|
46
|
+
name: 'Verifiable Credentials',
|
|
42
47
|
idDerivation: 'content',
|
|
43
48
|
mutable: false,
|
|
44
49
|
encryption: 'edv',
|
|
@@ -51,6 +56,7 @@ export const PRIVATE_CREDENTIALS_COLLECTION_SPEC = {
|
|
|
51
56
|
*/
|
|
52
57
|
export const PUBLIC_CREDENTIALS_COLLECTION_SPEC = {
|
|
53
58
|
collectionId: PUBLIC_CREDENTIALS_COLLECTION,
|
|
59
|
+
name: 'Verifiable Credentials (Publicly Shared)',
|
|
54
60
|
idDerivation: 'content',
|
|
55
61
|
mutable: false,
|
|
56
62
|
encryption: 'plaintext',
|
|
@@ -63,19 +69,36 @@ export const PUBLIC_CREDENTIALS_COLLECTION_SPEC = {
|
|
|
63
69
|
*/
|
|
64
70
|
export const WALLET_ACTIVITY_COLLECTION_SPEC = {
|
|
65
71
|
collectionId: WALLET_ACTIVITY_COLLECTION,
|
|
72
|
+
name: 'Wallet Activity Log',
|
|
66
73
|
idDerivation: 'content',
|
|
67
74
|
mutable: false,
|
|
68
75
|
encryption: 'edv',
|
|
69
76
|
isPublic: false
|
|
70
77
|
};
|
|
71
78
|
/**
|
|
72
|
-
* The
|
|
79
|
+
* The contacts head collection as it sits in the wallet Space: the identity
|
|
80
|
+
* contract (`collectionId`, `idDerivation`, `mutable`) spread from
|
|
81
|
+
* `@interop/social-core`'s `CONTACTS_COLLECTION_SPEC` (which stays its owner),
|
|
82
|
+
* plus the storage attributes that are wallet-Space layout -- each contact a
|
|
83
|
+
* mutable EDV envelope, never public.
|
|
73
84
|
*/
|
|
74
|
-
export const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
85
|
+
export const CONTACTS_SPACE_COLLECTION_SPEC = {
|
|
86
|
+
...CONTACTS_COLLECTION_SPEC,
|
|
87
|
+
name: 'Contacts',
|
|
88
|
+
encryption: 'edv',
|
|
89
|
+
isPublic: false
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* The contacts history log in the wallet Space: identity contract spread from
|
|
93
|
+
* `@interop/social-core`'s `CONTACTS_HISTORY_COLLECTION_SPEC`, stored as
|
|
94
|
+
* append-only, content-addressed EDV envelopes, never public.
|
|
95
|
+
*/
|
|
96
|
+
export const CONTACTS_HISTORY_SPACE_COLLECTION_SPEC = {
|
|
97
|
+
...CONTACTS_HISTORY_COLLECTION_SPEC,
|
|
98
|
+
name: 'Contacts History',
|
|
99
|
+
encryption: 'edv',
|
|
100
|
+
isPublic: false
|
|
101
|
+
};
|
|
79
102
|
/**
|
|
80
103
|
* The system collections and resource names that carry an account's identity
|
|
81
104
|
* and key material. They sit deliberately OUTSIDE the synced collection specs
|
|
@@ -97,6 +120,59 @@ export const WALLET_SPACE_COLLECTION_SPECS = [
|
|
|
97
120
|
export const ID_COLLECTION = { id: 'id', name: 'Identity' };
|
|
98
121
|
export const KEY_MAP_COLLECTION = { id: 'key-map', name: 'Key Map' };
|
|
99
122
|
export const KEYRING_COLLECTION = { id: 'keyring', name: 'Keyring' };
|
|
123
|
+
/**
|
|
124
|
+
* The `id` collection's provisioning attributes: plaintext (it holds only
|
|
125
|
+
* world-readable DID artifacts) with a collection-level public-read grant.
|
|
126
|
+
*/
|
|
127
|
+
export const ID_COLLECTION_SPEC = {
|
|
128
|
+
collectionId: ID_COLLECTION.id,
|
|
129
|
+
name: ID_COLLECTION.name,
|
|
130
|
+
encryption: 'plaintext',
|
|
131
|
+
isPublic: true
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* The `key-map` collection's provisioning attributes: plaintext (its resources
|
|
135
|
+
* are wrap-sets and key-id maps, protected by capability, not by an EDV
|
|
136
|
+
* envelope) and capability-only -- never public, exactly so `id` can be
|
|
137
|
+
* world-readable without exposing key material.
|
|
138
|
+
*/
|
|
139
|
+
export const KEY_MAP_COLLECTION_SPEC = {
|
|
140
|
+
collectionId: KEY_MAP_COLLECTION.id,
|
|
141
|
+
name: KEY_MAP_COLLECTION.name,
|
|
142
|
+
encryption: 'plaintext',
|
|
143
|
+
isPublic: false
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* The synced wallet Space collections, in provision order: the feeds a wallet
|
|
147
|
+
* both provisions and replicates (each gets a local replica and a sync engine).
|
|
148
|
+
*/
|
|
149
|
+
export const WALLET_SPACE_SYNCED_SPECS = [
|
|
150
|
+
PRIVATE_CREDENTIALS_COLLECTION_SPEC,
|
|
151
|
+
PUBLIC_CREDENTIALS_COLLECTION_SPEC,
|
|
152
|
+
WALLET_ACTIVITY_COLLECTION_SPEC,
|
|
153
|
+
CONTACTS_SPACE_COLLECTION_SPEC,
|
|
154
|
+
CONTACTS_HISTORY_SPACE_COLLECTION_SPEC
|
|
155
|
+
];
|
|
156
|
+
/**
|
|
157
|
+
* The provisioned-but-not-synced system collections: part of every wallet
|
|
158
|
+
* Space's layout, but no wallet mints a replication feed for them -- their
|
|
159
|
+
* resources (`did.json`, `keys.json`, `user-key.json`, ...) are read and
|
|
160
|
+
* written directly. `keyring` is deliberately absent: it lives in the separate
|
|
161
|
+
* unlock Space, never in the wallet data Space this roster lays out.
|
|
162
|
+
*/
|
|
163
|
+
export const WALLET_SPACE_SYSTEM_SPECS = [
|
|
164
|
+
ID_COLLECTION_SPEC,
|
|
165
|
+
KEY_MAP_COLLECTION_SPEC
|
|
166
|
+
];
|
|
167
|
+
/**
|
|
168
|
+
* The full wallet Space layout -- every collection the provisioning wallet
|
|
169
|
+
* ensures, synced feeds first. A Space provisioned from this roster is
|
|
170
|
+
* identical no matter which wallet app created it.
|
|
171
|
+
*/
|
|
172
|
+
export const WALLET_SPACE_PROVISION_ROSTER = [
|
|
173
|
+
...WALLET_SPACE_SYNCED_SPECS,
|
|
174
|
+
...WALLET_SPACE_SYSTEM_SPECS
|
|
175
|
+
];
|
|
100
176
|
/**
|
|
101
177
|
* The world-readable DID document, served as `application/did+json`.
|
|
102
178
|
*/
|
|
@@ -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":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,sBAAsB,CAAA;AAE7B;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,qBAAqB,CAAA;AACnE;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAA;AACjE;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAA;AAoC3D;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAwB;IACtE,YAAY,EAAE,8BAA8B;IAC5C,IAAI,EAAE,wBAAwB;IAC9B,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAwB;IACrE,YAAY,EAAE,6BAA6B;IAC3C,IAAI,EAAE,0CAA0C;IAChD,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,IAAI;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAwB;IAClE,YAAY,EAAE,0BAA0B;IACxC,IAAI,EAAE,qBAAqB;IAC3B,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAwB;IACjE,GAAG,wBAAwB;IAC3B,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAwB;IACzE,GAAG,gCAAgC;IACnC,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAuB;IACpD,YAAY,EAAE,aAAa,CAAC,EAAE;IAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;IACxB,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,IAAI;CACf,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACzD,YAAY,EAAE,kBAAkB,CAAC,EAAE;IACnC,IAAI,EAAE,kBAAkB,CAAC,IAAI;IAC7B,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA0B;IAC9D,mCAAmC;IACnC,kCAAkC;IAClC,+BAA+B;IAC/B,8BAA8B;IAC9B,sCAAsC;CACvC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,kBAAkB;IAClB,uBAAuB;CACxB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAyB;IACjE,GAAG,yBAAyB;IAC5B,GAAG,yBAAyB;CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAA;AAC/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAA;AAC3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAC5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAA;AACvD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAA;AAC1D;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAA"}
|
package/dist/space/index.d.ts
CHANGED
|
@@ -6,11 +6,15 @@
|
|
|
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
|
|
10
|
-
* `@interop/social-core
|
|
9
|
+
* `public-credentials`, `wallet-activity`; the contacts identity contract
|
|
10
|
+
* stays in `@interop/social-core`, spread into the wallet-Space specs here),
|
|
11
|
+
* and the provisioning rosters that split them into synced feeds vs.
|
|
12
|
+
* provisioned-but-not-synced system collections.
|
|
11
13
|
* - The system collections and resource names that carry identity and key
|
|
12
14
|
* material (`id`, `key-map`, `keyring`; `did.json`, `did.jsonl`, `keys.json`,
|
|
13
15
|
* `user-key.json`, `keyring.json`) -- outside the synced set, never replicated.
|
|
16
|
+
* - `provisionWalletSpace`, the one-shot full-roster provisioner the
|
|
17
|
+
* Space-creating wallet runs.
|
|
14
18
|
* - The `wallet-activity` wire shape (`WalletActivity`) and the pure
|
|
15
19
|
* `addHistory*` payload builders.
|
|
16
20
|
* - `publicCredentialUrl`, the world-readable shared-credential URL both
|
|
@@ -18,9 +22,10 @@
|
|
|
18
22
|
* - The `was-link` QR hand-off contract (`buildWasLinkPayload` /
|
|
19
23
|
* `parseWasLinkPayload` / `encodeWasLinkSecret`).
|
|
20
24
|
*/
|
|
21
|
-
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC,
|
|
22
|
-
export { ID_COLLECTION, KEY_MAP_COLLECTION, KEYRING_COLLECTION, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_RESOURCE, CLIENT_LABELS_RESOURCE, KEYRING_RESOURCE } from './collections.js';
|
|
23
|
-
export type { SpaceCollectionSpec } from './collections.js';
|
|
25
|
+
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC, CONTACTS_SPACE_COLLECTION_SPEC, CONTACTS_HISTORY_SPACE_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
26
|
+
export { ID_COLLECTION, KEY_MAP_COLLECTION, KEYRING_COLLECTION, ID_COLLECTION_SPEC, KEY_MAP_COLLECTION_SPEC, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_RESOURCE, CLIENT_LABELS_RESOURCE, KEYRING_RESOURCE } from './collections.js';
|
|
27
|
+
export type { SpaceProvisionSpec, SpaceCollectionSpec } from './collections.js';
|
|
28
|
+
export { provisionWalletSpace } from './provisioning.js';
|
|
24
29
|
export { ACTIVITY_TYPE, addHistoryNewAccount, addHistorySpaceCreated, addHistoryCredentialCreated, addHistoryCredentialDeleted, addHistoryCredentialShared, addHistoryCredentialUnshared, addHistoryLogin, addHistoryWalletLogin, addHistoryAppRevoke, addHistoryClientRevoked } from './activity.js';
|
|
25
30
|
export type { WalletActivity, ActivityGrant } from './activity.js';
|
|
26
31
|
export { publicCredentialUrl } from './publicLink.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;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,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,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/space/index.js
CHANGED
|
@@ -6,11 +6,15 @@
|
|
|
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
|
|
10
|
-
* `@interop/social-core
|
|
9
|
+
* `public-credentials`, `wallet-activity`; the contacts identity contract
|
|
10
|
+
* stays in `@interop/social-core`, spread into the wallet-Space specs here),
|
|
11
|
+
* and the provisioning rosters that split them into synced feeds vs.
|
|
12
|
+
* provisioned-but-not-synced system collections.
|
|
11
13
|
* - The system collections and resource names that carry identity and key
|
|
12
14
|
* material (`id`, `key-map`, `keyring`; `did.json`, `did.jsonl`, `keys.json`,
|
|
13
15
|
* `user-key.json`, `keyring.json`) -- outside the synced set, never replicated.
|
|
16
|
+
* - `provisionWalletSpace`, the one-shot full-roster provisioner the
|
|
17
|
+
* Space-creating wallet runs.
|
|
14
18
|
* - The `wallet-activity` wire shape (`WalletActivity`) and the pure
|
|
15
19
|
* `addHistory*` payload builders.
|
|
16
20
|
* - `publicCredentialUrl`, the world-readable shared-credential URL both
|
|
@@ -18,8 +22,9 @@
|
|
|
18
22
|
* - The `was-link` QR hand-off contract (`buildWasLinkPayload` /
|
|
19
23
|
* `parseWasLinkPayload` / `encodeWasLinkSecret`).
|
|
20
24
|
*/
|
|
21
|
-
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC,
|
|
22
|
-
export { ID_COLLECTION, KEY_MAP_COLLECTION, KEYRING_COLLECTION, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_RESOURCE, CLIENT_LABELS_RESOURCE, KEYRING_RESOURCE } from './collections.js';
|
|
25
|
+
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC, CONTACTS_SPACE_COLLECTION_SPEC, CONTACTS_HISTORY_SPACE_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
26
|
+
export { ID_COLLECTION, KEY_MAP_COLLECTION, KEYRING_COLLECTION, ID_COLLECTION_SPEC, KEY_MAP_COLLECTION_SPEC, DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, DID_KEYS_RESOURCE, USER_KEY_ROSTER_RESOURCE, CLIENT_LABELS_RESOURCE, KEYRING_RESOURCE } from './collections.js';
|
|
27
|
+
export { provisionWalletSpace } from './provisioning.js';
|
|
23
28
|
export { ACTIVITY_TYPE, addHistoryNewAccount, addHistorySpaceCreated, addHistoryCredentialCreated, addHistoryCredentialDeleted, addHistoryCredentialShared, addHistoryCredentialUnshared, addHistoryLogin, addHistoryWalletLogin, addHistoryAppRevoke, addHistoryClientRevoked } from './activity.js';
|
|
24
29
|
export { publicCredentialUrl } from './publicLink.js';
|
|
25
30
|
export { encodeWasLinkSecret, buildWasLinkPayload, parseWasLinkPayload } from './wasLink.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;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* One-shot wallet Space provisioning: the single mechanism both wallet apps run
|
|
6
|
+
* when they are the wallet that creates (or re-ensures) a Space, walking the
|
|
7
|
+
* full `WALLET_SPACE_PROVISION_ROSTER` -- the synced feeds plus the non-synced
|
|
8
|
+
* system collections (`id`, `key-map`) -- so a Space's layout never depends on
|
|
9
|
+
* which app happened to provision it.
|
|
10
|
+
*/
|
|
11
|
+
import type { WasClient } from '@interop/was-client';
|
|
12
|
+
/**
|
|
13
|
+
* Ensures the controller's Space exists and every collection in the wallet
|
|
14
|
+
* Space roster is configured, concurrently -- each collection depends only on
|
|
15
|
+
* the Space existing, and every step is an idempotent upsert, so an interrupted
|
|
16
|
+
* run is completed by simply re-running. The Space is (re)configured with the
|
|
17
|
+
* app-neutral `WALLET_SPACE_NAME` and each collection with its roster display
|
|
18
|
+
* name. Runs full-tier -- the client invokes its own root capability -- so this
|
|
19
|
+
* belongs only in the wallet that holds the Space's controller; an enrolled
|
|
20
|
+
* client joining a Space another wallet provisioned must not call it (a
|
|
21
|
+
* re-declaration could clobber collection configuration other clients depend
|
|
22
|
+
* on).
|
|
23
|
+
*
|
|
24
|
+
* @param options {object}
|
|
25
|
+
* @param options.was {WasClient}
|
|
26
|
+
* @param options.spaceId {string}
|
|
27
|
+
* @param options.controllerDid {string} the Space controller
|
|
28
|
+
* @returns {Promise<void>}
|
|
29
|
+
*/
|
|
30
|
+
export declare function provisionWalletSpace({ was, spaceId, controllerDid }: {
|
|
31
|
+
was: WasClient;
|
|
32
|
+
spaceId: string;
|
|
33
|
+
controllerDid: string;
|
|
34
|
+
}): Promise<void>;
|
|
35
|
+
//# sourceMappingURL=provisioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../src/space/provisioning.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AASpD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,OAAO,EACP,aAAa,EACd,EAAE;IACD,GAAG,EAAE,SAAS,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ensureSpaceAndCollection } from '@interop/was-client/sync';
|
|
2
|
+
import { WALLET_SPACE_NAME, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
3
|
+
/**
|
|
4
|
+
* Ensures the controller's Space exists and every collection in the wallet
|
|
5
|
+
* Space roster is configured, concurrently -- each collection depends only on
|
|
6
|
+
* the Space existing, and every step is an idempotent upsert, so an interrupted
|
|
7
|
+
* run is completed by simply re-running. The Space is (re)configured with the
|
|
8
|
+
* app-neutral `WALLET_SPACE_NAME` and each collection with its roster display
|
|
9
|
+
* name. Runs full-tier -- the client invokes its own root capability -- so this
|
|
10
|
+
* belongs only in the wallet that holds the Space's controller; an enrolled
|
|
11
|
+
* client joining a Space another wallet provisioned must not call it (a
|
|
12
|
+
* re-declaration could clobber collection configuration other clients depend
|
|
13
|
+
* on).
|
|
14
|
+
*
|
|
15
|
+
* @param options {object}
|
|
16
|
+
* @param options.was {WasClient}
|
|
17
|
+
* @param options.spaceId {string}
|
|
18
|
+
* @param options.controllerDid {string} the Space controller
|
|
19
|
+
* @returns {Promise<void>}
|
|
20
|
+
*/
|
|
21
|
+
export async function provisionWalletSpace({ was, spaceId, controllerDid }) {
|
|
22
|
+
await Promise.all(WALLET_SPACE_PROVISION_ROSTER.map(spec => ensureCollection({ was, spaceId, controllerDid, spec })));
|
|
23
|
+
}
|
|
24
|
+
async function ensureCollection({ was, spaceId, controllerDid, spec: { collectionId, name, encryption, isPublic } }) {
|
|
25
|
+
try {
|
|
26
|
+
await ensureSpaceAndCollection({
|
|
27
|
+
was,
|
|
28
|
+
spaceId,
|
|
29
|
+
controllerDid,
|
|
30
|
+
collectionId,
|
|
31
|
+
collectionName: name,
|
|
32
|
+
encryption,
|
|
33
|
+
isPublic,
|
|
34
|
+
spaceName: WALLET_SPACE_NAME
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
// An encrypted collection whose descriptor already carries key epochs (a
|
|
39
|
+
// share, or a recovery escrow) refuses the bare `edv` re-declaration: the
|
|
40
|
+
// PUT would drop the append-only epochs and the server rejects it. A
|
|
41
|
+
// name-only configure merges the current description forward, re-stating
|
|
42
|
+
// the standing descriptor (epochs included) verbatim -- the idempotent form
|
|
43
|
+
// of "ensure it exists". The original error is still logged on a successful
|
|
44
|
+
// retry: the retry also masks failures that were never the epoch refusal
|
|
45
|
+
// (including a failed Space-description PUT, which `ensureSpaceAndCollection`
|
|
46
|
+
// performs FIRST), and those should stay visible even when the narrower
|
|
47
|
+
// configure happens to land.
|
|
48
|
+
if (encryption === 'edv') {
|
|
49
|
+
try {
|
|
50
|
+
await was.space(spaceId).collection(collectionId).configure({ name });
|
|
51
|
+
console.warn(`Collection "${collectionId}" was ensured via the name-only retry; ` +
|
|
52
|
+
'the full ensure had failed with:', err);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Fall through to the wrapped throw below, keeping the original
|
|
57
|
+
// (full-ensure) error as the cause.
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
throw new Error(`Error provisioning collection "${collectionId}" in space "${spaceId}".`, { cause: err });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=provisioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisioning.js","sourceRoot":"","sources":["../../src/space/provisioning.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAA;AAGzB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,GAAG,EACH,OAAO,EACP,aAAa,EAKd;IACC,MAAM,OAAO,CAAC,GAAG,CACf,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACvC,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CACxD,CACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,EAC9B,GAAG,EACH,OAAO,EACP,aAAa,EACb,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAMnD;IACC,IAAI,CAAC;QACH,MAAM,wBAAwB,CAAC;YAC7B,GAAG;YACH,OAAO;YACP,aAAa;YACb,YAAY;YACZ,cAAc,EAAE,IAAI;YACpB,UAAU;YACV,QAAQ;YACR,SAAS,EAAE,iBAAiB;SAC7B,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,8EAA8E;QAC9E,wEAAwE;QACxE,6BAA6B;QAC7B,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrE,OAAO,CAAC,IAAI,CACV,eAAe,YAAY,yCAAyC;oBAClE,kCAAkC,EACpC,GAAG,CACJ,CAAA;gBACD,OAAM;YACR,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;gBAChE,oCAAoC;YACtC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,kCAAkC,YAAY,eAAe,OAAO,IAAI,EACxE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;AACH,CAAC"}
|
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.21.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|