@bifold/core 2.12.12 β†’ 3.0.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 (414) hide show
  1. package/lib/commonjs/components/animated/CredentialAdded.js +12 -2
  2. package/lib/commonjs/components/animated/CredentialAdded.js.map +1 -1
  3. package/lib/commonjs/components/animated/CredentialPending.js +12 -2
  4. package/lib/commonjs/components/animated/CredentialPending.js.map +1 -1
  5. package/lib/commonjs/components/inputs/BiometryControl.js +29 -5
  6. package/lib/commonjs/components/inputs/BiometryControl.js.map +1 -1
  7. package/lib/commonjs/components/listItems/ContactCredentialListItem.js +8 -9
  8. package/lib/commonjs/components/listItems/ContactCredentialListItem.js.map +1 -1
  9. package/lib/commonjs/components/listItems/NotificationListItem.js +22 -18
  10. package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
  11. package/lib/commonjs/components/misc/CredentialCardGen.js.map +1 -1
  12. package/lib/commonjs/components/misc/QRScanner.js +2 -2
  13. package/lib/commonjs/components/misc/QRScanner.js.map +1 -1
  14. package/lib/commonjs/components/modals/ConfirmPINModal.js +0 -1
  15. package/lib/commonjs/components/modals/ConfirmPINModal.js.map +1 -1
  16. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js +1 -1
  17. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  18. package/lib/commonjs/components/views/HomeFooterView.js +2 -2
  19. package/lib/commonjs/components/views/HomeFooterView.js.map +1 -1
  20. package/lib/commonjs/container-impl.js +4 -2
  21. package/lib/commonjs/container-impl.js.map +1 -1
  22. package/lib/commonjs/contexts/activity.js +4 -4
  23. package/lib/commonjs/contexts/activity.js.map +1 -1
  24. package/lib/commonjs/contexts/auth.js +44 -27
  25. package/lib/commonjs/contexts/auth.js.map +1 -1
  26. package/lib/commonjs/hooks/chat-messages.js +12 -12
  27. package/lib/commonjs/hooks/chat-messages.js.map +1 -1
  28. package/lib/commonjs/hooks/connections.js +3 -2
  29. package/lib/commonjs/hooks/connections.js.map +1 -1
  30. package/lib/commonjs/hooks/credentials.js.map +1 -1
  31. package/lib/commonjs/hooks/notifications.js +10 -8
  32. package/lib/commonjs/hooks/notifications.js.map +1 -1
  33. package/lib/commonjs/hooks/oob.js +14 -6
  34. package/lib/commonjs/hooks/oob.js.map +1 -1
  35. package/lib/commonjs/hooks/proofs.js.map +1 -1
  36. package/lib/commonjs/hooks/useBifoldAgentSetup.js +22 -20
  37. package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
  38. package/lib/commonjs/index.js +9 -1
  39. package/lib/commonjs/index.js.map +1 -1
  40. package/lib/commonjs/localization/en/en.json +8 -1
  41. package/lib/commonjs/localization/fr/fr.json +8 -1
  42. package/lib/commonjs/localization/pt-br/pt-br.json +8 -1
  43. package/lib/commonjs/modules/history/context/historyManager.js.map +1 -1
  44. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js +2 -2
  45. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  46. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +35 -31
  47. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  48. package/lib/commonjs/modules/openid/credentialRecord.js +114 -0
  49. package/lib/commonjs/modules/openid/credentialRecord.js.map +1 -0
  50. package/lib/commonjs/modules/openid/display.js +38 -34
  51. package/lib/commonjs/modules/openid/display.js.map +1 -1
  52. package/lib/commonjs/modules/openid/displayProof.js +2 -2
  53. package/lib/commonjs/modules/openid/displayProof.js.map +1 -1
  54. package/lib/commonjs/modules/openid/hooks/openid.js +12 -15
  55. package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
  56. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +16 -19
  57. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
  58. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +1 -10
  59. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
  60. package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js +1 -1
  61. package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
  62. package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
  63. package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
  64. package/lib/commonjs/modules/openid/metadata.js +2 -0
  65. package/lib/commonjs/modules/openid/metadata.js.map +1 -1
  66. package/lib/commonjs/modules/openid/notification.js +5 -4
  67. package/lib/commonjs/modules/openid/notification.js.map +1 -1
  68. package/lib/commonjs/modules/openid/offerResolve.js +49 -76
  69. package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
  70. package/lib/commonjs/modules/openid/refresh/operations.js +37 -0
  71. package/lib/commonjs/modules/openid/refresh/operations.js.map +1 -0
  72. package/lib/commonjs/modules/openid/refresh/reIssuance.js +24 -30
  73. package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -1
  74. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +46 -61
  75. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
  76. package/lib/commonjs/modules/openid/refresh/refreshToken.js +13 -13
  77. package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -1
  78. package/lib/commonjs/modules/openid/refresh/registry.js +1 -1
  79. package/lib/commonjs/modules/openid/refresh/registry.js.map +1 -1
  80. package/lib/commonjs/modules/openid/refresh/types.js +11 -1
  81. package/lib/commonjs/modules/openid/refresh/types.js.map +1 -1
  82. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +7 -7
  83. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
  84. package/lib/commonjs/modules/openid/resolverProof.js +16 -103
  85. package/lib/commonjs/modules/openid/resolverProof.js.map +1 -1
  86. package/lib/commonjs/modules/openid/screens/OpenIDConnection.js +11 -23
  87. package/lib/commonjs/modules/openid/screens/OpenIDConnection.js.map +1 -1
  88. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js +10 -6
  89. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  90. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js +1 -1
  91. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  92. package/lib/commonjs/modules/openid/types.js.map +1 -1
  93. package/lib/commonjs/modules/openid/utils/utils.js +31 -32
  94. package/lib/commonjs/modules/openid/utils/utils.js.map +1 -1
  95. package/lib/commonjs/navigators/MainStack.js +3 -3
  96. package/lib/commonjs/navigators/MainStack.js.map +1 -1
  97. package/lib/commonjs/navigators/TabStack.js +5 -3
  98. package/lib/commonjs/navigators/TabStack.js.map +1 -1
  99. package/lib/commonjs/screens/Chat.js +3 -3
  100. package/lib/commonjs/screens/Chat.js.map +1 -1
  101. package/lib/commonjs/screens/ConfigureMediator.js +10 -10
  102. package/lib/commonjs/screens/ConfigureMediator.js.map +1 -1
  103. package/lib/commonjs/screens/Connection.js +2 -2
  104. package/lib/commonjs/screens/Connection.js.map +1 -1
  105. package/lib/commonjs/screens/ContactDetails.js +7 -7
  106. package/lib/commonjs/screens/ContactDetails.js.map +1 -1
  107. package/lib/commonjs/screens/CredentialDetails.js +15 -8
  108. package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
  109. package/lib/commonjs/screens/CredentialOffer.js +11 -9
  110. package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
  111. package/lib/commonjs/screens/CredentialOfferAccept.js +2 -2
  112. package/lib/commonjs/screens/CredentialOfferAccept.js.map +1 -1
  113. package/lib/commonjs/screens/Home.js +1 -1
  114. package/lib/commonjs/screens/Home.js.map +1 -1
  115. package/lib/commonjs/screens/ListContacts.js +2 -2
  116. package/lib/commonjs/screens/ListContacts.js.map +1 -1
  117. package/lib/commonjs/screens/ListCredentials.js +3 -2
  118. package/lib/commonjs/screens/ListCredentials.js.map +1 -1
  119. package/lib/commonjs/screens/MobileVerifierLoading.js +1 -1
  120. package/lib/commonjs/screens/MobileVerifierLoading.js.map +1 -1
  121. package/lib/commonjs/screens/ProofDetails.js +4 -4
  122. package/lib/commonjs/screens/ProofDetails.js.map +1 -1
  123. package/lib/commonjs/screens/ProofRequest.js +32 -23
  124. package/lib/commonjs/screens/ProofRequest.js.map +1 -1
  125. package/lib/commonjs/screens/ProofRequestAccept.js +7 -7
  126. package/lib/commonjs/screens/ProofRequestAccept.js.map +1 -1
  127. package/lib/commonjs/screens/ProofRequestUsageHistory.js +6 -6
  128. package/lib/commonjs/screens/ProofRequestUsageHistory.js.map +1 -1
  129. package/lib/commonjs/screens/ProofRequesting.js +3 -3
  130. package/lib/commonjs/screens/ProofRequesting.js.map +1 -1
  131. package/lib/commonjs/screens/RenameWallet.js +6 -7
  132. package/lib/commonjs/screens/RenameWallet.js.map +1 -1
  133. package/lib/commonjs/screens/Settings.js +4 -2
  134. package/lib/commonjs/screens/Settings.js.map +1 -1
  135. package/lib/commonjs/types/credentials.js.map +1 -1
  136. package/lib/commonjs/utils/agent.js +45 -36
  137. package/lib/commonjs/utils/agent.js.map +1 -1
  138. package/lib/commonjs/utils/anonCredsProofRequestMapper.js +4 -2
  139. package/lib/commonjs/utils/anonCredsProofRequestMapper.js.map +1 -1
  140. package/lib/commonjs/utils/contacts.js +3 -3
  141. package/lib/commonjs/utils/contacts.js.map +1 -1
  142. package/lib/commonjs/utils/credential.js +21 -4
  143. package/lib/commonjs/utils/credential.js.map +1 -1
  144. package/lib/commonjs/utils/helpers.js +57 -52
  145. package/lib/commonjs/utils/helpers.js.map +1 -1
  146. package/lib/commonjs/utils/mediatorhelpers.js +10 -10
  147. package/lib/commonjs/utils/mediatorhelpers.js.map +1 -1
  148. package/lib/commonjs/utils/migration.js +18 -12
  149. package/lib/commonjs/utils/migration.js.map +1 -1
  150. package/lib/commonjs/utils/oca.js.map +1 -1
  151. package/lib/commonjs/wallet/map-to-card.js +2 -2
  152. package/lib/commonjs/wallet/map-to-card.js.map +1 -1
  153. package/lib/module/components/animated/CredentialAdded.js +12 -2
  154. package/lib/module/components/animated/CredentialAdded.js.map +1 -1
  155. package/lib/module/components/animated/CredentialPending.js +12 -2
  156. package/lib/module/components/animated/CredentialPending.js.map +1 -1
  157. package/lib/module/components/buttons/Button.js +2 -1
  158. package/lib/module/components/buttons/Button.js.map +1 -1
  159. package/lib/module/components/inputs/BiometryControl.js +30 -6
  160. package/lib/module/components/inputs/BiometryControl.js.map +1 -1
  161. package/lib/module/components/listItems/ContactCredentialListItem.js +3 -3
  162. package/lib/module/components/listItems/ContactCredentialListItem.js.map +1 -1
  163. package/lib/module/components/listItems/NotificationListItem.js +22 -18
  164. package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
  165. package/lib/module/components/misc/CredentialCardGen.js.map +1 -1
  166. package/lib/module/components/misc/QRScanner.js +2 -2
  167. package/lib/module/components/misc/QRScanner.js.map +1 -1
  168. package/lib/module/components/modals/ConfirmPINModal.js +0 -1
  169. package/lib/module/components/modals/ConfirmPINModal.js.map +1 -1
  170. package/lib/module/components/views/CredentialDetailPrimaryHeader.js +1 -1
  171. package/lib/module/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  172. package/lib/module/components/views/HomeFooterView.js +2 -2
  173. package/lib/module/components/views/HomeFooterView.js.map +1 -1
  174. package/lib/module/container-impl.js +4 -2
  175. package/lib/module/container-impl.js.map +1 -1
  176. package/lib/module/contexts/activity.js +4 -4
  177. package/lib/module/contexts/activity.js.map +1 -1
  178. package/lib/module/contexts/auth.js +45 -27
  179. package/lib/module/contexts/auth.js.map +1 -1
  180. package/lib/module/hooks/chat-messages.js +12 -12
  181. package/lib/module/hooks/chat-messages.js.map +1 -1
  182. package/lib/module/hooks/connections.js +4 -3
  183. package/lib/module/hooks/connections.js.map +1 -1
  184. package/lib/module/hooks/credentials.js.map +1 -1
  185. package/lib/module/hooks/notifications.js +10 -8
  186. package/lib/module/hooks/notifications.js.map +1 -1
  187. package/lib/module/hooks/oob.js +15 -7
  188. package/lib/module/hooks/oob.js.map +1 -1
  189. package/lib/module/hooks/proofs.js.map +1 -1
  190. package/lib/module/hooks/useBifoldAgentSetup.js +23 -21
  191. package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
  192. package/lib/module/index.js +1 -0
  193. package/lib/module/index.js.map +1 -1
  194. package/lib/module/localization/en/en.json +8 -1
  195. package/lib/module/localization/fr/fr.json +8 -1
  196. package/lib/module/localization/pt-br/pt-br.json +8 -1
  197. package/lib/module/modules/history/context/historyManager.js.map +1 -1
  198. package/lib/module/modules/openid/components/OpenIDCredentialCard.js +2 -2
  199. package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  200. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +36 -32
  201. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  202. package/lib/module/modules/openid/credentialRecord.js +98 -0
  203. package/lib/module/modules/openid/credentialRecord.js.map +1 -0
  204. package/lib/module/modules/openid/display.js +38 -34
  205. package/lib/module/modules/openid/display.js.map +1 -1
  206. package/lib/module/modules/openid/displayProof.js +2 -2
  207. package/lib/module/modules/openid/displayProof.js.map +1 -1
  208. package/lib/module/modules/openid/hooks/openid.js +12 -15
  209. package/lib/module/modules/openid/hooks/openid.js.map +1 -1
  210. package/lib/module/modules/openid/hooks/useAcceptReplacement.js +16 -19
  211. package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
  212. package/lib/module/modules/openid/hooks/useDeclineReplacement.js +2 -11
  213. package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
  214. package/lib/module/modules/openid/hooks/useExpiredNotifications.js +1 -1
  215. package/lib/module/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
  216. package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
  217. package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
  218. package/lib/module/modules/openid/metadata.js +3 -1
  219. package/lib/module/modules/openid/metadata.js.map +1 -1
  220. package/lib/module/modules/openid/notification.js +5 -4
  221. package/lib/module/modules/openid/notification.js.map +1 -1
  222. package/lib/module/modules/openid/offerResolve.js +51 -78
  223. package/lib/module/modules/openid/offerResolve.js.map +1 -1
  224. package/lib/module/modules/openid/refresh/operations.js +31 -0
  225. package/lib/module/modules/openid/refresh/operations.js.map +1 -0
  226. package/lib/module/modules/openid/refresh/reIssuance.js +24 -30
  227. package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -1
  228. package/lib/module/modules/openid/refresh/refreshOrchestrator.js +48 -62
  229. package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
  230. package/lib/module/modules/openid/refresh/refreshToken.js +13 -13
  231. package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -1
  232. package/lib/module/modules/openid/refresh/registry.js +1 -1
  233. package/lib/module/modules/openid/refresh/registry.js.map +1 -1
  234. package/lib/module/modules/openid/refresh/types.js +11 -0
  235. package/lib/module/modules/openid/refresh/types.js.map +1 -1
  236. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +7 -7
  237. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
  238. package/lib/module/modules/openid/resolverProof.js +16 -99
  239. package/lib/module/modules/openid/resolverProof.js.map +1 -1
  240. package/lib/module/modules/openid/screens/OpenIDConnection.js +11 -23
  241. package/lib/module/modules/openid/screens/OpenIDConnection.js.map +1 -1
  242. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js +10 -6
  243. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  244. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js +1 -1
  245. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  246. package/lib/module/modules/openid/types.js.map +1 -1
  247. package/lib/module/modules/openid/utils/utils.js +31 -31
  248. package/lib/module/modules/openid/utils/utils.js.map +1 -1
  249. package/lib/module/navigators/MainStack.js +3 -3
  250. package/lib/module/navigators/MainStack.js.map +1 -1
  251. package/lib/module/navigators/TabStack.js +5 -3
  252. package/lib/module/navigators/TabStack.js.map +1 -1
  253. package/lib/module/screens/Chat.js +3 -3
  254. package/lib/module/screens/Chat.js.map +1 -1
  255. package/lib/module/screens/ConfigureMediator.js +7 -7
  256. package/lib/module/screens/ConfigureMediator.js.map +1 -1
  257. package/lib/module/screens/Connection.js +2 -2
  258. package/lib/module/screens/Connection.js.map +1 -1
  259. package/lib/module/screens/ContactDetails.js +7 -7
  260. package/lib/module/screens/ContactDetails.js.map +1 -1
  261. package/lib/module/screens/CredentialDetails.js +15 -8
  262. package/lib/module/screens/CredentialDetails.js.map +1 -1
  263. package/lib/module/screens/CredentialOffer.js +11 -9
  264. package/lib/module/screens/CredentialOffer.js.map +1 -1
  265. package/lib/module/screens/CredentialOfferAccept.js +2 -2
  266. package/lib/module/screens/CredentialOfferAccept.js.map +1 -1
  267. package/lib/module/screens/Home.js +1 -1
  268. package/lib/module/screens/Home.js.map +1 -1
  269. package/lib/module/screens/ListContacts.js +2 -2
  270. package/lib/module/screens/ListContacts.js.map +1 -1
  271. package/lib/module/screens/ListCredentials.js +3 -2
  272. package/lib/module/screens/ListCredentials.js.map +1 -1
  273. package/lib/module/screens/MobileVerifierLoading.js +1 -1
  274. package/lib/module/screens/MobileVerifierLoading.js.map +1 -1
  275. package/lib/module/screens/ProofDetails.js +4 -4
  276. package/lib/module/screens/ProofDetails.js.map +1 -1
  277. package/lib/module/screens/ProofRequest.js +33 -24
  278. package/lib/module/screens/ProofRequest.js.map +1 -1
  279. package/lib/module/screens/ProofRequestAccept.js +7 -7
  280. package/lib/module/screens/ProofRequestAccept.js.map +1 -1
  281. package/lib/module/screens/ProofRequestUsageHistory.js +6 -6
  282. package/lib/module/screens/ProofRequestUsageHistory.js.map +1 -1
  283. package/lib/module/screens/ProofRequesting.js +3 -3
  284. package/lib/module/screens/ProofRequesting.js.map +1 -1
  285. package/lib/module/screens/RenameWallet.js +6 -7
  286. package/lib/module/screens/RenameWallet.js.map +1 -1
  287. package/lib/module/screens/Settings.js +4 -2
  288. package/lib/module/screens/Settings.js.map +1 -1
  289. package/lib/module/types/credentials.js.map +1 -1
  290. package/lib/module/utils/agent.js +47 -39
  291. package/lib/module/utils/agent.js.map +1 -1
  292. package/lib/module/utils/anonCredsProofRequestMapper.js +4 -2
  293. package/lib/module/utils/anonCredsProofRequestMapper.js.map +1 -1
  294. package/lib/module/utils/contacts.js +3 -3
  295. package/lib/module/utils/contacts.js.map +1 -1
  296. package/lib/module/utils/credential.js +21 -4
  297. package/lib/module/utils/credential.js.map +1 -1
  298. package/lib/module/utils/helpers.js +58 -53
  299. package/lib/module/utils/helpers.js.map +1 -1
  300. package/lib/module/utils/mediatorhelpers.js +10 -10
  301. package/lib/module/utils/mediatorhelpers.js.map +1 -1
  302. package/lib/module/utils/migration.js +17 -12
  303. package/lib/module/utils/migration.js.map +1 -1
  304. package/lib/module/utils/oca.js.map +1 -1
  305. package/lib/module/wallet/map-to-card.js +2 -2
  306. package/lib/module/wallet/map-to-card.js.map +1 -1
  307. package/lib/typescript/src/components/animated/CredentialAdded.d.ts.map +1 -1
  308. package/lib/typescript/src/components/animated/CredentialPending.d.ts.map +1 -1
  309. package/lib/typescript/src/components/buttons/Button.d.ts +3 -2
  310. package/lib/typescript/src/components/buttons/Button.d.ts.map +1 -1
  311. package/lib/typescript/src/components/inputs/BiometryControl.d.ts.map +1 -1
  312. package/lib/typescript/src/components/listItems/ContactCredentialListItem.d.ts +3 -4
  313. package/lib/typescript/src/components/listItems/ContactCredentialListItem.d.ts.map +1 -1
  314. package/lib/typescript/src/components/listItems/ContactListItem.d.ts +2 -2
  315. package/lib/typescript/src/components/listItems/ContactListItem.d.ts.map +1 -1
  316. package/lib/typescript/src/components/listItems/NotificationListItem.d.ts +2 -2
  317. package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
  318. package/lib/typescript/src/components/misc/CredentialCard10.d.ts +2 -2
  319. package/lib/typescript/src/components/misc/CredentialCard10.d.ts.map +1 -1
  320. package/lib/typescript/src/components/modals/ConfirmPINModal.d.ts.map +1 -1
  321. package/lib/typescript/src/components/views/CredentialDetailPrimaryHeader.d.ts +2 -2
  322. package/lib/typescript/src/components/views/CredentialDetailPrimaryHeader.d.ts.map +1 -1
  323. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  324. package/lib/typescript/src/contexts/activity.d.ts.map +1 -1
  325. package/lib/typescript/src/contexts/auth.d.ts.map +1 -1
  326. package/lib/typescript/src/hooks/chat-messages.d.ts +2 -2
  327. package/lib/typescript/src/hooks/chat-messages.d.ts.map +1 -1
  328. package/lib/typescript/src/hooks/connections.d.ts +4 -4
  329. package/lib/typescript/src/hooks/connections.d.ts.map +1 -1
  330. package/lib/typescript/src/hooks/credentials.d.ts +2 -2
  331. package/lib/typescript/src/hooks/credentials.d.ts.map +1 -1
  332. package/lib/typescript/src/hooks/notifications.d.ts +3 -2
  333. package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
  334. package/lib/typescript/src/hooks/oob.d.ts +2 -2
  335. package/lib/typescript/src/hooks/oob.d.ts.map +1 -1
  336. package/lib/typescript/src/hooks/proofs.d.ts +2 -2
  337. package/lib/typescript/src/hooks/proofs.d.ts.map +1 -1
  338. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
  339. package/lib/typescript/src/index.d.ts +1 -0
  340. package/lib/typescript/src/index.d.ts.map +1 -1
  341. package/lib/typescript/src/modules/history/context/historyManager.d.ts +1 -2
  342. package/lib/typescript/src/modules/history/context/historyManager.d.ts.map +1 -1
  343. package/lib/typescript/src/modules/history/types/index.d.ts +1 -1
  344. package/lib/typescript/src/modules/history/types/index.d.ts.map +1 -1
  345. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +6 -5
  346. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
  347. package/lib/typescript/src/modules/openid/credentialRecord.d.ts +19 -0
  348. package/lib/typescript/src/modules/openid/credentialRecord.d.ts.map +1 -0
  349. package/lib/typescript/src/modules/openid/display.d.ts +2 -3
  350. package/lib/typescript/src/modules/openid/display.d.ts.map +1 -1
  351. package/lib/typescript/src/modules/openid/hooks/openid.d.ts +2 -2
  352. package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
  353. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +2 -4
  354. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -1
  355. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -1
  356. package/lib/typescript/src/modules/openid/hooks/useUpgradeExpiredCredential.d.ts.map +1 -1
  357. package/lib/typescript/src/modules/openid/metadata.d.ts +23 -18
  358. package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
  359. package/lib/typescript/src/modules/openid/notification.d.ts +3 -2
  360. package/lib/typescript/src/modules/openid/notification.d.ts.map +1 -1
  361. package/lib/typescript/src/modules/openid/offerResolve.d.ts +10 -16
  362. package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
  363. package/lib/typescript/src/modules/openid/refresh/operations.d.ts +13 -0
  364. package/lib/typescript/src/modules/openid/refresh/operations.d.ts.map +1 -0
  365. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +4 -7
  366. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -1
  367. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +2 -5
  368. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -1
  369. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +3 -2
  370. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -1
  371. package/lib/typescript/src/modules/openid/refresh/types.d.ts +18 -6
  372. package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -1
  373. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +4 -4
  374. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -1
  375. package/lib/typescript/src/modules/openid/resolverProof.d.ts +7 -24
  376. package/lib/typescript/src/modules/openid/resolverProof.d.ts.map +1 -1
  377. package/lib/typescript/src/modules/openid/screens/OpenIDConnection.d.ts.map +1 -1
  378. package/lib/typescript/src/modules/openid/screens/OpenIDCredentialOffer.d.ts.map +1 -1
  379. package/lib/typescript/src/modules/openid/types.d.ts +6 -6
  380. package/lib/typescript/src/modules/openid/types.d.ts.map +1 -1
  381. package/lib/typescript/src/modules/openid/utils/utils.d.ts +0 -2
  382. package/lib/typescript/src/modules/openid/utils/utils.d.ts.map +1 -1
  383. package/lib/typescript/src/screens/ConfigureMediator.d.ts.map +1 -1
  384. package/lib/typescript/src/screens/Connection.d.ts.map +1 -1
  385. package/lib/typescript/src/screens/CredentialDetails.d.ts.map +1 -1
  386. package/lib/typescript/src/screens/Home.d.ts.map +1 -1
  387. package/lib/typescript/src/screens/ProofDetails.d.ts.map +1 -1
  388. package/lib/typescript/src/screens/ProofRequest.d.ts.map +1 -1
  389. package/lib/typescript/src/screens/RenameWallet.d.ts.map +1 -1
  390. package/lib/typescript/src/types/credentials.d.ts +3 -2
  391. package/lib/typescript/src/types/credentials.d.ts.map +1 -1
  392. package/lib/typescript/src/types/navigators.d.ts +2 -2
  393. package/lib/typescript/src/types/navigators.d.ts.map +1 -1
  394. package/lib/typescript/src/types/proof-items.d.ts +4 -4
  395. package/lib/typescript/src/types/proof-items.d.ts.map +1 -1
  396. package/lib/typescript/src/utils/agent.d.ts +29 -14
  397. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  398. package/lib/typescript/src/utils/contacts.d.ts +2 -2
  399. package/lib/typescript/src/utils/contacts.d.ts.map +1 -1
  400. package/lib/typescript/src/utils/cred-def.d.ts +1 -1
  401. package/lib/typescript/src/utils/cred-def.d.ts.map +1 -1
  402. package/lib/typescript/src/utils/credential.d.ts +5 -5
  403. package/lib/typescript/src/utils/credential.d.ts.map +1 -1
  404. package/lib/typescript/src/utils/helpers.d.ts +28 -28
  405. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  406. package/lib/typescript/src/utils/mediatorhelpers.d.ts.map +1 -1
  407. package/lib/typescript/src/utils/migration.d.ts.map +1 -1
  408. package/lib/typescript/src/utils/oca.d.ts +2 -2
  409. package/lib/typescript/src/utils/oca.d.ts.map +1 -1
  410. package/lib/typescript/src/utils/schema.d.ts +1 -1
  411. package/lib/typescript/src/utils/schema.d.ts.map +1 -1
  412. package/lib/typescript/src/wallet/map-to-card.d.ts +1 -1
  413. package/lib/typescript/src/wallet/map-to-card.d.ts.map +1 -1
  414. package/package.json +32 -27
@@ -1,6 +1,21 @@
1
1
  import { OpenId4VciCredentialFormatProfile } from '@credo-ts/openid4vc';
2
- import { DidJwk, DidKey, getJwkFromKey, JwaSignatureAlgorithm, KeyBackend, Mdoc, MdocRecord, SdJwtVcRecord, W3cCredentialRecord } from '@credo-ts/core';
3
- import { extractOpenId4VcCredentialMetadata, setOpenId4VcCredentialMetadata, temporaryMetaVanillaObject } from './metadata';
2
+ import { DidJwk, DidKey, Kms } from '@credo-ts/core';
3
+ import { extractOpenId4VcCredentialMetadata, setOpenId4VcCredentialMetadata } from './metadata';
4
+ const getCredentialConfigurationIdsToRequest = ({
5
+ resolvedCredentialOffer,
6
+ credentialConfigurationIdsToRequest
7
+ }) => {
8
+ const credentialConfigurationIds = credentialConfigurationIdsToRequest ?? [Object.keys(resolvedCredentialOffer.offeredCredentialConfigurations)[0]];
9
+ if (credentialConfigurationIds.length === 0 || !credentialConfigurationIds[0]) {
10
+ throw new Error('No credential configuration ID found in the credential offer.');
11
+ }
12
+ for (const credentialConfigurationId of credentialConfigurationIds) {
13
+ if (!resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationId]) {
14
+ throw new Error(`Parameter 'credentialConfigurationIdsToRequest' with values ${credentialConfigurationIdsToRequest} is not a credential_configuration_id in the credential offer.`);
15
+ }
16
+ }
17
+ return credentialConfigurationIds;
18
+ };
4
19
  export const resolveOpenId4VciOffer = async ({
5
20
  agent,
6
21
  data,
@@ -20,9 +35,9 @@ export const resolveOpenId4VciOffer = async ({
20
35
  data: data,
21
36
  uri: offerUri
22
37
  });
23
- const resolvedCredentialOffer = await agent.modules.openId4VcHolder.resolveCredentialOffer(offerUri);
38
+ const resolvedCredentialOffer = await agent.openid4vc.holder.resolveCredentialOffer(offerUri);
24
39
  if (authorization) {
25
- throw new Error('Authorization flow is not supported yet as of Credo 0.5.13');
40
+ throw new Error('Authorization code flow is not implemented in this OpenID credential offer flow.');
26
41
  }
27
42
  return resolvedCredentialOffer;
28
43
  };
@@ -31,7 +46,7 @@ export async function acquirePreAuthorizedAccessToken({
31
46
  resolvedCredentialOffer,
32
47
  txCode
33
48
  }) {
34
- return await agent.modules.openId4VcHolder.requestToken({
49
+ return await agent.openid4vc.holder.requestToken({
35
50
  resolvedCredentialOffer,
36
51
  txCode
37
52
  });
@@ -39,64 +54,48 @@ export async function acquirePreAuthorizedAccessToken({
39
54
  export const customCredentialBindingResolver = async ({
40
55
  agent,
41
56
  supportedDidMethods,
42
- keyType,
43
57
  supportsAllDidMethods,
44
58
  supportsJwk,
45
59
  credentialFormat,
46
- supportedCredentialId,
47
- resolvedCredentialOffer,
48
- pidSchemes
60
+ proofTypes
49
61
  }) => {
50
- // First, we try to pick a did method
51
- // Prefer did:jwk, otherwise use did:key, otherwise use undefined
62
+ var _proofTypes$jwt;
52
63
  let didMethod = supportsAllDidMethods || supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:jwk') ? 'jwk' : supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:key') ? 'key' : undefined;
53
-
54
- // If supportedDidMethods is undefined, and supportsJwk is false, we will default to did:key
55
- // this is important as part of MATTR launchpad support which MUST use did:key but doesn't
56
- // define which did methods they support
57
64
  if (!supportedDidMethods && !supportsJwk) {
58
65
  didMethod = 'key';
59
66
  }
60
- const offeredCredentialConfiguration = supportedCredentialId ? resolvedCredentialOffer.offeredCredentialConfigurations[supportedCredentialId] : undefined;
61
- const shouldKeyBeHardwareBackedForMsoMdoc = (offeredCredentialConfiguration === null || offeredCredentialConfiguration === void 0 ? void 0 : offeredCredentialConfiguration.format) === OpenId4VciCredentialFormatProfile.MsoMdoc && (pidSchemes === null || pidSchemes === void 0 ? void 0 : pidSchemes.msoMdocDoctypes.includes(offeredCredentialConfiguration.doctype));
62
- const shouldKeyBeHardwareBackedForSdJwtVc = (offeredCredentialConfiguration === null || offeredCredentialConfiguration === void 0 ? void 0 : offeredCredentialConfiguration.format) === 'vc+sd-jwt' && (pidSchemes === null || pidSchemes === void 0 ? void 0 : pidSchemes.sdJwtVcVcts.includes(offeredCredentialConfiguration.vct));
63
- const shouldKeyBeHardwareBacked = shouldKeyBeHardwareBackedForSdJwtVc || shouldKeyBeHardwareBackedForMsoMdoc;
64
- if (!keyType) {
65
- throw new Error('keyType is required!');
66
- }
67
- const key = await agent.wallet.createKey({
68
- keyType,
69
- keyBackend: shouldKeyBeHardwareBacked ? KeyBackend.SecureElement : KeyBackend.Software
67
+ const key = await agent.kms.createKeyForSignatureAlgorithm({
68
+ algorithm: (proofTypes === null || proofTypes === void 0 || (_proofTypes$jwt = proofTypes.jwt) === null || _proofTypes$jwt === void 0 ? void 0 : _proofTypes$jwt.supportedSignatureAlgorithms[0]) ?? 'EdDSA'
70
69
  });
70
+ const publicJwk = Kms.PublicJwk.fromPublicJwk(key.publicJwk);
71
71
  if (didMethod) {
72
72
  const didResult = await agent.dids.create({
73
73
  method: didMethod,
74
74
  options: {
75
- key
75
+ keyId: key.keyId
76
76
  }
77
77
  });
78
78
  if (didResult.didState.state !== 'finished') {
79
79
  throw new Error('DID creation failed.');
80
80
  }
81
- let verificationMethodId;
81
+ let didUrl;
82
82
  if (didMethod === 'jwk') {
83
- const didJwk = DidJwk.fromDid(didResult.didState.did);
84
- verificationMethodId = didJwk.verificationMethodId;
83
+ didUrl = DidJwk.fromDid(didResult.didState.did).verificationMethodId;
85
84
  } else {
86
85
  const didKey = DidKey.fromDid(didResult.didState.did);
87
- verificationMethodId = `${didKey.did}#${didKey.key.fingerprint}`;
86
+ didUrl = `${didKey.did}#${didKey.publicJwk.fingerprint}`;
88
87
  }
89
88
  return {
90
- didUrl: verificationMethodId,
91
- method: 'did'
89
+ method: 'did',
90
+ didUrls: [didUrl]
92
91
  };
93
92
  }
94
93
 
95
- // Otherwise we also support plain jwk for sd-jwt only
94
+ // Fallback: plain jwk for sd-jwt/mdoc only
96
95
  if (supportsJwk && (credentialFormat === OpenId4VciCredentialFormatProfile.SdJwtVc || credentialFormat === OpenId4VciCredentialFormatProfile.MsoMdoc)) {
97
96
  return {
98
97
  method: 'jwk',
99
- jwk: getJwkFromKey(key)
98
+ keys: [publicJwk] // Need to replace getJwkFromKey here
100
99
  };
101
100
  }
102
101
  throw new Error(`No supported binding method could be found. Supported methods are did:key and did:jwk, or plain jwk for sd-jwt/mdoc. Issuer supports ${supportsJwk ? 'jwk, ' : ''}${(supportedDidMethods === null || supportedDidMethods === void 0 ? void 0 : supportedDidMethods.join(', ')) ?? 'Unknown'}`);
@@ -106,78 +105,52 @@ export const receiveCredentialFromOpenId4VciOffer = async ({
106
105
  resolvedCredentialOffer,
107
106
  tokenResponse,
108
107
  credentialConfigurationIdsToRequest,
109
- clientId,
110
- pidSchemes
108
+ clientId
111
109
  }) => {
112
- const offeredCredentialsToRequest = credentialConfigurationIdsToRequest ? resolvedCredentialOffer.offeredCredentials.filter(offered => credentialConfigurationIdsToRequest.includes(offered.id)) : [resolvedCredentialOffer.offeredCredentials[0]];
113
- if (offeredCredentialsToRequest.length === 0) {
114
- throw new Error(`Parameter 'credentialConfigurationIdsToRequest' with values ${credentialConfigurationIdsToRequest} is not a credential_configuration_id in the credential offer.`);
115
- }
116
- const credentials = await agent.modules.openId4VcHolder.requestCredentials({
110
+ const credentialConfigurationIds = getCredentialConfigurationIdsToRequest({
111
+ resolvedCredentialOffer,
112
+ credentialConfigurationIdsToRequest
113
+ });
114
+ const credentials = await agent.openid4vc.holder.requestCredentials({
117
115
  resolvedCredentialOffer,
118
116
  ...tokenResponse,
119
117
  clientId,
120
- credentialsToRequest: credentialConfigurationIdsToRequest,
118
+ credentialConfigurationIds,
121
119
  verifyCredentialStatus: false,
122
120
  allowedProofOfPossessionSignatureAlgorithms: [
123
121
  // NOTE: MATTR launchpad for JFF MUST use EdDSA. So it is important that the default (first allowed one)
124
122
  // is EdDSA. The list is ordered by preference, so if no suites are defined by the issuer, the first one
125
123
  // will be used
126
- JwaSignatureAlgorithm.EdDSA, JwaSignatureAlgorithm.ES256],
124
+ 'EdDSA', 'ES256'],
127
125
  credentialBindingResolver: async ({
128
126
  supportedDidMethods,
129
- keyType,
127
+ proofTypes,
130
128
  supportsAllDidMethods,
131
129
  supportsJwk,
132
- credentialFormat,
133
- supportedCredentialId
130
+ credentialFormat
134
131
  }) => {
135
132
  return customCredentialBindingResolver({
136
133
  agent,
137
134
  supportedDidMethods,
138
- keyType,
135
+ proofTypes,
139
136
  supportsAllDidMethods,
140
137
  supportsJwk,
141
- credentialFormat,
142
- supportedCredentialId,
143
- resolvedCredentialOffer,
144
- pidSchemes
138
+ credentialFormat
145
139
  });
146
140
  }
147
141
  });
148
142
 
149
143
  // We only support one credential for now
150
- const [firstCredential] = credentials;
144
+ const [firstCredential] = credentials.credentials;
151
145
  if (!firstCredential) throw new Error('Error retrieving credential using pre authorized flow: firstCredential undefined!.');
152
- let record;
153
146
  if (typeof firstCredential === 'string') {
154
147
  throw new Error('Error retrieving credential using pre authorized flow: firstCredential is string.');
155
148
  }
156
- if ('compact' in firstCredential.credential) {
157
- // TODO: add claimFormat to SdJwtVc
158
- record = new SdJwtVcRecord({
159
- compactSdJwtVc: firstCredential.credential.compact
160
- });
161
- } else if (firstCredential.credential instanceof Mdoc) {
162
- record = new MdocRecord({
163
- mdoc: firstCredential.credential
164
- });
165
- } else {
166
- record = new W3cCredentialRecord({
167
- credential: firstCredential.credential,
168
- // We don't support expanded types right now, but would become problem when we support JSON-LD
169
- tags: {}
170
- });
171
- }
172
- const notificationMetadata = {
173
- ...firstCredential.notificationMetadata
174
- };
175
- if (notificationMetadata) {
176
- temporaryMetaVanillaObject.notificationMetadata = notificationMetadata;
177
- }
178
- const openId4VcMetadata = extractOpenId4VcCredentialMetadata(resolvedCredentialOffer.offeredCredentials[0], {
179
- id: resolvedCredentialOffer.metadata.issuer,
180
- display: resolvedCredentialOffer.metadata.credentialIssuerMetadata.display
149
+ const record = firstCredential.record;
150
+ const requestedCredentialConfiguration = resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationIds[0]];
151
+ const openId4VcMetadata = extractOpenId4VcCredentialMetadata(requestedCredentialConfiguration, {
152
+ id: resolvedCredentialOffer.metadata.credentialIssuer.credential_issuer,
153
+ display: resolvedCredentialOffer.metadata.credentialIssuer.display
181
154
  });
182
155
  setOpenId4VcCredentialMetadata(record, openId4VcMetadata);
183
156
  return record;
@@ -1 +1 @@
1
- {"version":3,"names":["OpenId4VciCredentialFormatProfile","DidJwk","DidKey","getJwkFromKey","JwaSignatureAlgorithm","KeyBackend","Mdoc","MdocRecord","SdJwtVcRecord","W3cCredentialRecord","extractOpenId4VcCredentialMetadata","setOpenId4VcCredentialMetadata","temporaryMetaVanillaObject","resolveOpenId4VciOffer","agent","data","uri","authorization","offerUri","encodeURIComponent","JSON","stringify","Error","config","logger","info","resolvedCredentialOffer","modules","openId4VcHolder","resolveCredentialOffer","acquirePreAuthorizedAccessToken","txCode","requestToken","customCredentialBindingResolver","supportedDidMethods","keyType","supportsAllDidMethods","supportsJwk","credentialFormat","supportedCredentialId","pidSchemes","didMethod","includes","undefined","offeredCredentialConfiguration","offeredCredentialConfigurations","shouldKeyBeHardwareBackedForMsoMdoc","format","MsoMdoc","msoMdocDoctypes","doctype","shouldKeyBeHardwareBackedForSdJwtVc","sdJwtVcVcts","vct","shouldKeyBeHardwareBacked","key","wallet","createKey","keyBackend","SecureElement","Software","didResult","dids","create","method","options","didState","state","verificationMethodId","didJwk","fromDid","did","didKey","fingerprint","didUrl","SdJwtVc","jwk","join","receiveCredentialFromOpenId4VciOffer","tokenResponse","credentialConfigurationIdsToRequest","clientId","offeredCredentialsToRequest","offeredCredentials","filter","offered","id","length","credentials","requestCredentials","credentialsToRequest","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","EdDSA","ES256","credentialBindingResolver","firstCredential","record","credential","compactSdJwtVc","compact","mdoc","tags","notificationMetadata","openId4VcMetadata","metadata","issuer","display","credentialIssuerMetadata"],"sourceRoot":"../../../../src","sources":["modules/openid/offerResolve.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OpenId4VciCredentialFormatProfile","DidJwk","DidKey","Kms","extractOpenId4VcCredentialMetadata","setOpenId4VcCredentialMetadata","getCredentialConfigurationIdsToRequest","resolvedCredentialOffer","credentialConfigurationIdsToRequest","credentialConfigurationIds","Object","keys","offeredCredentialConfigurations","length","Error","credentialConfigurationId","resolveOpenId4VciOffer","agent","data","uri","authorization","offerUri","encodeURIComponent","JSON","stringify","config","logger","info","openid4vc","holder","resolveCredentialOffer","acquirePreAuthorizedAccessToken","txCode","requestToken","customCredentialBindingResolver","supportedDidMethods","supportsAllDidMethods","supportsJwk","credentialFormat","proofTypes","_proofTypes$jwt","didMethod","includes","undefined","key","kms","createKeyForSignatureAlgorithm","algorithm","jwt","supportedSignatureAlgorithms","publicJwk","PublicJwk","fromPublicJwk","didResult","dids","create","method","options","keyId","didState","state","didUrl","fromDid","did","verificationMethodId","didKey","fingerprint","didUrls","SdJwtVc","MsoMdoc","join","receiveCredentialFromOpenId4VciOffer","tokenResponse","clientId","credentials","requestCredentials","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","credentialBindingResolver","firstCredential","record","requestedCredentialConfiguration","openId4VcMetadata","id","metadata","credentialIssuer","credential_issuer","display"],"sourceRoot":"../../../../src","sources":["modules/openid/offerResolve.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { toOpenIDCredentialLite } from '../credentialRecord';
2
+ import { refreshAccessToken } from './refreshToken';
3
+ import { credentialRegistry } from './registry';
4
+ import { reissueCredentialWithAccessToken } from './reIssuance';
5
+ export async function refreshAndQueueReplacement({
6
+ agent,
7
+ logger,
8
+ record,
9
+ toLite = toOpenIDCredentialLite
10
+ }) {
11
+ const token = await refreshAccessToken({
12
+ logger,
13
+ cred: record,
14
+ agentContext: agent.context
15
+ });
16
+ if (!token) {
17
+ return undefined;
18
+ }
19
+ const newRecord = await reissueCredentialWithAccessToken({
20
+ agent,
21
+ logger,
22
+ record,
23
+ tokenResponse: token
24
+ });
25
+ if (!newRecord) {
26
+ return undefined;
27
+ }
28
+ credentialRegistry.getState().markExpiredWithReplacement(record.id, toLite(newRecord));
29
+ return newRecord;
30
+ }
31
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["toOpenIDCredentialLite","refreshAccessToken","credentialRegistry","reissueCredentialWithAccessToken","refreshAndQueueReplacement","agent","logger","record","toLite","token","cred","agentContext","context","undefined","newRecord","tokenResponse","getState","markExpiredWithReplacement","id"],"sourceRoot":"../../../../../src","sources":["modules/openid/refresh/operations.ts"],"mappings":"AAEA,SAAiCA,sBAAsB,QAAQ,qBAAqB;AACpF,SAASC,kBAAkB,QAAQ,gBAAgB;AACnD,SAASC,kBAAkB,QAAQ,YAAY;AAC/C,SAASC,gCAAgC,QAAQ,cAAc;AAU/D,OAAO,eAAeC,0BAA0BA,CAAC;EAC/CC,KAAK;EACLC,MAAM;EACNC,MAAM;EACNC,MAAM,GAAGR;AACc,CAAC,EAAE;EAC1B,MAAMS,KAAK,GAAG,MAAMR,kBAAkB,CAAC;IAAEK,MAAM;IAAEI,IAAI,EAAEH,MAAM;IAAEI,YAAY,EAAEN,KAAK,CAACO;EAAQ,CAAC,CAAC;EAC7F,IAAI,CAACH,KAAK,EAAE;IACV,OAAOI,SAAS;EAClB;EAEA,MAAMC,SAAS,GAAG,MAAMX,gCAAgC,CAAC;IACvDE,KAAK;IACLC,MAAM;IACNC,MAAM;IACNQ,aAAa,EAAEN;EACjB,CAAC,CAAC;EAEF,IAAI,CAACK,SAAS,EAAE;IACd,OAAOD,SAAS;EAClB;EAEAX,kBAAkB,CAACc,QAAQ,CAAC,CAAC,CAACC,0BAA0B,CAACV,MAAM,CAACW,EAAE,EAAEV,MAAM,CAACM,SAAS,CAAC,CAAC;EACtF,OAAOA,SAAS;AAClB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { JwaSignatureAlgorithm, Mdoc, MdocRecord, SdJwtVcRecord, W3cCredentialRecord } from '@credo-ts/core';
2
1
  import { customCredentialBindingResolver } from '../offerResolve';
3
2
  import { extractOpenId4VcCredentialMetadata, getRefreshCredentialMetadata, setOpenId4VcCredentialMetadata, setRefreshCredentialMetadata } from '../metadata';
4
3
  import { RefreshStatus } from './types';
@@ -7,8 +6,7 @@ export async function reissueCredentialWithAccessToken({
7
6
  logger,
8
7
  record,
9
8
  tokenResponse,
10
- clientId,
11
- pidSchemes
9
+ clientId
12
10
  }) {
13
11
  if (!record) {
14
12
  throw new Error('No credential record provided for re-issuance.');
@@ -29,53 +27,49 @@ export async function reissueCredentialWithAccessToken({
29
27
  }
30
28
  logger.info('*** Starting to get new credential via re-issuance flow ***');
31
29
  // Request a **new** credential using the *existing* configuration id
32
- const creds = await agent.modules.openId4VcHolder.requestCredentials({
30
+
31
+ const creds = await agent.openid4vc.holder.requestCredentials({
33
32
  resolvedCredentialOffer,
34
33
  accessToken: tokenResponse.access_token,
35
34
  tokenType: tokenResponse.token_type || 'Bearer',
36
35
  cNonce: tokenResponse.c_nonce,
37
36
  clientId,
38
- credentialsToRequest: [credentialConfigurationId],
37
+ credentialConfigurationIds: [credentialConfigurationId],
39
38
  verifyCredentialStatus: false,
40
39
  // you’ll check after storing
41
- allowedProofOfPossessionSignatureAlgorithms: [JwaSignatureAlgorithm.EdDSA, JwaSignatureAlgorithm.ES256],
40
+ allowedProofOfPossessionSignatureAlgorithms: ['EdDSA', 'ES256'],
42
41
  credentialBindingResolver: async opts => customCredentialBindingResolver({
43
42
  agent,
44
43
  supportedDidMethods: opts.supportedDidMethods,
45
- keyType: opts.keyType,
44
+ proofTypes: opts.proofTypes,
46
45
  supportsAllDidMethods: opts.supportsAllDidMethods,
47
46
  supportsJwk: opts.supportsJwk,
48
- credentialFormat: opts.credentialFormat,
49
- supportedCredentialId: opts.supportedCredentialId,
50
- resolvedCredentialOffer: resolvedCredentialOffer,
51
- pidSchemes
47
+ credentialFormat: opts.credentialFormat
52
48
  })
53
49
  });
54
50
  logger.info('*** New credential received via re-issuance flow ***.');
55
51
 
56
52
  // Normalize to your local record types
57
- const [firstCredential] = creds;
53
+ const [firstCredential] = creds.credentials;
58
54
  if (!firstCredential || typeof firstCredential === 'string') {
59
55
  throw new Error('Issuer returned empty or malformed credential on re-issuance.');
60
56
  }
61
- let newRecord;
62
- if ('compact' in firstCredential.credential) {
63
- newRecord = new SdJwtVcRecord({
64
- compactSdJwtVc: firstCredential.credential.compact
65
- });
66
- } else if ((firstCredential === null || firstCredential === void 0 ? void 0 : firstCredential.credential) instanceof Mdoc) {
67
- newRecord = new MdocRecord({
68
- mdoc: firstCredential.credential
69
- });
70
- } else {
71
- newRecord = new W3cCredentialRecord({
72
- credential: firstCredential.credential,
73
- tags: {}
74
- });
75
- }
76
- const openId4VcMetadata = extractOpenId4VcCredentialMetadata(resolvedCredentialOffer.offeredCredentials[0], {
77
- id: resolvedCredentialOffer.metadata.issuer,
78
- display: resolvedCredentialOffer.metadata.credentialIssuerMetadata.display
57
+ const newRecord = firstCredential.record;
58
+ // if ('compact' in firstCredential) {
59
+ // newRecord = new SdJwtVcRecord({ c })
60
+ // } else if ((firstCredential as any)?.credential instanceof Mdoc) {
61
+ // newRecord = new MdocRecord({ mdoc: firstCredential.credential })
62
+ // } else {
63
+ // newRecord = new W3cCredentialRecord({
64
+ // credential: firstCredential.credential as W3cJwtVerifiableCredential | W3cJsonLdVerifiableCredential,
65
+ // tags: {},
66
+ // })
67
+ // }
68
+
69
+ const requestedCredentialConfiguration = resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationId];
70
+ const openId4VcMetadata = extractOpenId4VcCredentialMetadata(requestedCredentialConfiguration, {
71
+ id: resolvedCredentialOffer.metadata.credentialIssuer.credential_issuer,
72
+ display: resolvedCredentialOffer.metadata.credentialIssuer.display
79
73
  });
80
74
  setOpenId4VcCredentialMetadata(newRecord, openId4VcMetadata);
81
75
  setRefreshCredentialMetadata(newRecord, {
@@ -1 +1 @@
1
- {"version":3,"names":["JwaSignatureAlgorithm","Mdoc","MdocRecord","SdJwtVcRecord","W3cCredentialRecord","customCredentialBindingResolver","extractOpenId4VcCredentialMetadata","getRefreshCredentialMetadata","setOpenId4VcCredentialMetadata","setRefreshCredentialMetadata","RefreshStatus","reissueCredentialWithAccessToken","agent","logger","record","tokenResponse","clientId","pidSchemes","Error","refreshMetaData","credentialConfigurationId","resolvedCredentialOffer","access_token","info","creds","modules","openId4VcHolder","requestCredentials","accessToken","tokenType","token_type","cNonce","c_nonce","credentialsToRequest","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","EdDSA","ES256","credentialBindingResolver","opts","supportedDidMethods","keyType","supportsAllDidMethods","supportsJwk","credentialFormat","supportedCredentialId","firstCredential","newRecord","credential","compactSdJwtVc","compact","mdoc","tags","openId4VcMetadata","offeredCredentials","id","metadata","issuer","display","credentialIssuerMetadata","refreshToken","refresh_token","lastCheckedAt","Date","now","lastCheckResult","Valid"],"sourceRoot":"../../../../../src","sources":["modules/openid/refresh/reIssuance.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["customCredentialBindingResolver","extractOpenId4VcCredentialMetadata","getRefreshCredentialMetadata","setOpenId4VcCredentialMetadata","setRefreshCredentialMetadata","RefreshStatus","reissueCredentialWithAccessToken","agent","logger","record","tokenResponse","clientId","Error","refreshMetaData","credentialConfigurationId","resolvedCredentialOffer","access_token","info","creds","openid4vc","holder","requestCredentials","accessToken","tokenType","token_type","cNonce","c_nonce","credentialConfigurationIds","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","credentialBindingResolver","opts","supportedDidMethods","proofTypes","supportsAllDidMethods","supportsJwk","credentialFormat","firstCredential","credentials","newRecord","requestedCredentialConfiguration","offeredCredentialConfigurations","openId4VcMetadata","id","metadata","credentialIssuer","credential_issuer","display","refreshToken","refresh_token","lastCheckedAt","Date","now","lastCheckResult","Valid"],"sourceRoot":"../../../../../src","sources":["modules/openid/refresh/reIssuance.ts"],"mappings":"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","ignoreList":[]}
@@ -1,41 +1,31 @@
1
1
  // modules/openid/refresh/RefreshOrchestrator.ts
2
- import { ClaimFormat, SdJwtVcRecord, W3cCredentialRecord } from '@credo-ts/core';
3
- import { refreshAccessToken } from './refreshToken';
4
- import { reissueCredentialWithAccessToken } from './reIssuance';
5
- import { RefreshStatus } from './types';
2
+
3
+ import { OpenIDCredentialRefreshFlowType, RefreshStatus } from './types';
6
4
  import { credentialRegistry } from './registry';
7
5
  import { verifyCredentialStatus } from './verifyCredentialStatus';
8
6
  import { getRefreshCredentialMetadata, markOpenIDCredentialStatus, persistCredentialRecord, setRefreshCredentialMetadata } from '../metadata';
9
- const defaultToLite = rec => {
10
- var _rec$createdAt;
11
- return {
12
- id: rec.id,
13
- // best-effort: SdJwt/W3C both expose claimFormat via tags in many setups.
14
- // Fallback to JwtVc if unknown so UI has *some* value.
15
- format: rec instanceof W3cCredentialRecord && ClaimFormat.JwtVc || rec instanceof SdJwtVcRecord && ClaimFormat.SdJwtVc || ClaimFormat.JwtVc,
16
- createdAt: (_rec$createdAt = rec.createdAt) === null || _rec$createdAt === void 0 ? void 0 : _rec$createdAt.toISOString(),
17
- issuer: undefined
18
- };
19
- };
7
+ import { toOpenIDCredentialLite } from '../credentialRecord';
8
+ import { refreshAndQueueReplacement } from './operations';
20
9
  export class RefreshOrchestrator {
21
10
  intervalOn = false; // interval enabled?
22
11
  runningOnce = false; // a run is in progress?
23
12
 
24
13
  recentlyIssued = new Map();
25
- checkStatusOnly = true;
26
14
  constructor(logger, bridge, opts) {
27
15
  this.logger = logger;
28
16
  this.opts = {
29
17
  intervalMs: 15 * 60 * 1000,
30
18
  autoStart: true,
19
+ flowType: OpenIDCredentialRefreshFlowType.FullReplacement,
31
20
  onError: e => this.logger.error(String(e)),
32
21
  listRecords: async () => [],
33
- toLite: defaultToLite,
22
+ toLite: toOpenIDCredentialLite,
34
23
  ...(opts ?? {})
35
24
  };
36
25
  logger.info(`πŸ”§ [RefreshOrchestrator] initialized -> ${JSON.stringify({
37
26
  intervalMs: this.opts.intervalMs,
38
- autoStart: this.opts.autoStart
27
+ autoStart: this.opts.autoStart,
28
+ flowType: this.opts.flowType
39
29
  })}`);
40
30
  bridge.onReady(agent => {
41
31
  this.agent = agent;
@@ -58,7 +48,8 @@ export class RefreshOrchestrator {
58
48
  };
59
49
  this.logger.info(`πŸ”§ [RefreshOrchestrator] configure -> ${JSON.stringify({
60
50
  intervalMs: this.opts.intervalMs,
61
- autoStart: this.opts.autoStart
51
+ autoStart: this.opts.autoStart,
52
+ flowType: this.opts.flowType
62
53
  })}`);
63
54
  const nowIntervalMs = this.opts.intervalMs ?? null;
64
55
  const nowAutoStart = this.opts.autoStart ?? true;
@@ -132,8 +123,11 @@ export class RefreshOrchestrator {
132
123
  for (const rec of records) {
133
124
  // don’t block whole batch if one fails
134
125
  try {
135
- await this.checkRecordStatus(rec);
136
- // await this.refreshRecord(rec)
126
+ if (this.opts.flowType === OpenIDCredentialRefreshFlowType.FullReplacement) {
127
+ await this.refreshRecord(rec);
128
+ } else {
129
+ await this.checkRecordStatus(rec);
130
+ }
137
131
  } catch (e) {
138
132
  var _this$opts$onError, _this$opts;
139
133
  this.logger.error(`πŸ’₯ [Refresh] record ${rec.id} failed: ${String(e)}`);
@@ -164,6 +158,7 @@ export class RefreshOrchestrator {
164
158
  shouldSkip,
165
159
  markRefreshing,
166
160
  clearRefreshing,
161
+ clearExpired,
167
162
  upsert,
168
163
  markInvalid,
169
164
  setLastSweep
@@ -188,19 +183,22 @@ export class RefreshOrchestrator {
188
183
  this.logger.info(`🧭 [Refresh] check credential ${id}`);
189
184
  try {
190
185
  // 3) verification
191
- const isValid = await verifyCredentialStatus(rec, this.logger);
186
+ const status = await verifyCredentialStatus(rec, this.logger);
192
187
  const now = Date.now();
193
188
  const meta = getRefreshCredentialMetadata(rec) ?? {};
194
- meta.lastCheckResult = isValid ? RefreshStatus.Valid : RefreshStatus.Invalid;
189
+ meta.lastCheckResult = status;
195
190
  meta.lastCheckedAt = now;
196
191
  meta.attemptCount = (meta.attemptCount ?? 0) + 1;
197
192
  setRefreshCredentialMetadata(rec, meta);
198
193
  await persistCredentialRecord(this.agent.context, rec);
199
- if (isValid) {
194
+ if (status === RefreshStatus.Valid) {
200
195
  this.logger.info(`βœ… [Refresh] valid β†’ ${id}`);
201
- } else {
196
+ clearExpired(id);
197
+ } else if (status === RefreshStatus.Invalid) {
202
198
  this.logger.info(`❌ [Refresh] invalid β†’ ${id}`);
203
- markInvalid(id); // <-- key change: we only flag invalid here
199
+ markInvalid(id);
200
+ } else {
201
+ this.logger.warn(`⚠️ [Refresh] status check error β†’ ${id}`);
204
202
  }
205
203
  setLastSweep(new Date(now).toISOString());
206
204
  } catch (error) {
@@ -217,9 +215,8 @@ export class RefreshOrchestrator {
217
215
  markRefreshing,
218
216
  clearRefreshing,
219
217
  clearExpired,
220
- markExpiredWithReplacement,
221
- blockAsFailed,
222
218
  blockAsSucceeded,
219
+ markInvalid,
223
220
  upsert
224
221
  } = credentialRegistry.getState();
225
222
  const id = rec.id;
@@ -242,8 +239,8 @@ export class RefreshOrchestrator {
242
239
  this.logger.info(`🧭 [Refresh] check credential ${id}`);
243
240
  try {
244
241
  // 3) verification
245
- const isValid = await verifyCredentialStatus(rec, this.logger);
246
- if (isValid) {
242
+ const status = await verifyCredentialStatus(rec, this.logger);
243
+ if (status === RefreshStatus.Valid) {
247
244
  this.logger.info(`βœ… [Refresh] valid β†’ ${id}`);
248
245
  // If it was previously expired for any reason, clear that and block as succeeded
249
246
  clearExpired(id);
@@ -251,6 +248,15 @@ export class RefreshOrchestrator {
251
248
  // blockAsSucceeded(id)
252
249
  return;
253
250
  }
251
+ if (status === RefreshStatus.Error) {
252
+ this.logger.warn(`⚠️ [Refresh] status check failed; deferring re-issue β†’ ${id}`);
253
+ await markOpenIDCredentialStatus({
254
+ credential: rec,
255
+ status: RefreshStatus.Error,
256
+ agentContext: this.agent.context
257
+ });
258
+ return;
259
+ }
254
260
 
255
261
  // Invalid case:
256
262
 
@@ -259,48 +265,28 @@ export class RefreshOrchestrator {
259
265
  status: RefreshStatus.Invalid,
260
266
  agentContext: this.agent.context
261
267
  });
262
-
263
- // 4) needs refresh β†’ get access token
264
268
  this.logger.info(`♻️ [Refresh] invalid, attempting re-issue β†’ ${id}`);
265
- const token = await refreshAccessToken({
266
- logger: this.logger,
267
- cred: rec,
268
- agentContext: this.agent.context
269
- });
270
- if (!token) {
271
- const msg = `no refresh token available`;
272
- this.logger.warn(`⚠️ [Refresh] ${msg} for ${id}`);
273
- blockAsFailed(id, msg);
274
- return;
275
- }
276
-
277
- // 5) re-issue
278
- const newRecord = await reissueCredentialWithAccessToken({
269
+ const newRecord = await refreshAndQueueReplacement({
279
270
  agent: this.agent,
280
271
  logger: this.logger,
281
272
  record: rec,
282
- tokenResponse: token
273
+ toLite: this.opts.toLite
283
274
  });
284
- if (newRecord) {
285
- this.logger.info(`πŸ’Ύ [Refresh] new credential β†’ ${newRecord.id}`);
286
- // Queue a replacement for UI/notifications and block the old one as succeeded
287
- markExpiredWithReplacement(id, this.opts.toLite(newRecord));
288
- blockAsSucceeded(id);
289
- this.recentlyIssued.set(newRecord.id, newRecord);
290
- } else {
291
- const msg = `re-issue returned no record`;
275
+ if (!newRecord) {
276
+ const msg = 'credential refresh did not yield a replacement';
292
277
  this.logger.warn(`⚠️ [Refresh] ${msg} for ${id}`);
293
- blockAsFailed(id, msg);
294
- await markOpenIDCredentialStatus({
295
- credential: rec,
296
- status: RefreshStatus.Invalid,
297
- agentContext: this.agent.context
298
- });
278
+ markInvalid(id);
279
+ return;
299
280
  }
281
+ this.logger.info(`πŸ’Ύ [Refresh] new credential β†’ ${newRecord.id}`);
282
+ blockAsSucceeded(id);
283
+ this.recentlyIssued.set(newRecord.id, newRecord);
300
284
  } catch (e) {
285
+ var _this$opts$onError4, _this$opts4;
301
286
  const err = String(e);
302
287
  this.logger.error(`πŸ’₯ [Refresh] error on ${id}: ${err}`);
303
- blockAsFailed(id, err);
288
+ (_this$opts$onError4 = (_this$opts4 = this.opts).onError) === null || _this$opts$onError4 === void 0 || _this$opts$onError4.call(_this$opts4, e);
289
+ markInvalid(id);
304
290
  } finally {
305
291
  // 6) clear in-flight marker
306
292
  clearRefreshing(id);