@incodetech/core 2.1.1 → 2.2.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{3dAvatarProvider-BwOmTMOy.esm.js → 3dAvatarProvider-g02DTFqT.esm.js} +811 -880
- package/dist/Actor-iTq7YY48.d.ts +1 -0
- package/dist/BrowserDiagnosticsCryptoProvider-CriIh1Gt.esm.js +95 -0
- package/dist/BrowserLazyImportProvider-BhoA957O.esm.js +114 -0
- package/dist/{BrowserStorageProvider-CBHBhKQN.esm.js → BrowserStorageProvider-k-FDkC4W.esm.js} +2 -4
- package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
- package/dist/{BrowserVisibilityObserverProvider-GBS6XSii.esm.js → BrowserVisibilityObserverProvider-BX1BiLDK.esm.js} +1 -2
- package/dist/Face2DProvider-UUQt_vRC.esm.js +437 -0
- package/dist/{createFaceAvatar-CpdYp9Iy.d.ts → FaceDetectionProvider-Mh6q3EbA.d.ts} +107 -159
- package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +9 -0
- package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
- package/dist/IFeatureManagementCapability-DdEUp6tB.d.ts +1125 -0
- package/dist/IIdCaptureCapability-DHTT3FC2.d.ts +237 -0
- package/dist/IStorageCapability-ORkQfK3F.d.ts +242 -0
- package/dist/{ITimerCapability-DJ73P4RK.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
- package/dist/{Manager-goNPc_h_.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
- package/dist/{MotionSensorProvider-BHuHoYvJ.esm.js → MotionSensorProvider-DGiV77J_.esm.js} +2 -37
- package/dist/{OpenViduRecordingProvider-CK6A5kiU.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
- package/dist/PrivacyLensProvider-D8PS7AJa.esm.js +405 -0
- package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
- package/dist/{StreamCanvasCapture-CAqUdVkM.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
- package/dist/{addressSearch-D7msRieq.esm.js → addressSearch-DQyrvDQj.esm.js} +10 -21
- package/dist/ae-signature.d.ts +4 -6
- package/dist/ae-signature.esm.js +10 -11
- package/dist/antifraud.d.ts +1 -6
- package/dist/antifraud.esm.js +3 -8
- package/dist/{antifraudManager-5KA84wtF.esm.js → antifraudManager-B8Plzf7a.esm.js} +11 -8
- package/dist/{antifraudManager-DCiNI6np.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
- package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-r4VxSBS4.esm.js} +5 -7
- package/dist/api-Bx3gKW_y.esm.js +129 -0
- package/dist/{apiError-DkOXfFBu.esm.js → apiError-DZfAyExM.esm.js} +25 -3
- package/dist/authentication.d.ts +3 -19
- package/dist/authentication.esm.js +3 -35
- package/dist/{authenticationManager-BeT6tNZm.d.ts → authenticationManager-BBMGTcwW.d.ts} +3 -4
- package/dist/{authenticationManager-BryLnSaF.esm.js → authenticationManager-DscbQwIl.esm.js} +7 -10
- package/dist/{authenticationStateMachine-DbdxfGHx.esm.js → authenticationStateMachine-SyuM00Fa.esm.js} +11 -15
- package/dist/avatar.d.ts +2 -2
- package/dist/avatar.esm.js +2 -3
- package/dist/avatar2dWarm-DqucNFX4.esm.js +1330 -0
- package/dist/avatarStats-CdUOb3VD.esm.js +136 -0
- package/dist/{backCameraStream-ChrMTJv-.esm.js → backCameraStream-CUeYm5eu.esm.js} +20 -8
- package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
- package/dist/callback-645_omgz.d.ts +133 -0
- package/dist/camera-_2sXMXiF.esm.js +140 -0
- package/dist/camera.d.ts +19 -2
- package/dist/camera.esm.js +2 -6
- package/dist/{canvas-Pi10hG_l.esm.js → canvas-E1zGkel4.esm.js} +1 -2
- package/dist/certificate-issuance.d.ts +34 -39
- package/dist/certificate-issuance.esm.js +4 -11
- package/dist/{certificateIssuanceStateMachine-DlZQT1_u.esm.js → certificateIssuanceStateMachine-COd7_l2T.esm.js} +7 -11
- package/dist/consent.d.ts +1 -4
- package/dist/consent.esm.js +3 -8
- package/dist/{consentManager-BwNu-uC-.esm.js → consentManager-BApTlfA0.esm.js} +5 -7
- package/dist/{consentManager-B4PMGXW-.d.ts → consentManager-uhDPdU6i.d.ts} +55 -61
- package/dist/{consentStateMachine-BOkVFiU7.esm.js → consentStateMachine-WD-S-Yhs.esm.js} +5 -7
- package/dist/{cpf-16m_cGAM.esm.js → cpf-BIADjddF.esm.js} +1 -2
- package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
- package/dist/createFaceAvatar-DQKaRise.esm.js +103 -0
- package/dist/cross-document-data-match.d.ts +2 -26
- package/dist/cross-document-data-match.esm.js +2 -71
- package/dist/crossDocumentDataMatchManager-Dq8Z3SOg.d.ts +41 -0
- package/dist/crossDocumentDataMatchManager-OmYvyung.esm.js +84 -0
- package/dist/curp-validation.d.ts +1 -11
- package/dist/curp-validation.esm.js +3 -8
- package/dist/{curpValidationManager-CoqODZx5.d.ts → curpValidationManager-DVGr7Fq7.d.ts} +4 -6
- package/dist/{curpValidationManager-Cbji2inV.esm.js → curpValidationManager-UZxcrsrz.esm.js} +11 -7
- package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-9KwnqeoB.esm.js} +22 -14
- package/dist/custom-fields.d.ts +2 -5
- package/dist/custom-fields.esm.js +24 -11
- package/dist/custom-watchlist.d.ts +1 -3
- package/dist/custom-watchlist.esm.js +11 -10
- package/dist/{customWatchlistStateMachine-D8w0mNxm.esm.js → customWatchlistStateMachine-B_ey3TFj.esm.js} +5 -7
- package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
- package/dist/{deepsightService-CViys6T4.esm.js → deepsightLoader-DcWjMC6A.esm.js} +68 -14
- package/dist/{deepsightService-BuTOFTr8.d.ts → deepsightService-DLVQS_RH.d.ts} +41 -2
- package/dist/device.d.ts +10 -2
- package/dist/device.esm.js +21 -21
- package/dist/document-capture.d.ts +3 -1816
- package/dist/document-capture.esm.js +3 -245
- package/dist/document-upload.d.ts +48 -55
- package/dist/document-upload.esm.js +8 -14
- package/dist/documentCaptureManager-B4Kivr8_.d.ts +2062 -0
- package/dist/documentCaptureManager-DszmcU-l.esm.js +296 -0
- package/dist/{documentCaptureStateMachine-BkTvU3yq.esm.js → documentCaptureStateMachine-D2jBwwVb.esm.js} +66 -40
- package/dist/dynamic-forms.d.ts +2 -4
- package/dist/dynamic-forms.esm.js +3 -9
- package/dist/{dynamicFormsManager-CHXUBNs4.esm.js → dynamicFormsManager-BoZ2-OUI.esm.js} +48 -9
- package/dist/{dynamicFormsManager-CKZkE7Wo.d.ts → dynamicFormsManager-fhK0yINk.d.ts} +22 -46
- package/dist/{dynamicFormsStateMachine-DJ1HGZff.esm.js → dynamicFormsStateMachine-D0RzkoEV.esm.js} +161 -34
- package/dist/ekyb.d.ts +5 -137
- package/dist/ekyb.esm.js +4 -179
- package/dist/ekybManager-DTvfxAOZ.esm.js +178 -0
- package/dist/ekybManager-Dzswb_b8.d.ts +114 -0
- package/dist/{ekybStateMachine-D9GzA4MW.esm.js → ekybStateMachine-BlTIozb6.esm.js} +16 -193
- package/dist/ekyc.d.ts +2 -79
- package/dist/ekyc.esm.js +4 -154
- package/dist/ekycManager-BFpHbBoT.d.ts +97 -0
- package/dist/ekycManager-oTstTJuL.esm.js +156 -0
- package/dist/{ekycStateMachine-DnVRiu3s.esm.js → ekycStateMachine-DHvksnrr.esm.js} +141 -423
- package/dist/ekycUtils-Dew1rBG0.esm.js +223 -0
- package/dist/electronic-signature.d.ts +3 -5
- package/dist/electronic-signature.esm.js +2 -10
- package/dist/{index-36QX_21w.d.ts → electronicSignatureManager-CcUXQZS7.d.ts} +220 -251
- package/dist/{electronicSignatureManager-DESRgObX.esm.js → electronicSignatureManager-DRYlHPjT.esm.js} +47 -33
- package/dist/email.d.ts +1 -5
- package/dist/email.esm.js +3 -10
- package/dist/{emailManager-CMS4q_r6.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
- package/dist/{emailManager-B9Vrv3Ma.esm.js → emailManager-tE-YvNtS.esm.js} +76 -12
- package/dist/{emailStateMachine-CbmKFVSi.esm.js → emailStateMachine-Bm894MHB.esm.js} +7 -9
- package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-CCzL3XD_.esm.js} +55 -6
- package/dist/{events-1wxZ97yf.esm.js → events-CxfNJVZW.esm.js} +43 -176
- package/dist/events.d.ts +28 -10
- package/dist/events.esm.js +2 -4
- package/dist/extensibility.d.ts +37 -37
- package/dist/extensibility.esm.js +31 -80
- package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
- package/dist/face-match.d.ts +2 -225
- package/dist/face-match.esm.js +3 -173
- package/dist/{faceCaptureManagerFactory-C9TiGbkA.esm.js → faceCaptureManagerFactory-BDAsBCkh.esm.js} +52 -31
- package/dist/{faceCaptureManagerFactory-DiJ64oem.d.ts → faceCaptureManagerFactory-BxWPpxyd.d.ts} +63 -24
- package/dist/{faceCaptureSetup-BqhqfFHL.esm.js → faceCaptureSetup-C7Qv79fA.esm.js} +57 -36
- package/dist/faceMatchManager-BXp2WUT-.esm.js +201 -0
- package/dist/faceMatchManager-BnvrZM2F.d.ts +268 -0
- package/dist/{faceMatchStateMachine-MDb30gCm.esm.js → faceMatchStateMachine-CJiO2yLO.esm.js} +14 -10
- package/dist/feature-management-DS_Nj5Gg.esm.js +615 -0
- package/dist/feature-management.d.ts +173 -0
- package/dist/feature-management.esm.js +2 -0
- package/dist/field-comparison.d.ts +1 -4
- package/dist/field-comparison.esm.js +2 -7
- package/dist/{fieldComparisonManager-OLKVsG2Z.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
- package/dist/{fieldComparisonManager-Cw4uzD7S.esm.js → fieldComparisonManager-DhnYdYZ2.esm.js} +6 -11
- package/dist/fiscal-qr.d.ts +1 -6
- package/dist/fiscal-qr.esm.js +14 -29
- package/dist/flow-events.d.ts +2 -9
- package/dist/flow.d.ts +59 -21
- package/dist/flow.esm.js +132 -49
- package/dist/{flowCompletionService-B6P6_EF3.esm.js → flowCompletionService-BSe3p7pg.esm.js} +4 -6
- package/dist/flowServices-unhF9V9F.esm.js +620 -0
- package/dist/geolocation.d.ts +1 -4
- package/dist/geolocation.esm.js +3 -9
- package/dist/{geolocationManager-CF6-NizA.esm.js → geolocationManager-Bv9MSVNr.esm.js} +44 -16
- package/dist/geolocationManager-Cz744E5S.d.ts +506 -0
- package/dist/{geolocationStateMachine-CD2XJs1b.esm.js → geolocationStateMachine-BxD6JK1M.esm.js} +53 -28
- package/dist/{getBrowser-1yNcfFZR.esm.js → getBrowser-Cb8Zgrgp.esm.js} +1 -2
- package/dist/getBrowser-DNrQeL4T.esm.js +16 -0
- package/dist/getDeviceClass-9y-kbVDw.esm.js +19 -0
- package/dist/{getDeviceClass-C-Dg6IsJ.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
- package/dist/getParsedUserAgent-pJjATANs.esm.js +1622 -0
- package/dist/government-validation.d.ts +3 -6
- package/dist/government-validation.esm.js +7 -13
- package/dist/{governmentValidationStateMachine-BE5wiQ7Y.esm.js → governmentValidationStateMachine-BYKYUdza.esm.js} +8 -11
- package/dist/home.d.ts +14 -22
- package/dist/home.esm.js +3 -8
- package/dist/http.d.ts +0 -1
- package/dist/http.esm.js +2 -4
- package/dist/id-ocr.d.ts +8 -7
- package/dist/id-ocr.esm.js +20 -9
- package/dist/id-selfie-flow.d.ts +179 -0
- package/dist/id-selfie-flow.esm.js +917 -0
- package/dist/id-verification.d.ts +2 -191
- package/dist/id-verification.esm.js +3 -43
- package/dist/id.d.ts +7 -18
- package/dist/id.esm.js +47 -53
- package/dist/{idCaptureDefaults-CZajItdO.esm.js → idCaptureDefaults-WeHbQM7W.esm.js} +54 -17
- package/dist/idCaptureManager-BjU-Wyow.d.ts +429 -0
- package/dist/{idCaptureManager-DASPUMtC.esm.js → idCaptureManager-BjiBSrHm.esm.js} +173 -34
- package/dist/idCaptureServices-CFDwqTtQ.esm.js +396 -0
- package/dist/{idCaptureStateMachine-DZ2ZTSxu.esm.js → idCaptureStateMachine-CRwQh8jc.esm.js} +438 -585
- package/dist/{idOcrManager-Tm4LzKR0.esm.js → idOcrManager-CvJZhmBR.esm.js} +4 -7
- package/dist/{idOcrManager-DLfAjDZn.d.ts → idOcrManager-DXc_xRN7.d.ts} +62 -229
- package/dist/{idOcrStateMachine-BJxZCxwS.esm.js → idOcrStateMachine-Bq_e3l4E.esm.js} +15 -20
- package/dist/idVerificationManager-BB4Pj_N6.d.ts +197 -0
- package/dist/idVerificationManager-CduNXhWd.esm.js +51 -0
- package/dist/{idVerificationStateMachine-DXN9WcdM.esm.js → idVerificationStateMachine-GEQWUPU2.esm.js} +5 -7
- package/dist/identity-reuse.d.ts +1 -4
- package/dist/identity-reuse.esm.js +3 -8
- package/dist/{identityReuseManager-LjkPvSQN.esm.js → identityReuseManager-D5vXknnJ.esm.js} +24 -7
- package/dist/{identityReuseManager-CLVOYxcp.d.ts → identityReuseManager-v2TH5g7e.d.ts} +38 -43
- package/dist/{identityReuseStateMachine-Bp-zONoV.esm.js → identityReuseStateMachine-AubRPhIi.esm.js} +6 -8
- package/dist/index-B8weJxmL.d.ts +1 -0
- package/dist/index-BKOWUhxG.d.ts +258 -0
- package/dist/{index-DrpWp15Z.d.ts → index-CLMF0QLQ.d.ts} +3 -3
- package/dist/index.d.ts +1 -3
- package/dist/index.esm.js +2 -15
- package/dist/{invokeOnCaptureCallback-CCS2Ruzi.esm.js → invokeOnCaptureCallback-1m1VJ3Q4.esm.js} +2 -4
- package/dist/{lib-Bjd6nOLG.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
- package/dist/mandatory-consent.d.ts +2 -10
- package/dist/mandatory-consent.esm.js +3 -8
- package/dist/{mandatoryConsentManager-DeBmOHcQ.d.ts → mandatoryConsentManager-B29kR0XA.d.ts} +60 -85
- package/dist/{mandatoryConsentManager-DZ26sg4B.esm.js → mandatoryConsentManager-BeELm1zS.esm.js} +4 -7
- package/dist/{mandatoryConsentStateMachine-_44ZoDSh.esm.js → mandatoryConsentStateMachine-zroQGzwb.esm.js} +5 -7
- package/dist/manualReviewService-D4IkipnN.esm.js +15 -0
- package/dist/{mediaRecorderOptions-CClCKAiF.esm.js → mediaRecorderOptions-dALSV8af.esm.js} +2 -4
- package/dist/{mediapipeShared-Bcmkzs3x.esm.js → mediapipeShared-B6oNoXEQ.esm.js} +21 -9
- package/dist/{onDeviceFaceResults-DILtthks.esm.js → onDeviceFaceResults-f81FVdQs.esm.js} +30 -87
- package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
- package/dist/{otp-B1YeyRXu.d.ts → otp-CEWfTj9v.d.ts} +0 -1
- package/dist/{otp-uaXiKt_R.esm.js → otp-D2k3PeSL.esm.js} +3 -14
- package/dist/{permissionGuards-BNOe4Tnu.esm.js → permissionGuards-KINpmKtI.esm.js} +2 -4
- package/dist/{permissionServices-C_kxhNeo.esm.js → permissionServices-UvUcOSRb.esm.js} +35 -28
- package/dist/personhood.d.ts +13 -20
- package/dist/personhood.esm.js +153 -85
- package/dist/phone.d.ts +1 -5
- package/dist/phone.esm.js +3 -10
- package/dist/{phoneManager-_KtitbUA.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
- package/dist/{phoneManager-CRblfdcI.esm.js → phoneManager-Cpiai2IM.esm.js} +82 -12
- package/dist/{phoneStateMachine-DjFGWMjQ.esm.js → phoneStateMachine-E1fUUcNM.esm.js} +7 -9
- package/dist/{platform-0Ot-bF_a.esm.js → platform-BJrm5nzZ.esm.js} +31 -11
- package/dist/privacyLensWorker-DI-Rg83h.esm.js +355 -0
- package/dist/qe-signature.d.ts +4 -6
- package/dist/qe-signature.esm.js +10 -11
- package/dist/{recordingService-CxaYkITO.esm.js → recordingService-CFpfdXSS.esm.js} +13 -31
- package/dist/redirect-to-mobile.d.ts +2 -6
- package/dist/redirect-to-mobile.esm.js +3 -10
- package/dist/{redirectToMobileManager-dv29o_LS.d.ts → redirectToMobileManager-BD2PvT5B.d.ts} +8 -44
- package/dist/{redirectToMobileManager-DbuNUlru.esm.js → redirectToMobileManager-C0dfc7f6.esm.js} +28 -8
- package/dist/{redirectToMobileStateMachine-BRaIJWOM.esm.js → redirectToMobileStateMachine-C9SYCJcH.esm.js} +74 -18
- package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
- package/dist/{runChildModule-kojSv3MH.esm.js → runChildModule-DpvgAGFA.esm.js} +10 -9
- package/dist/{WasmUtilProvider-BgzcXBdl.esm.js → safeStorage-Ep56I-f_.esm.js} +98 -473
- package/dist/selfie.d.ts +8 -21
- package/dist/selfie.esm.js +40 -47
- package/dist/selfieErrorUtils-C2PYBVsp.esm.js +90 -0
- package/dist/{selfieManager-B1Px3GGa.esm.js → selfieManager-Br4onIMy.esm.js} +7 -10
- package/dist/{selfieManager-4juKfrHG.d.ts → selfieManager-DwlCppg0.d.ts} +3 -4
- package/dist/{selfieStateMachine-D0TS93Tu.esm.js → selfieStateMachine-CNGs8vFK.esm.js} +14 -29
- package/dist/{session-CLsU2Jnb.esm.js → session-CX2H3tmI.esm.js} +16 -7
- package/dist/session.d.ts +12 -10
- package/dist/session.esm.js +5 -15
- package/dist/sessionInitializer-CV6Rj_dn.esm.js +1865 -0
- package/dist/{setup-CfNsYAeB.esm.js → setup-CYdVacqv.esm.js} +319 -137
- package/dist/{setup-CmA2apmN.d.ts → setup-DywQeePQ.d.ts} +186 -4
- package/dist/signature.d.ts +2 -96
- package/dist/signature.esm.js +3 -108
- package/dist/signatureManager-DGBSWz2_.d.ts +106 -0
- package/dist/signatureManager-DdPgcmou.esm.js +113 -0
- package/dist/{signatureStateMachine-CdhlMih-.esm.js → signatureStateMachine-Cf73DGWO.esm.js} +5 -7
- package/dist/spawn-D9jgw9pW.d.ts +1441 -0
- package/dist/src-0Jurt29N.esm.js +4482 -0
- package/dist/{stats-BVy52wLy.esm.js → stats-B0nFKawG.esm.js} +3 -5
- package/dist/stats.esm.js +2 -5
- package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
- package/dist/{tri-CFAPtAUM.esm.js → tri-4RsGrIt6.esm.js} +3 -119
- package/dist/tri.d.ts +2 -2
- package/dist/tri.esm-BIjHhBJ2.esm.js +2620 -0
- package/dist/tri.esm.js +2 -4
- package/dist/trueSight-B8G85W4z.esm.js +1 -0
- package/dist/trueSightService-6dTpiaTh.esm.js +1894 -0
- package/dist/trust-graph.d.ts +4 -5
- package/dist/trust-graph.esm.js +13 -9
- package/dist/types-BEwVKkLJ.d.ts +15 -0
- package/dist/{types-BKLb3C42.esm.js → types-BN5RPPIZ.esm.js} +1 -2
- package/dist/types-BSBzhHRH.d.ts +57 -0
- package/dist/types-BX_XkMsQ2.d.ts +21 -0
- package/dist/types-BfHiko5D.d.ts +48 -0
- package/dist/{types-D8Cl1N2Z.d.ts → types-BfgmV7s72.d.ts} +2 -2
- package/dist/types-CJ7Yl9K-2.d.ts +164 -0
- package/dist/types-DPIDuhut.d.ts +40 -0
- package/dist/types-DVmXIdzW.d.ts +82 -0
- package/dist/types-DelMqZLe.d.ts +105 -0
- package/dist/types-EELWyWpd.d.ts +6 -0
- package/dist/{types-fO6KIdol.d.ts → types-Hmd7U0JA.d.ts} +80 -6
- package/dist/{types-BUgeB2X6.d.ts → types-KPvmag_B.d.ts} +7 -7
- package/dist/types-M6eb82ra2.d.ts +589 -0
- package/dist/{types-DV3wkhQ4.d.ts → types-Vb4P9ovf.d.ts} +1 -3
- package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
- package/dist/{video-ZY92rkel.esm.js → video-BtSWtHy1.esm.js} +1 -2
- package/dist/video-selfie.d.ts +71 -117
- package/dist/video-selfie.esm.js +575 -643
- package/dist/videoSelfieCameraWarmer-h_VUk5Vu.esm.js +651 -0
- package/dist/videoSelfieStepDetector-D3oo2ofo.d.ts +123 -0
- package/dist/wasm.d.ts +2 -4
- package/dist/wasm.esm.js +4 -15
- package/dist/wasmDefaults-DTUrftxR.esm.js +125 -0
- package/dist/{wasmDsFlagSync-Ch0mFJNT.esm.js → wasmDsFlagSync-BqUCwLY8.esm.js} +2 -4
- package/dist/wasmWebClient-DM8lkb0z.esm.js +407 -0
- package/dist/watchlist-for-business.d.ts +1 -3
- package/dist/watchlist-for-business.esm.js +9 -9
- package/dist/watchlist.d.ts +1 -52
- package/dist/watchlist.esm.js +3 -70
- package/dist/{watchlistForBusinessStateMachine-R1Yp1g5A.esm.js → watchlistForBusinessStateMachine-BcBMkMvV.esm.js} +5 -7
- package/dist/watchlistManager-CjSMmbyq.esm.js +83 -0
- package/dist/watchlistManager-DLXef90v.d.ts +68 -0
- package/dist/{watchlistStateMachine-D07UVq1m.esm.js → watchlistStateMachine-Bl7Wy9Cm.esm.js} +5 -7
- package/dist/workflow.d.ts +239 -203
- package/dist/workflow.esm.js +156 -101
- package/dist/xstate-actors.esm-CtI5S0f4.esm.js +310 -0
- package/dist/{xstate.esm-nY3M5UYm.esm.js → xstate.esm-Cf4e0Cfd.esm.js} +136 -610
- package/package.json +14 -9
- package/dist/Actor-BwgmOPkb.d.ts +0 -2
- package/dist/Face2DProvider-CZU11g6r.esm.js +0 -824
- package/dist/FaceDetectionProvider-CPWg-PAH.d.ts +0 -119
- package/dist/IWasmUtilCapability-DaSNxgA8.d.ts +0 -150
- package/dist/PrivacyLensProvider-B_zrV25p.esm.js +0 -339
- package/dist/StateMachine-D5WO6lHS.d.ts +0 -2
- package/dist/StreamCanvasCapture-DHaWferF.d.ts +0 -42
- package/dist/ae-signature-Pp4oCAHD.esm.js +0 -12
- package/dist/api-DsbUi7TO.esm.js +0 -72
- package/dist/browser-DlFgHpoC-Br3G10gw.esm.js +0 -1425
- package/dist/browserSimulation-DZwEy9bu.esm.js +0 -2804
- package/dist/camera-CxxXV0VN.esm.js +0 -79
- package/dist/canvas-90BqS0NF.d.ts +0 -112
- package/dist/chunk-CIKcdghV.esm.js +0 -49
- package/dist/clientLifecycle-VyzRfALg.esm.js +0 -534
- package/dist/cpf-ocr.d.ts +0 -10
- package/dist/cpf-ocr.esm.js +0 -8
- package/dist/cpfOcrManager-9eM4z4o7.esm.js +0 -190
- package/dist/cpfOcrManager-C5U9E0hf.d.ts +0 -216
- package/dist/createFaceAvatar-BZSg2MNo.esm.js +0 -46
- package/dist/deepsightLoader-CU_tiLMx.esm.js +0 -62
- package/dist/flowServices-DkQmOkLV.esm.js +0 -208
- package/dist/geolocationManager-DaHYFkVO.d.ts +0 -156
- package/dist/getDeviceClass-DIjnTPjR.esm.js +0 -14
- package/dist/http-CnsKEaJY.esm.js +0 -0
- package/dist/idCaptureManager-CwuXtVu6.d.ts +0 -1013
- package/dist/index-BAyZ8_iI.d.ts +0 -93
- package/dist/openviduLazy-jPgABwrt.esm.js +0 -3
- package/dist/openviduLazy-wEojM41w.esm.js +0 -12
- package/dist/qe-signature-BnWIpR-O.esm.js +0 -12
- package/dist/sessionInitializer-Dj7-aJaP.esm.js +0 -547
- package/dist/tri.esm-DDJ1zOqG.esm.js +0 -2593
- package/dist/types-BcF-fii5.d.ts +0 -5
- package/dist/videoSelfieSteps-Djpv7cjb.esm.js +0 -58
- /package/dist/{IVisibilityObserverCapability-BZ1rE7ly.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
- /package/dist/{camera-CKU96nwJ.d.ts → camera-9wWD-pwg.d.ts} +0 -0
- /package/dist/{flowCompletionService-BOSTlAWo.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
- /package/dist/{types-BgjMAEXl.d.ts → types-Bk_6dmDa.d.ts} +0 -0
- /package/dist/{warmup-Dd0iq6KF.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
//#region ../infra/src/wasm/wasmPathUtils.ts
|
|
2
|
+
function deriveSiblingJsPath(wasmPath) {
|
|
3
|
+
const index = wasmPath.lastIndexOf(".wasm");
|
|
4
|
+
if (index === -1) return wasmPath;
|
|
5
|
+
const rest = wasmPath.slice(index + 5);
|
|
6
|
+
if (rest !== "" && !rest.startsWith("?")) return wasmPath;
|
|
7
|
+
return `${wasmPath.slice(0, index)}.js${rest}`;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region ../infra/src/providers/browser/SemaphoreProvider.ts
|
|
11
|
+
const DEFAULT_ACQUIRE_TIMEOUT_MS = 3e4;
|
|
12
|
+
/**
|
|
13
|
+
* Counting-semaphore implementation of {@link IConcurrencyCapability}.
|
|
14
|
+
*
|
|
15
|
+
* Default `maxConcurrent=1` makes it behave as a mutex; set higher for
|
|
16
|
+
* parallel-bounded access. Each acquire returns a numeric `threadId` for
|
|
17
|
+
* tracing — the slot index, in `[0, maxConcurrent)` — that must be passed back
|
|
18
|
+
* to `release`.
|
|
19
|
+
*
|
|
20
|
+
* If all slots stay occupied longer than `acquireTimeoutMs` (default 30s), the
|
|
21
|
+
* pending wait still resolves when a slot frees, but `console.error` is logged
|
|
22
|
+
* as a deadlock-watchdog signal. Misuse — out-of-range or double-released
|
|
23
|
+
* `threadId`s — is also logged and treated as a no-op rather than thrown.
|
|
24
|
+
*/
|
|
25
|
+
var SemaphoreProvider = class {
|
|
26
|
+
constructor(maxConcurrent = 1, acquireTimeoutMs = DEFAULT_ACQUIRE_TIMEOUT_MS) {
|
|
27
|
+
this.pending = [];
|
|
28
|
+
this.available = [];
|
|
29
|
+
this.processing = /* @__PURE__ */ new Set();
|
|
30
|
+
this.maxId = maxConcurrent - 1;
|
|
31
|
+
this.acquireTimeoutMs = acquireTimeoutMs;
|
|
32
|
+
for (let i = 0; i < maxConcurrent; i++) this.available.push(i);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Acquire a slot. Resolves immediately with the slot's `threadId` if one is
|
|
36
|
+
* free, otherwise queues FIFO and resolves when a holder releases.
|
|
37
|
+
*/
|
|
38
|
+
async acquire() {
|
|
39
|
+
if (this.available.length > 0) {
|
|
40
|
+
const threadId = this.available.shift();
|
|
41
|
+
this.processing.add(threadId);
|
|
42
|
+
return threadId;
|
|
43
|
+
}
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
const entry = {
|
|
46
|
+
resolve: (threadId) => {
|
|
47
|
+
clearTimeout(entry.timer);
|
|
48
|
+
this.processing.add(threadId);
|
|
49
|
+
resolve(threadId);
|
|
50
|
+
},
|
|
51
|
+
reject: (error) => {
|
|
52
|
+
clearTimeout(entry.timer);
|
|
53
|
+
reject(error);
|
|
54
|
+
},
|
|
55
|
+
timer: setTimeout(() => {
|
|
56
|
+
console.error(`SemaphoreProvider: all slots occupied for ${this.acquireTimeoutMs}ms, ${this.pending.length} request(s) waiting`);
|
|
57
|
+
}, this.acquireTimeoutMs)
|
|
58
|
+
};
|
|
59
|
+
this.pending.push(entry);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Return a slot to the pool. The next pending waiter (if any) is resolved
|
|
64
|
+
* with this `threadId`; otherwise the slot is added back to `available`.
|
|
65
|
+
* Releasing an out-of-range or already-released `threadId` logs an error and
|
|
66
|
+
* is otherwise a no-op.
|
|
67
|
+
*/
|
|
68
|
+
release(threadId) {
|
|
69
|
+
if (threadId < 0 || threadId > this.maxId) {
|
|
70
|
+
console.error(`SemaphoreProvider: invalid threadId ${threadId}`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (!this.processing.has(threadId)) {
|
|
74
|
+
console.error(`SemaphoreProvider: double-release of threadId ${threadId}`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this.processing.delete(threadId);
|
|
78
|
+
if (this.pending.length > 0) this.pending.shift().resolve(threadId);
|
|
79
|
+
else this.available.unshift(threadId);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Cancel all pending acquires with a reset error and replenish all slots.
|
|
83
|
+
* Existing holders are not contacted — a `release` after reset will log a
|
|
84
|
+
* double-release warning rather than disrupt the new pool.
|
|
85
|
+
*/
|
|
86
|
+
reset() {
|
|
87
|
+
const waiters = this.pending;
|
|
88
|
+
this.pending = [];
|
|
89
|
+
this.available = [];
|
|
90
|
+
this.processing = /* @__PURE__ */ new Set();
|
|
91
|
+
for (let i = 0; i <= this.maxId; i++) this.available.push(i);
|
|
92
|
+
for (const waiter of waiters) waiter.reject(/* @__PURE__ */ new Error("SemaphoreProvider reset: pending acquire cancelled"));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Acquire a slot, invoke `fn(threadId, ...args)`, then release the slot in a
|
|
96
|
+
* `finally` block. Errors thrown by `fn` propagate to the caller after the
|
|
97
|
+
* slot is released.
|
|
98
|
+
*/
|
|
99
|
+
async withLock(fn, ...args) {
|
|
100
|
+
const threadId = await this.acquire();
|
|
101
|
+
try {
|
|
102
|
+
return await fn(threadId, ...args);
|
|
103
|
+
} finally {
|
|
104
|
+
this.release(threadId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region ../infra/src/wasm/apiUtilities.ts
|
|
110
|
+
/**
|
|
111
|
+
* Shared WASM module loader.
|
|
112
|
+
*
|
|
113
|
+
* The pinned `webLib.wasm` (see `wasmDefaults.ts`) bundles BOTH the ML pipeline
|
|
114
|
+
* APIs (used by `mlWasmJSApi.ts`) AND a C++ `WebClient` HTTP client (used by
|
|
115
|
+
* `wasmWebClient.ts`). Both consumers must share a single instantiated
|
|
116
|
+
* `wasmModule` — calling the glue `Module()` factory twice would re-instantiate
|
|
117
|
+
* the WASM heap and produce divergent state.
|
|
118
|
+
*
|
|
119
|
+
* This module memoizes the load: the first caller (whichever arrives first —
|
|
120
|
+
* ML init or HTTP init) triggers the fetch + glue load, and subsequent callers
|
|
121
|
+
* await the same promise. Idempotent on success; on failure, the singleton is
|
|
122
|
+
* cleared so the next caller retries.
|
|
123
|
+
*
|
|
124
|
+
* SIMD fallback mirrors the legacy behavior: try the SIMD binary + SIMD glue
|
|
125
|
+
* (`webLibSimd.js` + `webLibSimd.wasm`) first, fall back to the non-SIMD pair
|
|
126
|
+
* (`webLib.js` + `webLib.wasm`) on instantiation failure. Each binary MUST be
|
|
127
|
+
* paired with its matching glue — the CDN ships them as paired artifacts and
|
|
128
|
+
* mixing them produces an unusable module.
|
|
129
|
+
*/
|
|
130
|
+
if (typeof window !== "undefined" && window.wasmArrayBuffer === void 0) window.wasmArrayBuffer = null;
|
|
131
|
+
let loadPromise = null;
|
|
132
|
+
let loadedResult = null;
|
|
133
|
+
async function importGlue(glueCodePath) {
|
|
134
|
+
const mod = await import(
|
|
135
|
+
/* @vite-ignore */
|
|
136
|
+
/* webpackIgnore: true */
|
|
137
|
+
glueCodePath
|
|
138
|
+
);
|
|
139
|
+
if (typeof mod.Module !== "function") throw new Error(`WASM glue at ${glueCodePath} did not export a Module factory`);
|
|
140
|
+
return mod.Module;
|
|
141
|
+
}
|
|
142
|
+
async function fetchWasmBinary(libPath) {
|
|
143
|
+
const response = await fetch(libPath);
|
|
144
|
+
if (!response.ok) throw new Error(`Failed to fetch WASM binary at ${libPath}: ${response.status} ${response.statusText}`);
|
|
145
|
+
const buffer = await response.arrayBuffer();
|
|
146
|
+
return new Uint8Array(buffer);
|
|
147
|
+
}
|
|
148
|
+
async function instantiate(factory, libPath) {
|
|
149
|
+
window.wasmArrayBuffer = await fetchWasmBinary(libPath);
|
|
150
|
+
return await factory();
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Load the WASM module, memoized. Subsequent calls return the same instance.
|
|
154
|
+
*
|
|
155
|
+
* SIMD-first with fallback: if `useSimd !== false` and a `wasmSimdPath` is
|
|
156
|
+
* provided, the SIMD binary + SIMD glue are tried first; on instantiation
|
|
157
|
+
* failure the non-SIMD binary + non-SIMD glue are used. Each `.wasm` is
|
|
158
|
+
* paired with its matching `.js` glue — they cannot be mixed.
|
|
159
|
+
*/
|
|
160
|
+
async function loadWasmModule(config) {
|
|
161
|
+
if (loadedResult) return loadedResult;
|
|
162
|
+
if (loadPromise) return loadPromise;
|
|
163
|
+
loadPromise = (async () => {
|
|
164
|
+
try {
|
|
165
|
+
const wantSimd = config.useSimd !== false;
|
|
166
|
+
const simdBinary = config.wasmSimdPath ?? config.wasmPath;
|
|
167
|
+
if (wantSimd && simdBinary !== config.wasmPath) try {
|
|
168
|
+
const simdFactory = await importGlue(config.glueCodeSimdPath ?? deriveSiblingJsPath(simdBinary));
|
|
169
|
+
window.Module = simdFactory;
|
|
170
|
+
const result = {
|
|
171
|
+
wasmModule: await instantiate(simdFactory, simdBinary),
|
|
172
|
+
simdUsed: true
|
|
173
|
+
};
|
|
174
|
+
loadedResult = result;
|
|
175
|
+
return result;
|
|
176
|
+
} catch (simdError) {
|
|
177
|
+
console.warn("[Incode SDK] SIMD WASM load failed, falling back to non-SIMD", simdError);
|
|
178
|
+
}
|
|
179
|
+
const nonSimdFactory = await importGlue(config.glueCodePath);
|
|
180
|
+
window.Module = nonSimdFactory;
|
|
181
|
+
const result = {
|
|
182
|
+
wasmModule: await instantiate(nonSimdFactory, config.wasmPath),
|
|
183
|
+
simdUsed: false
|
|
184
|
+
};
|
|
185
|
+
loadedResult = result;
|
|
186
|
+
return result;
|
|
187
|
+
} catch (error) {
|
|
188
|
+
loadPromise = null;
|
|
189
|
+
throw error;
|
|
190
|
+
}
|
|
191
|
+
})();
|
|
192
|
+
return loadPromise;
|
|
193
|
+
}
|
|
194
|
+
//#endregion
|
|
195
|
+
//#region ../infra/src/wasm/wasmCallUtils.ts
|
|
196
|
+
async function wasmCallWrapper(concurrency, wasmMethod, useSemaphore = true, ...args) {
|
|
197
|
+
const innerCall = async () => {
|
|
198
|
+
while (true) {
|
|
199
|
+
if (wasmMethod(...args)) return;
|
|
200
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
if (useSemaphore) {
|
|
204
|
+
await concurrency.withLock(innerCall);
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
await innerCall();
|
|
208
|
+
}
|
|
209
|
+
//#endregion
|
|
210
|
+
//#region ../infra/src/wasm/wasmWebClient.ts
|
|
211
|
+
/**
|
|
212
|
+
* JavaScript bridge for the C++ `WebClient` exposed by `webLib.wasm`.
|
|
213
|
+
*
|
|
214
|
+
* The pinned WASM bundle ships a `WebClient` class alongside the ML pipeline
|
|
215
|
+
* APIs. This module instantiates it once (sharing the singleton `wasmModule`
|
|
216
|
+
* with `mlWasmJSApi`) and exposes a small TypeScript-friendly surface that
|
|
217
|
+
* `createWasmApi` can drive.
|
|
218
|
+
*
|
|
219
|
+
* Concurrency model mirrors the legacy implementation:
|
|
220
|
+
* - 4-slot semaphore keyed by per-request `threadId` so multiple HTTP calls
|
|
221
|
+
* can run in parallel without trampling shared C++ state.
|
|
222
|
+
* - Each WASM-side method that performs in-binary HTTP (request methods AND
|
|
223
|
+
* `createApi`'s in-binary `/e2ee/key` handshake) returns `false` while in
|
|
224
|
+
* flight and `true` once the C++ side has finished; the JS bridge awaits
|
|
225
|
+
* completion via {@link wasmCallWrapper}.
|
|
226
|
+
* - Result extraction (`getRequestResult`) is per-thread for HTTP requests
|
|
227
|
+
* and uses `threadId = -1` for the session-level `createApi` handshake.
|
|
228
|
+
*
|
|
229
|
+
* Encryption support: `setupConnection` accepts an `encryptionEnabled` flag
|
|
230
|
+
* that triggers the in-binary RSA/AES handshake. The OAEP MGF1 hash is
|
|
231
|
+
* controlled by the `useSha256` flag forwarded to the C++ `createApi`:
|
|
232
|
+
* `true` = SHA-256 MGF1, `false` = SHA-1 MGF1 (Java-compat default).
|
|
233
|
+
* State lives in the C++ binary and (for SDK config) in
|
|
234
|
+
* `@incodetech/core`'s `setup.ts` — this module caches nothing.
|
|
235
|
+
*/
|
|
236
|
+
const HTTP_CONCURRENCY = 4;
|
|
237
|
+
/**
|
|
238
|
+
* Sentinel `threadId` used by the session-level `createApi` handshake when we
|
|
239
|
+
* read its result via `getRequestResult`. Per-request HTTP traffic uses real
|
|
240
|
+
* thread ids handed out by the semaphore; the handshake has no slot of its
|
|
241
|
+
* own, so the C++ side stores its result under `-1`. Mirrors legacy
|
|
242
|
+
* `checkError(threadId = -1)`.
|
|
243
|
+
*/
|
|
244
|
+
const SETUP_THREAD_ID = -1;
|
|
245
|
+
var WasmWebClientError = class extends Error {
|
|
246
|
+
constructor(message, statusCode, data) {
|
|
247
|
+
super(message);
|
|
248
|
+
this.name = "WasmWebClientError";
|
|
249
|
+
this.status = statusCode;
|
|
250
|
+
this.statusCode = statusCode;
|
|
251
|
+
if (statusCode > 0 || data !== void 0) this.response = {
|
|
252
|
+
status: statusCode,
|
|
253
|
+
data
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
let webClientApi = null;
|
|
258
|
+
let initPromise = null;
|
|
259
|
+
let semaphore = new SemaphoreProvider(HTTP_CONCURRENCY);
|
|
260
|
+
const isWebClientWasm = (mod) => {
|
|
261
|
+
return typeof mod.WebClient === "function";
|
|
262
|
+
};
|
|
263
|
+
const toStringRecord = (obj) => {
|
|
264
|
+
if (!obj) return void 0;
|
|
265
|
+
const result = {};
|
|
266
|
+
for (const key of Object.keys(obj)) {
|
|
267
|
+
const value = obj[key];
|
|
268
|
+
if (value === void 0 || value === null) continue;
|
|
269
|
+
result[key] = String(value);
|
|
270
|
+
}
|
|
271
|
+
return result;
|
|
272
|
+
};
|
|
273
|
+
/**
|
|
274
|
+
* Loads the shared WASM module (if not already loaded) and instantiates the
|
|
275
|
+
* C++ `WebClient`. Idempotent — repeated calls reuse the existing instance.
|
|
276
|
+
*
|
|
277
|
+
* `glueCodeSimdPath` is paired with `wasmSimdPath` (`webLibSimd.js` for
|
|
278
|
+
* `webLibSimd.wasm`). Pass `''` to derive it automatically from
|
|
279
|
+
* `wasmSimdPath` by replacing the `.wasm` extension with `.js`.
|
|
280
|
+
*/
|
|
281
|
+
async function initializeWasmWebClient(wasmPath, wasmSimdPath, glueCodePath, glueCodeSimdPath, useSimd) {
|
|
282
|
+
if (webClientApi) return;
|
|
283
|
+
if (initPromise) return initPromise;
|
|
284
|
+
initPromise = (async () => {
|
|
285
|
+
try {
|
|
286
|
+
const { wasmModule } = await loadWasmModule({
|
|
287
|
+
wasmPath,
|
|
288
|
+
wasmSimdPath,
|
|
289
|
+
glueCodePath,
|
|
290
|
+
glueCodeSimdPath: glueCodeSimdPath || void 0,
|
|
291
|
+
useSimd
|
|
292
|
+
});
|
|
293
|
+
if (!isWebClientWasm(wasmModule)) throw new Error("WASM module does not expose a WebClient class. Update webLib.wasm to a build that includes WebClient.");
|
|
294
|
+
webClientApi = new wasmModule.WebClient();
|
|
295
|
+
} catch (error) {
|
|
296
|
+
initPromise = null;
|
|
297
|
+
throw error;
|
|
298
|
+
}
|
|
299
|
+
})();
|
|
300
|
+
return initPromise;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Configures the C++ WebClient connection. Safe to call multiple times — each
|
|
304
|
+
* call resets the underlying session and re-applies default headers.
|
|
305
|
+
*
|
|
306
|
+
* `defaultHeaders` are applied **before** `createApi`, so the in-binary RSA
|
|
307
|
+
* handshake (`GET /e2ee/key/v2` + `POST /e2ee/key`) sees the same headers as
|
|
308
|
+
* data requests. Without this ordering, environments that require auth/version
|
|
309
|
+
* headers on the handshake (e.g. `x-api-key`, `api-version`) would 401/4xx
|
|
310
|
+
* before any encrypted traffic ever flowed.
|
|
311
|
+
*
|
|
312
|
+
* The C++ `createApi` returns `false` while the in-binary handshake is still
|
|
313
|
+
* in flight and `true` once both the `/e2ee/key/v2` GET and the `/e2ee/key`
|
|
314
|
+
* POST have completed (encryption on) or once the WebClient is configured
|
|
315
|
+
* (encryption off — same boolean convention, just no network traffic). The
|
|
316
|
+
* JS bridge waits on that boolean via {@link wasmCallWrapper}, then surfaces
|
|
317
|
+
* any handshake error captured on the session-level (`threadId = -1`)
|
|
318
|
+
* request slot. Mirrors legacy
|
|
319
|
+
* `ms-incodesmile-web/packages/incode-welcome/src/wasmUtils/webClientApi.ts`
|
|
320
|
+
* `setupConnection`.
|
|
321
|
+
*
|
|
322
|
+
* `useSha256` selects the OAEP MGF1 hash for the in-binary RSA wrap:
|
|
323
|
+
* - `true` → MGF1 = SHA-256. Caller is responsible for attaching the
|
|
324
|
+
* `X-RSA-Encryption-Scheme: RSA/NONE/OAEPWITHSHA-256ANDMGF1PADDING`
|
|
325
|
+
* header on subsequent encrypted requests so the server matches.
|
|
326
|
+
* - `false` → MGF1 = SHA-1 (Java-compat default). No scheme header needed;
|
|
327
|
+
* the server falls back to the legacy Java default.
|
|
328
|
+
*/
|
|
329
|
+
async function setupWasmConnection(apiURL, token, encryptionEnabled, defaultHeaders, useSha256) {
|
|
330
|
+
const api = ensureReady();
|
|
331
|
+
api.resetSessionState?.();
|
|
332
|
+
api.setDefaultHeaders?.(defaultHeaders);
|
|
333
|
+
await wasmCallWrapper(semaphore, () => api.createApi(apiURL, token, useSha256, encryptionEnabled), false);
|
|
334
|
+
const result = api.getRequestResult(SETUP_THREAD_ID);
|
|
335
|
+
if (result.hasError) throw new WasmWebClientError(result.errorMessage || "WebClient handshake failed", result.statusCode, result.result);
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Executes a single HTTP request through the WASM WebClient.
|
|
339
|
+
*
|
|
340
|
+
* Acquires a semaphore slot for `threadId`, registers progress callbacks, runs
|
|
341
|
+
* the request via {@link wasmCallWrapper} (busy-polls until the WASM method
|
|
342
|
+
* returns `true`), then extracts the per-thread result. Throws
|
|
343
|
+
* {@link WasmWebClientError} on non-2xx or transport errors.
|
|
344
|
+
*
|
|
345
|
+
* The `ie` (inline-encryption) flag is forwarded to the C++ WebClient for
|
|
346
|
+
* mutating methods. Default `false` — the SDK HTTP path leaves payloads
|
|
347
|
+
* unencrypted at the WebClient layer. The C++ `WebApi.postFaceResults`
|
|
348
|
+
* pre-encrypts its JSON via `SessionEncryptor` and calls back into this
|
|
349
|
+
* function with `ie=true`; see {@link createWebApiHostAdapter}.
|
|
350
|
+
*/
|
|
351
|
+
async function executeWasmRequest(method, url, body, headers, params, timeout, onUploadProgress, ie = false) {
|
|
352
|
+
const api = ensureReady();
|
|
353
|
+
const stringParams = toStringRecord(params);
|
|
354
|
+
return semaphore.withLock(async (threadId) => {
|
|
355
|
+
if (onUploadProgress && api.setOnUploadProgress) api.setOnUploadProgress((event) => {
|
|
356
|
+
try {
|
|
357
|
+
onUploadProgress(event);
|
|
358
|
+
} catch (error) {
|
|
359
|
+
console.error("WasmWebClient: error in onUploadProgress callback", error);
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
try {
|
|
363
|
+
await wasmCallWrapper(semaphore, () => callWasmMethod(api, method, threadId, url, body, headers, stringParams, timeout, ie), false);
|
|
364
|
+
return readResult(api, threadId);
|
|
365
|
+
} finally {
|
|
366
|
+
api.clearOnUploadProgress?.(threadId);
|
|
367
|
+
api.clearOnDownloadProgress?.(threadId);
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
function callWasmMethod(api, method, threadId, url, body, headers, params, timeout, ie) {
|
|
372
|
+
switch (method) {
|
|
373
|
+
case "GET": return api.get(threadId, url, params, headers, timeout);
|
|
374
|
+
case "POST": return api.post(threadId, url, body ?? {}, headers, params, timeout, ie);
|
|
375
|
+
case "PUT": return api.put(threadId, url, body ?? {}, headers, params, timeout, ie);
|
|
376
|
+
case "PATCH": return api.patch(threadId, url, body ?? {}, headers, params, timeout, ie);
|
|
377
|
+
case "DELETE": return api.del(threadId, url, body ?? {}, headers, params, timeout, ie);
|
|
378
|
+
default: throw new Error(`Unsupported WASM HTTP method: ${method}`);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
const DEFAULT_WEBAPI_TIMEOUT_MS = 3e4;
|
|
382
|
+
let webApiHttpTransport = null;
|
|
383
|
+
function setWebApiHttpTransport(transport) {
|
|
384
|
+
webApiHttpTransport = transport;
|
|
385
|
+
}
|
|
386
|
+
function createWebApiHostAdapter() {
|
|
387
|
+
return { post(url, body, config) {
|
|
388
|
+
const effectiveConfig = config ?? {};
|
|
389
|
+
const transport = webApiHttpTransport;
|
|
390
|
+
if (transport) return transport(url, body, effectiveConfig);
|
|
391
|
+
return executeWasmRequest("POST", url, body, effectiveConfig.headers ?? {}, effectiveConfig.params, effectiveConfig.timeout ?? DEFAULT_WEBAPI_TIMEOUT_MS, void 0, effectiveConfig.ie === true);
|
|
392
|
+
} };
|
|
393
|
+
}
|
|
394
|
+
function readResult(api, threadId) {
|
|
395
|
+
const response = api.getRequestResult(threadId);
|
|
396
|
+
if (response.hasError) throw new WasmWebClientError(response.errorMessage || "WasmWebClient request failed", response.statusCode, response.result);
|
|
397
|
+
return {
|
|
398
|
+
data: response.result,
|
|
399
|
+
status: response.statusCode
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
function ensureReady() {
|
|
403
|
+
if (!webClientApi) throw new Error("WasmWebClient not initialized. Call initializeWasmWebClient() first.");
|
|
404
|
+
return webClientApi;
|
|
405
|
+
}
|
|
406
|
+
//#endregion
|
|
407
|
+
export { setWebApiHttpTransport as a, loadWasmModule as c, initializeWasmWebClient as i, SemaphoreProvider as l, createWebApiHostAdapter as n, setupWasmConnection as o, executeWasmRequest as r, wasmCallWrapper as s, WasmWebClientError as t, deriveSiblingJsPath as u };
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import { t as Manager } from "./Manager-goNPc_h_.js";
|
|
3
|
-
|
|
1
|
+
import { t as Manager } from "./Manager-CQQ99QOI.js";
|
|
4
2
|
//#region src/modules/watchlist-for-business/watchlistForBusinessManager.d.ts
|
|
5
3
|
/** Waiting for `load()` to be called. */
|
|
6
4
|
type WatchlistForBusinessIdleState = {
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import {
|
|
3
|
-
import "./
|
|
4
|
-
import {
|
|
5
|
-
import { t as watchlistForBusinessMachine } from "./watchlistForBusinessStateMachine-R1Yp1g5A.esm.js";
|
|
6
|
-
|
|
1
|
+
import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-CxfNJVZW.esm.js";
|
|
2
|
+
import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
|
|
3
|
+
import { c as createManager, o as createActor } from "./xstate.esm-Cf4e0Cfd.esm.js";
|
|
4
|
+
import { t as watchlistForBusinessMachine } from "./watchlistForBusinessStateMachine-BcBMkMvV.esm.js";
|
|
7
5
|
//#region src/modules/watchlist-for-business/watchlistForBusinessActor.ts
|
|
8
6
|
function createWatchlistForBusinessActor() {
|
|
9
7
|
return createActor(watchlistForBusinessMachine).start();
|
|
10
8
|
}
|
|
11
|
-
|
|
12
9
|
//#endregion
|
|
13
10
|
//#region src/modules/watchlist-for-business/watchlistForBusinessManager.ts
|
|
14
11
|
/**
|
|
@@ -48,21 +45,25 @@ function mapState(snapshot) {
|
|
|
48
45
|
}
|
|
49
46
|
function createApi({ actor, trackElementClicked }) {
|
|
50
47
|
return {
|
|
48
|
+
/** Transitions from `idle` to the form. Must be called before any other method. */
|
|
51
49
|
load() {
|
|
52
50
|
actor.send({ type: "LOAD" });
|
|
53
51
|
},
|
|
52
|
+
/** Updates the selected country code (ISO 3166-1 alpha-2). */
|
|
54
53
|
setCountry(country) {
|
|
55
54
|
actor.send({
|
|
56
55
|
type: "SET_COUNTRY",
|
|
57
56
|
country
|
|
58
57
|
});
|
|
59
58
|
},
|
|
59
|
+
/** Updates the business name field and recomputes validity. */
|
|
60
60
|
setBusinessName(value) {
|
|
61
61
|
actor.send({
|
|
62
62
|
type: "SET_BUSINESS_NAME",
|
|
63
63
|
value
|
|
64
64
|
});
|
|
65
65
|
},
|
|
66
|
+
/** Submits the form. Only transitions when `isValid` is true. */
|
|
66
67
|
submit() {
|
|
67
68
|
trackElementClicked?.("submit");
|
|
68
69
|
actor.send({ type: "SUBMIT" });
|
|
@@ -97,6 +98,5 @@ function createWatchlistForBusinessManager() {
|
|
|
97
98
|
instrumentation: createManagerInstrumentation(eventModuleNames.watchlistForBusiness, { getEventScreenName: getWatchlistForBusinessScreenName })
|
|
98
99
|
});
|
|
99
100
|
}
|
|
100
|
-
|
|
101
101
|
//#endregion
|
|
102
|
-
export { createWatchlistForBusinessManager, watchlistForBusinessMachine };
|
|
102
|
+
export { createWatchlistForBusinessManager, watchlistForBusinessMachine };
|
package/dist/watchlist.d.ts
CHANGED
|
@@ -1,55 +1,4 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import { t as Manager } from "./Manager-goNPc_h_.js";
|
|
3
|
-
|
|
4
|
-
//#region src/modules/watchlist/watchlistStateMachine.d.ts
|
|
5
|
-
type WatchlistResult = 'success' | 'skipped';
|
|
6
|
-
declare const watchlistMachine: any;
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region src/modules/watchlist/watchlistManager.d.ts
|
|
9
|
-
type WatchlistIdleState = {
|
|
10
|
-
status: 'idle';
|
|
11
|
-
};
|
|
12
|
-
type WatchlistProcessingState = {
|
|
13
|
-
status: 'processing';
|
|
14
|
-
};
|
|
15
|
-
type WatchlistSuccessState = {
|
|
16
|
-
status: 'success';
|
|
17
|
-
};
|
|
18
|
-
type WatchlistFinishedState = {
|
|
19
|
-
status: 'finished';
|
|
20
|
-
result: WatchlistResult;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Union of all possible global watchlist manager states.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* const state = watchlistManager.getState();
|
|
28
|
-
* if (state.status === 'finished') {
|
|
29
|
-
* console.log('Global watchlist check complete');
|
|
30
|
-
* }
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
type WatchlistState = WatchlistIdleState | WatchlistProcessingState | WatchlistSuccessState | WatchlistFinishedState;
|
|
34
|
-
/**
|
|
35
|
-
* Creates a global watchlist manager for headless or UI-driven usage.
|
|
36
|
-
*
|
|
37
|
-
* @example Headless usage
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const manager = createWatchlistManager();
|
|
40
|
-
* manager.subscribe((state) => console.log(state.status));
|
|
41
|
-
* manager.load();
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
declare function createWatchlistManager(): Manager<WatchlistState> & {
|
|
45
|
-
/**
|
|
46
|
-
* Kicks off the global watchlist check.
|
|
47
|
-
* Transitions from 'idle' to 'processing'.
|
|
48
|
-
*/
|
|
49
|
-
load(): void;
|
|
50
|
-
};
|
|
51
|
-
type WatchlistManager = ReturnType<typeof createWatchlistManager>;
|
|
52
|
-
//#endregion
|
|
1
|
+
import { n as WatchlistState, o as watchlistMachine, r as createWatchlistManager, t as WatchlistManager } from "./watchlistManager-DLXef90v.js";
|
|
53
2
|
//#region src/modules/watchlist/types.d.ts
|
|
54
3
|
/**
|
|
55
4
|
* Configuration options for the global watchlist module.
|
package/dist/watchlist.esm.js
CHANGED
|
@@ -1,70 +1,3 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { l as createManager, s as createActor } from "./xstate.esm-nY3M5UYm.esm.js";
|
|
5
|
-
import { t as watchlistMachine } from "./watchlistStateMachine-D07UVq1m.esm.js";
|
|
6
|
-
|
|
7
|
-
//#region src/modules/watchlist/watchlistActor.ts
|
|
8
|
-
function createWatchlistActor() {
|
|
9
|
-
return createActor(watchlistMachine).start();
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
//#endregion
|
|
13
|
-
//#region src/modules/watchlist/watchlistManager.ts
|
|
14
|
-
/**
|
|
15
|
-
* Maps a Watchlist state-machine snapshot to the exact Figma "Tracked
|
|
16
|
-
* Events" screen name. Source: Watchlist | Custom Watchlist Figma file
|
|
17
|
-
* (`https://www.figma.com/design/Xm4BgXotNwdi5iRdHTIX0N/Watchlist-%7C-Custom-Watchlist----Latest-Design?node-id=3031-82920`).
|
|
18
|
-
* Family is `watchlist.*` — shared across global watchlist, custom
|
|
19
|
-
* watchlist, and watchlist-for-business (distinct module tokens per
|
|
20
|
-
* AdSign/QSign precedent).
|
|
21
|
-
*
|
|
22
|
-
* `idle` and `finished` are intentionally unmapped — the Figma canvas does
|
|
23
|
-
* not define screens for the entry / terminal moments. `finished` collapses
|
|
24
|
-
* into `moduleClosed`.
|
|
25
|
-
*/
|
|
26
|
-
function getWatchlistScreenName(snapshot) {
|
|
27
|
-
const stateName = topLevelStateName(snapshot.value);
|
|
28
|
-
if (stateName === void 0) return void 0;
|
|
29
|
-
switch (stateName) {
|
|
30
|
-
case "processing": return "watchlist.processing";
|
|
31
|
-
case "success": return "watchlist.success";
|
|
32
|
-
default: return;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
function mapState(snapshot) {
|
|
36
|
-
const typedSnapshot = snapshot;
|
|
37
|
-
if (typedSnapshot.matches("processing")) return { status: "processing" };
|
|
38
|
-
if (typedSnapshot.matches("success")) return { status: "success" };
|
|
39
|
-
if (typedSnapshot.matches("finished")) return {
|
|
40
|
-
status: "finished",
|
|
41
|
-
result: typedSnapshot.context.result ?? "skipped"
|
|
42
|
-
};
|
|
43
|
-
return { status: "idle" };
|
|
44
|
-
}
|
|
45
|
-
function createApi({ actor }) {
|
|
46
|
-
return { load() {
|
|
47
|
-
actor.send({ type: "LOAD" });
|
|
48
|
-
} };
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Creates a global watchlist manager for headless or UI-driven usage.
|
|
52
|
-
*
|
|
53
|
-
* @example Headless usage
|
|
54
|
-
* ```typescript
|
|
55
|
-
* const manager = createWatchlistManager();
|
|
56
|
-
* manager.subscribe((state) => console.log(state.status));
|
|
57
|
-
* manager.load();
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
function createWatchlistManager() {
|
|
61
|
-
return createManager({
|
|
62
|
-
actor: createWatchlistActor(),
|
|
63
|
-
mapState,
|
|
64
|
-
createApi,
|
|
65
|
-
instrumentation: createManagerInstrumentation(eventModuleNames.watchlist, { getEventScreenName: getWatchlistScreenName })
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
//#endregion
|
|
70
|
-
export { createWatchlistManager, watchlistMachine };
|
|
1
|
+
import { t as watchlistMachine } from "./watchlistStateMachine-Bl7Wy9Cm.esm.js";
|
|
2
|
+
import { t as createWatchlistManager } from "./watchlistManager-CjSMmbyq.esm.js";
|
|
3
|
+
export { createWatchlistManager, watchlistMachine };
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { t as endpoints } from "./endpoints-
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { t as api } from "./api-Bx3gKW_y.esm.js";
|
|
2
|
+
import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
|
|
3
|
+
import { r as assign, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
|
|
4
|
+
import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
|
|
5
5
|
//#region src/modules/watchlist-for-business/watchlistForBusinessServices.ts
|
|
6
6
|
async function submitWatchlistForBusiness(data, signal) {
|
|
7
7
|
const res = await api.post(endpoints.watchlistForBusinessSubmit, data, { signal });
|
|
8
8
|
if (!res.ok) throw new Error(`POST ${endpoints.watchlistForBusinessSubmit} failed: ${res.status} ${res.statusText}`);
|
|
9
9
|
return res.data;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
11
|
//#endregion
|
|
13
12
|
//#region src/modules/watchlist-for-business/watchlistForBusinessStateMachine.ts
|
|
14
13
|
const DEFAULT_COUNTRY = "US";
|
|
@@ -69,6 +68,5 @@ const watchlistForBusinessMachine = setup({
|
|
|
69
68
|
finished: { type: "final" }
|
|
70
69
|
}
|
|
71
70
|
});
|
|
72
|
-
|
|
73
71
|
//#endregion
|
|
74
|
-
export { watchlistForBusinessMachine as t };
|
|
72
|
+
export { watchlistForBusinessMachine as t };
|