@bifold/core 3.0.0 → 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 (198) hide show
  1. package/lib/commonjs/components/buttons/Button.js +2 -6
  2. package/lib/commonjs/components/buttons/Button.js.map +1 -1
  3. package/lib/commonjs/components/inputs/BiometryControl.js +29 -5
  4. package/lib/commonjs/components/inputs/BiometryControl.js.map +1 -1
  5. package/lib/commonjs/components/listItems/NotificationListItem.js +5 -1
  6. package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
  7. package/lib/commonjs/components/modals/ConfirmPINModal.js +0 -1
  8. package/lib/commonjs/components/modals/ConfirmPINModal.js.map +1 -1
  9. package/lib/commonjs/components/views/KeyboardView.js +5 -3
  10. package/lib/commonjs/components/views/KeyboardView.js.map +1 -1
  11. package/lib/commonjs/components/views/ScreenWrapper.js +9 -5
  12. package/lib/commonjs/components/views/ScreenWrapper.js.map +1 -1
  13. package/lib/commonjs/container-impl.js +4 -2
  14. package/lib/commonjs/container-impl.js.map +1 -1
  15. package/lib/commonjs/contexts/auth.js +47 -45
  16. package/lib/commonjs/contexts/auth.js.map +1 -1
  17. package/lib/commonjs/hooks/notifications.js +4 -2
  18. package/lib/commonjs/hooks/notifications.js.map +1 -1
  19. package/lib/commonjs/hooks/useBifoldAgentSetup.js +4 -13
  20. package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
  21. package/lib/commonjs/index.js +9 -1
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/localization/en/en.json +7 -0
  24. package/lib/commonjs/localization/fr/fr.json +7 -0
  25. package/lib/commonjs/localization/pt-br/pt-br.json +7 -0
  26. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +27 -27
  27. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  28. package/lib/commonjs/modules/openid/credentialRecord.js +114 -0
  29. package/lib/commonjs/modules/openid/credentialRecord.js.map +1 -0
  30. package/lib/commonjs/modules/openid/display.js +0 -3
  31. package/lib/commonjs/modules/openid/display.js.map +1 -1
  32. package/lib/commonjs/modules/openid/hooks/openid.js +6 -8
  33. package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
  34. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +16 -19
  35. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
  36. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +1 -10
  37. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
  38. package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js +1 -1
  39. package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
  40. package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
  41. package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
  42. package/lib/commonjs/modules/openid/metadata.js +2 -0
  43. package/lib/commonjs/modules/openid/metadata.js.map +1 -1
  44. package/lib/commonjs/modules/openid/offerResolve.js +34 -58
  45. package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
  46. package/lib/commonjs/modules/openid/refresh/operations.js +37 -0
  47. package/lib/commonjs/modules/openid/refresh/operations.js.map +1 -0
  48. package/lib/commonjs/modules/openid/refresh/reIssuance.js +7 -10
  49. package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -1
  50. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +46 -62
  51. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
  52. package/lib/commonjs/modules/openid/refresh/refreshToken.js +12 -12
  53. package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -1
  54. package/lib/commonjs/modules/openid/refresh/registry.js +1 -1
  55. package/lib/commonjs/modules/openid/refresh/registry.js.map +1 -1
  56. package/lib/commonjs/modules/openid/refresh/types.js +11 -1
  57. package/lib/commonjs/modules/openid/refresh/types.js.map +1 -1
  58. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +6 -6
  59. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
  60. package/lib/commonjs/modules/openid/resolverProof.js +5 -102
  61. package/lib/commonjs/modules/openid/resolverProof.js.map +1 -1
  62. package/lib/commonjs/modules/openid/screens/OpenIDConnection.js +11 -23
  63. package/lib/commonjs/modules/openid/screens/OpenIDConnection.js.map +1 -1
  64. package/lib/commonjs/navigators/TabStack.js +5 -3
  65. package/lib/commonjs/navigators/TabStack.js.map +1 -1
  66. package/lib/commonjs/screens/Home.js +1 -1
  67. package/lib/commonjs/screens/Home.js.map +1 -1
  68. package/lib/commonjs/screens/Settings.js +1 -1
  69. package/lib/commonjs/screens/Settings.js.map +1 -1
  70. package/lib/commonjs/utils/agent.js +3 -3
  71. package/lib/commonjs/utils/agent.js.map +1 -1
  72. package/lib/commonjs/utils/helpers.js +0 -2
  73. package/lib/commonjs/utils/helpers.js.map +1 -1
  74. package/lib/module/components/buttons/Button.js +4 -7
  75. package/lib/module/components/buttons/Button.js.map +1 -1
  76. package/lib/module/components/inputs/BiometryControl.js +30 -6
  77. package/lib/module/components/inputs/BiometryControl.js.map +1 -1
  78. package/lib/module/components/listItems/NotificationListItem.js +5 -1
  79. package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
  80. package/lib/module/components/modals/ConfirmPINModal.js +0 -1
  81. package/lib/module/components/modals/ConfirmPINModal.js.map +1 -1
  82. package/lib/module/components/views/KeyboardView.js +6 -4
  83. package/lib/module/components/views/KeyboardView.js.map +1 -1
  84. package/lib/module/components/views/ScreenWrapper.js +9 -5
  85. package/lib/module/components/views/ScreenWrapper.js.map +1 -1
  86. package/lib/module/container-impl.js +4 -2
  87. package/lib/module/container-impl.js.map +1 -1
  88. package/lib/module/contexts/auth.js +47 -44
  89. package/lib/module/contexts/auth.js.map +1 -1
  90. package/lib/module/hooks/notifications.js +4 -2
  91. package/lib/module/hooks/notifications.js.map +1 -1
  92. package/lib/module/hooks/useBifoldAgentSetup.js +4 -13
  93. package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
  94. package/lib/module/index.js +1 -0
  95. package/lib/module/index.js.map +1 -1
  96. package/lib/module/localization/en/en.json +7 -0
  97. package/lib/module/localization/fr/fr.json +7 -0
  98. package/lib/module/localization/pt-br/pt-br.json +7 -0
  99. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +28 -28
  100. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  101. package/lib/module/modules/openid/credentialRecord.js +98 -0
  102. package/lib/module/modules/openid/credentialRecord.js.map +1 -0
  103. package/lib/module/modules/openid/display.js +0 -3
  104. package/lib/module/modules/openid/display.js.map +1 -1
  105. package/lib/module/modules/openid/hooks/openid.js +6 -8
  106. package/lib/module/modules/openid/hooks/openid.js.map +1 -1
  107. package/lib/module/modules/openid/hooks/useAcceptReplacement.js +16 -19
  108. package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
  109. package/lib/module/modules/openid/hooks/useDeclineReplacement.js +2 -11
  110. package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
  111. package/lib/module/modules/openid/hooks/useExpiredNotifications.js +1 -1
  112. package/lib/module/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
  113. package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
  114. package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
  115. package/lib/module/modules/openid/metadata.js +3 -1
  116. package/lib/module/modules/openid/metadata.js.map +1 -1
  117. package/lib/module/modules/openid/offerResolve.js +34 -58
  118. package/lib/module/modules/openid/offerResolve.js.map +1 -1
  119. package/lib/module/modules/openid/refresh/operations.js +31 -0
  120. package/lib/module/modules/openid/refresh/operations.js.map +1 -0
  121. package/lib/module/modules/openid/refresh/reIssuance.js +7 -10
  122. package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -1
  123. package/lib/module/modules/openid/refresh/refreshOrchestrator.js +48 -63
  124. package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
  125. package/lib/module/modules/openid/refresh/refreshToken.js +12 -12
  126. package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -1
  127. package/lib/module/modules/openid/refresh/registry.js +1 -1
  128. package/lib/module/modules/openid/refresh/registry.js.map +1 -1
  129. package/lib/module/modules/openid/refresh/types.js +11 -0
  130. package/lib/module/modules/openid/refresh/types.js.map +1 -1
  131. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +6 -6
  132. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
  133. package/lib/module/modules/openid/resolverProof.js +5 -98
  134. package/lib/module/modules/openid/resolverProof.js.map +1 -1
  135. package/lib/module/modules/openid/screens/OpenIDConnection.js +11 -23
  136. package/lib/module/modules/openid/screens/OpenIDConnection.js.map +1 -1
  137. package/lib/module/navigators/TabStack.js +5 -3
  138. package/lib/module/navigators/TabStack.js.map +1 -1
  139. package/lib/module/screens/Home.js +1 -1
  140. package/lib/module/screens/Home.js.map +1 -1
  141. package/lib/module/screens/Settings.js +1 -1
  142. package/lib/module/screens/Settings.js.map +1 -1
  143. package/lib/module/utils/agent.js +3 -3
  144. package/lib/module/utils/agent.js.map +1 -1
  145. package/lib/module/utils/helpers.js +0 -2
  146. package/lib/module/utils/helpers.js.map +1 -1
  147. package/lib/typescript/src/components/buttons/Button.d.ts +3 -2
  148. package/lib/typescript/src/components/buttons/Button.d.ts.map +1 -1
  149. package/lib/typescript/src/components/inputs/BiometryControl.d.ts.map +1 -1
  150. package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
  151. package/lib/typescript/src/components/modals/ConfirmPINModal.d.ts.map +1 -1
  152. package/lib/typescript/src/components/views/KeyboardView.d.ts +3 -2
  153. package/lib/typescript/src/components/views/KeyboardView.d.ts.map +1 -1
  154. package/lib/typescript/src/components/views/ScreenWrapper.d.ts +5 -1
  155. package/lib/typescript/src/components/views/ScreenWrapper.d.ts.map +1 -1
  156. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  157. package/lib/typescript/src/contexts/auth.d.ts +0 -1
  158. package/lib/typescript/src/contexts/auth.d.ts.map +1 -1
  159. package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
  160. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
  161. package/lib/typescript/src/index.d.ts +1 -0
  162. package/lib/typescript/src/index.d.ts.map +1 -1
  163. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +7 -6
  164. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
  165. package/lib/typescript/src/modules/openid/credentialRecord.d.ts +19 -0
  166. package/lib/typescript/src/modules/openid/credentialRecord.d.ts.map +1 -0
  167. package/lib/typescript/src/modules/openid/display.d.ts +2 -3
  168. package/lib/typescript/src/modules/openid/display.d.ts.map +1 -1
  169. package/lib/typescript/src/modules/openid/hooks/openid.d.ts +2 -2
  170. package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
  171. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +2 -4
  172. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -1
  173. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -1
  174. package/lib/typescript/src/modules/openid/hooks/useUpgradeExpiredCredential.d.ts.map +1 -1
  175. package/lib/typescript/src/modules/openid/metadata.d.ts +9 -8
  176. package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
  177. package/lib/typescript/src/modules/openid/offerResolve.d.ts +9 -15
  178. package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
  179. package/lib/typescript/src/modules/openid/refresh/operations.d.ts +13 -0
  180. package/lib/typescript/src/modules/openid/refresh/operations.d.ts.map +1 -0
  181. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +4 -7
  182. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -1
  183. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +2 -5
  184. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -1
  185. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +3 -2
  186. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -1
  187. package/lib/typescript/src/modules/openid/refresh/types.d.ts +14 -4
  188. package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -1
  189. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +2 -2
  190. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -1
  191. package/lib/typescript/src/modules/openid/resolverProof.d.ts +2 -21
  192. package/lib/typescript/src/modules/openid/resolverProof.d.ts.map +1 -1
  193. package/lib/typescript/src/modules/openid/screens/OpenIDConnection.d.ts.map +1 -1
  194. package/lib/typescript/src/screens/Home.d.ts.map +1 -1
  195. package/lib/typescript/src/utils/agent.d.ts +3 -1
  196. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  197. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  198. package/package.json +29 -29
@@ -8,11 +8,9 @@ var _react = require("react");
8
8
  var _native = require("@react-navigation/native");
9
9
  var _reactHooks = require("@bifold/react-hooks");
10
10
  var _navigators = require("../../../types/navigators");
11
- var _refreshToken = require("../refresh/refreshToken");
12
- var _reIssuance = require("../refresh/reIssuance");
13
11
  var _OpenIDCredentialRecordProvider = require("../context/OpenIDCredentialRecordProvider");
14
- var _registry = require("../refresh/registry");
15
12
  var _containerApi = require("../../../container-api");
13
+ var _operations = require("../refresh/operations");
16
14
  // modules/openid/hooks/useUpgradeExpiredCredential.ts
17
15
 
18
16
  const useUpgradeExpiredCredential = () => {
@@ -21,71 +19,39 @@ const useUpgradeExpiredCredential = () => {
21
19
  agent
22
20
  } = (0, _reactHooks.useAgent)();
23
21
  const {
24
- getSdJwtCredentialById
22
+ getCredentialById
25
23
  } = (0, _OpenIDCredentialRecordProvider.useOpenIDCredentials)();
26
24
  const [logger] = (0, _containerApi.useServices)([_containerApi.TOKENS.UTIL_LOGGER]);
27
25
  const upgrade = (0, _react.useCallback)(async oldId => {
28
- var _newRecord$createdAt;
29
26
  if (!agent) {
30
27
  logger === null || logger === void 0 || logger.warn('⚠️ [Upgrade] Agent not ready, cannot upgrade credential');
31
28
  return;
32
29
  }
33
30
  logger === null || logger === void 0 || logger.info(`🔁 [Upgrade] Starting upgrade flow for oldId=${oldId}`);
34
-
35
- // 1. Load the “old” record
36
- const byId = _registry.credentialRegistry.getState().byId[oldId];
37
- if (!byId) {
38
- logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No lite record for oldId=${oldId}`);
39
- return;
40
- }
41
-
42
- // We try all three repos – you can refine this using byId.format if you want
43
- const rec = await getSdJwtCredentialById(oldId);
31
+ const rec = await getCredentialById(oldId);
44
32
  if (!rec) {
45
33
  logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No full record found for oldId=${oldId}`);
46
34
  return;
47
35
  }
48
-
49
- // 2. Use refresh token to get new access token
50
- const token = await (0, _refreshToken.refreshAccessToken)({
51
- logger,
52
- cred: rec,
53
- agentContext: agent.context
54
- });
55
- if (!token) {
56
- logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No refresh token available for oldId=${oldId}`);
57
- return;
58
- }
59
-
60
- // 3. Re-issue credential using access token
61
- const newRecord = await (0, _reIssuance.reissueCredentialWithAccessToken)({
36
+ const newRecord = await (0, _operations.refreshAndQueueReplacement)({
62
37
  agent,
63
38
  logger,
64
- record: rec,
65
- tokenResponse: token
39
+ record: rec
66
40
  });
67
41
  if (!newRecord) {
68
- logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] Re-issue returned no record for oldId=${oldId}`);
42
+ logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] Could not issue replacement for oldId=${oldId}`);
69
43
  return;
70
44
  }
71
45
  logger === null || logger === void 0 || logger.info(`💾 [Upgrade] New credential issued ${newRecord.id} from oldId=${oldId}`);
72
46
 
73
- // 4. Update registry mapping old -> new (so offer screen can resolve)
74
- _registry.credentialRegistry.getState().markExpiredWithReplacement(oldId, {
75
- id: newRecord.id,
76
- format: byId.format,
77
- createdAt: (_newRecord$createdAt = newRecord.createdAt) === null || _newRecord$createdAt === void 0 ? void 0 : _newRecord$createdAt.toISOString(),
78
- issuer: byId.issuer
79
- });
80
-
81
- // 5. Navigate to the OpenID offer screen, passing the new record directly
47
+ // Navigate to the OpenID offer screen, passing the new record directly
82
48
  navigation.navigate(_navigators.Stacks.ConnectionStack, {
83
49
  screen: _navigators.Screens.OpenIDCredentialOffer,
84
50
  params: {
85
51
  credential: newRecord
86
52
  }
87
53
  });
88
- }, [agent, logger, navigation, getSdJwtCredentialById]);
54
+ }, [agent, logger, navigation, getCredentialById]);
89
55
  return {
90
56
  upgrade
91
57
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_native","_reactHooks","_navigators","_refreshToken","_reIssuance","_OpenIDCredentialRecordProvider","_registry","_containerApi","useUpgradeExpiredCredential","navigation","useNavigation","agent","useAgent","getSdJwtCredentialById","useOpenIDCredentials","logger","useServices","TOKENS","UTIL_LOGGER","upgrade","useCallback","oldId","_newRecord$createdAt","warn","info","byId","credentialRegistry","getState","rec","token","refreshAccessToken","cred","agentContext","context","newRecord","reissueCredentialWithAccessToken","record","tokenResponse","id","markExpiredWithReplacement","format","createdAt","toISOString","issuer","navigate","Stacks","ConnectionStack","screen","Screens","OpenIDCredentialOffer","params","credential","exports"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useUpgradeExpiredCredential.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_native","_reactHooks","_navigators","_OpenIDCredentialRecordProvider","_containerApi","_operations","useUpgradeExpiredCredential","navigation","useNavigation","agent","useAgent","getCredentialById","useOpenIDCredentials","logger","useServices","TOKENS","UTIL_LOGGER","upgrade","useCallback","oldId","warn","info","rec","newRecord","refreshAndQueueReplacement","record","id","navigate","Stacks","ConnectionStack","screen","Screens","OpenIDCredentialOffer","params","credential","exports"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useUpgradeExpiredCredential.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,+BAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AARA;;AAUO,MAAMO,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAkC,CAAC;EACnE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,oBAAQ,EAAC,CAAC;EAC5B,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,oDAAoB,EAAC,CAAC;EACpD,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAC,yBAAW,EAAC,CAACC,oBAAM,CAACC,WAAW,CAAC,CAAC;EAElD,MAAMC,OAAO,GAAG,IAAAC,kBAAW,EACzB,MAAOC,KAAa,IAAK;IACvB,IAAI,CAACV,KAAK,EAAE;MACVI,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEO,IAAI,CAAC,yDAAyD,CAAC;MACvE;IACF;IAEAP,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEQ,IAAI,CAAC,gDAAgDF,KAAK,EAAE,CAAC;IAErE,MAAMG,GAAG,GAAG,MAAMX,iBAAiB,CAACQ,KAAK,CAAC;IAE1C,IAAI,CAACG,GAAG,EAAE;MACRT,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEO,IAAI,CAAC,+CAA+CD,KAAK,EAAE,CAAC;MACpE;IACF;IAEA,MAAMI,SAAS,GAAG,MAAM,IAAAC,sCAA0B,EAAC;MACjDf,KAAK;MACLI,MAAM;MACNY,MAAM,EAAEH;IACV,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,EAAE;MACdV,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEO,IAAI,CAAC,sDAAsDD,KAAK,EAAE,CAAC;MAC3E;IACF;IAEAN,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEQ,IAAI,CAAC,sCAAsCE,SAAS,CAACG,EAAE,eAAeP,KAAK,EAAE,CAAC;;IAEtF;IACAZ,UAAU,CAACoB,QAAQ,CAACC,kBAAM,CAACC,eAAe,EAAE;MAC1CC,MAAM,EAAEC,mBAAO,CAACC,qBAAqB;MACrCC,MAAM,EAAE;QACNC,UAAU,EAAEX;MACd;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACd,KAAK,EAAEI,MAAM,EAAEN,UAAU,EAAEI,iBAAiB,CAC/C,CAAC;EAED,OAAO;IAAEM;EAAQ,CAAC;AACpB,CAAC;AAAAkB,OAAA,CAAA7B,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -68,6 +68,8 @@ function deleteRefreshCredentialMetadata(credentialRecord) {
68
68
  async function persistCredentialRecord(agentContext, record) {
69
69
  if (record instanceof _core.W3cCredentialRecord) {
70
70
  await agentContext.dependencyManager.resolve(_core.W3cCredentialRepository).update(agentContext, record);
71
+ } else if (record instanceof _core.W3cV2CredentialRecord) {
72
+ await agentContext.dependencyManager.resolve(_core.W3cV2CredentialRepository).update(agentContext, record);
71
73
  } else if (record instanceof _core.SdJwtVcRecord) {
72
74
  await agentContext.dependencyManager.resolve(_core.SdJwtVcRepository).update(agentContext, record);
73
75
  } else if (record instanceof _core.MdocRecord) {
@@ -1 +1 @@
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":[]}
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","W3cV2CredentialRecord","W3cV2CredentialRepository","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":[]}
@@ -8,6 +8,21 @@ exports.resolveOpenId4VciOffer = exports.receiveCredentialFromOpenId4VciOffer =
8
8
  var _openid4vc = require("@credo-ts/openid4vc");
9
9
  var _core = require("@credo-ts/core");
10
10
  var _metadata = require("./metadata");
11
+ const getCredentialConfigurationIdsToRequest = ({
12
+ resolvedCredentialOffer,
13
+ credentialConfigurationIdsToRequest
14
+ }) => {
15
+ const credentialConfigurationIds = credentialConfigurationIdsToRequest ?? [Object.keys(resolvedCredentialOffer.offeredCredentialConfigurations)[0]];
16
+ if (credentialConfigurationIds.length === 0 || !credentialConfigurationIds[0]) {
17
+ throw new Error('No credential configuration ID found in the credential offer.');
18
+ }
19
+ for (const credentialConfigurationId of credentialConfigurationIds) {
20
+ if (!resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationId]) {
21
+ throw new Error(`Parameter 'credentialConfigurationIdsToRequest' with values ${credentialConfigurationIdsToRequest} is not a credential_configuration_id in the credential offer.`);
22
+ }
23
+ }
24
+ return credentialConfigurationIds;
25
+ };
11
26
  const resolveOpenId4VciOffer = async ({
12
27
  agent,
13
28
  data,
@@ -29,7 +44,7 @@ const resolveOpenId4VciOffer = async ({
29
44
  });
30
45
  const resolvedCredentialOffer = await agent.openid4vc.holder.resolveCredentialOffer(offerUri);
31
46
  if (authorization) {
32
- throw new Error('Authorization flow is not supported yet as of Credo 0.5.13');
47
+ throw new Error('Authorization code flow is not implemented in this OpenID credential offer flow.');
33
48
  }
34
49
  return resolvedCredentialOffer;
35
50
  };
@@ -39,7 +54,7 @@ async function acquirePreAuthorizedAccessToken({
39
54
  resolvedCredentialOffer,
40
55
  txCode
41
56
  }) {
42
- return await agent.modules.openid4vc.holder.requestToken({
57
+ return await agent.openid4vc.holder.requestToken({
43
58
  resolvedCredentialOffer,
44
59
  txCode
45
60
  });
@@ -53,13 +68,7 @@ const customCredentialBindingResolver = async ({
53
68
  proofTypes
54
69
  }) => {
55
70
  var _proofTypes$jwt;
56
- // First, we try to pick a did method
57
- // Prefer did:jwk, otherwise use did:key, otherwise use undefined
58
71
  let didMethod = supportsAllDidMethods || supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:jwk') ? 'jwk' : supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:key') ? 'key' : undefined;
59
-
60
- // If supportedDidMethods is undefined, and supportsJwk is false, we will default to did:key
61
- // this is important as part of MATTR launchpad support which MUST use did:key but doesn't
62
- // define which did methods they support
63
72
  if (!supportedDidMethods && !supportsJwk) {
64
73
  didMethod = 'key';
65
74
  }
@@ -77,21 +86,20 @@ const customCredentialBindingResolver = async ({
77
86
  if (didResult.didState.state !== 'finished') {
78
87
  throw new Error('DID creation failed.');
79
88
  }
80
- let verificationMethodId;
89
+ let didUrl;
81
90
  if (didMethod === 'jwk') {
82
- const didJwk = _core.DidJwk.fromDid(didResult.didState.did);
83
- verificationMethodId = didJwk.verificationMethodId;
91
+ didUrl = _core.DidJwk.fromDid(didResult.didState.did).verificationMethodId;
84
92
  } else {
85
93
  const didKey = _core.DidKey.fromDid(didResult.didState.did);
86
- verificationMethodId = `${didKey.did}#${didKey.publicJwk.fingerprint}`;
94
+ didUrl = `${didKey.did}#${didKey.publicJwk.fingerprint}`;
87
95
  }
88
96
  return {
89
- didUrls: [verificationMethodId],
90
- method: 'did'
97
+ method: 'did',
98
+ didUrls: [didUrl]
91
99
  };
92
100
  }
93
101
 
94
- // Otherwise we also support plain jwk for sd-jwt only
102
+ // Fallback: plain jwk for sd-jwt/mdoc only
95
103
  if (supportsJwk && (credentialFormat === _openid4vc.OpenId4VciCredentialFormatProfile.SdJwtVc || credentialFormat === _openid4vc.OpenId4VciCredentialFormatProfile.MsoMdoc)) {
96
104
  return {
97
105
  method: 'jwk',
@@ -106,31 +114,29 @@ const receiveCredentialFromOpenId4VciOffer = async ({
106
114
  resolvedCredentialOffer,
107
115
  tokenResponse,
108
116
  credentialConfigurationIdsToRequest,
109
- clientId,
110
- pidSchemes
117
+ clientId
111
118
  }) => {
112
- const offeredCredentialsToRequest = credentialConfigurationIdsToRequest ? Object.entries(resolvedCredentialOffer.offeredCredentialConfigurations).filter(([k]) => credentialConfigurationIdsToRequest.includes(k)) : [Object.values(resolvedCredentialOffer.offeredCredentialConfigurations)[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
- }
119
+ const credentialConfigurationIds = getCredentialConfigurationIdsToRequest({
120
+ resolvedCredentialOffer,
121
+ credentialConfigurationIdsToRequest
122
+ });
116
123
  const credentials = await agent.openid4vc.holder.requestCredentials({
117
124
  resolvedCredentialOffer,
118
125
  ...tokenResponse,
119
126
  clientId,
120
- credentialConfigurationIds: credentialConfigurationIdsToRequest,
127
+ credentialConfigurationIds,
121
128
  verifyCredentialStatus: false,
122
129
  allowedProofOfPossessionSignatureAlgorithms: [
123
130
  // NOTE: MATTR launchpad for JFF MUST use EdDSA. So it is important that the default (first allowed one)
124
131
  // is EdDSA. The list is ordered by preference, so if no suites are defined by the issuer, the first one
125
132
  // will be used
126
- "EdDSA", "ES256"],
133
+ 'EdDSA', 'ES256'],
127
134
  credentialBindingResolver: async ({
128
135
  supportedDidMethods,
129
136
  proofTypes,
130
137
  supportsAllDidMethods,
131
138
  supportsJwk,
132
- credentialFormat,
133
- credentialConfigurationId
139
+ credentialFormat
134
140
  }) => {
135
141
  return customCredentialBindingResolver({
136
142
  agent,
@@ -138,10 +144,7 @@ const receiveCredentialFromOpenId4VciOffer = async ({
138
144
  proofTypes,
139
145
  supportsAllDidMethods,
140
146
  supportsJwk,
141
- credentialFormat,
142
- credentialConfigurationId,
143
- resolvedCredentialOffer,
144
- pidSchemes
147
+ credentialFormat
145
148
  });
146
149
  }
147
150
  });
@@ -153,36 +156,9 @@ const receiveCredentialFromOpenId4VciOffer = async ({
153
156
  throw new Error('Error retrieving credential using pre authorized flow: firstCredential is string.');
154
157
  }
155
158
  const record = firstCredential.record;
156
-
157
- // This block likely not necessary anymore? The record seems to be defined on this object already.
158
-
159
- // if ('compact' in firstCredential.) {
160
- // // TODO: add claimFormat to SdJwtVc
161
- // record = new SdJwtVcRecord({
162
- // credentialInstances: firstCredential.credential.compact,
163
- // })
164
- // } else if (firstCredential.credential instanceof Mdoc) {
165
- // record = new MdocRecord({
166
- // mdoc: firstCredential.credential,
167
- // })
168
- // } else {
169
- // record = new W3cCredentialRecord({
170
- // credential: firstCredential.credential as W3cJwtVerifiableCredential | W3cJsonLdVerifiableCredential,
171
- // // We don't support expanded types right now, but would become problem when we support JSON-LD
172
- // tags: {},
173
- // })
174
- // }
175
-
176
- // TODO: Confirm how this should be handled, notificationMetadata for openid4vc may have been removed
177
-
178
- // const notificationMetadata = { ...firstCredential.notificationMetadata }
179
- // if (notificationMetadata) {
180
- // temporaryMetaVanillaObject.notificationMetadata = notificationMetadata
181
- // }
182
-
183
- const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(Object.values(resolvedCredentialOffer.offeredCredentialConfigurations)[0], {
159
+ const requestedCredentialConfiguration = resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationIds[0]];
160
+ const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(requestedCredentialConfiguration, {
184
161
  id: resolvedCredentialOffer.metadata.credentialIssuer.credential_issuer,
185
- // This might not be correct
186
162
  display: resolvedCredentialOffer.metadata.credentialIssuer.display
187
163
  });
188
164
  (0, _metadata.setOpenId4VcCredentialMetadata)(record, openId4VcMetadata);
@@ -1 +1 @@
1
- {"version":3,"names":["_openid4vc","require","_core","_metadata","resolveOpenId4VciOffer","agent","data","uri","authorization","offerUri","encodeURIComponent","JSON","stringify","Error","config","logger","info","resolvedCredentialOffer","openid4vc","holder","resolveCredentialOffer","exports","acquirePreAuthorizedAccessToken","txCode","modules","requestToken","customCredentialBindingResolver","supportedDidMethods","supportsAllDidMethods","supportsJwk","credentialFormat","proofTypes","_proofTypes$jwt","didMethod","includes","undefined","key","kms","createKeyForSignatureAlgorithm","algorithm","jwt","supportedSignatureAlgorithms","publicJwk","Kms","PublicJwk","fromPublicJwk","didResult","dids","create","method","options","keyId","didState","state","verificationMethodId","didJwk","DidJwk","fromDid","did","didKey","DidKey","fingerprint","didUrls","OpenId4VciCredentialFormatProfile","SdJwtVc","MsoMdoc","keys","join","receiveCredentialFromOpenId4VciOffer","tokenResponse","credentialConfigurationIdsToRequest","clientId","pidSchemes","offeredCredentialsToRequest","Object","entries","offeredCredentialConfigurations","filter","k","values","length","credentials","requestCredentials","credentialConfigurationIds","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","credentialBindingResolver","credentialConfigurationId","firstCredential","record","openId4VcMetadata","extractOpenId4VcCredentialMetadata","id","metadata","credentialIssuer","credential_issuer","display","setOpenId4VcCredentialMetadata"],"sourceRoot":"../../../../src","sources":["modules/openid/offerResolve.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_openid4vc","require","_core","_metadata","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","exports","acquirePreAuthorizedAccessToken","txCode","requestToken","customCredentialBindingResolver","supportedDidMethods","supportsAllDidMethods","supportsJwk","credentialFormat","proofTypes","_proofTypes$jwt","didMethod","includes","undefined","key","kms","createKeyForSignatureAlgorithm","algorithm","jwt","supportedSignatureAlgorithms","publicJwk","Kms","PublicJwk","fromPublicJwk","didResult","dids","create","method","options","keyId","didState","state","didUrl","DidJwk","fromDid","did","verificationMethodId","didKey","DidKey","fingerprint","didUrls","OpenId4VciCredentialFormatProfile","SdJwtVc","MsoMdoc","join","receiveCredentialFromOpenId4VciOffer","tokenResponse","clientId","credentials","requestCredentials","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","credentialBindingResolver","firstCredential","record","requestedCredentialConfiguration","openId4VcMetadata","extractOpenId4VcCredentialMetadata","id","metadata","credentialIssuer","credential_issuer","display","setOpenId4VcCredentialMetadata"],"sourceRoot":"../../../../src","sources":["modules/openid/offerResolve.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.refreshAndQueueReplacement = refreshAndQueueReplacement;
7
+ var _credentialRecord = require("../credentialRecord");
8
+ var _refreshToken = require("./refreshToken");
9
+ var _registry = require("./registry");
10
+ var _reIssuance = require("./reIssuance");
11
+ async function refreshAndQueueReplacement({
12
+ agent,
13
+ logger,
14
+ record,
15
+ toLite = _credentialRecord.toOpenIDCredentialLite
16
+ }) {
17
+ const token = await (0, _refreshToken.refreshAccessToken)({
18
+ logger,
19
+ cred: record,
20
+ agentContext: agent.context
21
+ });
22
+ if (!token) {
23
+ return undefined;
24
+ }
25
+ const newRecord = await (0, _reIssuance.reissueCredentialWithAccessToken)({
26
+ agent,
27
+ logger,
28
+ record,
29
+ tokenResponse: token
30
+ });
31
+ if (!newRecord) {
32
+ return undefined;
33
+ }
34
+ _registry.credentialRegistry.getState().markExpiredWithReplacement(record.id, toLite(newRecord));
35
+ return newRecord;
36
+ }
37
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_credentialRecord","require","_refreshToken","_registry","_reIssuance","refreshAndQueueReplacement","agent","logger","record","toLite","toOpenIDCredentialLite","token","refreshAccessToken","cred","agentContext","context","undefined","newRecord","reissueCredentialWithAccessToken","tokenResponse","credentialRegistry","getState","markExpiredWithReplacement","id"],"sourceRoot":"../../../../../src","sources":["modules/openid/refresh/operations.ts"],"mappings":";;;;;;AAEA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAUO,eAAeI,0BAA0BA,CAAC;EAC/CC,KAAK;EACLC,MAAM;EACNC,MAAM;EACNC,MAAM,GAAGC;AACc,CAAC,EAAE;EAC1B,MAAMC,KAAK,GAAG,MAAM,IAAAC,gCAAkB,EAAC;IAAEL,MAAM;IAAEM,IAAI,EAAEL,MAAM;IAAEM,YAAY,EAAER,KAAK,CAACS;EAAQ,CAAC,CAAC;EAC7F,IAAI,CAACJ,KAAK,EAAE;IACV,OAAOK,SAAS;EAClB;EAEA,MAAMC,SAAS,GAAG,MAAM,IAAAC,4CAAgC,EAAC;IACvDZ,KAAK;IACLC,MAAM;IACNC,MAAM;IACNW,aAAa,EAAER;EACjB,CAAC,CAAC;EAEF,IAAI,CAACM,SAAS,EAAE;IACd,OAAOD,SAAS;EAClB;EAEAI,4BAAkB,CAACC,QAAQ,CAAC,CAAC,CAACC,0BAA0B,CAACd,MAAM,CAACe,EAAE,EAAEd,MAAM,CAACQ,SAAS,CAAC,CAAC;EACtF,OAAOA,SAAS;AAClB","ignoreList":[]}
@@ -12,8 +12,7 @@ async function reissueCredentialWithAccessToken({
12
12
  logger,
13
13
  record,
14
14
  tokenResponse,
15
- clientId,
16
- pidSchemes
15
+ clientId
17
16
  }) {
18
17
  if (!record) {
19
18
  throw new Error('No credential record provided for re-issuance.');
@@ -35,26 +34,23 @@ async function reissueCredentialWithAccessToken({
35
34
  logger.info('*** Starting to get new credential via re-issuance flow ***');
36
35
  // Request a **new** credential using the *existing* configuration id
37
36
 
38
- const creds = await agent.modules.openid4vc.holder.requestCredentials({
37
+ const creds = await agent.openid4vc.holder.requestCredentials({
39
38
  resolvedCredentialOffer,
40
39
  accessToken: tokenResponse.access_token,
41
40
  tokenType: tokenResponse.token_type || 'Bearer',
42
41
  cNonce: tokenResponse.c_nonce,
43
42
  clientId,
44
- credentialsToRequest: [credentialConfigurationId],
43
+ credentialConfigurationIds: [credentialConfigurationId],
45
44
  verifyCredentialStatus: false,
46
45
  // you’ll check after storing
47
46
  allowedProofOfPossessionSignatureAlgorithms: ['EdDSA', 'ES256'],
48
47
  credentialBindingResolver: async opts => (0, _offerResolve.customCredentialBindingResolver)({
49
48
  agent,
50
49
  supportedDidMethods: opts.supportedDidMethods,
51
- // keyType: opts.keyType,
50
+ proofTypes: opts.proofTypes,
52
51
  supportsAllDidMethods: opts.supportsAllDidMethods,
53
52
  supportsJwk: opts.supportsJwk,
54
- credentialFormat: opts.credentialFormat,
55
- // supportedCredentialId: opts.supportedCredentialId,
56
- resolvedCredentialOffer: resolvedCredentialOffer,
57
- pidSchemes
53
+ credentialFormat: opts.credentialFormat
58
54
  })
59
55
  });
60
56
  logger.info('*** New credential received via re-issuance flow ***.');
@@ -76,7 +72,8 @@ async function reissueCredentialWithAccessToken({
76
72
  // })
77
73
  // }
78
74
 
79
- const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(resolvedCredentialOffer.offeredCredentialConfigurations, {
75
+ const requestedCredentialConfiguration = resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationId];
76
+ const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(requestedCredentialConfiguration, {
80
77
  id: resolvedCredentialOffer.metadata.credentialIssuer.credential_issuer,
81
78
  display: resolvedCredentialOffer.metadata.credentialIssuer.display
82
79
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_offerResolve","require","_metadata","_types","reissueCredentialWithAccessToken","agent","logger","record","tokenResponse","clientId","pidSchemes","Error","refreshMetaData","getRefreshCredentialMetadata","credentialConfigurationId","resolvedCredentialOffer","access_token","info","creds","modules","openid4vc","holder","requestCredentials","accessToken","tokenType","token_type","cNonce","c_nonce","credentialsToRequest","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","credentialBindingResolver","opts","customCredentialBindingResolver","supportedDidMethods","supportsAllDidMethods","supportsJwk","credentialFormat","firstCredential","credentials","newRecord","openId4VcMetadata","extractOpenId4VcCredentialMetadata","offeredCredentialConfigurations","id","metadata","credentialIssuer","credential_issuer","display","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":[]}
1
+ {"version":3,"names":["_offerResolve","require","_metadata","_types","reissueCredentialWithAccessToken","agent","logger","record","tokenResponse","clientId","Error","refreshMetaData","getRefreshCredentialMetadata","credentialConfigurationId","resolvedCredentialOffer","access_token","info","creds","openid4vc","holder","requestCredentials","accessToken","tokenType","token_type","cNonce","c_nonce","credentialConfigurationIds","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","credentialBindingResolver","opts","customCredentialBindingResolver","supportedDidMethods","proofTypes","supportsAllDidMethods","supportsJwk","credentialFormat","firstCredential","credentials","newRecord","requestedCredentialConfiguration","offeredCredentialConfigurations","openId4VcMetadata","extractOpenId4VcCredentialMetadata","id","metadata","credentialIssuer","credential_issuer","display","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":[]}