@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.
Files changed (328) hide show
  1. package/dist/{3dAvatarProvider-BwOmTMOy.esm.js → 3dAvatarProvider-g02DTFqT.esm.js} +811 -880
  2. package/dist/Actor-iTq7YY48.d.ts +1 -0
  3. package/dist/BrowserDiagnosticsCryptoProvider-CriIh1Gt.esm.js +95 -0
  4. package/dist/BrowserLazyImportProvider-BhoA957O.esm.js +114 -0
  5. package/dist/{BrowserStorageProvider-CBHBhKQN.esm.js → BrowserStorageProvider-k-FDkC4W.esm.js} +2 -4
  6. package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
  7. package/dist/{BrowserVisibilityObserverProvider-GBS6XSii.esm.js → BrowserVisibilityObserverProvider-BX1BiLDK.esm.js} +1 -2
  8. package/dist/Face2DProvider-UUQt_vRC.esm.js +437 -0
  9. package/dist/{createFaceAvatar-CpdYp9Iy.d.ts → FaceDetectionProvider-Mh6q3EbA.d.ts} +107 -159
  10. package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +9 -0
  11. package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
  12. package/dist/IFeatureManagementCapability-DdEUp6tB.d.ts +1125 -0
  13. package/dist/IIdCaptureCapability-DHTT3FC2.d.ts +237 -0
  14. package/dist/IStorageCapability-ORkQfK3F.d.ts +242 -0
  15. package/dist/{ITimerCapability-DJ73P4RK.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
  16. package/dist/{Manager-goNPc_h_.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
  17. package/dist/{MotionSensorProvider-BHuHoYvJ.esm.js → MotionSensorProvider-DGiV77J_.esm.js} +2 -37
  18. package/dist/{OpenViduRecordingProvider-CK6A5kiU.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
  19. package/dist/PrivacyLensProvider-D8PS7AJa.esm.js +405 -0
  20. package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
  21. package/dist/{StreamCanvasCapture-CAqUdVkM.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
  22. package/dist/{addressSearch-D7msRieq.esm.js → addressSearch-DQyrvDQj.esm.js} +10 -21
  23. package/dist/ae-signature.d.ts +4 -6
  24. package/dist/ae-signature.esm.js +10 -11
  25. package/dist/antifraud.d.ts +1 -6
  26. package/dist/antifraud.esm.js +3 -8
  27. package/dist/{antifraudManager-5KA84wtF.esm.js → antifraudManager-B8Plzf7a.esm.js} +11 -8
  28. package/dist/{antifraudManager-DCiNI6np.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
  29. package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-r4VxSBS4.esm.js} +5 -7
  30. package/dist/api-Bx3gKW_y.esm.js +129 -0
  31. package/dist/{apiError-DkOXfFBu.esm.js → apiError-DZfAyExM.esm.js} +25 -3
  32. package/dist/authentication.d.ts +3 -19
  33. package/dist/authentication.esm.js +3 -35
  34. package/dist/{authenticationManager-BeT6tNZm.d.ts → authenticationManager-BBMGTcwW.d.ts} +3 -4
  35. package/dist/{authenticationManager-BryLnSaF.esm.js → authenticationManager-DscbQwIl.esm.js} +7 -10
  36. package/dist/{authenticationStateMachine-DbdxfGHx.esm.js → authenticationStateMachine-SyuM00Fa.esm.js} +11 -15
  37. package/dist/avatar.d.ts +2 -2
  38. package/dist/avatar.esm.js +2 -3
  39. package/dist/avatar2dWarm-DqucNFX4.esm.js +1330 -0
  40. package/dist/avatarStats-CdUOb3VD.esm.js +136 -0
  41. package/dist/{backCameraStream-ChrMTJv-.esm.js → backCameraStream-CUeYm5eu.esm.js} +20 -8
  42. package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
  43. package/dist/callback-645_omgz.d.ts +133 -0
  44. package/dist/camera-_2sXMXiF.esm.js +140 -0
  45. package/dist/camera.d.ts +19 -2
  46. package/dist/camera.esm.js +2 -6
  47. package/dist/{canvas-Pi10hG_l.esm.js → canvas-E1zGkel4.esm.js} +1 -2
  48. package/dist/certificate-issuance.d.ts +34 -39
  49. package/dist/certificate-issuance.esm.js +4 -11
  50. package/dist/{certificateIssuanceStateMachine-DlZQT1_u.esm.js → certificateIssuanceStateMachine-COd7_l2T.esm.js} +7 -11
  51. package/dist/consent.d.ts +1 -4
  52. package/dist/consent.esm.js +3 -8
  53. package/dist/{consentManager-BwNu-uC-.esm.js → consentManager-BApTlfA0.esm.js} +5 -7
  54. package/dist/{consentManager-B4PMGXW-.d.ts → consentManager-uhDPdU6i.d.ts} +55 -61
  55. package/dist/{consentStateMachine-BOkVFiU7.esm.js → consentStateMachine-WD-S-Yhs.esm.js} +5 -7
  56. package/dist/{cpf-16m_cGAM.esm.js → cpf-BIADjddF.esm.js} +1 -2
  57. package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
  58. package/dist/createFaceAvatar-DQKaRise.esm.js +103 -0
  59. package/dist/cross-document-data-match.d.ts +2 -26
  60. package/dist/cross-document-data-match.esm.js +2 -71
  61. package/dist/crossDocumentDataMatchManager-Dq8Z3SOg.d.ts +41 -0
  62. package/dist/crossDocumentDataMatchManager-OmYvyung.esm.js +84 -0
  63. package/dist/curp-validation.d.ts +1 -11
  64. package/dist/curp-validation.esm.js +3 -8
  65. package/dist/{curpValidationManager-CoqODZx5.d.ts → curpValidationManager-DVGr7Fq7.d.ts} +4 -6
  66. package/dist/{curpValidationManager-Cbji2inV.esm.js → curpValidationManager-UZxcrsrz.esm.js} +11 -7
  67. package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-9KwnqeoB.esm.js} +22 -14
  68. package/dist/custom-fields.d.ts +2 -5
  69. package/dist/custom-fields.esm.js +24 -11
  70. package/dist/custom-watchlist.d.ts +1 -3
  71. package/dist/custom-watchlist.esm.js +11 -10
  72. package/dist/{customWatchlistStateMachine-D8w0mNxm.esm.js → customWatchlistStateMachine-B_ey3TFj.esm.js} +5 -7
  73. package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
  74. package/dist/{deepsightService-CViys6T4.esm.js → deepsightLoader-DcWjMC6A.esm.js} +68 -14
  75. package/dist/{deepsightService-BuTOFTr8.d.ts → deepsightService-DLVQS_RH.d.ts} +41 -2
  76. package/dist/device.d.ts +10 -2
  77. package/dist/device.esm.js +21 -21
  78. package/dist/document-capture.d.ts +3 -1816
  79. package/dist/document-capture.esm.js +3 -245
  80. package/dist/document-upload.d.ts +48 -55
  81. package/dist/document-upload.esm.js +8 -14
  82. package/dist/documentCaptureManager-B4Kivr8_.d.ts +2062 -0
  83. package/dist/documentCaptureManager-DszmcU-l.esm.js +296 -0
  84. package/dist/{documentCaptureStateMachine-BkTvU3yq.esm.js → documentCaptureStateMachine-D2jBwwVb.esm.js} +66 -40
  85. package/dist/dynamic-forms.d.ts +2 -4
  86. package/dist/dynamic-forms.esm.js +3 -9
  87. package/dist/{dynamicFormsManager-CHXUBNs4.esm.js → dynamicFormsManager-BoZ2-OUI.esm.js} +48 -9
  88. package/dist/{dynamicFormsManager-CKZkE7Wo.d.ts → dynamicFormsManager-fhK0yINk.d.ts} +22 -46
  89. package/dist/{dynamicFormsStateMachine-DJ1HGZff.esm.js → dynamicFormsStateMachine-D0RzkoEV.esm.js} +161 -34
  90. package/dist/ekyb.d.ts +5 -137
  91. package/dist/ekyb.esm.js +4 -179
  92. package/dist/ekybManager-DTvfxAOZ.esm.js +178 -0
  93. package/dist/ekybManager-Dzswb_b8.d.ts +114 -0
  94. package/dist/{ekybStateMachine-D9GzA4MW.esm.js → ekybStateMachine-BlTIozb6.esm.js} +16 -193
  95. package/dist/ekyc.d.ts +2 -79
  96. package/dist/ekyc.esm.js +4 -154
  97. package/dist/ekycManager-BFpHbBoT.d.ts +97 -0
  98. package/dist/ekycManager-oTstTJuL.esm.js +156 -0
  99. package/dist/{ekycStateMachine-DnVRiu3s.esm.js → ekycStateMachine-DHvksnrr.esm.js} +141 -423
  100. package/dist/ekycUtils-Dew1rBG0.esm.js +223 -0
  101. package/dist/electronic-signature.d.ts +3 -5
  102. package/dist/electronic-signature.esm.js +2 -10
  103. package/dist/{index-36QX_21w.d.ts → electronicSignatureManager-CcUXQZS7.d.ts} +220 -251
  104. package/dist/{electronicSignatureManager-DESRgObX.esm.js → electronicSignatureManager-DRYlHPjT.esm.js} +47 -33
  105. package/dist/email.d.ts +1 -5
  106. package/dist/email.esm.js +3 -10
  107. package/dist/{emailManager-CMS4q_r6.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
  108. package/dist/{emailManager-B9Vrv3Ma.esm.js → emailManager-tE-YvNtS.esm.js} +76 -12
  109. package/dist/{emailStateMachine-CbmKFVSi.esm.js → emailStateMachine-Bm894MHB.esm.js} +7 -9
  110. package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-CCzL3XD_.esm.js} +55 -6
  111. package/dist/{events-1wxZ97yf.esm.js → events-CxfNJVZW.esm.js} +43 -176
  112. package/dist/events.d.ts +28 -10
  113. package/dist/events.esm.js +2 -4
  114. package/dist/extensibility.d.ts +37 -37
  115. package/dist/extensibility.esm.js +31 -80
  116. package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
  117. package/dist/face-match.d.ts +2 -225
  118. package/dist/face-match.esm.js +3 -173
  119. package/dist/{faceCaptureManagerFactory-C9TiGbkA.esm.js → faceCaptureManagerFactory-BDAsBCkh.esm.js} +52 -31
  120. package/dist/{faceCaptureManagerFactory-DiJ64oem.d.ts → faceCaptureManagerFactory-BxWPpxyd.d.ts} +63 -24
  121. package/dist/{faceCaptureSetup-BqhqfFHL.esm.js → faceCaptureSetup-C7Qv79fA.esm.js} +57 -36
  122. package/dist/faceMatchManager-BXp2WUT-.esm.js +201 -0
  123. package/dist/faceMatchManager-BnvrZM2F.d.ts +268 -0
  124. package/dist/{faceMatchStateMachine-MDb30gCm.esm.js → faceMatchStateMachine-CJiO2yLO.esm.js} +14 -10
  125. package/dist/feature-management-DS_Nj5Gg.esm.js +615 -0
  126. package/dist/feature-management.d.ts +173 -0
  127. package/dist/feature-management.esm.js +2 -0
  128. package/dist/field-comparison.d.ts +1 -4
  129. package/dist/field-comparison.esm.js +2 -7
  130. package/dist/{fieldComparisonManager-OLKVsG2Z.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
  131. package/dist/{fieldComparisonManager-Cw4uzD7S.esm.js → fieldComparisonManager-DhnYdYZ2.esm.js} +6 -11
  132. package/dist/fiscal-qr.d.ts +1 -6
  133. package/dist/fiscal-qr.esm.js +14 -29
  134. package/dist/flow-events.d.ts +2 -9
  135. package/dist/flow.d.ts +59 -21
  136. package/dist/flow.esm.js +132 -49
  137. package/dist/{flowCompletionService-B6P6_EF3.esm.js → flowCompletionService-BSe3p7pg.esm.js} +4 -6
  138. package/dist/flowServices-unhF9V9F.esm.js +620 -0
  139. package/dist/geolocation.d.ts +1 -4
  140. package/dist/geolocation.esm.js +3 -9
  141. package/dist/{geolocationManager-CF6-NizA.esm.js → geolocationManager-Bv9MSVNr.esm.js} +44 -16
  142. package/dist/geolocationManager-Cz744E5S.d.ts +506 -0
  143. package/dist/{geolocationStateMachine-CD2XJs1b.esm.js → geolocationStateMachine-BxD6JK1M.esm.js} +53 -28
  144. package/dist/{getBrowser-1yNcfFZR.esm.js → getBrowser-Cb8Zgrgp.esm.js} +1 -2
  145. package/dist/getBrowser-DNrQeL4T.esm.js +16 -0
  146. package/dist/getDeviceClass-9y-kbVDw.esm.js +19 -0
  147. package/dist/{getDeviceClass-C-Dg6IsJ.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
  148. package/dist/getParsedUserAgent-pJjATANs.esm.js +1622 -0
  149. package/dist/government-validation.d.ts +3 -6
  150. package/dist/government-validation.esm.js +7 -13
  151. package/dist/{governmentValidationStateMachine-BE5wiQ7Y.esm.js → governmentValidationStateMachine-BYKYUdza.esm.js} +8 -11
  152. package/dist/home.d.ts +14 -22
  153. package/dist/home.esm.js +3 -8
  154. package/dist/http.d.ts +0 -1
  155. package/dist/http.esm.js +2 -4
  156. package/dist/id-ocr.d.ts +8 -7
  157. package/dist/id-ocr.esm.js +20 -9
  158. package/dist/id-selfie-flow.d.ts +179 -0
  159. package/dist/id-selfie-flow.esm.js +917 -0
  160. package/dist/id-verification.d.ts +2 -191
  161. package/dist/id-verification.esm.js +3 -43
  162. package/dist/id.d.ts +7 -18
  163. package/dist/id.esm.js +47 -53
  164. package/dist/{idCaptureDefaults-CZajItdO.esm.js → idCaptureDefaults-WeHbQM7W.esm.js} +54 -17
  165. package/dist/idCaptureManager-BjU-Wyow.d.ts +429 -0
  166. package/dist/{idCaptureManager-DASPUMtC.esm.js → idCaptureManager-BjiBSrHm.esm.js} +173 -34
  167. package/dist/idCaptureServices-CFDwqTtQ.esm.js +396 -0
  168. package/dist/{idCaptureStateMachine-DZ2ZTSxu.esm.js → idCaptureStateMachine-CRwQh8jc.esm.js} +438 -585
  169. package/dist/{idOcrManager-Tm4LzKR0.esm.js → idOcrManager-CvJZhmBR.esm.js} +4 -7
  170. package/dist/{idOcrManager-DLfAjDZn.d.ts → idOcrManager-DXc_xRN7.d.ts} +62 -229
  171. package/dist/{idOcrStateMachine-BJxZCxwS.esm.js → idOcrStateMachine-Bq_e3l4E.esm.js} +15 -20
  172. package/dist/idVerificationManager-BB4Pj_N6.d.ts +197 -0
  173. package/dist/idVerificationManager-CduNXhWd.esm.js +51 -0
  174. package/dist/{idVerificationStateMachine-DXN9WcdM.esm.js → idVerificationStateMachine-GEQWUPU2.esm.js} +5 -7
  175. package/dist/identity-reuse.d.ts +1 -4
  176. package/dist/identity-reuse.esm.js +3 -8
  177. package/dist/{identityReuseManager-LjkPvSQN.esm.js → identityReuseManager-D5vXknnJ.esm.js} +24 -7
  178. package/dist/{identityReuseManager-CLVOYxcp.d.ts → identityReuseManager-v2TH5g7e.d.ts} +38 -43
  179. package/dist/{identityReuseStateMachine-Bp-zONoV.esm.js → identityReuseStateMachine-AubRPhIi.esm.js} +6 -8
  180. package/dist/index-B8weJxmL.d.ts +1 -0
  181. package/dist/index-BKOWUhxG.d.ts +258 -0
  182. package/dist/{index-DrpWp15Z.d.ts → index-CLMF0QLQ.d.ts} +3 -3
  183. package/dist/index.d.ts +1 -3
  184. package/dist/index.esm.js +2 -15
  185. package/dist/{invokeOnCaptureCallback-CCS2Ruzi.esm.js → invokeOnCaptureCallback-1m1VJ3Q4.esm.js} +2 -4
  186. package/dist/{lib-Bjd6nOLG.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
  187. package/dist/mandatory-consent.d.ts +2 -10
  188. package/dist/mandatory-consent.esm.js +3 -8
  189. package/dist/{mandatoryConsentManager-DeBmOHcQ.d.ts → mandatoryConsentManager-B29kR0XA.d.ts} +60 -85
  190. package/dist/{mandatoryConsentManager-DZ26sg4B.esm.js → mandatoryConsentManager-BeELm1zS.esm.js} +4 -7
  191. package/dist/{mandatoryConsentStateMachine-_44ZoDSh.esm.js → mandatoryConsentStateMachine-zroQGzwb.esm.js} +5 -7
  192. package/dist/manualReviewService-D4IkipnN.esm.js +15 -0
  193. package/dist/{mediaRecorderOptions-CClCKAiF.esm.js → mediaRecorderOptions-dALSV8af.esm.js} +2 -4
  194. package/dist/{mediapipeShared-Bcmkzs3x.esm.js → mediapipeShared-B6oNoXEQ.esm.js} +21 -9
  195. package/dist/{onDeviceFaceResults-DILtthks.esm.js → onDeviceFaceResults-f81FVdQs.esm.js} +30 -87
  196. package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
  197. package/dist/{otp-B1YeyRXu.d.ts → otp-CEWfTj9v.d.ts} +0 -1
  198. package/dist/{otp-uaXiKt_R.esm.js → otp-D2k3PeSL.esm.js} +3 -14
  199. package/dist/{permissionGuards-BNOe4Tnu.esm.js → permissionGuards-KINpmKtI.esm.js} +2 -4
  200. package/dist/{permissionServices-C_kxhNeo.esm.js → permissionServices-UvUcOSRb.esm.js} +35 -28
  201. package/dist/personhood.d.ts +13 -20
  202. package/dist/personhood.esm.js +153 -85
  203. package/dist/phone.d.ts +1 -5
  204. package/dist/phone.esm.js +3 -10
  205. package/dist/{phoneManager-_KtitbUA.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
  206. package/dist/{phoneManager-CRblfdcI.esm.js → phoneManager-Cpiai2IM.esm.js} +82 -12
  207. package/dist/{phoneStateMachine-DjFGWMjQ.esm.js → phoneStateMachine-E1fUUcNM.esm.js} +7 -9
  208. package/dist/{platform-0Ot-bF_a.esm.js → platform-BJrm5nzZ.esm.js} +31 -11
  209. package/dist/privacyLensWorker-DI-Rg83h.esm.js +355 -0
  210. package/dist/qe-signature.d.ts +4 -6
  211. package/dist/qe-signature.esm.js +10 -11
  212. package/dist/{recordingService-CxaYkITO.esm.js → recordingService-CFpfdXSS.esm.js} +13 -31
  213. package/dist/redirect-to-mobile.d.ts +2 -6
  214. package/dist/redirect-to-mobile.esm.js +3 -10
  215. package/dist/{redirectToMobileManager-dv29o_LS.d.ts → redirectToMobileManager-BD2PvT5B.d.ts} +8 -44
  216. package/dist/{redirectToMobileManager-DbuNUlru.esm.js → redirectToMobileManager-C0dfc7f6.esm.js} +28 -8
  217. package/dist/{redirectToMobileStateMachine-BRaIJWOM.esm.js → redirectToMobileStateMachine-C9SYCJcH.esm.js} +74 -18
  218. package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
  219. package/dist/{runChildModule-kojSv3MH.esm.js → runChildModule-DpvgAGFA.esm.js} +10 -9
  220. package/dist/{WasmUtilProvider-BgzcXBdl.esm.js → safeStorage-Ep56I-f_.esm.js} +98 -473
  221. package/dist/selfie.d.ts +8 -21
  222. package/dist/selfie.esm.js +40 -47
  223. package/dist/selfieErrorUtils-C2PYBVsp.esm.js +90 -0
  224. package/dist/{selfieManager-B1Px3GGa.esm.js → selfieManager-Br4onIMy.esm.js} +7 -10
  225. package/dist/{selfieManager-4juKfrHG.d.ts → selfieManager-DwlCppg0.d.ts} +3 -4
  226. package/dist/{selfieStateMachine-D0TS93Tu.esm.js → selfieStateMachine-CNGs8vFK.esm.js} +14 -29
  227. package/dist/{session-CLsU2Jnb.esm.js → session-CX2H3tmI.esm.js} +16 -7
  228. package/dist/session.d.ts +12 -10
  229. package/dist/session.esm.js +5 -15
  230. package/dist/sessionInitializer-CV6Rj_dn.esm.js +1865 -0
  231. package/dist/{setup-CfNsYAeB.esm.js → setup-CYdVacqv.esm.js} +319 -137
  232. package/dist/{setup-CmA2apmN.d.ts → setup-DywQeePQ.d.ts} +186 -4
  233. package/dist/signature.d.ts +2 -96
  234. package/dist/signature.esm.js +3 -108
  235. package/dist/signatureManager-DGBSWz2_.d.ts +106 -0
  236. package/dist/signatureManager-DdPgcmou.esm.js +113 -0
  237. package/dist/{signatureStateMachine-CdhlMih-.esm.js → signatureStateMachine-Cf73DGWO.esm.js} +5 -7
  238. package/dist/spawn-D9jgw9pW.d.ts +1441 -0
  239. package/dist/src-0Jurt29N.esm.js +4482 -0
  240. package/dist/{stats-BVy52wLy.esm.js → stats-B0nFKawG.esm.js} +3 -5
  241. package/dist/stats.esm.js +2 -5
  242. package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
  243. package/dist/{tri-CFAPtAUM.esm.js → tri-4RsGrIt6.esm.js} +3 -119
  244. package/dist/tri.d.ts +2 -2
  245. package/dist/tri.esm-BIjHhBJ2.esm.js +2620 -0
  246. package/dist/tri.esm.js +2 -4
  247. package/dist/trueSight-B8G85W4z.esm.js +1 -0
  248. package/dist/trueSightService-6dTpiaTh.esm.js +1894 -0
  249. package/dist/trust-graph.d.ts +4 -5
  250. package/dist/trust-graph.esm.js +13 -9
  251. package/dist/types-BEwVKkLJ.d.ts +15 -0
  252. package/dist/{types-BKLb3C42.esm.js → types-BN5RPPIZ.esm.js} +1 -2
  253. package/dist/types-BSBzhHRH.d.ts +57 -0
  254. package/dist/types-BX_XkMsQ2.d.ts +21 -0
  255. package/dist/types-BfHiko5D.d.ts +48 -0
  256. package/dist/{types-D8Cl1N2Z.d.ts → types-BfgmV7s72.d.ts} +2 -2
  257. package/dist/types-CJ7Yl9K-2.d.ts +164 -0
  258. package/dist/types-DPIDuhut.d.ts +40 -0
  259. package/dist/types-DVmXIdzW.d.ts +82 -0
  260. package/dist/types-DelMqZLe.d.ts +105 -0
  261. package/dist/types-EELWyWpd.d.ts +6 -0
  262. package/dist/{types-fO6KIdol.d.ts → types-Hmd7U0JA.d.ts} +80 -6
  263. package/dist/{types-BUgeB2X6.d.ts → types-KPvmag_B.d.ts} +7 -7
  264. package/dist/types-M6eb82ra2.d.ts +589 -0
  265. package/dist/{types-DV3wkhQ4.d.ts → types-Vb4P9ovf.d.ts} +1 -3
  266. package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
  267. package/dist/{video-ZY92rkel.esm.js → video-BtSWtHy1.esm.js} +1 -2
  268. package/dist/video-selfie.d.ts +71 -117
  269. package/dist/video-selfie.esm.js +575 -643
  270. package/dist/videoSelfieCameraWarmer-h_VUk5Vu.esm.js +651 -0
  271. package/dist/videoSelfieStepDetector-D3oo2ofo.d.ts +123 -0
  272. package/dist/wasm.d.ts +2 -4
  273. package/dist/wasm.esm.js +4 -15
  274. package/dist/wasmDefaults-DTUrftxR.esm.js +125 -0
  275. package/dist/{wasmDsFlagSync-Ch0mFJNT.esm.js → wasmDsFlagSync-BqUCwLY8.esm.js} +2 -4
  276. package/dist/wasmWebClient-DM8lkb0z.esm.js +407 -0
  277. package/dist/watchlist-for-business.d.ts +1 -3
  278. package/dist/watchlist-for-business.esm.js +9 -9
  279. package/dist/watchlist.d.ts +1 -52
  280. package/dist/watchlist.esm.js +3 -70
  281. package/dist/{watchlistForBusinessStateMachine-R1Yp1g5A.esm.js → watchlistForBusinessStateMachine-BcBMkMvV.esm.js} +5 -7
  282. package/dist/watchlistManager-CjSMmbyq.esm.js +83 -0
  283. package/dist/watchlistManager-DLXef90v.d.ts +68 -0
  284. package/dist/{watchlistStateMachine-D07UVq1m.esm.js → watchlistStateMachine-Bl7Wy9Cm.esm.js} +5 -7
  285. package/dist/workflow.d.ts +239 -203
  286. package/dist/workflow.esm.js +156 -101
  287. package/dist/xstate-actors.esm-CtI5S0f4.esm.js +310 -0
  288. package/dist/{xstate.esm-nY3M5UYm.esm.js → xstate.esm-Cf4e0Cfd.esm.js} +136 -610
  289. package/package.json +14 -9
  290. package/dist/Actor-BwgmOPkb.d.ts +0 -2
  291. package/dist/Face2DProvider-CZU11g6r.esm.js +0 -824
  292. package/dist/FaceDetectionProvider-CPWg-PAH.d.ts +0 -119
  293. package/dist/IWasmUtilCapability-DaSNxgA8.d.ts +0 -150
  294. package/dist/PrivacyLensProvider-B_zrV25p.esm.js +0 -339
  295. package/dist/StateMachine-D5WO6lHS.d.ts +0 -2
  296. package/dist/StreamCanvasCapture-DHaWferF.d.ts +0 -42
  297. package/dist/ae-signature-Pp4oCAHD.esm.js +0 -12
  298. package/dist/api-DsbUi7TO.esm.js +0 -72
  299. package/dist/browser-DlFgHpoC-Br3G10gw.esm.js +0 -1425
  300. package/dist/browserSimulation-DZwEy9bu.esm.js +0 -2804
  301. package/dist/camera-CxxXV0VN.esm.js +0 -79
  302. package/dist/canvas-90BqS0NF.d.ts +0 -112
  303. package/dist/chunk-CIKcdghV.esm.js +0 -49
  304. package/dist/clientLifecycle-VyzRfALg.esm.js +0 -534
  305. package/dist/cpf-ocr.d.ts +0 -10
  306. package/dist/cpf-ocr.esm.js +0 -8
  307. package/dist/cpfOcrManager-9eM4z4o7.esm.js +0 -190
  308. package/dist/cpfOcrManager-C5U9E0hf.d.ts +0 -216
  309. package/dist/createFaceAvatar-BZSg2MNo.esm.js +0 -46
  310. package/dist/deepsightLoader-CU_tiLMx.esm.js +0 -62
  311. package/dist/flowServices-DkQmOkLV.esm.js +0 -208
  312. package/dist/geolocationManager-DaHYFkVO.d.ts +0 -156
  313. package/dist/getDeviceClass-DIjnTPjR.esm.js +0 -14
  314. package/dist/http-CnsKEaJY.esm.js +0 -0
  315. package/dist/idCaptureManager-CwuXtVu6.d.ts +0 -1013
  316. package/dist/index-BAyZ8_iI.d.ts +0 -93
  317. package/dist/openviduLazy-jPgABwrt.esm.js +0 -3
  318. package/dist/openviduLazy-wEojM41w.esm.js +0 -12
  319. package/dist/qe-signature-BnWIpR-O.esm.js +0 -12
  320. package/dist/sessionInitializer-Dj7-aJaP.esm.js +0 -547
  321. package/dist/tri.esm-DDJ1zOqG.esm.js +0 -2593
  322. package/dist/types-BcF-fii5.d.ts +0 -5
  323. package/dist/videoSelfieSteps-Djpv7cjb.esm.js +0 -58
  324. /package/dist/{IVisibilityObserverCapability-BZ1rE7ly.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
  325. /package/dist/{camera-CKU96nwJ.d.ts → camera-9wWD-pwg.d.ts} +0 -0
  326. /package/dist/{flowCompletionService-BOSTlAWo.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
  327. /package/dist/{types-BgjMAEXl.d.ts → types-Bk_6dmDa.d.ts} +0 -0
  328. /package/dist/{warmup-Dd0iq6KF.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
@@ -1,437 +1,5 @@
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
-
10
- //#endregion
11
- //#region ../infra/src/providers/browser/SemaphoreProvider.ts
12
- const DEFAULT_ACQUIRE_TIMEOUT_MS = 3e4;
13
- /**
14
- * Counting-semaphore implementation of {@link IConcurrencyCapability}.
15
- *
16
- * Default `maxConcurrent=1` makes it behave as a mutex; set higher for
17
- * parallel-bounded access. Each acquire returns a numeric `threadId` for
18
- * tracing — the slot index, in `[0, maxConcurrent)` — that must be passed back
19
- * to `release`.
20
- *
21
- * If all slots stay occupied longer than `acquireTimeoutMs` (default 30s), the
22
- * pending wait still resolves when a slot frees, but `console.error` is logged
23
- * as a deadlock-watchdog signal. Misuse — out-of-range or double-released
24
- * `threadId`s — is also logged and treated as a no-op rather than thrown.
25
- */
26
- var SemaphoreProvider = class {
27
- constructor(maxConcurrent = 1, acquireTimeoutMs = DEFAULT_ACQUIRE_TIMEOUT_MS) {
28
- this.pending = [];
29
- this.available = [];
30
- this.processing = /* @__PURE__ */ new Set();
31
- this.maxId = maxConcurrent - 1;
32
- this.acquireTimeoutMs = acquireTimeoutMs;
33
- for (let i = 0; i < maxConcurrent; i++) this.available.push(i);
34
- }
35
- /**
36
- * Acquire a slot. Resolves immediately with the slot's `threadId` if one is
37
- * free, otherwise queues FIFO and resolves when a holder releases.
38
- */
39
- async acquire() {
40
- if (this.available.length > 0) {
41
- const threadId = this.available.shift();
42
- this.processing.add(threadId);
43
- return threadId;
44
- }
45
- return new Promise((resolve, reject) => {
46
- const entry = {
47
- resolve: (threadId) => {
48
- clearTimeout(entry.timer);
49
- this.processing.add(threadId);
50
- resolve(threadId);
51
- },
52
- reject: (error) => {
53
- clearTimeout(entry.timer);
54
- reject(error);
55
- },
56
- timer: setTimeout(() => {
57
- console.error(`SemaphoreProvider: all slots occupied for ${this.acquireTimeoutMs}ms, ${this.pending.length} request(s) waiting`);
58
- }, this.acquireTimeoutMs)
59
- };
60
- this.pending.push(entry);
61
- });
62
- }
63
- /**
64
- * Return a slot to the pool. The next pending waiter (if any) is resolved
65
- * with this `threadId`; otherwise the slot is added back to `available`.
66
- * Releasing an out-of-range or already-released `threadId` logs an error and
67
- * is otherwise a no-op.
68
- */
69
- release(threadId) {
70
- if (threadId < 0 || threadId > this.maxId) {
71
- console.error(`SemaphoreProvider: invalid threadId ${threadId}`);
72
- return;
73
- }
74
- if (!this.processing.has(threadId)) {
75
- console.error(`SemaphoreProvider: double-release of threadId ${threadId}`);
76
- return;
77
- }
78
- this.processing.delete(threadId);
79
- if (this.pending.length > 0) this.pending.shift().resolve(threadId);
80
- else this.available.unshift(threadId);
81
- }
82
- /**
83
- * Cancel all pending acquires with a reset error and replenish all slots.
84
- * Existing holders are not contacted — a `release` after reset will log a
85
- * double-release warning rather than disrupt the new pool.
86
- */
87
- reset() {
88
- const waiters = this.pending;
89
- this.pending = [];
90
- this.available = [];
91
- this.processing = /* @__PURE__ */ new Set();
92
- for (let i = 0; i <= this.maxId; i++) this.available.push(i);
93
- for (const waiter of waiters) waiter.reject(/* @__PURE__ */ new Error("SemaphoreProvider reset: pending acquire cancelled"));
94
- }
95
- /**
96
- * Acquire a slot, invoke `fn(threadId, ...args)`, then release the slot in a
97
- * `finally` block. Errors thrown by `fn` propagate to the caller after the
98
- * slot is released.
99
- */
100
- async withLock(fn, ...args) {
101
- const threadId = await this.acquire();
102
- try {
103
- return await fn(threadId, ...args);
104
- } finally {
105
- this.release(threadId);
106
- }
107
- }
108
- };
109
-
110
- //#endregion
111
- //#region ../infra/src/wasm/apiUtilities.ts
112
- /**
113
- * Shared WASM module loader.
114
- *
115
- * The pinned `webLib.wasm` (see `wasmDefaults.ts`) bundles BOTH the ML pipeline
116
- * APIs (used by `mlWasmJSApi.ts`) AND a C++ `WebClient` HTTP client (used by
117
- * `wasmWebClient.ts`). Both consumers must share a single instantiated
118
- * `wasmModule` — calling the glue `Module()` factory twice would re-instantiate
119
- * the WASM heap and produce divergent state.
120
- *
121
- * This module memoizes the load: the first caller (whichever arrives first —
122
- * ML init or HTTP init) triggers the fetch + glue load, and subsequent callers
123
- * await the same promise. Idempotent on success; on failure, the singleton is
124
- * cleared so the next caller retries.
125
- *
126
- * SIMD fallback mirrors the legacy behavior: try the SIMD binary + SIMD glue
127
- * (`webLibSimd.js` + `webLibSimd.wasm`) first, fall back to the non-SIMD pair
128
- * (`webLib.js` + `webLib.wasm`) on instantiation failure. Each binary MUST be
129
- * paired with its matching glue — the CDN ships them as paired artifacts and
130
- * mixing them produces an unusable module.
131
- */
132
- if (typeof window !== "undefined" && window.wasmArrayBuffer === void 0) window.wasmArrayBuffer = null;
133
- let loadPromise = null;
134
- let loadedResult = null;
135
- async function importGlue(glueCodePath) {
136
- const mod = await import(
137
- /* @vite-ignore */
138
- /* webpackIgnore: true */
139
- glueCodePath
140
- );
141
- if (typeof mod.Module !== "function") throw new Error(`WASM glue at ${glueCodePath} did not export a Module factory`);
142
- return mod.Module;
143
- }
144
- async function fetchWasmBinary(libPath) {
145
- const response = await fetch(libPath);
146
- if (!response.ok) throw new Error(`Failed to fetch WASM binary at ${libPath}: ${response.status} ${response.statusText}`);
147
- const buffer = await response.arrayBuffer();
148
- return new Uint8Array(buffer);
149
- }
150
- async function instantiate(factory, libPath) {
151
- window.wasmArrayBuffer = await fetchWasmBinary(libPath);
152
- return await factory();
153
- }
154
- /**
155
- * Load the WASM module, memoized. Subsequent calls return the same instance.
156
- *
157
- * SIMD-first with fallback: if `useSimd !== false` and a `wasmSimdPath` is
158
- * provided, the SIMD binary + SIMD glue are tried first; on instantiation
159
- * failure the non-SIMD binary + non-SIMD glue are used. Each `.wasm` is
160
- * paired with its matching `.js` glue — they cannot be mixed.
161
- */
162
- async function loadWasmModule(config) {
163
- if (loadedResult) return loadedResult;
164
- if (loadPromise) return loadPromise;
165
- loadPromise = (async () => {
166
- try {
167
- const wantSimd = config.useSimd !== false;
168
- const simdBinary = config.wasmSimdPath ?? config.wasmPath;
169
- if (wantSimd && simdBinary !== config.wasmPath) try {
170
- const simdFactory = await importGlue(config.glueCodeSimdPath ?? deriveSiblingJsPath(simdBinary));
171
- window.Module = simdFactory;
172
- const result$1 = {
173
- wasmModule: await instantiate(simdFactory, simdBinary),
174
- simdUsed: true
175
- };
176
- loadedResult = result$1;
177
- return result$1;
178
- } catch (simdError) {
179
- console.warn("[Incode SDK] SIMD WASM load failed, falling back to non-SIMD", simdError);
180
- }
181
- const nonSimdFactory = await importGlue(config.glueCodePath);
182
- window.Module = nonSimdFactory;
183
- const result = {
184
- wasmModule: await instantiate(nonSimdFactory, config.wasmPath),
185
- simdUsed: false
186
- };
187
- loadedResult = result;
188
- return result;
189
- } catch (error) {
190
- loadPromise = null;
191
- throw error;
192
- }
193
- })();
194
- return loadPromise;
195
- }
196
-
197
- //#endregion
198
- //#region ../infra/src/wasm/IdCaptureModelType.ts
199
- let IdCaptureModelType = /* @__PURE__ */ function(IdCaptureModelType$1) {
200
- IdCaptureModelType$1[IdCaptureModelType$1["IdCaptureV1x"] = 0] = "IdCaptureV1x";
201
- IdCaptureModelType$1[IdCaptureModelType$1["IdCaptureV2x"] = 1] = "IdCaptureV2x";
202
- IdCaptureModelType$1[IdCaptureModelType$1["IdCaptureV3x"] = 2] = "IdCaptureV3x";
203
- return IdCaptureModelType$1;
204
- }({});
205
-
206
- //#endregion
207
- //#region ../infra/src/wasm/WasmPipelineType.ts
208
- let WasmPipelineType = /* @__PURE__ */ function(WasmPipelineType$1) {
209
- WasmPipelineType$1[WasmPipelineType$1["IdBlurGlarePipeline"] = 0] = "IdBlurGlarePipeline";
210
- WasmPipelineType$1[WasmPipelineType$1["IdBarcodeAndTextQualityPipeline"] = 1] = "IdBarcodeAndTextQualityPipeline";
211
- WasmPipelineType$1[WasmPipelineType$1["IdVideoSelfiePipeline"] = 2] = "IdVideoSelfiePipeline";
212
- WasmPipelineType$1[WasmPipelineType$1["SelfieWithAggregationMetrics"] = 3] = "SelfieWithAggregationMetrics";
213
- WasmPipelineType$1[WasmPipelineType$1["SelfieWithQualityMetrics"] = 4] = "SelfieWithQualityMetrics";
214
- WasmPipelineType$1[WasmPipelineType$1["OnDeviceSelfieWorkflow"] = 5] = "OnDeviceSelfieWorkflow";
215
- return WasmPipelineType$1;
216
- }({});
217
-
218
- //#endregion
219
- //#region ../infra/src/wasm/wasmCallUtils.ts
220
- async function wasmCallWrapper(concurrency, wasmMethod, useSemaphore = true, ...args) {
221
- const innerCall = async () => {
222
- while (true) {
223
- if (wasmMethod(...args)) return;
224
- await new Promise((resolve) => setTimeout(resolve, 0));
225
- }
226
- };
227
- if (useSemaphore) {
228
- await concurrency.withLock(innerCall);
229
- return;
230
- }
231
- await innerCall();
232
- }
233
-
234
- //#endregion
235
- //#region ../infra/src/wasm/wasmWebClient.ts
236
- /**
237
- * JavaScript bridge for the C++ `WebClient` exposed by `webLib.wasm`.
238
- *
239
- * The pinned WASM bundle ships a `WebClient` class alongside the ML pipeline
240
- * APIs. This module instantiates it once (sharing the singleton `wasmModule`
241
- * with `mlWasmJSApi`) and exposes a small TypeScript-friendly surface that
242
- * `createWasmApi` can drive.
243
- *
244
- * Concurrency model mirrors the legacy implementation:
245
- * - 4-slot semaphore keyed by per-request `threadId` so multiple HTTP calls
246
- * can run in parallel without trampling shared C++ state.
247
- * - Each WASM-side method that performs in-binary HTTP (request methods AND
248
- * `createApi`'s in-binary `/e2ee/key` handshake) returns `false` while in
249
- * flight and `true` once the C++ side has finished; the JS bridge awaits
250
- * completion via {@link wasmCallWrapper}.
251
- * - Result extraction (`getRequestResult`) is per-thread for HTTP requests
252
- * and uses `threadId = -1` for the session-level `createApi` handshake.
253
- *
254
- * Encryption support: `setupConnection` accepts an `encryptionEnabled` flag
255
- * that triggers the in-binary RSA/AES handshake. The OAEP MGF1 hash is
256
- * controlled by the `useSha256` flag forwarded to the C++ `createApi`:
257
- * `true` = SHA-256 MGF1, `false` = SHA-1 MGF1 (Java-compat default).
258
- * State lives in the C++ binary and (for SDK config) in
259
- * `@incodetech/core`'s `setup.ts` — this module caches nothing.
260
- */
261
- const HTTP_CONCURRENCY = 4;
262
- /**
263
- * Sentinel `threadId` used by the session-level `createApi` handshake when we
264
- * read its result via `getRequestResult`. Per-request HTTP traffic uses real
265
- * thread ids handed out by the semaphore; the handshake has no slot of its
266
- * own, so the C++ side stores its result under `-1`. Mirrors legacy
267
- * `checkError(threadId = -1)`.
268
- */
269
- const SETUP_THREAD_ID = -1;
270
- var WasmWebClientError = class extends Error {
271
- constructor(message, statusCode, data) {
272
- super(message);
273
- this.name = "WasmWebClientError";
274
- this.status = statusCode;
275
- this.statusCode = statusCode;
276
- if (statusCode > 0 || data !== void 0) this.response = {
277
- status: statusCode,
278
- data
279
- };
280
- }
281
- };
282
- let webClientApi = null;
283
- let initPromise = null;
284
- let semaphore = new SemaphoreProvider(HTTP_CONCURRENCY);
285
- const isWebClientWasm = (mod) => {
286
- return typeof mod.WebClient === "function";
287
- };
288
- const toStringRecord = (obj) => {
289
- if (!obj) return void 0;
290
- const result = {};
291
- for (const key of Object.keys(obj)) {
292
- const value = obj[key];
293
- if (value === void 0 || value === null) continue;
294
- result[key] = String(value);
295
- }
296
- return result;
297
- };
298
- /**
299
- * Loads the shared WASM module (if not already loaded) and instantiates the
300
- * C++ `WebClient`. Idempotent — repeated calls reuse the existing instance.
301
- *
302
- * `glueCodeSimdPath` is paired with `wasmSimdPath` (`webLibSimd.js` for
303
- * `webLibSimd.wasm`). Pass `''` to derive it automatically from
304
- * `wasmSimdPath` by replacing the `.wasm` extension with `.js`.
305
- */
306
- async function initializeWasmWebClient(wasmPath, wasmSimdPath, glueCodePath, glueCodeSimdPath, useSimd) {
307
- if (webClientApi) return;
308
- if (initPromise) return initPromise;
309
- initPromise = (async () => {
310
- try {
311
- const { wasmModule } = await loadWasmModule({
312
- wasmPath,
313
- wasmSimdPath,
314
- glueCodePath,
315
- glueCodeSimdPath: glueCodeSimdPath || void 0,
316
- useSimd
317
- });
318
- if (!isWebClientWasm(wasmModule)) throw new Error("WASM module does not expose a WebClient class. Update webLib.wasm to a build that includes WebClient.");
319
- webClientApi = new wasmModule.WebClient();
320
- } catch (error) {
321
- initPromise = null;
322
- throw error;
323
- }
324
- })();
325
- return initPromise;
326
- }
327
- /**
328
- * Configures the C++ WebClient connection. Safe to call multiple times — each
329
- * call resets the underlying session and re-applies default headers.
330
- *
331
- * `defaultHeaders` are applied **before** `createApi`, so the in-binary RSA
332
- * handshake (`GET /e2ee/key/v2` + `POST /e2ee/key`) sees the same headers as
333
- * data requests. Without this ordering, environments that require auth/version
334
- * headers on the handshake (e.g. `x-api-key`, `api-version`) would 401/4xx
335
- * before any encrypted traffic ever flowed.
336
- *
337
- * The C++ `createApi` returns `false` while the in-binary handshake is still
338
- * in flight and `true` once both the `/e2ee/key/v2` GET and the `/e2ee/key`
339
- * POST have completed (encryption on) or once the WebClient is configured
340
- * (encryption off — same boolean convention, just no network traffic). The
341
- * JS bridge waits on that boolean via {@link wasmCallWrapper}, then surfaces
342
- * any handshake error captured on the session-level (`threadId = -1`)
343
- * request slot. Mirrors legacy
344
- * `ms-incodesmile-web/packages/incode-welcome/src/wasmUtils/webClientApi.ts`
345
- * `setupConnection`.
346
- *
347
- * `useSha256` selects the OAEP MGF1 hash for the in-binary RSA wrap:
348
- * - `true` → MGF1 = SHA-256. Caller is responsible for attaching the
349
- * `X-RSA-Encryption-Scheme: RSA/NONE/OAEPWITHSHA-256ANDMGF1PADDING`
350
- * header on subsequent encrypted requests so the server matches.
351
- * - `false` → MGF1 = SHA-1 (Java-compat default). No scheme header needed;
352
- * the server falls back to the legacy Java default.
353
- */
354
- async function setupWasmConnection(apiURL, token, encryptionEnabled, defaultHeaders, useSha256) {
355
- const api = ensureReady();
356
- api.resetSessionState?.();
357
- api.setDefaultHeaders?.(defaultHeaders);
358
- await wasmCallWrapper(semaphore, () => api.createApi(apiURL, token, useSha256, encryptionEnabled), false);
359
- const result = api.getRequestResult(SETUP_THREAD_ID);
360
- if (result.hasError) throw new WasmWebClientError(result.errorMessage || "WebClient handshake failed", result.statusCode, result.result);
361
- }
362
- /**
363
- * Executes a single HTTP request through the WASM WebClient.
364
- *
365
- * Acquires a semaphore slot for `threadId`, registers progress callbacks, runs
366
- * the request via {@link wasmCallWrapper} (busy-polls until the WASM method
367
- * returns `true`), then extracts the per-thread result. Throws
368
- * {@link WasmWebClientError} on non-2xx or transport errors.
369
- *
370
- * The `ie` (inline-encryption) flag is forwarded to the C++ WebClient for
371
- * mutating methods. Default `false` — the SDK HTTP path leaves payloads
372
- * unencrypted at the WebClient layer. The C++ `WebApi.postFaceResults`
373
- * pre-encrypts its JSON via `SessionEncryptor` and calls back into this
374
- * function with `ie=true`; see {@link createWebApiHostAdapter}.
375
- */
376
- async function executeWasmRequest(method, url, body, headers, params, timeout, onUploadProgress, ie = false) {
377
- const api = ensureReady();
378
- const stringParams = toStringRecord(params);
379
- return semaphore.withLock(async (threadId) => {
380
- if (onUploadProgress && api.setOnUploadProgress) api.setOnUploadProgress((event) => {
381
- try {
382
- onUploadProgress(event);
383
- } catch (error) {
384
- console.error("WasmWebClient: error in onUploadProgress callback", error);
385
- }
386
- });
387
- try {
388
- await wasmCallWrapper(semaphore, () => callWasmMethod(api, method, threadId, url, body, headers, stringParams, timeout, ie), false);
389
- return readResult(api, threadId);
390
- } finally {
391
- api.clearOnUploadProgress?.(threadId);
392
- api.clearOnDownloadProgress?.(threadId);
393
- }
394
- });
395
- }
396
- function callWasmMethod(api, method, threadId, url, body, headers, params, timeout, ie) {
397
- switch (method) {
398
- case "GET": return api.get(threadId, url, params, headers, timeout);
399
- case "POST": return api.post(threadId, url, body ?? {}, headers, params, timeout, ie);
400
- case "PUT": return api.put(threadId, url, body ?? {}, headers, params, timeout, ie);
401
- case "PATCH": return api.patch(threadId, url, body ?? {}, headers, params, timeout, ie);
402
- case "DELETE": return api.del(threadId, url, body ?? {}, headers, params, timeout, ie);
403
- default: throw new Error(`Unsupported WASM HTTP method: ${method}`);
404
- }
405
- }
406
- const DEFAULT_WEBAPI_TIMEOUT_MS = 3e4;
407
- let webApiHttpTransport = null;
408
- function setWebApiHttpTransport(transport) {
409
- webApiHttpTransport = transport;
410
- }
411
- function createWebApiHostAdapter() {
412
- return { post(url, body, config) {
413
- const effectiveConfig = config ?? {};
414
- const transport = webApiHttpTransport;
415
- if (transport) return transport(url, body, effectiveConfig);
416
- return executeWasmRequest("POST", url, body, effectiveConfig.headers ?? {}, effectiveConfig.params, effectiveConfig.timeout ?? DEFAULT_WEBAPI_TIMEOUT_MS, void 0, effectiveConfig.ie === true);
417
- } };
418
- }
419
- function readResult(api, threadId) {
420
- const response = api.getRequestResult(threadId);
421
- if (response.hasError) throw new WasmWebClientError(response.errorMessage || "WasmWebClient request failed", response.statusCode, response.result);
422
- return {
423
- data: response.result,
424
- status: response.statusCode
425
- };
426
- }
427
- function ensureReady() {
428
- if (!webClientApi) throw new Error("WasmWebClient not initialized. Call initializeWasmWebClient() first.");
429
- return webClientApi;
430
- }
431
-
432
- //#endregion
433
- //#region ../infra/src/wasm/mlWasmJSApi.ts
434
- var MlWasmJSApi = class MlWasmJSApi {
1
+ import { c as loadWasmModule, l as SemaphoreProvider, n as createWebApiHostAdapter, s as wasmCallWrapper } from "./wasmWebClient-DM8lkb0z.esm.js";
2
+ var mlWasmJSApi_default = class MlWasmJSApi {
435
3
  constructor() {
436
4
  this.versionsFile = null;
437
5
  this.modelsBuffers = null;
@@ -605,12 +173,12 @@ var MlWasmJSApi = class MlWasmJSApi {
605
173
  if (this.inputImageBuffer === null) throw new Error("Unable to process the image, buffers haven't been allocated!");
606
174
  this.inputImageBuffer.set(image.data);
607
175
  switch (type) {
608
- case WasmPipelineType.IdBlurGlarePipeline:
609
- case WasmPipelineType.IdBarcodeAndTextQualityPipeline: return this.idCaptureWasmApi.runIdCaptureWorkflow(this.pipelineTypeToWasmEnum(type));
610
- case WasmPipelineType.IdVideoSelfiePipeline: return this.idCaptureWasmApi.runIdVideoSelfieWorkflow();
611
- case WasmPipelineType.SelfieWithAggregationMetrics:
612
- case WasmPipelineType.SelfieWithQualityMetrics:
613
- case WasmPipelineType.OnDeviceSelfieWorkflow: return this.faceProcessingWasmApi.runSelfieWorkflow(this.pipelineTypeToWasmEnum(type));
176
+ case 0:
177
+ case 1: return this.idCaptureWasmApi.runIdCaptureWorkflow(this.pipelineTypeToWasmEnum(type));
178
+ case 2: return this.idCaptureWasmApi.runIdVideoSelfieWorkflow();
179
+ case 3:
180
+ case 4:
181
+ case 5: return this.faceProcessingWasmApi.runSelfieWorkflow(this.pipelineTypeToWasmEnum(type));
614
182
  default: throw new Error("Unknown pipeline type");
615
183
  }
616
184
  }
@@ -670,6 +238,23 @@ var MlWasmJSApi = class MlWasmJSApi {
670
238
  this.checkWasmInitialization("Unable to set model type, cpp API hasn't been initialized");
671
239
  this.idCaptureWasmApi.setIdCaptureModelType(this.pipelineTypeToWasmEnum(pipelineType), this.IdCaptureModelTypeToWasmEnum(modelType));
672
240
  }
241
+ setIdBarcodeCaptureEnabled(pipelineType, enabled) {
242
+ this.checkWasmInitialization("Unable to set barcode capture enabled, cpp API hasn't been initialized");
243
+ this.idCaptureWasmApi.setIdBarcodeCaptureEnabled(this.pipelineTypeToWasmEnum(pipelineType), enabled);
244
+ }
245
+ setIdBarcodeAutoCaptureOnDecode(pipelineType, enabled) {
246
+ this.checkWasmInitialization("Unable to set barcode auto-capture-on-decode, cpp API hasn't been initialized");
247
+ this.idCaptureWasmApi.setIdBarcodeAutoCaptureOnDecode(this.pipelineTypeToWasmEnum(pipelineType), enabled);
248
+ }
249
+ setIdBarcodeDecodedCallback(pipelineType, onBarcodeDecoded) {
250
+ this.checkWasmInitialization("Unable to set barcode decoded callback, cpp API hasn't been initialized");
251
+ this.idCaptureWasmApi.setIdBarcodeDecodedCallback(this.pipelineTypeToWasmEnum(pipelineType), onBarcodeDecoded);
252
+ }
253
+ async setIdBarcodeEnhancementModel(pipelineType, modelPath) {
254
+ this.checkWasmInitialization("Unable to set barcode enhancement model, cpp API hasn't been initialized");
255
+ const buffer = await fetch(modelPath).then((response) => response.arrayBuffer()).then((buf) => new Uint8Array(buf));
256
+ return this.idCaptureWasmApi.setBarcodeEnhancementModel(this.pipelineTypeToWasmEnum(pipelineType), buffer);
257
+ }
673
258
  IdPerspectiveTransform(image, frameRect) {
674
259
  this.checkWasmInitialization("Unable to perform perspective transform, cpp API hasn't been initialized");
675
260
  return this.idCaptureWasmApi.IdPerspectiveTransform(image, frameRect);
@@ -689,8 +274,8 @@ var MlWasmJSApi = class MlWasmJSApi {
689
274
  const sizes = new this.wasmModule.VectorInt();
690
275
  for (const path of modelsPaths) {
691
276
  if (!loadedModels.has(path)) {
692
- const model$1 = await fetch(path).then((response) => response.arrayBuffer()).then((buffer) => new Uint8Array(buffer));
693
- loadedModels.set(path, model$1);
277
+ const model = await fetch(path).then((response) => response.arrayBuffer()).then((buffer) => new Uint8Array(buffer));
278
+ loadedModels.set(path, model);
694
279
  }
695
280
  const model = loadedModels.get(path);
696
281
  sizes.push_back(model.byteLength);
@@ -855,48 +440,46 @@ var MlWasmJSApi = class MlWasmJSApi {
855
440
  }
856
441
  pipelineTypeToWasmEnum(type) {
857
442
  switch (type) {
858
- case WasmPipelineType.IdBlurGlarePipeline: return this.wasmModule.WorkflowType.IdBlurGlareWorkflow;
859
- case WasmPipelineType.IdBarcodeAndTextQualityPipeline: return this.wasmModule.WorkflowType.IdBarcodeAndTextQualityWorkflow;
860
- case WasmPipelineType.IdVideoSelfiePipeline: return this.wasmModule.WorkflowType.IdVideoSelfieWorkflow;
861
- case WasmPipelineType.SelfieWithAggregationMetrics: return this.wasmModule.WorkflowType.SelfieWithAggregationMetrics;
862
- case WasmPipelineType.SelfieWithQualityMetrics: return this.wasmModule.WorkflowType.SelfieWithQualityMetrics;
863
- case WasmPipelineType.OnDeviceSelfieWorkflow: return this.wasmModule.WorkflowType.OnDeviceSelfieWorkflow;
443
+ case 0: return this.wasmModule.WorkflowType.IdBlurGlareWorkflow;
444
+ case 1: return this.wasmModule.WorkflowType.IdBarcodeAndTextQualityWorkflow;
445
+ case 2: return this.wasmModule.WorkflowType.IdVideoSelfieWorkflow;
446
+ case 3: return this.wasmModule.WorkflowType.SelfieWithAggregationMetrics;
447
+ case 4: return this.wasmModule.WorkflowType.SelfieWithQualityMetrics;
448
+ case 5: return this.wasmModule.WorkflowType.OnDeviceSelfieWorkflow;
864
449
  default: throw new Error("Unknown pipeline type");
865
450
  }
866
451
  }
867
452
  pipelineTypeFromWasmEnum(type) {
868
453
  switch (type) {
869
- case this.wasmModule.WorkflowType.IdBlurGlareWorkflow: return WasmPipelineType.IdBlurGlarePipeline;
870
- case this.wasmModule.WorkflowType.IdBarcodeAndTextQualityWorkflow: return WasmPipelineType.IdBarcodeAndTextQualityPipeline;
871
- case this.wasmModule.WorkflowType.IdVideoSelfieWorkflow: return WasmPipelineType.IdVideoSelfiePipeline;
872
- case this.wasmModule.WorkflowType.SelfieWithAggregationMetrics: return WasmPipelineType.SelfieWithAggregationMetrics;
873
- case this.wasmModule.WorkflowType.SelfieWithQualityMetrics: return WasmPipelineType.SelfieWithQualityMetrics;
874
- case this.wasmModule.WorkflowType.OnDeviceSelfieWorkflow: return WasmPipelineType.OnDeviceSelfieWorkflow;
454
+ case this.wasmModule.WorkflowType.IdBlurGlareWorkflow: return 0;
455
+ case this.wasmModule.WorkflowType.IdBarcodeAndTextQualityWorkflow: return 1;
456
+ case this.wasmModule.WorkflowType.IdVideoSelfieWorkflow: return 2;
457
+ case this.wasmModule.WorkflowType.SelfieWithAggregationMetrics: return 3;
458
+ case this.wasmModule.WorkflowType.SelfieWithQualityMetrics: return 4;
459
+ case this.wasmModule.WorkflowType.OnDeviceSelfieWorkflow: return 5;
875
460
  default: throw new Error("Unknown pipeline type");
876
461
  }
877
462
  }
878
463
  IdCaptureModelTypeToWasmEnum(type) {
879
464
  switch (type) {
880
- case IdCaptureModelType.IdCaptureV1x: return this.wasmModule.IdCaptureModelType.IdCaptureV1x;
881
- case IdCaptureModelType.IdCaptureV2x: return this.wasmModule.IdCaptureModelType.IdCaptureV2x;
882
- case IdCaptureModelType.IdCaptureV3x: return this.wasmModule.IdCaptureModelType.IdCaptureV3x;
465
+ case 0: return this.wasmModule.IdCaptureModelType.IdCaptureV1x;
466
+ case 1: return this.wasmModule.IdCaptureModelType.IdCaptureV2x;
467
+ case 2: return this.wasmModule.IdCaptureModelType.IdCaptureV3x;
883
468
  default: throw new Error("Unknown Id Capture model type");
884
469
  }
885
470
  }
886
471
  IdCaptureModelTypeFromWasmEnum(type) {
887
472
  switch (type) {
888
- case this.wasmModule.IdCaptureModelType.IdCaptureV1x: return IdCaptureModelType.IdCaptureV1x;
889
- case this.wasmModule.IdCaptureModelType.IdCaptureV2x: return IdCaptureModelType.IdCaptureV2x;
890
- case this.wasmModule.IdCaptureModelType.IdCaptureV3x: return IdCaptureModelType.IdCaptureV3x;
473
+ case this.wasmModule.IdCaptureModelType.IdCaptureV1x: return 0;
474
+ case this.wasmModule.IdCaptureModelType.IdCaptureV2x: return 1;
475
+ case this.wasmModule.IdCaptureModelType.IdCaptureV3x: return 2;
891
476
  default: throw new Error("Unknown Id Capture model type");
892
477
  }
893
478
  }
894
479
  checkWasmInitialization(message) {
895
480
  if (!this.isInitialized()) throw new Error(message);
896
481
  }
897
- };
898
- var mlWasmJSApi_default = MlWasmJSApi.getInstance();
899
-
482
+ }.getInstance();
900
483
  //#endregion
901
484
  //#region ../infra/src/wasm/warmup.ts
902
485
  /**
@@ -942,11 +525,11 @@ let lastConfig = null;
942
525
  let pipelinesInFlight = [];
943
526
  function mapPipelineToWasmType(pipeline) {
944
527
  switch (pipeline) {
945
- case "selfie": return WasmPipelineType.SelfieWithQualityMetrics;
946
- case "onDeviceSelfie": return WasmPipelineType.OnDeviceSelfieWorkflow;
947
- case "idCapture": return WasmPipelineType.IdBlurGlarePipeline;
948
- case "videoSelfie": return WasmPipelineType.SelfieWithAggregationMetrics;
949
- case "videoSelfieId": return WasmPipelineType.IdVideoSelfiePipeline;
528
+ case "selfie": return 4;
529
+ case "onDeviceSelfie": return 5;
530
+ case "idCapture": return 0;
531
+ case "videoSelfie": return 3;
532
+ case "videoSelfieId": return 2;
950
533
  default: throw new Error(`Unknown pipeline: ${pipeline}`);
951
534
  }
952
535
  }
@@ -961,6 +544,17 @@ function deriveModelsBasePath(wasmPath) {
961
544
  return `${wasmPath.substring(0, lastSlashIndex)}/models`;
962
545
  }
963
546
  /**
547
+ * The models base path resolved from the last successful warmup, mirroring the
548
+ * load-time resolution (explicit `modelsBasePath`, else derived from
549
+ * `wasmPath`). `undefined` before any warmup. Used to locate lazily-loaded
550
+ * models such as the PDF417 barcode enhancement model at the correct base so
551
+ * self-hosted / air-gapped deployments resolve it too.
552
+ */
553
+ function getResolvedModelsBasePath() {
554
+ if (!lastConfig) return;
555
+ return lastConfig.modelsBasePath ?? deriveModelsBasePath(lastConfig.wasmPath);
556
+ }
557
+ /**
964
558
  * Builds the pipelines map with model paths for WASM initialization.
965
559
  * @param pipelines - Array of pipeline types to initialize
966
560
  * @param modelsBasePath - Base path where model files are located
@@ -1017,7 +611,7 @@ async function warmupWasm(config) {
1017
611
  if (pipelines.filter((p) => !loadedPipelines.includes(p)).length === 0) return;
1018
612
  if (!lastConfig) throw new Error("Cannot add pipelines: original warmup config not available");
1019
613
  if (lastConfig.wasmPath !== config.wasmPath || lastConfig.glueCodePath !== config.glueCodePath || (lastConfig.wasmSimdPath ?? lastConfig.wasmPath) !== (config.wasmSimdPath ?? config.wasmPath) || (lastConfig.glueCodeSimdPath ?? "") !== (config.glueCodeSimdPath ?? "") || (lastConfig.useSimd ?? true) !== (config.useSimd ?? true)) throw new Error("Cannot add pipelines: WASM config mismatch. Use same wasmPath, glueCodePath, and useSimd settings.");
1020
- const combinedPipelines = [...new Set([...loadedPipelines, ...pipelines])];
614
+ const combinedPipelines = [.../* @__PURE__ */ new Set([...loadedPipelines, ...pipelines])];
1021
615
  state = "loading";
1022
616
  pipelinesInFlight = combinedPipelines;
1023
617
  wasmError = null;
@@ -1117,7 +711,6 @@ function waitForWasm() {
1117
711
  function setWasmOnDeviceMode(enabled) {
1118
712
  mlWasmJSApi_default.setOnDeviceMode(enabled);
1119
713
  }
1120
-
1121
714
  //#endregion
1122
715
  //#region ../infra/src/providers/wasm/BaseWasmProvider.ts
1123
716
  /**
@@ -1202,7 +795,6 @@ var BaseWasmProvider = class {
1202
795
  this._isInitialized = false;
1203
796
  }
1204
797
  };
1205
-
1206
798
  //#endregion
1207
799
  //#region ../infra/src/providers/wasm/WasmUtilProvider.ts
1208
800
  var WasmUtilProvider = class WasmUtilProvider extends BaseWasmProvider {
@@ -1352,6 +944,39 @@ var WasmUtilProvider = class WasmUtilProvider extends BaseWasmProvider {
1352
944
  return mlWasmJSApi_default.getVersions();
1353
945
  }
1354
946
  };
1355
-
1356
947
  //#endregion
1357
- export { mlWasmJSApi_default as a, initializeWasmWebClient as c, WasmPipelineType as d, IdCaptureModelType as f, warmupWasm as i, setWebApiHttpTransport as l, BaseWasmProvider as n, WasmWebClientError as o, deriveSiblingJsPath as p, setWasmOnDeviceMode as r, executeWasmRequest as s, WasmUtilProvider as t, setupWasmConnection as u };
948
+ //#region ../infra/src/storage/safeStorage.ts
949
+ /**
950
+ * Storage resolvers that tolerate hosts which make Web Storage unreachable.
951
+ *
952
+ * Two hostile shapes occur in the field, and they fail differently:
953
+ *
954
+ * 1. **Deleted bare global** — a page mitigates self-XSS with
955
+ * `delete window.localStorage` and keeps a module-private reference. Since
956
+ * `window` *is* the global object, the identifier stops resolving: a bare
957
+ * read throws `ReferenceError`. `typeof` is the only safe probe, because it
958
+ * is the one operator that tolerates an unresolvable identifier.
959
+ * 2. **Blocked storage** — a webview or a cross-origin/partitioned context
960
+ * makes the accessor itself throw (`SecurityError`). Here `typeof` is *not*
961
+ * enough: it invokes the getter, so the throw escapes the guard.
962
+ *
963
+ * Handling only one shape leaves the other live, so always go through these
964
+ * resolvers instead of touching the globals directly. A `null` return means
965
+ * "no storage in this host" — callers degrade, they do not throw.
966
+ */
967
+ function resolveLocalStorage() {
968
+ try {
969
+ return typeof localStorage === "undefined" ? null : localStorage;
970
+ } catch {
971
+ return null;
972
+ }
973
+ }
974
+ function resolveSessionStorage() {
975
+ try {
976
+ return typeof sessionStorage === "undefined" ? null : sessionStorage;
977
+ } catch {
978
+ return null;
979
+ }
980
+ }
981
+ //#endregion
982
+ export { getResolvedModelsBasePath as a, mlWasmJSApi_default as c, BaseWasmProvider as i, resolveSessionStorage as n, setWasmOnDeviceMode as o, WasmUtilProvider as r, warmupWasm as s, resolveLocalStorage as t };