@interop/wallet-core 0.101.1 → 0.104.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 +36 -17
- package/dist/audiences/audienceGrant.d.ts +49 -0
- package/dist/audiences/audienceGrant.d.ts.map +1 -0
- package/dist/audiences/audienceGrant.js +46 -0
- package/dist/audiences/audienceGrant.js.map +1 -0
- package/dist/audiences/index.d.ts +10 -0
- package/dist/audiences/index.d.ts.map +1 -0
- package/dist/audiences/index.js +10 -0
- package/dist/audiences/index.js.map +1 -0
- package/dist/clientAnnex/grantRevocation.d.ts +0 -18
- package/dist/clientAnnex/grantRevocation.d.ts.map +1 -1
- package/dist/clientAnnex/grantRevocation.js +2 -40
- package/dist/clientAnnex/grantRevocation.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +2 -1
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +2 -1
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +4 -42
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +10 -65
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +3 -1
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/connections/didKey.d.ts +27 -0
- package/dist/connections/didKey.d.ts.map +1 -1
- package/dist/connections/didKey.js +42 -6
- package/dist/connections/didKey.js.map +1 -1
- package/dist/connections/entry.d.ts +95 -13
- package/dist/connections/entry.d.ts.map +1 -1
- package/dist/connections/entry.js +102 -16
- package/dist/connections/entry.js.map +1 -1
- package/dist/connections/grantProof.d.ts +64 -0
- package/dist/connections/grantProof.d.ts.map +1 -0
- package/dist/connections/grantProof.js +195 -0
- package/dist/connections/grantProof.js.map +1 -0
- package/dist/connections/grants.d.ts +225 -3
- package/dist/connections/grants.d.ts.map +1 -1
- package/dist/connections/grants.js +293 -8
- package/dist/connections/grants.js.map +1 -1
- package/dist/connections/index.d.ts +22 -8
- package/dist/connections/index.d.ts.map +1 -1
- package/dist/connections/index.js +19 -6
- package/dist/connections/index.js.map +1 -1
- package/dist/connections/read.d.ts.map +1 -1
- package/dist/connections/read.js +2 -1
- package/dist/connections/read.js.map +1 -1
- package/dist/connections/resourceId.d.ts +33 -0
- package/dist/connections/resourceId.d.ts.map +1 -1
- package/dist/connections/resourceId.js +88 -8
- package/dist/connections/resourceId.js.map +1 -1
- package/dist/connections/upsert.d.ts +252 -7
- package/dist/connections/upsert.d.ts.map +1 -1
- package/dist/connections/upsert.js +674 -41
- package/dist/connections/upsert.js.map +1 -1
- package/dist/connections/writers.js +2 -1
- package/dist/connections/writers.js.map +1 -1
- package/dist/descriptors/index.d.ts +5 -0
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +5 -0
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +9 -4
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +13 -6
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/jsonObject.d.ts +16 -0
- package/dist/jsonObject.d.ts.map +1 -0
- package/dist/jsonObject.js +18 -0
- package/dist/jsonObject.js.map +1 -0
- package/dist/keys/index.d.ts +13 -9
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +11 -7
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/userKeyCascade.d.ts +46 -0
- package/dist/keys/userKeyCascade.d.ts.map +1 -1
- package/dist/keys/userKeyCascade.js +153 -65
- package/dist/keys/userKeyCascade.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +60 -7
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +165 -47
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +1 -0
- package/dist/keys/userKeyRosterCascade.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 +20 -4
- package/dist/menders/ids.js.map +1 -1
- package/dist/resourceLog/controller.d.ts +11 -7
- package/dist/resourceLog/controller.d.ts.map +1 -1
- package/dist/resourceLog/controller.js +15 -31
- package/dist/resourceLog/controller.js.map +1 -1
- package/dist/resourceLog/document.d.ts +9 -11
- package/dist/resourceLog/document.d.ts.map +1 -1
- package/dist/resourceLog/document.js +9 -11
- package/dist/resourceLog/document.js.map +1 -1
- package/dist/space/collections.d.ts +23 -3
- package/dist/space/collections.d.ts.map +1 -1
- package/dist/space/collections.js +26 -2
- package/dist/space/collections.js.map +1 -1
- package/dist/space/inboxMessage.d.ts +47 -0
- package/dist/space/inboxMessage.d.ts.map +1 -0
- package/dist/space/inboxMessage.js +86 -0
- package/dist/space/inboxMessage.js.map +1 -0
- package/dist/space/index.d.ts +6 -1
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +5 -1
- package/dist/space/index.js.map +1 -1
- package/dist/sync/contactsConflict.d.ts +23 -10
- package/dist/sync/contactsConflict.d.ts.map +1 -1
- package/dist/sync/contactsConflict.js +40 -21
- package/dist/sync/contactsConflict.js.map +1 -1
- package/dist/unlock/index.d.ts +1 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js +1 -1
- package/dist/unlock/index.js.map +1 -1
- package/dist/webvh/clientAnnexDid.d.ts +76 -0
- package/dist/webvh/clientAnnexDid.d.ts.map +1 -0
- package/dist/webvh/clientAnnexDid.js +117 -0
- package/dist/webvh/clientAnnexDid.js.map +1 -0
- package/dist/webvh/didWebProjection.d.ts +38 -5
- package/dist/webvh/didWebProjection.d.ts.map +1 -1
- package/dist/webvh/didWebProjection.js +35 -22
- package/dist/webvh/didWebProjection.js.map +1 -1
- package/dist/webvh/documentDids.d.ts +3 -3
- package/dist/webvh/documentDids.js +3 -3
- package/dist/webvh/index.d.ts +4 -3
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +4 -3
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/standingZcap.d.ts +27 -2
- package/dist/webvh/standingZcap.d.ts.map +1 -1
- package/dist/webvh/standingZcap.js +42 -4
- package/dist/webvh/standingZcap.js.map +1 -1
- package/package.json +14 -7
|
@@ -191,13 +191,12 @@ export declare function ladderVmIds({ doc }: {
|
|
|
191
191
|
* definition -- a reader needing the ladder VMs' resolved methods asks here
|
|
192
192
|
* rather than re-deriving the asymmetry. A reader needing the ladder KEYS
|
|
193
193
|
* asks {@link ladderVmKeyMultibases} instead, which applies the library's one
|
|
194
|
-
* key-multibase rule; this reader hands back the methods as resolved
|
|
195
|
-
* fragment check.
|
|
194
|
+
* key-multibase rule; this reader hands back the methods as resolved.
|
|
196
195
|
*
|
|
197
196
|
* A method the recognition cannot name -- an embedded `capabilityDelegation`
|
|
198
197
|
* entry carrying no `id`, or a reference nothing backs -- has no resolved
|
|
199
198
|
* method here, the same refuse-not-guess answer the id-keyed recognition
|
|
200
|
-
* gives
|
|
199
|
+
* gives, and the key reader names no key for it either.
|
|
201
200
|
*
|
|
202
201
|
* @param options {object}
|
|
203
202
|
* @param options.doc {AccountDocument} a locally verified document
|
|
@@ -213,12 +212,12 @@ export declare function ladderVmMethods({ doc }: {
|
|
|
213
212
|
* credential's key-agreement key, a transient annex VM, and the KMS
|
|
214
213
|
* convenience key deliberately do not (`enrolledClientVmIds` is the same
|
|
215
214
|
* convention read as ids). Each member is read under the library's one
|
|
216
|
-
* key-multibase rule (`memberKeyMultibase`):
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
* key. The ladder-rung attribution and the account's did:key
|
|
220
|
-
* this set, so a malformed member drops out of both rather
|
|
221
|
-
* different key in each.
|
|
215
|
+
* key-multibase rule (`memberKeyMultibase`): the key is the resolved
|
|
216
|
+
* method's `publicKeyMultibase`, the id fragment is an opaque selector never
|
|
217
|
+
* read as the key, and a reference nothing backs or a method publishing no
|
|
218
|
+
* key names none. The ladder-rung attribution and the account's did:key
|
|
219
|
+
* census both read this set, so a malformed member drops out of both rather
|
|
220
|
+
* than naming a different key in each.
|
|
222
221
|
*
|
|
223
222
|
* @param options {object}
|
|
224
223
|
* @param options.doc {AccountDocument} a locally verified document
|
|
@@ -233,8 +232,7 @@ export declare function enrolledClientKeyMultibases({ doc }: {
|
|
|
233
232
|
* under the same one key-multibase rule as
|
|
234
233
|
* {@link enrolledClientKeyMultibases}. Recognition stays id-keyed, so an
|
|
235
234
|
* id-less embedded delegation member is not a ladder VM here either; a
|
|
236
|
-
* recognized member that is a reference nothing backs names
|
|
237
|
-
* fragment alone.
|
|
235
|
+
* recognized member that is a reference nothing backs names no key.
|
|
238
236
|
*
|
|
239
237
|
* @param options {object}
|
|
240
238
|
* @param options.doc {AccountDocument} a locally verified document
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/resourceLog/document.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAEL,WAAW,EAGX,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAA;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC,0BAA0B,CAAC,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAA;AAEnD;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;CAC1B,GAAG,0BAA0B,EAAE,CAE/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,0BAA0B,EAAE,CAI/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,GAAG,EACH,OAAO,EACP,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAA;IACzC,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,MAAM,EAAE,CASX;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACH,OAAO,EACP,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAA;IACzC,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,MAAM,EAAE,CAOX;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACJ,EAAE;IACD,GAAG,EAAE;QACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;YAAE,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACtD,oBAAoB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;YAAE,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACvD,CAAA;CACF,GAAG,MAAM,EAAE,CAGX;AAED
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/resourceLog/document.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAEL,WAAW,EAGX,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAA;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC,0BAA0B,CAAC,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAA;AAEnD;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;CAC1B,GAAG,0BAA0B,EAAE,CAE/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,0BAA0B,EAAE,CAI/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,GAAG,EACH,OAAO,EACP,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAA;IACzC,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,MAAM,EAAE,CASX;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACH,OAAO,EACP,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,oBAAoB,CAAA;IACzB,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAA;IACzC,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,MAAM,EAAE,CAOX;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACJ,EAAE;IACD,GAAG,EAAE;QACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;YAAE,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACtD,oBAAoB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;YAAE,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACvD,CAAA;CACF,GAAG,MAAM,EAAE,CAGX;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,eAAe,CAAA;CACrB,GAAG,0BAA0B,EAAE,CAM/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,eAAe,CAAA;CACrB,GAAG,GAAG,CAAC,MAAM,CAAC,CAEd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,eAAe,CAAA;CACrB,GAAG,GAAG,CAAC,MAAM,CAAC,CAgBd"}
|
|
@@ -143,13 +143,12 @@ export function ladderVmIds({ doc }) {
|
|
|
143
143
|
* definition -- a reader needing the ladder VMs' resolved methods asks here
|
|
144
144
|
* rather than re-deriving the asymmetry. A reader needing the ladder KEYS
|
|
145
145
|
* asks {@link ladderVmKeyMultibases} instead, which applies the library's one
|
|
146
|
-
* key-multibase rule; this reader hands back the methods as resolved
|
|
147
|
-
* fragment check.
|
|
146
|
+
* key-multibase rule; this reader hands back the methods as resolved.
|
|
148
147
|
*
|
|
149
148
|
* A method the recognition cannot name -- an embedded `capabilityDelegation`
|
|
150
149
|
* entry carrying no `id`, or a reference nothing backs -- has no resolved
|
|
151
150
|
* method here, the same refuse-not-guess answer the id-keyed recognition
|
|
152
|
-
* gives
|
|
151
|
+
* gives, and the key reader names no key for it either.
|
|
153
152
|
*
|
|
154
153
|
* @param options {object}
|
|
155
154
|
* @param options.doc {AccountDocument} a locally verified document
|
|
@@ -169,12 +168,12 @@ export function ladderVmMethods({ doc }) {
|
|
|
169
168
|
* credential's key-agreement key, a transient annex VM, and the KMS
|
|
170
169
|
* convenience key deliberately do not (`enrolledClientVmIds` is the same
|
|
171
170
|
* convention read as ids). Each member is read under the library's one
|
|
172
|
-
* key-multibase rule (`memberKeyMultibase`):
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* key. The ladder-rung attribution and the account's did:key
|
|
176
|
-
* this set, so a malformed member drops out of both rather
|
|
177
|
-
* different key in each.
|
|
171
|
+
* key-multibase rule (`memberKeyMultibase`): the key is the resolved
|
|
172
|
+
* method's `publicKeyMultibase`, the id fragment is an opaque selector never
|
|
173
|
+
* read as the key, and a reference nothing backs or a method publishing no
|
|
174
|
+
* key names none. The ladder-rung attribution and the account's did:key
|
|
175
|
+
* census both read this set, so a malformed member drops out of both rather
|
|
176
|
+
* than naming a different key in each.
|
|
178
177
|
*
|
|
179
178
|
* @param options {object}
|
|
180
179
|
* @param options.doc {AccountDocument} a locally verified document
|
|
@@ -189,8 +188,7 @@ export function enrolledClientKeyMultibases({ doc }) {
|
|
|
189
188
|
* under the same one key-multibase rule as
|
|
190
189
|
* {@link enrolledClientKeyMultibases}. Recognition stays id-keyed, so an
|
|
191
190
|
* id-less embedded delegation member is not a ladder VM here either; a
|
|
192
|
-
* recognized member that is a reference nothing backs names
|
|
193
|
-
* fragment alone.
|
|
191
|
+
* recognized member that is a reference nothing backs names no key.
|
|
194
192
|
*
|
|
195
193
|
* @param options {object}
|
|
196
194
|
* @param options.doc {AccountDocument} a locally verified document
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/resourceLog/document.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EAGxB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAA;AAiD/C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,GAAG,EAGJ;IACC,OAAO,uBAAuB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAA;AACnE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,GAAG,EACH,GAAG,EAIJ;IACC,OAAO,2BAA2B,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,GAAG,CACpC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,GAAG,EACH,OAAO,EACP,GAAG,EAKJ;IACC,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CACvE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CACpB,CACF,CAAA;IACD,OAAO,6BAA6B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;SAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACxB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AACtE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,GAAG,EACH,OAAO,EACP,GAAG,EAKJ;IACC,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,6BAA6B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CACrE,CAAA;IACD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACxB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,GAAG,EAMJ;IACC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAChE,OAAO,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/resourceLog/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,12 @@ export declare const APP_KEYS_COLLECTION = "app-keys";
|
|
|
26
26
|
* has dealt with (an app, an agent, a wallet client, a contact).
|
|
27
27
|
*/
|
|
28
28
|
export declare const CONNECTIONS_COLLECTION = "connections";
|
|
29
|
+
/**
|
|
30
|
+
* The plaintext `inbox` collection: where a connected agent POSTs its
|
|
31
|
+
* messages to the wallet. Not public, never grantable through the ordinary
|
|
32
|
+
* target classes, and never replicated.
|
|
33
|
+
*/
|
|
34
|
+
export declare const INBOX_COLLECTION = "inbox";
|
|
29
35
|
/**
|
|
30
36
|
* What provisioning a wallet Space collection needs: the collection id, the
|
|
31
37
|
* friendly display name both wallets pass as the server-side collection name,
|
|
@@ -43,7 +49,10 @@ export declare const CONNECTIONS_COLLECTION = "connections";
|
|
|
43
49
|
* carries a key-epoch roster yet is never grantable, since its Resources are
|
|
44
50
|
* the connected apps' private seeds. A key- or seed-bearing collection MUST
|
|
45
51
|
* be `grantable: false`. The field is wallet-side policy only and is never
|
|
46
|
-
* written to the server.
|
|
52
|
+
* written to the server. The one carve-out is the `inbox` target class: a
|
|
53
|
+
* connection request may name the `inbox` collection for POST alone,
|
|
54
|
+
* through a dedicated descriptor type resolved before this field is read,
|
|
55
|
+
* so a grantee can post to the wallet without reading what it holds.
|
|
47
56
|
*/
|
|
48
57
|
export interface SpaceProvisionSpec {
|
|
49
58
|
collectionId: string;
|
|
@@ -135,6 +144,16 @@ export declare const APP_KEYS_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
|
135
144
|
* read and written directly, with no local replica and no sync feed.
|
|
136
145
|
*/
|
|
137
146
|
export declare const CONNECTIONS_COLLECTION_SPEC: SpaceCollectionSpec;
|
|
147
|
+
/**
|
|
148
|
+
* The `inbox` collection: plaintext, not public, and outside every ordinary
|
|
149
|
+
* target class. A connected agent holds a POST capability on the container
|
|
150
|
+
* alone (minted through the `inbox` target class, the one carve-out of
|
|
151
|
+
* `grantable`), so it can post a message and cannot list, read, overwrite,
|
|
152
|
+
* or delete. The wallet reads and deletes its mail directly, with no local
|
|
153
|
+
* replica and no sync feed. A grantable `inbox` would let any requester read
|
|
154
|
+
* the owner's connections, which is why it is `grantable: false`.
|
|
155
|
+
*/
|
|
156
|
+
export declare const INBOX_COLLECTION_SPEC: SpaceProvisionSpec;
|
|
138
157
|
/**
|
|
139
158
|
* The `id` collection's provisioning attributes: plaintext (it holds only
|
|
140
159
|
* world-readable DID artifacts) with a collection-level public-read grant.
|
|
@@ -176,8 +195,9 @@ export declare const WALLET_SPACE_SYSTEM_SPECS: SpaceProvisionSpec[];
|
|
|
176
195
|
/**
|
|
177
196
|
* The full wallet Space layout -- every collection the provisioning wallet
|
|
178
197
|
* ensures: the synced feeds first, then the directly read `connections`
|
|
179
|
-
* directory
|
|
180
|
-
* is identical no matter which wallet app
|
|
198
|
+
* directory and the `inbox`, then the system collections. A Space
|
|
199
|
+
* provisioned from this roster is identical no matter which wallet app
|
|
200
|
+
* created it.
|
|
181
201
|
*/
|
|
182
202
|
export declare const WALLET_SPACE_PROVISION_ROSTER: SpaceProvisionSpec[];
|
|
183
203
|
/**
|
|
@@ -1 +1 @@
|
|
|
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,mBAAmB,aAAa,CAAA;AAC7C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,gBAAgB,CAAA;
|
|
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,mBAAmB,aAAa,CAAA;AAC7C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,gBAAgB,CAAA;AACnD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;GAqBG;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,wBAAwB,EAAE,mBAStC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,EAAE,mBASzC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAMnC,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;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,EAK7D,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"}
|
|
@@ -51,6 +51,12 @@ export const APP_KEYS_COLLECTION = 'app-keys';
|
|
|
51
51
|
* has dealt with (an app, an agent, a wallet client, a contact).
|
|
52
52
|
*/
|
|
53
53
|
export const CONNECTIONS_COLLECTION = 'connections';
|
|
54
|
+
/**
|
|
55
|
+
* The plaintext `inbox` collection: where a connected agent POSTs its
|
|
56
|
+
* messages to the wallet. Not public, never grantable through the ordinary
|
|
57
|
+
* target classes, and never replicated.
|
|
58
|
+
*/
|
|
59
|
+
export const INBOX_COLLECTION = 'inbox';
|
|
54
60
|
/**
|
|
55
61
|
* The immutable credential replica: each credential stored as an EDV envelope,
|
|
56
62
|
* addressed by the envelope's content hash, never overwritten, never public.
|
|
@@ -168,6 +174,22 @@ export const CONNECTIONS_COLLECTION_SPEC = {
|
|
|
168
174
|
shareable: false,
|
|
169
175
|
grantable: false
|
|
170
176
|
};
|
|
177
|
+
/**
|
|
178
|
+
* The `inbox` collection: plaintext, not public, and outside every ordinary
|
|
179
|
+
* target class. A connected agent holds a POST capability on the container
|
|
180
|
+
* alone (minted through the `inbox` target class, the one carve-out of
|
|
181
|
+
* `grantable`), so it can post a message and cannot list, read, overwrite,
|
|
182
|
+
* or delete. The wallet reads and deletes its mail directly, with no local
|
|
183
|
+
* replica and no sync feed. A grantable `inbox` would let any requester read
|
|
184
|
+
* the owner's connections, which is why it is `grantable: false`.
|
|
185
|
+
*/
|
|
186
|
+
export const INBOX_COLLECTION_SPEC = {
|
|
187
|
+
collectionId: INBOX_COLLECTION,
|
|
188
|
+
name: 'Inbox',
|
|
189
|
+
encryption: 'plaintext',
|
|
190
|
+
isPublic: false,
|
|
191
|
+
grantable: false
|
|
192
|
+
};
|
|
171
193
|
/**
|
|
172
194
|
* The `id` collection's provisioning attributes: plaintext (it holds only
|
|
173
195
|
* world-readable DID artifacts) with a collection-level public-read grant.
|
|
@@ -238,12 +260,14 @@ export const WALLET_SPACE_SYSTEM_SPECS = [
|
|
|
238
260
|
/**
|
|
239
261
|
* The full wallet Space layout -- every collection the provisioning wallet
|
|
240
262
|
* ensures: the synced feeds first, then the directly read `connections`
|
|
241
|
-
* directory
|
|
242
|
-
* is identical no matter which wallet app
|
|
263
|
+
* directory and the `inbox`, then the system collections. A Space
|
|
264
|
+
* provisioned from this roster is identical no matter which wallet app
|
|
265
|
+
* created it.
|
|
243
266
|
*/
|
|
244
267
|
export const WALLET_SPACE_PROVISION_ROSTER = [
|
|
245
268
|
...WALLET_SPACE_SYNCED_SPECS,
|
|
246
269
|
CONNECTIONS_COLLECTION_SPEC,
|
|
270
|
+
INBOX_COLLECTION_SPEC,
|
|
247
271
|
...WALLET_SPACE_SYSTEM_SPECS
|
|
248
272
|
];
|
|
249
273
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAE/B;;;;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;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAA;AAC7C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A delegated zcap carried in an inbox message, verbatim. The parser checks
|
|
3
|
+
* the members named here and keeps every other member as it arrived.
|
|
4
|
+
*/
|
|
5
|
+
export interface InboxMessageZcap {
|
|
6
|
+
id: string;
|
|
7
|
+
controller: string;
|
|
8
|
+
invocationTarget: string;
|
|
9
|
+
proof: Record<string, unknown> | Record<string, unknown>[];
|
|
10
|
+
[member: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The inbox message envelope. `type` is the bare string `'Grant'` (the
|
|
14
|
+
* history Grant activity row carries a one-member array instead).
|
|
15
|
+
*/
|
|
16
|
+
export interface InboxGrantMessage {
|
|
17
|
+
type: 'Grant';
|
|
18
|
+
actor: string;
|
|
19
|
+
object: {
|
|
20
|
+
zcaps: InboxMessageZcap[];
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Builds an inbox Grant message carrying the given zcaps verbatim.
|
|
25
|
+
*
|
|
26
|
+
* @param options {object}
|
|
27
|
+
* @param options.actor {string} the sender's did:key
|
|
28
|
+
* @param options.zcaps {InboxMessageZcap[]} the delegated zcaps, at least
|
|
29
|
+
* one
|
|
30
|
+
* @returns {InboxGrantMessage}
|
|
31
|
+
*/
|
|
32
|
+
export declare function inboxGrantMessage({ actor, zcaps }: {
|
|
33
|
+
actor: string;
|
|
34
|
+
zcaps: InboxMessageZcap[];
|
|
35
|
+
}): InboxGrantMessage;
|
|
36
|
+
/**
|
|
37
|
+
* Reads an inbox Grant message. Returns `undefined` for a body that is not
|
|
38
|
+
* one: a non-object body, a `type` other than the bare string `'Grant'`, an
|
|
39
|
+
* `actor` that is not a did:key, or an `object.zcaps` that is not a non-empty
|
|
40
|
+
* array of zcaps each carrying `id`, `controller`, `invocationTarget`, and a
|
|
41
|
+
* `proof`. Unknown members at any level are ignored and kept verbatim.
|
|
42
|
+
*
|
|
43
|
+
* @param body {unknown} the parsed JSON body
|
|
44
|
+
* @returns {InboxGrantMessage | undefined}
|
|
45
|
+
*/
|
|
46
|
+
export declare function parseInboxGrantMessage(body: unknown): InboxGrantMessage | undefined;
|
|
47
|
+
//# sourceMappingURL=inboxMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inboxMessage.d.ts","sourceRoot":"","sources":["../../src/space/inboxMessage.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC1D,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE;QAAE,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAA;CACtC;AAyBD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B,GAAG,iBAAiB,CAQpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,GACZ,iBAAiB,GAAG,SAAS,CAuB/B"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The inbox message envelope: the one message kind a party POSTs to a
|
|
6
|
+
* wallet's `inbox` collection, or a wallet POSTs to a party's inbox. Shape:
|
|
7
|
+
* `{ type: 'Grant', actor: <did:key>, object: { zcaps: [ <zcap>, ... ] } }`,
|
|
8
|
+
* content type `application/json`, with no `@context`.
|
|
9
|
+
*
|
|
10
|
+
* There is one message kind. An invitation and a renewal are told apart by
|
|
11
|
+
* the zcap target. A zcap targeting the sender's own inbox is a channel
|
|
12
|
+
* capability, and one targeting the recipient's Space is a renewed grant.
|
|
13
|
+
* Every wallet and any agent built on this package share the shape.
|
|
14
|
+
*/
|
|
15
|
+
import { isJsonObject } from '../jsonObject.js';
|
|
16
|
+
import { ACTIVITY_TYPE } from './activity.js';
|
|
17
|
+
function isDidKey(value) {
|
|
18
|
+
return typeof value === 'string' && value.startsWith('did:key:');
|
|
19
|
+
}
|
|
20
|
+
function isInboxMessageZcap(value) {
|
|
21
|
+
if (!isJsonObject(value)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const { id, controller, invocationTarget, proof } = value;
|
|
25
|
+
if (typeof id !== 'string' ||
|
|
26
|
+
id.length === 0 ||
|
|
27
|
+
typeof controller !== 'string' ||
|
|
28
|
+
typeof invocationTarget !== 'string') {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(proof)) {
|
|
32
|
+
return proof.length > 0 && proof.every(isJsonObject);
|
|
33
|
+
}
|
|
34
|
+
return isJsonObject(proof);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Builds an inbox Grant message carrying the given zcaps verbatim.
|
|
38
|
+
*
|
|
39
|
+
* @param options {object}
|
|
40
|
+
* @param options.actor {string} the sender's did:key
|
|
41
|
+
* @param options.zcaps {InboxMessageZcap[]} the delegated zcaps, at least
|
|
42
|
+
* one
|
|
43
|
+
* @returns {InboxGrantMessage}
|
|
44
|
+
*/
|
|
45
|
+
export function inboxGrantMessage({ actor, zcaps }) {
|
|
46
|
+
if (!isDidKey(actor)) {
|
|
47
|
+
throw new TypeError('inbox message: `actor` must be a did:key DID.');
|
|
48
|
+
}
|
|
49
|
+
if (zcaps.length === 0) {
|
|
50
|
+
throw new TypeError('inbox message: `zcaps` must not be empty.');
|
|
51
|
+
}
|
|
52
|
+
return { type: ACTIVITY_TYPE.Grant, actor, object: { zcaps } };
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reads an inbox Grant message. Returns `undefined` for a body that is not
|
|
56
|
+
* one: a non-object body, a `type` other than the bare string `'Grant'`, an
|
|
57
|
+
* `actor` that is not a did:key, or an `object.zcaps` that is not a non-empty
|
|
58
|
+
* array of zcaps each carrying `id`, `controller`, `invocationTarget`, and a
|
|
59
|
+
* `proof`. Unknown members at any level are ignored and kept verbatim.
|
|
60
|
+
*
|
|
61
|
+
* @param body {unknown} the parsed JSON body
|
|
62
|
+
* @returns {InboxGrantMessage | undefined}
|
|
63
|
+
*/
|
|
64
|
+
export function parseInboxGrantMessage(body) {
|
|
65
|
+
if (!isJsonObject(body)) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
const { type, actor, object } = body;
|
|
69
|
+
if (type !== ACTIVITY_TYPE.Grant) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
if (!isDidKey(actor)) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
if (!isJsonObject(object)) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
const { zcaps } = object;
|
|
79
|
+
if (!Array.isArray(zcaps) ||
|
|
80
|
+
zcaps.length === 0 ||
|
|
81
|
+
!zcaps.every(isInboxMessageZcap)) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
return body;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=inboxMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inboxMessage.js","sourceRoot":"","sources":["../../src/space/inboxMessage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAwB7C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACzD,IACE,OAAO,EAAE,KAAK,QAAQ;QACtB,EAAE,CAAC,MAAM,KAAK,CAAC;QACf,OAAO,UAAU,KAAK,QAAQ;QAC9B,OAAO,gBAAgB,KAAK,QAAQ,EACpC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EAIN;IACC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAA;AAChE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAa;IAEb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACpC,IAAI,IAAI,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IACxB,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAChC,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,IAAoC,CAAA;AAC7C,CAAC"}
|
package/dist/space/index.d.ts
CHANGED
|
@@ -35,11 +35,14 @@
|
|
|
35
35
|
* `parseWasLinkPayload` / `encodeWasLinkSecret`) and `isWasLinkPayload`,
|
|
36
36
|
* the recognizer a wallet hands `@interop/wallet-request`'s input
|
|
37
37
|
* classifier.
|
|
38
|
+
* - The inbox message envelope (`InboxGrantMessage`, built by
|
|
39
|
+
* `inboxGrantMessage` and read by `parseInboxGrantMessage`), the one
|
|
40
|
+
* message kind a party POSTs to an inbox, carrying delegated zcaps.
|
|
38
41
|
* - `CEREMONY_IDS` / `CeremonyId`, the typed vocabulary of account ceremony
|
|
39
42
|
* ids, including the ceremonies still implemented app-side.
|
|
40
43
|
*/
|
|
41
44
|
export { deleteSpaceWithCapability } from './deleteSpace.js';
|
|
42
|
-
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_KEYS_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_KEYS_COLLECTION_SPEC, CONNECTIONS_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
45
|
+
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_KEYS_COLLECTION, CONNECTIONS_COLLECTION, INBOX_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC, CONTACTS_SPACE_COLLECTION_SPEC, CONTACTS_HISTORY_SPACE_COLLECTION_SPEC, APP_KEYS_COLLECTION_SPEC, CONNECTIONS_COLLECTION_SPEC, INBOX_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
43
46
|
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';
|
|
44
47
|
export type { SpaceProvisionSpec, SpaceCollectionSpec } from './collections.js';
|
|
45
48
|
export { provisionWalletSpace } from './provisioning.js';
|
|
@@ -49,6 +52,8 @@ export type { WalletActivity, ActivityGrant, ImportCollectionOutcome } from './a
|
|
|
49
52
|
export { publicCredentialUrl } from './publicLink.js';
|
|
50
53
|
export { encodeWasLinkSecret, isWasLinkPayload, buildWasLinkPayload, parseWasLinkPayload } from './wasLink.js';
|
|
51
54
|
export type { WasLinkPayload } from './wasLink.js';
|
|
55
|
+
export { inboxGrantMessage, parseInboxGrantMessage } from './inboxMessage.js';
|
|
56
|
+
export type { InboxGrantMessage, InboxMessageZcap } from './inboxMessage.js';
|
|
52
57
|
export { HumanReadableError } from './errors.js';
|
|
53
58
|
export { CEREMONY_IDS } from './ceremony.js';
|
|
54
59
|
export type { CeremonyId } from './ceremony.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,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,yBAAyB,EACzB,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,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC7E,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE5E,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
|
@@ -35,17 +35,21 @@
|
|
|
35
35
|
* `parseWasLinkPayload` / `encodeWasLinkSecret`) and `isWasLinkPayload`,
|
|
36
36
|
* the recognizer a wallet hands `@interop/wallet-request`'s input
|
|
37
37
|
* classifier.
|
|
38
|
+
* - The inbox message envelope (`InboxGrantMessage`, built by
|
|
39
|
+
* `inboxGrantMessage` and read by `parseInboxGrantMessage`), the one
|
|
40
|
+
* message kind a party POSTs to an inbox, carrying delegated zcaps.
|
|
38
41
|
* - `CEREMONY_IDS` / `CeremonyId`, the typed vocabulary of account ceremony
|
|
39
42
|
* ids, including the ceremonies still implemented app-side.
|
|
40
43
|
*/
|
|
41
44
|
export { deleteSpaceWithCapability } from './deleteSpace.js';
|
|
42
|
-
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_KEYS_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_KEYS_COLLECTION_SPEC, CONNECTIONS_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
45
|
+
export { WALLET_SPACE_NAME, PRIVATE_CREDENTIALS_COLLECTION, PUBLIC_CREDENTIALS_COLLECTION, WALLET_ACTIVITY_COLLECTION, APP_KEYS_COLLECTION, CONNECTIONS_COLLECTION, INBOX_COLLECTION, PRIVATE_CREDENTIALS_COLLECTION_SPEC, PUBLIC_CREDENTIALS_COLLECTION_SPEC, WALLET_ACTIVITY_COLLECTION_SPEC, CONTACTS_SPACE_COLLECTION_SPEC, CONTACTS_HISTORY_SPACE_COLLECTION_SPEC, APP_KEYS_COLLECTION_SPEC, CONNECTIONS_COLLECTION_SPEC, INBOX_COLLECTION_SPEC, WALLET_SPACE_SYNCED_SPECS, WALLET_SPACE_SYSTEM_SPECS, WALLET_SPACE_PROVISION_ROSTER } from './collections.js';
|
|
43
46
|
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';
|
|
44
47
|
export { provisionWalletSpace } from './provisioning.js';
|
|
45
48
|
export { plaintextCollection } from './plaintextCollection.js';
|
|
46
49
|
export { ACTIVITY_TYPE, addHistoryNewAccount, addHistorySpaceCreated, addHistoryCredentialCreated, addHistoryCredentialDeleted, addHistoryCredentialShared, addHistoryCredentialUnshared, addHistoryLogin, addHistoryGrant, addHistoryWalletLogin, addHistoryAppRevoke, addHistoryAgentRevoke, addHistoryClientConnected, addHistoryClientRevoked, addHistoryGenerationCollected, addHistoryContentImported, addHistoryProfileCreated, addHistoryCollectionShared, addHistoryCollectionUnshared } from './activity.js';
|
|
47
50
|
export { publicCredentialUrl } from './publicLink.js';
|
|
48
51
|
export { encodeWasLinkSecret, isWasLinkPayload, buildWasLinkPayload, parseWasLinkPayload } from './wasLink.js';
|
|
52
|
+
export { inboxGrantMessage, parseInboxGrantMessage } from './inboxMessage.js';
|
|
49
53
|
export { HumanReadableError } from './errors.js';
|
|
50
54
|
export { CEREMONY_IDS } from './ceremony.js';
|
|
51
55
|
//# sourceMappingURL=index.js.map
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,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,yBAAyB,EACzB,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,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAG7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -18,13 +18,23 @@
|
|
|
18
18
|
*
|
|
19
19
|
* **Fail-safe to remote.** Whenever the fields the rule needs are unreachable
|
|
20
20
|
* -- a tombstone on either side, a missing cipher, an envelope this replica
|
|
21
|
-
* holds no key for, a body
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* malformed
|
|
26
|
-
* forever. A delete is in the same
|
|
27
|
-
* fresher stamp (a delete does not
|
|
21
|
+
* holds no key for, a plaintext body where a cipher is configured, a body that
|
|
22
|
+
* is not a valid head payload -- the remote master wins. That is the
|
|
23
|
+
* always-converging default, so a malformed side simply loses: a valid local
|
|
24
|
+
* over a malformed remote re-pushes and repairs the server copy, a valid remote
|
|
25
|
+
* over a malformed local is adopted, and two malformed sides adopt the server
|
|
26
|
+
* version rather than re-fighting the conflict forever. A delete is in the same
|
|
27
|
+
* class deliberately: a tombstone carries no fresher stamp (a delete does not
|
|
28
|
+
* rewrite the head payload), so deletion wins.
|
|
29
|
+
*
|
|
30
|
+
* **A plaintext body under a cipher is unreachable.** When the collection is
|
|
31
|
+
* encrypted, a non-envelope body is not one of this wallet's heads: an older
|
|
32
|
+
* writer or a hostile host put it there, and the app's own reads refuse it.
|
|
33
|
+
* Comparing its stamp would let a plaintext head with a later `updatedAt` beat
|
|
34
|
+
* a valid local envelope, which then disappears for good, since no read can
|
|
35
|
+
* open the winner and no write replaces it. So it scores as unreachable, and a
|
|
36
|
+
* valid encrypted side wins over it and re-pushes. Plaintext passes through
|
|
37
|
+
* only when no cipher is passed.
|
|
28
38
|
*
|
|
29
39
|
* **An integrity refusal is not an unreachable side.** A decrypt refused by the
|
|
30
40
|
* cipher's envelope-to-resource binding check (was-client's `IntegrityError`)
|
|
@@ -60,8 +70,10 @@ import { type ContactHeadPayload } from '@interop/social-core';
|
|
|
60
70
|
export type ContactConflictWinner = 'remote' | 'local';
|
|
61
71
|
/**
|
|
62
72
|
* Recovers a validated head payload from a stored body: decrypts an
|
|
63
|
-
* envelope,
|
|
64
|
-
*
|
|
73
|
+
* envelope, and resolves `undefined` when the payload (and so the fields the
|
|
74
|
+
* rule compares) cannot be reached. A plaintext body passes through only when
|
|
75
|
+
* no cipher is passed. With a cipher, a plaintext body is unreachable and is
|
|
76
|
+
* never handed to the cipher (see the module doc).
|
|
65
77
|
*
|
|
66
78
|
* A side this replica holds no key for is unreachable. What the fail-safe rule
|
|
67
79
|
* below then does with it depends on which side it was: an unreachable local
|
|
@@ -80,7 +92,8 @@ export type ContactConflictWinner = 'remote' | 'local';
|
|
|
80
92
|
* @param options.data {Json} the stored body: an encrypted envelope or a
|
|
81
93
|
* plaintext payload
|
|
82
94
|
* @param [options.cipher] {DocCipher} the collection's document cipher;
|
|
83
|
-
* absent for a plaintext store, in which case an envelope is unreachable
|
|
95
|
+
* absent for a plaintext store, in which case an envelope is unreachable.
|
|
96
|
+
* When present, a plaintext body is unreachable.
|
|
84
97
|
* @returns {Promise<ContactHeadPayload | undefined>}
|
|
85
98
|
* @throws {Error} the cipher's `IntegrityError`: the stored envelope was
|
|
86
99
|
* sealed for a different resource than `id`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactsConflict.d.ts","sourceRoot":"","sources":["../../src/sync/contactsConflict.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"contactsConflict.d.ts","sourceRoot":"","sources":["../../src/sync/contactsConflict.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,IAAI,EACV,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,EAAE,EACF,IAAI,EACJ,MAAM,EACP,EAAE;IACD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAyB1C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,EAAE,EACF,MAAM,EACN,KAAK,EACL,MAAM,EACN,aAAqB,EACrB,YAAoB,EACpB,kBAAkB,EACnB,EAAE;IACD,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,IAAI,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,IAAI,GAAG,SAAS,CAAA;IACvB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC7B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;QACxB,GAAG,EAAE,OAAO,CAAA;KACb,KAAK,IAAI,CAAA;CACX,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0CjC"}
|