@bifold/core 2.10.2 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/lib/commonjs/components/listItems/NotificationListItem.js +19 -11
  2. package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
  3. package/lib/commonjs/components/misc/CredentialCard.js +3 -1
  4. package/lib/commonjs/components/misc/CredentialCard.js.map +1 -1
  5. package/lib/commonjs/components/misc/CredentialCard10.js +13 -5
  6. package/lib/commonjs/components/misc/CredentialCard10.js.map +1 -1
  7. package/lib/commonjs/components/misc/CredentialCard11.js +25 -22
  8. package/lib/commonjs/components/misc/CredentialCard11.js.map +1 -1
  9. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js +8 -7
  10. package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  11. package/lib/commonjs/components/views/KeyboardView.js +19 -4
  12. package/lib/commonjs/components/views/KeyboardView.js.map +1 -1
  13. package/lib/commonjs/constants.js +1 -0
  14. package/lib/commonjs/constants.js.map +1 -1
  15. package/lib/commonjs/container-api.js +3 -1
  16. package/lib/commonjs/container-api.js.map +1 -1
  17. package/lib/commonjs/container-impl.js +16 -0
  18. package/lib/commonjs/container-impl.js.map +1 -1
  19. package/lib/commonjs/hooks/notifications.js +4 -2
  20. package/lib/commonjs/hooks/notifications.js.map +1 -1
  21. package/lib/commonjs/hooks/useBifoldAgentSetup.js +5 -3
  22. package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
  23. package/lib/commonjs/index.js +16 -0
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/localization/en/en.json +8 -1
  26. package/lib/commonjs/localization/fr/fr.json +8 -1
  27. package/lib/commonjs/localization/pt-br/pt-br.json +8 -1
  28. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js +41 -1
  29. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  30. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
  31. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  32. package/lib/commonjs/modules/openid/hooks/openid.js +38 -6
  33. package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
  34. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +82 -0
  35. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
  36. package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js +60 -0
  37. package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
  38. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +84 -0
  39. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
  40. package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js +55 -0
  41. package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
  42. package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js +82 -0
  43. package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
  44. package/lib/commonjs/modules/openid/metadata.js +60 -1
  45. package/lib/commonjs/modules/openid/metadata.js.map +1 -1
  46. package/lib/commonjs/modules/openid/notification.js +42 -0
  47. package/lib/commonjs/modules/openid/notification.js.map +1 -0
  48. package/lib/commonjs/modules/openid/offerResolve.js +6 -0
  49. package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
  50. package/lib/commonjs/modules/openid/refresh/reIssuance.js +95 -0
  51. package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -0
  52. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +265 -0
  53. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
  54. package/lib/commonjs/modules/openid/refresh/refreshToken.js +78 -0
  55. package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -0
  56. package/lib/commonjs/modules/openid/refresh/registery.js +143 -0
  57. package/lib/commonjs/modules/openid/refresh/registery.js.map +1 -0
  58. package/lib/commonjs/modules/openid/refresh/types.js +17 -0
  59. package/lib/commonjs/modules/openid/refresh/types.js.map +1 -0
  60. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +34 -0
  61. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
  62. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
  63. package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  64. package/lib/commonjs/modules/openid/utils/utils.js +66 -0
  65. package/lib/commonjs/modules/openid/utils/utils.js.map +1 -1
  66. package/lib/commonjs/screens/CredentialDetails.js +28 -6
  67. package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
  68. package/lib/commonjs/screens/CredentialOffer.js +6 -9
  69. package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
  70. package/lib/commonjs/screens/CredentialOfferAccept.js +18 -2
  71. package/lib/commonjs/screens/CredentialOfferAccept.js.map +1 -1
  72. package/lib/commonjs/screens/Developer.js +26 -0
  73. package/lib/commonjs/screens/Developer.js.map +1 -1
  74. package/lib/commonjs/screens/Home.js +39 -1
  75. package/lib/commonjs/screens/Home.js.map +1 -1
  76. package/lib/commonjs/screens/ListCredentials.js +2 -2
  77. package/lib/commonjs/screens/ListCredentials.js.map +1 -1
  78. package/lib/commonjs/screens/ProofChangeCredential.js +3 -3
  79. package/lib/commonjs/screens/ProofChangeCredential.js.map +1 -1
  80. package/lib/commonjs/screens/ProofRequest.js +4 -4
  81. package/lib/commonjs/screens/ProofRequest.js.map +1 -1
  82. package/lib/commonjs/services/AgentBridge.js +90 -0
  83. package/lib/commonjs/services/AgentBridge.js.map +1 -0
  84. package/lib/commonjs/types/credentials.js +9 -0
  85. package/lib/commonjs/types/credentials.js.map +1 -1
  86. package/lib/commonjs/utils/agent.js +1 -1
  87. package/lib/commonjs/utils/agent.js.map +1 -1
  88. package/lib/commonjs/utils/cred-def.js +50 -43
  89. package/lib/commonjs/utils/cred-def.js.map +1 -1
  90. package/lib/commonjs/utils/credential.js +217 -1
  91. package/lib/commonjs/utils/credential.js.map +1 -1
  92. package/lib/commonjs/utils/helpers.js +83 -22
  93. package/lib/commonjs/utils/helpers.js.map +1 -1
  94. package/lib/module/components/listItems/NotificationListItem.js +19 -11
  95. package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
  96. package/lib/module/components/misc/CredentialCard.js +3 -1
  97. package/lib/module/components/misc/CredentialCard.js.map +1 -1
  98. package/lib/module/components/misc/CredentialCard10.js +14 -6
  99. package/lib/module/components/misc/CredentialCard10.js.map +1 -1
  100. package/lib/module/components/misc/CredentialCard11.js +17 -14
  101. package/lib/module/components/misc/CredentialCard11.js.map +1 -1
  102. package/lib/module/components/views/CredentialDetailPrimaryHeader.js +9 -8
  103. package/lib/module/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
  104. package/lib/module/components/views/KeyboardView.js +19 -4
  105. package/lib/module/components/views/KeyboardView.js.map +1 -1
  106. package/lib/module/constants.js +1 -0
  107. package/lib/module/constants.js.map +1 -1
  108. package/lib/module/container-api.js +3 -1
  109. package/lib/module/container-api.js.map +1 -1
  110. package/lib/module/container-impl.js +16 -0
  111. package/lib/module/container-impl.js.map +1 -1
  112. package/lib/module/hooks/notifications.js +4 -2
  113. package/lib/module/hooks/notifications.js.map +1 -1
  114. package/lib/module/hooks/useBifoldAgentSetup.js +5 -3
  115. package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
  116. package/lib/module/index.js +3 -1
  117. package/lib/module/index.js.map +1 -1
  118. package/lib/module/localization/en/en.json +8 -1
  119. package/lib/module/localization/fr/fr.json +8 -1
  120. package/lib/module/localization/pt-br/pt-br.json +8 -1
  121. package/lib/module/modules/openid/components/OpenIDCredentialCard.js +41 -1
  122. package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  123. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
  124. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  125. package/lib/module/modules/openid/hooks/openid.js +38 -5
  126. package/lib/module/modules/openid/hooks/openid.js.map +1 -1
  127. package/lib/module/modules/openid/hooks/useAcceptReplacement.js +76 -0
  128. package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
  129. package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js +54 -0
  130. package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
  131. package/lib/module/modules/openid/hooks/useDeclineReplacement.js +77 -0
  132. package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
  133. package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js +47 -0
  134. package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
  135. package/lib/module/modules/openid/hooks/useReplacementNotifications.js +75 -0
  136. package/lib/module/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
  137. package/lib/module/modules/openid/metadata.js +52 -1
  138. package/lib/module/modules/openid/metadata.js.map +1 -1
  139. package/lib/module/modules/openid/notification.js +38 -0
  140. package/lib/module/modules/openid/notification.js.map +1 -0
  141. package/lib/module/modules/openid/offerResolve.js +7 -1
  142. package/lib/module/modules/openid/offerResolve.js.map +1 -1
  143. package/lib/module/modules/openid/refresh/reIssuance.js +89 -0
  144. package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -0
  145. package/lib/module/modules/openid/refresh/refreshOrchestrator.js +257 -0
  146. package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
  147. package/lib/module/modules/openid/refresh/refreshToken.js +72 -0
  148. package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -0
  149. package/lib/module/modules/openid/refresh/registery.js +135 -0
  150. package/lib/module/modules/openid/refresh/registery.js.map +1 -0
  151. package/lib/module/modules/openid/refresh/types.js +11 -0
  152. package/lib/module/modules/openid/refresh/types.js.map +1 -0
  153. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +28 -0
  154. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
  155. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
  156. package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
  157. package/lib/module/modules/openid/utils/utils.js +64 -1
  158. package/lib/module/modules/openid/utils/utils.js.map +1 -1
  159. package/lib/module/screens/CredentialDetails.js +29 -7
  160. package/lib/module/screens/CredentialDetails.js.map +1 -1
  161. package/lib/module/screens/CredentialOffer.js +7 -10
  162. package/lib/module/screens/CredentialOffer.js.map +1 -1
  163. package/lib/module/screens/CredentialOfferAccept.js +19 -3
  164. package/lib/module/screens/CredentialOfferAccept.js.map +1 -1
  165. package/lib/module/screens/Developer.js +27 -1
  166. package/lib/module/screens/Developer.js.map +1 -1
  167. package/lib/module/screens/Home.js +41 -3
  168. package/lib/module/screens/Home.js.map +1 -1
  169. package/lib/module/screens/ListCredentials.js +1 -1
  170. package/lib/module/screens/ListCredentials.js.map +1 -1
  171. package/lib/module/screens/ProofChangeCredential.js +1 -1
  172. package/lib/module/screens/ProofChangeCredential.js.map +1 -1
  173. package/lib/module/screens/ProofRequest.js +1 -1
  174. package/lib/module/screens/ProofRequest.js.map +1 -1
  175. package/lib/module/services/AgentBridge.js +83 -0
  176. package/lib/module/services/AgentBridge.js.map +1 -0
  177. package/lib/module/types/credentials.js +8 -1
  178. package/lib/module/types/credentials.js.map +1 -1
  179. package/lib/module/utils/agent.js +2 -2
  180. package/lib/module/utils/agent.js.map +1 -1
  181. package/lib/module/utils/cred-def.js +46 -43
  182. package/lib/module/utils/cred-def.js.map +1 -1
  183. package/lib/module/utils/credential.js +210 -0
  184. package/lib/module/utils/credential.js.map +1 -1
  185. package/lib/module/utils/helpers.js +80 -22
  186. package/lib/module/utils/helpers.js.map +1 -1
  187. package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
  188. package/lib/typescript/src/components/misc/CredentialCard.d.ts +1 -2
  189. package/lib/typescript/src/components/misc/CredentialCard.d.ts.map +1 -1
  190. package/lib/typescript/src/components/misc/CredentialCard10.d.ts.map +1 -1
  191. package/lib/typescript/src/components/misc/CredentialCard11.d.ts +1 -5
  192. package/lib/typescript/src/components/misc/CredentialCard11.d.ts.map +1 -1
  193. package/lib/typescript/src/components/views/CredentialDetailPrimaryHeader.d.ts.map +1 -1
  194. package/lib/typescript/src/components/views/KeyboardView.d.ts +14 -0
  195. package/lib/typescript/src/components/views/KeyboardView.d.ts.map +1 -1
  196. package/lib/typescript/src/constants.d.ts +2 -1
  197. package/lib/typescript/src/constants.d.ts.map +1 -1
  198. package/lib/typescript/src/container-api.d.ts +8 -0
  199. package/lib/typescript/src/container-api.d.ts.map +1 -1
  200. package/lib/typescript/src/container-impl.d.ts +2 -0
  201. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  202. package/lib/typescript/src/hooks/notifications.d.ts +2 -1
  203. package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
  204. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
  205. package/lib/typescript/src/index.d.ts +4 -1
  206. package/lib/typescript/src/index.d.ts.map +1 -1
  207. package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts.map +1 -1
  208. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +1 -2
  209. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
  210. package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
  211. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +11 -0
  212. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -0
  213. package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts +9 -0
  214. package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts.map +1 -0
  215. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts +16 -0
  216. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -0
  217. package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts +8 -0
  218. package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts.map +1 -0
  219. package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts +6 -0
  220. package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts.map +1 -0
  221. package/lib/typescript/src/modules/openid/metadata.d.ts +27 -2
  222. package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
  223. package/lib/typescript/src/modules/openid/notification.d.ts +16 -0
  224. package/lib/typescript/src/modules/openid/notification.d.ts.map +1 -0
  225. package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
  226. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +19 -0
  227. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -0
  228. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +25 -0
  229. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -0
  230. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +9 -0
  231. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -0
  232. package/lib/typescript/src/modules/openid/refresh/registery.d.ts +55 -0
  233. package/lib/typescript/src/modules/openid/refresh/registery.d.ts.map +1 -0
  234. package/lib/typescript/src/modules/openid/refresh/types.d.ts +59 -0
  235. package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -0
  236. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +11 -0
  237. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -0
  238. package/lib/typescript/src/modules/openid/screens/OpenIDCredentialOffer.d.ts.map +1 -1
  239. package/lib/typescript/src/modules/openid/utils/utils.d.ts +4 -0
  240. package/lib/typescript/src/modules/openid/utils/utils.d.ts.map +1 -1
  241. package/lib/typescript/src/screens/CredentialDetails.d.ts.map +1 -1
  242. package/lib/typescript/src/screens/CredentialOffer.d.ts.map +1 -1
  243. package/lib/typescript/src/screens/CredentialOfferAccept.d.ts.map +1 -1
  244. package/lib/typescript/src/screens/Developer.d.ts.map +1 -1
  245. package/lib/typescript/src/screens/Home.d.ts.map +1 -1
  246. package/lib/typescript/src/screens/ListCredentials.d.ts.map +1 -1
  247. package/lib/typescript/src/services/AgentBridge.d.ts +31 -0
  248. package/lib/typescript/src/services/AgentBridge.d.ts.map +1 -0
  249. package/lib/typescript/src/types/credentials.d.ts +5 -0
  250. package/lib/typescript/src/types/credentials.d.ts.map +1 -1
  251. package/lib/typescript/src/types/notification.d.ts +4 -0
  252. package/lib/typescript/src/types/notification.d.ts.map +1 -1
  253. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  254. package/lib/typescript/src/utils/cred-def.d.ts +8 -3
  255. package/lib/typescript/src/utils/cred-def.d.ts.map +1 -1
  256. package/lib/typescript/src/utils/credential.d.ts +36 -0
  257. package/lib/typescript/src/utils/credential.d.ts.map +1 -1
  258. package/lib/typescript/src/utils/helpers.d.ts +5 -1
  259. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  260. package/package.json +10 -4
  261. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js +0 -25
  262. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js.map +0 -1
  263. package/lib/module/modules/openid/refresh/refreshMetadata.js +0 -18
  264. package/lib/module/modules/openid/refresh/refreshMetadata.js.map +0 -1
  265. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts +0 -20
  266. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts.map +0 -1
@@ -0,0 +1,83 @@
1
+ // services/AgentBridge.ts
2
+
3
+ export class AgentBridge {
4
+ // one-shot listeners (cleared after first setAgent)
5
+ readyOnce = [];
6
+ // persistent listeners (fire on every setAgent)
7
+ readyPersistent = new Set();
8
+ closedListeners = [];
9
+ changeListeners = [];
10
+
11
+ /** Set the live agent (e.g., after PIN unlock) */
12
+ setAgent(agent) {
13
+ this.agent = agent;
14
+ this.readyOnce.forEach(l => l(agent));
15
+ this.readyOnce = [];
16
+ this.readyPersistent.forEach(l => l(agent));
17
+ this.changeListeners.forEach(l => l(agent));
18
+ }
19
+
20
+ /** Clear the current agent (e.g., on wallet lock / shutdown) */
21
+ clearAgent(reason) {
22
+ if (!this.agent) return;
23
+ this.agent = undefined;
24
+ this.closedListeners.forEach(l => l(reason));
25
+ this.changeListeners.forEach(l => l(undefined));
26
+ }
27
+
28
+ /**
29
+ * Ready subscription.
30
+ * - Default (persistent = false): one-shot (old behavior). If agent exists, fires immediately.
31
+ * - Persistent (persistent = true): fires now if ready and on every subsequent setAgent.
32
+ */
33
+ onReady(fn, persistent = false) {
34
+ if (persistent) {
35
+ this.readyPersistent.add(fn);
36
+ if (this.agent) fn(this.agent);
37
+ return () => this.readyPersistent.delete(fn);
38
+ }
39
+ if (this.agent) {
40
+ fn(this.agent);
41
+ return () => void 0;
42
+ }
43
+ this.readyOnce.push(fn);
44
+ return () => {
45
+ this.readyOnce = this.readyOnce.filter(f => f !== fn);
46
+ };
47
+ }
48
+
49
+ /** Persistent: called whenever agent becomes available or cleared */
50
+ onChange(fn) {
51
+ this.changeListeners.push(fn);
52
+ // Emit current state immediately
53
+ fn(this.agent);
54
+ return () => {
55
+ this.changeListeners = this.changeListeners.filter(f => f !== fn);
56
+ };
57
+ }
58
+
59
+ /** Persistent: called when agent is cleared (lock/shutdown) */
60
+ onClosed(fn) {
61
+ this.closedListeners.push(fn);
62
+ return () => {
63
+ this.closedListeners = this.closedListeners.filter(f => f !== fn);
64
+ };
65
+ }
66
+
67
+ /** Promise helper to await an agent (one-shot) */
68
+ waitForReady() {
69
+ return new Promise(resolve => {
70
+ const unsub = this.onReady(a => {
71
+ unsub === null || unsub === void 0 || unsub();
72
+ resolve(a);
73
+ });
74
+ });
75
+ }
76
+ get current() {
77
+ return this.agent;
78
+ }
79
+ get isReady() {
80
+ return !!this.agent;
81
+ }
82
+ }
83
+ //# sourceMappingURL=AgentBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AgentBridge","readyOnce","readyPersistent","Set","closedListeners","changeListeners","setAgent","agent","forEach","l","clearAgent","reason","undefined","onReady","fn","persistent","add","delete","push","filter","f","onChange","onClosed","waitForReady","Promise","resolve","unsub","a","current","isReady"],"sourceRoot":"../../../src","sources":["services/AgentBridge.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,9 @@
1
- export {};
1
+ export let CredentialErrors = /*#__PURE__*/function (CredentialErrors) {
2
+ CredentialErrors[CredentialErrors["Revoked"] = 0] = "Revoked";
3
+ // Credential has been revoked
4
+ CredentialErrors[CredentialErrors["NotInWallet"] = 1] = "NotInWallet";
5
+ // Credential requested for proof does not exists in users wallet
6
+ CredentialErrors[CredentialErrors["PredicateError"] = 2] = "PredicateError"; // Credential requested for proof contains a predicate match that is not satisfied
7
+ return CredentialErrors;
8
+ }({});
2
9
  //# sourceMappingURL=credentials.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/credentials.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["CredentialErrors"],"sourceRoot":"../../../src","sources":["types/credentials.ts"],"mappings":"AAEA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EACjB;EADCA,gBAAgB,CAAhBA,gBAAgB;EAEb;EAFHA,gBAAgB,CAAhBA,gBAAgB,4CAGV;EAAA,OAHNA,gBAAgB;AAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { AnonCredsCredentialFormatService, AnonCredsModule, AnonCredsProofFormatService, DataIntegrityCredentialFormatService, LegacyIndyCredentialFormatService, LegacyIndyProofFormatService, V1CredentialProtocol, V1ProofProtocol } from '@credo-ts/anoncreds';
2
2
  import { AskarModule } from '@credo-ts/askar';
3
- import { AutoAcceptCredential, AutoAcceptProof, ConnectionsModule, CredentialsModule, DidsModule, DifPresentationExchangeProofFormatService, MediationRecipientModule, MediatorPickupStrategy, ProofsModule, V2CredentialProtocol, V2ProofProtocol, JwkDidResolver, KeyDidResolver, PeerDidResolver } from '@credo-ts/core';
3
+ import { AutoAcceptCredential, AutoAcceptProof, ConnectionsModule, CredentialsModule, DidsModule, DifPresentationExchangeProofFormatService, JwkDidResolver, KeyDidResolver, MediationRecipientModule, MediatorPickupStrategy, PeerDidResolver, ProofsModule, V2CredentialProtocol, V2ProofProtocol, WebDidResolver } from '@credo-ts/core';
4
4
  import { IndyVdrAnonCredsRegistry, IndyVdrModule } from '@credo-ts/indy-vdr';
5
5
  import { OpenId4VcHolderModule } from '@credo-ts/openid4vc';
6
6
  import { PushNotificationsApnsModule, PushNotificationsFcmModule } from '@credo-ts/push-notifications';
@@ -69,7 +69,7 @@ export function getAgentModules({
69
69
  pushNotificationsApns: new PushNotificationsApnsModule(),
70
70
  openId4VcHolder: new OpenId4VcHolderModule(),
71
71
  dids: new DidsModule({
72
- resolvers: [new WebvhDidResolver(), new JwkDidResolver(), new KeyDidResolver(), new PeerDidResolver()]
72
+ resolvers: [new WebvhDidResolver(), new WebDidResolver(), new JwkDidResolver(), new KeyDidResolver(), new PeerDidResolver()]
73
73
  })
74
74
  };
75
75
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AnonCredsCredentialFormatService","AnonCredsModule","AnonCredsProofFormatService","DataIntegrityCredentialFormatService","LegacyIndyCredentialFormatService","LegacyIndyProofFormatService","V1CredentialProtocol","V1ProofProtocol","AskarModule","AutoAcceptCredential","AutoAcceptProof","ConnectionsModule","CredentialsModule","DidsModule","DifPresentationExchangeProofFormatService","MediationRecipientModule","MediatorPickupStrategy","ProofsModule","V2CredentialProtocol","V2ProofProtocol","JwkDidResolver","KeyDidResolver","PeerDidResolver","IndyVdrAnonCredsRegistry","IndyVdrModule","OpenId4VcHolderModule","PushNotificationsApnsModule","PushNotificationsFcmModule","WebVhAnonCredsRegistry","WebvhDidResolver","useAgent","anoncreds","ariesAskar","indyVdr","getAgentModules","indyNetworks","mediatorInvitationUrl","txnCache","indyCredentialFormat","indyProofFormat","setLedgerTxnCache","capacity","expiry_offset_ms","expiryOffsetMs","path","askar","registries","networks","connections","autoAcceptConnections","credentials","autoAcceptCredentials","ContentApproved","credentialProtocols","credentialFormats","proofs","autoAcceptProofs","proofProtocols","proofFormats","mediationRecipient","mediatorPickupStrategy","Implicit","pushNotificationsFcm","pushNotificationsApns","openId4VcHolder","dids","resolvers","useAppAgent","createLinkSecretIfRequired","agent","linkSecretIds","modules","getLinkSecretIds","length","createLinkSecret","setAsDefault"],"sourceRoot":"../../../src","sources":["utils/agent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AnonCredsCredentialFormatService","AnonCredsModule","AnonCredsProofFormatService","DataIntegrityCredentialFormatService","LegacyIndyCredentialFormatService","LegacyIndyProofFormatService","V1CredentialProtocol","V1ProofProtocol","AskarModule","AutoAcceptCredential","AutoAcceptProof","ConnectionsModule","CredentialsModule","DidsModule","DifPresentationExchangeProofFormatService","JwkDidResolver","KeyDidResolver","MediationRecipientModule","MediatorPickupStrategy","PeerDidResolver","ProofsModule","V2CredentialProtocol","V2ProofProtocol","WebDidResolver","IndyVdrAnonCredsRegistry","IndyVdrModule","OpenId4VcHolderModule","PushNotificationsApnsModule","PushNotificationsFcmModule","WebVhAnonCredsRegistry","WebvhDidResolver","useAgent","anoncreds","ariesAskar","indyVdr","getAgentModules","indyNetworks","mediatorInvitationUrl","txnCache","indyCredentialFormat","indyProofFormat","setLedgerTxnCache","capacity","expiry_offset_ms","expiryOffsetMs","path","askar","registries","networks","connections","autoAcceptConnections","credentials","autoAcceptCredentials","ContentApproved","credentialProtocols","credentialFormats","proofs","autoAcceptProofs","proofProtocols","proofFormats","mediationRecipient","mediatorPickupStrategy","Implicit","pushNotificationsFcm","pushNotificationsApns","openId4VcHolder","dids","resolvers","useAppAgent","createLinkSecretIfRequired","agent","linkSecretIds","modules","getLinkSecretIds","length","createLinkSecret","setAsDefault"],"sourceRoot":"../../../src","sources":["utils/agent.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,11 @@
1
1
  import { AnonCredsCredentialMetadataKey, parseIndyCredentialDefinitionId, parseIndySchemaId } from '@credo-ts/anoncreds';
2
2
  import { credentialSchema } from './schema';
3
+ import { ensureCredentialMetadata, getEffectiveCredentialName } from './credential';
4
+ // Fallback default credential name when no other name is available
5
+ export const fallbackDefaultCredentialNameValue = 'Credential';
6
+
7
+ // Default credential definition tag value
8
+ export const defaultCredDefTag = 'default';
3
9
 
4
10
  // Normalize incoming identifiers by trimming whitespace and converting empty strings to undefined
5
11
  function normalizeId(id) {
@@ -7,47 +13,13 @@ function normalizeId(id) {
7
13
  const trimmed = id.trim();
8
14
  return trimmed.length > 0 ? trimmed : undefined;
9
15
  }
10
- export async function getCredentialName(credDefId, schemaId, agent) {
16
+ export async function getCredentialName(credDefId, schemaId) {
11
17
  const normalizedCredDefId = normalizeId(credDefId);
12
18
  const normalizedSchemaId = normalizeId(schemaId);
13
- const isWebvh = !!(normalizedCredDefId !== null && normalizedCredDefId !== void 0 && normalizedCredDefId.toLowerCase().startsWith('did:webvh:') || normalizedSchemaId !== null && normalizedSchemaId !== void 0 && normalizedSchemaId.toLowerCase().startsWith('did:webvh:'));
14
- if (isWebvh) {
15
- return parseWebVHCredDefId(normalizedCredDefId, normalizedSchemaId, agent);
16
- }
17
19
  return parseIndyCredDefId(normalizedCredDefId, normalizedSchemaId);
18
20
  }
19
- async function parseWebVHCredDefId(credDefId, schemaId, agent) {
20
- var _agent$modules;
21
- let name = 'Credential';
22
- if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
23
- return name;
24
- }
25
- if (credDefId) {
26
- try {
27
- const {
28
- credentialDefinition: result
29
- } = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
30
- name = (result === null || result === void 0 ? void 0 : result.tag) ?? name;
31
- } catch {
32
- var _agent$config;
33
- agent === null || agent === void 0 || (_agent$config = agent.config) === null || _agent$config === void 0 || (_agent$config = _agent$config.logger) === null || _agent$config === void 0 || _agent$config.info('parseWebVHCredDefId: Credential definition not found, using default name');
34
- }
35
- }
36
- if ((name.toLowerCase() === 'default' || name.toLowerCase() === 'credential') && schemaId) {
37
- try {
38
- const {
39
- schema: result
40
- } = await agent.modules.anoncreds.getSchema(schemaId);
41
- name = (result === null || result === void 0 ? void 0 : result.name) ?? name;
42
- } catch {
43
- var _agent$config2;
44
- agent === null || agent === void 0 || (_agent$config2 = agent.config) === null || _agent$config2 === void 0 || (_agent$config2 = _agent$config2.logger) === null || _agent$config2 === void 0 || _agent$config2.info('parseWebVHCredDefId: Schema definition not found, using default name');
45
- }
46
- }
47
- return name || 'Credential';
48
- }
49
21
  function parseIndyCredDefId(credDefId, schemaId) {
50
- let name = 'Credential';
22
+ let name = fallbackDefaultCredentialNameValue;
51
23
  if (credDefId) {
52
24
  try {
53
25
  const parsedCredDef = parseIndyCredentialDefinitionId(credDefId);
@@ -56,17 +28,17 @@ function parseIndyCredDefId(credDefId, schemaId) {
56
28
  // If parsing fails, keep the default name
57
29
  }
58
30
  }
59
- if (name.toLowerCase() === 'default' || name.toLowerCase() === 'credential') {
31
+ if (name.toLowerCase() === defaultCredDefTag || name.toLowerCase() === fallbackDefaultCredentialNameValue.toLowerCase()) {
60
32
  if (schemaId) {
61
33
  try {
62
34
  const parsedSchema = parseIndySchemaId(schemaId);
63
35
  name = (parsedSchema === null || parsedSchema === void 0 ? void 0 : parsedSchema.schemaName) ?? name;
64
36
  } catch {
65
37
  // If parsing fails, keep the default name
66
- name = 'Credential';
38
+ name = fallbackDefaultCredentialNameValue;
67
39
  }
68
40
  } else {
69
- name = 'Credential';
41
+ name = fallbackDefaultCredentialNameValue;
70
42
  }
71
43
  }
72
44
  return name;
@@ -75,10 +47,41 @@ function credentialDefinition(credential) {
75
47
  var _credential$metadata$;
76
48
  return (_credential$metadata$ = credential.metadata.get(AnonCredsCredentialMetadataKey)) === null || _credential$metadata$ === void 0 ? void 0 : _credential$metadata$.credentialDefinitionId;
77
49
  }
78
- export async function parsedCredDefNameFromCredential(credential, agent) {
79
- return getCredentialName(credentialDefinition(credential), credentialSchema(credential), agent);
50
+ export function getSchemaName(credential) {
51
+ const metadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
52
+ const schemaName = metadata === null || metadata === void 0 ? void 0 : metadata.schemaName;
53
+ return schemaName;
54
+ }
55
+ export function getCredDefTag(credential) {
56
+ const metadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
57
+ const credDefTag = metadata === null || metadata === void 0 ? void 0 : metadata.credDefTag;
58
+ return credDefTag;
59
+ }
60
+ export async function parsedCredDefNameFromCredential(credential, agent, logger) {
61
+ // Ensure metadata is cached if agent is provided
62
+ if (agent) {
63
+ try {
64
+ await ensureCredentialMetadata(credential, agent, undefined, logger);
65
+ } catch (error) {
66
+ // If metadata restoration fails, we'll fall back to parsing IDs or default name
67
+ logger === null || logger === void 0 || logger.warn('Failed to restore credential metadata in parsedCredDefNameFromCredential', {
68
+ error: error
69
+ });
70
+ }
71
+ }
72
+
73
+ // Check if we have cached metadata
74
+ const cachedSchemaName = getSchemaName(credential);
75
+ if (cachedSchemaName) {
76
+ // Use the priority waterfall logic (OCA name > credDefTag > schemaName > fallback)
77
+ return getEffectiveCredentialName(credential);
78
+ }
79
+
80
+ // Fallback: parse the IDs if metadata is not cached and no agent to resolve
81
+ const fallbackName = await getCredentialName(credentialDefinition(credential), credentialSchema(credential));
82
+ return fallbackName;
80
83
  }
81
- export async function parsedCredDefName(credentialDefinitionId, schemaId, agent) {
82
- return getCredentialName(credentialDefinitionId, schemaId, agent);
84
+ export async function parsedCredDefName(credentialDefinitionId, schemaId) {
85
+ return getCredentialName(credentialDefinitionId, schemaId);
83
86
  }
84
87
  //# sourceMappingURL=cred-def.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AnonCredsCredentialMetadataKey","parseIndyCredentialDefinitionId","parseIndySchemaId","credentialSchema","normalizeId","id","undefined","trimmed","trim","length","getCredentialName","credDefId","schemaId","agent","normalizedCredDefId","normalizedSchemaId","isWebvh","toLowerCase","startsWith","parseWebVHCredDefId","parseIndyCredDefId","_agent$modules","name","modules","anoncreds","credentialDefinition","result","getCredentialDefinition","tag","_agent$config","config","logger","info","schema","getSchema","_agent$config2","parsedCredDef","parsedSchema","schemaName","credential","_credential$metadata$","metadata","get","credentialDefinitionId","parsedCredDefNameFromCredential","parsedCredDefName"],"sourceRoot":"../../../src","sources":["utils/cred-def.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AnonCredsCredentialMetadataKey","parseIndyCredentialDefinitionId","parseIndySchemaId","credentialSchema","ensureCredentialMetadata","getEffectiveCredentialName","fallbackDefaultCredentialNameValue","defaultCredDefTag","normalizeId","id","undefined","trimmed","trim","length","getCredentialName","credDefId","schemaId","normalizedCredDefId","normalizedSchemaId","parseIndyCredDefId","name","parsedCredDef","tag","toLowerCase","parsedSchema","schemaName","credentialDefinition","credential","_credential$metadata$","metadata","get","credentialDefinitionId","getSchemaName","getCredDefTag","credDefTag","parsedCredDefNameFromCredential","agent","logger","error","warn","cachedSchemaName","fallbackName","parsedCredDefName"],"sourceRoot":"../../../src","sources":["utils/cred-def.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { AnonCredsCredentialMetadataKey } from '@credo-ts/anoncreds';
2
2
  import { CredentialState } from '@credo-ts/core';
3
3
  import { luminanceForHexColor } from './luminance';
4
+ import { getSchemaName, getCredDefTag, fallbackDefaultCredentialNameValue, defaultCredDefTag } from './cred-def';
4
5
  export const isValidAnonCredsCredential = credential => {
5
6
  return credential && (credential.state === CredentialState.OfferReceived || Boolean(credential.metadata.get(AnonCredsCredentialMetadataKey)) && credential.credentials.find(c => c.credentialRecordType === 'anoncreds' || c.credentialRecordType === 'w3c'));
6
7
  };
@@ -28,4 +29,213 @@ export const getCredentialIdentifiers = credential => {
28
29
  schemaId: (_credential$metadata$2 = credential.metadata.get(AnonCredsCredentialMetadataKey)) === null || _credential$metadata$2 === void 0 ? void 0 : _credential$metadata$2.schemaId
29
30
  };
30
31
  };
32
+
33
+ /**
34
+ * Attempts to resolve schema and credDef IDs from credential format data.
35
+ */
36
+ async function resolveIdsFromFormatData(credential, agent, logger) {
37
+ try {
38
+ const {
39
+ offer
40
+ } = await agent.credentials.getFormatData(credential.id);
41
+ const formatOfferData = (offer === null || offer === void 0 ? void 0 : offer.anoncreds) ?? (offer === null || offer === void 0 ? void 0 : offer.indy);
42
+
43
+ // Type guard to check if formatOfferData has the expected structure
44
+ if (formatOfferData && typeof formatOfferData === 'object' && 'schema_id' in formatOfferData && typeof formatOfferData.schema_id === 'string') {
45
+ return {
46
+ schemaId: formatOfferData.schema_id,
47
+ credDefId: 'cred_def_id' in formatOfferData && typeof formatOfferData.cred_def_id === 'string' ? formatOfferData.cred_def_id : undefined
48
+ };
49
+ }
50
+ } catch (error) {
51
+ logger === null || logger === void 0 || logger.error('Failed to get format data', {
52
+ error: error
53
+ });
54
+ }
55
+ return {};
56
+ }
57
+
58
+ /**
59
+ * Resolves schema name from the given schema ID.
60
+ */
61
+ async function resolveSchemaName(schemaId, agent, logger) {
62
+ try {
63
+ const {
64
+ schema: resolvedSchema
65
+ } = await agent.modules.anoncreds.getSchema(schemaId);
66
+ const schemaName = resolvedSchema === null || resolvedSchema === void 0 ? void 0 : resolvedSchema.name;
67
+ logger === null || logger === void 0 || logger.debug('Resolved schema name', {
68
+ schemaId,
69
+ schemaName
70
+ });
71
+ return schemaName;
72
+ } catch (error) {
73
+ logger === null || logger === void 0 || logger.warn('Failed to resolve schema', {
74
+ error: error,
75
+ schemaId
76
+ });
77
+ return undefined;
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Resolves credential definition tag from the given cred def ID.
83
+ */
84
+ async function resolveCredDefTag(credDefId, agent, logger) {
85
+ try {
86
+ const {
87
+ credentialDefinition: resolvedCredDef
88
+ } = await agent.modules.anoncreds.getCredentialDefinition(credDefId);
89
+ const credDefTag = resolvedCredDef === null || resolvedCredDef === void 0 ? void 0 : resolvedCredDef.tag;
90
+ logger === null || logger === void 0 || logger.debug('Resolved credential definition tag', {
91
+ credDefId,
92
+ credDefTag
93
+ });
94
+ return credDefTag;
95
+ } catch (error) {
96
+ logger === null || logger === void 0 || logger.warn('Failed to resolve credential definition', {
97
+ error: error,
98
+ credDefId
99
+ });
100
+ return undefined;
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Determines the IDs to use for resolution, preferring offer data over existing metadata.
106
+ */
107
+ async function determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger) {
108
+ let schemaId = (offerData === null || offerData === void 0 ? void 0 : offerData.schema_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaId);
109
+ let credDefId = (offerData === null || offerData === void 0 ? void 0 : offerData.cred_def_id) || (existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credentialDefinitionId);
110
+ const needsResolution = !schemaId || !credDefId;
111
+ if (needsResolution) {
112
+ const resolvedIds = await resolveIdsFromFormatData(credential, agent, logger);
113
+ schemaId = schemaId || resolvedIds.schemaId;
114
+ credDefId = credDefId || resolvedIds.credDefId;
115
+ }
116
+ return {
117
+ schemaId,
118
+ credDefId
119
+ };
120
+ }
121
+
122
+ /**
123
+ * Updates credential metadata with resolved schema name and cred def tag.
124
+ */
125
+ async function updateCredentialMetadata(params) {
126
+ const {
127
+ credential,
128
+ agent,
129
+ existingMetadata,
130
+ schemaId,
131
+ credDefId,
132
+ schemaName,
133
+ credDefTag,
134
+ logger
135
+ } = params;
136
+ const metadataToStore = {
137
+ ...existingMetadata,
138
+ schemaId,
139
+ credentialDefinitionId: credDefId,
140
+ schemaName,
141
+ credDefTag
142
+ };
143
+ credential.metadata.add(AnonCredsCredentialMetadataKey, metadataToStore);
144
+ await agent.credentials.update(credential);
145
+ logger === null || logger === void 0 || logger.info('Credential metadata ensured', {
146
+ credentialId: credential.id,
147
+ schemaName,
148
+ credDefTag,
149
+ wasUpdated: true
150
+ });
151
+ }
152
+
153
+ /**
154
+ * Ensures credential has all required metadata cached. If any metadata is missing,
155
+ * it will be resolved and added to the credential.
156
+ *
157
+ * @param credential - The credential record to ensure metadata for
158
+ * @param agent - The agent instance for resolving schema/credDef
159
+ * @param offerData - Optional offer data containing schema_id and cred_def_id
160
+ * @param logger - Optional logger instance for logging
161
+ * @returns Promise<boolean> - Returns true if metadata was updated, false otherwise
162
+ */
163
+ export async function ensureCredentialMetadata(credential, agent, offerData, logger) {
164
+ var _agent$modules;
165
+ if (!(agent !== null && agent !== void 0 && (_agent$modules = agent.modules) !== null && _agent$modules !== void 0 && _agent$modules.anoncreds)) {
166
+ return false;
167
+ }
168
+ const existingMetadata = credential.metadata.get(AnonCredsCredentialMetadataKey);
169
+ const {
170
+ schemaId,
171
+ credDefId
172
+ } = await determineSchemaAndCredDefIds(credential, agent, offerData, existingMetadata, logger);
173
+
174
+ // Check what's missing
175
+ const needsSchemaName = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.schemaName) && schemaId;
176
+ const needsCredDefTag = !(existingMetadata !== null && existingMetadata !== void 0 && existingMetadata.credDefTag) && credDefId;
177
+ const hasAllMetadata = !needsSchemaName && !needsCredDefTag;
178
+ if (hasAllMetadata) {
179
+ return false;
180
+ }
181
+
182
+ // Resolve missing metadata
183
+ const schemaName = needsSchemaName && schemaId ? await resolveSchemaName(schemaId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.schemaName;
184
+ const credDefTag = needsCredDefTag && credDefId ? await resolveCredDefTag(credDefId, agent, logger) : existingMetadata === null || existingMetadata === void 0 ? void 0 : existingMetadata.credDefTag;
185
+ await updateCredentialMetadata({
186
+ credential,
187
+ agent,
188
+ existingMetadata,
189
+ schemaId,
190
+ credDefId,
191
+ schemaName,
192
+ credDefTag,
193
+ logger
194
+ });
195
+ return true;
196
+ }
197
+
198
+ /**
199
+ * Validates whether a credential name is meaningful and should be used for display.
200
+ * Returns false for undefined, empty, whitespace-only, or default placeholder names.
201
+ *
202
+ * @param name - The name to validate
203
+ * @returns true if the name is valid and meaningful, false otherwise
204
+ */
205
+ export function isValidCredentialName(name) {
206
+ return !!(name && name !== defaultCredDefTag && name !== fallbackDefaultCredentialNameValue && name.trim() !== '');
207
+ }
208
+
209
+ /**
210
+ * Determines the effective credential name using a priority waterfall:
211
+ * 1. OCA Bundle name (if present and meaningful)
212
+ * 2. Credential definition tag (if present)
213
+ * 3. Schema name (if present)
214
+ * 4. Default fallback name
215
+ *
216
+ * @param credential - The credential record
217
+ * @param ocaName - The name from OCA meta overlay
218
+ * @returns The effective name to use for display
219
+ */
220
+ export function getEffectiveCredentialName(credential, ocaName) {
221
+ // 1. Try OCA Bundle name
222
+ if (isValidCredentialName(ocaName)) {
223
+ return ocaName;
224
+ }
225
+
226
+ // 2. Try credential definition tag
227
+ const credDefTag = getCredDefTag(credential);
228
+ if (isValidCredentialName(credDefTag)) {
229
+ return credDefTag;
230
+ }
231
+
232
+ // 3. Try schema name
233
+ const schemaName = getSchemaName(credential);
234
+ if (isValidCredentialName(schemaName)) {
235
+ return schemaName;
236
+ }
237
+
238
+ // 4. Return default fallback
239
+ return fallbackDefaultCredentialNameValue;
240
+ }
31
241
  //# sourceMappingURL=credential.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AnonCredsCredentialMetadataKey","CredentialState","luminanceForHexColor","isValidAnonCredsCredential","credential","state","OfferReceived","Boolean","metadata","get","credentials","find","c","credentialRecordType","credentialTextColor","ColorPalette","hex","midpoint","grayscale","darkGrey","white","toImageSource","source","uri","getCredentialIdentifiers","_credential$metadata$","_credential$metadata$2","credentialDefinitionId","schemaId"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":"AAAA,SAASA,8BAA8B,QAAQ,qBAAqB;AACpE,SAAmCC,eAAe,QAAQ,gBAAgB;AAG1E,SAASC,oBAAoB,QAAQ,aAAa;AAElD,OAAO,MAAMC,0BAA0B,GAAIC,UAAoC,IAAK;EAClF,OACEA,UAAU,KACTA,UAAU,CAACC,KAAK,KAAKJ,eAAe,CAACK,aAAa,IAChDC,OAAO,CAACH,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACT,8BAA8B,CAAC,CAAC,IAC/DI,UAAU,CAACM,WAAW,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,oBAAoB,KAAK,WAAW,IAAID,CAAC,CAACC,oBAAoB,KAAK,KAAK,CAAE,CAAC;AAExH,CAAC;;AAED;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAACC,YAAiB,EAAEC,GAAY,KAAK;EACtE,MAAMC,QAAQ,GAAG,GAAG,GAAG,CAAC;EACxB,IAAI,CAACf,oBAAoB,CAACc,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAKC,QAAQ,EAAE;IACtD,OAAOF,YAAY,CAACG,SAAS,CAACC,QAAQ;EACxC;EACA,OAAOJ,YAAY,CAACG,SAAS,CAACE,KAAK;AACrC,CAAC;AAED,OAAO,MAAMC,aAAa,GAAIC,MAAe,IAA0B;EACrE,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO;MAAEC,GAAG,EAAED;IAAiB,CAAC;EAClC;EACA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,MAAME,wBAAwB,GAAIpB,UAAoC,IAAK;EAAA,IAAAqB,qBAAA,EAAAC,sBAAA;EAChF,OAAO;IACLC,sBAAsB,GAAAF,qBAAA,GAAErB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACT,8BAA8B,CAAC,cAAAyB,qBAAA,uBAAvDA,qBAAA,CAAyDE,sBAAsB;IACvGC,QAAQ,GAAAF,sBAAA,GAAEtB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACT,8BAA8B,CAAC,cAAA0B,sBAAA,uBAAvDA,sBAAA,CAAyDE;EACrE,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AnonCredsCredentialMetadataKey","CredentialState","luminanceForHexColor","getSchemaName","getCredDefTag","fallbackDefaultCredentialNameValue","defaultCredDefTag","isValidAnonCredsCredential","credential","state","OfferReceived","Boolean","metadata","get","credentials","find","c","credentialRecordType","credentialTextColor","ColorPalette","hex","midpoint","grayscale","darkGrey","white","toImageSource","source","uri","getCredentialIdentifiers","_credential$metadata$","_credential$metadata$2","credentialDefinitionId","schemaId","resolveIdsFromFormatData","agent","logger","offer","getFormatData","id","formatOfferData","anoncreds","indy","schema_id","credDefId","cred_def_id","undefined","error","resolveSchemaName","schema","resolvedSchema","modules","getSchema","schemaName","name","debug","warn","resolveCredDefTag","credentialDefinition","resolvedCredDef","getCredentialDefinition","credDefTag","tag","determineSchemaAndCredDefIds","offerData","existingMetadata","needsResolution","resolvedIds","updateCredentialMetadata","params","metadataToStore","add","update","info","credentialId","wasUpdated","ensureCredentialMetadata","_agent$modules","needsSchemaName","needsCredDefTag","hasAllMetadata","isValidCredentialName","trim","getEffectiveCredentialName","ocaName"],"sourceRoot":"../../../src","sources":["utils/credential.ts"],"mappings":"AAAA,SAASA,8BAA8B,QAAQ,qBAAqB;AACpE,SAAmCC,eAAe,QAAQ,gBAAgB;AAI1E,SAASC,oBAAoB,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,aAAa,EAAEC,kCAAkC,EAAEC,iBAAiB,QAAQ,YAAY;AAGhH,OAAO,MAAMC,0BAA0B,GAAIC,UAAoC,IAAK;EAClF,OACEA,UAAU,KACTA,UAAU,CAACC,KAAK,KAAKR,eAAe,CAACS,aAAa,IAChDC,OAAO,CAACH,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC,CAAC,IAC/DQ,UAAU,CAACM,WAAW,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,oBAAoB,KAAK,WAAW,IAAID,CAAC,CAACC,oBAAoB,KAAK,KAAK,CAAE,CAAC;AAExH,CAAC;;AAED;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAACC,YAAiB,EAAEC,GAAY,KAAK;EACtE,MAAMC,QAAQ,GAAG,GAAG,GAAG,CAAC;EACxB,IAAI,CAACnB,oBAAoB,CAACkB,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAKC,QAAQ,EAAE;IACtD,OAAOF,YAAY,CAACG,SAAS,CAACC,QAAQ;EACxC;EACA,OAAOJ,YAAY,CAACG,SAAS,CAACE,KAAK;AACrC,CAAC;AAED,OAAO,MAAMC,aAAa,GAAIC,MAAe,IAA0B;EACrE,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO;MAAEC,GAAG,EAAED;IAAiB,CAAC;EAClC;EACA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,MAAME,wBAAwB,GAAIpB,UAAoC,IAAK;EAAA,IAAAqB,qBAAA,EAAAC,sBAAA;EAChF,OAAO;IACLC,sBAAsB,GAAAF,qBAAA,GAAErB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC,cAAA6B,qBAAA,uBAAvDA,qBAAA,CAAyDE,sBAAsB;IACvGC,QAAQ,GAAAF,sBAAA,GAAEtB,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC,cAAA8B,sBAAA,uBAAvDA,sBAAA,CAAyDE;EACrE,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,eAAeC,wBAAwBA,CACrCzB,UAAoC,EACpC0B,KAAY,EACZC,MAAqB,EAC+B;EACpD,IAAI;IACF,MAAM;MAAEC;IAAM,CAAC,GAAG,MAAMF,KAAK,CAACpB,WAAW,CAACuB,aAAa,CAAC7B,UAAU,CAAC8B,EAAE,CAAC;IACtE,MAAMC,eAAe,GAAG,CAAAH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,SAAS,MAAIJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,IAAI;;IAEvD;IACA,IACEF,eAAe,IACf,OAAOA,eAAe,KAAK,QAAQ,IACnC,WAAW,IAAIA,eAAe,IAC9B,OAAOA,eAAe,CAACG,SAAS,KAAK,QAAQ,EAC7C;MACA,OAAO;QACLV,QAAQ,EAAEO,eAAe,CAACG,SAAS;QACnCC,SAAS,EACP,aAAa,IAAIJ,eAAe,IAAI,OAAOA,eAAe,CAACK,WAAW,KAAK,QAAQ,GAC/EL,eAAe,CAACK,WAAW,GAC3BC;MACR,CAAC;IACH;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEW,KAAK,CAAC,2BAA2B,EAAE;MAAEA,KAAK,EAAEA;IAAe,CAAC,CAAC;EACvE;EACA,OAAO,CAAC,CAAC;AACX;;AAEA;AACA;AACA;AACA,eAAeC,iBAAiBA,CAACf,QAAgB,EAAEE,KAAY,EAAEC,MAAqB,EAA+B;EACnH,IAAI;IACF,MAAM;MAAEa,MAAM,EAAEC;IAAe,CAAC,GAAG,MAAMf,KAAK,CAACgB,OAAO,CAACV,SAAS,CAACW,SAAS,CAACnB,QAAQ,CAAC;IACpF,MAAMoB,UAAU,GAAGH,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEI,IAAI;IACvClB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEmB,KAAK,CAAC,sBAAsB,EAAE;MAAEtB,QAAQ;MAAEoB;IAAW,CAAC,CAAC;IAC/D,OAAOA,UAAU;EACnB,CAAC,CAAC,OAAON,KAAK,EAAE;IACdX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEoB,IAAI,CAAC,0BAA0B,EAAE;MAAET,KAAK,EAAEA,KAAc;MAAEd;IAAS,CAAC,CAAC;IAC7E,OAAOa,SAAS;EAClB;AACF;;AAEA;AACA;AACA;AACA,eAAeW,iBAAiBA,CAACb,SAAiB,EAAET,KAAY,EAAEC,MAAqB,EAA+B;EACpH,IAAI;IACF,MAAM;MAAEsB,oBAAoB,EAAEC;IAAgB,CAAC,GAAG,MAAMxB,KAAK,CAACgB,OAAO,CAACV,SAAS,CAACmB,uBAAuB,CAAChB,SAAS,CAAC;IAClH,MAAMiB,UAAU,GAAGF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEG,GAAG;IACvC1B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEmB,KAAK,CAAC,oCAAoC,EAAE;MAAEX,SAAS;MAAEiB;IAAW,CAAC,CAAC;IAC9E,OAAOA,UAAU;EACnB,CAAC,CAAC,OAAOd,KAAK,EAAE;IACdX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEoB,IAAI,CAAC,yCAAyC,EAAE;MAAET,KAAK,EAAEA,KAAc;MAAEH;IAAU,CAAC,CAAC;IAC7F,OAAOE,SAAS;EAClB;AACF;;AAEA;AACA;AACA;AACA,eAAeiB,4BAA4BA,CACzCtD,UAAoC,EACpC0B,KAAY,EACZ6B,SAAmE,EACnEC,gBAAqB,EACrB7B,MAAqB,EAC+B;EACpD,IAAIH,QAAQ,GAAG,CAAA+B,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAErB,SAAS,MAAIsB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEhC,QAAQ;EACjE,IAAIW,SAAS,GAAG,CAAAoB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEnB,WAAW,MAAIoB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEjC,sBAAsB;EAElF,MAAMkC,eAAe,GAAG,CAACjC,QAAQ,IAAI,CAACW,SAAS;EAC/C,IAAIsB,eAAe,EAAE;IACnB,MAAMC,WAAW,GAAG,MAAMjC,wBAAwB,CAACzB,UAAU,EAAE0B,KAAK,EAAEC,MAAM,CAAC;IAC7EH,QAAQ,GAAGA,QAAQ,IAAIkC,WAAW,CAAClC,QAAQ;IAC3CW,SAAS,GAAGA,SAAS,IAAIuB,WAAW,CAACvB,SAAS;EAChD;EAEA,OAAO;IAAEX,QAAQ;IAAEW;EAAU,CAAC;AAChC;;AAEA;AACA;AACA;AACA,eAAewB,wBAAwBA,CAACC,MASvC,EAAiB;EAChB,MAAM;IAAE5D,UAAU;IAAE0B,KAAK;IAAE8B,gBAAgB;IAAEhC,QAAQ;IAAEW,SAAS;IAAES,UAAU;IAAEQ,UAAU;IAAEzB;EAAO,CAAC,GAAGiC,MAAM;EAE3G,MAAMC,eAAe,GAAG;IACtB,GAAGL,gBAAgB;IACnBhC,QAAQ;IACRD,sBAAsB,EAAEY,SAAS;IACjCS,UAAU;IACVQ;EACF,CAAC;EAEDpD,UAAU,CAACI,QAAQ,CAAC0D,GAAG,CAACtE,8BAA8B,EAAEqE,eAAe,CAAC;EACxE,MAAMnC,KAAK,CAACpB,WAAW,CAACyD,MAAM,CAAC/D,UAAU,CAAC;EAE1C2B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEqC,IAAI,CAAC,6BAA6B,EAAE;IAC1CC,YAAY,EAAEjE,UAAU,CAAC8B,EAAE;IAC3Bc,UAAU;IACVQ,UAAU;IACVc,UAAU,EAAE;EACd,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,wBAAwBA,CAC5CnE,UAAoC,EACpC0B,KAAY,EACZ6B,SAAwD,EACxD5B,MAAqB,EACH;EAAA,IAAAyC,cAAA;EAClB,IAAI,EAAC1C,KAAK,aAALA,KAAK,gBAAA0C,cAAA,GAAL1C,KAAK,CAAEgB,OAAO,cAAA0B,cAAA,eAAdA,cAAA,CAAgBpC,SAAS,GAAE;IAC9B,OAAO,KAAK;EACd;EAEA,MAAMwB,gBAAgB,GAAGxD,UAAU,CAACI,QAAQ,CAACC,GAAG,CAACb,8BAA8B,CAAC;EAEhF,MAAM;IAAEgC,QAAQ;IAAEW;EAAU,CAAC,GAAG,MAAMmB,4BAA4B,CAChEtD,UAAU,EACV0B,KAAK,EACL6B,SAAS,EACTC,gBAAgB,EAChB7B,MACF,CAAC;;EAED;EACA,MAAM0C,eAAe,GAAG,EAACb,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEZ,UAAU,KAAIpB,QAAQ;EACjE,MAAM8C,eAAe,GAAG,EAACd,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEJ,UAAU,KAAIjB,SAAS;EAElE,MAAMoC,cAAc,GAAG,CAACF,eAAe,IAAI,CAACC,eAAe;EAC3D,IAAIC,cAAc,EAAE;IAClB,OAAO,KAAK;EACd;;EAEA;EACA,MAAM3B,UAAU,GACdyB,eAAe,IAAI7C,QAAQ,GAAG,MAAMe,iBAAiB,CAACf,QAAQ,EAAEE,KAAK,EAAEC,MAAM,CAAC,GAAG6B,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEZ,UAAU;EAE/G,MAAMQ,UAAU,GACdkB,eAAe,IAAInC,SAAS,GAAG,MAAMa,iBAAiB,CAACb,SAAS,EAAET,KAAK,EAAEC,MAAM,CAAC,GAAG6B,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEJ,UAAU;EAEjH,MAAMO,wBAAwB,CAAC;IAC7B3D,UAAU;IACV0B,KAAK;IACL8B,gBAAgB;IAChBhC,QAAQ;IACRW,SAAS;IACTS,UAAU;IACVQ,UAAU;IACVzB;EACF,CAAC,CAAC;EAEF,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6C,qBAAqBA,CAAC3B,IAAwB,EAAW;EACvE,OAAO,CAAC,EAAEA,IAAI,IAAIA,IAAI,KAAK/C,iBAAiB,IAAI+C,IAAI,KAAKhD,kCAAkC,IAAIgD,IAAI,CAAC4B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AACpH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAAC1E,UAAoC,EAAE2E,OAAgB,EAAU;EACzG;EACA,IAAIH,qBAAqB,CAACG,OAAO,CAAC,EAAE;IAClC,OAAOA,OAAO;EAChB;;EAEA;EACA,MAAMvB,UAAU,GAAGxD,aAAa,CAACI,UAAU,CAAC;EAC5C,IAAIwE,qBAAqB,CAACpB,UAAU,CAAC,EAAE;IACrC,OAAOA,UAAU;EACnB;;EAEA;EACA,MAAMR,UAAU,GAAGjD,aAAa,CAACK,UAAU,CAAC;EAC5C,IAAIwE,qBAAqB,CAAC5B,UAAU,CAAC,EAAE;IACrC,OAAOA,UAAU;EACnB;;EAEA;EACA,OAAO/C,kCAAkC;AAC3C","ignoreList":[]}