@incodetech/core 2.2.0 → 2.3.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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-CU6kBvqv.esm.js} +1 -1
  4. package/dist/{BrowserVisibilityObserverProvider-BX1BiLDK.esm.js → BrowserVisibilityObserverProvider-BrJN1B8A.esm.js} +2 -0
  5. package/dist/FaceDetectionProvider-BfhWkK90.esm.js +431 -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-CNWRl7jr.d.ts +117 -0
  9. package/dist/{MotionSensorProvider-DGiV77J_.esm.js → MotionSensorProvider-BgTYwg9L.esm.js} +1 -1
  10. package/dist/{StreamCanvasCapture-D2XcXCZ4.esm.js → StreamCanvasCapture-C9jtgBdT.esm.js} +2 -2
  11. package/dist/{deepsightService-DLVQS_RH.d.ts → StreamCanvasCapture-_8gdW5Lk.d.ts} +54 -41
  12. package/dist/StreamCanvasProcessingSession-CBnbTnOr.esm.js +42 -0
  13. package/dist/{addressSearch-D1XpBdUS.esm.js → addressSearch-DyHGgeX8.esm.js} +1 -1
  14. package/dist/advanceableErrors-CpF2cBy6.esm.js +21 -0
  15. package/dist/ae-signature.d.ts +4 -2
  16. package/dist/ae-signature.esm.js +1 -1
  17. package/dist/antifraud.esm.js +2 -2
  18. package/dist/{antifraudManager-CQFNgSPt.esm.js → antifraudManager-DNkw66oW.esm.js} +2 -2
  19. package/dist/{antifraudStateMachine-Bf_JVNwn.esm.js → antifraudStateMachine-DBeq47D2.esm.js} +1 -1
  20. package/dist/{apiError-BA1d_au0.esm.js → apiError-Budb6m6w.esm.js} +14 -2
  21. package/dist/authentication.d.ts +3 -3
  22. package/dist/authentication.esm.js +2 -2
  23. package/dist/{authenticationManager-BBMGTcwW.d.ts → authenticationManager-CjXBjC-c.d.ts} +7 -1
  24. package/dist/{authenticationManager-zh9TC62P.esm.js → authenticationManager-cMXhG70r.esm.js} +5 -5
  25. package/dist/{authenticationStateMachine-xzi-vnvE.esm.js → authenticationStateMachine-MOYz4HCf.esm.js} +6 -62
  26. package/dist/avatar.d.ts +1 -2
  27. package/dist/avatar.esm.js +1 -1
  28. package/dist/{backCameraStream-CUeYm5eu.esm.js → backCameraStream-BOtyQowf.esm.js} +83 -22
  29. package/dist/{camera-_2sXMXiF.esm.js → camera-sIa9ceW2.esm.js} +19 -1
  30. package/dist/camera.esm.js +1 -1
  31. package/dist/{canvas-E1zGkel4.esm.js → canvas-BxFzWTt-.esm.js} +19 -0
  32. package/dist/certificate-issuance.d.ts +2 -302
  33. package/dist/certificate-issuance.esm.js +3 -66
  34. package/dist/certificateIssuanceManager-C3-CI0_s.esm.js +69 -0
  35. package/dist/certificateIssuanceManager-DCgEidHz.d.ts +312 -0
  36. package/dist/{certificateIssuanceStateMachine-D_R92TYu.esm.js → certificateIssuanceStateMachine-CxqS_nD-.esm.js} +1 -1
  37. package/dist/consent.d.ts +1 -1
  38. package/dist/consent.esm.js +2 -2
  39. package/dist/{consentManager-BxjpLZAG.esm.js → consentManager-B6E1XJDw.esm.js} +2 -2
  40. package/dist/{consentManager-3Pbtj-RV.d.ts → consentManager-BhYFeKiG.d.ts} +4 -4
  41. package/dist/{consentStateMachine-D9D4ON8Z.esm.js → consentStateMachine-DTSfdGiW.esm.js} +1 -1
  42. package/dist/createCameraCycleOwnership-CX3hJGKc.esm.js +826 -0
  43. package/dist/{createFaceAvatar-DQKaRise.esm.js → createFaceAvatar-BNHdeFj8.esm.js} +2 -2
  44. package/dist/createFaceAvatar-BlcTYgJv.d.ts +497 -0
  45. package/dist/cross-document-data-match.esm.js +1 -1
  46. package/dist/{crossDocumentDataMatchManager-CGT0V6RV.esm.js → crossDocumentDataMatchManager-9XhFVZ5S.esm.js} +2 -2
  47. package/dist/curp-validation.d.ts +1 -1
  48. package/dist/curp-validation.esm.js +2 -2
  49. package/dist/{curpValidationManager-6Nmkn5u1.esm.js → curpValidationManager-DbIMYFcJ.esm.js} +2 -2
  50. package/dist/{curpValidationManager-DVGr7Fq7.d.ts → curpValidationManager-SSKNrm5Z.d.ts} +1 -1
  51. package/dist/{curpValidationStateMachine-Ds7KMacK.esm.js → curpValidationStateMachine-g5kMfuLj.esm.js} +1 -1
  52. package/dist/custom-fields.d.ts +2 -114
  53. package/dist/custom-fields.esm.js +2 -232
  54. package/dist/custom-watchlist.d.ts +2 -51
  55. package/dist/custom-watchlist.esm.js +3 -70
  56. package/dist/customFieldsManager-8-W2KY4n.d.ts +141 -0
  57. package/dist/customFieldsManager-CzWZTkW-.esm.js +264 -0
  58. package/dist/customWatchlistManager-DWTED5Ur.esm.js +73 -0
  59. package/dist/customWatchlistManager-PBWHr_oM.d.ts +64 -0
  60. package/dist/{customWatchlistStateMachine-YWSgKLbF.esm.js → customWatchlistStateMachine-DOQou6TW.esm.js} +1 -1
  61. package/dist/{deepsightLoader--wMKWECS.esm.js → deepsightLoader-DDv3vhXU.esm.js} +27 -71
  62. package/dist/device.d.ts +25 -2
  63. package/dist/device.esm.js +69 -7
  64. package/dist/document-capture.d.ts +2 -2
  65. package/dist/document-capture.esm.js +2 -2
  66. package/dist/{documentCaptureManager-DsQQhWry.esm.js → documentCaptureManager-CwAiM9WY.esm.js} +2 -2
  67. package/dist/{documentCaptureManager-B3t0ydtg.d.ts → documentCaptureManager-DensIj5F.d.ts} +83 -83
  68. package/dist/{documentCaptureStateMachine-BM4Ex_5x.esm.js → documentCaptureStateMachine-DfGOBapD.esm.js} +5 -5
  69. package/dist/dynamic-forms.d.ts +1 -1
  70. package/dist/dynamic-forms.esm.js +2 -2
  71. package/dist/{dynamicFormsManager-fFVIRBNv.esm.js → dynamicFormsManager-BbS-XMFc.esm.js} +16 -5
  72. package/dist/{dynamicFormsManager-fhK0yINk.d.ts → dynamicFormsManager-D5R_uxLQ.d.ts} +25 -3
  73. package/dist/{dynamicFormsStateMachine-D6D7oEYk.esm.js → dynamicFormsStateMachine-D8zHBCh4.esm.js} +35 -3
  74. package/dist/ekyb.d.ts +1 -1
  75. package/dist/ekyb.esm.js +3 -3
  76. package/dist/{ekybManager-Y3MkoXpC.esm.js → ekybManager-5aiac8wL.esm.js} +2 -2
  77. package/dist/{ekybStateMachine-3nlnqdlr.esm.js → ekybStateMachine-Bn2IE9rx.esm.js} +3 -3
  78. package/dist/ekyc.esm.js +2 -2
  79. package/dist/{ekycManager-DgT48ky6.esm.js → ekycManager-BlQ-Qj4E.esm.js} +2 -2
  80. package/dist/{ekycStateMachine-CQwqiR-R.esm.js → ekycStateMachine-CshSNJhh.esm.js} +2 -2
  81. package/dist/electronic-signature.d.ts +3 -3
  82. package/dist/electronic-signature.esm.js +2 -2
  83. package/dist/{electronicSignatureManager-DGbAJ00W.esm.js → electronicSignatureManager-BJJH0Tvi.esm.js} +357 -51
  84. package/dist/electronicSignatureManager-Ds-KEVTq.d.ts +2786 -0
  85. package/dist/email.esm.js +2 -2
  86. package/dist/{emailManager-BY0jeYwR.esm.js → emailManager-bR1N5rV_.esm.js} +2 -2
  87. package/dist/{emailStateMachine-Crw8QVmc.esm.js → emailStateMachine-Bc_6oIYw.esm.js} +1 -1
  88. package/dist/{endpoints-CCzL3XD_.esm.js → endpoints-B-3Q-LUw.esm.js} +24 -10
  89. package/dist/{events-DYiyoSlx.esm.js → events-ijlbX_Wx.esm.js} +2 -2
  90. package/dist/events.d.ts +1 -1
  91. package/dist/events.esm.js +1 -1
  92. package/dist/extensibility.d.ts +24 -64
  93. package/dist/extensibility.esm.js +35 -29
  94. package/dist/face-match.esm.js +2 -2
  95. package/dist/{faceCaptureManagerFactory-CVnZ0fa5.esm.js → faceCaptureManagerFactory-B7Ms6pSs.esm.js} +68 -7
  96. package/dist/{faceCaptureManagerFactory-BxWPpxyd.d.ts → faceCaptureManagerFactory-BeUl8fl1.d.ts} +86 -54
  97. package/dist/faceCaptureSetup-bkAlr5d8.esm.js +2067 -0
  98. package/dist/{faceMatchManager-Ri4UbNz0.esm.js → faceMatchManager-Bmv0HzuY.esm.js} +2 -2
  99. package/dist/{faceMatchStateMachine-20DdZ3jg.esm.js → faceMatchStateMachine-mRIHQ3dA.esm.js} +1 -1
  100. package/dist/{feature-management-CPQ4qv3F.esm.js → feature-management-E0mq0pMs.esm.js} +32 -7
  101. package/dist/feature-management.d.ts +1 -1
  102. package/dist/feature-management.esm.js +1 -1
  103. package/dist/field-comparison.esm.js +1 -1
  104. package/dist/{fieldComparisonManager-Cg6kPQQx.esm.js → fieldComparisonManager-CC-klG0h.esm.js} +2 -2
  105. package/dist/fiscal-qr.d.ts +2 -56
  106. package/dist/fiscal-qr.esm.js +2 -308
  107. package/dist/fiscalQrManager-B1STmT6z.d.ts +71 -0
  108. package/dist/fiscalQrManager-BunLVFbd.esm.js +34143 -0
  109. package/dist/flow-events.d.ts +1 -1
  110. package/dist/flow.d.ts +212 -185
  111. package/dist/flow.esm.js +119 -30
  112. package/dist/{flowCompletionService-tfeoGre9.esm.js → flowCompletionService-DJp1odGN.esm.js} +2 -2
  113. package/dist/{flowServices-f5Ruz7R9.esm.js → flowServices-DjPFGs_D.esm.js} +91 -26
  114. package/dist/geolocation.esm.js +2 -2
  115. package/dist/{geolocationManager-CH6RfqFH.esm.js → geolocationManager-D5906YXx.esm.js} +2 -2
  116. package/dist/{geolocationStateMachine-DmbWFely.esm.js → geolocationStateMachine-BVOduc3y.esm.js} +3 -3
  117. package/dist/getBrowser-CBiibsL-.esm.js +19 -0
  118. package/dist/{getBrowser-DNrQeL4T.esm.js → getBrowser-Cbe1C4Tn.esm.js} +2 -1
  119. package/dist/{getDeviceClass-9y-kbVDw.esm.js → getDeviceClass-5NYZg9s6.esm.js} +2 -2
  120. package/dist/getParsedUserAgent-B2iFDql1.esm.js +1278 -0
  121. package/dist/government-validation.d.ts +2 -85
  122. package/dist/government-validation.esm.js +3 -120
  123. package/dist/governmentValidationManager-CacFOtKO.esm.js +79 -0
  124. package/dist/governmentValidationManager-D02vT4yY.d.ts +63 -0
  125. package/dist/governmentValidationStateMachine-CoaZOSTP.esm.js +54 -0
  126. package/dist/home.d.ts +1 -1
  127. package/dist/home.esm.js +1 -1
  128. package/dist/id-ocr.d.ts +2 -2
  129. package/dist/id-ocr.esm.js +2 -2
  130. package/dist/id-selfie-flow.d.ts +3 -2
  131. package/dist/id-selfie-flow.esm.js +11 -10
  132. package/dist/id-verification.esm.js +2 -2
  133. package/dist/id.d.ts +29 -5
  134. package/dist/id.esm.js +48 -46
  135. package/dist/idCaptureDefaults-CbPA-Auz.esm.js +727 -0
  136. package/dist/{idCaptureManager-CqrqSjJV.d.ts → idCaptureManager-DKESug0R.d.ts} +230 -43
  137. package/dist/{idCaptureManager-BYwTZ2H8.esm.js → idCaptureManager-rfV9dIXy.esm.js} +259 -46
  138. package/dist/{idCaptureServices-44kwQItl.esm.js → idCaptureServices-i1KxugN7.esm.js} +285 -72
  139. package/dist/idCaptureStateMachine-Ne_PXth_.esm.js +5333 -0
  140. package/dist/{idOcrManager-DXc_xRN7.d.ts → idOcrManager-BF_cXZq8.d.ts} +1 -1
  141. package/dist/{idOcrManager-BIQYQXXj.esm.js → idOcrManager-r46XfZGE.esm.js} +2 -2
  142. package/dist/{idOcrStateMachine-cSxzHpHt.esm.js → idOcrStateMachine-ClDEP-VI.esm.js} +1 -1
  143. package/dist/{idVerificationManager-JpV_SAsl.esm.js → idVerificationManager-DT42c77H.esm.js} +2 -2
  144. package/dist/{idVerificationStateMachine-nPeUNyFq.esm.js → idVerificationStateMachine-DbDVIh9t.esm.js} +1 -1
  145. package/dist/identity-reuse.esm.js +2 -2
  146. package/dist/{identityReuseManager-kNCg9AbD.esm.js → identityReuseManager-yG3acUrQ.esm.js} +2 -2
  147. package/dist/{identityReuseStateMachine-DyulxDjP.esm.js → identityReuseStateMachine-BhAkuIra.esm.js} +1 -1
  148. package/dist/{index-CLMF0QLQ.d.ts → index-DLcJT5YP.d.ts} +1 -1
  149. package/dist/index.d.ts +1 -1
  150. package/dist/index.esm.js +1 -1
  151. package/dist/{invokeOnCaptureCallback-GpvMuz9o.esm.js → invokeOnCaptureCallback-BjzPjJ_p.esm.js} +1 -1
  152. package/dist/mandatory-consent.d.ts +2 -2
  153. package/dist/mandatory-consent.esm.js +2 -2
  154. package/dist/{mandatoryConsentManager-B4Niyg_u.esm.js → mandatoryConsentManager-7dI0D08q.esm.js} +2 -2
  155. package/dist/{mandatoryConsentManager-DyPzUmsZ.d.ts → mandatoryConsentManager-vhv1co_n.d.ts} +1 -1
  156. package/dist/{mandatoryConsentStateMachine-B4-1u-L8.esm.js → mandatoryConsentStateMachine-DC5Mo6M1.esm.js} +1 -1
  157. package/dist/multipartRecordingService-OEgIRvqC.esm.js +605 -0
  158. package/dist/{permissionGuards-KINpmKtI.esm.js → permissionGuards-uYZYFu4J.esm.js} +1 -1
  159. package/dist/{permissionServices-UvUcOSRb.esm.js → permissionServices-Bj_fyWtv.esm.js} +5 -5
  160. package/dist/personhood.d.ts +6 -5
  161. package/dist/personhood.esm.js +10 -10
  162. package/dist/phone.esm.js +2 -2
  163. package/dist/{phoneManager-FsJ0W2Ei.esm.js → phoneManager-IjhSv5XS.esm.js} +2 -2
  164. package/dist/{phoneStateMachine-Ba0wKHyX.esm.js → phoneStateMachine-CXdXufKg.esm.js} +1 -1
  165. package/dist/{platform-BJrm5nzZ.esm.js → platform-DkcRc9JV.esm.js} +29 -1
  166. package/dist/qe-signature.d.ts +5 -3
  167. package/dist/qe-signature.esm.js +2 -2
  168. package/dist/redirect-to-mobile.esm.js +2 -2
  169. package/dist/{redirectToMobileManager-y4VQB11M.esm.js → redirectToMobileManager-FLEWJtv8.esm.js} +2 -2
  170. package/dist/{redirectToMobileStateMachine-Cyv2x0PP.esm.js → redirectToMobileStateMachine-CSWWgUTO.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-CI1gGWN1.esm.js} +3 -21
  173. package/dist/safeStorage-B-trhxg6.esm.js +423 -0
  174. package/dist/{sdkVersion-D1Bm59g6.esm.js → sdkVersion-BZh6dj53.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-UiQ46EBa.esm.js} +30 -4
  178. package/dist/{selfieManager-DwlCppg0.d.ts → selfieManager-4RRLi21P.d.ts} +8 -11
  179. package/dist/{selfieManager-Bj6B2ZVy.esm.js → selfieManager-B-2c1n_x.esm.js} +5 -5
  180. package/dist/selfieStateMachine-Bzx41R8d.esm.js +69 -0
  181. package/dist/{session-BFdLgN4i.esm.js → session-3LmvAU4S.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-BFk33E67.esm.js} +187 -68
  185. package/dist/{setup-BIAtLa8k.esm.js → setup-BWG-hivt.esm.js} +226 -100
  186. package/dist/{setup-BgoWtvIS.d.ts → setup-Cv-JM9QC.d.ts} +63 -69
  187. package/dist/signature.esm.js +2 -2
  188. package/dist/{signatureManager-Ca43yhwk.esm.js → signatureManager-B72np4ZO.esm.js} +2 -2
  189. package/dist/{signatureStateMachine-K1LMRrxG.esm.js → signatureStateMachine-ce_XMA3l.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-CZcy2J53.esm.js} +1 -1
  192. package/dist/stats.esm.js +1 -1
  193. package/dist/{trueSightService---iW2KKJ.esm.js → trueSightService-BN-Hzw82.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-Bnl58jUQ.d.ts} +6 -85
  199. package/dist/types-ChAowIxT.d.ts +6 -0
  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-Bdf8_LYB2.d.ts → types-byBHOzCG2.d.ts} +305 -25
  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-B8PcYqmz.esm.js} +14 -153
  207. package/dist/videoSelfieFlowModuleMachine-BUe2uACW.esm.js +32 -0
  208. package/dist/{videoSelfieStepDetector-D3oo2ofo.d.ts → videoSelfieStepDetector-Co0Gu2k2.d.ts} +59 -13
  209. package/dist/virtualCameraCheck-Cjab7FTI.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-CIMkpEhu.esm.js +107 -0
  220. package/dist/watchlistForBusinessManager-CsnJnG-C.d.ts +99 -0
  221. package/dist/{watchlistForBusinessStateMachine-CxFnlshm.esm.js → watchlistForBusinessStateMachine-CJ-MvUre.esm.js} +13 -6
  222. package/dist/{watchlistManager-LoNZH9qm.esm.js → watchlistManager-CixcLNDT.esm.js} +2 -2
  223. package/dist/{watchlistStateMachine-DIKQDoUT.esm.js → watchlistStateMachine-CBqk2w-h.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
@@ -1,43 +1,6 @@
1
+ import { y as IncodeCanvas } from "./createFaceAvatar-BlcTYgJv.js";
2
+ import "./IWasmUtilCapability-CNWRl7jr.js";
1
3
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
2
- import { o as IncodeCanvas } from "./IStorageCapability-ORkQfK3F.js";
3
- //#region ../infra/src/media/StreamCanvasCapture.d.ts
4
- type StreamCanvasCaptureOptions = {
5
- fps?: number;
6
- width?: number;
7
- height?: number;
8
- };
9
- type StreamCanvasCaptureEventMap = {
10
- frame: Event;
11
- };
12
- declare class StreamCanvasCapture {
13
- private video;
14
- private canvas;
15
- private ctx;
16
- private rafId;
17
- private lastFrameTimeSeconds;
18
- private lastTickTimeMs;
19
- private hasFrame;
20
- private disposed;
21
- private eventTarget;
22
- constructor(stream: CameraStream, options?: StreamCanvasCaptureOptions);
23
- addEventListener(type: keyof StreamCanvasCaptureEventMap, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
24
- removeEventListener(type: keyof StreamCanvasCaptureEventMap, listener: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): void;
25
- /**
26
- * Returns the latest cached frame as an {@link IncodeCanvas}.
27
- */
28
- getLatestCanvas(): IncodeCanvas | null;
29
- /**
30
- * Returns the latest cached frame as raw {@link ImageData}.
31
- */
32
- getLatestFrame(): ImageData | null;
33
- /**
34
- * Disposes internal resources and stops the capture loop.
35
- */
36
- dispose(): void;
37
- private rafLoop;
38
- private tick;
39
- }
40
- //#endregion
41
4
  //#region ../infra/src/capabilities/IMotionSensorCapability.d.ts
42
5
  type MotionStatus = 'PASS' | 'FAIL' | 'UNCLEAR';
43
6
  type MotionPermissionState = 'granted' | 'denied' | 'not-required';
@@ -86,7 +49,6 @@ type DeepsightService = {
86
49
  initialize(disableIpify?: boolean, disableFingerprint?: boolean): Promise<void>;
87
50
  requestMotionPermission(): Promise<'granted' | 'denied' | 'not-required'>;
88
51
  startMotionSensors(): Promise<void>;
89
- primeWasmMotionSensor(): Promise<void>;
90
52
  stopMotionSensors(): void;
91
53
  checkVirtualCamera(videoTrack: MediaStreamTrack): Promise<boolean>;
92
54
  performVirtualCameraCheck(sessionToken: string | null, source: FrameSource): Promise<void>;
@@ -95,6 +57,12 @@ type DeepsightService = {
95
57
  */
96
58
  performPrcCheck(params: DeepsightPrcCheckParams): Promise<void>;
97
59
  analyzeFrame(imageData: ImageData): Promise<void>;
60
+ /**
61
+ * Finalizes non-frame DeepSight metadata after a protected WASM capture.
62
+ * The protected runtime owns frame analysis, so this intentionally does not
63
+ * call the host-supplied `analyzeFrame` fallback.
64
+ */
65
+ finalizeProtectedCaptureMetadata(): Promise<void>;
98
66
  getMetadata(): string;
99
67
  getMotionStatus(): string;
100
68
  getAnalysisStatus(): string;
@@ -105,4 +73,49 @@ type DeepsightPrcCheckParams = {
105
73
  constraints: MediaStreamConstraints;
106
74
  };
107
75
  //#endregion
108
- export { StreamCanvasCapture as n, DeepsightService as t };
76
+ //#region ../infra/src/media/StreamCanvasCapture.d.ts
77
+ type StreamCanvasCaptureOptions = {
78
+ fps?: number;
79
+ width?: number;
80
+ height?: number;
81
+ /**
82
+ * Keep a canvas cache updated from requestAnimationFrame. Defaults to true.
83
+ * Set false when a caller only needs an occasional presentation snapshot;
84
+ * `getLatestCanvas`/`getLatestFrame` will draw the current video frame on
85
+ * demand without running a duplicate per-frame loop.
86
+ */
87
+ continuous?: boolean;
88
+ };
89
+ type StreamCanvasCaptureEventMap = {
90
+ frame: Event;
91
+ };
92
+ declare class StreamCanvasCapture {
93
+ private video;
94
+ private canvas;
95
+ private ctx;
96
+ private rafId;
97
+ private lastFrameTimeSeconds;
98
+ private lastTickTimeMs;
99
+ private hasFrame;
100
+ private disposed;
101
+ private eventTarget;
102
+ constructor(stream: CameraStream, options?: StreamCanvasCaptureOptions);
103
+ addEventListener(type: keyof StreamCanvasCaptureEventMap, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
104
+ removeEventListener(type: keyof StreamCanvasCaptureEventMap, listener: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): void;
105
+ /**
106
+ * Returns the latest cached frame as an {@link IncodeCanvas}.
107
+ */
108
+ getLatestCanvas(): IncodeCanvas | null;
109
+ /**
110
+ * Returns the latest cached frame as raw {@link ImageData}.
111
+ */
112
+ getLatestFrame(): ImageData | null;
113
+ /**
114
+ * Disposes internal resources and stops the capture loop.
115
+ */
116
+ dispose(): void;
117
+ private rafLoop;
118
+ private tick;
119
+ }
120
+ //#endregion
121
+ export { DeepsightService as n, StreamCanvasCapture as t };
@@ -0,0 +1,42 @@
1
+ //#region ../infra/src/media/StreamCanvasProcessingSession.ts
2
+ var StreamCanvasProcessingSession = class {
3
+ /**
4
+ * Creates a processing session that reacts to `StreamCanvasCapture` frame events
5
+ * and drives a provider's `processFrame()` method with backpressure.
6
+ */
7
+ constructor(params) {
8
+ this.disposed = false;
9
+ this.isProcessing = false;
10
+ this.onFrameEvent = () => {
11
+ if (this.disposed || this.isProcessing) return;
12
+ const frame = this.capturer.getLatestFrame();
13
+ if (!frame) return;
14
+ this.onFrame?.(frame);
15
+ this.isProcessing = true;
16
+ this.provider.processFrame(frame).catch(() => {}).finally(() => {
17
+ this.isProcessing = false;
18
+ });
19
+ };
20
+ this.capturer = params.capturer;
21
+ this.provider = params.provider;
22
+ this.onFrame = params.onFrame;
23
+ this.capturer.addEventListener("frame", this.onFrameEvent);
24
+ }
25
+ /**
26
+ * Unsubscribes from frame events and resets the provider.
27
+ */
28
+ dispose() {
29
+ if (this.disposed) return;
30
+ this.disposed = true;
31
+ this.capturer.removeEventListener("frame", this.onFrameEvent);
32
+ this.provider.reset();
33
+ }
34
+ /**
35
+ * Returns whether the session has been disposed.
36
+ */
37
+ isDisposed() {
38
+ return this.disposed;
39
+ }
40
+ };
41
+ //#endregion
42
+ export { StreamCanvasProcessingSession as t };
@@ -1,6 +1,6 @@
1
1
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
2
2
  import { t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
3
+ import { t as endpoints } from "./endpoints-B-3Q-LUw.esm.js";
4
4
  import { t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
5
5
  const usStateOptions = Object.values({
6
6
  AL: {
@@ -0,0 +1,21 @@
1
+ import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
2
+ //#region src/internal/orchestration/advanceableErrors.ts
3
+ const VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE = "VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED";
4
+ /**
5
+ * Module terminal-error codes an orchestrator should treat as "advance to the
6
+ * next step" rather than "fail the flow". Decided here, at the orchestration
7
+ * layer, so every consumer behaves identically. "Advanceable" is independent of
8
+ * "retryable" (the module's own concern): it only decides what the flow does
9
+ * *after* a terminal error. Note `NO_MORE_ATTEMPTS` subsumes the former
10
+ * `USER_IS_NOT_RECOGNIZED` entry — see the contract test for the full matrix.
11
+ */
12
+ const ADVANCEABLE_ERROR_CODES = [
13
+ FACE_ERROR_CODES.NONEXISTENT_CUSTOMER,
14
+ FACE_ERROR_CODES.HINT_NOT_PROVIDED,
15
+ FACE_ERROR_CODES.NO_MORE_ATTEMPTS,
16
+ VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE
17
+ ];
18
+ /** True when the given code is a module terminal error the flow should advance past rather than fail on. */
19
+ const isAdvanceableError = (moduleErrorCode) => moduleErrorCode !== void 0 && ADVANCEABLE_ERROR_CODES.includes(moduleErrorCode);
20
+ //#endregion
21
+ export { isAdvanceableError as n, VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE as t };
@@ -1,6 +1,6 @@
1
1
  import { t as Manager } from "./Manager-CQQ99QOI.js";
2
- import { _ as getDefaultConsentChecks, a as ElectronicSignatureConfig, h as areAllConsented, i as ConsentKey, r as ConsentChecks, s as ElectronicSignatureDocument, t as AE_CONSENT_KEYS } from "./types-DVmXIdzW.js";
3
- import { n as ElectronicSignatureState, o as electronicSignatureMachine } from "./electronicSignatureManager-CcUXQZS7.js";
2
+ import { S as getDefaultConsentChecks, a as ElectronicSignatureConfig, b as areAllConsented, i as ConsentKey, r as ConsentChecks, s as ElectronicSignatureDocument, t as AE_CONSENT_KEYS } from "./types-D0gekt4U.js";
3
+ import { n as ElectronicSignatureState, o as electronicSignatureMachine } from "./electronicSignatureManager-Ds-KEVTq.js";
4
4
  import "./electronic-signature.js";
5
5
  //#region src/modules/ae-signature/index.d.ts
6
6
  type AeSignatureConfig = Omit<ElectronicSignatureConfig, 'variant'>;
@@ -14,6 +14,8 @@ declare function createAeSignatureManager(options: {
14
14
  confirmFile(): void;
15
15
  viewDocument(url: string): void;
16
16
  closeDocumentView(): void;
17
+ viewApplicationForm(): void;
18
+ closeApplicationForm(): void;
17
19
  sign(): void;
18
20
  finish(): void;
19
21
  retry(): void;
@@ -1,4 +1,4 @@
1
- import { c as getDefaultConsentChecks, i as AE_CONSENT_KEYS, o as areAllConsented, r as electronicSignatureMachine, t as createElectronicSignatureManager } from "./electronicSignatureManager-DGbAJ00W.esm.js";
1
+ import { c as areAllConsented, i as AE_CONSENT_KEYS, r as electronicSignatureMachine, t as createElectronicSignatureManager, u as getDefaultConsentChecks } from "./electronicSignatureManager-BJJH0Tvi.esm.js";
2
2
  //#region src/modules/ae-signature/index.ts
3
3
  function createAeSignatureManager(options) {
4
4
  return createElectronicSignatureManager({ config: {
@@ -1,3 +1,3 @@
1
- import { t as antifraudMachine } from "./antifraudStateMachine-Bf_JVNwn.esm.js";
2
- import { n as createAntifraudManagerFromActor, t as createAntifraudManager } from "./antifraudManager-CQFNgSPt.esm.js";
1
+ import { t as antifraudMachine } from "./antifraudStateMachine-DBeq47D2.esm.js";
2
+ import { n as createAntifraudManagerFromActor, t as createAntifraudManager } from "./antifraudManager-DNkw66oW.esm.js";
3
3
  export { antifraudMachine, createAntifraudManager, createAntifraudManagerFromActor };
@@ -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 { t as antifraudMachine } from "./antifraudStateMachine-Bf_JVNwn.esm.js";
4
+ import { t as antifraudMachine } from "./antifraudStateMachine-DBeq47D2.esm.js";
5
5
  //#region src/modules/antifraud/antifraudActor.ts
6
6
  function createAntifraudActor() {
7
7
  return createActor(antifraudMachine).start();
@@ -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-B-3Q-LUw.esm.js";
3
3
  import { 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/antifraud/antifraudServices.ts
@@ -1,4 +1,4 @@
1
- import { l as trueSightLog, u as categoryForEndpoint } from "./trueSightService---iW2KKJ.esm.js";
1
+ import { l as trueSightLog, u as categoryForEndpoint } from "./trueSightService-BN-Hzw82.esm.js";
2
2
  //#region src/internal/http/apiError.ts
3
3
  /**
4
4
  * Incode API error.
@@ -46,6 +46,18 @@ function isConnectivityError(err) {
46
46
  return isHttpError(err) && err.status === 0;
47
47
  }
48
48
  /**
49
+ * True when an error represents a failure that is the server's fault (or the
50
+ * network's) rather than the caller's — HTTP `5xx`, or connectivity loss
51
+ * (see {@link isConnectivityError}). Useful for callers that want to offer a
52
+ * "Try again" retry only for these, while a `4xx` (the caller sent something
53
+ * the backend rejected) is left for the caller to handle on its own terms —
54
+ * retrying the identical payload would just fail again.
55
+ */
56
+ function isServerError(err) {
57
+ if (isConnectivityError(err)) return true;
58
+ return err instanceof IncodeApiError && (err.httpStatus >= 500 || err.httpStatus === 0);
59
+ }
60
+ /**
49
61
  * Convert an unknown error caught from `api.{get,post,...}` into an
50
62
  * `IncodeApiError`, extracting the Incode-specific status and message from
51
63
  * the response body when present. The original error is preserved on
@@ -70,4 +82,4 @@ function logHttpFailureBreadcrumb(message, endpoint) {
70
82
  } catch {}
71
83
  }
72
84
  //#endregion
73
- export { isConnectivityError as n, toIncodeApiError as r, IncodeApiError as t };
85
+ export { toIncodeApiError as i, isConnectivityError as n, isServerError as r, IncodeApiError as t };
@@ -1,4 +1,4 @@
1
- import { b as createAuthenticationActor, v as AuthenticationActor, x as authenticationMachine, y as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-BxWPpxyd.js";
2
- import { t as AuthenticationConfig } from "./types-EELWyWpd.js";
3
- import { n as AuthenticationState, r as createAuthenticationManager, t as AuthenticationManager } from "./authenticationManager-BBMGTcwW.js";
1
+ import { C as authenticationMachine, S as createAuthenticationActor, b as AuthenticationActor, x as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-BeUl8fl1.js";
2
+ import { t as AuthenticationConfig } from "./types-ChAowIxT.js";
3
+ import { n as AuthenticationState, r as createAuthenticationManager, t as AuthenticationManager } from "./authenticationManager-CjXBjC-c.js";
4
4
  export { type AuthenticationActor, type AuthenticationConfig, type AuthenticationManager, type AuthenticationState, type CreateAuthenticationActorOptions, authenticationMachine, createAuthenticationActor, createAuthenticationManager };
@@ -1,3 +1,3 @@
1
- import { t as authenticationMachine } from "./authenticationStateMachine-xzi-vnvE.esm.js";
2
- import { r as createAuthenticationActor, t as createAuthenticationManager } from "./authenticationManager-zh9TC62P.esm.js";
1
+ import { t as authenticationMachine } from "./authenticationStateMachine-MOYz4HCf.esm.js";
2
+ import { r as createAuthenticationActor, t as createAuthenticationManager } from "./authenticationManager-cMXhG70r.esm.js";
3
3
  export { authenticationMachine, createAuthenticationActor, createAuthenticationManager };
@@ -1,6 +1,6 @@
1
1
  import { t as Manager } from "./Manager-CQQ99QOI.js";
2
2
  import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
3
- import { n as FaceCaptureManagerState, t as FaceCaptureManager, v as AuthenticationActor, y as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-BxWPpxyd.js";
3
+ import { b as AuthenticationActor, n as FaceCaptureManagerState, t as FaceCaptureManager, x as CreateAuthenticationActorOptions } from "./faceCaptureManagerFactory-BeUl8fl1.js";
4
4
  //#region src/modules/authentication/authenticationManager.d.ts
5
5
  type AuthenticationState = FaceCaptureManagerState;
6
6
  /**
@@ -22,6 +22,9 @@ declare function createAuthenticationManagerFromActor(actor: AuthenticationActor
22
22
  reset(): void;
23
23
  retryCapture(): void;
24
24
  capture(): void;
25
+ goToManualUpload(): void;
26
+ manualUploadSelectFile(file: File): void;
27
+ manualUploadContinue(): void;
25
28
  };
26
29
  /**
27
30
  * Creates an authentication manager instance for handling face authentication flow.
@@ -69,6 +72,9 @@ declare function createAuthenticationManager(options: CreateAuthenticationActorO
69
72
  reset(): void;
70
73
  retryCapture(): void;
71
74
  capture(): void;
75
+ goToManualUpload(): void;
76
+ manualUploadSelectFile(file: File): void;
77
+ manualUploadContinue(): void;
72
78
  };
73
79
  type AuthenticationManager = FaceCaptureManager;
74
80
  //#endregion
@@ -1,9 +1,9 @@
1
- import { r as WasmUtilProvider } from "./safeStorage-Ep56I-f_.esm.js";
2
- import { t as BrowserStorageProvider } from "./BrowserStorageProvider-k-FDkC4W.esm.js";
3
- import { n as eventModuleNames } from "./events-DYiyoSlx.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-BWG-hivt.esm.js";
2
+ import { r as WasmUtilProvider } from "./safeStorage-B-trhxg6.esm.js";
3
+ import { n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
4
4
  import { s as createActor } from "./xstate.esm-BuFLFuzz.esm.js";
5
- import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-CVnZ0fa5.esm.js";
6
- import { t as authenticationMachine } from "./authenticationStateMachine-xzi-vnvE.esm.js";
5
+ import { t as createFaceCaptureManagerFromActor } from "./faceCaptureManagerFactory-B7Ms6pSs.esm.js";
6
+ import { t as authenticationMachine } from "./authenticationStateMachine-MOYz4HCf.esm.js";
7
7
  //#region src/modules/authentication/authenticationActor.ts
8
8
  function createAuthenticationActor(options) {
9
9
  const dependencies = options.dependencies ?? {
@@ -1,12 +1,9 @@
1
- import { t as api } from "./api-Bx3gKW_y.esm.js";
2
- import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
3
- import { t as addDeviceStats } from "./stats-B0nFKawG.esm.js";
4
1
  import { i as assign } from "./xstate.esm-BuFLFuzz.esm.js";
5
2
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
6
- import { t as faceCaptureMachine } from "./faceCaptureSetup-Cd-04W_X.esm.js";
7
- import { i as prepareOnDeviceFaceUpload, n as isOnDeviceMode, r as postOnDeviceFaceResults, t as defaultPrepareFaceUpload } from "./onDeviceFaceResults-CUHwyZT4.esm.js";
8
- import { t as getDeviceClass } from "./getDeviceClass-9y-kbVDw.esm.js";
3
+ import { n as createDefaultProtectedFaceControllerActor, t as faceCaptureMachine } from "./faceCaptureSetup-bkAlr5d8.esm.js";
4
+ import { c as isOnDeviceMode } from "./FaceDetectionProvider-BfhWkK90.esm.js";
9
5
  import { t as FACE_ERROR_CODES } from "./types-BN5RPPIZ.esm.js";
6
+ import { s as PROTECTED_CAPTURE_TARGET } from "./createCameraCycleOwnership-CX3hJGKc.esm.js";
10
7
  //#region src/modules/authentication/authenticationErrorUtils.ts
11
8
  const AUTH_ERROR_MAP = {
12
9
  SPOOF_ATTEMPT_DETECTED: FACE_ERROR_CODES.SPOOF_ATTEMPT_DETECTED,
@@ -42,46 +39,6 @@ const isTerminalAuthError = (response, attemptsRemaining) => {
42
39
  return false;
43
40
  };
44
41
  //#endregion
45
- //#region src/modules/authentication/authenticationUploadService.ts
46
- async function uploadAuthFace(params) {
47
- try {
48
- const payload = {
49
- base64Image: params.encryptedBase64Image,
50
- faceCoordinates: params.faceCoordinates ?? void 0,
51
- encrypted: true,
52
- clientInfo: { deviceClass: getDeviceClass() },
53
- metadata: params.metadata ?? void 0,
54
- ...params.authHint !== void 0 && { hint: params.authHint }
55
- };
56
- const query = {};
57
- if (params.recordingId) query.recordingId = params.recordingId;
58
- const res = await api.post(endpoints.authenticate, payload, {
59
- signal: params.signal,
60
- query
61
- });
62
- if (!res.ok) throw new Error(`POST ${endpoints.authenticate} failed: ${res.status} ${res.statusText}`);
63
- if (params.deepsightService) addDeviceStats({
64
- frontIdStatsAnalysisStatus: "",
65
- backIdStatsAnalysisStatus: "",
66
- selfieStatsAnalysisStatus: params.deepsightService.getAnalysisStatus(),
67
- motionStatus: params.deepsightService.getMotionStatus()
68
- });
69
- return res.data;
70
- } catch (error) {
71
- const errorCode = getAuthErrorCodeFromHttpError(error);
72
- if (errorCode) throw new Error(errorCode);
73
- throw new Error(FACE_ERROR_CODES.SERVER);
74
- }
75
- }
76
- const getAuthErrorCodeFromHttpError = (error) => {
77
- const err = error;
78
- if (err.ok !== false || typeof err.status !== "number") return;
79
- if (err.status !== 400) return FACE_ERROR_CODES.SERVER;
80
- const errorName = err.data?.error?.name;
81
- if (!errorName) return FACE_ERROR_CODES.BAD_REQUEST;
82
- return AUTH_ERROR_MAP[errorName] ?? FACE_ERROR_CODES.BAD_REQUEST;
83
- };
84
- //#endregion
85
42
  //#region src/modules/authentication/authenticationStateMachine.ts
86
43
  /**
87
44
  * Narrow the base machine's opaque `uploadResponse` (Record<string, unknown>)
@@ -90,22 +47,9 @@ const getAuthErrorCodeFromHttpError = (error) => {
90
47
  const authUploadResponse = (context) => context.uploadResponse;
91
48
  const authenticationMachine = faceCaptureMachine.provide({
92
49
  actors: {
93
- prepareFaceUpload: fromPromise(async ({ input }) => {
94
- const ctx = input;
95
- return isOnDeviceMode(ctx.config) ? prepareOnDeviceFaceUpload(ctx) : defaultPrepareFaceUpload(ctx);
96
- }),
97
- uploadFace: fromPromise(async ({ input, signal }) => {
98
- const ctx = input;
99
- if (isOnDeviceMode(ctx.config)) return postOnDeviceFaceResults(ctx, signal);
100
- return uploadAuthFace({
101
- encryptedBase64Image: ctx.encryptedBase64Image,
102
- faceCoordinates: ctx.faceCoordinates,
103
- authHint: ctx.authHint,
104
- metadata: ctx.deepsightService?.getMetadata(),
105
- recordingId: ctx.uploadRecordingId,
106
- deepsightService: ctx.deepsightService ?? void 0,
107
- signal
108
- });
50
+ protectedFaceController: createDefaultProtectedFaceControllerActor({
51
+ target: PROTECTED_CAPTURE_TARGET.authentication,
52
+ delivery: "protected"
109
53
  }),
110
54
  processFace: fromPromise(async () => ({}))
111
55
  },
package/dist/avatar.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import { n as AvatarFaceState } from "./IFaceAvatarCapability-BrL19G0s.js";
2
- import { i as createFaceAvatar, n as FaceAvatarHandle, r as FaceAvatarOptions, t as AvatarId } from "./createFaceAvatar-BEj18KXi.js";
1
+ import { i as createFaceAvatar, n as FaceAvatarHandle, o as AvatarFaceState, r as FaceAvatarOptions, t as AvatarId } from "./createFaceAvatar-BlcTYgJv.js";
3
2
  export { type AvatarFaceState, type AvatarId, type FaceAvatarHandle, type FaceAvatarOptions, createFaceAvatar };
@@ -1,2 +1,2 @@
1
- import { t as createFaceAvatar } from "./createFaceAvatar-DQKaRise.esm.js";
1
+ import { t as createFaceAvatar } from "./createFaceAvatar-BNHdeFj8.esm.js";
2
2
  export { createFaceAvatar };
@@ -1,7 +1,7 @@
1
- import { i as isIOS, o as isIPhone14OrHigher, r as isDesktop, s as isSafari, t as isAndroid } from "./platform-BJrm5nzZ.esm.js";
2
- import { a as stopCameraStream, n as enumerateVideoDevices, r as requestCameraAccess, t as applyTrackConstraints } from "./camera-_2sXMXiF.esm.js";
1
+ import { a as isIOS, c as isIPhone14OrHigher, d as isSafari, i as isDesktop, t as isAndroid } from "./platform-DkcRc9JV.esm.js";
2
+ import { i as requestCameraAccess, n as enumerateVideoDevices, o as stopCameraStream, t as applyTrackConstraints } from "./camera-sIa9ceW2.esm.js";
3
3
  import { t as sleep } from "./ITimerCapability-DgdDzp8G.esm.js";
4
- import { t as getBrowser } from "./getBrowser-DNrQeL4T.esm.js";
4
+ import { t as getBrowser } from "./getBrowser-Cbe1C4Tn.esm.js";
5
5
  //#region src/internal/camera/backCameraStream.ts
6
6
  const BACK_CAMERA_KEYWORDS = [
7
7
  "rear",
@@ -46,6 +46,10 @@ function isBackCameraLabel(label) {
46
46
  const lowercaseLabel = label.toLowerCase();
47
47
  return BACK_CAMERA_KEYWORDS.some((keyword) => lowercaseLabel.includes(keyword));
48
48
  }
49
+ function isBackFacingTrack(track) {
50
+ const settings = track.getSettings();
51
+ return isBackCameraLabel(track.label) || settings.facingMode === "environment";
52
+ }
49
53
  function classifyCamera(device, index, totalDevices) {
50
54
  let cameraType;
51
55
  if (device.label === "") cameraType = totalDevices === 1 || index + 1 <= totalDevices / 2 ? "front" : "back";
@@ -97,7 +101,7 @@ function selectMainCameraFromStream(track, cameras) {
97
101
  const settings = track.getSettings();
98
102
  const activeCamera = cameras.find((c) => c.deviceId === settings.deviceId || c.label !== "" && c.label === track.label);
99
103
  if (!activeCamera) return void 0;
100
- if ((settings.facingMode === "environment" || isBackCameraLabel(track.label)) && cameras.length > 1) {
104
+ if (isBackFacingTrack(track) && cameras.length > 1) {
101
105
  cameras.forEach((camera) => {
102
106
  if (camera.deviceId === activeCamera.deviceId) camera.cameraType = "back";
103
107
  else if (!isBackCameraLabel(camera.label)) camera.cameraType = "front";
@@ -209,8 +213,11 @@ async function getAndroidBackCameraStream(fallbackLevel = 0) {
209
213
  const mainCamera = selectMainCameraFromStream(track, await getCameras());
210
214
  stopCameraStream(initialStream);
211
215
  if (!mainCamera) throw new Error("Could not identify main camera");
216
+ const acquisitionConstraints = getAndroidFinalConstraints(mainCamera, fallbackLevel);
217
+ const finalStream = await requestCameraAccess({ video: acquisitionConstraints });
212
218
  return {
213
- stream: await requestCameraAccess({ video: getAndroidFinalConstraints(mainCamera, fallbackLevel) }),
219
+ stream: finalStream,
220
+ constraints: await applyAutofocusHint(finalStream, acquisitionConstraints),
214
221
  fallbackLevel
215
222
  };
216
223
  } catch (error) {
@@ -228,16 +235,52 @@ async function getAndroidBackCameraStream(fallbackLevel = 0) {
228
235
  }
229
236
  }
230
237
  async function getFirefoxAndroidBackCameraStream() {
238
+ const requestConstraints = getDesktopConstraints({ facingMode: "environment" });
239
+ const acquisitionConstraints = getVideoTrackConstraints(requestConstraints);
240
+ const stream = await requestCameraAccess(requestConstraints);
231
241
  return {
232
- stream: await requestCameraAccess(getDesktopConstraints({ facingMode: "environment" })),
242
+ stream,
243
+ constraints: await applyAutofocusHint(stream, acquisitionConstraints),
233
244
  fallbackLevel: 0
234
245
  };
235
246
  }
236
- async function applyFocusHint(stream) {
247
+ /**
248
+ * Preserve SDK 1's iOS focus-distance hint and request the browser's continuous
249
+ * autofocus mode on any selected back-camera track that advertises it.
250
+ *
251
+ * This is deliberately capability-gated and best-effort. A fixed focus
252
+ * distance on Android can blur a close document, while an unsupported advanced
253
+ * constraint must never make camera acquisition fail.
254
+ */
255
+ async function applyAutofocusHint(stream, acquisitionConstraints, includeIOSFocusDistance = false) {
237
256
  const videoTrack = stream.getVideoTracks()[0];
257
+ if (!videoTrack) return acquisitionConstraints;
258
+ let focusMode;
238
259
  try {
239
- await applyTrackConstraints(videoTrack, { advanced: [{ focusDistance: 1 }] });
260
+ const advertisedModes = (videoTrack.getCapabilities?.())?.focusMode;
261
+ const supportedModes = Array.isArray(advertisedModes) ? advertisedModes : advertisedModes ? [advertisedModes] : [];
262
+ focusMode = supportedModes.includes("continuous") ? "continuous" : supportedModes.includes("auto") ? "auto" : void 0;
240
263
  } catch {}
264
+ if (!focusMode && !includeIOSFocusDistance) return acquisitionConstraints;
265
+ const focusConstraints = {
266
+ ...focusMode ? { focusMode } : {},
267
+ ...includeIOSFocusDistance ? { focusDistance: 1 } : {}
268
+ };
269
+ const constraints = {
270
+ ...acquisitionConstraints,
271
+ advanced: [...acquisitionConstraints.advanced ?? [], focusConstraints]
272
+ };
273
+ try {
274
+ await applyTrackConstraints(videoTrack, constraints);
275
+ return constraints;
276
+ } catch {
277
+ try {
278
+ await applyTrackConstraints(videoTrack, { advanced: [focusConstraints] });
279
+ return constraints;
280
+ } catch {
281
+ return acquisitionConstraints;
282
+ }
283
+ }
241
284
  }
242
285
  function getIOSConstraints() {
243
286
  return {
@@ -250,9 +293,13 @@ function getIOSConstraints() {
250
293
  };
251
294
  }
252
295
  async function getIOSCameraStream() {
253
- const stream = await requestCameraAccess(getIOSConstraints());
254
- await applyFocusHint(stream);
255
- return stream;
296
+ const requestConstraints = getIOSConstraints();
297
+ const acquisitionConstraints = getVideoTrackConstraints(requestConstraints);
298
+ const stream = await requestCameraAccess(requestConstraints);
299
+ return {
300
+ stream,
301
+ constraints: await applyAutofocusHint(stream, acquisitionConstraints, true)
302
+ };
256
303
  }
257
304
  function getDesktopVideoConstraints(level) {
258
305
  switch (level) {
@@ -331,17 +378,26 @@ function getDesktopConstraints(options, level = 0) {
331
378
  }
332
379
  };
333
380
  }
334
- async function getDesktopCameraStream(options, fallbackLevel = 0) {
381
+ function getVideoTrackConstraints(constraints) {
382
+ return constraints.video && typeof constraints.video !== "boolean" ? constraints.video : {};
383
+ }
384
+ async function getDesktopCameraStreamResult(options, fallbackLevel = 0) {
335
385
  if (fallbackLevel > 5) throw new Error("Failed to get desktop camera after all fallback attempts");
336
386
  const constraints = getDesktopConstraints(options, fallbackLevel);
337
387
  try {
338
- return await requestCameraAccess(constraints);
388
+ return {
389
+ stream: await requestCameraAccess(constraints),
390
+ constraints: getVideoTrackConstraints(constraints)
391
+ };
339
392
  } catch (error) {
340
393
  const nextLevel = fallbackLevel + 1;
341
394
  if (nextLevel > 5) throw error;
342
- return getDesktopCameraStream(options, nextLevel);
395
+ return getDesktopCameraStreamResult(options, nextLevel);
343
396
  }
344
397
  }
398
+ async function getDesktopCameraStream(options, fallbackLevel = 0) {
399
+ return (await getDesktopCameraStreamResult(options, fallbackLevel)).stream;
400
+ }
345
401
  /**
346
402
  * Pick the best back-facing device from a list already filtered by label.
347
403
  * Prefers the highest megapixel count when labels advertise it, else the first.
@@ -377,17 +433,17 @@ function selectBestBackDevice(devices) {
377
433
  * An explicit deviceId from the caller is always trusted as-is.
378
434
  */
379
435
  async function getDesktopBackCameraStream(deviceId) {
380
- if (deviceId) return getDesktopCameraStream({ deviceId });
381
- const original = await getDesktopCameraStream({ facingMode: "environment" });
382
- const track = original.getVideoTracks()[0];
436
+ if (deviceId) return getDesktopCameraStreamResult({ deviceId });
437
+ const original = await getDesktopCameraStreamResult({ facingMode: "environment" });
438
+ const track = original.stream.getVideoTracks()[0];
383
439
  if (track && isBackCameraLabel(track.label)) return original;
384
440
  const backDevices = (await enumerateVideoDevices()).filter((d) => isBackCameraLabel(d.label));
385
441
  if (backDevices.length === 0) return original;
386
442
  const target = selectBestBackDevice(backDevices);
387
443
  if (track && track.getSettings().deviceId === target.deviceId) return original;
388
444
  try {
389
- const corrected = await getDesktopCameraStream({ deviceId: target.deviceId });
390
- stopCameraStream(original);
445
+ const corrected = await getDesktopCameraStreamResult({ deviceId: target.deviceId });
446
+ stopCameraStream(original.stream);
391
447
  return corrected;
392
448
  } catch {
393
449
  return original;
@@ -431,12 +487,17 @@ async function ensureFrontCameraStream(open) {
431
487
  }
432
488
  }
433
489
  async function getBackCameraStream(deviceId) {
434
- if (isIOS()) return { stream: await getIOSCameraStream() };
490
+ if (isIOS()) return getIOSCameraStream();
435
491
  if (isAndroid()) {
436
492
  if (getBrowser() === "firefox") return getFirefoxAndroidBackCameraStream();
437
493
  return getAndroidBackCameraStream(0);
438
494
  }
439
- return { stream: await getDesktopBackCameraStream(deviceId) };
495
+ const acquired = await getDesktopBackCameraStream(deviceId);
496
+ const constraints = await applyAutofocusHint(acquired.stream, acquired.constraints);
497
+ return {
498
+ stream: acquired.stream,
499
+ constraints
500
+ };
440
501
  }
441
502
  //#endregion
442
- export { hasBackCamera as i, getBackCameraStream as n, getDesktopCameraStream as r, ensureFrontCameraStream as t };
503
+ export { isBackFacingTrack as a, hasBackCamera as i, getBackCameraStream as n, getDesktopCameraStream as r, ensureFrontCameraStream as t };