@credo-ts/anoncreds 0.6.0-pr-2143-20250106173054 → 0.6.0-pr-2195-20250217183709

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/build/AnonCredsApi.js +7 -4
  2. package/build/AnonCredsApi.js.map +1 -1
  3. package/build/AnonCredsModuleConfig.js +2 -4
  4. package/build/AnonCredsModuleConfig.js.map +1 -1
  5. package/build/anoncreds-rs/AnonCredsDataIntegrityService.js +13 -14
  6. package/build/anoncreds-rs/AnonCredsDataIntegrityService.js.map +1 -1
  7. package/build/anoncreds-rs/AnonCredsRsHolderService.js +22 -28
  8. package/build/anoncreds-rs/AnonCredsRsHolderService.js.map +1 -1
  9. package/build/anoncreds-rs/AnonCredsRsIssuerService.js +23 -17
  10. package/build/anoncreds-rs/AnonCredsRsIssuerService.js.map +1 -1
  11. package/build/anoncreds-rs/AnonCredsRsVerifierService.js +6 -7
  12. package/build/anoncreds-rs/AnonCredsRsVerifierService.js.map +1 -1
  13. package/build/anoncreds-rs/utils.js +3 -3
  14. package/build/anoncreds-rs/utils.js.map +1 -1
  15. package/build/formats/AnonCredsCredentialFormat.d.ts +1 -1
  16. package/build/formats/AnonCredsCredentialFormatService.d.ts +3 -2
  17. package/build/formats/AnonCredsCredentialFormatService.js +26 -39
  18. package/build/formats/AnonCredsCredentialFormatService.js.map +1 -1
  19. package/build/formats/AnonCredsProofFormat.d.ts +1 -1
  20. package/build/formats/AnonCredsProofFormatService.d.ts +2 -1
  21. package/build/formats/AnonCredsProofFormatService.js +26 -27
  22. package/build/formats/AnonCredsProofFormatService.js.map +1 -1
  23. package/build/formats/DataIntegrityCredentialFormatService.d.ts +3 -2
  24. package/build/formats/DataIntegrityCredentialFormatService.js +82 -83
  25. package/build/formats/DataIntegrityCredentialFormatService.js.map +1 -1
  26. package/build/formats/LegacyIndyCredentialFormat.d.ts +1 -1
  27. package/build/formats/LegacyIndyCredentialFormatService.d.ts +3 -2
  28. package/build/formats/LegacyIndyCredentialFormatService.js +19 -32
  29. package/build/formats/LegacyIndyCredentialFormatService.js.map +1 -1
  30. package/build/formats/LegacyIndyProofFormat.d.ts +1 -1
  31. package/build/formats/LegacyIndyProofFormatService.d.ts +2 -1
  32. package/build/formats/LegacyIndyProofFormatService.js +28 -30
  33. package/build/formats/LegacyIndyProofFormatService.js.map +1 -1
  34. package/build/models/AnonCredsProofRequest.js +2 -3
  35. package/build/models/AnonCredsProofRequest.js.map +1 -1
  36. package/build/models/AnonCredsRequestedAttribute.js +1 -2
  37. package/build/models/AnonCredsRequestedAttribute.js.map +1 -1
  38. package/build/models/AnonCredsRequestedPredicate.js +1 -2
  39. package/build/models/AnonCredsRequestedPredicate.js.map +1 -1
  40. package/build/models/AnonCredsRestriction.js +2 -3
  41. package/build/models/AnonCredsRestriction.js.map +1 -1
  42. package/build/protocols/credentials/v1/V1CredentialProtocol.d.ts +4 -3
  43. package/build/protocols/credentials/v1/V1CredentialProtocol.js +159 -155
  44. package/build/protocols/credentials/v1/V1CredentialProtocol.js.map +1 -1
  45. package/build/protocols/credentials/v1/errors/V1CredentialProblemReportError.d.ts +2 -2
  46. package/build/protocols/credentials/v1/errors/V1CredentialProblemReportError.js +2 -2
  47. package/build/protocols/credentials/v1/errors/V1CredentialProblemReportError.js.map +1 -1
  48. package/build/protocols/credentials/v1/handlers/V1CredentialAckHandler.d.ts +1 -1
  49. package/build/protocols/credentials/v1/handlers/V1CredentialProblemReportHandler.d.ts +1 -1
  50. package/build/protocols/credentials/v1/handlers/V1IssueCredentialHandler.d.ts +2 -2
  51. package/build/protocols/credentials/v1/handlers/V1IssueCredentialHandler.js +2 -1
  52. package/build/protocols/credentials/v1/handlers/V1IssueCredentialHandler.js.map +1 -1
  53. package/build/protocols/credentials/v1/handlers/V1OfferCredentialHandler.d.ts +2 -2
  54. package/build/protocols/credentials/v1/handlers/V1OfferCredentialHandler.js +2 -2
  55. package/build/protocols/credentials/v1/handlers/V1OfferCredentialHandler.js.map +1 -1
  56. package/build/protocols/credentials/v1/handlers/V1ProposeCredentialHandler.d.ts +2 -2
  57. package/build/protocols/credentials/v1/handlers/V1ProposeCredentialHandler.js +2 -2
  58. package/build/protocols/credentials/v1/handlers/V1ProposeCredentialHandler.js.map +1 -1
  59. package/build/protocols/credentials/v1/handlers/V1RequestCredentialHandler.d.ts +2 -2
  60. package/build/protocols/credentials/v1/handlers/V1RequestCredentialHandler.js +2 -1
  61. package/build/protocols/credentials/v1/handlers/V1RequestCredentialHandler.js.map +1 -1
  62. package/build/protocols/credentials/v1/messages/V1CredentialAckMessage.d.ts +3 -3
  63. package/build/protocols/credentials/v1/messages/V1CredentialAckMessage.js +4 -4
  64. package/build/protocols/credentials/v1/messages/V1CredentialAckMessage.js.map +1 -1
  65. package/build/protocols/credentials/v1/messages/V1CredentialPreview.d.ts +3 -3
  66. package/build/protocols/credentials/v1/messages/V1CredentialPreview.js +8 -7
  67. package/build/protocols/credentials/v1/messages/V1CredentialPreview.js.map +1 -1
  68. package/build/protocols/credentials/v1/messages/V1CredentialProblemReportMessage.d.ts +3 -3
  69. package/build/protocols/credentials/v1/messages/V1CredentialProblemReportMessage.js +4 -4
  70. package/build/protocols/credentials/v1/messages/V1CredentialProblemReportMessage.js.map +1 -1
  71. package/build/protocols/credentials/v1/messages/V1IssueCredentialMessage.d.ts +2 -2
  72. package/build/protocols/credentials/v1/messages/V1IssueCredentialMessage.js +8 -10
  73. package/build/protocols/credentials/v1/messages/V1IssueCredentialMessage.js.map +1 -1
  74. package/build/protocols/credentials/v1/messages/V1OfferCredentialMessage.d.ts +2 -2
  75. package/build/protocols/credentials/v1/messages/V1OfferCredentialMessage.js +7 -8
  76. package/build/protocols/credentials/v1/messages/V1OfferCredentialMessage.js.map +1 -1
  77. package/build/protocols/credentials/v1/messages/V1ProposeCredentialMessage.d.ts +3 -3
  78. package/build/protocols/credentials/v1/messages/V1ProposeCredentialMessage.js +5 -6
  79. package/build/protocols/credentials/v1/messages/V1ProposeCredentialMessage.js.map +1 -1
  80. package/build/protocols/credentials/v1/messages/V1RequestCredentialMessage.d.ts +2 -2
  81. package/build/protocols/credentials/v1/messages/V1RequestCredentialMessage.js +7 -8
  82. package/build/protocols/credentials/v1/messages/V1RequestCredentialMessage.js.map +1 -1
  83. package/build/protocols/proofs/v1/V1ProofProtocol.d.ts +4 -3
  84. package/build/protocols/proofs/v1/V1ProofProtocol.js +147 -156
  85. package/build/protocols/proofs/v1/V1ProofProtocol.js.map +1 -1
  86. package/build/protocols/proofs/v1/errors/V1PresentationProblemReportError.d.ts +2 -2
  87. package/build/protocols/proofs/v1/errors/V1PresentationProblemReportError.js +2 -2
  88. package/build/protocols/proofs/v1/errors/V1PresentationProblemReportError.js.map +1 -1
  89. package/build/protocols/proofs/v1/handlers/V1PresentationAckHandler.d.ts +1 -1
  90. package/build/protocols/proofs/v1/handlers/V1PresentationHandler.d.ts +2 -2
  91. package/build/protocols/proofs/v1/handlers/V1PresentationHandler.js +2 -1
  92. package/build/protocols/proofs/v1/handlers/V1PresentationHandler.js.map +1 -1
  93. package/build/protocols/proofs/v1/handlers/V1PresentationProblemReportHandler.d.ts +1 -1
  94. package/build/protocols/proofs/v1/handlers/V1ProposePresentationHandler.d.ts +2 -2
  95. package/build/protocols/proofs/v1/handlers/V1ProposePresentationHandler.js +2 -2
  96. package/build/protocols/proofs/v1/handlers/V1ProposePresentationHandler.js.map +1 -1
  97. package/build/protocols/proofs/v1/handlers/V1RequestPresentationHandler.d.ts +2 -2
  98. package/build/protocols/proofs/v1/handlers/V1RequestPresentationHandler.js +2 -2
  99. package/build/protocols/proofs/v1/handlers/V1RequestPresentationHandler.js.map +1 -1
  100. package/build/protocols/proofs/v1/messages/V1PresentationAckMessage.d.ts +3 -3
  101. package/build/protocols/proofs/v1/messages/V1PresentationAckMessage.js +4 -4
  102. package/build/protocols/proofs/v1/messages/V1PresentationAckMessage.js.map +1 -1
  103. package/build/protocols/proofs/v1/messages/V1PresentationMessage.d.ts +2 -2
  104. package/build/protocols/proofs/v1/messages/V1PresentationMessage.js +9 -11
  105. package/build/protocols/proofs/v1/messages/V1PresentationMessage.js.map +1 -1
  106. package/build/protocols/proofs/v1/messages/V1PresentationProblemReportMessage.d.ts +3 -3
  107. package/build/protocols/proofs/v1/messages/V1PresentationProblemReportMessage.js +4 -4
  108. package/build/protocols/proofs/v1/messages/V1PresentationProblemReportMessage.js.map +1 -1
  109. package/build/protocols/proofs/v1/messages/V1ProposePresentationMessage.d.ts +2 -2
  110. package/build/protocols/proofs/v1/messages/V1ProposePresentationMessage.js +5 -6
  111. package/build/protocols/proofs/v1/messages/V1ProposePresentationMessage.js.map +1 -1
  112. package/build/protocols/proofs/v1/messages/V1RequestPresentationMessage.d.ts +2 -2
  113. package/build/protocols/proofs/v1/messages/V1RequestPresentationMessage.js +8 -10
  114. package/build/protocols/proofs/v1/messages/V1RequestPresentationMessage.js.map +1 -1
  115. package/build/protocols/proofs/v1/models/V1PresentationPreview.d.ts +1 -1
  116. package/build/protocols/proofs/v1/models/V1PresentationPreview.js +6 -6
  117. package/build/protocols/proofs/v1/models/V1PresentationPreview.js.map +1 -1
  118. package/build/repository/AnonCredsCredentialDefinitionPrivateRecord.js +6 -4
  119. package/build/repository/AnonCredsCredentialDefinitionPrivateRecord.js.map +1 -1
  120. package/build/repository/AnonCredsCredentialDefinitionRecord.js +11 -4
  121. package/build/repository/AnonCredsCredentialDefinitionRecord.js.map +1 -1
  122. package/build/repository/AnonCredsCredentialRecord.js +12 -4
  123. package/build/repository/AnonCredsCredentialRecord.js.map +1 -1
  124. package/build/repository/AnonCredsKeyCorrectnessProofRecord.js +6 -4
  125. package/build/repository/AnonCredsKeyCorrectnessProofRecord.js.map +1 -1
  126. package/build/repository/AnonCredsLinkSecretRecord.js +5 -3
  127. package/build/repository/AnonCredsLinkSecretRecord.js.map +1 -1
  128. package/build/repository/AnonCredsRevocationRegistryDefinitionPrivateRecord.js +8 -4
  129. package/build/repository/AnonCredsRevocationRegistryDefinitionPrivateRecord.js.map +1 -1
  130. package/build/repository/AnonCredsRevocationRegistryDefinitionRecord.js +7 -4
  131. package/build/repository/AnonCredsRevocationRegistryDefinitionRecord.js.map +1 -1
  132. package/build/repository/AnonCredsSchemaRecord.js +11 -4
  133. package/build/repository/AnonCredsSchemaRecord.js.map +1 -1
  134. package/build/services/tails/BasicTailsFileService.js +2 -3
  135. package/build/services/tails/BasicTailsFileService.js.map +1 -1
  136. package/build/updates/0.3.1-0.4/credentialExchangeRecord.d.ts +2 -1
  137. package/build/updates/0.3.1-0.4/credentialExchangeRecord.js +2 -2
  138. package/build/updates/0.3.1-0.4/credentialExchangeRecord.js.map +1 -1
  139. package/build/updates/0.3.1-0.4/linkSecret.js +2 -3
  140. package/build/updates/0.3.1-0.4/linkSecret.js.map +1 -1
  141. package/build/updates/0.4-0.5/anonCredsCredentialRecord.js +4 -4
  142. package/build/updates/0.4-0.5/anonCredsCredentialRecord.js.map +1 -1
  143. package/build/utils/bytesToBigint.d.ts +1 -0
  144. package/build/utils/bytesToBigint.js +14 -0
  145. package/build/utils/bytesToBigint.js.map +1 -0
  146. package/build/utils/composeAutoAccept.d.ts +1 -1
  147. package/build/utils/composeAutoAccept.js +3 -5
  148. package/build/utils/composeAutoAccept.js.map +1 -1
  149. package/build/utils/createRequestFromPreview.js +3 -4
  150. package/build/utils/createRequestFromPreview.js.map +1 -1
  151. package/build/utils/credential.d.ts +1 -1
  152. package/build/utils/credential.js +10 -10
  153. package/build/utils/credential.js.map +1 -1
  154. package/build/utils/credentialPreviewAttributes.d.ts +1 -1
  155. package/build/utils/credentialPreviewAttributes.js +1 -1
  156. package/build/utils/credentialPreviewAttributes.js.map +1 -1
  157. package/build/utils/getCredentialsForAnonCredsRequest.js +2 -3
  158. package/build/utils/getCredentialsForAnonCredsRequest.js.map +1 -1
  159. package/build/utils/getRevocationRegistries.js +13 -5
  160. package/build/utils/getRevocationRegistries.js.map +1 -1
  161. package/build/utils/indyIdentifiers.js +23 -12
  162. package/build/utils/indyIdentifiers.js.map +1 -1
  163. package/build/utils/proofRequest.js +7 -10
  164. package/build/utils/proofRequest.js.map +1 -1
  165. package/build/utils/w3cAnonCredsUtils.js +29 -21
  166. package/build/utils/w3cAnonCredsUtils.js.map +1 -1
  167. package/package.json +4 -5
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.V1ProofProtocol = void 0;
4
4
  const core_1 = require("@credo-ts/core");
5
+ const didcomm_1 = require("@credo-ts/didcomm");
5
6
  const utils_1 = require("../../../utils");
6
7
  const errors_1 = require("./errors");
7
8
  const handlers_1 = require("./handlers");
8
9
  const messages_1 = require("./messages");
9
10
  const V1PresentationProblemReportMessage_1 = require("./messages/V1PresentationProblemReportMessage");
10
11
  const V1PresentationPreview_1 = require("./models/V1PresentationPreview");
11
- class V1ProofProtocol extends core_1.BaseProofProtocol {
12
+ class V1ProofProtocol extends didcomm_1.BaseProofProtocol {
12
13
  constructor({ indyProofFormat }) {
13
14
  super();
14
15
  /**
@@ -21,9 +22,9 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
21
22
  /**
22
23
  * Registers the protocol implementation (handlers, feature registry) on the agent.
23
24
  */
24
- register(dependencyManager, featureRegistry) {
25
+ register(messageHandlerRegistry, featureRegistry) {
25
26
  // Register message handlers for the Issue Credential V1 Protocol
26
- dependencyManager.registerMessageHandlers([
27
+ messageHandlerRegistry.registerMessageHandlers([
27
28
  new handlers_1.V1ProposePresentationHandler(this),
28
29
  new handlers_1.V1RequestPresentationHandler(this),
29
30
  new handlers_1.V1PresentationHandler(this),
@@ -31,22 +32,21 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
31
32
  new handlers_1.V1PresentationProblemReportHandler(this),
32
33
  ]);
33
34
  // Register Present Proof V1 in feature registry, with supported roles
34
- featureRegistry.register(new core_1.Protocol({
35
+ featureRegistry.register(new didcomm_1.Protocol({
35
36
  id: 'https://didcomm.org/present-proof/1.0',
36
37
  roles: ['prover', 'verifier'],
37
38
  }));
38
39
  }
39
40
  async createProposal(agentContext, { proofFormats, connectionRecord, comment, parentThreadId, autoAcceptProof, }) {
40
- var _a, _b, _c;
41
41
  this.assertOnlyIndyFormat(proofFormats);
42
- const proofRepository = agentContext.dependencyManager.resolve(core_1.ProofRepository);
43
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
42
+ const proofRepository = agentContext.dependencyManager.resolve(didcomm_1.ProofRepository);
43
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
44
44
  if (!proofFormats.indy) {
45
45
  throw new core_1.CredoError('Missing indy proof format in v1 create proposal call.');
46
46
  }
47
47
  const presentationProposal = new V1PresentationPreview_1.V1PresentationPreview({
48
- attributes: (_a = proofFormats.indy) === null || _a === void 0 ? void 0 : _a.attributes,
49
- predicates: (_b = proofFormats.indy) === null || _b === void 0 ? void 0 : _b.predicates,
48
+ attributes: proofFormats.indy?.attributes,
49
+ predicates: proofFormats.indy?.predicates,
50
50
  });
51
51
  // validate input data from user
52
52
  core_1.MessageValidator.validateSync(presentationProposal);
@@ -60,53 +60,52 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
60
60
  parentThreadId,
61
61
  });
62
62
  // Create record
63
- const proofRecord = new core_1.ProofExchangeRecord({
63
+ const proofRecord = new didcomm_1.ProofExchangeRecord({
64
64
  connectionId: connectionRecord.id,
65
65
  threadId: message.threadId,
66
- parentThreadId: (_c = message.thread) === null || _c === void 0 ? void 0 : _c.parentThreadId,
67
- state: core_1.ProofState.ProposalSent,
68
- role: core_1.ProofRole.Prover,
66
+ parentThreadId: message.thread?.parentThreadId,
67
+ state: didcomm_1.ProofState.ProposalSent,
68
+ role: didcomm_1.ProofRole.Prover,
69
69
  autoAcceptProof,
70
70
  protocolVersion: 'v1',
71
71
  });
72
72
  await didCommMessageRepository.saveAgentMessage(agentContext, {
73
73
  agentMessage: message,
74
74
  associatedRecordId: proofRecord.id,
75
- role: core_1.DidCommMessageRole.Sender,
75
+ role: didcomm_1.DidCommMessageRole.Sender,
76
76
  });
77
77
  await proofRepository.save(agentContext, proofRecord);
78
78
  this.emitStateChangedEvent(agentContext, proofRecord, null);
79
79
  return { proofRecord, message };
80
80
  }
81
81
  async processProposal(messageContext) {
82
- var _a;
83
82
  const { message: proposalMessage, connection, agentContext } = messageContext;
84
- const proofRepository = agentContext.dependencyManager.resolve(core_1.ProofRepository);
85
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
83
+ const proofRepository = agentContext.dependencyManager.resolve(didcomm_1.ProofRepository);
84
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
86
85
  // TODO: with this method, we should update the credential protocol to use the ConnectionApi, so it
87
86
  // only depends on the public api, rather than the internal API (this helps with breaking changes)
88
- const connectionService = agentContext.dependencyManager.resolve(core_1.ConnectionService);
87
+ const connectionService = agentContext.dependencyManager.resolve(didcomm_1.ConnectionService);
89
88
  agentContext.config.logger.debug(`Processing presentation proposal with message id ${proposalMessage.id}`);
90
89
  let proofRecord = await this.findByProperties(agentContext, {
91
90
  threadId: proposalMessage.threadId,
92
- role: core_1.ProofRole.Verifier,
93
- connectionId: connection === null || connection === void 0 ? void 0 : connection.id,
91
+ role: didcomm_1.ProofRole.Verifier,
92
+ connectionId: connection?.id,
94
93
  });
95
94
  // Proof record already exists, this is a response to an earlier message sent by us
96
95
  if (proofRecord) {
97
96
  agentContext.config.logger.debug('Proof record already exists for incoming proposal');
98
97
  // Assert
99
- proofRecord.assertState(core_1.ProofState.RequestSent);
98
+ proofRecord.assertState(didcomm_1.ProofState.RequestSent);
100
99
  proofRecord.assertProtocolVersion('v1');
101
100
  const lastReceivedMessage = await didCommMessageRepository.findAgentMessage(agentContext, {
102
101
  associatedRecordId: proofRecord.id,
103
102
  messageClass: messages_1.V1ProposePresentationMessage,
104
- role: core_1.DidCommMessageRole.Receiver,
103
+ role: didcomm_1.DidCommMessageRole.Receiver,
105
104
  });
106
105
  const lastSentMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
107
106
  associatedRecordId: proofRecord.id,
108
107
  messageClass: messages_1.V1RequestPresentationMessage,
109
- role: core_1.DidCommMessageRole.Sender,
108
+ role: didcomm_1.DidCommMessageRole.Sender,
110
109
  });
111
110
  await connectionService.assertConnectionOrOutOfBandExchange(messageContext, {
112
111
  lastReceivedMessage,
@@ -117,27 +116,27 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
117
116
  await didCommMessageRepository.saveOrUpdateAgentMessage(agentContext, {
118
117
  agentMessage: proposalMessage,
119
118
  associatedRecordId: proofRecord.id,
120
- role: core_1.DidCommMessageRole.Receiver,
119
+ role: didcomm_1.DidCommMessageRole.Receiver,
121
120
  });
122
- await this.updateState(agentContext, proofRecord, core_1.ProofState.ProposalReceived);
121
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.ProposalReceived);
123
122
  }
124
123
  else {
125
124
  agentContext.config.logger.debug('Proof record does not exist yet for incoming proposal');
126
125
  // Assert
127
126
  await connectionService.assertConnectionOrOutOfBandExchange(messageContext);
128
127
  // No proof record exists with thread id
129
- proofRecord = new core_1.ProofExchangeRecord({
130
- connectionId: connection === null || connection === void 0 ? void 0 : connection.id,
128
+ proofRecord = new didcomm_1.ProofExchangeRecord({
129
+ connectionId: connection?.id,
131
130
  threadId: proposalMessage.threadId,
132
- parentThreadId: (_a = proposalMessage.thread) === null || _a === void 0 ? void 0 : _a.parentThreadId,
133
- state: core_1.ProofState.ProposalReceived,
134
- role: core_1.ProofRole.Verifier,
131
+ parentThreadId: proposalMessage.thread?.parentThreadId,
132
+ state: didcomm_1.ProofState.ProposalReceived,
133
+ role: didcomm_1.ProofRole.Verifier,
135
134
  protocolVersion: 'v1',
136
135
  });
137
136
  await didCommMessageRepository.saveOrUpdateAgentMessage(agentContext, {
138
137
  agentMessage: proposalMessage,
139
138
  associatedRecordId: proofRecord.id,
140
- role: core_1.DidCommMessageRole.Receiver,
139
+ role: didcomm_1.DidCommMessageRole.Receiver,
141
140
  });
142
141
  // Save record
143
142
  await proofRepository.save(agentContext, proofRecord);
@@ -146,29 +145,28 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
146
145
  return proofRecord;
147
146
  }
148
147
  async acceptProposal(agentContext, { proofRecord, proofFormats, comment, autoAcceptProof, }) {
149
- var _a, _b;
150
148
  // Assert
151
149
  proofRecord.assertProtocolVersion('v1');
152
- proofRecord.assertState(core_1.ProofState.ProposalReceived);
150
+ proofRecord.assertState(didcomm_1.ProofState.ProposalReceived);
153
151
  if (proofFormats)
154
152
  this.assertOnlyIndyFormat(proofFormats);
155
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
153
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
156
154
  const proposalMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
157
155
  associatedRecordId: proofRecord.id,
158
156
  messageClass: messages_1.V1ProposePresentationMessage,
159
- role: core_1.DidCommMessageRole.Receiver,
157
+ role: didcomm_1.DidCommMessageRole.Receiver,
160
158
  });
161
- const indyFormat = proofFormats === null || proofFormats === void 0 ? void 0 : proofFormats.indy;
159
+ const indyFormat = proofFormats?.indy;
162
160
  // Create a proof request from the preview, so we can let the messages
163
161
  // be handled using the indy proof format which supports RFC0592
164
162
  const requestFromPreview = (0, utils_1.createRequestFromPreview)({
165
163
  attributes: proposalMessage.presentationProposal.attributes,
166
164
  predicates: proposalMessage.presentationProposal.predicates,
167
- name: (_a = indyFormat === null || indyFormat === void 0 ? void 0 : indyFormat.name) !== null && _a !== void 0 ? _a : 'Proof Request',
168
- version: (_b = indyFormat === null || indyFormat === void 0 ? void 0 : indyFormat.version) !== null && _b !== void 0 ? _b : '1.0',
165
+ name: indyFormat?.name ?? 'Proof Request',
166
+ version: indyFormat?.version ?? '1.0',
169
167
  nonce: await agentContext.wallet.generateNonce(),
170
168
  });
171
- const proposalAttachment = new core_1.Attachment({
169
+ const proposalAttachment = new didcomm_1.Attachment({
172
170
  data: {
173
171
  json: core_1.JsonTransformer.toJSON(requestFromPreview),
174
172
  },
@@ -190,19 +188,19 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
190
188
  await didCommMessageRepository.saveOrUpdateAgentMessage(agentContext, {
191
189
  agentMessage: requestPresentationMessage,
192
190
  associatedRecordId: proofRecord.id,
193
- role: core_1.DidCommMessageRole.Sender,
191
+ role: didcomm_1.DidCommMessageRole.Sender,
194
192
  });
195
193
  // Update record
196
- proofRecord.autoAcceptProof = autoAcceptProof !== null && autoAcceptProof !== void 0 ? autoAcceptProof : proofRecord.autoAcceptProof;
197
- await this.updateState(agentContext, proofRecord, core_1.ProofState.RequestSent);
194
+ proofRecord.autoAcceptProof = autoAcceptProof ?? proofRecord.autoAcceptProof;
195
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.RequestSent);
198
196
  return { message: requestPresentationMessage, proofRecord };
199
197
  }
200
198
  async negotiateProposal(agentContext, { proofFormats, proofRecord, comment, autoAcceptProof, }) {
201
199
  // Assert
202
200
  proofRecord.assertProtocolVersion('v1');
203
- proofRecord.assertState(core_1.ProofState.ProposalReceived);
201
+ proofRecord.assertState(didcomm_1.ProofState.ProposalReceived);
204
202
  this.assertOnlyIndyFormat(proofFormats);
205
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
203
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
206
204
  // Create message
207
205
  const { attachment } = await this.indyProofFormat.createRequest(agentContext, {
208
206
  attachmentId: messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID,
@@ -220,26 +218,26 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
220
218
  await didCommMessageRepository.saveOrUpdateAgentMessage(agentContext, {
221
219
  agentMessage: requestPresentationMessage,
222
220
  associatedRecordId: proofRecord.id,
223
- role: core_1.DidCommMessageRole.Sender,
221
+ role: didcomm_1.DidCommMessageRole.Sender,
224
222
  });
225
- proofRecord.autoAcceptProof = autoAcceptProof !== null && autoAcceptProof !== void 0 ? autoAcceptProof : proofRecord.autoAcceptProof;
226
- await this.updateState(agentContext, proofRecord, core_1.ProofState.RequestSent);
223
+ proofRecord.autoAcceptProof = autoAcceptProof ?? proofRecord.autoAcceptProof;
224
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.RequestSent);
227
225
  return { message: requestPresentationMessage, proofRecord };
228
226
  }
229
227
  async createRequest(agentContext, { proofFormats, connectionRecord, comment, parentThreadId, autoAcceptProof, }) {
230
228
  this.assertOnlyIndyFormat(proofFormats);
231
- const proofRepository = agentContext.dependencyManager.resolve(core_1.ProofRepository);
232
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
229
+ const proofRepository = agentContext.dependencyManager.resolve(didcomm_1.ProofRepository);
230
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
233
231
  if (!proofFormats.indy) {
234
232
  throw new core_1.CredoError('Missing indy proof request data for v1 create request');
235
233
  }
236
234
  // Create record
237
- const proofRecord = new core_1.ProofExchangeRecord({
238
- connectionId: connectionRecord === null || connectionRecord === void 0 ? void 0 : connectionRecord.id,
235
+ const proofRecord = new didcomm_1.ProofExchangeRecord({
236
+ connectionId: connectionRecord?.id,
239
237
  threadId: core_1.utils.uuid(),
240
238
  parentThreadId,
241
- state: core_1.ProofState.RequestSent,
242
- role: core_1.ProofRole.Verifier,
239
+ state: didcomm_1.ProofState.RequestSent,
240
+ role: didcomm_1.ProofRole.Verifier,
243
241
  autoAcceptProof,
244
242
  protocolVersion: 'v1',
245
243
  });
@@ -262,25 +260,24 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
262
260
  await didCommMessageRepository.saveAgentMessage(agentContext, {
263
261
  agentMessage: message,
264
262
  associatedRecordId: proofRecord.id,
265
- role: core_1.DidCommMessageRole.Sender,
263
+ role: didcomm_1.DidCommMessageRole.Sender,
266
264
  });
267
265
  await proofRepository.save(agentContext, proofRecord);
268
266
  this.emitStateChangedEvent(agentContext, proofRecord, null);
269
267
  return { message, proofRecord };
270
268
  }
271
269
  async processRequest(messageContext) {
272
- var _a;
273
270
  const { message: proofRequestMessage, connection, agentContext } = messageContext;
274
- const proofRepository = agentContext.dependencyManager.resolve(core_1.ProofRepository);
275
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
271
+ const proofRepository = agentContext.dependencyManager.resolve(didcomm_1.ProofRepository);
272
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
276
273
  // TODO: with this method, we should update the credential protocol to use the ConnectionApi, so it
277
274
  // only depends on the public api, rather than the internal API (this helps with breaking changes)
278
- const connectionService = agentContext.dependencyManager.resolve(core_1.ConnectionService);
275
+ const connectionService = agentContext.dependencyManager.resolve(didcomm_1.ConnectionService);
279
276
  agentContext.config.logger.debug(`Processing presentation request with id ${proofRequestMessage.id}`);
280
277
  let proofRecord = await this.findByProperties(agentContext, {
281
278
  threadId: proofRequestMessage.threadId,
282
- role: core_1.ProofRole.Prover,
283
- connectionId: connection === null || connection === void 0 ? void 0 : connection.id,
279
+ role: didcomm_1.ProofRole.Prover,
280
+ connectionId: connection?.id,
284
281
  });
285
282
  const requestAttachment = proofRequestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
286
283
  if (!requestAttachment) {
@@ -291,16 +288,16 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
291
288
  const lastReceivedMessage = await didCommMessageRepository.findAgentMessage(agentContext, {
292
289
  associatedRecordId: proofRecord.id,
293
290
  messageClass: messages_1.V1RequestPresentationMessage,
294
- role: core_1.DidCommMessageRole.Receiver,
291
+ role: didcomm_1.DidCommMessageRole.Receiver,
295
292
  });
296
293
  const lastSentMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
297
294
  associatedRecordId: proofRecord.id,
298
295
  messageClass: messages_1.V1ProposePresentationMessage,
299
- role: core_1.DidCommMessageRole.Sender,
296
+ role: didcomm_1.DidCommMessageRole.Sender,
300
297
  });
301
298
  // Assert
302
299
  proofRecord.assertProtocolVersion('v1');
303
- proofRecord.assertState(core_1.ProofState.ProposalSent);
300
+ proofRecord.assertState(didcomm_1.ProofState.ProposalSent);
304
301
  await connectionService.assertConnectionOrOutOfBandExchange(messageContext, {
305
302
  lastReceivedMessage,
306
303
  lastSentMessage,
@@ -313,20 +310,20 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
313
310
  await didCommMessageRepository.saveOrUpdateAgentMessage(agentContext, {
314
311
  agentMessage: proofRequestMessage,
315
312
  associatedRecordId: proofRecord.id,
316
- role: core_1.DidCommMessageRole.Receiver,
313
+ role: didcomm_1.DidCommMessageRole.Receiver,
317
314
  });
318
- await this.updateState(agentContext, proofRecord, core_1.ProofState.RequestReceived);
315
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.RequestReceived);
319
316
  }
320
317
  else {
321
318
  // Assert
322
319
  await connectionService.assertConnectionOrOutOfBandExchange(messageContext);
323
320
  // No proof record exists with thread id
324
- proofRecord = new core_1.ProofExchangeRecord({
325
- connectionId: connection === null || connection === void 0 ? void 0 : connection.id,
321
+ proofRecord = new didcomm_1.ProofExchangeRecord({
322
+ connectionId: connection?.id,
326
323
  threadId: proofRequestMessage.threadId,
327
- parentThreadId: (_a = proofRequestMessage.thread) === null || _a === void 0 ? void 0 : _a.parentThreadId,
328
- state: core_1.ProofState.RequestReceived,
329
- role: core_1.ProofRole.Prover,
324
+ parentThreadId: proofRequestMessage.thread?.parentThreadId,
325
+ state: didcomm_1.ProofState.RequestReceived,
326
+ role: didcomm_1.ProofRole.Prover,
330
327
  protocolVersion: 'v1',
331
328
  });
332
329
  await this.indyProofFormat.processRequest(agentContext, {
@@ -336,7 +333,7 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
336
333
  await didCommMessageRepository.saveAgentMessage(agentContext, {
337
334
  agentMessage: proofRequestMessage,
338
335
  associatedRecordId: proofRecord.id,
339
- role: core_1.DidCommMessageRole.Receiver,
336
+ role: didcomm_1.DidCommMessageRole.Receiver,
340
337
  });
341
338
  // Save in repository
342
339
  await proofRepository.save(agentContext, proofRecord);
@@ -345,12 +342,11 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
345
342
  return proofRecord;
346
343
  }
347
344
  async negotiateRequest(agentContext, { proofFormats, proofRecord, comment, autoAcceptProof, }) {
348
- var _a, _b;
349
345
  // Assert
350
346
  proofRecord.assertProtocolVersion('v1');
351
- proofRecord.assertState(core_1.ProofState.RequestReceived);
347
+ proofRecord.assertState(didcomm_1.ProofState.RequestReceived);
352
348
  this.assertOnlyIndyFormat(proofFormats);
353
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
349
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
354
350
  if (!proofRecord.connectionId) {
355
351
  throw new core_1.CredoError(`No connectionId found for proof record '${proofRecord.id}'. Connection-less verification does not support negotiation.`);
356
352
  }
@@ -358,8 +354,8 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
358
354
  throw new core_1.CredoError('Missing indy proof format in v1 negotiate request call.');
359
355
  }
360
356
  const presentationProposal = new V1PresentationPreview_1.V1PresentationPreview({
361
- attributes: (_a = proofFormats.indy) === null || _a === void 0 ? void 0 : _a.attributes,
362
- predicates: (_b = proofFormats.indy) === null || _b === void 0 ? void 0 : _b.predicates,
357
+ attributes: proofFormats.indy?.attributes,
358
+ predicates: proofFormats.indy?.predicates,
363
359
  });
364
360
  // validate input data from user
365
361
  core_1.MessageValidator.validateSync(presentationProposal);
@@ -371,40 +367,39 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
371
367
  await didCommMessageRepository.saveOrUpdateAgentMessage(agentContext, {
372
368
  agentMessage: message,
373
369
  associatedRecordId: proofRecord.id,
374
- role: core_1.DidCommMessageRole.Sender,
370
+ role: didcomm_1.DidCommMessageRole.Sender,
375
371
  });
376
372
  // Update record
377
- proofRecord.autoAcceptProof = autoAcceptProof !== null && autoAcceptProof !== void 0 ? autoAcceptProof : proofRecord.autoAcceptProof;
378
- await this.updateState(agentContext, proofRecord, core_1.ProofState.ProposalSent);
373
+ proofRecord.autoAcceptProof = autoAcceptProof ?? proofRecord.autoAcceptProof;
374
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.ProposalSent);
379
375
  return { proofRecord, message: message };
380
376
  }
381
377
  async acceptRequest(agentContext, { proofRecord, proofFormats, autoAcceptProof, comment, }) {
382
- var _a, _b;
383
378
  // Assert
384
379
  proofRecord.assertProtocolVersion('v1');
385
- proofRecord.assertState(core_1.ProofState.RequestReceived);
386
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
380
+ proofRecord.assertState(didcomm_1.ProofState.RequestReceived);
381
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
387
382
  const requestMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
388
383
  associatedRecordId: proofRecord.id,
389
384
  messageClass: messages_1.V1RequestPresentationMessage,
390
- role: core_1.DidCommMessageRole.Receiver,
385
+ role: didcomm_1.DidCommMessageRole.Receiver,
391
386
  });
392
387
  const proposalMessage = await didCommMessageRepository.findAgentMessage(agentContext, {
393
388
  associatedRecordId: proofRecord.id,
394
389
  messageClass: messages_1.V1ProposePresentationMessage,
395
- role: core_1.DidCommMessageRole.Sender,
390
+ role: didcomm_1.DidCommMessageRole.Sender,
396
391
  });
397
392
  const requestAttachment = requestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
398
393
  const indyProofRequest = requestMessage.indyProofRequest;
399
394
  if (!requestAttachment || !indyProofRequest) {
400
- throw new errors_1.V1PresentationProblemReportError(`Missing indy attachment in request message for presentation with thread id ${proofRecord.threadId}`, { problemCode: core_1.PresentationProblemReportReason.Abandoned });
395
+ throw new errors_1.V1PresentationProblemReportError(`Missing indy attachment in request message for presentation with thread id ${proofRecord.threadId}`, { problemCode: didcomm_1.PresentationProblemReportReason.Abandoned });
401
396
  }
402
397
  const proposalAttachment = proposalMessage
403
- ? new core_1.Attachment({
398
+ ? new didcomm_1.Attachment({
404
399
  data: {
405
400
  json: core_1.JsonTransformer.toJSON((0, utils_1.createRequestFromPreview)({
406
- attributes: (_a = proposalMessage.presentationProposal) === null || _a === void 0 ? void 0 : _a.attributes,
407
- predicates: (_b = proposalMessage.presentationProposal) === null || _b === void 0 ? void 0 : _b.predicates,
401
+ attributes: proposalMessage.presentationProposal?.attributes,
402
+ predicates: proposalMessage.presentationProposal?.predicates,
408
403
  name: indyProofRequest.name,
409
404
  nonce: indyProofRequest.nonce,
410
405
  version: indyProofRequest.nonce,
@@ -427,27 +422,26 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
427
422
  await didCommMessageRepository.saveAgentMessage(agentContext, {
428
423
  agentMessage: message,
429
424
  associatedRecordId: proofRecord.id,
430
- role: core_1.DidCommMessageRole.Sender,
425
+ role: didcomm_1.DidCommMessageRole.Sender,
431
426
  });
432
427
  // Update record
433
- proofRecord.autoAcceptProof = autoAcceptProof !== null && autoAcceptProof !== void 0 ? autoAcceptProof : proofRecord.autoAcceptProof;
434
- await this.updateState(agentContext, proofRecord, core_1.ProofState.PresentationSent);
428
+ proofRecord.autoAcceptProof = autoAcceptProof ?? proofRecord.autoAcceptProof;
429
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.PresentationSent);
435
430
  return { message, proofRecord };
436
431
  }
437
432
  async getCredentialsForRequest(agentContext, { proofRecord, proofFormats }) {
438
- var _a, _b;
439
433
  if (proofFormats)
440
434
  this.assertOnlyIndyFormat(proofFormats);
441
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
435
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
442
436
  const requestMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
443
437
  associatedRecordId: proofRecord.id,
444
438
  messageClass: messages_1.V1RequestPresentationMessage,
445
- role: core_1.DidCommMessageRole.Receiver,
439
+ role: didcomm_1.DidCommMessageRole.Receiver,
446
440
  });
447
441
  const proposalMessage = await didCommMessageRepository.findAgentMessage(agentContext, {
448
442
  associatedRecordId: proofRecord.id,
449
443
  messageClass: messages_1.V1ProposePresentationMessage,
450
- role: core_1.DidCommMessageRole.Sender,
444
+ role: didcomm_1.DidCommMessageRole.Sender,
451
445
  });
452
446
  const requestAttachment = requestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
453
447
  const indyProofRequest = requestMessage.indyProofRequest;
@@ -455,11 +449,11 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
455
449
  throw new core_1.CredoError(`Missing indy attachment in request message for presentation with thread id ${proofRecord.threadId}`);
456
450
  }
457
451
  const proposalAttachment = proposalMessage
458
- ? new core_1.Attachment({
452
+ ? new didcomm_1.Attachment({
459
453
  data: {
460
454
  json: core_1.JsonTransformer.toJSON((0, utils_1.createRequestFromPreview)({
461
- attributes: (_a = proposalMessage.presentationProposal) === null || _a === void 0 ? void 0 : _a.attributes,
462
- predicates: (_b = proposalMessage.presentationProposal) === null || _b === void 0 ? void 0 : _b.predicates,
455
+ attributes: proposalMessage.presentationProposal?.attributes,
456
+ predicates: proposalMessage.presentationProposal?.predicates,
463
457
  name: indyProofRequest.name,
464
458
  nonce: indyProofRequest.nonce,
465
459
  version: indyProofRequest.nonce,
@@ -480,19 +474,18 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
480
474
  };
481
475
  }
482
476
  async selectCredentialsForRequest(agentContext, { proofRecord, proofFormats, }) {
483
- var _a, _b;
484
477
  if (proofFormats)
485
478
  this.assertOnlyIndyFormat(proofFormats);
486
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
479
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
487
480
  const requestMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
488
481
  associatedRecordId: proofRecord.id,
489
482
  messageClass: messages_1.V1RequestPresentationMessage,
490
- role: core_1.DidCommMessageRole.Receiver,
483
+ role: didcomm_1.DidCommMessageRole.Receiver,
491
484
  });
492
485
  const proposalMessage = await didCommMessageRepository.findAgentMessage(agentContext, {
493
486
  associatedRecordId: proofRecord.id,
494
487
  messageClass: messages_1.V1ProposePresentationMessage,
495
- role: core_1.DidCommMessageRole.Sender,
488
+ role: didcomm_1.DidCommMessageRole.Sender,
496
489
  });
497
490
  const requestAttachment = requestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
498
491
  const indyProofRequest = requestMessage.indyProofRequest;
@@ -500,11 +493,11 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
500
493
  throw new core_1.CredoError(`Missing indy attachment in request message for presentation with thread id ${proofRecord.threadId}`);
501
494
  }
502
495
  const proposalAttachment = proposalMessage
503
- ? new core_1.Attachment({
496
+ ? new didcomm_1.Attachment({
504
497
  data: {
505
498
  json: core_1.JsonTransformer.toJSON((0, utils_1.createRequestFromPreview)({
506
- attributes: (_a = proposalMessage.presentationProposal) === null || _a === void 0 ? void 0 : _a.attributes,
507
- predicates: (_b = proposalMessage.presentationProposal) === null || _b === void 0 ? void 0 : _b.predicates,
499
+ attributes: proposalMessage.presentationProposal?.attributes,
500
+ predicates: proposalMessage.presentationProposal?.predicates,
508
501
  name: indyProofRequest.name,
509
502
  nonce: indyProofRequest.nonce,
510
503
  version: indyProofRequest.nonce,
@@ -525,29 +518,28 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
525
518
  };
526
519
  }
527
520
  async processPresentation(messageContext) {
528
- var _a;
529
521
  const { message: presentationMessage, connection, agentContext } = messageContext;
530
522
  agentContext.config.logger.debug(`Processing presentation with message id ${presentationMessage.id}`);
531
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
523
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
532
524
  // TODO: with this method, we should update the credential protocol to use the ConnectionApi, so it
533
525
  // only depends on the public api, rather than the internal API (this helps with breaking changes)
534
- const connectionService = agentContext.dependencyManager.resolve(core_1.ConnectionService);
526
+ const connectionService = agentContext.dependencyManager.resolve(didcomm_1.ConnectionService);
535
527
  const proofRecord = await this.getByProperties(agentContext, {
536
528
  threadId: presentationMessage.threadId,
537
- role: core_1.ProofRole.Verifier,
529
+ role: didcomm_1.ProofRole.Verifier,
538
530
  });
539
531
  const proposalMessage = await didCommMessageRepository.findAgentMessage(agentContext, {
540
532
  associatedRecordId: proofRecord.id,
541
533
  messageClass: messages_1.V1ProposePresentationMessage,
542
- role: core_1.DidCommMessageRole.Receiver,
534
+ role: didcomm_1.DidCommMessageRole.Receiver,
543
535
  });
544
536
  const requestMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
545
537
  associatedRecordId: proofRecord.id,
546
538
  messageClass: messages_1.V1RequestPresentationMessage,
547
- role: core_1.DidCommMessageRole.Sender,
539
+ role: didcomm_1.DidCommMessageRole.Sender,
548
540
  });
549
541
  // Assert
550
- proofRecord.assertState(core_1.ProofState.RequestSent);
542
+ proofRecord.assertState(didcomm_1.ProofState.RequestSent);
551
543
  proofRecord.assertProtocolVersion('v1');
552
544
  await connectionService.assertConnectionOrOutOfBandExchange(messageContext, {
553
545
  lastReceivedMessage: proposalMessage,
@@ -559,28 +551,28 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
559
551
  await connectionService.matchIncomingMessageToRequestMessageInOutOfBandExchange(messageContext, {
560
552
  expectedConnectionId: proofRecord.connectionId,
561
553
  });
562
- proofRecord.connectionId = connection === null || connection === void 0 ? void 0 : connection.id;
554
+ proofRecord.connectionId = connection?.id;
563
555
  }
564
556
  const presentationAttachment = presentationMessage.getPresentationAttachmentById(messages_1.INDY_PROOF_ATTACHMENT_ID);
565
557
  if (!presentationAttachment) {
566
558
  proofRecord.errorMessage = 'Missing indy proof attachment';
567
- await this.updateState(agentContext, proofRecord, core_1.ProofState.Abandoned);
559
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.Abandoned);
568
560
  throw new errors_1.V1PresentationProblemReportError(proofRecord.errorMessage, {
569
- problemCode: core_1.PresentationProblemReportReason.Abandoned,
561
+ problemCode: didcomm_1.PresentationProblemReportReason.Abandoned,
570
562
  });
571
563
  }
572
564
  const requestAttachment = requestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
573
565
  if (!requestAttachment) {
574
566
  proofRecord.errorMessage = 'Missing indy proof request attachment';
575
- await this.updateState(agentContext, proofRecord, core_1.ProofState.Abandoned);
567
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.Abandoned);
576
568
  throw new errors_1.V1PresentationProblemReportError(proofRecord.errorMessage, {
577
- problemCode: core_1.PresentationProblemReportReason.Abandoned,
569
+ problemCode: didcomm_1.PresentationProblemReportReason.Abandoned,
578
570
  });
579
571
  }
580
572
  await didCommMessageRepository.saveAgentMessage(agentContext, {
581
573
  agentMessage: presentationMessage,
582
574
  associatedRecordId: proofRecord.id,
583
- role: core_1.DidCommMessageRole.Receiver,
575
+ role: didcomm_1.DidCommMessageRole.Receiver,
584
576
  });
585
577
  let isValid;
586
578
  try {
@@ -591,34 +583,34 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
591
583
  });
592
584
  }
593
585
  catch (error) {
594
- proofRecord.errorMessage = (_a = error.message) !== null && _a !== void 0 ? _a : 'Error verifying proof on presentation';
586
+ proofRecord.errorMessage = error.message ?? 'Error verifying proof on presentation';
595
587
  proofRecord.isVerified = false;
596
- await this.updateState(agentContext, proofRecord, core_1.ProofState.Abandoned);
588
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.Abandoned);
597
589
  throw new errors_1.V1PresentationProblemReportError('Error verifying proof on presentation', {
598
- problemCode: core_1.PresentationProblemReportReason.Abandoned,
590
+ problemCode: didcomm_1.PresentationProblemReportReason.Abandoned,
599
591
  });
600
592
  }
601
593
  if (!isValid) {
602
594
  proofRecord.errorMessage = 'Invalid proof';
603
595
  proofRecord.isVerified = false;
604
- await this.updateState(agentContext, proofRecord, core_1.ProofState.Abandoned);
596
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.Abandoned);
605
597
  throw new errors_1.V1PresentationProblemReportError('Invalid proof', {
606
- problemCode: core_1.PresentationProblemReportReason.Abandoned,
598
+ problemCode: didcomm_1.PresentationProblemReportReason.Abandoned,
607
599
  });
608
600
  }
609
601
  // Update record
610
602
  proofRecord.isVerified = isValid;
611
- await this.updateState(agentContext, proofRecord, core_1.ProofState.PresentationReceived);
603
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.PresentationReceived);
612
604
  return proofRecord;
613
605
  }
614
606
  async acceptPresentation(agentContext, { proofRecord }) {
615
607
  agentContext.config.logger.debug(`Creating presentation ack for proof record with id ${proofRecord.id}`);
616
608
  // Assert
617
609
  proofRecord.assertProtocolVersion('v1');
618
- proofRecord.assertState(core_1.ProofState.PresentationReceived);
610
+ proofRecord.assertState(didcomm_1.ProofState.PresentationReceived);
619
611
  // Create message
620
612
  const ackMessage = new messages_1.V1PresentationAckMessage({
621
- status: core_1.AckStatus.OK,
613
+ status: didcomm_1.AckStatus.OK,
622
614
  threadId: proofRecord.threadId,
623
615
  });
624
616
  ackMessage.setThread({
@@ -626,47 +618,47 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
626
618
  parentThreadId: proofRecord.parentThreadId,
627
619
  });
628
620
  // Update record
629
- await this.updateState(agentContext, proofRecord, core_1.ProofState.Done);
621
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.Done);
630
622
  return { message: ackMessage, proofRecord };
631
623
  }
632
624
  async processAck(messageContext) {
633
625
  const { message: presentationAckMessage, connection, agentContext } = messageContext;
634
626
  agentContext.config.logger.debug(`Processing presentation ack with message id ${presentationAckMessage.id}`);
635
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
627
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
636
628
  // TODO: with this method, we should update the credential protocol to use the ConnectionApi, so it
637
629
  // only depends on the public api, rather than the internal API (this helps with breaking changes)
638
- const connectionService = agentContext.dependencyManager.resolve(core_1.ConnectionService);
630
+ const connectionService = agentContext.dependencyManager.resolve(didcomm_1.ConnectionService);
639
631
  const proofRecord = await this.getByProperties(agentContext, {
640
632
  threadId: presentationAckMessage.threadId,
641
- role: core_1.ProofRole.Prover,
642
- connectionId: connection === null || connection === void 0 ? void 0 : connection.id,
633
+ role: didcomm_1.ProofRole.Prover,
634
+ connectionId: connection?.id,
643
635
  });
644
636
  const lastReceivedMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
645
637
  associatedRecordId: proofRecord.id,
646
638
  messageClass: messages_1.V1RequestPresentationMessage,
647
- role: core_1.DidCommMessageRole.Receiver,
639
+ role: didcomm_1.DidCommMessageRole.Receiver,
648
640
  });
649
641
  const lastSentMessage = await didCommMessageRepository.getAgentMessage(agentContext, {
650
642
  associatedRecordId: proofRecord.id,
651
643
  messageClass: messages_1.V1PresentationMessage,
652
- role: core_1.DidCommMessageRole.Sender,
644
+ role: didcomm_1.DidCommMessageRole.Sender,
653
645
  });
654
646
  // Assert
655
647
  proofRecord.assertProtocolVersion('v1');
656
- proofRecord.assertState(core_1.ProofState.PresentationSent);
648
+ proofRecord.assertState(didcomm_1.ProofState.PresentationSent);
657
649
  await connectionService.assertConnectionOrOutOfBandExchange(messageContext, {
658
650
  lastReceivedMessage,
659
651
  lastSentMessage,
660
652
  expectedConnectionId: proofRecord.connectionId,
661
653
  });
662
654
  // Update record
663
- await this.updateState(agentContext, proofRecord, core_1.ProofState.Done);
655
+ await this.updateState(agentContext, proofRecord, didcomm_1.ProofState.Done);
664
656
  return proofRecord;
665
657
  }
666
658
  async createProblemReport(_agentContext, { proofRecord, description }) {
667
659
  const message = new V1PresentationProblemReportMessage_1.V1PresentationProblemReportMessage({
668
660
  description: {
669
- code: core_1.PresentationProblemReportReason.Abandoned,
661
+ code: didcomm_1.PresentationProblemReportReason.Abandoned,
670
662
  en: description,
671
663
  },
672
664
  });
@@ -681,16 +673,16 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
681
673
  }
682
674
  async shouldAutoRespondToProposal(agentContext, options) {
683
675
  const { proofRecord, proposalMessage } = options;
684
- const proofsModuleConfig = agentContext.dependencyManager.resolve(core_1.ProofsModuleConfig);
676
+ const proofsModuleConfig = agentContext.dependencyManager.resolve(didcomm_1.ProofsModuleConfig);
685
677
  const autoAccept = (0, utils_1.composeProofAutoAccept)(proofRecord.autoAcceptProof, proofsModuleConfig.autoAcceptProofs);
686
678
  // Handle always / never cases
687
- if (autoAccept === core_1.AutoAcceptProof.Always)
679
+ if (autoAccept === didcomm_1.AutoAcceptProof.Always)
688
680
  return true;
689
- if (autoAccept === core_1.AutoAcceptProof.Never)
681
+ if (autoAccept === didcomm_1.AutoAcceptProof.Never)
690
682
  return false;
691
683
  // We are in the ContentApproved case. We need to make sure we've sent a request, and it matches the proposal
692
684
  const requestMessage = await this.findRequestMessage(agentContext, proofRecord.id);
693
- const requestAttachment = requestMessage === null || requestMessage === void 0 ? void 0 : requestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
685
+ const requestAttachment = requestMessage?.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
694
686
  if (!requestAttachment)
695
687
  return false;
696
688
  const rfc0592Proposal = core_1.JsonTransformer.toJSON((0, utils_1.createRequestFromPreview)({
@@ -702,7 +694,7 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
702
694
  }));
703
695
  return this.indyProofFormat.shouldAutoRespondToProposal(agentContext, {
704
696
  proofRecord,
705
- proposalAttachment: new core_1.Attachment({
697
+ proposalAttachment: new didcomm_1.Attachment({
706
698
  data: {
707
699
  json: rfc0592Proposal,
708
700
  },
@@ -712,12 +704,12 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
712
704
  }
713
705
  async shouldAutoRespondToRequest(agentContext, options) {
714
706
  const { proofRecord, requestMessage } = options;
715
- const proofsModuleConfig = agentContext.dependencyManager.resolve(core_1.ProofsModuleConfig);
707
+ const proofsModuleConfig = agentContext.dependencyManager.resolve(didcomm_1.ProofsModuleConfig);
716
708
  const autoAccept = (0, utils_1.composeProofAutoAccept)(proofRecord.autoAcceptProof, proofsModuleConfig.autoAcceptProofs);
717
709
  // Handle always / never cases
718
- if (autoAccept === core_1.AutoAcceptProof.Always)
710
+ if (autoAccept === didcomm_1.AutoAcceptProof.Always)
719
711
  return true;
720
- if (autoAccept === core_1.AutoAcceptProof.Never)
712
+ if (autoAccept === didcomm_1.AutoAcceptProof.Never)
721
713
  return false;
722
714
  const requestAttachment = requestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
723
715
  if (!requestAttachment)
@@ -735,7 +727,7 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
735
727
  });
736
728
  return this.indyProofFormat.shouldAutoRespondToRequest(agentContext, {
737
729
  proofRecord,
738
- proposalAttachment: new core_1.Attachment({
730
+ proposalAttachment: new didcomm_1.Attachment({
739
731
  data: {
740
732
  base64: core_1.JsonEncoder.toBase64(rfc0592Proposal),
741
733
  },
@@ -745,19 +737,19 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
745
737
  }
746
738
  async shouldAutoRespondToPresentation(agentContext, options) {
747
739
  const { proofRecord, presentationMessage } = options;
748
- const proofsModuleConfig = agentContext.dependencyManager.resolve(core_1.ProofsModuleConfig);
740
+ const proofsModuleConfig = agentContext.dependencyManager.resolve(didcomm_1.ProofsModuleConfig);
749
741
  const autoAccept = (0, utils_1.composeProofAutoAccept)(proofRecord.autoAcceptProof, proofsModuleConfig.autoAcceptProofs);
750
742
  // Handle always / never cases
751
- if (autoAccept === core_1.AutoAcceptProof.Always)
743
+ if (autoAccept === didcomm_1.AutoAcceptProof.Always)
752
744
  return true;
753
- if (autoAccept === core_1.AutoAcceptProof.Never)
745
+ if (autoAccept === didcomm_1.AutoAcceptProof.Never)
754
746
  return false;
755
747
  const presentationAttachment = presentationMessage.getPresentationAttachmentById(messages_1.INDY_PROOF_ATTACHMENT_ID);
756
748
  if (!presentationAttachment)
757
749
  return false;
758
750
  // We are in the ContentApproved case. We need to make sure we've sent a request, and it matches the presentation
759
751
  const requestMessage = await this.findRequestMessage(agentContext, proofRecord.id);
760
- const requestAttachment = requestMessage === null || requestMessage === void 0 ? void 0 : requestMessage.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
752
+ const requestAttachment = requestMessage?.getRequestAttachmentById(messages_1.INDY_PROOF_REQUEST_ATTACHMENT_ID);
761
753
  if (!requestAttachment)
762
754
  return false;
763
755
  // We are in the ContentApproved case. We need to make sure we've sent a proposal, and it matches the request
@@ -775,7 +767,7 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
775
767
  proofRecord,
776
768
  requestAttachment,
777
769
  presentationAttachment,
778
- proposalAttachment: new core_1.Attachment({
770
+ proposalAttachment: new didcomm_1.Attachment({
779
771
  data: {
780
772
  json: rfc0592Proposal,
781
773
  },
@@ -783,28 +775,27 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
783
775
  });
784
776
  }
785
777
  async findProposalMessage(agentContext, proofRecordId) {
786
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
778
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
787
779
  return await didCommMessageRepository.findAgentMessage(agentContext, {
788
780
  associatedRecordId: proofRecordId,
789
781
  messageClass: messages_1.V1ProposePresentationMessage,
790
782
  });
791
783
  }
792
784
  async findRequestMessage(agentContext, proofRecordId) {
793
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
785
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
794
786
  return await didCommMessageRepository.findAgentMessage(agentContext, {
795
787
  associatedRecordId: proofRecordId,
796
788
  messageClass: messages_1.V1RequestPresentationMessage,
797
789
  });
798
790
  }
799
791
  async findPresentationMessage(agentContext, proofRecordId) {
800
- const didCommMessageRepository = agentContext.dependencyManager.resolve(core_1.DidCommMessageRepository);
792
+ const didCommMessageRepository = agentContext.dependencyManager.resolve(didcomm_1.DidCommMessageRepository);
801
793
  return await didCommMessageRepository.findAgentMessage(agentContext, {
802
794
  associatedRecordId: proofRecordId,
803
795
  messageClass: messages_1.V1PresentationMessage,
804
796
  });
805
797
  }
806
798
  async getFormatData(agentContext, proofRecordId) {
807
- var _a, _b;
808
799
  // TODO: we could looking at fetching all record using a single query and then filtering based on the type of the message.
809
800
  const [proposalMessage, requestMessage, presentationMessage] = await Promise.all([
810
801
  this.findProposalMessage(agentContext, proofRecordId),
@@ -812,8 +803,8 @@ class V1ProofProtocol extends core_1.BaseProofProtocol {
812
803
  this.findPresentationMessage(agentContext, proofRecordId),
813
804
  ]);
814
805
  let indyProposeProof = undefined;
815
- const indyRequestProof = (_a = requestMessage === null || requestMessage === void 0 ? void 0 : requestMessage.indyProofRequest) !== null && _a !== void 0 ? _a : undefined;
816
- const indyPresentProof = (_b = presentationMessage === null || presentationMessage === void 0 ? void 0 : presentationMessage.indyProof) !== null && _b !== void 0 ? _b : undefined;
806
+ const indyRequestProof = requestMessage?.indyProofRequest ?? undefined;
807
+ const indyPresentProof = presentationMessage?.indyProof ?? undefined;
817
808
  if (proposalMessage && indyRequestProof) {
818
809
  indyProposeProof = (0, utils_1.createRequestFromPreview)({
819
810
  name: indyRequestProof.name,