@bifold/core 2.10.1 → 2.11.0

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 (312) hide show
  1. package/lib/commonjs/animated-components.js +2 -0
  2. package/lib/commonjs/animated-components.js.map +1 -1
  3. package/lib/commonjs/components/animated/ButtonLoading.js +6 -32
  4. package/lib/commonjs/components/animated/ButtonLoading.js.map +1 -1
  5. package/lib/commonjs/components/animated/LoadingSpinner.js +44 -0
  6. package/lib/commonjs/components/animated/LoadingSpinner.js.map +1 -0
  7. package/lib/commonjs/components/inputs/PINInput.js +15 -8
  8. package/lib/commonjs/components/inputs/PINInput.js.map +1 -1
  9. package/lib/commonjs/components/listItems/NotificationListItem.js +19 -11
  10. package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
  11. package/lib/commonjs/components/misc/CredentialCard.js +3 -1
  12. package/lib/commonjs/components/misc/CredentialCard.js.map +1 -1
  13. package/lib/commonjs/components/misc/CredentialCard10.js +13 -5
  14. package/lib/commonjs/components/misc/CredentialCard10.js.map +1 -1
  15. package/lib/commonjs/components/misc/CredentialCard11.js +25 -22
  16. package/lib/commonjs/components/misc/CredentialCard11.js.map +1 -1
  17. package/lib/commonjs/components/modals/ConfirmPINModal.js +4 -3
  18. package/lib/commonjs/components/modals/ConfirmPINModal.js.map +1 -1
  19. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js +8 -7
  20. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  21. package/lib/commonjs/constants.js +1 -0
  22. package/lib/commonjs/constants.js.map +1 -1
  23. package/lib/commonjs/container-api.js +3 -1
  24. package/lib/commonjs/container-api.js.map +1 -1
  25. package/lib/commonjs/container-impl.js +16 -0
  26. package/lib/commonjs/container-impl.js.map +1 -1
  27. package/lib/commonjs/hooks/notifications.js +4 -2
  28. package/lib/commonjs/hooks/notifications.js.map +1 -1
  29. package/lib/commonjs/hooks/useBifoldAgentSetup.js +5 -3
  30. package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
  31. package/lib/commonjs/index.js +16 -0
  32. package/lib/commonjs/index.js.map +1 -1
  33. package/lib/commonjs/localization/en/en.json +18 -1
  34. package/lib/commonjs/localization/fr/fr.json +17 -1
  35. package/lib/commonjs/localization/pt-br/pt-br.json +17 -1
  36. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js +41 -1
  37. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  38. package/lib/commonjs/modules/openid/components/OpenIDUnsatisfiedProofRequest.js +71 -0
  39. package/lib/commonjs/modules/openid/components/OpenIDUnsatisfiedProofRequest.js.map +1 -0
  40. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
  41. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  42. package/lib/commonjs/modules/openid/hooks/openid.js +38 -6
  43. package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
  44. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +82 -0
  45. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
  46. package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js +60 -0
  47. package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
  48. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +84 -0
  49. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
  50. package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js +55 -0
  51. package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
  52. package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js +82 -0
  53. package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
  54. package/lib/commonjs/modules/openid/metadata.js +60 -1
  55. package/lib/commonjs/modules/openid/metadata.js.map +1 -1
  56. package/lib/commonjs/modules/openid/notification.js +42 -0
  57. package/lib/commonjs/modules/openid/notification.js.map +1 -0
  58. package/lib/commonjs/modules/openid/offerResolve.js +6 -0
  59. package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
  60. package/lib/commonjs/modules/openid/refresh/reIssuance.js +95 -0
  61. package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -0
  62. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +265 -0
  63. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
  64. package/lib/commonjs/modules/openid/refresh/refreshToken.js +78 -0
  65. package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -0
  66. package/lib/commonjs/modules/openid/refresh/registery.js +143 -0
  67. package/lib/commonjs/modules/openid/refresh/registery.js.map +1 -0
  68. package/lib/commonjs/modules/openid/refresh/types.js +17 -0
  69. package/lib/commonjs/modules/openid/refresh/types.js.map +1 -0
  70. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +34 -0
  71. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
  72. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
  73. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  74. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js +25 -7
  75. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  76. package/lib/commonjs/modules/openid/utils/utils.js +66 -0
  77. package/lib/commonjs/modules/openid/utils/utils.js.map +1 -1
  78. package/lib/commonjs/screens/CredentialDetails.js +28 -6
  79. package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
  80. package/lib/commonjs/screens/CredentialOffer.js +6 -9
  81. package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
  82. package/lib/commonjs/screens/CredentialOfferAccept.js +18 -2
  83. package/lib/commonjs/screens/CredentialOfferAccept.js.map +1 -1
  84. package/lib/commonjs/screens/Developer.js +26 -0
  85. package/lib/commonjs/screens/Developer.js.map +1 -1
  86. package/lib/commonjs/screens/Home.js +39 -1
  87. package/lib/commonjs/screens/Home.js.map +1 -1
  88. package/lib/commonjs/screens/ListCredentials.js +2 -2
  89. package/lib/commonjs/screens/ListCredentials.js.map +1 -1
  90. package/lib/commonjs/screens/PINCreate.js +5 -1
  91. package/lib/commonjs/screens/PINCreate.js.map +1 -1
  92. package/lib/commonjs/screens/PINEnter.js +5 -3
  93. package/lib/commonjs/screens/PINEnter.js.map +1 -1
  94. package/lib/commonjs/screens/PINVerify.js +12 -1
  95. package/lib/commonjs/screens/PINVerify.js.map +1 -1
  96. package/lib/commonjs/screens/ProofChangeCredential.js +3 -3
  97. package/lib/commonjs/screens/ProofChangeCredential.js.map +1 -1
  98. package/lib/commonjs/screens/ProofRequest.js +4 -4
  99. package/lib/commonjs/screens/ProofRequest.js.map +1 -1
  100. package/lib/commonjs/services/AgentBridge.js +90 -0
  101. package/lib/commonjs/services/AgentBridge.js.map +1 -0
  102. package/lib/commonjs/types/credentials.js +9 -0
  103. package/lib/commonjs/types/credentials.js.map +1 -1
  104. package/lib/commonjs/utils/agent.js +1 -1
  105. package/lib/commonjs/utils/agent.js.map +1 -1
  106. package/lib/commonjs/utils/cred-def.js +50 -43
  107. package/lib/commonjs/utils/cred-def.js.map +1 -1
  108. package/lib/commonjs/utils/credential.js +217 -1
  109. package/lib/commonjs/utils/credential.js.map +1 -1
  110. package/lib/commonjs/utils/helpers.js +83 -22
  111. package/lib/commonjs/utils/helpers.js.map +1 -1
  112. package/lib/module/animated-components.js +2 -0
  113. package/lib/module/animated-components.js.map +1 -1
  114. package/lib/module/components/animated/ButtonLoading.js +6 -31
  115. package/lib/module/components/animated/ButtonLoading.js.map +1 -1
  116. package/lib/module/components/animated/LoadingSpinner.js +36 -0
  117. package/lib/module/components/animated/LoadingSpinner.js.map +1 -0
  118. package/lib/module/components/inputs/PINInput.js +16 -9
  119. package/lib/module/components/inputs/PINInput.js.map +1 -1
  120. package/lib/module/components/listItems/NotificationListItem.js +19 -11
  121. package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
  122. package/lib/module/components/misc/CredentialCard.js +3 -1
  123. package/lib/module/components/misc/CredentialCard.js.map +1 -1
  124. package/lib/module/components/misc/CredentialCard10.js +14 -6
  125. package/lib/module/components/misc/CredentialCard10.js.map +1 -1
  126. package/lib/module/components/misc/CredentialCard11.js +17 -14
  127. package/lib/module/components/misc/CredentialCard11.js.map +1 -1
  128. package/lib/module/components/modals/ConfirmPINModal.js +4 -3
  129. package/lib/module/components/modals/ConfirmPINModal.js.map +1 -1
  130. package/lib/module/components/views/CredentialDetailPrimaryHeader.js +9 -8
  131. package/lib/module/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  132. package/lib/module/constants.js +1 -0
  133. package/lib/module/constants.js.map +1 -1
  134. package/lib/module/container-api.js +3 -1
  135. package/lib/module/container-api.js.map +1 -1
  136. package/lib/module/container-impl.js +16 -0
  137. package/lib/module/container-impl.js.map +1 -1
  138. package/lib/module/hooks/notifications.js +4 -2
  139. package/lib/module/hooks/notifications.js.map +1 -1
  140. package/lib/module/hooks/useBifoldAgentSetup.js +5 -3
  141. package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
  142. package/lib/module/index.js +3 -1
  143. package/lib/module/index.js.map +1 -1
  144. package/lib/module/localization/en/en.json +18 -1
  145. package/lib/module/localization/fr/fr.json +17 -1
  146. package/lib/module/localization/pt-br/pt-br.json +17 -1
  147. package/lib/module/modules/openid/components/OpenIDCredentialCard.js +41 -1
  148. package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  149. package/lib/module/modules/openid/components/OpenIDUnsatisfiedProofRequest.js +63 -0
  150. package/lib/module/modules/openid/components/OpenIDUnsatisfiedProofRequest.js.map +1 -0
  151. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
  152. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  153. package/lib/module/modules/openid/hooks/openid.js +38 -5
  154. package/lib/module/modules/openid/hooks/openid.js.map +1 -1
  155. package/lib/module/modules/openid/hooks/useAcceptReplacement.js +76 -0
  156. package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
  157. package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js +54 -0
  158. package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
  159. package/lib/module/modules/openid/hooks/useDeclineReplacement.js +77 -0
  160. package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
  161. package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js +47 -0
  162. package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
  163. package/lib/module/modules/openid/hooks/useReplacementNotifications.js +75 -0
  164. package/lib/module/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
  165. package/lib/module/modules/openid/metadata.js +52 -1
  166. package/lib/module/modules/openid/metadata.js.map +1 -1
  167. package/lib/module/modules/openid/notification.js +38 -0
  168. package/lib/module/modules/openid/notification.js.map +1 -0
  169. package/lib/module/modules/openid/offerResolve.js +7 -1
  170. package/lib/module/modules/openid/offerResolve.js.map +1 -1
  171. package/lib/module/modules/openid/refresh/reIssuance.js +89 -0
  172. package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -0
  173. package/lib/module/modules/openid/refresh/refreshOrchestrator.js +257 -0
  174. package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
  175. package/lib/module/modules/openid/refresh/refreshToken.js +72 -0
  176. package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -0
  177. package/lib/module/modules/openid/refresh/registery.js +135 -0
  178. package/lib/module/modules/openid/refresh/registery.js.map +1 -0
  179. package/lib/module/modules/openid/refresh/types.js +11 -0
  180. package/lib/module/modules/openid/refresh/types.js.map +1 -0
  181. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +28 -0
  182. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
  183. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
  184. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  185. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js +25 -7
  186. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  187. package/lib/module/modules/openid/utils/utils.js +64 -1
  188. package/lib/module/modules/openid/utils/utils.js.map +1 -1
  189. package/lib/module/screens/CredentialDetails.js +29 -7
  190. package/lib/module/screens/CredentialDetails.js.map +1 -1
  191. package/lib/module/screens/CredentialOffer.js +7 -10
  192. package/lib/module/screens/CredentialOffer.js.map +1 -1
  193. package/lib/module/screens/CredentialOfferAccept.js +19 -3
  194. package/lib/module/screens/CredentialOfferAccept.js.map +1 -1
  195. package/lib/module/screens/Developer.js +27 -1
  196. package/lib/module/screens/Developer.js.map +1 -1
  197. package/lib/module/screens/Home.js +41 -3
  198. package/lib/module/screens/Home.js.map +1 -1
  199. package/lib/module/screens/ListCredentials.js +1 -1
  200. package/lib/module/screens/ListCredentials.js.map +1 -1
  201. package/lib/module/screens/PINCreate.js +5 -1
  202. package/lib/module/screens/PINCreate.js.map +1 -1
  203. package/lib/module/screens/PINEnter.js +5 -3
  204. package/lib/module/screens/PINEnter.js.map +1 -1
  205. package/lib/module/screens/PINVerify.js +12 -1
  206. package/lib/module/screens/PINVerify.js.map +1 -1
  207. package/lib/module/screens/ProofChangeCredential.js +1 -1
  208. package/lib/module/screens/ProofChangeCredential.js.map +1 -1
  209. package/lib/module/screens/ProofRequest.js +1 -1
  210. package/lib/module/screens/ProofRequest.js.map +1 -1
  211. package/lib/module/services/AgentBridge.js +83 -0
  212. package/lib/module/services/AgentBridge.js.map +1 -0
  213. package/lib/module/types/credentials.js +8 -1
  214. package/lib/module/types/credentials.js.map +1 -1
  215. package/lib/module/utils/agent.js +2 -2
  216. package/lib/module/utils/agent.js.map +1 -1
  217. package/lib/module/utils/cred-def.js +46 -43
  218. package/lib/module/utils/cred-def.js.map +1 -1
  219. package/lib/module/utils/credential.js +210 -0
  220. package/lib/module/utils/credential.js.map +1 -1
  221. package/lib/module/utils/helpers.js +80 -22
  222. package/lib/module/utils/helpers.js.map +1 -1
  223. package/lib/typescript/src/animated-components.d.ts +3 -2
  224. package/lib/typescript/src/animated-components.d.ts.map +1 -1
  225. package/lib/typescript/src/components/animated/ButtonLoading.d.ts +1 -4
  226. package/lib/typescript/src/components/animated/ButtonLoading.d.ts.map +1 -1
  227. package/lib/typescript/src/components/animated/LoadingSpinner.d.ts +8 -0
  228. package/lib/typescript/src/components/animated/LoadingSpinner.d.ts.map +1 -0
  229. package/lib/typescript/src/components/inputs/PINInput.d.ts.map +1 -1
  230. package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
  231. package/lib/typescript/src/components/misc/CredentialCard.d.ts +1 -2
  232. package/lib/typescript/src/components/misc/CredentialCard.d.ts.map +1 -1
  233. package/lib/typescript/src/components/misc/CredentialCard10.d.ts.map +1 -1
  234. package/lib/typescript/src/components/misc/CredentialCard11.d.ts +1 -5
  235. package/lib/typescript/src/components/misc/CredentialCard11.d.ts.map +1 -1
  236. package/lib/typescript/src/components/views/CredentialDetailPrimaryHeader.d.ts.map +1 -1
  237. package/lib/typescript/src/constants.d.ts +2 -1
  238. package/lib/typescript/src/constants.d.ts.map +1 -1
  239. package/lib/typescript/src/container-api.d.ts +8 -0
  240. package/lib/typescript/src/container-api.d.ts.map +1 -1
  241. package/lib/typescript/src/container-impl.d.ts +2 -0
  242. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  243. package/lib/typescript/src/hooks/notifications.d.ts +2 -1
  244. package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
  245. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
  246. package/lib/typescript/src/index.d.ts +4 -1
  247. package/lib/typescript/src/index.d.ts.map +1 -1
  248. package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts.map +1 -1
  249. package/lib/typescript/src/modules/openid/components/OpenIDUnsatisfiedProofRequest.d.ts +9 -0
  250. package/lib/typescript/src/modules/openid/components/OpenIDUnsatisfiedProofRequest.d.ts.map +1 -0
  251. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +1 -2
  252. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
  253. package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
  254. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +11 -0
  255. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -0
  256. package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts +9 -0
  257. package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts.map +1 -0
  258. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts +16 -0
  259. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -0
  260. package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts +8 -0
  261. package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts.map +1 -0
  262. package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts +6 -0
  263. package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts.map +1 -0
  264. package/lib/typescript/src/modules/openid/metadata.d.ts +27 -2
  265. package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
  266. package/lib/typescript/src/modules/openid/notification.d.ts +16 -0
  267. package/lib/typescript/src/modules/openid/notification.d.ts.map +1 -0
  268. package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
  269. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +19 -0
  270. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -0
  271. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +25 -0
  272. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -0
  273. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +9 -0
  274. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -0
  275. package/lib/typescript/src/modules/openid/refresh/registery.d.ts +55 -0
  276. package/lib/typescript/src/modules/openid/refresh/registery.d.ts.map +1 -0
  277. package/lib/typescript/src/modules/openid/refresh/types.d.ts +59 -0
  278. package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -0
  279. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +11 -0
  280. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -0
  281. package/lib/typescript/src/modules/openid/screens/OpenIDCredentialOffer.d.ts.map +1 -1
  282. package/lib/typescript/src/modules/openid/screens/OpenIDProofPresentation.d.ts.map +1 -1
  283. package/lib/typescript/src/modules/openid/utils/utils.d.ts +4 -0
  284. package/lib/typescript/src/modules/openid/utils/utils.d.ts.map +1 -1
  285. package/lib/typescript/src/screens/CredentialDetails.d.ts.map +1 -1
  286. package/lib/typescript/src/screens/CredentialOffer.d.ts.map +1 -1
  287. package/lib/typescript/src/screens/CredentialOfferAccept.d.ts.map +1 -1
  288. package/lib/typescript/src/screens/Developer.d.ts.map +1 -1
  289. package/lib/typescript/src/screens/Home.d.ts.map +1 -1
  290. package/lib/typescript/src/screens/ListCredentials.d.ts.map +1 -1
  291. package/lib/typescript/src/screens/PINCreate.d.ts.map +1 -1
  292. package/lib/typescript/src/screens/PINVerify.d.ts.map +1 -1
  293. package/lib/typescript/src/services/AgentBridge.d.ts +31 -0
  294. package/lib/typescript/src/services/AgentBridge.d.ts.map +1 -0
  295. package/lib/typescript/src/types/credentials.d.ts +5 -0
  296. package/lib/typescript/src/types/credentials.d.ts.map +1 -1
  297. package/lib/typescript/src/types/notification.d.ts +4 -0
  298. package/lib/typescript/src/types/notification.d.ts.map +1 -1
  299. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  300. package/lib/typescript/src/utils/cred-def.d.ts +8 -3
  301. package/lib/typescript/src/utils/cred-def.d.ts.map +1 -1
  302. package/lib/typescript/src/utils/credential.d.ts +36 -0
  303. package/lib/typescript/src/utils/credential.d.ts.map +1 -1
  304. package/lib/typescript/src/utils/helpers.d.ts +5 -1
  305. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  306. package/package.json +10 -4
  307. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js +0 -25
  308. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js.map +0 -1
  309. package/lib/module/modules/openid/refresh/refreshMetadata.js +0 -18
  310. package/lib/module/modules/openid/refresh/refreshMetadata.js.map +0 -1
  311. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts +0 -20
  312. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts.map +0 -1
@@ -1,5 +1,11 @@
1
1
  import { AnonCredsCredentialMetadataKey, parseIndyCredentialDefinitionId, parseIndySchemaId } from '@credo-ts/anoncreds';
2
2
  import { credentialSchema } from './schema';
3
+ import { ensureCredentialMetadata, getEffectiveCredentialName } from './credential';
4
+ // Fallback default credential name when no other name is available
5
+ export const fallbackDefaultCredentialNameValue = 'Credential';
6
+
7
+ // Default credential definition tag value
8
+ export const defaultCredDefTag = 'default';
3
9
 
4
10
  // Normalize incoming identifiers by trimming whitespace and converting empty strings to undefined
5
11
  function normalizeId(id) {
@@ -7,47 +13,13 @@ function normalizeId(id) {
7
13
  const trimmed = id.trim();
8
14
  return trimmed.length > 0 ? trimmed : undefined;
9
15
  }
10
- export async function getCredentialName(credDefId, schemaId, agent) {
16
+ export async function getCredentialName(credDefId, schemaId) {
11
17
  const normalizedCredDefId = normalizeId(credDefId);
12
18
  const normalizedSchemaId = normalizeId(schemaId);
13
- const isWebvh = !!(normalizedCredDefId !== null && normalizedCredDefId !== void 0 && normalizedCredDefId.toLowerCase().startsWith('did:webvh:') || normalizedSchemaId !== null && normalizedSchemaId !== void 0 && normalizedSchemaId.toLowerCase().startsWith('did:webvh:'));
14
- if (isWebvh) {
15
- return parseWebVHCredDefId(normalizedCredDefId, normalizedSchemaId, agent);
16
- }
17
19
  return parseIndyCredDefId(normalizedCredDefId, normalizedSchemaId);
18
20
  }
19
- async function parseWebVHCredDefId(credDefId, schemaId, agent) {
20
- var _agent$modules;
21
- let name = 'Credential';
22
- if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
23
- return name;
24
- }
25
- if (credDefId) {
26
- try {
27
- const {
28
- credentialDefinition: result
29
- } = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
30
- name = (result === null || result === void 0 ? void 0 : result.tag) ?? name;
31
- } catch {
32
- var _agent$config;
33
- 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');
34
- }
35
- }
36
- if ((name.toLowerCase() === 'default' || name.toLowerCase() === 'credential') && schemaId) {
37
- try {
38
- const {
39
- schema: result
40
- } = await agent.modules.anoncreds.getSchema(schemaId);
41
- name = (result === null || result === void 0 ? void 0 : result.name) ?? name;
42
- } catch {
43
- var _agent$config2;
44
- 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');
45
- }
46
- }
47
- return name || 'Credential';
48
- }
49
21
  function parseIndyCredDefId(credDefId, schemaId) {
50
- let name = 'Credential';
22
+ let name = fallbackDefaultCredentialNameValue;
51
23
  if (credDefId) {
52
24
  try {
53
25
  const parsedCredDef = parseIndyCredentialDefinitionId(credDefId);
@@ -56,17 +28,17 @@ function parseIndyCredDefId(credDefId, schemaId) {
56
28
  // If parsing fails, keep the default name
57
29
  }
58
30
  }
59
- if (name.toLowerCase() === 'default' || name.toLowerCase() === 'credential') {
31
+ if (name.toLowerCase() === defaultCredDefTag || name.toLowerCase() === fallbackDefaultCredentialNameValue.toLowerCase()) {
60
32
  if (schemaId) {
61
33
  try {
62
34
  const parsedSchema = parseIndySchemaId(schemaId);
63
35
  name = (parsedSchema === null || parsedSchema === void 0 ? void 0 : parsedSchema.schemaName) ?? name;
64
36
  } catch {
65
37
  // If parsing fails, keep the default name
66
- name = 'Credential';
38
+ name = fallbackDefaultCredentialNameValue;
67
39
  }
68
40
  } else {
69
- name = 'Credential';
41
+ name = fallbackDefaultCredentialNameValue;
70
42
  }
71
43
  }
72
44
  return name;
@@ -75,10 +47,41 @@ function credentialDefinition(credential) {
75
47
  var _credential$metadata$;
76
48
  return (_credential$metadata$ = credential.metadata.get(AnonCredsCredentialMetadataKey)) === null || _credential$metadata$ === void 0 ? void 0 : _credential$metadata$.credentialDefinitionId;
77
49
  }
78
- export async function parsedCredDefNameFromCredential(credential, agent) {
79
- return getCredentialName(credentialDefinition(credential), credentialSchema(credential), agent);
50
+ export function getSchemaName(credential) {
51
+ const metadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
52
+ const schemaName = metadata === null || metadata === void 0 ? void 0 : metadata.schemaName;
53
+ return schemaName;
54
+ }
55
+ export function getCredDefTag(credential) {
56
+ const metadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
57
+ const credDefTag = metadata === null || metadata === void 0 ? void 0 : metadata.credDefTag;
58
+ return credDefTag;
59
+ }
60
+ export async function parsedCredDefNameFromCredential(credential, agent, logger) {
61
+ // Ensure metadata is cached if agent is provided
62
+ if (agent) {
63
+ try {
64
+ await ensureCredentialMetadata(credential, agent, undefined, logger);
65
+ } catch (error) {
66
+ // If metadata restoration fails, we'll fall back to parsing IDs or default name
67
+ logger === null || logger === void 0 || logger.warn('Failed to restore credential metadata in parsedCredDefNameFromCredential', {
68
+ error: error
69
+ });
70
+ }
71
+ }
72
+
73
+ // Check if we have cached metadata
74
+ const cachedSchemaName = getSchemaName(credential);
75
+ if (cachedSchemaName) {
76
+ // Use the priority waterfall logic (OCA name > credDefTag > schemaName > fallback)
77
+ return getEffectiveCredentialName(credential);
78
+ }
79
+
80
+ // Fallback: parse the IDs if metadata is not cached and no agent to resolve
81
+ const fallbackName = await getCredentialName(credentialDefinition(credential), credentialSchema(credential));
82
+ return fallbackName;
80
83
  }
81
- export async function parsedCredDefName(credentialDefinitionId, schemaId, agent) {
82
- return getCredentialName(credentialDefinitionId, schemaId, agent);
84
+ export async function parsedCredDefName(credentialDefinitionId, schemaId) {
85
+ return getCredentialName(credentialDefinitionId, schemaId);
83
86
  }
84
87
  //# sourceMappingURL=cred-def.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AnonCredsCredentialMetadataKey","parseIndyCredentialDefinitionId","parseIndySchemaId","credentialSchema","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","parsedSchema","schemaName","credential","_credential$metadata$","metadata","get","credentialDefinitionId","parsedCredDefNameFromCredential","parsedCredDefName"],"sourceRoot":"../../../src","sources":["utils/cred-def.ts"],"mappings":"AAAA,SACEA,8BAA8B,EAC9BC,+BAA+B,EAC/BC,iBAAiB,QAGZ,qBAAqB;AAI5B,SAASC,gBAAgB,QAAQ,UAAU;;AAE3C;AACA,SAASC,WAAWA,CAACC,EAAW,EAAsB;EACpD,IAAI,OAAOA,EAAE,KAAK,QAAQ,EAAE,OAAOC,SAAS;EAC5C,MAAMC,OAAO,GAAGF,EAAE,CAACG,IAAI,CAAC,CAAC;EACzB,OAAOD,OAAO,CAACE,MAAM,GAAG,CAAC,GAAGF,OAAO,GAAGD,SAAS;AACjD;AAEA,OAAO,eAAeI,iBAAiBA,CAACC,SAAkB,EAAEC,QAAiB,EAAEC,KAAa,EAAmB;EAC7G,MAAMC,mBAAmB,GAAGV,WAAW,CAACO,SAAS,CAAC;EAClD,MAAMI,kBAAkB,GAAGX,WAAW,CAACQ,QAAQ,CAAC;EAChD,MAAMI,OAAO,GAAG,CAAC,EACfF,mBAAmB,aAAnBA,mBAAmB,eAAnBA,mBAAmB,CAAEG,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,YAAY,CAAC,IAC3DH,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEE,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,YAAY,CAAC,CAC3D;EACD,IAAIF,OAAO,EAAE;IACX,OAAOG,mBAAmB,CAACL,mBAAmB,EAAEC,kBAAkB,EAAEF,KAAK,CAAC;EAC5E;EACA,OAAOO,kBAAkB,CAACN,mBAAmB,EAAEC,kBAAkB,CAAC;AACpE;AAEA,eAAeI,mBAAmBA,CAACR,SAAkB,EAAEC,QAAiB,EAAEC,KAAa,EAAmB;EAAA,IAAAQ,cAAA;EACxG,IAAIC,IAAI,GAAG,YAAY;EACvB,IAAI,EAACT,KAAK,aAALA,KAAK,gBAAAQ,cAAA,GAALR,KAAK,CAAEU,OAAO,cAAAF,cAAA,eAAdA,cAAA,CAAgBG,SAAS,GAAE;IAC9B,OAAOF,IAAI;EACb;EACA,IAAIX,SAAS,EAAE;IACb,IAAI;MACF,MAAM;QAAEc,oBAAoB,EAAEC;MAAgE,CAAC,GAC7F,MAAMb,KAAK,CAACU,OAAO,CAACC,SAAS,CAACG,uBAAuB,CAAChB,SAAS,CAAC;MAClEW,IAAI,GAAG,CAAAI,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,GAAG,KAAIN,IAAI;IAC5B,CAAC,CAAC,MAAM;MAAA,IAAAO,aAAA;MACNhB,KAAK,aAALA,KAAK,gBAAAgB,aAAA,GAALhB,KAAK,CAAEiB,MAAM,cAAAD,aAAA,gBAAAA,aAAA,GAAbA,aAAA,CAAeE,MAAM,cAAAF,aAAA,eAArBA,aAAA,CAAuBG,IAAI,CAAC,0EAA0E,CAAC;IACzG;EACF;EAEA,IAAI,CAACV,IAAI,CAACL,WAAW,CAAC,CAAC,KAAK,SAAS,IAAIK,IAAI,CAACL,WAAW,CAAC,CAAC,KAAK,YAAY,KAAKL,QAAQ,EAAE;IACzF,IAAI;MACF,MAAM;QAAEqB,MAAM,EAAEP;MAAoC,CAAC,GAAG,MAAMb,KAAK,CAACU,OAAO,CAACC,SAAS,CAACU,SAAS,CAACtB,QAAQ,CAAC;MACzGU,IAAI,GAAG,CAAAI,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEJ,IAAI,KAAIA,IAAI;IAC7B,CAAC,CAAC,MAAM;MAAA,IAAAa,cAAA;MACNtB,KAAK,aAALA,KAAK,gBAAAsB,cAAA,GAALtB,KAAK,CAAEiB,MAAM,cAAAK,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAeJ,MAAM,cAAAI,cAAA,eAArBA,cAAA,CAAuBH,IAAI,CAAC,sEAAsE,CAAC;IACrG;EACF;EACA,OAAOV,IAAI,IAAI,YAAY;AAC7B;AAEA,SAASF,kBAAkBA,CAACT,SAAkB,EAAEC,QAAiB,EAAU;EACzE,IAAIU,IAAI,GAAG,YAAY;EACvB,IAAIX,SAAS,EAAE;IACb,IAAI;MACF,MAAMyB,aAAa,GAAGnC,+BAA+B,CAACU,SAAS,CAAC;MAChEW,IAAI,GAAG,CAAAc,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAER,GAAG,KAAIN,IAAI;IACnC,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACA,IAAIA,IAAI,CAACL,WAAW,CAAC,CAAC,KAAK,SAAS,IAAIK,IAAI,CAACL,WAAW,CAAC,CAAC,KAAK,YAAY,EAAE;IAC3E,IAAIL,QAAQ,EAAE;MACZ,IAAI;QACF,MAAMyB,YAAY,GAAGnC,iBAAiB,CAACU,QAAQ,CAAC;QAChDU,IAAI,GAAG,CAAAe,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEC,UAAU,KAAIhB,IAAI;MACzC,CAAC,CAAC,MAAM;QACN;QACAA,IAAI,GAAG,YAAY;MACrB;IACF,CAAC,MAAM;MACLA,IAAI,GAAG,YAAY;IACrB;EACF;EACA,OAAOA,IAAI;AACb;AAEA,SAASG,oBAAoBA,CAACc,UAA4B,EAAsB;EAAA,IAAAC,qBAAA;EAC9E,QAAAA,qBAAA,GAAOD,UAAU,CAACE,QAAQ,CAACC,GAAG,CAAC1C,8BAA8B,CAAC,cAAAwC,qBAAA,uBAAvDA,qBAAA,CAAyDG,sBAAsB;AACxF;AAEA,OAAO,eAAeC,+BAA+BA,CAACL,UAA4B,EAAE1B,KAAa,EAAmB;EAClH,OAAOH,iBAAiB,CAACe,oBAAoB,CAACc,UAAU,CAAC,EAAEpC,gBAAgB,CAACoC,UAAU,CAAC,EAAE1B,KAAK,CAAC;AACjG;AAEA,OAAO,eAAegC,iBAAiBA,CACrCF,sBAA8B,EAC9B/B,QAAgB,EAChBC,KAAa,EACI;EACjB,OAAOH,iBAAiB,CAACiC,sBAAsB,EAAE/B,QAAQ,EAAEC,KAAK,CAAC;AACnE","ignoreList":[]}
1
+ {"version":3,"names":["AnonCredsCredentialMetadataKey","parseIndyCredentialDefinitionId","parseIndySchemaId","credentialSchema","ensureCredentialMetadata","getEffectiveCredentialName","fallbackDefaultCredentialNameValue","defaultCredDefTag","normalizeId","id","undefined","trimmed","trim","length","getCredentialName","credDefId","schemaId","normalizedCredDefId","normalizedSchemaId","parseIndyCredDefId","name","parsedCredDef","tag","toLowerCase","parsedSchema","schemaName","credentialDefinition","credential","_credential$metadata$","metadata","get","credentialDefinitionId","getSchemaName","getCredDefTag","credDefTag","parsedCredDefNameFromCredential","agent","logger","error","warn","cachedSchemaName","fallbackName","parsedCredDefName"],"sourceRoot":"../../../src","sources":["utils/cred-def.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { AnonCredsCredentialMetadataKey } from '@credo-ts/anoncreds';
2
2
  import { CredentialState } from '@credo-ts/core';
3
3
  import { luminanceForHexColor } from './luminance';
4
+ import { getSchemaName, getCredDefTag, fallbackDefaultCredentialNameValue, defaultCredDefTag } from './cred-def';
4
5
  export const isValidAnonCredsCredential = credential => {
5
6
  return credential && (credential.state === CredentialState.OfferReceived || Boolean(credential.metadata.get(AnonCredsCredentialMetadataKey)) && credential.credentials.find(c => c.credentialRecordType === 'anoncreds' || c.credentialRecordType === 'w3c'));
6
7
  };
@@ -28,4 +29,213 @@ export const getCredentialIdentifiers = credential => {
28
29
  schemaId: (_credential$metadata$2 = credential.metadata.get(AnonCredsCredentialMetadataKey)) === null || _credential$metadata$2 === void 0 ? void 0 : _credential$metadata$2.schemaId
29
30
  };
30
31
  };
32
+
33
+ /**
34
+ * Attempts to resolve schema and credDef IDs from credential format data.
35
+ */
36
+ async function resolveIdsFromFormatData(credential, agent, logger) {
37
+ try {
38
+ const {
39
+ offer
40
+ } = await agent.credentials.getFormatData(credential.id);
41
+ const formatOfferData = (offer === null || offer === void 0 ? void 0 : offer.anoncreds) ?? (offer === null || offer === void 0 ? void 0 : offer.indy);
42
+
43
+ // Type guard to check if formatOfferData has the expected structure
44
+ if (formatOfferData && typeof formatOfferData === 'object' && 'schema_id' in formatOfferData && typeof formatOfferData.schema_id === 'string') {
45
+ return {
46
+ schemaId: formatOfferData.schema_id,
47
+ credDefId: 'cred_def_id' in formatOfferData && typeof formatOfferData.cred_def_id === 'string' ? formatOfferData.cred_def_id : undefined
48
+ };
49
+ }
50
+ } catch (error) {
51
+ logger === null || logger === void 0 || logger.error('Failed to get format data', {
52
+ error: error
53
+ });
54
+ }
55
+ return {};
56
+ }
57
+
58
+ /**
59
+ * Resolves schema name from the given schema ID.
60
+ */
61
+ async function resolveSchemaName(schemaId, agent, logger) {
62
+ try {
63
+ const {
64
+ schema: resolvedSchema
65
+ } = await agent.modules.anoncreds.getSchema(schemaId);
66
+ const schemaName = resolvedSchema === null || resolvedSchema === void 0 ? void 0 : resolvedSchema.name;
67
+ logger === null || logger === void 0 || logger.debug('Resolved schema name', {
68
+ schemaId,
69
+ schemaName
70
+ });
71
+ return schemaName;
72
+ } catch (error) {
73
+ logger === null || logger === void 0 || logger.warn('Failed to resolve schema', {
74
+ error: error,
75
+ schemaId
76
+ });
77
+ return undefined;
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Resolves credential definition tag from the given cred def ID.
83
+ */
84
+ async function resolveCredDefTag(credDefId, agent, logger) {
85
+ try {
86
+ const {
87
+ credentialDefinition: resolvedCredDef
88
+ } = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
89
+ const credDefTag = resolvedCredDef === null || resolvedCredDef === void 0 ? void 0 : resolvedCredDef.tag;
90
+ logger === null || logger === void 0 || logger.debug('Resolved credential definition tag', {
91
+ credDefId,
92
+ credDefTag
93
+ });
94
+ return credDefTag;
95
+ } catch (error) {
96
+ logger === null || logger === void 0 || logger.warn('Failed to resolve credential definition', {
97
+ error: error,
98
+ credDefId
99
+ });
100
+ return undefined;
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Determines the IDs to use for resolution, preferring offer data over existing metadata.
106
+ */
107
+ async function determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger) {
108
+ let schemaId = (offerData === null || offerData === void 0 ? void 0 : offerData.schema_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaId);
109
+ let credDefId = (offerData === null || offerData === void 0 ? void 0 : offerData.cred_def_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credentialDefinitionId);
110
+ const needsResolution = !schemaId || !credDefId;
111
+ if (needsResolution) {
112
+ const resolvedIds = await resolveIdsFromFormatData(credential, agent, logger);
113
+ schemaId = schemaId || resolvedIds.schemaId;
114
+ credDefId = credDefId || resolvedIds.credDefId;
115
+ }
116
+ return {
117
+ schemaId,
118
+ credDefId
119
+ };
120
+ }
121
+
122
+ /**
123
+ * Updates credential metadata with resolved schema name and cred def tag.
124
+ */
125
+ async function updateCredentialMetadata(params) {
126
+ const {
127
+ credential,
128
+ agent,
129
+ existingMetadata,
130
+ schemaId,
131
+ credDefId,
132
+ schemaName,
133
+ credDefTag,
134
+ logger
135
+ } = params;
136
+ const metadataToStore = {
137
+ ...existingMetadata,
138
+ schemaId,
139
+ credentialDefinitionId: credDefId,
140
+ schemaName,
141
+ credDefTag
142
+ };
143
+ credential.metadata.add(AnonCredsCredentialMetadataKey, metadataToStore);
144
+ await agent.credentials.update(credential);
145
+ logger === null || logger === void 0 || logger.info('Credential metadata ensured', {
146
+ credentialId: credential.id,
147
+ schemaName,
148
+ credDefTag,
149
+ wasUpdated: true
150
+ });
151
+ }
152
+
153
+ /**
154
+ * Ensures credential has all required metadata cached. If any metadata is missing,
155
+ * it will be resolved and added to the credential.
156
+ *
157
+ * @param credential - The credential record to ensure metadata for
158
+ * @param agent - The agent instance for resolving schema/credDef
159
+ * @param offerData - Optional offer data containing schema_id and cred_def_id
160
+ * @param logger - Optional logger instance for logging
161
+ * @returns Promise<boolean> - Returns true if metadata was updated, false otherwise
162
+ */
163
+ export async function ensureCredentialMetadata(credential, agent, offerData, logger) {
164
+ var _agent$modules;
165
+ if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
166
+ return false;
167
+ }
168
+ const existingMetadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
169
+ const {
170
+ schemaId,
171
+ credDefId
172
+ } = await determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger);
173
+
174
+ // Check what's missing
175
+ const needsSchemaName = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.schemaName) && schemaId;
176
+ const needsCredDefTag = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.credDefTag) && credDefId;
177
+ const hasAllMetadata = !needsSchemaName && !needsCredDefTag;
178
+ if (hasAllMetadata) {
179
+ return false;
180
+ }
181
+
182
+ // Resolve missing metadata
183
+ const schemaName = needsSchemaName && schemaId ? await resolveSchemaName(schemaId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaName;
184
+ const credDefTag = needsCredDefTag && credDefId ? await resolveCredDefTag(credDefId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credDefTag;
185
+ await updateCredentialMetadata({
186
+ credential,
187
+ agent,
188
+ existingMetadata,
189
+ schemaId,
190
+ credDefId,
191
+ schemaName,
192
+ credDefTag,
193
+ logger
194
+ });
195
+ return true;
196
+ }
197
+
198
+ /**
199
+ * Validates whether a credential name is meaningful and should be used for display.
200
+ * Returns false for undefined, empty, whitespace-only, or default placeholder names.
201
+ *
202
+ * @param name - The name to validate
203
+ * @returns true if the name is valid and meaningful, false otherwise
204
+ */
205
+ export function isValidCredentialName(name) {
206
+ return !!(name && name !== defaultCredDefTag && name !== fallbackDefaultCredentialNameValue && name.trim() !== '');
207
+ }
208
+
209
+ /**
210
+ * Determines the effective credential name using a priority waterfall:
211
+ * 1. OCA Bundle name (if present and meaningful)
212
+ * 2. Credential definition tag (if present)
213
+ * 3. Schema name (if present)
214
+ * 4. Default fallback name
215
+ *
216
+ * @param credential - The credential record
217
+ * @param ocaName - The name from OCA meta overlay
218
+ * @returns The effective name to use for display
219
+ */
220
+ export function getEffectiveCredentialName(credential, ocaName) {
221
+ // 1. Try OCA Bundle name
222
+ if (isValidCredentialName(ocaName)) {
223
+ return ocaName;
224
+ }
225
+
226
+ // 2. Try credential definition tag
227
+ const credDefTag = getCredDefTag(credential);
228
+ if (isValidCredentialName(credDefTag)) {
229
+ return credDefTag;
230
+ }
231
+
232
+ // 3. Try schema name
233
+ const schemaName = getSchemaName(credential);
234
+ if (isValidCredentialName(schemaName)) {
235
+ return schemaName;
236
+ }
237
+
238
+ // 4. Return default fallback
239
+ return fallbackDefaultCredentialNameValue;
240
+ }
31
241
  //# sourceMappingURL=credential.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AnonCredsCredentialMetadataKey","CredentialState","luminanceForHexColor","isValidAnonCredsCredential","credential","state","OfferReceived","Boolean","metadata","get","credentials","find","c","credentialRecordType","credentialTextColor","ColorPalette","hex","midpoint","grayscale","darkGrey","white","toImageSource","source","uri","getCredentialIdentifiers","_credential$metadata$","_credential$metadata$2","credentialDefinitionId","schemaId"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":"AAAA,SAASA,8BAA8B,QAAQ,qBAAqB;AACpE,SAAmCC,eAAe,QAAQ,gBAAgB;AAG1E,SAASC,oBAAoB,QAAQ,aAAa;AAElD,OAAO,MAAMC,0BAA0B,GAAIC,UAAoC,IAAK;EAClF,OACEA,UAAU,KACTA,UAAU,CAACC,KAAK,KAAKJ,eAAe,CAACK,aAAa,IAChDC,OAAO,CAACH,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACT,8BAA8B,CAAC,CAAC,IAC/DI,UAAU,CAACM,WAAW,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,oBAAoB,KAAK,WAAW,IAAID,CAAC,CAACC,oBAAoB,KAAK,KAAK,CAAE,CAAC;AAExH,CAAC;;AAED;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAACC,YAAiB,EAAEC,GAAY,KAAK;EACtE,MAAMC,QAAQ,GAAG,GAAG,GAAG,CAAC;EACxB,IAAI,CAACf,oBAAoB,CAACc,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAKC,QAAQ,EAAE;IACtD,OAAOF,YAAY,CAACG,SAAS,CAACC,QAAQ;EACxC;EACA,OAAOJ,YAAY,CAACG,SAAS,CAACE,KAAK;AACrC,CAAC;AAED,OAAO,MAAMC,aAAa,GAAIC,MAAe,IAA0B;EACrE,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO;MAAEC,GAAG,EAAED;IAAiB,CAAC;EAClC;EACA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,MAAME,wBAAwB,GAAIpB,UAAoC,IAAK;EAAA,IAAAqB,qBAAA,EAAAC,sBAAA;EAChF,OAAO;IACLC,sBAAsB,GAAAF,qBAAA,GAAErB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACT,8BAA8B,CAAC,cAAAyB,qBAAA,uBAAvDA,qBAAA,CAAyDE,sBAAsB;IACvGC,QAAQ,GAAAF,sBAAA,GAAEtB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACT,8BAA8B,CAAC,cAAA0B,sBAAA,uBAAvDA,sBAAA,CAAyDE;EACrE,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AnonCredsCredentialMetadataKey","CredentialState","luminanceForHexColor","getSchemaName","getCredDefTag","fallbackDefaultCredentialNameValue","defaultCredDefTag","isValidAnonCredsCredential","credential","state","OfferReceived","Boolean","metadata","get","credentials","find","c","credentialRecordType","credentialTextColor","ColorPalette","hex","midpoint","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","trim","getEffectiveCredentialName","ocaName"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":"AAAA,SAASA,8BAA8B,QAAQ,qBAAqB;AACpE,SAAmCC,eAAe,QAAQ,gBAAgB;AAI1E,SAASC,oBAAoB,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,aAAa,EAAEC,kCAAkC,EAAEC,iBAAiB,QAAQ,YAAY;AAGhH,OAAO,MAAMC,0BAA0B,GAAIC,UAAoC,IAAK;EAClF,OACEA,UAAU,KACTA,UAAU,CAACC,KAAK,KAAKR,eAAe,CAACS,aAAa,IAChDC,OAAO,CAACH,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC,CAAC,IAC/DQ,UAAU,CAACM,WAAW,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,oBAAoB,KAAK,WAAW,IAAID,CAAC,CAACC,oBAAoB,KAAK,KAAK,CAAE,CAAC;AAExH,CAAC;;AAED;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAACC,YAAiB,EAAEC,GAAY,KAAK;EACtE,MAAMC,QAAQ,GAAG,GAAG,GAAG,CAAC;EACxB,IAAI,CAACnB,oBAAoB,CAACkB,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAKC,QAAQ,EAAE;IACtD,OAAOF,YAAY,CAACG,SAAS,CAACC,QAAQ;EACxC;EACA,OAAOJ,YAAY,CAACG,SAAS,CAACE,KAAK;AACrC,CAAC;AAED,OAAO,MAAMC,aAAa,GAAIC,MAAe,IAA0B;EACrE,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO;MAAEC,GAAG,EAAED;IAAiB,CAAC;EAClC;EACA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,MAAME,wBAAwB,GAAIpB,UAAoC,IAAK;EAAA,IAAAqB,qBAAA,EAAAC,sBAAA;EAChF,OAAO;IACLC,sBAAsB,GAAAF,qBAAA,GAAErB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC,cAAA6B,qBAAA,uBAAvDA,qBAAA,CAAyDE,sBAAsB;IACvGC,QAAQ,GAAAF,sBAAA,GAAEtB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC,cAAA8B,sBAAA,uBAAvDA,sBAAA,CAAyDE;EACrE,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,eAAeC,wBAAwBA,CACrCzB,UAAoC,EACpC0B,KAAY,EACZC,MAAqB,EAC+B;EACpD,IAAI;IACF,MAAM;MAAEC;IAAM,CAAC,GAAG,MAAMF,KAAK,CAACpB,WAAW,CAACuB,aAAa,CAAC7B,UAAU,CAAC8B,EAAE,CAAC;IACtE,MAAMC,eAAe,GAAG,CAAAH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,SAAS,MAAIJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,IAAI;;IAEvD;IACA,IACEF,eAAe,IACf,OAAOA,eAAe,KAAK,QAAQ,IACnC,WAAW,IAAIA,eAAe,IAC9B,OAAOA,eAAe,CAACG,SAAS,KAAK,QAAQ,EAC7C;MACA,OAAO;QACLV,QAAQ,EAAEO,eAAe,CAACG,SAAS;QACnCC,SAAS,EACP,aAAa,IAAIJ,eAAe,IAAI,OAAOA,eAAe,CAACK,WAAW,KAAK,QAAQ,GAC/EL,eAAe,CAACK,WAAW,GAC3BC;MACR,CAAC;IACH;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEW,KAAK,CAAC,2BAA2B,EAAE;MAAEA,KAAK,EAAEA;IAAe,CAAC,CAAC;EACvE;EACA,OAAO,CAAC,CAAC;AACX;;AAEA;AACA;AACA;AACA,eAAeC,iBAAiBA,CAACf,QAAgB,EAAEE,KAAY,EAAEC,MAAqB,EAA+B;EACnH,IAAI;IACF,MAAM;MAAEa,MAAM,EAAEC;IAAe,CAAC,GAAG,MAAMf,KAAK,CAACgB,OAAO,CAACV,SAAS,CAACW,SAAS,CAACnB,QAAQ,CAAC;IACpF,MAAMoB,UAAU,GAAGH,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEI,IAAI;IACvClB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEmB,KAAK,CAAC,sBAAsB,EAAE;MAAEtB,QAAQ;MAAEoB;IAAW,CAAC,CAAC;IAC/D,OAAOA,UAAU;EACnB,CAAC,CAAC,OAAON,KAAK,EAAE;IACdX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEoB,IAAI,CAAC,0BAA0B,EAAE;MAAET,KAAK,EAAEA,KAAc;MAAEd;IAAS,CAAC,CAAC;IAC7E,OAAOa,SAAS;EAClB;AACF;;AAEA;AACA;AACA;AACA,eAAeW,iBAAiBA,CAACb,SAAiB,EAAET,KAAY,EAAEC,MAAqB,EAA+B;EACpH,IAAI;IACF,MAAM;MAAEsB,oBAAoB,EAAEC;IAAgB,CAAC,GAAG,MAAMxB,KAAK,CAACgB,OAAO,CAACV,SAAS,CAACmB,uBAAuB,CAAChB,SAAS,CAAC;IAClH,MAAMiB,UAAU,GAAGF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEG,GAAG;IACvC1B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEmB,KAAK,CAAC,oCAAoC,EAAE;MAAEX,SAAS;MAAEiB;IAAW,CAAC,CAAC;IAC9E,OAAOA,UAAU;EACnB,CAAC,CAAC,OAAOd,KAAK,EAAE;IACdX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEoB,IAAI,CAAC,yCAAyC,EAAE;MAAET,KAAK,EAAEA,KAAc;MAAEH;IAAU,CAAC,CAAC;IAC7F,OAAOE,SAAS;EAClB;AACF;;AAEA;AACA;AACA;AACA,eAAeiB,4BAA4BA,CACzCtD,UAAoC,EACpC0B,KAAY,EACZ6B,SAAmE,EACnEC,gBAAqB,EACrB7B,MAAqB,EAC+B;EACpD,IAAIH,QAAQ,GAAG,CAAA+B,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAErB,SAAS,MAAIsB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEhC,QAAQ;EACjE,IAAIW,SAAS,GAAG,CAAAoB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEnB,WAAW,MAAIoB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEjC,sBAAsB;EAElF,MAAMkC,eAAe,GAAG,CAACjC,QAAQ,IAAI,CAACW,SAAS;EAC/C,IAAIsB,eAAe,EAAE;IACnB,MAAMC,WAAW,GAAG,MAAMjC,wBAAwB,CAACzB,UAAU,EAAE0B,KAAK,EAAEC,MAAM,CAAC;IAC7EH,QAAQ,GAAGA,QAAQ,IAAIkC,WAAW,CAAClC,QAAQ;IAC3CW,SAAS,GAAGA,SAAS,IAAIuB,WAAW,CAACvB,SAAS;EAChD;EAEA,OAAO;IAAEX,QAAQ;IAAEW;EAAU,CAAC;AAChC;;AAEA;AACA;AACA;AACA,eAAewB,wBAAwBA,CAACC,MASvC,EAAiB;EAChB,MAAM;IAAE5D,UAAU;IAAE0B,KAAK;IAAE8B,gBAAgB;IAAEhC,QAAQ;IAAEW,SAAS;IAAES,UAAU;IAAEQ,UAAU;IAAEzB;EAAO,CAAC,GAAGiC,MAAM;EAE3G,MAAMC,eAAe,GAAG;IACtB,GAAGL,gBAAgB;IACnBhC,QAAQ;IACRD,sBAAsB,EAAEY,SAAS;IACjCS,UAAU;IACVQ;EACF,CAAC;EAEDpD,UAAU,CAACI,QAAQ,CAAC0D,GAAG,CAACtE,8BAA8B,EAAEqE,eAAe,CAAC;EACxE,MAAMnC,KAAK,CAACpB,WAAW,CAACyD,MAAM,CAAC/D,UAAU,CAAC;EAE1C2B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEqC,IAAI,CAAC,6BAA6B,EAAE;IAC1CC,YAAY,EAAEjE,UAAU,CAAC8B,EAAE;IAC3Bc,UAAU;IACVQ,UAAU;IACVc,UAAU,EAAE;EACd,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,wBAAwBA,CAC5CnE,UAAoC,EACpC0B,KAAY,EACZ6B,SAAwD,EACxD5B,MAAqB,EACH;EAAA,IAAAyC,cAAA;EAClB,IAAI,EAAC1C,KAAK,aAALA,KAAK,gBAAA0C,cAAA,GAAL1C,KAAK,CAAEgB,OAAO,cAAA0B,cAAA,eAAdA,cAAA,CAAgBpC,SAAS,GAAE;IAC9B,OAAO,KAAK;EACd;EAEA,MAAMwB,gBAAgB,GAAGxD,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC;EAEhF,MAAM;IAAEgC,QAAQ;IAAEW;EAAU,CAAC,GAAG,MAAMmB,4BAA4B,CAChEtD,UAAU,EACV0B,KAAK,EACL6B,SAAS,EACTC,gBAAgB,EAChB7B,MACF,CAAC;;EAED;EACA,MAAM0C,eAAe,GAAG,EAACb,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEZ,UAAU,KAAIpB,QAAQ;EACjE,MAAM8C,eAAe,GAAG,EAACd,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEJ,UAAU,KAAIjB,SAAS;EAElE,MAAMoC,cAAc,GAAG,CAACF,eAAe,IAAI,CAACC,eAAe;EAC3D,IAAIC,cAAc,EAAE;IAClB,OAAO,KAAK;EACd;;EAEA;EACA,MAAM3B,UAAU,GACdyB,eAAe,IAAI7C,QAAQ,GAAG,MAAMe,iBAAiB,CAACf,QAAQ,EAAEE,KAAK,EAAEC,MAAM,CAAC,GAAG6B,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEZ,UAAU;EAE/G,MAAMQ,UAAU,GACdkB,eAAe,IAAInC,SAAS,GAAG,MAAMa,iBAAiB,CAACb,SAAS,EAAET,KAAK,EAAEC,MAAM,CAAC,GAAG6B,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEJ,UAAU;EAEjH,MAAMO,wBAAwB,CAAC;IAC7B3D,UAAU;IACV0B,KAAK;IACL8B,gBAAgB;IAChBhC,QAAQ;IACRW,SAAS;IACTS,UAAU;IACVQ,UAAU;IACVzB;EACF,CAAC,CAAC;EAEF,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6C,qBAAqBA,CAAC3B,IAAwB,EAAW;EACvE,OAAO,CAAC,EAAEA,IAAI,IAAIA,IAAI,KAAK/C,iBAAiB,IAAI+C,IAAI,KAAKhD,kCAAkC,IAAIgD,IAAI,CAAC4B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AACpH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAAC1E,UAAoC,EAAE2E,OAAgB,EAAU;EACzG;EACA,IAAIH,qBAAqB,CAACG,OAAO,CAAC,EAAE;IAClC,OAAOA,OAAO;EAChB;;EAEA;EACA,MAAMvB,UAAU,GAAGxD,aAAa,CAACI,UAAU,CAAC;EAC5C,IAAIwE,qBAAqB,CAACpB,UAAU,CAAC,EAAE;IACrC,OAAOA,UAAU;EACnB;;EAEA;EACA,MAAMR,UAAU,GAAGjD,aAAa,CAACK,UAAU,CAAC;EAC5C,IAAIwE,qBAAqB,CAAC5B,UAAU,CAAC,EAAE;IACrC,OAAOA,UAAU;EACnB;;EAEA;EACA,OAAO/C,kCAAkC;AAC3C","ignoreList":[]}
@@ -14,7 +14,8 @@ import { Role } from '../types/chat';
14
14
  import { BifoldError } from '../types/error';
15
15
  import { Screens, Stacks } from '../types/navigators';
16
16
  import { createAnonCredsProofRequest, filterInvalidProofRequestMatches, getDescriptorMetadata } from './anonCredsProofRequestMapper';
17
- import { getCredentialName } from './cred-def';
17
+ import { fallbackDefaultCredentialNameValue, defaultCredDefTag } from './cred-def';
18
+ import { getEffectiveCredentialName } from './credential';
18
19
  import { isOpenIdCredentialOffer, isOpenIdPresentationRequest } from './parsers';
19
20
  import { isMediatorInvitation } from './mediatorhelpers';
20
21
  export { parsedCredDefNameFromCredential } from './cred-def';
@@ -243,7 +244,53 @@ export const credentialSortFn = (a, b) => {
243
244
  return b.timestamp - a.timestamp;
244
245
  }
245
246
  };
246
- const credNameFromRestriction = async (queries, agent) => {
247
+ export const resolveCredDefTag = async (cred_def_id, agent) => {
248
+ var _agent$modules;
249
+ if (cred_def_id && agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds) {
250
+ try {
251
+ const {
252
+ credentialDefinition
253
+ } = await agent.modules.anoncreds.getCredentialDefinition(cred_def_id);
254
+ if (credentialDefinition !== null && credentialDefinition !== void 0 && credentialDefinition.tag && credentialDefinition.tag.toLowerCase() !== defaultCredDefTag && credentialDefinition.tag !== fallbackDefaultCredentialNameValue) {
255
+ return credentialDefinition.tag;
256
+ }
257
+ } catch (error) {
258
+ // Failed to resolve credential definition, return undefined
259
+ // This is expected when the credential definition doesn't exist or isn't accessible
260
+ // eslint-disable-next-line no-console
261
+ console.debug('Failed to resolve credential definition tag', {
262
+ cred_def_id,
263
+ error
264
+ });
265
+ return undefined;
266
+ }
267
+ }
268
+ return undefined;
269
+ };
270
+ export const resolveSchemaName = async (schema_id, agent) => {
271
+ var _agent$modules2;
272
+ if (schema_id && agent !== null && agent !== void 0 && (_agent$modules2 = agent.modules) !== null && _agent$modules2 !== void 0 && _agent$modules2.anoncreds) {
273
+ try {
274
+ const {
275
+ schema
276
+ } = await agent.modules.anoncreds.getSchema(schema_id);
277
+ if (schema !== null && schema !== void 0 && schema.name && schema.name !== fallbackDefaultCredentialNameValue) {
278
+ return schema.name;
279
+ }
280
+ } catch (error) {
281
+ // Failed to resolve schema, return undefined
282
+ // This is expected when the schema doesn't exist or isn't accessible
283
+ // eslint-disable-next-line no-console
284
+ console.debug('Failed to resolve schema name', {
285
+ schema_id,
286
+ error
287
+ });
288
+ return undefined;
289
+ }
290
+ }
291
+ return undefined;
292
+ };
293
+ export const credNameFromRestriction = async (queries, agent) => {
247
294
  let schema_name = '';
248
295
  let cred_def_id = '';
249
296
  let schema_id = '';
@@ -252,11 +299,26 @@ const credNameFromRestriction = async (queries, agent) => {
252
299
  cred_def_id = (query === null || query === void 0 ? void 0 : query.cred_def_id) ?? cred_def_id;
253
300
  schema_id = (query === null || query === void 0 ? void 0 : query.schema_id) ?? schema_id;
254
301
  });
255
- if (schema_name && (schema_name.toLowerCase() !== 'default' || schema_name.toLowerCase() !== 'credential')) {
302
+
303
+ // Priority 1: Provided restriction schema name (from schema_name in restriction if meaningful)
304
+ if (schema_name && schema_name.toLowerCase() !== defaultCredDefTag && schema_name.toLowerCase() !== fallbackDefaultCredentialNameValue.toLowerCase()) {
256
305
  return schema_name;
257
- } else {
258
- return await getCredentialName(cred_def_id, schema_id, agent);
259
306
  }
307
+
308
+ // Priority 2: Try to resolve credential definition tag
309
+ const credDefTag = await resolveCredDefTag(cred_def_id, agent);
310
+ if (credDefTag) {
311
+ return credDefTag;
312
+ }
313
+
314
+ // Priority 3: Try to resolve schema name
315
+ const schemaName = await resolveSchemaName(schema_id, agent);
316
+ if (schemaName) {
317
+ return schemaName;
318
+ }
319
+
320
+ // Priority 4: Return default fallback
321
+ return fallbackDefaultCredentialNameValue;
260
322
  };
261
323
  export const credDefIdFromRestrictions = queries => {
262
324
  var _queries$filter$;
@@ -440,12 +502,6 @@ export const processProofAttributes = async (t, request, credentials, credential
440
502
  }
441
503
  //iterate over all credentials that satisfy the proof
442
504
  for (const credential of credentialList) {
443
- var _credential$credentia, _credential$credentia2;
444
- let credName = key;
445
- 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) {
446
- var _credential$credentia3, _credential$credentia4;
447
- credName = await 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);
448
- }
449
505
  let revoked = false;
450
506
  let credExchangeRecord = undefined;
451
507
  if (credential) {
@@ -455,17 +511,20 @@ export const processProofAttributes = async (t, request, credentials, credential
455
511
  } else {
456
512
  continue;
457
513
  }
514
+
515
+ // Use cached metadata if we have the credential record
516
+ const credName = credExchangeRecord ? getEffectiveCredentialName(credExchangeRecord) : key;
458
517
  for (const attributeName of [...(names ?? (name && [name]) ?? [])]) {
459
518
  var _processedAttributes$4;
460
519
  if (!processedAttributes[credential.credentialId]) {
461
- var _credential$credentia5, _credential$credentia6;
520
+ var _credential$credentia, _credential$credentia2;
462
521
  // init processedAttributes object
463
522
  processedAttributes[credential.credentialId] = {
464
523
  credExchangeRecord,
465
524
  altCredentials,
466
525
  credId: credential === null || credential === void 0 ? void 0 : credential.credentialId,
467
- schemaId: (credential === null || credential === void 0 || (_credential$credentia5 = credential.credentialInfo) === null || _credential$credentia5 === void 0 ? void 0 : _credential$credentia5.schemaId) ?? proofSchemaId,
468
- credDefId: (credential === null || credential === void 0 || (_credential$credentia6 = credential.credentialInfo) === null || _credential$credentia6 === void 0 ? void 0 : _credential$credentia6.credentialDefinitionId) ?? proofCredDefId,
526
+ schemaId: (credential === null || credential === void 0 || (_credential$credentia = credential.credentialInfo) === null || _credential$credentia === void 0 ? void 0 : _credential$credentia.schemaId) ?? proofSchemaId,
527
+ credDefId: (credential === null || credential === void 0 || (_credential$credentia2 = credential.credentialInfo) === null || _credential$credentia2 === void 0 ? void 0 : _credential$credentia2.credentialDefinitionId) ?? proofCredDefId,
469
528
  credName,
470
529
  attributes: []
471
530
  };
@@ -570,7 +629,7 @@ export const processProofPredicates = async (request, credentials, credentialRec
570
629
  }
571
630
  }
572
631
  for (const credential of credentialList) {
573
- var _requestedProofPredic, _credential$credentia7, _credential$credentia8, _processedPredicates$3;
632
+ var _requestedProofPredic, _processedPredicates$3;
574
633
  let revoked = false;
575
634
  let credExchangeRecord = undefined;
576
635
  if (credential) {
@@ -588,11 +647,9 @@ export const processProofPredicates = async (request, credentials, credentialRec
588
647
  ...(credential === null || credential === void 0 ? void 0 : credential.credentialInfo)
589
648
  };
590
649
  const credNameRestriction = await credNameFromRestriction((_requestedProofPredic = requestedProofPredicates[key]) === null || _requestedProofPredic === void 0 ? void 0 : _requestedProofPredic.restrictions, agent);
591
- let credName = credNameRestriction ?? key;
592
- 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) {
593
- var _credential$credentia9, _credential$credentia0;
594
- credName = await 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);
595
- }
650
+
651
+ // Use cached metadata if we have the credential record
652
+ const credName = credExchangeRecord ? getEffectiveCredentialName(credExchangeRecord) : credNameRestriction ?? key;
596
653
  if (!processedPredicates[credential.credentialId]) {
597
654
  processedPredicates[credential.credentialId] = {
598
655
  altCredentials,
@@ -815,8 +872,9 @@ export const sortCredentialsForAutoSelect = credentials => {
815
872
  * received invitations exist
816
873
  * @param agent an Agent instance
817
874
  * @param invitationId specifically a *received* invitation id
875
+ * @param logger optional logger instance
818
876
  */
819
- export const removeExistingInvitationsById = async (agent, invitationId) => {
877
+ export const removeExistingInvitationsById = async (agent, invitationId, logger) => {
820
878
  // This is implemented just as findByReceivedInvitationId is
821
879
  // in Credo only this is able to return multiple if they exist
822
880
  const oobRecords = (await (agent === null || agent === void 0 ? void 0 : agent.oob.findAllByQuery({
@@ -825,7 +883,7 @@ export const removeExistingInvitationsById = async (agent, invitationId) => {
825
883
  }))) || [];
826
884
  for (const r of oobRecords) {
827
885
  await (agent === null || agent === void 0 ? void 0 : agent.oob.deleteById(r.id));
828
- agent === null || agent === void 0 || agent.config.logger.info('Successfully removed an existing oob invitation');
886
+ logger === null || logger === void 0 || logger.info('Successfully removed an existing oob invitation');
829
887
  }
830
888
  };
831
889