@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,125 +1,18 @@
1
- import { i as warmupWasm, p as deriveSiblingJsPath, r as setWasmOnDeviceMode, t as WasmUtilProvider } from "./WasmUtilProvider-BgzcXBdl.esm.js";
2
- import { t as BrowserTimerProvider } from "./BrowserTimerProvider-CHloo0eQ.esm.js";
3
- import { a as resetApi, i as isApiConfigured, n as getApi, r as getToken, t as api } from "./api-DsbUi7TO.esm.js";
4
- import { i as upgradeToWasmHttpClient, n as installFreshHttpClient, r as resetHttpClientState, t as getStoredHttpConfig } from "./clientLifecycle-VyzRfALg.esm.js";
5
- import { _ as getAnalyticsBatcher, h as createAnalyticsBatchingService, v as resetAnalyticsBatcher, y as setAnalyticsBatcher } from "./events-1wxZ97yf.esm.js";
6
- import { t as endpoints } from "./endpoints-CwrFQfW7.esm.js";
7
- import { r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-BVy52wLy.esm.js";
8
- import { a as resetSessionInit, i as initializeSession, o as setClientFingerprintEnabled, s as setClientIpLookupEnabled } from "./sessionInitializer-Dj7-aJaP.esm.js";
9
- import { a as resetTRI, n as initializeTRI, o as resetTRIProviderInstance } from "./tri-CFAPtAUM.esm.js";
10
-
11
- //#region ../infra/src/wasm/wasmDefaults.ts
12
- const WASM_CDN_BASE_URL = "https://cdn.incodesmile.com/ml-wasm-kit-release";
13
- /** The WASM version bundled and tested with this SDK release. */
14
- const DEFAULT_WASM_VERSION = "v2.14.07-post7-post3";
15
- const PATH_KEYS = [
16
- "wasmPath",
17
- "wasmSimdPath",
18
- "glueCodePath",
19
- "glueCodeSimdPath",
20
- "modelsBasePath"
21
- ];
22
- function isBlank(value) {
23
- return value.trim() === "";
24
- }
25
- function hasDisallowedControlChars(value) {
26
- for (let i = 0; i < value.length; i += 1) {
27
- const code = value.charCodeAt(i);
28
- if (code < 32 || code === 127) return true;
29
- }
30
- return false;
31
- }
32
- function isMalformedPath(value) {
33
- const trimmed = value.trim();
34
- if (trimmed === "") return false;
35
- if (hasDisallowedControlChars(trimmed)) return true;
36
- if (/^https?:\/\//i.test(trimmed)) try {
37
- new URL(trimmed);
38
- return false;
39
- } catch {
40
- return true;
41
- }
42
- return false;
43
- }
44
- function warnInvalidWasmPath(field, reason) {
45
- if (reason === "empty") {
46
- console.warn(`[Incode SDK] wasm.${field} is empty. Falling back to CDN default.`);
47
- return;
48
- }
49
- console.warn(`[Incode SDK] wasm.${field} appears malformed. Falling back to CDN default.`);
50
- }
51
- function warnMalformedWasmPath(field) {
52
- console.warn(`[Incode SDK] wasm.${field} appears malformed. Check the URL or path.`);
53
- }
54
- /**
55
- * Validates merged WASM path strings. When overrides contained blank path
56
- * values, callers should have already fallen back to defaults before this runs.
57
- */
58
- function validateWasmPaths(config) {
59
- for (const key of PATH_KEYS) {
60
- const value = config[key];
61
- if (typeof value === "string" && isMalformedPath(value)) warnMalformedWasmPath(key);
62
- }
63
- }
64
- function pickPath(key, overrides, defaultValue) {
65
- if (!overrides || !(key in overrides)) return defaultValue;
66
- const raw = overrides[key];
67
- if (raw === void 0) return defaultValue;
68
- if (typeof raw !== "string") return defaultValue;
69
- if (isBlank(raw)) {
70
- warnInvalidWasmPath(key, "empty");
71
- return defaultValue;
72
- }
73
- if (isMalformedPath(raw)) {
74
- warnInvalidWasmPath(key, "malformed");
75
- return defaultValue;
76
- }
77
- return raw.trim();
78
- }
79
- /** Builds a WarmupConfig from a directory that mirrors the ml-wasm-kit CDN layout. */
80
- function buildWasmConfigFromBasePath(basePath) {
81
- const base = basePath.endsWith("/") ? basePath.slice(0, -1) : basePath;
82
- return {
83
- wasmPath: `${base}/webLib.wasm`,
84
- wasmSimdPath: `${base}/webLibSimd.wasm`,
85
- glueCodePath: `${base}/webLib.js`,
86
- glueCodeSimdPath: `${base}/webLibSimd.js`,
87
- modelsBasePath: `${base}/models`
88
- };
89
- }
90
- /** Builds the standard WarmupConfig from the Incode CDN. */
91
- function buildDefaultWasmConfig() {
92
- return buildWasmConfigFromBasePath(`${WASM_CDN_BASE_URL}/${DEFAULT_WASM_VERSION}`);
93
- }
94
- /**
95
- * Merges optional WASM path overrides with CDN defaults. Explicit non-blank
96
- * paths take precedence. Blank override strings log a warning and fall back to defaults.
97
- */
98
- function resolveWasmConfig(overrides) {
99
- if (!overrides) return buildDefaultWasmConfig();
100
- const defaults = buildWasmConfigFromBasePath(pickPath("basePath", overrides, `${WASM_CDN_BASE_URL}/${DEFAULT_WASM_VERSION}`));
101
- const simdDefault = defaults.wasmSimdPath ?? defaults.wasmPath;
102
- const modelsDefault = defaults.modelsBasePath ?? (() => {
103
- const lastSlash = defaults.wasmPath.lastIndexOf("/");
104
- return lastSlash === -1 ? "models" : `${defaults.wasmPath.substring(0, lastSlash)}/models`;
105
- })();
106
- const resolvedWasmSimdPath = pickPath("wasmSimdPath", overrides, simdDefault);
107
- const glueCodeSimdDefault = deriveSiblingJsPath(resolvedWasmSimdPath);
108
- const merged = {
109
- wasmPath: pickPath("wasmPath", overrides, defaults.wasmPath),
110
- wasmSimdPath: resolvedWasmSimdPath,
111
- glueCodePath: pickPath("glueCodePath", overrides, defaults.glueCodePath),
112
- glueCodeSimdPath: pickPath("glueCodeSimdPath", overrides, glueCodeSimdDefault),
113
- modelsBasePath: pickPath("modelsBasePath", overrides, modelsDefault),
114
- useSimd: overrides.useSimd,
115
- pipelines: overrides.pipelines,
116
- pipelineModels: overrides.pipelineModels
117
- };
118
- validateWasmPaths(merged);
119
- return merged;
120
- }
121
-
122
- //#endregion
1
+ import { a as resolveWasmConfig } from "./wasmDefaults-DTUrftxR.esm.js";
2
+ import { o as setWasmOnDeviceMode, r as WasmUtilProvider, s as warmupWasm } from "./safeStorage-Ep56I-f_.esm.js";
3
+ import { t as BrowserStorageProvider } from "./BrowserStorageProvider-k-FDkC4W.esm.js";
4
+ import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
5
+ import { C as resetFeatureManagement, D as applyEnvironment, O as getEnvironment, S as optOutFeatureManagement, b as initializeFeatureManagement, c as resetResolvedExperiments, k as resetEnvironment, v as getIsFeatureManagementLocked, w as resetFeatureManagementProviderInstance } from "./feature-management-DS_Nj5Gg.esm.js";
6
+ import { t as getTimestamp } from "./IBrowserEnvironmentCapability-DEaRRk-R.esm.js";
7
+ import { a as resetApi, i as isApiConfigured, n as getApi, r as getToken, s as setHttpRequestObserver, t as api } from "./api-Bx3gKW_y.esm.js";
8
+ import { C as upgradeToWasmHttpClient$1, S as resetHttpClientState, b as getStoredHttpConfig, g as noteTestingSignals, l as trueSightLog, n as initializeTrueSightDiagnostics, o as resetTrueSight, t as finalizeTrueSight, u as categoryForEndpoint, x as installFreshHttpClient } from "./trueSightService-6dTpiaTh.esm.js";
9
+ import { b as resetAnalyticsBatcher, c as resetExperimentAssignments, x as setAnalyticsBatcher, y as getAnalyticsBatcher } from "./events-CxfNJVZW.esm.js";
10
+ import { a as resetSessionInit, d as resolveStandaloneFlowPolicy, f as setStandaloneFlowPolicy, i as initializeSession, l as registerFlowPreloader, o as setClientFingerprintEnabled, s as setClientIpLookupEnabled, u as resetStandaloneFlowPolicy, v as BrowserEnvironmentProvider } from "./sessionInitializer-CV6Rj_dn.esm.js";
11
+ import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
12
+ import "./trueSight-B8G85W4z.esm.js";
13
+ import { r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-B0nFKawG.esm.js";
14
+ import { a as resetTRI, n as initializeTRI, o as resetTRIProviderInstance } from "./tri-4RsGrIt6.esm.js";
15
+ import { n as preloadDashboardFlow, r as resetDashboardFlowCache } from "./flowServices-unhF9V9F.esm.js";
123
16
  //#region ../infra/src/providers/browser/BrowserPageLifecycleProvider.ts
124
17
  var BrowserPageLifecycleProvider = class {
125
18
  sendBeacon(url, body, contentType = "application/json") {
@@ -141,7 +34,201 @@ var BrowserPageLifecycleProvider = class {
141
34
  };
142
35
  }
143
36
  };
144
-
37
+ //#endregion
38
+ //#region src/internal/events/AnalyticsBatchingService.ts
39
+ const DEFAULT_MAX_BATCH_SIZE = 50;
40
+ const DEFAULT_MAX_BATCH_AGE_MS = 1e3;
41
+ const DEFAULT_MAX_RETRIES = 2;
42
+ const RETRY_BASE_DELAY_MS = 250;
43
+ function isTransientStatus(status) {
44
+ return status === 0 || status >= 500 || status === 408 || status === 429;
45
+ }
46
+ function createAnalyticsBatchingService(options) {
47
+ const { endpoint, authToken, pageLifecycle, timer, apiBaseUrl, apiClient = api, maxBatchSize = DEFAULT_MAX_BATCH_SIZE, maxBatchAgeMs = DEFAULT_MAX_BATCH_AGE_MS, maxRetries = DEFAULT_MAX_RETRIES } = options;
48
+ let buffer = [];
49
+ let started = false;
50
+ let disposed = false;
51
+ let ageTimerHandle = null;
52
+ let unsubscribeLifecycle = null;
53
+ let warnedNullToken = false;
54
+ function clearAgeTimer() {
55
+ if (ageTimerHandle !== null) {
56
+ timer.clearTimeout(ageTimerHandle);
57
+ ageTimerHandle = null;
58
+ }
59
+ }
60
+ function armAgeTimerIfNeeded() {
61
+ if (ageTimerHandle === null) ageTimerHandle = timer.setTimeout(() => {
62
+ ageTimerHandle = null;
63
+ flush();
64
+ }, maxBatchAgeMs);
65
+ }
66
+ function dropTokenless() {
67
+ if (!warnedNullToken) {
68
+ warnedNullToken = true;
69
+ console.warn("[AnalyticsBatchingService] Dropping batch: no auth token at flush time.");
70
+ }
71
+ }
72
+ function sendBatch(batch, attempt) {
73
+ let promise;
74
+ try {
75
+ promise = apiClient.post(endpoint, batch, { keepalive: true });
76
+ } catch (error) {
77
+ handleSendError(batch, error, attempt);
78
+ return;
79
+ }
80
+ promise.catch((error) => handleSendError(batch, error, attempt));
81
+ }
82
+ function handleSendError(batch, error, attempt) {
83
+ if (disposed) return;
84
+ if (!isTransientStatus(error && typeof error === "object" && "status" in error ? Number(error.status) || 0 : 0)) return;
85
+ if (attempt >= maxRetries) return;
86
+ const delay = RETRY_BASE_DELAY_MS * 2 ** attempt;
87
+ timer.setTimeout(() => {
88
+ if (disposed) return;
89
+ sendBatch(batch, attempt + 1);
90
+ }, delay);
91
+ }
92
+ function flush() {
93
+ if (disposed || buffer.length === 0) return;
94
+ const batch = buffer;
95
+ buffer = [];
96
+ clearAgeTimer();
97
+ if (!authToken()) {
98
+ dropTokenless();
99
+ return;
100
+ }
101
+ sendBatch(batch, 0);
102
+ }
103
+ function handlePageHide() {
104
+ if (disposed || buffer.length === 0) return;
105
+ const batch = buffer;
106
+ buffer = [];
107
+ clearAgeTimer();
108
+ const token = authToken();
109
+ if (!token) {
110
+ dropTokenless();
111
+ return;
112
+ }
113
+ const url = `${apiBaseUrl().replace(/\/$/, "")}${endpoint}`;
114
+ const body = JSON.stringify({
115
+ token,
116
+ events: batch
117
+ });
118
+ pageLifecycle.sendBeacon(url, body);
119
+ }
120
+ function enqueue(entry) {
121
+ if (disposed) return;
122
+ buffer.push(entry);
123
+ if (!started) return;
124
+ if (buffer.length >= maxBatchSize) {
125
+ flush();
126
+ return;
127
+ }
128
+ armAgeTimerIfNeeded();
129
+ }
130
+ function start() {
131
+ if (started || disposed) return;
132
+ started = true;
133
+ unsubscribeLifecycle = pageLifecycle.onPageHide(handlePageHide);
134
+ if (buffer.length > 0) flush();
135
+ }
136
+ function dispose() {
137
+ if (disposed) return;
138
+ disposed = true;
139
+ clearAgeTimer();
140
+ unsubscribeLifecycle?.();
141
+ unsubscribeLifecycle = null;
142
+ buffer = [];
143
+ }
144
+ return {
145
+ enqueue,
146
+ start,
147
+ flush,
148
+ dispose
149
+ };
150
+ }
151
+ //#endregion
152
+ //#region src/internal/recordings/videoSelfieUploadService.ts
153
+ /**
154
+ * Origin of the dedicated video-selfie-service (e.g.
155
+ * `https://video-selfie-service.stage.incodetest.com`), set from
156
+ * `setup({ videoSelfie: { apiURL } })`. Testing/special-env override: when
157
+ * unset (production), the upload endpoints resolve against the main `apiURL`
158
+ * and the service mesh (Istio) routes them to the service. The service
159
+ * accepts the same session token; the shared `api` client attaches it either
160
+ * way.
161
+ */
162
+ let serviceBaseUrl = null;
163
+ function setVideoSelfieServiceUrl(url) {
164
+ let trimmed = url ?? "";
165
+ while (trimmed.endsWith("/")) trimmed = trimmed.slice(0, -1);
166
+ serviceBaseUrl = trimmed || null;
167
+ }
168
+ function uploadUrl(path) {
169
+ return serviceBaseUrl ? `${serviceBaseUrl}${path}` : path;
170
+ }
171
+ /**
172
+ * Opens a multipart video-selfie upload session. Idempotent server-side: if
173
+ * an upload is already in progress for the session, the same `uploadId`
174
+ * comes back along with the parts already stored (`parts` non-empty) — but
175
+ * always with a fresh `epoch` that locks out whoever held the previous one.
176
+ */
177
+ async function initiateVideoSelfieUpload() {
178
+ const response = await api.post(uploadUrl(endpoints.videoSelfieUploadInitiate));
179
+ return {
180
+ uploadId: response.data.uploadId,
181
+ epoch: response.data.epoch,
182
+ parts: response.data.parts ?? []
183
+ };
184
+ }
185
+ /**
186
+ * Uploads a single chunk as a multipart part. The body is the raw video bytes
187
+ * (no base64, no client-side encryption — encryption at rest is server-side
188
+ * S3 SSE). Every part except the last must be >= 5 MiB (enforced
189
+ * server-side). Returns the part number + `etag` needed to complete the
190
+ * upload. Rejects with a `409` status when a newer initiate fenced this
191
+ * session out.
192
+ */
193
+ async function uploadVideoSelfiePart(session, partNumber, chunk) {
194
+ const response = await api.post(uploadUrl(endpoints.videoSelfieUploadPart), chunk, {
195
+ query: {
196
+ uploadId: session.uploadId,
197
+ epoch: session.epoch,
198
+ partNumber
199
+ },
200
+ headers: { "Content-Type": "application/octet-stream" }
201
+ });
202
+ return {
203
+ partNumber: response.data.partNumber,
204
+ etag: response.data.etag
205
+ };
206
+ }
207
+ /**
208
+ * Finalizes the upload. The service assembles from the parts it stored; the
209
+ * optional `parts` list is deliberately NOT sent — chunks staged below the
210
+ * S3 minimum are combined and renumbered server-side, so a client-side list
211
+ * could contradict the authoritative one. Safe to repeat if the response
212
+ * was lost. Returns the server-reported status. Rejects with `400` naming a
213
+ * missing part when the sequence has a hole.
214
+ */
215
+ async function completeVideoSelfieUpload(session) {
216
+ return (await api.post(uploadUrl(endpoints.videoSelfieUploadComplete), {
217
+ uploadId: session.uploadId,
218
+ epoch: session.epoch
219
+ })).data.status;
220
+ }
221
+ /**
222
+ * Discards an in-progress upload and everything already sent for it, so the
223
+ * backend fails the upload straight away instead of waiting for its expiry.
224
+ * Call when a recording is abandoned or its upload can no longer complete.
225
+ */
226
+ async function abortVideoSelfieUpload(session) {
227
+ return (await api.post(uploadUrl(endpoints.videoSelfieUploadAbort), {
228
+ uploadId: session.uploadId,
229
+ epoch: session.epoch
230
+ })).data.status;
231
+ }
145
232
  //#endregion
146
233
  //#region ../infra/src/providers/browser/DevtoolsDetectorProvider.ts
147
234
  var DevtoolsDetectorProvider = class {
@@ -229,7 +316,6 @@ onmessage = (ev) => { postMessage({isOpenBeat:true});
229
316
  }
230
317
  }
231
318
  };
232
-
233
319
  //#endregion
234
320
  //#region src/internal/device/devtoolsDetectorBridge.ts
235
321
  const devtoolsDetector = new DevtoolsDetectorProvider();
@@ -255,7 +341,6 @@ function startDevtoolsDetector() {
255
341
  function stopDevtoolsDetector() {
256
342
  devtoolsDetector.stop();
257
343
  }
258
-
259
344
  //#endregion
260
345
  //#region src/setup.ts
261
346
  let wasmConfig;
@@ -287,6 +372,44 @@ function normalizeEncryption(input) {
287
372
  }
288
373
  let configured = false;
289
374
  /**
375
+ * One-line environment facts for TrueSight's snapshot-on-first-error entry
376
+ * (navigator facts read through the L0 provider — core never touches
377
+ * browser globals directly).
378
+ */
379
+ function buildEnvironmentSnapshot() {
380
+ const environment = new BrowserEnvironmentProvider();
381
+ const read = (property) => {
382
+ try {
383
+ return environment.getNavigatorProperty(property);
384
+ } catch {
385
+ return;
386
+ }
387
+ };
388
+ const connection = read("connection");
389
+ return [
390
+ `connection=${typeof connection?.effectiveType === "string" ? connection.effectiveType : "unknown"}`,
391
+ `saveData=${connection?.saveData === true}`,
392
+ `online=${read("onLine") !== false}`,
393
+ `language=${typeof read("language") === "string" ? String(read("language")) : "unknown"}`
394
+ ].join(" ");
395
+ }
396
+ /**
397
+ * ENG-48677 event map row 23b: every Incode HTTP request, success or
398
+ * failure, becomes a self-health line (Android-dashboard parity). Lives here
399
+ * rather than in `api.ts` — `trueSightService` already imports from that
400
+ * module, so a direct `trueSightLog` import there would cycle; `setup()`
401
+ * wires this adapter in as the decoupled observer instead.
402
+ */
403
+ function logHttpRequestTiming(entry) {
404
+ const category = categoryForEndpoint(entry.endpoint);
405
+ const status = entry.httpStatus ?? "unknown";
406
+ if (entry.outcome === "success") {
407
+ trueSightLog("debug", "http", category, `http request completed endpoint=${entry.endpoint} method=${entry.method} httpStatus=${status} durationMs=${entry.durationMs}`);
408
+ return;
409
+ }
410
+ trueSightLog("error", "http", category, `http request failed endpoint=${entry.endpoint} method=${entry.method} httpStatus=${status} durationMs=${entry.durationMs}`);
411
+ }
412
+ /**
290
413
  * Initializes the SDK with the provided configuration.
291
414
  * Must be called before using any SDK functionality.
292
415
  *
@@ -423,11 +546,17 @@ let configured = false;
423
546
  * ```
424
547
  */
425
548
  async function setup(options) {
549
+ const standaloneFlowPolicy = resolveStandaloneFlowPolicy(options.flow);
550
+ const flowOptions = typeof options.flow === "object" ? options.flow : {};
551
+ const shouldPreloadFlow = options.flow !== false && flowOptions.preload === true;
552
+ setStandaloneFlowPolicy(standaloneFlowPolicy);
553
+ registerFlowPreloader(preloadDashboardFlow);
426
554
  if (options.ipLookup !== void 0) setClientIpLookupEnabled(options.ipLookup);
427
555
  if (options.fingerprint !== void 0) {
428
556
  setClientFingerprintEnabled(options.fingerprint);
429
557
  setWasmOnDeviceMode(options.fingerprint === false);
430
558
  }
559
+ if (options.videoSelfie?.apiURL !== void 0) setVideoSelfieServiceUrl(options.videoSelfie.apiURL);
431
560
  if (!getAnalyticsBatcher()) setAnalyticsBatcher(createAnalyticsBatchingService({
432
561
  endpoint: endpoints.events,
433
562
  authToken: () => getToken(),
@@ -436,6 +565,18 @@ async function setup(options) {
436
565
  pageLifecycle: new BrowserPageLifecycleProvider(),
437
566
  timer: BrowserTimerProvider.getInstance()
438
567
  }));
568
+ initializeTrueSightDiagnostics({
569
+ enabled: options.trueSight?.enabled !== false,
570
+ pageLifecycle: new BrowserPageLifecycleProvider(),
571
+ timer: BrowserTimerProvider.getInstance(),
572
+ storage: new BrowserStorageProvider(),
573
+ getEnvironmentSnapshot: buildEnvironmentSnapshot
574
+ });
575
+ noteTestingSignals({
576
+ devMode: options.devMode,
577
+ apiUrl: options.apiURL
578
+ });
579
+ setHttpRequestObserver(logHttpRequestTiming);
439
580
  const requestedEncryption = normalizeEncryption(options.encryption);
440
581
  const stored = getStoredHttpConfig();
441
582
  if (requestedEncryption && stored) {
@@ -447,20 +588,39 @@ async function setup(options) {
447
588
  mgf1: "sha1"
448
589
  };
449
590
  const effectiveWasm = options.wasm || requestedEncryption?.enabled ? resolveWasmConfig(options.wasm || {}) : void 0;
450
- if (options.apiURL) await installFreshHttpClient(options.apiURL, options, effectiveWasm, effectiveEncryption);
451
- if (options.token && isApiConfigured()) initializeSession({
452
- token: options.token,
453
- hostingApp: options.hostingApp
454
- }).catch((error) => {
455
- console.warn("Session initialization failed:", error);
456
- });
591
+ if (options.apiURL) try {
592
+ await installFreshHttpClient(options.apiURL, options, effectiveWasm, effectiveEncryption);
593
+ } catch (error) {
594
+ trueSightLog("severe", "http", "other", `http client install failed error=${String(error)}`);
595
+ throw error;
596
+ }
597
+ if (options.token && isApiConfigured()) {
598
+ const sessionOptions = {
599
+ token: options.token,
600
+ hostingApp: options.hostingApp
601
+ };
602
+ if (shouldPreloadFlow) sessionOptions.preloadFlow = true;
603
+ const sessionPromise = initializeSession(sessionOptions);
604
+ if (shouldPreloadFlow) await sessionPromise;
605
+ else sessionPromise.catch((error) => {
606
+ console.warn("Session initialization failed:", error);
607
+ });
608
+ }
457
609
  configured = true;
610
+ applyEnvironment(options.environment);
458
611
  if (effectiveWasm) {
459
612
  wasmConfig = {
460
613
  ...effectiveWasm,
461
614
  pipelines: effectiveWasm.pipelines ? [...effectiveWasm.pipelines] : void 0
462
615
  };
463
- await warmupWasm(effectiveWasm);
616
+ const warmupStartedAt = getTimestamp();
617
+ try {
618
+ await warmupWasm(effectiveWasm);
619
+ } catch (error) {
620
+ trueSightLog("severe", "wasm", "other", `wasm warmup failed error=${String(error)} durationMs=${getTimestamp() - warmupStartedAt}`);
621
+ throw error;
622
+ }
623
+ trueSightLog("debug", "wasm", "other", `wasm warmup completed durationMs=${getTimestamp() - warmupStartedAt}`);
464
624
  const provider = await WasmUtilProvider.getInstance();
465
625
  await provider.initialize({
466
626
  ...effectiveWasm,
@@ -470,6 +630,19 @@ async function setup(options) {
470
630
  await provider.setProductionMode(!showWasmLogs);
471
631
  if (!options.devMode) startDevtoolsDetector();
472
632
  }
633
+ if (!getIsFeatureManagementLocked()) if (options.featureManagement === false) optOutFeatureManagement();
634
+ else {
635
+ const featureManagementSetupOptions = typeof options.featureManagement === "object" ? options.featureManagement : {};
636
+ await initializeFeatureManagement({
637
+ environment: getEnvironment(),
638
+ clientExperimentId: featureManagementSetupOptions.clientExperimentId,
639
+ disableStableId: featureManagementSetupOptions.disableStableId,
640
+ disablePersistence: featureManagementSetupOptions.disablePersistence,
641
+ custom: featureManagementSetupOptions.custom,
642
+ redactedUserInfo: featureManagementSetupOptions.redactedUserInfo
643
+ });
644
+ }
645
+ else if (options.featureManagement !== void 0) console.error("[FeatureManagement] Feature management is locked after the first setup() call and cannot be changed (re-enabled, disabled, or reconfigured). Ignoring this change. Call reset() before changing it.");
473
646
  if (options.tri) await initializeTRI(options.tri, { sessionToken: options.token });
474
647
  }
475
648
  /**
@@ -531,10 +704,10 @@ async function ensureWasmPipelines(pipelines) {
531
704
  *
532
705
  * @param config - Optional WASM configuration. Defaults to the config stored via `setWasmConfig`.
533
706
  */
534
- async function upgradeToWasmHttpClient$1(config) {
707
+ async function upgradeToWasmHttpClient(config) {
535
708
  const configToUse = config ?? wasmConfig;
536
709
  if (!configToUse) return;
537
- await upgradeToWasmHttpClient(resolveWasmConfig(configToUse));
710
+ await upgradeToWasmHttpClient$1(resolveWasmConfig(configToUse));
538
711
  }
539
712
  /**
540
713
  * Checks if the SDK has been configured.
@@ -548,21 +721,30 @@ function isConfigured() {
548
721
  * Resets the SDK configuration. Useful for testing.
549
722
  */
550
723
  function reset() {
724
+ finalizeTrueSight("failure", "sdk_reset");
551
725
  stopDevtoolsDetector();
552
726
  resetDeviceStatsQueue();
553
727
  resetApi();
554
728
  resetSessionInit();
729
+ resetDashboardFlowCache();
730
+ resetStandaloneFlowPolicy();
555
731
  setClientIpLookupEnabled(true);
556
732
  setClientFingerprintEnabled(true);
557
733
  setWasmOnDeviceMode(false);
734
+ setVideoSelfieServiceUrl(null);
558
735
  resetAnalyticsBatcher();
736
+ resetExperimentAssignments();
737
+ resetResolvedExperiments();
559
738
  resetHttpClientState();
560
739
  resetTRI();
561
740
  configured = false;
562
741
  wasmConfig = void 0;
563
742
  WasmUtilProvider.resetInstance();
564
743
  resetTRIProviderInstance();
744
+ resetFeatureManagement();
745
+ resetFeatureManagementProviderInstance();
746
+ resetEnvironment();
747
+ resetTrueSight();
565
748
  }
566
-
567
749
  //#endregion
568
- export { setWasmConfig as a, DEFAULT_WASM_VERSION as c, resolveWasmConfig as d, reset as i, buildDefaultWasmConfig as l, initializeWasmUtil as n, setup as o, isConfigured as r, upgradeToWasmHttpClient$1 as s, ensureWasmPipelines as t, buildWasmConfigFromBasePath as u };
750
+ export { setWasmConfig as a, abortVideoSelfieUpload as c, uploadVideoSelfiePart as d, reset as i, completeVideoSelfieUpload as l, initializeWasmUtil as n, setup as o, isConfigured as r, upgradeToWasmHttpClient as s, ensureWasmPipelines as t, initiateVideoSelfieUpload as u };