@sphereon/ssi-sdk.siopv2-oid4vp-op-auth 0.33.1-next.3 → 0.33.1-next.68
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/dist/index.cjs +2451 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +559 -0
- package/dist/index.d.ts +555 -8
- package/dist/index.js +2420 -31
- package/dist/index.js.map +1 -1
- package/package.json +41 -30
- package/src/agent/DidAuthSiopOpAuthenticator.ts +13 -14
- package/src/session/OpSession.ts +13 -13
- package/dist/agent/DidAuthSiopOpAuthenticator.d.ts +0 -36
- package/dist/agent/DidAuthSiopOpAuthenticator.d.ts.map +0 -1
- package/dist/agent/DidAuthSiopOpAuthenticator.js +0 -392
- package/dist/agent/DidAuthSiopOpAuthenticator.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/link-handler/index.d.ts +0 -22
- package/dist/link-handler/index.d.ts.map +0 -1
- package/dist/link-handler/index.js +0 -57
- package/dist/link-handler/index.js.map +0 -1
- package/dist/localization/Localization.d.ts +0 -9
- package/dist/localization/Localization.d.ts.map +0 -1
- package/dist/localization/Localization.js +0 -46
- package/dist/localization/Localization.js.map +0 -1
- package/dist/localization/translations/en.json +0 -9
- package/dist/localization/translations/nl.json +0 -8
- package/dist/machine/CallbackStateListener.d.ts +0 -3
- package/dist/machine/CallbackStateListener.d.ts.map +0 -1
- package/dist/machine/CallbackStateListener.js +0 -48
- package/dist/machine/CallbackStateListener.js.map +0 -1
- package/dist/machine/Siopv2Machine.d.ts +0 -8
- package/dist/machine/Siopv2Machine.d.ts.map +0 -1
- package/dist/machine/Siopv2Machine.js +0 -364
- package/dist/machine/Siopv2Machine.js.map +0 -1
- package/dist/services/IdentifierService.d.ts +0 -3
- package/dist/services/IdentifierService.d.ts.map +0 -1
- package/dist/services/IdentifierService.js +0 -28
- package/dist/services/IdentifierService.js.map +0 -1
- package/dist/services/Siopv2MachineService.d.ts +0 -18
- package/dist/services/Siopv2MachineService.d.ts.map +0 -1
- package/dist/services/Siopv2MachineService.js +0 -299
- package/dist/services/Siopv2MachineService.js.map +0 -1
- package/dist/session/OID4VP.d.ts +0 -72
- package/dist/session/OID4VP.d.ts.map +0 -1
- package/dist/session/OID4VP.js +0 -224
- package/dist/session/OID4VP.js.map +0 -1
- package/dist/session/OpSession.d.ts +0 -39
- package/dist/session/OpSession.d.ts.map +0 -1
- package/dist/session/OpSession.js +0 -365
- package/dist/session/OpSession.js.map +0 -1
- package/dist/session/functions.d.ts +0 -37
- package/dist/session/functions.d.ts.map +0 -1
- package/dist/session/functions.js +0 -163
- package/dist/session/functions.js.map +0 -1
- package/dist/session/index.d.ts +0 -4
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/index.js +0 -20
- package/dist/session/index.js.map +0 -1
- package/dist/types/IDidAuthSiopOpAuthenticator.d.ts +0 -120
- package/dist/types/IDidAuthSiopOpAuthenticator.d.ts.map +0 -1
- package/dist/types/IDidAuthSiopOpAuthenticator.js +0 -10
- package/dist/types/IDidAuthSiopOpAuthenticator.js.map +0 -1
- package/dist/types/error/index.d.ts +0 -8
- package/dist/types/error/index.d.ts.map +0 -1
- package/dist/types/error/index.js +0 -3
- package/dist/types/error/index.js.map +0 -1
- package/dist/types/identifier/index.d.ts +0 -53
- package/dist/types/identifier/index.d.ts.map +0 -1
- package/dist/types/identifier/index.js +0 -5
- package/dist/types/identifier/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -6
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -22
- package/dist/types/index.js.map +0 -1
- package/dist/types/machine/index.d.ts +0 -124
- package/dist/types/machine/index.d.ts.map +0 -1
- package/dist/types/machine/index.js +0 -57
- package/dist/types/machine/index.js.map +0 -1
- package/dist/types/siop-service/index.d.ts +0 -80
- package/dist/types/siop-service/index.d.ts.map +0 -1
- package/dist/types/siop-service/index.js +0 -14
- package/dist/types/siop-service/index.js.map +0 -1
- package/dist/utils/CredentialUtils.d.ts +0 -23
- package/dist/utils/CredentialUtils.d.ts.map +0 -1
- package/dist/utils/CredentialUtils.js +0 -65
- package/dist/utils/CredentialUtils.js.map +0 -1
- package/dist/utils/dcql.d.ts +0 -5
- package/dist/utils/dcql.d.ts.map +0 -1
- package/dist/utils/dcql.js +0 -37
- package/dist/utils/dcql.js.map +0 -1
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Siopv2MachineServices = exports.Siopv2MachineGuards = exports.Siopv2MachineEvents = exports.Siopv2MachineAddContactStates = exports.Siopv2MachineStates = void 0;
|
|
4
|
-
var Siopv2MachineStates;
|
|
5
|
-
(function (Siopv2MachineStates) {
|
|
6
|
-
Siopv2MachineStates["createConfig"] = "createConfig";
|
|
7
|
-
Siopv2MachineStates["getSiopRequest"] = "getSiopRequest";
|
|
8
|
-
Siopv2MachineStates["getSelectableCredentials"] = "getSelectableCredentials";
|
|
9
|
-
Siopv2MachineStates["retrieveContact"] = "retrieveContact";
|
|
10
|
-
Siopv2MachineStates["transitionFromSetup"] = "transitionFromSetup";
|
|
11
|
-
Siopv2MachineStates["addContact"] = "addContact";
|
|
12
|
-
Siopv2MachineStates["addContactIdentity"] = "addContactIdentity";
|
|
13
|
-
Siopv2MachineStates["selectCredentials"] = "selectCredentials";
|
|
14
|
-
Siopv2MachineStates["sendResponse"] = "sendResponse";
|
|
15
|
-
Siopv2MachineStates["handleError"] = "handleError";
|
|
16
|
-
Siopv2MachineStates["aborted"] = "aborted";
|
|
17
|
-
Siopv2MachineStates["declined"] = "declined";
|
|
18
|
-
Siopv2MachineStates["error"] = "error";
|
|
19
|
-
Siopv2MachineStates["done"] = "done";
|
|
20
|
-
})(Siopv2MachineStates || (exports.Siopv2MachineStates = Siopv2MachineStates = {}));
|
|
21
|
-
var Siopv2MachineAddContactStates;
|
|
22
|
-
(function (Siopv2MachineAddContactStates) {
|
|
23
|
-
Siopv2MachineAddContactStates["idle"] = "idle";
|
|
24
|
-
Siopv2MachineAddContactStates["executing"] = "executing";
|
|
25
|
-
Siopv2MachineAddContactStates["next"] = "next";
|
|
26
|
-
})(Siopv2MachineAddContactStates || (exports.Siopv2MachineAddContactStates = Siopv2MachineAddContactStates = {}));
|
|
27
|
-
var Siopv2MachineEvents;
|
|
28
|
-
(function (Siopv2MachineEvents) {
|
|
29
|
-
Siopv2MachineEvents["NEXT"] = "NEXT";
|
|
30
|
-
Siopv2MachineEvents["PREVIOUS"] = "PREVIOUS";
|
|
31
|
-
Siopv2MachineEvents["DECLINE"] = "DECLINE";
|
|
32
|
-
Siopv2MachineEvents["SET_CONTACT_ALIAS"] = "SET_CONTACT_ALIAS";
|
|
33
|
-
Siopv2MachineEvents["SET_CONTACT_CONSENT"] = "SET_CONTACT_CONSENT";
|
|
34
|
-
Siopv2MachineEvents["CREATE_CONTACT"] = "CREATE_CONTACT";
|
|
35
|
-
Siopv2MachineEvents["SET_SELECTED_CREDENTIALS"] = "SET_SELECTED_CREDENTIALS";
|
|
36
|
-
})(Siopv2MachineEvents || (exports.Siopv2MachineEvents = Siopv2MachineEvents = {}));
|
|
37
|
-
var Siopv2MachineGuards;
|
|
38
|
-
(function (Siopv2MachineGuards) {
|
|
39
|
-
Siopv2MachineGuards["hasNoContactGuard"] = "Siopv2HasNoContactGuard";
|
|
40
|
-
Siopv2MachineGuards["createContactGuard"] = "Siopv2CreateContactGuard";
|
|
41
|
-
Siopv2MachineGuards["hasContactGuard"] = "Siopv2HasContactGuard";
|
|
42
|
-
Siopv2MachineGuards["hasAuthorizationRequestGuard"] = "Siopv2HasAuthorizationRequestGuard";
|
|
43
|
-
Siopv2MachineGuards["hasSelectableCredentialsAndContactGuard"] = "Siopv2HasSelectableCredentialsAndContactGuard";
|
|
44
|
-
Siopv2MachineGuards["hasSelectedRequiredCredentialsGuard"] = "Siopv2HasSelectedRequiredCredentialsGuard";
|
|
45
|
-
Siopv2MachineGuards["siopOnlyGuard"] = "Siopv2IsSiopOnlyGuard";
|
|
46
|
-
Siopv2MachineGuards["siopWithOID4VPGuard"] = "Siopv2IsSiopWithOID4VPGuard";
|
|
47
|
-
})(Siopv2MachineGuards || (exports.Siopv2MachineGuards = Siopv2MachineGuards = {}));
|
|
48
|
-
var Siopv2MachineServices;
|
|
49
|
-
(function (Siopv2MachineServices) {
|
|
50
|
-
Siopv2MachineServices["getSiopRequest"] = "getSiopRequest";
|
|
51
|
-
Siopv2MachineServices["getSelectableCredentials"] = "getSelectableCredentials";
|
|
52
|
-
Siopv2MachineServices["retrieveContact"] = "retrieveContact";
|
|
53
|
-
Siopv2MachineServices["addContactIdentity"] = "addContactIdentity";
|
|
54
|
-
Siopv2MachineServices["sendResponse"] = "sendResponse";
|
|
55
|
-
Siopv2MachineServices["createConfig"] = "createConfig";
|
|
56
|
-
})(Siopv2MachineServices || (exports.Siopv2MachineServices = Siopv2MachineServices = {}));
|
|
57
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/machine/index.ts"],"names":[],"mappings":";;;AAwBA,IAAY,mBAeX;AAfD,WAAY,mBAAmB;IAC7B,oDAA6B,CAAA;IAC7B,wDAAiC,CAAA;IACjC,4EAAqD,CAAA;IACrD,0DAAmC,CAAA;IACnC,kEAA2C,CAAA;IAC3C,gDAAyB,CAAA;IACzB,gEAAyC,CAAA;IACzC,8DAAuC,CAAA;IACvC,oDAA6B,CAAA;IAC7B,kDAA2B,CAAA;IAC3B,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAfW,mBAAmB,mCAAnB,mBAAmB,QAe9B;AAED,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACvC,8CAAa,CAAA;IACb,wDAAuB,CAAA;IACvB,8CAAa,CAAA;AACf,CAAC,EAJW,6BAA6B,6CAA7B,6BAA6B,QAIxC;AA6CD,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;IACnB,8DAAuC,CAAA;IACvC,kEAA2C,CAAA;IAC3C,wDAAiC,CAAA;IACjC,4EAAqD,CAAA;AACvD,CAAC,EARW,mBAAmB,mCAAnB,mBAAmB,QAQ9B;AAED,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,oEAA6C,CAAA;IAC7C,sEAA+C,CAAA;IAC/C,gEAAyC,CAAA;IACzC,0FAAmE,CAAA;IACnE,gHAAyF,CAAA;IACzF,wGAAiF,CAAA;IACjF,8DAAuC,CAAA;IACvC,0EAAmD,CAAA;AACrD,CAAC,EATW,mBAAmB,mCAAnB,mBAAmB,QAS9B;AAED,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,0DAAiC,CAAA;IACjC,8EAAqD,CAAA;IACrD,4DAAmC,CAAA;IACnC,kEAAyC,CAAA;IACzC,sDAA6B,CAAA;IAC7B,sDAA6B,CAAA;AAC/B,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { PresentationDefinitionWithLocation, PresentationSignCallback, RPRegistrationMetadataPayload, VerifiedAuthorizationRequest } from '@sphereon/did-auth-siop';
|
|
2
|
-
import { IIdentifierResolution, ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
3
|
-
import { IContactManager } from '@sphereon/ssi-sdk.contact-manager';
|
|
4
|
-
import { ICredentialStore, UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store';
|
|
5
|
-
import { DidAuthConfig, ICredentialLocaleBranding, Identity, Party } from '@sphereon/ssi-sdk.data-store';
|
|
6
|
-
import { IIssuanceBranding } from '@sphereon/ssi-sdk.issuance-branding';
|
|
7
|
-
import { IAgentContext, IDIDManager, IIdentifier, IResolver } from '@veramo/core';
|
|
8
|
-
import { IDidAuthSiopOpAuthenticator } from '../IDidAuthSiopOpAuthenticator';
|
|
9
|
-
import { Siopv2MachineContext, Siopv2MachineInterpreter, Siopv2MachineState } from '../machine';
|
|
10
|
-
import { DcqlQuery } from 'dcql';
|
|
11
|
-
import { HasherSync } from '@sphereon/ssi-types';
|
|
12
|
-
export type DidAuthSiopOpAuthenticatorOptions = {
|
|
13
|
-
presentationSignCallback?: PresentationSignCallback;
|
|
14
|
-
customApprovals?: Record<string, (verifiedAuthorizationRequest: VerifiedAuthorizationRequest, sessionId: string) => Promise<void>>;
|
|
15
|
-
onContactIdentityCreated?: (args: OnContactIdentityCreatedArgs) => Promise<void>;
|
|
16
|
-
onIdentifierCreated?: (args: OnIdentifierCreatedArgs) => Promise<void>;
|
|
17
|
-
hasher?: HasherSync;
|
|
18
|
-
};
|
|
19
|
-
export type GetMachineArgs = {
|
|
20
|
-
url: string | URL;
|
|
21
|
-
idOpts?: ManagedIdentifierOptsOrResult;
|
|
22
|
-
stateNavigationListener?: (siopv2Machine: Siopv2MachineInterpreter, state: Siopv2MachineState, navigation?: any) => Promise<void>;
|
|
23
|
-
};
|
|
24
|
-
export type CreateConfigArgs = {
|
|
25
|
-
url: string;
|
|
26
|
-
};
|
|
27
|
-
export type CreateConfigResult = Omit<DidAuthConfig, 'stateId' | 'idOpts'>;
|
|
28
|
-
export type GetSiopRequestArgs = {
|
|
29
|
-
didAuthConfig?: Omit<DidAuthConfig, 'identifier'>;
|
|
30
|
-
url: string;
|
|
31
|
-
};
|
|
32
|
-
export type RetrieveContactArgs = Pick<Siopv2MachineContext, 'url' | 'authorizationRequestData'>;
|
|
33
|
-
export type AddIdentityArgs = Pick<Siopv2MachineContext, 'contact' | 'authorizationRequestData'>;
|
|
34
|
-
export type SendResponseArgs = {
|
|
35
|
-
didAuthConfig?: Omit<DidAuthConfig, 'identifier'>;
|
|
36
|
-
authorizationRequestData?: Siopv2AuthorizationRequestData;
|
|
37
|
-
selectedCredentials: Array<UniqueDigitalCredential>;
|
|
38
|
-
idOpts?: ManagedIdentifierOptsOrResult;
|
|
39
|
-
isFirstParty?: boolean;
|
|
40
|
-
};
|
|
41
|
-
export type GetSelectableCredentialsArgs = Pick<Siopv2MachineContext, 'authorizationRequestData'>;
|
|
42
|
-
export declare enum Siopv2HolderEvent {
|
|
43
|
-
CONTACT_IDENTITY_CREATED = "contact_identity_created",
|
|
44
|
-
IDENTIFIER_CREATED = "identifier_created"
|
|
45
|
-
}
|
|
46
|
-
export declare enum SupportedLanguage {
|
|
47
|
-
ENGLISH = "en",
|
|
48
|
-
DUTCH = "nl"
|
|
49
|
-
}
|
|
50
|
-
export type Siopv2AuthorizationResponseData = {
|
|
51
|
-
body?: string | Record<string, any>;
|
|
52
|
-
url?: string;
|
|
53
|
-
queryParams?: Record<string, any>;
|
|
54
|
-
};
|
|
55
|
-
export type Siopv2AuthorizationRequestData = {
|
|
56
|
-
correlationId: string;
|
|
57
|
-
registrationMetadataPayload: RPRegistrationMetadataPayload;
|
|
58
|
-
issuer?: string;
|
|
59
|
-
name?: string;
|
|
60
|
-
uri?: URL;
|
|
61
|
-
clientId?: string;
|
|
62
|
-
presentationDefinitions?: PresentationDefinitionWithLocation[];
|
|
63
|
-
dcqlQuery?: DcqlQuery;
|
|
64
|
-
};
|
|
65
|
-
export type SelectableCredentialsMap = Map<string, Array<SelectableCredential>>;
|
|
66
|
-
export type SelectableCredential = {
|
|
67
|
-
credential: UniqueDigitalCredential;
|
|
68
|
-
credentialBranding: Array<ICredentialLocaleBranding>;
|
|
69
|
-
issuerParty?: Party;
|
|
70
|
-
subjectParty?: Party;
|
|
71
|
-
};
|
|
72
|
-
export type OnContactIdentityCreatedArgs = {
|
|
73
|
-
contactId: string;
|
|
74
|
-
identity: Identity;
|
|
75
|
-
};
|
|
76
|
-
export type OnIdentifierCreatedArgs = {
|
|
77
|
-
identifier: IIdentifier;
|
|
78
|
-
};
|
|
79
|
-
export type RequiredContext = IAgentContext<IContactManager & IDidAuthSiopOpAuthenticator & IDIDManager & IResolver & IIdentifierResolution & ICredentialStore & IIssuanceBranding>;
|
|
80
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/siop-service/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SupportedLanguage = exports.Siopv2HolderEvent = void 0;
|
|
4
|
-
var Siopv2HolderEvent;
|
|
5
|
-
(function (Siopv2HolderEvent) {
|
|
6
|
-
Siopv2HolderEvent["CONTACT_IDENTITY_CREATED"] = "contact_identity_created";
|
|
7
|
-
Siopv2HolderEvent["IDENTIFIER_CREATED"] = "identifier_created";
|
|
8
|
-
})(Siopv2HolderEvent || (exports.Siopv2HolderEvent = Siopv2HolderEvent = {}));
|
|
9
|
-
var SupportedLanguage;
|
|
10
|
-
(function (SupportedLanguage) {
|
|
11
|
-
SupportedLanguage["ENGLISH"] = "en";
|
|
12
|
-
SupportedLanguage["DUTCH"] = "nl";
|
|
13
|
-
})(SupportedLanguage || (exports.SupportedLanguage = SupportedLanguage = {}));
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/siop-service/index.ts"],"names":[],"mappings":";;;AAgDA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,0EAAqD,CAAA;IACrD,8DAAyC,CAAA;AAC3C,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mCAAc,CAAA;IACd,iCAAY,CAAA;AACd,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ICredential, OriginalVerifiableCredential } from '@sphereon/ssi-types';
|
|
2
|
-
import { VerifiableCredential } from '@veramo/core';
|
|
3
|
-
import { UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store';
|
|
4
|
-
/**
|
|
5
|
-
* Return the type(s) of a VC minus the VerifiableCredential type which should always be present
|
|
6
|
-
* @param credential The input credential
|
|
7
|
-
*/
|
|
8
|
-
export declare const getCredentialTypeAsString: (credential: ICredential | VerifiableCredential) => string;
|
|
9
|
-
/**
|
|
10
|
-
* Returns a Unique Verifiable Credential (with hash) as stored in Veramo, based upon matching the id of the input VC or the proof value of the input VC
|
|
11
|
-
* @param uniqueVCs The Unique VCs to search in
|
|
12
|
-
* @param searchVC The VC to search for in the unique VCs array
|
|
13
|
-
*/
|
|
14
|
-
export declare const getMatchingUniqueDigitalCredential: (uniqueVCs: UniqueDigitalCredential[], searchVC: OriginalVerifiableCredential) => UniqueDigitalCredential | undefined;
|
|
15
|
-
type InputCredential = UniqueDigitalCredential | VerifiableCredential | ICredential | OriginalVerifiableCredential;
|
|
16
|
-
/**
|
|
17
|
-
* Get an original verifiable credential. Maps to wrapped Verifiable Credential first, to get an original JWT as Veramo stores these with a special proof value
|
|
18
|
-
* @param credential The input VC
|
|
19
|
-
*/
|
|
20
|
-
export declare const getOriginalVerifiableCredential: (credential: InputCredential) => OriginalVerifiableCredential;
|
|
21
|
-
export declare const isUniqueDigitalCredential: (credential: InputCredential) => credential is UniqueDigitalCredential;
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=CredentialUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialUtils.d.ts","sourceRoot":"","sources":["../../src/utils/CredentialUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,WAAW,EAAyB,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AACpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAgB,WAAW,GAAG,oBAAoB,KAAG,MAO1F,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,cAClC,uBAAuB,EAAE,YAC1B,4BAA4B,KACrC,uBAAuB,GAAG,SAe5B,CAAA;AAED,KAAK,eAAe,GAAG,uBAAuB,GAAG,oBAAoB,GAAG,WAAW,GAAG,4BAA4B,CAAA;AAElH;;;GAGG;AAEH,eAAO,MAAM,+BAA+B,eAAgB,eAAe,KAAG,4BAS7E,CAAA;AAUD,eAAO,MAAM,yBAAyB,eAAgB,eAAe,KAAG,UAAU,IAAI,uBAErF,CAAA"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isUniqueDigitalCredential = exports.getOriginalVerifiableCredential = exports.getMatchingUniqueDigitalCredential = exports.getCredentialTypeAsString = void 0;
|
|
4
|
-
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
5
|
-
/**
|
|
6
|
-
* Return the type(s) of a VC minus the VerifiableCredential type which should always be present
|
|
7
|
-
* @param credential The input credential
|
|
8
|
-
*/
|
|
9
|
-
const getCredentialTypeAsString = (credential) => {
|
|
10
|
-
if (!credential.type) {
|
|
11
|
-
return 'Verifiable Credential';
|
|
12
|
-
}
|
|
13
|
-
else if (typeof credential.type === 'string') {
|
|
14
|
-
return credential.type;
|
|
15
|
-
}
|
|
16
|
-
return credential.type.filter((type) => type !== 'VerifiableCredential').join(', ');
|
|
17
|
-
};
|
|
18
|
-
exports.getCredentialTypeAsString = getCredentialTypeAsString;
|
|
19
|
-
/**
|
|
20
|
-
* Returns a Unique Verifiable Credential (with hash) as stored in Veramo, based upon matching the id of the input VC or the proof value of the input VC
|
|
21
|
-
* @param uniqueVCs The Unique VCs to search in
|
|
22
|
-
* @param searchVC The VC to search for in the unique VCs array
|
|
23
|
-
*/
|
|
24
|
-
const getMatchingUniqueDigitalCredential = (uniqueVCs, searchVC) => {
|
|
25
|
-
// Since an ID is optional in a VC according to VCDM, and we really need the matches, we have a fallback match on something which is guaranteed to be unique for any VC (the proof(s))
|
|
26
|
-
return uniqueVCs.find((uniqueVC) => {
|
|
27
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
28
|
-
return (typeof searchVC !== 'string' &&
|
|
29
|
-
(uniqueVC.id === searchVC.id ||
|
|
30
|
-
uniqueVC.originalVerifiableCredential.proof === searchVC.proof)) ||
|
|
31
|
-
(typeof searchVC === 'string' && ((_b = (_a = uniqueVC.uniformVerifiableCredential) === null || _a === void 0 ? void 0 : _a.proof) === null || _b === void 0 ? void 0 : _b.jwt) === searchVC) ||
|
|
32
|
-
// We are ignoring the signature of the sd-jwt as PEX signs the vc again and it will not match anymore with the jwt in the proof of the stored jsonld vc
|
|
33
|
-
(typeof searchVC === 'string' &&
|
|
34
|
-
ssi_types_1.CredentialMapper.isSdJwtEncoded(searchVC) &&
|
|
35
|
-
((_c = uniqueVC.uniformVerifiableCredential) === null || _c === void 0 ? void 0 : _c.proof) &&
|
|
36
|
-
'jwt' in uniqueVC.uniformVerifiableCredential.proof &&
|
|
37
|
-
((_f = (_e = (_d = uniqueVC.uniformVerifiableCredential.proof.jwt) === null || _d === void 0 ? void 0 : _d.split('.')) === null || _e === void 0 ? void 0 : _e.slice(0, 2)) === null || _f === void 0 ? void 0 : _f.join('.')) === ((_h = (_g = searchVC.split('.')) === null || _g === void 0 ? void 0 : _g.slice(0, 2)) === null || _h === void 0 ? void 0 : _h.join('.')));
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
exports.getMatchingUniqueDigitalCredential = getMatchingUniqueDigitalCredential;
|
|
41
|
-
/**
|
|
42
|
-
* Get an original verifiable credential. Maps to wrapped Verifiable Credential first, to get an original JWT as Veramo stores these with a special proof value
|
|
43
|
-
* @param credential The input VC
|
|
44
|
-
*/
|
|
45
|
-
const getOriginalVerifiableCredential = (credential) => {
|
|
46
|
-
if ((0, exports.isUniqueDigitalCredential)(credential)) {
|
|
47
|
-
if (!credential.originalVerifiableCredential) {
|
|
48
|
-
throw new Error('originalVerifiableCredential is not defined in UniqueDigitalCredential');
|
|
49
|
-
}
|
|
50
|
-
return getCredentialFromProofOrWrapped(credential.originalVerifiableCredential);
|
|
51
|
-
}
|
|
52
|
-
return getCredentialFromProofOrWrapped(credential);
|
|
53
|
-
};
|
|
54
|
-
exports.getOriginalVerifiableCredential = getOriginalVerifiableCredential;
|
|
55
|
-
const getCredentialFromProofOrWrapped = (cred, hasher) => {
|
|
56
|
-
if (typeof cred === 'object' && 'proof' in cred && 'jwt' in cred.proof && ssi_types_1.CredentialMapper.isSdJwtEncoded(cred.proof.jwt)) {
|
|
57
|
-
return cred.proof.jwt;
|
|
58
|
-
}
|
|
59
|
-
return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(cred, { hasher }).original;
|
|
60
|
-
};
|
|
61
|
-
const isUniqueDigitalCredential = (credential) => {
|
|
62
|
-
return credential.digitalCredential !== undefined;
|
|
63
|
-
};
|
|
64
|
-
exports.isUniqueDigitalCredential = isUniqueDigitalCredential;
|
|
65
|
-
//# sourceMappingURL=CredentialUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialUtils.js","sourceRoot":"","sources":["../../src/utils/CredentialUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/dcql.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store';
|
|
2
|
-
import { DcqlCredential } from 'dcql';
|
|
3
|
-
import { HasherSync, OriginalVerifiableCredential } from '@sphereon/ssi-types';
|
|
4
|
-
export declare function convertToDcqlCredentials(credential: UniqueDigitalCredential | OriginalVerifiableCredential, hasher?: HasherSync): DcqlCredential;
|
|
5
|
-
//# sourceMappingURL=dcql.d.ts.map
|
package/dist/utils/dcql.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dcql.d.ts","sourceRoot":"","sources":["../../src/utils/dcql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,cAAc,EAA8C,MAAM,MAAM,CAAA;AACjF,OAAO,EAAoB,UAAU,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAGhG,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,uBAAuB,GAAG,4BAA4B,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,cAAc,CA8BhJ"}
|
package/dist/utils/dcql.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertToDcqlCredentials = convertToDcqlCredentials;
|
|
4
|
-
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
5
|
-
const CredentialUtils_1 = require("./CredentialUtils");
|
|
6
|
-
function convertToDcqlCredentials(credential, hasher) {
|
|
7
|
-
let payload;
|
|
8
|
-
if ((0, CredentialUtils_1.isUniqueDigitalCredential)(credential)) {
|
|
9
|
-
if (!credential.originalVerifiableCredential) {
|
|
10
|
-
throw new Error('originalVerifiableCredential is not defined in UniqueDigitalCredential');
|
|
11
|
-
}
|
|
12
|
-
payload = ssi_types_1.CredentialMapper.decodeVerifiableCredential(credential.originalVerifiableCredential, hasher);
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
payload = ssi_types_1.CredentialMapper.decodeVerifiableCredential(credential, hasher);
|
|
16
|
-
}
|
|
17
|
-
if (!payload) {
|
|
18
|
-
throw new Error('No payload found');
|
|
19
|
-
}
|
|
20
|
-
if ('decodedPayload' in payload && payload.decodedPayload) {
|
|
21
|
-
payload = payload.decodedPayload;
|
|
22
|
-
}
|
|
23
|
-
if ('vct' in payload) {
|
|
24
|
-
return { vct: payload.vct, claims: payload, credential_format: 'vc+sd-jwt' }; // TODO dc+sd-jwt support?
|
|
25
|
-
}
|
|
26
|
-
else if ('docType' in payload && 'namespaces' in payload) {
|
|
27
|
-
// mdoc
|
|
28
|
-
return { docType: payload.docType, namespaces: payload.namespaces, claims: payload };
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
return {
|
|
32
|
-
claims: payload,
|
|
33
|
-
credential_format: 'jwt_vc_json', // TODO jwt_vc_json-ld support
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=dcql.js.map
|
package/dist/utils/dcql.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dcql.js","sourceRoot":"","sources":["../../src/utils/dcql.ts"],"names":[],"mappings":";;AAKA,4DA8BC;AAjCD,mDAAgG;AAChG,uDAA6D;AAE7D,SAAgB,wBAAwB,CAAC,UAAkE,EAAE,MAAmB;IAC9H,IAAI,OAAO,CAAA;IACX,IAAI,IAAA,2CAAyB,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QAC3F,CAAC;QACD,OAAO,GAAG,4BAAgB,CAAC,0BAA0B,CAAC,UAAU,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;IACxG,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,4BAAgB,CAAC,0BAA0B,CAAC,UAA0C,EAAE,MAAM,CAAC,CAAA;IAC3G,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,gBAAgB,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1D,OAAO,GAAG,OAAO,CAAC,cAAc,CAAA;IAClC,CAAC;IAED,IAAI,KAAK,IAAI,OAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAkC,CAAA,CAAC,0BAA0B;IACzI,CAAC;SAAM,IAAI,SAAS,IAAI,OAAQ,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QAC5D,OAAO;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACtF,CAAC;SAAM,CAAC;QACN,OAAO;YACL,MAAM,EAAE,OAAO;YACf,iBAAiB,EAAE,aAAa,EAAE,8BAA8B;SAC1C,CAAA;IAC1B,CAAC;AACH,CAAC"}
|