@incodetech/core 2.1.0-rc.1 → 2.1.0-rc.3

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 (263) hide show
  1. package/dist/3dAvatarProvider-ChciZmjE.esm.js +28214 -0
  2. package/dist/{BrowserStorageProvider-BpJM-gIl.esm.js → BrowserStorageProvider-CrrN540a.esm.js} +1 -8
  3. package/dist/BrowserVisibilityObserverProvider-rim9Jrz-.esm.js +25 -0
  4. package/dist/Face2DProvider-BeLlYBbB.esm.js +824 -0
  5. package/dist/FaceDetectionProvider-B78455D4.d.ts +119 -0
  6. package/dist/IVisibilityObserverCapability-BbWjgpiF.d.ts +12 -0
  7. package/dist/IWasmUtilCapability-d2XvzaCk.d.ts +145 -0
  8. package/dist/IpifyProvider-BRW14_uo.esm.js +51 -0
  9. package/dist/{OpenViduRecordingProvider-O4GjBseO.esm.js → OpenViduRecordingProvider-B_0GKkzc.esm.js} +1 -1
  10. package/dist/PrivacyLensProvider-hDzaDzZ6.esm.js +339 -0
  11. package/dist/{StreamCanvasCapture-ImiDQdVA.esm.js → StreamCanvasCapture-Bz17q4FP.esm.js} +1 -1
  12. package/dist/StreamCanvasCapture-DS1TOoiH.d.ts +42 -0
  13. package/dist/{WasmUtilProvider-BKWm8rSA.esm.js → WasmUtilProvider-ADG54T6M.esm.js} +26 -2
  14. package/dist/{addressSearch-DvmWXKZg.esm.js → addressSearch-DJyNTg5S.esm.js} +4 -4
  15. package/dist/{ae-signature-BFZta3TZ.esm.js → ae-signature-DlElqFrZ.esm.js} +1 -1
  16. package/dist/ae-signature.d.ts +4 -3
  17. package/dist/ae-signature.esm.js +10 -7
  18. package/dist/antifraud.d.ts +4 -3
  19. package/dist/antifraud.esm.js +7 -6
  20. package/dist/antifraudManager-BKdQoMFf.esm.js +84 -0
  21. package/dist/{antifraudManager-CznnhyvD.d.ts → antifraudManager-DpIvbrZP.d.ts} +2 -2
  22. package/dist/{antifraudStateMachine-Ccrb-Jxc.esm.js → antifraudStateMachine-C0NGnP9W.esm.js} +3 -3
  23. package/dist/{api-CESGtpbH.esm.js → api-DsbUi7TO.esm.js} +21 -2
  24. package/dist/authentication.d.ts +19 -13
  25. package/dist/authentication.esm.js +33 -27
  26. package/dist/{authenticationManager-CaiQbp-q.d.ts → authenticationManager-CdPbNS2H.d.ts} +13 -3
  27. package/dist/{authenticationManager-BlR6mSaG.esm.js → authenticationManager-Dtl1vcET.esm.js} +17 -8
  28. package/dist/{authenticationStateMachine-DkcGUMw5.esm.js → authenticationStateMachine-D-hOlg8p.esm.js} +20 -23
  29. package/dist/avatar.d.ts +3 -0
  30. package/dist/avatar.esm.js +3 -0
  31. package/dist/{backCameraStream-D7Wo4Nbx.esm.js → backCameraStream-ZyqrFyjO.esm.js} +3 -3
  32. package/dist/browser-DlFgHpoC-qLKs75Qp.esm.js +1425 -0
  33. package/dist/{browserSimulation-B1dWiXp7.esm.js → browserSimulation-TsSoavQv.esm.js} +153 -1216
  34. package/dist/camera-DUkgmYMo.esm.js +79 -0
  35. package/dist/camera.d.ts +7 -1
  36. package/dist/camera.esm.js +4 -4
  37. package/dist/{StreamCanvasCapture-yyl20qd9.d.ts → canvas-CJUmoXSD.d.ts} +1 -41
  38. package/dist/certificate-issuance.d.ts +312 -0
  39. package/dist/certificate-issuance.esm.js +74 -0
  40. package/dist/certificateIssuanceStateMachine-C07m7qtP.esm.js +127 -0
  41. package/dist/clientLifecycle-Ct7h9uxx.esm.js +534 -0
  42. package/dist/consent.d.ts +4 -3
  43. package/dist/consent.esm.js +7 -6
  44. package/dist/{consentManager-BYo9Nu1r.esm.js → consentManager-BtnPZUW4.esm.js} +30 -5
  45. package/dist/{consentManager-Cg5Sk2tv.d.ts → consentManager-DufVo9D9.d.ts} +55 -55
  46. package/dist/{consentStateMachine-BG3yL8aC.esm.js → consentStateMachine-DO2JqoZW.esm.js} +3 -3
  47. package/dist/cpf-ocr.d.ts +4 -3
  48. package/dist/cpf-ocr.esm.js +7 -6
  49. package/dist/{cpfOcrManager-sSKegxox.esm.js → cpfOcrManager-C4rLgKsu.esm.js} +6 -5
  50. package/dist/{cpfOcrManager-Dg1s_TY5.d.ts → cpfOcrManager-DqZZ94Gt.d.ts} +19 -19
  51. package/dist/createFaceAvatar-B8pFpy6o.d.ts +401 -0
  52. package/dist/createFaceAvatar-BOHDKQRq.esm.js +46 -0
  53. package/dist/cross-document-data-match.d.ts +2 -1
  54. package/dist/cross-document-data-match.esm.js +6 -5
  55. package/dist/curp-validation.d.ts +10 -7
  56. package/dist/curp-validation.esm.js +7 -6
  57. package/dist/{curpValidationManager-CFem6zP9.esm.js → curpValidationManager-BafobPXC.esm.js} +52 -5
  58. package/dist/{curpValidationManager-RttixpIc.d.ts → curpValidationManager-Co6LZAHT.d.ts} +4 -3
  59. package/dist/{curpValidationStateMachine-B7V_qp66.esm.js → curpValidationStateMachine-DXTPK6vI.esm.js} +3 -3
  60. package/dist/custom-fields.d.ts +4 -2
  61. package/dist/custom-fields.esm.js +49 -6
  62. package/dist/custom-watchlist.d.ts +2 -1
  63. package/dist/custom-watchlist.esm.js +27 -6
  64. package/dist/{customWatchlistStateMachine-HmFybXLX.esm.js → customWatchlistStateMachine-B4G3Chkx.esm.js} +3 -3
  65. package/dist/{deepsightLoader-8tnddNx-.esm.js → deepsightLoader-DHSVD776.esm.js} +14 -13
  66. package/dist/{deepsightService-CrHmvx8X.esm.js → deepsightService-CDahSjGP.esm.js} +9 -38
  67. package/dist/deepsightService-CMB9XjES.d.ts +69 -0
  68. package/dist/device.d.ts +9 -1
  69. package/dist/device.esm.js +5 -5
  70. package/dist/document-capture.d.ts +178 -177
  71. package/dist/document-capture.esm.js +78 -14
  72. package/dist/document-upload.d.ts +51 -50
  73. package/dist/document-upload.esm.js +10 -9
  74. package/dist/{documentCaptureStateMachine-CUTUzUw_.esm.js → documentCaptureStateMachine-DSOX2epf.esm.js} +7 -7
  75. package/dist/dynamic-forms.d.ts +4 -192
  76. package/dist/dynamic-forms.esm.js +8 -410
  77. package/dist/dynamicFormsManager-BOefZbyF.esm.js +168 -0
  78. package/dist/dynamicFormsManager-CUYLOj9g.d.ts +239 -0
  79. package/dist/dynamicFormsStateMachine-BXHcaocI.esm.js +284 -0
  80. package/dist/ekyb.d.ts +10 -6
  81. package/dist/ekyb.esm.js +62 -17
  82. package/dist/{ekybStateMachine-klc-AImJ.esm.js → ekybStateMachine-CCSeqjCt.esm.js} +5 -5
  83. package/dist/ekyc.d.ts +5 -3
  84. package/dist/ekyc.esm.js +55 -9
  85. package/dist/{ekycStateMachine-CXbpaJJn.esm.js → ekycStateMachine-DkLVTOyA.esm.js} +5 -5
  86. package/dist/electronic-signature.d.ts +4 -3
  87. package/dist/electronic-signature.esm.js +9 -6
  88. package/dist/{electronicSignatureManager-BaECdJ1u.esm.js → electronicSignatureManager-DjzUzqZj.esm.js} +135 -92
  89. package/dist/email.d.ts +5 -4
  90. package/dist/email.esm.js +9 -8
  91. package/dist/{emailManager--D5G3ChB.esm.js → emailManager-B_XzEsXH.esm.js} +47 -6
  92. package/dist/{emailManager-lAzDoQOs.d.ts → emailManager-fHASH6uo.d.ts} +4 -3
  93. package/dist/{emailStateMachine-CxTOMAjC.esm.js → emailStateMachine-fqJ42b19.esm.js} +5 -5
  94. package/dist/{endpoints-BeTK0Mlt.esm.js → endpoints-BzMJFAPV.esm.js} +15 -0
  95. package/dist/{events-Dvvriq9l.esm.js → events-CqGY1yMq.esm.js} +87 -206
  96. package/dist/events.d.ts +23 -16
  97. package/dist/events.esm.js +3 -2
  98. package/dist/extensibility.d.ts +37 -27
  99. package/dist/extensibility.esm.js +74 -57
  100. package/dist/externalFetch-CyhBfD-n.esm.js +22 -0
  101. package/dist/face-match.d.ts +2 -2
  102. package/dist/face-match.esm.js +6 -5
  103. package/dist/{faceCaptureManagerFactory-ej2j1LMr.esm.js → faceCaptureManagerFactory-2brKTzMb.esm.js} +115 -25
  104. package/dist/faceCaptureManagerFactory-CGKbf7zt.d.ts +400 -0
  105. package/dist/{faceCaptureSetup-B9t6bYze.esm.js → faceCaptureSetup-CDUVU1nl.esm.js} +97 -13
  106. package/dist/{faceMatchStateMachine-DeXXzSuz.esm.js → faceMatchStateMachine-DUeUjEPx.esm.js} +3 -3
  107. package/dist/field-comparison.d.ts +4 -3
  108. package/dist/field-comparison.esm.js +6 -5
  109. package/dist/{fieldComparisonManager-COGI2ARD.esm.js → fieldComparisonManager-B9W0a9A5.esm.js} +5 -4
  110. package/dist/{fieldComparisonManager-Bu5TaSr3.d.ts → fieldComparisonManager-DdLqDeB2.d.ts} +2 -2
  111. package/dist/fiscal-qr.d.ts +5 -3
  112. package/dist/fiscal-qr.esm.js +13 -12
  113. package/dist/flow-events.d.ts +8 -6
  114. package/dist/flow.d.ts +34 -16
  115. package/dist/flow.esm.js +53 -30
  116. package/dist/flowCompletionService-BIqSTZcd.d.ts +28 -0
  117. package/dist/flowCompletionService-qEqh_g14.esm.js +42 -0
  118. package/dist/{flowServices-ChgTNggJ.esm.js → flowServices-C4piblgx.esm.js} +24 -9
  119. package/dist/geolocation.d.ts +4 -126
  120. package/dist/geolocation.esm.js +8 -87
  121. package/dist/geolocationManager-BP2Do9O-.esm.js +123 -0
  122. package/dist/geolocationManager-Cs50eRlC.d.ts +156 -0
  123. package/dist/{geolocationStateMachine-Dvh7X0wF.esm.js → geolocationStateMachine-BYfOOOG0.esm.js} +4 -4
  124. package/dist/{getDeviceClass-C8Do2qYu.esm.js → getDeviceClass-DGGzzfqm.esm.js} +1 -1
  125. package/dist/getDeviceData-TrKM8NPh.esm.js +101 -0
  126. package/dist/government-validation.d.ts +4 -3
  127. package/dist/government-validation.esm.js +43 -8
  128. package/dist/{governmentValidationStateMachine-DcJ-BfsC.esm.js → governmentValidationStateMachine-CwoPPO8b.esm.js} +5 -5
  129. package/dist/home.d.ts +18 -15
  130. package/dist/home.esm.js +5 -4
  131. package/dist/http.d.ts +1 -0
  132. package/dist/http.esm.js +2 -2
  133. package/dist/id-ocr.d.ts +4 -625
  134. package/dist/id-ocr.esm.js +8 -84
  135. package/dist/id-verification.d.ts +28 -27
  136. package/dist/id-verification.esm.js +6 -5
  137. package/dist/id.d.ts +24 -13
  138. package/dist/id.esm.js +48 -33
  139. package/dist/idCaptureDefaults-DNJON8Xo.esm.js +188 -0
  140. package/dist/{idCaptureManager-ChCNmgBj.d.ts → idCaptureManager-BVdvfJys.d.ts} +47 -12
  141. package/dist/{idCaptureManager-D3pwWutw.esm.js → idCaptureManager-Bo9DCQSU.esm.js} +100 -15
  142. package/dist/{idCaptureStateMachine-B3AiDIsT.esm.js → idCaptureStateMachine-BeDidMLU.esm.js} +525 -439
  143. package/dist/idOcrManager-BkRDrpZu.esm.js +92 -0
  144. package/dist/idOcrManager-CJzrmM91.d.ts +641 -0
  145. package/dist/{idOcrStateMachine-CDQ5d_VM.esm.js → idOcrStateMachine-DRZc4FBl.esm.js} +5 -5
  146. package/dist/{idVerificationStateMachine-kRxwImzO.esm.js → idVerificationStateMachine-oqiERKpg.esm.js} +3 -3
  147. package/dist/identity-reuse.d.ts +4 -3
  148. package/dist/identity-reuse.esm.js +7 -6
  149. package/dist/{identityReuseManager-C6n_97dw.esm.js → identityReuseManager-Bu62LToE.esm.js} +4 -3
  150. package/dist/{identityReuseManager-Cww-NDtd.d.ts → identityReuseManager-TWKbXuvY.d.ts} +33 -33
  151. package/dist/{identityReuseStateMachine-BfE5YiEr.esm.js → identityReuseStateMachine-BmONeF6B.esm.js} +3 -3
  152. package/dist/{index-B5hPA0Bg.d.ts → index-DtUlD-bz.d.ts} +2 -2
  153. package/dist/{index-B9NysVDB.d.ts → index-Icld-cKW.d.ts} +175 -295
  154. package/dist/index-XTtxaahe.d.ts +93 -0
  155. package/dist/index.d.ts +3 -2
  156. package/dist/index.esm.js +16 -12
  157. package/dist/{invokeOnCaptureCallback-ygByVdnn.esm.js → invokeOnCaptureCallback-v_PV_IJz.esm.js} +1 -1
  158. package/dist/{lib-BY67lgbq.esm.js → lib-B050WTth.esm.js} +1 -1
  159. package/dist/mandatory-consent.d.ts +10 -7
  160. package/dist/mandatory-consent.esm.js +7 -6
  161. package/dist/{mandatoryConsentManager-Dq6WiOZh.d.ts → mandatoryConsentManager-Bmdjo14S.d.ts} +50 -50
  162. package/dist/{mandatoryConsentManager-H6D18cZB.esm.js → mandatoryConsentManager-CQ3jirlZ.esm.js} +4 -3
  163. package/dist/{mandatoryConsentStateMachine-DtQNW1ji.esm.js → mandatoryConsentStateMachine-DkJJLHqC.esm.js} +3 -3
  164. package/dist/mediaRecorderOptions-C3NAkVgK.esm.js +42 -0
  165. package/dist/mediapipeShared-CRAKVElv.esm.js +67 -0
  166. package/dist/{recordingService-yRw7hfzU.esm.js → onDeviceFaceResults-DVBggeq8.esm.js} +71 -389
  167. package/dist/{openviduLazy-Dh14JNJc.esm.js → openviduLazy-BTOIauGP.esm.js} +2 -2
  168. package/dist/openviduLazy-Dov8oKfL.esm.js +3 -0
  169. package/dist/{permissionGuards-D0wGddy7.esm.js → permissionGuards-BR2oN573.esm.js} +1 -1
  170. package/dist/{permissionServices-Doec4X5L.esm.js → permissionServices-BJhGL13R.esm.js} +7 -4
  171. package/dist/personhood.d.ts +534 -0
  172. package/dist/personhood.esm.js +1494 -0
  173. package/dist/phone.d.ts +5 -4
  174. package/dist/phone.esm.js +9 -8
  175. package/dist/{phoneManager-fPmIBYQK.d.ts → phoneManager-BOTcjXgs.d.ts} +4 -3
  176. package/dist/{phoneManager-BmF-0Ez4.esm.js → phoneManager-BWlxqbyD.esm.js} +48 -6
  177. package/dist/{phoneStateMachine-BiV0yoEx.esm.js → phoneStateMachine-B_V9nODs.esm.js} +5 -5
  178. package/dist/{qe-signature-CUYPcHVo.esm.js → qe-signature-BhFnI9pT.esm.js} +1 -1
  179. package/dist/qe-signature.d.ts +4 -3
  180. package/dist/qe-signature.esm.js +10 -7
  181. package/dist/recordingService-m_1xCthr.esm.js +347 -0
  182. package/dist/redirect-to-mobile.d.ts +4 -3
  183. package/dist/redirect-to-mobile.esm.js +9 -7
  184. package/dist/{redirectToMobileManager-Dy3t7o0C.esm.js → redirectToMobileManager-BaAo9rgi.esm.js} +5 -4
  185. package/dist/{redirectToMobileManager-BNe3IzC_.d.ts → redirectToMobileManager-Br0KZK1G.d.ts} +2 -2
  186. package/dist/{redirectToMobileStateMachine-DyAdRxfP.esm.js → redirectToMobileStateMachine-DoAnf2ql.esm.js} +16 -28
  187. package/dist/{runChildModule-CuoHZ1cx.esm.js → runChildModule-0nQfjVVo.esm.js} +14 -24
  188. package/dist/selfie.d.ts +27 -14
  189. package/dist/selfie.esm.js +43 -30
  190. package/dist/{selfieManager-BNuTIGAz.esm.js → selfieManager-D_ZFERsE.esm.js} +17 -8
  191. package/dist/{selfieManager-C2y_t6DG.d.ts → selfieManager-R0Jw5sjb.d.ts} +13 -3
  192. package/dist/{selfieStateMachine-Bv99bZJE.esm.js → selfieStateMachine-CIgeeiN9.esm.js} +4 -4
  193. package/dist/{session-DoVb-OcB.esm.js → session-9jIfKFCc.esm.js} +3 -3
  194. package/dist/session.d.ts +11 -8
  195. package/dist/session.esm.js +16 -12
  196. package/dist/{sessionInitializer-DRB-hgbV.esm.js → sessionInitializer-C_TYIgyk.esm.js} +16 -109
  197. package/dist/{setup-BwCluiw3.d.ts → setup-CpRnXxn8.d.ts} +61 -2
  198. package/dist/setup-DHc6OaHm.esm.js +562 -0
  199. package/dist/signature.d.ts +4 -2
  200. package/dist/signature.esm.js +49 -6
  201. package/dist/{signatureStateMachine-C5qqYLRz.esm.js → signatureStateMachine-DtoiPzys.esm.js} +21 -39
  202. package/dist/{stats-BMNUG1AU.esm.js → stats-CYcScXcO.esm.js} +2 -2
  203. package/dist/stats.esm.js +3 -3
  204. package/dist/thumbmarkAdapter-fHBUDlAP.esm.js +1194 -0
  205. package/dist/tri-BG1iJsr4.esm.js +399 -0
  206. package/dist/tri.d.ts +2 -0
  207. package/dist/tri.esm-DUC01NgO.esm.js +2593 -0
  208. package/dist/tri.esm.js +4 -0
  209. package/dist/trust-graph.d.ts +4 -3
  210. package/dist/trust-graph.esm.js +4 -3
  211. package/dist/{types-NuT8ftBV.d.ts → types-BklZ_Wne.d.ts} +2 -1
  212. package/dist/{types-DOUhndhT.d.ts → types-BsYXnC5s.d.ts} +39 -3
  213. package/dist/{types-DsnEVMhr.esm.js → types-CMcxlSmH.esm.js} +2 -1
  214. package/dist/types-CxW2e0Ar.d.ts +132 -0
  215. package/dist/{types-Bj9hdFjU.d.ts → types-DgGlgyZT.d.ts} +1 -1
  216. package/dist/types-ElOJAGaM.esm.js +189 -0
  217. package/dist/urlUtils-BZqFU9rR.esm.js +16 -0
  218. package/dist/video-C2WIj6TS.esm.js +36 -0
  219. package/dist/video-selfie.d.ts +351 -0
  220. package/dist/video-selfie.esm.js +1509 -0
  221. package/dist/videoSelfieSteps-7M5vxKn-.esm.js +58 -0
  222. package/dist/{warmup-Dg8Lh-50.d.ts → warmup-BJZPQIiX.d.ts} +5 -1
  223. package/dist/wasm.d.ts +4 -3
  224. package/dist/wasm.esm.js +17 -13
  225. package/dist/watchlist-for-business.d.ts +2 -1
  226. package/dist/watchlist-for-business.esm.js +30 -7
  227. package/dist/watchlist.d.ts +2 -1
  228. package/dist/watchlist.esm.js +28 -6
  229. package/dist/{watchlistForBusinessStateMachine-DMl8j2Ov.esm.js → watchlistForBusinessStateMachine-DvEunDxs.esm.js} +3 -3
  230. package/dist/{watchlistStateMachine-DmQlqI6L.esm.js → watchlistStateMachine-AHXVf-TB.esm.js} +3 -3
  231. package/dist/workflow.d.ts +296 -103
  232. package/dist/workflow.esm.js +137 -74
  233. package/dist/{xstate.esm-C9wncMQa.esm.js → xstate.esm-Bomq1a0z.esm.js} +54 -5
  234. package/package.json +26 -1
  235. package/dist/IpifyProvider-D4LWD15E.esm.js +0 -167
  236. package/dist/antifraudManager-CkV4u-LE.esm.js +0 -55
  237. package/dist/camera-DJWm3V4g.esm.js +0 -22
  238. package/dist/deepsightService-Dh5P-hLf.d.ts +0 -265
  239. package/dist/faceCaptureManagerFactory-CjdBUS6s.d.ts +0 -721
  240. package/dist/flowCompletionService-BdR2cGgB.d.ts +0 -19
  241. package/dist/flowCompletionService-DdGojV9K.esm.js +0 -20
  242. package/dist/getBrowser-C8DP7oTB.esm.js +0 -8
  243. package/dist/openviduLazy-B8L--0oe.esm.js +0 -3
  244. package/dist/setup-CUO4mErT.esm.js +0 -1037
  245. /package/dist/{Actor-Y0_Fj-KL.d.ts → Actor-CGEelYtQ.d.ts} +0 -0
  246. /package/dist/{BrowserTimerProvider-DhNc_x02.esm.js → BrowserTimerProvider-CHloo0eQ.esm.js} +0 -0
  247. /package/dist/{ITimerCapability-CB0I1Uf2.esm.js → ITimerCapability-pltuG1E8.esm.js} +0 -0
  248. /package/dist/{Manager-BHn8wH8K.d.ts → Manager-CJ3G2zqi.d.ts} +0 -0
  249. /package/dist/{MotionSensorProvider-Bx7Mpzt0.esm.js → MotionSensorProvider-DCbId4De.esm.js} +0 -0
  250. /package/dist/{StateMachine-BC_nGvrc.d.ts → StateMachine-C_AY4cs7.d.ts} +0 -0
  251. /package/dist/{apiError-B-j-gyDx.esm.js → apiError-DNS2OCEX.esm.js} +0 -0
  252. /package/dist/{camera-SRBpPq2X.d.ts → camera-CNVUo-bC.d.ts} +0 -0
  253. /package/dist/{canvas-SKcRBxsk.esm.js → canvas-_I95hkPg.esm.js} +0 -0
  254. /package/dist/{chunk-CMUKZ2uL.esm.js → chunk-CIKcdghV.esm.js} +0 -0
  255. /package/dist/{cpf-BRzggV8G.esm.js → cpf-BKaho0j_.esm.js} +0 -0
  256. /package/dist/{dateUtils-AksLQmgV.esm.js → dateUtils-7-tQYRNN.esm.js} +0 -0
  257. /package/dist/{getDeviceClass-C0olyNFS.esm.js → getDeviceClass-DavNdcxh.esm.js} +0 -0
  258. /package/dist/{http-Cai3IoLS.esm.js → http-BkiUT7EB.esm.js} +0 -0
  259. /package/dist/{otp-CGMdUzBC.esm.js → otp-Bfnzf7I3.esm.js} +0 -0
  260. /package/dist/{otp-DF5A0sFx.d.ts → otp-M4iy57XY.d.ts} +0 -0
  261. /package/dist/{platform-SKvEfCBh.esm.js → platform-uIVQUnJP.esm.js} +0 -0
  262. /package/dist/{types-DvGZI7BF.d.ts → types-D_IceWxT.d.ts} +0 -0
  263. /package/dist/{types-ya0LN_MX.d.ts → types-Duy2rDxF.d.ts} +0 -0
@@ -0,0 +1,534 @@
1
+ import "./warmup-BJZPQIiX.js";
2
+ import { n as StateMachine, t as AnyStateMachine } from "./StateMachine-C_AY4cs7.js";
3
+ import { t as Manager } from "./Manager-CJ3G2zqi.js";
4
+ import { t as ActorRefFrom } from "./Actor-CGEelYtQ.js";
5
+ import { t as CameraStream } from "./camera-CNVUo-bC.js";
6
+ import "./types-DgGlgyZT.js";
7
+ import "./types-D_IceWxT.js";
8
+ import { t as IncodeCanvas } from "./canvas-CJUmoXSD.js";
9
+ import "./createFaceAvatar-B8pFpy6o.js";
10
+ import "./types-BsYXnC5s.js";
11
+ import { i as IStorageCapability, t as IWasmUtilCapability } from "./IWasmUtilCapability-d2XvzaCk.js";
12
+ import { n as PermissionStatus, t as PermissionResult } from "./types-Duy2rDxF.js";
13
+ import { n as DetectionStatus } from "./types-CxW2e0Ar.js";
14
+ import { t as FaceDetectionProvider } from "./FaceDetectionProvider-B78455D4.js";
15
+ import { t as StreamCanvasCapture } from "./StreamCanvasCapture-DS1TOoiH.js";
16
+ import { t as DeepsightService } from "./deepsightService-CMB9XjES.js";
17
+
18
+ //#region src/modules/personhood/types.d.ts
19
+
20
+ /**
21
+ * Head pose (degrees) computed per-frame from the WASM face detector.
22
+ * Used internally by the personhood detection actor to accumulate the
23
+ * yaw/pitch range that feeds the server-side `headMotion` spoof check.
24
+ *
25
+ * Re-exported from `@incodetech/core/personhood` as a convenience type
26
+ * for integrators running their own face-tracking pipelines (e.g.
27
+ * MediaPipe FaceLandmarker) that want to share a pose shape with
28
+ * other code that consumes personhood internals — the SDK itself
29
+ * does not expose a runtime pose stream.
30
+ *
31
+ * `faceSizeRatio` is an orientation-invariant 0–1 proxy for how close
32
+ * the user is to the camera, computed by the producer as
33
+ * `sqrt(face.width * face.height) / min(frame.width, frame.height)`.
34
+ * Same value on landscape (laptop) or portrait (phone) cameras since
35
+ * the denominator is the frame's *narrower* dimension. Optional —
36
+ * absent when the producer doesn't have access to frame size.
37
+ */
38
+ type HeadPose = {
39
+ pitch: number;
40
+ yaw: number;
41
+ roll: number;
42
+ faceSizeRatio?: number;
43
+ };
44
+ /** Signals we hand back to the integrator alongside the human verdict. */
45
+ type DeviceBehavioralSignals = {
46
+ /** Visitor fingerprint hash from the Thumbmark provider. */
47
+ deviceFingerprint: string;
48
+ /** Standard browser / OS info (model, os, browser name + version). */
49
+ userAgentClass: string;
50
+ /** Matches automation markers (phantom, nightmare, domAutomation, etc.). */
51
+ emulator: boolean;
52
+ /** `navigator.webdriver` is truthy — chromedriver / geckodriver / playwright. */
53
+ webdriver: boolean;
54
+ /** Liveness / injection surface reported by local detection. */
55
+ headlessHints: readonly string[];
56
+ };
57
+ /**
58
+ * One element of the `spoofCheckResults` array. Carries a single
59
+ * anti-spoof / liveness / automation check the on-device pipeline
60
+ * ran, with its outcome and (when failed) a short tag explaining
61
+ * why. The same shape is sent to `/omni/personhood/verify` and
62
+ * exposed on {@link PersonhoodVerdict.spoofCheckResults} so
63
+ * integrators and UIs can introspect what passed and what failed
64
+ * without parsing the comma-joined `reason` string.
65
+ *
66
+ * Check ids the SDK currently emits:
67
+ * - `physicalAttack` — Deepsight pipeline anti-spoof. Failed
68
+ * when `analysisStatus` carries an explicit spoof signal
69
+ * (`spoof_suspected`, `injection`, etc.).
70
+ * - `virtualCamera` — label-based detection of OBS / ManyCam /
71
+ * etc. on the camera track.
72
+ * - `motionLiveness` — Deepsight's motion-based liveness check
73
+ * (accelerometer + temporal frame analysis).
74
+ * - `headMotion` — accumulated yaw + pitch range. Failed
75
+ * when below the minimum motion threshold (user held still).
76
+ * - `faceDetection` — terminal detection outcome (success vs
77
+ * timeout / error).
78
+ * - `webdriver` — `navigator.webdriver` is truthy.
79
+ * - `emulator` — automation framework markers
80
+ * (PhantomJS / Selenium / Nightmare / etc.).
81
+ * - `headlessBrowser` — headless-browser fingerprinting hints.
82
+ *
83
+ * `result: 'unknown'` is reserved for checks that ran but couldn't
84
+ * render a definitive verdict (e.g. desktop with no accelerometer
85
+ * permission for motion liveness). Absence of evidence is
86
+ * intentionally not the same as evidence of a spoof.
87
+ *
88
+ * `reason` is populated only when `result === 'failed'` and gives
89
+ * a short stable tag the integrator's server can pattern-match on:
90
+ * the same tags that show up in the verdict's `reason` string
91
+ * (`no_motion`, `spoof_suspected`, `virtual_camera`, etc.) plus
92
+ * raw underlying values (`analysisStatus` strings, detection
93
+ * outcome) where useful.
94
+ */
95
+ type SpoofCheckResult = {
96
+ check: string;
97
+ result: 'passed' | 'failed' | 'unknown';
98
+ reason?: string;
99
+ };
100
+ /** On-device liveness outcome — filled in after the detection loop succeeds. */
101
+ type LivenessOutcome = {
102
+ /** True when the camera stream is a known virtual cam (OBS/ManyCam/etc.). */
103
+ virtualCamera: boolean;
104
+ /** Opaque Deepsight pipeline check status (string like "PASS"/"FAIL"). */
105
+ analysisStatus: string;
106
+ /** Deepsight motion status string. */
107
+ motionStatus: string;
108
+ /** Range of yaw observed during detection (degrees). */
109
+ yawRange: number;
110
+ /** Range of pitch observed during detection (degrees). */
111
+ pitchRange: number;
112
+ /**
113
+ * Full Deepsight metadata blob from `wasmUtil.getMetadata()`. Opaque
114
+ * string (typically a JSON-serialized payload of the pipeline's
115
+ * collected signals — frame quality, motion features, environment
116
+ * fingerprints, etc.) intended for server-side cross-referencing
117
+ * with the evidence record. Empty when the Deepsight pipeline isn't
118
+ * available (e.g. WASM init failed).
119
+ */
120
+ metadata: string;
121
+ /**
122
+ * Deepsight pipeline state string (e.g. running / completed / error
123
+ * substates). Useful for diagnosing why an analysis status came
124
+ * back negative — the state often carries the underlying cause that
125
+ * `analysisStatus` only summarizes.
126
+ */
127
+ pipelineState: string;
128
+ };
129
+ /** Final verdict returned from `/omni/personhood/verify`. */
130
+ type PersonhoodVerdict = {
131
+ human: boolean;
132
+ confidence: number;
133
+ evidenceId: string;
134
+ /**
135
+ * Comma-joined list of failure tags when `human === false`. Same
136
+ * tags that appear individually in {@link spoofCheckResults}
137
+ * entries' `reason` fields — kept for backward compat and quick
138
+ * inspection. Undefined when the verdict is human.
139
+ */
140
+ reason?: string;
141
+ signals: DeviceBehavioralSignals;
142
+ /** Present for the on-device path. Absent on server fallback. */
143
+ liveness?: LivenessOutcome;
144
+ /**
145
+ * Per-check breakdown of every anti-spoof / liveness / automation
146
+ * gate the on-device pipeline ran. Lets integrators see WHICH
147
+ * checks passed or failed instead of having to parse the
148
+ * collapsed `reason` string. The same array is the body of the
149
+ * `/omni/personhood/verify` POST. Empty on the server-fallback
150
+ * path (no on-device pipeline ran).
151
+ */
152
+ spoofCheckResults: SpoofCheckResult[];
153
+ };
154
+ type PersonhoodConfig = {
155
+ /** Integrator's site key (equivalent to a reCAPTCHA site key). */
156
+ siteKey: string;
157
+ /**
158
+ * OAuth2 client-credentials used to mint the `Authorization: Bearer`
159
+ * token for the verify hop (`POST /omni/oauth2/token`,
160
+ * `grant_type=client_credentials&scope=openid`). Required for the
161
+ * live (non-mock) flow; without them the token fetch fails and the
162
+ * flow halts before the camera opens.
163
+ *
164
+ * ⚠️ These are sent from the browser, so `clientSecret` is exposed to
165
+ * anyone who can read the page's source / network traffic. Acceptable
166
+ * only where that exposure is tolerable; a server-minted Bearer token
167
+ * is the hardened alternative.
168
+ */
169
+ clientId?: string;
170
+ clientSecret?: string;
171
+ /**
172
+ * Origin of the authorization server that mints the OAuth2 Bearer token
173
+ * (e.g. `https://auth.stage.incode.com`). The path is fixed — the token
174
+ * is `POST`ed to this origin's own `/oauth2/token`.
175
+ *
176
+ * When set, the browser calls the auth server DIRECTLY through a
177
+ * dedicated HTTP client (topology B): the auth origin is separate from
178
+ * the omni `apiURL`, so this is a genuine cross-origin call and the auth
179
+ * server must allow the integrator's `Origin` (CORS). The dedicated
180
+ * client inherits the omni client's `customHeaders` (notably
181
+ * `x-api-key`, which the auth server requires) from the active SDK
182
+ * config, so no extra credential plumbing is needed here.
183
+ *
184
+ * When omitted, the token is minted through the shared omni client at
185
+ * `/omni/oauth2/token` — i.e. the omni gateway is expected to front the
186
+ * auth server (topology A). Single-origin deployments need not set this.
187
+ *
188
+ * Only the auth-token hop honors this; the verify hop
189
+ * (`/omni/personhood/verify`) always uses the omni `apiURL`.
190
+ */
191
+ authBaseUrl?: string;
192
+ /**
193
+ * Minimum confidence required to pass. Default: `0.75`
194
+ * (`DEFAULT_PERSONHOOD_THRESHOLD`). Exposed so integrators can tighten or
195
+ * loosen gates per use case.
196
+ */
197
+ threshold?: number;
198
+ /**
199
+ * When true, `/omni/personhood/verify` is bypassed and a canned verdict
200
+ * is returned (the local on-device verdict is used as-is). Defaults to
201
+ * `false`. Set to `true` in dev environments where the backend is not
202
+ * yet available.
203
+ */
204
+ mockVerify?: boolean;
205
+ /**
206
+ * Time-to-live (ms) for cached proofs of the same browser session. Not yet
207
+ * enforced at phase 0 (documented for forward-compat).
208
+ */
209
+ cacheTtlMs?: number;
210
+ /** Optional: called every time an interesting signal is observed. */
211
+ onSignal?: (event: {
212
+ type: 'pose' | 'detection' | 'verdict' | 'error';
213
+ payload: unknown;
214
+ }) => void;
215
+ /** Hides the initial tutorial screen. Default: false. */
216
+ showTutorial?: boolean;
217
+ /**
218
+ * When true, the detection flow auto-completes with whatever frame
219
+ * is available after a short hard deadline, regardless of why
220
+ * WASM's autocapture criteria didn't fire (user too far, bad
221
+ * framing, low light, occlusion, etc). The deadline starts ticking
222
+ * the moment the camera produces its first frame — not when
223
+ * detection begins — so a slow camera cold-start doesn't eat into
224
+ * the user's capture window. Once the deadline lands, the
225
+ * provider's best frame (or the most recent processed frame if no
226
+ * best-shot was recorded) is pushed through to liveness analysis.
227
+ *
228
+ * The resulting verdict usually has lower confidence — a non-ideal
229
+ * frame gives the detector less signal — but at least produces a
230
+ * definitive `human: true | false` outcome instead of leaving the
231
+ * modal stuck.
232
+ *
233
+ * If the camera never produces a frame at all (e.g. the user
234
+ * blocked permission mid-flow, browser failed to start the stream)
235
+ * this flag does nothing — there's literally no frame to capture
236
+ * — and the standard error path applies.
237
+ *
238
+ * Default: `false`.
239
+ */
240
+ autoComplete?: boolean;
241
+ };
242
+ type PersonhoodDependencies = {
243
+ storage: IStorageCapability;
244
+ getWasmUtil: () => Promise<IWasmUtilCapability>;
245
+ };
246
+ declare const PERSONHOOD_ERROR_CODES: {
247
+ readonly CAMERA_DENIED: "CAMERA_DENIED";
248
+ readonly DETECTION_FAILED: "DETECTION_FAILED";
249
+ /**
250
+ * The OAuth2 token fetch (`POST /omni/oauth2/token`,
251
+ * client-credentials) failed — non-2xx, network error, or no
252
+ * `access_token` in the response. The flow halts before the user
253
+ * opens the camera so a misconfigured `clientId` / `clientSecret`
254
+ * surfaces immediately instead of walking them through a capture we
255
+ * can't authenticate the verify hop for.
256
+ */
257
+ readonly AUTH_TOKEN_FAILED: "AUTH_TOKEN_FAILED";
258
+ readonly VERIFY_FAILED: "VERIFY_FAILED";
259
+ readonly INJECTION_SUSPECTED: "INJECTION_SUSPECTED";
260
+ readonly EMULATOR_DETECTED: "EMULATOR_DETECTED";
261
+ readonly TIMEOUT: "TIMEOUT";
262
+ readonly UNKNOWN: "UNKNOWN";
263
+ };
264
+ type PersonhoodErrorCode = (typeof PERSONHOOD_ERROR_CODES)[keyof typeof PERSONHOOD_ERROR_CODES];
265
+ //#endregion
266
+ //#region src/modules/personhood/personhoodStateMachine.d.ts
267
+ type PersonhoodInput = {
268
+ config: PersonhoodConfig;
269
+ dependencies: PersonhoodDependencies;
270
+ };
271
+ type PersonhoodMachineContext = {
272
+ config: PersonhoodConfig;
273
+ dependencies: PersonhoodDependencies;
274
+ permissionResult: PermissionResult | 'refresh' | undefined;
275
+ /**
276
+ * Why the server-fallback path was taken, so `requestServerFallback` reports
277
+ * the real cause instead of a hardcoded value. `undefined` means
278
+ * `permission_denied` (the original/most common cause).
279
+ */
280
+ fallbackReason: 'no_camera' | 'permission_denied' | 'unsupported_browser' | undefined;
281
+ stream: CameraStream | undefined;
282
+ provider: FaceDetectionProvider | undefined;
283
+ frameCapturer: StreamCanvasCapture | undefined;
284
+ deepsightService: DeepsightService | undefined;
285
+ detectionStatus: DetectionStatus;
286
+ /**
287
+ * Yaw + pitch ranges captured during detection (in degrees). Accumulated
288
+ * in the detection actor's closure and committed to context once when
289
+ * DETECTION_SUCCESS fires — not per-frame. Pose itself never lives in
290
+ * context: per-frame samples are consumed inside the detection actor
291
+ * (and discarded) so the manager-subscribed UI tree doesn't churn at
292
+ * camera frame rate.
293
+ */
294
+ yawRange: number;
295
+ pitchRange: number;
296
+ capturedImage: IncodeCanvas | undefined;
297
+ livenessOutcome: LivenessOutcome | undefined;
298
+ signals: DeviceBehavioralSignals | undefined;
299
+ /**
300
+ * Personhood session token from `GET /omni/personhood/token`. Lives
301
+ * in actor context (not a module-level slot) so two
302
+ * `createPersonhoodManager()` instances active concurrently can't
303
+ * trample each other's tokens, and so `actor.stop()` cleans it up
304
+ * implicitly. Threaded into the `analyzeLiveness` and
305
+ * `verifyOnDevice` actor inputs; those actors attach it as an
306
+ * `Authorization: Bearer` header explicitly rather than going
307
+ * through the shared `api` wrapper's auto-injection (which only
308
+ * carries `currentToken` for the main session). `undefined` until
309
+ * the parallel-init phase completes.
310
+ */
311
+ token: string | undefined;
312
+ /**
313
+ * Verdict computed locally from device signals + on-device
314
+ * liveness analysis. Kept separately from `verdict` (the final,
315
+ * server-authoritative one) so the verify-on-server step can use
316
+ * it as a fallback when the network call fails. Once verify
317
+ * succeeds, `verdict` is the server's response and this stays as
318
+ * a debug reference; integrators only see `verdict`.
319
+ */
320
+ localVerdict: PersonhoodVerdict | undefined;
321
+ verdict: PersonhoodVerdict | undefined;
322
+ error: {
323
+ code: PersonhoodErrorCode;
324
+ message?: string;
325
+ } | undefined;
326
+ resetDetection: (() => void) | undefined;
327
+ };
328
+ type PersonhoodEvent = {
329
+ type: 'LOAD';
330
+ } | {
331
+ type: 'NEXT_STEP';
332
+ } | {
333
+ type: 'REQUEST_PERMISSION';
334
+ } | {
335
+ type: 'GO_TO_LEARN_MORE';
336
+ } | {
337
+ type: 'BACK';
338
+ } | {
339
+ type: 'QUIT';
340
+ } | {
341
+ type: 'RESET';
342
+ }
343
+ /**
344
+ * Triggered from the UI when the user declines camera access but still
345
+ * wants a verdict (server fallback). Also dispatched automatically when
346
+ * the device has no camera at all.
347
+ */ | {
348
+ type: 'USE_FALLBACK';
349
+ } | {
350
+ type: 'DETECTION_UPDATE';
351
+ status: DetectionStatus;
352
+ } | {
353
+ type: 'DETECTION_SUCCESS';
354
+ canvas?: IncodeCanvas;
355
+ /** Final observed head-pose yaw range (max − min) in degrees. */
356
+ yawRange: number;
357
+ /** Final observed head-pose pitch range (max − min) in degrees. */
358
+ pitchRange: number;
359
+ } | {
360
+ type: 'DETECTION_RESET_READY';
361
+ reset: () => void;
362
+ };
363
+ declare const _personhoodMachine: AnyStateMachine;
364
+ type PersonhoodMachine = typeof _personhoodMachine;
365
+ /**
366
+ * Public machine value. Typed as `AnyStateMachine` for declaration file
367
+ * portability — mirrors the convention used by `selfieMachine` and the
368
+ * other Core modules. Type safety is enforced by the `setup()` config
369
+ * above, not by the exported binding.
370
+ */
371
+ declare const personhoodMachine: AnyStateMachine;
372
+ /**
373
+ * Narrow typed machine used by the Actor helpers. The non-context/event/
374
+ * input slots are widened to `any` because XState's full generic surface
375
+ * isn't worth threading through every module — we only need the slots
376
+ * the actor + manager actually consume. Same pattern as `SelfieMachine`.
377
+ */
378
+ type PersonhoodTypedMachine = StateMachine<PersonhoodMachineContext, PersonhoodEvent, any, any, any, any, any, any, any, PersonhoodInput, any, any, any, any>;
379
+ //#endregion
380
+ //#region src/modules/personhood/personhoodActor.d.ts
381
+ type CreatePersonhoodActorOptions = {
382
+ config: PersonhoodConfig;
383
+ dependencies?: PersonhoodDependencies;
384
+ };
385
+ type PersonhoodActor = ActorRefFrom<PersonhoodTypedMachine>;
386
+ /**
387
+ * Creates and starts a Personhood XState actor. Defaults to the production
388
+ * browser storage + WASM providers; passing `dependencies` lets tests and the
389
+ * extensibility layer swap them for fakes.
390
+ */
391
+ declare function createPersonhoodActor(options: CreatePersonhoodActorOptions): PersonhoodActor;
392
+ //#endregion
393
+ //#region src/modules/personhood/personhoodManager.d.ts
394
+ /** Initial state (before `load()` is invoked). */
395
+ type PersonhoodIdleState = {
396
+ status: 'idle';
397
+ };
398
+ /** Collecting local device + behavioural signals before any UI is shown. */
399
+ type PersonhoodLoadingState = {
400
+ status: 'loading';
401
+ phase: 'collectingSignals' | 'checkingPermission';
402
+ };
403
+ /** Optional opt-in tutorial screen. */
404
+ type PersonhoodTutorialState = {
405
+ status: 'tutorial';
406
+ };
407
+ /** Camera permission handshake. */
408
+ type PersonhoodPermissionsState = {
409
+ status: 'permissions';
410
+ permissionStatus: PermissionStatus | 'denied';
411
+ };
412
+ /**
413
+ * Live camera + avatar-driving state.
414
+ *
415
+ * `stream` is the active camera MediaStream. It is **not** displayed to
416
+ * the user by default (the whole UX promise is "stylized avatar, not
417
+ * raw camera feed"); it's exposed so integrators can render the avatar
418
+ * by piping the stream into their own face-tracking pipeline (e.g.
419
+ * MediaPipe FaceLandmarker). Head-pose is intentionally **not** on
420
+ * this state type — the SDK extracts pose internally for the
421
+ * server-side `headMotion` spoof check, but UI consumers should
422
+ * compute their own pose off `stream` rather than subscribing to a
423
+ * frame-rate channel here (which would re-render on every frame).
424
+ */
425
+ type PersonhoodCaptureState = {
426
+ status: 'capture';
427
+ captureStatus: 'initializing' | 'detecting';
428
+ detectionStatus: DetectionStatus;
429
+ stream: MediaStream | undefined;
430
+ };
431
+ /** Synthesizing the local on-device verdict. No network call — the primary path. */
432
+ type PersonhoodProcessingState = {
433
+ status: 'processing';
434
+ /**
435
+ * Which stage of the local pipeline we're on:
436
+ * - 'analyzing' → Deepsight analysis + pose-motion guard (post-capture)
437
+ * - 'local' → synthesizing verdict from the collected signals
438
+ * - 'fallback' → server-side liveness fallback (no camera / denied)
439
+ */
440
+ source: 'analyzing' | 'local' | 'fallback';
441
+ };
442
+ /** Verdict is in. Integrators read `verdict` to obtain `{ human, confidence, evidenceId, signals }`. */
443
+ type PersonhoodFinishedState = {
444
+ status: 'finished';
445
+ verdict: PersonhoodVerdict;
446
+ };
447
+ type PersonhoodClosedState = {
448
+ status: 'closed';
449
+ };
450
+ type PersonhoodErrorState = {
451
+ status: 'error';
452
+ error: {
453
+ code: PersonhoodErrorCode;
454
+ message?: string;
455
+ };
456
+ };
457
+ type PersonhoodState = PersonhoodIdleState | PersonhoodLoadingState | PersonhoodTutorialState | PersonhoodPermissionsState | PersonhoodCaptureState | PersonhoodProcessingState | PersonhoodFinishedState | PersonhoodClosedState | PersonhoodErrorState;
458
+ /**
459
+ * Manager built from an externally-owned actor (extensibility path).
460
+ */
461
+ declare function createPersonhoodManagerFromActor(actor: PersonhoodActor): Manager<PersonhoodState> & {
462
+ /** Starts the flow (goes to tutorial or capture depending on config). */
463
+ load(): void;
464
+ /** Advances from tutorial → capture. */
465
+ nextStep(): void;
466
+ /** Triggers `getUserMedia` when in `permissions.idle`. */
467
+ requestPermission(): void;
468
+ /** Shows the permission rationale view. */
469
+ goToLearnMore(): void;
470
+ /** Returns from learn-more → permission prompt. */
471
+ back(): void;
472
+ /** Dismisses the widget into the terminal `closed` state. */
473
+ close(): void;
474
+ /** Resets from the (non-final) `error` state back to `idle`. */
475
+ reset(): void;
476
+ /**
477
+ * Skip the on-device path and hit the server fallback. Wired to the
478
+ * "Continue without camera" button on the permission-denied screen; also
479
+ * dispatched automatically when the device has no camera at all.
480
+ */
481
+ useFallback(): void;
482
+ };
483
+ /**
484
+ * Creates a Personhood manager for the drop-in widget.
485
+ *
486
+ * The manager exposes:
487
+ * - `state: PersonhoodState` via `getState()` / `subscribe()`
488
+ * - Lifecycle controls: `load`, `nextStep`, `requestPermission`,
489
+ * `goToLearnMore`, `back`, `close`, `reset`, `useFallback`, `stop`
490
+ *
491
+ * Head-pose is intentionally **not** exposed as a stream. The SDK
492
+ * extracts pose internally for the server-side `headMotion` spoof
493
+ * check; UI consumers that need a frame-rate pose signal (avatar
494
+ * mirroring, etc.) should run their own face-tracking pipeline
495
+ * (e.g. MediaPipe FaceLandmarker) against `state.stream` instead.
496
+ *
497
+ * @example
498
+ * ```ts
499
+ * const manager = createPersonhoodManager({
500
+ * config: { siteKey: 'demo', mockVerify: true },
501
+ * });
502
+ * manager.subscribe((state) => {
503
+ * if (state.status === 'finished') {
504
+ * console.log('human?', state.verdict.human);
505
+ * }
506
+ * });
507
+ * manager.load();
508
+ * ```
509
+ */
510
+ declare function createPersonhoodManager(options: CreatePersonhoodActorOptions): Manager<PersonhoodState> & {
511
+ /** Starts the flow (goes to tutorial or capture depending on config). */
512
+ load(): void;
513
+ /** Advances from tutorial → capture. */
514
+ nextStep(): void;
515
+ /** Triggers `getUserMedia` when in `permissions.idle`. */
516
+ requestPermission(): void;
517
+ /** Shows the permission rationale view. */
518
+ goToLearnMore(): void;
519
+ /** Returns from learn-more → permission prompt. */
520
+ back(): void;
521
+ /** Dismisses the widget into the terminal `closed` state. */
522
+ close(): void;
523
+ /** Resets from the (non-final) `error` state back to `idle`. */
524
+ reset(): void;
525
+ /**
526
+ * Skip the on-device path and hit the server fallback. Wired to the
527
+ * "Continue without camera" button on the permission-denied screen; also
528
+ * dispatched automatically when the device has no camera at all.
529
+ */
530
+ useFallback(): void;
531
+ };
532
+ type PersonhoodManager = ReturnType<typeof createPersonhoodManager>;
533
+ //#endregion
534
+ export { type CreatePersonhoodActorOptions, type DeviceBehavioralSignals, type HeadPose, type LivenessOutcome, PERSONHOOD_ERROR_CODES, type PersonhoodActor, type PersonhoodCaptureState, type PersonhoodClosedState, type PersonhoodConfig, type PersonhoodDependencies, type PersonhoodErrorCode, type PersonhoodErrorState, type PersonhoodEvent, type PersonhoodFinishedState, type PersonhoodIdleState, type PersonhoodInput, type PersonhoodLoadingState, type PersonhoodMachine, type PersonhoodMachineContext, type PersonhoodManager, type PersonhoodPermissionsState, type PersonhoodProcessingState, type PersonhoodState, type PersonhoodTutorialState, type PersonhoodVerdict, type SpoofCheckResult, createPersonhoodActor, createPersonhoodManager, createPersonhoodManagerFromActor, personhoodMachine };