@verana-labs/vs-agent-sdk 2.0.0-dev.9 → 2.0.0-dev.90

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 (183) hide show
  1. package/README.md +0 -2
  2. package/build/adminApi/AdminApiError.d.ts +28 -0
  3. package/build/adminApi/AdminApiError.js +67 -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 +25 -34
  30. package/build/agent/VsAgent.js +86 -205
  31. package/build/agent/VsAgent.js.map +1 -1
  32. package/build/agent/createVsAgent.d.ts +9 -6
  33. package/build/agent/createVsAgent.js +5 -5
  34. package/build/agent/createVsAgent.js.map +1 -1
  35. package/build/blockchain/AnonCredsTrustService.d.ts +84 -0
  36. package/build/blockchain/AnonCredsTrustService.js +276 -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 -2
  42. package/build/blockchain/IndexerWebSocketService.js +67 -36
  43. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  44. package/build/blockchain/VeranaChainService.d.ts +38 -27
  45. package/build/blockchain/VeranaChainService.js +169 -177
  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/feePreflight.d.ts +32 -0
  51. package/build/blockchain/feePreflight.js +89 -0
  52. package/build/blockchain/feePreflight.js.map +1 -0
  53. package/build/blockchain/handlers/IndexerHandlerRegistry.d.ts +0 -1
  54. package/build/blockchain/handlers/IndexerHandlerRegistry.js.map +1 -1
  55. package/build/blockchain/handlers/authorizationHandlers.js +2 -2
  56. package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
  57. package/build/blockchain/handlers/defaultHandlers.js +7 -2
  58. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  59. package/build/blockchain/handlers/index.d.ts +1 -0
  60. package/build/blockchain/handlers/index.js +1 -0
  61. package/build/blockchain/handlers/index.js.map +1 -1
  62. package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
  63. package/build/blockchain/handlers/selfIssuanceHandlers.js +76 -0
  64. package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
  65. package/build/blockchain/handlers/stateMutations.d.ts +27 -4
  66. package/build/blockchain/handlers/stateMutations.js +325 -44
  67. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  68. package/build/blockchain/index.d.ts +4 -0
  69. package/build/blockchain/index.js +4 -0
  70. package/build/blockchain/index.js.map +1 -1
  71. package/build/blockchain/indexerMappers.d.ts +3 -0
  72. package/build/blockchain/indexerMappers.js +53 -0
  73. package/build/blockchain/indexerMappers.js.map +1 -0
  74. package/build/blockchain/triggerResolver.d.ts +26 -0
  75. package/build/blockchain/triggerResolver.js +120 -0
  76. package/build/blockchain/triggerResolver.js.map +1 -0
  77. package/build/blockchain/types.d.ts +13 -70
  78. package/build/blockchain/types.js.map +1 -1
  79. package/build/bootstrap/EcsBootstrapService.d.ts +13 -4
  80. package/build/bootstrap/EcsBootstrapService.js +170 -124
  81. package/build/bootstrap/EcsBootstrapService.js.map +1 -1
  82. package/build/connections/ParentConnectionModule.d.ts +20 -0
  83. package/build/connections/ParentConnectionModule.js +56 -0
  84. package/build/connections/ParentConnectionModule.js.map +1 -0
  85. package/build/credentials/FullTailsFileService.d.ts +0 -1
  86. package/build/credentials/FullTailsFileService.js +0 -49
  87. package/build/credentials/FullTailsFileService.js.map +1 -1
  88. package/build/did/CachedDocumentLoader.d.ts +3 -0
  89. package/build/did/CachedDocumentLoader.js +7 -1
  90. package/build/did/CachedDocumentLoader.js.map +1 -1
  91. package/build/did/CachedWebDidResolver.d.ts +0 -4
  92. package/build/did/CachedWebDidResolver.js +1 -5
  93. package/build/did/CachedWebDidResolver.js.map +1 -1
  94. package/build/did/artifactServices.d.ts +12 -0
  95. package/build/did/artifactServices.js +48 -0
  96. package/build/did/artifactServices.js.map +1 -0
  97. package/build/did/legacyDidWeb.d.ts +6 -4
  98. package/build/did/legacyDidWeb.js +17 -14
  99. package/build/did/legacyDidWeb.js.map +1 -1
  100. package/build/did/publicDid.d.ts +4 -0
  101. package/build/did/publicDid.js +19 -0
  102. package/build/did/publicDid.js.map +1 -0
  103. package/build/events/BaseMessageEvents.js +139 -5
  104. package/build/events/BaseMessageEvents.js.map +1 -1
  105. package/build/events/ConnectionEvents.js +151 -87
  106. package/build/events/ConnectionEvents.js.map +1 -1
  107. package/build/events/VsAgentEvents.d.ts +11 -9
  108. package/build/events/VsAgentEvents.js +8 -1
  109. package/build/events/VsAgentEvents.js.map +1 -1
  110. package/build/events/VtFlowEvents.d.ts +1 -1
  111. package/build/events/VtFlowEvents.js +29 -17
  112. package/build/events/VtFlowEvents.js.map +1 -1
  113. package/build/index.d.ts +7 -1
  114. package/build/index.js +15 -2
  115. package/build/index.js.map +1 -1
  116. package/build/plugins/setupBaseDidComm.js +9 -12
  117. package/build/plugins/setupBaseDidComm.js.map +1 -1
  118. package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
  119. package/build/transports/VsAgentWsInboundTransport.js +20 -14
  120. package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
  121. package/build/types.d.ts +14 -13
  122. package/build/types.js +1 -2
  123. package/build/types.js.map +1 -1
  124. package/build/utils/agent.d.ts +34 -4
  125. package/build/utils/agent.js +103 -22
  126. package/build/utils/agent.js.map +1 -1
  127. package/build/utils/boundedFetch.d.ts +13 -0
  128. package/build/utils/boundedFetch.js +47 -0
  129. package/build/utils/boundedFetch.js.map +1 -0
  130. package/build/utils/didReadiness.js +5 -2
  131. package/build/utils/didReadiness.js.map +1 -1
  132. package/build/utils/ecsClaims.d.ts +46 -0
  133. package/build/utils/ecsClaims.js +115 -0
  134. package/build/utils/ecsClaims.js.map +1 -0
  135. package/build/utils/ecsService.d.ts +8 -0
  136. package/build/utils/ecsService.js +23 -0
  137. package/build/utils/ecsService.js.map +1 -0
  138. package/build/utils/index.d.ts +7 -0
  139. package/build/utils/index.js +7 -0
  140. package/build/utils/index.js.map +1 -1
  141. package/build/utils/publishedDidRecord.d.ts +15 -0
  142. package/build/utils/publishedDidRecord.js +83 -0
  143. package/build/utils/publishedDidRecord.js.map +1 -0
  144. package/build/utils/selfIssuedEcsCredential.d.ts +8 -0
  145. package/build/utils/selfIssuedEcsCredential.js +153 -0
  146. package/build/utils/selfIssuedEcsCredential.js.map +1 -0
  147. package/build/utils/setupSelfTr.d.ts +35 -74
  148. package/build/utils/setupSelfTr.js +93 -312
  149. package/build/utils/setupSelfTr.js.map +1 -1
  150. package/build/utils/trustCredentialStore.d.ts +78 -9
  151. package/build/utils/trustCredentialStore.js +324 -136
  152. package/build/utils/trustCredentialStore.js.map +1 -1
  153. package/build/utils/typeMetadata.d.ts +44 -0
  154. package/build/utils/typeMetadata.js +89 -0
  155. package/build/utils/typeMetadata.js.map +1 -0
  156. package/build/utils/util.d.ts +20 -0
  157. package/build/utils/util.js +29 -0
  158. package/build/utils/util.js.map +1 -1
  159. package/build/utils/vcdm2.d.ts +34 -0
  160. package/build/utils/vcdm2.js +60 -0
  161. package/build/utils/vcdm2.js.map +1 -0
  162. package/build/utils/vtjscResolver.d.ts +23 -0
  163. package/build/utils/vtjscResolver.js +53 -0
  164. package/build/utils/vtjscResolver.js.map +1 -0
  165. package/build/vtFlow/VtFlowOrchestrator.d.ts +107 -15
  166. package/build/vtFlow/VtFlowOrchestrator.js +678 -116
  167. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  168. package/build/vtFlow/assertVerifiableService.d.ts +31 -2
  169. package/build/vtFlow/assertVerifiableService.js +68 -10
  170. package/build/vtFlow/assertVerifiableService.js.map +1 -1
  171. package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
  172. package/build/vtFlow/ecsIssuanceExemption.js +84 -0
  173. package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
  174. package/build/vtFlow/index.d.ts +1 -0
  175. package/build/vtFlow/index.js +1 -0
  176. package/build/vtFlow/index.js.map +1 -1
  177. package/package.json +18 -12
  178. package/build/did/migrateWebVhLog.d.ts +0 -34
  179. package/build/did/migrateWebVhLog.js +0 -230
  180. package/build/did/migrateWebVhLog.js.map +0 -1
  181. package/build/did/migrateWebVhVersionTime.d.ts +0 -9
  182. package/build/did/migrateWebVhVersionTime.js +0 -191
  183. package/build/did/migrateWebVhVersionTime.js.map +0 -1
@@ -2,14 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.baseMessageEvents = void 0;
4
4
  const anoncreds_1 = require("@credo-ts/anoncreds");
5
+ const core_1 = require("@credo-ts/core");
5
6
  const didcomm_1 = require("@credo-ts/didcomm");
6
7
  const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
8
+ const AnonCredsTrustService_1 = require("../blockchain/AnonCredsTrustService");
9
+ const types_1 = require("../blockchain/types");
7
10
  const agent_1 = require("../utils/agent");
8
11
  const VsAgentEvents_1 = require("./VsAgentEvents");
9
12
  const baseMessageEvents = async (agent, logger) => {
13
+ registerAnonCredsTrustDecision(agent, logger);
10
14
  // Proofs protocol messages (proof presentation and problem reports)
11
15
  agent.events.on(didcomm_1.DidCommEventTypes.DidCommMessageProcessed, async ({ payload }) => {
12
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
16
+ var _a, _b, _c, _d, _e, _f, _g, _h;
13
17
  const { message, connection } = payload;
14
18
  if (!connection)
15
19
  return;
@@ -61,8 +65,8 @@ const baseMessageEvents = async (agent, logger) => {
61
65
  try {
62
66
  const record = await agent.didcomm.proofs.getByThreadAndConnectionId(message.threadId, connection.id);
63
67
  const formatData = await agent.didcomm.proofs.getFormatData(record.id);
64
- const revealedAttributes = (_e = (_d = (_c = formatData.presentation) === null || _c === void 0 ? void 0 : _c.anoncreds) === null || _d === void 0 ? void 0 : _d.requested_proof.revealed_attrs) !== null && _e !== void 0 ? _e : (_g = (_f = formatData.presentation) === null || _f === void 0 ? void 0 : _f.indy) === null || _g === void 0 ? void 0 : _g.requested_proof.revealed_attrs;
65
- const revealedAttributeGroups = (_l = (_k = (_j = (_h = formatData.presentation) === null || _h === void 0 ? void 0 : _h.anoncreds) === null || _j === void 0 ? void 0 : _j.requested_proof) === null || _k === void 0 ? void 0 : _k.revealed_attr_groups) !== null && _l !== void 0 ? _l : (_o = (_m = formatData.presentation) === null || _m === void 0 ? void 0 : _m.indy) === null || _o === void 0 ? void 0 : _o.requested_proof.revealed_attr_groups;
68
+ const revealedAttributes = (_d = (_c = formatData.presentation) === null || _c === void 0 ? void 0 : _c.anoncreds) === null || _d === void 0 ? void 0 : _d.requested_proof.revealed_attrs;
69
+ const revealedAttributeGroups = (_f = (_e = formatData.presentation) === null || _e === void 0 ? void 0 : _e.anoncreds) === null || _f === void 0 ? void 0 : _f.requested_proof.revealed_attr_groups;
66
70
  const claims = [];
67
71
  if (revealedAttributes) {
68
72
  for (const [name, value] of Object.entries(revealedAttributes)) {
@@ -83,7 +87,7 @@ const baseMessageEvents = async (agent, logger) => {
83
87
  callbackUrl: callbackParameters.callbackUrl,
84
88
  claims,
85
89
  state: record.isVerified ? vs_agent_model_1.PresentationState.OK : vs_agent_model_1.PresentationState.VERIFICATION_ERROR,
86
- verified: (_p = record.isVerified) !== null && _p !== void 0 ? _p : false,
90
+ verified: (_g = record.isVerified) !== null && _g !== void 0 ? _g : false,
87
91
  ref: callbackParameters.ref,
88
92
  }));
89
93
  }
@@ -93,7 +97,7 @@ const baseMessageEvents = async (agent, logger) => {
93
97
  id: record.threadId,
94
98
  proofExchangeId: record.id,
95
99
  claims,
96
- verified: (_q = record.isVerified) !== null && _q !== void 0 ? _q : false,
100
+ verified: (_h = record.isVerified) !== null && _h !== void 0 ? _h : false,
97
101
  }),
98
102
  ],
99
103
  connectionId: record.connectionId,
@@ -145,4 +149,134 @@ const baseMessageEvents = async (agent, logger) => {
145
149
  });
146
150
  };
147
151
  exports.baseMessageEvents = baseMessageEvents;
152
+ function registerAnonCredsTrustDecision(agent, logger) {
153
+ agent.didcomm.registerMessageHandlerMiddleware(async (messageContext, next) => {
154
+ var _a;
155
+ await next();
156
+ const { connection, message } = messageContext;
157
+ const isPresentation = [
158
+ anoncreds_1.DidCommPresentationV1Message.type.messageTypeUri,
159
+ didcomm_1.DidCommPresentationV2Message.type.messageTypeUri,
160
+ ].includes(message.type);
161
+ if (!isPresentation || !connection)
162
+ return;
163
+ let record;
164
+ let presentation;
165
+ try {
166
+ record = await agent.didcomm.proofs.getByThreadAndConnectionId(message.threadId, connection.id);
167
+ const formatData = await agent.didcomm.proofs.getFormatData(record.id);
168
+ presentation = (_a = formatData.presentation) === null || _a === void 0 ? void 0 : _a.anoncreds;
169
+ }
170
+ catch (error) {
171
+ logger.error(`The agent cannot read the presentation of ${message.threadId}: ${error}`);
172
+ messageContext.responseMessage = undefined;
173
+ // The check did not run, so the exchange ends here, per [VSA-VTI-FLOW-VERIFY-AC-8]
174
+ if ((record === null || record === void 0 ? void 0 : record.role) === didcomm_1.DidCommProofRole.Verifier) {
175
+ await abandonPresentation(agent, record, connection, AnonCredsTrustService_1.AnonCredsTrustProblemCode.TrustResolutionUnavailable, `the agent cannot read the presentation: ${error}`, logger);
176
+ }
177
+ return;
178
+ }
179
+ if (await applyAnonCredsTrustDecision(agent, record, connection, presentation, logger)) {
180
+ messageContext.responseMessage = undefined;
181
+ return;
182
+ }
183
+ // The proof and the trust decision both succeeded, so the agent acknowledges the presentation.
184
+ const policy = record.metadata.get(AnonCredsTrustService_1.AUTO_ACCEPT_PRESENTATION_METADATA);
185
+ if (!(policy === null || policy === void 0 ? void 0 : policy.autoAccept) || record.state !== didcomm_1.DidCommProofState.PresentationReceived)
186
+ return;
187
+ try {
188
+ await agent.didcomm.proofs.acceptPresentation({ proofExchangeRecordId: record.id });
189
+ }
190
+ catch (error) {
191
+ logger.error(`The agent cannot acknowledge the presentation ${record.id}: ${error}`);
192
+ }
193
+ });
194
+ }
195
+ async function applyAnonCredsTrustDecision(agent, record, connection, presentation, logger) {
196
+ var _a, _b, _c, _d, _e, _f, _g, _h;
197
+ if (record.role !== didcomm_1.DidCommProofRole.Verifier || !presentation)
198
+ return false;
199
+ const identifiers = (_a = presentation.identifiers) !== null && _a !== void 0 ? _a : [];
200
+ const stored = record.metadata.get(AnonCredsTrustService_1.REQUESTED_CREDENTIAL_SCHEMAS_METADATA);
201
+ const requestedCredentialSchemas = Object.entries(Array.isArray(stored) ? {} : (stored !== null && stored !== void 0 ? stored : {}));
202
+ // A request whose creator recorded no CredentialSchema cannot be checked against what it asked
203
+ // for, so it abandons rather than accepting any schema.
204
+ if (requestedCredentialSchemas.length === 0) {
205
+ await abandonPresentation(agent, record, connection, AnonCredsTrustService_1.AnonCredsTrustProblemCode.TrustResolutionUnavailable, 'the exchange records no CredentialSchema of its requested credentials', logger);
206
+ return true;
207
+ }
208
+ const answered = Object.assign(Object.assign(Object.assign(Object.assign({}, (_b = presentation.requested_proof) === null || _b === void 0 ? void 0 : _b.revealed_attrs), (_c = presentation.requested_proof) === null || _c === void 0 ? void 0 : _c.revealed_attr_groups), (_d = presentation.requested_proof) === null || _d === void 0 ? void 0 : _d.unrevealed_attrs), (_e = presentation.requested_proof) === null || _e === void 0 ? void 0 : _e.predicates);
209
+ const issuersByCredentialSchema = new Map();
210
+ const unaccredited = [];
211
+ const unchecked = [];
212
+ for (const [group, requested] of requestedCredentialSchemas) {
213
+ const subProofIndex = (_f = answered[group]) === null || _f === void 0 ? void 0 : _f.sub_proof_index;
214
+ const credentialDefinitionId = subProofIndex === undefined ? undefined : (_g = identifiers[subProofIndex]) === null || _g === void 0 ? void 0 : _g.cred_def_id;
215
+ if (!credentialDefinitionId) {
216
+ unaccredited.push(`no sub-proof answers the requested group "${group}"`);
217
+ continue;
218
+ }
219
+ try {
220
+ const derived = await agent.anonCredsTrust.deriveCredentialSchema({ credentialDefinitionId });
221
+ if (derived.credentialSchemaId !== requested.credentialSchemaId) {
222
+ unaccredited.push(`${credentialDefinitionId} presents the CredentialSchema ${derived.credentialSchemaId} for the group "${group}", which asks for the CredentialSchema ${requested.credentialSchemaId}`);
223
+ continue;
224
+ }
225
+ if (!derived.issuerId) {
226
+ unaccredited.push(`${credentialDefinitionId} names no issuer`);
227
+ continue;
228
+ }
229
+ const issuers = (_h = issuersByCredentialSchema.get(derived.credentialSchemaId)) !== null && _h !== void 0 ? _h : [];
230
+ issuers.push(derived.issuerId);
231
+ issuersByCredentialSchema.set(derived.credentialSchemaId, issuers);
232
+ }
233
+ catch (error) {
234
+ const cannotCheck = !(error instanceof AnonCredsTrustService_1.AnonCredsTrustError) || error.reason === AnonCredsTrustService_1.AnonCredsTrustErrorReason.Unavailable;
235
+ if (cannotCheck)
236
+ unchecked.push(`${error}`);
237
+ else
238
+ unaccredited.push(`${error}`);
239
+ }
240
+ }
241
+ for (const [credentialSchemaId, issuers] of issuersByCredentialSchema) {
242
+ const result = await agent.anonCredsTrust.findUnaccreditedDids(issuers, types_1.ParticipantRole.Issuer, credentialSchemaId);
243
+ unaccredited.push(...result.unaccredited.map(did => `${did} holds no active ISSUER Participant for the CredentialSchema ${credentialSchemaId}`));
244
+ unchecked.push(...result.unchecked.map(did => `the agent cannot check the ISSUER Participant of ${did} for the CredentialSchema ${credentialSchemaId}`));
245
+ }
246
+ if (unaccredited.length === 0 && unchecked.length === 0)
247
+ return false;
248
+ const code = unaccredited.length > 0
249
+ ? AnonCredsTrustService_1.AnonCredsTrustProblemCode.IssuerNotAuthorized
250
+ : AnonCredsTrustService_1.AnonCredsTrustProblemCode.TrustResolutionUnavailable;
251
+ await abandonPresentation(agent, record, connection, code, [...unaccredited, ...unchecked].join('; '), logger);
252
+ return true;
253
+ }
254
+ async function abandonPresentation(agent, record, connection, code, description, logger) {
255
+ logger.warn(`The presentation ${record.id} fails the AnonCreds trust decision (${code}): ${description}`);
256
+ record.isVerified = false;
257
+ record.errorMessage = `${code}: ${description}`;
258
+ // `updateState` emits the state change with `previousState`, per [VSA-VTI-FLOW-VERIFY-AC-7]
259
+ const protocol = agent.dependencyManager
260
+ .resolve(didcomm_1.DidCommProofsModuleConfig)
261
+ .proofProtocols.find(candidate => candidate.version === record.protocolVersion);
262
+ if (!protocol) {
263
+ throw new core_1.CredoError(`No proof protocol registered for protocol version ${record.protocolVersion}, so the presentation ${record.id} cannot end in abandoned`);
264
+ }
265
+ const problemReport = record.protocolVersion === 'v1'
266
+ ? new anoncreds_1.DidCommPresentationV1ProblemReportMessage({ description: { code, en: description } })
267
+ : new didcomm_1.DidCommPresentationV2ProblemReportMessage({ description: { code, en: description } });
268
+ problemReport.setThread({ threadId: record.threadId, parentThreadId: record.parentThreadId });
269
+ try {
270
+ const outboundMessageContext = await (0, didcomm_1.getOutboundDidCommMessageContext)(agent.context, {
271
+ message: problemReport,
272
+ associatedRecord: record,
273
+ connectionRecord: connection,
274
+ });
275
+ await agent.dependencyManager.resolve(didcomm_1.DidCommMessageSender).sendMessage(outboundMessageContext);
276
+ }
277
+ catch (error) {
278
+ logger.error(`The agent cannot send the problem report of presentation ${record.id}: ${error}`);
279
+ }
280
+ await protocol.updateState(agent.context, record, didcomm_1.DidCommProofState.Abandoned);
281
+ }
148
282
  //# sourceMappingURL=BaseMessageEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMessageEvents.js","sourceRoot":"","sources":["../../src/events/BaseMessageEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMessageEvents.js","sourceRoot":"","sources":["../../src/events/BaseMessageEvents.ts"],"names":[],"mappings":"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"}
@@ -3,108 +3,172 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.connectionEvents = void 0;
4
4
  const didcomm_1 = require("@credo-ts/didcomm");
5
5
  const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
6
+ const agent_1 = require("../utils/agent");
6
7
  const VsAgentEvents_1 = require("./VsAgentEvents");
8
+ // TODO: Fix single-use invitations for DIDComm v2 in Credo, then remove this function.
9
+ // In Credo, multiUseInvitation: false only sets reusable: false on the OOB record. It does not
10
+ // refuse a second connection from a v2 invitation, because v2 has no handshake.
11
+ //
12
+ // The guard does not apply to an invitation issued under the public DID of this agent. Credo
13
+ // binds every first message that a peer sends to the public DID to the newest out-of-band
14
+ // record of that DID, also when that record is single-use. A second connection on such a
15
+ // record is then not a second use of the invitation: it is a peer that connects to the public
16
+ // DID, and a hangup would close a valid connection.
17
+ async function discardExtraConnection(agent, record, logger) {
18
+ var _a, _b;
19
+ if (!record.outOfBandId || record.didcommVersion !== 'v2')
20
+ return false;
21
+ const outOfBandRecord = await agent.didcomm.oob.findById(record.outOfBandId);
22
+ if (!outOfBandRecord || outOfBandRecord.reusable)
23
+ return false;
24
+ const invitationDid = (_a = outOfBandRecord.getTags().recipientDid) !== null && _a !== void 0 ? _a : (_b = outOfBandRecord.outOfBandInvitation.v2Invitation) === null || _b === void 0 ? void 0 : _b.from;
25
+ if (invitationDid && (await (0, agent_1.publicDidsOf)(agent)).includes(invitationDid))
26
+ return false;
27
+ const siblings = await agent.didcomm.connections.findAllByOutOfBandId(record.outOfBandId);
28
+ if (siblings.length < 2)
29
+ return false;
30
+ const accepted = siblings.reduce((oldest, candidate) => candidate.createdAt < oldest.createdAt ||
31
+ (candidate.createdAt.getTime() === oldest.createdAt.getTime() && candidate.id < oldest.id)
32
+ ? candidate
33
+ : oldest);
34
+ if (accepted.id === record.id)
35
+ return false;
36
+ logger.warn(`[connection-events] connection ${record.id} is a second use of the single-use invitation ${record.outOfBandId}; closing it`);
37
+ try {
38
+ await agent.didcomm.connections.hangup({ connectionId: record.id });
39
+ }
40
+ catch (error) {
41
+ logger.warn(`[connection-events] hangup of ${record.id} failed: ${error.message}`);
42
+ }
43
+ await agent.didcomm.connections.deleteById(record.id);
44
+ return true;
45
+ }
7
46
  const connectionEvents = async (agent, config) => {
8
- // Get the first record matching agent's DID and obtain all alternatives for it
9
- const [agentPublicDidRecord] = await agent.dids.getCreatedDids({ did: agent.did });
10
- const alternativeDids = agentPublicDidRecord === null || agentPublicDidRecord === void 0 ? void 0 : agentPublicDidRecord.getTag('alternativeDids');
11
- const agentPublicDids = [agent.did, ...(Array.isArray(alternativeDids) ? alternativeDids : [])];
12
47
  agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionStateChanged, async ({ payload }) => {
13
- const record = payload.connectionRecord;
14
- if (record.outOfBandId && !record.getTag('parentConnectionId')) {
15
- const outOfBandRecord = await agent.didcomm.oob.findById(record.outOfBandId);
16
- const parentConnectionId = outOfBandRecord === null || outOfBandRecord === void 0 ? void 0 : outOfBandRecord.getTag('parentConnectionId');
17
- // Tag connection with its parent
18
- if (parentConnectionId) {
19
- record.setTag('parentConnectionId', parentConnectionId);
20
- await agent.context.dependencyManager
21
- .resolve(didcomm_1.DidCommConnectionRepository)
22
- .update(agent.context, record);
48
+ // an event listener is never awaited, so a rejection here would surface as an
49
+ // unhandled rejection and take the process down
50
+ try {
51
+ const record = payload.connectionRecord;
52
+ if (await discardExtraConnection(agent, record, config.logger))
53
+ return;
54
+ if (record.state === didcomm_1.DidCommDidExchangeState.Completed) {
55
+ if (config.discoveryOptions)
56
+ await agent.didcomm.discovery.queryFeatures({
57
+ connectionId: record.id,
58
+ protocolVersion: 'v2',
59
+ queries: config.discoveryOptions,
60
+ });
23
61
  }
24
- }
25
- if (record.state === didcomm_1.DidCommDidExchangeState.Completed) {
26
- if (config.discoveryOptions)
27
- await agent.didcomm.discovery.queryFeatures({
28
- connectionId: record.id,
29
- protocolVersion: 'v2',
30
- queries: config.discoveryOptions,
62
+ // If an out-of-band ID exists, use the invitation to find the thread IDs
63
+ // and identify the invitation that created the connection to update its state.
64
+ if (record.outOfBandId) {
65
+ const invitationRecord = await agent.didcomm.oob.findById(record.outOfBandId);
66
+ const threadIds = invitationRecord === null || invitationRecord === void 0 ? void 0 : invitationRecord.getTag('invitationRequestsThreadIds');
67
+ threadIds === null || threadIds === void 0 ? void 0 : threadIds.map(async (threadId) => {
68
+ const [proofRecord] = await agent.didcomm.proofs.findAllByQuery({ threadId });
69
+ if (!proofRecord)
70
+ return;
71
+ const callbackParameters = proofRecord.metadata.get('_2060/callbackParameters');
72
+ if (callbackParameters &&
73
+ callbackParameters.callbackUrl &&
74
+ record.state === didcomm_1.DidCommDidExchangeState.RequestReceived) {
75
+ (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.PresentationStateUpdated, new vs_agent_model_1.PresentationStateUpdated({
76
+ proofExchangeId: proofRecord.id,
77
+ callbackUrl: callbackParameters.callbackUrl,
78
+ state: vs_agent_model_1.PresentationState.CONNECTED,
79
+ ref: callbackParameters.ref,
80
+ }));
81
+ }
31
82
  });
32
- }
33
- // If an out-of-band ID exists, use the invitation to find the thread IDs
34
- // and identify the invitation that created the connection to update its state.
35
- if (record.outOfBandId) {
36
- const invitationRecord = await agent.didcomm.oob.findById(record.outOfBandId);
37
- const threadIds = invitationRecord === null || invitationRecord === void 0 ? void 0 : invitationRecord.getTag('invitationRequestsThreadIds');
38
- threadIds === null || threadIds === void 0 ? void 0 : threadIds.map(async (threadId) => {
39
- const [proofRecord] = await agent.didcomm.proofs.findAllByQuery({ threadId });
40
- if (!proofRecord)
41
- return;
42
- const callbackParameters = proofRecord.metadata.get('_2060/callbackParameters');
43
- if (callbackParameters &&
44
- callbackParameters.callbackUrl &&
45
- record.state === didcomm_1.DidCommDidExchangeState.RequestReceived) {
46
- (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.PresentationStateUpdated, new vs_agent_model_1.PresentationStateUpdated({
47
- proofExchangeId: proofRecord.id,
48
- callbackUrl: callbackParameters.callbackUrl,
49
- state: vs_agent_model_1.PresentationState.CONNECTED,
50
- ref: callbackParameters.ref,
51
- }));
52
- }
83
+ }
84
+ // If discovery is enabled, send an empty 'completed' state so that the recipient knows to expect async features.
85
+ const body = new vs_agent_model_1.ConnectionStateUpdated({
86
+ connectionId: record.id,
87
+ invitationId: record.outOfBandId,
88
+ state: record.state,
89
+ metadata: config.discoveryOptions ? {} : undefined,
53
90
  });
91
+ (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
92
+ }
93
+ catch (error) {
94
+ config.logger.error(`[connection-events] state change handler failed: ${error.message}`);
54
95
  }
55
- // If discovery is enabled, send an empty 'completed' state so that the recipient knows to expect async features.
56
- const body = new vs_agent_model_1.ConnectionStateUpdated({
57
- connectionId: record.id,
58
- invitationId: record.outOfBandId,
59
- state: record.state,
60
- metadata: config.discoveryOptions ? {} : undefined,
61
- });
62
- (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
63
96
  });
64
97
  agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionDidRotated, async ({ payload }) => {
65
98
  var _a, _b;
66
- const record = payload.connectionRecord;
67
- const isTerminationByPeer = record.theirDid === undefined && ((_b = (_a = record.previousTheirDids) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
68
- if (!isTerminationByPeer)
69
- return;
70
- const body = new vs_agent_model_1.ConnectionStateUpdated({
71
- connectionId: record.id,
72
- invitationId: record.outOfBandId,
73
- state: 'terminated',
74
- });
75
- (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
99
+ // an event listener is never awaited, so a rejection here would surface as an
100
+ // unhandled rejection and take the process down
101
+ try {
102
+ const record = payload.connectionRecord;
103
+ const isTerminationByPeer = record.theirDid === undefined && ((_b = (_a = record.previousTheirDids) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
104
+ if (!isTerminationByPeer)
105
+ return;
106
+ const body = new vs_agent_model_1.ConnectionStateUpdated({
107
+ connectionId: record.id,
108
+ invitationId: record.outOfBandId,
109
+ state: 'terminated',
110
+ });
111
+ (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
112
+ }
113
+ catch (error) {
114
+ config.logger.error(`[connection-events] did rotated handler failed: ${error.message}`);
115
+ }
76
116
  });
77
117
  agent.events.on(didcomm_1.DidCommDiscoverFeaturesEventTypes.DisclosureReceived, async ({ payload }) => {
78
118
  var _a;
79
- const record = payload.connection;
80
- payload.disclosures.forEach(item => record.metadata.add(`features-${item.type}`, { [item.id]: item.toJSON() }));
81
- await agent.context.dependencyManager
82
- .resolve(didcomm_1.DidCommConnectionRepository)
83
- .update(agent.context, payload.connection);
84
- const metadata = (_a = payload.disclosures) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => {
85
- acc[item.id] = JSON.stringify(item.toJSON());
86
- return acc;
87
- }, {});
88
- const body = new vs_agent_model_1.ConnectionStateUpdated({
89
- connectionId: record.id,
90
- invitationId: record.outOfBandId,
91
- state: vs_agent_model_1.ExtendedDidExchangeState.Updated,
92
- metadata,
93
- });
94
- (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
119
+ // an event listener is never awaited, so a rejection here would surface as an
120
+ // unhandled rejection and take the process down
121
+ try {
122
+ const record = payload.connection;
123
+ payload.disclosures.forEach(item => record.metadata.add(`features-${item.type}`, { [item.id]: item.toJSON() }));
124
+ await agent.context.dependencyManager
125
+ .resolve(didcomm_1.DidCommConnectionRepository)
126
+ .update(agent.context, payload.connection);
127
+ const metadata = (_a = payload.disclosures) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => {
128
+ acc[item.id] = JSON.stringify(item.toJSON());
129
+ return acc;
130
+ }, {});
131
+ const body = new vs_agent_model_1.ConnectionStateUpdated({
132
+ connectionId: record.id,
133
+ invitationId: record.outOfBandId,
134
+ state: vs_agent_model_1.ExtendedDidExchangeState.Updated,
135
+ metadata,
136
+ });
137
+ (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
138
+ }
139
+ catch (error) {
140
+ config.logger.error(`[connection-events] disclosure handler failed: ${error.message}`);
141
+ }
95
142
  });
96
- // Auto-accept connections that go to the public did
143
+ // Auto-accept connections that go to the public did.
144
+ //
145
+ // This listener is the only path that answers a DID Exchange Request sent to the public DID.
146
+ // Credo creates the implicit invitation of such a request with autoAcceptConnection: false, the
147
+ // connection record inherits that value, and the request handler never falls back to the
148
+ // autoAcceptConnections setting of the connections module.
97
149
  agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionStateChanged, async (data) => {
98
- config.logger.debug(`Incoming connection event: ${data.payload.connectionRecord.state}`);
99
- const outOfBandId = data.payload.connectionRecord.outOfBandId;
100
- if (!outOfBandId)
101
- return;
102
- const oob = await agent.didcomm.oob.findById(outOfBandId);
103
- if (agentPublicDids.includes(oob === null || oob === void 0 ? void 0 : oob.outOfBandInvitation.id) &&
104
- data.payload.connectionRecord.state === didcomm_1.DidCommDidExchangeState.RequestReceived) {
105
- config.logger.debug(`Incoming connection request for ${agent.did}`);
106
- await agent.didcomm.connections.acceptRequest(data.payload.connectionRecord.id);
107
- config.logger.debug(`Accepted request for ${agent.did}`);
150
+ // an event listener is never awaited, so a rejection here would surface as an
151
+ // unhandled rejection and take the process down
152
+ try {
153
+ const record = data.payload.connectionRecord;
154
+ config.logger.debug(`Incoming connection event: ${record.state}`);
155
+ if (record.state !== didcomm_1.DidCommDidExchangeState.RequestReceived || !record.outOfBandId)
156
+ return;
157
+ const oob = await agent.didcomm.oob.findById(record.outOfBandId);
158
+ const invitationId = oob === null || oob === void 0 ? void 0 : oob.outOfBandInvitation.id;
159
+ if (!invitationId || !invitationId.startsWith('did:'))
160
+ return;
161
+ const agentPublicDids = await (0, agent_1.publicDidsOf)(agent);
162
+ if (!agentPublicDids.includes(invitationId)) {
163
+ config.logger.warn(`Connection request ${record.id} addresses ${invitationId}, which is none of the DIDs of this agent (${agentPublicDids.join(', ')}). The request stays unanswered.`);
164
+ return;
165
+ }
166
+ config.logger.debug(`Incoming connection request for ${invitationId}`);
167
+ await agent.didcomm.connections.acceptRequest(record.id);
168
+ config.logger.debug(`Accepted request ${record.id} for ${invitationId}`);
169
+ }
170
+ catch (error) {
171
+ config.logger.error(`[connection-events] incoming connection handler failed: ${error.message}`);
108
172
  }
109
173
  });
110
174
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionEvents.js","sourceRoot":"","sources":["../../src/events/ConnectionEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConnectionEvents.js","sourceRoot":"","sources":["../../src/events/ConnectionEvents.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import type { VsAgent } from '../agent/VsAgent';
2
2
  import type { BaseEvent } from '@credo-ts/core';
3
- import { BaseMessage, ConnectionStateUpdated, Event, IndexerNotification, MessageReceived, MessageStateUpdated, PresentationStateUpdated, VtFlowStateUpdated } from '@verana-labs/vs-agent-model';
3
+ import { BaseMessage, ConnectionStateUpdated, Event, IndexerNotification, MessageReceived, PresentationStateUpdated, VtFlowStateUpdated } from '@verana-labs/vs-agent-model';
4
4
  export declare enum VsAgentEventTypes {
5
5
  ConnectionStateUpdated = "vs-agent-connection-state-updated",
6
6
  MessageReceived = "vs-agent-message-received",
7
- MessageStateUpdated = "vs-agent-message-state-updated",
8
7
  PresentationStateUpdated = "vs-agent-presentation-state-updated",
9
8
  VtFlowStateUpdated = "vs-agent-vt-flow-state-updated",
10
- IndexerNotification = "vs-agent-indexer-notification"
9
+ IndexerNotification = "vs-agent-indexer-notification",
10
+ ModuleMessageReceived = "vs-agent-module-message-received"
11
11
  }
12
12
  export interface VsAgentConnectionStateEvent extends BaseEvent {
13
13
  type: typeof VsAgentEventTypes.ConnectionStateUpdated;
@@ -21,12 +21,6 @@ export interface VsAgentMessageReceivedEvent extends BaseEvent {
21
21
  event: MessageReceived;
22
22
  };
23
23
  }
24
- export interface VsAgentMessageStateUpdatedEvent extends BaseEvent {
25
- type: typeof VsAgentEventTypes.MessageStateUpdated;
26
- payload: {
27
- event: MessageStateUpdated;
28
- };
29
- }
30
24
  export interface VsAgentPresentationStateUpdatedEvent extends BaseEvent {
31
25
  type: typeof VsAgentEventTypes.PresentationStateUpdated;
32
26
  payload: {
@@ -45,5 +39,13 @@ export interface VsAgentIndexerNotificationEvent extends BaseEvent {
45
39
  event: IndexerNotification;
46
40
  };
47
41
  }
42
+ export interface VsAgentModuleMessageReceivedEvent extends BaseEvent {
43
+ type: typeof VsAgentEventTypes.ModuleMessageReceived;
44
+ payload: {
45
+ type: string;
46
+ data: Record<string, unknown>;
47
+ };
48
+ }
48
49
  export declare function msgToEvent(message: BaseMessage): MessageReceived;
49
50
  export declare function emitVsAgentEvent(agent: VsAgent, type: VsAgentEventTypes, event: Event): void;
51
+ export declare function emitModuleMessageEvent(agent: VsAgent<any>, type: string, data: Record<string, unknown>): void;
@@ -3,15 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VsAgentEventTypes = void 0;
4
4
  exports.msgToEvent = msgToEvent;
5
5
  exports.emitVsAgentEvent = emitVsAgentEvent;
6
+ exports.emitModuleMessageEvent = emitModuleMessageEvent;
6
7
  const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
7
8
  var VsAgentEventTypes;
8
9
  (function (VsAgentEventTypes) {
9
10
  VsAgentEventTypes["ConnectionStateUpdated"] = "vs-agent-connection-state-updated";
10
11
  VsAgentEventTypes["MessageReceived"] = "vs-agent-message-received";
11
- VsAgentEventTypes["MessageStateUpdated"] = "vs-agent-message-state-updated";
12
12
  VsAgentEventTypes["PresentationStateUpdated"] = "vs-agent-presentation-state-updated";
13
13
  VsAgentEventTypes["VtFlowStateUpdated"] = "vs-agent-vt-flow-state-updated";
14
14
  VsAgentEventTypes["IndexerNotification"] = "vs-agent-indexer-notification";
15
+ VsAgentEventTypes["ModuleMessageReceived"] = "vs-agent-module-message-received";
15
16
  })(VsAgentEventTypes || (exports.VsAgentEventTypes = VsAgentEventTypes = {}));
16
17
  function msgToEvent(message) {
17
18
  return new vs_agent_model_1.MessageReceived({
@@ -22,4 +23,10 @@ function msgToEvent(message) {
22
23
  function emitVsAgentEvent(agent, type, event) {
23
24
  agent.events.emit(agent.context, { type, payload: { event } });
24
25
  }
26
+ function emitModuleMessageEvent(agent, type, data) {
27
+ agent.events.emit(agent.context, {
28
+ type: VsAgentEventTypes.ModuleMessageReceived,
29
+ payload: { type, data },
30
+ });
31
+ }
25
32
  //# sourceMappingURL=VsAgentEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VsAgentEvents.js","sourceRoot":"","sources":["../../src/events/VsAgentEvents.ts"],"names":[],"mappings":";;;AA4DA,gCAKC;AAED,4CAEC;AAlED,gEASoC;AAEpC,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,iFAA4D,CAAA;IAC5D,kEAA6C,CAAA;IAC7C,2EAAsD,CAAA;IACtD,qFAAgE,CAAA;IAChE,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;AACvD,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B;AAuCD,SAAgB,UAAU,CAAC,OAAoB;IAC7C,OAAO,IAAI,gCAAe,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc,EAAE,IAAuB,EAAE,KAAY;IACpF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;AAChE,CAAC"}
1
+ {"version":3,"file":"VsAgentEvents.js","sourceRoot":"","sources":["../../src/events/VsAgentEvents.ts"],"names":[],"mappings":";;;AA6DA,gCAKC;AAED,4CAEC;AAED,wDASC;AA9ED,gEAQoC;AAEpC,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,iFAA4D,CAAA;IAC5D,kEAA6C,CAAA;IAC7C,qFAAgE,CAAA;IAChE,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;IACrD,+EAA0D,CAAA;AAC5D,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B;AAyCD,SAAgB,UAAU,CAAC,OAAoB;IAC7C,OAAO,IAAI,gCAAe,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc,EAAE,IAAuB,EAAE,KAAY;IACpF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,SAAgB,sBAAsB,CACpC,KAAmB,EACnB,IAAY,EACZ,IAA6B;IAE7B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAC/B,IAAI,EAAE,iBAAiB,CAAC,qBAAqB;QAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KACxB,CAAC,CAAA;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { VsAgent } from '../agent/VsAgent';
2
2
  import { BaseLogger } from '@credo-ts/core';
3
- export declare const vtFlowEvents: (agent: VsAgent, logger: BaseLogger) => Promise<void>;
3
+ export declare const vtFlowEvents: (agent: VsAgent, logger: BaseLogger) => void;