@incodetech/core 0.0.0-dev-20260504-8289e2f → 0.0.0-dev-20260505-8526ff0

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 (33) hide show
  1. package/dist/ae-signature.d.ts +1 -1
  2. package/dist/authentication.d.ts +2 -2
  3. package/dist/authentication.esm.js +2 -2
  4. package/dist/{authenticationManager-Cv8f-EY0.d.ts → authenticationManager-CQz8LKMD.d.ts} +1 -1
  5. package/dist/{authenticationManager-q_PFIkEl.esm.js → authenticationManager-D2cV2RYg.esm.js} +1 -1
  6. package/dist/consent.d.ts +53 -53
  7. package/dist/cpf-ocr.d.ts +23 -23
  8. package/dist/document-capture.d.ts +68 -68
  9. package/dist/document-upload.d.ts +40 -40
  10. package/dist/electronic-signature.d.ts +1 -1
  11. package/dist/extensibility.d.ts +4 -4
  12. package/dist/extensibility.esm.js +5 -5
  13. package/dist/{faceCaptureManagerFactory-3F-SgVzB.esm.js → faceCaptureManagerFactory-DM_o6znS.esm.js} +6 -2
  14. package/dist/{faceCaptureManagerFactory-DDXc7vZC.d.ts → faceCaptureManagerFactory-DfY95mko.d.ts} +3 -0
  15. package/dist/flow.esm.js +17 -12
  16. package/dist/home.d.ts +10 -10
  17. package/dist/id-ocr.d.ts +1 -1
  18. package/dist/id.d.ts +1 -1
  19. package/dist/id.esm.js +2 -2
  20. package/dist/{idCaptureManager-BDTqAYim.esm.js → idCaptureManager-CEJN1LTW.esm.js} +4 -1
  21. package/dist/{idCaptureManager-BqeriSuc.d.ts → idCaptureManager-X3CG5c3T.d.ts} +6 -2
  22. package/dist/{idCaptureStateMachine-DLTCi-K-.esm.js → idCaptureStateMachine-Doo9KqTB.esm.js} +26 -1
  23. package/dist/identity-reuse.d.ts +40 -40
  24. package/dist/{index-BaZskbWt.d.ts → index-DJcS37eh.d.ts} +119 -119
  25. package/dist/mandatory-consent.d.ts +50 -50
  26. package/dist/qe-signature.d.ts +1 -1
  27. package/dist/selfie.d.ts +2 -2
  28. package/dist/selfie.esm.js +2 -2
  29. package/dist/{selfieManager-BNrwN1q6.d.ts → selfieManager-Bqf4qfIp.d.ts} +1 -1
  30. package/dist/{selfieManager--At6fdHu.esm.js → selfieManager-pGHW3GaN.esm.js} +1 -1
  31. package/dist/workflow.d.ts +82 -82
  32. package/dist/workflow.esm.js +1 -1
  33. package/package.json +1 -1
@@ -22,7 +22,10 @@ function mapState(snapshot) {
22
22
  const { context } = snapshot;
23
23
  if (snapshot.matches("idle")) return { status: "idle" };
24
24
  if (snapshot.matches("loading")) return { status: "loading" };
25
- if (snapshot.matches("tutorial")) return { status: "tutorial" };
25
+ if (snapshot.matches("tutorial")) return {
26
+ status: "tutorial",
27
+ ageAssurance: context.config?.ageAssurance === true
28
+ };
26
29
  if (snapshot.matches("closed")) return { status: "closed" };
27
30
  if (snapshot.matches("permissions")) {
28
31
  const permissionStatus = getPermissionStatus(snapshot);
@@ -43,7 +46,8 @@ function mapState(snapshot) {
43
46
  debugFrame: context.debugFrame,
44
47
  attemptsRemaining: context.attemptsRemaining ?? 0,
45
48
  uploadError: context.uploadError,
46
- assistedOnboarding: context.config?.assistedOnboarding ?? false
49
+ assistedOnboarding: context.config?.assistedOnboarding ?? false,
50
+ ageAssurance: context.config?.ageAssurance === true
47
51
  };
48
52
  if (snapshot.matches("processing")) return { status: "processing" };
49
53
  if (snapshot.matches("finished")) return {
@@ -32,6 +32,7 @@ type BaseFaceCaptureConfig = {
32
32
  validateBrightness?: boolean;
33
33
  deepsightLiveness?: 'SINGLE_FRAME' | 'MULTIMODAL' | 'VIDEOLIVENESS';
34
34
  cameraResolution?: CameraResolution;
35
+ ageAssurance?: boolean;
35
36
  recording?: {
36
37
  capability?: IRecordingCapability;
37
38
  };
@@ -462,6 +463,7 @@ type FaceCaptureLoadingState = {
462
463
  /** Showing face capture tutorial */
463
464
  type FaceCaptureTutorialState = {
464
465
  status: 'tutorial';
466
+ ageAssurance?: boolean;
465
467
  };
466
468
  /** Handling camera permissions */
467
469
  type FaceCapturePermissionsState = {
@@ -486,6 +488,7 @@ type FaceCaptureCaptureState = {
486
488
  uploadError: string | undefined;
487
489
  /** Whether assisted onboarding mode is active (back camera, no mirror) */
488
490
  assistedOnboarding: boolean;
491
+ ageAssurance?: boolean;
489
492
  };
490
493
  /** Processing the captured face */
491
494
  type FaceCaptureProcessingState = {
package/dist/flow.esm.js CHANGED
@@ -179,7 +179,7 @@ function createApi({ actor, getSnapshot, trackElementClicked }) {
179
179
  const snapshot = getSnapshot();
180
180
  return snapshot.matches("ready") && snapshot.context.currentStepIndex > 0;
181
181
  }
182
- function getModuleConfig(moduleKey) {
182
+ function getModuleConfig$1(moduleKey) {
183
183
  const snapshot = getSnapshot();
184
184
  if (!snapshot.matches("ready")) return;
185
185
  return (snapshot.context.flow?.flowModules.find((m) => m.key === moduleKey))?.configuration;
@@ -214,7 +214,7 @@ function createApi({ actor, getSnapshot, trackElementClicked }) {
214
214
  get canPrev() {
215
215
  return getCanPrev();
216
216
  },
217
- getModuleConfig,
217
+ getModuleConfig: getModuleConfig$1,
218
218
  isModuleEnabled
219
219
  };
220
220
  }
@@ -295,6 +295,17 @@ function createModuleLoader(registry) {
295
295
 
296
296
  //#endregion
297
297
  //#region src/modules/flow/orchestratedFlowStateMachine.ts
298
+ function getModuleConfig(module, flow) {
299
+ const config = {
300
+ ...module?.configuration,
301
+ ds: flow?.ds
302
+ };
303
+ if (module?.key === "ID" || module?.key === "TUTORIAL_ID" || module?.key === "SECOND_ID" || module?.key === "SELFIE") return {
304
+ ...config,
305
+ ageAssurance: config.ageAssurance ?? flow?.ageAssurance
306
+ };
307
+ return config;
308
+ }
298
309
  function createBaseContext(context, isHomeContinueLoading) {
299
310
  return {
300
311
  flow: void 0,
@@ -375,10 +386,7 @@ const orchestratedFlowMachine = setup({
375
386
  const flow = event.output;
376
387
  const flowModules = flow.flowModules ?? [];
377
388
  const firstModule = flowModules[0];
378
- const config = {
379
- ...firstModule?.configuration,
380
- ds: flow.ds
381
- };
389
+ const config = getModuleConfig(firstModule, flow);
382
390
  return {
383
391
  flow,
384
392
  steps: flowModules.map((m) => m.key),
@@ -392,10 +400,7 @@ const orchestratedFlowMachine = setup({
392
400
  incrementStep: assign(({ context }) => {
393
401
  const nextIndex = context.currentStepIndex + 1;
394
402
  const module = context.flow?.flowModules?.[nextIndex];
395
- const config = {
396
- ...module?.configuration,
397
- ds: context.flow?.ds
398
- };
403
+ const config = getModuleConfig(module, context.flow);
399
404
  return {
400
405
  currentStepIndex: nextIndex,
401
406
  currentStep: module?.key,
@@ -713,7 +718,7 @@ function createOrchestratedFlowApi({ actor, getSnapshot, trackElementClicked },
713
718
  const { currentStepIndex, steps } = snapshot.context;
714
719
  return snapshot.value === "runningModule" && currentStepIndex >= 0 && currentStepIndex < steps.length - 1;
715
720
  }
716
- function getModuleConfig(moduleKey) {
721
+ function getModuleConfig$1(moduleKey) {
717
722
  const snapshot = getSnapshot();
718
723
  if (snapshot.value !== "runningModule") return;
719
724
  return (snapshot.context.flow?.flowModules.find((m) => m.key === moduleKey))?.configuration;
@@ -754,7 +759,7 @@ function createOrchestratedFlowApi({ actor, getSnapshot, trackElementClicked },
754
759
  get canNext() {
755
760
  return getCanNext();
756
761
  },
757
- getModuleConfig,
762
+ getModuleConfig: getModuleConfig$1,
758
763
  isModuleEnabled,
759
764
  isAwaitingOrchestratorReady() {
760
765
  return mapSnapshot().presentation.isAwaitingReady;
package/dist/home.d.ts CHANGED
@@ -2,7 +2,7 @@ import { t as Manager } from "./Manager-CcbnIt3T.js";
2
2
  import "./camera-CS1twtEg.js";
3
3
  import "./types-DdYIMV6w.js";
4
4
  import { t as EmptyConfig } from "./types-DFwAuzk2.js";
5
- import * as xstate803 from "xstate";
5
+ import * as xstate545 from "xstate";
6
6
 
7
7
  //#region src/modules/home/types.d.ts
8
8
  type HomeConfig = EmptyConfig;
@@ -34,41 +34,41 @@ type HomeContext = {
34
34
  type HomeInput = {
35
35
  config: EmptyConfig;
36
36
  };
37
- declare const homeMachine: xstate803.StateMachine<HomeContext, {
37
+ declare const homeMachine: xstate545.StateMachine<HomeContext, {
38
38
  type: "LOAD";
39
39
  } | {
40
40
  type: "COMPLETE";
41
41
  } | {
42
42
  type: "RESET";
43
- }, {}, never, never, never, never, "idle" | "finished" | "main", string, HomeInput, xstate803.NonReducibleUnknown, xstate803.EventObject, xstate803.MetaObject, {
43
+ }, {}, never, never, never, never, "idle" | "finished" | "main", string, HomeInput, xstate545.NonReducibleUnknown, xstate545.EventObject, xstate545.MetaObject, {
44
44
  readonly id: "home";
45
45
  readonly initial: "idle";
46
46
  readonly context: ({
47
47
  input
48
48
  }: {
49
49
  spawn: {
50
- <TSrc extends never>(logic: TSrc, ...[options]: never): xstate803.ActorRefFromLogic<never>;
51
- <TLogic extends xstate803.AnyActorLogic>(src: TLogic, ...[options]: xstate803.ConditionalRequired<[options?: ({
50
+ <TSrc extends never>(logic: TSrc, ...[options]: never): xstate545.ActorRefFromLogic<never>;
51
+ <TLogic extends xstate545.AnyActorLogic>(src: TLogic, ...[options]: xstate545.ConditionalRequired<[options?: ({
52
52
  id?: never;
53
53
  systemId?: string;
54
- input?: xstate803.InputFrom<TLogic> | undefined;
54
+ input?: xstate545.InputFrom<TLogic> | undefined;
55
55
  syncSnapshot?: boolean;
56
- } & { [K in xstate803.RequiredLogicInput<TLogic>]: unknown }) | undefined], xstate803.IsNotNever<xstate803.RequiredLogicInput<TLogic>>>): xstate803.ActorRefFromLogic<TLogic>;
56
+ } & { [K in xstate545.RequiredLogicInput<TLogic>]: unknown }) | undefined], xstate545.IsNotNever<xstate545.RequiredLogicInput<TLogic>>>): xstate545.ActorRefFromLogic<TLogic>;
57
57
  };
58
58
  input: HomeInput;
59
- self: xstate803.ActorRef<xstate803.MachineSnapshot<HomeContext, {
59
+ self: xstate545.ActorRef<xstate545.MachineSnapshot<HomeContext, {
60
60
  type: "LOAD";
61
61
  } | {
62
62
  type: "COMPLETE";
63
63
  } | {
64
64
  type: "RESET";
65
- }, Record<string, xstate803.AnyActorRef | undefined>, xstate803.StateValue, string, unknown, any, any>, {
65
+ }, Record<string, xstate545.AnyActorRef | undefined>, xstate545.StateValue, string, unknown, any, any>, {
66
66
  type: "LOAD";
67
67
  } | {
68
68
  type: "COMPLETE";
69
69
  } | {
70
70
  type: "RESET";
71
- }, xstate803.AnyEventObject>;
71
+ }, xstate545.AnyEventObject>;
72
72
  }) => {
73
73
  config: EmptyConfig;
74
74
  };
package/dist/id-ocr.d.ts CHANGED
@@ -271,7 +271,7 @@ declare const idOcrStateMachine: xstate1190.StateMachine<IdOcrContext, {
271
271
  type: "shouldProceedWithoutSubmitToSecondId";
272
272
  params: unknown;
273
273
  };
274
- }>, never, "error" | "idle" | "success" | "finished" | "loading" | "inputting" | "submitting" | "readonly" | "validatingContinue", string, IdOcrInput, xstate1190.NonReducibleUnknown, xstate1190.EventObject, xstate1190.MetaObject, {
274
+ }>, never, "error" | "idle" | "success" | "finished" | "loading" | "submitting" | "inputting" | "readonly" | "validatingContinue", string, IdOcrInput, xstate1190.NonReducibleUnknown, xstate1190.EventObject, xstate1190.MetaObject, {
275
275
  readonly id: "idOcr";
276
276
  readonly initial: "idle";
277
277
  readonly context: ({
package/dist/id.d.ts CHANGED
@@ -7,5 +7,5 @@ import "./types-DdYIMV6w.js";
7
7
  import "./types-DFwAuzk2.js";
8
8
  import "./deepsightService-Cxp-yJjr.js";
9
9
  import { n as PermissionStatus, t as PermissionResult } from "./types-D5fKjOcr.js";
10
- import { A as IdCaptureConfig, B as IdErrorCode, C as IdCaptureMachine, D as DetectionArea, E as CapturedImage, F as IdCaptureInput, G as ManualUploadContext, H as MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, I as IdCaptureMode, J as RecordingSession, K as ManualUploadSide, L as IdCaptureThresholds, M as IdCaptureDependencies, N as IdCaptureEvent, O as DetectionStatus, P as IdCaptureGeometry, R as IdDocumentType, S as createIdCaptureActor, T as CaptureIdResponse, U as MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, V as IdFlowStep, W as MANUAL_UPLOAD_MAX_RETRIES, X as DetectionOrientation, Y as UploadIdResponse, Z as IdCaptureSettings, _ as uploadIdImage, a as IdCaptureInitResult, b as CreateIdCaptureActorOptions, c as UploadIdImageParams, d as initializeIdCapture, f as preloadIdRecordingProvider, g as stopStream, h as stopRecording, j as IdCaptureContext, k as ID_ERROR_CODES, l as UploadManualIdFileParams, m as startRecordingSession, n as IdCaptureState, o as InitializeIdCaptureParams, p as processId, q as ManualUploadTab, r as createIdCaptureManager, s as StartRecordingParams, t as IdCaptureManager, u as ValidationError, v as uploadManualIdFile, w as idCaptureMachine, x as IdCaptureActor, y as validateUploadResponse, z as IdError } from "./idCaptureManager-BqeriSuc.js";
10
+ import { A as IdCaptureConfig, B as IdErrorCode, C as IdCaptureMachine, D as DetectionArea, E as CapturedImage, F as IdCaptureInput, G as ManualUploadContext, H as MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, I as IdCaptureMode, J as RecordingSession, K as ManualUploadSide, L as IdCaptureThresholds, M as IdCaptureDependencies, N as IdCaptureEvent, O as DetectionStatus, P as IdCaptureGeometry, R as IdDocumentType, S as createIdCaptureActor, T as CaptureIdResponse, U as MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, V as IdFlowStep, W as MANUAL_UPLOAD_MAX_RETRIES, X as DetectionOrientation, Y as UploadIdResponse, Z as IdCaptureSettings, _ as uploadIdImage, a as IdCaptureInitResult, b as CreateIdCaptureActorOptions, c as UploadIdImageParams, d as initializeIdCapture, f as preloadIdRecordingProvider, g as stopStream, h as stopRecording, j as IdCaptureContext, k as ID_ERROR_CODES, l as UploadManualIdFileParams, m as startRecordingSession, n as IdCaptureState, o as InitializeIdCaptureParams, p as processId, q as ManualUploadTab, r as createIdCaptureManager, s as StartRecordingParams, t as IdCaptureManager, u as ValidationError, v as uploadManualIdFile, w as idCaptureMachine, x as IdCaptureActor, y as validateUploadResponse, z as IdError } from "./idCaptureManager-X3CG5c3T.js";
11
11
  export { CameraStream, CaptureIdResponse, CapturedImage, type CreateIdCaptureActorOptions, DetectionArea, DetectionOrientation, DetectionStatus, ID_ERROR_CODES, type IdCaptureActor, IdCaptureConfig, type IdCaptureContext, IdCaptureDependencies, type IdCaptureEvent, IdCaptureGeometry, IdCaptureInitResult, type IdCaptureInput, type IdCaptureMachine, type IdCaptureManager, IdCaptureMode, IdCaptureSettings, type IdCaptureState, IdCaptureThresholds, IdDocumentType, IdError, IdErrorCode, IdFlowStep, InitializeIdCaptureParams, MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, MANUAL_UPLOAD_MAX_RETRIES, ManualUploadContext, ManualUploadSide, ManualUploadTab, PermissionResult, PermissionStatus, RecordingSession, StartRecordingParams, UploadIdImageParams, UploadIdResponse, UploadManualIdFileParams, ValidationError, createIdCaptureActor, createIdCaptureManager, idCaptureMachine, initializeIdCapture, preloadIdRecordingProvider, processId, startRecordingSession, stopRecording, stopStream, uploadIdImage, uploadManualIdFile, validateUploadResponse };
package/dist/id.esm.js CHANGED
@@ -18,7 +18,7 @@ import "./ITimerCapability-r7XXQS6a.esm.js";
18
18
  import "./backCameraStream-BIzYKDy2.esm.js";
19
19
  import "./getDeviceClass-AjL3Pr7R.esm.js";
20
20
  import "./BrowserTimerProvider-Bc6BRm6-.esm.js";
21
- import { a as startRecordingSession, c as uploadIdImage, d as ID_ERROR_CODES, f as MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, i as processId, l as uploadManualIdFile, m as MANUAL_UPLOAD_MAX_RETRIES, n as initializeIdCapture, o as stopRecording, p as MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, r as preloadIdRecordingProvider, s as stopStream, t as idCaptureMachine, u as validateUploadResponse } from "./idCaptureStateMachine-DLTCi-K-.esm.js";
22
- import { r as createIdCaptureActor, t as createIdCaptureManager } from "./idCaptureManager-BDTqAYim.esm.js";
21
+ import { a as startRecordingSession, c as uploadIdImage, d as ID_ERROR_CODES, f as MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, i as processId, l as uploadManualIdFile, m as MANUAL_UPLOAD_MAX_RETRIES, n as initializeIdCapture, o as stopRecording, p as MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, r as preloadIdRecordingProvider, s as stopStream, t as idCaptureMachine, u as validateUploadResponse } from "./idCaptureStateMachine-Doo9KqTB.esm.js";
22
+ import { r as createIdCaptureActor, t as createIdCaptureManager } from "./idCaptureManager-CEJN1LTW.esm.js";
23
23
 
24
24
  export { ID_ERROR_CODES, MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, MANUAL_UPLOAD_MAX_RETRIES, createIdCaptureActor, createIdCaptureManager, idCaptureMachine, initializeIdCapture, preloadIdRecordingProvider, processId, startRecordingSession, stopRecording, stopStream, uploadIdImage, uploadManualIdFile, validateUploadResponse };
@@ -1,7 +1,7 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation, r as eventScreenNames } from "./events-237AXtL7.esm.js";
2
2
  import { a as createActor, o as createManager } from "./xstate.esm-CSiDcEjt.esm.js";
3
3
  import { t as BrowserStorageProvider } from "./BrowserStorageProvider-DeByegPK.esm.js";
4
- import { t as idCaptureMachine } from "./idCaptureStateMachine-DLTCi-K-.esm.js";
4
+ import { t as idCaptureMachine } from "./idCaptureStateMachine-Doo9KqTB.esm.js";
5
5
 
6
6
  //#region src/modules/id/idCaptureActor.ts
7
7
  function createIdCaptureActor(options) {
@@ -129,6 +129,7 @@ function mapCaptureState(snapshot, context) {
129
129
  idType: context.idType,
130
130
  previewImageUrl: context.previewImageUrl,
131
131
  uploadProgress: context.uploadProgress ?? 0,
132
+ ageAssurance: context.config.ageAssurance === true,
132
133
  uploadErrorMessage: uploadError ? getErrorTitleKey(uploadError, context.currentMode) : void 0,
133
134
  uploadErrorDescription: uploadError ? getErrorSubtitleKey(uploadError, uploadResponse, context.currentMode) : void 0,
134
135
  needsBackCapture: shouldCaptureBack(context),
@@ -187,6 +188,7 @@ function mapState(snapshot) {
187
188
  selectedDocumentType: context.selectedDocumentType,
188
189
  currentMode: context.currentMode
189
190
  };
191
+ if (snapshot.matches("ageVerification")) return { status: "ageVerification" };
190
192
  if (snapshot.matches("closed")) return { status: "closed" };
191
193
  if (snapshot.matches("permissions")) {
192
194
  const permissionStatus = getPermissionStatus(snapshot);
@@ -380,6 +382,7 @@ function getIdCaptureScreenName(snapshot) {
380
382
  case "chooser": return "DOCUMENT_CHOOSER";
381
383
  case "loading": return "LOADING";
382
384
  case "tutorial": return screens.tutorial;
385
+ case "ageVerification": return "AGE_VERIFICATION";
383
386
  case "permissions": return "PERMISSIONS";
384
387
  case "capture": return getCaptureSubstateScreen(value, screens);
385
388
  case "mandatoryConsent": return "MANDATORY_CONSENT";
@@ -171,7 +171,7 @@ type IdCaptureMode = 'front' | 'back' | 'passport';
171
171
  * Used for selection and for the list of available options derived from config.
172
172
  */
173
173
  type IdDocumentType = 'id' | 'passport' | 'manualIdUpload' | 'digitalIdUpload' | 'digitalId';
174
- type IdFlowStep = 'chooser' | 'tutorial' | 'permissions' | 'capture' | 'mandatoryConsent' | 'frontFinished' | 'backFinished' | 'success' | 'processing' | 'expired' | 'finished' | 'error' | 'closed' | 'manualIdUpload' | 'digitalIdUpload';
174
+ type IdFlowStep = 'chooser' | 'ageVerification' | 'tutorial' | 'permissions' | 'capture' | 'mandatoryConsent' | 'frontFinished' | 'backFinished' | 'success' | 'processing' | 'expired' | 'finished' | 'error' | 'closed' | 'manualIdUpload' | 'digitalIdUpload';
175
175
  type DetectionStatus = 'idle' | 'detecting' | 'farAway' | 'blur' | 'glare' | 'wrongSide' | 'capturing' | 'manualCapture' | 'idNotDetected' | 'offline';
176
176
  /**
177
177
  * Represents the detection area dimensions in pixels.
@@ -603,6 +603,9 @@ type IdCaptureTutorialState = {
603
603
  selectedDocumentType: IdDocumentType | undefined;
604
604
  currentMode: IdCaptureMode;
605
605
  };
606
+ type IdCaptureAgeVerificationState = {
607
+ status: 'ageVerification';
608
+ };
606
609
  type IdCapturePermissionsState = {
607
610
  status: 'permissions';
608
611
  permissionStatus: PermissionStatus;
@@ -621,6 +624,7 @@ type IdCaptureCaptureState = {
621
624
  idType: string | undefined;
622
625
  previewImageUrl?: string;
623
626
  uploadProgress?: number;
627
+ ageAssurance: boolean;
624
628
  uploadErrorMessage?: string;
625
629
  uploadErrorDescription?: string;
626
630
  /** Whether back capture is needed after front capture completes */
@@ -679,7 +683,7 @@ type IdCaptureManualUploadState = {
679
683
  /** i18n key for the current error message, if any. */
680
684
  errorKey: string | null;
681
685
  };
682
- type IdCaptureState = IdCaptureIdleState | IdCaptureChooserState | IdCaptureLoadingState | IdCaptureTutorialState | IdCapturePermissionsState | IdCaptureCaptureState | IdCaptureMandatoryConsentState | IdCaptureFrontFinishedState | IdCaptureBackFinishedState | IdCaptureProcessingState | IdCaptureExpiredState | IdCaptureFinishedState | IdCaptureClosedState | IdCaptureErrorState | IdCaptureManualUploadState;
686
+ type IdCaptureState = IdCaptureIdleState | IdCaptureChooserState | IdCaptureLoadingState | IdCaptureTutorialState | IdCaptureAgeVerificationState | IdCapturePermissionsState | IdCaptureCaptureState | IdCaptureMandatoryConsentState | IdCaptureFrontFinishedState | IdCaptureBackFinishedState | IdCaptureProcessingState | IdCaptureExpiredState | IdCaptureFinishedState | IdCaptureClosedState | IdCaptureErrorState | IdCaptureManualUploadState;
683
687
  declare function createIdCaptureManager(options: CreateIdCaptureActorOptions): Manager<IdCaptureState> & {
684
688
  load(): void;
685
689
  selectDocument(documentType: IdDocumentType): void;
@@ -800,7 +800,7 @@ const uploadIdImageActor = fromPromise(async ({ input, signal }) => {
800
800
  sendBase64: true,
801
801
  glare: input.qualityElements?.glare,
802
802
  sharpness: input.qualityElements?.sharpness,
803
- ageAssurance: false,
803
+ ageAssurance: input.ageAssurance,
804
804
  signal,
805
805
  onProgress: input.onProgress,
806
806
  metadata,
@@ -1177,6 +1177,7 @@ function getCurrentModeFromEvent(context, event) {
1177
1177
  //#endregion
1178
1178
  //#region src/modules/id/idCaptureGuards.ts
1179
1179
  const hasShowTutorialGuard = ({ context }) => context.config.showTutorial;
1180
+ const hasAgeAssuranceGuard = ({ context }) => context.config.ageAssurance === true;
1180
1181
  const hasShowDocumentChooserGuard = ({ context }) => !context.config.onlyBack && (context.config.showDocumentChooserScreen ?? false);
1181
1182
  const isPermissionGrantedGuard = ({ event }) => {
1182
1183
  if ("output" in event) return event.output === "granted";
@@ -1528,6 +1529,7 @@ const _idCaptureMachine = setup({
1528
1529
  },
1529
1530
  guards: {
1530
1531
  hasShowTutorial: hasShowTutorialGuard,
1532
+ hasAgeAssurance: hasAgeAssuranceGuard,
1531
1533
  hasShowDocumentChooser: hasShowDocumentChooserGuard,
1532
1534
  isPermissionGranted: isPermissionGrantedGuard,
1533
1535
  isPermissionDeniedError: isPermissionDeniedErrorGuard,
@@ -1622,6 +1624,10 @@ const _idCaptureMachine = setup({
1622
1624
  target: "chooser",
1623
1625
  guard: "hasShowDocumentChooser"
1624
1626
  },
1627
+ {
1628
+ target: "ageVerification",
1629
+ guard: "hasAgeAssurance"
1630
+ },
1625
1631
  {
1626
1632
  target: "tutorial",
1627
1633
  guard: "hasShowTutorial"
@@ -1634,6 +1640,11 @@ const _idCaptureMachine = setup({
1634
1640
  guard: "isManualIdUploadSelected",
1635
1641
  actions: ["setSelectedDocument"]
1636
1642
  },
1643
+ {
1644
+ target: "ageVerification",
1645
+ guard: "hasAgeAssurance",
1646
+ actions: ["setSelectedDocument", "setCurrentMode"]
1647
+ },
1637
1648
  {
1638
1649
  target: "tutorial",
1639
1650
  guard: "hasShowTutorial",
@@ -1644,6 +1655,14 @@ const _idCaptureMachine = setup({
1644
1655
  actions: ["setSelectedDocument", "setCurrentMode"]
1645
1656
  }
1646
1657
  ] } },
1658
+ ageVerification: { on: { NEXT_STEP: [{
1659
+ target: "tutorial",
1660
+ guard: "hasShowTutorial",
1661
+ actions: "trackContinue"
1662
+ }, {
1663
+ target: "loading",
1664
+ actions: "trackContinue"
1665
+ }] } },
1647
1666
  loading: {
1648
1667
  entry: "preloadRecordingProvider",
1649
1668
  type: "parallel",
@@ -2040,6 +2059,7 @@ const _idCaptureMachine = setup({
2040
2059
  stream: context.stream,
2041
2060
  isSecondId: context.config.isSecondId ?? false,
2042
2061
  onlyFront: context.config.onlyFront,
2062
+ ageAssurance: context.config.ageAssurance,
2043
2063
  dependencies: context.dependencies,
2044
2064
  captureResolution: context.captureResolution,
2045
2065
  cameraFallbackLevel: context.cameraFallbackLevel
@@ -2238,6 +2258,11 @@ const _idCaptureMachine = setup({
2238
2258
  guard: "hasShowDocumentChooser",
2239
2259
  actions: ["resetContext"]
2240
2260
  },
2261
+ {
2262
+ target: "ageVerification",
2263
+ guard: "hasAgeAssurance",
2264
+ actions: "resetContext"
2265
+ },
2241
2266
  {
2242
2267
  target: "tutorial",
2243
2268
  guard: "hasShowTutorial",
@@ -1,6 +1,6 @@
1
1
  import { t as Manager } from "./Manager-CcbnIt3T.js";
2
2
  import { t as ActorRefFrom } from "./Actor-CazhiaK7.js";
3
- import * as xstate418 from "xstate";
3
+ import * as xstate310 from "xstate";
4
4
 
5
5
  //#region src/modules/identity-reuse/types.d.ts
6
6
 
@@ -32,7 +32,7 @@ type IdentityReuseContext = {
32
32
  type IdentityReuseInput = {
33
33
  config: IdentityReuseConfig;
34
34
  };
35
- declare const identityReuseMachine: xstate418.StateMachine<IdentityReuseContext, {
35
+ declare const identityReuseMachine: xstate310.StateMachine<IdentityReuseContext, {
36
36
  type: "LOAD";
37
37
  } | {
38
38
  type: "START_SELECTION";
@@ -48,49 +48,49 @@ declare const identityReuseMachine: xstate418.StateMachine<IdentityReuseContext,
48
48
  } | {
49
49
  type: "RETRY";
50
50
  }, {
51
- [x: string]: xstate418.ActorRefFromLogic<xstate418.PromiseActorLogic<FetchCandidatesResponse, void, xstate418.EventObject>> | xstate418.ActorRefFromLogic<xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>> | undefined;
52
- }, xstate418.Values<{
51
+ [x: string]: xstate310.ActorRefFromLogic<xstate310.PromiseActorLogic<FetchCandidatesResponse, void, xstate310.EventObject>> | xstate310.ActorRefFromLogic<xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>> | undefined;
52
+ }, xstate310.Values<{
53
53
  fetchCandidates: {
54
54
  src: "fetchCandidates";
55
- logic: xstate418.PromiseActorLogic<FetchCandidatesResponse, void, xstate418.EventObject>;
55
+ logic: xstate310.PromiseActorLogic<FetchCandidatesResponse, void, xstate310.EventObject>;
56
56
  id: string | undefined;
57
57
  };
58
58
  submitContinue: {
59
59
  src: "submitContinue";
60
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
60
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
61
61
  id: string | undefined;
62
62
  };
63
63
  submitSkip: {
64
64
  src: "submitSkip";
65
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
65
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
66
66
  id: string | undefined;
67
67
  };
68
- }>, xstate418.Values<{
68
+ }>, xstate310.Values<{
69
69
  setError: {
70
70
  type: "setError";
71
- params: xstate418.NonReducibleUnknown;
71
+ params: xstate310.NonReducibleUnknown;
72
72
  };
73
73
  clearError: {
74
74
  type: "clearError";
75
- params: xstate418.NonReducibleUnknown;
75
+ params: xstate310.NonReducibleUnknown;
76
76
  };
77
77
  setCandidates: {
78
78
  type: "setCandidates";
79
- params: xstate418.NonReducibleUnknown;
79
+ params: xstate310.NonReducibleUnknown;
80
80
  };
81
81
  setSelectedCandidate: {
82
82
  type: "setSelectedCandidate";
83
- params: xstate418.NonReducibleUnknown;
83
+ params: xstate310.NonReducibleUnknown;
84
84
  };
85
85
  autoSelectSingleCandidate: {
86
86
  type: "autoSelectSingleCandidate";
87
- params: xstate418.NonReducibleUnknown;
87
+ params: xstate310.NonReducibleUnknown;
88
88
  };
89
89
  clearSelection: {
90
90
  type: "clearSelection";
91
- params: xstate418.NonReducibleUnknown;
91
+ params: xstate310.NonReducibleUnknown;
92
92
  };
93
- }>, xstate418.Values<{
93
+ }>, xstate310.Values<{
94
94
  hasMultipleCandidates: {
95
95
  type: "hasMultipleCandidates";
96
96
  params: unknown;
@@ -105,7 +105,7 @@ declare const identityReuseMachine: xstate418.StateMachine<IdentityReuseContext,
105
105
  };
106
106
  }>, never, "error" | "idle" | "finished" | "loading" | "submitContinue" | "submitSkip" | "oneCandidateFound" | "noCandidatesFound" | {
107
107
  multiCandidatesFound: "noCandidateSelected" | "choosingCandidate" | "candidateSelected";
108
- }, string, IdentityReuseInput, xstate418.NonReducibleUnknown, xstate418.EventObject, xstate418.MetaObject, {
108
+ }, string, IdentityReuseInput, xstate310.NonReducibleUnknown, xstate310.EventObject, xstate310.MetaObject, {
109
109
  readonly id: "identityReuse";
110
110
  readonly initial: "idle";
111
111
  readonly context: ({
@@ -114,75 +114,75 @@ declare const identityReuseMachine: xstate418.StateMachine<IdentityReuseContext,
114
114
  spawn: {
115
115
  <TSrc extends "fetchCandidates" | "submitContinue" | "submitSkip">(logic: TSrc, ...[options]: ({
116
116
  src: "fetchCandidates";
117
- logic: xstate418.PromiseActorLogic<FetchCandidatesResponse, void, xstate418.EventObject>;
117
+ logic: xstate310.PromiseActorLogic<FetchCandidatesResponse, void, xstate310.EventObject>;
118
118
  id: string | undefined;
119
119
  } extends infer T ? T extends {
120
120
  src: "fetchCandidates";
121
- logic: xstate418.PromiseActorLogic<FetchCandidatesResponse, void, xstate418.EventObject>;
121
+ logic: xstate310.PromiseActorLogic<FetchCandidatesResponse, void, xstate310.EventObject>;
122
122
  id: string | undefined;
123
123
  } ? T extends {
124
124
  src: TSrc;
125
- } ? xstate418.ConditionalRequired<[options?: ({
125
+ } ? xstate310.ConditionalRequired<[options?: ({
126
126
  id?: T["id"] | undefined;
127
127
  systemId?: string;
128
- input?: xstate418.InputFrom<T["logic"]> | undefined;
128
+ input?: xstate310.InputFrom<T["logic"]> | undefined;
129
129
  syncSnapshot?: boolean;
130
- } & { [K in xstate418.RequiredActorOptions<T>]: unknown }) | undefined], xstate418.IsNotNever<xstate418.RequiredActorOptions<T>>> : never : never : never) | ({
130
+ } & { [K in xstate310.RequiredActorOptions<T>]: unknown }) | undefined], xstate310.IsNotNever<xstate310.RequiredActorOptions<T>>> : never : never : never) | ({
131
131
  src: "submitContinue";
132
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
132
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
133
133
  id: string | undefined;
134
134
  } extends infer T_1 ? T_1 extends {
135
135
  src: "submitContinue";
136
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
136
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
137
137
  id: string | undefined;
138
138
  } ? T_1 extends {
139
139
  src: TSrc;
140
- } ? xstate418.ConditionalRequired<[options?: ({
140
+ } ? xstate310.ConditionalRequired<[options?: ({
141
141
  id?: T_1["id"] | undefined;
142
142
  systemId?: string;
143
- input?: xstate418.InputFrom<T_1["logic"]> | undefined;
143
+ input?: xstate310.InputFrom<T_1["logic"]> | undefined;
144
144
  syncSnapshot?: boolean;
145
- } & { [K_1 in xstate418.RequiredActorOptions<T_1>]: unknown }) | undefined], xstate418.IsNotNever<xstate418.RequiredActorOptions<T_1>>> : never : never : never) | ({
145
+ } & { [K_1 in xstate310.RequiredActorOptions<T_1>]: unknown }) | undefined], xstate310.IsNotNever<xstate310.RequiredActorOptions<T_1>>> : never : never : never) | ({
146
146
  src: "submitSkip";
147
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
147
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
148
148
  id: string | undefined;
149
149
  } extends infer T_2 ? T_2 extends {
150
150
  src: "submitSkip";
151
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
151
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
152
152
  id: string | undefined;
153
153
  } ? T_2 extends {
154
154
  src: TSrc;
155
- } ? xstate418.ConditionalRequired<[options?: ({
155
+ } ? xstate310.ConditionalRequired<[options?: ({
156
156
  id?: T_2["id"] | undefined;
157
157
  systemId?: string;
158
- input?: xstate418.InputFrom<T_2["logic"]> | undefined;
158
+ input?: xstate310.InputFrom<T_2["logic"]> | undefined;
159
159
  syncSnapshot?: boolean;
160
- } & { [K_2 in xstate418.RequiredActorOptions<T_2>]: unknown }) | undefined], xstate418.IsNotNever<xstate418.RequiredActorOptions<T_2>>> : never : never : never)): xstate418.ActorRefFromLogic<xstate418.GetConcreteByKey<xstate418.Values<{
160
+ } & { [K_2 in xstate310.RequiredActorOptions<T_2>]: unknown }) | undefined], xstate310.IsNotNever<xstate310.RequiredActorOptions<T_2>>> : never : never : never)): xstate310.ActorRefFromLogic<xstate310.GetConcreteByKey<xstate310.Values<{
161
161
  fetchCandidates: {
162
162
  src: "fetchCandidates";
163
- logic: xstate418.PromiseActorLogic<FetchCandidatesResponse, void, xstate418.EventObject>;
163
+ logic: xstate310.PromiseActorLogic<FetchCandidatesResponse, void, xstate310.EventObject>;
164
164
  id: string | undefined;
165
165
  };
166
166
  submitContinue: {
167
167
  src: "submitContinue";
168
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
168
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
169
169
  id: string | undefined;
170
170
  };
171
171
  submitSkip: {
172
172
  src: "submitSkip";
173
- logic: xstate418.PromiseActorLogic<SubmitResponse, void, xstate418.EventObject>;
173
+ logic: xstate310.PromiseActorLogic<SubmitResponse, void, xstate310.EventObject>;
174
174
  id: string | undefined;
175
175
  };
176
176
  }>, "src", TSrc>["logic"]>;
177
- <TLogic extends xstate418.AnyActorLogic>(src: TLogic, ...[options]: xstate418.ConditionalRequired<[options?: ({
177
+ <TLogic extends xstate310.AnyActorLogic>(src: TLogic, ...[options]: xstate310.ConditionalRequired<[options?: ({
178
178
  id?: never;
179
179
  systemId?: string;
180
- input?: xstate418.InputFrom<TLogic> | undefined;
180
+ input?: xstate310.InputFrom<TLogic> | undefined;
181
181
  syncSnapshot?: boolean;
182
- } & { [K in xstate418.RequiredLogicInput<TLogic>]: unknown }) | undefined], xstate418.IsNotNever<xstate418.RequiredLogicInput<TLogic>>>): xstate418.ActorRefFromLogic<TLogic>;
182
+ } & { [K in xstate310.RequiredLogicInput<TLogic>]: unknown }) | undefined], xstate310.IsNotNever<xstate310.RequiredLogicInput<TLogic>>>): xstate310.ActorRefFromLogic<TLogic>;
183
183
  };
184
184
  input: IdentityReuseInput;
185
- self: xstate418.ActorRef<xstate418.MachineSnapshot<IdentityReuseContext, {
185
+ self: xstate310.ActorRef<xstate310.MachineSnapshot<IdentityReuseContext, {
186
186
  type: "LOAD";
187
187
  } | {
188
188
  type: "START_SELECTION";
@@ -197,7 +197,7 @@ declare const identityReuseMachine: xstate418.StateMachine<IdentityReuseContext,
197
197
  type: "SKIP";
198
198
  } | {
199
199
  type: "RETRY";
200
- }, Record<string, xstate418.AnyActorRef | undefined>, xstate418.StateValue, string, unknown, any, any>, {
200
+ }, Record<string, xstate310.AnyActorRef | undefined>, xstate310.StateValue, string, unknown, any, any>, {
201
201
  type: "LOAD";
202
202
  } | {
203
203
  type: "START_SELECTION";
@@ -212,7 +212,7 @@ declare const identityReuseMachine: xstate418.StateMachine<IdentityReuseContext,
212
212
  type: "SKIP";
213
213
  } | {
214
214
  type: "RETRY";
215
- }, xstate418.AnyEventObject>;
215
+ }, xstate310.AnyEventObject>;
216
216
  }) => {
217
217
  config: IdentityReuseConfig;
218
218
  currentOrganizationName: undefined;