@sphereon/ssi-sdk.oid4vci-holder 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.
Files changed (55) hide show
  1. package/dist/agent/OID4VCIHolder.d.ts +59 -0
  2. package/dist/agent/OID4VCIHolder.d.ts.map +1 -0
  3. package/dist/agent/OID4VCIHolder.js +884 -0
  4. package/dist/agent/OID4VCIHolder.js.map +1 -0
  5. package/dist/index.d.ts +11 -785
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +31 -3111
  8. package/dist/index.js.map +1 -1
  9. package/dist/link-handler/index.d.ts +31 -0
  10. package/dist/link-handler/index.d.ts.map +1 -0
  11. package/dist/link-handler/index.js +65 -0
  12. package/dist/link-handler/index.js.map +1 -0
  13. package/dist/listeners/headlessStateNavListener.d.ts +3 -0
  14. package/dist/listeners/headlessStateNavListener.d.ts.map +1 -0
  15. package/dist/listeners/headlessStateNavListener.js +45 -0
  16. package/dist/listeners/headlessStateNavListener.js.map +1 -0
  17. package/dist/localization/Localization.d.ts +9 -0
  18. package/dist/localization/Localization.d.ts.map +1 -0
  19. package/dist/localization/Localization.js +46 -0
  20. package/dist/localization/Localization.js.map +1 -0
  21. package/dist/localization/translations/en.json +19 -0
  22. package/dist/localization/translations/nl.json +18 -0
  23. package/dist/machines/firstPartyMachine.d.ts +15 -0
  24. package/dist/machines/firstPartyMachine.d.ts.map +1 -0
  25. package/dist/machines/firstPartyMachine.js +222 -0
  26. package/dist/machines/firstPartyMachine.js.map +1 -0
  27. package/dist/machines/oid4vciMachine.d.ts +7 -0
  28. package/dist/machines/oid4vciMachine.d.ts.map +1 -0
  29. package/dist/machines/oid4vciMachine.js +727 -0
  30. package/dist/machines/oid4vciMachine.js.map +1 -0
  31. package/dist/mappers/OIDC4VCIBrandingMapper.d.ts +16 -0
  32. package/dist/mappers/OIDC4VCIBrandingMapper.d.ts.map +1 -0
  33. package/dist/mappers/OIDC4VCIBrandingMapper.js +201 -0
  34. package/dist/mappers/OIDC4VCIBrandingMapper.js.map +1 -0
  35. package/dist/services/FirstPartyMachineServices.d.ts +9 -0
  36. package/dist/services/FirstPartyMachineServices.d.ts.map +1 -0
  37. package/dist/services/FirstPartyMachineServices.js +53 -0
  38. package/dist/services/FirstPartyMachineServices.js.map +1 -0
  39. package/dist/services/OID4VCIHolderService.d.ts +28 -0
  40. package/dist/services/OID4VCIHolderService.d.ts.map +1 -0
  41. package/dist/services/OID4VCIHolderService.js +524 -0
  42. package/dist/services/OID4VCIHolderService.js.map +1 -0
  43. package/dist/types/FirstPartyMachine.d.ts +112 -0
  44. package/dist/types/FirstPartyMachine.d.ts.map +1 -0
  45. package/dist/types/FirstPartyMachine.js +30 -0
  46. package/dist/types/FirstPartyMachine.js.map +1 -0
  47. package/dist/types/IOID4VCIHolder.d.ts +558 -0
  48. package/dist/types/IOID4VCIHolder.d.ts.map +1 -0
  49. package/dist/types/IOID4VCIHolder.js +114 -0
  50. package/dist/types/IOID4VCIHolder.js.map +1 -0
  51. package/package.json +34 -44
  52. package/src/agent/OID4VCIHolder.ts +4 -3
  53. package/dist/index.cjs +0 -3142
  54. package/dist/index.cjs.map +0 -1
  55. package/dist/index.d.cts +0 -786
@@ -0,0 +1,31 @@
1
+ import { AuthorizationRequestOpts, AuthorizationServerClientOpts, AuthzFlowType } from '@sphereon/oid4vci-common';
2
+ import { DefaultLinkPriorities, 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, IOID4VCIHolder } from '../types/IOID4VCIHolder';
6
+ /**
7
+ * This handler only handles credential offer links (either by value or by reference)
8
+ */
9
+ export declare class OID4VCIHolderLinkHandler extends LinkHandlerAdapter {
10
+ private readonly context;
11
+ private readonly stateNavigationListener?;
12
+ private readonly firstPartyStateNavigationListener?;
13
+ private readonly noStateMachinePersistence;
14
+ private readonly authorizationRequestOpts?;
15
+ private readonly clientOpts?;
16
+ private readonly trustAnchors?;
17
+ constructor(args: Pick<GetMachineArgs, 'stateNavigationListener' | 'authorizationRequestOpts' | 'clientOpts' | 'trustAnchors' | 'firstPartyStateNavigationListener'> & {
18
+ priority?: number | DefaultLinkPriorities;
19
+ protocols?: Array<string | RegExp>;
20
+ noStateMachinePersistence?: boolean;
21
+ context: IAgentContext<IOID4VCIHolder & IMachineStatePersistence>;
22
+ });
23
+ handle(url: string | URL, opts?: {
24
+ machineState?: SerializableState;
25
+ authorizationRequestOpts?: AuthorizationRequestOpts;
26
+ createAuthorizationRequestURL?: boolean;
27
+ clientOpts?: AuthorizationServerClientOpts;
28
+ flowType?: AuthzFlowType;
29
+ }): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,aAAa,EAA0B,MAAM,0BAA0B,CAAA;AACzI,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,wBAAwB,EAA4B,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACpI,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAA+D,MAAM,yBAAyB,CAAA;AAGrI;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0D;IAClF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAuC;IAChF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAA0C;IAC7F,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA0B;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;gBAG3C,IAAI,EAAE,IAAI,CACR,cAAc,EACd,yBAAyB,GAAG,0BAA0B,GAAG,YAAY,GAAG,cAAc,GAAG,mCAAmC,CAC7H,GAAG;QACF,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;QACzC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QAClC,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,OAAO,EAAE,aAAa,CAAC,cAAc,GAAG,wBAAwB,CAAC,CAAA;KAClE;IAYG,MAAM,CACV,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,iBAAiB,CAAA;QAChC,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;QACnD,6BAA6B,CAAC,EAAE,OAAO,CAAA;QACvC,UAAU,CAAC,EAAE,6BAA6B,CAAA;QAC1C,QAAQ,CAAC,EAAE,aAAa,CAAA;KACzB,GACA,OAAO,CAAC,IAAI,CAAC;CA4CjB"}
@@ -0,0 +1,65 @@
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.OID4VCIHolderLinkHandler = void 0;
13
+ const oid4vci_client_1 = require("@sphereon/oid4vci-client");
14
+ const oid4vci_common_1 = require("@sphereon/oid4vci-common");
15
+ const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
16
+ const ssi_sdk_xstate_machine_persistence_1 = require("@sphereon/ssi-sdk.xstate-machine-persistence");
17
+ const IOID4VCIHolder_1 = require("../types/IOID4VCIHolder");
18
+ /**
19
+ * This handler only handles credential offer links (either by value or by reference)
20
+ */
21
+ class OID4VCIHolderLinkHandler extends ssi_sdk_core_1.LinkHandlerAdapter {
22
+ constructor(args) {
23
+ super(Object.assign(Object.assign({}, args), { id: 'OID4VCIHolder' }));
24
+ this.authorizationRequestOpts = args.authorizationRequestOpts;
25
+ this.clientOpts = args.clientOpts;
26
+ this.context = args.context;
27
+ this.noStateMachinePersistence = args.noStateMachinePersistence === true;
28
+ this.stateNavigationListener = args.stateNavigationListener;
29
+ this.firstPartyStateNavigationListener = args.firstPartyStateNavigationListener;
30
+ this.trustAnchors = args.trustAnchors;
31
+ }
32
+ handle(url, opts) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const uri = new URL(url).toString();
35
+ const offerData = (0, oid4vci_common_1.convertURIToJsonObject)(uri);
36
+ const hasCode = 'code' in offerData && !!offerData.code && !('issuer' in offerData);
37
+ const code = hasCode ? offerData.code : undefined;
38
+ const clientOpts = Object.assign(Object.assign({}, this.clientOpts), opts === null || opts === void 0 ? void 0 : opts.clientOpts);
39
+ const oid4vciMachine = yield this.context.agent.oid4vciHolderGetMachineInterpreter(Object.assign(Object.assign({ requestData: Object.assign(Object.assign(Object.assign({}, (!hasCode && { credentialOffer: yield oid4vci_client_1.CredentialOfferClient.fromURI(uri) })), (hasCode && { code: code })), { createAuthorizationRequestURL: opts === null || opts === void 0 ? void 0 : opts.createAuthorizationRequestURL, flowType: opts === null || opts === void 0 ? void 0 : opts.flowType, uri }), trustAnchors: this.trustAnchors, authorizationRequestOpts: Object.assign(Object.assign({}, this.authorizationRequestOpts), opts === null || opts === void 0 ? void 0 : opts.authorizationRequestOpts) }, ((clientOpts.clientId || clientOpts.clientAssertionType) && { clientOpts: clientOpts })), { stateNavigationListener: this.stateNavigationListener, firstPartyStateNavigationListener: this.firstPartyStateNavigationListener }));
40
+ const interpreter = oid4vciMachine.interpreter;
41
+ //FIXME we need a better way to check if the state persistence plugin is available in the agent
42
+ if (!(opts === null || opts === void 0 ? void 0 : opts.machineState) && this.context.agent.availableMethods().includes('machineStatesFindActive')) {
43
+ const stateType = hasCode ? 'existing' : 'new';
44
+ yield (0, ssi_sdk_xstate_machine_persistence_1.interpreterStartOrResume)({
45
+ stateType,
46
+ interpreter,
47
+ context: this.context,
48
+ cleanupAllOtherInstances: true,
49
+ cleanupOnFinalState: true,
50
+ singletonCheck: true,
51
+ noRegistration: this.noStateMachinePersistence,
52
+ });
53
+ }
54
+ else {
55
+ // @ts-ignore
56
+ interpreter.start(opts === null || opts === void 0 ? void 0 : opts.machineState);
57
+ }
58
+ if (hasCode) {
59
+ interpreter.send(IOID4VCIHolder_1.OID4VCIMachineEvents.PROVIDE_AUTHORIZATION_CODE_RESPONSE, { data: uri });
60
+ }
61
+ });
62
+ }
63
+ }
64
+ exports.OID4VCIHolderLinkHandler = OID4VCIHolderLinkHandler;
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { OID4VCIMachineInterpreter, OID4VCIMachineState, OID4VCIMachineStates } from '../types/IOID4VCIHolder';
2
+ export declare const OID4VCICallbackStateListener: (callbacks?: Map<OID4VCIMachineStates, (machine: OID4VCIMachineInterpreter, state: OID4VCIMachineState, opts?: any) => Promise<void>>) => (oid4vciMachine: OID4VCIMachineInterpreter, state: OID4VCIMachineState) => Promise<void>;
3
+ //# sourceMappingURL=headlessStateNavListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headlessStateNavListener.d.ts","sourceRoot":"","sources":["../../src/listeners/headlessStateNavListener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAM9G,eAAO,MAAM,4BAA4B,eAC3B,GAAG,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,sBAEtG,yBAAyB,SAAS,mBAAmB,KAAG,OAAO,CAAC,IAAI,CA+BnG,CAAA"}
@@ -0,0 +1,45 @@
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.OID4VCICallbackStateListener = void 0;
13
+ const ssi_types_1 = require("@sphereon/ssi-types");
14
+ const logger = ssi_types_1.Loggers.DEFAULT.options('sphereon:oid4vci:holder', { defaultLogLevel: ssi_types_1.LogLevel.DEBUG, methods: [ssi_types_1.LogMethod.CONSOLE] }).get('sphereon:oid4vci:holder');
15
+ const OID4VCICallbackStateListener = (callbacks) => {
16
+ return (oid4vciMachine, state) => __awaiter(void 0, void 0, void 0, function* () {
17
+ if (state._event.type === 'internal') {
18
+ logger.debug('oid4vciCallbackStateListener: internal event');
19
+ // Make sure we do not navigate when triggered by an internal event. We need to stay on current screen
20
+ // Make sure we do not navigate when state has not changed
21
+ return;
22
+ }
23
+ logger.info(`VCI state listener state: ${JSON.stringify(state.value)}`);
24
+ if (!callbacks || callbacks.size === 0) {
25
+ logger.info(`VCI no callbacks registered for state: ${JSON.stringify(state.value)}`);
26
+ return;
27
+ }
28
+ for (const [stateKey, callback] of callbacks) {
29
+ if (state.matches(stateKey)) {
30
+ logger.log(`VCI state callback for state: ${JSON.stringify(state.value)}, will execute...`);
31
+ yield callback(oid4vciMachine, state)
32
+ .then(() => logger.log(`state callback executed for state: ${JSON.stringify(state.value)}`))
33
+ .catch((error) => {
34
+ logger.error(`VCI 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)}`);
35
+ if (error.stack) {
36
+ logger.error(error.stack);
37
+ }
38
+ });
39
+ break;
40
+ }
41
+ }
42
+ });
43
+ };
44
+ exports.OID4VCICallbackStateListener = OID4VCICallbackStateListener;
45
+ //# sourceMappingURL=headlessStateNavListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headlessStateNavListener.js","sourceRoot":"","sources":["../../src/listeners/headlessStateNavListener.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAkE;AAGlE,MAAM,MAAM,GAAG,mBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,eAAe,EAAE,oBAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,qBAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CACtI,yBAAyB,CAC1B,CAAA;AAEM,MAAM,4BAA4B,GAAG,CAC1C,SAAoI,EACpI,EAAE;IACF,OAAO,CAAO,cAAyC,EAAE,KAA0B,EAAiB,EAAE;QACpG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;YAC5D,sGAAsG;YACtG,0DAA0D;YAC1D,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEvE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACpF,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,iCAAiC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;gBAC3F,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC;qBAClC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBAC3F,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,CAAC,KAAK,CACV,wCAAwC,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,CAChJ,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,4BAA4B,gCAkCxC"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,46 @@
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 IOID4VCIHolder_1 = require("../types/IOID4VCIHolder");
11
+ class Localization {
12
+ }
13
+ _a = Localization;
14
+ Localization.translationGetters = {
15
+ [IOID4VCIHolder_1.SupportedLanguage.ENGLISH]: () => require('./translations/en.json'),
16
+ [IOID4VCIHolder_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
+ [IOID4VCIHolder_1.SupportedLanguage.ENGLISH]: _a.translationGetters[IOID4VCIHolder_1.SupportedLanguage.ENGLISH](),
23
+ };
24
+ i18n_js_1.default.locale = IOID4VCIHolder_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) || IOID4VCIHolder_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(IOID4VCIHolder_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 || IOID4VCIHolder_1.SupportedLanguage.ENGLISH;
43
+ };
44
+ exports.translate = Localization.translate;
45
+ exports.default = Localization;
46
+ //# sourceMappingURL=Localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Localization.js","sourceRoot":"","sources":["../../src/localization/Localization.ts"],"names":[],"mappings":";;;;;;;AAAA,sDAAuD;AACvD,oEAAoC;AACpC,4DAA2D;AAE3D,MAAM,YAAY;;;AACD,+BAAkB,GAAuC;IACtE,CAAC,kCAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACpE,CAAC,kCAAiB,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,kCAAiB,CAAC,OAAO,CAAC,EAAE,EAAY,CAAC,kBAAkB,CAAC,kCAAiB,CAAC,OAAO,CAAC,EAAE;SAC1F,CAAA;QACD,iBAAI,CAAC,MAAM,GAAG,kCAAiB,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,kCAAiB,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,kCAAiB,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,kCAAiB,CAAC,OAAO,CAAA;AACjD,CAAC,AAFsB,CAEtB;AAGU,QAAA,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;AAC/C,kBAAe,YAAY,CAAA"}
@@ -0,0 +1,19 @@
1
+ {
2
+ "oid4vci_machine_verify_credentials_error_title": "Verify credentials",
3
+ "oid4vci_machine_store_credential_branding_error_title": "Store credential branding",
4
+ "oid4vci_machine_store_credential_error_title": "Store credential",
5
+ "oid4vci_machine_add_contact_identity_error_title": "Add contact identity",
6
+ "oid4vci_machine_retrieve_credentials_error_title": "Retrieve credentials",
7
+ "oid4vci_machine_retrieve_issuer_branding_error_title": "Retrieve issuer branding",
8
+ "oid4vci_machine_store_issuer_branding_error_title": "Store issuer branding",
9
+ "oid4vci_machine_retrieve_contact_error_title": "Retrieve contact",
10
+ "oid4vci_machine_credential_selection_error_title": "Credential selection",
11
+ "oid4vci_machine_initiation_error_title": "Initiate OID4VCI provider",
12
+ "oid4vci_machine_credential_verification_failed_message": "The credential verification resulted in an error.",
13
+ "oid4vci_machine_credential_verification_schema_failed_message": "The credential schema verification resulted in an error.",
14
+ "oid4vci_machine_retrieve_federation_trust_error_title": "Retrieve federation trust",
15
+ "oid4vci_machine_first_party_error_title": "First party flow",
16
+ "oid4vci_machine_send_authorization_challenge_request_error_title": "Sending authorization challenge request",
17
+ "oid4vci_machine_create_config_error_title": "Creating siopV2 config",
18
+ "oid4vci_machine_get_request_error_title": "Getting siopV2 request"
19
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "oid4vci_machine_verify_credentials_error_title": "Verifiëren credential",
3
+ "oid4vci_machine_store_credential_branding_error_title": "Opslaan credential branding",
4
+ "oid4vci_machine_store_credential_error_title": "Opslaan credential",
5
+ "oid4vci_machine_add_contact_identity_error_title": "Toevoegen identiteit contact",
6
+ "oid4vci_machine_retrieve_credentials_error_title": "Ophalen credential",
7
+ "oid4vci_machine_retrieve_issuer_branding_error_title": "Ophalen issuer branding",
8
+ "oid4vci_machine_store_issuer_branding_error_title": "Opslaan issuer branding",
9
+ "oid4vci_machine_retrieve_contact_error_title": "Ophalen contact",
10
+ "oid4vci_machine_credential_selection_error_title": "Credential selectie",
11
+ "oid4vci_machine_initiation_error_title": "Initiëren OID4VCI provider",
12
+ "oid4vci_machine_credential_verification_failed_message": "Verificatie van de credential leidde tot een fout.",
13
+ "oid4vci_machine_retrieve_federation_trust_error_title": "Ophalen federatievertrouwen",
14
+ "oid4vci_machine_first_party_error_title": "Eerste partijstroom",
15
+ "oid4vci_machine_send_authorization_challenge_request_error_title": "Versturen autorisatie-uitdaging aanvraag",
16
+ "oid4vci_machine_create_config_error_title": "SiopV2-configuratie aanmaken",
17
+ "oid4vci_machine_get_request_error_title": "SiopV2-verzoek ophalen"
18
+ }
@@ -0,0 +1,15 @@
1
+ import { FirstPartyMachineInterpreter, InstanceFirstPartyMachineOpts } from '../types/FirstPartyMachine';
2
+ export declare class FirstPartyMachine {
3
+ private static _instance;
4
+ static hasInstance(): boolean;
5
+ static get instance(): FirstPartyMachineInterpreter;
6
+ static clearInstance(opts: {
7
+ stop: boolean;
8
+ }): void;
9
+ static stopInstance(): void;
10
+ static newInstance(opts: InstanceFirstPartyMachineOpts): FirstPartyMachineInterpreter;
11
+ static getInstance(opts: InstanceFirstPartyMachineOpts & {
12
+ requireExisting?: boolean;
13
+ }): FirstPartyMachineInterpreter;
14
+ }
15
+ //# sourceMappingURL=firstPartyMachine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firstPartyMachine.d.ts","sourceRoot":"","sources":["../../src/machines/firstPartyMachine.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,4BAA4B,EAQ5B,6BAA6B,EAI9B,MAAM,4BAA4B,CAAA;AA2KnC,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA0C;IAElE,MAAM,CAAC,WAAW,IAAI,OAAO;IAI7B,MAAM,KAAK,QAAQ,IAAI,4BAA4B,CAKlD;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE;IAU5C,MAAM,CAAC,YAAY,IAAI,IAAI;WAQb,WAAW,CAAC,IAAI,EAAE,6BAA6B,GAAG,4BAA4B;IAoC5F,MAAM,CAAC,WAAW,CAChB,IAAI,EAAE,6BAA6B,GAAG;QACpC,eAAe,CAAC,EAAE,OAAO,CAAA;KAC1B,GACA,4BAA4B;CAShC"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirstPartyMachine = void 0;
4
+ const xstate_1 = require("xstate");
5
+ const oid4vci_common_1 = require("@sphereon/oid4vci-common");
6
+ const FirstPartyMachineServices_1 = require("../services/FirstPartyMachineServices");
7
+ const Localization_1 = require("../localization/Localization");
8
+ const FirstPartyMachine_1 = require("../types/FirstPartyMachine");
9
+ const firstPartyMachineStates = {
10
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.sendAuthorizationChallengeRequest]: {
11
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.sendAuthorizationChallengeRequest,
12
+ invoke: {
13
+ src: FirstPartyMachine_1.FirstPartyMachineServices.sendAuthorizationChallengeRequest,
14
+ onDone: {
15
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.done,
16
+ actions: (0, xstate_1.assign)({
17
+ authorizationCodeResponse: (_ctx, _event) => _event.data,
18
+ }),
19
+ },
20
+ onError: [
21
+ {
22
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.createConfig,
23
+ cond: (_ctx, _event) => _event.data.error === oid4vci_common_1.AuthorizationChallengeError.insufficient_authorization,
24
+ actions: (0, xstate_1.assign)({
25
+ authSession: (_ctx, _event) => _event.data.auth_session,
26
+ presentationUri: (_ctx, _event) => _event.data.presentation,
27
+ }),
28
+ },
29
+ {
30
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.error,
31
+ actions: (0, xstate_1.assign)({
32
+ error: (_ctx, _event) => ({
33
+ title: (0, Localization_1.translate)('oid4vci_machine_send_authorization_challenge_request_error_title'),
34
+ message: _event.data.message,
35
+ stack: _event.data.stack,
36
+ }),
37
+ }),
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.createConfig]: {
43
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.createConfig,
44
+ invoke: {
45
+ src: FirstPartyMachine_1.FirstPartyMachineServices.createConfig,
46
+ onDone: {
47
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.getSiopRequest,
48
+ actions: (0, xstate_1.assign)({
49
+ didAuthConfig: (_ctx, _event) => _event.data,
50
+ }),
51
+ },
52
+ onError: {
53
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.error,
54
+ actions: (0, xstate_1.assign)({
55
+ error: (_ctx, _event) => ({
56
+ title: (0, Localization_1.translate)('oid4vci_machine_create_config_error_title'),
57
+ message: _event.data.message,
58
+ stack: _event.data.stack,
59
+ }),
60
+ }),
61
+ },
62
+ },
63
+ },
64
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.getSiopRequest]: {
65
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.getSiopRequest,
66
+ invoke: {
67
+ src: FirstPartyMachine_1.FirstPartyMachineServices.getSiopRequest,
68
+ onDone: {
69
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.selectCredentials,
70
+ actions: (0, xstate_1.assign)({
71
+ authorizationRequestData: (_ctx, _event) => _event.data,
72
+ }),
73
+ },
74
+ onError: {
75
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.error,
76
+ actions: (0, xstate_1.assign)({
77
+ error: (_ctx, _event) => ({
78
+ title: (0, Localization_1.translate)('siopV2_machine_get_request_error_title'),
79
+ message: _event.data.message,
80
+ stack: _event.data.stack,
81
+ }),
82
+ }),
83
+ },
84
+ },
85
+ },
86
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.selectCredentials]: {
87
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.selectCredentials,
88
+ on: {
89
+ [FirstPartyMachine_1.FirstPartyMachineEvents.SET_SELECTED_CREDENTIALS]: {
90
+ actions: (0, xstate_1.assign)({ selectedCredentials: (_ctx, _event) => _event.data }),
91
+ },
92
+ [FirstPartyMachine_1.FirstPartyMachineEvents.NEXT]: {
93
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.sendAuthorizationResponse,
94
+ },
95
+ [FirstPartyMachine_1.FirstPartyMachineEvents.DECLINE]: {
96
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.declined,
97
+ },
98
+ [FirstPartyMachine_1.FirstPartyMachineEvents.PREVIOUS]: {
99
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.aborted,
100
+ },
101
+ },
102
+ },
103
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.sendAuthorizationResponse]: {
104
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.sendAuthorizationResponse,
105
+ invoke: {
106
+ src: FirstPartyMachine_1.FirstPartyMachineServices.sendAuthorizationResponse,
107
+ onDone: {
108
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.sendAuthorizationChallengeRequest,
109
+ actions: (0, xstate_1.assign)({
110
+ presentationDuringIssuanceSession: (_ctx, _event) => _event.data,
111
+ }),
112
+ },
113
+ onError: {
114
+ target: FirstPartyMachine_1.FirstPartyMachineStateTypes.error,
115
+ actions: (0, xstate_1.assign)({
116
+ error: (_ctx, _event) => ({
117
+ title: (0, Localization_1.translate)('oid4vci_machine_get_request_error_title'),
118
+ message: _event.data.message,
119
+ stack: _event.data.stack,
120
+ }),
121
+ }),
122
+ },
123
+ },
124
+ },
125
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.aborted]: {
126
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.aborted,
127
+ type: 'final',
128
+ },
129
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.declined]: {
130
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.declined,
131
+ type: 'final',
132
+ },
133
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.error]: {
134
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.error,
135
+ type: 'final',
136
+ },
137
+ [FirstPartyMachine_1.FirstPartyMachineStateTypes.done]: {
138
+ id: FirstPartyMachine_1.FirstPartyMachineStateTypes.done,
139
+ type: 'final',
140
+ },
141
+ };
142
+ const createFirstPartyActivationMachine = (opts) => {
143
+ var _a;
144
+ const initialContext = {
145
+ openID4VCIClientState: opts.openID4VCIClientState,
146
+ contact: opts.contact,
147
+ selectedCredentials: [],
148
+ };
149
+ return (0, xstate_1.createMachine)({
150
+ id: (_a = opts === null || opts === void 0 ? void 0 : opts.machineId) !== null && _a !== void 0 ? _a : 'FirstParty',
151
+ predictableActionArguments: true,
152
+ initial: FirstPartyMachine_1.FirstPartyMachineStateTypes.sendAuthorizationChallengeRequest,
153
+ context: initialContext,
154
+ states: firstPartyMachineStates,
155
+ schema: {
156
+ events: {},
157
+ services: {},
158
+ },
159
+ });
160
+ };
161
+ class FirstPartyMachine {
162
+ static hasInstance() {
163
+ return FirstPartyMachine._instance !== undefined;
164
+ }
165
+ static get instance() {
166
+ if (!FirstPartyMachine._instance) {
167
+ throw Error('Please initialize ESIMActivation machine first');
168
+ }
169
+ return FirstPartyMachine._instance;
170
+ }
171
+ static clearInstance(opts) {
172
+ const { stop } = opts;
173
+ if (FirstPartyMachine.hasInstance()) {
174
+ if (stop) {
175
+ FirstPartyMachine.stopInstance();
176
+ }
177
+ }
178
+ FirstPartyMachine._instance = undefined;
179
+ }
180
+ static stopInstance() {
181
+ if (!FirstPartyMachine.hasInstance()) {
182
+ return;
183
+ }
184
+ FirstPartyMachine.instance.stop();
185
+ FirstPartyMachine._instance = undefined;
186
+ }
187
+ static newInstance(opts) {
188
+ const { agentContext } = opts;
189
+ const services = {
190
+ [FirstPartyMachine_1.FirstPartyMachineServices.sendAuthorizationChallengeRequest]: FirstPartyMachineServices_1.sendAuthorizationChallengeRequest,
191
+ [FirstPartyMachine_1.FirstPartyMachineServices.createConfig]: (args) => (0, FirstPartyMachineServices_1.createConfig)(args, agentContext),
192
+ [FirstPartyMachine_1.FirstPartyMachineServices.getSiopRequest]: (args) => (0, FirstPartyMachineServices_1.getSiopRequest)(args, agentContext),
193
+ [FirstPartyMachine_1.FirstPartyMachineServices.sendAuthorizationResponse]: (args) => (0, FirstPartyMachineServices_1.sendAuthorizationResponse)(args, agentContext),
194
+ };
195
+ const newInst = (0, xstate_1.interpret)(createFirstPartyActivationMachine(opts).withConfig({
196
+ services: Object.assign(Object.assign({}, services), opts === null || opts === void 0 ? void 0 : opts.services),
197
+ guards: Object.assign({}, opts === null || opts === void 0 ? void 0 : opts.guards),
198
+ }));
199
+ if (typeof (opts === null || opts === void 0 ? void 0 : opts.subscription) === 'function') {
200
+ newInst.onTransition(opts.subscription);
201
+ }
202
+ if ((opts === null || opts === void 0 ? void 0 : opts.requireCustomNavigationHook) !== true) {
203
+ newInst.onTransition((snapshot) => {
204
+ if (opts === null || opts === void 0 ? void 0 : opts.stateNavigationListener) {
205
+ void opts.stateNavigationListener(newInst, snapshot);
206
+ }
207
+ });
208
+ }
209
+ return newInst;
210
+ }
211
+ static getInstance(opts) {
212
+ if (!FirstPartyMachine._instance) {
213
+ if ((opts === null || opts === void 0 ? void 0 : opts.requireExisting) === true) {
214
+ throw Error(`Existing FirstPartyMachine instance requested, but none was created at this point!`);
215
+ }
216
+ FirstPartyMachine._instance = FirstPartyMachine.newInstance(opts);
217
+ }
218
+ return FirstPartyMachine._instance;
219
+ }
220
+ }
221
+ exports.FirstPartyMachine = FirstPartyMachine;
222
+ //# sourceMappingURL=firstPartyMachine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firstPartyMachine.js","sourceRoot":"","sources":["../../src/machines/firstPartyMachine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { OID4VCIMachineInstanceOpts, OID4VCIMachineInterpreter, RequiredContext } from '../types/IOID4VCIHolder';
2
+ export declare class OID4VCIMachine {
3
+ static newInstance(opts: OID4VCIMachineInstanceOpts, context: RequiredContext): Promise<{
4
+ interpreter: OID4VCIMachineInterpreter;
5
+ }>;
6
+ }
7
+ //# sourceMappingURL=oid4vciMachine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oid4vciMachine.d.ts","sourceRoot":"","sources":["../../src/machines/oid4vciMachine.ts"],"names":[],"mappings":"AAIA,OAAO,EAeL,0BAA0B,EAC1B,yBAAyB,EAMzB,eAAe,EAIhB,MAAM,yBAAyB,CAAA;AA+tBhC,qBAAa,cAAc;WACZ,WAAW,CAAC,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,yBAAyB,CAAA;KAAE,CAAC;CAyC1I"}