@incodetech/core 2.2.0 → 2.3.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 (258) hide show
  1. package/THIRD_PARTY_NOTICES.txt +281 -0
  2. package/dist/BaseWasmProvider-Dyi6dKp1.d.ts +65 -0
  3. package/dist/{BrowserDiagnosticsCryptoProvider-B8vorxN5.esm.js → BrowserDiagnosticsCryptoProvider-C_9o3L2L.esm.js} +1 -1
  4. package/dist/{BrowserVisibilityObserverProvider-BX1BiLDK.esm.js → BrowserVisibilityObserverProvider-BrJN1B8A.esm.js} +2 -0
  5. package/dist/FaceDetectionProvider-DTetAE8H.esm.js +476 -0
  6. package/dist/FaceDetectionProvider-LdZ47bWy.d.ts +36 -0
  7. package/dist/{IIdCaptureCapability-DHTT3FC2.d.ts → IIdCaptureCapability-RNiFhvXR.d.ts} +7 -33
  8. package/dist/IWasmUtilCapability-CXXDA5l1.d.ts +159 -0
  9. package/dist/{MotionSensorProvider-DGiV77J_.esm.js → MotionSensorProvider-BgTYwg9L.esm.js} +1 -1
  10. package/dist/{deepsightService-DLVQS_RH.d.ts → StreamCanvasCapture-B3YT2Bt6.d.ts} +54 -41
  11. package/dist/{StreamCanvasCapture-D2XcXCZ4.esm.js → StreamCanvasCapture-C9jtgBdT.esm.js} +2 -2
  12. package/dist/{addressSearch-D1XpBdUS.esm.js → addressSearch-BRSu_aGA.esm.js} +1 -1
  13. package/dist/advanceableErrors-CpF2cBy6.esm.js +21 -0
  14. package/dist/ae-signature.d.ts +4 -2
  15. package/dist/ae-signature.esm.js +1 -1
  16. package/dist/antifraud.esm.js +2 -2
  17. package/dist/{antifraudManager-CQFNgSPt.esm.js → antifraudManager-Bg9ynGum.esm.js} +2 -2
  18. package/dist/{antifraudStateMachine-Bf_JVNwn.esm.js → antifraudStateMachine-BHxehiJZ.esm.js} +1 -1
  19. package/dist/{apiError-BA1d_au0.esm.js → apiError-D0v5hFyN.esm.js} +14 -2
  20. package/dist/authentication.d.ts +3 -3
  21. package/dist/authentication.esm.js +2 -2
  22. package/dist/{authenticationManager-zh9TC62P.esm.js → authenticationManager-C4B4-29g.esm.js} +5 -5
  23. package/dist/{authenticationManager-BBMGTcwW.d.ts → authenticationManager-DXTIUcma.d.ts} +7 -1
  24. package/dist/{authenticationStateMachine-xzi-vnvE.esm.js → authenticationStateMachine-DJ0zUm-A.esm.js} +6 -62
  25. package/dist/avatar.d.ts +1 -2
  26. package/dist/avatar.esm.js +1 -1
  27. package/dist/{backCameraStream-CUeYm5eu.esm.js → backCameraStream-BOtyQowf.esm.js} +83 -22
  28. package/dist/{camera-_2sXMXiF.esm.js → camera-sIa9ceW2.esm.js} +19 -1
  29. package/dist/camera.esm.js +1 -1
  30. package/dist/{canvas-E1zGkel4.esm.js → canvas-BxFzWTt-.esm.js} +19 -0
  31. package/dist/certificate-issuance.d.ts +2 -302
  32. package/dist/certificate-issuance.esm.js +3 -66
  33. package/dist/certificateIssuanceManager-Bfvkq7Cy.esm.js +69 -0
  34. package/dist/certificateIssuanceManager-DCgEidHz.d.ts +312 -0
  35. package/dist/{certificateIssuanceStateMachine-D_R92TYu.esm.js → certificateIssuanceStateMachine-BBD5h8c4.esm.js} +1 -1
  36. package/dist/consent.d.ts +1 -1
  37. package/dist/consent.esm.js +2 -2
  38. package/dist/{consentManager-BxjpLZAG.esm.js → consentManager-B5Vqdez-.esm.js} +2 -2
  39. package/dist/{consentManager-3Pbtj-RV.d.ts → consentManager-uhDPdU6i.d.ts} +4 -4
  40. package/dist/{consentStateMachine-D9D4ON8Z.esm.js → consentStateMachine-DbUmqWgV.esm.js} +1 -1
  41. package/dist/createCameraCycleOwnership-DQ5-F2oW.esm.js +826 -0
  42. package/dist/{createFaceAvatar-DQKaRise.esm.js → createFaceAvatar-BNHdeFj8.esm.js} +2 -2
  43. package/dist/createFaceAvatar-BlcTYgJv.d.ts +497 -0
  44. package/dist/cross-document-data-match.esm.js +1 -1
  45. package/dist/{crossDocumentDataMatchManager-CGT0V6RV.esm.js → crossDocumentDataMatchManager-QMOGwHXR.esm.js} +2 -2
  46. package/dist/curp-validation.d.ts +1 -1
  47. package/dist/curp-validation.esm.js +2 -2
  48. package/dist/{curpValidationManager-6Nmkn5u1.esm.js → curpValidationManager-D1ppROcF.esm.js} +2 -2
  49. package/dist/{curpValidationManager-DVGr7Fq7.d.ts → curpValidationManager-SSKNrm5Z.d.ts} +1 -1
  50. package/dist/{curpValidationStateMachine-Ds7KMacK.esm.js → curpValidationStateMachine-DvUPC_8S.esm.js} +1 -1
  51. package/dist/custom-fields.d.ts +2 -114
  52. package/dist/custom-fields.esm.js +2 -232
  53. package/dist/custom-watchlist.d.ts +2 -51
  54. package/dist/custom-watchlist.esm.js +3 -70
  55. package/dist/customFieldsManager-2j_PBq4U.esm.js +264 -0
  56. package/dist/customFieldsManager-8-W2KY4n.d.ts +141 -0
  57. package/dist/customWatchlistManager-DUVrEdw9.esm.js +73 -0
  58. package/dist/customWatchlistManager-PBWHr_oM.d.ts +64 -0
  59. package/dist/{customWatchlistStateMachine-YWSgKLbF.esm.js → customWatchlistStateMachine-qZVgkKgP.esm.js} +1 -1
  60. package/dist/{deepsightLoader--wMKWECS.esm.js → deepsightLoader-Dm7ejW4v.esm.js} +27 -71
  61. package/dist/device.d.ts +25 -2
  62. package/dist/device.esm.js +69 -7
  63. package/dist/document-capture.d.ts +2 -2
  64. package/dist/document-capture.esm.js +2 -2
  65. package/dist/{documentCaptureManager-DsQQhWry.esm.js → documentCaptureManager-DR_Wv-3H.esm.js} +2 -2
  66. package/dist/{documentCaptureManager-B3t0ydtg.d.ts → documentCaptureManager-DensIj5F.d.ts} +83 -83
  67. package/dist/{documentCaptureStateMachine-BM4Ex_5x.esm.js → documentCaptureStateMachine-CWOATHfE.esm.js} +5 -5
  68. package/dist/dynamic-forms.d.ts +1 -1
  69. package/dist/dynamic-forms.esm.js +2 -2
  70. package/dist/{dynamicFormsManager-fhK0yINk.d.ts → dynamicFormsManager-D5R_uxLQ.d.ts} +25 -3
  71. package/dist/{dynamicFormsManager-fFVIRBNv.esm.js → dynamicFormsManager-Dt98SDfV.esm.js} +16 -5
  72. package/dist/{dynamicFormsStateMachine-D6D7oEYk.esm.js → dynamicFormsStateMachine-obKr4IIp.esm.js} +35 -3
  73. package/dist/ekyb.d.ts +1 -1
  74. package/dist/ekyb.esm.js +3 -3
  75. package/dist/{ekybManager-Y3MkoXpC.esm.js → ekybManager-DNZKrKF3.esm.js} +2 -2
  76. package/dist/{ekybStateMachine-3nlnqdlr.esm.js → ekybStateMachine-DjhHQXZ8.esm.js} +3 -3
  77. package/dist/ekyc.esm.js +2 -2
  78. package/dist/{ekycManager-DgT48ky6.esm.js → ekycManager-CmQBpeiI.esm.js} +2 -2
  79. package/dist/{ekycStateMachine-CQwqiR-R.esm.js → ekycStateMachine-CmdW2gVm.esm.js} +2 -2
  80. package/dist/electronic-signature.d.ts +3 -3
  81. package/dist/electronic-signature.esm.js +2 -2
  82. package/dist/electronicSignatureManager-Ds-KEVTq.d.ts +2786 -0
  83. package/dist/{electronicSignatureManager-DGbAJ00W.esm.js → electronicSignatureManager-DzulxM4_.esm.js} +357 -51
  84. package/dist/email.esm.js +2 -2
  85. package/dist/{emailManager-BY0jeYwR.esm.js → emailManager-B5ek_UfM.esm.js} +2 -2
  86. package/dist/{emailStateMachine-Crw8QVmc.esm.js → emailStateMachine-CyPFZ7dW.esm.js} +1 -1
  87. package/dist/{endpoints-CCzL3XD_.esm.js → endpoints-D3B9mUHh.esm.js} +24 -7
  88. package/dist/{events-DYiyoSlx.esm.js → events-ijlbX_Wx.esm.js} +2 -2
  89. package/dist/events.d.ts +1 -1
  90. package/dist/events.esm.js +1 -1
  91. package/dist/extensibility.d.ts +24 -64
  92. package/dist/extensibility.esm.js +35 -29
  93. package/dist/face-match.esm.js +2 -2
  94. package/dist/{faceCaptureManagerFactory-BxWPpxyd.d.ts → faceCaptureManagerFactory-CvtqcLxs.d.ts} +87 -54
  95. package/dist/{faceCaptureManagerFactory-CVnZ0fa5.esm.js → faceCaptureManagerFactory-pCmG4MeF.esm.js} +68 -7
  96. package/dist/faceCaptureSetup-BSextack.esm.js +2106 -0
  97. package/dist/{faceMatchManager-Ri4UbNz0.esm.js → faceMatchManager-Caal2zyV.esm.js} +2 -2
  98. package/dist/{faceMatchStateMachine-20DdZ3jg.esm.js → faceMatchStateMachine-BUc5FXYy.esm.js} +1 -1
  99. package/dist/{feature-management-CPQ4qv3F.esm.js → feature-management-B0sGlozZ.esm.js} +32 -7
  100. package/dist/feature-management.d.ts +1 -1
  101. package/dist/feature-management.esm.js +1 -1
  102. package/dist/field-comparison.esm.js +1 -1
  103. package/dist/{fieldComparisonManager-Cg6kPQQx.esm.js → fieldComparisonManager-BIs6HPJG.esm.js} +2 -2
  104. package/dist/fiscal-qr.d.ts +2 -56
  105. package/dist/fiscal-qr.esm.js +2 -308
  106. package/dist/fiscalQrManager-Bp_-3LJr.esm.js +34131 -0
  107. package/dist/fiscalQrManager-CHcBJwUM.d.ts +68 -0
  108. package/dist/flow-events.d.ts +1 -1
  109. package/dist/flow.d.ts +212 -185
  110. package/dist/flow.esm.js +119 -30
  111. package/dist/{flowCompletionService-tfeoGre9.esm.js → flowCompletionService-CLtbWhSK.esm.js} +2 -2
  112. package/dist/{flowServices-f5Ruz7R9.esm.js → flowServices-B5FwukTQ.esm.js} +91 -26
  113. package/dist/geolocation.esm.js +2 -2
  114. package/dist/{geolocationManager-CH6RfqFH.esm.js → geolocationManager-DIw-xq9a.esm.js} +2 -2
  115. package/dist/{geolocationStateMachine-DmbWFely.esm.js → geolocationStateMachine-DpG0TFOU.esm.js} +3 -3
  116. package/dist/getBrowser-CBiibsL-.esm.js +19 -0
  117. package/dist/{getBrowser-DNrQeL4T.esm.js → getBrowser-Cbe1C4Tn.esm.js} +2 -1
  118. package/dist/{getDeviceClass-9y-kbVDw.esm.js → getDeviceClass-5NYZg9s6.esm.js} +2 -2
  119. package/dist/getParsedUserAgent-B2iFDql1.esm.js +1278 -0
  120. package/dist/government-validation.d.ts +2 -85
  121. package/dist/government-validation.esm.js +3 -120
  122. package/dist/governmentValidationManager-D02vT4yY.d.ts +63 -0
  123. package/dist/governmentValidationManager-TjC9iVjH.esm.js +79 -0
  124. package/dist/governmentValidationStateMachine-D1ZnEqdd.esm.js +54 -0
  125. package/dist/home.d.ts +1 -1
  126. package/dist/home.esm.js +1 -1
  127. package/dist/id-ocr.d.ts +2 -2
  128. package/dist/id-ocr.esm.js +2 -2
  129. package/dist/id-selfie-flow.d.ts +3 -2
  130. package/dist/id-selfie-flow.esm.js +11 -10
  131. package/dist/id-verification.esm.js +2 -2
  132. package/dist/id.d.ts +29 -5
  133. package/dist/id.esm.js +48 -46
  134. package/dist/idCaptureDefaults-BcxjQDI3.esm.js +484 -0
  135. package/dist/{idCaptureManager-CqrqSjJV.d.ts → idCaptureManager-CvmHOWWd.d.ts} +227 -39
  136. package/dist/{idCaptureManager-BYwTZ2H8.esm.js → idCaptureManager-Vby8oYqh.esm.js} +259 -46
  137. package/dist/{idCaptureServices-44kwQItl.esm.js → idCaptureServices-CJIxD9ep.esm.js} +342 -31
  138. package/dist/idCaptureStateMachine-CmqihkUy.esm.js +5343 -0
  139. package/dist/{idOcrManager-DXc_xRN7.d.ts → idOcrManager-BF_cXZq8.d.ts} +1 -1
  140. package/dist/{idOcrManager-BIQYQXXj.esm.js → idOcrManager-DHU22hVn.esm.js} +2 -2
  141. package/dist/{idOcrStateMachine-cSxzHpHt.esm.js → idOcrStateMachine-33UvRAHE.esm.js} +1 -1
  142. package/dist/{idVerificationManager-JpV_SAsl.esm.js → idVerificationManager-CyaixD0D.esm.js} +2 -2
  143. package/dist/{idVerificationStateMachine-nPeUNyFq.esm.js → idVerificationStateMachine-BPGrQZEm.esm.js} +1 -1
  144. package/dist/identity-reuse.esm.js +2 -2
  145. package/dist/{identityReuseManager-kNCg9AbD.esm.js → identityReuseManager-CWaNHBO3.esm.js} +2 -2
  146. package/dist/{identityReuseStateMachine-DyulxDjP.esm.js → identityReuseStateMachine-CQgnATo5.esm.js} +1 -1
  147. package/dist/{index-CLMF0QLQ.d.ts → index-DLcJT5YP.d.ts} +1 -1
  148. package/dist/index.d.ts +1 -1
  149. package/dist/index.esm.js +1 -1
  150. package/dist/{invokeOnCaptureCallback-GpvMuz9o.esm.js → invokeOnCaptureCallback-BjzPjJ_p.esm.js} +1 -1
  151. package/dist/mandatory-consent.d.ts +2 -2
  152. package/dist/mandatory-consent.esm.js +2 -2
  153. package/dist/{mandatoryConsentManager-DyPzUmsZ.d.ts → mandatoryConsentManager-CJSyhTpi.d.ts} +5 -5
  154. package/dist/{mandatoryConsentManager-B4Niyg_u.esm.js → mandatoryConsentManager-Du-m-tZ_.esm.js} +2 -2
  155. package/dist/{mandatoryConsentStateMachine-B4-1u-L8.esm.js → mandatoryConsentStateMachine-DSDAk7WZ.esm.js} +1 -1
  156. package/dist/multipartRecordingService-B3C_zlev.esm.js +594 -0
  157. package/dist/{permissionGuards-KINpmKtI.esm.js → permissionGuards-uYZYFu4J.esm.js} +1 -1
  158. package/dist/{permissionServices-UvUcOSRb.esm.js → permissionServices-Bj_fyWtv.esm.js} +5 -5
  159. package/dist/personhood.d.ts +6 -5
  160. package/dist/personhood.esm.js +10 -10
  161. package/dist/phone.esm.js +2 -2
  162. package/dist/{phoneManager-FsJ0W2Ei.esm.js → phoneManager-N1-sbrY4.esm.js} +2 -2
  163. package/dist/{phoneStateMachine-Ba0wKHyX.esm.js → phoneStateMachine-jl8LJKCo.esm.js} +1 -1
  164. package/dist/{platform-BJrm5nzZ.esm.js → platform-DkcRc9JV.esm.js} +29 -1
  165. package/dist/qe-signature.d.ts +5 -3
  166. package/dist/qe-signature.esm.js +2 -2
  167. package/dist/recordingsRepository-CCWy13M-.esm.js +72 -0
  168. package/dist/redirect-to-mobile.esm.js +2 -2
  169. package/dist/{redirectToMobileManager-y4VQB11M.esm.js → redirectToMobileManager-DsFzdTwA.esm.js} +2 -2
  170. package/dist/{redirectToMobileStateMachine-Cyv2x0PP.esm.js → redirectToMobileStateMachine-v3otpT-L.esm.js} +1 -1
  171. package/dist/{rolldown-runtime-FZ4Itg2g.esm.js → rolldown-runtime-FDOR9p9I.esm.js} +1 -19
  172. package/dist/{runChildModule-Dukuw23X.esm.js → runChildModule-TuyGE00X.esm.js} +3 -21
  173. package/dist/safeStorage-B-trhxg6.esm.js +423 -0
  174. package/dist/{sdkVersion-D1Bm59g6.esm.js → sdkVersion-CLxKvdyz.esm.js} +1 -1
  175. package/dist/selfie.d.ts +5 -5
  176. package/dist/selfie.esm.js +14 -76
  177. package/dist/{selfieErrorUtils-C2PYBVsp.esm.js → selfieErrorUtils-C77GXJH6.esm.js} +30 -4
  178. package/dist/{selfieManager-Bj6B2ZVy.esm.js → selfieManager-CihVnODO.esm.js} +5 -5
  179. package/dist/{selfieManager-DwlCppg0.d.ts → selfieManager-D1KRJ39M.d.ts} +8 -11
  180. package/dist/selfieStateMachine-fwMmNtOi.esm.js +69 -0
  181. package/dist/{session-BFdLgN4i.esm.js → session-BHIeAamR.esm.js} +4 -5
  182. package/dist/session.d.ts +21 -11
  183. package/dist/session.esm.js +5 -5
  184. package/dist/{sessionInitializer-dlfDehHk.esm.js → sessionInitializer-BLoK7SP9.esm.js} +187 -68
  185. package/dist/{setup-BgoWtvIS.d.ts → setup-Cv-JM9QC.d.ts} +63 -69
  186. package/dist/{setup-BIAtLa8k.esm.js → setup-msLybMbC.esm.js} +226 -100
  187. package/dist/signature.esm.js +2 -2
  188. package/dist/{signatureManager-Ca43yhwk.esm.js → signatureManager-ChsB-nMD.esm.js} +2 -2
  189. package/dist/{signatureStateMachine-K1LMRrxG.esm.js → signatureStateMachine-BHPwkJZS.esm.js} +1 -1
  190. package/dist/{src-0Jurt29N.esm.js → src-35ekGRzK.esm.js} +1 -1
  191. package/dist/{stats-B0nFKawG.esm.js → stats-DkK-f8JT.esm.js} +1 -1
  192. package/dist/stats.esm.js +1 -1
  193. package/dist/{trueSightService---iW2KKJ.esm.js → trueSightService-CKrrfV0Q.esm.js} +7 -7
  194. package/dist/trust-graph.esm.js +1 -1
  195. package/dist/{types-BX_XkMsQ2.d.ts → types-9_esGTPj.d.ts} +1 -1
  196. package/dist/types-BT_Oalip.d.ts +1 -0
  197. package/dist/{types-DelMqZLe.d.ts → types-BjSly8cp.d.ts} +1 -1
  198. package/dist/{types-Hmd7U0JA.d.ts → types-CM-jtjJ2.d.ts} +6 -81
  199. package/dist/{types-Bdf8_LYB2.d.ts → types-CjKBS37a2.d.ts} +303 -13
  200. package/dist/{types-DVmXIdzW.d.ts → types-D0gekt4U.d.ts} +38 -5
  201. package/dist/types-DgDvvzg0.d.ts +10 -0
  202. package/dist/{types-KPvmag_B.d.ts → types-Do5rEXij.d.ts} +7 -4
  203. package/dist/types-ZT1XFIJ8.d.ts +6 -0
  204. package/dist/video-selfie.d.ts +59 -35
  205. package/dist/video-selfie.esm.js +510 -601
  206. package/dist/{videoSelfieCameraWarmer-NEhFZvWx.esm.js → videoSelfieCameraWarmer-CB1IzZkt.esm.js} +14 -153
  207. package/dist/videoSelfieFlowModuleMachine-BUe2uACW.esm.js +32 -0
  208. package/dist/{videoSelfieStepDetector-D3oo2ofo.d.ts → videoSelfieStepDetector-5YHFe0Mq.d.ts} +21 -5
  209. package/dist/virtualCameraCheck-WOloJ-do.esm.js +48 -0
  210. package/dist/warmup-CUUnwYxe.esm.js +714 -0
  211. package/dist/warmup-Cis2p6O0.d.ts +128 -0
  212. package/dist/wasm.d.ts +30 -6
  213. package/dist/wasm.esm.js +36 -4
  214. package/dist/{wasmDsFlagSync-BqUCwLY8.esm.js → wasmDsFlagSync-B2e8p268.esm.js} +2 -2
  215. package/dist/{wasmWebClient-DM8lkb0z.esm.js → wasmWebClient-B7baE-Wf.esm.js} +358 -28
  216. package/dist/watchlist-for-business.d.ts +2 -78
  217. package/dist/watchlist-for-business.esm.js +3 -102
  218. package/dist/watchlist.esm.js +2 -2
  219. package/dist/watchlistForBusinessManager-CpuuB1J2.esm.js +107 -0
  220. package/dist/watchlistForBusinessManager-CsnJnG-C.d.ts +99 -0
  221. package/dist/{watchlistForBusinessStateMachine-CxFnlshm.esm.js → watchlistForBusinessStateMachine-DEzgjz7C.esm.js} +13 -6
  222. package/dist/{watchlistManager-LoNZH9qm.esm.js → watchlistManager-CI8BHFob.esm.js} +2 -2
  223. package/dist/{watchlistStateMachine-DIKQDoUT.esm.js → watchlistStateMachine-DvOby3a-.esm.js} +1 -1
  224. package/dist/workflow.d.ts +12 -8
  225. package/dist/workflow.esm.js +48 -39
  226. package/package.json +4 -10
  227. package/dist/BrowserStorageProvider-k-FDkC4W.esm.js +0 -67
  228. package/dist/FaceDetectionProvider-Mh6q3EbA.d.ts +0 -349
  229. package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +0 -23
  230. package/dist/IStorageCapability-ORkQfK3F.d.ts +0 -242
  231. package/dist/OpenViduRecordingProvider-Du98qevC.esm.js +0 -85
  232. package/dist/createFaceAvatar-BEj18KXi.d.ts +0 -50
  233. package/dist/document-upload.d.ts +0 -325
  234. package/dist/document-upload.esm.js +0 -197
  235. package/dist/electronicSignatureManager-CcUXQZS7.d.ts +0 -1300
  236. package/dist/faceCaptureSetup-Cd-04W_X.esm.js +0 -863
  237. package/dist/getBrowser-Cb8Zgrgp.esm.js +0 -7
  238. package/dist/getParsedUserAgent-pJjATANs.esm.js +0 -1622
  239. package/dist/governmentValidationStateMachine-CK9DrZXX.esm.js +0 -226
  240. package/dist/idCaptureDefaults-WeHbQM7W.esm.js +0 -225
  241. package/dist/idCaptureStateMachine-kZ5OpdfM.esm.js +0 -3342
  242. package/dist/lib-DAyUtOTj.esm.js +0 -12420
  243. package/dist/manualReviewService-D4IkipnN.esm.js +0 -15
  244. package/dist/mediaRecorderOptions-dALSV8af.esm.js +0 -40
  245. package/dist/onDeviceFaceResults-CUHwyZT4.esm.js +0 -646
  246. package/dist/openviduLazy-CCDpFWg1.esm.js +0 -10
  247. package/dist/recordingService-3NSENVwp.esm.js +0 -329
  248. package/dist/safeStorage-Ep56I-f_.esm.js +0 -982
  249. package/dist/selfieStateMachine-CHV_WNst.esm.js +0 -55
  250. package/dist/trueSight-B_icM8r2.esm.js +0 -1
  251. package/dist/types-EELWyWpd.d.ts +0 -6
  252. package/dist/types-Vb4P9ovf.d.ts +0 -22
  253. package/dist/warmup-Dv2alr2-.d.ts +0 -82
  254. package/dist/wasmDefaults-DTUrftxR.esm.js +0 -125
  255. package/dist/{Face2DProvider-UUQt_vRC.esm.js → Face2DProvider-BF48sz5c.esm.js} +1 -1
  256. package/dist/{PrivacyLensProvider-D8PS7AJa.esm.js → PrivacyLensProvider-EwnC_C5n.esm.js} +1 -1
  257. /package/dist/{types-BfgmV7s72.d.ts → types-BfgmV7s7.d.ts} +0 -0
  258. /package/dist/{types-CJ7Yl9K-2.d.ts → types-CJ7Yl9K-.d.ts} +0 -0
@@ -0,0 +1,141 @@
1
+ import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
2
+ import { t as Manager } from "./Manager-CQQ99QOI.js";
3
+ import "./Actor-iTq7YY48.js";
4
+ //#region src/modules/custom-fields/types.d.ts
5
+ type CustomFieldType = 'INTEGER' | 'DOUBLE' | 'BOOLEAN' | 'STRING' | 'DATE';
6
+ type CustomField = {
7
+ name: string;
8
+ alias: string;
9
+ type: CustomFieldType;
10
+ };
11
+ type CustomFieldsConfig = {
12
+ title: string;
13
+ customFields: CustomField[];
14
+ };
15
+ //#endregion
16
+ //#region src/modules/custom-fields/customFieldsStateMachine.d.ts
17
+ type CustomFieldsResult = 'success' | 'failed';
18
+ type CustomFieldsValidationErrors = Record<string, string>;
19
+ declare const customFieldsMachine: any;
20
+ type CustomFieldsMachine = typeof customFieldsMachine;
21
+ //#endregion
22
+ //#region src/modules/custom-fields/customFieldsActor.d.ts
23
+ type CreateCustomFieldsActorOptions = {
24
+ config: CustomFieldsConfig;
25
+ };
26
+ type CustomFieldsActor = ActorRefFrom<CustomFieldsMachine>;
27
+ //#endregion
28
+ //#region src/modules/custom-fields/customFieldsManager.d.ts
29
+ /**
30
+ * A `CustomField` enriched with a computed `label` for display.
31
+ * Label is derived from `alias` when present, otherwise auto-formatted from `name`.
32
+ */
33
+ type MappedCustomField = CustomField & {
34
+ label: string;
35
+ };
36
+ /** Custom fields manager is in initial state, waiting for `load()` to be called */
37
+ type CustomFieldsIdleState = {
38
+ status: 'idle';
39
+ };
40
+ /**
41
+ * Ready for field input — use `setField()` and `submit()`
42
+ * @property title - Form title from configuration
43
+ * @property customFields - Field definitions with computed display labels
44
+ * @property validationErrors - Required-field errors surfaced after a failed submit attempt
45
+ * @property canSubmit - Optimistically true until validation errors are displayed
46
+ */
47
+ type CustomFieldsInputtingState = {
48
+ status: 'inputting';
49
+ title: string;
50
+ customFields: MappedCustomField[];
51
+ validationErrors?: CustomFieldsValidationErrors;
52
+ canSubmit: boolean;
53
+ };
54
+ /** Fields are being submitted to the backend */
55
+ type CustomFieldsSubmittingState = {
56
+ status: 'submitting';
57
+ title: string;
58
+ };
59
+ /** API call succeeded — success page is visible for ~3 s before finishing */
60
+ type CustomFieldsSuccessState = {
61
+ status: 'success';
62
+ };
63
+ /** Custom fields flow complete. `result` indicates whether the API call succeeded or failed. */
64
+ type CustomFieldsFinishedState = {
65
+ status: 'finished';
66
+ result: CustomFieldsResult | null;
67
+ };
68
+ /**
69
+ * Union of all possible custom fields manager states.
70
+ */
71
+ type CustomFieldsState = CustomFieldsIdleState | CustomFieldsInputtingState | CustomFieldsSubmittingState | CustomFieldsSuccessState | CustomFieldsFinishedState;
72
+ /**
73
+ * Creates a custom fields manager for headless or UI-driven usage.
74
+ *
75
+ * @param options - Configuration options
76
+ * @param options.config - Custom fields configuration (title + field definitions)
77
+ *
78
+ * @returns Custom fields manager with state, API methods, and subscription
79
+ *
80
+ * @example Headless usage
81
+ * ```typescript
82
+ * const manager = createCustomFieldsManager({
83
+ * config: {
84
+ * title: 'Additional Information',
85
+ * customFields: [{ name: 'company', alias: 'Company', type: 'STRING' }],
86
+ * },
87
+ * });
88
+ *
89
+ * manager.subscribe((state) => console.log(state.status));
90
+ * manager.load();
91
+ * manager.setField('company', 'Incode');
92
+ * manager.submit();
93
+ * manager.stop();
94
+ * ```
95
+ */
96
+ declare function createCustomFieldsManager(options: CreateCustomFieldsActorOptions): Manager<CustomFieldsState> & {
97
+ /**
98
+ * Initializes the custom fields flow.
99
+ * Transitions from 'idle' to 'inputting'.
100
+ * Must be called before any other method.
101
+ */
102
+ load(): void;
103
+ /**
104
+ * Updates the value of a single field.
105
+ * Should be called when state is 'inputting'.
106
+ *
107
+ * @param name - The field name (matches CustomField.name)
108
+ * @param value - The field value (string, number, or boolean)
109
+ */
110
+ setField(name: string, value: string | number | boolean): void;
111
+ /**
112
+ * Submits all custom field values to the backend.
113
+ * Transitions to 'submitting', then 'finished' regardless of outcome.
114
+ */
115
+ submit(): void;
116
+ };
117
+ declare function createCustomFieldsManagerFromActor(actor: CustomFieldsActor): Manager<CustomFieldsState> & {
118
+ /**
119
+ * Initializes the custom fields flow.
120
+ * Transitions from 'idle' to 'inputting'.
121
+ * Must be called before any other method.
122
+ */
123
+ load(): void;
124
+ /**
125
+ * Updates the value of a single field.
126
+ * Should be called when state is 'inputting'.
127
+ *
128
+ * @param name - The field name (matches CustomField.name)
129
+ * @param value - The field value (string, number, or boolean)
130
+ */
131
+ setField(name: string, value: string | number | boolean): void;
132
+ /**
133
+ * Submits all custom field values to the backend.
134
+ * Transitions to 'submitting', then 'finished' regardless of outcome.
135
+ */
136
+ submit(): void;
137
+ };
138
+ /** Type representing a custom fields manager instance. */
139
+ type CustomFieldsManager = ReturnType<typeof createCustomFieldsManager>;
140
+ //#endregion
141
+ export { createCustomFieldsManagerFromActor as a, customFieldsMachine as c, CustomFieldsConfig as d, createCustomFieldsManager as i, CustomField as l, CustomFieldsState as n, CustomFieldsActor as o, MappedCustomField as r, CustomFieldsValidationErrors as s, CustomFieldsManager as t, CustomFieldType as u };
@@ -0,0 +1,73 @@
1
+ import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
2
+ import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
3
+ import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
4
+ import { t as customWatchlistMachine } from "./customWatchlistStateMachine-qZVgkKgP.esm.js";
5
+ //#region src/modules/custom-watchlist/customWatchlistActor.ts
6
+ function createCustomWatchlistActor() {
7
+ return createActor(customWatchlistMachine).start();
8
+ }
9
+ //#endregion
10
+ //#region src/modules/custom-watchlist/customWatchlistManager.ts
11
+ /**
12
+ * Maps a Custom Watchlist state-machine snapshot to the exact Figma
13
+ * "Tracked Events" screen name. Source: Watchlist | Custom Watchlist
14
+ * Figma file (`https://www.figma.com/design/Xm4BgXotNwdi5iRdHTIX0N/Watchlist-%7C-Custom-Watchlist----Latest-Design?node-id=3031-82920`).
15
+ * Family is `watchlist.*`, shared with the global watchlist manager — both
16
+ * keep their own module token (`watchlist` vs `customWatchlist`) per the
17
+ * AdSign/QSign precedent.
18
+ *
19
+ * `idle` and `finished` are intentionally unmapped — the Figma canvas does
20
+ * not define screens for them; `finished` collapses into `moduleClosed`.
21
+ */
22
+ function getCustomWatchlistScreenName(snapshot) {
23
+ const stateName = topLevelStateName(snapshot.value);
24
+ if (stateName === void 0) return void 0;
25
+ switch (stateName) {
26
+ case "processing": return "watchlist.processing";
27
+ case "success": return "watchlist.success";
28
+ default: return;
29
+ }
30
+ }
31
+ function mapState(snapshot) {
32
+ const typedSnapshot = snapshot;
33
+ if (typedSnapshot.matches("processing")) return { status: "processing" };
34
+ if (typedSnapshot.matches("success")) return { status: "success" };
35
+ if (typedSnapshot.matches("finished")) return {
36
+ status: "finished",
37
+ result: typedSnapshot.context.result ?? "skipped"
38
+ };
39
+ return { status: "idle" };
40
+ }
41
+ function createApi({ actor }) {
42
+ return {
43
+ /**
44
+ * Kicks off the custom watchlist check.
45
+ * Transitions from 'idle' to 'processing'.
46
+ */
47
+ load() {
48
+ actor.send({ type: "LOAD" });
49
+ } };
50
+ }
51
+ /**
52
+ * Creates a custom watchlist manager for headless or UI-driven usage.
53
+ *
54
+ * @example Headless usage
55
+ * ```typescript
56
+ * const manager = createCustomWatchlistManager();
57
+ * manager.subscribe((state) => console.log(state.status));
58
+ * manager.load();
59
+ * ```
60
+ */
61
+ function createCustomWatchlistManager() {
62
+ return createCustomWatchlistManagerFromActor(createCustomWatchlistActor());
63
+ }
64
+ function createCustomWatchlistManagerFromActor(actor) {
65
+ return createManager({
66
+ actor,
67
+ mapState,
68
+ createApi,
69
+ instrumentation: createManagerInstrumentation(eventModuleNames.customWatchList, { getEventScreenName: getCustomWatchlistScreenName })
70
+ });
71
+ }
72
+ //#endregion
73
+ export { createCustomWatchlistManagerFromActor as n, createCustomWatchlistManager as t };
@@ -0,0 +1,64 @@
1
+ import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
2
+ import { t as Manager } from "./Manager-CQQ99QOI.js";
3
+ import "./Actor-iTq7YY48.js";
4
+ //#region src/modules/custom-watchlist/customWatchlistStateMachine.d.ts
5
+ type CustomWatchlistResult = 'success' | 'skipped';
6
+ declare const customWatchlistMachine: any;
7
+ type CustomWatchlistMachine = typeof customWatchlistMachine;
8
+ //#endregion
9
+ //#region src/modules/custom-watchlist/customWatchlistActor.d.ts
10
+ type CustomWatchlistActor = ActorRefFrom<CustomWatchlistMachine>;
11
+ //#endregion
12
+ //#region src/modules/custom-watchlist/customWatchlistManager.d.ts
13
+ type CustomWatchlistIdleState = {
14
+ status: 'idle';
15
+ };
16
+ type CustomWatchlistProcessingState = {
17
+ status: 'processing';
18
+ };
19
+ type CustomWatchlistSuccessState = {
20
+ status: 'success';
21
+ };
22
+ type CustomWatchlistFinishedState = {
23
+ status: 'finished';
24
+ result: CustomWatchlistResult;
25
+ };
26
+ /**
27
+ * Union of all possible custom watchlist manager states.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const state = customWatchlistManager.getState();
32
+ * if (state.status === 'finished') {
33
+ * console.log('Custom watchlist check complete');
34
+ * }
35
+ * ```
36
+ */
37
+ type CustomWatchlistState = CustomWatchlistIdleState | CustomWatchlistProcessingState | CustomWatchlistSuccessState | CustomWatchlistFinishedState;
38
+ /**
39
+ * Creates a custom watchlist manager for headless or UI-driven usage.
40
+ *
41
+ * @example Headless usage
42
+ * ```typescript
43
+ * const manager = createCustomWatchlistManager();
44
+ * manager.subscribe((state) => console.log(state.status));
45
+ * manager.load();
46
+ * ```
47
+ */
48
+ declare function createCustomWatchlistManager(): Manager<CustomWatchlistState> & {
49
+ /**
50
+ * Kicks off the custom watchlist check.
51
+ * Transitions from 'idle' to 'processing'.
52
+ */
53
+ load(): void;
54
+ };
55
+ declare function createCustomWatchlistManagerFromActor(actor: CustomWatchlistActor): Manager<CustomWatchlistState> & {
56
+ /**
57
+ * Kicks off the custom watchlist check.
58
+ * Transitions from 'idle' to 'processing'.
59
+ */
60
+ load(): void;
61
+ };
62
+ type CustomWatchlistManager = ReturnType<typeof createCustomWatchlistManager>;
63
+ //#endregion
64
+ export { CustomWatchlistActor as a, createCustomWatchlistManagerFromActor as i, CustomWatchlistState as n, customWatchlistMachine as o, createCustomWatchlistManager as r, CustomWatchlistManager as t };
@@ -1,5 +1,5 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
- import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
2
+ import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
3
3
  import { i as assign, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
4
4
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
5
5
  //#region src/modules/custom-watchlist/customWatchlistServices.ts
@@ -1,17 +1,15 @@
1
- import { r as WasmUtilProvider } from "./safeStorage-Ep56I-f_.esm.js";
2
- import { t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { l as trueSightLog } from "./trueSightService---iW2KKJ.esm.js";
4
- import { g as getThumbmarkId, h as IpifyProvider, n as getFingerprintEnabled, p as isBrowserSimulation, t as getDisableIpify, v as BrowserEnvironmentProvider } from "./sessionInitializer-dlfDehHk.esm.js";
5
- import "./trueSight-B_icM8r2.esm.js";
6
- import { t as addDeviceStats } from "./stats-B0nFKawG.esm.js";
7
- import { t as getParsedUserAgent } from "./getParsedUserAgent-pJjATANs.esm.js";
8
- import { t as getUserAgent } from "./getBrowser-Cb8Zgrgp.esm.js";
9
- import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-BqUCwLY8.esm.js";
10
- import { t as MotionSensorProvider } from "./MotionSensorProvider-DGiV77J_.esm.js";
11
- import { a as stopCameraStream, r as requestCameraAccess } from "./camera-_2sXMXiF.esm.js";
12
- import { t as IncodeCanvas } from "./canvas-E1zGkel4.esm.js";
1
+ import { r as WasmUtilProvider } from "./safeStorage-B-trhxg6.esm.js";
2
+ import { l as trueSightLog } from "./trueSightService-CKrrfV0Q.esm.js";
3
+ import { _ as IpifyProvider, b as BrowserEnvironmentProvider, h as isBrowserSimulation, n as getFingerprintEnabled, t as getDisableIpify, v as getThumbmarkId } from "./sessionInitializer-BLoK7SP9.esm.js";
4
+ import { t as SDK_VERSION } from "./sdkVersion-CLxKvdyz.esm.js";
5
+ import { t as getParsedUserAgent } from "./getParsedUserAgent-B2iFDql1.esm.js";
6
+ import { t as getUserAgent } from "./getBrowser-CBiibsL-.esm.js";
7
+ import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-B2e8p268.esm.js";
8
+ import { t as MotionSensorProvider } from "./MotionSensorProvider-BgTYwg9L.esm.js";
9
+ import { i as requestCameraAccess, o as stopCameraStream } from "./camera-sIa9ceW2.esm.js";
13
10
  import { t as createHiddenVideoElement } from "./video-BtSWtHy1.esm.js";
14
11
  import { t as getDeviceInfo } from "./getDeviceClass-CeBiEayS.esm.js";
12
+ import { n as runVirtualCameraCheck } from "./virtualCameraCheck-WOloJ-do.esm.js";
15
13
  //#region src/internal/deepsight/metadataService.ts
16
14
  function createMetadataService(wasmUtil, visibility, browserEnv, ipLookup) {
17
15
  return {
@@ -134,49 +132,17 @@ function createMotionStatusService(motionSensor) {
134
132
  };
135
133
  }
136
134
  //#endregion
137
- //#region src/internal/virtualCameraCheck.ts
138
- /**
139
- * Sends the analyzed frame image to the backend for logging.
140
- */
141
- async function logFrame({ source, base64Image, token }) {
142
- try {
143
- return (await api.post("/omni/log/frame/v2", { base64Image }, {
144
- query: { source },
145
- headers: { "X-Incode-Hardware-Id": token }
146
- })).data;
147
- } catch {
148
- return;
149
- }
150
- }
151
- /**
152
- * Runs the WASM virtual camera check and handles logging and stats.
153
- */
154
- async function runVirtualCameraCheck({ wasmUtil, source, token }) {
155
- const output = {
156
- canvas: null,
157
- itr: null,
158
- skipped: null
159
- };
160
- await wasmUtil.poc(output);
161
- if (output.skipped !== false) return;
162
- if (output.canvas && token) {
163
- const base64Image = new IncodeCanvas(output.canvas).getBase64Image();
164
- if (base64Image) await logFrame({
165
- source,
166
- base64Image,
167
- token
168
- });
169
- }
170
- if (output.itr === true) {
171
- addDeviceStats({ virtualCameraDetected: true });
172
- wasmUtil.setZc("FAIL");
173
- } else if (output.itr === false) wasmUtil.setZc("PASS");
174
- }
175
- //#endregion
176
135
  //#region src/internal/deepsight/deepsightService.ts
177
136
  function createDeepsightService(config) {
178
137
  const metadata = createMetadataService(config.wasmUtil, config.visibility, config.browserEnv, config.ipLookup);
179
138
  const motion = createMotionStatusService(config.motionSensor);
139
+ const finalizeCaptureMetadata = () => {
140
+ metadata.preparePipelineState();
141
+ const motionStatus = motion.check();
142
+ metadata.setMotionStatus(motionStatus);
143
+ metadata.getCheck();
144
+ metadata.setBackgroundMode(false);
145
+ };
180
146
  return {
181
147
  metadata,
182
148
  motion,
@@ -190,10 +156,6 @@ function createDeepsightService(config) {
190
156
  async startMotionSensors() {
191
157
  await motion.start();
192
158
  },
193
- async primeWasmMotionSensor() {
194
- await config.wasmUtil.rsp();
195
- config.wasmUtil.ssl();
196
- },
197
159
  stopMotionSensors() {
198
160
  motion.stop();
199
161
  },
@@ -221,11 +183,11 @@ function createDeepsightService(config) {
221
183
  async analyzeFrame(imageData) {
222
184
  await motion.start();
223
185
  await metadata.analyzeFrame(imageData);
224
- metadata.preparePipelineState();
225
- const motionStatus = motion.check();
226
- metadata.setMotionStatus(motionStatus);
227
- metadata.getCheck();
228
- metadata.setBackgroundMode(false);
186
+ finalizeCaptureMetadata();
187
+ },
188
+ async finalizeProtectedCaptureMetadata() {
189
+ await motion.start();
190
+ finalizeCaptureMetadata();
229
191
  },
230
192
  getMetadata() {
231
193
  return metadata.getMetadata();
@@ -267,7 +229,6 @@ var VisibilityProvider = class {
267
229
  };
268
230
  //#endregion
269
231
  //#region src/internal/deepsight/deepsightLoader.ts
270
- const SDK_VERSION = "2.0.0";
271
232
  async function loadDeepsightSession(options) {
272
233
  try {
273
234
  return await loadDeepsightSessionInternal(options);
@@ -278,18 +239,13 @@ async function loadDeepsightSession(options) {
278
239
  }
279
240
  async function loadDeepsightSessionInternal(options) {
280
241
  setWasmDsFlagSync(options.ds === true);
281
- const wasmUtil = await WasmUtilProvider.getInstance();
282
- const visibility = new VisibilityProvider();
283
- const browserEnv = new BrowserEnvironmentProvider();
284
- const motionSensor = new MotionSensorProvider();
285
- const ipLookup = new IpifyProvider();
286
242
  const service = createDeepsightService({
287
243
  sdkVersion: SDK_VERSION,
288
- wasmUtil,
289
- visibility,
290
- browserEnv,
291
- motionSensor,
292
- ipLookup
244
+ wasmUtil: await WasmUtilProvider.getInstance(),
245
+ visibility: new VisibilityProvider(),
246
+ browserEnv: new BrowserEnvironmentProvider(),
247
+ motionSensor: new MotionSensorProvider(),
248
+ ipLookup: new IpifyProvider()
293
249
  });
294
250
  const disableIpify = options.disableIpify ?? getDisableIpify();
295
251
  const disableFingerprint = options.disableFingerprint ?? !getFingerprintEnabled();
package/dist/device.d.ts CHANGED
@@ -27,9 +27,32 @@ declare class ScreenOrientationProvider implements IScreenOrientationCapability
27
27
  }
28
28
  //#endregion
29
29
  //#region src/internal/device/getBrowser.d.ts
30
- type Browser = 'chrome' | 'firefox' | 'safari' | 'edge' | 'opera' | 'other' | 'samsung_browser';
30
+ type Browser = 'chrome' | 'firefox' | 'safari' | 'edge' | 'opera' | 'other' | 'samsung_browser' | 'miui_browser';
31
31
  declare function getBrowser(): Browser;
32
32
  //#endregion
33
+ //#region src/internal/device/browserSupportClassification.d.ts
34
+ /** iOS/iPadOS/macOS — the only platforms where Safari is a supported option. */
35
+ declare function isApplePlatform(): boolean;
36
+ /**
37
+ * Whether capture/WASM are known to work in the current browser.
38
+ *
39
+ * Native Android and iOS WebViews are supported; third-party in-app browsers
40
+ * are not, on either platform. Outside a WebView, only Chrome is supported on
41
+ * every platform and Safari is supported on Apple platforms.
42
+ *
43
+ * The rejections run first, because a browser that is unsupported on its own is
44
+ * still unsupported when it hosts the page as a WebView (ENG-51674).
45
+ *
46
+ * Identity comes from the user agent, plus `navigator.brave`/`navigator.island`
47
+ * and Client Hint brands where available. `navigator.island` is load-bearing:
48
+ * Island can be configured (or itself strip) the "Island Browser" UA token and
49
+ * still report Chrome-only Client Hint brands, so the UA and brands alone are
50
+ * not sufficient (ENG-51674). A browser that spoofs a Chrome user agent, exposes
51
+ * no Client Hints, and identifies itself nowhere else cannot be distinguished
52
+ * here.
53
+ */
54
+ declare function isSupportedBrowser(): boolean;
55
+ //#endregion
33
56
  //#region src/internal/device/getDeviceClass.d.ts
34
57
  type DeviceClass = 'ios' | 'android' | 'desktop';
35
58
  declare function getDeviceClass(): DeviceClass;
@@ -51,4 +74,4 @@ type ScreenOrientationObserver = {
51
74
  };
52
75
  declare function createScreenOrientationObserver(provider: IScreenOrientationCapability, deviceClass: DeviceClass): ScreenOrientationObserver;
53
76
  //#endregion
54
- export { type Browser, type DeviceClass, type ScreenOrientationObserver, ScreenOrientationProvider, createScreenOrientationObserver, getBrowser, getDeviceClass, isDesktopDeviceEmulation, isDesktopOrEmulated, isIPad };
77
+ export { type Browser, type DeviceClass, type ScreenOrientationObserver, ScreenOrientationProvider, createScreenOrientationObserver, getBrowser, getDeviceClass, isApplePlatform, isDesktopDeviceEmulation, isDesktopOrEmulated, isIPad, isSupportedBrowser };
@@ -1,7 +1,66 @@
1
- import { a as isIPad, c as isTabletWithoutAndroid } from "./platform-BJrm5nzZ.esm.js";
2
- import { t as getBrowser } from "./getBrowser-DNrQeL4T.esm.js";
1
+ import { a as isIOS, f as isTabletWithoutAndroid, l as isIslandBrowser, n as isAndroidWebView, o as isIOSWebView, r as isBraveBrowser, s as isIPad } from "./platform-DkcRc9JV.esm.js";
2
+ import { n as getUserAgentBrands, t as getUserAgent } from "./getBrowser-CBiibsL-.esm.js";
3
+ import { t as getBrowser } from "./getBrowser-Cbe1C4Tn.esm.js";
3
4
  import { t as getDeviceInfo } from "./getDeviceClass-CeBiEayS.esm.js";
4
- import { t as getDeviceClass } from "./getDeviceClass-9y-kbVDw.esm.js";
5
+ import { t as getDeviceClass } from "./getDeviceClass-5NYZg9s6.esm.js";
6
+ //#region src/internal/device/browserSupportClassification.ts
7
+ /**
8
+ * Third-party in-app browsers. These are real WebViews — `isAndroidWebView` and
9
+ * `isIOSWebView` both report them as such — but their hosts restrict camera
10
+ * capture, so they are rejected before the WebView allowance below.
11
+ */
12
+ const IN_APP_BROWSER_TOKEN = /\b(?:FBAN|FBAV|FB_IAB|FB4A|Instagram|LinkedInApp|Twitter|BytedanceWebview|musical_ly)(?:[/\s;\]_]|$)/i;
13
+ /**
14
+ * Client Hint brands for the Chromium builds that are supported. `Chromium`
15
+ * covers vanilla and automation builds, which do not carry the Google Chrome
16
+ * brand. Support is an allowlist: an unknown fork reports neither brand and is
17
+ * rejected, rather than being supported until someone denylists it.
18
+ */
19
+ const SUPPORTED_CHROMIUM_BRANDS = /* @__PURE__ */ new Set(["Google Chrome", "Chromium"]);
20
+ /**
21
+ * Forks that report a Chrome-compatible UA *and* claim a supported brand. A
22
+ * second guard on top of the allowlist, not a substitute for it.
23
+ */
24
+ const UNSUPPORTED_CHROMIUM_BRANDS = /* @__PURE__ */ new Set([
25
+ "Brave",
26
+ "Microsoft Edge",
27
+ "Opera"
28
+ ]);
29
+ /** iOS/iPadOS/macOS — the only platforms where Safari is a supported option. */
30
+ function isApplePlatform() {
31
+ const userAgent = getUserAgent();
32
+ return isIOS(userAgent) || /Mac OS/i.test(userAgent);
33
+ }
34
+ /**
35
+ * Whether capture/WASM are known to work in the current browser.
36
+ *
37
+ * Native Android and iOS WebViews are supported; third-party in-app browsers
38
+ * are not, on either platform. Outside a WebView, only Chrome is supported on
39
+ * every platform and Safari is supported on Apple platforms.
40
+ *
41
+ * The rejections run first, because a browser that is unsupported on its own is
42
+ * still unsupported when it hosts the page as a WebView (ENG-51674).
43
+ *
44
+ * Identity comes from the user agent, plus `navigator.brave`/`navigator.island`
45
+ * and Client Hint brands where available. `navigator.island` is load-bearing:
46
+ * Island can be configured (or itself strip) the "Island Browser" UA token and
47
+ * still report Chrome-only Client Hint brands, so the UA and brands alone are
48
+ * not sufficient (ENG-51674). A browser that spoofs a Chrome user agent, exposes
49
+ * no Client Hints, and identifies itself nowhere else cannot be distinguished
50
+ * here.
51
+ */
52
+ function isSupportedBrowser() {
53
+ const userAgent = getUserAgent();
54
+ if (isBraveBrowser() || isIslandBrowser() || IN_APP_BROWSER_TOKEN.test(userAgent)) return false;
55
+ if (isAndroidWebView(userAgent) || isIOSWebView(userAgent)) return true;
56
+ const browser = getBrowser();
57
+ if (browser === "safari") return isApplePlatform();
58
+ if (browser !== "chrome") return false;
59
+ const brands = getUserAgentBrands();
60
+ if (brands === void 0) return true;
61
+ return brands.some((brand) => SUPPORTED_CHROMIUM_BRANDS.has(brand)) && !brands.some((brand) => UNSUPPORTED_CHROMIUM_BRANDS.has(brand));
62
+ }
63
+ //#endregion
5
64
  //#region src/internal/device/redirectDeviceClassification.ts
6
65
  /**
7
66
  * Conservative redirect-specific check. A mobile identity must also expose an
@@ -39,11 +98,14 @@ function createScreenOrientationObserver(provider, deviceClass) {
39
98
  //#region ../infra/src/providers/browser/ScreenOrientationProvider.ts
40
99
  function isPortrait() {
41
100
  if (typeof window === "undefined" || typeof screen === "undefined") return true;
42
- if (typeof window.matchMedia === "function") return !window.matchMedia("(orientation: landscape)").matches;
43
101
  if (screen.orientation?.type?.includes("portrait")) return true;
44
- if (screen.orientation?.type?.includes("landscape")) return false;
102
+ if (screen.orientation?.type?.includes("landscape")) return isViewportPortrait();
45
103
  const orientation = window.orientation;
46
- if (typeof orientation === "number") return Math.abs(orientation) === 0;
104
+ if (typeof orientation === "number") return Math.abs(orientation) === 0 || isViewportPortrait();
105
+ if (typeof window.matchMedia === "function") return !window.matchMedia("(orientation: landscape)").matches;
106
+ return isViewportPortrait();
107
+ }
108
+ function isViewportPortrait() {
47
109
  return window.innerHeight >= window.innerWidth;
48
110
  }
49
111
  function toState(portrait) {
@@ -104,4 +166,4 @@ var ScreenOrientationProvider = class {
104
166
  }
105
167
  };
106
168
  //#endregion
107
- export { ScreenOrientationProvider, createScreenOrientationObserver, getBrowser, getDeviceClass, isDesktopDeviceEmulation, isDesktopOrEmulated, isIPad };
169
+ export { ScreenOrientationProvider, createScreenOrientationObserver, getBrowser, getDeviceClass, isApplePlatform, isDesktopDeviceEmulation, isDesktopOrEmulated, isIPad, isSupportedBrowser };
@@ -1,3 +1,3 @@
1
- import { a as DocumentCaptureErrorCode, c as DocumentType, n as DOCUMENT_CAPTURE_ERROR_CODES, r as DocumentCaptureConfig, s as DocumentCaptureNextPageType } from "./types-DelMqZLe.js";
2
- import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, o as documentCaptureMachine, r as createDocumentCaptureManager, t as DocumentCaptureManager } from "./documentCaptureManager-B3t0ydtg.js";
1
+ import { a as DocumentCaptureErrorCode, c as DocumentType, n as DOCUMENT_CAPTURE_ERROR_CODES, r as DocumentCaptureConfig, s as DocumentCaptureNextPageType } from "./types-BjSly8cp.js";
2
+ import { a as DocumentCaptureActor, i as createDocumentCaptureManagerFromActor, n as DocumentCaptureState, o as documentCaptureMachine, r as createDocumentCaptureManager, t as DocumentCaptureManager } from "./documentCaptureManager-DensIj5F.js";
3
3
  export { DOCUMENT_CAPTURE_ERROR_CODES, type DocumentCaptureActor, type DocumentCaptureConfig, type DocumentCaptureErrorCode, type DocumentCaptureManager, type DocumentCaptureNextPageType, type DocumentCaptureState, type DocumentType, createDocumentCaptureManager, createDocumentCaptureManagerFromActor, documentCaptureMachine };
@@ -1,3 +1,3 @@
1
- import { n as DOCUMENT_CAPTURE_ERROR_CODES, t as documentCaptureMachine } from "./documentCaptureStateMachine-BM4Ex_5x.esm.js";
2
- import { n as createDocumentCaptureManagerFromActor, t as createDocumentCaptureManager } from "./documentCaptureManager-DsQQhWry.esm.js";
1
+ import { n as DOCUMENT_CAPTURE_ERROR_CODES, t as documentCaptureMachine } from "./documentCaptureStateMachine-CWOATHfE.esm.js";
2
+ import { n as createDocumentCaptureManagerFromActor, t as createDocumentCaptureManager } from "./documentCaptureManager-DR_Wv-3H.esm.js";
3
3
  export { DOCUMENT_CAPTURE_ERROR_CODES, createDocumentCaptureManager, createDocumentCaptureManagerFromActor, documentCaptureMachine };
@@ -1,7 +1,7 @@
1
- import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-DYiyoSlx.esm.js";
1
+ import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
2
2
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
3
3
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
4
- import { n as DOCUMENT_CAPTURE_ERROR_CODES, t as documentCaptureMachine } from "./documentCaptureStateMachine-BM4Ex_5x.esm.js";
4
+ import { n as DOCUMENT_CAPTURE_ERROR_CODES, t as documentCaptureMachine } from "./documentCaptureStateMachine-CWOATHfE.esm.js";
5
5
  //#region src/modules/document-capture/documentCaptureActor.ts
6
6
  function createDocumentCaptureActor(options) {
7
7
  return createActor(documentCaptureMachine, { input: { config: options.config } }).start();