@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
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOpenIdReplacementNavigation = useOpenIdReplacementNavigation;
7
+ var _react = require("react");
8
+ var _native = require("@react-navigation/native");
9
+ var _reactNativeToastMessage = _interopRequireDefault(require("react-native-toast-message"));
10
+ var _containerApi = require("../../../container-api");
11
+ var _navigators = require("../../../types/navigators");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ // hooks/useOpenIdReplacementNavigation.ts
14
+
15
+ /**
16
+ * A hook that returns a function to open the OpenID Credential Offer screen for a replacement credential
17
+ */
18
+ function useOpenIdReplacementNavigation() {
19
+ const navigation = (0, _native.useNavigation)();
20
+ const [orchestrator] = (0, _containerApi.useServices)([_containerApi.TOKENS.UTIL_REFRESH_ORCHESTRATOR]);
21
+ const openReplacementOffer = (0, _react.useCallback)(notif => {
22
+ var _notif$metadata;
23
+ const replacementId = notif === null || notif === void 0 || (_notif$metadata = notif.metadata) === null || _notif$metadata === void 0 ? void 0 : _notif$metadata['replacementId'];
24
+ // const oldId = notif?.metadata?.['oldId'] as string | undefined
25
+
26
+ if (!replacementId) {
27
+ _reactNativeToastMessage.default.show({
28
+ type: 'error',
29
+ text1: 'Missing replacement',
30
+ text2: 'No replacementId in notification.'
31
+ });
32
+ return;
33
+ }
34
+
35
+ // Fetch the full record strictly from orchestrator’s in-memory cache
36
+ const full = orchestrator.resolveFull(replacementId);
37
+ if (!full) {
38
+ // Keep it dead simple: no repo lookups here
39
+ _reactNativeToastMessage.default.show({
40
+ type: 'info',
41
+ text1: 'Preparing credential',
42
+ text2: 'Please try again in a moment.'
43
+ });
44
+ return;
45
+ }
46
+ navigation.navigate(_navigators.Stacks.ConnectionStack, {
47
+ screen: _navigators.Screens.OpenIDCredentialOffer,
48
+ params: {
49
+ credential: full
50
+ }
51
+ });
52
+ }, [navigation, orchestrator]);
53
+ return openReplacementOffer;
54
+ }
55
+ //# sourceMappingURL=useOpenIdReplacementNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_native","_reactNativeToastMessage","_interopRequireDefault","_containerApi","_navigators","e","__esModule","default","useOpenIdReplacementNavigation","navigation","useNavigation","orchestrator","useServices","TOKENS","UTIL_REFRESH_ORCHESTRATOR","openReplacementOffer","useCallback","notif","_notif$metadata","replacementId","metadata","Toast","show","type","text1","text2","full","resolveFull","navigate","Stacks","ConnectionStack","screen","Screens","OpenIDCredentialOffer","params","credential"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useOpenIdReplacementNavigation.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAA4E,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAL5E;;AAUA;AACA;AACA;AACO,SAASG,8BAA8BA,CAAA,EAA2B;EACvE,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAkC,CAAC;EACnE,MAAM,CAACC,YAAY,CAAC,GAAG,IAAAC,yBAAW,EAAC,CAACC,oBAAM,CAACC,yBAAyB,CAAC,CAAC;EAEtE,MAAMC,oBAAoB,GAAG,IAAAC,kBAAW,EACrCC,KAAK,IAAK;IAAA,IAAAC,eAAA;IACT,MAAMC,aAAa,GAAGF,KAAK,aAALA,KAAK,gBAAAC,eAAA,GAALD,KAAK,CAAEG,QAAQ,cAAAF,eAAA,uBAAfA,eAAA,CAAkB,eAAe,CAAuB;IAC9E;;IAEA,IAAI,CAACC,aAAa,EAAE;MAClBE,gCAAK,CAACC,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,KAAK,EAAE,qBAAqB;QAAEC,KAAK,EAAE;MAAoC,CAAC,CAAC;MACvG;IACF;;IAEA;IACA,MAAMC,IAAI,GAAGf,YAAY,CAACgB,WAAW,CAACR,aAAa,CAAC;IACpD,IAAI,CAACO,IAAI,EAAE;MACT;MACAL,gCAAK,CAACC,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAEC,KAAK,EAAE,sBAAsB;QAAEC,KAAK,EAAE;MAAgC,CAAC,CAAC;MACnG;IACF;IAEAhB,UAAU,CAACmB,QAAQ,CAACC,kBAAM,CAACC,eAAe,EAAE;MAC1CC,MAAM,EAAEC,mBAAO,CAACC,qBAAqB;MACrCC,MAAM,EAAE;QAAEC,UAAU,EAAET;MAAK;IAC7B,CAAC,CAAC;EACJ,CAAC,EACD,CAACjB,UAAU,EAAEE,YAAY,CAC3B,CAAC;EAED,OAAOI,oBAAoB;AAC7B","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useReplacementNotifications = void 0;
7
+ var _react = require("react");
8
+ var _registery = require("../refresh/registery");
9
+ var _types = require("../refresh/types");
10
+ var _useDeclineReplacement = require("./useDeclineReplacement");
11
+ var _containerApi = require("../../../container-api");
12
+ // modules/openid/ui/useReplacementNotifications.ts
13
+
14
+ /**
15
+ * A hook that returns a list of CustomNotifications for credentials that have replacements available
16
+ */
17
+
18
+ const useReplacementNotifications = () => {
19
+ const [items, setItems] = (0, _react.useState)([]);
20
+ const [logger] = (0, _containerApi.useServices)([_containerApi.TOKENS.UTIL_LOGGER]);
21
+ const {
22
+ declineByOldId
23
+ } = (0, _useDeclineReplacement.useDeclineReplacement)({
24
+ logger
25
+ });
26
+
27
+ // Keep first-seen timestamps stable per (oldId -> replId)
28
+ const firstSeenRef = (0, _react.useRef)({});
29
+ const build = (0, _react.useCallback)(s => {
30
+ const out = [];
31
+ for (const oldId of s.expired) {
32
+ const repl = s.replacements[oldId];
33
+ if (!repl) continue;
34
+ const key = `${oldId}::${repl.id}`;
35
+ if (!firstSeenRef.current[key]) firstSeenRef.current[key] = new Date().toISOString();
36
+ out.push({
37
+ type: _types.OpenIDCustomNotificationType.CredentialReplacementAvailable,
38
+ title: 'Credential update available',
39
+ pageTitle: 'Credential Update',
40
+ buttonTitle: 'Review update',
41
+ description: 'A newer version of this credential is ready to accept.',
42
+ createdAt: new Date(firstSeenRef.current[key]),
43
+ onPressAction: () => {},
44
+ // your list item handles navigation
45
+ onCloseAction: () => declineByOldId(oldId),
46
+ component: () => null,
47
+ // keeps renderer happy
48
+ metadata: {
49
+ oldId,
50
+ replacementId: repl.id
51
+ }
52
+ });
53
+ }
54
+
55
+ // Newest first for consistent UI
56
+ out.sort((a, b) => {
57
+ var _b$createdAt, _a$createdAt;
58
+ return (((_b$createdAt = b.createdAt) === null || _b$createdAt === void 0 ? void 0 : _b$createdAt.getTime()) ?? 0) - (((_a$createdAt = a.createdAt) === null || _a$createdAt === void 0 ? void 0 : _a$createdAt.getTime()) ?? 0);
59
+ });
60
+ return out;
61
+ }, [declineByOldId]);
62
+ (0, _react.useEffect)(() => {
63
+ // Initial build
64
+ const s = _registery.credentialRegistry.getState();
65
+ setItems(build({
66
+ expired: s.expired,
67
+ replacements: s.replacements
68
+ }));
69
+
70
+ // Subscribe to full state updates (since vanilla store lacks selector arg)
71
+ const unsub = _registery.credentialRegistry.subscribe(state => {
72
+ setItems(build({
73
+ expired: state.expired,
74
+ replacements: state.replacements
75
+ }));
76
+ });
77
+ return unsub;
78
+ }, [build]);
79
+ return (0, _react.useMemo)(() => items, [items]);
80
+ };
81
+ exports.useReplacementNotifications = useReplacementNotifications;
82
+ //# sourceMappingURL=useReplacementNotifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_registery","_types","_useDeclineReplacement","_containerApi","useReplacementNotifications","items","setItems","useState","logger","useServices","TOKENS","UTIL_LOGGER","declineByOldId","useDeclineReplacement","firstSeenRef","useRef","build","useCallback","s","out","oldId","expired","repl","replacements","key","id","current","Date","toISOString","push","type","OpenIDCustomNotificationType","CredentialReplacementAvailable","title","pageTitle","buttonTitle","description","createdAt","onPressAction","onCloseAction","component","metadata","replacementId","sort","a","b","_b$createdAt","_a$createdAt","getTime","useEffect","credentialRegistry","getState","unsub","subscribe","state","useMemo","exports"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useReplacementNotifications.ts"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.deleteRefreshCredentialMetadata = deleteRefreshCredentialMetadata;
6
7
  exports.extractOpenId4VcCredentialMetadata = extractOpenId4VcCredentialMetadata;
7
8
  exports.getOpenId4VcCredentialMetadata = getOpenId4VcCredentialMetadata;
9
+ exports.getRefreshCredentialMetadata = getRefreshCredentialMetadata;
10
+ exports.markOpenIDCredentialStatus = markOpenIDCredentialStatus;
11
+ exports.openId4VcCredentialMetadataKey = void 0;
12
+ exports.persistCredentialRecord = persistCredentialRecord;
13
+ exports.refreshCredentialMetadataKey = void 0;
8
14
  exports.setOpenId4VcCredentialMetadata = setOpenId4VcCredentialMetadata;
9
- const openId4VcCredentialMetadataKey = '_bifold/openId4VcCredentialMetadata';
15
+ exports.setRefreshCredentialMetadata = setRefreshCredentialMetadata;
16
+ exports.temporaryMetaVanillaObject = void 0;
17
+ var _core = require("@credo-ts/core");
18
+ const openId4VcCredentialMetadataKey = exports.openId4VcCredentialMetadataKey = '_bifold/openId4VcCredentialMetadata';
19
+ const refreshCredentialMetadataKey = exports.refreshCredentialMetadataKey = '_bifold/refreshCredentialMetadata';
10
20
  function extractOpenId4VcCredentialMetadata(credentialMetadata, serverMetadata) {
11
21
  return {
12
22
  credential: {
@@ -36,4 +46,53 @@ function getOpenId4VcCredentialMetadata(credentialRecord) {
36
46
  function setOpenId4VcCredentialMetadata(credentialRecord, metadata) {
37
47
  credentialRecord.metadata.set(openId4VcCredentialMetadataKey, metadata);
38
48
  }
49
+
50
+ /**
51
+ * Gets the refresh credential metadata from the given credential record.
52
+ */
53
+ function getRefreshCredentialMetadata(credentialRecord) {
54
+ return credentialRecord.metadata.get(refreshCredentialMetadataKey);
55
+ }
56
+
57
+ /**
58
+ * Sets the refresh credential metadata on the given credential record
59
+ *
60
+ * NOTE: this does not save the record.
61
+ */
62
+ function setRefreshCredentialMetadata(credentialRecord, metadata) {
63
+ credentialRecord.metadata.set(refreshCredentialMetadataKey, metadata);
64
+ }
65
+ function deleteRefreshCredentialMetadata(credentialRecord) {
66
+ credentialRecord.metadata.delete(refreshCredentialMetadataKey);
67
+ }
68
+ async function persistCredentialRecord(agentContext, record) {
69
+ if (record instanceof _core.W3cCredentialRecord) {
70
+ await agentContext.dependencyManager.resolve(_core.W3cCredentialRepository).update(agentContext, record);
71
+ } else if (record instanceof _core.SdJwtVcRecord) {
72
+ await agentContext.dependencyManager.resolve(_core.SdJwtVcRepository).update(agentContext, record);
73
+ } else if (record instanceof _core.MdocRecord) {
74
+ await agentContext.dependencyManager.resolve(_core.MdocRepository).update(agentContext, record);
75
+ } else {
76
+ throw new Error('Unsupported credential record type for persistence');
77
+ }
78
+ }
79
+ async function markOpenIDCredentialStatus({
80
+ credential,
81
+ status,
82
+ agentContext
83
+ }) {
84
+ const refreshMetadata = getRefreshCredentialMetadata(credential);
85
+ if (!refreshMetadata) {
86
+ throw new Error('No refresh metadata found on the credential record.');
87
+ }
88
+ refreshMetadata.lastCheckResult = status;
89
+ setRefreshCredentialMetadata(credential, refreshMetadata);
90
+
91
+ // Persist the updated credential record
92
+ await persistCredentialRecord(agentContext, credential);
93
+ }
94
+ const temporaryMetaVanillaObject = exports.temporaryMetaVanillaObject = {
95
+ notificationMetadata: undefined,
96
+ tokenResponse: undefined
97
+ };
39
98
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["openId4VcCredentialMetadataKey","extractOpenId4VcCredentialMetadata","credentialMetadata","serverMetadata","credential","display","order","credential_subject","issuer","id","getOpenId4VcCredentialMetadata","credentialRecord","metadata","get","setOpenId4VcCredentialMetadata","set"],"sourceRoot":"../../../../src","sources":["modules/openid/metadata.tsx"],"mappings":";;;;;;;;AAoBA,MAAMA,8BAA8B,GAAG,qCAAqC;AAErE,SAASC,kCAAkCA,CAChDC,kBAA4G,EAC5GC,cAA2D,EAC9B;EAC7B,OAAO;IACLC,UAAU,EAAE;MACVC,OAAO,EAAEH,kBAAkB,CAACG,OAAO;MACnCC,KAAK,EAAEJ,kBAAkB,CAACI,KAAK;MAC/BC,kBAAkB,EAAEL,kBAAkB,CAACK;IACzC,CAAC;IACDC,MAAM,EAAE;MACNH,OAAO,EAAEF,cAAc,CAACE,OAAO;MAC/BI,EAAE,EAAEN,cAAc,CAACM;IACrB;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACO,SAASC,8BAA8BA,CAC5CC,gBAAkE,EAC9B;EACpC,OAAOA,gBAAgB,CAACC,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASc,8BAA8BA,CAC5CH,gBAAkE,EAClEC,QAAqC,EACrC;EACAD,gBAAgB,CAACC,QAAQ,CAACG,GAAG,CAACf,8BAA8B,EAAEY,QAAQ,CAAC;AACzE","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","openId4VcCredentialMetadataKey","exports","refreshCredentialMetadataKey","extractOpenId4VcCredentialMetadata","credentialMetadata","serverMetadata","credential","display","order","credential_subject","issuer","id","getOpenId4VcCredentialMetadata","credentialRecord","metadata","get","setOpenId4VcCredentialMetadata","set","getRefreshCredentialMetadata","setRefreshCredentialMetadata","deleteRefreshCredentialMetadata","delete","persistCredentialRecord","agentContext","record","W3cCredentialRecord","dependencyManager","resolve","W3cCredentialRepository","update","SdJwtVcRecord","SdJwtVcRepository","MdocRecord","MdocRepository","Error","markOpenIDCredentialStatus","status","refreshMetadata","lastCheckResult","temporaryMetaVanillaObject","notificationMetadata","undefined","tokenResponse"],"sourceRoot":"../../../../src","sources":["modules/openid/metadata.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOpenId4VciNotifications = exports.NotificationEventType = void 0;
7
+ var _reactHooks = require("@credo-ts/react-hooks");
8
+ var _containerApi = require("../../container-api");
9
+ let NotificationEventType = exports.NotificationEventType = /*#__PURE__*/function (NotificationEventType) {
10
+ NotificationEventType["CREDENTIAL_ACCEPTED"] = "credential_accepted";
11
+ NotificationEventType["CREDENTIAL_DELETED"] = "credential_deleted";
12
+ NotificationEventType["CREDENTIAL_FAILURE"] = "credential_failure";
13
+ return NotificationEventType;
14
+ }({}); //TODO: ADD TYPE SAFETY
15
+ const useOpenId4VciNotifications = () => {
16
+ const {
17
+ agent
18
+ } = (0, _reactHooks.useAgent)();
19
+ const [logger] = (0, _containerApi.useServices)([_containerApi.TOKENS.UTIL_LOGGER, _containerApi.TOKENS.UTIL_OCA_RESOLVER]);
20
+
21
+ /**
22
+ * Sends notification to issuer with credential status.
23
+ * @param options
24
+ */
25
+ const sendOpenId4VciNotification = async options => {
26
+ if (!agent) {
27
+ const error = 'Agent undefined!';
28
+ logger.error(`[OpenIDCredentialNotification] ${error}`);
29
+ throw new Error(error);
30
+ }
31
+ await agent.modules.openId4VcHolder.sendNotification({
32
+ notificationMetadata: options === null || options === void 0 ? void 0 : options.notificationMetadata,
33
+ accessToken: options === null || options === void 0 ? void 0 : options.accessToken,
34
+ notificationEvent: options === null || options === void 0 ? void 0 : options.notificationEvent
35
+ });
36
+ };
37
+ return {
38
+ sendOpenId4VciNotification
39
+ };
40
+ };
41
+ exports.useOpenId4VciNotifications = useOpenId4VciNotifications;
42
+ //# sourceMappingURL=notification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactHooks","require","_containerApi","NotificationEventType","exports","useOpenId4VciNotifications","agent","useAgent","logger","useServices","TOKENS","UTIL_LOGGER","UTIL_OCA_RESOLVER","sendOpenId4VciNotification","options","error","Error","modules","openId4VcHolder","sendNotification","notificationMetadata","accessToken","notificationEvent"],"sourceRoot":"../../../../src","sources":["modules/openid/notification.tsx"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAyD,IAE7CE,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA,OAMjC;AAOO,MAAME,0BAA0B,GAAGA,CAAA,KAAM;EAC9C,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,oBAAQ,EAAC,CAAC;EAC5B,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAC,yBAAW,EAAC,CAACC,oBAAM,CAACC,WAAW,EAAED,oBAAM,CAACE,iBAAiB,CAAC,CAAC;;EAE5E;AACF;AACA;AACA;EACE,MAAMC,0BAA0B,GAAG,MAAOC,OAA0C,IAAK;IACvF,IAAI,CAACR,KAAK,EAAE;MACV,MAAMS,KAAK,GAAG,kBAAkB;MAChCP,MAAM,CAACO,KAAK,CAAC,kCAAkCA,KAAK,EAAE,CAAC;MACvD,MAAM,IAAIC,KAAK,CAACD,KAAK,CAAC;IACxB;IACA,MAAMT,KAAK,CAACW,OAAO,CAACC,eAAe,CAACC,gBAAgB,CAAC;MACnDC,oBAAoB,EAAEN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,oBAAoB;MACnDC,WAAW,EAAEP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,WAAW;MACjCC,iBAAiB,EAAER,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ;IAC9B,CAAC,CAAC;EACJ,CAAC;EACD,OAAO;IACLT;EACF,CAAC;AACH,CAAC;AAAAT,OAAA,CAAAC,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -178,6 +178,12 @@ const receiveCredentialFromOpenId4VciOffer = async ({
178
178
  tags: {}
179
179
  });
180
180
  }
181
+ const notificationMetadata = {
182
+ ...firstCredential.notificationMetadata
183
+ };
184
+ if (notificationMetadata) {
185
+ _metadata.temporaryMetaVanillaObject.notificationMetadata = notificationMetadata;
186
+ }
181
187
  const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(resolvedCredentialOffer.offeredCredentials[0], {
182
188
  id: resolvedCredentialOffer.metadata.issuer,
183
189
  display: resolvedCredentialOffer.metadata.credentialIssuerMetadata.display
@@ -1 +1 @@
1
- {"version":3,"names":["_openid4vc","require","_core","_metadata","resolveOpenId4VciOffer","agent","data","uri","authorization","offerUri","encodeURIComponent","JSON","stringify","Error","config","logger","info","resolvedCredentialOffer","modules","openId4VcHolder","resolveCredentialOffer","exports","acquirePreAuthorizedAccessToken","txCode","requestToken","customCredentialBindingResolver","supportedDidMethods","keyType","supportsAllDidMethods","supportsJwk","credentialFormat","supportedCredentialId","pidSchemes","didMethod","includes","undefined","offeredCredentialConfiguration","offeredCredentialConfigurations","shouldKeyBeHardwareBackedForMsoMdoc","format","OpenId4VciCredentialFormatProfile","MsoMdoc","msoMdocDoctypes","doctype","shouldKeyBeHardwareBackedForSdJwtVc","sdJwtVcVcts","vct","shouldKeyBeHardwareBacked","key","wallet","createKey","keyBackend","KeyBackend","SecureElement","Software","didResult","dids","create","method","options","didState","state","verificationMethodId","didJwk","DidJwk","fromDid","did","didKey","DidKey","fingerprint","didUrl","SdJwtVc","jwk","getJwkFromKey","join","receiveCredentialFromOpenId4VciOffer","tokenResponse","credentialConfigurationIdsToRequest","clientId","offeredCredentialsToRequest","offeredCredentials","filter","offered","id","length","credentials","requestCredentials","credentialsToRequest","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","JwaSignatureAlgorithm","EdDSA","ES256","credentialBindingResolver","firstCredential","record","credential","SdJwtVcRecord","compactSdJwtVc","compact","Mdoc","MdocRecord","mdoc","W3cCredentialRecord","tags","openId4VcMetadata","extractOpenId4VcCredentialMetadata","metadata","issuer","display","credentialIssuerMetadata","setOpenId4VcCredentialMetadata"],"sourceRoot":"../../../../src","sources":["modules/openid/offerResolve.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_openid4vc","require","_core","_metadata","resolveOpenId4VciOffer","agent","data","uri","authorization","offerUri","encodeURIComponent","JSON","stringify","Error","config","logger","info","resolvedCredentialOffer","modules","openId4VcHolder","resolveCredentialOffer","exports","acquirePreAuthorizedAccessToken","txCode","requestToken","customCredentialBindingResolver","supportedDidMethods","keyType","supportsAllDidMethods","supportsJwk","credentialFormat","supportedCredentialId","pidSchemes","didMethod","includes","undefined","offeredCredentialConfiguration","offeredCredentialConfigurations","shouldKeyBeHardwareBackedForMsoMdoc","format","OpenId4VciCredentialFormatProfile","MsoMdoc","msoMdocDoctypes","doctype","shouldKeyBeHardwareBackedForSdJwtVc","sdJwtVcVcts","vct","shouldKeyBeHardwareBacked","key","wallet","createKey","keyBackend","KeyBackend","SecureElement","Software","didResult","dids","create","method","options","didState","state","verificationMethodId","didJwk","DidJwk","fromDid","did","didKey","DidKey","fingerprint","didUrl","SdJwtVc","jwk","getJwkFromKey","join","receiveCredentialFromOpenId4VciOffer","tokenResponse","credentialConfigurationIdsToRequest","clientId","offeredCredentialsToRequest","offeredCredentials","filter","offered","id","length","credentials","requestCredentials","credentialsToRequest","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","JwaSignatureAlgorithm","EdDSA","ES256","credentialBindingResolver","firstCredential","record","credential","SdJwtVcRecord","compactSdJwtVc","compact","Mdoc","MdocRecord","mdoc","W3cCredentialRecord","tags","notificationMetadata","temporaryMetaVanillaObject","openId4VcMetadata","extractOpenId4VcCredentialMetadata","metadata","issuer","display","credentialIssuerMetadata","setOpenId4VcCredentialMetadata"],"sourceRoot":"../../../../src","sources":["modules/openid/offerResolve.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.reissueCredentialWithAccessToken = reissueCredentialWithAccessToken;
7
+ var _core = require("@credo-ts/core");
8
+ var _offerResolve = require("../offerResolve");
9
+ var _metadata = require("../metadata");
10
+ var _types = require("./types");
11
+ async function reissueCredentialWithAccessToken({
12
+ agent,
13
+ logger,
14
+ record,
15
+ tokenResponse,
16
+ clientId,
17
+ pidSchemes
18
+ }) {
19
+ if (!record) {
20
+ throw new Error('No credential record provided for re-issuance.');
21
+ }
22
+ const refreshMetaData = (0, _metadata.getRefreshCredentialMetadata)(record);
23
+ if (!refreshMetaData) {
24
+ throw new Error('No refresh metadata found on the record for re-issuance.');
25
+ }
26
+ const {
27
+ credentialConfigurationId,
28
+ resolvedCredentialOffer
29
+ } = refreshMetaData;
30
+ if (!resolvedCredentialOffer) {
31
+ throw new Error('No resolved credential offer found in the refresh metadata for re-issuance.');
32
+ }
33
+ if (!tokenResponse.access_token) {
34
+ throw new Error('No access token found in the token response for re-issuance.');
35
+ }
36
+ logger.info('*** Starting to get new credential via re-issuance flow ***');
37
+ // Request a **new** credential using the *existing* configuration id
38
+ const creds = await agent.modules.openId4VcHolder.requestCredentials({
39
+ resolvedCredentialOffer,
40
+ accessToken: tokenResponse.access_token,
41
+ tokenType: tokenResponse.token_type || 'Bearer',
42
+ cNonce: tokenResponse.c_nonce,
43
+ clientId,
44
+ credentialsToRequest: [credentialConfigurationId],
45
+ verifyCredentialStatus: false,
46
+ // you’ll check after storing
47
+ allowedProofOfPossessionSignatureAlgorithms: [_core.JwaSignatureAlgorithm.EdDSA, _core.JwaSignatureAlgorithm.ES256],
48
+ credentialBindingResolver: async opts => (0, _offerResolve.customCredentialBindingResolver)({
49
+ agent,
50
+ supportedDidMethods: opts.supportedDidMethods,
51
+ keyType: opts.keyType,
52
+ supportsAllDidMethods: opts.supportsAllDidMethods,
53
+ supportsJwk: opts.supportsJwk,
54
+ credentialFormat: opts.credentialFormat,
55
+ supportedCredentialId: opts.supportedCredentialId,
56
+ resolvedCredentialOffer: resolvedCredentialOffer,
57
+ pidSchemes
58
+ })
59
+ });
60
+ logger.info('*** New credential received via re-issuance flow ***.');
61
+
62
+ // Normalize to your local record types
63
+ const [firstCredential] = creds;
64
+ if (!firstCredential || typeof firstCredential === 'string') {
65
+ throw new Error('Issuer returned empty or malformed credential on re-issuance.');
66
+ }
67
+ let newRecord;
68
+ if ('compact' in firstCredential.credential) {
69
+ newRecord = new _core.SdJwtVcRecord({
70
+ compactSdJwtVc: firstCredential.credential.compact
71
+ });
72
+ } else if ((firstCredential === null || firstCredential === void 0 ? void 0 : firstCredential.credential) instanceof _core.Mdoc) {
73
+ newRecord = new _core.MdocRecord({
74
+ mdoc: firstCredential.credential
75
+ });
76
+ } else {
77
+ newRecord = new _core.W3cCredentialRecord({
78
+ credential: firstCredential.credential,
79
+ tags: {}
80
+ });
81
+ }
82
+ const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(resolvedCredentialOffer.offeredCredentials[0], {
83
+ id: resolvedCredentialOffer.metadata.issuer,
84
+ display: resolvedCredentialOffer.metadata.credentialIssuerMetadata.display
85
+ });
86
+ (0, _metadata.setOpenId4VcCredentialMetadata)(newRecord, openId4VcMetadata);
87
+ (0, _metadata.setRefreshCredentialMetadata)(newRecord, {
88
+ ...refreshMetaData,
89
+ refreshToken: tokenResponse.refresh_token || refreshMetaData.refreshToken,
90
+ lastCheckedAt: Date.now(),
91
+ lastCheckResult: _types.RefreshStatus.Valid
92
+ });
93
+ return newRecord;
94
+ }
95
+ //# sourceMappingURL=reIssuance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_offerResolve","_metadata","_types","reissueCredentialWithAccessToken","agent","logger","record","tokenResponse","clientId","pidSchemes","Error","refreshMetaData","getRefreshCredentialMetadata","credentialConfigurationId","resolvedCredentialOffer","access_token","info","creds","modules","openId4VcHolder","requestCredentials","accessToken","tokenType","token_type","cNonce","c_nonce","credentialsToRequest","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","JwaSignatureAlgorithm","EdDSA","ES256","credentialBindingResolver","opts","customCredentialBindingResolver","supportedDidMethods","keyType","supportsAllDidMethods","supportsJwk","credentialFormat","supportedCredentialId","firstCredential","newRecord","credential","SdJwtVcRecord","compactSdJwtVc","compact","Mdoc","MdocRecord","mdoc","W3cCredentialRecord","tags","openId4VcMetadata","extractOpenId4VcCredentialMetadata","offeredCredentials","id","metadata","issuer","display","credentialIssuerMetadata","setOpenId4VcCredentialMetadata","setRefreshCredentialMetadata","refreshToken","refresh_token","lastCheckedAt","Date","now","lastCheckResult","RefreshStatus","Valid"],"sourceRoot":"../../../../../src","sources":["modules/openid/refresh/reIssuance.ts"],"mappings":"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","ignoreList":[]}