@incodetech/core 2.1.1 → 2.2.0-rc.0

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-CriIh1Gt.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-DZfAyExM.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-DscbQwIl.esm.js} +7 -10
  36. package/dist/{authenticationStateMachine-DbdxfGHx.esm.js → authenticationStateMachine-SyuM00Fa.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-DcWjMC6A.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-B4Kivr8_.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-BoZ2-OUI.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-D0RzkoEV.esm.js} +161 -34
  90. package/dist/ekyb.d.ts +5 -137
  91. package/dist/ekyb.esm.js +4 -179
  92. package/dist/ekybManager-DTvfxAOZ.esm.js +178 -0
  93. package/dist/ekybManager-Dzswb_b8.d.ts +114 -0
  94. package/dist/{ekybStateMachine-D9GzA4MW.esm.js → ekybStateMachine-BlTIozb6.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/{index-36QX_21w.d.ts → electronicSignatureManager-CcUXQZS7.d.ts} +220 -251
  104. package/dist/{electronicSignatureManager-DESRgObX.esm.js → electronicSignatureManager-DRYlHPjT.esm.js} +47 -33
  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-BDAsBCkh.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-C7Qv79fA.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-BSe3p7pg.esm.js} +4 -6
  138. package/dist/flowServices-unhF9V9F.esm.js +620 -0
  139. package/dist/geolocation.d.ts +1 -4
  140. package/dist/geolocation.esm.js +3 -9
  141. package/dist/{geolocationManager-CF6-NizA.esm.js → geolocationManager-Bv9MSVNr.esm.js} +44 -16
  142. package/dist/geolocationManager-Cz744E5S.d.ts +506 -0
  143. package/dist/{geolocationStateMachine-CD2XJs1b.esm.js → geolocationStateMachine-BxD6JK1M.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-BjiBSrHm.esm.js} +173 -34
  167. package/dist/idCaptureServices-CFDwqTtQ.esm.js +396 -0
  168. package/dist/{idCaptureStateMachine-DZ2ZTSxu.esm.js → idCaptureStateMachine-CRwQh8jc.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-f81FVdQs.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-CFpfdXSS.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-DpvgAGFA.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-Br4onIMy.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-CNGs8vFK.esm.js} +14 -29
  227. package/dist/{session-CLsU2Jnb.esm.js → session-CX2H3tmI.esm.js} +16 -7
  228. package/dist/session.d.ts +12 -10
  229. package/dist/session.esm.js +5 -15
  230. package/dist/sessionInitializer-CV6Rj_dn.esm.js +1865 -0
  231. package/dist/{setup-CfNsYAeB.esm.js → setup-CYdVacqv.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-B8G85W4z.esm.js +1 -0
  248. package/dist/trueSightService-6dTpiaTh.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-h_VUk5Vu.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,24 +1,59 @@
1
- import { n as StateMachine, t as AnyStateMachine } from "./StateMachine-D5WO6lHS.js";
2
- import { t as Manager } from "./Manager-goNPc_h_.js";
3
- import { t as ActorRefFrom } from "./Actor-BwgmOPkb.js";
4
- import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-BZ1rE7ly.js";
5
- import { t as CameraStream } from "./camera-CKU96nwJ.js";
6
- import { t as IncodeCanvas } from "./canvas-90BqS0NF.js";
7
- import { s as FaceFeed, t as AvatarId, u as FaceCoordinates } from "./createFaceAvatar-CpdYp9Iy.js";
8
- import { i as FlowModuleConfig } from "./types-BUgeB2X6.js";
9
- import { n as PermissionStatus, t as PermissionResult } from "./types-BcF-fii5.js";
10
- import { a as FaceCapturedImageData, i as FaceCaptureOnlyResponse, n as DetectionStatus, o as FaceErrorCode, r as FaceCaptureDependencies, t as BaseFaceCaptureConfig } from "./types-fO6KIdol.js";
11
- import { t as FaceDetectionProvider } from "./FaceDetectionProvider-CPWg-PAH.js";
12
- import { t as StreamCanvasCapture } from "./StreamCanvasCapture-DHaWferF.js";
13
- import { t as DeepsightService } from "./deepsightService-BuTOFTr8.js";
14
-
1
+ import { A as StateMachine, i as ActorRefFrom, l as AnyStateMachine } from "./spawn-D9jgw9pW.js";
2
+ import "./StateMachine-EDpYWy0i.js";
3
+ import { t as Manager } from "./Manager-CQQ99QOI.js";
4
+ import "./Actor-iTq7YY48.js";
5
+ import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
6
+ import "./index-B8weJxmL.js";
7
+ import { t as CameraStream } from "./camera-9wWD-pwg.js";
8
+ import { o as IncodeCanvas } from "./IStorageCapability-ORkQfK3F.js";
9
+ import { i as FaceData, r as FaceCoordinates, t as FaceDetectionProvider } from "./FaceDetectionProvider-Mh6q3EbA.js";
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";
13
+ import { n as PermissionStatus, t as PermissionResult } from "./types-BEwVKkLJ.js";
14
+ import { t as AuthenticationConfig } from "./types-EELWyWpd.js";
15
+ import { n as StreamCanvasCapture, t as DeepsightService } from "./deepsightService-DLVQS_RH.js";
15
16
  //#region src/modules/authentication/authenticationStateMachine.d.ts
16
17
  declare const _authenticationMachine: AnyStateMachine;
17
18
  type AuthenticationMachine = typeof _authenticationMachine;
18
19
  declare const authenticationMachine: AnyStateMachine;
19
20
  //#endregion
20
- //#region src/modules/authentication/types.d.ts
21
- type AuthenticationConfig = FlowModuleConfig['AUTHENTICATION'] & BaseFaceCaptureConfig;
21
+ //#region ../infra/src/avatar/faceFeed.d.ts
22
+ /**
23
+ * A tiny per-frame pub/sub channel for the Incode WASM pipeline's `FaceData`.
24
+ *
25
+ * The parked `incode-2d` avatar drives the cosmetic avatar from the **existing** Incode face-detection
26
+ * pipeline (no second MediaPipe model). The detection pipeline lives in core's
27
+ * detection actor, while the avatar lives in the avatar actor — so the avatar is
28
+ * *fed* `FaceData` through this channel rather than running its own model.
29
+ *
30
+ * Deliberately NOT routed through XState events/context: the pipeline emits
31
+ * ~10×/s, and assigning that into context would re-run `mapState` and notify all
32
+ * manager subscribers 10×/s — needless churn that could itself regress UI perf.
33
+ * The feed is a plain emitter passed as input to both actors (detection
34
+ * publishes, the avatar source subscribes); nothing else observes it.
35
+ *
36
+ * Strictly read-only w.r.t. the authoritative pipeline — the feed only forwards
37
+ * data the pipeline already computed; it never influences detection/autocapture.
38
+ */
39
+ interface FaceFeedReader {
40
+ /** Subscribe to per-frame faces. Returns an unsubscribe function. */
41
+ subscribe(listener: (face: FaceData) => void): () => void;
42
+ /** The most recently published face, or null if none yet. */
43
+ getLatest(): FaceData | null;
44
+ /**
45
+ * Subscribe to the coarse "eyes closed" pulse — the only real eye signal the
46
+ * Incode pipeline exposes (a threshold event, both eyes, fired only when the
47
+ * closed-eyes check is enabled via `validateClosedEyes`). The avatar uses it
48
+ * to drive a real blink. Returns an unsubscribe function.
49
+ */
50
+ onEyesClosed(listener: () => void): () => void;
51
+ }
52
+ interface FaceFeed extends FaceFeedReader {
53
+ publish(face: FaceData): void;
54
+ /** Fire the eyes-closed pulse (from the detection pipeline's threshold event). */
55
+ signalEyesClosed(): void;
56
+ }
22
57
  //#endregion
23
58
  //#region src/modules/authentication/authenticationActor.d.ts
24
59
  type CreateAuthenticationActorOptions = {
@@ -120,9 +155,9 @@ type FaceCaptureContext = {
120
155
  stream: CameraStream | undefined;
121
156
  provider: FaceDetectionProvider | undefined;
122
157
  frameCapturer: StreamCanvasCapture | undefined;
158
+ usingBackCamera: boolean;
123
159
  error: string | FaceErrorObject | undefined;
124
160
  detectionStatus: DetectionStatus;
125
- debugFrame: ImageData | undefined;
126
161
  capturedImage: IncodeCanvas | undefined;
127
162
  faceCoordinates: FaceCoordinates | undefined;
128
163
  uploadResponse: Record<string, unknown> | undefined;
@@ -182,9 +217,6 @@ type FaceCaptureEvent = {
182
217
  } | {
183
218
  type: 'DETECTION_UPDATE';
184
219
  status: DetectionStatus;
185
- } | {
186
- type: 'DETECTION_FRAME';
187
- frame: ImageData;
188
220
  } | {
189
221
  type: 'DETECTION_SUCCESS';
190
222
  canvas: IncodeCanvas;
@@ -275,14 +307,21 @@ type FaceCaptureCaptureState = {
275
307
  stream: CameraStream | undefined;
276
308
  /** Current face detection status */
277
309
  detectionStatus: DetectionStatus;
278
- /** Latest frame processed in the detection loop (for UI debug rendering) */
279
- debugFrame: ImageData | undefined;
280
310
  /** Number of capture attempts remaining */
281
311
  attemptsRemaining: number;
282
312
  /** Error message from failed upload */
283
313
  uploadError: string | undefined;
284
- /** Whether assisted onboarding mode is active (back camera, no mirror) */
314
+ /**
315
+ * The requested config flag only — it does NOT say which camera is in use,
316
+ * since devices without a rear camera fall back to the front one. Use
317
+ * {@link usingBackCamera} for camera-dependent concerns like mirroring.
318
+ */
285
319
  assistedOnboarding: boolean;
320
+ /**
321
+ * Whether the active `stream` really came from a rear camera. Mirror the
322
+ * preview when this is `false` (selfie view), leave it as-is when `true`.
323
+ */
324
+ usingBackCamera: boolean;
286
325
  ageAssurance?: boolean;
287
326
  /**
288
327
  * Whether on-device face-results submission is enabled
@@ -397,4 +436,4 @@ declare function createFaceCaptureManagerFromActor(actor: FaceCaptureActor, modu
397
436
  };
398
437
  type FaceCaptureManager = ReturnType<typeof createFaceCaptureManagerFromActor>;
399
438
  //#endregion
400
- export { authenticationMachine as S, SendFaceImageResponse as _, SelfieCaptureOnlyMachine as a, createAuthenticationActor as b, SelfieActor as c, FaceCaptureContext as d, FaceCaptureEvent as f, SelfieConfig as g, SelfieCaptureOnlyConfig as h, SelfieCaptureOnlyActor as i, SelfieMachine as l, faceCaptureMachine as m, FaceCaptureManagerState as n, selfieCaptureOnlyMachine as o, FaceCaptureInput as p, CreateSelfieCaptureOnlyActorOptions as r, CreateSelfieActorOptions as s, FaceCaptureManager as t, selfieMachine as u, AuthenticationActor as v, AuthenticationConfig as x, CreateAuthenticationActorOptions as y };
439
+ export { SendFaceImageResponse as _, SelfieCaptureOnlyMachine as a, createAuthenticationActor as b, SelfieActor as c, FaceCaptureContext as d, FaceCaptureEvent as f, SelfieConfig as g, SelfieCaptureOnlyConfig as h, SelfieCaptureOnlyActor as i, SelfieMachine as l, faceCaptureMachine as m, FaceCaptureManagerState as n, selfieCaptureOnlyMachine as o, FaceCaptureInput as p, CreateSelfieCaptureOnlyActorOptions as r, CreateSelfieActorOptions as s, FaceCaptureManager as t, selfieMachine as u, AuthenticationActor as v, authenticationMachine as x, CreateAuthenticationActorOptions as y };
@@ -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-f81FVdQs.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-CFpfdXSS.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 };