@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.
- package/dist/{3dAvatarProvider-BwOmTMOy.esm.js → 3dAvatarProvider-g02DTFqT.esm.js} +811 -880
- package/dist/Actor-iTq7YY48.d.ts +1 -0
- package/dist/BrowserDiagnosticsCryptoProvider-CriIh1Gt.esm.js +95 -0
- package/dist/BrowserLazyImportProvider-BhoA957O.esm.js +114 -0
- package/dist/{BrowserStorageProvider-CBHBhKQN.esm.js → BrowserStorageProvider-k-FDkC4W.esm.js} +2 -4
- package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
- package/dist/{BrowserVisibilityObserverProvider-GBS6XSii.esm.js → BrowserVisibilityObserverProvider-BX1BiLDK.esm.js} +1 -2
- package/dist/Face2DProvider-UUQt_vRC.esm.js +437 -0
- package/dist/{createFaceAvatar-CpdYp9Iy.d.ts → FaceDetectionProvider-Mh6q3EbA.d.ts} +107 -159
- package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +9 -0
- package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
- package/dist/IFeatureManagementCapability-DdEUp6tB.d.ts +1125 -0
- package/dist/IIdCaptureCapability-DHTT3FC2.d.ts +237 -0
- package/dist/IStorageCapability-ORkQfK3F.d.ts +242 -0
- package/dist/{ITimerCapability-DJ73P4RK.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
- package/dist/{Manager-goNPc_h_.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
- package/dist/{MotionSensorProvider-BHuHoYvJ.esm.js → MotionSensorProvider-DGiV77J_.esm.js} +2 -37
- package/dist/{OpenViduRecordingProvider-CK6A5kiU.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
- package/dist/PrivacyLensProvider-D8PS7AJa.esm.js +405 -0
- package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
- package/dist/{StreamCanvasCapture-CAqUdVkM.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
- package/dist/{addressSearch-D7msRieq.esm.js → addressSearch-DQyrvDQj.esm.js} +10 -21
- package/dist/ae-signature.d.ts +4 -6
- package/dist/ae-signature.esm.js +10 -11
- package/dist/antifraud.d.ts +1 -6
- package/dist/antifraud.esm.js +3 -8
- package/dist/{antifraudManager-5KA84wtF.esm.js → antifraudManager-B8Plzf7a.esm.js} +11 -8
- package/dist/{antifraudManager-DCiNI6np.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
- package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-r4VxSBS4.esm.js} +5 -7
- package/dist/api-Bx3gKW_y.esm.js +129 -0
- package/dist/{apiError-DkOXfFBu.esm.js → apiError-DZfAyExM.esm.js} +25 -3
- package/dist/authentication.d.ts +3 -19
- package/dist/authentication.esm.js +3 -35
- package/dist/{authenticationManager-BeT6tNZm.d.ts → authenticationManager-BBMGTcwW.d.ts} +3 -4
- package/dist/{authenticationManager-BryLnSaF.esm.js → authenticationManager-DscbQwIl.esm.js} +7 -10
- package/dist/{authenticationStateMachine-DbdxfGHx.esm.js → authenticationStateMachine-SyuM00Fa.esm.js} +11 -15
- package/dist/avatar.d.ts +2 -2
- package/dist/avatar.esm.js +2 -3
- package/dist/avatar2dWarm-DqucNFX4.esm.js +1330 -0
- package/dist/avatarStats-CdUOb3VD.esm.js +136 -0
- package/dist/{backCameraStream-ChrMTJv-.esm.js → backCameraStream-CUeYm5eu.esm.js} +20 -8
- package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
- package/dist/callback-645_omgz.d.ts +133 -0
- package/dist/camera-_2sXMXiF.esm.js +140 -0
- package/dist/camera.d.ts +19 -2
- package/dist/camera.esm.js +2 -6
- package/dist/{canvas-Pi10hG_l.esm.js → canvas-E1zGkel4.esm.js} +1 -2
- package/dist/certificate-issuance.d.ts +34 -39
- package/dist/certificate-issuance.esm.js +4 -11
- package/dist/{certificateIssuanceStateMachine-DlZQT1_u.esm.js → certificateIssuanceStateMachine-COd7_l2T.esm.js} +7 -11
- package/dist/consent.d.ts +1 -4
- package/dist/consent.esm.js +3 -8
- package/dist/{consentManager-BwNu-uC-.esm.js → consentManager-BApTlfA0.esm.js} +5 -7
- package/dist/{consentManager-B4PMGXW-.d.ts → consentManager-uhDPdU6i.d.ts} +55 -61
- package/dist/{consentStateMachine-BOkVFiU7.esm.js → consentStateMachine-WD-S-Yhs.esm.js} +5 -7
- package/dist/{cpf-16m_cGAM.esm.js → cpf-BIADjddF.esm.js} +1 -2
- package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
- package/dist/createFaceAvatar-DQKaRise.esm.js +103 -0
- package/dist/cross-document-data-match.d.ts +2 -26
- package/dist/cross-document-data-match.esm.js +2 -71
- package/dist/crossDocumentDataMatchManager-Dq8Z3SOg.d.ts +41 -0
- package/dist/crossDocumentDataMatchManager-OmYvyung.esm.js +84 -0
- package/dist/curp-validation.d.ts +1 -11
- package/dist/curp-validation.esm.js +3 -8
- package/dist/{curpValidationManager-CoqODZx5.d.ts → curpValidationManager-DVGr7Fq7.d.ts} +4 -6
- package/dist/{curpValidationManager-Cbji2inV.esm.js → curpValidationManager-UZxcrsrz.esm.js} +11 -7
- package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-9KwnqeoB.esm.js} +22 -14
- package/dist/custom-fields.d.ts +2 -5
- package/dist/custom-fields.esm.js +24 -11
- package/dist/custom-watchlist.d.ts +1 -3
- package/dist/custom-watchlist.esm.js +11 -10
- package/dist/{customWatchlistStateMachine-D8w0mNxm.esm.js → customWatchlistStateMachine-B_ey3TFj.esm.js} +5 -7
- package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
- package/dist/{deepsightService-CViys6T4.esm.js → deepsightLoader-DcWjMC6A.esm.js} +68 -14
- package/dist/{deepsightService-BuTOFTr8.d.ts → deepsightService-DLVQS_RH.d.ts} +41 -2
- package/dist/device.d.ts +10 -2
- package/dist/device.esm.js +21 -21
- package/dist/document-capture.d.ts +3 -1816
- package/dist/document-capture.esm.js +3 -245
- package/dist/document-upload.d.ts +48 -55
- package/dist/document-upload.esm.js +8 -14
- package/dist/documentCaptureManager-B4Kivr8_.d.ts +2062 -0
- package/dist/documentCaptureManager-DszmcU-l.esm.js +296 -0
- package/dist/{documentCaptureStateMachine-BkTvU3yq.esm.js → documentCaptureStateMachine-D2jBwwVb.esm.js} +66 -40
- package/dist/dynamic-forms.d.ts +2 -4
- package/dist/dynamic-forms.esm.js +3 -9
- package/dist/{dynamicFormsManager-CHXUBNs4.esm.js → dynamicFormsManager-BoZ2-OUI.esm.js} +48 -9
- package/dist/{dynamicFormsManager-CKZkE7Wo.d.ts → dynamicFormsManager-fhK0yINk.d.ts} +22 -46
- package/dist/{dynamicFormsStateMachine-DJ1HGZff.esm.js → dynamicFormsStateMachine-D0RzkoEV.esm.js} +161 -34
- package/dist/ekyb.d.ts +5 -137
- package/dist/ekyb.esm.js +4 -179
- package/dist/ekybManager-DTvfxAOZ.esm.js +178 -0
- package/dist/ekybManager-Dzswb_b8.d.ts +114 -0
- package/dist/{ekybStateMachine-D9GzA4MW.esm.js → ekybStateMachine-BlTIozb6.esm.js} +16 -193
- package/dist/ekyc.d.ts +2 -79
- package/dist/ekyc.esm.js +4 -154
- package/dist/ekycManager-BFpHbBoT.d.ts +97 -0
- package/dist/ekycManager-oTstTJuL.esm.js +156 -0
- package/dist/{ekycStateMachine-DnVRiu3s.esm.js → ekycStateMachine-DHvksnrr.esm.js} +141 -423
- package/dist/ekycUtils-Dew1rBG0.esm.js +223 -0
- package/dist/electronic-signature.d.ts +3 -5
- package/dist/electronic-signature.esm.js +2 -10
- package/dist/{index-36QX_21w.d.ts → electronicSignatureManager-CcUXQZS7.d.ts} +220 -251
- package/dist/{electronicSignatureManager-DESRgObX.esm.js → electronicSignatureManager-DRYlHPjT.esm.js} +47 -33
- package/dist/email.d.ts +1 -5
- package/dist/email.esm.js +3 -10
- package/dist/{emailManager-CMS4q_r6.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
- package/dist/{emailManager-B9Vrv3Ma.esm.js → emailManager-tE-YvNtS.esm.js} +76 -12
- package/dist/{emailStateMachine-CbmKFVSi.esm.js → emailStateMachine-Bm894MHB.esm.js} +7 -9
- package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-CCzL3XD_.esm.js} +55 -6
- package/dist/{events-1wxZ97yf.esm.js → events-CxfNJVZW.esm.js} +43 -176
- package/dist/events.d.ts +28 -10
- package/dist/events.esm.js +2 -4
- package/dist/extensibility.d.ts +37 -37
- package/dist/extensibility.esm.js +31 -80
- package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
- package/dist/face-match.d.ts +2 -225
- package/dist/face-match.esm.js +3 -173
- package/dist/{faceCaptureManagerFactory-C9TiGbkA.esm.js → faceCaptureManagerFactory-BDAsBCkh.esm.js} +52 -31
- package/dist/{faceCaptureManagerFactory-DiJ64oem.d.ts → faceCaptureManagerFactory-BxWPpxyd.d.ts} +63 -24
- package/dist/{faceCaptureSetup-BqhqfFHL.esm.js → faceCaptureSetup-C7Qv79fA.esm.js} +57 -36
- package/dist/faceMatchManager-BXp2WUT-.esm.js +201 -0
- package/dist/faceMatchManager-BnvrZM2F.d.ts +268 -0
- package/dist/{faceMatchStateMachine-MDb30gCm.esm.js → faceMatchStateMachine-CJiO2yLO.esm.js} +14 -10
- package/dist/feature-management-DS_Nj5Gg.esm.js +615 -0
- package/dist/feature-management.d.ts +173 -0
- package/dist/feature-management.esm.js +2 -0
- package/dist/field-comparison.d.ts +1 -4
- package/dist/field-comparison.esm.js +2 -7
- package/dist/{fieldComparisonManager-OLKVsG2Z.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
- package/dist/{fieldComparisonManager-Cw4uzD7S.esm.js → fieldComparisonManager-DhnYdYZ2.esm.js} +6 -11
- package/dist/fiscal-qr.d.ts +1 -6
- package/dist/fiscal-qr.esm.js +14 -29
- package/dist/flow-events.d.ts +2 -9
- package/dist/flow.d.ts +59 -21
- package/dist/flow.esm.js +132 -49
- package/dist/{flowCompletionService-B6P6_EF3.esm.js → flowCompletionService-BSe3p7pg.esm.js} +4 -6
- package/dist/flowServices-unhF9V9F.esm.js +620 -0
- package/dist/geolocation.d.ts +1 -4
- package/dist/geolocation.esm.js +3 -9
- package/dist/{geolocationManager-CF6-NizA.esm.js → geolocationManager-Bv9MSVNr.esm.js} +44 -16
- package/dist/geolocationManager-Cz744E5S.d.ts +506 -0
- package/dist/{geolocationStateMachine-CD2XJs1b.esm.js → geolocationStateMachine-BxD6JK1M.esm.js} +53 -28
- package/dist/{getBrowser-1yNcfFZR.esm.js → getBrowser-Cb8Zgrgp.esm.js} +1 -2
- package/dist/getBrowser-DNrQeL4T.esm.js +16 -0
- package/dist/getDeviceClass-9y-kbVDw.esm.js +19 -0
- package/dist/{getDeviceClass-C-Dg6IsJ.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
- package/dist/getParsedUserAgent-pJjATANs.esm.js +1622 -0
- package/dist/government-validation.d.ts +3 -6
- package/dist/government-validation.esm.js +7 -13
- package/dist/{governmentValidationStateMachine-BE5wiQ7Y.esm.js → governmentValidationStateMachine-BYKYUdza.esm.js} +8 -11
- package/dist/home.d.ts +14 -22
- package/dist/home.esm.js +3 -8
- package/dist/http.d.ts +0 -1
- package/dist/http.esm.js +2 -4
- package/dist/id-ocr.d.ts +8 -7
- package/dist/id-ocr.esm.js +20 -9
- package/dist/id-selfie-flow.d.ts +179 -0
- package/dist/id-selfie-flow.esm.js +917 -0
- package/dist/id-verification.d.ts +2 -191
- package/dist/id-verification.esm.js +3 -43
- package/dist/id.d.ts +7 -18
- package/dist/id.esm.js +47 -53
- package/dist/{idCaptureDefaults-CZajItdO.esm.js → idCaptureDefaults-WeHbQM7W.esm.js} +54 -17
- package/dist/idCaptureManager-BjU-Wyow.d.ts +429 -0
- package/dist/{idCaptureManager-DASPUMtC.esm.js → idCaptureManager-BjiBSrHm.esm.js} +173 -34
- package/dist/idCaptureServices-CFDwqTtQ.esm.js +396 -0
- package/dist/{idCaptureStateMachine-DZ2ZTSxu.esm.js → idCaptureStateMachine-CRwQh8jc.esm.js} +438 -585
- package/dist/{idOcrManager-Tm4LzKR0.esm.js → idOcrManager-CvJZhmBR.esm.js} +4 -7
- package/dist/{idOcrManager-DLfAjDZn.d.ts → idOcrManager-DXc_xRN7.d.ts} +62 -229
- package/dist/{idOcrStateMachine-BJxZCxwS.esm.js → idOcrStateMachine-Bq_e3l4E.esm.js} +15 -20
- package/dist/idVerificationManager-BB4Pj_N6.d.ts +197 -0
- package/dist/idVerificationManager-CduNXhWd.esm.js +51 -0
- package/dist/{idVerificationStateMachine-DXN9WcdM.esm.js → idVerificationStateMachine-GEQWUPU2.esm.js} +5 -7
- package/dist/identity-reuse.d.ts +1 -4
- package/dist/identity-reuse.esm.js +3 -8
- package/dist/{identityReuseManager-LjkPvSQN.esm.js → identityReuseManager-D5vXknnJ.esm.js} +24 -7
- package/dist/{identityReuseManager-CLVOYxcp.d.ts → identityReuseManager-v2TH5g7e.d.ts} +38 -43
- package/dist/{identityReuseStateMachine-Bp-zONoV.esm.js → identityReuseStateMachine-AubRPhIi.esm.js} +6 -8
- package/dist/index-B8weJxmL.d.ts +1 -0
- package/dist/index-BKOWUhxG.d.ts +258 -0
- package/dist/{index-DrpWp15Z.d.ts → index-CLMF0QLQ.d.ts} +3 -3
- package/dist/index.d.ts +1 -3
- package/dist/index.esm.js +2 -15
- package/dist/{invokeOnCaptureCallback-CCS2Ruzi.esm.js → invokeOnCaptureCallback-1m1VJ3Q4.esm.js} +2 -4
- package/dist/{lib-Bjd6nOLG.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
- package/dist/mandatory-consent.d.ts +2 -10
- package/dist/mandatory-consent.esm.js +3 -8
- package/dist/{mandatoryConsentManager-DeBmOHcQ.d.ts → mandatoryConsentManager-B29kR0XA.d.ts} +60 -85
- package/dist/{mandatoryConsentManager-DZ26sg4B.esm.js → mandatoryConsentManager-BeELm1zS.esm.js} +4 -7
- package/dist/{mandatoryConsentStateMachine-_44ZoDSh.esm.js → mandatoryConsentStateMachine-zroQGzwb.esm.js} +5 -7
- package/dist/manualReviewService-D4IkipnN.esm.js +15 -0
- package/dist/{mediaRecorderOptions-CClCKAiF.esm.js → mediaRecorderOptions-dALSV8af.esm.js} +2 -4
- package/dist/{mediapipeShared-Bcmkzs3x.esm.js → mediapipeShared-B6oNoXEQ.esm.js} +21 -9
- package/dist/{onDeviceFaceResults-DILtthks.esm.js → onDeviceFaceResults-f81FVdQs.esm.js} +30 -87
- package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
- package/dist/{otp-B1YeyRXu.d.ts → otp-CEWfTj9v.d.ts} +0 -1
- package/dist/{otp-uaXiKt_R.esm.js → otp-D2k3PeSL.esm.js} +3 -14
- package/dist/{permissionGuards-BNOe4Tnu.esm.js → permissionGuards-KINpmKtI.esm.js} +2 -4
- package/dist/{permissionServices-C_kxhNeo.esm.js → permissionServices-UvUcOSRb.esm.js} +35 -28
- package/dist/personhood.d.ts +13 -20
- package/dist/personhood.esm.js +153 -85
- package/dist/phone.d.ts +1 -5
- package/dist/phone.esm.js +3 -10
- package/dist/{phoneManager-_KtitbUA.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
- package/dist/{phoneManager-CRblfdcI.esm.js → phoneManager-Cpiai2IM.esm.js} +82 -12
- package/dist/{phoneStateMachine-DjFGWMjQ.esm.js → phoneStateMachine-E1fUUcNM.esm.js} +7 -9
- package/dist/{platform-0Ot-bF_a.esm.js → platform-BJrm5nzZ.esm.js} +31 -11
- package/dist/privacyLensWorker-DI-Rg83h.esm.js +355 -0
- package/dist/qe-signature.d.ts +4 -6
- package/dist/qe-signature.esm.js +10 -11
- package/dist/{recordingService-CxaYkITO.esm.js → recordingService-CFpfdXSS.esm.js} +13 -31
- package/dist/redirect-to-mobile.d.ts +2 -6
- package/dist/redirect-to-mobile.esm.js +3 -10
- package/dist/{redirectToMobileManager-dv29o_LS.d.ts → redirectToMobileManager-BD2PvT5B.d.ts} +8 -44
- package/dist/{redirectToMobileManager-DbuNUlru.esm.js → redirectToMobileManager-C0dfc7f6.esm.js} +28 -8
- package/dist/{redirectToMobileStateMachine-BRaIJWOM.esm.js → redirectToMobileStateMachine-C9SYCJcH.esm.js} +74 -18
- package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
- package/dist/{runChildModule-kojSv3MH.esm.js → runChildModule-DpvgAGFA.esm.js} +10 -9
- package/dist/{WasmUtilProvider-BgzcXBdl.esm.js → safeStorage-Ep56I-f_.esm.js} +98 -473
- package/dist/selfie.d.ts +8 -21
- package/dist/selfie.esm.js +40 -47
- package/dist/selfieErrorUtils-C2PYBVsp.esm.js +90 -0
- package/dist/{selfieManager-B1Px3GGa.esm.js → selfieManager-Br4onIMy.esm.js} +7 -10
- package/dist/{selfieManager-4juKfrHG.d.ts → selfieManager-DwlCppg0.d.ts} +3 -4
- package/dist/{selfieStateMachine-D0TS93Tu.esm.js → selfieStateMachine-CNGs8vFK.esm.js} +14 -29
- package/dist/{session-CLsU2Jnb.esm.js → session-CX2H3tmI.esm.js} +16 -7
- package/dist/session.d.ts +12 -10
- package/dist/session.esm.js +5 -15
- package/dist/sessionInitializer-CV6Rj_dn.esm.js +1865 -0
- package/dist/{setup-CfNsYAeB.esm.js → setup-CYdVacqv.esm.js} +319 -137
- package/dist/{setup-CmA2apmN.d.ts → setup-DywQeePQ.d.ts} +186 -4
- package/dist/signature.d.ts +2 -96
- package/dist/signature.esm.js +3 -108
- package/dist/signatureManager-DGBSWz2_.d.ts +106 -0
- package/dist/signatureManager-DdPgcmou.esm.js +113 -0
- package/dist/{signatureStateMachine-CdhlMih-.esm.js → signatureStateMachine-Cf73DGWO.esm.js} +5 -7
- package/dist/spawn-D9jgw9pW.d.ts +1441 -0
- package/dist/src-0Jurt29N.esm.js +4482 -0
- package/dist/{stats-BVy52wLy.esm.js → stats-B0nFKawG.esm.js} +3 -5
- package/dist/stats.esm.js +2 -5
- package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
- package/dist/{tri-CFAPtAUM.esm.js → tri-4RsGrIt6.esm.js} +3 -119
- package/dist/tri.d.ts +2 -2
- package/dist/tri.esm-BIjHhBJ2.esm.js +2620 -0
- package/dist/tri.esm.js +2 -4
- package/dist/trueSight-B8G85W4z.esm.js +1 -0
- package/dist/trueSightService-6dTpiaTh.esm.js +1894 -0
- package/dist/trust-graph.d.ts +4 -5
- package/dist/trust-graph.esm.js +13 -9
- package/dist/types-BEwVKkLJ.d.ts +15 -0
- package/dist/{types-BKLb3C42.esm.js → types-BN5RPPIZ.esm.js} +1 -2
- package/dist/types-BSBzhHRH.d.ts +57 -0
- package/dist/types-BX_XkMsQ2.d.ts +21 -0
- package/dist/types-BfHiko5D.d.ts +48 -0
- package/dist/{types-D8Cl1N2Z.d.ts → types-BfgmV7s72.d.ts} +2 -2
- package/dist/types-CJ7Yl9K-2.d.ts +164 -0
- package/dist/types-DPIDuhut.d.ts +40 -0
- package/dist/types-DVmXIdzW.d.ts +82 -0
- package/dist/types-DelMqZLe.d.ts +105 -0
- package/dist/types-EELWyWpd.d.ts +6 -0
- package/dist/{types-fO6KIdol.d.ts → types-Hmd7U0JA.d.ts} +80 -6
- package/dist/{types-BUgeB2X6.d.ts → types-KPvmag_B.d.ts} +7 -7
- package/dist/types-M6eb82ra2.d.ts +589 -0
- package/dist/{types-DV3wkhQ4.d.ts → types-Vb4P9ovf.d.ts} +1 -3
- package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
- package/dist/{video-ZY92rkel.esm.js → video-BtSWtHy1.esm.js} +1 -2
- package/dist/video-selfie.d.ts +71 -117
- package/dist/video-selfie.esm.js +575 -643
- package/dist/videoSelfieCameraWarmer-h_VUk5Vu.esm.js +651 -0
- package/dist/videoSelfieStepDetector-D3oo2ofo.d.ts +123 -0
- package/dist/wasm.d.ts +2 -4
- package/dist/wasm.esm.js +4 -15
- package/dist/wasmDefaults-DTUrftxR.esm.js +125 -0
- package/dist/{wasmDsFlagSync-Ch0mFJNT.esm.js → wasmDsFlagSync-BqUCwLY8.esm.js} +2 -4
- package/dist/wasmWebClient-DM8lkb0z.esm.js +407 -0
- package/dist/watchlist-for-business.d.ts +1 -3
- package/dist/watchlist-for-business.esm.js +9 -9
- package/dist/watchlist.d.ts +1 -52
- package/dist/watchlist.esm.js +3 -70
- package/dist/{watchlistForBusinessStateMachine-R1Yp1g5A.esm.js → watchlistForBusinessStateMachine-BcBMkMvV.esm.js} +5 -7
- package/dist/watchlistManager-CjSMmbyq.esm.js +83 -0
- package/dist/watchlistManager-DLXef90v.d.ts +68 -0
- package/dist/{watchlistStateMachine-D07UVq1m.esm.js → watchlistStateMachine-Bl7Wy9Cm.esm.js} +5 -7
- package/dist/workflow.d.ts +239 -203
- package/dist/workflow.esm.js +156 -101
- package/dist/xstate-actors.esm-CtI5S0f4.esm.js +310 -0
- package/dist/{xstate.esm-nY3M5UYm.esm.js → xstate.esm-Cf4e0Cfd.esm.js} +136 -610
- package/package.json +14 -9
- package/dist/Actor-BwgmOPkb.d.ts +0 -2
- package/dist/Face2DProvider-CZU11g6r.esm.js +0 -824
- package/dist/FaceDetectionProvider-CPWg-PAH.d.ts +0 -119
- package/dist/IWasmUtilCapability-DaSNxgA8.d.ts +0 -150
- package/dist/PrivacyLensProvider-B_zrV25p.esm.js +0 -339
- package/dist/StateMachine-D5WO6lHS.d.ts +0 -2
- package/dist/StreamCanvasCapture-DHaWferF.d.ts +0 -42
- package/dist/ae-signature-Pp4oCAHD.esm.js +0 -12
- package/dist/api-DsbUi7TO.esm.js +0 -72
- package/dist/browser-DlFgHpoC-Br3G10gw.esm.js +0 -1425
- package/dist/browserSimulation-DZwEy9bu.esm.js +0 -2804
- package/dist/camera-CxxXV0VN.esm.js +0 -79
- package/dist/canvas-90BqS0NF.d.ts +0 -112
- package/dist/chunk-CIKcdghV.esm.js +0 -49
- package/dist/clientLifecycle-VyzRfALg.esm.js +0 -534
- package/dist/cpf-ocr.d.ts +0 -10
- package/dist/cpf-ocr.esm.js +0 -8
- package/dist/cpfOcrManager-9eM4z4o7.esm.js +0 -190
- package/dist/cpfOcrManager-C5U9E0hf.d.ts +0 -216
- package/dist/createFaceAvatar-BZSg2MNo.esm.js +0 -46
- package/dist/deepsightLoader-CU_tiLMx.esm.js +0 -62
- package/dist/flowServices-DkQmOkLV.esm.js +0 -208
- package/dist/geolocationManager-DaHYFkVO.d.ts +0 -156
- package/dist/getDeviceClass-DIjnTPjR.esm.js +0 -14
- package/dist/http-CnsKEaJY.esm.js +0 -0
- package/dist/idCaptureManager-CwuXtVu6.d.ts +0 -1013
- package/dist/index-BAyZ8_iI.d.ts +0 -93
- package/dist/openviduLazy-jPgABwrt.esm.js +0 -3
- package/dist/openviduLazy-wEojM41w.esm.js +0 -12
- package/dist/qe-signature-BnWIpR-O.esm.js +0 -12
- package/dist/sessionInitializer-Dj7-aJaP.esm.js +0 -547
- package/dist/tri.esm-DDJ1zOqG.esm.js +0 -2593
- package/dist/types-BcF-fii5.d.ts +0 -5
- package/dist/videoSelfieSteps-Djpv7cjb.esm.js +0 -58
- /package/dist/{IVisibilityObserverCapability-BZ1rE7ly.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
- /package/dist/{camera-CKU96nwJ.d.ts → camera-9wWD-pwg.d.ts} +0 -0
- /package/dist/{flowCompletionService-BOSTlAWo.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
- /package/dist/{types-BgjMAEXl.d.ts → types-Bk_6dmDa.d.ts} +0 -0
- /package/dist/{warmup-Dd0iq6KF.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
package/dist/{faceCaptureManagerFactory-DiJ64oem.d.ts → faceCaptureManagerFactory-BxWPpxyd.d.ts}
RENAMED
|
@@ -1,24 +1,59 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { t as
|
|
4
|
-
import
|
|
5
|
-
import { t as
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
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/
|
|
21
|
-
|
|
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
|
-
/**
|
|
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 {
|
|
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-
|
|
2
|
-
import {
|
|
3
|
-
import { n as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
9
|
-
import { n as
|
|
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
|
|
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
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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: [
|
|
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 };
|