@credo-ts/didcomm 0.6.0-pr-2195-20250322195244 → 0.6.0-pr-2324-20250625125237

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 (171) hide show
  1. package/build/DidCommModule.js +0 -1
  2. package/build/DidCommModule.js.map +1 -1
  3. package/build/DidCommModuleConfig.d.ts +8 -0
  4. package/build/DidCommModuleConfig.js +9 -0
  5. package/build/DidCommModuleConfig.js.map +1 -1
  6. package/build/EnvelopeService.d.ts +13 -8
  7. package/build/EnvelopeService.js +281 -21
  8. package/build/EnvelopeService.js.map +1 -1
  9. package/build/MessageSender.d.ts +4 -6
  10. package/build/MessageSender.js +60 -70
  11. package/build/MessageSender.js.map +1 -1
  12. package/build/decorators/service/ServiceDecorator.js +4 -4
  13. package/build/decorators/service/ServiceDecorator.js.map +1 -1
  14. package/build/decorators/signature/SignatureDecoratorUtils.d.ts +5 -4
  15. package/build/decorators/signature/SignatureDecoratorUtils.js +22 -12
  16. package/build/decorators/signature/SignatureDecoratorUtils.js.map +1 -1
  17. package/build/getOutboundMessageContext.js +30 -5
  18. package/build/getOutboundMessageContext.js.map +1 -1
  19. package/build/models/InboundMessageContext.d.ts +5 -5
  20. package/build/models/OutboundMessageContext.d.ts +2 -2
  21. package/build/models/Routing.d.ts +3 -3
  22. package/build/modules/connections/ConnectionsApi.js +6 -5
  23. package/build/modules/connections/ConnectionsApi.js.map +1 -1
  24. package/build/modules/connections/DidExchangeProtocol.d.ts +3 -1
  25. package/build/modules/connections/DidExchangeProtocol.js +95 -57
  26. package/build/modules/connections/DidExchangeProtocol.js.map +1 -1
  27. package/build/modules/connections/handlers/ConnectionRequestHandler.js +7 -0
  28. package/build/modules/connections/handlers/ConnectionRequestHandler.js.map +1 -1
  29. package/build/modules/connections/handlers/ConnectionResponseHandler.js +4 -0
  30. package/build/modules/connections/handlers/ConnectionResponseHandler.js.map +1 -1
  31. package/build/modules/connections/handlers/DidExchangeCompleteHandler.js +0 -4
  32. package/build/modules/connections/handlers/DidExchangeCompleteHandler.js.map +1 -1
  33. package/build/modules/connections/handlers/DidExchangeRequestHandler.js +3 -0
  34. package/build/modules/connections/handlers/DidExchangeRequestHandler.js.map +1 -1
  35. package/build/modules/connections/handlers/DidExchangeResponseHandler.js +3 -3
  36. package/build/modules/connections/handlers/DidExchangeResponseHandler.js.map +1 -1
  37. package/build/modules/connections/messages/ConnectionInvitationMessage.d.ts +2 -1
  38. package/build/modules/connections/messages/ConnectionInvitationMessage.js.map +1 -1
  39. package/build/modules/connections/models/did/DidDoc.js +2 -2
  40. package/build/modules/connections/models/did/DidDoc.js.map +1 -1
  41. package/build/modules/connections/repository/ConnectionRecord.d.ts +2 -0
  42. package/build/modules/connections/repository/ConnectionRecord.js +2 -0
  43. package/build/modules/connections/repository/ConnectionRecord.js.map +1 -1
  44. package/build/modules/connections/repository/ConnectionRepository.d.ts +1 -1
  45. package/build/modules/connections/repository/ConnectionRepository.js +2 -0
  46. package/build/modules/connections/repository/ConnectionRepository.js.map +1 -1
  47. package/build/modules/connections/services/ConnectionService.d.ts +4 -4
  48. package/build/modules/connections/services/ConnectionService.js +92 -41
  49. package/build/modules/connections/services/ConnectionService.js.map +1 -1
  50. package/build/modules/connections/services/DidRotateService.js +9 -10
  51. package/build/modules/connections/services/DidRotateService.js.map +1 -1
  52. package/build/modules/connections/services/helpers.d.ts +20 -6
  53. package/build/modules/connections/services/helpers.js +46 -29
  54. package/build/modules/connections/services/helpers.js.map +1 -1
  55. package/build/modules/credentials/models/RevocationNotification.js +14 -0
  56. package/build/modules/credentials/models/RevocationNotification.js.map +1 -1
  57. package/build/modules/credentials/protocol/index.js +17 -7
  58. package/build/modules/credentials/protocol/index.js.map +1 -1
  59. package/build/modules/credentials/repository/CredentialExchangeRecord.d.ts +1 -1
  60. package/build/modules/credentials/repository/CredentialExchangeRecord.js +5 -0
  61. package/build/modules/credentials/repository/CredentialExchangeRecord.js.map +1 -1
  62. package/build/modules/message-pickup/MessagePickupApi.js +7 -2
  63. package/build/modules/message-pickup/MessagePickupApi.js.map +1 -1
  64. package/build/modules/message-pickup/MessagePickupApiOptions.d.ts +1 -1
  65. package/build/modules/message-pickup/MessagePickupModule.d.ts +1 -0
  66. package/build/modules/message-pickup/MessagePickupModule.js +6 -11
  67. package/build/modules/message-pickup/MessagePickupModule.js.map +1 -1
  68. package/build/modules/message-pickup/MessagePickupModuleConfig.d.ts +0 -8
  69. package/build/modules/message-pickup/MessagePickupModuleConfig.js +0 -4
  70. package/build/modules/message-pickup/MessagePickupModuleConfig.js.map +1 -1
  71. package/build/modules/message-pickup/index.d.ts +0 -1
  72. package/build/modules/message-pickup/index.js +0 -1
  73. package/build/modules/message-pickup/index.js.map +1 -1
  74. package/build/modules/message-pickup/protocol/MessagePickupProtocolOptions.d.ts +1 -1
  75. package/build/modules/message-pickup/protocol/v1/V1MessagePickupProtocol.js +6 -5
  76. package/build/modules/message-pickup/protocol/v1/V1MessagePickupProtocol.js.map +1 -1
  77. package/build/modules/message-pickup/protocol/v2/V2MessagePickupProtocol.js +22 -13
  78. package/build/modules/message-pickup/protocol/v2/V2MessagePickupProtocol.js.map +1 -1
  79. package/build/modules/oob/OutOfBandApi.js +21 -8
  80. package/build/modules/oob/OutOfBandApi.js.map +1 -1
  81. package/build/modules/oob/OutOfBandService.d.ts +9 -5
  82. package/build/modules/oob/OutOfBandService.js +7 -2
  83. package/build/modules/oob/OutOfBandService.js.map +1 -1
  84. package/build/modules/oob/converters.js +2 -4
  85. package/build/modules/oob/converters.js.map +1 -1
  86. package/build/modules/oob/domain/OutOfBandDidCommService.js +14 -2
  87. package/build/modules/oob/domain/OutOfBandDidCommService.js.map +1 -1
  88. package/build/modules/oob/helpers.js +6 -6
  89. package/build/modules/oob/helpers.js.map +1 -1
  90. package/build/modules/oob/messages/OutOfBandInvitation.js.map +1 -1
  91. package/build/modules/oob/repository/OutOfBandRecord.d.ts +34 -0
  92. package/build/modules/oob/repository/OutOfBandRecord.js +1 -0
  93. package/build/modules/oob/repository/OutOfBandRecord.js.map +1 -1
  94. package/build/modules/oob/repository/outOfBandRecordMetadataTypes.d.ts +4 -0
  95. package/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js +7 -4
  96. package/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js.map +1 -1
  97. package/build/modules/proofs/formats/index.js +17 -7
  98. package/build/modules/proofs/formats/index.js.map +1 -1
  99. package/build/modules/proofs/protocol/index.js +17 -7
  100. package/build/modules/proofs/protocol/index.js.map +1 -1
  101. package/build/modules/routing/MediationRecipientApi.d.ts +0 -2
  102. package/build/modules/routing/MediationRecipientApi.js +1 -46
  103. package/build/modules/routing/MediationRecipientApi.js.map +1 -1
  104. package/build/modules/routing/MediationRecipientModule.d.ts +3 -0
  105. package/build/modules/routing/MediationRecipientModule.js +60 -0
  106. package/build/modules/routing/MediationRecipientModule.js.map +1 -1
  107. package/build/modules/routing/MediatorModule.d.ts +1 -0
  108. package/build/modules/routing/MediatorModule.js +5 -0
  109. package/build/modules/routing/MediatorModule.js.map +1 -1
  110. package/build/modules/routing/MediatorModuleConfig.d.ts +2 -2
  111. package/build/modules/routing/MessageForwardingStrategy.js +2 -2
  112. package/build/modules/routing/MessageForwardingStrategy.js.map +1 -1
  113. package/build/modules/routing/repository/MediationRecord.d.ts +8 -0
  114. package/build/modules/routing/repository/MediationRecord.js +2 -0
  115. package/build/modules/routing/repository/MediationRecord.js.map +1 -1
  116. package/build/modules/routing/repository/MediatorRoutingRecord.d.ts +23 -5
  117. package/build/modules/routing/repository/MediatorRoutingRecord.js +33 -1
  118. package/build/modules/routing/repository/MediatorRoutingRecord.js.map +1 -1
  119. package/build/modules/routing/services/MediationRecipientService.d.ts +3 -3
  120. package/build/modules/routing/services/MediationRecipientService.js +15 -12
  121. package/build/modules/routing/services/MediationRecipientService.js.map +1 -1
  122. package/build/modules/routing/services/MediatorService.js +17 -9
  123. package/build/modules/routing/services/MediatorService.js.map +1 -1
  124. package/build/modules/routing/services/RoutingService.d.ts +3 -3
  125. package/build/modules/routing/services/RoutingService.js +4 -3
  126. package/build/modules/routing/services/RoutingService.js.map +1 -1
  127. package/build/modules/routing/services/helpers.d.ts +1 -1
  128. package/build/modules/routing/services/helpers.js +3 -4
  129. package/build/modules/routing/services/helpers.js.map +1 -1
  130. package/build/services/DidCommDocumentService.d.ts +8 -3
  131. package/build/services/DidCommDocumentService.js +46 -15
  132. package/build/services/DidCommDocumentService.js.map +1 -1
  133. package/build/transport/HttpOutboundTransport.js +2 -4
  134. package/build/transport/HttpOutboundTransport.js.map +1 -1
  135. package/build/transport/index.d.ts +1 -0
  136. package/build/transport/index.js +1 -0
  137. package/build/transport/index.js.map +1 -1
  138. package/build/transport/queue/InMemoryQueueTransportRepository.d.ts +12 -0
  139. package/build/{modules/message-pickup/storage/InMemoryMessagePickupRepository.js → transport/queue/InMemoryQueueTransportRepository.js} +15 -19
  140. package/build/transport/queue/InMemoryQueueTransportRepository.js.map +1 -0
  141. package/build/transport/queue/QueueTransportRepository.d.ts +9 -0
  142. package/build/{modules/message-pickup/storage/MessagePickupRepository.js → transport/queue/QueueTransportRepository.js} +1 -1
  143. package/build/transport/queue/QueueTransportRepository.js.map +1 -0
  144. package/build/{modules/message-pickup/storage/MessagePickupRepositoryOptions.d.ts → transport/queue/QueueTransportRepositoryOptions.d.ts} +2 -1
  145. package/build/{modules/message-pickup/storage/MessagePickupRepositoryOptions.js → transport/queue/QueueTransportRepositoryOptions.js} +1 -1
  146. package/build/transport/queue/QueueTransportRepositoryOptions.js.map +1 -0
  147. package/build/{modules/message-pickup/storage → transport/queue}/QueuedMessage.d.ts +2 -2
  148. package/build/transport/queue/QueuedMessage.js.map +1 -0
  149. package/build/transport/queue/index.d.ts +4 -0
  150. package/build/{modules/message-pickup/storage → transport/queue}/index.js +3 -3
  151. package/build/transport/queue/index.js.map +1 -0
  152. package/build/updates/0.1-0.2/connection.js +3 -3
  153. package/build/updates/0.1-0.2/connection.js.map +1 -1
  154. package/build/util/modules.d.ts +1 -1
  155. package/build/util/modules.js +3 -1
  156. package/build/util/modules.js.map +1 -1
  157. package/build/util/parseInvitation.js +0 -2
  158. package/build/util/parseInvitation.js.map +1 -1
  159. package/package.json +7 -7
  160. package/build/modules/message-pickup/storage/InMemoryMessagePickupRepository.d.ts +0 -13
  161. package/build/modules/message-pickup/storage/InMemoryMessagePickupRepository.js.map +0 -1
  162. package/build/modules/message-pickup/storage/MessagePickupRepository.d.ts +0 -8
  163. package/build/modules/message-pickup/storage/MessagePickupRepository.js.map +0 -1
  164. package/build/modules/message-pickup/storage/MessagePickupRepositoryOptions.js.map +0 -1
  165. package/build/modules/message-pickup/storage/QueuedMessage.js.map +0 -1
  166. package/build/modules/message-pickup/storage/index.d.ts +0 -4
  167. package/build/modules/message-pickup/storage/index.js.map +0 -1
  168. package/build/util/matchingEd25519Key.d.ts +0 -9
  169. package/build/util/matchingEd25519Key.js +0 -30
  170. package/build/util/matchingEd25519Key.js.map +0 -1
  171. /package/build/{modules/message-pickup/storage → transport/queue}/QueuedMessage.js +0 -0
@@ -85,7 +85,6 @@ class DidCommModule {
85
85
  await transport.start(agentContext);
86
86
  }
87
87
  }
88
- // TODO: Shall shutdown and initialize be part of API (so Agent can be stopped/restarted without creating a new instance)?
89
88
  async shutdown(agentContext) {
90
89
  const messageReceiver = agentContext.dependencyManager.resolve(MessageReceiver_1.MessageReceiver);
91
90
  const messageSender = agentContext.dependencyManager.resolve(MessageSender_1.MessageSender);
@@ -1 +1 @@
1
- {"version":3,"file":"DidCommModule.js","sourceRoot":"","sources":["../src/DidCommModule.ts"],"names":[],"mappings":";;;AAKA,yCAA+D;AAC/D,+BAA0C;AAE1C,6CAAyC;AACzC,+DAA2D;AAC3D,6CAAyC;AACzC,uDAAmD;AACnD,qCAA0C;AAC1C,uDAAmD;AACnD,qEAAiE;AACjE,uDAAmD;AACnD,mDAA+C;AAC/C,yDAAqD;AACrD,6CAAuD;AACvD,gDAAoD;AACpD,gDAAoD;AACpD,gDAAoD;AAEpD,MAAa,aAAa;IAIxB,YAAmB,MAAmC;QAFtC,QAAG,GAAG,uBAAU,CAAA;QA+EzB,YAAO,GAAG;YACf;gBACE,WAAW,EAAE,KAAK;gBAClB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,2BAAgB;aAC3B;YACD;gBACE,WAAW,EAAE,KAAK;gBAClB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,2BAAgB;aAC3B;YACD;gBACE,WAAW,EAAE,KAAK;gBAClB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,2BAAgB;aAC3B;SACiB,CAAA;QA5FlB,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAmB,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,iBAAoC;QAClD,SAAS;QACT,iBAAiB,CAAC,gBAAgB,CAAC,yCAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpE,aAAa;QACb,iBAAiB,CAAC,iBAAiB,CAAC,+CAAsB,CAAC,CAAA;QAC3D,iBAAiB,CAAC,iBAAiB,CAAC,iCAAe,CAAC,CAAA;QAEpD,WAAW;QACX,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,CAAA;QAClD,iBAAiB,CAAC,iBAAiB,CAAC,iCAAe,CAAC,CAAA;QACpD,iBAAiB,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,CAAA;QACrD,iBAAiB,CAAC,iBAAiB,CAAC,uBAAU,CAAC,CAAA;QAC/C,iBAAiB,CAAC,iBAAiB,CAAC,iCAAe,CAAC,CAAA;QAEpD,eAAe;QACf,iBAAiB,CAAC,iBAAiB,CAAC,qCAAwB,CAAC,CAAA;QAE7D,WAAW;QACX,qBAAqB;IACvB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,YAA0B;QAChD,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAmB,uBAAgB,CAAC,KAAK,CAAC,CAAA;QAC9F,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,mBAAY,CAAC,CAAA;QACzE,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,iCAAe,CAAC,CAAA;QAC/E,MAAM,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,6BAAa,CAAC,CAAA;QAE3E,mGAAmG;QACnG,6GAA6G;QAC7G,YAAY;aACT,UAAU,CAA4B,wBAAe,CAAC,oBAAoB,CAAC;aAC3E,IAAI,CACH,IAAA,gBAAS,EAAC,KAAK,CAAC,EAChB,IAAA,eAAQ,EACN,CAAC,CAAC,EAAE,EAAE,CACJ,eAAe;aACZ,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACjC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;YAChC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB;YACpD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;SAC3B,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1E,CAAC,CAAC,EACN,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC/D,CACF;aACA,SAAS,EAAE,CAAA;QAEd,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC1D,MAAM,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACrC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACzD,MAAM,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,0HAA0H;IACnH,KAAK,CAAC,QAAQ,CAAC,YAA0B;QAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,iCAAe,CAAC,CAAA;QAC/E,MAAM,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,6BAAa,CAAC,CAAA;QAE3E,kBAAkB;QAClB,MAAM,aAAa,GAAG,CAAC,GAAG,eAAe,CAAC,iBAAiB,EAAE,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;QACjG,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5E,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACtC,CAAC;CAmBF;AAlGD,sCAkGC"}
1
+ {"version":3,"file":"DidCommModule.js","sourceRoot":"","sources":["../src/DidCommModule.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { QueueTransportRepository } from './transport';
1
2
  /**
2
3
  * MediatorModuleConfigOptions defines the interface for the options of the MediatorModuleConfig class.
3
4
  * This can contain optional parameters that have default values in the config class itself.
@@ -9,10 +10,12 @@ export interface DidCommModuleConfigOptions {
9
10
  processDidCommMessagesConcurrently?: boolean;
10
11
  didCommMimeType?: string;
11
12
  useDidKeyInProtocols?: boolean;
13
+ queueTransportRepository?: QueueTransportRepository;
12
14
  }
13
15
  export declare class DidCommModuleConfig {
14
16
  private options;
15
17
  private _endpoints?;
18
+ private _queueTransportRepository;
16
19
  constructor(options?: DidCommModuleConfigOptions);
17
20
  get endpoints(): [string, ...string[]];
18
21
  set endpoints(endpoints: string[]);
@@ -30,4 +33,9 @@ export declare class DidCommModuleConfig {
30
33
  * in a given protocol (i.e. it does not support Aries RFC 0360).
31
34
  */
32
35
  get useDidKeyInProtocols(): boolean;
36
+ /**
37
+ * Allows to specify a custom queue transport queue. It defaults to an in-memory queue
38
+ *
39
+ */
40
+ get queueTransportRepository(): QueueTransportRepository;
33
41
  }
@@ -2,11 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DidCommModuleConfig = void 0;
4
4
  const constants_1 = require("./constants");
5
+ const transport_1 = require("./transport");
5
6
  const types_1 = require("./types");
6
7
  class DidCommModuleConfig {
7
8
  constructor(options) {
8
9
  this.options = options ?? {};
9
10
  this._endpoints = options?.endpoints;
11
+ this._queueTransportRepository = options?.queueTransportRepository ?? new transport_1.InMemoryQueueTransportRepository();
10
12
  }
11
13
  get endpoints() {
12
14
  // if endpoints is not set, return queue endpoint
@@ -43,6 +45,13 @@ class DidCommModuleConfig {
43
45
  get useDidKeyInProtocols() {
44
46
  return this.options.useDidKeyInProtocols ?? true;
45
47
  }
48
+ /**
49
+ * Allows to specify a custom queue transport queue. It defaults to an in-memory queue
50
+ *
51
+ */
52
+ get queueTransportRepository() {
53
+ return this._queueTransportRepository;
54
+ }
46
55
  }
47
56
  exports.DidCommModuleConfig = DidCommModuleConfig;
48
57
  //# sourceMappingURL=DidCommModuleConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DidCommModuleConfig.js","sourceRoot":"","sources":["../src/DidCommModuleConfig.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,mCAAyC;AAezC,MAAa,mBAAmB;IAI9B,YAAmB,OAAoC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,SAAS,CAAA;IACtC,CAAC;IAED,IAAW,SAAS;QAClB,iDAAiD;QACjD,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,oCAAwB,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,UAAmC,CAAA;IACjD,CAAC;IAED,IAAW,SAAS,CAAC,SAAmB;QACtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,IAAI,KAAK,CAAA;IAC1D,CAAC;IAED;;OAEG;IACH,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAA;IACxC,CAAC;IAED,IAAW,kCAAkC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,kCAAkC,IAAI,KAAK,CAAA;IACjE,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,uBAAe,CAAC,EAAE,CAAA;IAC3D,CAAC;IAED;;;;;OAKG;IACH,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAA;IAClD,CAAC;CACF;AAnDD,kDAmDC"}
1
+ {"version":3,"file":"DidCommModuleConfig.js","sourceRoot":"","sources":["../src/DidCommModuleConfig.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,2CAAwF;AACxF,mCAAyC;AAgBzC,MAAa,mBAAmB;IAK9B,YAAmB,OAAoC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,SAAS,CAAA;QACpC,IAAI,CAAC,yBAAyB,GAAG,OAAO,EAAE,wBAAwB,IAAI,IAAI,4CAAgC,EAAE,CAAA;IAC9G,CAAC;IAED,IAAW,SAAS;QAClB,iDAAiD;QACjD,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,oCAAwB,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,UAAmC,CAAA;IACjD,CAAC;IAED,IAAW,SAAS,CAAC,SAAmB;QACtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,IAAI,KAAK,CAAA;IAC1D,CAAC;IAED;;OAEG;IACH,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAA;IACxC,CAAC;IAED,IAAW,kCAAkC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,kCAAkC,IAAI,KAAK,CAAA;IACjE,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,uBAAe,CAAC,EAAE,CAAA;IAC3D,CAAC;IAED;;;;;OAKG;IACH,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAA;IAClD,CAAC;IAED;;;OAGG;IACH,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,yBAAyB,CAAA;IACvC,CAAC;CACF;AA7DD,kDA6DC"}
@@ -1,20 +1,25 @@
1
- import type { AgentContext } from '@credo-ts/core';
1
+ import { AgentContext, Kms } from '@credo-ts/core';
2
2
  import type { AgentMessage } from './AgentMessage';
3
3
  import type { EncryptedMessage, PlaintextMessage } from './types';
4
- import { Key, Logger } from '@credo-ts/core';
4
+ import { Logger } from '@credo-ts/core';
5
+ import { DidCommDocumentService } from './services/DidCommDocumentService';
5
6
  export interface EnvelopeKeys {
6
- recipientKeys: Key[];
7
- routingKeys: Key[];
8
- senderKey: Key | null;
7
+ recipientKeys: Kms.PublicJwk<Kms.Ed25519PublicJwk>[];
8
+ routingKeys: Kms.PublicJwk<Kms.Ed25519PublicJwk>[];
9
+ senderKey: Kms.PublicJwk<Kms.Ed25519PublicJwk> | null;
9
10
  }
10
11
  export declare class EnvelopeService {
11
12
  private logger;
12
- constructor(logger: Logger);
13
+ private didcommDocumentService;
14
+ constructor(logger: Logger, didcommDocumentService: DidCommDocumentService);
15
+ private encryptDidcommV1Message;
16
+ private decryptDidcommV1Message;
13
17
  packMessage(agentContext: AgentContext, payload: AgentMessage, keys: EnvelopeKeys): Promise<EncryptedMessage>;
14
18
  unpackMessage(agentContext: AgentContext, encryptedMessage: EncryptedMessage): Promise<DecryptedMessageContext>;
19
+ private extractOurRecipientKeyWithKeyId;
15
20
  }
16
21
  export interface DecryptedMessageContext {
17
22
  plaintextMessage: PlaintextMessage;
18
- senderKey?: Key;
19
- recipientKey?: Key;
23
+ senderKey?: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
24
+ recipientKey: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
20
25
  }
@@ -14,53 +14,313 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.EnvelopeService = void 0;
16
16
  const core_1 = require("@credo-ts/core");
17
+ const core_2 = require("@credo-ts/core");
17
18
  const DidCommModuleConfig_1 = require("./DidCommModuleConfig");
18
- const messages_1 = require("./modules/routing/messages");
19
+ const helpers_1 = require("./modules/connections/services/helpers");
20
+ const OutOfBandRole_1 = require("./modules/oob/domain/OutOfBandRole");
21
+ const OutOfBandRepository_1 = require("./modules/oob/repository/OutOfBandRepository");
22
+ const outOfBandRecordMetadataTypes_1 = require("./modules/oob/repository/outOfBandRecordMetadataTypes");
23
+ const ForwardMessage_1 = require("./modules/routing/messages/ForwardMessage");
24
+ const MediatorRoutingRepository_1 = require("./modules/routing/repository/MediatorRoutingRepository");
25
+ const DidCommDocumentService_1 = require("./services/DidCommDocumentService");
19
26
  let EnvelopeService = class EnvelopeService {
20
- constructor(logger) {
27
+ constructor(logger, didcommDocumentService) {
21
28
  this.logger = logger;
29
+ this.didcommDocumentService = didcommDocumentService;
30
+ }
31
+ async encryptDidcommV1Message(agentContext, message, recipientKeys, senderKey) {
32
+ const kms = agentContext.dependencyManager.resolve(core_1.Kms.KeyManagementApi);
33
+ // Generally we would never generate the content encryption key outside of the KMS
34
+ // However how DIDcommV1 is specified to calcualte the aad we need the encrypted content
35
+ // encryption key, and thus we can't use the normal combined key agrement + encryption flow
36
+ const contentEncryptionKey = kms.randomBytes({ length: 32 });
37
+ const recipients = [];
38
+ for (const recipientKey of recipientKeys) {
39
+ let encryptedSender = undefined;
40
+ if (senderKey) {
41
+ // Encrypt the sender
42
+ const { encrypted } = await kms.encrypt({
43
+ key: {
44
+ keyAgreement: {
45
+ algorithm: 'ECDH-HSALSA20',
46
+ // DIDComm v1 uses Ed25519 keys but encryption happens with X25519 keys
47
+ externalPublicJwk: recipientKey.convertTo(core_1.Kms.X25519PublicJwk).toJson(),
48
+ },
49
+ },
50
+ encryption: {
51
+ algorithm: 'XSALSA20-POLY1305',
52
+ },
53
+ data: core_1.TypedArrayEncoder.fromString(core_1.TypedArrayEncoder.toBase58(senderKey.publicKey.publicKey)),
54
+ });
55
+ encryptedSender = core_1.TypedArrayEncoder.toBase64URL(encrypted);
56
+ }
57
+ // Encrypt the key
58
+ const { encrypted, iv } = await kms.encrypt({
59
+ key: {
60
+ keyAgreement: {
61
+ algorithm: 'ECDH-HSALSA20',
62
+ externalPublicJwk: recipientKey.convertTo(core_1.Kms.X25519PublicJwk).toJson(),
63
+ // Sender key only needed for Authcrypt
64
+ keyId: senderKey?.keyId,
65
+ },
66
+ },
67
+ data: contentEncryptionKey,
68
+ encryption: {
69
+ algorithm: 'XSALSA20-POLY1305',
70
+ },
71
+ });
72
+ recipients.push({
73
+ encrypted_key: core_1.TypedArrayEncoder.toBase64URL(encrypted),
74
+ header: {
75
+ kid: core_1.TypedArrayEncoder.toBase58(recipientKey.publicKey.publicKey),
76
+ iv: iv ? core_1.TypedArrayEncoder.toBase64URL(iv) : undefined,
77
+ sender: encryptedSender,
78
+ },
79
+ });
80
+ }
81
+ const protectedString = core_1.JsonEncoder.toBase64URL({
82
+ enc: 'xchacha20poly1305_ietf',
83
+ typ: 'JWM/1.0',
84
+ alg: senderKey ? 'Authcrypt' : 'Anoncrypt',
85
+ recipients,
86
+ });
87
+ // Perofrm the actual encryption
88
+ const { encrypted, iv, tag } = await kms.encrypt({
89
+ encryption: {
90
+ algorithm: 'C20P',
91
+ aad: core_1.TypedArrayEncoder.fromString(protectedString),
92
+ },
93
+ data: core_1.JsonEncoder.toBuffer(message),
94
+ key: {
95
+ privateJwk: {
96
+ kty: 'oct',
97
+ k: core_1.TypedArrayEncoder.toBase64URL(contentEncryptionKey),
98
+ },
99
+ },
100
+ });
101
+ if (!iv || !tag) {
102
+ throw new core_1.CredoError("Expected 'iv' and 'tag' to be defined");
103
+ }
104
+ return {
105
+ ciphertext: core_1.TypedArrayEncoder.toBase64URL(encrypted),
106
+ iv: core_1.TypedArrayEncoder.toBase64URL(iv),
107
+ tag: core_1.TypedArrayEncoder.toBase64URL(tag),
108
+ protected: protectedString,
109
+ };
110
+ }
111
+ async decryptDidcommV1Message(agentContext, encryptedMessage) {
112
+ const kms = agentContext.dependencyManager.resolve(core_1.Kms.KeyManagementApi);
113
+ const protectedJson = core_1.JsonEncoder.fromBase64(encryptedMessage.protected);
114
+ const alg = protectedJson.alg;
115
+ if (alg !== 'Anoncrypt' && alg !== 'Authcrypt') {
116
+ throw new core_1.CredoError(`Unsupported pack algorithm: ${alg}`);
117
+ }
118
+ if (protectedJson.enc !== 'xchacha20poly1305_ietf') {
119
+ throw new core_1.CredoError(`Unsupported enc algorithm: ${protectedJson.enc}`);
120
+ }
121
+ let recipientKey = null;
122
+ let recipient = null;
123
+ for (const _recipient of protectedJson.recipients) {
124
+ recipientKey = await this.extractOurRecipientKeyWithKeyId(agentContext, _recipient);
125
+ if (recipientKey) {
126
+ recipient = _recipient;
127
+ }
128
+ }
129
+ if (!recipientKey || !recipient) {
130
+ throw new core_1.CredoError('No corresponding recipient key found');
131
+ }
132
+ if (alg === 'Authcrypt' && (!recipient.header.sender || !recipient.header.iv)) {
133
+ throw new core_1.CredoError('Sender and iv header values are required for Authcrypt');
134
+ }
135
+ let senderPublicJwk = undefined;
136
+ if (recipient.header.sender) {
137
+ const { data } = await kms.decrypt({
138
+ key: {
139
+ keyAgreement: {
140
+ algorithm: 'ECDH-HSALSA20',
141
+ keyId: recipientKey.keyId,
142
+ },
143
+ },
144
+ decryption: {
145
+ algorithm: 'XSALSA20-POLY1305',
146
+ },
147
+ encrypted: core_1.TypedArrayEncoder.fromBase64(recipient.header.sender),
148
+ });
149
+ senderPublicJwk = core_1.Kms.PublicJwk.fromPublicKey({
150
+ crv: 'Ed25519',
151
+ kty: 'OKP',
152
+ publicKey: core_1.TypedArrayEncoder.fromBase58(core_1.TypedArrayEncoder.toUtf8String(data)),
153
+ });
154
+ }
155
+ // Perofrm the actual decryption
156
+ const { data: contentEncryptionKey } = await kms.decrypt({
157
+ decryption: {
158
+ algorithm: 'XSALSA20-POLY1305',
159
+ iv: recipient.header.iv ? core_1.TypedArrayEncoder.fromBase64(recipient.header.iv) : undefined,
160
+ },
161
+ encrypted: core_1.TypedArrayEncoder.fromBase64(recipient.encrypted_key),
162
+ key: {
163
+ keyAgreement: {
164
+ algorithm: 'ECDH-HSALSA20',
165
+ keyId: recipientKey.keyId,
166
+ // Optionally we have a sender
167
+ externalPublicJwk: senderPublicJwk?.convertTo(core_1.Kms.X25519PublicJwk).toJson(),
168
+ },
169
+ },
170
+ });
171
+ const { data: message } = await kms.decrypt({
172
+ decryption: {
173
+ algorithm: 'C20P',
174
+ iv: core_1.TypedArrayEncoder.fromBase64(encryptedMessage.iv),
175
+ tag: core_1.TypedArrayEncoder.fromBase64(encryptedMessage.tag),
176
+ aad: core_1.TypedArrayEncoder.fromString(encryptedMessage.protected),
177
+ },
178
+ key: {
179
+ privateJwk: {
180
+ kty: 'oct',
181
+ k: core_1.TypedArrayEncoder.toBase64URL(contentEncryptionKey),
182
+ },
183
+ },
184
+ encrypted: core_1.TypedArrayEncoder.fromBase64(encryptedMessage.ciphertext),
185
+ });
186
+ return {
187
+ plaintextMessage: core_1.JsonEncoder.fromBuffer(message),
188
+ senderKey: senderPublicJwk,
189
+ recipientKey,
190
+ };
22
191
  }
23
192
  async packMessage(agentContext, payload, keys) {
24
193
  const didcommConfig = agentContext.dependencyManager.resolve(DidCommModuleConfig_1.DidCommModuleConfig);
25
- const { recipientKeys, routingKeys, senderKey } = keys;
26
- let recipientKeysBase58 = recipientKeys.map((key) => key.publicKeyBase58);
27
- const routingKeysBase58 = routingKeys.map((key) => key.publicKeyBase58);
28
- const senderKeyBase58 = senderKey?.publicKeyBase58;
194
+ const { routingKeys, senderKey } = keys;
195
+ let recipientKeys = keys.recipientKeys;
29
196
  // pass whether we want to use legacy did sov prefix
30
197
  const message = payload.toJSON({ useDidSovPrefixWhereAllowed: didcommConfig.useDidSovPrefixWhereAllowed });
31
198
  this.logger.debug(`Pack outbound message ${message['@type']}`);
32
- let encryptedMessage = await agentContext.wallet.pack(message, recipientKeysBase58, senderKeyBase58 ?? undefined);
199
+ let encryptedMessage = await this.encryptDidcommV1Message(agentContext, message, recipientKeys, senderKey);
33
200
  // If the message has routing keys (mediator) pack for each mediator
34
- for (const routingKeyBase58 of routingKeysBase58) {
35
- const forwardMessage = new messages_1.ForwardMessage({
201
+ for (const routingKey of routingKeys) {
202
+ const forwardMessage = new ForwardMessage_1.ForwardMessage({
36
203
  // Forward to first recipient key
37
- to: recipientKeysBase58[0],
204
+ to: core_1.TypedArrayEncoder.toBase58(recipientKeys[0].publicKey.publicKey),
38
205
  message: encryptedMessage,
39
206
  });
40
- recipientKeysBase58 = [routingKeyBase58];
207
+ recipientKeys = [routingKey];
41
208
  this.logger.debug('Forward message created', forwardMessage);
42
209
  const forwardJson = forwardMessage.toJSON({
43
210
  useDidSovPrefixWhereAllowed: didcommConfig.useDidSovPrefixWhereAllowed,
44
211
  });
45
212
  // Forward messages are anon packed
46
- encryptedMessage = await agentContext.wallet.pack(forwardJson, [routingKeyBase58], undefined);
213
+ encryptedMessage = await this.encryptDidcommV1Message(agentContext, forwardJson, [routingKey]);
47
214
  }
48
215
  return encryptedMessage;
49
216
  }
50
217
  async unpackMessage(agentContext, encryptedMessage) {
51
- const decryptedMessage = await agentContext.wallet.unpack(encryptedMessage);
52
- const { recipientKey, senderKey, plaintextMessage } = decryptedMessage;
53
- return {
54
- recipientKey: recipientKey ? core_1.Key.fromPublicKeyBase58(recipientKey, core_1.KeyType.Ed25519) : undefined,
55
- senderKey: senderKey ? core_1.Key.fromPublicKeyBase58(senderKey, core_1.KeyType.Ed25519) : undefined,
56
- plaintextMessage,
57
- };
218
+ const decryptedMessage = await this.decryptDidcommV1Message(agentContext, encryptedMessage);
219
+ return decryptedMessage;
220
+ }
221
+ async extractOurRecipientKeyWithKeyId(agentContext, recipient) {
222
+ const kms = agentContext.resolve(core_1.Kms.KeyManagementApi);
223
+ const publicKey = core_1.Kms.PublicJwk.fromPublicKey({
224
+ kty: 'OKP',
225
+ crv: 'Ed25519',
226
+ publicKey: core_1.TypedArrayEncoder.fromBase58(recipient.header.kid),
227
+ });
228
+ // We need to find the associated did based on the recipient key
229
+ // so we can extract the kms key id from the did record.
230
+ try {
231
+ const { didDocument, keys } = await this.didcommDocumentService.resolveCreatedDidDocumentWithKeysByRecipientKey(agentContext, publicKey);
232
+ const verificationMethod = didDocument.findVerificationMethodByPublicKey(publicKey);
233
+ const kmsKeyId = keys?.find(({ didDocumentRelativeKeyId }) => verificationMethod.id.endsWith(didDocumentRelativeKeyId))?.kmsKeyId;
234
+ agentContext.config.logger.debug(`Found did '${didDocument.id}' for recipient key '${publicKey.fingerprint}' for incoming didcomm message`);
235
+ publicKey.keyId = kmsKeyId ?? publicKey.legacyKeyId;
236
+ return publicKey;
237
+ }
238
+ catch (error) {
239
+ // If there is no did record yet, we first look at the mediator routing record
240
+ const mediatorRoutingRepository = agentContext.dependencyManager.resolve(MediatorRoutingRepository_1.MediatorRoutingRepository);
241
+ if (error instanceof core_1.RecordNotFoundError) {
242
+ const mediatorRoutingRecord = await mediatorRoutingRepository.findSingleByQuery(agentContext, {
243
+ routingKeyFingerprints: [publicKey.fingerprint],
244
+ });
245
+ if (mediatorRoutingRecord) {
246
+ agentContext.config.logger.debug(`Found mediator routing record with id '${mediatorRoutingRecord.id}' for recipient key '${publicKey.fingerprint}' for incoming didcomm message`);
247
+ const routingKey = mediatorRoutingRecord.routingKeysWithKeyId.find((routingKey) => publicKey.equals(routingKey));
248
+ // This should not happen as we only get here if the tag matches
249
+ if (!routingKey) {
250
+ throw new core_1.CredoError(`Expected to find key with fingerprint '${publicKey.fingerprint}' in routing keys of mediator routing record '${mediatorRoutingRecord.id}'`);
251
+ }
252
+ if (routingKey) {
253
+ return routingKey;
254
+ }
255
+ }
256
+ // If there is no mediator routing record, we look at the out of band record
257
+ const outOfBandRepository = agentContext.dependencyManager.resolve(OutOfBandRepository_1.OutOfBandRepository);
258
+ const outOfBandRecord = await outOfBandRepository.findSingleByQuery(agentContext, {
259
+ $or: [
260
+ // In case we are the creator of the out of band invitation we can query based on
261
+ // out of band invitation recipient key fingerprint
262
+ {
263
+ role: OutOfBandRole_1.OutOfBandRole.Sender,
264
+ recipientKeyFingerprints: [publicKey.fingerprint],
265
+ },
266
+ // In case we are the receiver of the out of band invitation we need to query
267
+ // for the recipient routing fingerprint
268
+ {
269
+ role: OutOfBandRole_1.OutOfBandRole.Receiver,
270
+ recipientRoutingKeyFingerprint: publicKey.fingerprint,
271
+ },
272
+ ],
273
+ });
274
+ if (outOfBandRecord?.role === OutOfBandRole_1.OutOfBandRole.Sender) {
275
+ agentContext.config.logger.debug(`Found out of band record with id '${outOfBandRecord.id}' and role '${outOfBandRecord.role}' for recipient key '${publicKey.fingerprint}' for incoming didcomm message`);
276
+ for (const service of outOfBandRecord.outOfBandInvitation.getInlineServices()) {
277
+ const resolvedService = (0, helpers_1.getResolvedDidcommServiceWithSigningKeyId)(service, outOfBandRecord.invitationInlineServiceKeys);
278
+ const _recipientKey = resolvedService.recipientKeys.find((recipientKey) => recipientKey.equals(publicKey));
279
+ if (_recipientKey) {
280
+ return _recipientKey;
281
+ }
282
+ }
283
+ }
284
+ else if (outOfBandRecord?.role === OutOfBandRole_1.OutOfBandRole.Receiver) {
285
+ agentContext.config.logger.debug(`Found out of band record with id '${outOfBandRecord.id}' and role '${outOfBandRecord.role}' for recipient key '${publicKey.fingerprint}' for incoming didcomm message`);
286
+ // If there is still no key we need to look at the metadata
287
+ const recipieintRouting = outOfBandRecord.metadata.get(outOfBandRecordMetadataTypes_1.OutOfBandRecordMetadataKeys.RecipientRouting);
288
+ if (recipieintRouting?.recipientKeyFingerprint === publicKey.fingerprint) {
289
+ publicKey.keyId = recipieintRouting.recipientKeyId ?? publicKey.legacyKeyId;
290
+ return publicKey;
291
+ }
292
+ }
293
+ // If there is no did found, no out of band record found, and not mediator routing record
294
+ // this is either:
295
+ // - a connectionless oob exchange initiated before we added key ids.
296
+ // - a message for a mediator, where the mediator routing record is created before we added key ids
297
+ //
298
+ // We will check if the public key exists based on the base58 encoded public key. We can remove this flow once we create a migration
299
+ // that optimizes this flow.
300
+ const kmsJwkPublic = await kms
301
+ .getPublicKey({
302
+ keyId: publicKey.legacyKeyId,
303
+ })
304
+ .catch((error) => {
305
+ if (error instanceof core_1.Kms.KeyManagementKeyNotFoundError)
306
+ return null;
307
+ throw error;
308
+ });
309
+ if (kmsJwkPublic) {
310
+ agentContext.config.logger.debug(`Found public key with legacy key id '${publicKey.legacyKeyId}' for recipient key '${publicKey.fingerprint}' for incoming didcomm message`);
311
+ publicKey.keyId = publicKey.legacyKeyId;
312
+ return publicKey;
313
+ }
314
+ }
315
+ }
316
+ // no match found
317
+ return null;
58
318
  }
59
319
  };
60
320
  exports.EnvelopeService = EnvelopeService;
61
321
  exports.EnvelopeService = EnvelopeService = __decorate([
62
- (0, core_1.injectable)(),
322
+ (0, core_2.injectable)(),
63
323
  __param(0, (0, core_1.inject)(core_1.InjectionSymbols.Logger)),
64
- __metadata("design:paramtypes", [Object])
324
+ __metadata("design:paramtypes", [Object, DidCommDocumentService_1.DidCommDocumentService])
65
325
  ], EnvelopeService);
66
326
  //# sourceMappingURL=EnvelopeService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvelopeService.js","sourceRoot":"","sources":["../src/EnvelopeService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,yCAA2F;AAE3F,+DAA2D;AAC3D,yDAA2D;AASpD,IAAM,eAAe,GAArB,MAAM,eAAe;IAG1B,YAAoD,MAAc;QAChE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,YAA0B,EAC1B,OAAqB,EACrB,IAAkB;QAElB,MAAM,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,yCAAmB,CAAC,CAAA;QAEjF,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QACtD,IAAI,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACzE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACvE,MAAM,eAAe,GAAG,SAAS,EAAE,eAAe,CAAA;QAElD,oDAAoD;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,2BAA2B,EAAE,aAAa,CAAC,2BAA2B,EAAE,CAAC,CAAA;QAE1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAE9D,IAAI,gBAAgB,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,eAAe,IAAI,SAAS,CAAC,CAAA;QAEjH,oEAAoE;QACpE,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,MAAM,cAAc,GAAG,IAAI,yBAAc,CAAC;gBACxC,iCAAiC;gBACjC,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;gBAC1B,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAA;YACF,mBAAmB,GAAG,CAAC,gBAAgB,CAAC,CAAA;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAA;YAE5D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC;gBACxC,2BAA2B,EAAE,aAAa,CAAC,2BAA2B;aACvE,CAAC,CAAA;YAEF,mCAAmC;YACnC,gBAAgB,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAA;QAC/F,CAAC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,YAA0B,EAC1B,gBAAkC;QAElC,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC3E,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAA;QACtE,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,UAAG,CAAC,mBAAmB,CAAC,YAAY,EAAE,cAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/F,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,UAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACtF,gBAAgB;SACjB,CAAA;IACH,CAAC;CACF,CAAA;AA3DY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,iBAAU,GAAE;IAIS,WAAA,IAAA,aAAM,EAAC,uBAAgB,CAAC,MAAM,CAAC,CAAA;;GAHxC,eAAe,CA2D3B"}
1
+ {"version":3,"file":"EnvelopeService.js","sourceRoot":"","sources":["../src/EnvelopeService.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,12 @@ import type { EnvelopeKeys } from './EnvelopeService';
3
3
  import type { ConnectionRecord } from './modules/connections/repository';
4
4
  import type { OutboundTransport } from './transport/OutboundTransport';
5
5
  import type { EncryptedMessage, OutboundPackage } from './types';
6
- import { AgentContext, DidResolverService, EventEmitter, Logger } from '@credo-ts/core';
6
+ import { AgentContext, EventEmitter } from '@credo-ts/core';
7
+ import { DidCommModuleConfig } from './DidCommModuleConfig';
7
8
  import { EnvelopeService } from './EnvelopeService';
8
9
  import { TransportService } from './TransportService';
9
10
  import { DID_COMM_TRANSPORT_QUEUE } from './constants';
10
11
  import { OutboundMessageContext } from './models';
11
- import { MessagePickupRepository } from './modules/message-pickup/storage';
12
12
  import { DidCommDocumentService } from './services/DidCommDocumentService';
13
13
  export interface TransportPriorityOptions {
14
14
  schemes: string[];
@@ -17,13 +17,11 @@ export interface TransportPriorityOptions {
17
17
  export declare class MessageSender {
18
18
  private envelopeService;
19
19
  private transportService;
20
- private messagePickupRepository;
21
- private logger;
22
- private didResolverService;
20
+ private queueTransportRepository;
23
21
  private didCommDocumentService;
24
22
  private eventEmitter;
25
23
  private _outboundTransports;
26
- constructor(envelopeService: EnvelopeService, transportService: TransportService, messagePickupRepository: MessagePickupRepository, logger: Logger, didResolverService: DidResolverService, didCommDocumentService: DidCommDocumentService, eventEmitter: EventEmitter);
24
+ constructor(envelopeService: EnvelopeService, transportService: TransportService, didCommModuleConfig: DidCommModuleConfig, didCommDocumentService: DidCommDocumentService, eventEmitter: EventEmitter);
27
25
  get outboundTransports(): OutboundTransport[];
28
26
  registerOutboundTransport(outboundTransport: OutboundTransport): void;
29
27
  unregisterOutboundTransport(outboundTransport: OutboundTransport): Promise<void>;