@incodetech/core 0.0.0-dev-20260715-b208c5e1 → 0.0.0-dev-20260715-dcc78bcd

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 (282) hide show
  1. package/dist/{3dAvatarProvider-BYxFCuIv.esm.js → 3dAvatarProvider-D9H4rR6_.esm.js} +811 -880
  2. package/dist/Actor-iTq7YY48.d.ts +1 -0
  3. package/dist/{BrowserStorageProvider-CBXGCHnK.esm.js → BrowserStorageProvider-P6aUarE9.esm.js} +1 -2
  4. package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
  5. package/dist/{BrowserVisibilityObserverProvider-B04zvOXW.esm.js → BrowserVisibilityObserverProvider-sJclps4C.esm.js} +1 -3
  6. package/dist/{Face2DProvider-TeN1Xqr0.esm.js → Face2DProvider-xWUeSJZI.esm.js} +10 -22
  7. package/dist/{createFaceAvatar-BjBu2CrU.d.ts → FaceDetectionProvider-BHweGBEM.d.ts} +108 -159
  8. package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
  9. package/dist/IStorageCapability-B8IGxCwe.d.ts +131 -0
  10. package/dist/{ITimerCapability-G7lQg-be.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
  11. package/dist/{Manager-DE5DydXZ.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
  12. package/dist/{MotionSensorProvider-BkHKMCPE.esm.js → MotionSensorProvider-DYvM90IX.esm.js} +1 -2
  13. package/dist/{OpenViduRecordingProvider-xR5osKzW.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
  14. package/dist/{PrivacyLensProvider-CqlsCaJv.esm.js → PrivacyLensProvider-BrYSd1dr.esm.js} +2 -5
  15. package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
  16. package/dist/{StreamCanvasCapture-CRk7c7u7.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
  17. package/dist/{WasmUtilProvider-BNQ2PBjG.esm.js → WasmUtilProvider-DAshwHhX.esm.js} +38 -71
  18. package/dist/{addressSearch-B2NxSpHl.esm.js → addressSearch-DH-IPF-w.esm.js} +10 -21
  19. package/dist/ae-signature.d.ts +2 -6
  20. package/dist/ae-signature.esm.js +10 -11
  21. package/dist/antifraud.d.ts +1 -6
  22. package/dist/antifraud.esm.js +3 -8
  23. package/dist/{antifraudManager-C490m0p4.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
  24. package/dist/{antifraudManager-C1xnhF2Q.esm.js → antifraudManager-CL2YhiVX.esm.js} +11 -8
  25. package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-Bf-IiCq7.esm.js} +5 -7
  26. package/dist/{api-DsbUi7TO.esm.js → api-BDTZNnca.esm.js} +1 -2
  27. package/dist/{apiError-DkOXfFBu.esm.js → apiError-COvIGYWe.esm.js} +1 -2
  28. package/dist/authentication.d.ts +2 -19
  29. package/dist/authentication.esm.js +3 -34
  30. package/dist/{authenticationManager-DZXQpCjQ.esm.js → authenticationManager-DM7ttL5V.esm.js} +7 -10
  31. package/dist/{authenticationManager-BD81fnrn.d.ts → authenticationManager-G-k-13Fe.d.ts} +3 -4
  32. package/dist/{authenticationStateMachine-CJrTbLWU.esm.js → authenticationStateMachine-DiI8jfmO.esm.js} +11 -15
  33. package/dist/avatar.d.ts +2 -2
  34. package/dist/avatar.esm.js +2 -3
  35. package/dist/{backCameraStream-DYnfq7Hr.esm.js → backCameraStream-Heg6vA1j.esm.js} +4 -7
  36. package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
  37. package/dist/callback-645_omgz.d.ts +133 -0
  38. package/dist/{camera-B0yWS33x.esm.js → camera-BmFEyPP_.esm.js} +1 -2
  39. package/dist/camera.d.ts +1 -2
  40. package/dist/camera.esm.js +2 -6
  41. package/dist/{canvas-DsJa51yU.esm.js → canvas-E1zGkel4.esm.js} +1 -2
  42. package/dist/certificate-issuance.d.ts +34 -39
  43. package/dist/certificate-issuance.esm.js +4 -11
  44. package/dist/{certificateIssuanceStateMachine-CpewPqas.esm.js → certificateIssuanceStateMachine-Ce568YfR.esm.js} +7 -11
  45. package/dist/{clientLifecycle-CCJMDjFe.esm.js → clientLifecycle-DzT65Fvf.esm.js} +23 -29
  46. package/dist/consent.d.ts +1 -4
  47. package/dist/consent.esm.js +3 -8
  48. package/dist/{consentManager-r4MTIoV3.esm.js → consentManager-D3GyyH5u.esm.js} +5 -7
  49. package/dist/{consentManager-QGuw4zmH.d.ts → consentManager-DLOyIZzt.d.ts} +58 -64
  50. package/dist/{consentStateMachine-DnqwsZ7o.esm.js → consentStateMachine-Pc3Ez3mV.esm.js} +5 -7
  51. package/dist/{cpf-B9htWzDt.esm.js → cpf-BIADjddF.esm.js} +1 -2
  52. package/dist/cpf-ocr.d.ts +1 -5
  53. package/dist/cpf-ocr.esm.js +2 -8
  54. package/dist/{cpfOcrManager-RkeZCqSz.d.ts → cpfOcrManager-CQkUAeWO.d.ts} +21 -23
  55. package/dist/{cpfOcrManager-D6ZQ9kkv.esm.js → cpfOcrManager-Cwm0MesJ.esm.js} +7 -12
  56. package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
  57. package/dist/{createFaceAvatar-B_v2At2h.esm.js → createFaceAvatar-CwVapQiu.esm.js} +5 -9
  58. package/dist/cross-document-data-match.d.ts +1 -5
  59. package/dist/cross-document-data-match.esm.js +2 -8
  60. package/dist/{crossDocumentDataMatchManager-DoFG_S91.esm.js → crossDocumentDataMatchManager-9rdIO8Qk.esm.js} +12 -12
  61. package/dist/{crossDocumentDataMatchManager-CdiqxhJm.d.ts → crossDocumentDataMatchManager-Dq8Z3SOg.d.ts} +3 -3
  62. package/dist/curp-validation.d.ts +1 -11
  63. package/dist/curp-validation.esm.js +3 -8
  64. package/dist/{curpValidationManager-07oV78Bn.d.ts → curpValidationManager--HSBTwOy.d.ts} +4 -6
  65. package/dist/{curpValidationManager-D6jt1Gs9.esm.js → curpValidationManager-C2i9Lzx9.esm.js} +11 -7
  66. package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-7i3TD8J2.esm.js} +22 -14
  67. package/dist/custom-fields.d.ts +2 -5
  68. package/dist/custom-fields.esm.js +24 -11
  69. package/dist/custom-watchlist.d.ts +1 -3
  70. package/dist/custom-watchlist.esm.js +11 -10
  71. package/dist/{customWatchlistStateMachine-D8w0mNxm.esm.js → customWatchlistStateMachine-D23XTxl2.esm.js} +5 -7
  72. package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
  73. package/dist/{deepsightService-CV1NAkg9.esm.js → deepsightLoader-CQWGVLP0.esm.js} +62 -14
  74. package/dist/deepsightService-CR-CYdka.d.ts +218 -0
  75. package/dist/device.d.ts +0 -1
  76. package/dist/device.esm.js +5 -10
  77. package/dist/document-capture.d.ts +1 -6
  78. package/dist/document-capture.esm.js +3 -16
  79. package/dist/document-upload.d.ts +48 -55
  80. package/dist/document-upload.esm.js +8 -14
  81. package/dist/{documentCaptureManager-HNu28khr.d.ts → documentCaptureManager-Biz_PFqs.d.ts} +190 -199
  82. package/dist/{documentCaptureManager-pufyUaQz.esm.js → documentCaptureManager-DijbJFun.esm.js} +5 -7
  83. package/dist/{documentCaptureStateMachine-CaJgb_Vn.esm.js → documentCaptureStateMachine-qgsrlcVh.esm.js} +11 -15
  84. package/dist/dynamic-forms.d.ts +1 -4
  85. package/dist/dynamic-forms.esm.js +3 -10
  86. package/dist/{dynamicFormsManager-C3jlNlWK.esm.js → dynamicFormsManager-COik5bJ7.esm.js} +41 -7
  87. package/dist/{dynamicFormsManager-HQhUJCLg.d.ts → dynamicFormsManager-Dposae2l.d.ts} +3 -4
  88. package/dist/{dynamicFormsStateMachine-DdpJI6ne.esm.js → dynamicFormsStateMachine-BV-Fn13x.esm.js} +7 -11
  89. package/dist/ekyb.d.ts +4 -11
  90. package/dist/ekyb.esm.js +3 -20
  91. package/dist/{ekybManager-l67BnqxH.esm.js → ekybManager-BTcW4poN.esm.js} +17 -7
  92. package/dist/{ekybManager-CZUVEWMw.d.ts → ekybManager-CBX0tM04.d.ts} +4 -5
  93. package/dist/{ekybStateMachine-BmfNaHRF.esm.js → ekybStateMachine-DmZLm35R.esm.js} +16 -25
  94. package/dist/ekyc.d.ts +2 -7
  95. package/dist/ekyc.esm.js +3 -11
  96. package/dist/{ekycManager-ClRqj2rg.d.ts → ekycManager-BFpHbBoT.d.ts} +4 -5
  97. package/dist/{ekycManager-B_uUa1iN.esm.js → ekycManager-BSMlIpGA.esm.js} +14 -7
  98. package/dist/{ekycStateMachine-BD8GjdL5.esm.js → ekycStateMachine-a7oP-XWo.esm.js} +140 -201
  99. package/dist/electronic-signature.d.ts +2 -5
  100. package/dist/electronic-signature.esm.js +2 -10
  101. package/dist/{electronicSignatureManager-CzMj-Tjm.esm.js → electronicSignatureManager-DSZu9OHT.esm.js} +9 -14
  102. package/dist/email.d.ts +1 -5
  103. package/dist/email.esm.js +3 -10
  104. package/dist/{emailManager-Lv9BHgel.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
  105. package/dist/{emailManager-BsynjdWX.esm.js → emailManager-c-mDLieD.esm.js} +76 -12
  106. package/dist/{emailStateMachine-Z-Jf4qOc.esm.js → emailStateMachine-ChNwY22u.esm.js} +7 -9
  107. package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-DLQ0g4-R.esm.js} +33 -2
  108. package/dist/{events-aeCkGlnn.esm.js → events-Dy8PyVO5.esm.js} +4 -168
  109. package/dist/events.d.ts +1 -9
  110. package/dist/events.esm.js +2 -4
  111. package/dist/extensibility.d.ts +30 -42
  112. package/dist/extensibility.esm.js +29 -87
  113. package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
  114. package/dist/face-match.d.ts +1 -5
  115. package/dist/face-match.esm.js +3 -8
  116. package/dist/{faceCaptureManagerFactory-CGFQg1kl.d.ts → faceCaptureManagerFactory-BWD3O4Eg.d.ts} +50 -14
  117. package/dist/{faceCaptureManagerFactory-BIH53wvb.esm.js → faceCaptureManagerFactory-CZLSziU3.esm.js} +49 -28
  118. package/dist/{faceCaptureSetup-shrwrZaK.esm.js → faceCaptureSetup-__lVldUG.esm.js} +12 -15
  119. package/dist/{faceMatchManager-BrNYVk-p.esm.js → faceMatchManager-B7jlv77Q.esm.js} +24 -7
  120. package/dist/{faceMatchManager-X2eQo0o-.d.ts → faceMatchManager-CJQG1W1u.d.ts} +4 -4
  121. package/dist/{faceMatchStateMachine-CbeacEqd.esm.js → faceMatchStateMachine-DD7FxtUj.esm.js} +6 -9
  122. package/dist/field-comparison.d.ts +1 -4
  123. package/dist/field-comparison.esm.js +2 -7
  124. package/dist/{fieldComparisonManager-BxhleGNI.esm.js → fieldComparisonManager-5LlxYad-.esm.js} +6 -11
  125. package/dist/{fieldComparisonManager-Dg03uIX1.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
  126. package/dist/fiscal-qr.d.ts +1 -6
  127. package/dist/fiscal-qr.esm.js +14 -29
  128. package/dist/flow-events.d.ts +2 -9
  129. package/dist/flow.d.ts +13 -19
  130. package/dist/flow.esm.js +109 -34
  131. package/dist/{flowCompletionService-qf-s8Uxl.esm.js → flowCompletionService-DQSC7Kso.esm.js} +4 -6
  132. package/dist/{flowServices-CJXaWFlZ.esm.js → flowServices-BQEUaMg6.esm.js} +10 -11
  133. package/dist/geolocation.d.ts +1 -4
  134. package/dist/geolocation.esm.js +3 -9
  135. package/dist/{geolocationManager-CAtyY00b.d.ts → geolocationManager-BWhRzBjk.d.ts} +3 -4
  136. package/dist/{geolocationManager-4j_DV3jW.esm.js → geolocationManager-D58ehBHU.esm.js} +19 -8
  137. package/dist/{geolocationStateMachine-BE72KBAX.esm.js → geolocationStateMachine-BorcBNZ6.esm.js} +6 -8
  138. package/dist/getBrowser-Cb8Zgrgp.esm.js +7 -0
  139. package/dist/{getDeviceClass-BdgmyOOu.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
  140. package/dist/{getDeviceClass-DsNb6nEl.esm.js → getDeviceClass-CkgnSJel.esm.js} +3 -5
  141. package/dist/{getBrowser-CZ66VtC7.esm.js → getParsedUserAgent-pJjATANs.esm.js} +109 -30
  142. package/dist/government-validation.d.ts +3 -6
  143. package/dist/government-validation.esm.js +7 -13
  144. package/dist/{governmentValidationStateMachine-BfZ_WQC0.esm.js → governmentValidationStateMachine-DkakcwTj.esm.js} +8 -11
  145. package/dist/home.d.ts +14 -22
  146. package/dist/home.esm.js +3 -8
  147. package/dist/http.d.ts +0 -1
  148. package/dist/http.esm.js +2 -4
  149. package/dist/id-ocr.d.ts +1 -5
  150. package/dist/id-ocr.esm.js +3 -9
  151. package/dist/id-verification.d.ts +1 -4
  152. package/dist/id-verification.esm.js +3 -8
  153. package/dist/id.d.ts +105 -18
  154. package/dist/id.esm.js +40 -50
  155. package/dist/{idCaptureDefaults-Df8XKQ0o.esm.js → idCaptureDefaults-Dzfws4i0.esm.js} +9 -16
  156. package/dist/{idCaptureManager-Fr9c67Rx.esm.js → idCaptureManager-BGAdNNVq.esm.js} +117 -23
  157. package/dist/{idCaptureManager-BXG8kVMW.d.ts → idCaptureManager-CSGbGORT.d.ts} +12 -113
  158. package/dist/{idCaptureStateMachine-CpjwdaYN.esm.js → idCaptureStateMachine-DYgckwCg.esm.js} +56 -195
  159. package/dist/{idOcrManager-DLF3J2cx.esm.js → idOcrManager-niAg-BE0.esm.js} +4 -7
  160. package/dist/{idOcrManager-DnhdGuVX.d.ts → idOcrManager-vXa7GdRh.d.ts} +60 -66
  161. package/dist/{idOcrStateMachine-BPXTUjNY.esm.js → idOcrStateMachine-CpZZL411.esm.js} +13 -18
  162. package/dist/{idVerificationManager-BD2FO09A.d.ts → idVerificationManager-BB4Pj_N6.d.ts} +31 -35
  163. package/dist/{idVerificationManager-23kPMn7T.esm.js → idVerificationManager-CujJqsiX.esm.js} +4 -7
  164. package/dist/{idVerificationStateMachine-C1eMEu_Y.esm.js → idVerificationStateMachine-D-1GlgC5.esm.js} +5 -7
  165. package/dist/identity-reuse.d.ts +1 -4
  166. package/dist/identity-reuse.esm.js +3 -8
  167. package/dist/{identityReuseManager-Ct-9qYpC.esm.js → identityReuseManager-DHfJZTVo.esm.js} +24 -7
  168. package/dist/{identityReuseManager-DOufEjLa.d.ts → identityReuseManager-aTyLyYrr.d.ts} +38 -43
  169. package/dist/{identityReuseStateMachine-Cqc-NwEQ.esm.js → identityReuseStateMachine-CM45EBrb.esm.js} +6 -8
  170. package/dist/index-B8weJxmL.d.ts +1 -0
  171. package/dist/index-BKOWUhxG.d.ts +258 -0
  172. package/dist/{index-WMHgnbC1.d.ts → index-CKbmDFNq.d.ts} +160 -165
  173. package/dist/{index-Bk5nhSg2.d.ts → index-DQ2fdqoI.d.ts} +3 -3
  174. package/dist/index.d.ts +1 -3
  175. package/dist/index.esm.js +2 -15
  176. package/dist/{invokeOnCaptureCallback-Bs09kdY_.esm.js → invokeOnCaptureCallback-B-QfsCQY.esm.js} +2 -4
  177. package/dist/{lib-DvZ6nVvW.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
  178. package/dist/mandatory-consent.d.ts +1 -10
  179. package/dist/mandatory-consent.esm.js +3 -8
  180. package/dist/{mandatoryConsentManager-D0qQHcl2.d.ts → mandatoryConsentManager-BlB4bX6_.d.ts} +59 -65
  181. package/dist/{mandatoryConsentManager-Bh_n0uEP.esm.js → mandatoryConsentManager-CQC-zA4P.esm.js} +4 -7
  182. package/dist/{mandatoryConsentStateMachine-DYeKH1L7.esm.js → mandatoryConsentStateMachine-BN4Obfl7.esm.js} +5 -7
  183. package/dist/{mediaRecorderOptions-BIn657lu.esm.js → mediaRecorderOptions-BhSZDDNb.esm.js} +2 -4
  184. package/dist/{mediapipeShared-B-RiRyLN.esm.js → mediapipeShared-B0iQQ5k7.esm.js} +2 -6
  185. package/dist/{onDeviceFaceResults-CJuDp67S.esm.js → onDeviceFaceResults-LRTvBL7m.esm.js} +18 -84
  186. package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
  187. package/dist/{otp-D_9QPNbs.d.ts → otp-CEWfTj9v.d.ts} +0 -1
  188. package/dist/{otp-Bbe_izFJ.esm.js → otp-D2k3PeSL.esm.js} +3 -14
  189. package/dist/{permissionGuards-CayfS8OY.esm.js → permissionGuards-DguX5vFY.esm.js} +2 -4
  190. package/dist/{permissionServices-B7lD6fiG.esm.js → permissionServices-DwNCUB2I.esm.js} +4 -9
  191. package/dist/personhood.d.ts +13 -20
  192. package/dist/personhood.esm.js +153 -72
  193. package/dist/phone.d.ts +1 -5
  194. package/dist/phone.esm.js +3 -10
  195. package/dist/{phoneManager-85eRUhJD.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
  196. package/dist/{phoneManager-Byive8Xl.esm.js → phoneManager-KbcmjEeH.esm.js} +82 -12
  197. package/dist/{phoneStateMachine-BlYF4nKx.esm.js → phoneStateMachine-wDQtaT38.esm.js} +7 -9
  198. package/dist/{platform-BoeUeUrV.esm.js → platform-wmV7oTAJ.esm.js} +1 -9
  199. package/dist/qe-signature.d.ts +2 -6
  200. package/dist/qe-signature.esm.js +10 -11
  201. package/dist/{recordingService-BzQUrf40.esm.js → recordingService-TuBlOjvH.esm.js} +15 -19
  202. package/dist/redirect-to-mobile.d.ts +1 -6
  203. package/dist/redirect-to-mobile.esm.js +3 -10
  204. package/dist/{redirectToMobileManager-DrxIfZr8.esm.js → redirectToMobileManager-EGXGKftv.esm.js} +25 -8
  205. package/dist/{redirectToMobileManager-2TtzpSOw.d.ts → redirectToMobileManager-NVQM3o5P.d.ts} +3 -4
  206. package/dist/{redirectToMobileStateMachine-BetR6r8p.esm.js → redirectToMobileStateMachine-D-8ipBq2.esm.js} +7 -9
  207. package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
  208. package/dist/{runChildModule-FH_tixbR.esm.js → runChildModule-Crz1nHwJ.esm.js} +5 -9
  209. package/dist/selfie.d.ts +7 -20
  210. package/dist/selfie.esm.js +40 -46
  211. package/dist/{selfieManager-CdUnYjmt.esm.js → selfieManager-C4_2DgTF.esm.js} +7 -10
  212. package/dist/{selfieManager-d7nkO-UP.d.ts → selfieManager-CN8wJ14s.d.ts} +3 -4
  213. package/dist/{selfieStateMachine-zz4WqziP.esm.js → selfieStateMachine-ODRceav2.esm.js} +15 -20
  214. package/dist/selfieUploadService-B4LnSIf6.esm.js +62 -0
  215. package/dist/session-CQ2x2aLl.esm.js +1 -0
  216. package/dist/session.d.ts +2 -9
  217. package/dist/session.esm.js +153 -15
  218. package/dist/sessionInitializer-Cjpnacyg.esm.js +1801 -0
  219. package/dist/{setup-BxB6QUto.d.ts → setup-CgBvqGWw.d.ts} +2 -4
  220. package/dist/{setup-DCyhfufM.esm.js → setup-Hyb_Yiuu.esm.js} +126 -18
  221. package/dist/signature.d.ts +2 -6
  222. package/dist/signature.esm.js +6 -9
  223. package/dist/{signatureStateMachine-U8ewxW1t.esm.js → signatureStateMachine-BmKPC5A9.esm.js} +5 -7
  224. package/dist/spawn-D9jgw9pW.d.ts +1441 -0
  225. package/dist/{stats-BVy52wLy.esm.js → stats-Bu6bL_CX.esm.js} +3 -5
  226. package/dist/stats.esm.js +2 -5
  227. package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
  228. package/dist/{tri-Calc36Ny.esm.js → tri-N-xlKhZK.esm.js} +3 -7
  229. package/dist/tri.d.ts +2 -2
  230. package/dist/tri.esm-BIjHhBJ2.esm.js +2620 -0
  231. package/dist/tri.esm.js +2 -4
  232. package/dist/trust-graph.d.ts +4 -5
  233. package/dist/trust-graph.esm.js +13 -9
  234. package/dist/{types-Db2ooXIu.esm.js → types-BN5RPPIZ.esm.js} +1 -2
  235. package/dist/{types-ZezaAAbn.d.ts → types-BfgmV7s7.d.ts} +2 -2
  236. package/dist/{types-NizIIgLD.d.ts → types-BnEHzP1K.d.ts} +3 -5
  237. package/dist/{types-DCOl8zy6.d.ts → types-Vb4P9ovf.d.ts} +1 -3
  238. package/dist/{types-C0D4Brd6.d.ts → types-ctqh-iS4.d.ts} +80 -6
  239. package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
  240. package/dist/{video-DXf5H9rY.esm.js → video-BtSWtHy1.esm.js} +1 -2
  241. package/dist/video-selfie.d.ts +10 -15
  242. package/dist/video-selfie.esm.js +114 -106
  243. package/dist/{videoSelfieSteps-DAky5sq5.esm.js → videoSelfieSteps-DHcibfYH.esm.js} +1 -2
  244. package/dist/wasm.d.ts +2 -4
  245. package/dist/wasm.esm.js +3 -15
  246. package/dist/watchlist-for-business.d.ts +1 -3
  247. package/dist/watchlist-for-business.esm.js +9 -9
  248. package/dist/watchlist.d.ts +1 -3
  249. package/dist/watchlist.esm.js +11 -10
  250. package/dist/{watchlistForBusinessStateMachine-Bbn_dcVT.esm.js → watchlistForBusinessStateMachine-BC_-3fJs.esm.js} +5 -7
  251. package/dist/{watchlistStateMachine-SZ-1xpe4.esm.js → watchlistStateMachine-CL2j3aRl.esm.js} +5 -7
  252. package/dist/workflow.d.ts +124 -146
  253. package/dist/workflow.esm.js +75 -80
  254. package/dist/xstate-actors.esm-CtI5S0f4.esm.js +310 -0
  255. package/dist/{xstate.esm-nY3M5UYm.esm.js → xstate.esm-Cf4e0Cfd.esm.js} +136 -610
  256. package/package.json +2 -2
  257. package/dist/Actor-CdjYVucI.d.ts +0 -2
  258. package/dist/FaceDetectionProvider-D-zCGbS9.d.ts +0 -119
  259. package/dist/IWasmUtilCapability-CuiW_6d1.d.ts +0 -150
  260. package/dist/StateMachine-BTkXO3Na.d.ts +0 -2
  261. package/dist/StreamCanvasCapture-D9u4hwul.d.ts +0 -42
  262. package/dist/ae-signature-eQWjmzE8.esm.js +0 -12
  263. package/dist/browser-DlFgHpoC-BTB6a7n-.esm.js +0 -1425
  264. package/dist/browserSimulation-CQjwFn0Z.esm.js +0 -1256
  265. package/dist/canvas-COIxuirO.d.ts +0 -112
  266. package/dist/chunk-CIKcdghV.esm.js +0 -49
  267. package/dist/deepsightLoader-BppeThau.esm.js +0 -67
  268. package/dist/deepsightService-mkIAy_Eq.d.ts +0 -69
  269. package/dist/http-C3Pq6njG.esm.js +0 -0
  270. package/dist/index-BD6ZVw2f.d.ts +0 -93
  271. package/dist/openviduLazy-CuGqb-8Q.esm.js +0 -12
  272. package/dist/openviduLazy-DNb0xHJp.esm.js +0 -3
  273. package/dist/qe-signature-D9XM2d-F.esm.js +0 -12
  274. package/dist/session--C2lbjK5.esm.js +0 -152
  275. package/dist/sessionInitializer-Dx_oPfHP.esm.js +0 -548
  276. package/dist/tri.esm-BDhptA8x.esm.js +0 -2593
  277. /package/dist/{IVisibilityObserverCapability-C3tAkSfF.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
  278. /package/dist/{camera-DRH7co71.d.ts → camera-9wWD-pwg.d.ts} +0 -0
  279. /package/dist/{flowCompletionService-DGcE_OvO.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
  280. /package/dist/{types-DawqnFVn.d.ts → types-BT-aiBYV.d.ts} +0 -0
  281. /package/dist/{types-B6KIOo6S.d.ts → types-Bk_6dmDa.d.ts} +0 -0
  282. /package/dist/{warmup-CE9Fhs6N.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ import "./StateMachine-EDpYWy0i.js";
@@ -50,6 +50,5 @@ var BrowserStorageProvider = class {
50
50
  localStorage.clear();
51
51
  }
52
52
  };
53
-
54
53
  //#endregion
55
- export { BrowserStorageProvider as t };
54
+ export { BrowserStorageProvider as t };
@@ -17,6 +17,5 @@ var BrowserTimerProvider = class BrowserTimerProvider {
17
17
  clearInterval(handle);
18
18
  }
19
19
  };
20
-
21
20
  //#endregion
22
- export { BrowserTimerProvider as t };
21
+ export { BrowserTimerProvider as t };
@@ -3,7 +3,6 @@ function setWasmDsFlagSync(enabled) {
3
3
  if (typeof localStorage === "undefined") return;
4
4
  localStorage.setItem("ds", enabled ? "1" : "0");
5
5
  }
6
-
7
6
  //#endregion
8
7
  //#region ../infra/src/providers/browser/BrowserVisibilityObserverProvider.ts
9
8
  var BrowserVisibilityObserverProvider = class {
@@ -20,6 +19,5 @@ var BrowserVisibilityObserverProvider = class {
20
19
  };
21
20
  }
22
21
  };
23
-
24
22
  //#endregion
25
- export { setWasmDsFlagSync as n, BrowserVisibilityObserverProvider as t };
23
+ export { setWasmDsFlagSync as n, BrowserVisibilityObserverProvider as t };
@@ -1,6 +1,5 @@
1
- import { t as createHiddenVideoElement } from "./video-DXf5H9rY.esm.js";
2
- import { i as dtAlpha, n as asRvfc, r as createFaceLandmarker, t as MAX_EMA_DT_MS } from "./mediapipeShared-B-RiRyLN.esm.js";
3
-
1
+ import { t as createHiddenVideoElement } from "./video-BtSWtHy1.esm.js";
2
+ import { n as createFaceLandmarker, r as dtAlpha, t as asRvfc } from "./mediapipeShared-B0iQQ5k7.esm.js";
4
3
  //#region ../infra/src/avatar/2d-default-avatar/assets.ts
5
4
  /**
6
5
  * 2D avatar MediaPipe asset resolution — **self-contained** (no shared
@@ -23,14 +22,13 @@ function resolveAvatar2DAssets(overrides) {
23
22
  faceLandmarkerModelPath: valid(overrides?.faceLandmarkerModelPath) ? overrides.faceLandmarkerModelPath : DEFAULT_FACE_LANDMARKER_MODEL_URL
24
23
  };
25
24
  }
26
-
27
25
  //#endregion
28
26
  //#region ../infra/src/avatar/renderers/SatinSmileyRenderer.ts
29
27
  const SPRITE = 512;
30
28
  const HEAD_CX = 256;
31
29
  const HEAD_CY = 256;
32
30
  const HEAD_R = 150;
33
- const HALO_R = HEAD_R + 28;
31
+ const HALO_R = 178;
34
32
  const EYE_Y = 218;
35
33
  const EYE_DX = 56;
36
34
  const EYE_RX = 12;
@@ -189,7 +187,7 @@ var SatinSmileyRenderer = class {
189
187
  ctx.translate(s / 2 + slideX, s / 2 + slideY);
190
188
  ctx.rotate(frame.headEuler.z);
191
189
  ctx.scale(scale * k, scale * k);
192
- ctx.translate(-SPRITE / 2, -SPRITE / 2);
190
+ ctx.translate(-512 / 2, -512 / 2);
193
191
  if (faceAlpha > .02) {
194
192
  ctx.globalAlpha = faceAlpha;
195
193
  this.drawBall(ctx);
@@ -198,7 +196,7 @@ var SatinSmileyRenderer = class {
198
196
  ctx.save();
199
197
  ctx.translate(HEAD_CX, HEAD_CY);
200
198
  ctx.scale(1 - Math.abs(yaw) * .24, 1 - Math.abs(pitch) * .12);
201
- ctx.translate(-HEAD_CX, -HEAD_CY);
199
+ ctx.translate(-256, -256);
202
200
  ctx.translate(featX, featY);
203
201
  const feat = rgb(this.eased.feature);
204
202
  let blinkL = clamp$1(frame.blink.left, 0, 1);
@@ -208,7 +206,7 @@ var SatinSmileyRenderer = class {
208
206
  blinkR = .85;
209
207
  }
210
208
  this.drawEye(ctx, HEAD_CX - EYE_DX, EYE_Y, blinkL, feat);
211
- this.drawEye(ctx, HEAD_CX + EYE_DX, EYE_Y, blinkR, feat);
209
+ this.drawEye(ctx, 312, EYE_Y, blinkR, feat);
212
210
  this.drawNose(ctx, feat);
213
211
  let mouth = Math.max(REST_SMILE, clamp$1(frame.smile ?? 0, 0, 1));
214
212
  if (state === "success") mouth = 1;
@@ -297,11 +295,10 @@ var SatinSmileyRenderer = class {
297
295
  ctx.lineCap = "round";
298
296
  ctx.beginPath();
299
297
  ctx.moveTo(HEAD_CX - MOUTH_HALF, cy - lift);
300
- ctx.quadraticCurveTo(HEAD_CX, cy + curve, HEAD_CX + MOUTH_HALF, cy - lift);
298
+ ctx.quadraticCurveTo(HEAD_CX, cy + curve, 300, cy - lift);
301
299
  ctx.stroke();
302
300
  }
303
301
  };
304
-
305
302
  //#endregion
306
303
  //#region ../infra/src/avatar/2d-default-avatar/pose.ts
307
304
  const AVATAR2D_NEUTRAL_POSE = {
@@ -361,13 +358,6 @@ const AVATAR2D_DEADZONE = {
361
358
  };
362
359
  const MEDIAN_WINDOW = 7;
363
360
  /**
364
- * Below this face-size ratio the detector emits sporadic single-frame outlier
365
- * spikes ("the avatar jumps") that the deadzone (idle-only) and the EMA (delays,
366
- * doesn't reject) both miss; run the {@link Median} first in that regime. At/above
367
- * it, the face is near and exp smoothing alone is enough. (FACE_AVATAR.md → Pose pipeline.)
368
- */
369
- const MEDIAN_FACE_RATIO = .35;
370
- /**
371
361
  * Single-axis rolling-window median for outlier rejection. Returns the latest
372
362
  * sample until the window fills (no start-up lag spike), then the middle of the
373
363
  * sorted window. The buffer stays in insertion order so `shift()` evicts the
@@ -510,7 +500,6 @@ function blinkMouthFromBlendshapes(result) {
510
500
  smile: (smileL + smileR) / 2
511
501
  };
512
502
  }
513
-
514
503
  //#endregion
515
504
  //#region ../infra/src/avatar/2d-default-avatar/Face2DProvider.ts
516
505
  /**
@@ -582,7 +571,7 @@ var Avatar2DProvider = class {
582
571
  if (this.stopped) return;
583
572
  this.scheduleNextFrame();
584
573
  if (now - this.lastFrameAt < this.minFrameIntervalMs) return;
585
- const dtMs = clamp(this.lastFrameAt > 0 ? now - this.lastFrameAt : this.minFrameIntervalMs, 1, MAX_EMA_DT_MS);
574
+ const dtMs = clamp(this.lastFrameAt > 0 ? now - this.lastFrameAt : this.minFrameIntervalMs, 1, 100);
586
575
  this.lastFrameAt = now;
587
576
  const video = this.videoHandle?.element;
588
577
  if (!video || video.readyState < 2 || !this.landmarker) {
@@ -744,7 +733,7 @@ var Avatar2DProvider = class {
744
733
  * reset the buffers (no stale samples across distance regimes).
745
734
  */
746
735
  applyMedian(raw) {
747
- if (!(raw.faceSizeRatio !== void 0 && raw.faceSizeRatio < MEDIAN_FACE_RATIO)) {
736
+ if (!(raw.faceSizeRatio !== void 0 && raw.faceSizeRatio < .35)) {
748
737
  this.medYaw.reset();
749
738
  this.medPitch.reset();
750
739
  this.medRoll.reset();
@@ -819,6 +808,5 @@ function copyPoseInto(dst, src) {
819
808
  function createProvider() {
820
809
  return new Avatar2DProvider();
821
810
  }
822
-
823
811
  //#endregion
824
- export { createProvider };
812
+ export { createProvider };
@@ -1,7 +1,7 @@
1
- import { t as IncodeCanvas } from "./canvas-COIxuirO.js";
2
-
1
+ import { n as WasmPipeline } from "./warmup-Dv2alr2-.js";
2
+ import { r as IncodeCanvas } from "./deepsightService-CR-CYdka.js";
3
+ import { a as MLProviderConfig, i as IMLProviderCapability } from "./IStorageCapability-B8IGxCwe.js";
3
4
  //#region ../infra/src/wasm/wasmWebClient.d.ts
4
-
5
5
  /**
6
6
  * Configuration shape that the C++ `WebApi` passes when calling `.post(...)`
7
7
  * on its host JS adapter. Mirrors the upstream `ml-wasm-kit/WebClient`
@@ -14,65 +14,6 @@ type WebApiHostRequestConfig = {
14
14
  timeout?: number;
15
15
  };
16
16
  //#endregion
17
- //#region ../infra/src/capabilities/IMLProviderCapability.d.ts
18
- /**
19
- * Base configuration shared by all ML provider capabilities.
20
- */
21
- interface MLProviderConfig {
22
- /** Path to the WASM binary */
23
- wasmPath?: string;
24
- /** Path to the SIMD-optimized WASM binary (optional) */
25
- wasmSimdPath?: string;
26
- /** Path to the WASM glue code (paired with `wasmPath`) */
27
- glueCodePath?: string;
28
- /**
29
- * Path to the SIMD-optimized WASM glue code (paired with `wasmSimdPath`).
30
- * If omitted, defaults to a sibling `.js` derived from `wasmSimdPath`.
31
- */
32
- glueCodeSimdPath?: string;
33
- /** Whether to use SIMD optimizations (default: true) */
34
- useSimd?: boolean;
35
- /**
36
- * Base path for ML model files. Models will be loaded from `${modelsBasePath}/${modelFileName}`.
37
- * If not provided, models are expected in a 'models' subdirectory relative to the WASM binary.
38
- */
39
- modelsBasePath?: string;
40
- }
41
- /**
42
- * Base interface for ML provider capabilities.
43
- * Provides common lifecycle and frame processing methods shared by
44
- * FaceDetectionCapability and IdCaptureCapability.
45
- */
46
- interface IMLProviderCapability<TConfig extends MLProviderConfig> {
47
- /**
48
- * Whether the provider has been initialized and is ready to process frames.
49
- */
50
- readonly initialized: boolean;
51
- /**
52
- * Initializes the provider with the given configuration.
53
- * If WASM was already warmed up via `setup()` or `warmupWasm()`, this returns almost instantly.
54
- * @param config - Provider configuration including WASM paths
55
- */
56
- initialize(config: TConfig): Promise<void>;
57
- /**
58
- * Processes a frame through the ML pipeline.
59
- * Callbacks set via `setCallbacks()` will be invoked based on the analysis results.
60
- * @param image - Image data to process
61
- * @throws Error if provider is not initialized
62
- */
63
- processFrame(image: ImageData): Promise<void>;
64
- /**
65
- * Resets the pipeline to its initial state.
66
- * Safe to call even if not initialized (no-op in that case).
67
- */
68
- reset(): void;
69
- /**
70
- * Disposes of resources and resets initialization state.
71
- * Safe to call even if not initialized.
72
- */
73
- dispose(): Promise<void>;
74
- }
75
- //#endregion
76
17
  //#region ../infra/src/capabilities/IFaceDetectionCapability.d.ts
77
18
  /**
78
19
  * Configuration for face detection provider.
@@ -291,111 +232,119 @@ interface IFaceDetectionCapability extends IMLProviderCapability<FaceDetectionCo
291
232
  postFaceResults(config?: WebApiHostRequestConfig): Promise<unknown>;
292
233
  }
293
234
  //#endregion
294
- //#region ../infra/src/avatar/faceFeed.d.ts
235
+ //#region ../infra/src/wasm/WasmPipelineType.d.ts
236
+ declare enum WasmPipelineType {
237
+ IdBlurGlarePipeline = 0,
238
+ IdBarcodeAndTextQualityPipeline = 1,
239
+ IdVideoSelfiePipeline = 2,
240
+ SelfieWithAggregationMetrics = 3,
241
+ SelfieWithQualityMetrics = 4,
242
+ OnDeviceSelfieWorkflow = 5
243
+ }
244
+ //#endregion
245
+ //#region ../infra/src/providers/wasm/BaseWasmProvider.d.ts
295
246
  /**
296
- * A tiny per-frame pub/sub channel for the Incode WASM pipeline's `FaceData`.
297
- *
298
- * The parked `incode-2d` avatar drives the cosmetic avatar from the **existing** Incode face-detection
299
- * pipeline (no second MediaPipe model). The detection pipeline lives in core's
300
- * detection actor, while the avatar lives in the avatar actor — so the avatar is
301
- * *fed* `FaceData` through this channel rather than running its own model.
302
- *
303
- * Deliberately NOT routed through XState events/context: the pipeline emits
304
- * ~10×/s, and assigning that into context would re-run `mapState` and notify all
305
- * manager subscribers 10×/s — needless churn that could itself regress UI perf.
306
- * The feed is a plain emitter passed as input to both actors (detection
307
- * publishes, the avatar source subscribes); nothing else observes it.
308
- *
309
- * Strictly read-only w.r.t. the authoritative pipeline — the feed only forwards
310
- * data the pipeline already computed; it never influences detection/autocapture.
247
+ * Base configuration for WASM providers
311
248
  */
312
- interface FaceFeedReader {
313
- /** Subscribe to per-frame faces. Returns an unsubscribe function. */
314
- subscribe(listener: (face: FaceData) => void): () => void;
315
- /** The most recently published face, or null if none yet. */
316
- getLatest(): FaceData | null;
249
+ interface BaseWasmConfig {
250
+ /** Path to the WASM binary */
251
+ wasmPath?: string;
252
+ /** Path to the SIMD-optimized WASM binary (optional) */
253
+ wasmSimdPath?: string;
254
+ /** Path to the WASM glue code (paired with `wasmPath`) */
255
+ glueCodePath?: string;
256
+ /**
257
+ * Path to the SIMD-optimized WASM glue code (paired with `wasmSimdPath`).
258
+ * If omitted, defaults to a sibling `.js` derived from `wasmSimdPath`.
259
+ */
260
+ glueCodeSimdPath?: string;
261
+ /** Whether to use SIMD optimizations (default: true) */
262
+ useSimd?: boolean;
317
263
  /**
318
- * Subscribe to the coarse "eyes closed" pulse — the only real eye signal the
319
- * Incode pipeline exposes (a threshold event, both eyes, fired only when the
320
- * closed-eyes check is enabled via `validateClosedEyes`). The avatar uses it
321
- * to drive a real blink. Returns an unsubscribe function.
264
+ * Base path for ML model files. Models will be loaded from `${modelsBasePath}/${modelFileName}`.
265
+ * If not provided, models are expected in a 'models' subdirectory relative to the WASM binary.
322
266
  */
323
- onEyesClosed(listener: () => void): () => void;
324
- }
325
- interface FaceFeed extends FaceFeedReader {
326
- publish(face: FaceData): void;
327
- /** Fire the eyes-closed pulse (from the detection pipeline's threshold event). */
328
- signalEyesClosed(): void;
267
+ modelsBasePath?: string;
329
268
  }
330
- //#endregion
331
- //#region ../infra/src/capabilities/IFaceAvatarCapability.d.ts
332
269
  /**
333
- * Caller-supplied overrides. Any omitted field falls back to the default
334
- * CDN layout (see `avatar/avatarDefaults.ts`). `basePath`/`version` rewrite
335
- * the whole directory; the individual `*Path` fields win over both.
270
+ * Base provider class that abstracts common WASM functionality.
271
+ * This serves as a foundation for specific ML capability providers
272
+ * like FaceDetectionProvider and IdCaptureProvider.
336
273
  */
337
- interface AvatarAssetsOverrides {
338
- basePath?: string;
339
- version?: string;
340
- mediapipeModulePath?: string;
341
- mediapipeWasmPath?: string;
342
- faceLandmarkerModelPath?: string;
343
- vrmModelPath?: string;
274
+ declare abstract class BaseWasmProvider {
275
+ private _isInitialized;
276
+ protected pipelineType: WasmPipelineType | undefined;
277
+ /**
278
+ * Creates a new BaseWasmProvider
279
+ * @param pipelineType - The WASM pipeline type this provider uses
280
+ */
281
+ constructor(pipelineType?: WasmPipelineType);
282
+ /**
283
+ * Returns whether this provider has been initialized.
284
+ */
285
+ get initialized(): boolean;
286
+ protected getPipelineType(): WasmPipelineType;
287
+ /**
288
+ * Initializes the provider by ensuring WASM is loaded
289
+ * @param config - Provider configuration
290
+ * @param pipeline - The pipeline type to warm up ('selfie', 'idCapture', etc.)
291
+ */
292
+ protected initializeBase(config: BaseWasmConfig, pipeline: WasmPipeline): Promise<void>;
293
+ /**
294
+ * Ensures the provider is initialized before performing operations.
295
+ * @throws Error if not initialized
296
+ */
297
+ protected ensureInitialized(): void;
298
+ /**
299
+ * Processes a frame through the WASM pipeline
300
+ * @param image - Image data to process
301
+ * @returns The pipeline result (type depends on pipeline - WASM returns any)
302
+ */
303
+ protected processFrameWasm(image: ImageData): Promise<any>;
304
+ abstract processFrame(image: ImageData): Promise<void>;
305
+ /**
306
+ * Resets the pipeline to its initial state.
307
+ * Safe to call even if not initialized (no-op in that case).
308
+ */
309
+ reset(): void;
310
+ /**
311
+ * Disposes of resources and resets initialization state.
312
+ * Safe to call even if not initialized.
313
+ */
314
+ dispose(): Promise<void>;
344
315
  }
345
- /**
346
- * Verdict cue an avatar can reflect: `detecting` (working) / `success` / `error`.
347
- * Pose-driven 2D avatars colour the face accordingly (green wink / red frown);
348
- * avatars without a verdict visual (VRM, privacy-lens) treat `setState` as a no-op.
349
- * Driven by the host module (selfie capture outcome, personhood verdict).
350
- */
351
- type AvatarFaceState = 'detecting' | 'success' | 'error';
352
316
  //#endregion
353
- //#region src/internal/avatar/createFaceAvatar.d.ts
354
- /**
355
- * Shared face-avatar dispatch — the single code path BOTH the selfie module
356
- * (`faceCapture` runAvatar actor) and the public `@incodetech/core/avatar` facade
357
- * use, so every camera module mounts avatars the same way. Lives in `internal/`
358
- * (not `modules/`) because `internal/` may not import from `modules/`; the public
359
- * `modules/avatar` entry is a thin re-export of this. See
360
- * docs/features/FACE_AVATAR.md.
361
- *
362
- * Public catalog of shippable face avatars. Each id maps to a lazily-loaded
363
- * provider, so a module only pays the bundle cost of the avatar it picks:
364
- * - `avatar-3d` → 3D VRM character, MediaPipe-tracked (premium look).
365
- * - `avatar-2d` → stylized 2D "satin" face, MediaPipe-tracked. Also the
366
- * personhood avatar.
367
- * - `privacy-lens` → WebGL frosted-glass lens over the real video (no tracking).
368
- *
369
- * (The Incode-data 2D avatar is parked — kept in infra, not in the public
370
- * catalog. See docs/features/FACE_AVATAR.md → Parked: the Incode-data avatar.)
371
- */
372
- type AvatarId = 'avatar-3d' | 'avatar-2d' | 'privacy-lens';
373
- interface FaceAvatarOptions {
374
- /** Which avatar to render. */
375
- variant: AvatarId;
376
- /** The already-acquired camera stream (the host module owns it). */
377
- stream: MediaStream;
378
- /** Runtime asset overrides (MediaPipe wasm/model, VRM); defaults to the CDN layout. */
379
- assets?: AvatarAssetsOverrides;
380
- /** Upper bound on the avatar's internal detect/render loop (default 30). */
381
- maxFps?: number;
382
- /** Initial verdict cue; defaults to `detecting`. */
383
- initialState?: AvatarFaceState;
384
- }
385
- interface FaceAvatarHandle {
386
- /** The canvas to mount in place of the live video. */
387
- readonly canvas: HTMLCanvasElement;
388
- /** Push a verdict cue (no-op for avatars without a verdict visual). */
389
- setState(state: AvatarFaceState): void;
390
- /** Tear down the loop, model and hidden decode video. */
391
- stop(): void;
317
+ //#region ../infra/src/providers/wasm/FaceDetectionProvider.d.ts
318
+ declare class FaceDetectionProvider extends BaseWasmProvider implements IFaceDetectionCapability {
319
+ private defaultThresholds;
320
+ private currentThresholds;
321
+ private currentFrame;
322
+ private onFaceDataCallback;
323
+ constructor();
324
+ processFrame(image: ImageData): Promise<void>;
325
+ initialize(config: FaceDetectionConfig): Promise<void>;
326
+ /**
327
+ * Last-registered onCapture callback — captured into a private
328
+ * field so `forceCapture()` (called from outside the WASM-callback
329
+ * lifecycle) can re-fire the same wrapper. `setCallbacks` rebinds
330
+ * this on each invocation, so the field always reflects the
331
+ * current consumer.
332
+ */
333
+ private currentOnCaptureWrapper;
334
+ processPhoto(canvas: HTMLCanvasElement): void;
335
+ postFaceResults(config?: WebApiHostRequestConfig): Promise<unknown>;
336
+ setCallbacks(callbacks: FaceDetectionCallbacks): void;
337
+ setPositionConstraints(constraints: FacePositionConstraints): void;
338
+ applyDefaults(autocaptureInterval?: number): void;
339
+ setAutocaptureInterval(interval: number): void;
340
+ setThresholds(thresholds: FaceDetectionThresholds): void;
341
+ setAttributesThresholds(thresholds: FaceAttributesThresholds): void;
342
+ setChecksEnabled(config: FaceChecksConfig): void;
343
+ setVideoSelfieMode(enabled: boolean): void;
344
+ forceCapture(): void;
345
+ reset(): void;
346
+ private createDefaultFaceCoordinates;
347
+ private formatFaceCoordinates;
392
348
  }
393
- /**
394
- * Mounts a cosmetic face avatar: lazy-loads the chosen provider, starts it on the
395
- * given stream, and returns a handle to mount the canvas + push verdict cues. The
396
- * avatar is **cosmetic-only** — it never feeds the authoritative
397
- * detection/quality/liveness/upload pipeline.
398
- */
399
- declare function createFaceAvatar(options: FaceAvatarOptions): Promise<FaceAvatarHandle>;
400
349
  //#endregion
401
- export { MLProviderConfig as _, AvatarAssetsOverrides as a, FaceAttributesThresholds as c, FaceDetectionCallbacks as d, FaceDetectionConfig as f, IMLProviderCapability as g, IFaceDetectionCapability as h, createFaceAvatar as i, FaceChecksConfig as l, FacePositionConstraints as m, FaceAvatarHandle as n, AvatarFaceState as o, FaceDetectionThresholds as p, FaceAvatarOptions as r, FaceFeed as s, AvatarId as t, FaceCoordinates as u, WebApiHostRequestConfig as v };
350
+ export { FaceData as i, BaseWasmProvider as n, FaceCoordinates as r, FaceDetectionProvider as t };
@@ -0,0 +1,23 @@
1
+ //#region ../infra/src/capabilities/IFaceAvatarCapability.d.ts
2
+ /**
3
+ * Caller-supplied overrides. Any omitted field falls back to the default
4
+ * CDN layout (see `avatar/avatarDefaults.ts`). `basePath`/`version` rewrite
5
+ * the whole directory; the individual `*Path` fields win over both.
6
+ */
7
+ interface AvatarAssetsOverrides {
8
+ basePath?: string;
9
+ version?: string;
10
+ mediapipeModulePath?: string;
11
+ mediapipeWasmPath?: string;
12
+ faceLandmarkerModelPath?: string;
13
+ vrmModelPath?: string;
14
+ }
15
+ /**
16
+ * Verdict cue an avatar can reflect: `detecting` (working) / `success` / `error`.
17
+ * Pose-driven 2D avatars colour the face accordingly (green wink / red frown);
18
+ * avatars without a verdict visual (VRM, privacy-lens) treat `setState` as a no-op.
19
+ * Driven by the host module (selfie capture outcome, personhood verdict).
20
+ */
21
+ type AvatarFaceState = 'detecting' | 'success' | 'error';
22
+ //#endregion
23
+ export { AvatarFaceState as n, AvatarAssetsOverrides as t };
@@ -0,0 +1,131 @@
1
+ //#region ../infra/src/capabilities/IMLProviderCapability.d.ts
2
+ /**
3
+ * Base configuration shared by all ML provider capabilities.
4
+ */
5
+ interface MLProviderConfig {
6
+ /** Path to the WASM binary */
7
+ wasmPath?: string;
8
+ /** Path to the SIMD-optimized WASM binary (optional) */
9
+ wasmSimdPath?: string;
10
+ /** Path to the WASM glue code (paired with `wasmPath`) */
11
+ glueCodePath?: string;
12
+ /**
13
+ * Path to the SIMD-optimized WASM glue code (paired with `wasmSimdPath`).
14
+ * If omitted, defaults to a sibling `.js` derived from `wasmSimdPath`.
15
+ */
16
+ glueCodeSimdPath?: string;
17
+ /** Whether to use SIMD optimizations (default: true) */
18
+ useSimd?: boolean;
19
+ /**
20
+ * Base path for ML model files. Models will be loaded from `${modelsBasePath}/${modelFileName}`.
21
+ * If not provided, models are expected in a 'models' subdirectory relative to the WASM binary.
22
+ */
23
+ modelsBasePath?: string;
24
+ }
25
+ /**
26
+ * Base interface for ML provider capabilities.
27
+ * Provides common lifecycle and frame processing methods shared by
28
+ * FaceDetectionCapability and IdCaptureCapability.
29
+ */
30
+ interface IMLProviderCapability<TConfig extends MLProviderConfig> {
31
+ /**
32
+ * Whether the provider has been initialized and is ready to process frames.
33
+ */
34
+ readonly initialized: boolean;
35
+ /**
36
+ * Initializes the provider with the given configuration.
37
+ * If WASM was already warmed up via `setup()` or `warmupWasm()`, this returns almost instantly.
38
+ * @param config - Provider configuration including WASM paths
39
+ */
40
+ initialize(config: TConfig): Promise<void>;
41
+ /**
42
+ * Processes a frame through the ML pipeline.
43
+ * Callbacks set via `setCallbacks()` will be invoked based on the analysis results.
44
+ * @param image - Image data to process
45
+ * @throws Error if provider is not initialized
46
+ */
47
+ processFrame(image: ImageData): Promise<void>;
48
+ /**
49
+ * Resets the pipeline to its initial state.
50
+ * Safe to call even if not initialized (no-op in that case).
51
+ */
52
+ reset(): void;
53
+ /**
54
+ * Disposes of resources and resets initialization state.
55
+ * Safe to call even if not initialized.
56
+ */
57
+ dispose(): Promise<void>;
58
+ }
59
+ //#endregion
60
+ //#region ../infra/src/capabilities/IRecordingCapability.d.ts
61
+ type RecordingPublisher = {
62
+ getStreamId: () => string | undefined;
63
+ replaceVideoTrack: (track: MediaStreamTrack) => Promise<void>;
64
+ destroy: () => void;
65
+ };
66
+ type RecordingConnection = {
67
+ sessionId: string | undefined;
68
+ publisher: RecordingPublisher;
69
+ disconnect: () => Promise<void>;
70
+ };
71
+ type RecordingConnectionEvents = {
72
+ onSessionConnected?: (sessionId: string | undefined) => void;
73
+ onSessionDisconnected?: (sessionId: string | undefined) => void;
74
+ onSessionException?: (params: {
75
+ name?: string;
76
+ message?: string;
77
+ sessionId?: string;
78
+ }) => void;
79
+ onPublisherCreated?: (params: {
80
+ streamId?: string;
81
+ sessionId?: string;
82
+ }) => void;
83
+ onPublisherError?: (params: {
84
+ message?: string;
85
+ sessionId?: string;
86
+ streamId?: string;
87
+ }) => void;
88
+ };
89
+ type ConnectRecordingParams = {
90
+ sessionToken: string;
91
+ stream: MediaStream;
92
+ events?: RecordingConnectionEvents;
93
+ };
94
+ type IRecordingCapability = {
95
+ /**
96
+ * Connects to a recording session and publishes the provided media stream.
97
+ * Returns a connection handle that can be disconnected and used to manage the publisher.
98
+ */
99
+ connect: (params: ConnectRecordingParams) => Promise<RecordingConnection>;
100
+ };
101
+ //#endregion
102
+ //#region ../infra/src/capabilities/IStorageCapability.d.ts
103
+ /**
104
+ * Storage capability interface for abstracting storage operations.
105
+ * Enables swapping between browser localStorage and future WASM-based storage.
106
+ */
107
+ interface IStorageCapability {
108
+ /**
109
+ * Retrieves a value from storage.
110
+ * @param key - The storage key
111
+ * @returns The stored value or null if not found
112
+ */
113
+ get<T>(key: string): Promise<T | null>;
114
+ /**
115
+ * Stores a value in storage.
116
+ * @param key - The storage key
117
+ * @param value - The value to store (will be serialized)
118
+ */
119
+ set<T>(key: string, value: T): Promise<void>;
120
+ /**
121
+ * Removes a value from storage.
122
+ * @param key - The storage key to remove
123
+ */
124
+ remove(key: string): Promise<void>;
125
+ /**
126
+ * Clears all values from storage.
127
+ */
128
+ clear(): Promise<void>;
129
+ }
130
+ //#endregion
131
+ export { MLProviderConfig as a, IMLProviderCapability as i, IRecordingCapability as n, RecordingConnection as r, IStorageCapability as t };
@@ -2,6 +2,5 @@
2
2
  function sleep(ms) {
3
3
  return new Promise((resolve) => setTimeout(resolve, ms));
4
4
  }
5
-
6
5
  //#endregion
7
- export { sleep as t };
6
+ export { sleep as t };
@@ -1,3 +1,4 @@
1
+ import "./StateMachine-EDpYWy0i.js";
1
2
  //#region ../infra/src/manager/Manager.d.ts
2
3
  /**
3
4
  * Base manager interface providing state access, subscriptions, and lifecycle control.
@@ -299,6 +299,5 @@ var MotionSensorProvider = class MotionSensorProvider {
299
299
  return mae.x < threshold && mae.y < threshold && mae.z < threshold;
300
300
  }
301
301
  };
302
-
303
302
  //#endregion
304
- export { MotionSensorProvider as t };
303
+ export { MotionSensorProvider as t };
@@ -1,5 +1,4 @@
1
- import { t as loadOpenVidu } from "./openviduLazy-CuGqb-8Q.esm.js";
2
-
1
+ import { loadOpenVidu } from "./openviduLazy-CCDpFWg1.esm.js";
3
2
  //#region ../infra/src/providers/browser/OpenViduRecordingProvider.ts
4
3
  function createHiddenContainer() {
5
4
  const id = `inc_rec_${Math.random().toString(36).slice(2)}`;
@@ -82,6 +81,5 @@ var OpenViduRecordingProvider = class {
82
81
  };
83
82
  }
84
83
  };
85
-
86
84
  //#endregion
87
- export { OpenViduRecordingProvider };
85
+ export { OpenViduRecordingProvider };
@@ -1,5 +1,4 @@
1
- import { t as createHiddenVideoElement } from "./video-DXf5H9rY.esm.js";
2
-
1
+ import { t as createHiddenVideoElement } from "./video-BtSWtHy1.esm.js";
3
2
  //#region ../infra/src/avatar/privacy-lens/privacyLensShaders.ts
4
3
  /** Starting point; tuned live via the privacy-lens demo sliders. */
5
4
  const PRIVACY_LENS_DEFAULTS = {
@@ -103,7 +102,6 @@ void main() {
103
102
 
104
103
  gl_FragColor = vec4(clamp(col, 0.0, 1.0), 1.0);
105
104
  }`;
106
-
107
105
  //#endregion
108
106
  //#region ../infra/src/avatar/privacy-lens/PrivacyLensProvider.ts
109
107
  /**
@@ -334,6 +332,5 @@ var PrivacyLensProvider = class {
334
332
  function createProvider() {
335
333
  return new PrivacyLensProvider();
336
334
  }
337
-
338
335
  //#endregion
339
- export { createProvider };
336
+ export { createProvider };