@sphereon/ssi-sdk.presentation-exchange 0.33.1-feature.vcdm2.tsup.31 → 0.33.1-next.2

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.
@@ -0,0 +1,16 @@
1
+ import { IDefinitionCredentialFilterArgs, IPEXFilterResult, IPEXFilterResultWithInputDescriptor, IRequiredContext, PEXOpts, VersionDiscoveryResult } from '../index';
2
+ import { IAgentPlugin } from '@veramo/core';
3
+ import { IPresentationExchange } from '../types/IPresentationExchange';
4
+ import { IPresentationDefinition } from '@sphereon/pex';
5
+ export declare class PresentationExchange implements IAgentPlugin {
6
+ readonly schema: any;
7
+ private readonly pex;
8
+ readonly methods: IPresentationExchange;
9
+ constructor(opts?: PEXOpts);
10
+ private pexValidateDefinition;
11
+ pexDefinitionVersion(presentationDefinition: IPresentationDefinition): Promise<VersionDiscoveryResult>;
12
+ pexDefinitionFilterCredentials(args: IDefinitionCredentialFilterArgs, context: IRequiredContext): Promise<IPEXFilterResult>;
13
+ pexDefinitionFilterCredentialsPerInputDescriptor(args: IDefinitionCredentialFilterArgs, context: IRequiredContext): Promise<IPEXFilterResultWithInputDescriptor[]>;
14
+ private pexFilterCredentials;
15
+ }
16
+ //# sourceMappingURL=PresentationExchange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresentationExchange.d.ts","sourceRoot":"","sources":["../../src/agent/PresentationExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAE/B,gBAAgB,EAChB,mCAAmC,EACnC,gBAAgB,EAChB,OAAO,EAEP,sBAAsB,EACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAW,uBAAuB,EAAO,MAAM,eAAe,CAAA;AAOrE,qBAAa,oBAAqB,YAAW,YAAY;IACvD,QAAQ,CAAC,MAAM,MAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAEhC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAKtC;gBAEW,IAAI,CAAC,EAAE,OAAO;YAEZ,qBAAqB;IA2B7B,oBAAoB,CAAC,sBAAsB,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAItG,8BAA8B,CAAC,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe3H,gDAAgD,CACpD,IAAI,EAAE,+BAA+B,EACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mCAAmC,EAAE,CAAC;YAqCnC,oBAAoB;CAsBnC"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PresentationExchange = void 0;
13
+ const index_1 = require("../index");
14
+ const pex_1 = require("@sphereon/pex");
15
+ const ssi_types_1 = require("@sphereon/ssi-types");
16
+ const ssi_sdk_ext_did_utils_1 = require("@sphereon/ssi-sdk-ext.did-utils");
17
+ const ssi_sdk_credential_store_1 = require("@sphereon/ssi-sdk.credential-store");
18
+ class PresentationExchange {
19
+ constructor(opts) {
20
+ this.schema = index_1.schema.IDidAuthSiopOpAuthenticator;
21
+ this.pex = new pex_1.PEX();
22
+ this.methods = {
23
+ pexValidateDefinition: this.pexValidateDefinition.bind(this),
24
+ pexDefinitionVersion: this.pexDefinitionVersion.bind(this),
25
+ pexDefinitionFilterCredentials: this.pexDefinitionFilterCredentials.bind(this),
26
+ pexDefinitionFilterCredentialsPerInputDescriptor: this.pexDefinitionFilterCredentialsPerInputDescriptor.bind(this),
27
+ };
28
+ }
29
+ pexValidateDefinition(args) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const { definition } = args;
32
+ const invalids = [];
33
+ try {
34
+ const result = pex_1.PEX.validateDefinition(definition);
35
+ const validations = Array.isArray(result) ? result : [result];
36
+ invalids.push(...validations.filter((v) => v.status === 'error'));
37
+ }
38
+ catch (error) {
39
+ invalids.push({
40
+ status: 'error',
41
+ message: typeof error === 'string'
42
+ ? error
43
+ : typeof error === 'object' && 'message' in error
44
+ ? error.message
45
+ : 'unknown error',
46
+ tag: 'validation',
47
+ });
48
+ }
49
+ if (invalids.length > 0) {
50
+ throw Error(`Invalid definition. ${invalids.map((v) => v.message).toString()}`);
51
+ }
52
+ return true; // Never returns false, but REST API does not allow Promise<void>
53
+ });
54
+ }
55
+ pexDefinitionVersion(presentationDefinition) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ return pex_1.PEX.definitionVersionDiscovery(presentationDefinition);
58
+ });
59
+ }
60
+ pexDefinitionFilterCredentials(args, context) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ var _a, _b, _c;
63
+ const credentials = yield this.pexFilterCredentials(args.credentialFilterOpts, context);
64
+ const holderDIDs = args.holderDIDs ? (0, ssi_sdk_ext_did_utils_1.toDIDs)(args.holderDIDs) : (0, ssi_sdk_ext_did_utils_1.toDIDs)(yield context.agent.dataStoreORMGetIdentifiers());
65
+ const selectResults = this.pex.selectFrom(args.presentationDefinition, credentials !== null && credentials !== void 0 ? credentials : [], Object.assign(Object.assign({}, args), { holderDIDs, limitDisclosureSignatureSuites: (_a = args.limitDisclosureSignatureSuites) !== null && _a !== void 0 ? _a : ['BbsBlsSignature2020'] }));
66
+ return {
67
+ id: args.presentationDefinition.id,
68
+ selectResults,
69
+ filteredCredentials: (_c = (_b = selectResults.verifiableCredential) === null || _b === void 0 ? void 0 : _b.map((vc) => ssi_types_1.CredentialMapper.storedCredentialToOriginalFormat(vc))) !== null && _c !== void 0 ? _c : [],
70
+ };
71
+ });
72
+ }
73
+ pexDefinitionFilterCredentialsPerInputDescriptor(args, context) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ var _a;
76
+ const origDefinition = args.presentationDefinition;
77
+ const credentials = yield this.pexFilterCredentials((_a = args.credentialFilterOpts) !== null && _a !== void 0 ? _a : {}, context);
78
+ const holderDIDs = args.holderDIDs ? (0, ssi_sdk_ext_did_utils_1.toDIDs)(args.holderDIDs) : (0, ssi_sdk_ext_did_utils_1.toDIDs)(yield context.agent.dataStoreORMGetIdentifiers());
79
+ const limitDisclosureSignatureSuites = args.limitDisclosureSignatureSuites;
80
+ const promises = new Map();
81
+ origDefinition.input_descriptors.forEach((inputDescriptor) => {
82
+ const presentationDefinition = {
83
+ id: inputDescriptor.id,
84
+ input_descriptors: [inputDescriptor],
85
+ };
86
+ const credentialRole = args.credentialFilterOpts.credentialRole;
87
+ promises.set(inputDescriptor, this.pexDefinitionFilterCredentials({
88
+ credentialFilterOpts: { credentialRole, verifiableCredentials: credentials },
89
+ // @ts-ignore
90
+ presentationDefinition,
91
+ holderDIDs,
92
+ limitDisclosureSignatureSuites,
93
+ }, context));
94
+ });
95
+ yield Promise.all(promises.values());
96
+ const result = [];
97
+ for (const entry of promises.entries()) {
98
+ result.push(Object.assign(Object.assign({}, (yield entry[1])), { inputDescriptor: entry[0] }));
99
+ }
100
+ return result;
101
+ });
102
+ }
103
+ pexFilterCredentials(filterOpts, context) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ if (filterOpts.verifiableCredentials && filterOpts.verifiableCredentials.length > 0) {
106
+ return filterOpts.verifiableCredentials;
107
+ }
108
+ const filter = (0, ssi_sdk_credential_store_1.verifiableCredentialForRoleFilter)(filterOpts.credentialRole, filterOpts.filter);
109
+ const uniqueCredentials = yield context.agent.crsGetUniqueCredentials({ filter });
110
+ return uniqueCredentials.map((uniqueVC) => {
111
+ const vc = uniqueVC.uniformVerifiableCredential;
112
+ const proof = Array.isArray(vc.proof) ? vc.proof : [vc.proof];
113
+ const jwtProof = proof.find((p) => (p === null || p === void 0 ? void 0 : p.type) === ssi_types_1.JWT_PROOF_TYPE_2020);
114
+ return jwtProof ? jwtProof.jwt : vc;
115
+ });
116
+ });
117
+ }
118
+ }
119
+ exports.PresentationExchange = PresentationExchange;
120
+ //# sourceMappingURL=PresentationExchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresentationExchange.js","sourceRoot":"","sources":["../../src/agent/PresentationExchange.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Format } from '@sphereon/pex-models';
2
+ import { ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
3
+ import { ProofFormat } from '@veramo/core';
4
+ import { IPEXPresentationSignCallback, IRequiredContext } from './types/IPresentationExchange';
5
+ export declare function createPEXPresentationSignCallback(args: {
6
+ idOpts: ManagedIdentifierOptsOrResult;
7
+ fetchRemoteContexts?: boolean;
8
+ skipDidResolution?: boolean;
9
+ format?: Format | ProofFormat;
10
+ domain?: string;
11
+ challenge?: string;
12
+ }, context: IRequiredContext): Promise<IPEXPresentationSignCallback>;
13
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAIL,6BAA6B,EAC9B,MAAM,6CAA6C,CAAA;AAQpD,OAAO,EAAuB,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAE9F,wBAAsB,iCAAiC,CACrD,IAAI,EAAE;IACJ,MAAM,EAAE,6BAA6B,CAAA;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,EACD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,4BAA4B,CAAC,CAyKvC"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createPEXPresentationSignCallback = createPEXPresentationSignCallback;
13
+ const ssi_sdk_ext_identifier_resolution_1 = require("@sphereon/ssi-sdk-ext.identifier-resolution");
14
+ const ssi_types_1 = require("@sphereon/ssi-types");
15
+ function createPEXPresentationSignCallback(args, context) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ function determineProofFormat(determineArgs) {
18
+ var _a;
19
+ const { format, presentationDefinition, presentation } = determineArgs;
20
+ var formatOptions = (_a = format !== null && format !== void 0 ? format : presentationDefinition.format) !== null && _a !== void 0 ? _a : args.format;
21
+ // TODO Refactor so it takes into account the Input Descriptors and we can lookup from there. Now we only do that if there is 1 descriptor
22
+ if (!formatOptions && presentationDefinition.input_descriptors.length == 1 && 'format' in presentationDefinition.input_descriptors[0]) {
23
+ formatOptions = presentationDefinition.input_descriptors[0].format;
24
+ }
25
+ // All format arguments are optional. So if no format has been given we go for the most supported 'jwt'
26
+ if (!formatOptions) {
27
+ if (ssi_types_1.CredentialMapper.isSdJwtDecodedCredentialPayload(presentation.decodedPayload)) {
28
+ return 'vc+sd-jwt';
29
+ }
30
+ else if (ssi_types_1.CredentialMapper.isMsoMdocDecodedPresentation(presentation.decodedPayload)) {
31
+ return 'mso_mdoc';
32
+ }
33
+ else if (ssi_types_1.CredentialMapper.isW3cPresentation(presentation.decodedPayload)) {
34
+ if (typeof presentation.signedPayload === 'string') {
35
+ return 'jwt';
36
+ }
37
+ return 'lds';
38
+ }
39
+ return 'jwt';
40
+ }
41
+ else if (typeof formatOptions === 'string') {
42
+ // if formatOptions is a singular string we can return that as the format
43
+ return formatOptions;
44
+ }
45
+ // here we transform all format options to either lds or jwt. but we also want to support sd-jwt, so we need to specifically check for this one. which is ['vc+sd-jwt']
46
+ const formats = new Set(Object.keys(formatOptions).map((form) => (form.includes('ldp') ? 'lds' : form.includes('vc+sd-jwt') ? 'vc+sd-jwt' : 'jwt')));
47
+ // if we only have 1 format type we can return that
48
+ if (formats.size === 1) {
49
+ return formats.values().next().value;
50
+ }
51
+ formats.keys().next();
52
+ // if we can go for sd-jwt, we go for sd-jwt
53
+ if (formats.has('vc+sd-jwt')) {
54
+ return 'vc+sd-jwt';
55
+ }
56
+ // if it is not sd-jwt we would like to go for jwt
57
+ else if (formats.has('jwt')) {
58
+ return 'jwt';
59
+ }
60
+ // else we go for lds
61
+ return 'lds';
62
+ }
63
+ return (_a) => __awaiter(this, [_a], void 0, function* ({ presentation, domain, presentationDefinition, format, challenge, }) {
64
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
65
+ const proofFormat = determineProofFormat({ format, presentationDefinition, presentation });
66
+ const { idOpts } = args;
67
+ const CLOCK_SKEW = 120;
68
+ if (args.skipDidResolution && (0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierDidOpts)(idOpts)) {
69
+ idOpts.offlineWhenNoDIDRegistered = true;
70
+ }
71
+ if ('compactSdJwtVc' in presentation) {
72
+ if (proofFormat !== 'vc+sd-jwt') {
73
+ return Promise.reject(Error(`presentation payload does not match proof format ${proofFormat}`));
74
+ }
75
+ const presentationResult = yield context.agent.createSdJwtPresentation(Object.assign(Object.assign({}, ((idOpts === null || idOpts === void 0 ? void 0 : idOpts.method) === 'oid4vci-issuer' && { holder: idOpts === null || idOpts === void 0 ? void 0 : idOpts.issuer })), { presentation: presentation.compactSdJwtVc, kb: {
76
+ payload: Object.assign(Object.assign({}, (_b = presentation.kbJwt) === null || _b === void 0 ? void 0 : _b.payload), { iat: (_e = (_d = (_c = presentation.kbJwt) === null || _c === void 0 ? void 0 : _c.payload) === null || _d === void 0 ? void 0 : _d.iat) !== null && _e !== void 0 ? _e : Math.floor(Date.now() / 1000 - CLOCK_SKEW), nonce: challenge !== null && challenge !== void 0 ? challenge : (_g = (_f = presentation.kbJwt) === null || _f === void 0 ? void 0 : _f.payload) === null || _g === void 0 ? void 0 : _g.nonce, aud: (_l = (_k = (_j = (_h = presentation.kbJwt) === null || _h === void 0 ? void 0 : _h.payload) === null || _j === void 0 ? void 0 : _j.aud) !== null && _k !== void 0 ? _k : domain) !== null && _l !== void 0 ? _l : args.domain }),
77
+ } }));
78
+ return ssi_types_1.CredentialMapper.storedPresentationToOriginalFormat(presentationResult.presentation);
79
+ }
80
+ else {
81
+ const resolution = yield context.agent.identifierManagedGet(idOpts);
82
+ if (proofFormat === 'vc+sd-jwt') {
83
+ return Promise.reject(Error(`presentation payload does not match proof format ${proofFormat}`));
84
+ }
85
+ let header;
86
+ if (!presentation.holder) {
87
+ presentation.holder = resolution.issuer;
88
+ }
89
+ if (proofFormat === 'jwt') {
90
+ header = Object.assign(Object.assign({}, (((0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierDidResult)(resolution) || (0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierX5cResult)(resolution)) && resolution.kid && { kid: resolution.kid })), ((0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierX5cResult)(resolution) && { jwk: resolution.jwk }));
91
+ if (presentation.verifier || !presentation.aud) {
92
+ presentation.aud = Array.isArray(presentation.verifier) ? presentation.verifier : ((_o = (_m = presentation.verifier) !== null && _m !== void 0 ? _m : domain) !== null && _o !== void 0 ? _o : args.domain);
93
+ delete presentation.verifier;
94
+ }
95
+ if (!presentation.nbf) {
96
+ if (presentation.issuanceDate) {
97
+ const converted = Date.parse(presentation.issuanceDate);
98
+ if (!isNaN(converted)) {
99
+ presentation.nbf = Math.floor(converted / 1000); // no skew here, as an explicit value was given
100
+ }
101
+ }
102
+ else {
103
+ presentation.nbf = Math.floor(Date.now() / 1000 - CLOCK_SKEW);
104
+ }
105
+ }
106
+ if (!presentation.iat) {
107
+ presentation.iat = presentation.nbf;
108
+ }
109
+ if (!presentation.exp) {
110
+ if (presentation.expirationDate) {
111
+ const converted = Date.parse(presentation.expirationDate);
112
+ if (!isNaN(converted)) {
113
+ presentation.exp = Math.floor(converted / 1000); // no skew here as an explicit value w as given
114
+ }
115
+ }
116
+ else {
117
+ presentation.exp = presentation.nbf + 600 + CLOCK_SKEW;
118
+ }
119
+ }
120
+ if (!presentation.vp) {
121
+ presentation.vp = {};
122
+ }
123
+ /*if (!presentation.sub) {
124
+ presentation.sub = id.did
125
+ }*/
126
+ if (!presentation.vp.holder) {
127
+ presentation.vp.holder = presentation.holder;
128
+ }
129
+ }
130
+ // we ignore the alg / proof_format for now, as we already have the kid anyway at this point
131
+ // todo: look for jwt_vc_json and remove types and @context
132
+ const vp = yield context.agent.createVerifiablePresentation({
133
+ presentation: presentation,
134
+ removeOriginalFields: false,
135
+ keyRef: resolution.kmsKeyRef,
136
+ // domain: domain ?? args.domain, // handled above, and did-jwt-vc creates an array even for 1 entry
137
+ challenge: challenge !== null && challenge !== void 0 ? challenge : args.challenge,
138
+ fetchRemoteContexts: args.fetchRemoteContexts !== false,
139
+ proofFormat: proofFormat,
140
+ header,
141
+ });
142
+ // makes sure we extract an actual JWT from the internal representation in case it is a JWT
143
+ return ssi_types_1.CredentialMapper.storedPresentationToOriginalFormat(vp);
144
+ }
145
+ });
146
+ });
147
+ }
148
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,83 +1,9 @@
1
- import { IPluginMethodMap, IIdentifier, IAgentContext, IDataStoreORM, IResolver, IDIDManager, ICredentialPlugin, PresentationPayload, IAgentPlugin, ProofFormat } from '@veramo/core';
2
- import { IIdentifierResolution, ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
3
- import { W3CVerifiableCredential, IPresentation, Optional, SdJwtDecodedVerifiableCredential, W3CVerifiablePresentation } from '@sphereon/ssi-types';
4
- import { IPresentationDefinition, PEVersion, SelectResults } from '@sphereon/pex';
5
- import { Format, InputDescriptorV1, InputDescriptorV2 } from '@sphereon/pex-models';
6
- import { CredentialRole, FindDigitalCredentialArgs } from '@sphereon/ssi-sdk.data-store';
7
- import { ISDJwtPlugin } from '@sphereon/ssi-sdk.sd-jwt';
8
-
9
- interface IPresentationExchange extends IPluginMethodMap {
10
- pexValidateDefinition(args: IDefinitionValidateArgs): Promise<boolean>;
11
- pexDefinitionVersion(presentationDefinition: IPresentationDefinition): Promise<VersionDiscoveryResult>;
12
- pexDefinitionFilterCredentials(args: IDefinitionCredentialFilterArgs, context: IRequiredContext): Promise<IPEXFilterResult>;
13
- pexDefinitionFilterCredentialsPerInputDescriptor(args: IDefinitionCredentialFilterArgs, context: IRequiredContext): Promise<IPEXFilterResultWithInputDescriptor[]>;
14
- }
15
- interface IDefinitionValidateArgs {
16
- definition: IPresentationDefinition;
17
- }
18
- interface IDefinitionCredentialFilterArgs {
19
- presentationDefinition: IPresentationDefinition;
20
- credentialFilterOpts: {
21
- credentialRole: CredentialRole;
22
- verifiableCredentials?: W3CVerifiableCredential[];
23
- filter?: FindDigitalCredentialArgs;
24
- };
25
- holderDIDs?: (string | IIdentifier)[];
26
- limitDisclosureSignatureSuites?: string[];
27
- restrictToFormats?: Format;
28
- restrictToDIDMethods?: string[];
29
- }
30
- interface PEXOpts {
31
- defaultStore?: string;
32
- defaultNamespace?: string;
33
- }
34
- interface IPEXOptions {
35
- definition?: IPresentationDefinition;
36
- definitionId: string;
37
- }
38
- interface IPEXFilterResultWithInputDescriptor extends IPEXFilterResult {
39
- inputDescriptor: InputDescriptorV1 | InputDescriptorV2;
40
- }
41
- interface IPEXFilterResult {
42
- id: string;
43
- selectResults: SelectResults;
44
- filteredCredentials: W3CVerifiableCredential[];
45
- }
46
- interface VersionDiscoveryResult {
47
- version?: PEVersion;
48
- error?: string;
49
- }
50
- type IPEXPresentationSignCallback = (args: IPEXPresentationSignCallBackParams) => Promise<W3CVerifiablePresentation>;
51
- interface IPEXPresentationSignCallBackParams {
52
- presentation: IPresentation | Optional<PresentationPayload, 'holder'> | SdJwtDecodedVerifiableCredential;
53
- presentationDefinition: IPresentationDefinition;
54
- }
55
- type IRequiredContext = IAgentContext<IDataStoreORM & IResolver & IDIDManager & IIdentifierResolution & ICredentialPlugin & ISDJwtPlugin>;
56
-
57
- declare class PresentationExchange implements IAgentPlugin {
58
- readonly schema: any;
59
- private readonly pex;
60
- readonly methods: IPresentationExchange;
61
- constructor(opts?: PEXOpts);
62
- private pexValidateDefinition;
63
- pexDefinitionVersion(presentationDefinition: IPresentationDefinition): Promise<VersionDiscoveryResult>;
64
- pexDefinitionFilterCredentials(args: IDefinitionCredentialFilterArgs, context: IRequiredContext): Promise<IPEXFilterResult>;
65
- pexDefinitionFilterCredentialsPerInputDescriptor(args: IDefinitionCredentialFilterArgs, context: IRequiredContext): Promise<IPEXFilterResultWithInputDescriptor[]>;
66
- private pexFilterCredentials;
67
- }
68
-
69
- declare function createPEXPresentationSignCallback(args: {
70
- idOpts: ManagedIdentifierOptsOrResult;
71
- fetchRemoteContexts?: boolean;
72
- skipDidResolution?: boolean;
73
- format?: Format | ProofFormat;
74
- domain?: string;
75
- challenge?: string;
76
- }, context: IRequiredContext): Promise<IPEXPresentationSignCallback>;
77
-
78
1
  /**
79
2
  * @public
80
3
  */
81
4
  declare const schema: any;
82
-
83
- export { type IDefinitionCredentialFilterArgs, type IDefinitionValidateArgs, type IPEXFilterResult, type IPEXFilterResultWithInputDescriptor, type IPEXOptions, type IPEXPresentationSignCallBackParams, type IPEXPresentationSignCallback, type IPresentationExchange, type IRequiredContext, type PEXOpts, PresentationExchange, type VersionDiscoveryResult, createPEXPresentationSignCallback, schema };
5
+ export { schema };
6
+ export { PresentationExchange } from './agent/PresentationExchange';
7
+ export * from './types/IPresentationExchange';
8
+ export * from './functions';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,MAAM,KAAmC,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,cAAc,+BAA+B,CAAA;AAC7C,cAAc,aAAa,CAAA"}