@incodetech/core 0.0.0-dev-20260715-b208c5e1 → 0.0.0-dev-20260715-dcc78bcd
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-BYxFCuIv.esm.js → 3dAvatarProvider-D9H4rR6_.esm.js} +811 -880
- package/dist/Actor-iTq7YY48.d.ts +1 -0
- package/dist/{BrowserStorageProvider-CBXGCHnK.esm.js → BrowserStorageProvider-P6aUarE9.esm.js} +1 -2
- package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
- package/dist/{BrowserVisibilityObserverProvider-B04zvOXW.esm.js → BrowserVisibilityObserverProvider-sJclps4C.esm.js} +1 -3
- package/dist/{Face2DProvider-TeN1Xqr0.esm.js → Face2DProvider-xWUeSJZI.esm.js} +10 -22
- package/dist/{createFaceAvatar-BjBu2CrU.d.ts → FaceDetectionProvider-BHweGBEM.d.ts} +108 -159
- package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
- package/dist/IStorageCapability-B8IGxCwe.d.ts +131 -0
- package/dist/{ITimerCapability-G7lQg-be.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
- package/dist/{Manager-DE5DydXZ.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
- package/dist/{MotionSensorProvider-BkHKMCPE.esm.js → MotionSensorProvider-DYvM90IX.esm.js} +1 -2
- package/dist/{OpenViduRecordingProvider-xR5osKzW.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
- package/dist/{PrivacyLensProvider-CqlsCaJv.esm.js → PrivacyLensProvider-BrYSd1dr.esm.js} +2 -5
- package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
- package/dist/{StreamCanvasCapture-CRk7c7u7.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
- package/dist/{WasmUtilProvider-BNQ2PBjG.esm.js → WasmUtilProvider-DAshwHhX.esm.js} +38 -71
- package/dist/{addressSearch-B2NxSpHl.esm.js → addressSearch-DH-IPF-w.esm.js} +10 -21
- package/dist/ae-signature.d.ts +2 -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-C490m0p4.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
- package/dist/{antifraudManager-C1xnhF2Q.esm.js → antifraudManager-CL2YhiVX.esm.js} +11 -8
- package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-Bf-IiCq7.esm.js} +5 -7
- package/dist/{api-DsbUi7TO.esm.js → api-BDTZNnca.esm.js} +1 -2
- package/dist/{apiError-DkOXfFBu.esm.js → apiError-COvIGYWe.esm.js} +1 -2
- package/dist/authentication.d.ts +2 -19
- package/dist/authentication.esm.js +3 -34
- package/dist/{authenticationManager-DZXQpCjQ.esm.js → authenticationManager-DM7ttL5V.esm.js} +7 -10
- package/dist/{authenticationManager-BD81fnrn.d.ts → authenticationManager-G-k-13Fe.d.ts} +3 -4
- package/dist/{authenticationStateMachine-CJrTbLWU.esm.js → authenticationStateMachine-DiI8jfmO.esm.js} +11 -15
- package/dist/avatar.d.ts +2 -2
- package/dist/avatar.esm.js +2 -3
- package/dist/{backCameraStream-DYnfq7Hr.esm.js → backCameraStream-Heg6vA1j.esm.js} +4 -7
- package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
- package/dist/callback-645_omgz.d.ts +133 -0
- package/dist/{camera-B0yWS33x.esm.js → camera-BmFEyPP_.esm.js} +1 -2
- package/dist/camera.d.ts +1 -2
- package/dist/camera.esm.js +2 -6
- package/dist/{canvas-DsJa51yU.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-CpewPqas.esm.js → certificateIssuanceStateMachine-Ce568YfR.esm.js} +7 -11
- package/dist/{clientLifecycle-CCJMDjFe.esm.js → clientLifecycle-DzT65Fvf.esm.js} +23 -29
- package/dist/consent.d.ts +1 -4
- package/dist/consent.esm.js +3 -8
- package/dist/{consentManager-r4MTIoV3.esm.js → consentManager-D3GyyH5u.esm.js} +5 -7
- package/dist/{consentManager-QGuw4zmH.d.ts → consentManager-DLOyIZzt.d.ts} +58 -64
- package/dist/{consentStateMachine-DnqwsZ7o.esm.js → consentStateMachine-Pc3Ez3mV.esm.js} +5 -7
- package/dist/{cpf-B9htWzDt.esm.js → cpf-BIADjddF.esm.js} +1 -2
- package/dist/cpf-ocr.d.ts +1 -5
- package/dist/cpf-ocr.esm.js +2 -8
- package/dist/{cpfOcrManager-RkeZCqSz.d.ts → cpfOcrManager-CQkUAeWO.d.ts} +21 -23
- package/dist/{cpfOcrManager-D6ZQ9kkv.esm.js → cpfOcrManager-Cwm0MesJ.esm.js} +7 -12
- package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
- package/dist/{createFaceAvatar-B_v2At2h.esm.js → createFaceAvatar-CwVapQiu.esm.js} +5 -9
- package/dist/cross-document-data-match.d.ts +1 -5
- package/dist/cross-document-data-match.esm.js +2 -8
- package/dist/{crossDocumentDataMatchManager-DoFG_S91.esm.js → crossDocumentDataMatchManager-9rdIO8Qk.esm.js} +12 -12
- package/dist/{crossDocumentDataMatchManager-CdiqxhJm.d.ts → crossDocumentDataMatchManager-Dq8Z3SOg.d.ts} +3 -3
- package/dist/curp-validation.d.ts +1 -11
- package/dist/curp-validation.esm.js +3 -8
- package/dist/{curpValidationManager-07oV78Bn.d.ts → curpValidationManager--HSBTwOy.d.ts} +4 -6
- package/dist/{curpValidationManager-D6jt1Gs9.esm.js → curpValidationManager-C2i9Lzx9.esm.js} +11 -7
- package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-7i3TD8J2.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-D23XTxl2.esm.js} +5 -7
- package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
- package/dist/{deepsightService-CV1NAkg9.esm.js → deepsightLoader-CQWGVLP0.esm.js} +62 -14
- package/dist/deepsightService-CR-CYdka.d.ts +218 -0
- package/dist/device.d.ts +0 -1
- package/dist/device.esm.js +5 -10
- package/dist/document-capture.d.ts +1 -6
- package/dist/document-capture.esm.js +3 -16
- package/dist/document-upload.d.ts +48 -55
- package/dist/document-upload.esm.js +8 -14
- package/dist/{documentCaptureManager-HNu28khr.d.ts → documentCaptureManager-Biz_PFqs.d.ts} +190 -199
- package/dist/{documentCaptureManager-pufyUaQz.esm.js → documentCaptureManager-DijbJFun.esm.js} +5 -7
- package/dist/{documentCaptureStateMachine-CaJgb_Vn.esm.js → documentCaptureStateMachine-qgsrlcVh.esm.js} +11 -15
- package/dist/dynamic-forms.d.ts +1 -4
- package/dist/dynamic-forms.esm.js +3 -10
- package/dist/{dynamicFormsManager-C3jlNlWK.esm.js → dynamicFormsManager-COik5bJ7.esm.js} +41 -7
- package/dist/{dynamicFormsManager-HQhUJCLg.d.ts → dynamicFormsManager-Dposae2l.d.ts} +3 -4
- package/dist/{dynamicFormsStateMachine-DdpJI6ne.esm.js → dynamicFormsStateMachine-BV-Fn13x.esm.js} +7 -11
- package/dist/ekyb.d.ts +4 -11
- package/dist/ekyb.esm.js +3 -20
- package/dist/{ekybManager-l67BnqxH.esm.js → ekybManager-BTcW4poN.esm.js} +17 -7
- package/dist/{ekybManager-CZUVEWMw.d.ts → ekybManager-CBX0tM04.d.ts} +4 -5
- package/dist/{ekybStateMachine-BmfNaHRF.esm.js → ekybStateMachine-DmZLm35R.esm.js} +16 -25
- package/dist/ekyc.d.ts +2 -7
- package/dist/ekyc.esm.js +3 -11
- package/dist/{ekycManager-ClRqj2rg.d.ts → ekycManager-BFpHbBoT.d.ts} +4 -5
- package/dist/{ekycManager-B_uUa1iN.esm.js → ekycManager-BSMlIpGA.esm.js} +14 -7
- package/dist/{ekycStateMachine-BD8GjdL5.esm.js → ekycStateMachine-a7oP-XWo.esm.js} +140 -201
- package/dist/electronic-signature.d.ts +2 -5
- package/dist/electronic-signature.esm.js +2 -10
- package/dist/{electronicSignatureManager-CzMj-Tjm.esm.js → electronicSignatureManager-DSZu9OHT.esm.js} +9 -14
- package/dist/email.d.ts +1 -5
- package/dist/email.esm.js +3 -10
- package/dist/{emailManager-Lv9BHgel.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
- package/dist/{emailManager-BsynjdWX.esm.js → emailManager-c-mDLieD.esm.js} +76 -12
- package/dist/{emailStateMachine-Z-Jf4qOc.esm.js → emailStateMachine-ChNwY22u.esm.js} +7 -9
- package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-DLQ0g4-R.esm.js} +33 -2
- package/dist/{events-aeCkGlnn.esm.js → events-Dy8PyVO5.esm.js} +4 -168
- package/dist/events.d.ts +1 -9
- package/dist/events.esm.js +2 -4
- package/dist/extensibility.d.ts +30 -42
- package/dist/extensibility.esm.js +29 -87
- package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
- package/dist/face-match.d.ts +1 -5
- package/dist/face-match.esm.js +3 -8
- package/dist/{faceCaptureManagerFactory-CGFQg1kl.d.ts → faceCaptureManagerFactory-BWD3O4Eg.d.ts} +50 -14
- package/dist/{faceCaptureManagerFactory-BIH53wvb.esm.js → faceCaptureManagerFactory-CZLSziU3.esm.js} +49 -28
- package/dist/{faceCaptureSetup-shrwrZaK.esm.js → faceCaptureSetup-__lVldUG.esm.js} +12 -15
- package/dist/{faceMatchManager-BrNYVk-p.esm.js → faceMatchManager-B7jlv77Q.esm.js} +24 -7
- package/dist/{faceMatchManager-X2eQo0o-.d.ts → faceMatchManager-CJQG1W1u.d.ts} +4 -4
- package/dist/{faceMatchStateMachine-CbeacEqd.esm.js → faceMatchStateMachine-DD7FxtUj.esm.js} +6 -9
- package/dist/field-comparison.d.ts +1 -4
- package/dist/field-comparison.esm.js +2 -7
- package/dist/{fieldComparisonManager-BxhleGNI.esm.js → fieldComparisonManager-5LlxYad-.esm.js} +6 -11
- package/dist/{fieldComparisonManager-Dg03uIX1.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
- 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 +13 -19
- package/dist/flow.esm.js +109 -34
- package/dist/{flowCompletionService-qf-s8Uxl.esm.js → flowCompletionService-DQSC7Kso.esm.js} +4 -6
- package/dist/{flowServices-CJXaWFlZ.esm.js → flowServices-BQEUaMg6.esm.js} +10 -11
- package/dist/geolocation.d.ts +1 -4
- package/dist/geolocation.esm.js +3 -9
- package/dist/{geolocationManager-CAtyY00b.d.ts → geolocationManager-BWhRzBjk.d.ts} +3 -4
- package/dist/{geolocationManager-4j_DV3jW.esm.js → geolocationManager-D58ehBHU.esm.js} +19 -8
- package/dist/{geolocationStateMachine-BE72KBAX.esm.js → geolocationStateMachine-BorcBNZ6.esm.js} +6 -8
- package/dist/getBrowser-Cb8Zgrgp.esm.js +7 -0
- package/dist/{getDeviceClass-BdgmyOOu.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
- package/dist/{getDeviceClass-DsNb6nEl.esm.js → getDeviceClass-CkgnSJel.esm.js} +3 -5
- package/dist/{getBrowser-CZ66VtC7.esm.js → getParsedUserAgent-pJjATANs.esm.js} +109 -30
- package/dist/government-validation.d.ts +3 -6
- package/dist/government-validation.esm.js +7 -13
- package/dist/{governmentValidationStateMachine-BfZ_WQC0.esm.js → governmentValidationStateMachine-DkakcwTj.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 +1 -5
- package/dist/id-ocr.esm.js +3 -9
- package/dist/id-verification.d.ts +1 -4
- package/dist/id-verification.esm.js +3 -8
- package/dist/id.d.ts +105 -18
- package/dist/id.esm.js +40 -50
- package/dist/{idCaptureDefaults-Df8XKQ0o.esm.js → idCaptureDefaults-Dzfws4i0.esm.js} +9 -16
- package/dist/{idCaptureManager-Fr9c67Rx.esm.js → idCaptureManager-BGAdNNVq.esm.js} +117 -23
- package/dist/{idCaptureManager-BXG8kVMW.d.ts → idCaptureManager-CSGbGORT.d.ts} +12 -113
- package/dist/{idCaptureStateMachine-CpjwdaYN.esm.js → idCaptureStateMachine-DYgckwCg.esm.js} +56 -195
- package/dist/{idOcrManager-DLF3J2cx.esm.js → idOcrManager-niAg-BE0.esm.js} +4 -7
- package/dist/{idOcrManager-DnhdGuVX.d.ts → idOcrManager-vXa7GdRh.d.ts} +60 -66
- package/dist/{idOcrStateMachine-BPXTUjNY.esm.js → idOcrStateMachine-CpZZL411.esm.js} +13 -18
- package/dist/{idVerificationManager-BD2FO09A.d.ts → idVerificationManager-BB4Pj_N6.d.ts} +31 -35
- package/dist/{idVerificationManager-23kPMn7T.esm.js → idVerificationManager-CujJqsiX.esm.js} +4 -7
- package/dist/{idVerificationStateMachine-C1eMEu_Y.esm.js → idVerificationStateMachine-D-1GlgC5.esm.js} +5 -7
- package/dist/identity-reuse.d.ts +1 -4
- package/dist/identity-reuse.esm.js +3 -8
- package/dist/{identityReuseManager-Ct-9qYpC.esm.js → identityReuseManager-DHfJZTVo.esm.js} +24 -7
- package/dist/{identityReuseManager-DOufEjLa.d.ts → identityReuseManager-aTyLyYrr.d.ts} +38 -43
- package/dist/{identityReuseStateMachine-Cqc-NwEQ.esm.js → identityReuseStateMachine-CM45EBrb.esm.js} +6 -8
- package/dist/index-B8weJxmL.d.ts +1 -0
- package/dist/index-BKOWUhxG.d.ts +258 -0
- package/dist/{index-WMHgnbC1.d.ts → index-CKbmDFNq.d.ts} +160 -165
- package/dist/{index-Bk5nhSg2.d.ts → index-DQ2fdqoI.d.ts} +3 -3
- package/dist/index.d.ts +1 -3
- package/dist/index.esm.js +2 -15
- package/dist/{invokeOnCaptureCallback-Bs09kdY_.esm.js → invokeOnCaptureCallback-B-QfsCQY.esm.js} +2 -4
- package/dist/{lib-DvZ6nVvW.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
- package/dist/mandatory-consent.d.ts +1 -10
- package/dist/mandatory-consent.esm.js +3 -8
- package/dist/{mandatoryConsentManager-D0qQHcl2.d.ts → mandatoryConsentManager-BlB4bX6_.d.ts} +59 -65
- package/dist/{mandatoryConsentManager-Bh_n0uEP.esm.js → mandatoryConsentManager-CQC-zA4P.esm.js} +4 -7
- package/dist/{mandatoryConsentStateMachine-DYeKH1L7.esm.js → mandatoryConsentStateMachine-BN4Obfl7.esm.js} +5 -7
- package/dist/{mediaRecorderOptions-BIn657lu.esm.js → mediaRecorderOptions-BhSZDDNb.esm.js} +2 -4
- package/dist/{mediapipeShared-B-RiRyLN.esm.js → mediapipeShared-B0iQQ5k7.esm.js} +2 -6
- package/dist/{onDeviceFaceResults-CJuDp67S.esm.js → onDeviceFaceResults-LRTvBL7m.esm.js} +18 -84
- package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
- package/dist/{otp-D_9QPNbs.d.ts → otp-CEWfTj9v.d.ts} +0 -1
- package/dist/{otp-Bbe_izFJ.esm.js → otp-D2k3PeSL.esm.js} +3 -14
- package/dist/{permissionGuards-CayfS8OY.esm.js → permissionGuards-DguX5vFY.esm.js} +2 -4
- package/dist/{permissionServices-B7lD6fiG.esm.js → permissionServices-DwNCUB2I.esm.js} +4 -9
- package/dist/personhood.d.ts +13 -20
- package/dist/personhood.esm.js +153 -72
- package/dist/phone.d.ts +1 -5
- package/dist/phone.esm.js +3 -10
- package/dist/{phoneManager-85eRUhJD.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
- package/dist/{phoneManager-Byive8Xl.esm.js → phoneManager-KbcmjEeH.esm.js} +82 -12
- package/dist/{phoneStateMachine-BlYF4nKx.esm.js → phoneStateMachine-wDQtaT38.esm.js} +7 -9
- package/dist/{platform-BoeUeUrV.esm.js → platform-wmV7oTAJ.esm.js} +1 -9
- package/dist/qe-signature.d.ts +2 -6
- package/dist/qe-signature.esm.js +10 -11
- package/dist/{recordingService-BzQUrf40.esm.js → recordingService-TuBlOjvH.esm.js} +15 -19
- package/dist/redirect-to-mobile.d.ts +1 -6
- package/dist/redirect-to-mobile.esm.js +3 -10
- package/dist/{redirectToMobileManager-DrxIfZr8.esm.js → redirectToMobileManager-EGXGKftv.esm.js} +25 -8
- package/dist/{redirectToMobileManager-2TtzpSOw.d.ts → redirectToMobileManager-NVQM3o5P.d.ts} +3 -4
- package/dist/{redirectToMobileStateMachine-BetR6r8p.esm.js → redirectToMobileStateMachine-D-8ipBq2.esm.js} +7 -9
- package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
- package/dist/{runChildModule-FH_tixbR.esm.js → runChildModule-Crz1nHwJ.esm.js} +5 -9
- package/dist/selfie.d.ts +7 -20
- package/dist/selfie.esm.js +40 -46
- package/dist/{selfieManager-CdUnYjmt.esm.js → selfieManager-C4_2DgTF.esm.js} +7 -10
- package/dist/{selfieManager-d7nkO-UP.d.ts → selfieManager-CN8wJ14s.d.ts} +3 -4
- package/dist/{selfieStateMachine-zz4WqziP.esm.js → selfieStateMachine-ODRceav2.esm.js} +15 -20
- package/dist/selfieUploadService-B4LnSIf6.esm.js +62 -0
- package/dist/session-CQ2x2aLl.esm.js +1 -0
- package/dist/session.d.ts +2 -9
- package/dist/session.esm.js +153 -15
- package/dist/sessionInitializer-Cjpnacyg.esm.js +1801 -0
- package/dist/{setup-BxB6QUto.d.ts → setup-CgBvqGWw.d.ts} +2 -4
- package/dist/{setup-DCyhfufM.esm.js → setup-Hyb_Yiuu.esm.js} +126 -18
- package/dist/signature.d.ts +2 -6
- package/dist/signature.esm.js +6 -9
- package/dist/{signatureStateMachine-U8ewxW1t.esm.js → signatureStateMachine-BmKPC5A9.esm.js} +5 -7
- package/dist/spawn-D9jgw9pW.d.ts +1441 -0
- package/dist/{stats-BVy52wLy.esm.js → stats-Bu6bL_CX.esm.js} +3 -5
- package/dist/stats.esm.js +2 -5
- package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
- package/dist/{tri-Calc36Ny.esm.js → tri-N-xlKhZK.esm.js} +3 -7
- 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/trust-graph.d.ts +4 -5
- package/dist/trust-graph.esm.js +13 -9
- package/dist/{types-Db2ooXIu.esm.js → types-BN5RPPIZ.esm.js} +1 -2
- package/dist/{types-ZezaAAbn.d.ts → types-BfgmV7s7.d.ts} +2 -2
- package/dist/{types-NizIIgLD.d.ts → types-BnEHzP1K.d.ts} +3 -5
- package/dist/{types-DCOl8zy6.d.ts → types-Vb4P9ovf.d.ts} +1 -3
- package/dist/{types-C0D4Brd6.d.ts → types-ctqh-iS4.d.ts} +80 -6
- package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
- package/dist/{video-DXf5H9rY.esm.js → video-BtSWtHy1.esm.js} +1 -2
- package/dist/video-selfie.d.ts +10 -15
- package/dist/video-selfie.esm.js +114 -106
- package/dist/{videoSelfieSteps-DAky5sq5.esm.js → videoSelfieSteps-DHcibfYH.esm.js} +1 -2
- package/dist/wasm.d.ts +2 -4
- package/dist/wasm.esm.js +3 -15
- package/dist/watchlist-for-business.d.ts +1 -3
- package/dist/watchlist-for-business.esm.js +9 -9
- package/dist/watchlist.d.ts +1 -3
- package/dist/watchlist.esm.js +11 -10
- package/dist/{watchlistForBusinessStateMachine-Bbn_dcVT.esm.js → watchlistForBusinessStateMachine-BC_-3fJs.esm.js} +5 -7
- package/dist/{watchlistStateMachine-SZ-1xpe4.esm.js → watchlistStateMachine-CL2j3aRl.esm.js} +5 -7
- package/dist/workflow.d.ts +124 -146
- package/dist/workflow.esm.js +75 -80
- 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 +2 -2
- package/dist/Actor-CdjYVucI.d.ts +0 -2
- package/dist/FaceDetectionProvider-D-zCGbS9.d.ts +0 -119
- package/dist/IWasmUtilCapability-CuiW_6d1.d.ts +0 -150
- package/dist/StateMachine-BTkXO3Na.d.ts +0 -2
- package/dist/StreamCanvasCapture-D9u4hwul.d.ts +0 -42
- package/dist/ae-signature-eQWjmzE8.esm.js +0 -12
- package/dist/browser-DlFgHpoC-BTB6a7n-.esm.js +0 -1425
- package/dist/browserSimulation-CQjwFn0Z.esm.js +0 -1256
- package/dist/canvas-COIxuirO.d.ts +0 -112
- package/dist/chunk-CIKcdghV.esm.js +0 -49
- package/dist/deepsightLoader-BppeThau.esm.js +0 -67
- package/dist/deepsightService-mkIAy_Eq.d.ts +0 -69
- package/dist/http-C3Pq6njG.esm.js +0 -0
- package/dist/index-BD6ZVw2f.d.ts +0 -93
- package/dist/openviduLazy-CuGqb-8Q.esm.js +0 -12
- package/dist/openviduLazy-DNb0xHJp.esm.js +0 -3
- package/dist/qe-signature-D9XM2d-F.esm.js +0 -12
- package/dist/session--C2lbjK5.esm.js +0 -152
- package/dist/sessionInitializer-Dx_oPfHP.esm.js +0 -548
- package/dist/tri.esm-BDhptA8x.esm.js +0 -2593
- /package/dist/{IVisibilityObserverCapability-C3tAkSfF.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
- /package/dist/{camera-DRH7co71.d.ts → camera-9wWD-pwg.d.ts} +0 -0
- /package/dist/{flowCompletionService-DGcE_OvO.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
- /package/dist/{types-DawqnFVn.d.ts → types-BT-aiBYV.d.ts} +0 -0
- /package/dist/{types-B6KIOo6S.d.ts → types-Bk_6dmDa.d.ts} +0 -0
- /package/dist/{warmup-CE9Fhs6N.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./StateMachine-EDpYWy0i.js";
|
|
@@ -3,7 +3,6 @@ function setWasmDsFlagSync(enabled) {
|
|
|
3
3
|
if (typeof localStorage === "undefined") return;
|
|
4
4
|
localStorage.setItem("ds", enabled ? "1" : "0");
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
//#region ../infra/src/providers/browser/BrowserVisibilityObserverProvider.ts
|
|
9
8
|
var BrowserVisibilityObserverProvider = class {
|
|
@@ -20,6 +19,5 @@ var BrowserVisibilityObserverProvider = class {
|
|
|
20
19
|
};
|
|
21
20
|
}
|
|
22
21
|
};
|
|
23
|
-
|
|
24
22
|
//#endregion
|
|
25
|
-
export { setWasmDsFlagSync as n, BrowserVisibilityObserverProvider as t };
|
|
23
|
+
export { setWasmDsFlagSync as n, BrowserVisibilityObserverProvider as t };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { t as createHiddenVideoElement } from "./video-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { t as createHiddenVideoElement } from "./video-BtSWtHy1.esm.js";
|
|
2
|
+
import { n as createFaceLandmarker, r as dtAlpha, t as asRvfc } from "./mediapipeShared-B0iQQ5k7.esm.js";
|
|
4
3
|
//#region ../infra/src/avatar/2d-default-avatar/assets.ts
|
|
5
4
|
/**
|
|
6
5
|
* 2D avatar MediaPipe asset resolution — **self-contained** (no shared
|
|
@@ -23,14 +22,13 @@ function resolveAvatar2DAssets(overrides) {
|
|
|
23
22
|
faceLandmarkerModelPath: valid(overrides?.faceLandmarkerModelPath) ? overrides.faceLandmarkerModelPath : DEFAULT_FACE_LANDMARKER_MODEL_URL
|
|
24
23
|
};
|
|
25
24
|
}
|
|
26
|
-
|
|
27
25
|
//#endregion
|
|
28
26
|
//#region ../infra/src/avatar/renderers/SatinSmileyRenderer.ts
|
|
29
27
|
const SPRITE = 512;
|
|
30
28
|
const HEAD_CX = 256;
|
|
31
29
|
const HEAD_CY = 256;
|
|
32
30
|
const HEAD_R = 150;
|
|
33
|
-
const HALO_R =
|
|
31
|
+
const HALO_R = 178;
|
|
34
32
|
const EYE_Y = 218;
|
|
35
33
|
const EYE_DX = 56;
|
|
36
34
|
const EYE_RX = 12;
|
|
@@ -189,7 +187,7 @@ var SatinSmileyRenderer = class {
|
|
|
189
187
|
ctx.translate(s / 2 + slideX, s / 2 + slideY);
|
|
190
188
|
ctx.rotate(frame.headEuler.z);
|
|
191
189
|
ctx.scale(scale * k, scale * k);
|
|
192
|
-
ctx.translate(-
|
|
190
|
+
ctx.translate(-512 / 2, -512 / 2);
|
|
193
191
|
if (faceAlpha > .02) {
|
|
194
192
|
ctx.globalAlpha = faceAlpha;
|
|
195
193
|
this.drawBall(ctx);
|
|
@@ -198,7 +196,7 @@ var SatinSmileyRenderer = class {
|
|
|
198
196
|
ctx.save();
|
|
199
197
|
ctx.translate(HEAD_CX, HEAD_CY);
|
|
200
198
|
ctx.scale(1 - Math.abs(yaw) * .24, 1 - Math.abs(pitch) * .12);
|
|
201
|
-
ctx.translate(-
|
|
199
|
+
ctx.translate(-256, -256);
|
|
202
200
|
ctx.translate(featX, featY);
|
|
203
201
|
const feat = rgb(this.eased.feature);
|
|
204
202
|
let blinkL = clamp$1(frame.blink.left, 0, 1);
|
|
@@ -208,7 +206,7 @@ var SatinSmileyRenderer = class {
|
|
|
208
206
|
blinkR = .85;
|
|
209
207
|
}
|
|
210
208
|
this.drawEye(ctx, HEAD_CX - EYE_DX, EYE_Y, blinkL, feat);
|
|
211
|
-
this.drawEye(ctx,
|
|
209
|
+
this.drawEye(ctx, 312, EYE_Y, blinkR, feat);
|
|
212
210
|
this.drawNose(ctx, feat);
|
|
213
211
|
let mouth = Math.max(REST_SMILE, clamp$1(frame.smile ?? 0, 0, 1));
|
|
214
212
|
if (state === "success") mouth = 1;
|
|
@@ -297,11 +295,10 @@ var SatinSmileyRenderer = class {
|
|
|
297
295
|
ctx.lineCap = "round";
|
|
298
296
|
ctx.beginPath();
|
|
299
297
|
ctx.moveTo(HEAD_CX - MOUTH_HALF, cy - lift);
|
|
300
|
-
ctx.quadraticCurveTo(HEAD_CX, cy + curve,
|
|
298
|
+
ctx.quadraticCurveTo(HEAD_CX, cy + curve, 300, cy - lift);
|
|
301
299
|
ctx.stroke();
|
|
302
300
|
}
|
|
303
301
|
};
|
|
304
|
-
|
|
305
302
|
//#endregion
|
|
306
303
|
//#region ../infra/src/avatar/2d-default-avatar/pose.ts
|
|
307
304
|
const AVATAR2D_NEUTRAL_POSE = {
|
|
@@ -361,13 +358,6 @@ const AVATAR2D_DEADZONE = {
|
|
|
361
358
|
};
|
|
362
359
|
const MEDIAN_WINDOW = 7;
|
|
363
360
|
/**
|
|
364
|
-
* Below this face-size ratio the detector emits sporadic single-frame outlier
|
|
365
|
-
* spikes ("the avatar jumps") that the deadzone (idle-only) and the EMA (delays,
|
|
366
|
-
* doesn't reject) both miss; run the {@link Median} first in that regime. At/above
|
|
367
|
-
* it, the face is near and exp smoothing alone is enough. (FACE_AVATAR.md → Pose pipeline.)
|
|
368
|
-
*/
|
|
369
|
-
const MEDIAN_FACE_RATIO = .35;
|
|
370
|
-
/**
|
|
371
361
|
* Single-axis rolling-window median for outlier rejection. Returns the latest
|
|
372
362
|
* sample until the window fills (no start-up lag spike), then the middle of the
|
|
373
363
|
* sorted window. The buffer stays in insertion order so `shift()` evicts the
|
|
@@ -510,7 +500,6 @@ function blinkMouthFromBlendshapes(result) {
|
|
|
510
500
|
smile: (smileL + smileR) / 2
|
|
511
501
|
};
|
|
512
502
|
}
|
|
513
|
-
|
|
514
503
|
//#endregion
|
|
515
504
|
//#region ../infra/src/avatar/2d-default-avatar/Face2DProvider.ts
|
|
516
505
|
/**
|
|
@@ -582,7 +571,7 @@ var Avatar2DProvider = class {
|
|
|
582
571
|
if (this.stopped) return;
|
|
583
572
|
this.scheduleNextFrame();
|
|
584
573
|
if (now - this.lastFrameAt < this.minFrameIntervalMs) return;
|
|
585
|
-
const dtMs = clamp(this.lastFrameAt > 0 ? now - this.lastFrameAt : this.minFrameIntervalMs, 1,
|
|
574
|
+
const dtMs = clamp(this.lastFrameAt > 0 ? now - this.lastFrameAt : this.minFrameIntervalMs, 1, 100);
|
|
586
575
|
this.lastFrameAt = now;
|
|
587
576
|
const video = this.videoHandle?.element;
|
|
588
577
|
if (!video || video.readyState < 2 || !this.landmarker) {
|
|
@@ -744,7 +733,7 @@ var Avatar2DProvider = class {
|
|
|
744
733
|
* reset the buffers (no stale samples across distance regimes).
|
|
745
734
|
*/
|
|
746
735
|
applyMedian(raw) {
|
|
747
|
-
if (!(raw.faceSizeRatio !== void 0 && raw.faceSizeRatio <
|
|
736
|
+
if (!(raw.faceSizeRatio !== void 0 && raw.faceSizeRatio < .35)) {
|
|
748
737
|
this.medYaw.reset();
|
|
749
738
|
this.medPitch.reset();
|
|
750
739
|
this.medRoll.reset();
|
|
@@ -819,6 +808,5 @@ function copyPoseInto(dst, src) {
|
|
|
819
808
|
function createProvider() {
|
|
820
809
|
return new Avatar2DProvider();
|
|
821
810
|
}
|
|
822
|
-
|
|
823
811
|
//#endregion
|
|
824
|
-
export { createProvider };
|
|
812
|
+
export { createProvider };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { n as WasmPipeline } from "./warmup-Dv2alr2-.js";
|
|
2
|
+
import { r as IncodeCanvas } from "./deepsightService-CR-CYdka.js";
|
|
3
|
+
import { a as MLProviderConfig, i as IMLProviderCapability } from "./IStorageCapability-B8IGxCwe.js";
|
|
3
4
|
//#region ../infra/src/wasm/wasmWebClient.d.ts
|
|
4
|
-
|
|
5
5
|
/**
|
|
6
6
|
* Configuration shape that the C++ `WebApi` passes when calling `.post(...)`
|
|
7
7
|
* on its host JS adapter. Mirrors the upstream `ml-wasm-kit/WebClient`
|
|
@@ -14,65 +14,6 @@ type WebApiHostRequestConfig = {
|
|
|
14
14
|
timeout?: number;
|
|
15
15
|
};
|
|
16
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
17
|
//#region ../infra/src/capabilities/IFaceDetectionCapability.d.ts
|
|
77
18
|
/**
|
|
78
19
|
* Configuration for face detection provider.
|
|
@@ -291,111 +232,119 @@ interface IFaceDetectionCapability extends IMLProviderCapability<FaceDetectionCo
|
|
|
291
232
|
postFaceResults(config?: WebApiHostRequestConfig): Promise<unknown>;
|
|
292
233
|
}
|
|
293
234
|
//#endregion
|
|
294
|
-
//#region ../infra/src/
|
|
235
|
+
//#region ../infra/src/wasm/WasmPipelineType.d.ts
|
|
236
|
+
declare enum WasmPipelineType {
|
|
237
|
+
IdBlurGlarePipeline = 0,
|
|
238
|
+
IdBarcodeAndTextQualityPipeline = 1,
|
|
239
|
+
IdVideoSelfiePipeline = 2,
|
|
240
|
+
SelfieWithAggregationMetrics = 3,
|
|
241
|
+
SelfieWithQualityMetrics = 4,
|
|
242
|
+
OnDeviceSelfieWorkflow = 5
|
|
243
|
+
}
|
|
244
|
+
//#endregion
|
|
245
|
+
//#region ../infra/src/providers/wasm/BaseWasmProvider.d.ts
|
|
295
246
|
/**
|
|
296
|
-
*
|
|
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.
|
|
247
|
+
* Base configuration for WASM providers
|
|
311
248
|
*/
|
|
312
|
-
interface
|
|
313
|
-
/**
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
|
|
249
|
+
interface BaseWasmConfig {
|
|
250
|
+
/** Path to the WASM binary */
|
|
251
|
+
wasmPath?: string;
|
|
252
|
+
/** Path to the SIMD-optimized WASM binary (optional) */
|
|
253
|
+
wasmSimdPath?: string;
|
|
254
|
+
/** Path to the WASM glue code (paired with `wasmPath`) */
|
|
255
|
+
glueCodePath?: string;
|
|
256
|
+
/**
|
|
257
|
+
* Path to the SIMD-optimized WASM glue code (paired with `wasmSimdPath`).
|
|
258
|
+
* If omitted, defaults to a sibling `.js` derived from `wasmSimdPath`.
|
|
259
|
+
*/
|
|
260
|
+
glueCodeSimdPath?: string;
|
|
261
|
+
/** Whether to use SIMD optimizations (default: true) */
|
|
262
|
+
useSimd?: boolean;
|
|
317
263
|
/**
|
|
318
|
-
*
|
|
319
|
-
*
|
|
320
|
-
* closed-eyes check is enabled via `validateClosedEyes`). The avatar uses it
|
|
321
|
-
* to drive a real blink. Returns an unsubscribe function.
|
|
264
|
+
* Base path for ML model files. Models will be loaded from `${modelsBasePath}/${modelFileName}`.
|
|
265
|
+
* If not provided, models are expected in a 'models' subdirectory relative to the WASM binary.
|
|
322
266
|
*/
|
|
323
|
-
|
|
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;
|
|
267
|
+
modelsBasePath?: string;
|
|
329
268
|
}
|
|
330
|
-
//#endregion
|
|
331
|
-
//#region ../infra/src/capabilities/IFaceAvatarCapability.d.ts
|
|
332
269
|
/**
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
*
|
|
270
|
+
* Base provider class that abstracts common WASM functionality.
|
|
271
|
+
* This serves as a foundation for specific ML capability providers
|
|
272
|
+
* like FaceDetectionProvider and IdCaptureProvider.
|
|
336
273
|
*/
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
274
|
+
declare abstract class BaseWasmProvider {
|
|
275
|
+
private _isInitialized;
|
|
276
|
+
protected pipelineType: WasmPipelineType | undefined;
|
|
277
|
+
/**
|
|
278
|
+
* Creates a new BaseWasmProvider
|
|
279
|
+
* @param pipelineType - The WASM pipeline type this provider uses
|
|
280
|
+
*/
|
|
281
|
+
constructor(pipelineType?: WasmPipelineType);
|
|
282
|
+
/**
|
|
283
|
+
* Returns whether this provider has been initialized.
|
|
284
|
+
*/
|
|
285
|
+
get initialized(): boolean;
|
|
286
|
+
protected getPipelineType(): WasmPipelineType;
|
|
287
|
+
/**
|
|
288
|
+
* Initializes the provider by ensuring WASM is loaded
|
|
289
|
+
* @param config - Provider configuration
|
|
290
|
+
* @param pipeline - The pipeline type to warm up ('selfie', 'idCapture', etc.)
|
|
291
|
+
*/
|
|
292
|
+
protected initializeBase(config: BaseWasmConfig, pipeline: WasmPipeline): Promise<void>;
|
|
293
|
+
/**
|
|
294
|
+
* Ensures the provider is initialized before performing operations.
|
|
295
|
+
* @throws Error if not initialized
|
|
296
|
+
*/
|
|
297
|
+
protected ensureInitialized(): void;
|
|
298
|
+
/**
|
|
299
|
+
* Processes a frame through the WASM pipeline
|
|
300
|
+
* @param image - Image data to process
|
|
301
|
+
* @returns The pipeline result (type depends on pipeline - WASM returns any)
|
|
302
|
+
*/
|
|
303
|
+
protected processFrameWasm(image: ImageData): Promise<any>;
|
|
304
|
+
abstract processFrame(image: ImageData): Promise<void>;
|
|
305
|
+
/**
|
|
306
|
+
* Resets the pipeline to its initial state.
|
|
307
|
+
* Safe to call even if not initialized (no-op in that case).
|
|
308
|
+
*/
|
|
309
|
+
reset(): void;
|
|
310
|
+
/**
|
|
311
|
+
* Disposes of resources and resets initialization state.
|
|
312
|
+
* Safe to call even if not initialized.
|
|
313
|
+
*/
|
|
314
|
+
dispose(): Promise<void>;
|
|
344
315
|
}
|
|
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
316
|
//#endregion
|
|
353
|
-
//#region src/
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
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;
|
|
317
|
+
//#region ../infra/src/providers/wasm/FaceDetectionProvider.d.ts
|
|
318
|
+
declare class FaceDetectionProvider extends BaseWasmProvider implements IFaceDetectionCapability {
|
|
319
|
+
private defaultThresholds;
|
|
320
|
+
private currentThresholds;
|
|
321
|
+
private currentFrame;
|
|
322
|
+
private onFaceDataCallback;
|
|
323
|
+
constructor();
|
|
324
|
+
processFrame(image: ImageData): Promise<void>;
|
|
325
|
+
initialize(config: FaceDetectionConfig): Promise<void>;
|
|
326
|
+
/**
|
|
327
|
+
* Last-registered onCapture callback — captured into a private
|
|
328
|
+
* field so `forceCapture()` (called from outside the WASM-callback
|
|
329
|
+
* lifecycle) can re-fire the same wrapper. `setCallbacks` rebinds
|
|
330
|
+
* this on each invocation, so the field always reflects the
|
|
331
|
+
* current consumer.
|
|
332
|
+
*/
|
|
333
|
+
private currentOnCaptureWrapper;
|
|
334
|
+
processPhoto(canvas: HTMLCanvasElement): void;
|
|
335
|
+
postFaceResults(config?: WebApiHostRequestConfig): Promise<unknown>;
|
|
336
|
+
setCallbacks(callbacks: FaceDetectionCallbacks): void;
|
|
337
|
+
setPositionConstraints(constraints: FacePositionConstraints): void;
|
|
338
|
+
applyDefaults(autocaptureInterval?: number): void;
|
|
339
|
+
setAutocaptureInterval(interval: number): void;
|
|
340
|
+
setThresholds(thresholds: FaceDetectionThresholds): void;
|
|
341
|
+
setAttributesThresholds(thresholds: FaceAttributesThresholds): void;
|
|
342
|
+
setChecksEnabled(config: FaceChecksConfig): void;
|
|
343
|
+
setVideoSelfieMode(enabled: boolean): void;
|
|
344
|
+
forceCapture(): void;
|
|
345
|
+
reset(): void;
|
|
346
|
+
private createDefaultFaceCoordinates;
|
|
347
|
+
private formatFaceCoordinates;
|
|
392
348
|
}
|
|
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
349
|
//#endregion
|
|
401
|
-
export {
|
|
350
|
+
export { FaceData as i, BaseWasmProvider as n, FaceCoordinates as r, FaceDetectionProvider as t };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region ../infra/src/capabilities/IFaceAvatarCapability.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Caller-supplied overrides. Any omitted field falls back to the default
|
|
4
|
+
* CDN layout (see `avatar/avatarDefaults.ts`). `basePath`/`version` rewrite
|
|
5
|
+
* the whole directory; the individual `*Path` fields win over both.
|
|
6
|
+
*/
|
|
7
|
+
interface AvatarAssetsOverrides {
|
|
8
|
+
basePath?: string;
|
|
9
|
+
version?: string;
|
|
10
|
+
mediapipeModulePath?: string;
|
|
11
|
+
mediapipeWasmPath?: string;
|
|
12
|
+
faceLandmarkerModelPath?: string;
|
|
13
|
+
vrmModelPath?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Verdict cue an avatar can reflect: `detecting` (working) / `success` / `error`.
|
|
17
|
+
* Pose-driven 2D avatars colour the face accordingly (green wink / red frown);
|
|
18
|
+
* avatars without a verdict visual (VRM, privacy-lens) treat `setState` as a no-op.
|
|
19
|
+
* Driven by the host module (selfie capture outcome, personhood verdict).
|
|
20
|
+
*/
|
|
21
|
+
type AvatarFaceState = 'detecting' | 'success' | 'error';
|
|
22
|
+
//#endregion
|
|
23
|
+
export { AvatarFaceState as n, AvatarAssetsOverrides as t };
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
//#region ../infra/src/capabilities/IMLProviderCapability.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Base configuration shared by all ML provider capabilities.
|
|
4
|
+
*/
|
|
5
|
+
interface MLProviderConfig {
|
|
6
|
+
/** Path to the WASM binary */
|
|
7
|
+
wasmPath?: string;
|
|
8
|
+
/** Path to the SIMD-optimized WASM binary (optional) */
|
|
9
|
+
wasmSimdPath?: string;
|
|
10
|
+
/** Path to the WASM glue code (paired with `wasmPath`) */
|
|
11
|
+
glueCodePath?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Path to the SIMD-optimized WASM glue code (paired with `wasmSimdPath`).
|
|
14
|
+
* If omitted, defaults to a sibling `.js` derived from `wasmSimdPath`.
|
|
15
|
+
*/
|
|
16
|
+
glueCodeSimdPath?: string;
|
|
17
|
+
/** Whether to use SIMD optimizations (default: true) */
|
|
18
|
+
useSimd?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Base path for ML model files. Models will be loaded from `${modelsBasePath}/${modelFileName}`.
|
|
21
|
+
* If not provided, models are expected in a 'models' subdirectory relative to the WASM binary.
|
|
22
|
+
*/
|
|
23
|
+
modelsBasePath?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Base interface for ML provider capabilities.
|
|
27
|
+
* Provides common lifecycle and frame processing methods shared by
|
|
28
|
+
* FaceDetectionCapability and IdCaptureCapability.
|
|
29
|
+
*/
|
|
30
|
+
interface IMLProviderCapability<TConfig extends MLProviderConfig> {
|
|
31
|
+
/**
|
|
32
|
+
* Whether the provider has been initialized and is ready to process frames.
|
|
33
|
+
*/
|
|
34
|
+
readonly initialized: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Initializes the provider with the given configuration.
|
|
37
|
+
* If WASM was already warmed up via `setup()` or `warmupWasm()`, this returns almost instantly.
|
|
38
|
+
* @param config - Provider configuration including WASM paths
|
|
39
|
+
*/
|
|
40
|
+
initialize(config: TConfig): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Processes a frame through the ML pipeline.
|
|
43
|
+
* Callbacks set via `setCallbacks()` will be invoked based on the analysis results.
|
|
44
|
+
* @param image - Image data to process
|
|
45
|
+
* @throws Error if provider is not initialized
|
|
46
|
+
*/
|
|
47
|
+
processFrame(image: ImageData): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Resets the pipeline to its initial state.
|
|
50
|
+
* Safe to call even if not initialized (no-op in that case).
|
|
51
|
+
*/
|
|
52
|
+
reset(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Disposes of resources and resets initialization state.
|
|
55
|
+
* Safe to call even if not initialized.
|
|
56
|
+
*/
|
|
57
|
+
dispose(): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
//#region ../infra/src/capabilities/IRecordingCapability.d.ts
|
|
61
|
+
type RecordingPublisher = {
|
|
62
|
+
getStreamId: () => string | undefined;
|
|
63
|
+
replaceVideoTrack: (track: MediaStreamTrack) => Promise<void>;
|
|
64
|
+
destroy: () => void;
|
|
65
|
+
};
|
|
66
|
+
type RecordingConnection = {
|
|
67
|
+
sessionId: string | undefined;
|
|
68
|
+
publisher: RecordingPublisher;
|
|
69
|
+
disconnect: () => Promise<void>;
|
|
70
|
+
};
|
|
71
|
+
type RecordingConnectionEvents = {
|
|
72
|
+
onSessionConnected?: (sessionId: string | undefined) => void;
|
|
73
|
+
onSessionDisconnected?: (sessionId: string | undefined) => void;
|
|
74
|
+
onSessionException?: (params: {
|
|
75
|
+
name?: string;
|
|
76
|
+
message?: string;
|
|
77
|
+
sessionId?: string;
|
|
78
|
+
}) => void;
|
|
79
|
+
onPublisherCreated?: (params: {
|
|
80
|
+
streamId?: string;
|
|
81
|
+
sessionId?: string;
|
|
82
|
+
}) => void;
|
|
83
|
+
onPublisherError?: (params: {
|
|
84
|
+
message?: string;
|
|
85
|
+
sessionId?: string;
|
|
86
|
+
streamId?: string;
|
|
87
|
+
}) => void;
|
|
88
|
+
};
|
|
89
|
+
type ConnectRecordingParams = {
|
|
90
|
+
sessionToken: string;
|
|
91
|
+
stream: MediaStream;
|
|
92
|
+
events?: RecordingConnectionEvents;
|
|
93
|
+
};
|
|
94
|
+
type IRecordingCapability = {
|
|
95
|
+
/**
|
|
96
|
+
* Connects to a recording session and publishes the provided media stream.
|
|
97
|
+
* Returns a connection handle that can be disconnected and used to manage the publisher.
|
|
98
|
+
*/
|
|
99
|
+
connect: (params: ConnectRecordingParams) => Promise<RecordingConnection>;
|
|
100
|
+
};
|
|
101
|
+
//#endregion
|
|
102
|
+
//#region ../infra/src/capabilities/IStorageCapability.d.ts
|
|
103
|
+
/**
|
|
104
|
+
* Storage capability interface for abstracting storage operations.
|
|
105
|
+
* Enables swapping between browser localStorage and future WASM-based storage.
|
|
106
|
+
*/
|
|
107
|
+
interface IStorageCapability {
|
|
108
|
+
/**
|
|
109
|
+
* Retrieves a value from storage.
|
|
110
|
+
* @param key - The storage key
|
|
111
|
+
* @returns The stored value or null if not found
|
|
112
|
+
*/
|
|
113
|
+
get<T>(key: string): Promise<T | null>;
|
|
114
|
+
/**
|
|
115
|
+
* Stores a value in storage.
|
|
116
|
+
* @param key - The storage key
|
|
117
|
+
* @param value - The value to store (will be serialized)
|
|
118
|
+
*/
|
|
119
|
+
set<T>(key: string, value: T): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Removes a value from storage.
|
|
122
|
+
* @param key - The storage key to remove
|
|
123
|
+
*/
|
|
124
|
+
remove(key: string): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Clears all values from storage.
|
|
127
|
+
*/
|
|
128
|
+
clear(): Promise<void>;
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
export { MLProviderConfig as a, IMLProviderCapability as i, IRecordingCapability as n, RecordingConnection as r, IStorageCapability as t };
|
package/dist/{OpenViduRecordingProvider-xR5osKzW.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js}
RENAMED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { loadOpenVidu } from "./openviduLazy-CCDpFWg1.esm.js";
|
|
3
2
|
//#region ../infra/src/providers/browser/OpenViduRecordingProvider.ts
|
|
4
3
|
function createHiddenContainer() {
|
|
5
4
|
const id = `inc_rec_${Math.random().toString(36).slice(2)}`;
|
|
@@ -82,6 +81,5 @@ var OpenViduRecordingProvider = class {
|
|
|
82
81
|
};
|
|
83
82
|
}
|
|
84
83
|
};
|
|
85
|
-
|
|
86
84
|
//#endregion
|
|
87
|
-
export { OpenViduRecordingProvider };
|
|
85
|
+
export { OpenViduRecordingProvider };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { t as createHiddenVideoElement } from "./video-
|
|
2
|
-
|
|
1
|
+
import { t as createHiddenVideoElement } from "./video-BtSWtHy1.esm.js";
|
|
3
2
|
//#region ../infra/src/avatar/privacy-lens/privacyLensShaders.ts
|
|
4
3
|
/** Starting point; tuned live via the privacy-lens demo sliders. */
|
|
5
4
|
const PRIVACY_LENS_DEFAULTS = {
|
|
@@ -103,7 +102,6 @@ void main() {
|
|
|
103
102
|
|
|
104
103
|
gl_FragColor = vec4(clamp(col, 0.0, 1.0), 1.0);
|
|
105
104
|
}`;
|
|
106
|
-
|
|
107
105
|
//#endregion
|
|
108
106
|
//#region ../infra/src/avatar/privacy-lens/PrivacyLensProvider.ts
|
|
109
107
|
/**
|
|
@@ -334,6 +332,5 @@ var PrivacyLensProvider = class {
|
|
|
334
332
|
function createProvider() {
|
|
335
333
|
return new PrivacyLensProvider();
|
|
336
334
|
}
|
|
337
|
-
|
|
338
335
|
//#endregion
|
|
339
|
-
export { createProvider };
|
|
336
|
+
export { createProvider };
|