@bifold/core 2.10.2 → 2.11.1

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 (266) hide show
  1. package/lib/commonjs/components/listItems/NotificationListItem.js +19 -11
  2. package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
  3. package/lib/commonjs/components/misc/CredentialCard.js +3 -1
  4. package/lib/commonjs/components/misc/CredentialCard.js.map +1 -1
  5. package/lib/commonjs/components/misc/CredentialCard10.js +13 -5
  6. package/lib/commonjs/components/misc/CredentialCard10.js.map +1 -1
  7. package/lib/commonjs/components/misc/CredentialCard11.js +25 -22
  8. package/lib/commonjs/components/misc/CredentialCard11.js.map +1 -1
  9. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js +8 -7
  10. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  11. package/lib/commonjs/components/views/KeyboardView.js +19 -4
  12. package/lib/commonjs/components/views/KeyboardView.js.map +1 -1
  13. package/lib/commonjs/constants.js +1 -0
  14. package/lib/commonjs/constants.js.map +1 -1
  15. package/lib/commonjs/container-api.js +3 -1
  16. package/lib/commonjs/container-api.js.map +1 -1
  17. package/lib/commonjs/container-impl.js +16 -0
  18. package/lib/commonjs/container-impl.js.map +1 -1
  19. package/lib/commonjs/hooks/notifications.js +4 -2
  20. package/lib/commonjs/hooks/notifications.js.map +1 -1
  21. package/lib/commonjs/hooks/useBifoldAgentSetup.js +5 -3
  22. package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
  23. package/lib/commonjs/index.js +16 -0
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/localization/en/en.json +8 -1
  26. package/lib/commonjs/localization/fr/fr.json +8 -1
  27. package/lib/commonjs/localization/pt-br/pt-br.json +8 -1
  28. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js +41 -1
  29. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  30. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
  31. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  32. package/lib/commonjs/modules/openid/hooks/openid.js +38 -6
  33. package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
  34. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +82 -0
  35. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
  36. package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js +60 -0
  37. package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
  38. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +84 -0
  39. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
  40. package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js +55 -0
  41. package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
  42. package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js +82 -0
  43. package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
  44. package/lib/commonjs/modules/openid/metadata.js +60 -1
  45. package/lib/commonjs/modules/openid/metadata.js.map +1 -1
  46. package/lib/commonjs/modules/openid/notification.js +42 -0
  47. package/lib/commonjs/modules/openid/notification.js.map +1 -0
  48. package/lib/commonjs/modules/openid/offerResolve.js +6 -0
  49. package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
  50. package/lib/commonjs/modules/openid/refresh/reIssuance.js +95 -0
  51. package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -0
  52. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +265 -0
  53. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
  54. package/lib/commonjs/modules/openid/refresh/refreshToken.js +78 -0
  55. package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -0
  56. package/lib/commonjs/modules/openid/refresh/registery.js +143 -0
  57. package/lib/commonjs/modules/openid/refresh/registery.js.map +1 -0
  58. package/lib/commonjs/modules/openid/refresh/types.js +17 -0
  59. package/lib/commonjs/modules/openid/refresh/types.js.map +1 -0
  60. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +34 -0
  61. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
  62. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
  63. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  64. package/lib/commonjs/modules/openid/utils/utils.js +66 -0
  65. package/lib/commonjs/modules/openid/utils/utils.js.map +1 -1
  66. package/lib/commonjs/screens/CredentialDetails.js +28 -6
  67. package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
  68. package/lib/commonjs/screens/CredentialOffer.js +6 -9
  69. package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
  70. package/lib/commonjs/screens/CredentialOfferAccept.js +18 -2
  71. package/lib/commonjs/screens/CredentialOfferAccept.js.map +1 -1
  72. package/lib/commonjs/screens/Developer.js +26 -0
  73. package/lib/commonjs/screens/Developer.js.map +1 -1
  74. package/lib/commonjs/screens/Home.js +39 -1
  75. package/lib/commonjs/screens/Home.js.map +1 -1
  76. package/lib/commonjs/screens/ListCredentials.js +2 -2
  77. package/lib/commonjs/screens/ListCredentials.js.map +1 -1
  78. package/lib/commonjs/screens/ProofChangeCredential.js +3 -3
  79. package/lib/commonjs/screens/ProofChangeCredential.js.map +1 -1
  80. package/lib/commonjs/screens/ProofRequest.js +4 -4
  81. package/lib/commonjs/screens/ProofRequest.js.map +1 -1
  82. package/lib/commonjs/services/AgentBridge.js +90 -0
  83. package/lib/commonjs/services/AgentBridge.js.map +1 -0
  84. package/lib/commonjs/types/credentials.js +9 -0
  85. package/lib/commonjs/types/credentials.js.map +1 -1
  86. package/lib/commonjs/utils/agent.js +1 -1
  87. package/lib/commonjs/utils/agent.js.map +1 -1
  88. package/lib/commonjs/utils/cred-def.js +50 -43
  89. package/lib/commonjs/utils/cred-def.js.map +1 -1
  90. package/lib/commonjs/utils/credential.js +217 -1
  91. package/lib/commonjs/utils/credential.js.map +1 -1
  92. package/lib/commonjs/utils/helpers.js +83 -22
  93. package/lib/commonjs/utils/helpers.js.map +1 -1
  94. package/lib/module/components/listItems/NotificationListItem.js +19 -11
  95. package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
  96. package/lib/module/components/misc/CredentialCard.js +3 -1
  97. package/lib/module/components/misc/CredentialCard.js.map +1 -1
  98. package/lib/module/components/misc/CredentialCard10.js +14 -6
  99. package/lib/module/components/misc/CredentialCard10.js.map +1 -1
  100. package/lib/module/components/misc/CredentialCard11.js +17 -14
  101. package/lib/module/components/misc/CredentialCard11.js.map +1 -1
  102. package/lib/module/components/views/CredentialDetailPrimaryHeader.js +9 -8
  103. package/lib/module/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  104. package/lib/module/components/views/KeyboardView.js +19 -4
  105. package/lib/module/components/views/KeyboardView.js.map +1 -1
  106. package/lib/module/constants.js +1 -0
  107. package/lib/module/constants.js.map +1 -1
  108. package/lib/module/container-api.js +3 -1
  109. package/lib/module/container-api.js.map +1 -1
  110. package/lib/module/container-impl.js +16 -0
  111. package/lib/module/container-impl.js.map +1 -1
  112. package/lib/module/hooks/notifications.js +4 -2
  113. package/lib/module/hooks/notifications.js.map +1 -1
  114. package/lib/module/hooks/useBifoldAgentSetup.js +5 -3
  115. package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
  116. package/lib/module/index.js +3 -1
  117. package/lib/module/index.js.map +1 -1
  118. package/lib/module/localization/en/en.json +8 -1
  119. package/lib/module/localization/fr/fr.json +8 -1
  120. package/lib/module/localization/pt-br/pt-br.json +8 -1
  121. package/lib/module/modules/openid/components/OpenIDCredentialCard.js +41 -1
  122. package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  123. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
  124. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  125. package/lib/module/modules/openid/hooks/openid.js +38 -5
  126. package/lib/module/modules/openid/hooks/openid.js.map +1 -1
  127. package/lib/module/modules/openid/hooks/useAcceptReplacement.js +76 -0
  128. package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
  129. package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js +54 -0
  130. package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
  131. package/lib/module/modules/openid/hooks/useDeclineReplacement.js +77 -0
  132. package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
  133. package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js +47 -0
  134. package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
  135. package/lib/module/modules/openid/hooks/useReplacementNotifications.js +75 -0
  136. package/lib/module/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
  137. package/lib/module/modules/openid/metadata.js +52 -1
  138. package/lib/module/modules/openid/metadata.js.map +1 -1
  139. package/lib/module/modules/openid/notification.js +38 -0
  140. package/lib/module/modules/openid/notification.js.map +1 -0
  141. package/lib/module/modules/openid/offerResolve.js +7 -1
  142. package/lib/module/modules/openid/offerResolve.js.map +1 -1
  143. package/lib/module/modules/openid/refresh/reIssuance.js +89 -0
  144. package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -0
  145. package/lib/module/modules/openid/refresh/refreshOrchestrator.js +257 -0
  146. package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
  147. package/lib/module/modules/openid/refresh/refreshToken.js +72 -0
  148. package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -0
  149. package/lib/module/modules/openid/refresh/registery.js +135 -0
  150. package/lib/module/modules/openid/refresh/registery.js.map +1 -0
  151. package/lib/module/modules/openid/refresh/types.js +11 -0
  152. package/lib/module/modules/openid/refresh/types.js.map +1 -0
  153. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +28 -0
  154. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
  155. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
  156. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  157. package/lib/module/modules/openid/utils/utils.js +64 -1
  158. package/lib/module/modules/openid/utils/utils.js.map +1 -1
  159. package/lib/module/screens/CredentialDetails.js +29 -7
  160. package/lib/module/screens/CredentialDetails.js.map +1 -1
  161. package/lib/module/screens/CredentialOffer.js +7 -10
  162. package/lib/module/screens/CredentialOffer.js.map +1 -1
  163. package/lib/module/screens/CredentialOfferAccept.js +19 -3
  164. package/lib/module/screens/CredentialOfferAccept.js.map +1 -1
  165. package/lib/module/screens/Developer.js +27 -1
  166. package/lib/module/screens/Developer.js.map +1 -1
  167. package/lib/module/screens/Home.js +41 -3
  168. package/lib/module/screens/Home.js.map +1 -1
  169. package/lib/module/screens/ListCredentials.js +1 -1
  170. package/lib/module/screens/ListCredentials.js.map +1 -1
  171. package/lib/module/screens/ProofChangeCredential.js +1 -1
  172. package/lib/module/screens/ProofChangeCredential.js.map +1 -1
  173. package/lib/module/screens/ProofRequest.js +1 -1
  174. package/lib/module/screens/ProofRequest.js.map +1 -1
  175. package/lib/module/services/AgentBridge.js +83 -0
  176. package/lib/module/services/AgentBridge.js.map +1 -0
  177. package/lib/module/types/credentials.js +8 -1
  178. package/lib/module/types/credentials.js.map +1 -1
  179. package/lib/module/utils/agent.js +2 -2
  180. package/lib/module/utils/agent.js.map +1 -1
  181. package/lib/module/utils/cred-def.js +46 -43
  182. package/lib/module/utils/cred-def.js.map +1 -1
  183. package/lib/module/utils/credential.js +210 -0
  184. package/lib/module/utils/credential.js.map +1 -1
  185. package/lib/module/utils/helpers.js +80 -22
  186. package/lib/module/utils/helpers.js.map +1 -1
  187. package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
  188. package/lib/typescript/src/components/misc/CredentialCard.d.ts +1 -2
  189. package/lib/typescript/src/components/misc/CredentialCard.d.ts.map +1 -1
  190. package/lib/typescript/src/components/misc/CredentialCard10.d.ts.map +1 -1
  191. package/lib/typescript/src/components/misc/CredentialCard11.d.ts +1 -5
  192. package/lib/typescript/src/components/misc/CredentialCard11.d.ts.map +1 -1
  193. package/lib/typescript/src/components/views/CredentialDetailPrimaryHeader.d.ts.map +1 -1
  194. package/lib/typescript/src/components/views/KeyboardView.d.ts +14 -0
  195. package/lib/typescript/src/components/views/KeyboardView.d.ts.map +1 -1
  196. package/lib/typescript/src/constants.d.ts +2 -1
  197. package/lib/typescript/src/constants.d.ts.map +1 -1
  198. package/lib/typescript/src/container-api.d.ts +8 -0
  199. package/lib/typescript/src/container-api.d.ts.map +1 -1
  200. package/lib/typescript/src/container-impl.d.ts +2 -0
  201. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  202. package/lib/typescript/src/hooks/notifications.d.ts +2 -1
  203. package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
  204. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
  205. package/lib/typescript/src/index.d.ts +4 -1
  206. package/lib/typescript/src/index.d.ts.map +1 -1
  207. package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts.map +1 -1
  208. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +1 -2
  209. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
  210. package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
  211. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +11 -0
  212. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -0
  213. package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts +9 -0
  214. package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts.map +1 -0
  215. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts +16 -0
  216. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -0
  217. package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts +8 -0
  218. package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts.map +1 -0
  219. package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts +6 -0
  220. package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts.map +1 -0
  221. package/lib/typescript/src/modules/openid/metadata.d.ts +27 -2
  222. package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
  223. package/lib/typescript/src/modules/openid/notification.d.ts +16 -0
  224. package/lib/typescript/src/modules/openid/notification.d.ts.map +1 -0
  225. package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
  226. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +19 -0
  227. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -0
  228. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +25 -0
  229. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -0
  230. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +9 -0
  231. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -0
  232. package/lib/typescript/src/modules/openid/refresh/registery.d.ts +55 -0
  233. package/lib/typescript/src/modules/openid/refresh/registery.d.ts.map +1 -0
  234. package/lib/typescript/src/modules/openid/refresh/types.d.ts +59 -0
  235. package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -0
  236. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +11 -0
  237. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -0
  238. package/lib/typescript/src/modules/openid/screens/OpenIDCredentialOffer.d.ts.map +1 -1
  239. package/lib/typescript/src/modules/openid/utils/utils.d.ts +4 -0
  240. package/lib/typescript/src/modules/openid/utils/utils.d.ts.map +1 -1
  241. package/lib/typescript/src/screens/CredentialDetails.d.ts.map +1 -1
  242. package/lib/typescript/src/screens/CredentialOffer.d.ts.map +1 -1
  243. package/lib/typescript/src/screens/CredentialOfferAccept.d.ts.map +1 -1
  244. package/lib/typescript/src/screens/Developer.d.ts.map +1 -1
  245. package/lib/typescript/src/screens/Home.d.ts.map +1 -1
  246. package/lib/typescript/src/screens/ListCredentials.d.ts.map +1 -1
  247. package/lib/typescript/src/services/AgentBridge.d.ts +31 -0
  248. package/lib/typescript/src/services/AgentBridge.d.ts.map +1 -0
  249. package/lib/typescript/src/types/credentials.d.ts +5 -0
  250. package/lib/typescript/src/types/credentials.d.ts.map +1 -1
  251. package/lib/typescript/src/types/notification.d.ts +4 -0
  252. package/lib/typescript/src/types/notification.d.ts.map +1 -1
  253. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  254. package/lib/typescript/src/utils/cred-def.d.ts +8 -3
  255. package/lib/typescript/src/utils/cred-def.d.ts.map +1 -1
  256. package/lib/typescript/src/utils/credential.d.ts +36 -0
  257. package/lib/typescript/src/utils/credential.d.ts.map +1 -1
  258. package/lib/typescript/src/utils/helpers.d.ts +5 -1
  259. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  260. package/package.json +10 -4
  261. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js +0 -25
  262. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js.map +0 -1
  263. package/lib/module/modules/openid/refresh/refreshMetadata.js +0 -18
  264. package/lib/module/modules/openid/refresh/refreshMetadata.js.map +0 -1
  265. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts +0 -20
  266. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts.map +0 -1
@@ -3,58 +3,34 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.fallbackDefaultCredentialNameValue = exports.defaultCredDefTag = void 0;
7
+ exports.getCredDefTag = getCredDefTag;
6
8
  exports.getCredentialName = getCredentialName;
9
+ exports.getSchemaName = getSchemaName;
7
10
  exports.parsedCredDefName = parsedCredDefName;
8
11
  exports.parsedCredDefNameFromCredential = parsedCredDefNameFromCredential;
9
12
  var _anoncreds = require("@credo-ts/anoncreds");
10
13
  var _schema = require("./schema");
14
+ var _credential = require("./credential");
15
+ // Fallback default credential name when no other name is available
16
+ const fallbackDefaultCredentialNameValue = exports.fallbackDefaultCredentialNameValue = 'Credential';
17
+
18
+ // Default credential definition tag value
19
+ const defaultCredDefTag = exports.defaultCredDefTag = 'default';
20
+
11
21
  // Normalize incoming identifiers by trimming whitespace and converting empty strings to undefined
12
22
  function normalizeId(id) {
13
23
  if (typeof id !== 'string') return undefined;
14
24
  const trimmed = id.trim();
15
25
  return trimmed.length > 0 ? trimmed : undefined;
16
26
  }
17
- async function getCredentialName(credDefId, schemaId, agent) {
27
+ async function getCredentialName(credDefId, schemaId) {
18
28
  const normalizedCredDefId = normalizeId(credDefId);
19
29
  const normalizedSchemaId = normalizeId(schemaId);
20
- const isWebvh = !!(normalizedCredDefId !== null && normalizedCredDefId !== void 0 && normalizedCredDefId.toLowerCase().startsWith('did:webvh:') || normalizedSchemaId !== null && normalizedSchemaId !== void 0 && normalizedSchemaId.toLowerCase().startsWith('did:webvh:'));
21
- if (isWebvh) {
22
- return parseWebVHCredDefId(normalizedCredDefId, normalizedSchemaId, agent);
23
- }
24
30
  return parseIndyCredDefId(normalizedCredDefId, normalizedSchemaId);
25
31
  }
26
- async function parseWebVHCredDefId(credDefId, schemaId, agent) {
27
- var _agent$modules;
28
- let name = 'Credential';
29
- if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
30
- return name;
31
- }
32
- if (credDefId) {
33
- try {
34
- const {
35
- credentialDefinition: result
36
- } = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
37
- name = (result === null || result === void 0 ? void 0 : result.tag) ?? name;
38
- } catch {
39
- var _agent$config;
40
- agent === null || agent === void 0 || (_agent$config = agent.config) === null || _agent$config === void 0 || (_agent$config = _agent$config.logger) === null || _agent$config === void 0 || _agent$config.info('parseWebVHCredDefId: Credential definition not found, using default name');
41
- }
42
- }
43
- if ((name.toLowerCase() === 'default' || name.toLowerCase() === 'credential') && schemaId) {
44
- try {
45
- const {
46
- schema: result
47
- } = await agent.modules.anoncreds.getSchema(schemaId);
48
- name = (result === null || result === void 0 ? void 0 : result.name) ?? name;
49
- } catch {
50
- var _agent$config2;
51
- agent === null || agent === void 0 || (_agent$config2 = agent.config) === null || _agent$config2 === void 0 || (_agent$config2 = _agent$config2.logger) === null || _agent$config2 === void 0 || _agent$config2.info('parseWebVHCredDefId: Schema definition not found, using default name');
52
- }
53
- }
54
- return name || 'Credential';
55
- }
56
32
  function parseIndyCredDefId(credDefId, schemaId) {
57
- let name = 'Credential';
33
+ let name = fallbackDefaultCredentialNameValue;
58
34
  if (credDefId) {
59
35
  try {
60
36
  const parsedCredDef = (0, _anoncreds.parseIndyCredentialDefinitionId)(credDefId);
@@ -63,17 +39,17 @@ function parseIndyCredDefId(credDefId, schemaId) {
63
39
  // If parsing fails, keep the default name
64
40
  }
65
41
  }
66
- if (name.toLowerCase() === 'default' || name.toLowerCase() === 'credential') {
42
+ if (name.toLowerCase() === defaultCredDefTag || name.toLowerCase() === fallbackDefaultCredentialNameValue.toLowerCase()) {
67
43
  if (schemaId) {
68
44
  try {
69
45
  const parsedSchema = (0, _anoncreds.parseIndySchemaId)(schemaId);
70
46
  name = (parsedSchema === null || parsedSchema === void 0 ? void 0 : parsedSchema.schemaName) ?? name;
71
47
  } catch {
72
48
  // If parsing fails, keep the default name
73
- name = 'Credential';
49
+ name = fallbackDefaultCredentialNameValue;
74
50
  }
75
51
  } else {
76
- name = 'Credential';
52
+ name = fallbackDefaultCredentialNameValue;
77
53
  }
78
54
  }
79
55
  return name;
@@ -82,10 +58,41 @@ function credentialDefinition(credential) {
82
58
  var _credential$metadata$;
83
59
  return (_credential$metadata$ = credential.metadata.get(_anoncreds.AnonCredsCredentialMetadataKey)) === null || _credential$metadata$ === void 0 ? void 0 : _credential$metadata$.credentialDefinitionId;
84
60
  }
85
- async function parsedCredDefNameFromCredential(credential, agent) {
86
- return getCredentialName(credentialDefinition(credential), (0, _schema.credentialSchema)(credential), agent);
61
+ function getSchemaName(credential) {
62
+ const metadata = credential.metadata.get(_anoncreds.AnonCredsCredentialMetadataKey);
63
+ const schemaName = metadata === null || metadata === void 0 ? void 0 : metadata.schemaName;
64
+ return schemaName;
65
+ }
66
+ function getCredDefTag(credential) {
67
+ const metadata = credential.metadata.get(_anoncreds.AnonCredsCredentialMetadataKey);
68
+ const credDefTag = metadata === null || metadata === void 0 ? void 0 : metadata.credDefTag;
69
+ return credDefTag;
70
+ }
71
+ async function parsedCredDefNameFromCredential(credential, agent, logger) {
72
+ // Ensure metadata is cached if agent is provided
73
+ if (agent) {
74
+ try {
75
+ await (0, _credential.ensureCredentialMetadata)(credential, agent, undefined, logger);
76
+ } catch (error) {
77
+ // If metadata restoration fails, we'll fall back to parsing IDs or default name
78
+ logger === null || logger === void 0 || logger.warn('Failed to restore credential metadata in parsedCredDefNameFromCredential', {
79
+ error: error
80
+ });
81
+ }
82
+ }
83
+
84
+ // Check if we have cached metadata
85
+ const cachedSchemaName = getSchemaName(credential);
86
+ if (cachedSchemaName) {
87
+ // Use the priority waterfall logic (OCA name > credDefTag > schemaName > fallback)
88
+ return (0, _credential.getEffectiveCredentialName)(credential);
89
+ }
90
+
91
+ // Fallback: parse the IDs if metadata is not cached and no agent to resolve
92
+ const fallbackName = await getCredentialName(credentialDefinition(credential), (0, _schema.credentialSchema)(credential));
93
+ return fallbackName;
87
94
  }
88
- async function parsedCredDefName(credentialDefinitionId, schemaId, agent) {
89
- return getCredentialName(credentialDefinitionId, schemaId, agent);
95
+ async function parsedCredDefName(credentialDefinitionId, schemaId) {
96
+ return getCredentialName(credentialDefinitionId, schemaId);
90
97
  }
91
98
  //# sourceMappingURL=cred-def.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_anoncreds","require","_schema","normalizeId","id","undefined","trimmed","trim","length","getCredentialName","credDefId","schemaId","agent","normalizedCredDefId","normalizedSchemaId","isWebvh","toLowerCase","startsWith","parseWebVHCredDefId","parseIndyCredDefId","_agent$modules","name","modules","anoncreds","credentialDefinition","result","getCredentialDefinition","tag","_agent$config","config","logger","info","schema","getSchema","_agent$config2","parsedCredDef","parseIndyCredentialDefinitionId","parsedSchema","parseIndySchemaId","schemaName","credential","_credential$metadata$","metadata","get","AnonCredsCredentialMetadataKey","credentialDefinitionId","parsedCredDefNameFromCredential","credentialSchema","parsedCredDefName"],"sourceRoot":"../../../src","sources":["utils/cred-def.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_anoncreds","require","_schema","_credential","fallbackDefaultCredentialNameValue","exports","defaultCredDefTag","normalizeId","id","undefined","trimmed","trim","length","getCredentialName","credDefId","schemaId","normalizedCredDefId","normalizedSchemaId","parseIndyCredDefId","name","parsedCredDef","parseIndyCredentialDefinitionId","tag","toLowerCase","parsedSchema","parseIndySchemaId","schemaName","credentialDefinition","credential","_credential$metadata$","metadata","get","AnonCredsCredentialMetadataKey","credentialDefinitionId","getSchemaName","getCredDefTag","credDefTag","parsedCredDefNameFromCredential","agent","logger","ensureCredentialMetadata","error","warn","cachedSchemaName","getEffectiveCredentialName","fallbackName","credentialSchema","parsedCredDefName"],"sourceRoot":"../../../src","sources":["utils/cred-def.ts"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.toImageSource = exports.isValidAnonCredsCredential = exports.getCredentialIdentifiers = exports.credentialTextColor = void 0;
6
+ exports.credentialTextColor = void 0;
7
+ exports.ensureCredentialMetadata = ensureCredentialMetadata;
8
+ exports.getCredentialIdentifiers = void 0;
9
+ exports.getEffectiveCredentialName = getEffectiveCredentialName;
10
+ exports.isValidAnonCredsCredential = void 0;
11
+ exports.isValidCredentialName = isValidCredentialName;
12
+ exports.toImageSource = void 0;
7
13
  var _anoncreds = require("@credo-ts/anoncreds");
8
14
  var _core = require("@credo-ts/core");
9
15
  var _luminance = require("./luminance");
16
+ var _credDef = require("./cred-def");
10
17
  const isValidAnonCredsCredential = credential => {
11
18
  return credential && (credential.state === _core.CredentialState.OfferReceived || Boolean(credential.metadata.get(_anoncreds.AnonCredsCredentialMetadataKey)) && credential.credentials.find(c => c.credentialRecordType === 'anoncreds' || c.credentialRecordType === 'w3c'));
12
19
  };
@@ -37,5 +44,214 @@ const getCredentialIdentifiers = credential => {
37
44
  schemaId: (_credential$metadata$2 = credential.metadata.get(_anoncreds.AnonCredsCredentialMetadataKey)) === null || _credential$metadata$2 === void 0 ? void 0 : _credential$metadata$2.schemaId
38
45
  };
39
46
  };
47
+
48
+ /**
49
+ * Attempts to resolve schema and credDef IDs from credential format data.
50
+ */
40
51
  exports.getCredentialIdentifiers = getCredentialIdentifiers;
52
+ async function resolveIdsFromFormatData(credential, agent, logger) {
53
+ try {
54
+ const {
55
+ offer
56
+ } = await agent.credentials.getFormatData(credential.id);
57
+ const formatOfferData = (offer === null || offer === void 0 ? void 0 : offer.anoncreds) ?? (offer === null || offer === void 0 ? void 0 : offer.indy);
58
+
59
+ // Type guard to check if formatOfferData has the expected structure
60
+ if (formatOfferData && typeof formatOfferData === 'object' && 'schema_id' in formatOfferData && typeof formatOfferData.schema_id === 'string') {
61
+ return {
62
+ schemaId: formatOfferData.schema_id,
63
+ credDefId: 'cred_def_id' in formatOfferData && typeof formatOfferData.cred_def_id === 'string' ? formatOfferData.cred_def_id : undefined
64
+ };
65
+ }
66
+ } catch (error) {
67
+ logger === null || logger === void 0 || logger.error('Failed to get format data', {
68
+ error: error
69
+ });
70
+ }
71
+ return {};
72
+ }
73
+
74
+ /**
75
+ * Resolves schema name from the given schema ID.
76
+ */
77
+ async function resolveSchemaName(schemaId, agent, logger) {
78
+ try {
79
+ const {
80
+ schema: resolvedSchema
81
+ } = await agent.modules.anoncreds.getSchema(schemaId);
82
+ const schemaName = resolvedSchema === null || resolvedSchema === void 0 ? void 0 : resolvedSchema.name;
83
+ logger === null || logger === void 0 || logger.debug('Resolved schema name', {
84
+ schemaId,
85
+ schemaName
86
+ });
87
+ return schemaName;
88
+ } catch (error) {
89
+ logger === null || logger === void 0 || logger.warn('Failed to resolve schema', {
90
+ error: error,
91
+ schemaId
92
+ });
93
+ return undefined;
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Resolves credential definition tag from the given cred def ID.
99
+ */
100
+ async function resolveCredDefTag(credDefId, agent, logger) {
101
+ try {
102
+ const {
103
+ credentialDefinition: resolvedCredDef
104
+ } = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
105
+ const credDefTag = resolvedCredDef === null || resolvedCredDef === void 0 ? void 0 : resolvedCredDef.tag;
106
+ logger === null || logger === void 0 || logger.debug('Resolved credential definition tag', {
107
+ credDefId,
108
+ credDefTag
109
+ });
110
+ return credDefTag;
111
+ } catch (error) {
112
+ logger === null || logger === void 0 || logger.warn('Failed to resolve credential definition', {
113
+ error: error,
114
+ credDefId
115
+ });
116
+ return undefined;
117
+ }
118
+ }
119
+
120
+ /**
121
+ * Determines the IDs to use for resolution, preferring offer data over existing metadata.
122
+ */
123
+ async function determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger) {
124
+ let schemaId = (offerData === null || offerData === void 0 ? void 0 : offerData.schema_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaId);
125
+ let credDefId = (offerData === null || offerData === void 0 ? void 0 : offerData.cred_def_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credentialDefinitionId);
126
+ const needsResolution = !schemaId || !credDefId;
127
+ if (needsResolution) {
128
+ const resolvedIds = await resolveIdsFromFormatData(credential, agent, logger);
129
+ schemaId = schemaId || resolvedIds.schemaId;
130
+ credDefId = credDefId || resolvedIds.credDefId;
131
+ }
132
+ return {
133
+ schemaId,
134
+ credDefId
135
+ };
136
+ }
137
+
138
+ /**
139
+ * Updates credential metadata with resolved schema name and cred def tag.
140
+ */
141
+ async function updateCredentialMetadata(params) {
142
+ const {
143
+ credential,
144
+ agent,
145
+ existingMetadata,
146
+ schemaId,
147
+ credDefId,
148
+ schemaName,
149
+ credDefTag,
150
+ logger
151
+ } = params;
152
+ const metadataToStore = {
153
+ ...existingMetadata,
154
+ schemaId,
155
+ credentialDefinitionId: credDefId,
156
+ schemaName,
157
+ credDefTag
158
+ };
159
+ credential.metadata.add(_anoncreds.AnonCredsCredentialMetadataKey, metadataToStore);
160
+ await agent.credentials.update(credential);
161
+ logger === null || logger === void 0 || logger.info('Credential metadata ensured', {
162
+ credentialId: credential.id,
163
+ schemaName,
164
+ credDefTag,
165
+ wasUpdated: true
166
+ });
167
+ }
168
+
169
+ /**
170
+ * Ensures credential has all required metadata cached. If any metadata is missing,
171
+ * it will be resolved and added to the credential.
172
+ *
173
+ * @param credential - The credential record to ensure metadata for
174
+ * @param agent - The agent instance for resolving schema/credDef
175
+ * @param offerData - Optional offer data containing schema_id and cred_def_id
176
+ * @param logger - Optional logger instance for logging
177
+ * @returns Promise<boolean> - Returns true if metadata was updated, false otherwise
178
+ */
179
+ async function ensureCredentialMetadata(credential, agent, offerData, logger) {
180
+ var _agent$modules;
181
+ if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
182
+ return false;
183
+ }
184
+ const existingMetadata = credential.metadata.get(_anoncreds.AnonCredsCredentialMetadataKey);
185
+ const {
186
+ schemaId,
187
+ credDefId
188
+ } = await determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger);
189
+
190
+ // Check what's missing
191
+ const needsSchemaName = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.schemaName) && schemaId;
192
+ const needsCredDefTag = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.credDefTag) && credDefId;
193
+ const hasAllMetadata = !needsSchemaName && !needsCredDefTag;
194
+ if (hasAllMetadata) {
195
+ return false;
196
+ }
197
+
198
+ // Resolve missing metadata
199
+ const schemaName = needsSchemaName && schemaId ? await resolveSchemaName(schemaId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaName;
200
+ const credDefTag = needsCredDefTag && credDefId ? await resolveCredDefTag(credDefId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credDefTag;
201
+ await updateCredentialMetadata({
202
+ credential,
203
+ agent,
204
+ existingMetadata,
205
+ schemaId,
206
+ credDefId,
207
+ schemaName,
208
+ credDefTag,
209
+ logger
210
+ });
211
+ return true;
212
+ }
213
+
214
+ /**
215
+ * Validates whether a credential name is meaningful and should be used for display.
216
+ * Returns false for undefined, empty, whitespace-only, or default placeholder names.
217
+ *
218
+ * @param name - The name to validate
219
+ * @returns true if the name is valid and meaningful, false otherwise
220
+ */
221
+ function isValidCredentialName(name) {
222
+ return !!(name && name !== _credDef.defaultCredDefTag && name !== _credDef.fallbackDefaultCredentialNameValue && name.trim() !== '');
223
+ }
224
+
225
+ /**
226
+ * Determines the effective credential name using a priority waterfall:
227
+ * 1. OCA Bundle name (if present and meaningful)
228
+ * 2. Credential definition tag (if present)
229
+ * 3. Schema name (if present)
230
+ * 4. Default fallback name
231
+ *
232
+ * @param credential - The credential record
233
+ * @param ocaName - The name from OCA meta overlay
234
+ * @returns The effective name to use for display
235
+ */
236
+ function getEffectiveCredentialName(credential, ocaName) {
237
+ // 1. Try OCA Bundle name
238
+ if (isValidCredentialName(ocaName)) {
239
+ return ocaName;
240
+ }
241
+
242
+ // 2. Try credential definition tag
243
+ const credDefTag = (0, _credDef.getCredDefTag)(credential);
244
+ if (isValidCredentialName(credDefTag)) {
245
+ return credDefTag;
246
+ }
247
+
248
+ // 3. Try schema name
249
+ const schemaName = (0, _credDef.getSchemaName)(credential);
250
+ if (isValidCredentialName(schemaName)) {
251
+ return schemaName;
252
+ }
253
+
254
+ // 4. Return default fallback
255
+ return _credDef.fallbackDefaultCredentialNameValue;
256
+ }
41
257
  //# sourceMappingURL=credential.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_anoncreds","require","_core","_luminance","isValidAnonCredsCredential","credential","state","CredentialState","OfferReceived","Boolean","metadata","get","AnonCredsCredentialMetadataKey","credentials","find","c","credentialRecordType","exports","credentialTextColor","ColorPalette","hex","midpoint","luminanceForHexColor","grayscale","darkGrey","white","toImageSource","source","uri","getCredentialIdentifiers","_credential$metadata$","_credential$metadata$2","credentialDefinitionId","schemaId"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA;AAEO,MAAMG,0BAA0B,GAAIC,UAAoC,IAAK;EAClF,OACEA,UAAU,KACTA,UAAU,CAACC,KAAK,KAAKC,qBAAe,CAACC,aAAa,IAChDC,OAAO,CAACJ,UAAU,CAACK,QAAQ,CAACC,GAAG,CAACC,yCAA8B,CAAC,CAAC,IAC/DP,UAAU,CAACQ,WAAW,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,oBAAoB,KAAK,WAAW,IAAID,CAAC,CAACC,oBAAoB,KAAK,KAAK,CAAE,CAAC;AAExH,CAAC;;AAED;AAAAC,OAAA,CAAAb,0BAAA,GAAAA,0BAAA;AACO,MAAMc,mBAAmB,GAAGA,CAACC,YAAiB,EAAEC,GAAY,KAAK;EACtE,MAAMC,QAAQ,GAAG,GAAG,GAAG,CAAC;EACxB,IAAI,CAAC,IAAAC,+BAAoB,EAACF,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAKC,QAAQ,EAAE;IACtD,OAAOF,YAAY,CAACI,SAAS,CAACC,QAAQ;EACxC;EACA,OAAOL,YAAY,CAACI,SAAS,CAACE,KAAK;AACrC,CAAC;AAAAR,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAEM,MAAMQ,aAAa,GAAIC,MAAe,IAA0B;EACrE,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO;MAAEC,GAAG,EAAED;IAAiB,CAAC;EAClC;EACA,OAAOA,MAAM;AACf,CAAC;AAAAV,OAAA,CAAAS,aAAA,GAAAA,aAAA;AAEM,MAAMG,wBAAwB,GAAIxB,UAAoC,IAAK;EAAA,IAAAyB,qBAAA,EAAAC,sBAAA;EAChF,OAAO;IACLC,sBAAsB,GAAAF,qBAAA,GAAEzB,UAAU,CAACK,QAAQ,CAACC,GAAG,CAACC,yCAA8B,CAAC,cAAAkB,qBAAA,uBAAvDA,qBAAA,CAAyDE,sBAAsB;IACvGC,QAAQ,GAAAF,sBAAA,GAAE1B,UAAU,CAACK,QAAQ,CAACC,GAAG,CAACC,yCAA8B,CAAC,cAAAmB,sBAAA,uBAAvDA,sBAAA,CAAyDE;EACrE,CAAC;AACH,CAAC;AAAAhB,OAAA,CAAAY,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_anoncreds","require","_core","_luminance","_credDef","isValidAnonCredsCredential","credential","state","CredentialState","OfferReceived","Boolean","metadata","get","AnonCredsCredentialMetadataKey","credentials","find","c","credentialRecordType","exports","credentialTextColor","ColorPalette","hex","midpoint","luminanceForHexColor","grayscale","darkGrey","white","toImageSource","source","uri","getCredentialIdentifiers","_credential$metadata$","_credential$metadata$2","credentialDefinitionId","schemaId","resolveIdsFromFormatData","agent","logger","offer","getFormatData","id","formatOfferData","anoncreds","indy","schema_id","credDefId","cred_def_id","undefined","error","resolveSchemaName","schema","resolvedSchema","modules","getSchema","schemaName","name","debug","warn","resolveCredDefTag","credentialDefinition","resolvedCredDef","getCredentialDefinition","credDefTag","tag","determineSchemaAndCredDefIds","offerData","existingMetadata","needsResolution","resolvedIds","updateCredentialMetadata","params","metadataToStore","add","update","info","credentialId","wasUpdated","ensureCredentialMetadata","_agent$modules","needsSchemaName","needsCredDefTag","hasAllMetadata","isValidCredentialName","defaultCredDefTag","fallbackDefaultCredentialNameValue","trim","getEffectiveCredentialName","ocaName","getCredDefTag","getSchemaName"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.b64decode = b64decode;
7
7
  exports.b64encode = b64encode;
8
- exports.evaluatePredicates = exports.credentialSortFn = exports.credDefIdFromRestrictions = exports.createTempConnectionInvitation = exports.createConnectionInvitation = exports.connectFromScanOrDeepLink = exports.connectFromInvitation = void 0;
8
+ exports.evaluatePredicates = exports.credentialSortFn = exports.credNameFromRestriction = exports.credDefIdFromRestrictions = exports.createTempConnectionInvitation = exports.createConnectionInvitation = exports.connectFromScanOrDeepLink = exports.connectFromInvitation = void 0;
9
9
  exports.firstValidCredential = firstValidCredential;
10
10
  exports.formatIfDate = formatIfDate;
11
11
  exports.formatTime = formatTime;
@@ -40,7 +40,7 @@ Object.defineProperty(exports, "parsedSchema", {
40
40
  return _schema.parsedSchema;
41
41
  }
42
42
  });
43
- exports.sortCredentialsForAutoSelect = exports.schemaIdFromRestrictions = exports.retrieveCredentialsForProof = exports.removeExistingInvitationsById = exports.processProofPredicates = exports.processProofAttributes = void 0;
43
+ exports.sortCredentialsForAutoSelect = exports.schemaIdFromRestrictions = exports.retrieveCredentialsForProof = exports.resolveSchemaName = exports.resolveCredDefTag = exports.removeExistingInvitationsById = exports.processProofPredicates = exports.processProofAttributes = void 0;
44
44
  exports.useConnectionImageUrl = useConnectionImageUrl;
45
45
  exports.useCredentialConnectionLabel = useCredentialConnectionLabel;
46
46
  var _anoncreds = require("@credo-ts/anoncreds");
@@ -60,6 +60,7 @@ var _error = require("../types/error");
60
60
  var _navigators = require("../types/navigators");
61
61
  var _anonCredsProofRequestMapper = require("./anonCredsProofRequestMapper");
62
62
  var _credDef = require("./cred-def");
63
+ var _credential = require("./credential");
63
64
  var _parsers = require("./parsers");
64
65
  var _mediatorhelpers = require("./mediatorhelpers");
65
66
  var _schema = require("./schema");
@@ -289,6 +290,54 @@ const credentialSortFn = (a, b) => {
289
290
  }
290
291
  };
291
292
  exports.credentialSortFn = credentialSortFn;
293
+ const resolveCredDefTag = async (cred_def_id, agent) => {
294
+ var _agent$modules;
295
+ if (cred_def_id && agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds) {
296
+ try {
297
+ const {
298
+ credentialDefinition
299
+ } = await agent.modules.anoncreds.getCredentialDefinition(cred_def_id);
300
+ if (credentialDefinition !== null && credentialDefinition !== void 0 && credentialDefinition.tag && credentialDefinition.tag.toLowerCase() !== _credDef.defaultCredDefTag && credentialDefinition.tag !== _credDef.fallbackDefaultCredentialNameValue) {
301
+ return credentialDefinition.tag;
302
+ }
303
+ } catch (error) {
304
+ // Failed to resolve credential definition, return undefined
305
+ // This is expected when the credential definition doesn't exist or isn't accessible
306
+ // eslint-disable-next-line no-console
307
+ console.debug('Failed to resolve credential definition tag', {
308
+ cred_def_id,
309
+ error
310
+ });
311
+ return undefined;
312
+ }
313
+ }
314
+ return undefined;
315
+ };
316
+ exports.resolveCredDefTag = resolveCredDefTag;
317
+ const resolveSchemaName = async (schema_id, agent) => {
318
+ var _agent$modules2;
319
+ if (schema_id && agent !== null && agent !== void 0 && (_agent$modules2 = agent.modules) !== null && _agent$modules2 !== void 0 && _agent$modules2.anoncreds) {
320
+ try {
321
+ const {
322
+ schema
323
+ } = await agent.modules.anoncreds.getSchema(schema_id);
324
+ if (schema !== null && schema !== void 0 && schema.name && schema.name !== _credDef.fallbackDefaultCredentialNameValue) {
325
+ return schema.name;
326
+ }
327
+ } catch (error) {
328
+ // Failed to resolve schema, return undefined
329
+ // This is expected when the schema doesn't exist or isn't accessible
330
+ // eslint-disable-next-line no-console
331
+ console.debug('Failed to resolve schema name', {
332
+ schema_id,
333
+ error
334
+ });
335
+ return undefined;
336
+ }
337
+ }
338
+ return undefined;
339
+ };
340
+ exports.resolveSchemaName = resolveSchemaName;
292
341
  const credNameFromRestriction = async (queries, agent) => {
293
342
  let schema_name = '';
294
343
  let cred_def_id = '';
@@ -298,12 +347,28 @@ const credNameFromRestriction = async (queries, agent) => {
298
347
  cred_def_id = (query === null || query === void 0 ? void 0 : query.cred_def_id) ?? cred_def_id;
299
348
  schema_id = (query === null || query === void 0 ? void 0 : query.schema_id) ?? schema_id;
300
349
  });
301
- if (schema_name && (schema_name.toLowerCase() !== 'default' || schema_name.toLowerCase() !== 'credential')) {
350
+
351
+ // Priority 1: Provided restriction schema name (from schema_name in restriction if meaningful)
352
+ if (schema_name && schema_name.toLowerCase() !== _credDef.defaultCredDefTag && schema_name.toLowerCase() !== _credDef.fallbackDefaultCredentialNameValue.toLowerCase()) {
302
353
  return schema_name;
303
- } else {
304
- return await (0, _credDef.getCredentialName)(cred_def_id, schema_id, agent);
305
354
  }
355
+
356
+ // Priority 2: Try to resolve credential definition tag
357
+ const credDefTag = await resolveCredDefTag(cred_def_id, agent);
358
+ if (credDefTag) {
359
+ return credDefTag;
360
+ }
361
+
362
+ // Priority 3: Try to resolve schema name
363
+ const schemaName = await resolveSchemaName(schema_id, agent);
364
+ if (schemaName) {
365
+ return schemaName;
366
+ }
367
+
368
+ // Priority 4: Return default fallback
369
+ return _credDef.fallbackDefaultCredentialNameValue;
306
370
  };
371
+ exports.credNameFromRestriction = credNameFromRestriction;
307
372
  const credDefIdFromRestrictions = queries => {
308
373
  var _queries$filter$;
309
374
  return (queries === null || queries === void 0 || (_queries$filter$ = queries.filter(rstr => rstr.cred_def_id)[0]) === null || _queries$filter$ === void 0 ? void 0 : _queries$filter$.cred_def_id) ?? '';
@@ -491,12 +556,6 @@ const processProofAttributes = async (t, request, credentials, credentialRecords
491
556
  }
492
557
  //iterate over all credentials that satisfy the proof
493
558
  for (const credential of credentialList) {
494
- var _credential$credentia, _credential$credentia2;
495
- let credName = key;
496
- if (credential !== null && credential !== void 0 && (_credential$credentia = credential.credentialInfo) !== null && _credential$credentia !== void 0 && _credential$credentia.credentialDefinitionId || credential !== null && credential !== void 0 && (_credential$credentia2 = credential.credentialInfo) !== null && _credential$credentia2 !== void 0 && _credential$credentia2.schemaId) {
497
- var _credential$credentia3, _credential$credentia4;
498
- credName = await (0, _credDef.getCredentialName)(credential === null || credential === void 0 || (_credential$credentia3 = credential.credentialInfo) === null || _credential$credentia3 === void 0 ? void 0 : _credential$credentia3.credentialDefinitionId, credential === null || credential === void 0 || (_credential$credentia4 = credential.credentialInfo) === null || _credential$credentia4 === void 0 ? void 0 : _credential$credentia4.schemaId, agent);
499
- }
500
559
  let revoked = false;
501
560
  let credExchangeRecord = undefined;
502
561
  if (credential) {
@@ -506,17 +565,20 @@ const processProofAttributes = async (t, request, credentials, credentialRecords
506
565
  } else {
507
566
  continue;
508
567
  }
568
+
569
+ // Use cached metadata if we have the credential record
570
+ const credName = credExchangeRecord ? (0, _credential.getEffectiveCredentialName)(credExchangeRecord) : key;
509
571
  for (const attributeName of [...(names ?? (name && [name]) ?? [])]) {
510
572
  var _processedAttributes$4;
511
573
  if (!processedAttributes[credential.credentialId]) {
512
- var _credential$credentia5, _credential$credentia6;
574
+ var _credential$credentia, _credential$credentia2;
513
575
  // init processedAttributes object
514
576
  processedAttributes[credential.credentialId] = {
515
577
  credExchangeRecord,
516
578
  altCredentials,
517
579
  credId: credential === null || credential === void 0 ? void 0 : credential.credentialId,
518
- schemaId: (credential === null || credential === void 0 || (_credential$credentia5 = credential.credentialInfo) === null || _credential$credentia5 === void 0 ? void 0 : _credential$credentia5.schemaId) ?? proofSchemaId,
519
- credDefId: (credential === null || credential === void 0 || (_credential$credentia6 = credential.credentialInfo) === null || _credential$credentia6 === void 0 ? void 0 : _credential$credentia6.credentialDefinitionId) ?? proofCredDefId,
580
+ schemaId: (credential === null || credential === void 0 || (_credential$credentia = credential.credentialInfo) === null || _credential$credentia === void 0 ? void 0 : _credential$credentia.schemaId) ?? proofSchemaId,
581
+ credDefId: (credential === null || credential === void 0 || (_credential$credentia2 = credential.credentialInfo) === null || _credential$credentia2 === void 0 ? void 0 : _credential$credentia2.credentialDefinitionId) ?? proofCredDefId,
520
582
  credName,
521
583
  attributes: []
522
584
  };
@@ -623,7 +685,7 @@ const processProofPredicates = async (request, credentials, credentialRecords, g
623
685
  }
624
686
  }
625
687
  for (const credential of credentialList) {
626
- var _requestedProofPredic, _credential$credentia7, _credential$credentia8, _processedPredicates$3;
688
+ var _requestedProofPredic, _processedPredicates$3;
627
689
  let revoked = false;
628
690
  let credExchangeRecord = undefined;
629
691
  if (credential) {
@@ -641,11 +703,9 @@ const processProofPredicates = async (request, credentials, credentialRecords, g
641
703
  ...(credential === null || credential === void 0 ? void 0 : credential.credentialInfo)
642
704
  };
643
705
  const credNameRestriction = await credNameFromRestriction((_requestedProofPredic = requestedProofPredicates[key]) === null || _requestedProofPredic === void 0 ? void 0 : _requestedProofPredic.restrictions, agent);
644
- let credName = credNameRestriction ?? key;
645
- if (credential !== null && credential !== void 0 && (_credential$credentia7 = credential.credentialInfo) !== null && _credential$credentia7 !== void 0 && _credential$credentia7.credentialDefinitionId || credential !== null && credential !== void 0 && (_credential$credentia8 = credential.credentialInfo) !== null && _credential$credentia8 !== void 0 && _credential$credentia8.schemaId) {
646
- var _credential$credentia9, _credential$credentia0;
647
- credName = await (0, _credDef.getCredentialName)(credential === null || credential === void 0 || (_credential$credentia9 = credential.credentialInfo) === null || _credential$credentia9 === void 0 ? void 0 : _credential$credentia9.credentialDefinitionId, credential === null || credential === void 0 || (_credential$credentia0 = credential.credentialInfo) === null || _credential$credentia0 === void 0 ? void 0 : _credential$credentia0.schemaId, agent);
648
- }
706
+
707
+ // Use cached metadata if we have the credential record
708
+ const credName = credExchangeRecord ? (0, _credential.getEffectiveCredentialName)(credExchangeRecord) : credNameRestriction ?? key;
649
709
  if (!processedPredicates[credential.credentialId]) {
650
710
  processedPredicates[credential.credentialId] = {
651
711
  altCredentials,
@@ -871,9 +931,10 @@ const sortCredentialsForAutoSelect = credentials => {
871
931
  * received invitations exist
872
932
  * @param agent an Agent instance
873
933
  * @param invitationId specifically a *received* invitation id
934
+ * @param logger optional logger instance
874
935
  */
875
936
  exports.sortCredentialsForAutoSelect = sortCredentialsForAutoSelect;
876
- const removeExistingInvitationsById = async (agent, invitationId) => {
937
+ const removeExistingInvitationsById = async (agent, invitationId, logger) => {
877
938
  // This is implemented just as findByReceivedInvitationId is
878
939
  // in Credo only this is able to return multiple if they exist
879
940
  const oobRecords = (await (agent === null || agent === void 0 ? void 0 : agent.oob.findAllByQuery({
@@ -882,7 +943,7 @@ const removeExistingInvitationsById = async (agent, invitationId) => {
882
943
  }))) || [];
883
944
  for (const r of oobRecords) {
884
945
  await (agent === null || agent === void 0 ? void 0 : agent.oob.deleteById(r.id));
885
- agent === null || agent === void 0 || agent.config.logger.info('Successfully removed an existing oob invitation');
946
+ logger === null || logger === void 0 || logger.info('Successfully removed an existing oob invitation');
886
947
  }
887
948
  };
888
949