@incodetech/core 2.4.0 → 2.4.1-agentic.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BrowserNetworkStatusProvider-BrDXBEDd.esm.js +21 -0
- package/dist/{multipartRecordingService-CLwrF5wD.esm.js → CameraCompositor-DN7NkJzV.esm.js} +7 -744
- package/dist/{FaceDetectionProvider-DcPOC2gS.esm.js → FaceDetectionProvider-CAY43vSI.esm.js} +28 -64
- package/dist/IBrowserEnvironmentCapability-D7JG7ML3.esm.js +16 -0
- package/dist/IGeolocationCapability-r49Qo7rR.d.ts +10 -0
- package/dist/{IWasmUtilCapability-GF2n7sfm.d.ts → IWasmUtilCapability-Cqiaxydi.d.ts} +31 -4
- package/dist/MultipartRecordingProvider-D9mauUdS.esm.js +146 -0
- package/dist/{PhoneValidationProvider-SZiOS0jB.esm.js → PhoneValidationProvider-Co4zk2en.esm.js} +7 -0
- package/dist/{StreamCanvasCapture-7JRf-2ck.d.ts → StreamCanvasCapture-C3xNfOsv.d.ts} +12 -3
- package/dist/StreamCanvasProcessingSession-CBnbTnOr.esm.js +42 -0
- package/dist/{WasmUtilProvider-DtJuBdt-.esm.js → WasmUtilProvider-Dp2V-Uct.esm.js} +75 -22
- package/dist/WorkerEncoderRecordingProvider-B1ODYtgN.esm.js +80 -0
- package/dist/addressSearch-DzbE9Ogt.esm.js +254 -0
- package/dist/{advanceableErrors-q_pfU3Cn.esm.js → advanceableErrors-k-U-cL5m.esm.js} +1 -2
- package/dist/ae-signature.esm.js +1 -1
- package/dist/antifraud.esm.js +2 -2
- package/dist/{antifraudManager-CaweCYnY.esm.js → antifraudManager-BObuHBjn.esm.js} +2 -2
- package/dist/{antifraudStateMachine-DRl0UVyA.esm.js → antifraudStateMachine-Dfrd2-26.esm.js} +1 -1
- package/dist/{api-Cz90EHyu.esm.js → api-CpP4PS4S.esm.js} +8 -5
- package/dist/{apiError-DPwFas2f.esm.js → apiError-DH-CH4Nz.esm.js} +1 -1
- package/dist/attemptCarry-WOkfvFMw.esm.js +45 -0
- package/dist/authentication.d.ts +3 -3
- package/dist/authentication.esm.js +2 -2
- package/dist/{authenticationManager-BIZC55Bi.d.ts → authenticationManager-CWmh7aSY.d.ts} +1 -1
- package/dist/{authenticationManager-2Lr5V_7p.esm.js → authenticationManager-DjX0XDyH.esm.js} +5 -5
- package/dist/{authenticationStateMachine-C99B0GFP.esm.js → authenticationStateMachine-BMbZL8wm.esm.js} +3 -3
- package/dist/backCameraLabel-yda5ugE4.esm.js +67 -0
- package/dist/{backCameraStream-CMvXj4X4.esm.js → backCameraStream-DS1oDiUq.esm.js} +12 -107
- package/dist/{browser-DlFgHpoC-DnyrCR8r.esm.js → browser-pQZA35G2-DtkAf6sn.esm.js} +161 -150
- package/dist/{camera-sIa9ceW2.esm.js → camera-E_Kcre4O.esm.js} +15 -23
- package/dist/camera.d.ts +2 -2
- package/dist/camera.esm.js +1 -1
- package/dist/certificate-issuance.esm.js +2 -2
- package/dist/{certificateIssuanceManager-BfeMv2PU.esm.js → certificateIssuanceManager-C1nETQos.esm.js} +2 -2
- package/dist/{certificateIssuanceStateMachine-Frgjbjw8.esm.js → certificateIssuanceStateMachine-DThXMDqr.esm.js} +2 -2
- package/dist/cnpj-Co1ottYN.esm.js +77 -0
- package/dist/connectivity-BCuEoQ-n.esm.js +114 -0
- package/dist/consent.d.ts +1 -1
- package/dist/consent.esm.js +2 -2
- package/dist/{consentManager-CvEu8h_W.esm.js → consentManager-DMlSL6Ax.esm.js} +4 -3
- package/dist/{consentManager-Cv_0QKLD.d.ts → consentManager-bjfVXO7p.d.ts} +9 -2
- package/dist/{consentStateMachine-DJTgN_-1.esm.js → consentStateMachine-DIYSMxKQ.esm.js} +20 -7
- package/dist/cross-document-data-match.esm.js +1 -1
- package/dist/{crossDocumentDataMatchManager-Cu141CE8.esm.js → crossDocumentDataMatchManager-BFTdiEDB.esm.js} +2 -2
- package/dist/curp-validation.d.ts +1 -1
- package/dist/curp-validation.esm.js +2 -2
- package/dist/{curpValidationManager-B-z9q5V3.esm.js → curpValidationManager-DNpC3wyf.esm.js} +3 -2
- package/dist/{curpValidationManager-C9sqoh9n.d.ts → curpValidationManager-z8428oCM.d.ts} +1 -1
- package/dist/{curpValidationStateMachine-vDEFLMPw.esm.js → curpValidationStateMachine-B3iVsDyt.esm.js} +28 -20
- package/dist/custom-fields.esm.js +1 -1
- package/dist/custom-watchlist.esm.js +2 -2
- package/dist/{customFieldsManager-D1ex2cFM.esm.js → customFieldsManager-CvI-pDT3.esm.js} +2 -2
- package/dist/{customWatchlistManager-CTI-SGk0.esm.js → customWatchlistManager-BuHtUb0y.esm.js} +2 -2
- package/dist/{customWatchlistStateMachine-hmRd0f2I.esm.js → customWatchlistStateMachine-CiVD9wyF.esm.js} +1 -1
- package/dist/{deepsightService-CKTYDIXD.esm.js → deepsightLoader-B7DEYoyY.esm.js} +40 -74
- package/dist/{createCameraCycleOwnership-Dj_LHUvN.esm.js → desktopCameraElection-BGMtYwk3.esm.js} +177 -40
- package/dist/device.esm.js +2 -2
- package/dist/document-capture.d.ts +3 -3
- package/dist/document-capture.esm.js +2 -2
- package/dist/{documentCaptureManager-DkyDtm3Y.d.ts → documentCaptureManager-CD5iQiUI.d.ts} +37 -4
- package/dist/{documentCaptureManager-DUJwpKC5.esm.js → documentCaptureManager-DLPqruXJ.esm.js} +27 -19
- package/dist/{documentCaptureStateMachine-B8i7GnLh.esm.js → documentCaptureStateMachine-DCvWQhFG.esm.js} +105 -56
- package/dist/dynamic-forms.d.ts +2 -2
- package/dist/dynamic-forms.esm.js +2 -2
- package/dist/{dynamicFormsManager-C0dHs1ty.d.ts → dynamicFormsManager-9kwY8Bf5.d.ts} +1 -1
- package/dist/{dynamicFormsManager-DiKYjcF3.esm.js → dynamicFormsManager-DfqCEPg9.esm.js} +2 -2
- package/dist/{dynamicFormsStateMachine-DEI45xYW.esm.js → dynamicFormsStateMachine-USQMB-uV.esm.js} +2 -2
- package/dist/ekyb.d.ts +4 -4
- package/dist/ekyb.esm.js +3 -3
- package/dist/{ekybManager-BaZ_7CEu.d.ts → ekybManager-BLOkwmWO.d.ts} +2 -2
- package/dist/{ekybManager-8WLkNcqg.esm.js → ekybManager-CR8YSYux.esm.js} +2 -2
- package/dist/{ekybStateMachine-BLRT45Ex.esm.js → ekybStateMachine-kHwdz6hm.esm.js} +28 -44
- package/dist/ekybUtils-Cw8Ta9Qi.esm.js +140 -0
- package/dist/ekyc.d.ts +4 -3
- package/dist/ekyc.esm.js +3 -3
- package/dist/{ekycManager-DW-ynodd.d.ts → ekycManager-DlGIn9wA.d.ts} +2 -1
- package/dist/{ekycManager-BO-Lui3t.esm.js → ekycManager-DymCvmVB.esm.js} +2 -2
- package/dist/ekycStateMachine-CoFCUJ2z.esm.js +7578 -0
- package/dist/ekycUtils-GRuMELYr.esm.js +1472 -0
- package/dist/electronic-signature.esm.js +1 -1
- package/dist/{electronicSignatureManager-CcIMOb_Y.esm.js → electronicSignatureManager-BCE3uA3z.esm.js} +4 -4
- package/dist/email.esm.js +2 -2
- package/dist/{emailManager-ButFktRm.esm.js → emailManager-CGoE3CUe.esm.js} +2 -2
- package/dist/{emailStateMachine-BXtlC0NV.esm.js → emailStateMachine-KgHfDNvM.esm.js} +32 -20
- package/dist/{events-Du2A4-Qr.esm.js → events-ggpBBaZ8.esm.js} +2 -2
- package/dist/events.esm.js +1 -1
- package/dist/extensibility.d.ts +37 -22
- package/dist/extensibility.esm.js +36 -35
- package/dist/{externalFetch-DrR9xshk.esm.js → externalFetch-CQY41QT1.esm.js} +4 -1
- package/dist/face-match.d.ts +1 -1
- package/dist/face-match.esm.js +2 -2
- package/dist/{faceCaptureManagerFactory-1hzeS_rB.d.ts → faceCaptureManagerFactory-DV2ULUYS.d.ts} +71 -66
- package/dist/{faceCaptureManagerFactory-BlGvXzXA.esm.js → faceCaptureManagerFactory-Dp90bedH.esm.js} +4 -4
- package/dist/{faceCaptureSetup-TY8RXc2N.esm.js → faceCaptureSetup-ZfiWg0fo.esm.js} +84 -457
- package/dist/{faceMatchManager-DWFUQjMQ.esm.js → faceMatchManager-D2xKPjjQ.esm.js} +2 -2
- package/dist/{faceMatchManager-DIgG-UFS.d.ts → faceMatchManager-Z4UDLwAv.d.ts} +16 -7
- package/dist/{faceMatchStateMachine-CUCvlydD.esm.js → faceMatchStateMachine-CUvwiQi9.esm.js} +40 -27
- package/dist/{feature-management-B5rR10uS.esm.js → feature-management-BbCIA4og.esm.js} +35 -21
- package/dist/feature-management.esm.js +1 -1
- package/dist/field-comparison.esm.js +1 -1
- package/dist/{fieldComparisonManager-v3knTYV_.esm.js → fieldComparisonManager-DgDbEeFZ.esm.js} +2 -2
- package/dist/fiscal-qr.esm.js +1 -1
- package/dist/{fiscalQrManager-Dt9fHG7h.esm.js → fiscalQrManager-BZeklojR.esm.js} +4 -4
- package/dist/flow-events.d.ts +1 -1
- package/dist/flow.d.ts +10 -10
- package/dist/flow.esm.js +10 -9
- package/dist/{flowCompletionService-BDI5QpfR.esm.js → flowCompletionService-CcCnPs_T.esm.js} +2 -2
- package/dist/{flowServices-roD0oIQL.esm.js → flowServices-Dmnc8Rye.esm.js} +69 -185
- package/dist/geolocation.d.ts +1 -1
- package/dist/geolocation.esm.js +2 -2
- package/dist/{geolocationManager-Dn24g1fl.d.ts → geolocationManager-6e1i9UIR.d.ts} +15 -17
- package/dist/{geolocationManager-DnONzWL5.esm.js → geolocationManager-BJJ3m_I8.esm.js} +6 -8
- package/dist/{geolocationStateMachine-eWy_G4Os.esm.js → geolocationStateMachine-CTI3m4Ie.esm.js} +12 -8
- package/dist/{getDeviceClass-bsWdEDxP.esm.js → getDeviceClass-DoIWuKI8.esm.js} +1 -1
- package/dist/government-validation.esm.js +2 -2
- package/dist/{governmentValidationManager-BtXWHICu.esm.js → governmentValidationManager-CjChjZ3C.esm.js} +2 -2
- package/dist/{governmentValidationStateMachine-COL-Vs48.esm.js → governmentValidationStateMachine-AEbn3Afi.esm.js} +1 -1
- package/dist/home.d.ts +1 -1
- package/dist/home.esm.js +1 -1
- package/dist/http.esm.js +1 -1
- package/dist/id-ocr.d.ts +1 -1
- package/dist/id-ocr.esm.js +2 -2
- package/dist/id-selfie-flow.d.ts +1 -1
- package/dist/id-selfie-flow.esm.js +10 -9
- package/dist/id-verification.esm.js +2 -2
- package/dist/id.d.ts +3 -16
- package/dist/id.esm.js +4 -4
- package/dist/{idCaptureDefaults-BGsG2OAs.esm.js → idCaptureDefaults-Dszuq9ng.esm.js} +3 -3
- package/dist/{idCaptureManager-BrfYjCm_.esm.js → idCaptureManager-B3oR4RnA.esm.js} +64 -17
- package/dist/{idCaptureManager-0M02hSuC.d.ts → idCaptureManager-CCA2D1Ah.d.ts} +68 -5
- package/dist/{idCaptureServices-BSj6EH2l.esm.js → idCaptureServices-DK0QboqT.esm.js} +29 -198
- package/dist/{idCaptureStateMachine-dXKBYHQp.esm.js → idCaptureStateMachine-zzar9MPy.esm.js} +914 -536
- package/dist/{idOcrManager-DT3kPIB3.d.ts → idOcrManager-BTdHlJ9D.d.ts} +1 -1
- package/dist/{idOcrManager-D3-HNMXP.esm.js → idOcrManager-xyEZNOBa.esm.js} +2 -2
- package/dist/{idOcrStateMachine-DyENX6Ki.esm.js → idOcrStateMachine-DNKXh4Rn.esm.js} +2 -2
- package/dist/{idVerificationManager-iWz7Avkr.esm.js → idVerificationManager-DdnvYfgN.esm.js} +2 -2
- package/dist/{idVerificationStateMachine-CL1kUdBe.esm.js → idVerificationStateMachine-DtIBCa32.esm.js} +1 -1
- package/dist/identity-reuse.esm.js +2 -2
- package/dist/{identityReuseManager-CD1ucp1d.esm.js → identityReuseManager-CcpovlfD.esm.js} +2 -2
- package/dist/{identityReuseStateMachine-DfV81wQC.esm.js → identityReuseStateMachine-DxZFWy47.esm.js} +1 -1
- package/dist/{index-CKQ9QBZP.d.ts → index-DC0P2Vzw.d.ts} +1 -1
- package/dist/{index-BKOWUhxG.d.ts → index-DEfwds5y.d.ts} +55 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/{invokeOnCaptureCallback-DYrkOXO6.esm.js → invokeOnCaptureCallback-BJ0GVHGr.esm.js} +1 -1
- package/dist/kyb-checks.d.ts +3 -0
- package/dist/kyb-checks.esm.js +3 -0
- package/dist/kybChecksManager-CblEL97E.d.ts +95 -0
- package/dist/kybChecksManager-DpGOp4Su.esm.js +89 -0
- package/dist/kybChecksStateMachine-B43NAnv7.esm.js +718 -0
- package/dist/mandatory-consent.d.ts +2 -2
- package/dist/mandatory-consent.esm.js +2 -2
- package/dist/{mandatoryConsentManager-Cwqx1nK7.esm.js → mandatoryConsentManager-B4vCYslr.esm.js} +4 -3
- package/dist/{mandatoryConsentManager-BQ43yndC.d.ts → mandatoryConsentManager-B88Sm5nd.d.ts} +10 -3
- package/dist/{mandatoryConsentStateMachine-pXWqAHo_.esm.js → mandatoryConsentStateMachine-DWslYPA3.esm.js} +20 -7
- package/dist/mediaRecorderOptions-B9-IEVtV.esm.js +70 -0
- package/dist/multipartRecordingService-BTqkHGG9.esm.js +407 -0
- package/dist/nationalIds-B91f_RuB.esm.js +99 -0
- package/dist/{permissionGuards-gcy3U0SL.esm.js → permissionGuards-DFV-Ws0a.esm.js} +1 -1
- package/dist/{permissionServices-Ca-tSNhT.esm.js → permissionServices-D190ATGD.esm.js} +11 -9
- package/dist/phone-number.d.ts +7 -1
- package/dist/phone-number.esm.js +15 -2
- package/dist/phone.d.ts +1 -1
- package/dist/phone.esm.js +2 -2
- package/dist/phoneFormat-JJNaWthV.esm.js +75 -0
- package/dist/{phoneManager-BO-LTih5.d.ts → phoneManager-6nrJkvkG.d.ts} +5 -0
- package/dist/{phoneManager-KKUq-Vgo.esm.js → phoneManager-Dy5tODCU.esm.js} +3 -3
- package/dist/phoneServices-DJgyOzU2.esm.js +77 -0
- package/dist/{phoneStateMachine-D2QWS2cu.esm.js → phoneStateMachine-DnlPhnw7.esm.js} +54 -82
- package/dist/{phoneValidation-DnBcNUNh.esm.js → phoneValidation-OggtfjRt.esm.js} +1 -2
- package/dist/{platform-DkcRc9JV.esm.js → platform-aPh7gTWh.esm.js} +15 -1
- package/dist/processFaceMatch-Bst83HaS.esm.js +21 -0
- package/dist/qe-signature.esm.js +1 -1
- package/dist/recordingService-CTko6Cjn.esm.js +397 -0
- package/dist/redirect-to-mobile.d.ts +2 -2
- package/dist/redirect-to-mobile.esm.js +2 -2
- package/dist/{redirectToMobileManager-uHW3dyuQ.esm.js → redirectToMobileManager-CgGaT2NP.esm.js} +5 -4
- package/dist/{redirectToMobileManager-CVsvpVbQ.d.ts → redirectToMobileManager-Dm9ctRCC.d.ts} +3 -1
- package/dist/{redirectToMobileStateMachine-b-H-ipGM.esm.js → redirectToMobileStateMachine-CbhN8uVN.esm.js} +65 -26
- package/dist/resolveForm-O7-r79VA.esm.js +351 -0
- package/dist/{runChildModule-BF_atgNx.esm.js → runChildModule-BffFArwl.esm.js} +3 -3
- package/dist/{sdkVersion-CsIbltJF.esm.js → sdkVersion-CDd_gaR7.esm.js} +1 -1
- package/dist/selfie.d.ts +4 -4
- package/dist/selfie.esm.js +10 -10
- package/dist/{selfieErrorUtils-BY0-YbPW.esm.js → selfieErrorUtils-f4MgAG2A.esm.js} +1 -1
- package/dist/{selfieManager-BJdNu_nd.d.ts → selfieManager-DmZFzs1-.d.ts} +1 -1
- package/dist/{selfieManager-vAAwzsHk.esm.js → selfieManager-hopelYEk.esm.js} +5 -5
- package/dist/{selfieStateMachine-BFVp3ElQ.esm.js → selfieStateMachine-DaZIVv3Q.esm.js} +3 -3
- package/dist/{session-CpwfoVdH.esm.js → session-CdSX4wsZ.esm.js} +77 -9
- package/dist/session.d.ts +96 -10
- package/dist/session.esm.js +7 -6
- package/dist/{sessionInitializer-BTjYgE-V.esm.js → sessionInitializer-DsL7X2j9.esm.js} +465 -206
- package/dist/{setup-YPKTUCY5.d.ts → setup-D9qt8YVU.d.ts} +2 -2
- package/dist/{setup-BInNAvQw.esm.js → setup-DDahygZs.esm.js} +44 -30
- package/dist/signature.esm.js +2 -2
- package/dist/{signatureManager-f_dPAGXn.esm.js → signatureManager-CwqjcxPg.esm.js} +2 -2
- package/dist/{signatureStateMachine-C-nUq_oq.esm.js → signatureStateMachine-DBVDd1Eu.esm.js} +1 -1
- package/dist/{stats-BEvexnKC.esm.js → stats-CatA2dea.esm.js} +1 -1
- package/dist/stats.esm.js +1 -1
- package/dist/textRules-D4NRinKY.d.ts +41 -0
- package/dist/{tri-xzRLIIMN.esm.js → tri-DG6priFa.esm.js} +142 -8
- package/dist/tri.d.ts +1 -1
- package/dist/tri.esm-CzTNi5Q_.esm.js +3826 -0
- package/dist/tri.esm.js +1 -1
- package/dist/{trueSightService-BMT-TubT.esm.js → trueSightService-GuLthUVK.esm.js} +19 -10
- package/dist/trust-graph.esm.js +1 -1
- package/dist/types-B9C8W01q.d.ts +34 -0
- package/dist/{types-yPH8lAH-.d.ts → types-BEVHQbbC.d.ts} +2 -2
- package/dist/{types-BAxn7MpY.d.ts → types-BPm1JSu7.d.ts} +123 -48
- package/dist/{types-0L-eFDmr.d.ts → types-BgRHw-dR.d.ts} +1 -1
- package/dist/{types-B6HsSzpk.d.ts → types-CRaFu6wS.d.ts} +6 -3
- package/dist/types-CTaL0XJz.d.ts +80 -0
- package/dist/{types-Ckir_BEs.d.ts → types-Cd0J0F9D.d.ts} +1 -1
- package/dist/{types-CK8Jbjkp.d.ts → types-Csh8vzPo.d.ts} +1 -1
- package/dist/types-CuMJ2M7D.d.ts +210 -0
- package/dist/{types-DUnFZ08M.d.ts → types-CyNndVAT.d.ts} +16 -8
- package/dist/{types-DPIDuhut.d.ts → types-DNVzoRvi.d.ts} +2 -1
- package/dist/types-J6g6iKe_.d.ts +6 -0
- package/dist/{urlUtils-6jsE6rKp.esm.js → urlUtils-eYiyWjh0.esm.js} +4 -1
- package/dist/video-selfie.d.ts +8 -8
- package/dist/video-selfie.esm.js +97 -22
- package/dist/{videoSelfieCameraWarmer-D1xA0u8y.esm.js → videoSelfieCameraWarmer-e3irGfcO.esm.js} +18 -21
- package/dist/{videoSelfieStepDetector-CGsTltqB.d.ts → videoSelfieStepDetector-Dv3Mgws-.d.ts} +9 -4
- package/dist/virtualCameraCheck-eFOm2C9q.esm.js +27 -0
- package/dist/{warmup-BElYWRh7.esm.js → warmup-DtB0DJpl.esm.js} +198 -27
- package/dist/wasm.d.ts +2 -2
- package/dist/wasm.esm.js +3 -3
- package/dist/{wasmDsFlagSync-CYj5LL9z.esm.js → wasmDsFlagSync-BtiR5pig.esm.js} +1 -1
- package/dist/wasmMetadataVersionSync-U8EFUr1T.esm.js +27 -0
- package/dist/{wasmWebClient-BjZw_7OB.esm.js → wasmWebClient-BDrax6Eu.esm.js} +55 -26
- package/dist/watchlist-for-business.d.ts +2 -1
- package/dist/watchlist-for-business.esm.js +2 -2
- package/dist/watchlist.esm.js +2 -2
- package/dist/{watchlistForBusinessManager-B3GDPZrr.d.ts → watchlistForBusinessManager-DX2AyM4Y.d.ts} +54 -18
- package/dist/{watchlistForBusinessManager-CZZOFkGl.esm.js → watchlistForBusinessManager-DqUpAEj_.esm.js} +37 -7
- package/dist/watchlistForBusinessStateMachine-DdaPl2PS.esm.js +166 -0
- package/dist/{watchlistManager-DXtX94SN.esm.js → watchlistManager-CdpXzT4B.esm.js} +2 -2
- package/dist/{watchlistStateMachine-McALifag.esm.js → watchlistStateMachine-ofHW_lPk.esm.js} +1 -1
- package/dist/workflow.d.ts +5 -2
- package/dist/workflow.esm.js +60 -50
- package/package.json +12 -5
- package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +0 -9
- package/dist/addressSearch-DPjIKJrX.esm.js +0 -563
- package/dist/deepsightLoader-DeNvGU3c.esm.js +0 -55
- package/dist/ekycStateMachine-CDnI_NRq.esm.js +0 -1443
- package/dist/ekycUtils-zY8CdKJL.esm.js +0 -300
- package/dist/thumbmark.esm-CRc0cYvz.esm.js +0 -1242
- package/dist/tri.esm-BIjHhBJ2.esm.js +0 -2620
- package/dist/types-BvLo3U4u.d.ts +0 -134
- package/dist/types-zOgZqMni.d.ts +0 -6
- package/dist/watchlistForBusinessStateMachine-B66E7jud.esm.js +0 -78
- /package/dist/{types-BSBzhHRH2.d.ts → types-BSBzhHRH.d.ts} +0 -0
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
1
|
+
import { t as WasmUtilProvider } from "./WasmUtilProvider-Dp2V-Uct.esm.js";
|
|
2
|
+
import { u as trueSightLog } from "./trueSightService-GuLthUVK.esm.js";
|
|
3
|
+
import { t as SDK_VERSION } from "./sdkVersion-CDd_gaR7.esm.js";
|
|
4
|
+
import { C as fingerprintSignalsReporter, S as BrowserEnvironmentProvider, n as getDisableIpify, r as getFingerprintEnabled, v as isBrowserSimulation, w as SDK_PLATFORM, x as IpifyProvider } from "./sessionInitializer-DsL7X2j9.esm.js";
|
|
4
5
|
import { t as getParsedUserAgent } from "./getParsedUserAgent-DhQPeKqw.esm.js";
|
|
5
6
|
import { t as getUserAgent } from "./getBrowser-CBiibsL-.esm.js";
|
|
6
|
-
import {
|
|
7
|
-
import { t as
|
|
8
|
-
import { t as createHiddenVideoElement } from "./video-BtSWtHy1.esm.js";
|
|
7
|
+
import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-BtiR5pig.esm.js";
|
|
8
|
+
import { t as MotionSensorProvider } from "./MotionSensorProvider-DYxh8TjR.esm.js";
|
|
9
9
|
import { t as getDeviceInfo } from "./getDeviceClass-CeBiEayS.esm.js";
|
|
10
|
+
import { n as runVirtualCameraCheck } from "./virtualCameraCheck-eFOm2C9q.esm.js";
|
|
10
11
|
//#region src/internal/deepsight/metadataService.ts
|
|
11
|
-
function createMetadataService(wasmUtil,
|
|
12
|
+
function createMetadataService(wasmUtil, browserEnv, ipLookup) {
|
|
12
13
|
return {
|
|
13
14
|
async initialize(sdkVersion, disableIpify = false, disableFingerprint = false) {
|
|
14
|
-
wasmUtil.setSdkPlatform(
|
|
15
|
+
wasmUtil.setSdkPlatform(SDK_PLATFORM);
|
|
15
16
|
wasmUtil.setSdkVersion(sdkVersion);
|
|
16
17
|
const ua = getUserAgent();
|
|
17
18
|
const parsedUa = getParsedUserAgent(ua);
|
|
18
19
|
const isMobile = /Android|iPhone|iPad|iPod/i.test(ua);
|
|
19
20
|
const deviceInfo = getDeviceInfo();
|
|
20
21
|
let fingerprintHash = "";
|
|
21
|
-
if (!disableFingerprint)
|
|
22
|
-
fingerprintHash = await getThumbmarkId();
|
|
23
|
-
} catch {
|
|
24
|
-
fingerprintHash = browserEnv.generateCanvasFingerprint();
|
|
25
|
-
}
|
|
22
|
+
if (!disableFingerprint) fingerprintHash = browserEnv.generateCanvasFingerprint();
|
|
26
23
|
const ip = disableIpify ? "" : await ipLookup.getIp();
|
|
27
24
|
const screenDimensions = browserEnv.getScreenDimensions();
|
|
28
25
|
const model = [parsedUa.device.vendor, parsedUa.device.model].filter(Boolean).join(" ");
|
|
@@ -31,6 +28,7 @@ function createMetadataService(wasmUtil, visibility, browserEnv, ipLookup) {
|
|
|
31
28
|
model,
|
|
32
29
|
os: parsedUa.os.name ?? "",
|
|
33
30
|
osVersion: parsedUa.os.version ?? "",
|
|
31
|
+
osVer: parsedUa.os.version ?? "",
|
|
34
32
|
screenDimensions,
|
|
35
33
|
numTouchPoints: deviceInfo.maxTouchPoints,
|
|
36
34
|
fingerprintHash,
|
|
@@ -84,10 +82,7 @@ function createMetadataService(wasmUtil, visibility, browserEnv, ipLookup) {
|
|
|
84
82
|
setMotionStatus(status) {
|
|
85
83
|
wasmUtil.setMotionStatus(status);
|
|
86
84
|
},
|
|
87
|
-
setBackgroundMode(
|
|
88
|
-
wasmUtil.setBackgroundMode(backgroundMode || visibility.wasBackgrounded);
|
|
89
|
-
visibility.reset();
|
|
90
|
-
},
|
|
85
|
+
setBackgroundMode(_backgroundMode) {},
|
|
91
86
|
estimatePerformance() {
|
|
92
87
|
return wasmUtil.estimatePerformance();
|
|
93
88
|
},
|
|
@@ -130,60 +125,15 @@ function createMotionStatusService(motionSensor) {
|
|
|
130
125
|
};
|
|
131
126
|
}
|
|
132
127
|
//#endregion
|
|
133
|
-
//#region src/internal/virtualCameraCheck.ts
|
|
134
|
-
const frameSources = {
|
|
135
|
-
front: "FRONT_ID",
|
|
136
|
-
back: "BACK_ID",
|
|
137
|
-
selfie: "SELFIE"
|
|
138
|
-
};
|
|
139
|
-
/**
|
|
140
|
-
* Sends the analyzed frame image to the backend for logging.
|
|
141
|
-
*/
|
|
142
|
-
async function logFrame({ source, base64Image, token }) {
|
|
143
|
-
try {
|
|
144
|
-
return (await api.post("/omni/log/frame/v2", { base64Image }, {
|
|
145
|
-
query: { source },
|
|
146
|
-
headers: { "X-Incode-Hardware-Id": token }
|
|
147
|
-
})).data;
|
|
148
|
-
} catch {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Runs the WASM virtual camera check and handles logging and stats.
|
|
154
|
-
*/
|
|
155
|
-
async function runVirtualCameraCheck({ wasmUtil, source, token }) {
|
|
156
|
-
const output = {
|
|
157
|
-
canvas: null,
|
|
158
|
-
itr: null,
|
|
159
|
-
skipped: null
|
|
160
|
-
};
|
|
161
|
-
await wasmUtil.poc(output);
|
|
162
|
-
if (output.skipped !== false) return;
|
|
163
|
-
if (output.canvas && token) {
|
|
164
|
-
const base64Image = new IncodeCanvas(output.canvas).getBase64Image();
|
|
165
|
-
if (base64Image) logFrame({
|
|
166
|
-
source,
|
|
167
|
-
base64Image,
|
|
168
|
-
token
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
if (output.itr === true) {
|
|
172
|
-
addDeviceStats({ virtualCameraDetected: true });
|
|
173
|
-
wasmUtil.setZc("FAIL");
|
|
174
|
-
} else if (output.itr === false) wasmUtil.setZc("PASS");
|
|
175
|
-
}
|
|
176
|
-
//#endregion
|
|
177
128
|
//#region src/internal/deepsight/deepsightService.ts
|
|
178
129
|
function createDeepsightService(config) {
|
|
179
|
-
const metadata = createMetadataService(config.wasmUtil, config.
|
|
130
|
+
const metadata = createMetadataService(config.wasmUtil, config.browserEnv, config.ipLookup);
|
|
180
131
|
const motion = createMotionStatusService(config.motionSensor);
|
|
181
132
|
const finalizeCaptureMetadata = () => {
|
|
182
133
|
metadata.preparePipelineState();
|
|
183
134
|
const motionStatus = motion.check();
|
|
184
135
|
metadata.setMotionStatus(motionStatus);
|
|
185
136
|
metadata.getCheck();
|
|
186
|
-
metadata.setBackgroundMode(false);
|
|
187
137
|
};
|
|
188
138
|
return {
|
|
189
139
|
metadata,
|
|
@@ -212,16 +162,7 @@ function createDeepsightService(config) {
|
|
|
212
162
|
token: sessionToken
|
|
213
163
|
});
|
|
214
164
|
},
|
|
215
|
-
async performPrcCheck(
|
|
216
|
-
const prcStream = await requestCameraAccess(params.constraints);
|
|
217
|
-
const hiddenVideo = createHiddenVideoElement(prcStream);
|
|
218
|
-
try {
|
|
219
|
-
await config.wasmUtil.prc();
|
|
220
|
-
} finally {
|
|
221
|
-
hiddenVideo.dispose();
|
|
222
|
-
stopCameraStream(prcStream);
|
|
223
|
-
}
|
|
224
|
-
},
|
|
165
|
+
async performPrcCheck(_params) {},
|
|
225
166
|
async analyzeFrame(imageData) {
|
|
226
167
|
await motion.start();
|
|
227
168
|
await metadata.analyzeFrame(imageData);
|
|
@@ -249,4 +190,29 @@ function createDeepsightService(config) {
|
|
|
249
190
|
};
|
|
250
191
|
}
|
|
251
192
|
//#endregion
|
|
252
|
-
|
|
193
|
+
//#region src/internal/deepsight/deepsightLoader.ts
|
|
194
|
+
async function loadDeepsightSession(options) {
|
|
195
|
+
try {
|
|
196
|
+
return await loadDeepsightSessionInternal(options);
|
|
197
|
+
} catch (error) {
|
|
198
|
+
trueSightLog("warning", "deepsight", "other", `deepsight load failed error=${String(error)}`);
|
|
199
|
+
throw error;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
async function loadDeepsightSessionInternal(options) {
|
|
203
|
+
setWasmDsFlagSync(options.ds === true);
|
|
204
|
+
const service = createDeepsightService({
|
|
205
|
+
sdkVersion: SDK_VERSION,
|
|
206
|
+
wasmUtil: await WasmUtilProvider.getInstance(),
|
|
207
|
+
browserEnv: new BrowserEnvironmentProvider(),
|
|
208
|
+
motionSensor: new MotionSensorProvider(),
|
|
209
|
+
ipLookup: new IpifyProvider()
|
|
210
|
+
});
|
|
211
|
+
const disableIpify = options.disableIpify ?? getDisableIpify();
|
|
212
|
+
const disableFingerprint = options.disableFingerprint ?? !getFingerprintEnabled();
|
|
213
|
+
await service.initialize(disableIpify, disableFingerprint);
|
|
214
|
+
await service.startMotionSensors();
|
|
215
|
+
return service;
|
|
216
|
+
}
|
|
217
|
+
//#endregion
|
|
218
|
+
export { loadDeepsightSession };
|
package/dist/{createCameraCycleOwnership-Dj_LHUvN.esm.js → desktopCameraElection-BGMtYwk3.esm.js}
RENAMED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { n as getTimestamp } from "./IBrowserEnvironmentCapability-D7JG7ML3.esm.js";
|
|
2
|
+
import { d as getCameraCycleOwnershipDomain, l as wasmRuntime, u as CAMERA_CYCLE_OWNERSHIP_DOMAIN } from "./warmup-DtB0DJpl.esm.js";
|
|
3
|
+
import { i as utilityWasmApi } from "./WasmUtilProvider-Dp2V-Uct.esm.js";
|
|
4
|
+
import { t as api, u as endpoints } from "./api-CpP4PS4S.esm.js";
|
|
4
5
|
import { t as fromCallback } from "./xstate-actors.esm-8Gzepa_A.esm.js";
|
|
6
|
+
import { l as markCameraGrantedInDocument, n as enumerateVideoDevices, o as clearCameraGrantedInDocument, s as isCameraDenialErrorName } from "./camera-E_Kcre4O.esm.js";
|
|
7
|
+
import { l as queryCameraPermission } from "./permissionServices-D190ATGD.esm.js";
|
|
8
|
+
import { r as selectBestBackDevice, t as isBackCameraLabel } from "./backCameraLabel-yda5ugE4.esm.js";
|
|
9
|
+
import { t as getDeviceClass } from "./getDeviceClass-DoIWuKI8.esm.js";
|
|
5
10
|
//#region ../infra/src/capabilities/ICameraCycleCapability.ts
|
|
6
11
|
/**
|
|
7
12
|
* Fixed protected-endpoint identifiers owned by ml-wasm-kit.
|
|
@@ -30,6 +35,57 @@ async function flagIdManualReview() {
|
|
|
30
35
|
} catch {}
|
|
31
36
|
}
|
|
32
37
|
//#endregion
|
|
38
|
+
//#region ../infra/src/media/cameraCycleFailure.ts
|
|
39
|
+
/**
|
|
40
|
+
* Reads the `DOMException`-style name of what the kit's camera step handed to
|
|
41
|
+
* `onCameraFailed`. The kit forwards the browser's rejection unchanged on every
|
|
42
|
+
* branch but one, so this is the error's own `name` when it has one. The
|
|
43
|
+
* exception is the unnamed iPad front-camera failure; see
|
|
44
|
+
* {@link classifyCameraCycleFailure}. That value has no name, so this returns
|
|
45
|
+
* `undefined` for it.
|
|
46
|
+
*/
|
|
47
|
+
function cameraCycleFailureName(error) {
|
|
48
|
+
if (typeof error !== "object" || error === null) return;
|
|
49
|
+
const { name } = error;
|
|
50
|
+
return typeof name === "string" && name.length > 0 ? name : void 0;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* True for the value the kit's iPad front-camera branch reports for every
|
|
54
|
+
* `getUserMedia` rejection. `InitialStreamAcquisition::formatFailureForHost`
|
|
55
|
+
* copies the error's own enumerable properties into a plain object tagged
|
|
56
|
+
* `type: 'permissionDenied'`, which drops the prototype `name` getter. A busy
|
|
57
|
+
* camera and a real denial therefore look the same, and the branch never
|
|
58
|
+
* retries.
|
|
59
|
+
*/
|
|
60
|
+
function isUnnamedIpadCameraFailure(error) {
|
|
61
|
+
return typeof error === "object" && error !== null && cameraCycleFailureName(error) === void 0 && error.type === "permissionDenied";
|
|
62
|
+
}
|
|
63
|
+
/** How long a permission query may take before the failure counts as unknown. */
|
|
64
|
+
const PERMISSION_QUERY_TIMEOUT_MS = 1e3;
|
|
65
|
+
async function queryWithTimeout(query) {
|
|
66
|
+
let timer;
|
|
67
|
+
try {
|
|
68
|
+
return await Promise.race([query(), new Promise((resolve) => {
|
|
69
|
+
timer = setTimeout(() => resolve("prompt"), PERMISSION_QUERY_TIMEOUT_MS);
|
|
70
|
+
})]);
|
|
71
|
+
} finally {
|
|
72
|
+
clearTimeout(timer);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Resolves what an `onCameraFailed` value means before anyone routes on it.
|
|
77
|
+
* Named failures pass through unchanged. For the unnamed iPad front-camera
|
|
78
|
+
* failure, the browser's camera permission decides: `denied` becomes a
|
|
79
|
+
* `NotAllowedError`, so the permission screen handles it. Anything else stays
|
|
80
|
+
* unnamed and takes the generic, retryable error path. The SDK's own
|
|
81
|
+
* permission step succeeded moments before the camera step, so a failure there
|
|
82
|
+
* is far more likely a busy or over-constrained camera than a denial.
|
|
83
|
+
*/
|
|
84
|
+
async function classifyCameraCycleFailure(error, query = queryCameraPermission) {
|
|
85
|
+
if (!isUnnamedIpadCameraFailure(error)) return error;
|
|
86
|
+
return await queryWithTimeout(query) === "denied" ? new DOMException("Camera permission denied", "NotAllowedError") : error;
|
|
87
|
+
}
|
|
88
|
+
//#endregion
|
|
33
89
|
//#region ../infra/src/providers/wasm/CameraCycleProvider.ts
|
|
34
90
|
function asRecord(value) {
|
|
35
91
|
return typeof value === "object" && value !== null ? value : null;
|
|
@@ -123,12 +179,45 @@ function sanitizeProtectedResponse(request, raw) {
|
|
|
123
179
|
}
|
|
124
180
|
}
|
|
125
181
|
var CameraCycleProvider = class {
|
|
126
|
-
constructor(runtime = wasmRuntime) {
|
|
182
|
+
constructor(runtime = wasmRuntime, deepsightFlag = utilityWasmApi) {
|
|
127
183
|
this.runtime = runtime;
|
|
184
|
+
this.deepsightFlag = deepsightFlag;
|
|
128
185
|
this[CAMERA_CYCLE_OWNERSHIP_DOMAIN] = getCameraCycleOwnershipDomain(runtime);
|
|
129
186
|
}
|
|
130
|
-
|
|
131
|
-
|
|
187
|
+
/**
|
|
188
|
+
* Fills `ds` from the SDK's deepsight flag — the JS-side `dsEnabled_` the
|
|
189
|
+
* utility facade replays into every `poc`/`rsp` call — unless the caller set
|
|
190
|
+
* it, so the in-step pre-capture IAD sees the flag `prc` used to receive.
|
|
191
|
+
*
|
|
192
|
+
* A failure is held until the step settles and classified first
|
|
193
|
+
* (`classifyCameraCycleFailure`): the unnamed iPad front-camera failure
|
|
194
|
+
* becomes a `NotAllowedError` only when the browser reports the camera
|
|
195
|
+
* permission as denied.
|
|
196
|
+
*
|
|
197
|
+
* Also feeds the document camera-grant memo, which `getUserMedia` paths feed
|
|
198
|
+
* through `trackCameraAcquisition` and the kit cannot: READY marks the grant,
|
|
199
|
+
* a permission denial clears it, any other failure leaves it untouched.
|
|
200
|
+
*/
|
|
201
|
+
async startCameraCycle(options, callbacks) {
|
|
202
|
+
const step = {};
|
|
203
|
+
await this.runtime.startCameraCycle({
|
|
204
|
+
...options,
|
|
205
|
+
ds: options.ds ?? this.deepsightFlag.getDsEnabled()
|
|
206
|
+
}, {
|
|
207
|
+
onNewFrame: callbacks.onNewFrame,
|
|
208
|
+
onFirstFrame: callbacks.onFirstFrame,
|
|
209
|
+
onCameraReady: (audioStream) => {
|
|
210
|
+
markCameraGrantedInDocument();
|
|
211
|
+
callbacks.onCameraReady(audioStream);
|
|
212
|
+
},
|
|
213
|
+
onCameraFailed: (error) => {
|
|
214
|
+
step.failure ??= { error };
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
if (!step.failure) return;
|
|
218
|
+
const error = await classifyCameraCycleFailure(step.failure.error);
|
|
219
|
+
if (isCameraDenialErrorName(cameraCycleFailureName(error))) clearCameraGrantedInDocument();
|
|
220
|
+
callbacks.onCameraFailed(error);
|
|
132
221
|
}
|
|
133
222
|
setWorkflowConsuming(workflow, consuming) {
|
|
134
223
|
if (consuming && (workflow === 2 || workflow === 3)) throw new Error("[Incode SDK] Protected still capture is unavailable for video-selfie workflows.");
|
|
@@ -205,7 +294,7 @@ const runProtectedAttempt = ({ input, sendBack, receive }) => {
|
|
|
205
294
|
let pendingReadyStream = null;
|
|
206
295
|
let pendingDeliveryEvent = null;
|
|
207
296
|
let visibilityGeneration = 0;
|
|
208
|
-
let
|
|
297
|
+
let hostStream = null;
|
|
209
298
|
let resourcesReleased = false;
|
|
210
299
|
let cycleTransferred = false;
|
|
211
300
|
let commandQueue = Promise.resolve();
|
|
@@ -223,9 +312,8 @@ const runProtectedAttempt = ({ input, sendBack, receive }) => {
|
|
|
223
312
|
if (startupStartedAt === void 0 || !input.onStartupTiming) return;
|
|
224
313
|
try {
|
|
225
314
|
input.onStartupTiming({
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
prcMs: startupTiming.prcMs ?? 0,
|
|
315
|
+
cameraStepMs: startupTiming.cameraStepMs ?? 0,
|
|
316
|
+
...startupTiming.firstFrameMs === void 0 ? {} : { firstFrameMs: startupTiming.firstFrameMs },
|
|
229
317
|
displayStreamMs: startupTiming.displayStreamMs ?? 0,
|
|
230
318
|
configureMs: startupTiming.configureMs ?? 0,
|
|
231
319
|
recorderMs: startupTiming.recorderMs ?? 0,
|
|
@@ -237,12 +325,13 @@ const runProtectedAttempt = ({ input, sendBack, receive }) => {
|
|
|
237
325
|
const sendParent = (event) => {
|
|
238
326
|
sendBack(event);
|
|
239
327
|
};
|
|
240
|
-
const
|
|
328
|
+
const stopTracks = (stream) => {
|
|
329
|
+
if (!stream) return;
|
|
241
330
|
try {
|
|
242
|
-
|
|
331
|
+
stream.getTracks().forEach((track) => track.stop());
|
|
243
332
|
} catch {}
|
|
244
333
|
};
|
|
245
|
-
const reportFailure = (stage, code,
|
|
334
|
+
const reportFailure = (stage, code, details = {}) => {
|
|
246
335
|
if (!active) return;
|
|
247
336
|
sendParent({
|
|
248
337
|
type: "PROTECTED_ATTEMPT_FAILED",
|
|
@@ -250,7 +339,7 @@ const runProtectedAttempt = ({ input, sendBack, receive }) => {
|
|
|
250
339
|
failure: {
|
|
251
340
|
stage,
|
|
252
341
|
code,
|
|
253
|
-
...
|
|
342
|
+
...details
|
|
254
343
|
}
|
|
255
344
|
});
|
|
256
345
|
};
|
|
@@ -272,8 +361,8 @@ const runProtectedAttempt = ({ input, sendBack, receive }) => {
|
|
|
272
361
|
postPocDisplayStream = null;
|
|
273
362
|
pendingDeliveryEvent = null;
|
|
274
363
|
finalizeDeferred = false;
|
|
275
|
-
|
|
276
|
-
|
|
364
|
+
stopTracks(hostStream);
|
|
365
|
+
hostStream = null;
|
|
277
366
|
if (cycleTransferred) input.cycleOwnership.releaseByAttempt();
|
|
278
367
|
else input.cycleOwnership.releaseByController();
|
|
279
368
|
};
|
|
@@ -283,8 +372,8 @@ const runProtectedAttempt = ({ input, sendBack, receive }) => {
|
|
|
283
372
|
ready = false;
|
|
284
373
|
releaseResources();
|
|
285
374
|
};
|
|
286
|
-
const failClosed = (stage, code) => {
|
|
287
|
-
reportFailure(stage, code);
|
|
375
|
+
const failClosed = (stage, code, details = {}) => {
|
|
376
|
+
reportFailure(stage, code, details);
|
|
288
377
|
deactivate();
|
|
289
378
|
};
|
|
290
379
|
const stopConsuming = () => {
|
|
@@ -345,38 +434,52 @@ const runProtectedAttempt = ({ input, sendBack, receive }) => {
|
|
|
345
434
|
let stage = "acquire";
|
|
346
435
|
try {
|
|
347
436
|
startupStartedAt = now();
|
|
348
|
-
const
|
|
349
|
-
const
|
|
350
|
-
stream: input.streamSource.stream,
|
|
351
|
-
constraints: input.streamSource.constraints
|
|
352
|
-
} : await input.streamSource.acquire(abortController.signal);
|
|
353
|
-
startupTiming.acquireMs = Math.max(0, now() - acquisitionStartedAt);
|
|
437
|
+
const cameraStepStartedAt = now();
|
|
438
|
+
const options = await input.cameraStep();
|
|
354
439
|
if (!active || abortController.signal.aborted) {
|
|
355
|
-
|
|
440
|
+
stopTracks(options.hs);
|
|
356
441
|
return;
|
|
357
442
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
443
|
+
hostStream = options.hs ?? null;
|
|
444
|
+
if (input.preflight) {
|
|
445
|
+
stage = "configure";
|
|
446
|
+
input.preflight();
|
|
447
|
+
stage = "acquire";
|
|
448
|
+
}
|
|
449
|
+
const step = { outcome: null };
|
|
450
|
+
await input.cycle.startCameraCycle(options, {
|
|
451
|
+
onFirstFrame: () => {
|
|
452
|
+
startupTiming.firstFrameMs ??= Math.max(0, now() - cameraStepStartedAt);
|
|
453
|
+
},
|
|
454
|
+
onCameraReady: (audioStream) => {
|
|
455
|
+
stopTracks(audioStream);
|
|
456
|
+
step.outcome ??= { ready: true };
|
|
457
|
+
},
|
|
458
|
+
onCameraFailed: (error) => {
|
|
459
|
+
step.outcome ??= {
|
|
460
|
+
ready: false,
|
|
461
|
+
error
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
});
|
|
465
|
+
startupTiming.cameraStepMs = Math.max(0, now() - cameraStepStartedAt);
|
|
466
|
+
if (!active) return;
|
|
467
|
+
if (step.outcome === null) throw new Error("protected camera step ended without an outcome");
|
|
468
|
+
if (!step.outcome.ready) {
|
|
469
|
+
failClosed("acquire", "protected-attempt-acquire-failed", { errorName: cameraCycleFailureName(step.outcome.error) });
|
|
470
|
+
return;
|
|
363
471
|
}
|
|
364
|
-
const adoption = measure(() => input.cycle.adoptStream(acquired.stream, acquired.constraints, input.captureOptions));
|
|
365
|
-
startupTiming.adoptMs = adoption.durationMs;
|
|
366
|
-
if (!adoption.value) throw new Error("protected camera stream adoption was rejected");
|
|
367
|
-
unadoptedStream = null;
|
|
368
472
|
input.cycleOwnership.transferToAttempt();
|
|
369
473
|
cycleTransferred = true;
|
|
370
|
-
stage = "prc";
|
|
371
|
-
const prcStartedAt = now();
|
|
372
|
-
await input.runPrc();
|
|
373
|
-
startupTiming.prcMs = Math.max(0, now() - prcStartedAt);
|
|
374
|
-
if (!active) return;
|
|
375
474
|
const displayStreamResult = measure(() => input.cycle.getUnprotectedStream());
|
|
376
475
|
startupTiming.displayStreamMs = displayStreamResult.durationMs;
|
|
377
476
|
const displayStream = displayStreamResult.value;
|
|
378
477
|
if (!displayStream) throw new Error("protected camera cycle did not provide a stream");
|
|
379
478
|
stage = "configure";
|
|
479
|
+
if (input.afterReady) {
|
|
480
|
+
await input.afterReady(displayStream);
|
|
481
|
+
if (!active) return;
|
|
482
|
+
}
|
|
380
483
|
const configureStartedAt = now();
|
|
381
484
|
await input.configureWorkflow();
|
|
382
485
|
startupTiming.configureMs = Math.max(0, now() - configureStartedAt);
|
|
@@ -833,4 +936,38 @@ function createCameraCycleOwnership(cycle) {
|
|
|
833
936
|
};
|
|
834
937
|
}
|
|
835
938
|
//#endregion
|
|
836
|
-
|
|
939
|
+
//#region src/internal/camera/desktopCameraElection.ts
|
|
940
|
+
/**
|
|
941
|
+
* Picks the exact camera the kit's camera step should open on desktop.
|
|
942
|
+
*
|
|
943
|
+
* On desktop, ml-wasm-kit ignores the facing preference and always requests
|
|
944
|
+
* `facingMode: 'user'` (`InitialStreamConstraints::desktopVideoSpec`), but it
|
|
945
|
+
* honours an exact device id (`di`). Electing the device here restores the
|
|
946
|
+
* ENG-47583 host corrections without JavaScript opening a camera:
|
|
947
|
+
* - a rear capture pins the best back-labelled device, so a Surface opens its
|
|
948
|
+
* rear camera for ID (#543);
|
|
949
|
+
* - a front capture pins the first device not labelled as a back camera, but
|
|
950
|
+
* only when a back camera exists, so the browser cannot hand the rear camera
|
|
951
|
+
* back for a selfie after an ID capture (#551).
|
|
952
|
+
*
|
|
953
|
+
* Returns `''`, which leaves the choice to the kit, off desktop, when labels
|
|
954
|
+
* are unavailable, or when nothing needs pinning. Labels are available here
|
|
955
|
+
* because the SDK's permission step runs before every capture. Like #551,
|
|
956
|
+
* "first non-back device" can pick a Windows Hello IR sensor on machines that
|
|
957
|
+
* expose one; that tradeoff is unchanged.
|
|
958
|
+
*/
|
|
959
|
+
async function electDesktopCameraDevice(facing) {
|
|
960
|
+
if (getDeviceClass() !== "desktop") return "";
|
|
961
|
+
let devices;
|
|
962
|
+
try {
|
|
963
|
+
devices = await enumerateVideoDevices();
|
|
964
|
+
} catch {
|
|
965
|
+
return "";
|
|
966
|
+
}
|
|
967
|
+
const backDevices = devices.filter((device) => isBackCameraLabel(device.label));
|
|
968
|
+
if (backDevices.length === 0) return "";
|
|
969
|
+
if (facing === "environment") return selectBestBackDevice(backDevices).deviceId;
|
|
970
|
+
return devices.find((device) => device.label !== "" && !isBackCameraLabel(device.label))?.deviceId ?? "";
|
|
971
|
+
}
|
|
972
|
+
//#endregion
|
|
973
|
+
export { flagFaceManualReview as a, cameraCycleProvider as i, createCameraCycleOwnership as n, flagIdManualReview as o, runProtectedAttempt as r, PROTECTED_CAPTURE_TARGET as s, electDesktopCameraDevice as t };
|
package/dist/device.esm.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as isIOS,
|
|
1
|
+
import { a as isIOS, l as isIslandBrowser, n as isAndroidWebView, o as isIOSWebView, p as isTabletWithoutAndroid, r as isBraveBrowser, s as isIPad } from "./platform-aPh7gTWh.esm.js";
|
|
2
2
|
import { n as getUserAgentBrands, t as getUserAgent } from "./getBrowser-CBiibsL-.esm.js";
|
|
3
3
|
import { t as getBrowser } from "./getBrowser-Cbe1C4Tn.esm.js";
|
|
4
4
|
import { t as getDeviceInfo } from "./getDeviceClass-CeBiEayS.esm.js";
|
|
5
|
-
import { t as getDeviceClass } from "./getDeviceClass-
|
|
5
|
+
import { t as getDeviceClass } from "./getDeviceClass-DoIWuKI8.esm.js";
|
|
6
6
|
//#region src/internal/device/browserSupportClassification.ts
|
|
7
7
|
/**
|
|
8
8
|
* Third-party in-app browsers. These are real WebViews — `isAndroidWebView` and
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as DocumentCaptureErrorCode, c as DocumentType, n as DOCUMENT_CAPTURE_ERROR_CODES, r as DocumentCaptureConfig, s as DocumentCaptureNextPageType } from "./types-
|
|
2
|
-
import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, o as documentCaptureMachine, r as createDocumentCaptureManager, t as DocumentCaptureManager } from "./documentCaptureManager-
|
|
3
|
-
export { DOCUMENT_CAPTURE_ERROR_CODES, type DocumentCaptureActor, type DocumentCaptureConfig, type DocumentCaptureErrorCode, type DocumentCaptureManager, type DocumentCaptureNextPageType, type DocumentCaptureState, type DocumentType, createDocumentCaptureManager, createDocumentCaptureManagerFromActor, documentCaptureMachine };
|
|
1
|
+
import { a as DocumentCaptureErrorCode, c as DocumentType, n as DOCUMENT_CAPTURE_ERROR_CODES, r as DocumentCaptureConfig, s as DocumentCaptureNextPageType, u as DocumentUploadStatus } from "./types-CyNndVAT.js";
|
|
2
|
+
import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, o as documentCaptureMachine, r as createDocumentCaptureManager, t as DocumentCaptureManager } from "./documentCaptureManager-CD5iQiUI.js";
|
|
3
|
+
export { DOCUMENT_CAPTURE_ERROR_CODES, type DocumentCaptureActor, type DocumentCaptureConfig, type DocumentCaptureErrorCode, type DocumentCaptureManager, type DocumentCaptureNextPageType, type DocumentCaptureState, type DocumentType, type DocumentUploadStatus, createDocumentCaptureManager, createDocumentCaptureManagerFromActor, documentCaptureMachine };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { r as DOCUMENT_CAPTURE_ERROR_CODES, t as documentCaptureMachine } from "./documentCaptureStateMachine-
|
|
2
|
-
import { n as createDocumentCaptureManagerFromActor, t as createDocumentCaptureManager } from "./documentCaptureManager-
|
|
1
|
+
import { r as DOCUMENT_CAPTURE_ERROR_CODES, t as documentCaptureMachine } from "./documentCaptureStateMachine-DCvWQhFG.esm.js";
|
|
2
|
+
import { n as createDocumentCaptureManagerFromActor, t as createDocumentCaptureManager } from "./documentCaptureManager-DLPqruXJ.esm.js";
|
|
3
3
|
export { DOCUMENT_CAPTURE_ERROR_CODES, createDocumentCaptureManager, createDocumentCaptureManagerFromActor, documentCaptureMachine };
|