@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
@@ -4,32 +4,44 @@ exports.vtFlowEvents = void 0;
4
4
  const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
5
5
  const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
6
6
  const VsAgentEvents_1 = require("./VsAgentEvents");
7
- const vtFlowEvents = async (agent, logger) => {
7
+ const vtFlowEvents = (agent, logger) => {
8
8
  agent.events.on(credo_ts_didcomm_vt_flow_1.VtFlowEventTypes.VtFlowStateChanged, async ({ payload }) => {
9
9
  logger.debug(`Incoming vtFlow state change: ${payload.vtFlowRecordId}`);
10
- const record = await agent.modules.vtFlow.findById(payload.vtFlowRecordId);
11
- if (!record)
10
+ // a re-attach signals itself with the same state, and vt.flows.state-updated is for Flow State changes
11
+ if (payload.state === payload.previousState)
12
12
  return;
13
13
  (0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.VtFlowStateUpdated, new vs_agent_model_1.VtFlowStateUpdated({
14
14
  vtFlowRecordId: payload.vtFlowRecordId,
15
- threadId: payload.threadId,
16
- participantSessionId: payload.participantSessionId,
17
- connectionId: record.connectionId,
18
- role: record.role,
19
- variant: record.variant,
20
15
  state: payload.state,
21
16
  previousState: payload.previousState,
22
- participantId: record.participantId,
23
- schemaId: record.schemaId,
24
- claims: record.claims,
25
- credentialExchangeRecordId: record.credentialExchangeRecordId,
26
- errorMessage: record.errorMessage,
27
- subprotocolThid: record.subprotocolThid,
28
- agentParticipantId: record.agentParticipantId,
29
- walletAgentParticipantId: record.walletAgentParticipantId,
30
- timestamp: record.updatedAt,
31
17
  }));
18
+ try {
19
+ await recordApplicantEntry(agent, payload.vtFlowRecordId);
20
+ }
21
+ catch (error) {
22
+ logger.warn(`[vt-flow] cannot record the applicant entry of flow ${payload.vtFlowRecordId}: ${error.message}`);
23
+ }
32
24
  });
33
25
  };
34
26
  exports.vtFlowEvents = vtFlowEvents;
27
+ async function recordApplicantEntry(agent, vtFlowRecordId) {
28
+ const agentContext = agent.context;
29
+ const service = agentContext.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowService);
30
+ const record = await service.findById(agentContext, vtFlowRecordId);
31
+ if ((record === null || record === void 0 ? void 0 : record.role) !== credo_ts_didcomm_vt_flow_1.VtFlowRole.Validator ||
32
+ record.variant !== credo_ts_didcomm_vt_flow_1.VtFlowVariant.OnboardingProcess ||
33
+ record.validatorParticipantId ||
34
+ !record.applicantParticipantId) {
35
+ return;
36
+ }
37
+ const applicant = await agent.indexer.findParticipant(record.applicantParticipantId);
38
+ if (!applicant)
39
+ return;
40
+ // re-read after the indexer call so the write keeps a transition made meanwhile
41
+ const latest = await service.getById(agentContext, vtFlowRecordId);
42
+ latest.validatorParticipantId = String(applicant.validatorParticipantId);
43
+ latest.applicantParticipantRole = Number(applicant.role);
44
+ latest.schemaId = String(applicant.schemaId);
45
+ await service.updateRecord(agentContext, latest);
46
+ }
35
47
  //# sourceMappingURL=VtFlowEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VtFlowEvents.js","sourceRoot":"","sources":["../../src/events/VtFlowEvents.ts"],"names":[],"mappings":";;;AAGA,oFAAsG;AACtG,gEAAgE;AAEhE,mDAAqE;AAE9D,MAAM,YAAY,GAAG,KAAK,EAAE,KAAc,EAAE,MAAkB,EAAE,EAAE;IACvE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,2CAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAA2B,EAAE,EAAE;QAClG,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC1E,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,IAAA,gCAAgB,EACd,KAAK,EACL,iCAAiB,CAAC,kBAAkB,EACpC,IAAI,mCAAkB,CAAC;YACrB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;YAC7D,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;YACzD,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AA7BY,QAAA,YAAY,gBA6BxB"}
1
+ {"version":3,"file":"VtFlowEvents.js","sourceRoot":"","sources":["../../src/events/VtFlowEvents.ts"],"names":[],"mappings":";;;AAGA,oFAM8C;AAC9C,gEAAgE;AAEhE,mDAAqE;AAE9D,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,MAAkB,EAAE,EAAE;IACjE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,2CAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAA2B,EAAE,EAAE;QAClG,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;QACvE,uGAAuG;QACvG,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa;YAAE,OAAM;QACnD,IAAA,gCAAgB,EACd,KAAK,EACL,iCAAiB,CAAC,kBAAkB,EACpC,IAAI,mCAAkB,CAAC;YACrB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CACH,CAAA;QAED,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,uDAAuD,OAAO,CAAC,cAAc,KAAM,KAAe,CAAC,OAAO,EAAE,CAC7G,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAvBY,QAAA,YAAY,gBAuBxB;AAED,KAAK,UAAU,oBAAoB,CAAC,KAAc,EAAE,cAAsB;IACxE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,wCAAa,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACnE,IACE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,qCAAU,CAAC,SAAS;QACrC,MAAM,CAAC,OAAO,KAAK,wCAAa,CAAC,iBAAiB;QAClD,MAAM,CAAC,sBAAsB;QAC7B,CAAC,MAAM,CAAC,sBAAsB,EAC9B,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;IACpF,IAAI,CAAC,SAAS;QAAE,OAAM;IAEtB,gFAAgF;IAChF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IAClE,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAA;IACxE,MAAM,CAAC,wBAAwB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACxD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;AAClD,CAAC"}
package/build/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './agent';
2
+ export * from './adminApi';
2
3
  export * from './auth';
3
4
  export * from './bootstrap';
4
5
  export * from './types';
@@ -8,11 +9,16 @@ export type { BaseDidCommPlugin, BaseDidCommPluginOptions } from './plugins/setu
8
9
  export { CachedWebDidResolver } from './did/CachedWebDidResolver';
9
10
  export { WebDidRegistrar } from './did/WebDidRegistrar';
10
11
  export { getLegacyDidDocument } from './did/legacyDidWeb';
12
+ export { applyArtifactServices, artifactServicesMatch, removeArtifactServices, } from './did/artifactServices';
13
+ export type { ArtifactServiceMethod, ArtifactServiceOptions } from './did/artifactServices';
14
+ export { SUPPORTED_PUBLIC_DID_METHODS, isSupportedPublicDid, isSupportedPublicDidMethod, } from './did/publicDid';
15
+ export type { SupportedPublicDidMethod } from './did/publicDid';
11
16
  export { applyAdminApiServiceEntry } from './did/adminApiService';
17
+ export { PARENT_CONNECTION_TAG, ParentConnectionModule, ParentConnectionRepository, } from './connections/ParentConnectionModule';
12
18
  export { HttpInboundTransport, HttpTransportSession } from './transports/HttpInboundTransport';
13
19
  export { VsAgentWsInboundTransport, WebSocketTransportSession } from './transports/VsAgentWsInboundTransport';
14
20
  export { VsAgentWsOutboundTransport } from './transports/VsAgentWsOutboundTransport';
15
- export { FullTailsFileService, getTailsDirectoryPath, deleteTailsFile, isValidTailsFileName, migrateLegacyTailsFiles, } from './credentials/FullTailsFileService';
21
+ export { FullTailsFileService, getTailsDirectoryPath, deleteTailsFile, isValidTailsFileName, } from './credentials/FullTailsFileService';
16
22
  export * from './utils';
17
23
  export * from './blockchain';
18
24
  export * from './vtFlow';
package/build/index.js CHANGED
@@ -14,9 +14,10 @@ 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
- exports.migrateLegacyTailsFiles = exports.isValidTailsFileName = exports.deleteTailsFile = exports.getTailsDirectoryPath = exports.FullTailsFileService = exports.VsAgentWsOutboundTransport = exports.WebSocketTransportSession = exports.VsAgentWsInboundTransport = exports.HttpTransportSession = exports.HttpInboundTransport = exports.applyAdminApiServiceEntry = exports.getLegacyDidDocument = exports.WebDidRegistrar = exports.CachedWebDidResolver = exports.setupBaseDidComm = void 0;
17
+ exports.isValidTailsFileName = exports.deleteTailsFile = exports.getTailsDirectoryPath = exports.FullTailsFileService = exports.VsAgentWsOutboundTransport = exports.WebSocketTransportSession = exports.VsAgentWsInboundTransport = exports.HttpTransportSession = exports.HttpInboundTransport = exports.ParentConnectionRepository = exports.ParentConnectionModule = exports.PARENT_CONNECTION_TAG = exports.applyAdminApiServiceEntry = exports.isSupportedPublicDidMethod = exports.isSupportedPublicDid = exports.SUPPORTED_PUBLIC_DID_METHODS = exports.removeArtifactServices = exports.artifactServicesMatch = exports.applyArtifactServices = exports.getLegacyDidDocument = exports.WebDidRegistrar = exports.CachedWebDidResolver = exports.setupBaseDidComm = void 0;
18
18
  // Agent
19
19
  __exportStar(require("./agent"), exports);
20
+ __exportStar(require("./adminApi"), exports);
20
21
  __exportStar(require("./auth"), exports);
21
22
  __exportStar(require("./bootstrap"), exports);
22
23
  __exportStar(require("./types"), exports);
@@ -32,8 +33,21 @@ var WebDidRegistrar_1 = require("./did/WebDidRegistrar");
32
33
  Object.defineProperty(exports, "WebDidRegistrar", { enumerable: true, get: function () { return WebDidRegistrar_1.WebDidRegistrar; } });
33
34
  var legacyDidWeb_1 = require("./did/legacyDidWeb");
34
35
  Object.defineProperty(exports, "getLegacyDidDocument", { enumerable: true, get: function () { return legacyDidWeb_1.getLegacyDidDocument; } });
36
+ var artifactServices_1 = require("./did/artifactServices");
37
+ Object.defineProperty(exports, "applyArtifactServices", { enumerable: true, get: function () { return artifactServices_1.applyArtifactServices; } });
38
+ Object.defineProperty(exports, "artifactServicesMatch", { enumerable: true, get: function () { return artifactServices_1.artifactServicesMatch; } });
39
+ Object.defineProperty(exports, "removeArtifactServices", { enumerable: true, get: function () { return artifactServices_1.removeArtifactServices; } });
40
+ var publicDid_1 = require("./did/publicDid");
41
+ Object.defineProperty(exports, "SUPPORTED_PUBLIC_DID_METHODS", { enumerable: true, get: function () { return publicDid_1.SUPPORTED_PUBLIC_DID_METHODS; } });
42
+ Object.defineProperty(exports, "isSupportedPublicDid", { enumerable: true, get: function () { return publicDid_1.isSupportedPublicDid; } });
43
+ Object.defineProperty(exports, "isSupportedPublicDidMethod", { enumerable: true, get: function () { return publicDid_1.isSupportedPublicDidMethod; } });
35
44
  var adminApiService_1 = require("./did/adminApiService");
36
45
  Object.defineProperty(exports, "applyAdminApiServiceEntry", { enumerable: true, get: function () { return adminApiService_1.applyAdminApiServiceEntry; } });
46
+ // Connections
47
+ var ParentConnectionModule_1 = require("./connections/ParentConnectionModule");
48
+ Object.defineProperty(exports, "PARENT_CONNECTION_TAG", { enumerable: true, get: function () { return ParentConnectionModule_1.PARENT_CONNECTION_TAG; } });
49
+ Object.defineProperty(exports, "ParentConnectionModule", { enumerable: true, get: function () { return ParentConnectionModule_1.ParentConnectionModule; } });
50
+ Object.defineProperty(exports, "ParentConnectionRepository", { enumerable: true, get: function () { return ParentConnectionModule_1.ParentConnectionRepository; } });
37
51
  // Transports
38
52
  var HttpInboundTransport_1 = require("./transports/HttpInboundTransport");
39
53
  Object.defineProperty(exports, "HttpInboundTransport", { enumerable: true, get: function () { return HttpInboundTransport_1.HttpInboundTransport; } });
@@ -49,7 +63,6 @@ Object.defineProperty(exports, "FullTailsFileService", { enumerable: true, get:
49
63
  Object.defineProperty(exports, "getTailsDirectoryPath", { enumerable: true, get: function () { return FullTailsFileService_1.getTailsDirectoryPath; } });
50
64
  Object.defineProperty(exports, "deleteTailsFile", { enumerable: true, get: function () { return FullTailsFileService_1.deleteTailsFile; } });
51
65
  Object.defineProperty(exports, "isValidTailsFileName", { enumerable: true, get: function () { return FullTailsFileService_1.isValidTailsFileName; } });
52
- Object.defineProperty(exports, "migrateLegacyTailsFiles", { enumerable: true, get: function () { return FullTailsFileService_1.migrateLegacyTailsFiles; } });
53
66
  // Utils
54
67
  __exportStar(require("./utils"), exports);
55
68
  __exportStar(require("./blockchain"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,0CAAuB;AACvB,yCAAsB;AACtB,8CAA2B;AAC3B,0CAAuB;AAEvB,SAAS;AACT,2CAAwB;AAExB,UAAU;AACV,+DAA6D;AAApD,oHAAA,gBAAgB,OAAA;AAGzB,gBAAgB;AAChB,mEAAiE;AAAxD,4HAAA,oBAAoB,OAAA;AAC7B,yDAAuD;AAA9C,kHAAA,eAAe,OAAA;AACxB,mDAAyD;AAAhD,oHAAA,oBAAoB,OAAA;AAC7B,yDAAiE;AAAxD,4HAAA,yBAAyB,OAAA;AAElC,aAAa;AACb,0EAA8F;AAArF,4HAAA,oBAAoB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AACnD,oFAA6G;AAApG,sIAAA,yBAAyB,OAAA;AAAE,sIAAA,yBAAyB,OAAA;AAC7D,sFAAoF;AAA3E,wIAAA,0BAA0B,OAAA;AAEnC,cAAc;AACd,2EAM2C;AALzC,4HAAA,oBAAoB,OAAA;AACpB,6HAAA,qBAAqB,OAAA;AACrB,uHAAA,eAAe,OAAA;AACf,4HAAA,oBAAoB,OAAA;AACpB,+HAAA,uBAAuB,OAAA;AAGzB,QAAQ;AACR,0CAAuB;AAEvB,+CAA4B;AAC5B,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,0CAAuB;AACvB,6CAA0B;AAC1B,yCAAsB;AACtB,8CAA2B;AAC3B,0CAAuB;AAEvB,SAAS;AACT,2CAAwB;AAExB,UAAU;AACV,+DAA6D;AAApD,oHAAA,gBAAgB,OAAA;AAGzB,gBAAgB;AAChB,mEAAiE;AAAxD,4HAAA,oBAAoB,OAAA;AAC7B,yDAAuD;AAA9C,kHAAA,eAAe,OAAA;AACxB,mDAAyD;AAAhD,oHAAA,oBAAoB,OAAA;AAC7B,2DAI+B;AAH7B,yHAAA,qBAAqB,OAAA;AACrB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAGxB,6CAIwB;AAHtB,yHAAA,4BAA4B,OAAA;AAC5B,iHAAA,oBAAoB,OAAA;AACpB,uHAAA,0BAA0B,OAAA;AAG5B,yDAAiE;AAAxD,4HAAA,yBAAyB,OAAA;AAElC,cAAc;AACd,+EAI6C;AAH3C,+HAAA,qBAAqB,OAAA;AACrB,gIAAA,sBAAsB,OAAA;AACtB,oIAAA,0BAA0B,OAAA;AAG5B,aAAa;AACb,0EAA8F;AAArF,4HAAA,oBAAoB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AACnD,oFAA6G;AAApG,sIAAA,yBAAyB,OAAA;AAAE,sIAAA,yBAAyB,OAAA;AAC7D,sFAAoF;AAA3E,wIAAA,0BAA0B,OAAA;AAEnC,cAAc;AACd,2EAK2C;AAJzC,4HAAA,oBAAoB,OAAA;AACpB,6HAAA,qBAAqB,OAAA;AACrB,uHAAA,eAAe,OAAA;AACf,4HAAA,oBAAoB,OAAA;AAGtB,QAAQ;AACR,0CAAuB;AAEvB,+CAA4B;AAC5B,2CAAwB"}
@@ -10,6 +10,7 @@ const anoncreds_nodejs_1 = require("@hyperledger/anoncreds-nodejs");
10
10
  const askar_nodejs_1 = require("@openwallet-foundation/askar-nodejs");
11
11
  const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
12
12
  const credo_ts_didweb_anoncreds_1 = require("credo-ts-didweb-anoncreds");
13
+ const ParentConnectionModule_1 = require("../connections/ParentConnectionModule");
13
14
  const FullTailsFileService_1 = require("../credentials/FullTailsFileService");
14
15
  const CachedDocumentLoader_1 = require("../did/CachedDocumentLoader");
15
16
  const CachedWebDidResolver_1 = require("../did/CachedWebDidResolver");
@@ -21,13 +22,14 @@ const VsAgentWsOutboundTransport_1 = require("../transports/VsAgentWsOutboundTra
21
22
  */
22
23
  function setupBaseDidComm(options) {
23
24
  var _a;
25
+ const didcommVersions = (_a = options.didcommVersions) !== null && _a !== void 0 ? _a : ['v1', 'v2'];
24
26
  return {
25
27
  modules: {
26
28
  didcomm: new didcomm_1.DidCommModule({
27
29
  endpoints: options.endpoints,
28
- didcommVersions: options.didcommVersions,
30
+ didcommVersions,
29
31
  // BasicMessage protocols must be set separately, otherwise Credo rejects basicmessage/2.0.
30
- basicMessages: { protocols: (_a = options.didcommVersions) !== null && _a !== void 0 ? _a : ['v1'] },
32
+ basicMessages: { protocols: didcommVersions },
31
33
  transports: {
32
34
  outbound: [new didcomm_1.DidCommHttpOutboundTransport(), new VsAgentWsOutboundTransport_1.VsAgentWsOutboundTransport()],
33
35
  },
@@ -40,9 +42,8 @@ function setupBaseDidComm(options) {
40
42
  credentialProtocols: [
41
43
  new didcomm_1.DidCommCredentialV2Protocol({
42
44
  credentialFormats: [
43
- new anoncreds_1.LegacyIndyDidCommCredentialFormatService(),
44
45
  new anoncreds_1.AnonCredsDidCommCredentialFormatService(),
45
- new didcomm_1.DidCommJsonLdCredentialFormatService(),
46
+ new didcomm_1.DidCommDataIntegrityCredentialFormatService(),
46
47
  ],
47
48
  }),
48
49
  ],
@@ -51,14 +52,12 @@ function setupBaseDidComm(options) {
51
52
  autoAcceptProofs: didcomm_1.DidCommAutoAcceptProof.ContentApproved,
52
53
  proofProtocols: [
53
54
  new didcomm_1.DidCommProofV2Protocol({
54
- proofFormats: [
55
- new anoncreds_1.LegacyIndyDidCommProofFormatService(),
56
- new anoncreds_1.AnonCredsDidCommProofFormatService(),
57
- ],
55
+ proofFormats: [new anoncreds_1.AnonCredsDidCommProofFormatService()],
58
56
  }),
59
57
  ],
60
58
  },
61
59
  }),
60
+ parentConnection: new ParentConnectionModule_1.ParentConnectionModule(),
62
61
  askar: new askar_1.AskarModule({
63
62
  askar: askar_nodejs_1.askar,
64
63
  store: options.walletConfig,
@@ -76,10 +75,8 @@ function setupBaseDidComm(options) {
76
75
  ],
77
76
  }),
78
77
  dids: new core_1.DidsModule({
79
- resolvers: [
80
- new CachedWebDidResolver_1.CachedWebDidResolver({ publicApiBaseUrl: options.publicApiBaseUrl }),
81
- new webvh_1.WebVhDidResolver(),
82
- ],
78
+ // Credo appends only PeerDidResolver and KeyDidResolver to a supplied list, so did:jwk needs one.
79
+ resolvers: [new CachedWebDidResolver_1.CachedWebDidResolver(), new webvh_1.WebVhDidResolver(), new core_1.JwkDidResolver()],
83
80
  registrars: [new WebDidRegistrar_1.WebDidRegistrar(), new webvh_1.WebVhDidRegistrar()],
84
81
  }),
85
82
  w3cCredentials: new core_1.W3cCredentialsModule({
@@ -1 +1 @@
1
- {"version":3,"file":"setupBaseDidComm.js","sourceRoot":"","sources":["../../src/plugins/setupBaseDidComm.ts"],"names":[],"mappings":";;AAiDA,4CAoEC;AAnHD,mDAM4B;AAC5B,2CAA4E;AAC5E,yCAAiE;AACjE,+CAQ0B;AAC1B,2CAA6F;AAC7F,oEAAyD;AACzD,sEAA2D;AAC3D,oFAAoG;AACpG,yEAAmE;AAGnE,8EAA0E;AAC1E,sEAAmE;AACnE,sEAAkE;AAClE,4DAAwD;AACxD,yFAAqF;AAcrF;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAAiC;;IAChE,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,uBAAa,CAAC;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,2FAA2F;gBAC3F,aAAa,EAAE,EAAE,SAAS,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,CAAC,IAAI,CAAC,EAAE;gBAC/D,UAAU,EAAE;oBACV,QAAQ,EAAE,CAAC,IAAI,sCAA4B,EAAE,EAAE,IAAI,uDAA0B,EAAE,CAAC;iBACjF;gBACD,WAAW,EAAE;oBACX,qBAAqB,EAAE,IAAI;oBAC3B,kCAAkC,EAAE,IAAI;iBACzC;gBACD,WAAW,EAAE;oBACX,qBAAqB,EAAE,qCAA2B,CAAC,eAAe;oBAClE,mBAAmB,EAAE;wBACnB,IAAI,qCAA2B,CAAC;4BAC9B,iBAAiB,EAAE;gCACjB,IAAI,oDAAwC,EAAE;gCAC9C,IAAI,mDAAuC,EAAE;gCAC7C,IAAI,8CAAoC,EAAE;6BAC3C;yBACF,CAAC;qBACH;iBACF;gBACD,MAAM,EAAE;oBACN,gBAAgB,EAAE,gCAAsB,CAAC,eAAe;oBACxD,cAAc,EAAE;wBACd,IAAI,gCAAsB,CAAC;4BACzB,YAAY,EAAE;gCACZ,IAAI,+CAAmC,EAAE;gCACzC,IAAI,8CAAkC,EAAE;6BACzC;yBACF,CAAC;qBACH;iBACF;aACF,CAAC;YACF,KAAK,EAAE,IAAI,mBAAW,CAAC;gBACrB,KAAK,EAAL,oBAAK;gBACL,KAAK,EAAE,OAAO,CAAC,YAAY;aAC5B,CAAC;YACF,SAAS,EAAE,IAAI,2BAAe,CAAC;gBAC7B,SAAS,EAAT,4BAAS;gBACT,gBAAgB,EAAE,IAAI,2CAAoB,CAAC;oBACzC,kBAAkB,EAAE,GAAG,OAAO,CAAC,gBAAgB,qBAAqB;iBACrE,CAAC;gBACF,UAAU,EAAE;oBACV,IAAI,mDAAuB,CAAC;wBAC1B,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;qBAC3E,CAAC;oBACF,IAAI,8BAAsB,EAAE;iBAC7B;aACF,CAAC;YACF,IAAI,EAAE,IAAI,iBAAU,CAAC;gBACnB,SAAS,EAAE;oBACT,IAAI,2CAAoB,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACxE,IAAI,wBAAgB,EAAE;iBACvB;gBACD,UAAU,EAAE,CAAC,IAAI,iCAAe,EAAE,EAAE,IAAI,yBAAiB,EAAE,CAAC;aAC7D,CAAC;YACF,cAAc,EAAE,IAAI,2BAAoB,CAAC;gBACvC,cAAc,EAAE,4CAAqB;aACtC,CAAC;YACF,MAAM,EAAE,IAAI,uCAAY,mBAAM,OAAO,CAAC,MAAM,EAAG;SAChD;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"setupBaseDidComm.js","sourceRoot":"","sources":["../../src/plugins/setupBaseDidComm.ts"],"names":[],"mappings":";;AAgDA,4CAgEC;AA9GD,mDAI4B;AAC5B,2CAA4E;AAC5E,yCAAiF;AACjF,+CAQ0B;AAC1B,2CAA6F;AAC7F,oEAAyD;AACzD,sEAA2D;AAC3D,oFAAoG;AACpG,yEAAmE;AAGnE,kFAA8E;AAC9E,8EAA0E;AAC1E,sEAAmE;AACnE,sEAAkE;AAClE,4DAAwD;AACxD,yFAAqF;AAcrF;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAAiC;;IAChE,MAAM,eAAe,GAAG,MAAA,OAAO,CAAC,eAAe,mCAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC/D,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,uBAAa,CAAC;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe;gBACf,2FAA2F;gBAC3F,aAAa,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;gBAC7C,UAAU,EAAE;oBACV,QAAQ,EAAE,CAAC,IAAI,sCAA4B,EAAE,EAAE,IAAI,uDAA0B,EAAE,CAAC;iBACjF;gBACD,WAAW,EAAE;oBACX,qBAAqB,EAAE,IAAI;oBAC3B,kCAAkC,EAAE,IAAI;iBACzC;gBACD,WAAW,EAAE;oBACX,qBAAqB,EAAE,qCAA2B,CAAC,eAAe;oBAClE,mBAAmB,EAAE;wBACnB,IAAI,qCAA2B,CAAC;4BAC9B,iBAAiB,EAAE;gCACjB,IAAI,mDAAuC,EAAE;gCAC7C,IAAI,qDAA2C,EAAE;6BAClD;yBACF,CAAC;qBACH;iBACF;gBACD,MAAM,EAAE;oBACN,gBAAgB,EAAE,gCAAsB,CAAC,eAAe;oBACxD,cAAc,EAAE;wBACd,IAAI,gCAAsB,CAAC;4BACzB,YAAY,EAAE,CAAC,IAAI,8CAAkC,EAAE,CAAC;yBACzD,CAAC;qBACH;iBACF;aACF,CAAC;YACF,gBAAgB,EAAE,IAAI,+CAAsB,EAAE;YAC9C,KAAK,EAAE,IAAI,mBAAW,CAAC;gBACrB,KAAK,EAAL,oBAAK;gBACL,KAAK,EAAE,OAAO,CAAC,YAAY;aAC5B,CAAC;YACF,SAAS,EAAE,IAAI,2BAAe,CAAC;gBAC7B,SAAS,EAAT,4BAAS;gBACT,gBAAgB,EAAE,IAAI,2CAAoB,CAAC;oBACzC,kBAAkB,EAAE,GAAG,OAAO,CAAC,gBAAgB,qBAAqB;iBACrE,CAAC;gBACF,UAAU,EAAE;oBACV,IAAI,mDAAuB,CAAC;wBAC1B,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;qBAC3E,CAAC;oBACF,IAAI,8BAAsB,EAAE;iBAC7B;aACF,CAAC;YACF,IAAI,EAAE,IAAI,iBAAU,CAAC;gBACnB,kGAAkG;gBAClG,SAAS,EAAE,CAAC,IAAI,2CAAoB,EAAE,EAAE,IAAI,wBAAgB,EAAE,EAAE,IAAI,qBAAc,EAAE,CAAC;gBACrF,UAAU,EAAE,CAAC,IAAI,iCAAe,EAAE,EAAE,IAAI,yBAAiB,EAAE,CAAC;aAC7D,CAAC;YACF,cAAc,EAAE,IAAI,2BAAoB,CAAC;gBACvC,cAAc,EAAE,4CAAqB;aACtC,CAAC;YACF,MAAM,EAAE,IAAI,uCAAY,mBAAM,OAAO,CAAC,MAAM,EAAG;SAChD;KACF,CAAA;AACH,CAAC"}
@@ -3,7 +3,7 @@ import { DidCommConnectionRecord, DidCommEncryptedMessage, DidCommInboundTranspo
3
3
  import WebSocket, { Server } from 'ws';
4
4
  export declare class VsAgentWsInboundTransport implements DidCommInboundTransport {
5
5
  private socketServer;
6
- private logger;
6
+ private logger?;
7
7
  private socketIds;
8
8
  constructor({ server, port, }: {
9
9
  server: Server;
@@ -46,35 +46,37 @@ class VsAgentWsInboundTransport {
46
46
  async start(agentContext) {
47
47
  const transportService = agentContext.dependencyManager.resolve(didcomm_1.DidCommTransportService);
48
48
  const didcomm = agentContext.dependencyManager.resolve(didcomm_1.DidCommApi);
49
- this.logger = agentContext.config.logger;
50
- this.logger.debug('VS Agent Ws Inbound transport start');
49
+ const logger = agentContext.config.logger;
50
+ this.logger = logger;
51
+ logger.debug('VS Agent Ws Inbound transport start');
51
52
  const wsEndpoint = didcomm.config.endpoints.find(e => e.startsWith('ws'));
52
- this.logger.debug(`Starting WS inbound transport`, {
53
+ logger.debug(`Starting WS inbound transport`, {
53
54
  endpoint: wsEndpoint,
54
55
  });
55
56
  this.socketServer.on('connection', (socket) => {
56
57
  const socketId = core_1.utils.uuid();
57
- this.logger.debug('Socket connected.');
58
+ logger.debug('Socket connected.');
58
59
  socket.isAlive = true;
59
60
  socket.lastActivity = new Date();
60
61
  if (!this.socketIds[socketId]) {
61
- this.logger.debug(`Saving new socket with id ${socketId}.`);
62
+ logger.debug(`Saving new socket with id ${socketId}.`);
62
63
  this.socketIds[socketId] = socket;
63
- const session = new WebSocketTransportSession(socketId, socket, this.logger);
64
+ const session = new WebSocketTransportSession(socketId, socket, logger);
64
65
  this.listenOnWebSocketMessages(agentContext, socket, session);
65
66
  socket.on('close', () => {
66
- this.logger.debug('Socket closed.');
67
+ logger.debug('Socket closed.');
67
68
  transportService.removeSession(session);
68
69
  });
69
70
  }
70
71
  else {
71
- this.logger.debug(`Socket with id ${socketId} already exists.`);
72
+ logger.debug(`Socket with id ${socketId} already exists.`);
72
73
  }
73
74
  });
74
75
  this.startIdleSocketTimer(60000);
75
76
  }
76
77
  async stop() {
77
- this.logger.debug('Closing WebSocket Server');
78
+ var _a;
79
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Closing WebSocket Server');
78
80
  return new Promise((resolve, reject) => {
79
81
  this.socketServer.close(error => {
80
82
  if (error) {
@@ -85,15 +87,17 @@ class VsAgentWsInboundTransport {
85
87
  });
86
88
  }
87
89
  getServer() {
88
- this.logger.debug('Get WebSocket Server');
90
+ var _a;
91
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Get WebSocket Server');
89
92
  return this.socketServer;
90
93
  }
91
94
  startIdleSocketTimer(interval) {
92
95
  setInterval(() => {
93
96
  const currentDate = new Date();
94
97
  this.socketServer.clients.forEach(item => {
98
+ var _a;
95
99
  if (currentDate.valueOf() - item.lastActivity.valueOf() > interval) {
96
- this.logger.debug('Client session closed by inactivity');
100
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Client session closed by inactivity');
97
101
  item.close();
98
102
  }
99
103
  });
@@ -101,19 +105,21 @@ class VsAgentWsInboundTransport {
101
105
  }
102
106
  listenOnWebSocketMessages(agentContext, socket, session) {
103
107
  socket.on('pong', () => {
104
- this.logger.debug('Pong received');
108
+ var _a;
109
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('Pong received');
105
110
  socket.isAlive = true;
106
111
  });
107
112
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
113
  socket.addEventListener('message', async (event) => {
109
- this.logger.debug('WebSocket message event received.', { url: event.target.url, data: event.data });
114
+ var _a, _b;
115
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug('WebSocket message event received.', { url: event.target.url, data: event.data });
110
116
  socket.lastActivity = new Date();
111
117
  try {
112
118
  const messageReceiver = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageReceiver);
113
119
  await messageReceiver.receiveMessage(JSON.parse(event.data), { session });
114
120
  }
115
121
  catch (error) {
116
- this.logger.error('Error processing message');
122
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.error(`Error processing inbound message: ${error instanceof Error ? error.message : String(error)}`, { error });
117
123
  }
118
124
  });
119
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VsAgentWsInboundTransport.js","sourceRoot":"","sources":["../../src/transports/VsAgentWsInboundTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VsAgentWsInboundTransport.js","sourceRoot":"","sources":["../../src/transports/VsAgentWsInboundTransport.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -1,26 +1,20 @@
1
1
  import type { BaseAgentModules, VsAgent } from './agent/VsAgent';
2
- import type { IBaseMessage, MessageType } from '@verana-labs/vs-agent-model';
2
+ import type { IncomingMessage, ServerResponse } from 'node:http';
3
3
  import { BaseLogger } from '@credo-ts/core';
4
- import { DidCommConnectionRecord } from '@credo-ts/didcomm';
5
- export declare const MESSAGE_HANDLERS = "MESSAGE_HANDLERS";
6
- export interface MessageHandler {
7
- readonly supportedTypes: MessageType[];
8
- readonly openApiExamples: Record<string, {
9
- summary: string;
10
- description: string;
11
- value: object;
12
- }>;
13
- handle(agent: VsAgent<any>, message: IBaseMessage, connection: DidCommConnectionRecord): Promise<string | undefined>;
14
- }
15
4
  export type Plugin = {
16
5
  modules: Record<string, unknown>;
17
6
  };
7
+ export interface DidcommModule {
8
+ module: string;
9
+ prefixes: string[];
10
+ }
18
11
  export interface VsAgentNestPlugin {
19
12
  name: string;
20
13
  credoPlugin?: Plugin;
14
+ publicMiddleware?: (request: IncomingMessage, response: ServerResponse, next: (error?: unknown) => void) => void;
21
15
  controllers?: (new (...args: any[]) => any)[];
22
16
  providers?: any[];
23
- messageHandlers?: (new (...args: any[]) => MessageHandler)[];
17
+ didcommModules?: DidcommModule[];
24
18
  imports?: any[];
25
19
  registerEvents?: (agent: VsAgent<BaseAgentModules>, logger: BaseLogger) => void;
26
20
  }
package/build/types.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HOLDER_PARTICIPANT_TYPE = exports.VERIFIER_GRANTOR_PARTICIPANT_TYPE = exports.ISSUER_GRANTOR_PARTICIPANT_TYPE = exports.VERIFIER_PARTICIPANT_TYPE = exports.ISSUER_PARTICIPANT_TYPE = exports.MESSAGE_HANDLERS = void 0;
4
- exports.MESSAGE_HANDLERS = 'MESSAGE_HANDLERS';
3
+ exports.HOLDER_PARTICIPANT_TYPE = exports.VERIFIER_GRANTOR_PARTICIPANT_TYPE = exports.ISSUER_GRANTOR_PARTICIPANT_TYPE = exports.VERIFIER_PARTICIPANT_TYPE = exports.ISSUER_PARTICIPANT_TYPE = void 0;
5
4
  exports.ISSUER_PARTICIPANT_TYPE = 1;
6
5
  exports.VERIFIER_PARTICIPANT_TYPE = 2;
7
6
  exports.ISSUER_GRANTOR_PARTICIPANT_TYPE = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,gBAAgB,GAAG,kBAAkB,CAAA;AAwBrC,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAC3B,QAAA,yBAAyB,GAAG,CAAC,CAAA;AAC7B,QAAA,+BAA+B,GAAG,CAAC,CAAA;AACnC,QAAA,iCAAiC,GAAG,CAAC,CAAA;AACrC,QAAA,uBAAuB,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA4Ba,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAC3B,QAAA,yBAAyB,GAAG,CAAC,CAAA;AAC7B,QAAA,+BAA+B,GAAG,CAAC,CAAA;AACnC,QAAA,iCAAiC,GAAG,CAAC,CAAA;AACrC,QAAA,uBAAuB,GAAG,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import type { VsAgent } from '../agent/VsAgent';
2
- import { DidCommMessage, type DidCommVersion } from '@credo-ts/didcomm';
2
+ import { GenericRecord, TagsBase } from '@credo-ts/core';
3
+ import { type DidCommConnectionRecord, DidCommMessage, type DidCommVersion } from '@credo-ts/didcomm';
3
4
  /**
4
5
  * Creates an out of band invitation that will equal to the public DID in case the agent has one defined,
5
6
  * and a new one every time in case the agent does not have any public DID.
@@ -11,11 +12,35 @@ export declare function createInvitation(options: {
11
12
  agent: VsAgent;
12
13
  messages?: DidCommMessage[];
13
14
  useLegacyDid?: boolean;
14
- invitationBaseUrl: string;
15
- imageUrl?: string;
16
15
  didCommVersion?: DidCommVersion;
17
16
  }): Promise<{
17
+ invitation: import("@credo-ts/didcomm").DidCommPlaintextMessage;
18
+ outOfBandInvitation: import("@credo-ts/didcomm").DidCommOutOfBandInvitation;
18
19
  url: string;
19
20
  }>;
21
+ export declare function isUsableConnectionTo(connection: DidCommConnectionRecord, peerPublicDid: string): boolean;
22
+ /**
23
+ * Connects to a peer that publishes a public DID, and reuses the connection that the
24
+ * agent already has to that peer.
25
+ *
26
+ * The agent must keep one connection record only for each peer. A second record for the
27
+ * same pair of DIDs makes the `findByDids` lookup of the message receiver throw
28
+ * `RecordDuplicateError`, and the agent then fails to process every inbound message from
29
+ * that peer. To find the existing record, the agent reads the `publicDid` tag that it
30
+ * sets on each connection to a peer that publishes a public DID.
31
+ *
32
+ * @param agent the local agent
33
+ * @param peerPublicDid the public DID of the peer
34
+ * @returns the id of a ready connection record
35
+ */
36
+ export declare function connectToPublicDid(agent: VsAgent, peerPublicDid: string): Promise<string>;
20
37
  export declare function getRecordId(agent: VsAgent, id: string): Promise<string>;
21
- export declare function getWebDid(agent: VsAgent): Promise<string | undefined>;
38
+ /** The record type of every attested resource of the AnonCreds registry, per [VSA-PUB-AC]. */
39
+ export declare const ATTESTED_RESOURCE_TYPE = "AttestedResource";
40
+ export type AttestedResourceTags = TagsBase & {
41
+ type?: never;
42
+ attestedResourceId?: never;
43
+ };
44
+ export declare function saveAttestedResource(agent: VsAgent, resource: Record<string, unknown>, tags?: AttestedResourceTags): Promise<GenericRecord | undefined>;
45
+ export declare function findAttestedResources(agent: VsAgent, query: TagsBase): Promise<GenericRecord[]>;
46
+ export declare function findAttestedResource(agent: VsAgent, query: TagsBase): Promise<GenericRecord | undefined>;
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ATTESTED_RESOURCE_TYPE = void 0;
3
4
  exports.createInvitation = createInvitation;
5
+ exports.isUsableConnectionTo = isUsableConnectionTo;
6
+ exports.connectToPublicDid = connectToPublicDid;
4
7
  exports.getRecordId = getRecordId;
5
- exports.getWebDid = getWebDid;
8
+ exports.saveAttestedResource = saveAttestedResource;
9
+ exports.findAttestedResources = findAttestedResources;
10
+ exports.findAttestedResource = findAttestedResource;
6
11
  const core_1 = require("@credo-ts/core");
7
12
  const didcomm_1 = require("@credo-ts/didcomm");
13
+ const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
14
+ const legacyDidWeb_1 = require("../did/legacyDidWeb");
15
+ const ecsService_1 = require("./ecsService");
8
16
  /**
9
17
  * Creates an out of band invitation that will equal to the public DID in case the agent has one defined,
10
18
  * and a new one every time in case the agent does not have any public DID.
@@ -13,43 +21,104 @@ const didcomm_1 = require("@credo-ts/didcomm");
13
21
  * @returns
14
22
  */
15
23
  async function createInvitation(options) {
16
- const { agent, messages, useLegacyDid, invitationBaseUrl, imageUrl, didCommVersion } = options;
17
- // Use legacy did:web in case agent's did is webvh and using legacy did
18
- const ourDid = agent.did && (0, core_1.parseDid)(agent.did).method === 'webvh' && useLegacyDid
19
- ? `did:web:${(0, core_1.parseDid)(agent.did).id.split(':')[1]}`
20
- : agent.did;
21
- const effectiveVersion = didCommVersion !== null && didCommVersion !== void 0 ? didCommVersion : (agent.didcomm.config.sendsV2 ? 'v2' : 'v1');
24
+ var _a, _b, _c;
25
+ const { agent, messages, useLegacyDid, didCommVersion } = options;
26
+ const ourDid = (_a = (useLegacyDid && agent.did ? (0, legacyDidWeb_1.getLegacyDidWeb)(agent.did) : undefined)) !== null && _a !== void 0 ? _a : agent.did;
27
+ const effectiveVersion = didCommVersion !== null && didCommVersion !== void 0 ? didCommVersion : 'v2';
22
28
  const isV2 = effectiveVersion === 'v2';
23
29
  if (!agent.didcomm.config.didcommVersions.includes(effectiveVersion)) {
24
30
  throw new Error(`Cannot create ${effectiveVersion} invitation: agent is configured with ` +
25
31
  `didcommVersions: [${agent.didcomm.config.didcommVersions.join(', ')}]. ` +
26
- `Add "${effectiveVersion}" to AGENT_DIDCOMM_VERSIONS or omit didCommVersion from the request.`);
32
+ `Add "${effectiveVersion}" to the agent's didcommVersions configuration.`);
27
33
  }
28
- const outOfBandInvitation = (await agent.didcomm.oob.createInvitation(Object.assign({ label: agent.label, multiUseInvitation: !messages, imageUrl,
29
- messages, didCommVersion: effectiveVersion }, (isV2
34
+ const claims = await (0, ecsService_1.ecsServiceClaims)(agent);
35
+ const outOfBandInvitation = (await agent.didcomm.oob.createInvitation(Object.assign({ label: claims === null || claims === void 0 ? void 0 : claims.name, multiUseInvitation: !messages, imageUrl: claims === null || claims === void 0 ? void 0 : claims.logoUri, messages, didCommVersion: effectiveVersion }, (isV2
30
36
  ? { ourDid }
31
37
  : {
32
- handshakeProtocols: [didcomm_1.DidCommHandshakeProtocol.DidExchange, didcomm_1.DidCommHandshakeProtocol.Connections],
38
+ handshakeProtocols: [didcomm_1.DidCommHandshakeProtocol.DidExchange],
33
39
  invitationDid: ourDid,
34
40
  })))).outOfBandInvitation;
35
41
  return {
36
- url: outOfBandInvitation.toUrl({
37
- domain: invitationBaseUrl,
38
- }),
42
+ invitation: (_c = (_b = outOfBandInvitation.v2Invitation) === null || _b === void 0 ? void 0 : _b.toJSON()) !== null && _c !== void 0 ? _c : outOfBandInvitation.toJSON(),
43
+ outOfBandInvitation,
44
+ url: outOfBandInvitation.toUrl({ domain: agent.publicApiBaseUrl }),
39
45
  };
40
46
  }
47
+ function isUsableConnectionTo(connection, peerPublicDid) {
48
+ return connection.isReady && !!connection.theirDid && (0, credo_ts_didcomm_vt_flow_1.peerAnchorDid)(connection) === peerPublicDid;
49
+ }
50
+ /**
51
+ * Connects to a peer that publishes a public DID, and reuses the connection that the
52
+ * agent already has to that peer.
53
+ *
54
+ * The agent must keep one connection record only for each peer. A second record for the
55
+ * same pair of DIDs makes the `findByDids` lookup of the message receiver throw
56
+ * `RecordDuplicateError`, and the agent then fails to process every inbound message from
57
+ * that peer. To find the existing record, the agent reads the `publicDid` tag that it
58
+ * sets on each connection to a peer that publishes a public DID.
59
+ *
60
+ * @param agent the local agent
61
+ * @param peerPublicDid the public DID of the peer
62
+ * @returns the id of a ready connection record
63
+ */
64
+ async function connectToPublicDid(agent, peerPublicDid) {
65
+ if (!agent.did)
66
+ throw new Error('Agent has no public DID');
67
+ const [existing] = await agent.didcomm.connections.findAllByQuery({
68
+ publicDid: peerPublicDid,
69
+ });
70
+ if (existing) {
71
+ if (isUsableConnectionTo(existing, peerPublicDid))
72
+ return existing.id;
73
+ await agent.didcomm.connections.deleteById(existing.id);
74
+ }
75
+ const { connectionRecord } = await agent.didcomm.oob.receiveImplicitInvitation({
76
+ did: peerPublicDid,
77
+ ourDid: agent.did,
78
+ label: await (0, ecsService_1.agentDisplayName)(agent),
79
+ didCommVersion: 'v2',
80
+ });
81
+ if (!connectionRecord)
82
+ throw new Error(`Failed to establish a DIDComm connection to ${peerPublicDid}`);
83
+ try {
84
+ // Tag the record with the public DID of the peer, to find it on the next call.
85
+ connectionRecord.setTag('publicDid', peerPublicDid);
86
+ await agent.context.resolve(didcomm_1.DidCommConnectionRepository).update(agent.context, connectionRecord);
87
+ const ready = await agent.didcomm.connections.returnWhenIsConnected(connectionRecord.id);
88
+ return ready.id;
89
+ }
90
+ catch (error) {
91
+ // Without the tag, the next call cannot find this record. It dials again and leaves two
92
+ // records for the pair. The message receiver's findByDids then throws RecordDuplicateError.
93
+ await agent.didcomm.connections.deleteById(connectionRecord.id).catch(deleteError => {
94
+ agent.config.logger.warn(`Failed to delete the incomplete connection ${connectionRecord.id}`, {
95
+ error: deleteError,
96
+ });
97
+ });
98
+ throw error;
99
+ }
100
+ }
41
101
  async function getRecordId(agent, id) {
42
102
  var _a;
43
103
  const record = await agent.genericRecords.findById(id);
44
104
  return (_a = record === null || record === void 0 ? void 0 : record.getTag('messageId')) !== null && _a !== void 0 ? _a : id;
45
105
  }
46
- async function getWebDid(agent) {
47
- if (agent.did) {
48
- const parsedDid = (0, core_1.parseDid)(agent.did);
49
- if (parsedDid.method === 'web')
50
- return agent.did;
51
- if (parsedDid.method === 'webvh')
52
- return `did:web:${parsedDid.id.split(':')[1]}`;
53
- }
106
+ /** The record type of every attested resource of the AnonCreds registry, per [VSA-PUB-AC]. */
107
+ exports.ATTESTED_RESOURCE_TYPE = 'AttestedResource';
108
+ async function saveAttestedResource(agent, resource, tags) {
109
+ if (!resource)
110
+ return undefined;
111
+ return await agent.genericRecords.save({
112
+ id: core_1.utils.uuid(),
113
+ content: resource,
114
+ tags: Object.assign({ attestedResourceId: resource.id, type: exports.ATTESTED_RESOURCE_TYPE }, tags),
115
+ });
116
+ }
117
+ async function findAttestedResources(agent, query) {
118
+ return await agent.genericRecords.findAllByQuery(Object.assign(Object.assign({}, query), { type: exports.ATTESTED_RESOURCE_TYPE }));
119
+ }
120
+ async function findAttestedResource(agent, query) {
121
+ const [record] = await findAttestedResources(agent, query);
122
+ return record;
54
123
  }
55
124
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":";;AAYA,4CA+CC;AAED,kCAGC;AAED,8BAOC;AAvED,yCAAyC;AACzC,+CAAiG;AAEjG;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CAAC,OAOtC;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAE9F,uEAAuE;IACvE,MAAM,MAAM,GACV,KAAK,CAAC,GAAG,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY;QACjE,CAAC,CAAC,WAAW,IAAA,eAAQ,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACnD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;IAEf,MAAM,gBAAgB,GAAmB,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACvG,MAAM,IAAI,GAAG,gBAAgB,KAAK,IAAI,CAAA;IAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,iBAAiB,gBAAgB,wCAAwC;YACvE,qBAAqB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACzE,QAAQ,gBAAgB,sEAAsE,CACjG,CAAA;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,CAC1B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,iBACtC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,kBAAkB,EAAE,CAAC,QAAQ,EAC7B,QAAQ;QACR,QAAQ,EACR,cAAc,EAAE,gBAAgB,IAC7B,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,MAAM,EAAE;QACZ,CAAC,CAAC;YACE,kBAAkB,EAAE,CAAC,kCAAwB,CAAC,WAAW,EAAE,kCAAwB,CAAC,WAAW,CAAC;YAChG,aAAa,EAAE,MAAM;SACtB,CAAC,EACN,CACH,CAAC,mBAAmB,CAAA;IACrB,OAAO;QACL,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC;YAC7B,MAAM,EAAE,iBAAiB;SAC1B,CAAC;KACH,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,KAAc,EAAE,EAAU;;IAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtD,OAAO,MAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,WAAW,CAAY,mCAAI,EAAE,CAAA;AACtD,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,KAAc;IAC5C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,GAAG,CAAA;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,WAAW,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":";;;AAuBA,4CA0CC;AAED,oDAEC;AAgBD,gDAoCC;AAED,kCAGC;AAUD,oDAeC;AAED,sDAEC;AAED,oDAMC;AAjKD,yCAA+D;AAC/D,+CAM0B;AAC1B,oFAAqE;AAErE,sDAAqD;AAErD,6CAAiE;AAEjE;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CAAC,OAKtC;;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAEjE,MAAM,MAAM,GAAG,MAAA,CAAC,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,8BAAe,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,KAAK,CAAC,GAAG,CAAA;IAEhG,MAAM,gBAAgB,GAAmB,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI,CAAA;IAC/D,MAAM,IAAI,GAAG,gBAAgB,KAAK,IAAI,CAAA;IAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,iBAAiB,gBAAgB,wCAAwC;YACvE,qBAAqB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACzE,QAAQ,gBAAgB,iDAAiD,CAC5E,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAgB,EAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,mBAAmB,GAAG,CAC1B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,iBACtC,KAAK,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EACnB,kBAAkB,EAAE,CAAC,QAAQ,EAC7B,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EACzB,QAAQ,EACR,cAAc,EAAE,gBAAgB,IAC7B,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,MAAM,EAAE;QACZ,CAAC,CAAC;YACE,kBAAkB,EAAE,CAAC,kCAAwB,CAAC,WAAW,CAAC;YAC1D,aAAa,EAAE,MAAM;SACtB,CAAC,EACN,CACH,CAAC,mBAAmB,CAAA;IACrB,OAAO;QACL,UAAU,EAAE,MAAA,MAAA,mBAAmB,CAAC,YAAY,0CAAE,MAAM,EAAE,mCAAI,mBAAmB,CAAC,MAAM,EAAE;QACtF,mBAAmB;QACnB,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;KACnE,CAAA;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAAmC,EAAE,aAAqB;IAC7F,OAAO,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAA,wCAAa,EAAC,UAAU,CAAC,KAAK,aAAa,CAAA;AACnG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,kBAAkB,CAAC,KAAc,EAAE,aAAqB;IAC5E,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAE1D,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;QAChE,SAAS,EAAE,aAAa;KACzB,CAAC,CAAA;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC;YAAE,OAAO,QAAQ,CAAC,EAAE,CAAA;QACrE,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QAC7E,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE,KAAK,CAAC,GAAG;QACjB,KAAK,EAAE,MAAM,IAAA,6BAAgB,EAAC,KAAK,CAAC;QACpC,cAAc,EAAE,IAAI;KACrB,CAAC,CAAA;IACF,IAAI,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,aAAa,EAAE,CAAC,CAAA;IAEtG,IAAI,CAAC;QACH,+EAA+E;QAC/E,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QACnD,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qCAA2B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAEhG,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACxF,OAAO,KAAK,CAAC,EAAE,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wFAAwF;QACxF,4FAA4F;QAC5F,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAClF,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,gBAAgB,CAAC,EAAE,EAAE,EAAE;gBAC5F,KAAK,EAAE,WAAW;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,KAAc,EAAE,EAAU;;IAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtD,OAAO,MAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,WAAW,CAAY,mCAAI,EAAE,CAAA;AACtD,CAAC;AAED,8FAA8F;AACjF,QAAA,sBAAsB,GAAG,kBAAkB,CAAA;AAOjD,KAAK,UAAU,oBAAoB,CACxC,KAAc,EACd,QAAiC,EACjC,IAA2B;IAE3B,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/B,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;QACrC,EAAE,EAAE,YAAK,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,QAAQ;QACjB,IAAI,kBACF,kBAAkB,EAAE,QAAQ,CAAC,EAAY,EACzC,IAAI,EAAE,8BAAsB,IACzB,IAAI,CACR;KACF,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,KAAc,EAAE,KAAe;IACzE,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,cAAc,iCAAM,KAAK,KAAE,IAAI,EAAE,8BAAsB,IAAG,CAAA;AAC9F,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,KAAc,EACd,KAAe;IAEf,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAA;AACf,CAAC"}