@interop/wallet-core 0.103.0 → 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.
Files changed (52) hide show
  1. package/README.md +5 -2
  2. package/dist/clientAnnex/grantRevocation.d.ts +0 -8
  3. package/dist/clientAnnex/grantRevocation.d.ts.map +1 -1
  4. package/dist/clientAnnex/grantRevocation.js +1 -17
  5. package/dist/clientAnnex/grantRevocation.js.map +1 -1
  6. package/dist/clientAnnex/index.d.ts +2 -1
  7. package/dist/clientAnnex/index.d.ts.map +1 -1
  8. package/dist/clientAnnex/index.js +2 -1
  9. package/dist/clientAnnex/index.js.map +1 -1
  10. package/dist/clientAnnex/log.d.ts +2 -41
  11. package/dist/clientAnnex/log.d.ts.map +1 -1
  12. package/dist/clientAnnex/log.js +5 -63
  13. package/dist/clientAnnex/log.js.map +1 -1
  14. package/dist/connections/grantProof.d.ts +64 -0
  15. package/dist/connections/grantProof.d.ts.map +1 -0
  16. package/dist/connections/grantProof.js +195 -0
  17. package/dist/connections/grantProof.js.map +1 -0
  18. package/dist/connections/index.d.ts +10 -3
  19. package/dist/connections/index.d.ts.map +1 -1
  20. package/dist/connections/index.js +9 -3
  21. package/dist/connections/index.js.map +1 -1
  22. package/dist/connections/upsert.d.ts +34 -1
  23. package/dist/connections/upsert.d.ts.map +1 -1
  24. package/dist/connections/upsert.js +49 -3
  25. package/dist/connections/upsert.js.map +1 -1
  26. package/dist/resourceLog/controller.d.ts +11 -7
  27. package/dist/resourceLog/controller.d.ts.map +1 -1
  28. package/dist/resourceLog/controller.js +15 -31
  29. package/dist/resourceLog/controller.js.map +1 -1
  30. package/dist/resourceLog/document.d.ts +9 -11
  31. package/dist/resourceLog/document.d.ts.map +1 -1
  32. package/dist/resourceLog/document.js +9 -11
  33. package/dist/resourceLog/document.js.map +1 -1
  34. package/dist/unlock/index.d.ts +1 -1
  35. package/dist/unlock/index.d.ts.map +1 -1
  36. package/dist/unlock/index.js +1 -1
  37. package/dist/unlock/index.js.map +1 -1
  38. package/dist/webvh/clientAnnexDid.d.ts +76 -0
  39. package/dist/webvh/clientAnnexDid.d.ts.map +1 -0
  40. package/dist/webvh/clientAnnexDid.js +117 -0
  41. package/dist/webvh/clientAnnexDid.js.map +1 -0
  42. package/dist/webvh/documentDids.d.ts +3 -3
  43. package/dist/webvh/documentDids.js +3 -3
  44. package/dist/webvh/index.d.ts +1 -1
  45. package/dist/webvh/index.d.ts.map +1 -1
  46. package/dist/webvh/index.js +1 -1
  47. package/dist/webvh/index.js.map +1 -1
  48. package/dist/webvh/standingZcap.d.ts +11 -3
  49. package/dist/webvh/standingZcap.d.ts.map +1 -1
  50. package/dist/webvh/standingZcap.js +20 -10
  51. package/dist/webvh/standingZcap.js.map +1 -1
  52. package/package.json +5 -4
@@ -0,0 +1,195 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * The proof check a recorded grant passes before the wallet renews it under
6
+ * the account's authority: whether the grant's delegation proof was signed
7
+ * by a key the locally verified account document lists now, with the
8
+ * signature verified over the capability rather than the signer's name
9
+ * matched alone.
10
+ *
11
+ * The check exists because only the host can plant a directory entry, and a
12
+ * host colluding with a withdrawn party that kept the directory's
13
+ * blinded-index key can write an agent entry at a valid id carrying forged
14
+ * grants whose proofs name a current key. A renewal pass that matched the
15
+ * proof's `verificationMethod` against the document and verified no
16
+ * signature would then sign real account delegations for the planted party.
17
+ *
18
+ * Two arms, by how the grant was delegated. A grant delegated straight under
19
+ * the Space root is signed by an enrolled client's key or a ladder VM, and
20
+ * its own proof is verified: the signer must stand under
21
+ * `capabilityDelegation` in the current document, and the signature must
22
+ * verify over the capability under that key. A grant a transient session
23
+ * minted chains under the generation delegation embedded as the last link
24
+ * of its `proof.capabilityChain`, and the parent is what is verified: it
25
+ * must be delegated to an annex DID in the account's auxiliary Space (the
26
+ * Space the account's delegated-clients pointer names, compared by host and
27
+ * Space id, so a grant minted under a generation a later GC collected still
28
+ * passes), and its own proof must verify under a key or ladder VM the
29
+ * current document lists. The leaf's per-visit annex VM is not verified:
30
+ * once its generation is collected its method is gone, and the account
31
+ * document never listed it.
32
+ */
33
+ import { DataIntegrityProof } from '@interop/data-integrity-proof';
34
+ import { createVerifyCryptosuite } from '@interop/ed25519-signature/eddsa-jcs-2022';
35
+ import { memberKeyMultibase, relationKeyMultibases, relationMemberNamed, vmFragmentOf } from '@interop/vh-resource-log';
36
+ import { embeddedParentCapability, firstDelegationProof } from '../webvh/index.js';
37
+ import { parseClientAnnexDid } from '../webvh/clientAnnexDid.js';
38
+ /**
39
+ * The suite every delegation proof this library mints carries, and the one
40
+ * this check verifies.
41
+ */
42
+ const DELEGATION_PROOF_SHAPE = {
43
+ type: 'DataIntegrityProof',
44
+ cryptosuite: 'eddsa-jcs-2022',
45
+ proofPurpose: 'capabilityDelegation'
46
+ };
47
+ /**
48
+ * Verifies one capability's delegation proof against the current document:
49
+ * the signer must stand under `capabilityDelegation`, and the signature must
50
+ * verify over the capability under that key. The key material is what the
51
+ * document publishes for the signer, so no resolver is consulted. A proof
52
+ * naming a `capabilityDelegation` member of the document (`${did}#${fragment}`
53
+ * dereferenced through the library's `relationMemberNamed`) verifies under
54
+ * that member's `publicKeyMultibase`; the fragment is an opaque selector and
55
+ * is never read as the key, the rule the library's own log verifier applies.
56
+ * A proof naming the did:key form of a key (`did:key:<key>#<key>`, the form a
57
+ * client signs under) verifies under that key when the relation publishes it.
58
+ * A proof set is read by its first proof, as every other reader of a
59
+ * delegation does.
60
+ *
61
+ * @param options {object}
62
+ * @param options.zcap {IZcap} the capability, proof included
63
+ * @param options.doc {PublishedKeyDocument} the locally verified account
64
+ * document
65
+ * @returns {Promise<GrantProofResult>}
66
+ */
67
+ async function verifyDelegationProof({ zcap, doc }) {
68
+ const { proof: _proof, ...document } = zcap;
69
+ const single = firstDelegationProof(zcap);
70
+ if (single === undefined || typeof single.verificationMethod !== 'string') {
71
+ return { verified: false, reason: 'unsigned' };
72
+ }
73
+ if (single.type !== DELEGATION_PROOF_SHAPE.type ||
74
+ single.cryptosuite !== DELEGATION_PROOF_SHAPE.cryptosuite ||
75
+ single.proofPurpose !== DELEGATION_PROOF_SHAPE.proofPurpose) {
76
+ return { verified: false, reason: 'unsupported-suite' };
77
+ }
78
+ const signerKeyId = single.verificationMethod;
79
+ const keyMultibase = listedSignerKey({ doc, signerKeyId });
80
+ if (keyMultibase === undefined) {
81
+ return { verified: false, reason: 'signer-unlisted' };
82
+ }
83
+ const suite = new DataIntegrityProof({
84
+ cryptosuite: createVerifyCryptosuite()
85
+ });
86
+ // The suite's verify step edits the document's `@context` in place and
87
+ // the proof's copy is read beside it, so both are handed over as copies.
88
+ const result = await suite.verifyProof({
89
+ proof: structuredClone(single),
90
+ document: structuredClone(document),
91
+ documentLoader: async (url) => {
92
+ if (url !== signerKeyId) {
93
+ throw new Error(`No document is served for "${url}".`);
94
+ }
95
+ return {
96
+ documentUrl: url,
97
+ document: {
98
+ id: signerKeyId,
99
+ type: 'Multikey',
100
+ controller: signerKeyId.slice(0, signerKeyId.indexOf('#')),
101
+ publicKeyMultibase: keyMultibase
102
+ }
103
+ };
104
+ }
105
+ });
106
+ if (!result.verified) {
107
+ return { verified: false, reason: 'signature-invalid' };
108
+ }
109
+ return { verified: true, signerKeyId };
110
+ }
111
+ /**
112
+ * The key the document publishes under `capabilityDelegation` for a proof's
113
+ * `verificationMethod` DID URL, or `undefined` when the URL names no listed
114
+ * key. A URL under the document's DID dereferences to the member it names
115
+ * and takes that member's published key. A did:key URL carries its key in
116
+ * the DID itself and must name a key the relation publishes.
117
+ *
118
+ * @param options {object}
119
+ * @param options.doc {PublishedKeyDocument}
120
+ * @param options.signerKeyId {string} the proof's `verificationMethod`
121
+ * @returns {string | undefined}
122
+ */
123
+ function listedSignerKey({ doc, signerKeyId }) {
124
+ const hash = signerKeyId.indexOf('#');
125
+ const fragment = vmFragmentOf(signerKeyId);
126
+ if (hash === -1 || fragment === undefined) {
127
+ return undefined;
128
+ }
129
+ const did = signerKeyId.slice(0, hash);
130
+ const relation = 'capabilityDelegation';
131
+ const member = relationMemberNamed({ doc, relation, did, fragment });
132
+ if (member !== undefined) {
133
+ return memberKeyMultibase(member);
134
+ }
135
+ if (did === `did:key:${fragment}` &&
136
+ relationKeyMultibases({ doc, relation }).has(fragment)) {
137
+ return fragment;
138
+ }
139
+ return undefined;
140
+ }
141
+ /**
142
+ * Whether two annex DIDs name the same auxiliary Space: the same host and
143
+ * the same Space id, whatever their generations. A string that is not an
144
+ * annex DID names no Space.
145
+ *
146
+ * @param options {object}
147
+ * @param options.did {string}
148
+ * @param options.other {string}
149
+ * @returns {boolean}
150
+ */
151
+ function sameAuxiliarySpace({ did, other }) {
152
+ const parts = parseClientAnnexDid(did);
153
+ const otherParts = parseClientAnnexDid(other);
154
+ return (parts !== undefined &&
155
+ otherParts !== undefined &&
156
+ parts.host === otherParts.host &&
157
+ parts.spaceId === otherParts.spaceId);
158
+ }
159
+ /**
160
+ * Whether a recorded grant's delegation proof verifies as this account's,
161
+ * against the locally verified account document. A grant with no embedded
162
+ * parent is verified by its own proof (the root arm); a grant embedding its
163
+ * parent delegation as the last link of its `proof.capabilityChain` is
164
+ * verified by that parent's proof, after the parent's `controller` is found
165
+ * to be an annex DID in the account's auxiliary Space (the annex arm). A
166
+ * refusal says why. The check reads the current document alone, with no log
167
+ * history and no network.
168
+ *
169
+ * @param options {object}
170
+ * @param options.zcap {ConnectionZcap} the recorded capability, verbatim
171
+ * @param options.signerCheck {object} what the grant is read against
172
+ * @param options.signerCheck.doc {PublishedKeyDocument} the locally
173
+ * verified account document
174
+ * @param [options.signerCheck.clientAnnexDid] {string} the annex DID the
175
+ * document's delegated-clients pointer currently names; absent when it
176
+ * names none, which refuses every annex-arm grant
177
+ * @returns {Promise<GrantProofResult>}
178
+ */
179
+ export async function verifyRecordedGrantProof({ zcap, signerCheck }) {
180
+ const parent = embeddedParentCapability(zcap);
181
+ if (parent === undefined) {
182
+ return verifyDelegationProof({
183
+ zcap: zcap,
184
+ doc: signerCheck.doc
185
+ });
186
+ }
187
+ const { controller } = parent;
188
+ if (typeof controller !== 'string' ||
189
+ signerCheck.clientAnnexDid === undefined ||
190
+ !sameAuxiliarySpace({ did: controller, other: signerCheck.clientAnnexDid })) {
191
+ return { verified: false, reason: 'parent-not-annex' };
192
+ }
193
+ return verifyDelegationProof({ zcap: parent, doc: signerCheck.doc });
194
+ }
195
+ //# sourceMappingURL=grantProof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grantProof.js","sourceRoot":"","sources":["../../src/connections/grantProof.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,12 @@
25
25
  * `unretireConnection`, `setConnectionLabel`) and their kind refusal
26
26
  * (`ConnectionKindMismatchError`), and the agent-connection helpers
27
27
  * (`recordReceivedGrants`, `recordRenewedGrants`, `settleOutboxItem`,
28
- * `pruneSupersededGrants`, `clearReceivedGrants`, `markDeclined`).
28
+ * `pruneSupersededGrants`, `dropReceivedGrant`, `clearReceivedGrants`,
29
+ * `markDeclined`).
30
+ * - The proof check a renewal runs over a recorded grant
31
+ * (`verifyRecordedGrantProof`), which verifies the delegation signature
32
+ * under a key the current document lists, and the action-set readers
33
+ * (`allowsAction`, `normalizedActions`).
29
34
  * - The writer arm: lazy registration (`registerConnectionWriter`), the
30
35
  * pull-path touch (`touchConnectionWriter`), the per-entry sweep
31
36
  * (`sweepConnectionWriters`), and `resolveWriter` for history views.
@@ -41,11 +46,13 @@ export { wasConnectionsStore } from './store.js';
41
46
  export type { ConnectionsStore, StoredConnection } from './store.js';
42
47
  export { findConnection, readConnections } from './read.js';
43
48
  export type { ConnectionsListing, ReadConnection } from './read.js';
44
- export { AGENT_GRANT_RENEWAL_WINDOW_MS, agentConnectionsSignedBy, agentGrantDue, collectionIdInSpace, connectionGrants, grantRecipientKid, grantTargets, isTargetInSpace, grantScopeKey, latestGrantsPerScope, latestIndexPerScope, liveInboxChannel, receivedGrantLapsed, receivedGrants, renewalScopeGrants, splitGrantsByExpiry } from './grants.js';
49
+ export { AGENT_GRANT_RENEWAL_WINDOW_MS, agentConnectionsSignedBy, agentGrantDue, allowsAction, collectionIdInSpace, connectionGrants, grantRecipientKid, grantTargets, isTargetInSpace, grantScopeKey, latestGrantsPerScope, latestIndexPerScope, liveInboxChannel, normalizedActions, receivedGrantLapsed, receivedGrants, renewalScopeGrants, splitGrantsByExpiry } from './grants.js';
45
50
  export type { ConnectionGrant, ConnectionReceivedGrant } from './grants.js';
51
+ export { verifyRecordedGrantProof } from './grantProof.js';
52
+ export type { GrantProofRefusal, GrantProofResult } from './grantProof.js';
46
53
  export { connectionDidKey, connectionRecipientKid, signingKeyMultibaseOfDid } from './didKey.js';
47
54
  export { ConnectionKindMismatchError } from './errors.js';
48
- export { clearReceivedGrants, markDeclined, pruneSupersededGrants, recordGrants, recordReceivedGrants, recordRenewedGrants, removeGrants, retireConnection, setConnectionLabel, settleOutboxItem, unretireConnection } from './upsert.js';
55
+ export { clearReceivedGrants, dropReceivedGrant, markDeclined, pruneSupersededGrants, recordGrants, recordReceivedGrants, recordRenewedGrants, removeGrants, retireConnection, setConnectionLabel, settleOutboxItem, unretireConnection } from './upsert.js';
49
56
  export type { ConnectionWriteOutcome, ConnectionWriteResult } from './upsert.js';
50
57
  export { registerConnectionWriter, resolveWriter, sweepConnectionWriters, touchConnectionWriter } from './writers.js';
51
58
  export type { ConnectionWritersSweep, ResolvedWriter, WriterFirstSeenRecord, WriterFirstSeenStore, WriterRegistrationOutcome, WriterTouchOutcome } from './writers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -25,7 +25,12 @@
25
25
  * `unretireConnection`, `setConnectionLabel`) and their kind refusal
26
26
  * (`ConnectionKindMismatchError`), and the agent-connection helpers
27
27
  * (`recordReceivedGrants`, `recordRenewedGrants`, `settleOutboxItem`,
28
- * `pruneSupersededGrants`, `clearReceivedGrants`, `markDeclined`).
28
+ * `pruneSupersededGrants`, `dropReceivedGrant`, `clearReceivedGrants`,
29
+ * `markDeclined`).
30
+ * - The proof check a renewal runs over a recorded grant
31
+ * (`verifyRecordedGrantProof`), which verifies the delegation signature
32
+ * under a key the current document lists, and the action-set readers
33
+ * (`allowsAction`, `normalizedActions`).
29
34
  * - The writer arm: lazy registration (`registerConnectionWriter`), the
30
35
  * pull-path touch (`touchConnectionWriter`), the per-entry sweep
31
36
  * (`sweepConnectionWriters`), and `resolveWriter` for history views.
@@ -37,10 +42,11 @@ export { CONNECTION_ENTRY_VERSION, CONNECTION_KINDS, CONNECTION_SEED_BYTES, CONN
37
42
  export { CONNECTIONS_ID_PREFIX, connectionResourceId, connectionSeedTag, verifyConnectionSeedTag } from './resourceId.js';
38
43
  export { wasConnectionsStore } from './store.js';
39
44
  export { findConnection, readConnections } from './read.js';
40
- export { AGENT_GRANT_RENEWAL_WINDOW_MS, agentConnectionsSignedBy, agentGrantDue, collectionIdInSpace, connectionGrants, grantRecipientKid, grantTargets, isTargetInSpace, grantScopeKey, latestGrantsPerScope, latestIndexPerScope, liveInboxChannel, receivedGrantLapsed, receivedGrants, renewalScopeGrants, splitGrantsByExpiry } from './grants.js';
45
+ export { AGENT_GRANT_RENEWAL_WINDOW_MS, agentConnectionsSignedBy, agentGrantDue, allowsAction, collectionIdInSpace, connectionGrants, grantRecipientKid, grantTargets, isTargetInSpace, grantScopeKey, latestGrantsPerScope, latestIndexPerScope, liveInboxChannel, normalizedActions, receivedGrantLapsed, receivedGrants, renewalScopeGrants, splitGrantsByExpiry } from './grants.js';
46
+ export { verifyRecordedGrantProof } from './grantProof.js';
41
47
  export { connectionDidKey, connectionRecipientKid, signingKeyMultibaseOfDid } from './didKey.js';
42
48
  export { ConnectionKindMismatchError } from './errors.js';
43
- export { clearReceivedGrants, markDeclined, pruneSupersededGrants, recordGrants, recordReceivedGrants, recordRenewedGrants, removeGrants, retireConnection, setConnectionLabel, settleOutboxItem, unretireConnection } from './upsert.js';
49
+ export { clearReceivedGrants, dropReceivedGrant, markDeclined, pruneSupersededGrants, recordGrants, recordReceivedGrants, recordRenewedGrants, removeGrants, retireConnection, setConnectionLabel, settleOutboxItem, unretireConnection } from './upsert.js';
44
50
  export { registerConnectionWriter, resolveWriter, sweepConnectionWriters, touchConnectionWriter } from './writers.js';
45
51
  export { normalizeDisplayName } from '../labelText.js';
46
52
  export { CONNECTIONS_COLLECTION } from '../space/collections.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAanB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,cAAc,CAAA;AASrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAanB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,cAAc,CAAA;AASrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -91,6 +91,13 @@ export declare function writeConnection<Stop>({ store, hmacKey, resourceId, chan
91
91
  * grant of one call carries the same `grantedAt`. A zero-grant consent
92
92
  * writes too, so an App Connect app with no grants is indexed by its key.
93
93
  *
94
+ * With `unlessRetired`, a retired entry is left as stored and the result's
95
+ * outcome is `unchanged`. A party's own fresh consent un-retires its entry,
96
+ * and a restore the owner runs from a listing does not: the entry was
97
+ * retired by a revoke that landed after that listing was read, and the
98
+ * restore must not undo it. The check runs inside the compare-and-swap, so
99
+ * a revoke racing the write is met on the re-read.
100
+ *
94
101
  * A `message` (an envelope carrying exactly the grants of this call) is
95
102
  * queued on `outbox` in the same write, stamped `now`, so a restore that
96
103
  * records fresh grants and owes the party their envelope has no tear between
@@ -130,10 +137,12 @@ export declare function writeConnection<Stop>({ store, hmacKey, resourceId, chan
130
137
  * @param [options.seedTag] {string} the seed's tag (`connectionSeedTag`)
131
138
  * @param [options.message] {object} an envelope to queue on `outbox` with
132
139
  * the consent, carrying exactly the grants of this call
140
+ * @param [options.unlessRetired] {boolean} leave a retired entry as
141
+ * stored, with the outcome `unchanged`
133
142
  * @param [options.now] {Date}
134
143
  * @returns {Promise<ConnectionWriteResult>}
135
144
  */
136
- export declare function recordGrants({ store, hmacKey, did, kind, spaceUrl, grants, name, origin, url, appKey, seed, seedTag, message, now }: {
145
+ export declare function recordGrants({ store, hmacKey, did, kind, spaceUrl, grants, name, origin, url, appKey, seed, seedTag, message, unlessRetired, now }: {
137
146
  store: ConnectionsStore;
138
147
  hmacKey: ConnectionIdKey;
139
148
  did: string;
@@ -150,6 +159,7 @@ export declare function recordGrants({ store, hmacKey, did, kind, spaceUrl, gran
150
159
  seed?: string;
151
160
  seedTag?: string;
152
161
  message?: Record<string, unknown>;
162
+ unlessRetired?: boolean;
153
163
  now?: Date;
154
164
  }): Promise<ConnectionWriteResult>;
155
165
  /**
@@ -435,6 +445,29 @@ export declare function clearReceivedGrants({ store, hmacKey, did }: {
435
445
  hmacKey: ConnectionIdKey;
436
446
  did: string;
437
447
  }): Promise<ConnectionWriteResult>;
448
+ /**
449
+ * Drops one record from the party's `grantsReceived` by its capability id,
450
+ * and leaves `outbox` as it is: what a push refused by the party's server
451
+ * (a 401, a 403, or a WAS host's masked 404) does with the channel it went
452
+ * through, since the refusal says the capability is expired or revoked. The
453
+ * queued envelopes stay for the party's next invitation, and a replacement
454
+ * channel the party then hands over is stored by `recordReceivedGrants`
455
+ * whatever its `expires`, since the dropped record is gone. A record not
456
+ * held writes nothing, and an absent entry writes nothing.
457
+ *
458
+ * @param options {object}
459
+ * @param options.store {ConnectionsStore}
460
+ * @param options.hmacKey {ConnectionIdKey}
461
+ * @param options.did {string} the party's DID
462
+ * @param options.zcapId {string} the `id` of the received capability
463
+ * @returns {Promise<ConnectionWriteResult>}
464
+ */
465
+ export declare function dropReceivedGrant({ store, hmacKey, did, zcapId }: {
466
+ store: ConnectionsStore;
467
+ hmacKey: ConnectionIdKey;
468
+ did: string;
469
+ zcapId: string;
470
+ }): Promise<ConnectionWriteResult>;
438
471
  /**
439
472
  * Records the owner's decline of the party's offer: sets `declined` to
440
473
  * `now`. An entry already declined keeps its time and writes nothing, and an
@@ -1 +1 @@
1
- {"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../src/connections/upsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../src/connections/upsert.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,8 @@ function requiredConnectionZcap({ value, what }) {
26
26
  * `setConnectionLabel` for the user's rename and the enrollment-time name,
27
27
  * and the agent-connection helpers over `grantsReceived` and `outbox`:
28
28
  * `recordReceivedGrants`, `recordRenewedGrants` (the renewal's one write),
29
- * `settleOutboxItem`, `pruneSupersededGrants`, `clearReceivedGrants`, and
30
- * `markDeclined`.
29
+ * `settleOutboxItem`, `pruneSupersededGrants`, `dropReceivedGrant`,
30
+ * `clearReceivedGrants`, and `markDeclined`.
31
31
  *
32
32
  * Each runs `writeConnection`, the one bounded compare-and-swap loop at a
33
33
  * party's resource id, which the writer arm (`writers.ts`) runs too. It reads
@@ -394,6 +394,13 @@ function supersedeAndQueueEnvelope({ outbox, message, stamp, supersedes }) {
394
394
  * grant of one call carries the same `grantedAt`. A zero-grant consent
395
395
  * writes too, so an App Connect app with no grants is indexed by its key.
396
396
  *
397
+ * With `unlessRetired`, a retired entry is left as stored and the result's
398
+ * outcome is `unchanged`. A party's own fresh consent un-retires its entry,
399
+ * and a restore the owner runs from a listing does not: the entry was
400
+ * retired by a revoke that landed after that listing was read, and the
401
+ * restore must not undo it. The check runs inside the compare-and-swap, so
402
+ * a revoke racing the write is met on the re-read.
403
+ *
397
404
  * A `message` (an envelope carrying exactly the grants of this call) is
398
405
  * queued on `outbox` in the same write, stamped `now`, so a restore that
399
406
  * records fresh grants and owes the party their envelope has no tear between
@@ -433,10 +440,12 @@ function supersedeAndQueueEnvelope({ outbox, message, stamp, supersedes }) {
433
440
  * @param [options.seedTag] {string} the seed's tag (`connectionSeedTag`)
434
441
  * @param [options.message] {object} an envelope to queue on `outbox` with
435
442
  * the consent, carrying exactly the grants of this call
443
+ * @param [options.unlessRetired] {boolean} leave a retired entry as
444
+ * stored, with the outcome `unchanged`
436
445
  * @param [options.now] {Date}
437
446
  * @returns {Promise<ConnectionWriteResult>}
438
447
  */
439
- export async function recordGrants({ store, hmacKey, did, kind, spaceUrl, grants, name, origin, url, appKey, seed, seedTag, message, now = new Date() }) {
448
+ export async function recordGrants({ store, hmacKey, did, kind, spaceUrl, grants, name, origin, url, appKey, seed, seedTag, message, unlessRetired, now = new Date() }) {
440
449
  await assertPairwiseSeed({ hmacKey, seed, seedTag });
441
450
  const stamp = now.toISOString();
442
451
  const recorded = [];
@@ -483,6 +492,9 @@ export async function recordGrants({ store, hmacKey, did, kind, spaceUrl, grants
483
492
  }
484
493
  else {
485
494
  assertKind({ entry: current.entry, kind });
495
+ if (unlessRetired && current.entry.retired !== undefined) {
496
+ return { stop: 'unchanged' };
497
+ }
486
498
  body = {
487
499
  ...current.body,
488
500
  ...declared,
@@ -1074,6 +1086,40 @@ export async function clearReceivedGrants({ store, hmacKey, did }) {
1074
1086
  }
1075
1087
  });
1076
1088
  }
1089
+ /**
1090
+ * Drops one record from the party's `grantsReceived` by its capability id,
1091
+ * and leaves `outbox` as it is: what a push refused by the party's server
1092
+ * (a 401, a 403, or a WAS host's masked 404) does with the channel it went
1093
+ * through, since the refusal says the capability is expired or revoked. The
1094
+ * queued envelopes stay for the party's next invitation, and a replacement
1095
+ * channel the party then hands over is stored by `recordReceivedGrants`
1096
+ * whatever its `expires`, since the dropped record is gone. A record not
1097
+ * held writes nothing, and an absent entry writes nothing.
1098
+ *
1099
+ * @param options {object}
1100
+ * @param options.store {ConnectionsStore}
1101
+ * @param options.hmacKey {ConnectionIdKey}
1102
+ * @param options.did {string} the party's DID
1103
+ * @param options.zcapId {string} the `id` of the received capability
1104
+ * @returns {Promise<ConnectionWriteResult>}
1105
+ */
1106
+ export async function dropReceivedGrant({ store, hmacKey, did, zcapId }) {
1107
+ return writePartyConnection({
1108
+ store,
1109
+ hmacKey,
1110
+ did,
1111
+ change(current) {
1112
+ if (current === undefined) {
1113
+ return { stop: 'absent' };
1114
+ }
1115
+ const kept = current.entry.grantsReceived.filter(record => record.zcap.id !== zcapId);
1116
+ if (kept.length === current.entry.grantsReceived.length) {
1117
+ return { stop: 'unchanged' };
1118
+ }
1119
+ return { body: { ...current.body, grantsReceived: kept } };
1120
+ }
1121
+ });
1122
+ }
1077
1123
  /**
1078
1124
  * Records the owner's decline of the party's offer: sets `declined` to
1079
1125
  * `now`. An entry already declined keeps its time and writes nothing, and an
@@ -1 +1 @@
1
- {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../src/connections/upsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../src/connections/upsert.ts"],"names":[],"mappings":"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"}
@@ -74,8 +74,8 @@ export interface ControllerInventory {
74
74
  * The wallet-core extended controller view: the library's generic port plus
75
75
  * the credential-inventory accessor at a given version, which is what
76
76
  * evaluating the ceremony-tail license and recognizing a ladder-signed
77
- * append require (both invisible through the `assertionMethod` accessor
78
- * alone), plus the library's optional `admitAppend` admission hook made
77
+ * append require (neither is answered by `documentAt` alone, which the
78
+ * library reads only for `assertionMethod`), plus the library's optional `admitAppend` admission hook made
79
79
  * mandatory -- an account did:webvh document can list ladder VMs, so a view
80
80
  * over one must answer the admission question (the port's stated
81
81
  * obligation), whichever log class's rule that answer comes from. The
@@ -101,11 +101,15 @@ export interface WebvhResourceLogController extends ResourceLogController {
101
101
  * Builds the controller view over an already-verified did:webvh account log
102
102
  * (the `verifyAccountLog` output -- callers never hand this a log they have
103
103
  * not verified against the account pointer). Because every verified entry
104
- * carries its resolved document in `state`, the per-version `assertionMethod`
105
- * sets are read straight off those entries in one linear pass over the log
106
- * rather than replaying resolution once per version. A lookup at a version
107
- * the log does not carry refuses instead of guessing, and `undefined`
108
- * answers from the last entry (the current document).
104
+ * carries its resolved document in `state`, `documentAt` answers with that
105
+ * entry's document verbatim, and the per-version inventories are read off
106
+ * those entries in one linear pass over the log rather than replaying
107
+ * resolution once per version. The library's verifier dereferences each
108
+ * proof's verification method against the document's `assertionMethod`
109
+ * members through its shared readers, so this view applies no key rule of
110
+ * its own. A lookup at a version the log does not carry refuses instead of
111
+ * guessing, and `undefined` answers from the last entry (the current
112
+ * document).
109
113
  *
110
114
  * The returned view carries the `admitAppend` hook under the user key
111
115
  * roster class's rule (`controllerForLogClass` narrows it for another log
@@ -1 +1 @@
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;AAQjC,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAGzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;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;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;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;AA2DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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"}