@incodetech/core 2.1.0-rc.2 → 2.1.0-rc.3
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-ChciZmjE.esm.js +28214 -0
- package/dist/{BrowserStorageProvider-D5xc7Lqo.esm.js → BrowserStorageProvider-CrrN540a.esm.js} +1 -25
- package/dist/BrowserVisibilityObserverProvider-rim9Jrz-.esm.js +25 -0
- package/dist/Face2DProvider-BeLlYBbB.esm.js +824 -0
- package/dist/FaceDetectionProvider-B78455D4.d.ts +119 -0
- package/dist/IVisibilityObserverCapability-BbWjgpiF.d.ts +12 -0
- package/dist/IWasmUtilCapability-d2XvzaCk.d.ts +145 -0
- package/dist/IpifyProvider-BRW14_uo.esm.js +51 -0
- package/dist/{Manager-B2OEDYqf.d.ts → Manager-CJ3G2zqi.d.ts} +1 -4
- package/dist/{OpenViduRecordingProvider-DF7A4ZNJ.esm.js → OpenViduRecordingProvider-B_0GKkzc.esm.js} +1 -1
- package/dist/PrivacyLensProvider-hDzaDzZ6.esm.js +339 -0
- package/dist/StateMachine-C_AY4cs7.d.ts +2 -0
- package/dist/{StreamCanvasCapture-Dr5n_iK1.esm.js → StreamCanvasCapture-Bz17q4FP.esm.js} +1 -1
- package/dist/StreamCanvasCapture-DS1TOoiH.d.ts +42 -0
- package/dist/{WasmUtilProvider-CIu373BZ.esm.js → WasmUtilProvider-ADG54T6M.esm.js} +16 -1
- package/dist/{addressSearch-BH96a3fq.esm.js → addressSearch-DJyNTg5S.esm.js} +4 -4
- package/dist/{ae-signature-CDEN8y-w.esm.js → ae-signature-DlElqFrZ.esm.js} +1 -1
- package/dist/ae-signature.d.ts +4 -3
- package/dist/ae-signature.esm.js +10 -9
- package/dist/antifraud.d.ts +4 -3
- package/dist/antifraud.esm.js +7 -6
- package/dist/{antifraudManager-DZifA5zX.esm.js → antifraudManager-BKdQoMFf.esm.js} +4 -3
- package/dist/{antifraudManager-B7WQTIdu.d.ts → antifraudManager-DpIvbrZP.d.ts} +2 -2
- package/dist/{antifraudStateMachine-DlKrK2hL.esm.js → antifraudStateMachine-C0NGnP9W.esm.js} +3 -3
- package/dist/{api-DUZwyz0o.esm.js → api-DsbUi7TO.esm.js} +21 -2
- package/dist/authentication.d.ts +19 -12
- package/dist/authentication.esm.js +33 -27
- package/dist/{authenticationManager-Dve7mGLe.d.ts → authenticationManager-CdPbNS2H.d.ts} +3 -3
- package/dist/{authenticationManager-BM4LzyV7.esm.js → authenticationManager-Dtl1vcET.esm.js} +6 -6
- package/dist/{authenticationStateMachine-Chx3ySdT.esm.js → authenticationStateMachine-D-hOlg8p.esm.js} +8 -8
- package/dist/avatar.d.ts +3 -0
- package/dist/avatar.esm.js +3 -0
- package/dist/{backCameraStream-iftkf3rd.esm.js → backCameraStream-ZyqrFyjO.esm.js} +3 -3
- package/dist/{browser-DlFgHpoC-7tbRR1aR.esm.js → browser-DlFgHpoC-qLKs75Qp.esm.js} +1 -1
- package/dist/{browserSimulation-CGjpdNA1.esm.js → browserSimulation-TsSoavQv.esm.js} +153 -1216
- package/dist/camera-DUkgmYMo.esm.js +79 -0
- package/dist/camera.d.ts +7 -1
- package/dist/camera.esm.js +4 -4
- package/dist/{StreamCanvasCapture-Ctgyx-oD.d.ts → canvas-CJUmoXSD.d.ts} +1 -41
- package/dist/certificate-issuance.d.ts +31 -30
- package/dist/certificate-issuance.esm.js +8 -7
- package/dist/{certificateIssuanceStateMachine-CLNXtXaC.esm.js → certificateIssuanceStateMachine-C07m7qtP.esm.js} +4 -4
- package/dist/clientLifecycle-Ct7h9uxx.esm.js +534 -0
- package/dist/consent.d.ts +4 -3
- package/dist/consent.esm.js +7 -6
- package/dist/{consentManager-psDCeJ0E.esm.js → consentManager-BtnPZUW4.esm.js} +4 -3
- package/dist/{consentManager-BqUGU_YD.d.ts → consentManager-DufVo9D9.d.ts} +52 -52
- package/dist/{consentStateMachine-DRsFFSHE.esm.js → consentStateMachine-DO2JqoZW.esm.js} +3 -3
- package/dist/cpf-ocr.d.ts +4 -3
- package/dist/cpf-ocr.esm.js +7 -6
- package/dist/{cpfOcrManager-BxcgxvgO.esm.js → cpfOcrManager-C4rLgKsu.esm.js} +6 -5
- package/dist/{cpfOcrManager-B2u9hMzd.d.ts → cpfOcrManager-DqZZ94Gt.d.ts} +19 -19
- package/dist/createFaceAvatar-B8pFpy6o.d.ts +401 -0
- package/dist/createFaceAvatar-BOHDKQRq.esm.js +46 -0
- package/dist/cross-document-data-match.d.ts +2 -1
- package/dist/cross-document-data-match.esm.js +6 -5
- package/dist/curp-validation.d.ts +10 -7
- package/dist/curp-validation.esm.js +7 -6
- package/dist/{curpValidationManager-BgLDw0Ub.esm.js → curpValidationManager-BafobPXC.esm.js} +4 -3
- package/dist/{curpValidationManager-Bt6CVD8b.d.ts → curpValidationManager-Co6LZAHT.d.ts} +3 -3
- package/dist/{curpValidationStateMachine-BK_wJ48C.esm.js → curpValidationStateMachine-DXTPK6vI.esm.js} +3 -3
- package/dist/custom-fields.d.ts +3 -2
- package/dist/custom-fields.esm.js +6 -5
- package/dist/custom-watchlist.d.ts +2 -1
- package/dist/custom-watchlist.esm.js +6 -5
- package/dist/{customWatchlistStateMachine-Bi4P59HM.esm.js → customWatchlistStateMachine-B4G3Chkx.esm.js} +3 -3
- package/dist/{deepsightLoader-BMmvk0X6.esm.js → deepsightLoader-DHSVD776.esm.js} +14 -13
- package/dist/{deepsightService-CEZrdiW0.esm.js → deepsightService-CDahSjGP.esm.js} +9 -38
- package/dist/deepsightService-CMB9XjES.d.ts +69 -0
- package/dist/device.d.ts +9 -1
- package/dist/device.esm.js +5 -5
- package/dist/document-capture.d.ts +175 -174
- package/dist/document-capture.esm.js +14 -13
- package/dist/document-upload.d.ts +48 -47
- package/dist/document-upload.esm.js +9 -8
- package/dist/{documentCaptureStateMachine-MpwpJO7t.esm.js → documentCaptureStateMachine-DSOX2epf.esm.js} +7 -7
- package/dist/dynamic-forms.d.ts +4 -192
- package/dist/dynamic-forms.esm.js +8 -160
- package/dist/dynamicFormsManager-BOefZbyF.esm.js +168 -0
- package/dist/dynamicFormsManager-CUYLOj9g.d.ts +239 -0
- package/dist/{dynamicFormsStateMachine-Do84A4uU.esm.js → dynamicFormsStateMachine-BXHcaocI.esm.js} +4 -4
- package/dist/ekyb.d.ts +9 -6
- package/dist/ekyb.esm.js +20 -17
- package/dist/{ekybStateMachine-nsuPOw3f.esm.js → ekybStateMachine-CCSeqjCt.esm.js} +5 -5
- package/dist/ekyc.d.ts +4 -3
- package/dist/ekyc.esm.js +9 -8
- package/dist/{ekycStateMachine-DcynX0rj.esm.js → ekycStateMachine-DkLVTOyA.esm.js} +5 -5
- package/dist/electronic-signature.d.ts +4 -3
- package/dist/electronic-signature.esm.js +9 -8
- package/dist/{electronicSignatureManager-B63aAuI5.esm.js → electronicSignatureManager-DjzUzqZj.esm.js} +50 -87
- package/dist/email.d.ts +5 -4
- package/dist/email.esm.js +9 -8
- package/dist/{emailManager-DxHjAe5u.esm.js → emailManager-B_XzEsXH.esm.js} +5 -4
- package/dist/{emailManager-C6D2u4mQ.d.ts → emailManager-fHASH6uo.d.ts} +3 -3
- package/dist/{emailStateMachine-758f34gg.esm.js → emailStateMachine-fqJ42b19.esm.js} +5 -5
- package/dist/{endpoints-BM2_j_IE.esm.js → endpoints-BzMJFAPV.esm.js} +13 -0
- package/dist/{events-DN-u67gb.esm.js → events-CqGY1yMq.esm.js} +2 -188
- package/dist/events.d.ts +2 -0
- package/dist/events.esm.js +3 -2
- package/dist/extensibility.d.ts +37 -26
- package/dist/extensibility.esm.js +74 -59
- package/dist/{externalFetch-crimxkN9.esm.js → externalFetch-CyhBfD-n.esm.js} +1 -1
- package/dist/face-match.d.ts +2 -2
- package/dist/face-match.esm.js +6 -5
- package/dist/{faceCaptureManagerFactory-BNXZchWX.esm.js → faceCaptureManagerFactory-2brKTzMb.esm.js} +25 -16
- package/dist/faceCaptureManagerFactory-CGKbf7zt.d.ts +400 -0
- package/dist/{faceCaptureSetup-Dqb09D24.esm.js → faceCaptureSetup-CDUVU1nl.esm.js} +97 -13
- package/dist/{faceMatchStateMachine-FikRaUZH.esm.js → faceMatchStateMachine-DUeUjEPx.esm.js} +3 -3
- package/dist/field-comparison.d.ts +4 -3
- package/dist/field-comparison.esm.js +6 -5
- package/dist/{fieldComparisonManager-Dic0DVgl.esm.js → fieldComparisonManager-B9W0a9A5.esm.js} +5 -4
- package/dist/{fieldComparisonManager-BXc6-DJv.d.ts → fieldComparisonManager-DdLqDeB2.d.ts} +2 -2
- package/dist/fiscal-qr.d.ts +5 -3
- package/dist/fiscal-qr.esm.js +13 -12
- package/dist/flow-events.d.ts +8 -6
- package/dist/flow.d.ts +21 -13
- package/dist/flow.esm.js +28 -19
- package/dist/{flowCompletionService-CdGDKv0z.d.ts → flowCompletionService-BIqSTZcd.d.ts} +2 -1
- package/dist/{flowCompletionService-D_CsiDZM.esm.js → flowCompletionService-qEqh_g14.esm.js} +3 -3
- package/dist/{flowServices-ar5DXv71.esm.js → flowServices-C4piblgx.esm.js} +24 -9
- package/dist/geolocation.d.ts +4 -127
- package/dist/geolocation.esm.js +8 -115
- package/dist/geolocationManager-BP2Do9O-.esm.js +123 -0
- package/dist/geolocationManager-Cs50eRlC.d.ts +156 -0
- package/dist/{geolocationStateMachine-BWjrMGS_.esm.js → geolocationStateMachine-BYfOOOG0.esm.js} +4 -4
- package/dist/{getDeviceClass-rXKlXywy.esm.js → getDeviceClass-DGGzzfqm.esm.js} +1 -1
- package/dist/getDeviceData-TrKM8NPh.esm.js +101 -0
- package/dist/government-validation.d.ts +4 -3
- package/dist/government-validation.esm.js +8 -7
- package/dist/{governmentValidationStateMachine-BoF7U1of.esm.js → governmentValidationStateMachine-CwoPPO8b.esm.js} +5 -5
- package/dist/home.d.ts +18 -15
- package/dist/home.esm.js +4 -3
- package/dist/http.esm.js +2 -2
- package/dist/id-ocr.d.ts +4 -625
- package/dist/id-ocr.esm.js +8 -84
- package/dist/id-verification.d.ts +28 -27
- package/dist/id-verification.esm.js +6 -5
- package/dist/id.d.ts +16 -11
- package/dist/id.esm.js +39 -32
- package/dist/idCaptureDefaults-DNJON8Xo.esm.js +188 -0
- package/dist/{idCaptureManager-BvGUSN2e.d.ts → idCaptureManager-BVdvfJys.d.ts} +40 -10
- package/dist/{idCaptureManager-Bm6Wm6Qv.esm.js → idCaptureManager-Bo9DCQSU.esm.js} +14 -11
- package/dist/{idCaptureStateMachine-D1YhOj6n.esm.js → idCaptureStateMachine-BeDidMLU.esm.js} +395 -382
- package/dist/idOcrManager-BkRDrpZu.esm.js +92 -0
- package/dist/idOcrManager-CJzrmM91.d.ts +641 -0
- package/dist/{idOcrStateMachine-YMCDGplq.esm.js → idOcrStateMachine-DRZc4FBl.esm.js} +5 -5
- package/dist/{idVerificationStateMachine-Bo1IYuZH.esm.js → idVerificationStateMachine-oqiERKpg.esm.js} +3 -3
- package/dist/identity-reuse.d.ts +4 -3
- package/dist/identity-reuse.esm.js +7 -6
- package/dist/{identityReuseManager-D0knIrOy.esm.js → identityReuseManager-Bu62LToE.esm.js} +4 -3
- package/dist/{identityReuseManager-DcWSvC-A.d.ts → identityReuseManager-TWKbXuvY.d.ts} +33 -33
- package/dist/{identityReuseStateMachine-CSQfZOqD.esm.js → identityReuseStateMachine-BmONeF6B.esm.js} +3 -3
- package/dist/{index-BgxYUYuD.d.ts → index-DtUlD-bz.d.ts} +2 -2
- package/dist/{index-DV134v62.d.ts → index-Icld-cKW.d.ts} +175 -295
- package/dist/index.d.ts +3 -3
- package/dist/index.esm.js +16 -13
- package/dist/{invokeOnCaptureCallback-Dzemudhk.esm.js → invokeOnCaptureCallback-v_PV_IJz.esm.js} +1 -1
- package/dist/{lib-7ZQ9BdKH.esm.js → lib-B050WTth.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +10 -7
- package/dist/mandatory-consent.esm.js +7 -6
- package/dist/{mandatoryConsentManager-Tzl5Qd35.d.ts → mandatoryConsentManager-Bmdjo14S.d.ts} +50 -50
- package/dist/{mandatoryConsentManager-Lon46nPQ.esm.js → mandatoryConsentManager-CQ3jirlZ.esm.js} +4 -3
- package/dist/{mandatoryConsentStateMachine-D_dZ7IF6.esm.js → mandatoryConsentStateMachine-DkJJLHqC.esm.js} +3 -3
- package/dist/mediaRecorderOptions-C3NAkVgK.esm.js +42 -0
- package/dist/mediapipeShared-CRAKVElv.esm.js +67 -0
- package/dist/{recordingService-CxMJP4tQ.esm.js → onDeviceFaceResults-DVBggeq8.esm.js} +71 -389
- package/dist/{openviduLazy-oAXXI9w_.esm.js → openviduLazy-BTOIauGP.esm.js} +2 -2
- package/dist/openviduLazy-Dov8oKfL.esm.js +3 -0
- package/dist/{permissionGuards-D-Z-lgNj.esm.js → permissionGuards-BR2oN573.esm.js} +1 -1
- package/dist/{permissionServices-CPDboRoE.esm.js → permissionServices-BJhGL13R.esm.js} +7 -4
- package/dist/personhood.d.ts +534 -0
- package/dist/personhood.esm.js +1494 -0
- package/dist/phone.d.ts +5 -4
- package/dist/phone.esm.js +9 -8
- package/dist/{phoneManager-TSq1Ief6.d.ts → phoneManager-BOTcjXgs.d.ts} +3 -3
- package/dist/{phoneManager-Blt4Oc2P.esm.js → phoneManager-BWlxqbyD.esm.js} +5 -4
- package/dist/{phoneStateMachine-W3c6Z8sj.esm.js → phoneStateMachine-B_V9nODs.esm.js} +5 -5
- package/dist/{qe-signature-CQLK6LKE.esm.js → qe-signature-BhFnI9pT.esm.js} +1 -1
- package/dist/qe-signature.d.ts +4 -3
- package/dist/qe-signature.esm.js +10 -9
- package/dist/recordingService-m_1xCthr.esm.js +347 -0
- package/dist/redirect-to-mobile.d.ts +4 -3
- package/dist/redirect-to-mobile.esm.js +9 -8
- package/dist/{redirectToMobileManager-DCvpKdkD.esm.js → redirectToMobileManager-BaAo9rgi.esm.js} +5 -4
- package/dist/{redirectToMobileManager-yOHAmwg-.d.ts → redirectToMobileManager-Br0KZK1G.d.ts} +2 -2
- package/dist/{redirectToMobileStateMachine-DC9z4Vfu.esm.js → redirectToMobileStateMachine-DoAnf2ql.esm.js} +10 -12
- package/dist/{runChildModule-C9G0wfVC.esm.js → runChildModule-0nQfjVVo.esm.js} +3 -3
- package/dist/selfie.d.ts +19 -12
- package/dist/selfie.esm.js +34 -28
- package/dist/{selfieManager-BRL6c_Oc.esm.js → selfieManager-D_ZFERsE.esm.js} +6 -6
- package/dist/{selfieManager-imY2dAcH.d.ts → selfieManager-R0Jw5sjb.d.ts} +3 -3
- package/dist/{selfieStateMachine-D2Q0uwDK.esm.js → selfieStateMachine-CIgeeiN9.esm.js} +4 -4
- package/dist/{session-Be_IA1e0.esm.js → session-9jIfKFCc.esm.js} +3 -3
- package/dist/session.d.ts +7 -5
- package/dist/session.esm.js +16 -14
- package/dist/{sessionInitializer-CaiGA8GP.esm.js → sessionInitializer-C_TYIgyk.esm.js} +11 -107
- package/dist/{setup-BJZAkajt.d.ts → setup-CpRnXxn8.d.ts} +16 -3
- package/dist/setup-DHc6OaHm.esm.js +562 -0
- package/dist/signature.d.ts +3 -2
- package/dist/signature.esm.js +6 -5
- package/dist/{signatureStateMachine-DAxXmMrk.esm.js → signatureStateMachine-DtoiPzys.esm.js} +3 -3
- package/dist/{stats-DntyIiGr.esm.js → stats-CYcScXcO.esm.js} +2 -2
- package/dist/stats.esm.js +3 -3
- package/dist/thumbmarkAdapter-fHBUDlAP.esm.js +1194 -0
- package/dist/{tri-CtxWthxz.esm.js → tri-BG1iJsr4.esm.js} +12 -2
- package/dist/tri.d.ts +1 -1
- package/dist/{tri.esm-CrWAulDi.esm.js → tri.esm-DUC01NgO.esm.js} +27 -23
- package/dist/tri.esm.js +2 -2
- package/dist/trust-graph.d.ts +4 -3
- package/dist/trust-graph.esm.js +4 -3
- package/dist/{types-DpTWgfKY.d.ts → types-BklZ_Wne.d.ts} +1 -1
- package/dist/{types-Dv-9WPJX.d.ts → types-BsYXnC5s.d.ts} +39 -3
- package/dist/types-CxW2e0Ar.d.ts +132 -0
- package/dist/{types-Z9wv19v2.d.ts → types-DgGlgyZT.d.ts} +1 -1
- package/dist/types-ElOJAGaM.esm.js +189 -0
- package/dist/video-C2WIj6TS.esm.js +36 -0
- package/dist/video-selfie.d.ts +351 -0
- package/dist/video-selfie.esm.js +1509 -0
- package/dist/videoSelfieSteps-7M5vxKn-.esm.js +58 -0
- package/dist/{warmup--6HA3yUR.d.ts → warmup-BJZPQIiX.d.ts} +5 -1
- package/dist/wasm.d.ts +4 -4
- package/dist/wasm.esm.js +17 -14
- package/dist/watchlist-for-business.d.ts +2 -1
- package/dist/watchlist-for-business.esm.js +6 -5
- package/dist/watchlist.d.ts +2 -1
- package/dist/watchlist.esm.js +6 -5
- package/dist/{watchlistForBusinessStateMachine-DtefJb-D.esm.js → watchlistForBusinessStateMachine-DvEunDxs.esm.js} +3 -3
- package/dist/{watchlistStateMachine-B0aIS2_n.esm.js → watchlistStateMachine-AHXVf-TB.esm.js} +3 -3
- package/dist/workflow.d.ts +230 -98
- package/dist/workflow.esm.js +123 -79
- package/dist/{xstate.esm-Dkm1jy5u.esm.js → xstate.esm-Bomq1a0z.esm.js} +41 -1
- package/package.json +16 -1
- package/dist/IpifyProvider-oZf7Ke1O.esm.js +0 -167
- package/dist/camera-x4LjGTjZ.esm.js +0 -22
- package/dist/deepsightService-ByNKY5Jv.d.ts +0 -276
- package/dist/faceCaptureManagerFactory-CL-7T_vH.d.ts +0 -731
- package/dist/getBrowser-Dv8LZyHE.esm.js +0 -8
- package/dist/openviduLazy-B_s6jnEk.esm.js +0 -3
- package/dist/setup-C7tintPc.esm.js +0 -1064
- /package/dist/{Actor-fIPLXfoi.d.ts → Actor-CGEelYtQ.d.ts} +0 -0
- /package/dist/{BrowserTimerProvider-BVgutW_b.esm.js → BrowserTimerProvider-CHloo0eQ.esm.js} +0 -0
- /package/dist/{ITimerCapability-BvH0pDwp.esm.js → ITimerCapability-pltuG1E8.esm.js} +0 -0
- /package/dist/{MotionSensorProvider-C9fPAJdS.esm.js → MotionSensorProvider-DCbId4De.esm.js} +0 -0
- /package/dist/{apiError-D-GTvFrH.esm.js → apiError-DNS2OCEX.esm.js} +0 -0
- /package/dist/{camera-biGPWlmx.d.ts → camera-CNVUo-bC.d.ts} +0 -0
- /package/dist/{canvas-7uX2izHb.esm.js → canvas-_I95hkPg.esm.js} +0 -0
- /package/dist/{chunk-BK1xu56N.esm.js → chunk-CIKcdghV.esm.js} +0 -0
- /package/dist/{cpf-xBg-DFNn.esm.js → cpf-BKaho0j_.esm.js} +0 -0
- /package/dist/{dateUtils-8dCcuArE.esm.js → dateUtils-7-tQYRNN.esm.js} +0 -0
- /package/dist/{getDeviceClass-C0zrM97a.esm.js → getDeviceClass-DavNdcxh.esm.js} +0 -0
- /package/dist/{http-CfVTgMfU.esm.js → http-BkiUT7EB.esm.js} +0 -0
- /package/dist/{index-52_qi4bd.d.ts → index-XTtxaahe.d.ts} +0 -0
- /package/dist/{otp-D87RTwrx.esm.js → otp-Bfnzf7I3.esm.js} +0 -0
- /package/dist/{otp-BHJnjEEc.d.ts → otp-M4iy57XY.d.ts} +0 -0
- /package/dist/{platform-BfoqeM61.esm.js → platform-uIVQUnJP.esm.js} +0 -0
- /package/dist/{types-BdVOWGGW.esm.js → types-CMcxlSmH.esm.js} +0 -0
- /package/dist/{types-DYZja-k9.d.ts → types-D_IceWxT.d.ts} +0 -0
- /package/dist/{types-F0IXbaCB.d.ts → types-Duy2rDxF.d.ts} +0 -0
- /package/dist/{urlUtils-8RNHyW3x.esm.js → urlUtils-BZqFU9rR.esm.js} +0 -0
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
import { t as IncodeCanvas } from "./canvas-CJUmoXSD.js";
|
|
2
|
+
|
|
3
|
+
//#region ../infra/src/wasm/wasmWebClient.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Configuration shape that the C++ `WebApi` passes when calling `.post(...)`
|
|
7
|
+
* on its host JS adapter. Mirrors the upstream `ml-wasm-kit/WebClient`
|
|
8
|
+
* `RequestConfig` for the subset of fields actually set by `WebApi`.
|
|
9
|
+
*/
|
|
10
|
+
type WebApiHostRequestConfig = {
|
|
11
|
+
ie?: boolean;
|
|
12
|
+
headers?: Record<string, string>;
|
|
13
|
+
params?: Record<string, string | number | boolean | undefined>;
|
|
14
|
+
timeout?: number;
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region ../infra/src/capabilities/IMLProviderCapability.d.ts
|
|
18
|
+
/**
|
|
19
|
+
* Base configuration shared by all ML provider capabilities.
|
|
20
|
+
*/
|
|
21
|
+
interface MLProviderConfig {
|
|
22
|
+
/** Path to the WASM binary */
|
|
23
|
+
wasmPath?: string;
|
|
24
|
+
/** Path to the SIMD-optimized WASM binary (optional) */
|
|
25
|
+
wasmSimdPath?: string;
|
|
26
|
+
/** Path to the WASM glue code (paired with `wasmPath`) */
|
|
27
|
+
glueCodePath?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Path to the SIMD-optimized WASM glue code (paired with `wasmSimdPath`).
|
|
30
|
+
* If omitted, defaults to a sibling `.js` derived from `wasmSimdPath`.
|
|
31
|
+
*/
|
|
32
|
+
glueCodeSimdPath?: string;
|
|
33
|
+
/** Whether to use SIMD optimizations (default: true) */
|
|
34
|
+
useSimd?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Base path for ML model files. Models will be loaded from `${modelsBasePath}/${modelFileName}`.
|
|
37
|
+
* If not provided, models are expected in a 'models' subdirectory relative to the WASM binary.
|
|
38
|
+
*/
|
|
39
|
+
modelsBasePath?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Base interface for ML provider capabilities.
|
|
43
|
+
* Provides common lifecycle and frame processing methods shared by
|
|
44
|
+
* FaceDetectionCapability and IdCaptureCapability.
|
|
45
|
+
*/
|
|
46
|
+
interface IMLProviderCapability<TConfig extends MLProviderConfig> {
|
|
47
|
+
/**
|
|
48
|
+
* Whether the provider has been initialized and is ready to process frames.
|
|
49
|
+
*/
|
|
50
|
+
readonly initialized: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Initializes the provider with the given configuration.
|
|
53
|
+
* If WASM was already warmed up via `setup()` or `warmupWasm()`, this returns almost instantly.
|
|
54
|
+
* @param config - Provider configuration including WASM paths
|
|
55
|
+
*/
|
|
56
|
+
initialize(config: TConfig): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Processes a frame through the ML pipeline.
|
|
59
|
+
* Callbacks set via `setCallbacks()` will be invoked based on the analysis results.
|
|
60
|
+
* @param image - Image data to process
|
|
61
|
+
* @throws Error if provider is not initialized
|
|
62
|
+
*/
|
|
63
|
+
processFrame(image: ImageData): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Resets the pipeline to its initial state.
|
|
66
|
+
* Safe to call even if not initialized (no-op in that case).
|
|
67
|
+
*/
|
|
68
|
+
reset(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Disposes of resources and resets initialization state.
|
|
71
|
+
* Safe to call even if not initialized.
|
|
72
|
+
*/
|
|
73
|
+
dispose(): Promise<void>;
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region ../infra/src/capabilities/IFaceDetectionCapability.d.ts
|
|
77
|
+
/**
|
|
78
|
+
* Configuration for face detection provider.
|
|
79
|
+
* Extends base ML provider config with face-detection specific options.
|
|
80
|
+
*/
|
|
81
|
+
interface FaceDetectionConfig extends MLProviderConfig {
|
|
82
|
+
autocaptureInterval?: number;
|
|
83
|
+
/**
|
|
84
|
+
* Load the on-device selfie workflow (6 models including liveness + age
|
|
85
|
+
* estimation) instead of the default selfie workflow (4 models). Required
|
|
86
|
+
* when SELFIE/AUTHENTICATION has `onDeviceFaceResultsSubmissionEnabled`.
|
|
87
|
+
*/
|
|
88
|
+
useOnDeviceWorkflow?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Load the video-selfie face workflow (`SelfieWithAggregationMetrics`, the
|
|
91
|
+
* frame-aggregation best-shot pipeline used by the video-selfie flow)
|
|
92
|
+
* instead of the default quality-metrics selfie workflow. Mutually exclusive
|
|
93
|
+
* with `useOnDeviceWorkflow`.
|
|
94
|
+
*/
|
|
95
|
+
videoSelfie?: boolean;
|
|
96
|
+
}
|
|
97
|
+
interface FacePositionConstraints {
|
|
98
|
+
minX: number;
|
|
99
|
+
minY: number;
|
|
100
|
+
maxX: number;
|
|
101
|
+
maxY: number;
|
|
102
|
+
}
|
|
103
|
+
interface FaceDetectionThresholds {
|
|
104
|
+
brightnessThreshold: number;
|
|
105
|
+
blurrinessThreshold: number;
|
|
106
|
+
tiltRotationAngleThreshold: number;
|
|
107
|
+
minMagicCropSize: number;
|
|
108
|
+
autocaptureInterval: number;
|
|
109
|
+
minFaceQualityScore: number;
|
|
110
|
+
faceOcclusionThreshold: number;
|
|
111
|
+
/**
|
|
112
|
+
* Milliseconds the C++ workflow waits after `onGetReady` fires before
|
|
113
|
+
* triggering autocapture. Mirrors V1's `getReadyDelay` (2000 ms) — without
|
|
114
|
+
* it, autocapture can fire on the first quality-passing frame, before the
|
|
115
|
+
* front camera has finished locking focus, producing blurry captures that
|
|
116
|
+
* the on-device quality model rejects.
|
|
117
|
+
*/
|
|
118
|
+
getReadyDelay: number;
|
|
119
|
+
/**
|
|
120
|
+
* Milliseconds over which face-detection results are aggregated before the
|
|
121
|
+
* autocapture decision. Mirrors V1's `framesAggregationInterval` (2000 ms).
|
|
122
|
+
*/
|
|
123
|
+
framesAggregationInterval: number;
|
|
124
|
+
/**
|
|
125
|
+
* Minimum consecutive frames with a detected face required before
|
|
126
|
+
* autocapture can trigger. Mirrors V1's `minFramesWithFace` (3).
|
|
127
|
+
*/
|
|
128
|
+
minFramesWithFace: number;
|
|
129
|
+
}
|
|
130
|
+
interface FaceAttributesThresholds {
|
|
131
|
+
headwearThreshold: number;
|
|
132
|
+
lensesThreshold: number;
|
|
133
|
+
closedEyesThreshold: number;
|
|
134
|
+
maskThreshold: number;
|
|
135
|
+
}
|
|
136
|
+
interface FaceChecksConfig {
|
|
137
|
+
lenses: boolean;
|
|
138
|
+
mask: boolean;
|
|
139
|
+
closedEyes: boolean;
|
|
140
|
+
headWear: boolean;
|
|
141
|
+
occlusion: boolean;
|
|
142
|
+
}
|
|
143
|
+
interface FaceData {
|
|
144
|
+
rect: {
|
|
145
|
+
x: number;
|
|
146
|
+
y: number;
|
|
147
|
+
width: number;
|
|
148
|
+
height: number;
|
|
149
|
+
};
|
|
150
|
+
rightEye: {
|
|
151
|
+
x: number;
|
|
152
|
+
y: number;
|
|
153
|
+
};
|
|
154
|
+
leftEye: {
|
|
155
|
+
x: number;
|
|
156
|
+
y: number;
|
|
157
|
+
};
|
|
158
|
+
noseTip: {
|
|
159
|
+
x: number;
|
|
160
|
+
y: number;
|
|
161
|
+
};
|
|
162
|
+
rightMouthCorner: {
|
|
163
|
+
x: number;
|
|
164
|
+
y: number;
|
|
165
|
+
};
|
|
166
|
+
leftMouthCorner: {
|
|
167
|
+
x: number;
|
|
168
|
+
y: number;
|
|
169
|
+
};
|
|
170
|
+
pitch: number;
|
|
171
|
+
yaw: number;
|
|
172
|
+
roll: number;
|
|
173
|
+
}
|
|
174
|
+
type FaceCoordinates = {
|
|
175
|
+
rightEyeX: number;
|
|
176
|
+
rightEyeY: number;
|
|
177
|
+
leftEyeX: number;
|
|
178
|
+
leftEyeY: number;
|
|
179
|
+
noseTipX: number;
|
|
180
|
+
noseTipY: number;
|
|
181
|
+
rightMouthX: number;
|
|
182
|
+
rightMouthY: number;
|
|
183
|
+
mouthX: number;
|
|
184
|
+
mouthY: number;
|
|
185
|
+
x: number;
|
|
186
|
+
y: number;
|
|
187
|
+
width: number;
|
|
188
|
+
height: number;
|
|
189
|
+
};
|
|
190
|
+
interface FaceDetectionCallbacks {
|
|
191
|
+
onFarAway?: () => void;
|
|
192
|
+
onTooClose?: () => void;
|
|
193
|
+
onTooManyFaces?: () => void;
|
|
194
|
+
onNoFace?: () => void;
|
|
195
|
+
onCapture?: (canvas: IncodeCanvas, faceCoordinates: FaceCoordinates) => void;
|
|
196
|
+
onGetReady?: () => void;
|
|
197
|
+
onGetReadyFinished?: () => void;
|
|
198
|
+
onCenterFace?: () => void;
|
|
199
|
+
onDark?: () => void;
|
|
200
|
+
onBlur?: () => void;
|
|
201
|
+
onFaceAngle?: () => void;
|
|
202
|
+
/**
|
|
203
|
+
* Fires on **every** processed frame that contains at least one detected
|
|
204
|
+
* face, with the freshly-computed face data (pitch/yaw/roll/landmarks).
|
|
205
|
+
*
|
|
206
|
+
* Use `onFaceData` when you need a dense per-frame signal for live UI
|
|
207
|
+
* feedback — e.g. the Personhood avatar that mirrors head pose. The
|
|
208
|
+
* default capture pipeline does not subscribe to this, so consumers
|
|
209
|
+
* that don't need per-frame data pay no cost.
|
|
210
|
+
*
|
|
211
|
+
* `frameSize` is the source frame's pixel dimensions. Optional so
|
|
212
|
+
* existing single-arg consumers keep working (TypeScript callback
|
|
213
|
+
* variance handles it). Personhood uses it to compute an
|
|
214
|
+
* orientation-invariant face-size ratio for distance-aware smoothing.
|
|
215
|
+
*/
|
|
216
|
+
onFaceData?: (face: FaceData, frameSize?: {
|
|
217
|
+
width: number;
|
|
218
|
+
height: number;
|
|
219
|
+
}) => void;
|
|
220
|
+
onLenses?: () => void;
|
|
221
|
+
onMask?: () => void;
|
|
222
|
+
onEyesClosed?: () => void;
|
|
223
|
+
onHeadWear?: () => void;
|
|
224
|
+
onSwitchToManualCapture?: () => void;
|
|
225
|
+
onFaceOccluded?: () => void;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Capability interface for face detection and selfie capture.
|
|
229
|
+
* Extends the base ML provider capability with face-detection specific methods.
|
|
230
|
+
*/
|
|
231
|
+
interface IFaceDetectionCapability extends IMLProviderCapability<FaceDetectionConfig> {
|
|
232
|
+
/**
|
|
233
|
+
* Sets callbacks for face detection events.
|
|
234
|
+
* @param callbacks - Object containing callback functions for various detection events
|
|
235
|
+
*/
|
|
236
|
+
setCallbacks(callbacks: FaceDetectionCallbacks): void;
|
|
237
|
+
/**
|
|
238
|
+
* Sets position constraints for face detection.
|
|
239
|
+
* @param constraints - Bounding box constraints for valid face position
|
|
240
|
+
*/
|
|
241
|
+
setPositionConstraints(constraints: FacePositionConstraints): void;
|
|
242
|
+
/**
|
|
243
|
+
* Sets detection thresholds for quality checks.
|
|
244
|
+
* @param thresholds - Threshold values for various quality metrics
|
|
245
|
+
*/
|
|
246
|
+
setThresholds(thresholds: FaceDetectionThresholds): void;
|
|
247
|
+
/**
|
|
248
|
+
* Sets thresholds for face attribute detection.
|
|
249
|
+
* @param thresholds - Threshold values for attribute detection (headwear, lenses, etc.)
|
|
250
|
+
*/
|
|
251
|
+
setAttributesThresholds(thresholds: FaceAttributesThresholds): void;
|
|
252
|
+
/**
|
|
253
|
+
* Enables or disables specific face checks.
|
|
254
|
+
* @param config - Configuration for which checks to enable
|
|
255
|
+
*/
|
|
256
|
+
setChecksEnabled(config: FaceChecksConfig): void;
|
|
257
|
+
/**
|
|
258
|
+
* Sets video selfie mode.
|
|
259
|
+
* @param enabled - Whether to enable video selfie mode
|
|
260
|
+
*/
|
|
261
|
+
setVideoSelfieMode(enabled: boolean): void;
|
|
262
|
+
/**
|
|
263
|
+
* Manually triggers the `onCapture` callback registered via
|
|
264
|
+
* `setCallbacks`, using the best-quality frame the provider has
|
|
265
|
+
* seen so far (or the most recent processed frame as a fallback).
|
|
266
|
+
* Used by callers that want to complete a capture flow without
|
|
267
|
+
* waiting for WASM's own autocapture criteria — e.g. Personhood's
|
|
268
|
+
* "complete with far-away face" path, where the user may be too
|
|
269
|
+
* small in frame for autocapture to ever fire but a verdict
|
|
270
|
+
* (likely lower-confidence) is still desired.
|
|
271
|
+
*
|
|
272
|
+
* No-op when no frame is available at all (camera hasn't produced
|
|
273
|
+
* a single decoded frame yet) or when no `onCapture` callback was
|
|
274
|
+
* registered.
|
|
275
|
+
*/
|
|
276
|
+
forceCapture(): void;
|
|
277
|
+
/**
|
|
278
|
+
* Synchronous manual-capture entry point for the on-device selfie workflow.
|
|
279
|
+
* Runs the full on-device pipeline on a single canvas image and stages the
|
|
280
|
+
* results inside WASM for the next {@link postFaceResults} call. No-op for
|
|
281
|
+
* default (non-on-device) configurations; callers should guard with the
|
|
282
|
+
* `onDeviceFaceResultsSubmissionEnabled` flag.
|
|
283
|
+
*/
|
|
284
|
+
processPhoto(canvas: HTMLCanvasElement): void;
|
|
285
|
+
/**
|
|
286
|
+
* POSTs the staged on-device face-results JSON to `/omni/add/face-results`.
|
|
287
|
+
* The C++ side encrypts the body via `SessionEncryptor` and routes through
|
|
288
|
+
* the WASM `WebClient`, so the SDK's WebClient must be initialized first
|
|
289
|
+
* (consumers calling this must configure `setup({ apiURL, wasm })`).
|
|
290
|
+
*/
|
|
291
|
+
postFaceResults(config?: WebApiHostRequestConfig): Promise<unknown>;
|
|
292
|
+
}
|
|
293
|
+
//#endregion
|
|
294
|
+
//#region ../infra/src/avatar/faceFeed.d.ts
|
|
295
|
+
/**
|
|
296
|
+
* A tiny per-frame pub/sub channel for the Incode WASM pipeline's `FaceData`.
|
|
297
|
+
*
|
|
298
|
+
* The parked `incode-2d` avatar drives the cosmetic avatar from the **existing** Incode face-detection
|
|
299
|
+
* pipeline (no second MediaPipe model). The detection pipeline lives in core's
|
|
300
|
+
* detection actor, while the avatar lives in the avatar actor — so the avatar is
|
|
301
|
+
* *fed* `FaceData` through this channel rather than running its own model.
|
|
302
|
+
*
|
|
303
|
+
* Deliberately NOT routed through XState events/context: the pipeline emits
|
|
304
|
+
* ~10×/s, and assigning that into context would re-run `mapState` and notify all
|
|
305
|
+
* manager subscribers 10×/s — needless churn that could itself regress UI perf.
|
|
306
|
+
* The feed is a plain emitter passed as input to both actors (detection
|
|
307
|
+
* publishes, the avatar source subscribes); nothing else observes it.
|
|
308
|
+
*
|
|
309
|
+
* Strictly read-only w.r.t. the authoritative pipeline — the feed only forwards
|
|
310
|
+
* data the pipeline already computed; it never influences detection/autocapture.
|
|
311
|
+
*/
|
|
312
|
+
interface FaceFeedReader {
|
|
313
|
+
/** Subscribe to per-frame faces. Returns an unsubscribe function. */
|
|
314
|
+
subscribe(listener: (face: FaceData) => void): () => void;
|
|
315
|
+
/** The most recently published face, or null if none yet. */
|
|
316
|
+
getLatest(): FaceData | null;
|
|
317
|
+
/**
|
|
318
|
+
* Subscribe to the coarse "eyes closed" pulse — the only real eye signal the
|
|
319
|
+
* Incode pipeline exposes (a threshold event, both eyes, fired only when the
|
|
320
|
+
* closed-eyes check is enabled via `validateClosedEyes`). The avatar uses it
|
|
321
|
+
* to drive a real blink. Returns an unsubscribe function.
|
|
322
|
+
*/
|
|
323
|
+
onEyesClosed(listener: () => void): () => void;
|
|
324
|
+
}
|
|
325
|
+
interface FaceFeed extends FaceFeedReader {
|
|
326
|
+
publish(face: FaceData): void;
|
|
327
|
+
/** Fire the eyes-closed pulse (from the detection pipeline's threshold event). */
|
|
328
|
+
signalEyesClosed(): void;
|
|
329
|
+
}
|
|
330
|
+
//#endregion
|
|
331
|
+
//#region ../infra/src/capabilities/IFaceAvatarCapability.d.ts
|
|
332
|
+
/**
|
|
333
|
+
* Caller-supplied overrides. Any omitted field falls back to the default
|
|
334
|
+
* CDN layout (see `avatar/avatarDefaults.ts`). `basePath`/`version` rewrite
|
|
335
|
+
* the whole directory; the individual `*Path` fields win over both.
|
|
336
|
+
*/
|
|
337
|
+
interface AvatarAssetsOverrides {
|
|
338
|
+
basePath?: string;
|
|
339
|
+
version?: string;
|
|
340
|
+
mediapipeModulePath?: string;
|
|
341
|
+
mediapipeWasmPath?: string;
|
|
342
|
+
faceLandmarkerModelPath?: string;
|
|
343
|
+
vrmModelPath?: string;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Verdict cue an avatar can reflect: `detecting` (working) / `success` / `error`.
|
|
347
|
+
* Pose-driven 2D avatars colour the face accordingly (green wink / red frown);
|
|
348
|
+
* avatars without a verdict visual (VRM, privacy-lens) treat `setState` as a no-op.
|
|
349
|
+
* Driven by the host module (selfie capture outcome, personhood verdict).
|
|
350
|
+
*/
|
|
351
|
+
type AvatarFaceState = 'detecting' | 'success' | 'error';
|
|
352
|
+
//#endregion
|
|
353
|
+
//#region src/internal/avatar/createFaceAvatar.d.ts
|
|
354
|
+
/**
|
|
355
|
+
* Shared face-avatar dispatch — the single code path BOTH the selfie module
|
|
356
|
+
* (`faceCapture` runAvatar actor) and the public `@incodetech/core/avatar` facade
|
|
357
|
+
* use, so every camera module mounts avatars the same way. Lives in `internal/`
|
|
358
|
+
* (not `modules/`) because `internal/` may not import from `modules/`; the public
|
|
359
|
+
* `modules/avatar` entry is a thin re-export of this. See
|
|
360
|
+
* docs/features/FACE_AVATAR.md.
|
|
361
|
+
*
|
|
362
|
+
* Public catalog of shippable face avatars. Each id maps to a lazily-loaded
|
|
363
|
+
* provider, so a module only pays the bundle cost of the avatar it picks:
|
|
364
|
+
* - `avatar-3d` → 3D VRM character, MediaPipe-tracked (premium look).
|
|
365
|
+
* - `avatar-2d` → stylized 2D "satin" face, MediaPipe-tracked. Also the
|
|
366
|
+
* personhood avatar.
|
|
367
|
+
* - `privacy-lens` → WebGL frosted-glass lens over the real video (no tracking).
|
|
368
|
+
*
|
|
369
|
+
* (The Incode-data 2D avatar is parked — kept in infra, not in the public
|
|
370
|
+
* catalog. See docs/features/FACE_AVATAR.md → Parked: the Incode-data avatar.)
|
|
371
|
+
*/
|
|
372
|
+
type AvatarId = 'avatar-3d' | 'avatar-2d' | 'privacy-lens';
|
|
373
|
+
interface FaceAvatarOptions {
|
|
374
|
+
/** Which avatar to render. */
|
|
375
|
+
variant: AvatarId;
|
|
376
|
+
/** The already-acquired camera stream (the host module owns it). */
|
|
377
|
+
stream: MediaStream;
|
|
378
|
+
/** Runtime asset overrides (MediaPipe wasm/model, VRM); defaults to the CDN layout. */
|
|
379
|
+
assets?: AvatarAssetsOverrides;
|
|
380
|
+
/** Upper bound on the avatar's internal detect/render loop (default 30). */
|
|
381
|
+
maxFps?: number;
|
|
382
|
+
/** Initial verdict cue; defaults to `detecting`. */
|
|
383
|
+
initialState?: AvatarFaceState;
|
|
384
|
+
}
|
|
385
|
+
interface FaceAvatarHandle {
|
|
386
|
+
/** The canvas to mount in place of the live video. */
|
|
387
|
+
readonly canvas: HTMLCanvasElement;
|
|
388
|
+
/** Push a verdict cue (no-op for avatars without a verdict visual). */
|
|
389
|
+
setState(state: AvatarFaceState): void;
|
|
390
|
+
/** Tear down the loop, model and hidden decode video. */
|
|
391
|
+
stop(): void;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Mounts a cosmetic face avatar: lazy-loads the chosen provider, starts it on the
|
|
395
|
+
* given stream, and returns a handle to mount the canvas + push verdict cues. The
|
|
396
|
+
* avatar is **cosmetic-only** — it never feeds the authoritative
|
|
397
|
+
* detection/quality/liveness/upload pipeline.
|
|
398
|
+
*/
|
|
399
|
+
declare function createFaceAvatar(options: FaceAvatarOptions): Promise<FaceAvatarHandle>;
|
|
400
|
+
//#endregion
|
|
401
|
+
export { MLProviderConfig as _, AvatarAssetsOverrides as a, FaceAttributesThresholds as c, FaceDetectionCallbacks as d, FaceDetectionConfig as f, IMLProviderCapability as g, IFaceDetectionCapability as h, createFaceAvatar as i, FaceChecksConfig as l, FacePositionConstraints as m, FaceAvatarHandle as n, AvatarFaceState as o, FaceDetectionThresholds as p, FaceAvatarOptions as r, FaceFeed as s, AvatarId as t, FaceCoordinates as u, WebApiHostRequestConfig as v };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/internal/avatar/createFaceAvatar.ts
|
|
2
|
+
/** Lazy-load the provider for an avatar id (each lands in its own chunk). */
|
|
3
|
+
async function loadProvider(variant) {
|
|
4
|
+
switch (variant) {
|
|
5
|
+
case "avatar-3d": return (await import("./3dAvatarProvider-ChciZmjE.esm.js")).createProvider();
|
|
6
|
+
case "avatar-2d": return (await import("./Face2DProvider-BeLlYBbB.esm.js")).createProvider();
|
|
7
|
+
case "privacy-lens": return (await import("./PrivacyLensProvider-hDzaDzZ6.esm.js")).createProvider();
|
|
8
|
+
default: {
|
|
9
|
+
const exhaustive = variant;
|
|
10
|
+
throw new Error(`Unknown avatar variant: ${String(exhaustive)}`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Mounts a cosmetic face avatar: lazy-loads the chosen provider, starts it on the
|
|
16
|
+
* given stream, and returns a handle to mount the canvas + push verdict cues. The
|
|
17
|
+
* avatar is **cosmetic-only** — it never feeds the authoritative
|
|
18
|
+
* detection/quality/liveness/upload pipeline.
|
|
19
|
+
*/
|
|
20
|
+
async function createFaceAvatar(options) {
|
|
21
|
+
const provider = await loadProvider(options.variant);
|
|
22
|
+
try {
|
|
23
|
+
await provider.start(options.stream, {
|
|
24
|
+
assets: options.assets,
|
|
25
|
+
maxFps: options.maxFps
|
|
26
|
+
});
|
|
27
|
+
if (options.initialState) provider.setState?.(options.initialState);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
provider.stop();
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
get canvas() {
|
|
34
|
+
return provider.getCanvas();
|
|
35
|
+
},
|
|
36
|
+
setState(state) {
|
|
37
|
+
provider.setState?.(state);
|
|
38
|
+
},
|
|
39
|
+
stop() {
|
|
40
|
+
provider.stop();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { createFaceAvatar as t };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
2
3
|
|
|
3
4
|
//#region src/modules/cross-document-data-match/crossDocumentDataMatchManager.d.ts
|
|
4
5
|
type CrossDocumentDataMatchIdleState = {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { n as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { t as
|
|
1
|
+
import { t as api } from "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import { n as createManagerInstrumentation } from "./events-CqGY1yMq.esm.js";
|
|
3
|
+
import { n as eventModuleNames } from "./types-ElOJAGaM.esm.js";
|
|
4
|
+
import { t as endpoints } from "./endpoints-BzMJFAPV.esm.js";
|
|
5
|
+
import { a as fromPromise, l as createManager, s as createActor, t as setup } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
6
|
+
import { t as sleep } from "./ITimerCapability-pltuG1E8.esm.js";
|
|
6
7
|
|
|
7
8
|
//#region src/modules/cross-document-data-match/crossDocumentDataMatchServices.ts
|
|
8
9
|
/** Minimum spinner duration (ms), aligned with SDK v1 `ProcessCrossDocumentData`. */
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./types-
|
|
6
|
-
import "./types-
|
|
7
|
-
import
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import "./Manager-CJ3G2zqi.js";
|
|
3
|
+
import "./Actor-CGEelYtQ.js";
|
|
4
|
+
import "./camera-CNVUo-bC.js";
|
|
5
|
+
import "./types-DgGlgyZT.js";
|
|
6
|
+
import "./types-D_IceWxT.js";
|
|
7
|
+
import "./canvas-CJUmoXSD.js";
|
|
8
|
+
import "./createFaceAvatar-B8pFpy6o.js";
|
|
9
|
+
import "./types-BsYXnC5s.js";
|
|
10
|
+
import { a as CurpValidationActor, c as CurpValidationErrors, d as GenerateCurpFieldDef, f as GenerateCurpFieldType, i as createCurpValidationManagerFromActor, l as CurpValidationRule, n as CurpValidationState, o as curpValidationMachine, p as GenerateCurpForm, r as createCurpValidationManager, s as CurpValidationConfig, t as CurpValidationManager, u as EnterCurpFieldDef } from "./curpValidationManager-Co6LZAHT.js";
|
|
8
11
|
|
|
9
12
|
//#region src/modules/curp-validation/curpValidationUtils.d.ts
|
|
10
13
|
type MexicanState = {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import "./api-
|
|
2
|
-
import "./events-
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import
|
|
6
|
-
import { n as
|
|
1
|
+
import "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import "./events-CqGY1yMq.esm.js";
|
|
3
|
+
import "./types-ElOJAGaM.esm.js";
|
|
4
|
+
import "./endpoints-BzMJFAPV.esm.js";
|
|
5
|
+
import "./xstate.esm-Bomq1a0z.esm.js";
|
|
6
|
+
import { i as mexicanStates, n as ENTER_CURP_FIELD, r as GENERATE_CURP_FIELDS, t as curpValidationMachine } from "./curpValidationStateMachine-DXTPK6vI.esm.js";
|
|
7
|
+
import { n as createCurpValidationManagerFromActor, t as createCurpValidationManager } from "./curpValidationManager-BafobPXC.esm.js";
|
|
7
8
|
|
|
8
9
|
export { ENTER_CURP_FIELD, GENERATE_CURP_FIELDS, createCurpValidationManager, createCurpValidationManagerFromActor, curpValidationMachine, mexicanStates };
|
package/dist/{curpValidationManager-BgLDw0Ub.esm.js → curpValidationManager-BafobPXC.esm.js}
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { n as createManagerInstrumentation, t as topLevelStateName } from "./events-CqGY1yMq.esm.js";
|
|
2
|
+
import { n as eventModuleNames } from "./types-ElOJAGaM.esm.js";
|
|
3
|
+
import { l as createManager, s as createActor } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
4
|
+
import { t as curpValidationMachine } from "./curpValidationStateMachine-DXTPK6vI.esm.js";
|
|
4
5
|
|
|
5
6
|
//#region src/modules/curp-validation/curpValidationActor.ts
|
|
6
7
|
function createCurpValidationActor(options) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as Manager } from "./Manager-
|
|
2
|
-
import { t as ActorRefFrom } from "./Actor-
|
|
3
|
-
import { i as FlowModuleConfig } from "./types-
|
|
1
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
2
|
+
import { t as ActorRefFrom } from "./Actor-CGEelYtQ.js";
|
|
3
|
+
import { i as FlowModuleConfig } from "./types-BsYXnC5s.js";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/curp-validation/types.d.ts
|
|
6
6
|
type CurpValidationConfig = FlowModuleConfig['CURP_VALIDATION'] & {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { t as endpoints } from "./endpoints-
|
|
3
|
-
import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-
|
|
1
|
+
import { t as api } from "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import { t as endpoints } from "./endpoints-BzMJFAPV.esm.js";
|
|
3
|
+
import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/curp-validation/curpValidationUtils.ts
|
|
6
6
|
const CURP_PATTERN = /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[HMX](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/;
|
package/dist/custom-fields.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
3
|
+
import "./Actor-CGEelYtQ.js";
|
|
3
4
|
|
|
4
5
|
//#region src/modules/custom-fields/types.d.ts
|
|
5
6
|
type CustomFieldType = 'INTEGER' | 'DOUBLE' | 'BOOLEAN' | 'STRING' | 'DATE';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { n as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { t as
|
|
1
|
+
import { t as api } from "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import { n as createManagerInstrumentation, t as topLevelStateName } from "./events-CqGY1yMq.esm.js";
|
|
3
|
+
import { n as eventModuleNames } from "./types-ElOJAGaM.esm.js";
|
|
4
|
+
import { t as endpoints } from "./endpoints-BzMJFAPV.esm.js";
|
|
5
|
+
import { a as fromPromise, l as createManager, r as assign, s as createActor, t as setup } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
6
|
+
import { t as isoDateToMs } from "./dateUtils-7-tQYRNN.esm.js";
|
|
6
7
|
|
|
7
8
|
//#region src/modules/custom-fields/customFieldsServices.ts
|
|
8
9
|
async function submitCustomFields(params, signal) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./StateMachine-C_AY4cs7.js";
|
|
2
|
+
import { t as Manager } from "./Manager-CJ3G2zqi.js";
|
|
2
3
|
|
|
3
4
|
//#region src/modules/custom-watchlist/customWatchlistStateMachine.d.ts
|
|
4
5
|
type CustomWatchlistResult = 'success' | 'skipped';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import "./api-
|
|
2
|
-
import { n as
|
|
3
|
-
import "./
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
1
|
+
import "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import { n as createManagerInstrumentation, t as topLevelStateName } from "./events-CqGY1yMq.esm.js";
|
|
3
|
+
import { n as eventModuleNames } from "./types-ElOJAGaM.esm.js";
|
|
4
|
+
import "./endpoints-BzMJFAPV.esm.js";
|
|
5
|
+
import { l as createManager, s as createActor } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
6
|
+
import { t as customWatchlistMachine } from "./customWatchlistStateMachine-B4G3Chkx.esm.js";
|
|
6
7
|
|
|
7
8
|
//#region src/modules/custom-watchlist/customWatchlistActor.ts
|
|
8
9
|
function createCustomWatchlistActor() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { t as endpoints } from "./endpoints-
|
|
3
|
-
import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-
|
|
1
|
+
import { t as api } from "./api-DsbUi7TO.esm.js";
|
|
2
|
+
import { t as endpoints } from "./endpoints-BzMJFAPV.esm.js";
|
|
3
|
+
import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-Bomq1a0z.esm.js";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/custom-watchlist/customWatchlistServices.ts
|
|
6
6
|
async function processWatchlist(signal) {
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { t as WasmUtilProvider } from "./WasmUtilProvider-
|
|
2
|
-
import "./api-
|
|
3
|
-
import "./endpoints-
|
|
4
|
-
import "./stats-
|
|
5
|
-
import {
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
8
|
-
import "./
|
|
9
|
-
import { t as MotionSensorProvider } from "./MotionSensorProvider-
|
|
10
|
-
import "./camera-
|
|
11
|
-
import "./canvas-
|
|
12
|
-
import
|
|
13
|
-
import "./getDeviceClass-
|
|
1
|
+
import { t as WasmUtilProvider } from "./WasmUtilProvider-ADG54T6M.esm.js";
|
|
2
|
+
import "./api-DsbUi7TO.esm.js";
|
|
3
|
+
import "./endpoints-BzMJFAPV.esm.js";
|
|
4
|
+
import "./stats-CYcScXcO.esm.js";
|
|
5
|
+
import { o as BrowserEnvironmentProvider } from "./browserSimulation-TsSoavQv.esm.js";
|
|
6
|
+
import "./thumbmarkAdapter-fHBUDlAP.esm.js";
|
|
7
|
+
import { t as IpifyProvider } from "./IpifyProvider-BRW14_uo.esm.js";
|
|
8
|
+
import "./platform-uIVQUnJP.esm.js";
|
|
9
|
+
import { t as MotionSensorProvider } from "./MotionSensorProvider-DCbId4De.esm.js";
|
|
10
|
+
import "./camera-DUkgmYMo.esm.js";
|
|
11
|
+
import "./canvas-_I95hkPg.esm.js";
|
|
12
|
+
import "./video-C2WIj6TS.esm.js";
|
|
13
|
+
import "./getDeviceClass-DavNdcxh.esm.js";
|
|
14
|
+
import { t as createDeepsightService } from "./deepsightService-CDahSjGP.esm.js";
|
|
14
15
|
|
|
15
16
|
//#region ../infra/src/providers/browser/VisibilityProvider.ts
|
|
16
17
|
var VisibilityProvider = class {
|