@verana-labs/vs-agent-sdk 2.0.0-dev.7 → 2.0.0-dev.72

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 (167) hide show
  1. package/README.md +0 -2
  2. package/build/adminApi/AdminApiError.d.ts +28 -0
  3. package/build/adminApi/AdminApiError.js +60 -0
  4. package/build/adminApi/AdminApiError.js.map +1 -0
  5. package/build/adminApi/didcommModules.d.ts +2 -0
  6. package/build/adminApi/didcommModules.js +8 -0
  7. package/build/adminApi/didcommModules.js.map +1 -0
  8. package/build/adminApi/index.d.ts +4 -0
  9. package/build/adminApi/index.js +21 -0
  10. package/build/adminApi/index.js.map +1 -0
  11. package/build/adminApi/moduleEndpoint.d.ts +8 -0
  12. package/build/adminApi/moduleEndpoint.js +28 -0
  13. package/build/adminApi/moduleEndpoint.js.map +1 -0
  14. package/build/adminApi/pagination/PageDto.d.ts +7 -0
  15. package/build/adminApi/pagination/PageDto.js +50 -0
  16. package/build/adminApi/pagination/PageDto.js.map +1 -0
  17. package/build/adminApi/pagination/PaginationQueryDto.d.ts +11 -0
  18. package/build/adminApi/pagination/PaginationQueryDto.js +46 -0
  19. package/build/adminApi/pagination/PaginationQueryDto.js.map +1 -0
  20. package/build/adminApi/pagination/cursor.d.ts +28 -0
  21. package/build/adminApi/pagination/cursor.js +64 -0
  22. package/build/adminApi/pagination/cursor.js.map +1 -0
  23. package/build/adminApi/pagination/index.d.ts +4 -0
  24. package/build/adminApi/pagination/index.js +21 -0
  25. package/build/adminApi/pagination/index.js.map +1 -0
  26. package/build/adminApi/pagination/paginate.d.ts +27 -0
  27. package/build/adminApi/pagination/paginate.js +77 -0
  28. package/build/adminApi/pagination/paginate.js.map +1 -0
  29. package/build/agent/VsAgent.d.ts +17 -34
  30. package/build/agent/VsAgent.js +75 -205
  31. package/build/agent/VsAgent.js.map +1 -1
  32. package/build/agent/createVsAgent.d.ts +5 -6
  33. package/build/agent/createVsAgent.js +3 -5
  34. package/build/agent/createVsAgent.js.map +1 -1
  35. package/build/blockchain/AnonCredsTrustService.d.ts +62 -0
  36. package/build/blockchain/AnonCredsTrustService.js +256 -0
  37. package/build/blockchain/AnonCredsTrustService.js.map +1 -0
  38. package/build/blockchain/AuthorizationService.d.ts +5 -3
  39. package/build/blockchain/AuthorizationService.js +17 -29
  40. package/build/blockchain/AuthorizationService.js.map +1 -1
  41. package/build/blockchain/IndexerWebSocketService.d.ts +7 -1
  42. package/build/blockchain/IndexerWebSocketService.js +68 -36
  43. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  44. package/build/blockchain/VeranaChainService.d.ts +26 -14
  45. package/build/blockchain/VeranaChainService.js +139 -127
  46. package/build/blockchain/VeranaChainService.js.map +1 -1
  47. package/build/blockchain/VeranaIndexerService.d.ts +14 -1
  48. package/build/blockchain/VeranaIndexerService.js +122 -8
  49. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  50. package/build/blockchain/handlers/authorizationHandlers.js +2 -2
  51. package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
  52. package/build/blockchain/handlers/defaultHandlers.js +6 -1
  53. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  54. package/build/blockchain/handlers/index.d.ts +1 -0
  55. package/build/blockchain/handlers/index.js +1 -0
  56. package/build/blockchain/handlers/index.js.map +1 -1
  57. package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
  58. package/build/blockchain/handlers/selfIssuanceHandlers.js +76 -0
  59. package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
  60. package/build/blockchain/handlers/stateMutations.d.ts +20 -3
  61. package/build/blockchain/handlers/stateMutations.js +286 -41
  62. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  63. package/build/blockchain/index.d.ts +2 -0
  64. package/build/blockchain/index.js +2 -0
  65. package/build/blockchain/index.js.map +1 -1
  66. package/build/blockchain/indexerMappers.d.ts +3 -0
  67. package/build/blockchain/indexerMappers.js +53 -0
  68. package/build/blockchain/indexerMappers.js.map +1 -0
  69. package/build/blockchain/types.d.ts +13 -58
  70. package/build/blockchain/types.js.map +1 -1
  71. package/build/bootstrap/EcsBootstrapService.d.ts +14 -3
  72. package/build/bootstrap/EcsBootstrapService.js +178 -79
  73. package/build/bootstrap/EcsBootstrapService.js.map +1 -1
  74. package/build/connections/ParentConnectionModule.d.ts +20 -0
  75. package/build/connections/ParentConnectionModule.js +56 -0
  76. package/build/connections/ParentConnectionModule.js.map +1 -0
  77. package/build/credentials/FullTailsFileService.d.ts +0 -1
  78. package/build/credentials/FullTailsFileService.js +0 -49
  79. package/build/credentials/FullTailsFileService.js.map +1 -1
  80. package/build/did/CachedDocumentLoader.d.ts +3 -0
  81. package/build/did/CachedDocumentLoader.js +7 -1
  82. package/build/did/CachedDocumentLoader.js.map +1 -1
  83. package/build/did/CachedWebDidResolver.d.ts +0 -4
  84. package/build/did/CachedWebDidResolver.js +1 -5
  85. package/build/did/CachedWebDidResolver.js.map +1 -1
  86. package/build/did/artifactServices.d.ts +12 -0
  87. package/build/did/artifactServices.js +48 -0
  88. package/build/did/artifactServices.js.map +1 -0
  89. package/build/did/legacyDidWeb.d.ts +6 -4
  90. package/build/did/legacyDidWeb.js +17 -14
  91. package/build/did/legacyDidWeb.js.map +1 -1
  92. package/build/did/publicDid.d.ts +4 -0
  93. package/build/did/publicDid.js +19 -0
  94. package/build/did/publicDid.js.map +1 -0
  95. package/build/events/BaseMessageEvents.js +139 -5
  96. package/build/events/BaseMessageEvents.js.map +1 -1
  97. package/build/events/ConnectionEvents.js +129 -82
  98. package/build/events/ConnectionEvents.js.map +1 -1
  99. package/build/events/VsAgentEvents.d.ts +11 -9
  100. package/build/events/VsAgentEvents.js +8 -1
  101. package/build/events/VsAgentEvents.js.map +1 -1
  102. package/build/events/VtFlowEvents.d.ts +1 -1
  103. package/build/events/VtFlowEvents.js +29 -17
  104. package/build/events/VtFlowEvents.js.map +1 -1
  105. package/build/index.d.ts +7 -1
  106. package/build/index.js +15 -2
  107. package/build/index.js.map +1 -1
  108. package/build/plugins/setupBaseDidComm.js +9 -12
  109. package/build/plugins/setupBaseDidComm.js.map +1 -1
  110. package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
  111. package/build/transports/VsAgentWsInboundTransport.js +20 -14
  112. package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
  113. package/build/types.d.ts +7 -13
  114. package/build/types.js +1 -2
  115. package/build/types.js.map +1 -1
  116. package/build/utils/agent.d.ts +29 -4
  117. package/build/utils/agent.js +91 -22
  118. package/build/utils/agent.js.map +1 -1
  119. package/build/utils/didReadiness.d.ts +9 -0
  120. package/build/utils/didReadiness.js +42 -0
  121. package/build/utils/didReadiness.js.map +1 -0
  122. package/build/utils/ecsClaims.d.ts +47 -0
  123. package/build/utils/ecsClaims.js +120 -0
  124. package/build/utils/ecsClaims.js.map +1 -0
  125. package/build/utils/ecsService.d.ts +8 -0
  126. package/build/utils/ecsService.js +23 -0
  127. package/build/utils/ecsService.js.map +1 -0
  128. package/build/utils/index.d.ts +4 -0
  129. package/build/utils/index.js +4 -0
  130. package/build/utils/index.js.map +1 -1
  131. package/build/utils/selfIssuedEcsCredential.d.ts +8 -0
  132. package/build/utils/selfIssuedEcsCredential.js +158 -0
  133. package/build/utils/selfIssuedEcsCredential.js.map +1 -0
  134. package/build/utils/setupSelfTr.d.ts +34 -66
  135. package/build/utils/setupSelfTr.js +90 -294
  136. package/build/utils/setupSelfTr.js.map +1 -1
  137. package/build/utils/trustCredentialStore.d.ts +67 -9
  138. package/build/utils/trustCredentialStore.js +296 -111
  139. package/build/utils/trustCredentialStore.js.map +1 -1
  140. package/build/utils/util.d.ts +10 -0
  141. package/build/utils/util.js +16 -0
  142. package/build/utils/util.js.map +1 -1
  143. package/build/utils/vcdm2.d.ts +34 -0
  144. package/build/utils/vcdm2.js +60 -0
  145. package/build/utils/vcdm2.js.map +1 -0
  146. package/build/utils/vtjscResolver.d.ts +18 -0
  147. package/build/utils/vtjscResolver.js +54 -0
  148. package/build/utils/vtjscResolver.js.map +1 -0
  149. package/build/vtFlow/VtFlowOrchestrator.d.ts +107 -14
  150. package/build/vtFlow/VtFlowOrchestrator.js +734 -109
  151. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  152. package/build/vtFlow/assertVerifiableService.d.ts +1 -0
  153. package/build/vtFlow/assertVerifiableService.js +45 -5
  154. package/build/vtFlow/assertVerifiableService.js.map +1 -1
  155. package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
  156. package/build/vtFlow/ecsIssuanceExemption.js +84 -0
  157. package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
  158. package/build/vtFlow/index.d.ts +1 -0
  159. package/build/vtFlow/index.js +1 -0
  160. package/build/vtFlow/index.js.map +1 -1
  161. package/package.json +17 -12
  162. package/build/did/migrateWebVhLog.d.ts +0 -34
  163. package/build/did/migrateWebVhLog.js +0 -230
  164. package/build/did/migrateWebVhLog.js.map +0 -1
  165. package/build/did/migrateWebVhVersionTime.d.ts +0 -9
  166. package/build/did/migrateWebVhVersionTime.js +0 -191
  167. package/build/did/migrateWebVhVersionTime.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signLinkedDataIntegrityPresentation = signLinkedDataIntegrityPresentation;
3
4
  exports.findMetadataEntry = findMetadataEntry;
4
5
  exports.saveMetadataEntry = saveMetadataEntry;
5
6
  exports.deleteMetadataEntry = deleteMetadataEntry;
@@ -8,16 +9,90 @@ exports.createJsc = createJsc;
8
9
  exports.removeTrustCredential = removeTrustCredential;
9
10
  exports.removeStoredTrustCredential = removeStoredTrustCredential;
10
11
  exports.migrateVtjscServiceIds = migrateVtjscServiceIds;
12
+ exports.detachVtjscPublications = detachVtjscPublications;
13
+ exports.reattachVtjscPublication = reattachVtjscPublication;
11
14
  exports.getTrustMetadata = getTrustMetadata;
12
15
  exports.rebindEcsCredentialSchema = rebindEcsCredentialSchema;
16
+ exports.withdrawSelfIssuedEcsCredentials = withdrawSelfIssuedEcsCredentials;
13
17
  const core_1 = require("@credo-ts/core");
18
+ // No type definitions available for this library
19
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
20
+ //@ts-expect-error
21
+ const jsonld_signatures_1 = require("@digitalcredentials/jsonld-signatures");
22
+ const verre_1 = require("@verana-labs/verre");
14
23
  const adminApiService_1 = require("../did/adminApiService");
15
24
  const setupSelfTr_1 = require("./setupSelfTr");
25
+ const selfIssuedEcsCredential_1 = require("./selfIssuedEcsCredential");
16
26
  const data_1 = require("./data");
17
27
  async function getDidRecord(agent) {
18
28
  const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
19
29
  return didRecord;
20
30
  }
31
+ /** The credential fields shared by both data models: id, credentialSchema and credentialSubject */
32
+ function trustCredentialFields(credential) {
33
+ return credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
34
+ ? credential.resolvedCredential
35
+ : credential;
36
+ }
37
+ /**
38
+ * What the metadata entry stores and the DID Document service endpoint serves. A data model 1.1
39
+ * presentation is kept as its class instance, which serializes to JSON-LD when the DID record is
40
+ * saved; a Data Integrity one wraps the secured JSON, so that is what gets stored.
41
+ */
42
+ function trustCredentialEntry(credential) {
43
+ return credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
44
+ ? credential.securedCredential
45
+ : credential.jsonCredential;
46
+ }
47
+ function trustPresentationEntry(presentation) {
48
+ return presentation instanceof core_1.W3cV2DataIntegrityVerifiablePresentation
49
+ ? presentation.securedPresentation
50
+ : presentation;
51
+ }
52
+ function trustPresentationId(presentation) {
53
+ return presentation instanceof core_1.W3cV2DataIntegrityVerifiablePresentation
54
+ ? presentation.securedPresentation.id
55
+ : presentation.id;
56
+ }
57
+ /**
58
+ * Wraps a VC Data Model 2.0 credential in a data model 2.0 presentation secured with a
59
+ * DataIntegrityProof under the cryptosuite the agent is configured with, the counterpart of the
60
+ * linked data proof a data model 1.1 linked VP carries. The presentation is published from the DID
61
+ * Document rather than presented to a verifier, so there is no challenge to bind; its proof purpose
62
+ * is `authentication`, as Data Integrity defines for presentations.
63
+ */
64
+ async function signLinkedDataIntegrityPresentation(agent, options) {
65
+ const presentation = new core_1.W3cV2Presentation({
66
+ id: options.id,
67
+ holder: options.holder,
68
+ verifiableCredential: [options.credential],
69
+ });
70
+ // The options type requires a challenge for every presentation format, while a Data Integrity
71
+ // proof only carries one when it is given
72
+ return await agent.w3cV2Credentials.signPresentation({
73
+ format: core_1.ClaimFormat.DiVp,
74
+ presentation,
75
+ cryptosuite: (0, setupSelfTr_1.getDataIntegrityCryptosuite)(agent),
76
+ verificationMethod: options.verificationMethodId,
77
+ });
78
+ }
79
+ /**
80
+ * Wraps a VC Data Model 1.1 credential in a data model 1.1 presentation carrying an
81
+ * Ed25519Signature2020 linked data proof, for credentials received from issuers that still use it.
82
+ */
83
+ async function signLinkedDataProofPresentation(agent, options) {
84
+ return await agent.w3cCredentials.signPresentation({
85
+ format: core_1.ClaimFormat.LdpVp,
86
+ presentation: new core_1.W3cPresentation({
87
+ id: options.id,
88
+ holder: options.holder,
89
+ verifiableCredential: [options.credential],
90
+ }),
91
+ proofType: 'Ed25519Signature2020',
92
+ verificationMethod: options.verificationMethodId,
93
+ proofPurpose: new jsonld_signatures_1.purposes.AssertionProofPurpose(),
94
+ });
95
+ }
21
96
  async function updateDidRecord(agent, didRecord) {
22
97
  const repo = agent.context.dependencyManager.resolve(core_1.DidRepository);
23
98
  (0, adminApiService_1.applyAdminApiServiceEntry)(didRecord.didDocument, agent.adminApiServiceEndpoint);
@@ -31,31 +106,35 @@ function findMetadataEntry(didRecord, key, id, jsonSchemaRef) {
31
106
  return null;
32
107
  if (!id && !jsonSchemaRef)
33
108
  return { schemaId: '', data: metadata, didDocumentServiceId: '' };
34
- for (const [schemaId, entry] of Object.entries(metadata)) {
35
- if (schemaId === jsonSchemaRef) {
36
- return Object.assign(Object.assign({ schemaId }, entry), { data: entry.verifiablePresentation });
37
- }
38
- const credId = (_a = entry.credential) === null || _a === void 0 ? void 0 : _a.id;
39
- const presId = (_b = entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id;
40
- if (credId === id) {
109
+ const entries = Object.entries(metadata);
110
+ // the metadata key identifies one entry, so it answers before any preference between entries
111
+ const exact = jsonSchemaRef ? entries.find(([schemaId]) => schemaId === jsonSchemaRef) : undefined;
112
+ if (exact)
113
+ return Object.assign(Object.assign({ schemaId: exact[0] }, exact[1]), { data: exact[1].verifiablePresentation });
114
+ const match = ([schemaId, entry]) => {
115
+ var _a, _b;
116
+ if (((_a = entry.credential) === null || _a === void 0 ? void 0 : _a.id) === id)
41
117
  return Object.assign(Object.assign({ schemaId }, entry), { data: entry.credential });
42
- }
43
- if (presId === id) {
118
+ if (((_b = entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id) === id)
44
119
  return Object.assign(Object.assign({ schemaId }, entry), { data: entry.verifiablePresentation });
45
- }
46
- }
47
- return null;
120
+ return null;
121
+ };
122
+ // several entries can carry the same presentation URL while a binding is replaced, so the entry
123
+ // the DID Document announces wins over a detached leftover
124
+ const matched = entries.map(match).filter(entry => entry !== null);
125
+ return (_b = (_a = matched.find(entry => entry.attached !== false)) !== null && _a !== void 0 ? _a : matched[0]) !== null && _b !== void 0 ? _b : null;
48
126
  }
49
- async function saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, key, publicApiBaseUrl) {
50
- var _a, _b, _c, _d, _e, _f, _g, _h;
51
- const schema = key === '_vt/vtc' ? credential.credentialSchema : credential.credentialSubject;
127
+ async function saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, key) {
128
+ var _a, _b, _c, _d, _e;
129
+ const fields = trustCredentialFields(credential);
130
+ const schema = key === '_vt/vtc' ? fields.credentialSchema : fields.credentialSubject;
52
131
  const ref = Array.isArray(schema) ? (_a = schema[0]) === null || _a === void 0 ? void 0 : _a.id : schema === null || schema === void 0 ? void 0 : schema.id;
53
132
  if (!ref) {
54
133
  throw new Error('No ID was found in credentialSubject');
55
134
  }
56
135
  const record = (_b = didRecord.metadata.get(key)) !== null && _b !== void 0 ? _b : {};
57
136
  // Remove previous entry for this credential ID (if exists)
58
- const found = findMetadataEntry(didRecord, key, credential.id, ref);
137
+ const found = findMetadataEntry(didRecord, key, fields.id, ref);
59
138
  if (found) {
60
139
  if ((_c = didRecord.didDocument) === null || _c === void 0 ? void 0 : _c.service) {
61
140
  didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== found.didDocumentServiceId);
@@ -63,27 +142,19 @@ async function saveMetadataEntry(agent, didRecord, credential, verifiablePresent
63
142
  delete record[found.schemaId];
64
143
  }
65
144
  record[ref] = {
66
- credential: credential.jsonCredential,
67
- verifiablePresentation,
145
+ credential: trustCredentialEntry(credential),
146
+ verifiablePresentation: trustPresentationEntry(verifiablePresentation),
68
147
  didDocumentServiceId,
69
148
  };
70
149
  (_e = (_d = didRecord.didDocument) === null || _d === void 0 ? void 0 : _d.service) === null || _e === void 0 ? void 0 : _e.push(new core_1.DidDocumentService({
71
150
  id: didDocumentServiceId,
72
- serviceEndpoint: verifiablePresentation.id,
151
+ serviceEndpoint: trustPresentationId(verifiablePresentation),
73
152
  type: 'LinkedVerifiablePresentation',
74
153
  }));
75
154
  didRecord.metadata.set(key, record);
76
- // Update #whois with new endpoint
77
- const service = (_g = (_f = didRecord.didDocument) === null || _f === void 0 ? void 0 : _f.service) === null || _g === void 0 ? void 0 : _g.find(s => s.id === `${agent.did}#whois`);
78
- if (service && ((_h = verifiablePresentation.id) === null || _h === void 0 ? void 0 : _h.includes('service')))
79
- service.serviceEndpoint = verifiablePresentation.id;
80
- // A JSON schema credential says nothing about this agent's own ECS identity, so only a real
81
- // trust credential replaces the self-issued ones.
82
- if (key === '_vt/vtc')
83
- updateVtcEntries(didRecord, false, publicApiBaseUrl);
84
155
  await updateDidRecord(agent, didRecord);
85
156
  }
86
- async function deleteMetadataEntry(agent, id, didRecord, key, publicApiBaseUrl) {
157
+ async function deleteMetadataEntry(agent, id, didRecord, key) {
87
158
  const found = findMetadataEntry(didRecord, key, id, id);
88
159
  if (!found)
89
160
  return null;
@@ -92,66 +163,22 @@ async function deleteMetadataEntry(agent, id, didRecord, key, publicApiBaseUrl)
92
163
  return null;
93
164
  delete metadata[found.schemaId];
94
165
  didRecord.metadata.set(key, metadata);
95
- // If the last entry is removed, restore defaults
96
- restoreDefaultVtcEntries(didRecord, publicApiBaseUrl);
97
166
  await updateDidRecord(agent, didRecord);
98
167
  return { schemaId: found.schemaId };
99
168
  }
100
- function restoreDefaultVtcEntries(didRecord, publicApiBaseUrl) {
101
- var _a, _b;
102
- const vtc = (_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {};
103
- const jsc = (_b = didRecord.metadata.get('_vt/jsc')) !== null && _b !== void 0 ? _b : {};
104
- // By default we have 2 Self-trusted VTCs
105
- if (Object.keys(vtc).length < 3 && Object.keys(jsc).length < 3) {
106
- updateVtcEntries(didRecord, true, publicApiBaseUrl);
107
- }
108
- }
109
- function updateVtcEntries(didRecord, attach, publicApiBaseUrl) {
110
- var _a;
111
- const record = (_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {};
112
- setupSelfTr_1.presentations.forEach(p => {
113
- var _a, _b, _c, _d;
114
- const schemaId = (0, setupSelfTr_1.mapToSelfTr)(p.schemaUrl, publicApiBaseUrl);
115
- const current = record[schemaId];
116
- if ((current === null || current === void 0 ? void 0 : current.attached) === attach)
117
- return;
118
- record[schemaId] = Object.assign(Object.assign({}, current), { attached: attach });
119
- const serviceId = current === null || current === void 0 ? void 0 : current.didDocumentServiceId;
120
- const serviceEndpoint = (_a = current === null || current === void 0 ? void 0 : current.verifiablePresentation) === null || _a === void 0 ? void 0 : _a.id;
121
- if (!((_b = didRecord.didDocument) === null || _b === void 0 ? void 0 : _b.service))
122
- return;
123
- if (attach) {
124
- const alreadyExists = didRecord.didDocument.service.some(s => s.id === serviceId);
125
- if (!alreadyExists && serviceId && serviceEndpoint) {
126
- didRecord.didDocument.service.push(new core_1.DidDocumentService({
127
- id: serviceId,
128
- serviceEndpoint,
129
- type: 'LinkedVerifiablePresentation',
130
- }));
131
- }
132
- // Return to self-trusted VTC in #whois endpoint
133
- const service = (_d = (_c = didRecord.didDocument) === null || _c === void 0 ? void 0 : _c.service) === null || _d === void 0 ? void 0 : _d.find(s => s.id === `${didRecord.did}#whois`);
134
- if (service && (serviceEndpoint === null || serviceEndpoint === void 0 ? void 0 : serviceEndpoint.includes('service')))
135
- service.serviceEndpoint = serviceEndpoint;
136
- }
137
- else {
138
- didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== serviceId);
139
- }
140
- });
141
- didRecord.metadata.set('_vt/vtc', record);
142
- }
143
169
  async function createVtc(agent, publicApiBaseUrl, id, credential) {
144
170
  const didRecord = await getDidRecord(agent);
145
171
  const schemaId = `schemas-${id}-vtc-vp.json`;
146
172
  const didDocumentServiceId = `${agent.did}#vpr-${schemaId.replace('.json', '')}`;
147
173
  const serviceEndpoint = `${publicApiBaseUrl}/vt/${schemaId}`;
148
- const unsignedPresentation = (0, setupSelfTr_1.createPresentation)({
149
- id: serviceEndpoint,
150
- holder: agent.did,
151
- verifiableCredential: [credential],
152
- });
153
- const verifiablePresentation = await (0, setupSelfTr_1.signerW3c)(agent, unsignedPresentation, (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord));
154
- await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/vtc', publicApiBaseUrl);
174
+ const verificationMethodId = (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord);
175
+ // The linked VP takes the data model of the credential it carries: a Data Integrity credential
176
+ // cannot be embedded in a data model 1.1 presentation, nor the other way round
177
+ const linkedVp = { id: serviceEndpoint, holder: agent.did, verificationMethodId };
178
+ const verifiablePresentation = credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
179
+ ? await signLinkedDataIntegrityPresentation(agent, Object.assign(Object.assign({}, linkedVp), { credential }))
180
+ : await signLinkedDataProofPresentation(agent, Object.assign(Object.assign({}, linkedVp), { credential }));
181
+ await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/vtc');
155
182
  return verifiablePresentation;
156
183
  }
157
184
  async function createJsc(agent, publicApiBaseUrl, ecsSchemas, options) {
@@ -160,53 +187,69 @@ async function createJsc(agent, publicApiBaseUrl, ecsSchemas, options) {
160
187
  const { id: subjectId, claims } = (0, setupSelfTr_1.createJsonSubjectRef)(jsonSchemaRef);
161
188
  const subjectClaims = precomputedDigestSRI
162
189
  ? Object.assign(Object.assign({}, claims), { digestSRI: precomputedDigestSRI }) : await (0, setupSelfTr_1.addDigestSRI)(subjectId, claims, ecsSchemas);
163
- const credentialSubject = {
164
- id: subjectId,
165
- claims: subjectClaims,
166
- };
190
+ const credentialSubject = Object.assign(Object.assign({}, subjectClaims), { id: subjectId });
167
191
  const schemaPresentation = `schemas-${schemaBaseId}-vtjsc-vp.json`;
168
192
  const schemaCredential = `schemas-${schemaBaseId}-jsc.json`;
169
193
  const serviceEndpoint = `${publicApiBaseUrl}/vt/${schemaPresentation}`;
170
194
  const didDocumentServiceId = `${agent.did}#vpr-schemas-${schemaBaseId}-vtjsc-vp`;
195
+ const credentialId = `${publicApiBaseUrl}/vt/${schemaCredential}`;
171
196
  const unsignedCredential = (0, setupSelfTr_1.createCredential)({
172
- id: `${publicApiBaseUrl}/vt/${schemaCredential}`,
197
+ id: credentialId,
173
198
  type: ['VerifiableCredential', 'JsonSchemaCredential'],
174
199
  issuer: agent.did,
175
200
  credentialSubject,
201
+ credentialSchema: await (0, setupSelfTr_1.addDigestSRI)(setupSelfTr_1.createJsonSchema.id, { id: setupSelfTr_1.createJsonSchema.id, type: setupSelfTr_1.createJsonSchema.type }, ecsSchemas),
176
202
  });
177
- unsignedCredential.credentialSchema = await (0, setupSelfTr_1.addDigestSRI)(setupSelfTr_1.createJsonSchema.id, setupSelfTr_1.createJsonSchema, ecsSchemas);
178
203
  const verificationMethodId = (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord);
179
- const credential = await (0, setupSelfTr_1.signerW3c)(agent, core_1.JsonTransformer.fromJSON(unsignedCredential, core_1.W3cCredential), verificationMethodId);
180
- const unsignedPresentation = (0, setupSelfTr_1.createPresentation)({
204
+ const credential = await (0, setupSelfTr_1.signerW3c)(agent, unsignedCredential, verificationMethodId);
205
+ const verifiablePresentation = await signLinkedDataIntegrityPresentation(agent, {
181
206
  id: serviceEndpoint,
182
207
  holder: agent.did,
183
- verifiableCredential: [credential],
208
+ credential,
209
+ verificationMethodId,
184
210
  });
185
- const verifiablePresentation = await (0, setupSelfTr_1.signerW3c)(agent, unsignedPresentation, verificationMethodId);
186
- await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/jsc', publicApiBaseUrl);
187
- return credential.jsonCredential;
211
+ await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/jsc');
212
+ // the credential as published; its id is the one assigned above
213
+ return credential.securedCredential;
188
214
  }
189
- async function removeTrustCredential(agent, publicApiBaseUrl, schemaId, key) {
215
+ async function removeTrustCredential(agent, schemaId, key) {
190
216
  var _a;
191
217
  const didRecord = await getDidRecord(agent);
192
- const record = findMetadataEntry(didRecord, key, schemaId);
218
+ // same lookup deleteMetadataEntry performs: a self-issued entry carries the agent DID as
219
+ // credential id, so only its metadata key reaches it
220
+ const record = findMetadataEntry(didRecord, key, schemaId, schemaId);
193
221
  // Currently, we only use one serviceEndpoint per ID.
194
222
  // In the future, if multiple serviceEndpoints exist for the same ID,
195
223
  // we should review the serviceEndpoint content and remove only the specific one.
196
224
  if ((record === null || record === void 0 ? void 0 : record.didDocumentServiceId) && ((_a = didRecord.didDocument) === null || _a === void 0 ? void 0 : _a.service)) {
197
225
  didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== record.didDocumentServiceId);
198
226
  }
199
- return await deleteMetadataEntry(agent, schemaId, didRecord, key, publicApiBaseUrl);
227
+ return await deleteMetadataEntry(agent, schemaId, didRecord, key);
200
228
  }
201
- async function removeStoredTrustCredential(agent, publicApiBaseUrl, credentialExchangeRecordId) {
202
- var _a, _b;
229
+ /**
230
+ * Removes the linked VP and the stored credential an exchange delivered, as
231
+ * [VSA-VTI-FLOW-OP-REVOKE] requires of the applicant. The credential is read from the RFC 0809
232
+ * format data of the exchange; exchanges earlier versions completed over other formats are not
233
+ * migrated. Returns the credential id, or `undefined` when none is found, in which case nothing is
234
+ * removed.
235
+ */
236
+ async function removeStoredTrustCredential(agent, credentialExchangeRecordId) {
237
+ var _a, _b, _c;
203
238
  const formatData = await agent.didcomm.credentials.getFormatData(credentialExchangeRecordId);
204
- const credentialId = (_b = (_a = formatData.credential) === null || _a === void 0 ? void 0 : _a.jsonld) === null || _b === void 0 ? void 0 : _b.id;
205
- if (!credentialId)
239
+ const credentialId = (_c = (_b = (_a = formatData.credential) === null || _a === void 0 ? void 0 : _a.dataIntegrity) === null || _b === void 0 ? void 0 : _b.credential) === null || _c === void 0 ? void 0 : _c.id;
240
+ if (typeof credentialId !== 'string') {
241
+ agent.config.logger.warn(`[trust-credential] Credential exchange ${credentialExchangeRecordId} carries no RFC 0809 credential id; its linked VP and stored credential are left in place`);
206
242
  return undefined;
207
- await removeTrustCredential(agent, publicApiBaseUrl, credentialId, '_vt/vtc');
208
- const stored = await agent.w3cCredentials.getAll();
209
- for (const storedRecord of stored) {
243
+ }
244
+ await removeTrustCredential(agent, credentialId, '_vt/vtc');
245
+ // The RFC 0809 format holds a data model 2.0 credential in a W3cV2CredentialRecord and a data
246
+ // model 1.1 one in a W3cCredentialRecord; the credential id is tagged on both
247
+ for (const storedRecord of await agent.w3cV2Credentials.getAll()) {
248
+ if (storedRecord.getTags().givenId === credentialId) {
249
+ await agent.w3cV2Credentials.deleteById(storedRecord.id);
250
+ }
251
+ }
252
+ for (const storedRecord of await agent.w3cCredentials.getAll()) {
210
253
  if (storedRecord.getTags().givenId === credentialId) {
211
254
  await agent.w3cCredentials.deleteById(storedRecord.id);
212
255
  }
@@ -241,23 +284,128 @@ async function migrateVtjscServiceIds(agent) {
241
284
  await updateDidRecord(agent, didRecord);
242
285
  agent.config.logger.info('[VTJSC] migrated stored service ids to the -vtjsc-vp naming');
243
286
  }
287
+ /**
288
+ * Takes the linked VPs of the given `_vt/jsc` entries out of the DID Document, publishing it once.
289
+ *
290
+ * The entries stay: `SelfTrController` serves them, and issued credentials name that URL in
291
+ * `credentialSchema.id`. Dropping one would 404 it and leave those credentials unverifiable.
292
+ */
293
+ async function detachVtjscPublications(agent, schemaRefs) {
294
+ var _a, _b;
295
+ if (schemaRefs.length === 0)
296
+ return [];
297
+ const didRecord = await getDidRecord(agent);
298
+ if (!((_a = didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument) === null || _a === void 0 ? void 0 : _a.service))
299
+ return [];
300
+ const metadata = didRecord.metadata.get('_vt/jsc');
301
+ if (!metadata)
302
+ return [];
303
+ const detached = [];
304
+ for (const schemaRef of schemaRefs) {
305
+ const serviceId = (_b = metadata[schemaRef]) === null || _b === void 0 ? void 0 : _b.didDocumentServiceId;
306
+ if (!serviceId || !didRecord.didDocument.service.some(s => s.id === serviceId))
307
+ continue;
308
+ didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== serviceId);
309
+ detached.push(schemaRef);
310
+ }
311
+ if (detached.length === 0)
312
+ return [];
313
+ await updateDidRecord(agent, didRecord);
314
+ return detached;
315
+ }
316
+ /**
317
+ * Puts a detached `_vt/jsc` entry back in the DID Document.
318
+ *
319
+ * The publication pass skips an entry whose digest still matches, so without this the agent would
320
+ * keep serving a VTJSC it never announces again.
321
+ */
322
+ async function reattachVtjscPublication(agent, schemaRef) {
323
+ var _a, _b, _c;
324
+ const didRecord = await getDidRecord(agent);
325
+ if (!(didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument))
326
+ return false;
327
+ const entry = (_a = didRecord.metadata.get('_vt/jsc')) === null || _a === void 0 ? void 0 : _a[schemaRef];
328
+ const serviceId = entry === null || entry === void 0 ? void 0 : entry.didDocumentServiceId;
329
+ const serviceEndpoint = (_b = entry === null || entry === void 0 ? void 0 : entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id;
330
+ if (!serviceId || !serviceEndpoint)
331
+ return false;
332
+ const services = (_c = didRecord.didDocument.service) !== null && _c !== void 0 ? _c : [];
333
+ if (services.some(s => s.id === serviceId))
334
+ return false;
335
+ didRecord.didDocument.service = [
336
+ ...services,
337
+ new core_1.DidDocumentService({ id: serviceId, serviceEndpoint, type: 'LinkedVerifiablePresentation' }),
338
+ ];
339
+ await updateDidRecord(agent, didRecord);
340
+ return true;
341
+ }
244
342
  function getTrustMetadata(didRecord, key, schemaId) {
245
343
  return findMetadataEntry(didRecord, key, schemaId);
246
344
  }
345
+ /**
346
+ * Anchors a self-issued ECS credential, the same way as any other issuance: through
347
+ * CreateOrUpdateParticipantSession, which stores the digest in the `di` module keeper-to-keeper.
348
+ *
349
+ * `issuerParticipantId` must name an active ISSUER participant of this agent for the schema, whose
350
+ * vs_operator is this agent's account — the chain accepts the session from no other signer. The
351
+ * caller resolves it, because it already lists the agent's participants to decide what to rebind.
352
+ */
353
+ async function anchorCredentialDigest(agent, schemaId, credential, issuerParticipantId) {
354
+ const chain = agent.veranaChain;
355
+ if (!chain)
356
+ return;
357
+ if (!credential)
358
+ throw new Error(`[DigestAnchor] The presentation for schema ${schemaId} has no credential`);
359
+ if (!agent.did)
360
+ throw new Error('[DigestAnchor] The agent has no public DID');
361
+ const schema = await agent.indexer.getCredentialSchema(schemaId).catch(() => undefined);
362
+ if (!schema)
363
+ throw new Error(`[DigestAnchor] Credential schema ${schemaId} is not on chain`);
364
+ // the credential as published, which is what a verifier digests
365
+ const digest = (0, verre_1.computeCredentialDigestJCS)(credential, schema.digest_algorithm);
366
+ // the same credential gives the same digest on each run, so an anchored digest needs no second transaction
367
+ if (await agent.indexer.getDigest(digest))
368
+ return;
369
+ // A self-issued credential has no counterparty, so the session names only the issuer.
370
+ const { txHash } = await chain.createOrUpdateParticipantSession({
371
+ id: core_1.utils.uuid(),
372
+ issuerParticipantId,
373
+ agentParticipantId: 0,
374
+ walletAgentParticipantId: 0,
375
+ digest,
376
+ });
377
+ agent.config.logger.info(`[DigestAnchor] Anchored digest ${digest} for schema ${schemaId} against issuer participant ${issuerParticipantId} (tx ${txHash})`);
378
+ await agent.indexer.waitForDigest(digest);
379
+ }
247
380
  // replaces the self-TR example JSC binding with the on-chain VTJSC so resolvers can link the credential to the VPR
248
- async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, schemaKey, defaults) {
249
- var _a, _b, _c, _d;
250
- if (!['ecs-service', 'ecs-org'].includes(schemaKey) || !agent.did)
381
+ /**
382
+ * @param jsonSchemaCredentialId the VTJSC the Ecosystem published for this schema. Only the
383
+ * Ecosystem publishes it, so an agent that issues against another Corporation's Ecosystem must
384
+ * resolve it there — see resolveJsonSchemaCredentialId.
385
+ * @param issuerParticipantId this agent's ISSUER participant for the schema, which anchors the
386
+ * credential digest.
387
+ * @param schemaKey the ECS schema this agent issues against. Every ECS key is accepted; the caller
388
+ * reaches this function only for a schema the agent holds an active ISSUER entry on.
389
+ */
390
+ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, schemaKey, ecsClaims, jsonSchemaCredentialId, issuerParticipantId, onChainJsonSchema, effectiveUntil) {
391
+ var _a, _b, _c, _d, _e, _f, _g, _h;
392
+ if (!agent.did)
251
393
  return;
252
394
  const vpUrl = `${publicApiBaseUrl}/vt/${schemaKey}-vtc-vp.json`;
253
- const jscUrl = `${publicApiBaseUrl}/vt/schemas-${schemaId}-jsc.json`;
395
+ const jscUrl = jsonSchemaCredentialId;
254
396
  const didRecord = await getDidRecord(agent);
255
397
  const record = (_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {};
398
+ const stored = record[jscUrl];
399
+ const storedIssuer = typeof ((_b = stored === null || stored === void 0 ? void 0 : stored.credential) === null || _b === void 0 ? void 0 : _b.issuer) === 'string' ? stored.credential.issuer : (_d = (_c = stored === null || stored === void 0 ? void 0 : stored.credential) === null || _c === void 0 ? void 0 : _c.issuer) === null || _d === void 0 ? void 0 : _d.id;
400
+ if ((stored === null || stored === void 0 ? void 0 : stored.credential) && !stored.integrityData && storedIssuer !== agent.did) {
401
+ agent.config.logger.debug(`[SelfTR] Keeping the ${schemaKey} credential issued by ${storedIssuer} instead of rebinding a self-issued one`);
402
+ return;
403
+ }
256
404
  let removedStale = false;
257
405
  for (const [key, entry] of Object.entries(record)) {
258
406
  // findMetadataEntry serves the first entry matching the VP url, so stale bindings must go
259
407
  if (key !== jscUrl &&
260
- ((_b = entry.verifiablePresentation) === null || _b === void 0 ? void 0 : _b.id) === vpUrl) {
408
+ ((_e = entry.verifiablePresentation) === null || _e === void 0 ? void 0 : _e.id) === vpUrl) {
261
409
  delete record[key];
262
410
  removedStale = true;
263
411
  }
@@ -266,23 +414,60 @@ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, sche
266
414
  didRecord.metadata.set('_vt/vtc', record);
267
415
  await updateDidRecord(agent, didRecord);
268
416
  }
269
- await (0, setupSelfTr_1.generateVerifiablePresentation)(agent, vpUrl, (0, data_1.getEcsSchemas)(publicApiBaseUrl), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, defaults);
417
+ await (0, selfIssuedEcsCredential_1.publishSelfIssuedEcsPresentation)(agent, vpUrl, Object.assign(Object.assign({}, (0, data_1.getEcsSchemas)(publicApiBaseUrl)), (onChainJsonSchema ? { [schemaKey]: onChainJsonSchema } : {})), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, ecsClaims, async (verifiablePresentation) => await anchorCredentialDigest(agent, Number(schemaId), verifiablePresentation.verifiableCredential[0], issuerParticipantId), effectiveUntil);
270
418
  const freshRecord = await getDidRecord(agent);
419
+ let recordChanged = false;
420
+ const vtc = (_f = freshRecord.metadata.get('_vt/vtc')) !== null && _f !== void 0 ? _f : {};
421
+ const entry = vtc[jscUrl];
422
+ if (entry && (entry.issuerParticipantId !== issuerParticipantId || entry.schemaKey !== schemaKey)) {
423
+ vtc[jscUrl] = Object.assign(Object.assign({}, entry), { issuerParticipantId, schemaKey });
424
+ freshRecord.metadata.set('_vt/vtc', vtc);
425
+ recordChanged = true;
426
+ }
271
427
  const doc = freshRecord.didDocument;
272
428
  if (doc) {
273
429
  // resolvers match the [VT-CRED-W3C-LINKED-VP] fragment; #whois alone is not enough
274
430
  const expectedServiceId = `${agent.did}#${(0, setupSelfTr_1.linkedVpFragment)(schemaKey)}`;
275
- const linked = (_c = doc.service) === null || _c === void 0 ? void 0 : _c.some(s => s.id === expectedServiceId);
431
+ const linked = (_g = doc.service) === null || _g === void 0 ? void 0 : _g.some(s => s.id === expectedServiceId);
276
432
  if (!linked) {
277
- doc.service = (_d = doc.service) !== null && _d !== void 0 ? _d : [];
433
+ doc.service = (_h = doc.service) !== null && _h !== void 0 ? _h : [];
278
434
  doc.service.push(new core_1.DidDocumentService({
279
435
  id: expectedServiceId,
280
436
  serviceEndpoint: vpUrl,
281
437
  type: 'LinkedVerifiablePresentation',
282
438
  }));
283
- await updateDidRecord(agent, freshRecord);
439
+ recordChanged = true;
284
440
  }
441
+ if (recordChanged)
442
+ await updateDidRecord(agent, freshRecord);
285
443
  }
286
444
  agent.config.logger.info(`[SelfTR] Rebound ${schemaKey} credential to VTJSC ${jscUrl}`);
287
445
  }
446
+ /**
447
+ * Withdraws the ECS credentials anchored against `issuerParticipantId`, and the #whois entry
448
+ * when the Service credential is among them.
449
+ */
450
+ async function withdrawSelfIssuedEcsCredentials(agent, issuerParticipantId) {
451
+ var _a, _b;
452
+ const didRecord = await getDidRecord(agent);
453
+ const withdrawn = [];
454
+ let whoisWithdrawn = false;
455
+ for (const [jscUrl, value] of Object.entries((_a = didRecord.metadata.get('_vt/vtc')) !== null && _a !== void 0 ? _a : {})) {
456
+ const entry = value;
457
+ if (entry.issuerParticipantId !== issuerParticipantId)
458
+ continue;
459
+ await removeTrustCredential(agent, jscUrl, '_vt/vtc');
460
+ withdrawn.push(jscUrl);
461
+ if (entry.schemaKey === 'ecs-service')
462
+ whoisWithdrawn = true;
463
+ }
464
+ if (whoisWithdrawn) {
465
+ const record = await getDidRecord(agent);
466
+ if ((_b = record.didDocument) === null || _b === void 0 ? void 0 : _b.service) {
467
+ record.didDocument.service = record.didDocument.service.filter(s => s.id !== `${agent.did}#whois`);
468
+ await updateDidRecord(agent, record);
469
+ }
470
+ }
471
+ return withdrawn;
472
+ }
288
473
  //# sourceMappingURL=trustCredentialStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trustCredentialStore.js","sourceRoot":"","sources":["../../src/utils/trustCredentialStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trustCredentialStore.js","sourceRoot":"","sources":["../../src/utils/trustCredentialStore.ts"],"names":[],"mappings":";;AA0FA,kFAsBC;AAmCD,8CA0BC;AAED,8CAyCC;AAED,kDAgBC;AAED,8BA6BC;AAQD,8BAoDC;AAED,sDAcC;AASD,kEA6BC;AAED,wDAsBC;AAQD,0DAuBC;AAQD,4DAkBC;AAED,4CAEC;AAqDD,8DA4FC;AAMD,4EAuBC;AA9nBD,yCAcuB;AACvB,iDAAiD;AACjD,6DAA6D;AAC7D,kBAAkB;AAClB,6EAAgE;AAEhE,8CAA+D;AAG/D,4DAAkE;AAElE,+CASsB;AACtB,uEAA4E;AAE5E,iCAAsC;AAEtC,KAAK,UAAU,YAAY,CAAC,KAAc;IACxC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;IACvE,OAAO,SAAS,CAAA;AAClB,CAAC;AAWD,mGAAmG;AACnG,SAAS,qBAAqB,CAAC,UAA2B;IACxD,OAAO,UAAU,YAAY,6CAAsC;QACjE,CAAC,CAAC,UAAU,CAAC,kBAAkB;QAC/B,CAAC,CAAC,UAAU,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,UAA2B;IACvD,OAAO,UAAU,YAAY,6CAAsC;QACjE,CAAC,CAAC,UAAU,CAAC,iBAAiB;QAC9B,CAAC,CAAC,UAAU,CAAC,cAAc,CAAA;AAC/B,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA+B;IAC7D,OAAO,YAAY,YAAY,+CAAwC;QACrE,CAAC,CAAC,YAAY,CAAC,mBAAmB;QAClC,CAAC,CAAC,YAAY,CAAA;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,YAA+B;IAC1D,OAAO,YAAY,YAAY,+CAAwC;QACrE,CAAC,CAAE,YAAY,CAAC,mBAAmB,CAAC,EAAyB;QAC7D,CAAC,CAAC,YAAY,CAAC,EAAE,CAAA;AACrB,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,mCAAmC,CACvD,KAAoD,EACpD,OAKC;IAED,MAAM,YAAY,GAAG,IAAI,wBAAiB,CAAC;QACzC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,oBAAoB,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;KAC3C,CAAC,CAAA;IACF,8FAA8F;IAC9F,0CAA0C;IAC1C,OAAO,MAAM,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAmB;QACrE,MAAM,EAAE,kBAAW,CAAC,IAAI;QACxB,YAAY;QACZ,WAAW,EAAE,IAAA,yCAA2B,EAAC,KAAK,CAAC;QAC/C,kBAAkB,EAAE,OAAO,CAAC,oBAAoB;KACf,CAAC,CAAA;AACtC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,+BAA+B,CAC5C,KAAc,EACd,OAKC;IAED,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAoB;QACpE,MAAM,EAAE,kBAAW,CAAC,KAAK;QACzB,YAAY,EAAE,IAAI,sBAAe,CAAC;YAChC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,oBAAoB,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;SAC3C,CAAC;QACF,SAAS,EAAE,sBAAsB;QACjC,kBAAkB,EAAE,OAAO,CAAC,oBAAoB;QAChD,YAAY,EAAE,IAAI,4BAAQ,CAAC,qBAAqB,EAAE;KACnD,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAc,EAAE,SAAoB;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAa,CAAC,CAAA;IACnE,IAAA,2CAAyB,EAAC,SAAS,CAAC,WAAY,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAChF,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC3C,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,WAAY,EAAE,CAAC,CAAA;AACtF,CAAC;AAED,SAAgB,iBAAiB,CAC/B,SAAoB,EACpB,GAA0B,EAC1B,EAAW,EACX,aAAsB;;IAEtB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAA;IAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAExC,6FAA6F;IAC7F,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClG,IAAI,KAAK;QAAE,qCAAS,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAK,KAAK,CAAC,CAAC,CAAC,KAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,IAAE;IAE5F,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAsC,EAAE,EAAE;;QACvE,IAAI,CAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,EAAE,MAAK,EAAE;YAAE,qCAAS,QAAQ,IAAK,KAAK,KAAE,IAAI,EAAE,KAAK,CAAC,UAAU,IAAE;QACtF,IAAI,CAAA,MAAA,KAAK,CAAC,sBAAsB,0CAAE,EAAE,MAAK,EAAE;YACzC,qCAAS,QAAQ,IAAK,KAAK,KAAE,IAAI,EAAE,KAAK,CAAC,sBAAsB,IAAE;QACnE,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,gGAAgG;IAChG,2DAA2D;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;IAClE,OAAO,MAAA,MAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,mCAAI,OAAO,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAA;AAC9E,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,KAAc,EACd,SAAoB,EACpB,UAA2B,EAC3B,sBAAyC,EACzC,oBAA4B,EAC5B,GAA0B;;IAE1B,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAA;IACrF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,EAAE,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA;IAE9D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAA;IAChD,2DAA2D;IAC3D,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC/D,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,MAAA,SAAS,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAC;YACnC,SAAS,CAAC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAClE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,oBAAoB,CACzC,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG;QACZ,UAAU,EAAE,oBAAoB,CAAC,UAAU,CAAC;QAC5C,sBAAsB,EAAE,sBAAsB,CAAC,sBAAsB,CAAC;QACtE,oBAAoB;KACrB,CAAA;IACD,MAAA,MAAA,SAAS,CAAC,WAAW,0CAAE,OAAO,0CAAE,IAAI,CAClC,IAAI,yBAAkB,CAAC;QACrB,EAAE,EAAE,oBAAoB;QACxB,eAAe,EAAE,mBAAmB,CAAC,sBAAsB,CAAE;QAC7D,IAAI,EAAE,8BAA8B;KACrC,CAAC,CACH,CAAA;IACD,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACnC,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,KAAc,EACd,EAAU,EACV,SAAoB,EACpB,GAA0B;IAE1B,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACrC,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;AACrC,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,KAAc,EACd,gBAAwB,EACxB,EAAU,EACV,UAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,WAAW,EAAE,cAAc,CAAA;IAC5C,MAAM,oBAAoB,GAAG,GAAG,KAAK,CAAC,GAAG,QAAQ,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAA;IAChF,MAAM,eAAe,GAAG,GAAG,gBAAgB,OAAO,QAAQ,EAAE,CAAA;IAC5D,MAAM,oBAAoB,GAAG,IAAA,qCAAuB,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEpF,+FAA+F;IAC/F,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,CAAC,GAAI,EAAE,oBAAoB,EAAE,CAAA;IAClF,MAAM,sBAAsB,GAC1B,UAAU,YAAY,6CAAsC;QAC1D,CAAC,CAAC,MAAM,mCAAmC,CAAC,KAAK,kCAAO,QAAQ,KAAE,UAAU,IAAG;QAC/E,CAAC,CAAC,MAAM,+BAA+B,CAAC,KAAK,kCAAO,QAAQ,KAAE,UAAU,IAAG,CAAA;IAE/E,MAAM,iBAAiB,CACrB,KAAK,EACL,SAAS,EACT,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,SAAS,CACV,CAAA;IACD,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAQM,KAAK,UAAU,SAAS,CAC7B,KAAc,EACd,gBAAwB,EACxB,UAAkC,EAClC,OAAyB;IAEzB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAA;IACrE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAA,kCAAoB,EAAC,aAAa,CAAC,CAAA;IAErE,MAAM,aAAa,GAAG,oBAAoB;QACxC,CAAC,iCAAM,MAAM,KAAE,SAAS,EAAE,oBAAoB,IAC9C,CAAC,CAAC,MAAM,IAAA,0BAAY,EAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IAErD,MAAM,iBAAiB,mCAAQ,aAAa,KAAE,EAAE,EAAE,SAAS,GAAE,CAAA;IAC7D,MAAM,kBAAkB,GAAG,WAAW,YAAY,gBAAgB,CAAA;IAClE,MAAM,gBAAgB,GAAG,WAAW,YAAY,WAAW,CAAA;IAC3D,MAAM,eAAe,GAAG,GAAG,gBAAgB,OAAO,kBAAkB,EAAE,CAAA;IACtE,MAAM,oBAAoB,GAAG,GAAG,KAAK,CAAC,GAAG,gBAAgB,YAAY,WAAW,CAAA;IAChF,MAAM,YAAY,GAAG,GAAG,gBAAgB,OAAO,gBAAgB,EAAE,CAAA;IAEjE,MAAM,kBAAkB,GAAG,IAAA,8BAAgB,EAAC;QAC1C,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;QACtD,MAAM,EAAE,KAAK,CAAC,GAAG;QACjB,iBAAiB;QACjB,gBAAgB,EAAE,MAAM,IAAA,0BAAY,EAClC,8BAAgB,CAAC,EAAE,EACnB,EAAE,EAAE,EAAE,8BAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAgB,CAAC,IAAI,EAAE,EACxD,UAAU,CACX;KACF,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,IAAA,qCAAuB,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACpF,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAS,EAAC,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAA;IACnF,MAAM,sBAAsB,GAAG,MAAM,mCAAmC,CAAC,KAAK,EAAE;QAC9E,EAAE,EAAE,eAAe;QACnB,MAAM,EAAE,KAAK,CAAC,GAAI;QAClB,UAAU;QACV,oBAAoB;KACrB,CAAC,CAAA;IAEF,MAAM,iBAAiB,CACrB,KAAK,EACL,SAAS,EACT,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,SAAS,CACV,CAAA;IACD,gEAAgE;IAChE,OAAO,UAAU,CAAC,iBAAyE,CAAA;AAC7F,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,KAAc,EAAE,QAAgB,EAAE,GAA0B;;IACtG,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,yFAAyF;IACzF,qDAAqD;IACrD,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpE,qDAAqD;IACrD,qEAAqE;IACrE,iFAAiF;IACjF,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,MAAI,MAAA,SAAS,CAAC,WAAW,0CAAE,OAAO,CAAA,EAAE,CAAC;QACnE,SAAS,CAAC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAClE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,oBAAoB,CAC1C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;AACnE,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,2BAA2B,CAC/C,KAAc,EACd,0BAAkC;;IAElC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAA;IAC5F,MAAM,YAAY,GAAG,MAAA,MAAA,MAAC,UAAU,CAAC,UAAsE,0CACnG,aAAa,0CAAE,UAAU,0CAAE,EAAE,CAAA;IACjC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,0CAA0C,0BAA0B,2FAA2F,CAChK,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IAE3D,8FAA8F;IAC9F,8EAA8E;IAC9E,KAAK,MAAM,YAAY,IAAI,MAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QACjE,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACpD,MAAM,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,YAAY,IAAI,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/D,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACpD,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,KAAc;;IACzD,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,OAAM;IACtB,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;IACvE,IAAI,CAAC,SAAS;QAAE,OAAM;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAM;IAErB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAA;QAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,SAAQ;QAC7F,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QACzD,MAAM,OAAO,GAAG,MAAA,MAAA,SAAS,CAAC,WAAW,0CAAE,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;QAC7E,IAAI,OAAO;YAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAA;QAChC,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAA;QACnC,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAM;IAEpB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC3C,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACvC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;AACzF,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,uBAAuB,CAC3C,KAAc,EACd,UAA6B;;IAE7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEtC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,0CAAE,OAAO,CAAA;QAAE,OAAO,EAAE,CAAA;IAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IAExB,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAC,0CAAE,oBAAoB,CAAA;QAC3D,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC;YAAE,SAAQ;QAExF,SAAS,CAAC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;QAC7F,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEpC,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACvC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,wBAAwB,CAAC,KAAc,EAAE,SAAiB;;IAC9E,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,CAAA;QAAE,OAAO,KAAK,CAAA;IACzC,MAAM,KAAK,GAAG,MAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAG,SAAS,CAAC,CAAA;IAE5D,MAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,CAAA;IAC7C,MAAM,eAAe,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,sBAAsB,0CAAE,EAAE,CAAA;IACzD,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAA;IAEhD,MAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAA;IACpD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IAExD,SAAS,CAAC,WAAW,CAAC,OAAO,GAAG;QAC9B,GAAG,QAAQ;QACX,IAAI,yBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;KACjG,CAAA;IACD,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACvC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,GAA0B,EAAE,QAAiB;IAClG,OAAO,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,KAAc,EACd,QAAgB,EAChB,UAA+C,EAC/C,mBAA2B;IAE3B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAA;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAM;IAClB,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,oBAAoB,CAAC,CAAA;IAC5G,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAE7E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACvF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,kBAAkB,CAAC,CAAA;IAE5F,gEAAgE;IAChE,MAAM,MAAM,GAAG,IAAA,kCAA0B,EAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAC9E,2GAA2G;IAC3G,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAAE,OAAM;IAEjD,sFAAsF;IACtF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,gCAAgC,CAAC;QAC9D,EAAE,EAAE,YAAK,CAAC,IAAI,EAAE;QAChB,mBAAmB;QACnB,kBAAkB,EAAE,CAAC;QACrB,wBAAwB,EAAE,CAAC;QAC3B,MAAM;KACP,CAAC,CAAA;IACF,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,kCAAkC,MAAM,eAAe,QAAQ,+BAA+B,mBAAmB,QAAQ,MAAM,GAAG,CACnI,CAAA;IACD,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;AAC3C,CAAC;AAED,mHAAmH;AACnH;;;;;;;;GAQG;AACI,KAAK,UAAU,yBAAyB,CAC7C,KAAc,EACd,gBAAwB,EACxB,QAAgB,EAChB,SAAiB,EACjB,SAAoB,EACpB,sBAA8B,EAC9B,mBAA2B,EAC3B,iBAA0B,EAC1B,cAAuB;;IAEvB,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,OAAM;IACtB,MAAM,KAAK,GAAG,GAAG,gBAAgB,OAAO,SAAS,cAAc,CAAA;IAC/D,MAAM,MAAM,GAAG,sBAAsB,CAAA;IAErC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAA;IAEtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,MAAM,YAAY,GAChB,OAAO,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,MAAM,CAAA,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,MAAM,0CAAE,EAAE,CAAA;IAC5G,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,CAAC,MAAM,CAAC,aAAa,IAAI,YAAY,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9E,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CACvB,wBAAwB,SAAS,yBAAyB,YAAY,yCAAyC,CAChH,CAAA;QACD,OAAM;IACR,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,0FAA0F;QAC1F,IACE,GAAG,KAAK,MAAM;YACd,CAAA,MAAC,KAAsD,CAAC,sBAAsB,0CAAE,EAAE,MAAK,KAAK,EAC5F,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YAClB,YAAY,GAAG,IAAI,CAAA;QACrB,CAAC;IACH,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACzC,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,IAAA,0DAAgC,EACpC,KAAK,EACL,KAAK,kCACA,IAAA,oBAAa,EAAC,gBAAgB,CAAC,GAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtG,SAAS,EACT,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,EACrD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAC5C,SAAS,EACT,KAAK,EAAC,sBAAsB,EAAC,EAAE,CAC7B,MAAM,sBAAsB,CAC1B,KAAK,EACL,MAAM,CAAC,QAAQ,CAAC,EAChB,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAC9C,mBAAmB,CACpB,EACH,cAAc,CACf,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,aAAa,GAAG,KAAK,CAAA;IAEzB,MAAM,GAAG,GAAG,MAAA,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAA;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,mBAAmB,KAAK,mBAAmB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,MAAM,CAAC,mCAAQ,KAAK,KAAE,mBAAmB,EAAE,SAAS,GAAE,CAAA;QAC1D,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QACxC,aAAa,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAA;IACnC,IAAI,GAAG,EAAE,CAAC;QACR,mFAAmF;QACnF,MAAM,iBAAiB,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAA,8BAAgB,EAAC,SAAS,CAAC,EAAE,CAAA;QACvE,MAAM,MAAM,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAA;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,OAAO,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAA;YAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,CACd,IAAI,yBAAkB,CAAC;gBACrB,EAAE,EAAE,iBAAiB;gBACrB,eAAe,EAAE,KAAK;gBACtB,IAAI,EAAE,8BAA8B;aACrC,CAAC,CACH,CAAA;YACD,aAAa,GAAG,IAAI,CAAA;QACtB,CAAC;QACD,IAAI,aAAa;YAAE,MAAM,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,SAAS,wBAAwB,MAAM,EAAE,CAAC,CAAA;AACzF,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gCAAgC,CACpD,KAAc,EACd,mBAA2B;;IAE3B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,IAAI,cAAc,GAAG,KAAK,CAAA;IAE1B,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAC,EAAE,CAAC;QACtF,MAAM,KAAK,GAAG,KAA6D,CAAA;QAC3E,IAAI,KAAK,CAAC,mBAAmB,KAAK,mBAAmB;YAAE,SAAQ;QAC/D,MAAM,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,IAAI,KAAK,CAAC,SAAS,KAAK,aAAa;YAAE,cAAc,GAAG,IAAI,CAAA;IAC9D,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,MAAA,MAAM,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAA;YAClG,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -5,3 +5,13 @@ export declare function fetchJson<T>(url: string, opts: {
5
5
  timeoutMs?: number;
6
6
  allowNotFound: true;
7
7
  }): Promise<T | undefined>;
8
+ /** The AnonCreds schema that the JSON Schema of a `CredentialSchema` entry defines. */
9
+ export interface AnonCredsSchemaShape {
10
+ name: string;
11
+ attrNames: string[];
12
+ }
13
+ /**
14
+ * Maps `title` to the schema name and the `credentialSubject` properties to `attrNames`, per
15
+ * [VSA-PUB-AC-5]. The VTJSC issuer and every accredited issuer must derive the same values.
16
+ */
17
+ export declare function anonCredsSchemaFromJsonSchema(jsonSchema: string | object): AnonCredsSchemaShape;