@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.
- package/lib/commonjs/components/listItems/NotificationListItem.js +19 -11
- package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
- package/lib/commonjs/components/misc/CredentialCard.js +3 -1
- package/lib/commonjs/components/misc/CredentialCard.js.map +1 -1
- package/lib/commonjs/components/misc/CredentialCard10.js +13 -5
- package/lib/commonjs/components/misc/CredentialCard10.js.map +1 -1
- package/lib/commonjs/components/misc/CredentialCard11.js +25 -22
- package/lib/commonjs/components/misc/CredentialCard11.js.map +1 -1
- package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js +8 -7
- package/lib/commonjs/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
- package/lib/commonjs/components/views/KeyboardView.js +19 -4
- package/lib/commonjs/components/views/KeyboardView.js.map +1 -1
- package/lib/commonjs/constants.js +1 -0
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/container-api.js +3 -1
- package/lib/commonjs/container-api.js.map +1 -1
- package/lib/commonjs/container-impl.js +16 -0
- package/lib/commonjs/container-impl.js.map +1 -1
- package/lib/commonjs/hooks/notifications.js +4 -2
- package/lib/commonjs/hooks/notifications.js.map +1 -1
- package/lib/commonjs/hooks/useBifoldAgentSetup.js +5 -3
- package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
- package/lib/commonjs/index.js +16 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/en/en.json +8 -1
- package/lib/commonjs/localization/fr/fr.json +8 -1
- package/lib/commonjs/localization/pt-br/pt-br.json +8 -1
- package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js +41 -1
- package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
- package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
- package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/openid.js +38 -6
- package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +82 -0
- package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js +60 -0
- package/lib/commonjs/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +84 -0
- package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js +55 -0
- package/lib/commonjs/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js +82 -0
- package/lib/commonjs/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
- package/lib/commonjs/modules/openid/metadata.js +60 -1
- package/lib/commonjs/modules/openid/metadata.js.map +1 -1
- package/lib/commonjs/modules/openid/notification.js +42 -0
- package/lib/commonjs/modules/openid/notification.js.map +1 -0
- package/lib/commonjs/modules/openid/offerResolve.js +6 -0
- package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/reIssuance.js +95 -0
- package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +265 -0
- package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/refreshToken.js +78 -0
- package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/registery.js +143 -0
- package/lib/commonjs/modules/openid/refresh/registery.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/types.js +17 -0
- package/lib/commonjs/modules/openid/refresh/types.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +34 -0
- package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
- package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
- package/lib/commonjs/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
- package/lib/commonjs/modules/openid/utils/utils.js +66 -0
- package/lib/commonjs/modules/openid/utils/utils.js.map +1 -1
- package/lib/commonjs/screens/CredentialDetails.js +28 -6
- package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
- package/lib/commonjs/screens/CredentialOffer.js +6 -9
- package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
- package/lib/commonjs/screens/CredentialOfferAccept.js +18 -2
- package/lib/commonjs/screens/CredentialOfferAccept.js.map +1 -1
- package/lib/commonjs/screens/Developer.js +26 -0
- package/lib/commonjs/screens/Developer.js.map +1 -1
- package/lib/commonjs/screens/Home.js +39 -1
- package/lib/commonjs/screens/Home.js.map +1 -1
- package/lib/commonjs/screens/ListCredentials.js +2 -2
- package/lib/commonjs/screens/ListCredentials.js.map +1 -1
- package/lib/commonjs/screens/ProofChangeCredential.js +3 -3
- package/lib/commonjs/screens/ProofChangeCredential.js.map +1 -1
- package/lib/commonjs/screens/ProofRequest.js +4 -4
- package/lib/commonjs/screens/ProofRequest.js.map +1 -1
- package/lib/commonjs/services/AgentBridge.js +90 -0
- package/lib/commonjs/services/AgentBridge.js.map +1 -0
- package/lib/commonjs/types/credentials.js +9 -0
- package/lib/commonjs/types/credentials.js.map +1 -1
- package/lib/commonjs/utils/agent.js +1 -1
- package/lib/commonjs/utils/agent.js.map +1 -1
- package/lib/commonjs/utils/cred-def.js +50 -43
- package/lib/commonjs/utils/cred-def.js.map +1 -1
- package/lib/commonjs/utils/credential.js +217 -1
- package/lib/commonjs/utils/credential.js.map +1 -1
- package/lib/commonjs/utils/helpers.js +83 -22
- package/lib/commonjs/utils/helpers.js.map +1 -1
- package/lib/module/components/listItems/NotificationListItem.js +19 -11
- package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
- package/lib/module/components/misc/CredentialCard.js +3 -1
- package/lib/module/components/misc/CredentialCard.js.map +1 -1
- package/lib/module/components/misc/CredentialCard10.js +14 -6
- package/lib/module/components/misc/CredentialCard10.js.map +1 -1
- package/lib/module/components/misc/CredentialCard11.js +17 -14
- package/lib/module/components/misc/CredentialCard11.js.map +1 -1
- package/lib/module/components/views/CredentialDetailPrimaryHeader.js +9 -8
- package/lib/module/components/views/CredentialDetailPrimaryHeader.js.map +1 -1
- package/lib/module/components/views/KeyboardView.js +19 -4
- package/lib/module/components/views/KeyboardView.js.map +1 -1
- package/lib/module/constants.js +1 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/container-api.js +3 -1
- package/lib/module/container-api.js.map +1 -1
- package/lib/module/container-impl.js +16 -0
- package/lib/module/container-impl.js.map +1 -1
- package/lib/module/hooks/notifications.js +4 -2
- package/lib/module/hooks/notifications.js.map +1 -1
- package/lib/module/hooks/useBifoldAgentSetup.js +5 -3
- package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/en/en.json +8 -1
- package/lib/module/localization/fr/fr.json +8 -1
- package/lib/module/localization/pt-br/pt-br.json +8 -1
- package/lib/module/modules/openid/components/OpenIDCredentialCard.js +41 -1
- package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
- package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +34 -111
- package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
- package/lib/module/modules/openid/hooks/openid.js +38 -5
- package/lib/module/modules/openid/hooks/openid.js.map +1 -1
- package/lib/module/modules/openid/hooks/useAcceptReplacement.js +76 -0
- package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -0
- package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js +54 -0
- package/lib/module/modules/openid/hooks/useCredentialErrorsFromRegistry.js.map +1 -0
- package/lib/module/modules/openid/hooks/useDeclineReplacement.js +77 -0
- package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -0
- package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js +47 -0
- package/lib/module/modules/openid/hooks/useOpenIdReplacementNavigation.js.map +1 -0
- package/lib/module/modules/openid/hooks/useReplacementNotifications.js +75 -0
- package/lib/module/modules/openid/hooks/useReplacementNotifications.js.map +1 -0
- package/lib/module/modules/openid/metadata.js +52 -1
- package/lib/module/modules/openid/metadata.js.map +1 -1
- package/lib/module/modules/openid/notification.js +38 -0
- package/lib/module/modules/openid/notification.js.map +1 -0
- package/lib/module/modules/openid/offerResolve.js +7 -1
- package/lib/module/modules/openid/offerResolve.js.map +1 -1
- package/lib/module/modules/openid/refresh/reIssuance.js +89 -0
- package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -0
- package/lib/module/modules/openid/refresh/refreshOrchestrator.js +257 -0
- package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -0
- package/lib/module/modules/openid/refresh/refreshToken.js +72 -0
- package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -0
- package/lib/module/modules/openid/refresh/registery.js +135 -0
- package/lib/module/modules/openid/refresh/registery.js.map +1 -0
- package/lib/module/modules/openid/refresh/types.js +11 -0
- package/lib/module/modules/openid/refresh/types.js.map +1 -0
- package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +28 -0
- package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -0
- package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js +39 -2
- package/lib/module/modules/openid/screens/OpenIDCredentialOffer.js.map +1 -1
- package/lib/module/modules/openid/utils/utils.js +64 -1
- package/lib/module/modules/openid/utils/utils.js.map +1 -1
- package/lib/module/screens/CredentialDetails.js +29 -7
- package/lib/module/screens/CredentialDetails.js.map +1 -1
- package/lib/module/screens/CredentialOffer.js +7 -10
- package/lib/module/screens/CredentialOffer.js.map +1 -1
- package/lib/module/screens/CredentialOfferAccept.js +19 -3
- package/lib/module/screens/CredentialOfferAccept.js.map +1 -1
- package/lib/module/screens/Developer.js +27 -1
- package/lib/module/screens/Developer.js.map +1 -1
- package/lib/module/screens/Home.js +41 -3
- package/lib/module/screens/Home.js.map +1 -1
- package/lib/module/screens/ListCredentials.js +1 -1
- package/lib/module/screens/ListCredentials.js.map +1 -1
- package/lib/module/screens/ProofChangeCredential.js +1 -1
- package/lib/module/screens/ProofChangeCredential.js.map +1 -1
- package/lib/module/screens/ProofRequest.js +1 -1
- package/lib/module/screens/ProofRequest.js.map +1 -1
- package/lib/module/services/AgentBridge.js +83 -0
- package/lib/module/services/AgentBridge.js.map +1 -0
- package/lib/module/types/credentials.js +8 -1
- package/lib/module/types/credentials.js.map +1 -1
- package/lib/module/utils/agent.js +2 -2
- package/lib/module/utils/agent.js.map +1 -1
- package/lib/module/utils/cred-def.js +46 -43
- package/lib/module/utils/cred-def.js.map +1 -1
- package/lib/module/utils/credential.js +210 -0
- package/lib/module/utils/credential.js.map +1 -1
- package/lib/module/utils/helpers.js +80 -22
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
- package/lib/typescript/src/components/misc/CredentialCard.d.ts +1 -2
- package/lib/typescript/src/components/misc/CredentialCard.d.ts.map +1 -1
- package/lib/typescript/src/components/misc/CredentialCard10.d.ts.map +1 -1
- package/lib/typescript/src/components/misc/CredentialCard11.d.ts +1 -5
- package/lib/typescript/src/components/misc/CredentialCard11.d.ts.map +1 -1
- package/lib/typescript/src/components/views/CredentialDetailPrimaryHeader.d.ts.map +1 -1
- package/lib/typescript/src/components/views/KeyboardView.d.ts +14 -0
- package/lib/typescript/src/components/views/KeyboardView.d.ts.map +1 -1
- package/lib/typescript/src/constants.d.ts +2 -1
- package/lib/typescript/src/constants.d.ts.map +1 -1
- package/lib/typescript/src/container-api.d.ts +8 -0
- package/lib/typescript/src/container-api.d.ts.map +1 -1
- package/lib/typescript/src/container-impl.d.ts +2 -0
- package/lib/typescript/src/container-impl.d.ts.map +1 -1
- package/lib/typescript/src/hooks/notifications.d.ts +2 -1
- package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +1 -2
- package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +11 -0
- package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts +9 -0
- package/lib/typescript/src/modules/openid/hooks/useCredentialErrorsFromRegistry.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts +16 -0
- package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts +8 -0
- package/lib/typescript/src/modules/openid/hooks/useOpenIdReplacementNavigation.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts +6 -0
- package/lib/typescript/src/modules/openid/hooks/useReplacementNotifications.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/metadata.d.ts +27 -2
- package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/notification.d.ts +16 -0
- package/lib/typescript/src/modules/openid/notification.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +19 -0
- package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +25 -0
- package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +9 -0
- package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/registery.d.ts +55 -0
- package/lib/typescript/src/modules/openid/refresh/registery.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/types.d.ts +59 -0
- package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +11 -0
- package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/screens/OpenIDCredentialOffer.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/utils/utils.d.ts +4 -0
- package/lib/typescript/src/modules/openid/utils/utils.d.ts.map +1 -1
- package/lib/typescript/src/screens/CredentialDetails.d.ts.map +1 -1
- package/lib/typescript/src/screens/CredentialOffer.d.ts.map +1 -1
- package/lib/typescript/src/screens/CredentialOfferAccept.d.ts.map +1 -1
- package/lib/typescript/src/screens/Developer.d.ts.map +1 -1
- package/lib/typescript/src/screens/Home.d.ts.map +1 -1
- package/lib/typescript/src/screens/ListCredentials.d.ts.map +1 -1
- package/lib/typescript/src/services/AgentBridge.d.ts +31 -0
- package/lib/typescript/src/services/AgentBridge.d.ts.map +1 -0
- package/lib/typescript/src/types/credentials.d.ts +5 -0
- package/lib/typescript/src/types/credentials.d.ts.map +1 -1
- package/lib/typescript/src/types/notification.d.ts +4 -0
- package/lib/typescript/src/types/notification.d.ts.map +1 -1
- package/lib/typescript/src/utils/agent.d.ts.map +1 -1
- package/lib/typescript/src/utils/cred-def.d.ts +8 -3
- package/lib/typescript/src/utils/cred-def.d.ts.map +1 -1
- package/lib/typescript/src/utils/credential.d.ts +36 -0
- package/lib/typescript/src/utils/credential.d.ts.map +1 -1
- package/lib/typescript/src/utils/helpers.d.ts +5 -1
- package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
- package/package.json +10 -4
- package/lib/commonjs/modules/openid/refresh/refreshMetadata.js +0 -25
- package/lib/commonjs/modules/openid/refresh/refreshMetadata.js.map +0 -1
- package/lib/module/modules/openid/refresh/refreshMetadata.js +0 -18
- package/lib/module/modules/openid/refresh/refreshMetadata.js.map +0 -1
- package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts +0 -20
- 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":"AAAA;;AAOA,OAAO,MAAMA,WAAW,CAAC;EAGvB;EACQC,SAAS,GAAoB,EAAE;EACvC;EACiBC,eAAe,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAEnDC,eAAe,GAAqB,EAAE;EACtCC,eAAe,GAAqB,EAAE;;EAE9C;EACAC,QAAQA,CAACC,KAAY,EAAE;IACrB,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACN,SAAS,CAACO,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACF,KAAK,CAAC,CAAC;IACvC,IAAI,CAACN,SAAS,GAAG,EAAE;IACnB,IAAI,CAACC,eAAe,CAACM,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACF,KAAK,CAAC,CAAC;IAC7C,IAAI,CAACF,eAAe,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACF,KAAK,CAAC,CAAC;EAC/C;;EAEA;EACAG,UAAUA,CAACC,MAAe,EAAE;IAC1B,IAAI,CAAC,IAAI,CAACJ,KAAK,EAAE;IACjB,IAAI,CAACA,KAAK,GAAGK,SAAS;IACtB,IAAI,CAACR,eAAe,CAACI,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACE,MAAM,CAAC,CAAC;IAC9C,IAAI,CAACN,eAAe,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACG,SAAS,CAAC,CAAC;EACnD;;EAEA;AACF;AACA;AACA;AACA;EACEC,OAAOA,CAACC,EAAiB,EAAEC,UAAU,GAAG,KAAK,EAAc;IACzD,IAAIA,UAAU,EAAE;MACd,IAAI,CAACb,eAAe,CAACc,GAAG,CAACF,EAAE,CAAC;MAC5B,IAAI,IAAI,CAACP,KAAK,EAAEO,EAAE,CAAC,IAAI,CAACP,KAAK,CAAC;MAC9B,OAAO,MAAM,IAAI,CAACL,eAAe,CAACe,MAAM,CAACH,EAAE,CAAC;IAC9C;IAEA,IAAI,IAAI,CAACP,KAAK,EAAE;MACdO,EAAE,CAAC,IAAI,CAACP,KAAK,CAAC;MACd,OAAO,MAAM,KAAK,CAAC;IACrB;IACA,IAAI,CAACN,SAAS,CAACiB,IAAI,CAACJ,EAAE,CAAC;IACvB,OAAO,MAAM;MACX,IAAI,CAACb,SAAS,GAAG,IAAI,CAACA,SAAS,CAACkB,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKN,EAAE,CAAC;IACzD,CAAC;EACH;;EAEA;EACAO,QAAQA,CAACP,EAAkB,EAAc;IACvC,IAAI,CAACT,eAAe,CAACa,IAAI,CAACJ,EAAE,CAAC;IAC7B;IACAA,EAAE,CAAC,IAAI,CAACP,KAAK,CAAC;IACd,OAAO,MAAM;MACX,IAAI,CAACF,eAAe,GAAG,IAAI,CAACA,eAAe,CAACc,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKN,EAAE,CAAC;IACrE,CAAC;EACH;;EAEA;EACAQ,QAAQA,CAACR,EAAkB,EAAc;IACvC,IAAI,CAACV,eAAe,CAACc,IAAI,CAACJ,EAAE,CAAC;IAC7B,OAAO,MAAM;MACX,IAAI,CAACV,eAAe,GAAG,IAAI,CAACA,eAAe,CAACe,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKN,EAAE,CAAC;IACrE,CAAC;EACH;;EAEA;EACAS,YAAYA,CAAA,EAAmB;IAC7B,OAAO,IAAIC,OAAO,CAASC,OAAO,IAAK;MACrC,MAAMC,KAAK,GAAG,IAAI,CAACb,OAAO,CAAEc,CAAC,IAAK;QAChCD,KAAK,aAALA,KAAK,eAALA,KAAK,CAAG,CAAC;QACTD,OAAO,CAACE,CAAC,CAAC;MACZ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,IAAIC,OAAOA,CAAA,EAAsB;IAC/B,OAAO,IAAI,CAACrB,KAAK;EACnB;EAEA,IAAIsB,OAAOA,CAAA,EAAY;IACrB,OAAO,CAAC,CAAC,IAAI,CAACtB,KAAK;EACrB;AACF","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,
|
|
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","
|
|
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
|
|
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 =
|
|
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() ===
|
|
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 =
|
|
38
|
+
name = fallbackDefaultCredentialNameValue;
|
|
67
39
|
}
|
|
68
40
|
} else {
|
|
69
|
-
name =
|
|
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
|
|
79
|
-
|
|
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
|
|
82
|
-
return getCredentialName(credentialDefinitionId, schemaId
|
|
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","
|
|
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;
|
|
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":"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","ignoreList":[]}
|