@sphereon/ssi-sdk.siopv2-oid4vp-op-auth 0.32.1-next.54 → 0.33.1-feature.jose.vcdm.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/index.cjs +2451 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +559 -0
  4. package/dist/index.d.ts +555 -8
  5. package/dist/index.js +2420 -31
  6. package/dist/index.js.map +1 -1
  7. package/package.json +44 -30
  8. package/src/agent/DidAuthSiopOpAuthenticator.ts +132 -53
  9. package/src/services/Siopv2MachineService.ts +130 -20
  10. package/src/session/OID4VP.ts +8 -8
  11. package/src/session/OpSession.ts +18 -17
  12. package/src/types/IDidAuthSiopOpAuthenticator.ts +20 -7
  13. package/src/types/siop-service/index.ts +9 -6
  14. package/src/utils/CredentialUtils.ts +71 -0
  15. package/src/utils/dcql.ts +36 -0
  16. package/dist/agent/DidAuthSiopOpAuthenticator.d.ts +0 -31
  17. package/dist/agent/DidAuthSiopOpAuthenticator.d.ts.map +0 -1
  18. package/dist/agent/DidAuthSiopOpAuthenticator.js +0 -323
  19. package/dist/agent/DidAuthSiopOpAuthenticator.js.map +0 -1
  20. package/dist/index.d.ts.map +0 -1
  21. package/dist/link-handler/index.d.ts +0 -22
  22. package/dist/link-handler/index.d.ts.map +0 -1
  23. package/dist/link-handler/index.js +0 -57
  24. package/dist/link-handler/index.js.map +0 -1
  25. package/dist/localization/Localization.d.ts +0 -9
  26. package/dist/localization/Localization.d.ts.map +0 -1
  27. package/dist/localization/Localization.js +0 -46
  28. package/dist/localization/Localization.js.map +0 -1
  29. package/dist/localization/translations/en.json +0 -9
  30. package/dist/localization/translations/nl.json +0 -8
  31. package/dist/machine/CallbackStateListener.d.ts +0 -3
  32. package/dist/machine/CallbackStateListener.d.ts.map +0 -1
  33. package/dist/machine/CallbackStateListener.js +0 -48
  34. package/dist/machine/CallbackStateListener.js.map +0 -1
  35. package/dist/machine/Siopv2Machine.d.ts +0 -8
  36. package/dist/machine/Siopv2Machine.d.ts.map +0 -1
  37. package/dist/machine/Siopv2Machine.js +0 -364
  38. package/dist/machine/Siopv2Machine.js.map +0 -1
  39. package/dist/services/IdentifierService.d.ts +0 -3
  40. package/dist/services/IdentifierService.d.ts.map +0 -1
  41. package/dist/services/IdentifierService.js +0 -28
  42. package/dist/services/IdentifierService.js.map +0 -1
  43. package/dist/services/Siopv2MachineService.d.ts +0 -16
  44. package/dist/services/Siopv2MachineService.d.ts.map +0 -1
  45. package/dist/services/Siopv2MachineService.js +0 -201
  46. package/dist/services/Siopv2MachineService.js.map +0 -1
  47. package/dist/session/OID4VP.d.ts +0 -72
  48. package/dist/session/OID4VP.d.ts.map +0 -1
  49. package/dist/session/OID4VP.js +0 -223
  50. package/dist/session/OID4VP.js.map +0 -1
  51. package/dist/session/OpSession.d.ts +0 -39
  52. package/dist/session/OpSession.d.ts.map +0 -1
  53. package/dist/session/OpSession.js +0 -365
  54. package/dist/session/OpSession.js.map +0 -1
  55. package/dist/session/functions.d.ts +0 -37
  56. package/dist/session/functions.d.ts.map +0 -1
  57. package/dist/session/functions.js +0 -163
  58. package/dist/session/functions.js.map +0 -1
  59. package/dist/session/index.d.ts +0 -4
  60. package/dist/session/index.d.ts.map +0 -1
  61. package/dist/session/index.js +0 -20
  62. package/dist/session/index.js.map +0 -1
  63. package/dist/types/IDidAuthSiopOpAuthenticator.d.ts +0 -116
  64. package/dist/types/IDidAuthSiopOpAuthenticator.d.ts.map +0 -1
  65. package/dist/types/IDidAuthSiopOpAuthenticator.js +0 -10
  66. package/dist/types/IDidAuthSiopOpAuthenticator.js.map +0 -1
  67. package/dist/types/error/index.d.ts +0 -8
  68. package/dist/types/error/index.d.ts.map +0 -1
  69. package/dist/types/error/index.js +0 -3
  70. package/dist/types/error/index.js.map +0 -1
  71. package/dist/types/identifier/index.d.ts +0 -53
  72. package/dist/types/identifier/index.d.ts.map +0 -1
  73. package/dist/types/identifier/index.js +0 -5
  74. package/dist/types/identifier/index.js.map +0 -1
  75. package/dist/types/index.d.ts +0 -6
  76. package/dist/types/index.d.ts.map +0 -1
  77. package/dist/types/index.js +0 -22
  78. package/dist/types/index.js.map +0 -1
  79. package/dist/types/machine/index.d.ts +0 -124
  80. package/dist/types/machine/index.d.ts.map +0 -1
  81. package/dist/types/machine/index.js +0 -57
  82. package/dist/types/machine/index.js.map +0 -1
  83. package/dist/types/siop-service/index.d.ts +0 -78
  84. package/dist/types/siop-service/index.d.ts.map +0 -1
  85. package/dist/types/siop-service/index.js +0 -14
  86. package/dist/types/siop-service/index.js.map +0 -1
@@ -1,323 +0,0 @@
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.DidAuthSiopOpAuthenticator = exports.didAuthSiopOpAuthenticatorMethods = void 0;
13
- const did_auth_siop_1 = require("@sphereon/did-auth-siop");
14
- const ssi_sdk_data_store_1 = require("@sphereon/ssi-sdk.data-store");
15
- const ssi_types_1 = require("@sphereon/ssi-types");
16
- const uuid_1 = require("uuid");
17
- const index_1 = require("../index");
18
- const Siopv2Machine_1 = require("../machine/Siopv2Machine");
19
- const Siopv2MachineService_1 = require("../services/Siopv2MachineService");
20
- const session_1 = require("../session");
21
- const pex_1 = require("@sphereon/pex");
22
- const utils_1 = require("@veramo/utils");
23
- const types_1 = require("../types");
24
- const logger = ssi_types_1.Loggers.DEFAULT.options(index_1.LOGGER_NAMESPACE, {}).get(index_1.LOGGER_NAMESPACE);
25
- // Exposing the methods here for any REST implementation
26
- exports.didAuthSiopOpAuthenticatorMethods = [
27
- 'cmGetContacts',
28
- 'cmGetContact',
29
- 'cmAddContact',
30
- 'cmAddIdentity',
31
- 'didManagerFind',
32
- 'didManagerGet',
33
- 'keyManagerSign',
34
- 'didManagerGetProviders',
35
- 'dataStoreORMGetVerifiableCredentials',
36
- 'createVerifiablePresentation',
37
- ];
38
- class DidAuthSiopOpAuthenticator {
39
- constructor(options) {
40
- this.schema = index_1.schema.IDidAuthSiopOpAuthenticator;
41
- this.methods = {
42
- siopGetOPSession: this.siopGetOPSession.bind(this),
43
- siopRegisterOPSession: this.siopRegisterOPSession.bind(this),
44
- siopRemoveOPSession: this.siopRemoveOPSession.bind(this),
45
- siopRegisterOPCustomApproval: this.siopRegisterOPCustomApproval.bind(this),
46
- siopRemoveOPCustomApproval: this.siopRemoveOPCustomApproval.bind(this),
47
- siopGetMachineInterpreter: this.siopGetMachineInterpreter.bind(this),
48
- siopCreateConfig: this.siopCreateConfig.bind(this),
49
- siopGetSiopRequest: this.siopGetSiopRequest.bind(this),
50
- siopRetrieveContact: this.siopRetrieveContact.bind(this),
51
- siopAddIdentity: this.siopAddContactIdentity.bind(this),
52
- siopSendResponse: this.siopSendResponse.bind(this),
53
- siopGetSelectableCredentials: this.siopGetSelectableCredentials.bind(this),
54
- };
55
- const { onContactIdentityCreated, onIdentifierCreated, hasher, customApprovals = {}, presentationSignCallback } = Object.assign({}, options);
56
- this.hasher = hasher;
57
- this.onContactIdentityCreated = onContactIdentityCreated;
58
- this.onIdentifierCreated = onIdentifierCreated;
59
- this.presentationSignCallback = presentationSignCallback;
60
- this.sessions = new Map();
61
- this.customApprovals = customApprovals;
62
- }
63
- onEvent(event, context) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- var _a, _b;
66
- switch (event.type) {
67
- case types_1.Siopv2HolderEvent.CONTACT_IDENTITY_CREATED:
68
- (_a = this.onContactIdentityCreated) === null || _a === void 0 ? void 0 : _a.call(this, event.data);
69
- break;
70
- case types_1.Siopv2HolderEvent.IDENTIFIER_CREATED:
71
- (_b = this.onIdentifierCreated) === null || _b === void 0 ? void 0 : _b.call(this, event.data);
72
- break;
73
- default:
74
- return Promise.reject(Error(`Event type ${event.type} not supported`));
75
- }
76
- });
77
- }
78
- siopGetOPSession(args, context) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- // TODO add cleaning up sessions https://sphereon.atlassian.net/browse/MYC-143
81
- if (!this.sessions.has(args.sessionId)) {
82
- throw Error(`No session found for id: ${args.sessionId}`);
83
- }
84
- return this.sessions.get(args.sessionId);
85
- });
86
- }
87
- siopRegisterOPSession(args, context) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- var _a;
90
- const sessionId = args.sessionId || (0, uuid_1.v4)();
91
- if (this.sessions.has(sessionId)) {
92
- return Promise.reject(new Error(`Session with id: ${args.sessionId} already present`));
93
- }
94
- const opts = Object.assign(Object.assign({}, args), { sessionId, context });
95
- if (!((_a = opts.op) === null || _a === void 0 ? void 0 : _a.presentationSignCallback)) {
96
- opts.op = Object.assign(Object.assign({}, opts.op), { presentationSignCallback: this.presentationSignCallback });
97
- }
98
- const session = yield session_1.OpSession.init(opts);
99
- this.sessions.set(sessionId, session);
100
- return session;
101
- });
102
- }
103
- siopRemoveOPSession(args, context) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- return this.sessions.delete(args.sessionId);
106
- });
107
- }
108
- siopRegisterOPCustomApproval(args, context) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- if (this.customApprovals[args.key] !== undefined) {
111
- return Promise.reject(new Error(`Custom approval with key: ${args.key} already present`));
112
- }
113
- this.customApprovals[args.key] = args.customApproval;
114
- });
115
- }
116
- siopRemoveOPCustomApproval(args, context) {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- return delete this.customApprovals[args.key];
119
- });
120
- }
121
- siopGetMachineInterpreter(opts, context) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const { stateNavigationListener, url } = opts;
124
- const services = Object.assign({ createConfig: (args) => this.siopCreateConfig(args), getSiopRequest: (args) => this.siopGetSiopRequest(args, context), getSelectableCredentials: (args) => this.siopGetSelectableCredentials(args, context), retrieveContact: (args) => this.siopRetrieveContact(args, context), addContactIdentity: (args) => this.siopAddContactIdentity(args, context), sendResponse: (args) => this.siopSendResponse(args, context) }, opts === null || opts === void 0 ? void 0 : opts.services);
125
- const siopv2MachineOpts = Object.assign(Object.assign({}, opts), { url,
126
- stateNavigationListener, services: Object.assign(Object.assign({}, services), opts.services) });
127
- return Siopv2Machine_1.Siopv2Machine.newInstance(siopv2MachineOpts);
128
- });
129
- }
130
- siopCreateConfig(context) {
131
- return __awaiter(this, void 0, void 0, function* () {
132
- const { url } = context;
133
- if (!url) {
134
- return Promise.reject(Error('Missing request uri in context'));
135
- }
136
- return {
137
- id: (0, uuid_1.v4)(),
138
- // FIXME: Update these values in SSI-SDK. Only the URI (not a redirectURI) would be available at this point
139
- sessionId: (0, uuid_1.v4)(),
140
- redirectUrl: url,
141
- };
142
- });
143
- }
144
- siopGetSiopRequest(args, context) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- var _a, _b, _c, _d, _e;
147
- const { agent } = context;
148
- const { didAuthConfig } = args;
149
- if (args.url === undefined) {
150
- return Promise.reject(Error('Missing request uri in context'));
151
- }
152
- if (didAuthConfig === undefined) {
153
- return Promise.reject(Error('Missing config in context'));
154
- }
155
- const { sessionId, redirectUrl } = didAuthConfig;
156
- const session = yield agent
157
- .siopGetOPSession({ sessionId })
158
- .catch(() => __awaiter(this, void 0, void 0, function* () { return yield agent.siopRegisterOPSession({ requestJwtOrUri: redirectUrl, sessionId, op: { eventEmitter: this.eventEmitter, hasher: this.hasher } }); }));
159
- logger.debug(`session: ${JSON.stringify(session.id, null, 2)}`);
160
- const verifiedAuthorizationRequest = yield session.getAuthorizationRequest();
161
- // logger.trace('Request: ' + JSON.stringify(verifiedAuthorizationRequest, null, 2))
162
- const clientName = (_a = verifiedAuthorizationRequest.registrationMetadataPayload) === null || _a === void 0 ? void 0 : _a.client_name;
163
- const url = (_b = verifiedAuthorizationRequest.responseURI) !== null && _b !== void 0 ? _b : (args.url.includes('request_uri')
164
- ? decodeURIComponent(args.url.split('?request_uri=')[1].trim())
165
- : ((_c = verifiedAuthorizationRequest.issuer) !== null && _c !== void 0 ? _c : (_d = verifiedAuthorizationRequest.registrationMetadataPayload) === null || _d === void 0 ? void 0 : _d.client_id));
166
- const uri = url.includes('://') ? new URL(url) : undefined;
167
- const correlationId = (_e = uri === null || uri === void 0 ? void 0 : uri.hostname) !== null && _e !== void 0 ? _e : (yield this.determineCorrelationId(uri, verifiedAuthorizationRequest, clientName, context));
168
- const clientId = yield verifiedAuthorizationRequest.authorizationRequest.getMergedProperty('client_id');
169
- return {
170
- issuer: verifiedAuthorizationRequest.issuer,
171
- correlationId,
172
- registrationMetadataPayload: verifiedAuthorizationRequest.registrationMetadataPayload,
173
- uri,
174
- name: clientName,
175
- clientId,
176
- presentationDefinitions: (yield verifiedAuthorizationRequest.authorizationRequest.containsResponseType('vp_token')) ||
177
- (verifiedAuthorizationRequest.versions.every((version) => version <= did_auth_siop_1.SupportedVersion.JWT_VC_PRESENTATION_PROFILE_v1) &&
178
- verifiedAuthorizationRequest.presentationDefinitions &&
179
- verifiedAuthorizationRequest.presentationDefinitions.length > 0)
180
- ? verifiedAuthorizationRequest.presentationDefinitions
181
- : undefined,
182
- };
183
- });
184
- }
185
- determineCorrelationId(uri, verifiedAuthorizationRequest, clientName, context) {
186
- return __awaiter(this, void 0, void 0, function* () {
187
- var _a, _b;
188
- if (uri) {
189
- return (_a = (yield (0, Siopv2MachineService_1.translateCorrelationIdToName)(uri.hostname, context))) !== null && _a !== void 0 ? _a : uri.hostname;
190
- }
191
- if (verifiedAuthorizationRequest.issuer) {
192
- const issuerHostname = verifiedAuthorizationRequest.issuer.split('://')[1];
193
- return (_b = (yield (0, Siopv2MachineService_1.translateCorrelationIdToName)(issuerHostname, context))) !== null && _b !== void 0 ? _b : issuerHostname;
194
- }
195
- if (clientName) {
196
- return clientName;
197
- }
198
- throw new Error("Can't determine correlationId from request");
199
- });
200
- }
201
- siopRetrieveContact(args, context) {
202
- return __awaiter(this, void 0, void 0, function* () {
203
- const { authorizationRequestData } = args;
204
- const { agent } = context;
205
- if (authorizationRequestData === undefined) {
206
- return Promise.reject(Error('Missing authorization request data in context'));
207
- }
208
- return agent
209
- .cmGetContacts({
210
- filter: [
211
- {
212
- identities: {
213
- identifier: {
214
- correlationId: authorizationRequestData.correlationId,
215
- },
216
- },
217
- },
218
- ],
219
- })
220
- .then((contacts) => (contacts.length === 1 ? contacts[0] : undefined));
221
- });
222
- }
223
- siopAddContactIdentity(args, context) {
224
- return __awaiter(this, void 0, void 0, function* () {
225
- var _a;
226
- const { agent } = context;
227
- const { contact, authorizationRequestData } = args;
228
- if (contact === undefined) {
229
- return Promise.reject(Error('Missing contact in context'));
230
- }
231
- if (authorizationRequestData === undefined) {
232
- return Promise.reject(Error('Missing authorization request data in context'));
233
- }
234
- // TODO: Makes sense to move these types of common queries/retrievals to the SIOP auth request object
235
- const clientId = (_a = authorizationRequestData.clientId) !== null && _a !== void 0 ? _a : authorizationRequestData.issuer;
236
- const correlationId = clientId
237
- ? clientId.startsWith('did:')
238
- ? clientId
239
- : `${new URL(clientId).protocol}//${new URL(clientId).hostname}`
240
- : undefined;
241
- if (correlationId) {
242
- const identity = {
243
- alias: correlationId,
244
- origin: ssi_sdk_data_store_1.IdentityOrigin.EXTERNAL,
245
- roles: [ssi_sdk_data_store_1.CredentialRole.ISSUER],
246
- identifier: {
247
- type: correlationId.startsWith('did:') ? ssi_sdk_data_store_1.CorrelationIdentifierType.DID : ssi_sdk_data_store_1.CorrelationIdentifierType.URL,
248
- correlationId,
249
- },
250
- };
251
- const addedIdentity = yield agent.cmAddIdentity({ contactId: contact.id, identity });
252
- yield context.agent.emit(types_1.Siopv2HolderEvent.CONTACT_IDENTITY_CREATED, {
253
- contactId: contact.id,
254
- identity: addedIdentity,
255
- });
256
- logger.info(`Contact identity created: ${JSON.stringify(addedIdentity)}`);
257
- }
258
- });
259
- }
260
- siopSendResponse(args, context) {
261
- return __awaiter(this, void 0, void 0, function* () {
262
- var _a;
263
- const { didAuthConfig, authorizationRequestData, selectedCredentials, isFirstParty } = args;
264
- if (didAuthConfig === undefined) {
265
- return Promise.reject(Error('Missing config in context'));
266
- }
267
- if (authorizationRequestData === undefined) {
268
- return Promise.reject(Error('Missing authorization request data in context'));
269
- }
270
- const pex = new pex_1.PEX({ hasher: this.hasher });
271
- const verifiableCredentialsWithDefinition = [];
272
- (_a = authorizationRequestData.presentationDefinitions) === null || _a === void 0 ? void 0 : _a.forEach((presentationDefinition) => {
273
- const { areRequiredCredentialsPresent, verifiableCredential: verifiableCredentials } = pex.selectFrom(presentationDefinition.definition, selectedCredentials.map((udc) => udc.originalVerifiableCredential));
274
- if (areRequiredCredentialsPresent !== pex_1.Status.ERROR && verifiableCredentials) {
275
- const uniqueDigitalCredentials = verifiableCredentials.map((vc) => {
276
- // @ts-ignore FIXME Funke
277
- const hash = (0, utils_1.computeEntryHash)(vc);
278
- const udc = selectedCredentials.find((udc) => udc.hash == hash);
279
- if (!udc) {
280
- throw Error('UniqueDigitalCredential could not be found');
281
- }
282
- return udc;
283
- });
284
- verifiableCredentialsWithDefinition.push({
285
- definition: presentationDefinition,
286
- credentials: uniqueDigitalCredentials,
287
- });
288
- }
289
- });
290
- if (verifiableCredentialsWithDefinition.length === 0) {
291
- return Promise.reject(Error('None of the selected credentials match any of the presentation definitions.'));
292
- }
293
- const response = yield (0, Siopv2MachineService_1.siopSendAuthorizationResponse)(ssi_sdk_data_store_1.ConnectionType.SIOPv2_OpenID4VP, Object.assign(Object.assign(Object.assign({ sessionId: didAuthConfig.sessionId }, (args.idOpts && { idOpts: args.idOpts })), (authorizationRequestData.presentationDefinitions !== undefined && { verifiableCredentialsWithDefinition })), { isFirstParty, hasher: this.hasher }), context);
294
- const contentType = response.headers.get('content-type') || '';
295
- let responseBody = null;
296
- const text = yield response.text();
297
- if (text) {
298
- responseBody = contentType.includes('application/json') || text.startsWith('{') ? JSON.parse(text) : text;
299
- }
300
- return {
301
- body: responseBody,
302
- url: response.url,
303
- queryParams: (0, did_auth_siop_1.decodeUriAsJson)(response.url),
304
- };
305
- });
306
- }
307
- siopGetSelectableCredentials(args, context) {
308
- return __awaiter(this, void 0, void 0, function* () {
309
- const { authorizationRequestData } = args;
310
- if (!authorizationRequestData ||
311
- !authorizationRequestData.presentationDefinitions ||
312
- authorizationRequestData.presentationDefinitions.length === 0) {
313
- return Promise.reject(Error('Missing required fields in arguments or context'));
314
- }
315
- if (authorizationRequestData.presentationDefinitions.length > 1) {
316
- return Promise.reject(Error('Multiple presentation definitions present'));
317
- }
318
- return (0, Siopv2MachineService_1.getSelectableCredentials)(authorizationRequestData.presentationDefinitions[0].definition, context);
319
- });
320
- }
321
- }
322
- exports.DidAuthSiopOpAuthenticator = DidAuthSiopOpAuthenticator;
323
- //# sourceMappingURL=DidAuthSiopOpAuthenticator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DidAuthSiopOpAuthenticator.js","sourceRoot":"","sources":["../../src/agent/DidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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,0BAA0B,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAA;AAClH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA"}
@@ -1,22 +0,0 @@
1
- import { ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
2
- import { LinkHandlerAdapter } from '@sphereon/ssi-sdk.core';
3
- import { IMachineStatePersistence, SerializableState } from '@sphereon/ssi-sdk.xstate-machine-persistence';
4
- import { IAgentContext } from '@veramo/core';
5
- import { GetMachineArgs, IDidAuthSiopOpAuthenticator } from '../types';
6
- export declare class Siopv2OID4VPLinkHandler extends LinkHandlerAdapter {
7
- private readonly context;
8
- private readonly stateNavigationListener;
9
- private readonly noStateMachinePersistence;
10
- private readonly idOpts?;
11
- constructor(args: Pick<GetMachineArgs, 'stateNavigationListener'> & {
12
- protocols?: Array<string | RegExp>;
13
- context: IAgentContext<IDidAuthSiopOpAuthenticator & IMachineStatePersistence>;
14
- noStateMachinePersistence?: boolean;
15
- idOpts?: ManagedIdentifierOptsOrResult;
16
- });
17
- handle(url: string | URL, opts?: {
18
- machineState?: SerializableState;
19
- idOpts?: ManagedIdentifierOptsOrResult;
20
- }): Promise<void>;
21
- }
22
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAA;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,wBAAwB,EAA4B,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACpI,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAkE,MAAM,UAAU,CAAA;AAItI,qBAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuE;IAC/F,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAE3B;IACb,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA+B;gBAGrD,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,yBAAyB,CAAC,GAAG;QACtD,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QAClC,OAAO,EAAE,aAAa,CAAC,2BAA2B,GAAG,wBAAwB,CAAC,CAAA;QAC9E,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,MAAM,CAAC,EAAE,6BAA6B,CAAA;KACvC;IASG,MAAM,CACV,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,iBAAiB,CAAA;QAChC,MAAM,CAAC,EAAE,6BAA6B,CAAA;KACvC,GACA,OAAO,CAAC,IAAI,CAAC;CA0BjB"}
@@ -1,57 +0,0 @@
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.Siopv2OID4VPLinkHandler = void 0;
13
- const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config");
14
- const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
15
- const ssi_sdk_xstate_machine_persistence_1 = require("@sphereon/ssi-sdk.xstate-machine-persistence");
16
- const ssi_types_1 = require("@sphereon/ssi-types");
17
- const types_1 = require("../types");
18
- const logger = ssi_types_1.Loggers.DEFAULT.options(types_1.LOGGER_NAMESPACE, {}).get(types_1.LOGGER_NAMESPACE);
19
- class Siopv2OID4VPLinkHandler extends ssi_sdk_core_1.LinkHandlerAdapter {
20
- constructor(args) {
21
- super(Object.assign(Object.assign({}, args), { id: 'Siopv2' }));
22
- this.context = args.context;
23
- this.noStateMachinePersistence = args.noStateMachinePersistence === true;
24
- this.stateNavigationListener = args.stateNavigationListener;
25
- this.idOpts = args.idOpts;
26
- }
27
- handle(url, opts) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- var _a;
30
- logger.debug(`handling SIOP link: ${url}`);
31
- const siopv2Machine = yield this.context.agent.siopGetMachineInterpreter({
32
- url,
33
- idOpts: (_a = opts === null || opts === void 0 ? void 0 : opts.idOpts) !== null && _a !== void 0 ? _a : this.idOpts,
34
- stateNavigationListener: this.stateNavigationListener,
35
- });
36
- const interpreter = siopv2Machine.interpreter;
37
- if (!this.noStateMachinePersistence && !(opts === null || opts === void 0 ? void 0 : opts.machineState) && (0, ssi_sdk_agent_config_1.contextHasPlugin)(this.context, 'machineStatesFindActive')) {
38
- const init = yield (0, ssi_sdk_xstate_machine_persistence_1.interpreterStartOrResume)({
39
- interpreter,
40
- context: this.context,
41
- cleanupAllOtherInstances: true,
42
- cleanupOnFinalState: true,
43
- singletonCheck: true,
44
- noRegistration: this.noStateMachinePersistence,
45
- });
46
- logger.debug(`SIOP machine started for link: ${url}`, init);
47
- }
48
- else {
49
- // @ts-ignore
50
- interpreter.start(opts === null || opts === void 0 ? void 0 : opts.machineState);
51
- logger.debug(`SIOP machine started for link: ${url}`);
52
- }
53
- });
54
- }
55
- }
56
- exports.Siopv2OID4VPLinkHandler = Siopv2OID4VPLinkHandler;
57
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yDAA2D;AAC3D,qGAAoI;AAEpI,mDAA6C;AAC7C,oCAAsI;AAEtI,MAAM,MAAM,GAAG,mBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAgB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,wBAAgB,CAAC,CAAA;AAElF,MAAa,uBAAwB,SAAQ,iCAAkB;IAQ7D,YACE,IAKC;QAED,KAAK,iCAAM,IAAI,KAAE,EAAE,EAAE,QAAQ,IAAG,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,KAAK,IAAI,CAAA;QACxE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAA;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAEK,MAAM,CACV,GAAiB,EACjB,IAGC;;;YAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;YAE1C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC;gBACvE,GAAG;gBACH,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,IAAI,CAAC,MAAM;gBACnC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;aACtD,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAA;YAC7C,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAA,IAAI,IAAA,uCAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,EAAE,CAAC;gBACxH,MAAM,IAAI,GAAG,MAAM,IAAA,6DAAwB,EAAC;oBAC1C,WAAW;oBACX,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,wBAAwB,EAAE,IAAI;oBAC9B,mBAAmB,EAAE,IAAI;oBACzB,cAAc,EAAE,IAAI;oBACpB,cAAc,EAAE,IAAI,CAAC,yBAAyB;iBAC/C,CAAC,CAAA;gBACF,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBACN,aAAa;gBACb,WAAW,CAAC,KAAK,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC,CAAA;gBACrC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;KAAA;CACF;AAvDD,0DAuDC"}
@@ -1,9 +0,0 @@
1
- declare class Localization {
2
- private static translationGetters;
3
- static translate: any;
4
- private static findSupportedLanguage;
5
- static getLocale: () => string;
6
- }
7
- export declare const translate: any;
8
- export default Localization;
9
- //# sourceMappingURL=Localization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Localization.d.ts","sourceRoot":"","sources":["../../src/localization/Localization.ts"],"names":[],"mappings":"AAIA,cAAM,YAAY;IAChB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAGhC;IAED,OAAc,SAAS,EAAE,GAAG,CAoB3B;IAED,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAQnC;IAED,OAAc,SAAS,QAAO,MAAM,CAEnC;CACF;AAED,eAAO,MAAM,SAAS,KAAyB,CAAA;AAC/C,eAAe,YAAY,CAAA"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- var _a;
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.translate = void 0;
8
- const i18n_js_1 = __importDefault(require("i18n-js"));
9
- const lodash_memoize_1 = __importDefault(require("lodash.memoize"));
10
- const types_1 = require("../types");
11
- class Localization {
12
- }
13
- _a = Localization;
14
- Localization.translationGetters = {
15
- [types_1.SupportedLanguage.ENGLISH]: () => require('./translations/en.json'),
16
- [types_1.SupportedLanguage.DUTCH]: () => require('./translations/nl.json'),
17
- };
18
- Localization.translate = (0, lodash_memoize_1.default)((key, config) => {
19
- // If no LocaleProvider is used we need to load the default locale as the translations will be empty
20
- if (Object.keys(i18n_js_1.default.translations).length === 0) {
21
- i18n_js_1.default.translations = {
22
- [types_1.SupportedLanguage.ENGLISH]: _a.translationGetters[types_1.SupportedLanguage.ENGLISH](),
23
- };
24
- i18n_js_1.default.locale = types_1.SupportedLanguage.ENGLISH;
25
- }
26
- else {
27
- i18n_js_1.default.translations = {
28
- [i18n_js_1.default.locale]: Object.assign(Object.assign({}, i18n_js_1.default.translations[i18n_js_1.default.locale]), _a.translationGetters[_a.findSupportedLanguage(i18n_js_1.default.locale) || types_1.SupportedLanguage.ENGLISH]()),
29
- };
30
- }
31
- return i18n_js_1.default.t(key, config);
32
- }, (key, config) => (config ? key + JSON.stringify(config) : key));
33
- Localization.findSupportedLanguage = (locale) => {
34
- for (const language of Object.values(types_1.SupportedLanguage)) {
35
- if (language === locale) {
36
- return language;
37
- }
38
- }
39
- return undefined;
40
- };
41
- Localization.getLocale = () => {
42
- return i18n_js_1.default.locale || types_1.SupportedLanguage.ENGLISH;
43
- };
44
- exports.translate = Localization.translate;
45
- exports.default = Localization;
46
- //# sourceMappingURL=Localization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Localization.js","sourceRoot":"","sources":["../../src/localization/Localization.ts"],"names":[],"mappings":";;;;;;;AAAA,sDAAuD;AACvD,oEAAoC;AACpC,oCAA4C;AAE5C,MAAM,YAAY;;;AACD,+BAAkB,GAAuC;IACtE,CAAC,yBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACpE,CAAC,yBAAiB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;CACnE,AAHgC,CAGhC;AAEa,sBAAS,GAAQ,IAAA,wBAAO,EACpC,CAAC,GAAU,EAAE,MAAyB,EAAE,EAAE;IACxC,oGAAoG;IACpG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,iBAAI,CAAC,YAAY,GAAG;YAClB,CAAC,yBAAiB,CAAC,OAAO,CAAC,EAAE,EAAY,CAAC,kBAAkB,CAAC,yBAAiB,CAAC,OAAO,CAAC,EAAE;SAC1F,CAAA;QACD,iBAAI,CAAC,MAAM,GAAG,yBAAiB,CAAC,OAAO,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,iBAAI,CAAC,YAAY,GAAG;YAClB,CAAC,iBAAI,CAAC,MAAM,CAAC,kCACR,iBAAI,CAAC,YAAY,CAAC,iBAAI,CAAC,MAAM,CAAC,GAC9B,EAAY,CAAC,kBAAkB,CAAC,EAAI,CAAC,qBAAqB,CAAC,iBAAI,CAAC,MAAM,CAAC,IAAI,yBAAiB,CAAC,OAAO,CAAC,EAAE,CAC3G;SACF,CAAA;IACH,CAAC;IAED,OAAO,iBAAI,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC,EACD,CAAC,GAAU,EAAE,MAAyB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CACzF,AApBsB,CAoBtB;AAEc,kCAAqB,GAAG,CAAC,MAAc,EAAsB,EAAE;IAC5E,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAC,EAAE,CAAC;QACxD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,AARmC,CAQnC;AAEa,sBAAS,GAAG,GAAW,EAAE;IACrC,OAAO,iBAAI,CAAC,MAAM,IAAI,yBAAiB,CAAC,OAAO,CAAA;AACjD,CAAC,AAFsB,CAEtB;AAGU,QAAA,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;AAC/C,kBAAe,YAAY,CAAA"}
@@ -1,9 +0,0 @@
1
- {
2
- "siopv2_machine_identifier_error_title": "Getting identifier",
3
- "siopv2_machine_create_config_error_title": "Creating siopV2 config",
4
- "siopv2_machine_get_request_error_title": "Getting siopV2 request",
5
- "siopv2_machine_get_selectable_credentials_error_title": "Getting siopV2 selectable credentials",
6
- "siopv2_machine_retrieve_contact_error_title": "Retrieve contact",
7
- "siopv2_machine_add_contact_identity_error_title": "Add contact identity",
8
- "siopv2_machine_send_response_error_title": "Sending siopV2 response"
9
- }
@@ -1,8 +0,0 @@
1
- {
2
- "siopv2_machine_identifier_error_title": "Identifier ophalen",
3
- "siopv2_machine_create_config_error_title": "SiopV2 configuratie maken",
4
- "siopv2_machine_get_request_error_title": "SiopV2 verzoek ophalen",
5
- "siopv2_machine_retrieve_contact_error_title": "Ophalen credential",
6
- "siopv2_machine_add_contact_identity_error_title": "Toevoegen identiteit contact",
7
- "siopv2_machine_send_response_error_title": "SiopV2 antwoord verzenden"
8
- }
@@ -1,3 +0,0 @@
1
- import { Siopv2MachineInterpreter, Siopv2MachineState, Siopv2MachineStates } from '../types';
2
- export declare const OID4VPCallbackStateListener: (callbacks?: Map<Siopv2MachineStates, (machine: Siopv2MachineInterpreter, state: Siopv2MachineState, opts?: any) => Promise<void>>) => (oid4vciMachine: Siopv2MachineInterpreter, state: Siopv2MachineState) => Promise<void>;
3
- //# sourceMappingURL=CallbackStateListener.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CallbackStateListener.d.ts","sourceRoot":"","sources":["../../src/machine/CallbackStateListener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAO5F,eAAO,MAAM,2BAA2B,eAC1B,GAAG,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,sBAEnG,wBAAwB,SAAS,kBAAkB,KAAG,OAAO,CAAC,IAAI,CA+BjG,CAAA"}
@@ -1,48 +0,0 @@
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.OID4VPCallbackStateListener = void 0;
13
- const ssi_types_1 = require("@sphereon/ssi-types");
14
- const logger = ssi_types_1.Loggers.DEFAULT.options('sphereon:siopv2-oid4vp:op-auth', {
15
- defaultLogLevel: ssi_types_1.LogLevel.DEBUG,
16
- methods: [ssi_types_1.LogMethod.CONSOLE],
17
- }).get('sphereon:siopv2-oid4vp:op-auth');
18
- const OID4VPCallbackStateListener = (callbacks) => {
19
- return (oid4vciMachine, state) => __awaiter(void 0, void 0, void 0, function* () {
20
- if (state._event.type === 'internal') {
21
- logger.debug('oid4vpCallbackStateListener: internal event');
22
- // Make sure we do not navigate when triggered by an internal event. We need to stay on current screen
23
- // Make sure we do not navigate when state has not changed
24
- return;
25
- }
26
- logger.info(`VP state listener state: ${JSON.stringify(state.value)}`);
27
- if (!callbacks || callbacks.size === 0) {
28
- logger.info(`VP no callbacks registered for state: ${JSON.stringify(state.value)}`);
29
- return;
30
- }
31
- for (const [stateKey, callback] of callbacks) {
32
- if (state.matches(stateKey)) {
33
- logger.log(`VP state callback for state: ${JSON.stringify(state.value)}, will execute...`);
34
- yield callback(oid4vciMachine, state)
35
- .then(() => logger.log(`VP state callback executed for state: ${JSON.stringify(state.value)}`))
36
- .catch((error) => {
37
- logger.error(`VP state callback failed for state: ${JSON.stringify(state.value)}, error: ${JSON.stringify(error === null || error === void 0 ? void 0 : error.message)}, ${JSON.stringify(state.event)}`);
38
- if (error.stack) {
39
- logger.error(error.stack);
40
- }
41
- });
42
- break;
43
- }
44
- }
45
- });
46
- };
47
- exports.OID4VPCallbackStateListener = OID4VPCallbackStateListener;
48
- //# sourceMappingURL=CallbackStateListener.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CallbackStateListener.js","sourceRoot":"","sources":["../../src/machine/CallbackStateListener.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAkE;AAGlE,MAAM,MAAM,GAAG,mBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE;IACvE,eAAe,EAAE,oBAAQ,CAAC,KAAK;IAC/B,OAAO,EAAE,CAAC,qBAAS,CAAC,OAAO,CAAC;CAC7B,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AAEjC,MAAM,2BAA2B,GAAG,CACzC,SAAiI,EACjI,EAAE;IACF,OAAO,CAAO,cAAwC,EAAE,KAAyB,EAAiB,EAAE;QAClG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC3D,sGAAsG;YACtG,0DAA0D;YAC1D,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEtE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnF,OAAM;QACR,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;gBAC1F,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC;qBAClC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBAC9F,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,CAAC,KAAK,CACV,uCAAuC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAC/I,CAAA;oBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAC3B,CAAC;gBACH,CAAC,CAAC,CAAA;gBACJ,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC,CAAA,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,2BAA2B,+BAkCvC"}
@@ -1,8 +0,0 @@
1
- import { Siopv2MachineInstanceOpts, Siopv2MachineInterpreter } from '../types';
2
- export declare const logger: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
3
- export declare class Siopv2Machine {
4
- static newInstance(opts: Siopv2MachineInstanceOpts): {
5
- interpreter: Siopv2MachineInterpreter;
6
- };
7
- }
8
- //# sourceMappingURL=Siopv2Machine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Siopv2Machine.d.ts","sourceRoot":"","sources":["../../src/machine/Siopv2Machine.ts"],"names":[],"mappings":"AAKA,OAAO,EAWL,yBAAyB,EACzB,wBAAwB,EAKzB,MAAM,UAAU,CAAA;AAIjB,eAAO,MAAM,MAAM,sDAAwC,CAAA;AAiX3D,qBAAa,aAAa;IACxB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,yBAAyB,GAAG;QAAE,WAAW,EAAE,wBAAwB,CAAA;KAAE;CAsC/F"}