@incodetech/core 0.0.0-dev-20260810-39c1d8bf → 0.0.0-dev-20260812-d815489d

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 (91) hide show
  1. package/dist/{BrowserDiagnosticsCryptoProvider-Yefjca4O.esm.js → BrowserDiagnosticsCryptoProvider-MCXwNgkw.esm.js} +1 -1
  2. package/dist/ae-signature.esm.js +1 -1
  3. package/dist/{apiError-CDBvBov0.esm.js → apiError-NxOKXjwM.esm.js} +1 -1
  4. package/dist/authentication.d.ts +3 -3
  5. package/dist/authentication.esm.js +2 -2
  6. package/dist/{authenticationManager-BfXvx0a4.esm.js → authenticationManager-BtNvLFrM.esm.js} +2 -2
  7. package/dist/{authenticationManager-BBMGTcwW.d.ts → authenticationManager-D8DEugXP.d.ts} +7 -1
  8. package/dist/{authenticationStateMachine-DZNoZ-uQ.esm.js → authenticationStateMachine-D6o3iOsE.esm.js} +2 -2
  9. package/dist/consent.d.ts +1 -1
  10. package/dist/{consentManager-2h_w6wFc.d.ts → consentManager-uhDPdU6i.d.ts} +5 -5
  11. package/dist/curp-validation.d.ts +1 -1
  12. package/dist/{curpValidationManager-DVGr7Fq7.d.ts → curpValidationManager-BxWhpCLA.d.ts} +1 -1
  13. package/dist/{deepsightLoader-DcJFXGmi.esm.js → deepsightLoader-Dsau38U1.esm.js} +3 -3
  14. package/dist/document-capture.d.ts +1 -1
  15. package/dist/document-upload.d.ts +4 -4
  16. package/dist/{documentCaptureManager-BykkLCQD.d.ts → documentCaptureManager-B3t0ydtg.d.ts} +1 -1
  17. package/dist/dynamic-forms.esm.js +2 -2
  18. package/dist/{dynamicFormsManager-D45RZsO7.esm.js → dynamicFormsManager-Dz4Fhu6e.esm.js} +1 -1
  19. package/dist/{dynamicFormsStateMachine-CBBxmzeG.esm.js → dynamicFormsStateMachine-CgptZMHY.esm.js} +1 -1
  20. package/dist/ekyb.d.ts +1 -1
  21. package/dist/ekyb.esm.js +3 -3
  22. package/dist/{ekybManager-CRr_E3d-.esm.js → ekybManager-BVs8Wy7X.esm.js} +1 -1
  23. package/dist/{ekybStateMachine-CqtP2bQ6.esm.js → ekybStateMachine-Rg7YTCug.esm.js} +1 -1
  24. package/dist/electronic-signature.esm.js +1 -1
  25. package/dist/{electronicSignatureManager-C3BroxYp.esm.js → electronicSignatureManager-DeMepXDO.esm.js} +1 -1
  26. package/dist/extensibility.d.ts +12 -12
  27. package/dist/extensibility.esm.js +9 -9
  28. package/dist/{faceCaptureManagerFactory-Dh99hwMX.esm.js → faceCaptureManagerFactory-D3Z-muvK.esm.js} +48 -2
  29. package/dist/{faceCaptureManagerFactory-BxWPpxyd.d.ts → faceCaptureManagerFactory-fq0Rl3ik.d.ts} +43 -4
  30. package/dist/{faceCaptureSetup-CvHljuOj.esm.js → faceCaptureSetup-DXmSGArd.esm.js} +270 -7
  31. package/dist/flow-events.d.ts +1 -1
  32. package/dist/flow.d.ts +5 -5
  33. package/dist/flow.esm.js +3 -3
  34. package/dist/{flowCompletionService-QClUTqlD.esm.js → flowCompletionService-C-3-pFwh.esm.js} +1 -1
  35. package/dist/{flowServices-ApC5Y1FB.esm.js → flowServices-BlKkpE6n.esm.js} +3 -3
  36. package/dist/geolocation.esm.js +2 -2
  37. package/dist/{geolocationManager--SEGak7N.esm.js → geolocationManager-Nt1s4X5N.esm.js} +1 -1
  38. package/dist/{geolocationStateMachine-DR1LEuaQ.esm.js → geolocationStateMachine-0_rVQgAj.esm.js} +1 -1
  39. package/dist/home.d.ts +1 -1
  40. package/dist/id-ocr.d.ts +1 -1
  41. package/dist/id-selfie-flow.d.ts +1 -1
  42. package/dist/id-selfie-flow.esm.js +7 -7
  43. package/dist/id.d.ts +2 -2
  44. package/dist/id.esm.js +3 -3
  45. package/dist/{idCaptureManager-BjU-Wyow.d.ts → idCaptureManager-DCypF_2I.d.ts} +2 -2
  46. package/dist/{idCaptureManager-CaIqKY4V.esm.js → idCaptureManager-LP_8NlkN.esm.js} +2 -2
  47. package/dist/{idCaptureServices-Cu4yxano.esm.js → idCaptureServices-Dmh8Zwqh.esm.js} +2 -2
  48. package/dist/{idCaptureStateMachine-BdtZlfbH.esm.js → idCaptureStateMachine-Dlwiu7vC.esm.js} +8 -62
  49. package/dist/{idOcrManager-dLuxey6y.d.ts → idOcrManager-DXc_xRN7.d.ts} +1 -1
  50. package/dist/identity-reuse.d.ts +1 -1
  51. package/dist/{identityReuseManager-D6pD4hcZ.d.ts → identityReuseManager-v2TH5g7e.d.ts} +1 -1
  52. package/dist/imageFile-DutiOU7n.esm.js +69 -0
  53. package/dist/{index-CLMF0QLQ.d.ts → index-Bivs6yJF.d.ts} +1 -1
  54. package/dist/index.esm.js +1 -1
  55. package/dist/mandatory-consent.d.ts +2 -2
  56. package/dist/{mandatoryConsentManager-DXlHM88Z.d.ts → mandatoryConsentManager-CVxw-noP.d.ts} +6 -6
  57. package/dist/{onDeviceFaceResults-B88Uay28.esm.js → onDeviceFaceResults-BWDrvDvG.esm.js} +3 -3
  58. package/dist/personhood.d.ts +1 -1
  59. package/dist/personhood.esm.js +3 -3
  60. package/dist/qe-signature.esm.js +1 -1
  61. package/dist/{recordingService-CXTrJu3B.esm.js → recordingService-BeWTqCod.esm.js} +1 -1
  62. package/dist/{runChildModule-BGAmKkol.esm.js → runChildModule-BtPfbpAF.esm.js} +1 -1
  63. package/dist/selfie.d.ts +3 -3
  64. package/dist/selfie.esm.js +5 -5
  65. package/dist/{selfieErrorUtils-C2PYBVsp.esm.js → selfieErrorUtils-_3npmJFa.esm.js} +27 -1
  66. package/dist/{selfieManager-CuveGnyU.esm.js → selfieManager-Bz-C2_TA.esm.js} +2 -2
  67. package/dist/{selfieManager-DwlCppg0.d.ts → selfieManager-DlAKn0rp.d.ts} +7 -1
  68. package/dist/{selfieStateMachine-BE_uNjQ3.esm.js → selfieStateMachine-37RTRq0J.esm.js} +24 -4
  69. package/dist/{session-BLnr71Qv.esm.js → session-DcLSQGD4.esm.js} +4 -4
  70. package/dist/session.d.ts +1 -1
  71. package/dist/session.esm.js +4 -4
  72. package/dist/{sessionInitializer-cN0BBsw_.esm.js → sessionInitializer-Cf4454sK.esm.js} +2 -2
  73. package/dist/{setup-BTARr6-Y.esm.js → setup-rfEug5XR.esm.js} +4 -4
  74. package/dist/trueSight-CNDDfLHG.esm.js +1 -0
  75. package/dist/{trueSightService-cHkLJSee.esm.js → trueSightService-BZmXBTxe.esm.js} +2 -2
  76. package/dist/{types-BX_XkMsQ2.d.ts → types-8LPRL1Ni2.d.ts} +1 -1
  77. package/dist/types-C2JzKH_L.d.ts +6 -0
  78. package/dist/{types-KPvmag_B.d.ts → types-CRw2IBPn.d.ts} +1 -0
  79. package/dist/{types-Hmd7U0JA.d.ts → types-Cyiwbg-r.d.ts} +2 -1
  80. package/dist/{types-M6eb82ra2.d.ts → types-GqIocZi-2.d.ts} +1 -1
  81. package/dist/video-selfie.d.ts +1 -1
  82. package/dist/video-selfie.esm.js +3 -3
  83. package/dist/{videoSelfieCameraWarmer-BklUnozc.esm.js → videoSelfieCameraWarmer-D83Oy3Wz.esm.js} +3 -3
  84. package/dist/{videoSelfieStepDetector-D3oo2ofo.d.ts → videoSelfieStepDetector-TyrYWahm.d.ts} +2 -2
  85. package/dist/wasm.esm.js +1 -1
  86. package/dist/workflow.d.ts +5 -5
  87. package/dist/workflow.esm.js +14 -14
  88. package/package.json +1 -1
  89. package/dist/manualReviewService-D4IkipnN.esm.js +0 -15
  90. package/dist/trueSight-BavPUk2L.esm.js +0 -1
  91. package/dist/types-EELWyWpd.d.ts +0 -6
@@ -18,7 +18,7 @@ function decodeTruesightKey(s0Base64, s1Base64) {
18
18
  */
19
19
  function getTruesightKey() {
20
20
  try {
21
- const key = decodeTruesightKey("CW2suRrPy6bMbpRHDhyK2undTpG6ZcRYP9yMSEBSfHo=", "HM1BEVUfRKw2/F5zRR3KtlvZpvPaLZGYzaQVucTGp6I=");
21
+ const key = decodeTruesightKey("/PdX728nVz+GbsCl8DfGXi/g0SZSgZI2L/pgPCTtKkA=", "OiE1depJflmsBwgGrYFT/FuNRA3xYRVe8DuiUSCQybI=");
22
22
  return key.length === KEY_LENGTH_BYTES ? key : null;
23
23
  } catch {
24
24
  return null;
@@ -1,4 +1,4 @@
1
- import { c as getDefaultConsentChecks, i as AE_CONSENT_KEYS, o as areAllConsented, r as electronicSignatureMachine, t as createElectronicSignatureManager } from "./electronicSignatureManager-C3BroxYp.esm.js";
1
+ import { c as getDefaultConsentChecks, i as AE_CONSENT_KEYS, o as areAllConsented, r as electronicSignatureMachine, t as createElectronicSignatureManager } from "./electronicSignatureManager-DeMepXDO.esm.js";
2
2
  //#region src/modules/ae-signature/index.ts
3
3
  function createAeSignatureManager(options) {
4
4
  return createElectronicSignatureManager({ config: {
@@ -1,4 +1,4 @@
1
- import { l as trueSightLog, u as categoryForEndpoint } from "./trueSightService-cHkLJSee.esm.js";
1
+ import { l as trueSightLog, u as categoryForEndpoint } from "./trueSightService-BZmXBTxe.esm.js";
2
2
  //#region src/internal/http/apiError.ts
3
3
  /**
4
4
  * Incode API error.
@@ -1,4 +1,4 @@
1
- import { b as createAuthenticationActor, v as AuthenticationActor, x as authenticationMachine, y as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-BxWPpxyd.js";
2
- import { t as AuthenticationConfig } from "./types-EELWyWpd.js";
3
- import { n as AuthenticationState, r as createAuthenticationManager, t as AuthenticationManager } from "./authenticationManager-BBMGTcwW.js";
1
+ import { b as createAuthenticationActor, v as AuthenticationActor, x as authenticationMachine, y as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-fq0Rl3ik.js";
2
+ import { t as AuthenticationConfig } from "./types-C2JzKH_L.js";
3
+ import { n as AuthenticationState, r as createAuthenticationManager, t as AuthenticationManager } from "./authenticationManager-D8DEugXP.js";
4
4
  export { type AuthenticationActor, type AuthenticationConfig, type AuthenticationManager, type AuthenticationState, type CreateAuthenticationActorOptions, authenticationMachine, createAuthenticationActor, createAuthenticationManager };
@@ -1,3 +1,3 @@
1
- import { t as authenticationMachine } from "./authenticationStateMachine-DZNoZ-uQ.esm.js";
2
- import { r as createAuthenticationActor, t as createAuthenticationManager } from "./authenticationManager-BfXvx0a4.esm.js";
1
+ import { t as authenticationMachine } from "./authenticationStateMachine-D6o3iOsE.esm.js";
2
+ import { r as createAuthenticationActor, t as createAuthenticationManager } from "./authenticationManager-BtNvLFrM.esm.js";
3
3
  export { authenticationMachine, createAuthenticationActor, createAuthenticationManager };
@@ -2,8 +2,8 @@ import { r as WasmUtilProvider } from "./safeStorage-Ep56I-f_.esm.js";
2
2
  import { t as BrowserStorageProvider } from "./BrowserStorageProvider-k-FDkC4W.esm.js";
3
3
  import { n as eventModuleNames } from "./events-CxfNJVZW.esm.js";
4
4
  import { o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-Dh99hwMX.esm.js";
6
- import { t as authenticationMachine } from "./authenticationStateMachine-DZNoZ-uQ.esm.js";
5
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-D3Z-muvK.esm.js";
6
+ import { t as authenticationMachine } from "./authenticationStateMachine-D6o3iOsE.esm.js";
7
7
  //#region src/modules/authentication/authenticationActor.ts
8
8
  function createAuthenticationActor(options) {
9
9
  const dependencies = options.dependencies ?? {
@@ -1,6 +1,6 @@
1
1
  import { t as Manager } from "./Manager-CQQ99QOI.js";
2
2
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
3
- import { n as FaceCaptureManagerState, t as FaceCaptureManager, v as AuthenticationActor, y as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-BxWPpxyd.js";
3
+ import { n as FaceCaptureManagerState, t as FaceCaptureManager, v as AuthenticationActor, y as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-fq0Rl3ik.js";
4
4
  //#region src/modules/authentication/authenticationManager.d.ts
5
5
  type AuthenticationState = FaceCaptureManagerState;
6
6
  /**
@@ -22,6 +22,9 @@ declare function createAuthenticationManagerFromActor(actor: AuthenticationActor
22
22
  reset(): void;
23
23
  retryCapture(): void;
24
24
  capture(): void;
25
+ goToManualUpload(): void;
26
+ manualUploadSelectFile(file: File): void;
27
+ manualUploadContinue(): void;
25
28
  };
26
29
  /**
27
30
  * Creates an authentication manager instance for handling face authentication flow.
@@ -69,6 +72,9 @@ declare function createAuthenticationManager(options: CreateAuthenticationActorO
69
72
  reset(): void;
70
73
  retryCapture(): void;
71
74
  capture(): void;
75
+ goToManualUpload(): void;
76
+ manualUploadSelectFile(file: File): void;
77
+ manualUploadContinue(): void;
72
78
  };
73
79
  type AuthenticationManager = FaceCaptureManager;
74
80
  //#endregion
@@ -3,8 +3,8 @@ import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
3
3
  import { t as addDeviceStats } from "./stats-B0nFKawG.esm.js";
4
4
  import { r as assign } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
5
  import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
6
- import { t as faceCaptureMachine } from "./faceCaptureSetup-CvHljuOj.esm.js";
7
- import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-B88Uay28.esm.js";
6
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-DXmSGArd.esm.js";
7
+ import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-BWDrvDvG.esm.js";
8
8
  import { t as getDeviceClass } from "./getDeviceClass-9y-kbVDw.esm.js";
9
9
  import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
10
10
  //#region src/modules/authentication/authenticationErrorUtils.ts
package/dist/consent.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as ConsentActor, c as ConsentConfig, i as createConsentManagerFromActor, n as ConsentState, o as consentMachine, r as createConsentManager, s as ConsentCheckbox, t as ConsentManager } from "./consentManager-2h_w6wFc.js";
1
+ import { a as ConsentActor, c as ConsentConfig, i as createConsentManagerFromActor, n as ConsentState, o as consentMachine, r as createConsentManager, s as ConsentCheckbox, t as ConsentManager } from "./consentManager-uhDPdU6i.js";
2
2
  export { type ConsentActor, type ConsentCheckbox, type ConsentConfig, type ConsentManager, type ConsentState, consentMachine, createConsentManager, createConsentManagerFromActor };
@@ -82,6 +82,10 @@ declare const consentMachine: StateMachine<ConsentContext, {
82
82
  type: "clearError";
83
83
  params: NonReducibleUnknown;
84
84
  };
85
+ resetContext: {
86
+ type: "resetContext";
87
+ params: NonReducibleUnknown;
88
+ };
85
89
  setConsentData: {
86
90
  type: "setConsentData";
87
91
  params: NonReducibleUnknown;
@@ -90,14 +94,10 @@ declare const consentMachine: StateMachine<ConsentContext, {
90
94
  type: "toggleCheckbox";
91
95
  params: NonReducibleUnknown;
92
96
  };
93
- resetContext: {
94
- type: "resetContext";
95
- params: NonReducibleUnknown;
96
- };
97
97
  }>, {
98
98
  type: "canSubmit";
99
99
  params: unknown;
100
- }, never, "error" | "idle" | "finished" | "loading" | "submitting" | "display", string, ConsentInput, NonReducibleUnknown, EventObject, MetaObject, {
100
+ }, never, "error" | "idle" | "finished" | "submitting" | "loading" | "display", string, ConsentInput, NonReducibleUnknown, EventObject, MetaObject, {
101
101
  readonly id: "consent";
102
102
  readonly initial: "idle";
103
103
  readonly context: ({ input }: {
@@ -1,4 +1,4 @@
1
- import { a as CurpValidationActor, c as CurpValidationErrors, d as GenerateCurpFieldDef, f as GenerateCurpFieldType, i as createCurpValidationManagerFromActor, l as CurpValidationRule, n as CurpValidationState, o as curpValidationMachine, p as GenerateCurpForm, r as createCurpValidationManager, s as CurpValidationConfig, t as CurpValidationManager, u as EnterCurpFieldDef } from "./curpValidationManager-DVGr7Fq7.js";
1
+ import { a as CurpValidationActor, c as CurpValidationErrors, d as GenerateCurpFieldDef, f as GenerateCurpFieldType, i as createCurpValidationManagerFromActor, l as CurpValidationRule, n as CurpValidationState, o as curpValidationMachine, p as GenerateCurpForm, r as createCurpValidationManager, s as CurpValidationConfig, t as CurpValidationManager, u as EnterCurpFieldDef } from "./curpValidationManager-BxWhpCLA.js";
2
2
  //#region src/modules/curp-validation/curpValidationUtils.d.ts
3
3
  type MexicanState = {
4
4
  value: string;
@@ -1,7 +1,7 @@
1
1
  import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
2
2
  import { t as Manager } from "./Manager-CQQ99QOI.js";
3
3
  import "./Actor-iTq7YY48.js";
4
- import { i as FlowModuleConfig } from "./types-KPvmag_B.js";
4
+ import { i as FlowModuleConfig } from "./types-CRw2IBPn.js";
5
5
  //#region src/modules/curp-validation/types.d.ts
6
6
  type CurpValidationConfig = FlowModuleConfig['CURP_VALIDATION'] & {
7
7
  /** Maximum validation retries before auto-advancing. @default 1 */
@@ -1,8 +1,8 @@
1
1
  import { r as WasmUtilProvider } from "./safeStorage-Ep56I-f_.esm.js";
2
2
  import { t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { l as trueSightLog } from "./trueSightService-cHkLJSee.esm.js";
4
- import { g as getThumbmarkId, h as IpifyProvider, n as getFingerprintEnabled, p as isBrowserSimulation, t as getDisableIpify, v as BrowserEnvironmentProvider } from "./sessionInitializer-cN0BBsw_.esm.js";
5
- import "./trueSight-BavPUk2L.esm.js";
3
+ import { l as trueSightLog } from "./trueSightService-BZmXBTxe.esm.js";
4
+ import { g as getThumbmarkId, h as IpifyProvider, n as getFingerprintEnabled, p as isBrowserSimulation, t as getDisableIpify, v as BrowserEnvironmentProvider } from "./sessionInitializer-Cf4454sK.esm.js";
5
+ import "./trueSight-CNDDfLHG.esm.js";
6
6
  import { t as addDeviceStats } from "./stats-B0nFKawG.esm.js";
7
7
  import { t as getParsedUserAgent } from "./getParsedUserAgent-pJjATANs.esm.js";
8
8
  import { t as getUserAgent } from "./getBrowser-Cb8Zgrgp.esm.js";
@@ -1,3 +1,3 @@
1
1
  import { a as DocumentCaptureErrorCode, c as DocumentType, n as DOCUMENT_CAPTURE_ERROR_CODES, r as DocumentCaptureConfig, s as DocumentCaptureNextPageType } from "./types-DelMqZLe.js";
2
- import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, o as documentCaptureMachine, r as createDocumentCaptureManager, t as DocumentCaptureManager } from "./documentCaptureManager-BykkLCQD.js";
2
+ import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, o as documentCaptureMachine, r as createDocumentCaptureManager, t as DocumentCaptureManager } from "./documentCaptureManager-B3t0ydtg.js";
3
3
  export { DOCUMENT_CAPTURE_ERROR_CODES, type DocumentCaptureActor, type DocumentCaptureConfig, type DocumentCaptureErrorCode, type DocumentCaptureManager, type DocumentCaptureNextPageType, type DocumentCaptureState, type DocumentType, createDocumentCaptureManager, createDocumentCaptureManagerFromActor, documentCaptureMachine };
@@ -38,10 +38,6 @@ declare const documentUploadMachine: StateMachine<DocumentUploadContext, {
38
38
  id: string | undefined;
39
39
  };
40
40
  }>, Values<{
41
- setError: {
42
- type: "setError";
43
- params: NonReducibleUnknown;
44
- };
45
41
  setStream: {
46
42
  type: "setStream";
47
43
  params: NonReducibleUnknown;
@@ -54,6 +50,10 @@ declare const documentUploadMachine: StateMachine<DocumentUploadContext, {
54
50
  type: "setProgress";
55
51
  params: NonReducibleUnknown;
56
52
  };
53
+ setError: {
54
+ type: "setError";
55
+ params: NonReducibleUnknown;
56
+ };
57
57
  clearError: {
58
58
  type: "clearError";
59
59
  params: NonReducibleUnknown;
@@ -251,7 +251,7 @@ declare const documentCaptureMachine: StateMachine<DocumentCaptureContext, {
251
251
  type: "fileSizeOkForNonGallery";
252
252
  params: unknown;
253
253
  };
254
- }>, never, "uploading" | "closed" | "success" | "finished" | "initCamera" | "capturing" | "failure" | "tutorial" | "preview" | "nextPage" | "finalizing" | {
254
+ }>, never, "uploading" | "closed" | "success" | "finished" | "initCamera" | "capturing" | "tutorial" | "preview" | "failure" | "nextPage" | "finalizing" | {
255
255
  permissions: "idle" | "denied" | "waitingForUser" | "requesting" | "learnMore";
256
256
  }, string, DocumentCaptureInput, NonReducibleUnknown, EventObject, MetaObject, {
257
257
  readonly id: "documentCapture";
@@ -1,3 +1,3 @@
1
- import { t as dynamicFormsMachine } from "./dynamicFormsStateMachine-CBBxmzeG.esm.js";
2
- import { t as createDynamicFormsManager } from "./dynamicFormsManager-D45RZsO7.esm.js";
1
+ import { t as dynamicFormsMachine } from "./dynamicFormsStateMachine-CgptZMHY.esm.js";
2
+ import { t as createDynamicFormsManager } from "./dynamicFormsManager-Dz4Fhu6e.esm.js";
3
3
  export { createDynamicFormsManager, dynamicFormsMachine };
@@ -1,7 +1,7 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CxfNJVZW.esm.js";
2
2
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
3
3
  import { c as createManager, o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
4
- import { t as dynamicFormsMachine } from "./dynamicFormsStateMachine-CBBxmzeG.esm.js";
4
+ import { t as dynamicFormsMachine } from "./dynamicFormsStateMachine-CgptZMHY.esm.js";
5
5
  //#region src/modules/dynamic-forms/dynamicFormsActor.ts
6
6
  function createDynamicFormsActor(options) {
7
7
  return createActor(dynamicFormsMachine, { input: { config: options.config } }).start();
@@ -1,6 +1,6 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
2
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
3
- import { r as toIncodeApiError, t as IncodeApiError } from "./apiError-CDBvBov0.esm.js";
3
+ import { r as toIncodeApiError, t as IncodeApiError } from "./apiError-NxOKXjwM.esm.js";
4
4
  import { r as assign, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
5
  import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
6
6
  import { t as isoDateToMs } from "./dateUtils-CvG0FvK8.esm.js";
package/dist/ekyb.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./StateMachine-EDpYWy0i.js";
2
2
  import { c as AddressSuggestion } from "./types-Bk_6dmDa.js";
3
- import { i as FlowModuleConfig } from "./types-KPvmag_B.js";
3
+ import { i as FlowModuleConfig } from "./types-CRw2IBPn.js";
4
4
  import { a as EkybValidationError, n as EkybCountry, o as EkybValidationErrors, r as EkybFieldDef, s as UboEntry, t as EkybConfig } from "./types-BfHiko5D.js";
5
5
  import { n as EkybState, o as ekybMachine, r as createEkybManager, t as EkybManager } from "./ekybManager-Dzswb_b8.js";
6
6
  //#region src/modules/ekyb/ekybServices.d.ts
package/dist/ekyb.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { E as SUPPORTED_COUNTRIES, O as isSupportedCountry, S as DEV_ONLY_COUNTRIES, g as toEkybConfig, v as ALL_COUNTRIES } from "./flowServices-ApC5Y1FB.esm.js";
2
- import { t as ekybMachine } from "./ekybStateMachine-CqtP2bQ6.esm.js";
3
- import { t as createEkybManager } from "./ekybManager-CRr_E3d-.esm.js";
1
+ import { E as SUPPORTED_COUNTRIES, O as isSupportedCountry, S as DEV_ONLY_COUNTRIES, g as toEkybConfig, v as ALL_COUNTRIES } from "./flowServices-BlKkpE6n.esm.js";
2
+ import { t as ekybMachine } from "./ekybStateMachine-Rg7YTCug.esm.js";
3
+ import { t as createEkybManager } from "./ekybManager-BVs8Wy7X.esm.js";
4
4
  export { ALL_COUNTRIES, DEV_ONLY_COUNTRIES, SUPPORTED_COUNTRIES, createEkybManager, ekybMachine, isSupportedCountry, toEkybConfig };
@@ -1,7 +1,7 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CxfNJVZW.esm.js";
2
2
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
3
3
  import { c as createManager, o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
4
- import { t as ekybMachine } from "./ekybStateMachine-CqtP2bQ6.esm.js";
4
+ import { t as ekybMachine } from "./ekybStateMachine-Rg7YTCug.esm.js";
5
5
  //#region src/modules/ekyb/ekybActor.ts
6
6
  /**
7
7
  * Creates and starts an eKYB actor.
@@ -1,6 +1,6 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
2
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
3
- import { C as FIELD_NAME_MAPPING, D as UBO_FIELD_LABELS, O as isSupportedCountry, T as INVALID_CNPJ_PATTERNS, _ as ADDRESS_FIELDS, b as CNPJ_SECOND_DIGIT_FACTORS, f as hasAtLeastOneAddressField, g as toEkybConfig, h as sortModulesByOrder, m as requiresAddressValidation, p as isFieldOptional, t as getFlow, v as ALL_COUNTRIES, w as FIELD_ORDER, x as COUNTRIES_WITH_CNPJ_VALIDATION, y as CNPJ_FIRST_DIGIT_FACTORS } from "./flowServices-ApC5Y1FB.esm.js";
3
+ import { C as FIELD_NAME_MAPPING, D as UBO_FIELD_LABELS, O as isSupportedCountry, T as INVALID_CNPJ_PATTERNS, _ as ADDRESS_FIELDS, b as CNPJ_SECOND_DIGIT_FACTORS, f as hasAtLeastOneAddressField, g as toEkybConfig, h as sortModulesByOrder, m as requiresAddressValidation, p as isFieldOptional, t as getFlow, v as ALL_COUNTRIES, w as FIELD_ORDER, x as COUNTRIES_WITH_CNPJ_VALIDATION, y as CNPJ_FIRST_DIGIT_FACTORS } from "./flowServices-BlKkpE6n.esm.js";
4
4
  import { r as assign, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
5
  import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
6
6
  import { a as getPostalCodeMaxLength, c as STREET_LEVEL_REQUIRED_ERROR, d as usStateOptions, i as getPostalCodeErrorKey, l as fillFromSuggestion, n as FIXED_DIGIT_POSTAL_CODE_LENGTH, o as validatePostalCode, r as formatPostalCode, s as DYNAMIC_REQUIRED_KEY, t as debounceSearchActor, u as getStreetLevelErrorForSuggestion } from "./addressSearch-DQyrvDQj.esm.js";
@@ -1,2 +1,2 @@
1
- import { a as QE_CONSENT_KEYS, c as getDefaultConsentChecks, i as AE_CONSENT_KEYS, n as createElectronicSignatureManagerFromActor, o as areAllConsented, r as electronicSignatureMachine, s as getConsentKeys, t as createElectronicSignatureManager } from "./electronicSignatureManager-C3BroxYp.esm.js";
1
+ import { a as QE_CONSENT_KEYS, c as getDefaultConsentChecks, i as AE_CONSENT_KEYS, n as createElectronicSignatureManagerFromActor, o as areAllConsented, r as electronicSignatureMachine, s as getConsentKeys, t as createElectronicSignatureManager } from "./electronicSignatureManager-DeMepXDO.esm.js";
2
2
  export { AE_CONSENT_KEYS, QE_CONSENT_KEYS, areAllConsented, createElectronicSignatureManager, createElectronicSignatureManagerFromActor, electronicSignatureMachine, getConsentKeys, getDefaultConsentChecks };
@@ -2,7 +2,7 @@ import { t as api } from "./api-Bx3gKW_y.esm.js";
2
2
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CxfNJVZW.esm.js";
3
3
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
4
4
  import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
5
- import { r as toIncodeApiError } from "./apiError-CDBvBov0.esm.js";
5
+ import { r as toIncodeApiError } from "./apiError-NxOKXjwM.esm.js";
6
6
  import { c as createManager, o as createActor, r as assign, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
7
7
  import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
8
8
  import { t as externalFetch } from "./externalFetch-BKBThAUC.esm.js";
@@ -5,28 +5,28 @@ import "./Actor-iTq7YY48.js";
5
5
  import { c as ElectronicSignatureFileDataHolder } from "./types-DVmXIdzW.js";
6
6
  import { a as ElectronicSignatureActor, i as createElectronicSignatureManagerFromActor, n as ElectronicSignatureState, t as ElectronicSignatureManager } from "./electronicSignatureManager-CcUXQZS7.js";
7
7
  import { a as AntifraudActor, i as createAntifraudManagerFromActor, n as AntifraudState, t as AntifraudManager } from "./antifraudManager-BY36bS12.js";
8
- import { _ as SendFaceImageResponse, c as SelfieActor, d as FaceCaptureContext, f as FaceCaptureEvent, m as faceCaptureMachine, n as FaceCaptureManagerState, p as FaceCaptureInput, t as FaceCaptureManager, v as AuthenticationActor } from "./faceCaptureManagerFactory-BxWPpxyd.js";
8
+ import { _ as SendFaceImageResponse, c as SelfieActor, d as FaceCaptureContext, f as FaceCaptureEvent, m as faceCaptureMachine, n as FaceCaptureManagerState, p as FaceCaptureInput, t as FaceCaptureManager, v as AuthenticationActor } from "./faceCaptureManagerFactory-fq0Rl3ik.js";
9
9
  import { t as IStorageCapability } from "./IStorageCapability-ORkQfK3F.js";
10
10
  import { n as BaseWasmProvider } from "./FaceDetectionProvider-Mh6q3EbA.js";
11
- import { c as VirtualCameraCheckOutput, l as WasmUtilConfig, s as IWasmUtilCapability } from "./types-Hmd7U0JA.js";
12
- import { a as ProcessFaceResponse, i as createSelfieManagerFromActor, n as SelfieState, t as SelfieManager } from "./selfieManager-DwlCppg0.js";
13
- import { i as createAuthenticationManagerFromActor, n as AuthenticationState, t as AuthenticationManager } from "./authenticationManager-BBMGTcwW.js";
14
- import { a as ConsentActor, i as createConsentManagerFromActor, n as ConsentState, t as ConsentManager } from "./consentManager-2h_w6wFc.js";
11
+ import { c as VirtualCameraCheckOutput, l as WasmUtilConfig, s as IWasmUtilCapability } from "./types-Cyiwbg-r.js";
12
+ import { a as ProcessFaceResponse, i as createSelfieManagerFromActor, n as SelfieState, t as SelfieManager } from "./selfieManager-DlAKn0rp.js";
13
+ import { i as createAuthenticationManagerFromActor, n as AuthenticationState, t as AuthenticationManager } from "./authenticationManager-D8DEugXP.js";
14
+ import { a as ConsentActor, i as createConsentManagerFromActor, n as ConsentState, t as ConsentManager } from "./consentManager-uhDPdU6i.js";
15
15
  import { a as CrossDocumentDataMatchActor, i as createCrossDocumentDataMatchManagerFromActor, n as CrossDocumentDataMatchState, t as CrossDocumentDataMatchManager } from "./crossDocumentDataMatchManager-Dq8Z3SOg.js";
16
- import { a as CurpValidationActor, i as createCurpValidationManagerFromActor, n as CurpValidationState, t as CurpValidationManager } from "./curpValidationManager-DVGr7Fq7.js";
17
- import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, t as DocumentCaptureManager } from "./documentCaptureManager-BykkLCQD.js";
16
+ import { a as CurpValidationActor, i as createCurpValidationManagerFromActor, n as CurpValidationState, t as CurpValidationManager } from "./curpValidationManager-BxWhpCLA.js";
17
+ import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, t as DocumentCaptureManager } from "./documentCaptureManager-B3t0ydtg.js";
18
18
  import { a as DynamicFormsActor, i as createDynamicFormsManagerFromActor, n as DynamicFormsState, t as DynamicFormsManager } from "./dynamicFormsManager-fhK0yINk.js";
19
19
  import { a as EkybActor, i as createEkybManagerFromActor, n as EkybState, t as EkybManager } from "./ekybManager-Dzswb_b8.js";
20
20
  import { a as EkycActor, i as createEkycManagerFromActor, n as EkycState, t as EkycManager } from "./ekycManager-BFpHbBoT.js";
21
21
  import { a as EmailActor, i as createEmailManagerFromActor, n as EmailState, t as EmailManager } from "./emailManager-CADXW_9X.js";
22
- import { n as CaptureIdResponse } from "./types-M6eb82ra2.js";
23
- import { i as createIdCaptureManagerFromActor, k as IdCaptureActor, n as IdCaptureManager, r as IdCaptureState } from "./idCaptureManager-BjU-Wyow.js";
22
+ import { n as CaptureIdResponse } from "./types-GqIocZi-2.js";
23
+ import { i as createIdCaptureManagerFromActor, k as IdCaptureActor, n as IdCaptureManager, r as IdCaptureState } from "./idCaptureManager-DCypF_2I.js";
24
24
  import { a as PhoneActor, i as createPhoneManagerFromActor, n as PhoneState, t as PhoneManager } from "./phoneManager-BBU8Lq0O.js";
25
25
  import { a as WatchlistActor, i as createWatchlistManagerFromActor, n as WatchlistState, t as WatchlistManager } from "./watchlistManager-DLXef90v.js";
26
- import { a as IdentityReuseActor, i as createIdentityReuseManagerFromActor, n as IdentityReuseState, t as IdentityReuseManager } from "./identityReuseManager-D6pD4hcZ.js";
26
+ import { a as IdentityReuseActor, i as createIdentityReuseManagerFromActor, n as IdentityReuseState, t as IdentityReuseManager } from "./identityReuseManager-v2TH5g7e.js";
27
27
  import { a as FieldComparisonActor, i as createFieldComparisonManagerFromActor, n as FieldComparisonState, t as FieldComparisonManager } from "./fieldComparisonManager-CBvEGxFx.js";
28
- import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, t as MandatoryConsentManager } from "./mandatoryConsentManager-DXlHM88Z.js";
29
- import { a as IdOcrActor, i as createIdOcrManagerFromActor, n as IdOcrState, t as IdOcrManager } from "./idOcrManager-dLuxey6y.js";
28
+ import { a as MandatoryConsentActor, i as createMandatoryConsentManagerFromActor, n as MandatoryConsentState, t as MandatoryConsentManager } from "./mandatoryConsentManager-CVxw-noP.js";
29
+ import { a as IdOcrActor, i as createIdOcrManagerFromActor, n as IdOcrState, t as IdOcrManager } from "./idOcrManager-DXc_xRN7.js";
30
30
  import { a as RedirectToMobileActor, i as createRedirectToMobileManagerFromActor, n as RedirectToMobileState, t as RedirectToMobileManager } from "./redirectToMobileManager-BD2PvT5B.js";
31
31
  import { a as createSignatureManagerFromActor, n as SignatureManager, o as SignatureActor, r as SignatureState } from "./signatureManager-DGBSWz2_.js";
32
32
  import { a as GeolocationActor, i as createGeolocationManagerFromActor, n as GeolocationState, t as GeolocationManager } from "./geolocationManager-Cz744E5S.js";
@@ -1,22 +1,22 @@
1
1
  import { r as WasmUtilProvider } from "./safeStorage-Ep56I-f_.esm.js";
2
2
  import { t as BrowserStorageProvider } from "./BrowserStorageProvider-k-FDkC4W.esm.js";
3
- import { _ as getDeviceFingerprintInfo, m as getFingerprint } from "./sessionInitializer-cN0BBsw_.esm.js";
3
+ import { _ as getDeviceFingerprintInfo, m as getFingerprint } from "./sessionInitializer-Cf4454sK.esm.js";
4
4
  import { o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
5
5
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-CtI5S0f4.esm.js";
6
- import { n as createElectronicSignatureManagerFromActor } from "./electronicSignatureManager-C3BroxYp.esm.js";
6
+ import { n as createElectronicSignatureManagerFromActor } from "./electronicSignatureManager-DeMepXDO.esm.js";
7
7
  import { n as createAntifraudManagerFromActor } from "./antifraudManager-B8Plzf7a.esm.js";
8
- import { t as faceCaptureMachine } from "./faceCaptureSetup-CvHljuOj.esm.js";
9
- import { n as createAuthenticationManagerFromActor } from "./authenticationManager-BfXvx0a4.esm.js";
8
+ import { t as faceCaptureMachine } from "./faceCaptureSetup-DXmSGArd.esm.js";
9
+ import { n as createAuthenticationManagerFromActor } from "./authenticationManager-BtNvLFrM.esm.js";
10
10
  import { n as createConsentManagerFromActor } from "./consentManager-BApTlfA0.esm.js";
11
11
  import { n as createCrossDocumentDataMatchManagerFromActor } from "./crossDocumentDataMatchManager-OmYvyung.esm.js";
12
12
  import { n as createCurpValidationManagerFromActor } from "./curpValidationManager-UZxcrsrz.esm.js";
13
13
  import { n as createDocumentCaptureManagerFromActor } from "./documentCaptureManager-DszmcU-l.esm.js";
14
- import { n as createDynamicFormsManagerFromActor } from "./dynamicFormsManager-D45RZsO7.esm.js";
15
- import { n as createEkybManagerFromActor } from "./ekybManager-CRr_E3d-.esm.js";
14
+ import { n as createDynamicFormsManagerFromActor } from "./dynamicFormsManager-Dz4Fhu6e.esm.js";
15
+ import { n as createEkybManagerFromActor } from "./ekybManager-BVs8Wy7X.esm.js";
16
16
  import { n as createEkycManagerFromActor } from "./ekycManager-oTstTJuL.esm.js";
17
17
  import { n as createEmailManagerFromActor } from "./emailManager-tE-YvNtS.esm.js";
18
- import { n as createSelfieManagerFromActor } from "./selfieManager-CuveGnyU.esm.js";
19
- import { r as createIdCaptureManagerFromActor } from "./idCaptureManager-CaIqKY4V.esm.js";
18
+ import { n as createSelfieManagerFromActor } from "./selfieManager-Bz-C2_TA.esm.js";
19
+ import { r as createIdCaptureManagerFromActor } from "./idCaptureManager-LP_8NlkN.esm.js";
20
20
  import { n as createPhoneManagerFromActor } from "./phoneManager-Cpiai2IM.esm.js";
21
21
  import { n as createWatchlistManagerFromActor } from "./watchlistManager-CjSMmbyq.esm.js";
22
22
  import { n as createIdentityReuseManagerFromActor } from "./identityReuseManager-D5vXknnJ.esm.js";
@@ -25,7 +25,7 @@ import { n as createMandatoryConsentManagerFromActor } from "./mandatoryConsentM
25
25
  import { n as createIdOcrManagerFromActor } from "./idOcrManager-CvJZhmBR.esm.js";
26
26
  import { n as createRedirectToMobileManagerFromActor } from "./redirectToMobileManager-C0dfc7f6.esm.js";
27
27
  import { n as createSignatureManagerFromActor } from "./signatureManager-DdPgcmou.esm.js";
28
- import { n as createGeolocationManagerFromActor } from "./geolocationManager--SEGak7N.esm.js";
28
+ import { n as createGeolocationManagerFromActor } from "./geolocationManager-Nt1s4X5N.esm.js";
29
29
  import { n as createIdVerificationManagerFromActor } from "./idVerificationManager-CduNXhWd.esm.js";
30
30
  import { n as createFaceMatchManagerFromActor } from "./faceMatchManager-BXp2WUT-.esm.js";
31
31
  export { BrowserStorageProvider, WasmUtilProvider, createActor, createAntifraudManagerFromActor, createAuthenticationManagerFromActor, createConsentManagerFromActor, createCrossDocumentDataMatchManagerFromActor, createCurpValidationManagerFromActor, createDocumentCaptureManagerFromActor, createDynamicFormsManagerFromActor, createEkybManagerFromActor, createEkycManagerFromActor, createElectronicSignatureManagerFromActor, createEmailManagerFromActor, createFaceMatchManagerFromActor, createFieldComparisonManagerFromActor, createGeolocationManagerFromActor, createIdCaptureManagerFromActor, createIdOcrManagerFromActor, createIdVerificationManagerFromActor, createIdentityReuseManagerFromActor, createMandatoryConsentManagerFromActor, createPhoneManagerFromActor, createRedirectToMobileManagerFromActor, createSelfieManagerFromActor, createSignatureManagerFromActor, createWatchlistManagerFromActor, faceCaptureMachine, fromCallback, fromPromise, getDeviceFingerprintInfo, getFingerprint };
@@ -1,7 +1,7 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation, r as eventScreenNames } from "./events-CxfNJVZW.esm.js";
2
2
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
3
3
  import { c as createManager } from "./xstate.esm-Cf4e0Cfd.esm.js";
4
- import { n as concealmentToAvatar } from "./faceCaptureSetup-CvHljuOj.esm.js";
4
+ import { r as concealmentToAvatar } from "./faceCaptureSetup-DXmSGArd.esm.js";
5
5
  import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-BqUCwLY8.esm.js";
6
6
  import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BX1BiLDK.esm.js";
7
7
  import { r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-UvUcOSRb.esm.js";
@@ -26,14 +26,30 @@ function getCaptureStatus(snapshot) {
26
26
  if (snapshot.matches({ capture: "uploadError" })) return "uploadError";
27
27
  if (snapshot.matches({ capture: "success" })) return "success";
28
28
  }
29
+ function mapManualUploadState(snapshot) {
30
+ const childSnapshot = snapshot.children["manualUpload"]?.getSnapshot();
31
+ const childContext = childSnapshot?.context;
32
+ const childValue = childSnapshot?.value;
33
+ const uploaded = childContext?.uploaded ?? false;
34
+ return {
35
+ status: "manualUpload",
36
+ phase: childValue === "preparing" || childValue === "uploading" ? "uploading" : "selecting",
37
+ uploaded,
38
+ canContinue: uploaded,
39
+ errorKey: childContext?.errorKey ?? null,
40
+ attemptsRemaining: childContext?.retriesLeft ?? 0
41
+ };
42
+ }
29
43
  function mapState(snapshot) {
30
44
  const { context } = snapshot;
31
45
  if (snapshot.matches("idle")) return { status: "idle" };
32
46
  if (snapshot.matches("loading")) return { status: "loading" };
33
47
  if (snapshot.matches("tutorial")) return {
34
48
  status: "tutorial",
35
- ageAssurance: context.config?.ageAssurance === true
49
+ ageAssurance: context.config?.ageAssurance === true,
50
+ showManualUploadLink: context.config?.manualUploadSelfieCapture === true
36
51
  };
52
+ if (snapshot.matches("manualUpload")) return mapManualUploadState(snapshot);
37
53
  if (snapshot.matches("closed")) return { status: "closed" };
38
54
  if (snapshot.matches("permissions")) {
39
55
  const permissionStatus = getPermissionStatus(snapshot);
@@ -221,7 +237,9 @@ function getFaceCaptureScreenName(snapshot, moduleName) {
221
237
  case "tutorial": return getFaceCaptureTutorialScreen(snapshot);
222
238
  case "permissions": return "faceCapture.tutorial.default";
223
239
  case "capture": return getCaptureSubstateScreen(snapshot);
240
+ case "manualUpload": return "faceCapture.manualUpload.default";
224
241
  case "processing": return "faceCapture.loading.processing";
242
+ case "terminalProcessing": return "faceCapture.loading.processing";
225
243
  case "finished": return "faceCapture.resultSuccess.default";
226
244
  case "closed": return "faceCapture.closed";
227
245
  case "error": return "faceCapture.resultError.processingFailed";
@@ -314,6 +332,34 @@ function createApi({ actor, trackElementClicked, trackCaptureAttemptFinished })
314
332
  capture() {
315
333
  trackElementClicked?.("capture");
316
334
  actor.send({ type: "MANUAL_CAPTURE" });
335
+ },
336
+ /**
337
+ * Leaves the tutorial for the manual file-upload screen.
338
+ * Only effective from `tutorial` and only when the module enables it, so a
339
+ * call from anywhere else — including the console — is a no-op.
340
+ */
341
+ goToManualUpload() {
342
+ trackElementClicked?.("goToManualUpload");
343
+ actor.send({ type: "GO_TO_MANUAL_UPLOAD" });
344
+ },
345
+ /**
346
+ * Submits a file the user picked from device storage.
347
+ * Only effective when in `manualUpload`.
348
+ */
349
+ manualUploadSelectFile(file) {
350
+ trackElementClicked?.("manualUploadSelectFile");
351
+ actor.send({
352
+ type: "MANUAL_UPLOAD_FILE_SELECTED",
353
+ file
354
+ });
355
+ },
356
+ /**
357
+ * Accepts the uploaded photo and moves on to processing.
358
+ * Only effective when in `manualUpload` and an upload has succeeded.
359
+ */
360
+ manualUploadContinue() {
361
+ trackElementClicked?.("manualUploadContinue");
362
+ actor.send({ type: "MANUAL_UPLOAD_CONTINUE" });
317
363
  }
318
364
  };
319
365
  }
@@ -8,10 +8,10 @@ import { t as CameraStream } from "./camera-9wWD-pwg.js";
8
8
  import { o as IncodeCanvas } from "./IStorageCapability-ORkQfK3F.js";
9
9
  import { i as FaceData, r as FaceCoordinates, t as FaceDetectionProvider } from "./FaceDetectionProvider-Mh6q3EbA.js";
10
10
  import { t as AvatarId } from "./createFaceAvatar-BEj18KXi.js";
11
- import { i as FlowModuleConfig } from "./types-KPvmag_B.js";
12
- import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode, r as FaceCaptureDependencies, t as BaseFaceCaptureConfig } from "./types-Hmd7U0JA.js";
11
+ import { i as FlowModuleConfig } from "./types-CRw2IBPn.js";
12
+ import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode, r as FaceCaptureDependencies, t as BaseFaceCaptureConfig } from "./types-Cyiwbg-r.js";
13
13
  import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
14
- import { t as AuthenticationConfig } from "./types-EELWyWpd.js";
14
+ import { t as AuthenticationConfig } from "./types-C2JzKH_L.js";
15
15
  import { n as StreamCanvasCapture, t as DeepsightService } from "./deepsightService-DLVQS_RH.js";
16
16
  //#region src/modules/authentication/authenticationStateMachine.d.ts
17
17
  declare const _authenticationMachine: AnyStateMachine;
@@ -229,6 +229,15 @@ type FaceCaptureEvent = {
229
229
  canvas: HTMLCanvasElement;
230
230
  } | {
231
231
  type: 'RETRY_CAPTURE';
232
+ } | {
233
+ type: 'GO_TO_MANUAL_UPLOAD';
234
+ } | {
235
+ type: 'MANUAL_UPLOAD_FILE_SELECTED';
236
+ file: File;
237
+ } | {
238
+ type: 'MANUAL_UPLOAD_CONTINUE';
239
+ } | {
240
+ type: 'MANUAL_UPLOAD_RESET';
232
241
  };
233
242
  declare const faceCaptureMachine: AnyStateMachine;
234
243
  //#endregion
@@ -291,6 +300,20 @@ type FaceCaptureLoadingState = {
291
300
  type FaceCaptureTutorialState = {
292
301
  status: 'tutorial';
293
302
  ageAssurance?: boolean;
303
+ /** Whether to offer the manual file-upload alternative to live capture. */
304
+ showManualUploadLink: boolean;
305
+ };
306
+ /** Picking a photo from device storage instead of using the camera */
307
+ type FaceCaptureManualUploadState = {
308
+ status: 'manualUpload';
309
+ /** `uploading` covers both the file conversion and the network call. */
310
+ phase: 'selecting' | 'uploading';
311
+ /** Whether a file has been accepted by the backend. */
312
+ uploaded: boolean;
313
+ canContinue: boolean;
314
+ /** i18n key for the current rejection, or `null`. */
315
+ errorKey: string | null;
316
+ attemptsRemaining: number;
294
317
  };
295
318
  /** Handling camera permissions */
296
319
  type FaceCapturePermissionsState = {
@@ -373,7 +396,7 @@ type FaceCaptureErrorState = {
373
396
  moduleErrorCode?: string;
374
397
  };
375
398
  /** Union of all possible face capture states */
376
- type FaceCaptureManagerState = FaceCaptureIdleState | FaceCaptureLoadingState | FaceCaptureTutorialState | FaceCapturePermissionsState | FaceCaptureCaptureState | FaceCaptureProcessingState | FaceCaptureFinishedState | FaceCaptureClosedState | FaceCaptureErrorState;
399
+ type FaceCaptureManagerState = FaceCaptureIdleState | FaceCaptureLoadingState | FaceCaptureTutorialState | FaceCapturePermissionsState | FaceCaptureCaptureState | FaceCaptureManualUploadState | FaceCaptureProcessingState | FaceCaptureFinishedState | FaceCaptureClosedState | FaceCaptureErrorState;
377
400
  /**
378
401
  * Builds a face capture manager (selfie / authentication / captureOnly) from an
379
402
  * already-created actor.
@@ -433,6 +456,22 @@ declare function createFaceCaptureManagerFromActor(actor: FaceCaptureActor, modu
433
456
  * Only effective when in `capture.detecting` state and `detectionStatus === 'manualCapture'`.
434
457
  */
435
458
  capture(): void;
459
+ /**
460
+ * Leaves the tutorial for the manual file-upload screen.
461
+ * Only effective from `tutorial` and only when the module enables it, so a
462
+ * call from anywhere else — including the console — is a no-op.
463
+ */
464
+ goToManualUpload(): void;
465
+ /**
466
+ * Submits a file the user picked from device storage.
467
+ * Only effective when in `manualUpload`.
468
+ */
469
+ manualUploadSelectFile(file: File): void;
470
+ /**
471
+ * Accepts the uploaded photo and moves on to processing.
472
+ * Only effective when in `manualUpload` and an upload has succeeded.
473
+ */
474
+ manualUploadContinue(): void;
436
475
  };
437
476
  type FaceCaptureManager = ReturnType<typeof createFaceCaptureManagerFromActor>;
438
477
  //#endregion