@incodetech/core 2.1.1 → 2.2.0-rc.1

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 (328) hide show
  1. package/dist/{3dAvatarProvider-BwOmTMOy.esm.js → 3dAvatarProvider-g02DTFqT.esm.js} +811 -880
  2. package/dist/Actor-iTq7YY48.d.ts +1 -0
  3. package/dist/BrowserDiagnosticsCryptoProvider-BwGL3Lmi.esm.js +95 -0
  4. package/dist/BrowserLazyImportProvider-BhoA957O.esm.js +114 -0
  5. package/dist/{BrowserStorageProvider-CBHBhKQN.esm.js → BrowserStorageProvider-k-FDkC4W.esm.js} +2 -4
  6. package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
  7. package/dist/{BrowserVisibilityObserverProvider-GBS6XSii.esm.js → BrowserVisibilityObserverProvider-BX1BiLDK.esm.js} +1 -2
  8. package/dist/Face2DProvider-UUQt_vRC.esm.js +437 -0
  9. package/dist/{createFaceAvatar-CpdYp9Iy.d.ts → FaceDetectionProvider-Mh6q3EbA.d.ts} +107 -159
  10. package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +9 -0
  11. package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
  12. package/dist/IFeatureManagementCapability-DdEUp6tB.d.ts +1125 -0
  13. package/dist/IIdCaptureCapability-DHTT3FC2.d.ts +237 -0
  14. package/dist/IStorageCapability-ORkQfK3F.d.ts +242 -0
  15. package/dist/{ITimerCapability-DJ73P4RK.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
  16. package/dist/{Manager-goNPc_h_.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
  17. package/dist/{MotionSensorProvider-BHuHoYvJ.esm.js → MotionSensorProvider-DGiV77J_.esm.js} +2 -37
  18. package/dist/{OpenViduRecordingProvider-CK6A5kiU.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
  19. package/dist/PrivacyLensProvider-D8PS7AJa.esm.js +405 -0
  20. package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
  21. package/dist/{StreamCanvasCapture-CAqUdVkM.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
  22. package/dist/{addressSearch-D7msRieq.esm.js → addressSearch-DQyrvDQj.esm.js} +10 -21
  23. package/dist/ae-signature.d.ts +4 -6
  24. package/dist/ae-signature.esm.js +10 -11
  25. package/dist/antifraud.d.ts +1 -6
  26. package/dist/antifraud.esm.js +3 -8
  27. package/dist/{antifraudManager-5KA84wtF.esm.js → antifraudManager-B8Plzf7a.esm.js} +11 -8
  28. package/dist/{antifraudManager-DCiNI6np.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
  29. package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-r4VxSBS4.esm.js} +5 -7
  30. package/dist/api-Bx3gKW_y.esm.js +129 -0
  31. package/dist/{apiError-DkOXfFBu.esm.js → apiError-oiEnJIlk.esm.js} +25 -3
  32. package/dist/authentication.d.ts +3 -19
  33. package/dist/authentication.esm.js +3 -35
  34. package/dist/{authenticationManager-BeT6tNZm.d.ts → authenticationManager-BBMGTcwW.d.ts} +3 -4
  35. package/dist/{authenticationManager-BryLnSaF.esm.js → authenticationManager-Dq_tudSW.esm.js} +7 -10
  36. package/dist/{authenticationStateMachine-DbdxfGHx.esm.js → authenticationStateMachine-D4koAtP3.esm.js} +11 -15
  37. package/dist/avatar.d.ts +2 -2
  38. package/dist/avatar.esm.js +2 -3
  39. package/dist/avatar2dWarm-DqucNFX4.esm.js +1330 -0
  40. package/dist/avatarStats-CdUOb3VD.esm.js +136 -0
  41. package/dist/{backCameraStream-ChrMTJv-.esm.js → backCameraStream-CUeYm5eu.esm.js} +20 -8
  42. package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
  43. package/dist/callback-645_omgz.d.ts +133 -0
  44. package/dist/camera-_2sXMXiF.esm.js +140 -0
  45. package/dist/camera.d.ts +19 -2
  46. package/dist/camera.esm.js +2 -6
  47. package/dist/{canvas-Pi10hG_l.esm.js → canvas-E1zGkel4.esm.js} +1 -2
  48. package/dist/certificate-issuance.d.ts +34 -39
  49. package/dist/certificate-issuance.esm.js +4 -11
  50. package/dist/{certificateIssuanceStateMachine-DlZQT1_u.esm.js → certificateIssuanceStateMachine-COd7_l2T.esm.js} +7 -11
  51. package/dist/consent.d.ts +1 -4
  52. package/dist/consent.esm.js +3 -8
  53. package/dist/{consentManager-BwNu-uC-.esm.js → consentManager-BApTlfA0.esm.js} +5 -7
  54. package/dist/{consentManager-B4PMGXW-.d.ts → consentManager-uhDPdU6i.d.ts} +55 -61
  55. package/dist/{consentStateMachine-BOkVFiU7.esm.js → consentStateMachine-WD-S-Yhs.esm.js} +5 -7
  56. package/dist/{cpf-16m_cGAM.esm.js → cpf-BIADjddF.esm.js} +1 -2
  57. package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
  58. package/dist/createFaceAvatar-DQKaRise.esm.js +103 -0
  59. package/dist/cross-document-data-match.d.ts +2 -26
  60. package/dist/cross-document-data-match.esm.js +2 -71
  61. package/dist/crossDocumentDataMatchManager-Dq8Z3SOg.d.ts +41 -0
  62. package/dist/crossDocumentDataMatchManager-OmYvyung.esm.js +84 -0
  63. package/dist/curp-validation.d.ts +1 -11
  64. package/dist/curp-validation.esm.js +3 -8
  65. package/dist/{curpValidationManager-CoqODZx5.d.ts → curpValidationManager-DVGr7Fq7.d.ts} +4 -6
  66. package/dist/{curpValidationManager-Cbji2inV.esm.js → curpValidationManager-UZxcrsrz.esm.js} +11 -7
  67. package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-9KwnqeoB.esm.js} +22 -14
  68. package/dist/custom-fields.d.ts +2 -5
  69. package/dist/custom-fields.esm.js +24 -11
  70. package/dist/custom-watchlist.d.ts +1 -3
  71. package/dist/custom-watchlist.esm.js +11 -10
  72. package/dist/{customWatchlistStateMachine-D8w0mNxm.esm.js → customWatchlistStateMachine-B_ey3TFj.esm.js} +5 -7
  73. package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
  74. package/dist/{deepsightService-CViys6T4.esm.js → deepsightLoader-CWE0SvF1.esm.js} +68 -14
  75. package/dist/{deepsightService-BuTOFTr8.d.ts → deepsightService-DLVQS_RH.d.ts} +41 -2
  76. package/dist/device.d.ts +10 -2
  77. package/dist/device.esm.js +21 -21
  78. package/dist/document-capture.d.ts +3 -1816
  79. package/dist/document-capture.esm.js +3 -245
  80. package/dist/document-upload.d.ts +48 -55
  81. package/dist/document-upload.esm.js +8 -14
  82. package/dist/documentCaptureManager-B3t0ydtg.d.ts +2062 -0
  83. package/dist/documentCaptureManager-DszmcU-l.esm.js +296 -0
  84. package/dist/{documentCaptureStateMachine-BkTvU3yq.esm.js → documentCaptureStateMachine-D2jBwwVb.esm.js} +66 -40
  85. package/dist/dynamic-forms.d.ts +2 -4
  86. package/dist/dynamic-forms.esm.js +3 -9
  87. package/dist/{dynamicFormsManager-CHXUBNs4.esm.js → dynamicFormsManager-B-OmpJkU.esm.js} +48 -9
  88. package/dist/{dynamicFormsManager-CKZkE7Wo.d.ts → dynamicFormsManager-fhK0yINk.d.ts} +22 -46
  89. package/dist/{dynamicFormsStateMachine-DJ1HGZff.esm.js → dynamicFormsStateMachine-D_3oLtOE.esm.js} +161 -34
  90. package/dist/ekyb.d.ts +5 -137
  91. package/dist/ekyb.esm.js +4 -179
  92. package/dist/ekybManager-BJVp2ahf.esm.js +178 -0
  93. package/dist/ekybManager-Dzswb_b8.d.ts +114 -0
  94. package/dist/{ekybStateMachine-D9GzA4MW.esm.js → ekybStateMachine-BYcc9VaR.esm.js} +16 -193
  95. package/dist/ekyc.d.ts +2 -79
  96. package/dist/ekyc.esm.js +4 -154
  97. package/dist/ekycManager-BFpHbBoT.d.ts +97 -0
  98. package/dist/ekycManager-oTstTJuL.esm.js +156 -0
  99. package/dist/{ekycStateMachine-DnVRiu3s.esm.js → ekycStateMachine-DHvksnrr.esm.js} +141 -423
  100. package/dist/ekycUtils-Dew1rBG0.esm.js +223 -0
  101. package/dist/electronic-signature.d.ts +3 -5
  102. package/dist/electronic-signature.esm.js +2 -10
  103. package/dist/{electronicSignatureManager-DESRgObX.esm.js → electronicSignatureManager-CApcBEQd.esm.js} +47 -33
  104. package/dist/{index-36QX_21w.d.ts → electronicSignatureManager-CcUXQZS7.d.ts} +220 -251
  105. package/dist/email.d.ts +1 -5
  106. package/dist/email.esm.js +3 -10
  107. package/dist/{emailManager-CMS4q_r6.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
  108. package/dist/{emailManager-B9Vrv3Ma.esm.js → emailManager-tE-YvNtS.esm.js} +76 -12
  109. package/dist/{emailStateMachine-CbmKFVSi.esm.js → emailStateMachine-Bm894MHB.esm.js} +7 -9
  110. package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-CCzL3XD_.esm.js} +55 -6
  111. package/dist/{events-1wxZ97yf.esm.js → events-CxfNJVZW.esm.js} +43 -176
  112. package/dist/events.d.ts +28 -10
  113. package/dist/events.esm.js +2 -4
  114. package/dist/extensibility.d.ts +37 -37
  115. package/dist/extensibility.esm.js +31 -80
  116. package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
  117. package/dist/face-match.d.ts +2 -225
  118. package/dist/face-match.esm.js +3 -173
  119. package/dist/{faceCaptureManagerFactory-C9TiGbkA.esm.js → faceCaptureManagerFactory-4VejGOQX.esm.js} +52 -31
  120. package/dist/{faceCaptureManagerFactory-DiJ64oem.d.ts → faceCaptureManagerFactory-BxWPpxyd.d.ts} +63 -24
  121. package/dist/{faceCaptureSetup-BqhqfFHL.esm.js → faceCaptureSetup-BB5KEtbV.esm.js} +57 -36
  122. package/dist/faceMatchManager-BXp2WUT-.esm.js +201 -0
  123. package/dist/faceMatchManager-BnvrZM2F.d.ts +268 -0
  124. package/dist/{faceMatchStateMachine-MDb30gCm.esm.js → faceMatchStateMachine-CJiO2yLO.esm.js} +14 -10
  125. package/dist/feature-management-DS_Nj5Gg.esm.js +615 -0
  126. package/dist/feature-management.d.ts +173 -0
  127. package/dist/feature-management.esm.js +2 -0
  128. package/dist/field-comparison.d.ts +1 -4
  129. package/dist/field-comparison.esm.js +2 -7
  130. package/dist/{fieldComparisonManager-OLKVsG2Z.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
  131. package/dist/{fieldComparisonManager-Cw4uzD7S.esm.js → fieldComparisonManager-DhnYdYZ2.esm.js} +6 -11
  132. package/dist/fiscal-qr.d.ts +1 -6
  133. package/dist/fiscal-qr.esm.js +14 -29
  134. package/dist/flow-events.d.ts +2 -9
  135. package/dist/flow.d.ts +59 -21
  136. package/dist/flow.esm.js +132 -49
  137. package/dist/{flowCompletionService-B6P6_EF3.esm.js → flowCompletionService-Bt3wD28k.esm.js} +4 -6
  138. package/dist/flowServices-b0Pd4F1K.esm.js +620 -0
  139. package/dist/geolocation.d.ts +1 -4
  140. package/dist/geolocation.esm.js +3 -9
  141. package/dist/geolocationManager-Cz744E5S.d.ts +506 -0
  142. package/dist/{geolocationManager-CF6-NizA.esm.js → geolocationManager-DGwnL5lg.esm.js} +44 -16
  143. package/dist/{geolocationStateMachine-CD2XJs1b.esm.js → geolocationStateMachine-il6jz5DZ.esm.js} +53 -28
  144. package/dist/{getBrowser-1yNcfFZR.esm.js → getBrowser-Cb8Zgrgp.esm.js} +1 -2
  145. package/dist/getBrowser-DNrQeL4T.esm.js +16 -0
  146. package/dist/getDeviceClass-9y-kbVDw.esm.js +19 -0
  147. package/dist/{getDeviceClass-C-Dg6IsJ.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
  148. package/dist/getParsedUserAgent-pJjATANs.esm.js +1622 -0
  149. package/dist/government-validation.d.ts +3 -6
  150. package/dist/government-validation.esm.js +7 -13
  151. package/dist/{governmentValidationStateMachine-BE5wiQ7Y.esm.js → governmentValidationStateMachine-BYKYUdza.esm.js} +8 -11
  152. package/dist/home.d.ts +14 -22
  153. package/dist/home.esm.js +3 -8
  154. package/dist/http.d.ts +0 -1
  155. package/dist/http.esm.js +2 -4
  156. package/dist/id-ocr.d.ts +8 -7
  157. package/dist/id-ocr.esm.js +20 -9
  158. package/dist/id-selfie-flow.d.ts +179 -0
  159. package/dist/id-selfie-flow.esm.js +917 -0
  160. package/dist/id-verification.d.ts +2 -191
  161. package/dist/id-verification.esm.js +3 -43
  162. package/dist/id.d.ts +7 -18
  163. package/dist/id.esm.js +47 -53
  164. package/dist/{idCaptureDefaults-CZajItdO.esm.js → idCaptureDefaults-WeHbQM7W.esm.js} +54 -17
  165. package/dist/idCaptureManager-BjU-Wyow.d.ts +429 -0
  166. package/dist/{idCaptureManager-DASPUMtC.esm.js → idCaptureManager-DgohUfUQ.esm.js} +173 -34
  167. package/dist/idCaptureServices-RDiDS9tg.esm.js +396 -0
  168. package/dist/{idCaptureStateMachine-DZ2ZTSxu.esm.js → idCaptureStateMachine-DWocZD_m.esm.js} +438 -585
  169. package/dist/{idOcrManager-Tm4LzKR0.esm.js → idOcrManager-CvJZhmBR.esm.js} +4 -7
  170. package/dist/{idOcrManager-DLfAjDZn.d.ts → idOcrManager-DXc_xRN7.d.ts} +62 -229
  171. package/dist/{idOcrStateMachine-BJxZCxwS.esm.js → idOcrStateMachine-Bq_e3l4E.esm.js} +15 -20
  172. package/dist/idVerificationManager-BB4Pj_N6.d.ts +197 -0
  173. package/dist/idVerificationManager-CduNXhWd.esm.js +51 -0
  174. package/dist/{idVerificationStateMachine-DXN9WcdM.esm.js → idVerificationStateMachine-GEQWUPU2.esm.js} +5 -7
  175. package/dist/identity-reuse.d.ts +1 -4
  176. package/dist/identity-reuse.esm.js +3 -8
  177. package/dist/{identityReuseManager-LjkPvSQN.esm.js → identityReuseManager-D5vXknnJ.esm.js} +24 -7
  178. package/dist/{identityReuseManager-CLVOYxcp.d.ts → identityReuseManager-v2TH5g7e.d.ts} +38 -43
  179. package/dist/{identityReuseStateMachine-Bp-zONoV.esm.js → identityReuseStateMachine-AubRPhIi.esm.js} +6 -8
  180. package/dist/index-B8weJxmL.d.ts +1 -0
  181. package/dist/index-BKOWUhxG.d.ts +258 -0
  182. package/dist/{index-DrpWp15Z.d.ts → index-CLMF0QLQ.d.ts} +3 -3
  183. package/dist/index.d.ts +1 -3
  184. package/dist/index.esm.js +2 -15
  185. package/dist/{invokeOnCaptureCallback-CCS2Ruzi.esm.js → invokeOnCaptureCallback-1m1VJ3Q4.esm.js} +2 -4
  186. package/dist/{lib-Bjd6nOLG.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
  187. package/dist/mandatory-consent.d.ts +2 -10
  188. package/dist/mandatory-consent.esm.js +3 -8
  189. package/dist/{mandatoryConsentManager-DeBmOHcQ.d.ts → mandatoryConsentManager-B29kR0XA.d.ts} +60 -85
  190. package/dist/{mandatoryConsentManager-DZ26sg4B.esm.js → mandatoryConsentManager-BeELm1zS.esm.js} +4 -7
  191. package/dist/{mandatoryConsentStateMachine-_44ZoDSh.esm.js → mandatoryConsentStateMachine-zroQGzwb.esm.js} +5 -7
  192. package/dist/manualReviewService-D4IkipnN.esm.js +15 -0
  193. package/dist/{mediaRecorderOptions-CClCKAiF.esm.js → mediaRecorderOptions-dALSV8af.esm.js} +2 -4
  194. package/dist/{mediapipeShared-Bcmkzs3x.esm.js → mediapipeShared-B6oNoXEQ.esm.js} +21 -9
  195. package/dist/{onDeviceFaceResults-DILtthks.esm.js → onDeviceFaceResults-C6IRJHQB.esm.js} +30 -87
  196. package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
  197. package/dist/{otp-B1YeyRXu.d.ts → otp-CEWfTj9v.d.ts} +0 -1
  198. package/dist/{otp-uaXiKt_R.esm.js → otp-D2k3PeSL.esm.js} +3 -14
  199. package/dist/{permissionGuards-BNOe4Tnu.esm.js → permissionGuards-KINpmKtI.esm.js} +2 -4
  200. package/dist/{permissionServices-C_kxhNeo.esm.js → permissionServices-UvUcOSRb.esm.js} +35 -28
  201. package/dist/personhood.d.ts +13 -20
  202. package/dist/personhood.esm.js +153 -85
  203. package/dist/phone.d.ts +1 -5
  204. package/dist/phone.esm.js +3 -10
  205. package/dist/{phoneManager-_KtitbUA.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
  206. package/dist/{phoneManager-CRblfdcI.esm.js → phoneManager-Cpiai2IM.esm.js} +82 -12
  207. package/dist/{phoneStateMachine-DjFGWMjQ.esm.js → phoneStateMachine-E1fUUcNM.esm.js} +7 -9
  208. package/dist/{platform-0Ot-bF_a.esm.js → platform-BJrm5nzZ.esm.js} +31 -11
  209. package/dist/privacyLensWorker-DI-Rg83h.esm.js +355 -0
  210. package/dist/qe-signature.d.ts +4 -6
  211. package/dist/qe-signature.esm.js +10 -11
  212. package/dist/{recordingService-CxaYkITO.esm.js → recordingService-N4RhdyiT.esm.js} +13 -31
  213. package/dist/redirect-to-mobile.d.ts +2 -6
  214. package/dist/redirect-to-mobile.esm.js +3 -10
  215. package/dist/{redirectToMobileManager-dv29o_LS.d.ts → redirectToMobileManager-BD2PvT5B.d.ts} +8 -44
  216. package/dist/{redirectToMobileManager-DbuNUlru.esm.js → redirectToMobileManager-C0dfc7f6.esm.js} +28 -8
  217. package/dist/{redirectToMobileStateMachine-BRaIJWOM.esm.js → redirectToMobileStateMachine-C9SYCJcH.esm.js} +74 -18
  218. package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
  219. package/dist/{runChildModule-kojSv3MH.esm.js → runChildModule-DpRmKWV0.esm.js} +10 -9
  220. package/dist/{WasmUtilProvider-BgzcXBdl.esm.js → safeStorage-Ep56I-f_.esm.js} +98 -473
  221. package/dist/selfie.d.ts +8 -21
  222. package/dist/selfie.esm.js +40 -47
  223. package/dist/selfieErrorUtils-C2PYBVsp.esm.js +90 -0
  224. package/dist/{selfieManager-B1Px3GGa.esm.js → selfieManager-CmoNiluM.esm.js} +7 -10
  225. package/dist/{selfieManager-4juKfrHG.d.ts → selfieManager-DwlCppg0.d.ts} +3 -4
  226. package/dist/{selfieStateMachine-D0TS93Tu.esm.js → selfieStateMachine-L9pghTly.esm.js} +14 -29
  227. package/dist/{session-CLsU2Jnb.esm.js → session-DeR_I24J.esm.js} +16 -7
  228. package/dist/session.d.ts +12 -10
  229. package/dist/session.esm.js +5 -15
  230. package/dist/sessionInitializer-DNgRpf5Y.esm.js +1865 -0
  231. package/dist/{setup-CfNsYAeB.esm.js → setup-DuYKUt0r.esm.js} +319 -137
  232. package/dist/{setup-CmA2apmN.d.ts → setup-DywQeePQ.d.ts} +186 -4
  233. package/dist/signature.d.ts +2 -96
  234. package/dist/signature.esm.js +3 -108
  235. package/dist/signatureManager-DGBSWz2_.d.ts +106 -0
  236. package/dist/signatureManager-DdPgcmou.esm.js +113 -0
  237. package/dist/{signatureStateMachine-CdhlMih-.esm.js → signatureStateMachine-Cf73DGWO.esm.js} +5 -7
  238. package/dist/spawn-D9jgw9pW.d.ts +1441 -0
  239. package/dist/src-0Jurt29N.esm.js +4482 -0
  240. package/dist/{stats-BVy52wLy.esm.js → stats-B0nFKawG.esm.js} +3 -5
  241. package/dist/stats.esm.js +2 -5
  242. package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
  243. package/dist/{tri-CFAPtAUM.esm.js → tri-4RsGrIt6.esm.js} +3 -119
  244. package/dist/tri.d.ts +2 -2
  245. package/dist/tri.esm-BIjHhBJ2.esm.js +2620 -0
  246. package/dist/tri.esm.js +2 -4
  247. package/dist/trueSight-BTl_vvd3.esm.js +1 -0
  248. package/dist/trueSightService-s3T95geD.esm.js +1894 -0
  249. package/dist/trust-graph.d.ts +4 -5
  250. package/dist/trust-graph.esm.js +13 -9
  251. package/dist/types-BEwVKkLJ.d.ts +15 -0
  252. package/dist/{types-BKLb3C42.esm.js → types-BN5RPPIZ.esm.js} +1 -2
  253. package/dist/types-BSBzhHRH.d.ts +57 -0
  254. package/dist/types-BX_XkMsQ2.d.ts +21 -0
  255. package/dist/types-BfHiko5D.d.ts +48 -0
  256. package/dist/{types-D8Cl1N2Z.d.ts → types-BfgmV7s72.d.ts} +2 -2
  257. package/dist/types-CJ7Yl9K-2.d.ts +164 -0
  258. package/dist/types-DPIDuhut.d.ts +40 -0
  259. package/dist/types-DVmXIdzW.d.ts +82 -0
  260. package/dist/types-DelMqZLe.d.ts +105 -0
  261. package/dist/types-EELWyWpd.d.ts +6 -0
  262. package/dist/{types-fO6KIdol.d.ts → types-Hmd7U0JA.d.ts} +80 -6
  263. package/dist/{types-BUgeB2X6.d.ts → types-KPvmag_B.d.ts} +7 -7
  264. package/dist/types-M6eb82ra2.d.ts +589 -0
  265. package/dist/{types-DV3wkhQ4.d.ts → types-Vb4P9ovf.d.ts} +1 -3
  266. package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
  267. package/dist/{video-ZY92rkel.esm.js → video-BtSWtHy1.esm.js} +1 -2
  268. package/dist/video-selfie.d.ts +71 -117
  269. package/dist/video-selfie.esm.js +575 -643
  270. package/dist/videoSelfieCameraWarmer-DPx5Lm3d.esm.js +651 -0
  271. package/dist/videoSelfieStepDetector-D3oo2ofo.d.ts +123 -0
  272. package/dist/wasm.d.ts +2 -4
  273. package/dist/wasm.esm.js +4 -15
  274. package/dist/wasmDefaults-DTUrftxR.esm.js +125 -0
  275. package/dist/{wasmDsFlagSync-Ch0mFJNT.esm.js → wasmDsFlagSync-BqUCwLY8.esm.js} +2 -4
  276. package/dist/wasmWebClient-DM8lkb0z.esm.js +407 -0
  277. package/dist/watchlist-for-business.d.ts +1 -3
  278. package/dist/watchlist-for-business.esm.js +9 -9
  279. package/dist/watchlist.d.ts +1 -52
  280. package/dist/watchlist.esm.js +3 -70
  281. package/dist/{watchlistForBusinessStateMachine-R1Yp1g5A.esm.js → watchlistForBusinessStateMachine-BcBMkMvV.esm.js} +5 -7
  282. package/dist/watchlistManager-CjSMmbyq.esm.js +83 -0
  283. package/dist/watchlistManager-DLXef90v.d.ts +68 -0
  284. package/dist/{watchlistStateMachine-D07UVq1m.esm.js → watchlistStateMachine-Bl7Wy9Cm.esm.js} +5 -7
  285. package/dist/workflow.d.ts +239 -203
  286. package/dist/workflow.esm.js +156 -101
  287. package/dist/xstate-actors.esm-CtI5S0f4.esm.js +310 -0
  288. package/dist/{xstate.esm-nY3M5UYm.esm.js → xstate.esm-Cf4e0Cfd.esm.js} +136 -610
  289. package/package.json +14 -9
  290. package/dist/Actor-BwgmOPkb.d.ts +0 -2
  291. package/dist/Face2DProvider-CZU11g6r.esm.js +0 -824
  292. package/dist/FaceDetectionProvider-CPWg-PAH.d.ts +0 -119
  293. package/dist/IWasmUtilCapability-DaSNxgA8.d.ts +0 -150
  294. package/dist/PrivacyLensProvider-B_zrV25p.esm.js +0 -339
  295. package/dist/StateMachine-D5WO6lHS.d.ts +0 -2
  296. package/dist/StreamCanvasCapture-DHaWferF.d.ts +0 -42
  297. package/dist/ae-signature-Pp4oCAHD.esm.js +0 -12
  298. package/dist/api-DsbUi7TO.esm.js +0 -72
  299. package/dist/browser-DlFgHpoC-Br3G10gw.esm.js +0 -1425
  300. package/dist/browserSimulation-DZwEy9bu.esm.js +0 -2804
  301. package/dist/camera-CxxXV0VN.esm.js +0 -79
  302. package/dist/canvas-90BqS0NF.d.ts +0 -112
  303. package/dist/chunk-CIKcdghV.esm.js +0 -49
  304. package/dist/clientLifecycle-VyzRfALg.esm.js +0 -534
  305. package/dist/cpf-ocr.d.ts +0 -10
  306. package/dist/cpf-ocr.esm.js +0 -8
  307. package/dist/cpfOcrManager-9eM4z4o7.esm.js +0 -190
  308. package/dist/cpfOcrManager-C5U9E0hf.d.ts +0 -216
  309. package/dist/createFaceAvatar-BZSg2MNo.esm.js +0 -46
  310. package/dist/deepsightLoader-CU_tiLMx.esm.js +0 -62
  311. package/dist/flowServices-DkQmOkLV.esm.js +0 -208
  312. package/dist/geolocationManager-DaHYFkVO.d.ts +0 -156
  313. package/dist/getDeviceClass-DIjnTPjR.esm.js +0 -14
  314. package/dist/http-CnsKEaJY.esm.js +0 -0
  315. package/dist/idCaptureManager-CwuXtVu6.d.ts +0 -1013
  316. package/dist/index-BAyZ8_iI.d.ts +0 -93
  317. package/dist/openviduLazy-jPgABwrt.esm.js +0 -3
  318. package/dist/openviduLazy-wEojM41w.esm.js +0 -12
  319. package/dist/qe-signature-BnWIpR-O.esm.js +0 -12
  320. package/dist/sessionInitializer-Dj7-aJaP.esm.js +0 -547
  321. package/dist/tri.esm-DDJ1zOqG.esm.js +0 -2593
  322. package/dist/types-BcF-fii5.d.ts +0 -5
  323. package/dist/videoSelfieSteps-Djpv7cjb.esm.js +0 -58
  324. /package/dist/{IVisibilityObserverCapability-BZ1rE7ly.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
  325. /package/dist/{camera-CKU96nwJ.d.ts → camera-9wWD-pwg.d.ts} +0 -0
  326. /package/dist/{flowCompletionService-BOSTlAWo.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
  327. /package/dist/{types-BgjMAEXl.d.ts → types-Bk_6dmDa.d.ts} +0 -0
  328. /package/dist/{warmup-Dd0iq6KF.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
@@ -1,13 +1,14 @@
1
- import { r as getToken } from "./api-DsbUi7TO.esm.js";
2
- import { a as fromPromise, i as fromCallback, r as assign, t as setup } from "./xstate.esm-nY3M5UYm.esm.js";
3
- import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-C_kxhNeo.esm.js";
4
- import { c as sendLabelInspectionEvent, f as stopStream, l as startDetection, o as initializeCamera, s as initializeDeepsightSession } from "./onDeviceFaceResults-DILtthks.esm.js";
5
- import { t as FACE_ERROR_CODES } from "./types-BKLb3C42.esm.js";
6
- import { t as createFaceAvatar } from "./createFaceAvatar-BZSg2MNo.esm.js";
7
- import { t as StreamCanvasCapture } from "./StreamCanvasCapture-CAqUdVkM.esm.js";
8
- import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-BNOe4Tnu.esm.js";
9
- import { n as preloadOpenViduProvider, r as flagFaceManualReview, t as createRecordingService } from "./recordingService-CxaYkITO.esm.js";
10
-
1
+ import { r as getToken } from "./api-Bx3gKW_y.esm.js";
2
+ import { r as assign, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
3
+ import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-CtI5S0f4.esm.js";
4
+ import { n as invokeRequestPermissionActor, t as checkPermission } from "./permissionServices-UvUcOSRb.esm.js";
5
+ import { c as sendLabelInspectionEvent, f as stopStream, l as startDetection, o as initializeCamera, s as initializeDeepsightSession } from "./onDeviceFaceResults-C6IRJHQB.esm.js";
6
+ import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
7
+ import { n as releaseFaceAvatarWarmup, r as warmFaceAvatar, t as createFaceAvatar } from "./createFaceAvatar-DQKaRise.esm.js";
8
+ import { t as StreamCanvasCapture } from "./StreamCanvasCapture-D2XcXCZ4.esm.js";
9
+ import { n as needsMotionPrimeOnlyFromPermission, r as resolveStoredPermissionResult, t as isReadyForCaptureFromPermission } from "./permissionGuards-KINpmKtI.esm.js";
10
+ import { t as flagFaceManualReview } from "./manualReviewService-D4IkipnN.esm.js";
11
+ import { n as preloadOpenViduProvider, t as createRecordingService } from "./recordingService-N4RhdyiT.esm.js";
11
12
  //#region src/internal/avatar/concealment.ts
12
13
  /**
13
14
  * Maps a backend concealment option to the internal avatar flags. `OPTION_NONE`
@@ -37,13 +38,12 @@ function concealmentToAvatar(option) {
37
38
  };
38
39
  }
39
40
  }
40
-
41
41
  //#endregion
42
42
  //#region src/internal/faceCapture/faceCaptureSetup.ts
43
43
  const getAttemptsFromConfig = (config) => {
44
44
  return config.captureAttempts ?? config.numberOfAttempts ?? 3;
45
45
  };
46
- const _faceCaptureMachine = setup({
46
+ const faceCaptureMachine = setup({
47
47
  types: {
48
48
  context: {},
49
49
  events: {},
@@ -84,10 +84,6 @@ const _faceCaptureMachine = setup({
84
84
  type: "DETECTION_UPDATE",
85
85
  status
86
86
  }),
87
- onFrame: (frame) => sendBack({
88
- type: "DETECTION_FRAME",
89
- frame
90
- }),
91
87
  onSuccess: (canvas, faceCoordinates) => sendBack({
92
88
  type: "DETECTION_SUCCESS",
93
89
  canvas,
@@ -176,7 +172,8 @@ const _faceCaptureMachine = setup({
176
172
  stream: void 0,
177
173
  provider: void 0,
178
174
  frameCapturer: void 0,
179
- avatarCanvas: void 0
175
+ avatarCanvas: void 0,
176
+ usingBackCamera: false
180
177
  };
181
178
  }),
182
179
  setStreamAndCapturer: assign({
@@ -188,6 +185,10 @@ const _faceCaptureMachine = setup({
188
185
  },
189
186
  frameCapturer: ({ event }) => {
190
187
  if ("output" in event) return new StreamCanvasCapture(event.output.stream);
188
+ },
189
+ usingBackCamera: ({ event }) => {
190
+ if ("output" in event) return event.output.usingBackCamera;
191
+ return false;
191
192
  }
192
193
  }),
193
194
  trackTutorial: () => void 0,
@@ -196,9 +197,9 @@ const _faceCaptureMachine = setup({
196
197
  stream: void 0,
197
198
  provider: void 0,
198
199
  frameCapturer: void 0,
200
+ usingBackCamera: false,
199
201
  error: void 0,
200
202
  detectionStatus: "idle",
201
- debugFrame: void 0,
202
203
  capturedImage: void 0,
203
204
  faceCoordinates: void 0,
204
205
  uploadResponse: void 0,
@@ -236,7 +237,8 @@ const _faceCaptureMachine = setup({
236
237
  stream: void 0,
237
238
  provider: void 0,
238
239
  frameCapturer: void 0,
239
- avatarCanvas: void 0
240
+ avatarCanvas: void 0,
241
+ usingBackCamera: false
240
242
  };
241
243
  }),
242
244
  decrementAttemptsRemaining: assign(({ context }) => ({ attemptsRemaining: context.attemptsRemaining - 1 })),
@@ -261,7 +263,6 @@ const _faceCaptureMachine = setup({
261
263
  const status = event.status;
262
264
  return context.manualCaptureTriggered || status === "manualCapture";
263
265
  } }),
264
- setDebugFrameFromEvent: assign({ debugFrame: ({ event }) => event.frame }),
265
266
  setAvatarCanvas: assign({ avatarCanvas: ({ event }) => event.canvas }),
266
267
  clearAvatarCanvas: assign({ avatarCanvas: () => void 0 }),
267
268
  setResetDetectionFromEvent: assign({ resetDetection: ({ event }) => event.reset }),
@@ -288,10 +289,22 @@ const _faceCaptureMachine = setup({
288
289
  preloadRecordingProvider: ({ context }) => {
289
290
  if (context.config.enableFaceRecording === true && context.config.deepsightLiveness !== "VIDEOLIVENESS") preloadOpenViduProvider();
290
291
  },
292
+ warmAvatarProvider: ({ context }) => {
293
+ const { obfuscateWithAvatar, avatarVariant } = concealmentToAvatar(context.config.selfieConcealmentOption);
294
+ if (!obfuscateWithAvatar || !avatarVariant) return;
295
+ warmFaceAvatar({
296
+ variant: avatarVariant,
297
+ assets: context.config.avatarAssets
298
+ });
299
+ },
300
+ releaseAvatarWarmup: () => {
301
+ releaseFaceAvatarWarmup();
302
+ },
291
303
  noOp: () => void 0
292
304
  },
293
305
  guards: {
294
306
  hasShowTutorial: ({ context }) => context.config.showTutorial,
307
+ hasAgeAssurance: ({ context }) => context.config.ageAssurance === true,
295
308
  isPermissionGranted: ({ event }) => {
296
309
  if ("output" in event) return event.output === "granted";
297
310
  return false;
@@ -327,9 +340,9 @@ const _faceCaptureMachine = setup({
327
340
  stream: void 0,
328
341
  provider: void 0,
329
342
  frameCapturer: void 0,
343
+ usingBackCamera: false,
330
344
  error: void 0,
331
345
  detectionStatus: "idle",
332
- debugFrame: void 0,
333
346
  capturedImage: void 0,
334
347
  faceCoordinates: void 0,
335
348
  uploadResponse: void 0,
@@ -349,12 +362,19 @@ const _faceCaptureMachine = setup({
349
362
  }),
350
363
  on: { QUIT: { target: "#faceCapture.closed" } },
351
364
  states: {
352
- idle: { on: { LOAD: [{
353
- target: "tutorial",
354
- guard: "hasShowTutorial"
355
- }, { target: "loading" }] } },
365
+ idle: { on: { LOAD: [
366
+ {
367
+ target: "tutorial",
368
+ guard: "hasShowTutorial"
369
+ },
370
+ {
371
+ target: "tutorial",
372
+ guard: "hasAgeAssurance"
373
+ },
374
+ { target: "loading" }
375
+ ] } },
356
376
  loading: {
357
- entry: "preloadRecordingProvider",
377
+ entry: ["preloadRecordingProvider", "warmAvatarProvider"],
358
378
  invoke: [{
359
379
  id: "checkPermissionLoading",
360
380
  src: "checkPermission",
@@ -379,7 +399,11 @@ const _faceCaptureMachine = setup({
379
399
  },
380
400
  tutorial: {
381
401
  initial: "checkingPermission",
382
- entry: ["trackTutorial", "preloadRecordingProvider"],
402
+ entry: [
403
+ "trackTutorial",
404
+ "preloadRecordingProvider",
405
+ "warmAvatarProvider"
406
+ ],
383
407
  states: {
384
408
  checkingPermission: { invoke: {
385
409
  id: "checkPermissionTutorial",
@@ -498,7 +522,7 @@ const _faceCaptureMachine = setup({
498
522
  }
499
523
  },
500
524
  permissions: {
501
- entry: "preloadRecordingProvider",
525
+ entry: ["preloadRecordingProvider", "warmAvatarProvider"],
502
526
  initial: "checkingDeepsight",
503
527
  states: {
504
528
  checkingDeepsight: { always: [{
@@ -591,7 +615,7 @@ const _faceCaptureMachine = setup({
591
615
  }
592
616
  },
593
617
  capture: {
594
- entry: "preloadRecordingProvider",
618
+ entry: ["preloadRecordingProvider", "warmAvatarProvider"],
595
619
  initial: "checkingDeepsight",
596
620
  exit: [
597
621
  "stopMediaStream",
@@ -701,7 +725,6 @@ const _faceCaptureMachine = setup({
701
725
  exit: ["clearAvatarCanvas"],
702
726
  on: {
703
727
  DETECTION_UPDATE: { actions: ["setDetectionStatusFromEvent", "setManualCaptureTriggered"] },
704
- DETECTION_FRAME: { actions: "setDebugFrameFromEvent" },
705
728
  AVATAR_READY: { actions: "setAvatarCanvas" },
706
729
  DETECTION_RESET_READY: { actions: "setResetDetectionFromEvent" },
707
730
  DETECTION_SUCCESS: {
@@ -820,15 +843,15 @@ const _faceCaptureMachine = setup({
820
843
  }
821
844
  },
822
845
  finished: {
823
- entry: "stopMediaStream",
846
+ entry: ["stopMediaStream", "releaseAvatarWarmup"],
824
847
  type: "final"
825
848
  },
826
849
  closed: {
827
- entry: "stopMediaStream",
850
+ entry: ["stopMediaStream", "releaseAvatarWarmup"],
828
851
  type: "final"
829
852
  },
830
853
  error: {
831
- entry: "stopMediaStream",
854
+ entry: ["stopMediaStream", "releaseAvatarWarmup"],
832
855
  on: { RESET: {
833
856
  target: "idle",
834
857
  actions: "resetContext"
@@ -836,7 +859,5 @@ const _faceCaptureMachine = setup({
836
859
  }
837
860
  }
838
861
  });
839
- const faceCaptureMachine = _faceCaptureMachine;
840
-
841
862
  //#endregion
842
- export { concealmentToAvatar as n, faceCaptureMachine as t };
863
+ export { concealmentToAvatar as n, faceCaptureMachine as t };
@@ -0,0 +1,201 @@
1
+ import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CxfNJVZW.esm.js";
2
+ import { c as createManager, o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
3
+ import { t as faceMatchMachine } from "./faceMatchStateMachine-CJiO2yLO.esm.js";
4
+ //#region src/modules/face-match/faceMatchActor.ts
5
+ function createFaceMatchActor(options) {
6
+ return createActor(faceMatchMachine, { input: { config: options.config } }).start();
7
+ }
8
+ //#endregion
9
+ //#region src/modules/face-match/faceMatchManager.ts
10
+ /**
11
+ * @module @incodetech/core/face-match
12
+ *
13
+ * Face match module for the Incode Web SDK.
14
+ * Supports both headless (programmatic) and UI-driven usage patterns.
15
+ *
16
+ * ## Headless Usage
17
+ *
18
+ * The face match manager can be used entirely without UI for backend integrations,
19
+ * custom UI implementations, or automated workflows.
20
+ *
21
+ * @example Basic headless face match with auto-skip
22
+ * ```typescript
23
+ * import { createFaceMatchManager } from '@incodetech/core/face-match';
24
+ * import { setup } from '@incodetech/core';
25
+ *
26
+ * // 1. Configure the SDK (required before using any module)
27
+ * setup({ apiURL: 'https://api.example.com', token: 'your-token' });
28
+ *
29
+ * // 2. Create the face match manager
30
+ * const faceMatchManager = createFaceMatchManager({
31
+ * config: {
32
+ * matchingType: 'selfieVsId',
33
+ * disableFaceMatchAnimation: true,
34
+ * },
35
+ * });
36
+ *
37
+ * // 3. Subscribe to state changes (optional but recommended)
38
+ * faceMatchManager.subscribe((state) => {
39
+ * console.log('Face match state:', state.status);
40
+ * if (state.status === 'finished') {
41
+ * console.log('Face match complete!', state.matched);
42
+ * }
43
+ * if (state.status === 'error') {
44
+ * console.error('Error:', state.error);
45
+ * }
46
+ * });
47
+ *
48
+ * // 4. Start the flow
49
+ * faceMatchManager.load();
50
+ *
51
+ * // 5. Auto-completes when disableFaceMatchAnimation is true
52
+ * // Or call faceMatchManager.continue() after animation in custom UI
53
+ *
54
+ * // 6. Clean up when done
55
+ * faceMatchManager.stop();
56
+ * ```
57
+ *
58
+ * @example Headless face match with custom UI
59
+ * ```typescript
60
+ * const faceMatchManager = createFaceMatchManager({
61
+ * config: { matchingType: 'selfieVsId', disableFaceMatchAnimation: false },
62
+ * });
63
+ *
64
+ * faceMatchManager.subscribe((state) => {
65
+ * if (state.status === 'animating') {
66
+ * // Render your custom animation
67
+ * renderAnimation(state.images, state.result);
68
+ * }
69
+ * if (state.status === 'result') {
70
+ * // Show result and wait for user to click continue
71
+ * showResult(state.matched);
72
+ * }
73
+ * });
74
+ *
75
+ * faceMatchManager.load();
76
+ * // When animation completes in your UI:
77
+ * faceMatchManager.animationComplete();
78
+ * // When user clicks continue:
79
+ * faceMatchManager.continue();
80
+ * ```
81
+ */
82
+ function mapState(snapshot) {
83
+ const typedSnapshot = snapshot;
84
+ const { context } = typedSnapshot;
85
+ if (typedSnapshot.matches("idle")) return { status: "idle" };
86
+ if (typedSnapshot.matches("loading")) return { status: "loading" };
87
+ if (typedSnapshot.matches("animating")) return {
88
+ status: "animating",
89
+ images: context.images,
90
+ result: context.result
91
+ };
92
+ if (typedSnapshot.matches("result")) return {
93
+ status: "result",
94
+ images: context.images,
95
+ result: context.result,
96
+ matched: context.result.matched
97
+ };
98
+ if (typedSnapshot.matches("finished")) return {
99
+ status: "finished",
100
+ matched: context.result?.matched ?? null
101
+ };
102
+ if (typedSnapshot.matches("error")) return {
103
+ status: "error",
104
+ error: context.error ?? "An error occurred"
105
+ };
106
+ return { status: "idle" };
107
+ }
108
+ function createApi({ actor, trackElementClicked }) {
109
+ return {
110
+ /**
111
+ * Initializes the face match flow.
112
+ * Transitions from 'idle' to 'loading'.
113
+ * Must be called before any other method.
114
+ */
115
+ load() {
116
+ actor.send({ type: "LOAD" });
117
+ },
118
+ /**
119
+ * Signals that the animation has completed.
120
+ * Should be called when state is 'animating' and your UI animation finishes.
121
+ * Transitions to 'result' state.
122
+ */
123
+ animationComplete() {
124
+ actor.send({ type: "ANIMATION_COMPLETE" });
125
+ },
126
+ /**
127
+ * User clicked continue button.
128
+ * Should be called when state is 'result'.
129
+ * Transitions to 'finished' state.
130
+ */
131
+ continue() {
132
+ trackElementClicked?.("continue");
133
+ actor.send({ type: "CONTINUE" });
134
+ },
135
+ /**
136
+ * Resets the manager to initial state.
137
+ * Can be called from 'error' state to start over.
138
+ * Clears all stored data including images and result.
139
+ */
140
+ reset() {
141
+ actor.send({ type: "RESET" });
142
+ }
143
+ };
144
+ }
145
+ /**
146
+ * Creates a face match manager for headless or UI-driven usage.
147
+ *
148
+ * The manager provides a state machine-based API for face comparison
149
+ * with optional animation display.
150
+ *
151
+ * @param options - Configuration options
152
+ * @param options.config - Face match configuration
153
+ * @param options.config.matchingType - Which images to compare (default: 'selfieVsId')
154
+ * @param options.config.disableFaceMatchAnimation - Skip animation and auto-complete (default: false)
155
+ *
156
+ * @returns Face match manager with state, API methods, and subscription
157
+ *
158
+ * @example Headless usage
159
+ * ```typescript
160
+ * const manager = createFaceMatchManager({
161
+ * config: { matchingType: 'selfieVsId', disableFaceMatchAnimation: true },
162
+ * });
163
+ *
164
+ * manager.subscribe((state) => console.log(state.status));
165
+ * manager.load();
166
+ * // Auto-completes when disableFaceMatchAnimation is true
167
+ * manager.stop();
168
+ * ```
169
+ *
170
+ * @example With React/Preact UI hook
171
+ * ```tsx
172
+ * const [state, manager] = useManager(() => createFaceMatchManager({ config }));
173
+ *
174
+ * if (state.status === 'animating') {
175
+ * return <Animation images={state.images} />;
176
+ * }
177
+ * ```
178
+ */
179
+ function createFaceMatchManager(options) {
180
+ return createManager({
181
+ actor: createFaceMatchActor(options),
182
+ mapState,
183
+ createApi,
184
+ instrumentation: createManagerInstrumentation(eventModuleNames.faceMatch)
185
+ });
186
+ }
187
+ /**
188
+ * Creates a face-match manager from a pre-built actor.
189
+ * Use this when overriding the machine via `.provide()` for custom backends
190
+ * or for story-isolation testing.
191
+ */
192
+ function createFaceMatchManagerFromActor(actor) {
193
+ return createManager({
194
+ actor,
195
+ mapState,
196
+ createApi,
197
+ instrumentation: createManagerInstrumentation(eventModuleNames.faceMatch)
198
+ });
199
+ }
200
+ //#endregion
201
+ export { createFaceMatchManagerFromActor as n, createFaceMatchManager as t };
@@ -0,0 +1,268 @@
1
+ import { T as Actor } from "./spawn-D9jgw9pW.js";
2
+ import "./StateMachine-EDpYWy0i.js";
3
+ import { t as Manager } from "./Manager-CQQ99QOI.js";
4
+ //#region src/modules/face-match/types.d.ts
5
+ /**
6
+ * Face match comparison variant.
7
+ * Determines which images are compared in the face match flow.
8
+ */
9
+ type FaceMatchVariant = 'selfieVsId' | 'selfieVsNfc' | 'idVsNfc' | 'nfc3Way' | 'secondId';
10
+ /**
11
+ * Configuration options for face match module.
12
+ *
13
+ * @example Standard face match with animation
14
+ * ```typescript
15
+ * const config: FaceMatchConfig = {
16
+ * matchingType: 'selfieVsId',
17
+ * disableFaceMatchAnimation: false,
18
+ * };
19
+ * ```
20
+ *
21
+ * @example Auto-skip mode (headless)
22
+ * ```typescript
23
+ * const config: FaceMatchConfig = {
24
+ * matchingType: 'selfieVsId',
25
+ * disableFaceMatchAnimation: true,
26
+ * };
27
+ * ```
28
+ */
29
+ type FaceMatchConfig = {
30
+ /**
31
+ * Which images to compare in the face match flow.
32
+ * Backend field name: `matchingType`.
33
+ * @default 'selfieVsId'
34
+ */
35
+ matchingType?: FaceMatchVariant;
36
+ /**
37
+ * When true, skips the animation UI and auto-completes immediately after fetching data.
38
+ * Useful for headless integrations or silent verification flows.
39
+ * @default false
40
+ */
41
+ disableFaceMatchAnimation?: boolean;
42
+ /**
43
+ * When true, the module completes immediately on mount WITHOUT fetching data
44
+ * or rendering any match UI. Set by the Flow orchestrator under US Smart
45
+ * Capture when the ID was captured without a front image ("no front, no
46
+ * match") — there is no ID face to compare against. Distinct from (and
47
+ * complementary to) the reactive backend-4084 skip: this avoids mounting the
48
+ * module and the failing fetch entirely.
49
+ * @default false
50
+ */
51
+ skipFaceMatch?: boolean;
52
+ };
53
+ /**
54
+ * Cropped face images fetched from the backend.
55
+ */
56
+ type FaceMatchImages = {
57
+ /**
58
+ * Cropped face from ID document.
59
+ */
60
+ idFace: string | null;
61
+ /**
62
+ * Cropped selfie image (from face capture).
63
+ */
64
+ selfie: string | null;
65
+ /**
66
+ * Cropped face from second ID document (only for 'secondId' variant).
67
+ */
68
+ secondIdFace?: string | null;
69
+ };
70
+ /**
71
+ * Face match result parsed from score response.
72
+ */
73
+ type FaceMatchResult = {
74
+ /**
75
+ * Whether faces matched (OK = true, FAIL = false, null = unknown).
76
+ */
77
+ matched: boolean | null;
78
+ /**
79
+ * Whether liveness check passed.
80
+ */
81
+ liveness: boolean | null;
82
+ };
83
+ //#endregion
84
+ //#region src/modules/face-match/faceMatchActor.d.ts
85
+ type CreateFaceMatchActorOptions = {
86
+ config: FaceMatchConfig;
87
+ };
88
+ declare function createFaceMatchActor(options: CreateFaceMatchActorOptions): Actor<any>;
89
+ type FaceMatchActor = ReturnType<typeof createFaceMatchActor>;
90
+ //#endregion
91
+ //#region src/modules/face-match/faceMatchManager.d.ts
92
+ /** Face match manager is in initial state, waiting for `load()` to be called */
93
+ type FaceMatchIdleState = {
94
+ status: 'idle';
95
+ };
96
+ /** Fetching images and score from backend */
97
+ type FaceMatchLoadingState = {
98
+ status: 'loading';
99
+ };
100
+ /**
101
+ * Animation is playing - images are animating.
102
+ * @property images - Cropped face images fetched from backend
103
+ * @property result - Face match result (matched, liveness)
104
+ */
105
+ type FaceMatchAnimatingState = {
106
+ status: 'animating';
107
+ images: {
108
+ idFace: string | null;
109
+ selfie: string | null;
110
+ secondIdFace?: string | null;
111
+ };
112
+ result: {
113
+ matched: boolean | null;
114
+ liveness: boolean | null;
115
+ };
116
+ };
117
+ /**
118
+ * Showing match result - waiting for user to click continue.
119
+ * @property images - Cropped face images
120
+ * @property result - Face match result
121
+ * @property matched - Whether faces matched (true/false/null)
122
+ */
123
+ type FaceMatchResultState = {
124
+ status: 'result';
125
+ images: {
126
+ idFace: string | null;
127
+ selfie: string | null;
128
+ secondIdFace?: string | null;
129
+ };
130
+ result: {
131
+ matched: boolean | null;
132
+ liveness: boolean | null;
133
+ };
134
+ matched: boolean | null;
135
+ };
136
+ /** Face match completed successfully */
137
+ type FaceMatchFinishedState = {
138
+ status: 'finished';
139
+ matched: boolean | null;
140
+ };
141
+ /**
142
+ * Fatal error occurred - call `reset()` to start over
143
+ * @property error - Error message describing what went wrong
144
+ */
145
+ type FaceMatchErrorState = {
146
+ status: 'error';
147
+ error: string;
148
+ };
149
+ /**
150
+ * Union of all possible face match manager states.
151
+ * Use discriminated union pattern to narrow the type:
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * const state = faceMatchManager.getState();
156
+ * if (state.status === 'animating') {
157
+ * // TypeScript knows state has images and result
158
+ * console.log(state.images.idFace);
159
+ * }
160
+ * ```
161
+ */
162
+ type FaceMatchState = FaceMatchIdleState | FaceMatchLoadingState | FaceMatchAnimatingState | FaceMatchResultState | FaceMatchFinishedState | FaceMatchErrorState;
163
+ /**
164
+ * Creates a face match manager for headless or UI-driven usage.
165
+ *
166
+ * The manager provides a state machine-based API for face comparison
167
+ * with optional animation display.
168
+ *
169
+ * @param options - Configuration options
170
+ * @param options.config - Face match configuration
171
+ * @param options.config.matchingType - Which images to compare (default: 'selfieVsId')
172
+ * @param options.config.disableFaceMatchAnimation - Skip animation and auto-complete (default: false)
173
+ *
174
+ * @returns Face match manager with state, API methods, and subscription
175
+ *
176
+ * @example Headless usage
177
+ * ```typescript
178
+ * const manager = createFaceMatchManager({
179
+ * config: { matchingType: 'selfieVsId', disableFaceMatchAnimation: true },
180
+ * });
181
+ *
182
+ * manager.subscribe((state) => console.log(state.status));
183
+ * manager.load();
184
+ * // Auto-completes when disableFaceMatchAnimation is true
185
+ * manager.stop();
186
+ * ```
187
+ *
188
+ * @example With React/Preact UI hook
189
+ * ```tsx
190
+ * const [state, manager] = useManager(() => createFaceMatchManager({ config }));
191
+ *
192
+ * if (state.status === 'animating') {
193
+ * return <Animation images={state.images} />;
194
+ * }
195
+ * ```
196
+ */
197
+ declare function createFaceMatchManager(options: CreateFaceMatchActorOptions): Manager<FaceMatchState> & {
198
+ /**
199
+ * Initializes the face match flow.
200
+ * Transitions from 'idle' to 'loading'.
201
+ * Must be called before any other method.
202
+ */
203
+ load(): void;
204
+ /**
205
+ * Signals that the animation has completed.
206
+ * Should be called when state is 'animating' and your UI animation finishes.
207
+ * Transitions to 'result' state.
208
+ */
209
+ animationComplete(): void;
210
+ /**
211
+ * User clicked continue button.
212
+ * Should be called when state is 'result'.
213
+ * Transitions to 'finished' state.
214
+ */
215
+ continue(): void;
216
+ /**
217
+ * Resets the manager to initial state.
218
+ * Can be called from 'error' state to start over.
219
+ * Clears all stored data including images and result.
220
+ */
221
+ reset(): void;
222
+ };
223
+ /**
224
+ * Creates a face-match manager from a pre-built actor.
225
+ * Use this when overriding the machine via `.provide()` for custom backends
226
+ * or for story-isolation testing.
227
+ */
228
+ declare function createFaceMatchManagerFromActor(actor: FaceMatchActor): Manager<FaceMatchState> & {
229
+ /**
230
+ * Initializes the face match flow.
231
+ * Transitions from 'idle' to 'loading'.
232
+ * Must be called before any other method.
233
+ */
234
+ load(): void;
235
+ /**
236
+ * Signals that the animation has completed.
237
+ * Should be called when state is 'animating' and your UI animation finishes.
238
+ * Transitions to 'result' state.
239
+ */
240
+ animationComplete(): void;
241
+ /**
242
+ * User clicked continue button.
243
+ * Should be called when state is 'result'.
244
+ * Transitions to 'finished' state.
245
+ */
246
+ continue(): void;
247
+ /**
248
+ * Resets the manager to initial state.
249
+ * Can be called from 'error' state to start over.
250
+ * Clears all stored data including images and result.
251
+ */
252
+ reset(): void;
253
+ };
254
+ /**
255
+ * Type representing a face match manager instance.
256
+ * Includes state access, API methods, and lifecycle management.
257
+ *
258
+ * @property getState - Returns the current FaceMatchState
259
+ * @property subscribe - Subscribes to state changes, returns unsubscribe function
260
+ * @property stop - Stops the manager and cleans up resources
261
+ * @property load - Initializes the face match flow
262
+ * @property animationComplete - Signals animation finished
263
+ * @property continue - User clicked continue button
264
+ * @property reset - Resets to initial state
265
+ */
266
+ type FaceMatchManager = ReturnType<typeof createFaceMatchManager>;
267
+ //#endregion
268
+ export { FaceMatchActor as a, FaceMatchResult as c, createFaceMatchManagerFromActor as i, FaceMatchVariant as l, FaceMatchState as n, FaceMatchConfig as o, createFaceMatchManager as r, FaceMatchImages as s, FaceMatchManager as t };