@interop/wallet-core 0.67.0 → 0.69.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 +14 -13
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +12 -6
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +10 -7
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +11 -12
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +20 -30
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +7 -16
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +8 -18
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +8 -17
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +19 -34
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +26 -12
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +60 -57
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +3 -12
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +19 -32
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +2 -2
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +1 -1
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +25 -70
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +34 -83
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +55 -68
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +82 -111
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +19 -8
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +89 -66
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +5 -12
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +7 -13
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -14
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +12 -12
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +6 -10
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +12 -17
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/descriptors/index.d.ts +21 -46
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +21 -45
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +45 -56
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +64 -74
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +15 -6
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +14 -7
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/keys/collectionLogStore.d.ts +73 -0
- package/dist/keys/collectionLogStore.d.ts.map +1 -0
- package/dist/keys/collectionLogStore.js +60 -0
- package/dist/keys/collectionLogStore.js.map +1 -0
- package/dist/keys/index.d.ts +18 -6
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +18 -6
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +44 -6
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +51 -238
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +2 -1
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +67 -34
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +80 -30
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyCascade.d.ts +26 -1
- package/dist/keys/userKeyCascade.d.ts.map +1 -1
- package/dist/keys/userKeyCascade.js +29 -2
- package/dist/keys/userKeyCascade.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +5 -0
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +5 -0
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts +54 -16
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +50 -22
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/recovery/continuation.d.ts +2 -7
- package/dist/recovery/continuation.d.ts.map +1 -1
- package/dist/recovery/continuation.js +2 -6
- package/dist/recovery/continuation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +11 -25
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +13 -26
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/resourceLog/controller.d.ts +18 -6
- package/dist/resourceLog/controller.d.ts.map +1 -1
- package/dist/resourceLog/controller.js +5 -3
- package/dist/resourceLog/controller.js.map +1 -1
- package/dist/resourceLog/errors.d.ts +17 -43
- package/dist/resourceLog/errors.d.ts.map +1 -1
- package/dist/resourceLog/errors.js +17 -50
- package/dist/resourceLog/errors.js.map +1 -1
- package/dist/resourceLog/index.d.ts +6 -3
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +6 -3
- package/dist/resourceLog/index.js.map +1 -1
- package/dist/resourceLog/logClass.d.ts +69 -0
- package/dist/resourceLog/logClass.d.ts.map +1 -0
- package/dist/resourceLog/logClass.js +43 -0
- package/dist/resourceLog/logClass.js.map +1 -0
- package/dist/space/collections.d.ts +22 -2
- package/dist/space/collections.d.ts.map +1 -1
- package/dist/space/collections.js +18 -0
- 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/dist/space/provisioning.d.ts +16 -6
- package/dist/space/provisioning.d.ts.map +1 -1
- package/dist/space/provisioning.js +11 -7
- package/dist/space/provisioning.js.map +1 -1
- package/dist/sync/engine.d.ts +4 -2
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -6
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -5
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts +0 -29
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +30 -28
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/types.d.ts +39 -21
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +13 -7
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/retire.d.ts +12 -13
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +12 -15
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +8 -22
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +7 -18
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +5 -12
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +11 -22
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +7 -2
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +9 -1
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +69 -80
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +74 -117
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts +2 -8
- package/dist/webvh/enrollClient.d.ts.map +1 -1
- package/dist/webvh/enrollClient.js +3 -8
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +1 -1
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +1 -1
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +3 -9
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +4 -9
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +24 -4
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +26 -7
- package/dist/webvh/verifyLog.js.map +1 -1
- package/dist/webvh/wasIdStore.d.ts +16 -3
- package/dist/webvh/wasIdStore.d.ts.map +1 -1
- package/dist/webvh/wasIdStore.js +18 -3
- package/dist/webvh/wasIdStore.js.map +1 -1
- package/package.json +4 -4
- package/dist/descriptors/acquire.d.ts +0 -122
- package/dist/descriptors/acquire.d.ts.map +0 -1
- package/dist/descriptors/acquire.js +0 -100
- package/dist/descriptors/acquire.js.map +0 -1
- package/dist/descriptors/cipher.d.ts +0 -71
- package/dist/descriptors/cipher.d.ts.map +0 -1
- package/dist/descriptors/cipher.js +0 -109
- package/dist/descriptors/cipher.js.map +0 -1
- package/dist/descriptors/errors.d.ts +0 -44
- package/dist/descriptors/errors.d.ts.map +0 -1
- package/dist/descriptors/errors.js +0 -46
- package/dist/descriptors/errors.js.map +0 -1
- package/dist/descriptors/refresh.d.ts +0 -62
- package/dist/descriptors/refresh.d.ts.map +0 -1
- package/dist/descriptors/refresh.js +0 -69
- package/dist/descriptors/refresh.js.map +0 -1
|
@@ -33,17 +33,14 @@ export { RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recovery
|
|
|
33
33
|
* @param [options.part] {string} `'all'` (the default), `'key'`, or
|
|
34
34
|
* `'authority'` -- see above
|
|
35
35
|
* @param [options.expectedDid] {string} the account DID the log must
|
|
36
|
-
* resolve to, from the caller's stored account pointer
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
41
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
42
|
-
* supplied
|
|
36
|
+
* resolve to, from the caller's stored account pointer. The read runs under
|
|
37
|
+
* the store's own chain-head pin: a served log that is a rollback, a fork,
|
|
38
|
+
* or an identity switch against the pinned head is refused
|
|
39
|
+
* (`ResourceLogContinuityError`)
|
|
43
40
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} the account
|
|
44
41
|
* DID and the document and log as this call leaves them
|
|
45
42
|
*/
|
|
46
|
-
export async function publishRecoveryKey({ idStore, signer, recovery, ladderSeed, part, expectedDid
|
|
43
|
+
export async function publishRecoveryKey({ idStore, signer, recovery, ladderSeed, part, expectedDid }) {
|
|
47
44
|
return publishUnlockKey({
|
|
48
45
|
idStore,
|
|
49
46
|
signer,
|
|
@@ -58,8 +55,6 @@ export async function publishRecoveryKey({ idStore, signer, recovery, ladderSeed
|
|
|
58
55
|
ladderSeed,
|
|
59
56
|
...(part !== undefined ? { part } : {}),
|
|
60
57
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
61
|
-
...(pinStore ? { pinStore } : {}),
|
|
62
|
-
...(logId !== undefined ? { logId } : {}),
|
|
63
58
|
verb: 'issuing a recovery code'
|
|
64
59
|
});
|
|
65
60
|
}
|
|
@@ -93,7 +88,7 @@ export async function publishRecoveryKey({ idStore, signer, recovery, ladderSeed
|
|
|
93
88
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} see
|
|
94
89
|
* {@link publishRecoveryKey}
|
|
95
90
|
*/
|
|
96
|
-
export async function removeRecoveryKey({ idStore, signer, recovery, ladderSeed, projectionStore, expectedDid
|
|
91
|
+
export async function removeRecoveryKey({ idStore, signer, recovery, ladderSeed, projectionStore, expectedDid }) {
|
|
97
92
|
return removeUnlockKey({
|
|
98
93
|
idStore,
|
|
99
94
|
signer,
|
|
@@ -106,8 +101,6 @@ export async function removeRecoveryKey({ idStore, signer, recovery, ladderSeed,
|
|
|
106
101
|
...(ladderSeed ? { ladderSeed } : {}),
|
|
107
102
|
...(projectionStore ? { projectionStore } : {}),
|
|
108
103
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
109
|
-
...(pinStore ? { pinStore } : {}),
|
|
110
|
-
...(logId !== undefined ? { logId } : {}),
|
|
111
104
|
verb: 'revoking a recovery code'
|
|
112
105
|
});
|
|
113
106
|
}
|
|
@@ -169,15 +162,11 @@ export async function removeRecoveryKey({ idStore, signer, recovery, ladderSeed,
|
|
|
169
162
|
* `nextKeyHashes` exactly as on the self-enrollment seam (keys of a lost
|
|
170
163
|
* random seed; nothing can reveal them)
|
|
171
164
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
172
|
-
* to, where the recovering flow already knows it
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
* entry as it publishes
|
|
178
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
179
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
180
|
-
* supplied
|
|
165
|
+
* to, where the recovering flow already knows it. Every read both entries
|
|
166
|
+
* are built on is checked against the store's own chain-head pin (a served
|
|
167
|
+
* prefix is refused before the reveal entry lands, not only by a verify
|
|
168
|
+
* that follows both entries), and the pin advances to each entry as it
|
|
169
|
+
* publishes
|
|
181
170
|
* @returns {Promise<object>}
|
|
182
171
|
* the account DID, the final `did.json` projection when the add-and-retire
|
|
183
172
|
* entry ran here, and `committed` -- whether THIS call published the pivot
|
|
@@ -209,7 +198,7 @@ export async function recoverWebvhClient(options) {
|
|
|
209
198
|
signingKeyMultibase: options.newClientKeys.signingKeyMultibase,
|
|
210
199
|
keyAgreementKeyMultibase: options.newClientKeys.keyAgreementKeyMultibase
|
|
211
200
|
});
|
|
212
|
-
const { newClientKeys, newClientUpdateSeeds, onCommitted, expectedDid,
|
|
201
|
+
const { newClientKeys, newClientUpdateSeeds, onCommitted, expectedDid, ...shared } = options;
|
|
213
202
|
const outcome = await withLogConflictRetry(() => recoveryContinuationOnce({
|
|
214
203
|
...shared,
|
|
215
204
|
successor: {
|
|
@@ -242,9 +231,7 @@ export async function recoverWebvhClient(options) {
|
|
|
242
231
|
capabilityDelegation: [signingVmId]
|
|
243
232
|
};
|
|
244
233
|
},
|
|
245
|
-
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
246
|
-
...(pinStore ? { pinStore } : {}),
|
|
247
|
-
...(logId !== undefined ? { logId } : {})
|
|
234
|
+
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
248
235
|
}));
|
|
249
236
|
// The document and log stay inside: the remembered session re-verifies
|
|
250
237
|
// the log for itself once it is the controller.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recoveryWebvh.js","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"AAwCA,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"recoveryWebvh.js","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* The did:webvh side of `@interop/vh-resource-log`'s controller port: the
|
|
6
6
|
* wallet-core EXTENDED controller view -- the library's generic port plus the
|
|
7
7
|
* per-version credential-inventory accessor the ceremony-tail license reads,
|
|
8
|
-
* plus the library's `admitAppend` admission hook made mandatory and
|
|
9
|
-
*
|
|
8
|
+
* plus the library's `admitAppend` admission hook made mandatory -- and the
|
|
9
|
+
* adapter that builds it from an
|
|
10
10
|
* already-verified account log (the `verifyAccountLog` output), answering
|
|
11
11
|
* version lookups from that verified history rather than from any wire
|
|
12
12
|
* fetch. Handing the verifier a view instead of a resolver is what
|
|
@@ -16,6 +16,15 @@
|
|
|
16
16
|
* ladder-shaped verification methods -- a bare view does not lack ladder
|
|
17
17
|
* keys, it lacks the ability to recognize them.
|
|
18
18
|
*
|
|
19
|
+
* The hook this adapter supplies runs the ceremony-tail license, which is the
|
|
20
|
+
* USER KEY ROSTER class's rule rather than every log's. One account document
|
|
21
|
+
* governs several logs, so the rule belongs to the log rather than to the
|
|
22
|
+
* document, and it is chosen by the class dispatch beside this file
|
|
23
|
+
* (`logClass.ts`, `controllerForLogClass`), which the log-governed store
|
|
24
|
+
* applies to this view before every read and every append. The adapter keeps
|
|
25
|
+
* producing the licensed view, so a caller that states no class gets the
|
|
26
|
+
* roster rule.
|
|
27
|
+
*
|
|
19
28
|
* The document reading itself is not restated here: the relation resolver,
|
|
20
29
|
* the ladder-VM recognition, and the credential class all come from
|
|
21
30
|
* `document.ts` beside this file, so this view and every other reader of an
|
|
@@ -67,7 +76,8 @@ export interface ControllerInventory {
|
|
|
67
76
|
* append require (both invisible through the `assertionMethod` accessor
|
|
68
77
|
* alone), plus the library's optional `admitAppend` admission hook made
|
|
69
78
|
* mandatory -- an account did:webvh document can list ladder VMs, so a view
|
|
70
|
-
* over one must
|
|
79
|
+
* over one must answer the admission question (the port's stated
|
|
80
|
+
* obligation), whichever log class's rule that answer comes from. The
|
|
71
81
|
* pre-append license check in the log-governed descriptor store calls
|
|
72
82
|
* `inventoryAt` directly, which is why the accessor stays on the type
|
|
73
83
|
* beside the hook: a verify-time refusal alone would poison the served log
|
|
@@ -96,9 +106,11 @@ export interface WebvhResourceLogController extends ResourceLogController {
|
|
|
96
106
|
* the log does not carry refuses instead of guessing, and `undefined`
|
|
97
107
|
* answers from the last entry (the current document).
|
|
98
108
|
*
|
|
99
|
-
* The returned view carries the `admitAppend` hook
|
|
100
|
-
*
|
|
101
|
-
*
|
|
109
|
+
* The returned view carries the `admitAppend` hook under the user key
|
|
110
|
+
* roster class's rule (`controllerForLogClass` narrows it for another log
|
|
111
|
+
* class): it resolves the inventory at the proof's controller versionId,
|
|
112
|
+
* and where the signing key is a ladder VM there it runs the ceremony-tail
|
|
113
|
+
* license
|
|
102
114
|
* (`assertLadderAppendLicensed`) --
|
|
103
115
|
* so ordinary client-signed appends admit untouched, and a ladder-signed
|
|
104
116
|
* append outside the license refuses with `ResourceLogLicenseError`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/resourceLog/controller.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/resourceLog/controller.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAA;AAOjC,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAGzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE;;;;;;;;OAQG;IACH,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC7D,WAAW,EAAE,WAAW,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAA;CAC/D;AA2FD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,0BAA0B,CA+E7B"}
|
|
@@ -92,9 +92,11 @@ function inventoryOf({ doc, did, entry }) {
|
|
|
92
92
|
* the log does not carry refuses instead of guessing, and `undefined`
|
|
93
93
|
* answers from the last entry (the current document).
|
|
94
94
|
*
|
|
95
|
-
* The returned view carries the `admitAppend` hook
|
|
96
|
-
*
|
|
97
|
-
*
|
|
95
|
+
* The returned view carries the `admitAppend` hook under the user key
|
|
96
|
+
* roster class's rule (`controllerForLogClass` narrows it for another log
|
|
97
|
+
* class): it resolves the inventory at the proof's controller versionId,
|
|
98
|
+
* and where the signing key is a ladder VM there it runs the ceremony-tail
|
|
99
|
+
* license
|
|
98
100
|
* (`assertLadderAppendLicensed`) --
|
|
99
101
|
* so ordinary client-signed appends admit untouched, and a ladder-signed
|
|
100
102
|
* append outside the license refuses with `ResourceLogLicenseError`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/resourceLog/controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/resourceLog/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,17 +4,16 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* The one refusal class the resource-log layer still owns after the generic
|
|
6
6
|
* client side moved to `@interop/vh-resource-log` -- the ceremony-tail
|
|
7
|
-
* license refusal --
|
|
8
|
-
*
|
|
9
|
-
* must not paper over with a cached copy). The generic
|
|
10
|
-
* (`ResourceLogIntegrityError`, `ResourceLogContinuityError`,
|
|
7
|
+
* license refusal -- beside a re-export of that library's read-side
|
|
8
|
+
* classification of its taxonomy ({@link isResourceLogRefusal}: which
|
|
9
|
+
* refusals a caller must not paper over with a cached copy). The generic
|
|
10
|
+
* taxonomy (`ResourceLogIntegrityError`, `ResourceLogContinuityError`,
|
|
11
11
|
* `ResourceLogClosedError`, `LogNotConfirmedError`, and the store port's
|
|
12
|
-
* `ResourceLogConflictError`)
|
|
13
|
-
* of
|
|
14
|
-
* assigns its `name` string explicitly and is
|
|
15
|
-
* package boundaries (the WC-64 rule; minified
|
|
16
|
-
*
|
|
17
|
-
* constructors and why this file stays import-free.
|
|
12
|
+
* `ResourceLogConflictError`) and the predicate over it are the library's;
|
|
13
|
+
* wallet-core defines none of them -- one owner per name. Like every class
|
|
14
|
+
* in that taxonomy, this one assigns its `name` string explicitly and is
|
|
15
|
+
* matched by `err.name` across package boundaries (the WC-64 rule; minified
|
|
16
|
+
* class names do not survive bundling).
|
|
18
17
|
*/
|
|
19
18
|
/**
|
|
20
19
|
* A ladder-signed append outside the ceremony-tail license: it is not the
|
|
@@ -32,38 +31,13 @@ export declare class ResourceLogLicenseError extends Error {
|
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
33
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* nothing worse than replication lag: the pin is never regressed and nothing
|
|
43
|
-
* rolled back is adopted, so serving the cached copy while a lagging replica
|
|
44
|
-
* catches up is exactly the offline case, and refusing there would lock a
|
|
45
|
-
* healthy account out of its own start. A `fork` or an SCID/method switch is
|
|
46
|
-
* a refusal like fabrication.
|
|
47
|
-
*
|
|
48
|
-
* `ResourceLogLicenseError` is deliberately absent, so a license refusal on a
|
|
49
|
-
* READ lands in the soft transport class (warn, serve cached). Ratified
|
|
50
|
-
* behavior, not omission: the log is not corrupt and the signer genuinely
|
|
51
|
-
* holds the credential, so the append is unlicensed rather than forged. The
|
|
52
|
-
* two shapes that argues against -- a compromised still-listed key holder,
|
|
53
|
-
* and a genuine unlicensed entry N masking a forged entry N+1 under whole-log
|
|
54
|
-
* first-failure semantics -- were weighed and accepted (WC-149). The
|
|
55
|
-
* pre-write half of the license is where the class does its work: a
|
|
56
|
-
* conformant writer is refused before an unlicensed entry can land.
|
|
57
|
-
*
|
|
58
|
-
* Matched on `err.name` rather than `instanceof`: these errors are raised
|
|
59
|
-
* inside app-injected seams that can resolve to a different copy of this
|
|
60
|
-
* package (linked, or duplicated through a dependency tree), and an
|
|
61
|
-
* `instanceof` miss would drop a security refusal into a caller's
|
|
62
|
-
* warn-and-proceed branch. Callers add only the names the generic taxonomy
|
|
63
|
-
* does not carry.
|
|
64
|
-
*
|
|
65
|
-
* @param err {unknown}
|
|
66
|
-
* @returns {boolean}
|
|
34
|
+
* The read-side classification of the library's taxonomy, re-exported so
|
|
35
|
+
* every consumer here keeps one owner per name: `true` for a fabricated log
|
|
36
|
+
* (`ResourceLogIntegrityError`) and for a `ResourceLogContinuityError` with
|
|
37
|
+
* any reason but `rollback`. The rollback carve-out and the deliberate
|
|
38
|
+
* absence of {@link ResourceLogLicenseError} from the set (a license refusal
|
|
39
|
+
* met on a READ lands in the soft transport class -- ratified under WC-149)
|
|
40
|
+
* are documented on the library's own definition.
|
|
67
41
|
*/
|
|
68
|
-
export
|
|
42
|
+
export { isResourceLogRefusal } from '@interop/vh-resource-log';
|
|
69
43
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/resourceLog/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/resourceLog/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED;;;;;;;;GAQG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -4,17 +4,16 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* The one refusal class the resource-log layer still owns after the generic
|
|
6
6
|
* client side moved to `@interop/vh-resource-log` -- the ceremony-tail
|
|
7
|
-
* license refusal --
|
|
8
|
-
*
|
|
9
|
-
* must not paper over with a cached copy). The generic
|
|
10
|
-
* (`ResourceLogIntegrityError`, `ResourceLogContinuityError`,
|
|
7
|
+
* license refusal -- beside a re-export of that library's read-side
|
|
8
|
+
* classification of its taxonomy ({@link isResourceLogRefusal}: which
|
|
9
|
+
* refusals a caller must not paper over with a cached copy). The generic
|
|
10
|
+
* taxonomy (`ResourceLogIntegrityError`, `ResourceLogContinuityError`,
|
|
11
11
|
* `ResourceLogClosedError`, `LogNotConfirmedError`, and the store port's
|
|
12
|
-
* `ResourceLogConflictError`)
|
|
13
|
-
* of
|
|
14
|
-
* assigns its `name` string explicitly and is
|
|
15
|
-
* package boundaries (the WC-64 rule; minified
|
|
16
|
-
*
|
|
17
|
-
* constructors and why this file stays import-free.
|
|
12
|
+
* `ResourceLogConflictError`) and the predicate over it are the library's;
|
|
13
|
+
* wallet-core defines none of them -- one owner per name. Like every class
|
|
14
|
+
* in that taxonomy, this one assigns its `name` string explicitly and is
|
|
15
|
+
* matched by `err.name` across package boundaries (the WC-64 rule; minified
|
|
16
|
+
* class names do not survive bundling).
|
|
18
17
|
*/
|
|
19
18
|
/**
|
|
20
19
|
* A ladder-signed append outside the ceremony-tail license: it is not the
|
|
@@ -33,45 +32,13 @@ export class ResourceLogLicenseError extends Error {
|
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* nothing worse than replication lag: the pin is never regressed and nothing
|
|
44
|
-
* rolled back is adopted, so serving the cached copy while a lagging replica
|
|
45
|
-
* catches up is exactly the offline case, and refusing there would lock a
|
|
46
|
-
* healthy account out of its own start. A `fork` or an SCID/method switch is
|
|
47
|
-
* a refusal like fabrication.
|
|
48
|
-
*
|
|
49
|
-
* `ResourceLogLicenseError` is deliberately absent, so a license refusal on a
|
|
50
|
-
* READ lands in the soft transport class (warn, serve cached). Ratified
|
|
51
|
-
* behavior, not omission: the log is not corrupt and the signer genuinely
|
|
52
|
-
* holds the credential, so the append is unlicensed rather than forged. The
|
|
53
|
-
* two shapes that argues against -- a compromised still-listed key holder,
|
|
54
|
-
* and a genuine unlicensed entry N masking a forged entry N+1 under whole-log
|
|
55
|
-
* first-failure semantics -- were weighed and accepted (WC-149). The
|
|
56
|
-
* pre-write half of the license is where the class does its work: a
|
|
57
|
-
* conformant writer is refused before an unlicensed entry can land.
|
|
58
|
-
*
|
|
59
|
-
* Matched on `err.name` rather than `instanceof`: these errors are raised
|
|
60
|
-
* inside app-injected seams that can resolve to a different copy of this
|
|
61
|
-
* package (linked, or duplicated through a dependency tree), and an
|
|
62
|
-
* `instanceof` miss would drop a security refusal into a caller's
|
|
63
|
-
* warn-and-proceed branch. Callers add only the names the generic taxonomy
|
|
64
|
-
* does not carry.
|
|
65
|
-
*
|
|
66
|
-
* @param err {unknown}
|
|
67
|
-
* @returns {boolean}
|
|
35
|
+
* The read-side classification of the library's taxonomy, re-exported so
|
|
36
|
+
* every consumer here keeps one owner per name: `true` for a fabricated log
|
|
37
|
+
* (`ResourceLogIntegrityError`) and for a `ResourceLogContinuityError` with
|
|
38
|
+
* any reason but `rollback`. The rollback carve-out and the deliberate
|
|
39
|
+
* absence of {@link ResourceLogLicenseError} from the set (a license refusal
|
|
40
|
+
* met on a READ lands in the soft transport class -- ratified under WC-149)
|
|
41
|
+
* are documented on the library's own definition.
|
|
68
42
|
*/
|
|
69
|
-
export
|
|
70
|
-
const candidate = err;
|
|
71
|
-
if (candidate?.name === 'ResourceLogIntegrityError') {
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
return (candidate?.name === 'ResourceLogContinuityError' &&
|
|
75
|
-
candidate.reason !== 'rollback');
|
|
76
|
-
}
|
|
43
|
+
export { isResourceLogRefusal } from '@interop/vh-resource-log';
|
|
77
44
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/resourceLog/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/resourceLog/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -9,14 +9,16 @@
|
|
|
9
9
|
* credential-inventory view, supplying the mandatory `admitAppend` admission
|
|
10
10
|
* hook), the ceremony-tail license the hook carries
|
|
11
11
|
* (`assertLadderAppendLicensed`, refusing with `ResourceLogLicenseError`),
|
|
12
|
-
*
|
|
12
|
+
* the log-class dispatch that says which log the license binds
|
|
13
|
+
* (`ResourceLogClass` / `controllerForLogClass`), and the import-free
|
|
14
|
+
* account-document leaf they are built on (`document.ts`
|
|
13
15
|
* -- relation resolution, ladder-VM recognition, the credential class),
|
|
14
16
|
* whose public home is `webvh`, which re-exports it.
|
|
15
17
|
* Everything generic -- the JSON Lines codec, the store port and
|
|
16
18
|
* `confirmAppend`, chain verification, the chain-head pin
|
|
17
19
|
* (`ResourceLogPinStore` and `resourceLogPinId`; the named slot-key builders
|
|
18
|
-
* stay on their owning subpaths: `accountLogPinId` in
|
|
19
|
-
* `
|
|
20
|
+
* stay on their owning subpaths: `logResourcePinId` and `accountLogPinId` in
|
|
21
|
+
* `webvh`, `userKeyRosterPinId` in `keys`),
|
|
20
22
|
* the append path, and the sealing sweep -- lives in the library, and this
|
|
21
23
|
* subpath re-exports none of it: one owner per name. Kept out of the root
|
|
22
24
|
* export: this subpath pulls the did:webvh and ed25519 dependency graph.
|
|
@@ -25,4 +27,5 @@ export { webvhResourceLogController, type ControllerInventory, type WebvhResourc
|
|
|
25
27
|
export { isResourceLogRefusal, ResourceLogLicenseError } from './errors.js';
|
|
26
28
|
export { attributeLadderRungsPerVersion, type LadderRungKeys } from './ladderRungs.js';
|
|
27
29
|
export { assertLadderAppendLicensed } from './license.js';
|
|
30
|
+
export { controllerForLogClass, type ResourceLogClass } from './logClass.js';
|
|
28
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resourceLog/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resourceLog/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EACL,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EACL,8BAA8B,EAC9B,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -9,14 +9,16 @@
|
|
|
9
9
|
* credential-inventory view, supplying the mandatory `admitAppend` admission
|
|
10
10
|
* hook), the ceremony-tail license the hook carries
|
|
11
11
|
* (`assertLadderAppendLicensed`, refusing with `ResourceLogLicenseError`),
|
|
12
|
-
*
|
|
12
|
+
* the log-class dispatch that says which log the license binds
|
|
13
|
+
* (`ResourceLogClass` / `controllerForLogClass`), and the import-free
|
|
14
|
+
* account-document leaf they are built on (`document.ts`
|
|
13
15
|
* -- relation resolution, ladder-VM recognition, the credential class),
|
|
14
16
|
* whose public home is `webvh`, which re-exports it.
|
|
15
17
|
* Everything generic -- the JSON Lines codec, the store port and
|
|
16
18
|
* `confirmAppend`, chain verification, the chain-head pin
|
|
17
19
|
* (`ResourceLogPinStore` and `resourceLogPinId`; the named slot-key builders
|
|
18
|
-
* stay on their owning subpaths: `accountLogPinId` in
|
|
19
|
-
* `
|
|
20
|
+
* stay on their owning subpaths: `logResourcePinId` and `accountLogPinId` in
|
|
21
|
+
* `webvh`, `userKeyRosterPinId` in `keys`),
|
|
20
22
|
* the append path, and the sealing sweep -- lives in the library, and this
|
|
21
23
|
* subpath re-exports none of it: one owner per name. Kept out of the root
|
|
22
24
|
* export: this subpath pulls the did:webvh and ed25519 dependency graph.
|
|
@@ -25,4 +27,5 @@ export { webvhResourceLogController } from './controller.js';
|
|
|
25
27
|
export { isResourceLogRefusal, ResourceLogLicenseError } from './errors.js';
|
|
26
28
|
export { attributeLadderRungsPerVersion } from './ladderRungs.js';
|
|
27
29
|
export { assertLadderAppendLicensed } from './license.js';
|
|
30
|
+
export { controllerForLogClass } from './logClass.js';
|
|
28
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resourceLog/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resourceLog/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EACL,0BAA0B,EAG3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EACL,8BAA8B,EAE/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAyB,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The resource-log CLASS dispatch: which admission rule a controller view
|
|
6
|
+
* carries for the log it is about to verify or extend. One account document
|
|
7
|
+
* governs several logs -- the user key roster log, and one encryption
|
|
8
|
+
* descriptor log per governed collection -- so the rule is a property of the
|
|
9
|
+
* log, not of the document, and the adapter that reads the document
|
|
10
|
+
* (`webvhResourceLogController`) cannot know which log its view is about to
|
|
11
|
+
* serve. The class therefore rides the STORE, which is built for exactly one
|
|
12
|
+
* log and states its class at construction; the store passes its resolved
|
|
13
|
+
* view through {@link controllerForLogClass} before every read and every
|
|
14
|
+
* append, so read-side verification and write-side admission run under the
|
|
15
|
+
* same rule and no call site can exempt itself.
|
|
16
|
+
*
|
|
17
|
+
* The rules, one per member of {@link ResourceLogClass}. A new log class is
|
|
18
|
+
* added to the union with its rule stated here, rather than by exempting a
|
|
19
|
+
* caller (app-connect-spec `decisions/0003`, "Scope").
|
|
20
|
+
*/
|
|
21
|
+
import type { WebvhResourceLogController } from './controller.js';
|
|
22
|
+
/**
|
|
23
|
+
* The classes of resource log this wallet verifies, each naming the rule its
|
|
24
|
+
* views admit ladder-signed appends under.
|
|
25
|
+
*
|
|
26
|
+
* - `'user-key-roster'`: the user key roster log (`key-map/user-key.jsonl`),
|
|
27
|
+
* the log governing the account's root key. A ladder-signed append to it
|
|
28
|
+
* carries the ceremony-tail license (clause B of the ladder VM's authority
|
|
29
|
+
* clauses): one of the license's enumerated shapes, one-shot per licensed
|
|
30
|
+
* controller version, at most one ladder proof per entry. This is the
|
|
31
|
+
* adapter's own view, unchanged.
|
|
32
|
+
* - `'collection-descriptor'`: a per-collection encryption descriptor log
|
|
33
|
+
* (one per governed collection, the encrypted-collections profile's log
|
|
34
|
+
* form). A ladder-signed append admits on `assertionMethod` membership at
|
|
35
|
+
* the anchored version alone, with no shape check and no one-shot. The
|
|
36
|
+
* license exists to refuse the silent rekey of the account's root key to
|
|
37
|
+
* recipients of a credential thief's choosing; a descriptor append escrows
|
|
38
|
+
* one recipient into one collection and lands as a hash-chained entry
|
|
39
|
+
* signed by that credential's ladder VM, auditable by the account's clients
|
|
40
|
+
* and attributable to the credential, so the bound it leaves is
|
|
41
|
+
* detect-and-remediate rather than silence.
|
|
42
|
+
*/
|
|
43
|
+
export type ResourceLogClass = 'user-key-roster' | 'collection-descriptor';
|
|
44
|
+
/**
|
|
45
|
+
* Returns the controller view a log of the given class must be verified and
|
|
46
|
+
* appended to under: the adapter's licensed view for the roster class, and a
|
|
47
|
+
* view identical in every other member with a membership-only `admitAppend`
|
|
48
|
+
* for the collection-descriptor class.
|
|
49
|
+
*
|
|
50
|
+
* The hook stays a real function rather than being dropped, because the
|
|
51
|
+
* wallet-core extended view makes it mandatory: an account document can list
|
|
52
|
+
* ladder VMs, so a view over one always answers the question, and the
|
|
53
|
+
* collection-descriptor answer is "membership is enough". The library
|
|
54
|
+
* verifier has already settled `assertionMethod` membership at the entry's
|
|
55
|
+
* anchored controller version before the hook runs, so the hook resolves
|
|
56
|
+
* nothing and returns.
|
|
57
|
+
*
|
|
58
|
+
* @param options {object}
|
|
59
|
+
* @param options.controller {WebvhResourceLogController} the adapter's
|
|
60
|
+
* view over the verified account log
|
|
61
|
+
* @param options.logClass {ResourceLogClass} the class of the log this view
|
|
62
|
+
* will serve
|
|
63
|
+
* @returns {WebvhResourceLogController}
|
|
64
|
+
*/
|
|
65
|
+
export declare function controllerForLogClass({ controller, logClass }: {
|
|
66
|
+
controller: WebvhResourceLogController;
|
|
67
|
+
logClass: ResourceLogClass;
|
|
68
|
+
}): WebvhResourceLogController;
|
|
69
|
+
//# sourceMappingURL=logClass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logClass.d.ts","sourceRoot":"","sources":["../../src/resourceLog/logClass.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,uBAAuB,CAAA;AAE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,QAAQ,EACT,EAAE;IACD,UAAU,EAAE,0BAA0B,CAAA;IACtC,QAAQ,EAAE,gBAAgB,CAAA;CAC3B,GAAG,0BAA0B,CAsB7B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the controller view a log of the given class must be verified and
|
|
3
|
+
* appended to under: the adapter's licensed view for the roster class, and a
|
|
4
|
+
* view identical in every other member with a membership-only `admitAppend`
|
|
5
|
+
* for the collection-descriptor class.
|
|
6
|
+
*
|
|
7
|
+
* The hook stays a real function rather than being dropped, because the
|
|
8
|
+
* wallet-core extended view makes it mandatory: an account document can list
|
|
9
|
+
* ladder VMs, so a view over one always answers the question, and the
|
|
10
|
+
* collection-descriptor answer is "membership is enough". The library
|
|
11
|
+
* verifier has already settled `assertionMethod` membership at the entry's
|
|
12
|
+
* anchored controller version before the hook runs, so the hook resolves
|
|
13
|
+
* nothing and returns.
|
|
14
|
+
*
|
|
15
|
+
* @param options {object}
|
|
16
|
+
* @param options.controller {WebvhResourceLogController} the adapter's
|
|
17
|
+
* view over the verified account log
|
|
18
|
+
* @param options.logClass {ResourceLogClass} the class of the log this view
|
|
19
|
+
* will serve
|
|
20
|
+
* @returns {WebvhResourceLogController}
|
|
21
|
+
*/
|
|
22
|
+
export function controllerForLogClass({ controller, logClass }) {
|
|
23
|
+
switch (logClass) {
|
|
24
|
+
case 'user-key-roster':
|
|
25
|
+
return controller;
|
|
26
|
+
case 'collection-descriptor':
|
|
27
|
+
return {
|
|
28
|
+
...controller,
|
|
29
|
+
async admitAppend() {
|
|
30
|
+
// Membership at the anchored version is the whole rule for this
|
|
31
|
+
// class, and the verifier has already checked it.
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
default: {
|
|
36
|
+
// Fail closed: a class this dispatch does not name (a cast, a caller
|
|
37
|
+
// outside the type system) gets no rule, not the permissive one.
|
|
38
|
+
const unknown = logClass;
|
|
39
|
+
throw new TypeError(`Unknown resource-log class ${JSON.stringify(unknown)}.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=logClass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logClass.js","sourceRoot":"","sources":["../../src/resourceLog/logClass.ts"],"names":[],"mappings":"AA6CA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,EACV,QAAQ,EAIT;IACC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,iBAAiB;YACpB,OAAO,UAAU,CAAA;QACnB,KAAK,uBAAuB;YAC1B,OAAO;gBACL,GAAG,UAAU;gBACb,KAAK,CAAC,WAAW;oBACf,gEAAgE;oBAChE,kDAAkD;oBAClD,OAAM;gBACR,CAAC;aACF,CAAA;QACH,OAAO,CAAC,CAAC,CAAC;YACR,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,OAAO,GAAU,QAAQ,CAAA;YAC/B,MAAM,IAAI,SAAS,CACjB,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CACzD,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -25,8 +25,10 @@ export declare const APP_CONNECTIONS_COLLECTION = "app-connections";
|
|
|
25
25
|
* friendly display name both wallets pass as the server-side collection name,
|
|
26
26
|
* and the storage attributes --
|
|
27
27
|
*
|
|
28
|
-
* - `encryption` -- `'edv'` stores each document as
|
|
29
|
-
* stores it verbatim.
|
|
28
|
+
* - `encryption` -- how documents are stored: `'edv'` stores each document as
|
|
29
|
+
* an EDV envelope, `'plaintext'` stores it verbatim. It says nothing about
|
|
30
|
+
* where the `encryption` descriptor lives; an `edv` collection is created
|
|
31
|
+
* bare and declared encrypted by its governing history log's genesis.
|
|
30
32
|
* - `isPublic` -- whether the collection is granted collection-level world read
|
|
31
33
|
* on the server.
|
|
32
34
|
*/
|
|
@@ -219,6 +221,24 @@ export declare const DID_KEYS_RESOURCE = "keys.json";
|
|
|
219
221
|
* directly with a compare-and-swap etag -- never replicated.
|
|
220
222
|
*/
|
|
221
223
|
export declare const USER_KEY_ROSTER_LOG_RESOURCE = "user-key.jsonl";
|
|
224
|
+
/**
|
|
225
|
+
* The governing history log of every encrypted wallet collection: the
|
|
226
|
+
* per-collection encryption descriptor log, at the Collection's own
|
|
227
|
+
* `meta/log` sub-resource.
|
|
228
|
+
*
|
|
229
|
+
* It is a Collection SUB-RESOURCE under the reserved `meta` segment, not a
|
|
230
|
+
* Resource in the Collection: it is absent from listings and from the changes
|
|
231
|
+
* feed, exempt from the envelope rule, covered by any capability whose target
|
|
232
|
+
* covers the Collection, and created and deleted with the Collection. Its
|
|
233
|
+
* body is plaintext JSON Lines, one signed entry per line, and the verified
|
|
234
|
+
* head entry's state IS the collection's `encryption` descriptor -- the
|
|
235
|
+
* server derives the Collection Description's `encryption` member from it, so
|
|
236
|
+
* no client writes that member on a governed collection.
|
|
237
|
+
*
|
|
238
|
+
* The transport is was-client's `resourceLogStore({ collection })`, which
|
|
239
|
+
* reads and writes exactly this sub-resource through the Collection handle.
|
|
240
|
+
*/
|
|
241
|
+
export declare const COLLECTION_HISTORY_LOG_SUBRESOURCE = "meta/log";
|
|
222
242
|
/**
|
|
223
243
|
* The enrolled-client display labels, sibling of `keys.json` and
|
|
224
244
|
* `user-key.jsonl` in the same private `key-map` collection: a plain-JSON map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"AA2BA;;;;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;AAE3D
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"AA2BA;;;;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;AAE3D;;;;;;;;;;;GAWG;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;;;;;;;;;;;;;;;;;GAiBG;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,mBAQjD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,mBAQhD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAQ7C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,mBAM5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,EAAE,mBAMpD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAQ7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,aAAa;;;CAAiC,CAAA;AAC3D,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AACpE,eAAO,MAAM,yBAAyB;;;CAGrC,CAAA;AACD,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AAEpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAKrC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,kBAK5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAO1D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAIzD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,EAG7D,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;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,iBAAiB,CAAA;AACrD;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAA"}
|