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

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 (166) hide show
  1. package/README.md +0 -2
  2. package/build/adminApi/AdminApiError.d.ts +27 -0
  3. package/build/adminApi/AdminApiError.js +59 -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 +25 -14
  45. package/build/blockchain/VeranaChainService.js +123 -113
  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 +2 -0
  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 +71 -0
  59. package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
  60. package/build/blockchain/handlers/stateMutations.d.ts +21 -2
  61. package/build/blockchain/handlers/stateMutations.js +285 -37
  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 +166 -76
  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 +27 -18
  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 -0
  114. package/build/types.js.map +1 -1
  115. package/build/utils/agent.d.ts +29 -4
  116. package/build/utils/agent.js +91 -22
  117. package/build/utils/agent.js.map +1 -1
  118. package/build/utils/didReadiness.d.ts +9 -0
  119. package/build/utils/didReadiness.js +42 -0
  120. package/build/utils/didReadiness.js.map +1 -0
  121. package/build/utils/ecsClaims.d.ts +47 -0
  122. package/build/utils/ecsClaims.js +120 -0
  123. package/build/utils/ecsClaims.js.map +1 -0
  124. package/build/utils/ecsService.d.ts +8 -0
  125. package/build/utils/ecsService.js +23 -0
  126. package/build/utils/ecsService.js.map +1 -0
  127. package/build/utils/index.d.ts +4 -0
  128. package/build/utils/index.js +4 -0
  129. package/build/utils/index.js.map +1 -1
  130. package/build/utils/selfIssuedEcsCredential.d.ts +8 -0
  131. package/build/utils/selfIssuedEcsCredential.js +151 -0
  132. package/build/utils/selfIssuedEcsCredential.js.map +1 -0
  133. package/build/utils/setupSelfTr.d.ts +34 -66
  134. package/build/utils/setupSelfTr.js +89 -295
  135. package/build/utils/setupSelfTr.js.map +1 -1
  136. package/build/utils/trustCredentialStore.d.ts +67 -9
  137. package/build/utils/trustCredentialStore.js +296 -111
  138. package/build/utils/trustCredentialStore.js.map +1 -1
  139. package/build/utils/util.d.ts +10 -0
  140. package/build/utils/util.js +16 -0
  141. package/build/utils/util.js.map +1 -1
  142. package/build/utils/vcdm2.d.ts +34 -0
  143. package/build/utils/vcdm2.js +62 -0
  144. package/build/utils/vcdm2.js.map +1 -0
  145. package/build/utils/vtjscResolver.d.ts +18 -0
  146. package/build/utils/vtjscResolver.js +54 -0
  147. package/build/utils/vtjscResolver.js.map +1 -0
  148. package/build/vtFlow/VtFlowOrchestrator.d.ts +84 -13
  149. package/build/vtFlow/VtFlowOrchestrator.js +505 -107
  150. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  151. package/build/vtFlow/assertVerifiableService.d.ts +1 -0
  152. package/build/vtFlow/assertVerifiableService.js +45 -5
  153. package/build/vtFlow/assertVerifiableService.js.map +1 -1
  154. package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
  155. package/build/vtFlow/ecsIssuanceExemption.js +84 -0
  156. package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
  157. package/build/vtFlow/index.d.ts +1 -0
  158. package/build/vtFlow/index.js +1 -0
  159. package/build/vtFlow/index.js.map +1 -1
  160. package/package.json +17 -12
  161. package/build/did/migrateWebVhLog.d.ts +0 -34
  162. package/build/did/migrateWebVhLog.js +0 -230
  163. package/build/did/migrateWebVhLog.js.map +0 -1
  164. package/build/did/migrateWebVhVersionTime.d.ts +0 -9
  165. package/build/did/migrateWebVhVersionTime.js +0 -191
  166. package/build/did/migrateWebVhVersionTime.js.map +0 -1
@@ -7,22 +7,31 @@ exports.upsertCredentialSchema = upsertCredentialSchema;
7
7
  exports.upsertParticipant = upsertParticipant;
8
8
  exports.reconcileVtFlowRecordsForParticipant = reconcileVtFlowRecordsForParticipant;
9
9
  exports.markVtFlowRecordsValidated = markVtFlowRecordsValidated;
10
+ exports.completeVtFlowRecordsWithoutCredential = completeVtFlowRecordsWithoutCredential;
10
11
  exports.setVtFlowRecordsParticipantRevoked = setVtFlowRecordsParticipantRevoked;
11
12
  exports.setVtFlowRecordsParticipantSlashed = setVtFlowRecordsParticipantSlashed;
12
13
  exports.removeHolderTrustCredentialIfRevoked = removeHolderTrustCredentialIfRevoked;
14
+ exports.removeSelfIssuedEcsCredentialsIfIssuerRevoked = removeSelfIssuedEcsCredentialsIfIssuerRevoked;
13
15
  exports.reconcileVtFlowRecordsOnCancel = reconcileVtFlowRecordsOnCancel;
14
16
  exports.startParticipantOPAutoFlow = startParticipantOPAutoFlow;
15
17
  exports.reconcileVtjscPublications = reconcileVtjscPublications;
18
+ exports.publishAnonCredsSchemaForVtjsc = publishAnonCredsSchemaForVtjsc;
16
19
  exports.publishVtjscIfOwner = publishVtjscIfOwner;
20
+ const anoncreds_1 = require("@credo-ts/anoncreds");
17
21
  const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
18
22
  const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
23
+ const types_1 = require("../../types");
24
+ const agent_1 = require("../../utils/agent");
19
25
  const data_1 = require("../../utils/data");
26
+ const didReadiness_1 = require("../../utils/didReadiness");
20
27
  const setupSelfTr_1 = require("../../utils/setupSelfTr");
28
+ const ecsClaims_1 = require("../../utils/ecsClaims");
21
29
  const trustCredentialStore_1 = require("../../utils/trustCredentialStore");
30
+ const util_1 = require("../../utils/util");
31
+ const vcdm2_1 = require("../../utils/vcdm2");
32
+ const vtjscResolver_1 = require("../../utils/vtjscResolver");
22
33
  const vtFlow_1 = require("../../vtFlow");
23
- const types_1 = require("../types");
24
- const DEFAULT_CHAIN_ID = 'vna-testnet-1';
25
- const PARTICIPANT_ROLE_HOLDER = 6;
34
+ const types_2 = require("../types");
26
35
  function applyStateMutation(state, activity) {
27
36
  var _a;
28
37
  switch (activity.msg) {
@@ -142,7 +151,7 @@ function upsertParticipant(state, activity, overrides = {}) {
142
151
  async function reconcileVtFlowRecordsForParticipant(agent, participantId, reconcile, errorLabel) {
143
152
  const agentContext = agent.context;
144
153
  const service = agentContext.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowService);
145
- const records = await service.findAllByQuery(agentContext, { participantId });
154
+ const records = await service.findAllByQuery(agentContext, { applicantParticipantId: participantId });
146
155
  for (const record of records) {
147
156
  try {
148
157
  const transitionedTo = await reconcile(record, service, agentContext);
@@ -157,13 +166,34 @@ async function reconcileVtFlowRecordsForParticipant(agent, participantId, reconc
157
166
  }
158
167
  async function markVtFlowRecordsValidated(agent, participantId) {
159
168
  await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
160
- if (record.state !== credo_ts_didcomm_vt_flow_1.VtFlowState.Validating && record.state !== credo_ts_didcomm_vt_flow_1.VtFlowState.OobPending) {
169
+ if (record.role !== credo_ts_didcomm_vt_flow_1.VtFlowRole.Validator || !credo_ts_didcomm_vt_flow_1.VtFlowValidatedFromStates.has(record.state)) {
161
170
  return null;
162
171
  }
163
172
  await service.markValidated(agentContext, record.id);
173
+ if (record.validation)
174
+ await new vtFlow_1.VtFlowOrchestrator(agent).continueAfterValidated(record.id);
164
175
  return 'VALIDATED';
165
176
  }, 'Failed to markValidated');
166
177
  }
178
+ /**
179
+ * Close the onboarding records of a participant that receives no credential.
180
+ *
181
+ * Only a HOLDER takes part in a credential exchange, and the exchange is what moves a record to
182
+ * COMPLETED. An ISSUER, a VERIFIER or a grantor is finished the moment the chain records
183
+ * SetParticipantOPToValidated, so without this both sides would sit at OR_SENT and VALIDATED for
184
+ * ever. The applicant reaches its own record here, because it watches the same chain event.
185
+ */
186
+ async function completeVtFlowRecordsWithoutCredential(agent, participantId) {
187
+ const participant = await agent.indexer.findParticipant(participantId).catch(() => undefined);
188
+ if (!participant || participant.role === types_1.HOLDER_PARTICIPANT_TYPE)
189
+ return;
190
+ await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
191
+ if (record.state === credo_ts_didcomm_vt_flow_1.VtFlowState.Completed || (0, credo_ts_didcomm_vt_flow_1.isVtFlowTerminalState)(record.state))
192
+ return null;
193
+ await service.markCompleted(agentContext, record.id);
194
+ return 'COMPLETED';
195
+ }, 'Failed to mark COMPLETED');
196
+ }
167
197
  async function setVtFlowRecordsParticipantRevoked(agent, participantId) {
168
198
  await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
169
199
  if (record.state === credo_ts_didcomm_vt_flow_1.VtFlowState.ParticipantRevoked ||
@@ -196,20 +226,19 @@ async function setVtFlowRecordsParticipantSlashed(agent, participantId) {
196
226
  }
197
227
  /** VSA-VTI-FLOW-OP-REVOKE: a revoked/slashed HOLDER's credential is gone; drop its linked VP and stored VTC. */
198
228
  async function removeHolderTrustCredentialIfRevoked(agent, participantId) {
199
- var _a;
200
- const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)).catch(() => undefined));
201
- if ((participant === null || participant === void 0 ? void 0 : participant.role) !== PARTICIPANT_ROLE_HOLDER || participant.did !== agent.did)
229
+ const participant = await agent.indexer.findParticipant(participantId).catch(() => undefined);
230
+ if ((participant === null || participant === void 0 ? void 0 : participant.role) !== types_1.HOLDER_PARTICIPANT_TYPE || participant.did !== agent.did)
202
231
  return;
203
232
  if (!agent.publicApiBaseUrl)
204
233
  return;
205
234
  const agentContext = agent.context;
206
235
  const service = agentContext.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowService);
207
- const records = await service.findAllByQuery(agentContext, { participantId });
236
+ const records = await service.findAllByQuery(agentContext, { applicantParticipantId: participantId });
208
237
  for (const record of records) {
209
238
  if (record.role !== credo_ts_didcomm_vt_flow_1.VtFlowRole.Applicant || !record.credentialExchangeRecordId)
210
239
  continue;
211
240
  try {
212
- const credentialId = await (0, trustCredentialStore_1.removeStoredTrustCredential)(agent, agent.publicApiBaseUrl, record.credentialExchangeRecordId);
241
+ const credentialId = await (0, trustCredentialStore_1.removeStoredTrustCredential)(agent, record.credentialExchangeRecordId);
213
242
  if (credentialId) {
214
243
  agent.config.logger.info(`[IndexerWS] Removed linked VP and stored credential ${credentialId} (participant=${participantId})`);
215
244
  }
@@ -219,10 +248,29 @@ async function removeHolderTrustCredentialIfRevoked(agent, participantId) {
219
248
  }
220
249
  }
221
250
  }
251
+ /**
252
+ * VSA-VTI-FLOW-OP-REVOKE: an ECS credential anchored against a revoked ISSUER still verifies, but a
253
+ * resolver reports the Participant as REVOKED and the whole DID then fails VS-CONN-VS.
254
+ */
255
+ async function removeSelfIssuedEcsCredentialsIfIssuerRevoked(agent, participantId) {
256
+ if (!agent.publicApiBaseUrl)
257
+ return;
258
+ const participant = await agent.indexer.findParticipant(participantId).catch(() => undefined);
259
+ if ((participant === null || participant === void 0 ? void 0 : participant.role) !== types_1.ISSUER_PARTICIPANT_TYPE || participant.did !== agent.did)
260
+ return;
261
+ try {
262
+ const withdrawn = await (0, trustCredentialStore_1.withdrawSelfIssuedEcsCredentials)(agent, participant.id);
263
+ for (const jscUrl of withdrawn) {
264
+ agent.config.logger.info(`[SelfTR] Withdrew the self-issued ECS credential bound to ${jscUrl} (issuer participant ${participantId})`);
265
+ }
266
+ }
267
+ catch (e) {
268
+ agent.config.logger.error(`[SelfTR] Failed to withdraw the ECS credentials of the revoked ISSUER participant ${participantId}`, e);
269
+ }
270
+ }
222
271
  async function reconcileVtFlowRecordsOnCancel(agent, participantId) {
223
- var _a;
224
- const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)).catch(() => undefined));
225
- const stillValidated = Number(participant === null || participant === void 0 ? void 0 : participant.opState) === types_1.ValidationState.VALIDATED;
272
+ const participant = await agent.indexer.findParticipant(participantId).catch(() => undefined);
273
+ const stillValidated = Number(participant === null || participant === void 0 ? void 0 : participant.opState) === types_2.ValidationState.VALIDATED;
226
274
  await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
227
275
  if ((0, credo_ts_didcomm_vt_flow_1.isVtFlowTerminalState)(record.state))
228
276
  return null;
@@ -236,6 +284,20 @@ async function reconcileVtFlowRecordsOnCancel(agent, participantId) {
236
284
  return 'TERMINATED_BY_APPLICANT';
237
285
  }, 'Failed to reconcile record after cancel');
238
286
  }
287
+ // [VSA-VTI-CFG-ENV-ECS]: the applicant proposes its own claims, and the validator may override
288
+ // them. The field is omitted when the operator configured none.
289
+ async function onboardingClaims(agent, schemaId) {
290
+ if (!agent.ecsClaims || !agent.did)
291
+ return undefined;
292
+ const schema = await agent.indexer.getCredentialSchema(schemaId);
293
+ const ecsKey = schema && (await (0, vs_agent_model_1.classifyEcsSchema)(schema.json_schema));
294
+ if (!ecsKey) {
295
+ agent.config.logger.warn(`[ecs-claims] schema ${schemaId} is not an ECS schema, sending no claims`);
296
+ return undefined;
297
+ }
298
+ // a digest the agent cannot compute must stop the flow, per [VSA-VTI-CFG-ENV-ECS]
299
+ return await (0, ecsClaims_1.composeEcsClaims)(agent.ecsClaims, ecsKey, agent.config.logger);
300
+ }
239
301
  async function startParticipantOPAutoFlow(agent, activity) {
240
302
  const chain = agent.veranaChain;
241
303
  if (!chain)
@@ -243,62 +305,231 @@ async function startParticipantOPAutoFlow(agent, activity) {
243
305
  const applicantParticipantId = Number(activity.entity_id);
244
306
  if (!Number.isFinite(applicantParticipantId))
245
307
  return;
246
- const holderParticipant = await chain.getParticipant(applicantParticipantId);
308
+ const holderParticipant = await agent.indexer.findParticipant(applicantParticipantId);
247
309
  if (!holderParticipant || holderParticipant.did !== agent.did)
248
310
  return;
249
311
  try {
312
+ await (0, didReadiness_1.waitUntilOwnDidIsPubliclyResolvable)(agent, agent.config.logger);
250
313
  const orchestrator = new vtFlow_1.VtFlowOrchestrator(agent);
251
- await orchestrator.startOnboardingProcess({ applicantParticipantId });
314
+ const claims = await onboardingClaims(agent, holderParticipant.schemaId);
315
+ await orchestrator.startOnboardingProcess(Object.assign({ applicantParticipantId }, (claims ? { claims } : {})));
252
316
  }
253
317
  catch (err) {
254
318
  agent.config.logger.error(`[IndexerWS] StartParticipantOP auto-flow failed: ${err.message}\n${err.stack}`);
255
319
  }
256
320
  }
257
- async function reconcileVtjscPublications(agent, indexer, corporationId, selfTrDefaults) {
321
+ async function reconcileVtjscPublications(agent, indexer, corporationId, ecsClaims) {
258
322
  var _a, _b, _c, _d;
259
323
  if (!agent.did || !agent.publicApiBaseUrl)
260
324
  return;
261
- const chainId = (_b = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId) !== null && _b !== void 0 ? _b : DEFAULT_CHAIN_ID;
325
+ const chainId = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId;
326
+ if (!chainId) {
327
+ agent.config.logger.warn('[VTJSC] Skipping reconciliation: the agent is not connected to a chain');
328
+ return;
329
+ }
262
330
  const ecosystems = await indexer.listEcosystems();
263
- for (const ecosystem of ecosystems.filter(entry => Number(entry.corporation_id) === corporationId)) {
331
+ const controlled = ecosystems.filter(entry => Number(entry.corporation_id) === corporationId);
332
+ const reconciled = new Set();
333
+ for (const ecosystem of controlled) {
264
334
  for (const schema of await indexer.listCredentialSchemas(ecosystem.id)) {
265
335
  const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
266
336
  if (!didRecord)
267
337
  return;
268
338
  const schemaRef = `vpr:verana:${chainId}:cs:${schema.id}`;
339
+ reconciled.add(schemaRef);
269
340
  const expectedDigest = (0, setupSelfTr_1.generateDigestSRI)(schema.json_schema);
270
341
  const existingJsc = (0, trustCredentialStore_1.findMetadataEntry)(didRecord, '_vt/jsc', '', schemaRef);
271
- const existingDigest = (_d = (_c = existingJsc === null || existingJsc === void 0 ? void 0 : existingJsc.credential) === null || _c === void 0 ? void 0 : _c.credentialSubject) === null || _d === void 0 ? void 0 : _d.digestSRI;
272
- if (!existingJsc || existingDigest !== expectedDigest) {
273
- try {
274
- await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
342
+ const existingDigest = (_c = (_b = existingJsc === null || existingJsc === void 0 ? void 0 : existingJsc.credential) === null || _b === void 0 ? void 0 : _b.credentialSubject) === null || _c === void 0 ? void 0 : _c.digestSRI;
343
+ let jsonSchemaCredentialId = (_d = existingJsc === null || existingJsc === void 0 ? void 0 : existingJsc.credential) === null || _d === void 0 ? void 0 : _d.id;
344
+ try {
345
+ // a VTJSC an older agent published as data model 1.1 is rebuilt as well
346
+ if (!existingJsc ||
347
+ existingDigest !== expectedDigest ||
348
+ !(0, vcdm2_1.isDataIntegrityVcdm2Credential)(existingJsc.credential)) {
349
+ const credential = await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
275
350
  schemaBaseId: String(schema.id),
276
351
  jsonSchemaRef: schemaRef,
277
352
  precomputedDigestSRI: expectedDigest,
278
353
  });
354
+ jsonSchemaCredentialId = credential.id;
279
355
  agent.config.logger.info(`[VTJSC] Reconciled VTJSC for schema ${schema.id} (ecosystem ${ecosystem.id})`);
280
356
  }
281
- catch (e) {
282
- agent.config.logger.error(`[VTJSC] Failed to reconcile VTJSC for schema ${schema.id}`, e);
283
- continue;
357
+ else if (await (0, trustCredentialStore_1.reattachVtjscPublication)(agent, schemaRef)) {
358
+ agent.config.logger.info(`[VTJSC] Re-attached the VTJSC of schema ${schema.id} (ecosystem ${ecosystem.id})`);
284
359
  }
285
360
  }
286
- if (selfTrDefaults) {
287
- try {
288
- const ecsKey = await (0, vs_agent_model_1.identifySchema)(JSON.parse(schema.json_schema));
289
- if (!ecsKey)
290
- continue;
291
- await (0, trustCredentialStore_1.rebindEcsCredentialSchema)(agent, agent.publicApiBaseUrl, String(schema.id), ecsKey, selfTrDefaults);
292
- }
293
- catch (e) {
294
- agent.config.logger.error(`[VTJSC] Failed to rebind ECS credential for schema ${schema.id}`, e);
361
+ catch (e) {
362
+ agent.config.logger.error(`[VTJSC] Failed to reconcile VTJSC for schema ${schema.id}`, e);
363
+ }
364
+ // an agent that published a VTJSC before [VSA-PUB-AC-5] has no AnonCreds schema for it yet
365
+ if (!jsonSchemaCredentialId)
366
+ continue;
367
+ try {
368
+ await publishAnonCredsSchemaForVtjsc(agent, schema.id, schema.json_schema, jsonSchemaCredentialId);
369
+ }
370
+ catch (e) {
371
+ agent.config.logger.error(`[VTJSC] Failed to reconcile the AnonCreds schema of ${jsonSchemaCredentialId}`, e);
372
+ }
373
+ }
374
+ }
375
+ await detachUncontrolledVtjscPublications(agent, indexer, corporationId, chainId, reconciled);
376
+ if (ecsClaims)
377
+ await reconcileSelfIssuedEcsCredentials(agent, indexer, ecsClaims);
378
+ }
379
+ /** The `_vt/jsc` key that `createJsc` writes for an on-chain `CredentialSchema`. */
380
+ const onChainSchemaRefPrefix = (chainId) => `vpr:verana:${chainId}:cs:`;
381
+ /**
382
+ * VSA-VTI-VTJSC: only the controller of an Ecosystem advertises a VTJSC for its schemas. Archival
383
+ * is not a loss of control — the agent keeps it, and [VSA-VTI-NOTIF-ES] gives it no handler.
384
+ *
385
+ * Each entry is resolved against the VPR one by one rather than diffed against `listEcosystems`:
386
+ * that endpoint is unpaginated here, and a truncated page reads like a loss of control.
387
+ */
388
+ async function detachUncontrolledVtjscPublications(agent, indexer, corporationId, chainId, reconciled) {
389
+ const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
390
+ if (!didRecord)
391
+ return;
392
+ const metadata = didRecord.metadata.get('_vt/jsc');
393
+ if (!metadata)
394
+ return;
395
+ const prefix = onChainSchemaRefPrefix(chainId);
396
+ const ecosystemCache = new Map();
397
+ const stale = [];
398
+ for (const schemaRef of Object.keys(metadata)) {
399
+ // the agent's own schema credentials live in this bucket, keyed by public URL.
400
+ if (!schemaRef.startsWith(prefix))
401
+ continue;
402
+ if (reconciled.has(schemaRef))
403
+ continue;
404
+ const schemaId = schemaRef.slice(prefix.length);
405
+ try {
406
+ const schema = await indexer.getCredentialSchema(schemaId);
407
+ const ecosystemId = String(schema.ecosystem_id);
408
+ if (!ecosystemCache.has(ecosystemId)) {
409
+ ecosystemCache.set(ecosystemId, await indexer.getEcosystem(ecosystemId));
410
+ }
411
+ const ecosystem = ecosystemCache.get(ecosystemId);
412
+ if (!ecosystem)
413
+ continue;
414
+ if (Number(ecosystem.corporation_id) === corporationId)
415
+ continue;
416
+ agent.config.logger.info(`[VTJSC] Detaching the VTJSC of schema ${schemaId}: ecosystem ${ecosystemId} belongs to ` +
417
+ `corporation ${ecosystem.corporation_id}`);
418
+ stale.push(schemaRef);
419
+ }
420
+ catch (error) {
421
+ // A lookup the VPR cannot answer is not evidence of anything; leave the entry advertised.
422
+ agent.config.logger.debug(`[VTJSC] Keeping the VTJSC of schema ${schemaId}: ${error.message}`);
423
+ }
424
+ }
425
+ if (stale.length === 0)
426
+ return;
427
+ const detached = await (0, trustCredentialStore_1.detachVtjscPublications)(agent, stale);
428
+ if (detached.length > 0) {
429
+ agent.config.logger.info(`[VTJSC] Detached ${detached.length} VTJSC publication(s)`);
430
+ }
431
+ }
432
+ /**
433
+ * Rebinds and anchors this agent's own ECS credentials.
434
+ *
435
+ * It follows the ISSUER Participant entries the agent holds, not the Ecosystems its Corporation
436
+ * controls: an agent may issue against an Ecosystem that another Corporation owns, and an
437
+ * Ecosystem controller may hold no ISSUER entry at all. An entry is usable only when it names
438
+ * this agent's account as its vs_operator, because the chain accepts the anchoring
439
+ * CreateOrUpdateParticipantSession from no other signer.
440
+ *
441
+ * Every ECS schema qualifies, not only the Service one. The chain of Organization credentials has
442
+ * to terminate: the service holding the ISSUER entry is the only party that can issue against that
443
+ * schema, so it issues its own. Without it that service has no serviceProvider and fails VS-CONN-VS.
444
+ */
445
+ async function reconcileSelfIssuedEcsCredentials(agent, indexer, ecsClaims) {
446
+ const chain = agent.veranaChain;
447
+ if (!chain || !agent.did || !agent.publicApiBaseUrl)
448
+ return;
449
+ const chainId = chain.getChainId;
450
+ // A Participant revoked while the agent was down delivers no event it can still act on. Runs
451
+ // first, so a schema whose ISSUER entry was replaced ends up bound to the new one.
452
+ for (const participantState of [types_2.ParticipantState.Revoked, types_2.ParticipantState.Slashed]) {
453
+ try {
454
+ const stale = await indexer.listParticipants({
455
+ did: agent.did,
456
+ role: types_2.ParticipantRole.Issuer,
457
+ participantState,
458
+ });
459
+ for (const issuer of stale) {
460
+ const withdrawn = await (0, trustCredentialStore_1.withdrawSelfIssuedEcsCredentials)(agent, issuer.id);
461
+ for (const jscUrl of withdrawn) {
462
+ agent.config.logger.info(`[SelfTR] Withdrew the self-issued ECS credential bound to ${jscUrl} (${participantState} issuer participant ${issuer.id})`);
295
463
  }
296
464
  }
297
465
  }
466
+ catch (e) {
467
+ agent.config.logger.error(`[SelfTR] Failed to withdraw the ECS credentials of ${participantState} ISSUER participants`, e);
468
+ }
469
+ }
470
+ const issuers = await indexer.listParticipants({
471
+ did: agent.did,
472
+ role: types_2.ParticipantRole.Issuer,
473
+ participantState: types_2.ParticipantState.Active,
474
+ });
475
+ for (const issuer of issuers) {
476
+ if (issuer.revoked || issuer.slashed || issuer.vs_operator !== chain.address)
477
+ continue;
478
+ try {
479
+ const schema = await indexer.getCredentialSchema(issuer.schema_id);
480
+ const ecsKey = await (0, vs_agent_model_1.classifyEcsSchema)(schema.json_schema);
481
+ if (!ecsKey)
482
+ continue;
483
+ const jsonSchemaCredentialId = await (0, vtjscResolver_1.resolveJsonSchemaCredentialId)(agent, indexer, schema.id, chainId);
484
+ await (0, trustCredentialStore_1.rebindEcsCredentialSchema)(agent, agent.publicApiBaseUrl, String(schema.id), ecsKey, ecsClaims, jsonSchemaCredentialId, issuer.id, schema.json_schema);
485
+ }
486
+ catch (e) {
487
+ agent.config.logger.error(`[SelfTR] Failed to rebind the ECS credential of schema ${issuer.schema_id}`, e);
488
+ }
489
+ }
490
+ }
491
+ /**
492
+ * Publishes the one AnonCreds schema that governs every credential of a VTJSC, per [VSA-PUB-AC-5].
493
+ * Only the issuer of the VTJSC publishes it. The call is idempotent.
494
+ */
495
+ async function publishAnonCredsSchemaForVtjsc(agent, credentialSchemaId, jsonSchema, jsonSchemaCredentialId) {
496
+ if (!agent.did)
497
+ return undefined;
498
+ const [published] = await agent.modules.anoncreds.getCreatedSchemas({
499
+ relatedJsonSchemaCredentialId: jsonSchemaCredentialId,
500
+ });
501
+ if (published)
502
+ return published.schemaId;
503
+ const { name, attrNames } = (0, util_1.anonCredsSchemaFromJsonSchema)(jsonSchema);
504
+ // used for consistency when a similar schema already exists
505
+ const version = String(credentialSchemaId);
506
+ const { schemaState, registrationMetadata } = await agent.modules.anoncreds.registerSchema({
507
+ schema: { attrNames, name, version, issuerId: agent.did },
508
+ options: { extraMetadata: { relatedJsonSchemaCredentialId: jsonSchemaCredentialId } },
509
+ });
510
+ if (schemaState.state !== 'finished') {
511
+ const detail = schemaState.state === 'failed' ? schemaState.reason : schemaState.state;
512
+ throw new Error(`Failed to register the AnonCreds schema of ${jsonSchemaCredentialId}: ${detail}`);
298
513
  }
514
+ const { schemaId } = schemaState;
515
+ const schemaRepository = agent.dependencyManager.resolve(anoncreds_1.AnonCredsSchemaRepository);
516
+ const schemaRecord = await schemaRepository.findBySchemaId(agent.context, schemaId);
517
+ if (schemaRecord) {
518
+ schemaRecord.setTag('relatedJsonSchemaCredentialId', jsonSchemaCredentialId);
519
+ await schemaRepository.update(agent.context, schemaRecord);
520
+ }
521
+ // the did:web layout builds no attested resource: it serves the object from the AnonCreds record
522
+ const { attestedResource } = registrationMetadata;
523
+ if (attestedResource) {
524
+ await (0, agent_1.saveAttestedResource)(agent, attestedResource, {
525
+ resourceType: 'anonCredsSchema',
526
+ relatedJsonSchemaCredentialId: jsonSchemaCredentialId,
527
+ });
528
+ }
529
+ return schemaId;
299
530
  }
300
531
  async function publishVtjscIfOwner(state, agent, schemaEntityId, agentCorporationId) {
301
- var _a, _b;
532
+ var _a;
302
533
  const schema = state.credentialSchemas[schemaEntityId];
303
534
  if (!schema) {
304
535
  agent.config.logger.warn(`[VTJSC] Schema ${schemaEntityId} not found in state`);
@@ -313,19 +544,36 @@ async function publishVtjscIfOwner(state, agent, schemaEntityId, agentCorporatio
313
544
  agent.config.logger.debug(`[VTJSC] Skipping schema ${schema.id}: ecosystem ${ecosystem.id} belongs to corporation ${ecosystem.corporationId}`);
314
545
  return;
315
546
  }
316
- const chainId = (_b = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId) !== null && _b !== void 0 ? _b : DEFAULT_CHAIN_ID;
547
+ const chainId = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId;
548
+ if (!chainId) {
549
+ agent.config.logger.warn(`[VTJSC] Skipping schema ${schema.id}: the agent is not connected to a chain`);
550
+ return;
551
+ }
317
552
  const jsonSchemaRef = `vpr:verana:${chainId}:cs:${schema.id}`;
318
553
  const digestSRI = (0, setupSelfTr_1.generateDigestSRI)(schema.jsonSchema);
554
+ let jsonSchemaCredentialId;
319
555
  try {
320
- await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
556
+ const credential = await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
321
557
  schemaBaseId: String(schema.id),
322
558
  jsonSchemaRef,
323
559
  precomputedDigestSRI: digestSRI,
324
560
  });
561
+ jsonSchemaCredentialId = credential.id;
325
562
  agent.config.logger.info(`[VTJSC] Published VTJSC for schema ${schema.id} (Ecosystem ${schema.ecosystemId}) at block ${state.lastBlockHeight}`);
326
563
  }
327
564
  catch (e) {
328
565
  agent.config.logger.error(`[VTJSC] Failed to publish VTJSC for schema ${schema.id}`, e);
566
+ return;
567
+ }
568
+ // an AnonCreds failure keeps the VTJSC: the startup reconciliation retries the schema
569
+ if (!jsonSchemaCredentialId)
570
+ return;
571
+ try {
572
+ const schemaId = await publishAnonCredsSchemaForVtjsc(agent, schema.id, schema.jsonSchema, jsonSchemaCredentialId);
573
+ agent.config.logger.info(`[VTJSC] Published the AnonCreds schema ${schemaId} of ${jsonSchemaCredentialId}`);
574
+ }
575
+ catch (e) {
576
+ agent.config.logger.error(`[VTJSC] Failed to publish the AnonCreds schema of ${jsonSchemaCredentialId}`, e);
329
577
  }
330
578
  }
331
579
  //# sourceMappingURL=stateMutations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stateMutations.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/stateMutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateMutations.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/stateMutations.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from './AnonCredsTrustService';
1
2
  export * from './AuthorizationService';
2
3
  export * from './IndexerWebSocketService';
3
4
  export * from './VeranaHelpers';
@@ -5,3 +6,4 @@ export * from './VeranaChainService';
5
6
  export * from './VeranaIndexerService';
6
7
  export * from './types';
7
8
  export * from './handlers';
9
+ export * from './indexerMappers';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AnonCredsTrustService"), exports);
17
18
  __exportStar(require("./AuthorizationService"), exports);
18
19
  __exportStar(require("./IndexerWebSocketService"), exports);
19
20
  __exportStar(require("./VeranaHelpers"), exports);
@@ -21,4 +22,5 @@ __exportStar(require("./VeranaChainService"), exports);
21
22
  __exportStar(require("./VeranaIndexerService"), exports);
22
23
  __exportStar(require("./types"), exports);
23
24
  __exportStar(require("./handlers"), exports);
25
+ __exportStar(require("./indexerMappers"), exports);
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB;AACvB,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,yDAAsC;AACtC,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB;AACvB,6CAA0B;AAC1B,mDAAgC"}
@@ -0,0 +1,3 @@
1
+ import { CredentialSchema, CredentialSchemaDto, Participant, ParticipantDto } from './types';
2
+ export declare function toParticipant(dto: ParticipantDto): Participant;
3
+ export declare function toCredentialSchema(dto: CredentialSchemaDto): CredentialSchema;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toParticipant = toParticipant;
4
+ exports.toCredentialSchema = toCredentialSchema;
5
+ const types_1 = require("./types");
6
+ const ROLE = {
7
+ [types_1.ParticipantRole.Issuer]: 1,
8
+ [types_1.ParticipantRole.Verifier]: 2,
9
+ [types_1.ParticipantRole.IssuerGrantor]: 3,
10
+ [types_1.ParticipantRole.VerifierGrantor]: 4,
11
+ [types_1.ParticipantRole.Ecosystem]: 5,
12
+ [types_1.ParticipantRole.Holder]: 6,
13
+ };
14
+ const OP_STATE = {
15
+ PENDING: types_1.ValidationState.PENDING,
16
+ VALIDATED: types_1.ValidationState.VALIDATED,
17
+ TERMINATED: types_1.ValidationState.TERMINATED,
18
+ };
19
+ const ONBOARDING_MODE = {
20
+ OPEN: 1,
21
+ ECOSYSTEM_ONBOARDING_PROCESS: 2,
22
+ GRANTOR_ONBOARDING_PROCESS: 3,
23
+ };
24
+ const date = (v) => (v ? new Date(v) : undefined);
25
+ function toParticipant(dto) {
26
+ var _a, _b, _c, _d, _e;
27
+ return {
28
+ id: dto.id,
29
+ schemaId: dto.schema_id,
30
+ role: (_a = ROLE[dto.role]) !== null && _a !== void 0 ? _a : 0,
31
+ did: (_b = dto.did) !== null && _b !== void 0 ? _b : '',
32
+ corporation: '',
33
+ validatorParticipantId: (_c = dto.validator_participant_id) !== null && _c !== void 0 ? _c : 0,
34
+ opState: dto.op_state ? ((_d = OP_STATE[dto.op_state]) !== null && _d !== void 0 ? _d : types_1.ValidationState.UNSPECIFIED) : undefined,
35
+ opSummaryDigest: (_e = dto.op_summary_digest) !== null && _e !== void 0 ? _e : '',
36
+ revoked: date(dto.revoked),
37
+ slashed: date(dto.slashed),
38
+ };
39
+ }
40
+ function toCredentialSchema(dto) {
41
+ var _a, _b, _c, _d;
42
+ return {
43
+ id: dto.id,
44
+ ecosystemId: dto.ecosystem_id,
45
+ jsonSchema: dto.json_schema,
46
+ digestAlgorithm: dto.digest_algorithm,
47
+ issuerOnboardingMode: (_b = ONBOARDING_MODE[(_a = dto.issuer_onboarding_mode) !== null && _a !== void 0 ? _a : '']) !== null && _b !== void 0 ? _b : 0,
48
+ verifierOnboardingMode: (_d = ONBOARDING_MODE[(_c = dto.verifier_onboarding_mode) !== null && _c !== void 0 ? _c : '']) !== null && _d !== void 0 ? _d : 0,
49
+ holderOnboardingMode: 0,
50
+ archived: date(dto.archived),
51
+ };
52
+ }
53
+ //# sourceMappingURL=indexerMappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexerMappers.js","sourceRoot":"","sources":["../../src/blockchain/indexerMappers.ts"],"names":[],"mappings":";;AAgCA,sCAaC;AAED,gDAWC;AA1DD,mCAOgB;AAEhB,MAAM,IAAI,GAA2B;IACnC,CAAC,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3B,CAAC,uBAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC7B,CAAC,uBAAe,CAAC,aAAa,CAAC,EAAE,CAAC;IAClC,CAAC,uBAAe,CAAC,eAAe,CAAC,EAAE,CAAC;IACpC,CAAC,uBAAe,CAAC,SAAS,CAAC,EAAE,CAAC;IAC9B,CAAC,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5B,CAAA;AAED,MAAM,QAAQ,GAAoC;IAChD,OAAO,EAAE,uBAAe,CAAC,OAAO;IAChC,SAAS,EAAE,uBAAe,CAAC,SAAS;IACpC,UAAU,EAAE,uBAAe,CAAC,UAAU;CACvC,CAAA;AAED,MAAM,eAAe,GAA2B;IAC9C,IAAI,EAAE,CAAC;IACP,4BAA4B,EAAE,CAAC;IAC/B,0BAA0B,EAAE,CAAC;CAC9B,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,CAA4B,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAE9F,SAAgB,aAAa,CAAC,GAAmB;;IAC/C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,IAAI,EAAE,MAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,CAAC;QACzB,GAAG,EAAE,MAAA,GAAG,CAAC,GAAG,mCAAI,EAAE;QAClB,WAAW,EAAE,EAAE;QACf,sBAAsB,EAAE,MAAA,GAAG,CAAC,wBAAwB,mCAAI,CAAC;QACzD,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,uBAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3F,eAAe,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,EAAE;QAC5C,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC1B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;KAC3B,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAwB;;IACzD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,oBAAoB,EAAE,MAAA,eAAe,CAAC,MAAA,GAAG,CAAC,sBAAsB,mCAAI,EAAE,CAAC,mCAAI,CAAC;QAC5E,sBAAsB,EAAE,MAAA,eAAe,CAAC,MAAA,GAAG,CAAC,wBAAwB,mCAAI,EAAE,CAAC,mCAAI,CAAC;QAChF,oBAAoB,EAAE,CAAC;QACvB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC7B,CAAA;AACH,CAAC"}