@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,15 +1,177 @@
1
- import { t as CameraStream } from "./camera-9wWD-pwg.js";
2
- import { n as IRecordingCapability, o as IncodeCanvas, r as RecordingConnection, t as IStorageCapability } from "./IStorageCapability-ORkQfK3F.js";
3
- import { a as RegulationTypes, n as Flow, o as TutorialIdConfig } from "./types-KPvmag_B.js";
1
+ import { y as IncodeCanvas } from "./createFaceAvatar-BlcTYgJv.js";
2
+ import { a as RegulationTypes, n as Flow, o as TutorialIdConfig } from "./types-Do5rEXij.js";
3
+ import { i as IStorageCapability } from "./IWasmUtilCapability-CNWRl7jr.js";
4
4
  import { t as PermissionResult } from "./types-BEwVKkLJ.js";
5
- import { n as StreamCanvasCapture, t as DeepsightService } from "./deepsightService-DLVQS_RH.js";
6
- import { i as Pdf417DecodeResult, n as IIdCaptureCapability, r as IdCaptureSettings, t as DetectionOrientation } from "./IIdCaptureCapability-DHTT3FC2.js";
5
+ import { n as DeepsightService, t as StreamCanvasCapture } from "./StreamCanvasCapture-_8gdW5Lk.js";
6
+ import { t as CameraStream } from "./camera-9wWD-pwg.js";
7
+ import { i as Pdf417DecodeResult, n as IIdCaptureCapability, r as IdCaptureSettings, t as DetectionOrientation } from "./IIdCaptureCapability-RNiFhvXR.js";
8
+ //#region ../infra/src/capabilities/IDigitalCredentialsCapability.d.ts
9
+ /**
10
+ * Digital Credentials capability — wraps the W3C Digital Credentials API
11
+ * (`navigator.credentials.get()` with a `digital` request) used to pull a
12
+ * verified credential (e.g. an mDL) from an OS wallet such as Apple Wallet
13
+ * (web) or Google Wallet.
14
+ *
15
+ * The request payloads are built entirely by the Incode backend and are
16
+ * opaque to the SDK; the wallet's response is likewise an opaque string that
17
+ * is forwarded to the backend for decryption.
18
+ */
19
+ /** Wallet protocols the SDK requests credentials with. */
20
+ type DigitalCredentialProtocol = 'org-iso-mdoc' | 'openid4vp-v1-unsigned';
21
+ /** One entry of the Digital Credentials API `digital.requests` array. */
22
+ type DigitalCredentialRequest = {
23
+ protocol: DigitalCredentialProtocol;
24
+ /**
25
+ * Opaque protocol payload, built by the backend.
26
+ * Apple (`org-iso-mdoc`): `{ deviceRequest, encryptionInfo }` base64 strings.
27
+ * Google (`openid4vp-v1-unsigned`): the whole OIDC4VP/DCQL request object.
28
+ */
29
+ data: unknown;
30
+ };
31
+ type DigitalCredentialResult = {
32
+ /**
33
+ * Opaque wallet response (Apple: encrypted deviceResponse; Google: a JWE).
34
+ * `undefined` when the OS sheet completed without producing a credential
35
+ * (user dismissed, or no eligible digital ID on the device) — that outcome
36
+ * is data, not an error.
37
+ */
38
+ response: string | undefined;
39
+ };
40
+ interface IDigitalCredentialsCapability {
41
+ /**
42
+ * Whether the environment exposes Digital Credentials, not just the generic
43
+ * Credentials API used by passwords/WebAuthn.
44
+ */
45
+ isAvailable(): boolean;
46
+ /**
47
+ * Presents the OS wallet sheet for the given request and resolves with the
48
+ * wallet's opaque response. Must be reached from a user gesture — iOS
49
+ * Safari requires transient user activation for `navigator.credentials.get()`.
50
+ * Rejects when the underlying API rejects (blocked, aborted, protocol error).
51
+ */
52
+ get(request: DigitalCredentialRequest, options?: {
53
+ signal?: AbortSignal;
54
+ }): Promise<DigitalCredentialResult>;
55
+ }
56
+ //#endregion
57
+ //#region src/modules/digital-id-redirect/types.d.ts
58
+ /**
59
+ * Trinsic web-redirect Digital ID — module contracts.
60
+ *
61
+ * DRAFT (P1 core scaffolding) — shape for review before implementation.
62
+ * Ticket: Phase 1 "Integrate with Trinsic for Digital IDs - Web Redirect" (1509).
63
+ * API: "Digital ID Verification API — Frozen Definition v2.0"
64
+ * base /omni/v2/digital-id, auth x-api-key + X-Incode-Hardware-Id.
65
+ */
66
+ /** Catalog-driven provider id (open set), e.g. `trinsic_netherlands_idin`. */
67
+ type DigitalIdProviderId = string;
68
+ type FlowType = 'REDIRECT' | 'DEEPLINK' | 'QR' | 'NATIVE_CHALLENGE' | 'PUSH';
69
+ /** Mapped from Trinsic `failCode` by the backend (Phase 1 §4.1). */
70
+ type FailureReason = 'USER_CANCELED' | 'AUTHENTICATION_FAILED' | 'SESSION_EXPIRED' | 'VERIFICATION_FAILED' | 'PROVIDER_INTERNAL_ERROR' | 'RESULTS_EXCHANGE_FAILED' | 'RP_CANCELED' | 'INVALID_REDIRECT_RESULT' | 'SESSION_TOKEN_EXPIRED';
71
+ /** Query params the provider appends to the return URL (open list — read these three, ignore the rest). */
72
+ type RedirectReturnParams = {
73
+ success: boolean;
74
+ sessionId: string;
75
+ resultsAccessKey: string;
76
+ };
77
+ //#endregion
78
+ //#region src/modules/id/digitalIdRegistry.d.ts
79
+ /**
80
+ * True when a digital-ID method uses a full-page web-redirect flow (Trinsic
81
+ * iDIN/FTN). Accepts both the module `FlowType` value (`REDIRECT`) and the
82
+ * backend value (`WEB_REDIRECT`). (Lives here rather than in
83
+ * `idCaptureHelpers` to keep the registry free of circular imports; the
84
+ * helpers re-export it.)
85
+ */
86
+ declare function isRedirectFlowType(flowType: string): boolean;
87
+ /** Digital-ID document schemes the SDK knows how to verify. */
88
+ type DigitalIdDocumentType = 'mDL' | 'iDIN' | 'FTN';
89
+ /** One way to fulfil a `DigitalIdDocumentType`, in funnel priority order. */
90
+ type DigitalIdFunnelEntry = {
91
+ /** Incode-native device-wallet handshake (Apple Wallet web / Google Wallet). */
92
+ kind: 'incodeWallet';
93
+ /** Chooser tile this entry surfaces as. */
94
+ documentType: Extract<IdDocumentType, 'digitalId'>;
95
+ /** Config flag that activates this entry. */
96
+ configFlag: 'deviceWallet';
97
+ } | {
98
+ /** Trinsic web-redirect flow (existing `digitalIdRedirect` child). */
99
+ kind: 'trinsicRedirect';
100
+ documentType: Extract<IdDocumentType, 'digitalIdRedirect'>;
101
+ /** Catalog provider id passed to the `digitalIdRedirectMachine`. */
102
+ providerId: DigitalIdProviderId;
103
+ /**
104
+ * Persisted backend method name in `config.digitalIds.methods[]` that
105
+ * activates this entry (e.g. `IDIN`).
106
+ */
107
+ method: string;
108
+ };
109
+ declare const DIGITAL_ID_REGISTRY: Record<DigitalIdDocumentType, readonly DigitalIdFunnelEntry[]>;
110
+ declare const DIGITAL_ID_DOCUMENT_TYPES: DigitalIdDocumentType[];
111
+ /** What the chooser routing actually launches for a document type. */
112
+ type ResolvedDigitalIdRoute = {
113
+ kind: 'incodeWallet';
114
+ } | {
115
+ kind: 'trinsicRedirect';
116
+ providerId: DigitalIdProviderId;
117
+ method?: IdCaptureDigitalIdMethod;
118
+ };
119
+ /** Platform capabilities consulted by the funnel. */
120
+ type DigitalIdPlatformSupport = {
121
+ /** `IDigitalCredentialsCapability.isAvailable()`. */
122
+ credentialsAvailable: boolean;
123
+ };
124
+ /**
125
+ * Resolves the implementation that should fulfil a digital-ID document type:
126
+ * the first funnel entry that is active under the given config and platform.
127
+ * `undefined` when nothing can run it (the chooser then shows no tile for it).
128
+ */
129
+ declare function resolveDigitalIdImplementation(docType: DigitalIdDocumentType, config: Pick<IdCaptureConfig, 'deviceWallet' | 'digitalIds'>, platform: DigitalIdPlatformSupport): ResolvedDigitalIdRoute | undefined;
130
+ //#endregion
131
+ //#region src/modules/id/deviceWallet/types.d.ts
132
+ /** Which wallet backend the handshake talks to. */
133
+ type DeviceWalletPlatform = 'ios' | 'android';
134
+ /** Explicit provider override, mirroring V1's `DigitalIdWalletProvider`. */
135
+ type DeviceWalletProvider = 'apple_web' | 'google';
136
+ type DeviceWalletDecision = 'ACCEPTED' | 'REJECTED';
137
+ /**
138
+ * Failure classification.
139
+ * - `UNSUPPORTED_PLATFORM` — no Credentials API. The digital-ID funnel
140
+ * resolves this away before the machine is invoked; kept for the defensive
141
+ * path when the machine is started on an unsupported environment anyway.
142
+ * - `NO_CREDENTIAL` — the wallet sheet completed without a credential (user
143
+ * dismissed, or no eligible digital ID on the device).
144
+ * - `WALLET_ERROR` — anything else (request/decrypt HTTP failure, the
145
+ * Credentials API rejecting, missing activation, protocol errors).
146
+ */
147
+ type DeviceWalletFailReason = 'UNSUPPORTED_PLATFORM' | 'NO_CREDENTIAL' | 'WALLET_ERROR';
148
+ /** Response of both decrypt endpoints. Attributes are not inline (see above). */
149
+ type DeviceWalletDecryptResponse = {
150
+ success: boolean;
151
+ decision?: DeviceWalletDecision;
152
+ [key: string]: unknown;
153
+ };
154
+ /**
155
+ * Terminal machine output read by the ID-Capture parent (`onDone`).
156
+ * Projected by the machine's ROOT `output` — a top-level final node's own
157
+ * `output` does not propagate in this XState version.
158
+ */
159
+ type DeviceWalletOutput = {
160
+ result: 'success';
161
+ decision: DeviceWalletDecision | undefined;
162
+ response: DeviceWalletDecryptResponse;
163
+ } | {
164
+ result: 'dismissed';
165
+ };
166
+ //#endregion
7
167
  //#region src/modules/id/manualUpload/types.d.ts
8
168
  type ManualUploadTab = 'id' | 'passport';
9
169
  type ManualUploadSide = 'front' | 'back' | 'passport';
10
170
  type ManualUploadContext = {
11
171
  /** Passed from parent machine input — used by guards and actor inputs. */
12
172
  onlyFront: boolean;
173
+ /** Back-only takes precedence when both side-only flags are supplied. */
174
+ onlyBack: boolean;
13
175
  isSecondId: boolean;
14
176
  /** Retry budget for this manual upload (sourced from `config.captureAttempts`). */
15
177
  captureAttempts: number;
@@ -45,11 +207,13 @@ interface IAnalyticsCapability {
45
207
  //#region src/modules/id/types.d.ts
46
208
  type IdCaptureMode = 'front' | 'back' | 'passport';
47
209
  /**
48
- * Document type options for the ID capture chooser (ID, passport, manual ID upload, digital ID upload, digital ID from device wallet).
210
+ * Document type options for the ID capture chooser (ID, passport, manual ID
211
+ * upload, digital ID upload (PDF), digital ID from device wallet, digital ID
212
+ * web-redirect (Trinsic iDIN/FTN)).
49
213
  * Used for selection and for the list of available options derived from config.
50
214
  */
51
- type IdDocumentType = 'id' | 'passport' | 'manualIdUpload' | 'digitalIdUpload' | 'digitalId';
52
- type IdFlowStep = 'chooser' | 'ageVerification' | 'tutorial' | 'permissions' | 'capture' | 'mandatoryConsent' | 'frontFinished' | 'backFinished' | 'success' | 'processing' | 'expired' | 'finished' | 'error' | 'closed' | 'manualIdUpload' | 'digitalIdUpload';
215
+ type IdDocumentType = 'id' | 'passport' | 'manualIdUpload' | 'digitalIdUpload' | 'digitalId' | 'digitalIdRedirect';
216
+ type IdFlowStep = 'chooser' | 'ageVerification' | 'tutorial' | 'permissions' | 'capture' | 'mandatoryConsent' | 'frontFinished' | 'backFinished' | 'success' | 'processing' | 'expired' | 'finished' | 'error' | 'closed' | 'manualIdUpload' | 'digitalIdUpload' | 'digitalIdRedirect';
53
217
  type DetectionStatus = 'idle' | 'detecting' | 'farAway' | 'blur' | 'glare' | 'wrongSide' | 'capturing' | 'manualCapture' | 'idNotDetected' | 'offline';
54
218
  /**
55
219
  * Represents the detection area dimensions in pixels.
@@ -86,10 +250,32 @@ type IdCaptureThresholds = {
86
250
  idDetectedTimeout: number;
87
251
  autocaptureTimeout: number;
88
252
  };
253
+ /**
254
+ * Flow shape a digital-ID method uses. iDIN/FTN are `WEB_REDIRECT` (the backend
255
+ * value) / `REDIRECT` (the digital-id-redirect module's `FlowType`). Only the
256
+ * redirect variants are handled by the ID-Capture `digitalIdRedirect` child;
257
+ * the other shapes are declared for forward-compatibility with the catalog.
258
+ */
259
+ type IdCaptureDigitalIdFlowType = FlowType | 'WEB_REDIRECT';
260
+ /**
261
+ * One digital-ID verification method offered inside ID-Capture, threaded from
262
+ * the backend flow node's `configuration.digitalIds` (unified path — same rails
263
+ * as Apple/Google Wallet). A `REDIRECT`/`WEB_REDIRECT` method surfaces the
264
+ * `digitalIdRedirect` chooser option and drives the `digitalIdRedirectMachine`
265
+ * child. iDIN-only for now (FTN is BE-blocked).
266
+ */
267
+ type IdCaptureDigitalIdMethod = {
268
+ /** Persisted method name, e.g. `IDIN` / `FTN`. */
269
+ method?: string;
270
+ /** Catalog provider id passed to the child, e.g. `trinsic_netherlands_idin`. */
271
+ provider: DigitalIdProviderId;
272
+ /** Redirect vs. other flow shapes. Only the redirect variants are handled. */
273
+ flowType: IdCaptureDigitalIdFlowType;
274
+ /** ISO alpha-2 to bias provider ordering / prefill. */
275
+ country?: string;
276
+ displayName?: string;
277
+ };
89
278
  type IdCaptureConfig = TutorialIdConfig & {
90
- recording?: {
91
- capability?: IRecordingCapability;
92
- };
93
279
  ageAssurance?: boolean;
94
280
  mergeSessionRecordings?: boolean;
95
281
  isDeepsightEnabled?: boolean;
@@ -127,6 +313,30 @@ type IdCaptureConfig = TutorialIdConfig & {
127
313
  * parameter-store read, no Statsig exposure, and no assignment event.
128
314
  */
129
315
  supportsOptimizingStatus?: boolean;
316
+ /**
317
+ * Digital-ID methods offered inside ID-Capture (from the backend flow node's
318
+ * `configuration.digitalIds`). A `REDIRECT`/`WEB_REDIRECT` method surfaces the
319
+ * `digitalIdRedirect` chooser option and drives the `digitalIdRedirectMachine`
320
+ * child (Trinsic iDIN/FTN). Absent / empty → no redirect option shown.
321
+ */
322
+ digitalIds?: IdCaptureDigitalIdMethod[];
323
+ /**
324
+ * https page the identity provider redirects back to on the digital-ID
325
+ * web-redirect return leg. The host onboarding app owns this route and passes
326
+ * it here; forwarded to the `digitalIdRedirectMachine` as its `returnUrl`.
327
+ */
328
+ digitalIdReturnUrl?: string;
329
+ /**
330
+ * Digital-ID web-redirect RETURN leg. When present, ID-Capture skips the
331
+ * chooser and resumes straight into the `digitalIdRedirect` child in resume
332
+ * mode: the persisted `verificationId` is recovered from storage and the
333
+ * host-parsed `returnParams` are submitted. Set by the host on the return
334
+ * route (mirrors the old top-level `FlowConfig.digitalIdReturn`, re-targeted
335
+ * to the ID-Capture module).
336
+ */
337
+ digitalIdReturn?: {
338
+ returnParams: RedirectReturnParams;
339
+ };
130
340
  };
131
341
  /**
132
342
  * Public ID capture configuration for the captureOnly flow.
@@ -152,6 +362,23 @@ type IdError = {
152
362
  message: string;
153
363
  messageDescription?: string;
154
364
  };
365
+ /**
366
+ * Document types the backend is known to report in
367
+ * `UploadIdResponse.acceptedDocuments` (`add-front-id-v2`: the list of document
368
+ * types accepted for the detected country when `failReason` is
369
+ * `ID_TYPE_UNACCEPTABLE`).
370
+ *
371
+ * The wire format is `array[string]`, so this union documents the known values
372
+ * rather than constraining them — see `AcceptedDocument`, which is what the
373
+ * response is actually typed as. Consumers must handle unknown values.
374
+ */
375
+ type AcceptedDocumentType = 'IdentificationCard' | 'Passport' | 'DriversLicense' | 'ResidenceDocument' | 'BirthCertificate' | 'TravelDocument' | 'WeaponLicense' | 'MedicalCard' | 'TribalIdentification' | 'Currency' | 'VehicleRegistration' | 'TaxIdentification' | 'Visa' | 'Permit' | 'Military' | 'VoterIdentification' | 'FederalID' | 'Unknown' | 'Other';
376
+ /**
377
+ * A single entry of `UploadIdResponse.acceptedDocuments`. Widened to `string`
378
+ * so that a document type the backend adds later still type-checks, while
379
+ * `AcceptedDocumentType` keeps autocomplete for the known values.
380
+ */
381
+ type AcceptedDocument = AcceptedDocumentType | (string & {});
155
382
  type UploadIdResponse = {
156
383
  sharpness: number;
157
384
  correctSharpness: boolean;
@@ -171,10 +398,11 @@ type UploadIdResponse = {
171
398
  skipGlareFront?: boolean;
172
399
  skipGlareBack?: boolean;
173
400
  documentIsOnTheEdge?: boolean;
174
- acceptedDocuments?: Array<{
175
- type: string;
176
- name: string;
177
- }>;
401
+ /**
402
+ * List of document types accepted for the detected country when
403
+ * `failReason` is `ID_TYPE_UNACCEPTABLE`. BE-documented as `array[string]`.
404
+ */
405
+ acceptedDocuments?: Array<AcceptedDocument>;
178
406
  forceFrontIdCapture?: boolean;
179
407
  /**
180
408
  * US Smart Capture: when `true`, the backend has already validated the ID
@@ -248,14 +476,6 @@ type CaptureOnlyResponse = {
248
476
  frontImage: IdCapturedImageData;
249
477
  backImage: IdCapturedImageData | undefined;
250
478
  };
251
- type RecordingSession = {
252
- token: string;
253
- sessionId: string;
254
- videoRecordingId: string;
255
- connection: RecordingConnection;
256
- resolution?: string;
257
- hasAudio: boolean;
258
- };
259
479
  declare const ID_ERROR_CODES: {
260
480
  readonly UPLOAD_ERROR: "UPLOAD_ERROR";
261
481
  readonly CLASSIFICATION_FAILED: "CLASSIFICATION_FAILED";
@@ -339,7 +559,8 @@ type IdCaptureContext = {
339
559
  * best-frame / front `success` shows its real captured image as usual).
340
560
  */
341
561
  barcodeFastPathCaptured: boolean;
342
- recordingSession: RecordingSession | undefined;
562
+ /** Opaque SDK-owned handle for the active multipart ID recording. */
563
+ recordingSession: object | undefined;
343
564
  attemptsRemaining: number;
344
565
  /**
345
566
  * Number of consecutive `isDocumentExpired === true` upload responses for
@@ -377,6 +598,35 @@ type IdCaptureContext = {
377
598
  * for the workflow orchestrator.
378
599
  */
379
600
  isDigitalUpload: boolean;
601
+ /**
602
+ * `true` once a Digital ID web-redirect (Trinsic iDIN/FTN) has COMPLETED for
603
+ * this session. Like a digital upload, it is single-side (no back capture).
604
+ * Combined with `portraitPresent` it drives the downstream Face Match skip
605
+ * (iDIN returns no portrait → nothing to match) via `computeIdCaptureOutput`.
606
+ */
607
+ isDigitalIdRedirect: boolean;
608
+ /**
609
+ * Whether the completed digital-ID web-redirect scheme returned a portrait.
610
+ * iDIN/FTN → `false`. When `false`, the ID has no face → the downstream Face
611
+ * Match step is skipped (`computeIdCaptureOutput.skipFaceMatch`).
612
+ */
613
+ portraitPresent: boolean;
614
+ /**
615
+ * The digital-ID implementation resolved by the funnel when the user picked
616
+ * the Digital ID chooser tile (`resolveDigitalIdImplementation`). Stored so
617
+ * the `digitalIdRouting` state can branch on it and the Trinsic fallback can
618
+ * preset its provider on the `digitalIdRedirect` child input.
619
+ */
620
+ digitalIdRoute: ResolvedDigitalIdRoute | undefined;
621
+ /**
622
+ * `true` once a device-wallet (mDL) handshake has completed for this
623
+ * session. Wallet credentials are single-side and carry no client-side
624
+ * image; the mDL portrait lands in the session server-side, so the
625
+ * downstream Face Match is NOT skipped (unlike a portrait-less redirect).
626
+ */
627
+ isDeviceWallet: boolean;
628
+ /** Backend decision of the completed device-wallet handshake. */
629
+ deviceWalletDecision: DeviceWalletDecision | undefined;
380
630
  /**
381
631
  * Set when `expiredExhausted` was reached via the per-upload (camera)
382
632
  * exhaustion path. Used by `CONTINUE_EXHAUSTED` to decide whether to run
@@ -467,6 +717,18 @@ type IdCaptureContext = {
467
717
  captureResolution?: string;
468
718
  /** Android camera access fallback level that succeeded */
469
719
  cameraFallbackLevel?: number;
720
+ /**
721
+ * Digital-ID web-redirect RETURN leg (recovered on start from
722
+ * `config.digitalIdReturn`). Present only when re-mounting after the provider
723
+ * redirect; drives the direct route into the `digitalIdRedirect` child in
724
+ * resume mode. `verificationId`/`providerId` are read back from storage
725
+ * (persisted before the redirect); `returnParams` come from the host.
726
+ */
727
+ digitalIdReturnParams: RedirectReturnParams | undefined;
728
+ digitalIdResumeVerificationId: string | undefined;
729
+ digitalIdResumeProviderId: DigitalIdProviderId | undefined;
730
+ /** Whether the live `stream` is genuinely the rear camera. */
731
+ usingBackCamera?: boolean;
470
732
  };
471
733
  type IdCaptureEvent = {
472
734
  type: 'LOAD';
@@ -596,9 +858,27 @@ type IdCaptureEvent = {
596
858
  type: 'DIGITAL_UPLOAD_SCAN_INSTEAD';
597
859
  } | {
598
860
  type: 'DIGITAL_UPLOAD_CHOOSE_ANOTHER';
861
+ } | {
862
+ type: 'DIGITAL_ID_REDIRECT_RETRY';
863
+ } | {
864
+ type: 'DIGITAL_ID_REDIRECT_USE_ANOTHER_METHOD';
865
+ } | {
866
+ type: 'DIGITAL_ID_REDIRECT_CONTINUE';
867
+ } | {
868
+ type: 'DIGITAL_ID_REDIRECT_REFRESH';
869
+ } | {
870
+ type: 'DEVICE_WALLET_RETRY';
871
+ } | {
872
+ type: 'DEVICE_WALLET_USE_ANOTHER_METHOD';
599
873
  };
600
874
  type IdCaptureDependencies = {
601
875
  storage: IStorageCapability;
876
+ /**
877
+ * W3C Digital Credentials API access for the device-wallet (mDL) child.
878
+ * Optional for backward compatibility; defaults to
879
+ * `BrowserDigitalCredentialsProvider` at the composition points.
880
+ */
881
+ credentials?: IDigitalCredentialsCapability;
602
882
  trackCaptureAttemptFinished?: (payload: {
603
883
  logs: string;
604
884
  resolution?: string;
@@ -642,4 +922,4 @@ type IdCaptureOutput = {
642
922
  skipFaceMatch: boolean;
643
923
  } | undefined;
644
924
  //#endregion
645
- export { ManualUploadSide as A, RecordingSession as C, MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES as D, MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS as E, MANUAL_UPLOAD_MAX_RETRIES as O, IdFlowStep as S, IAnalyticsCapability as T, IdCaptureThresholds as _, DetectionArea as a, IdError as b, IdCaptureConfig as c, IdCaptureEvent as d, IdCaptureGeometry as f, IdCaptureOutput as g, IdCaptureOnlyConfig as h, CapturedImage as i, ManualUploadTab as j, ManualUploadContext as k, IdCaptureContext as l, IdCaptureMode as m, CaptureIdResponse as n, DetectionStatus as o, IdCaptureInput as p, CaptureOnlyResponse as r, ID_ERROR_CODES as s, AddBarcodeV3Response as t, IdCaptureDependencies as u, IdCapturedImageData as v, UploadIdResponse as w, IdErrorCode as x, IdDocumentType as y };
925
+ export { MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES as A, DeviceWalletProvider as B, IdDocumentType as C, UploadIdResponse as D, IdFlowStep as E, DeviceWalletDecision as F, DigitalIdPlatformSupport as G, DIGITAL_ID_REGISTRY as H, DeviceWalletDecryptResponse as I, resolveDigitalIdImplementation as J, ResolvedDigitalIdRoute as K, DeviceWalletFailReason as L, ManualUploadContext as M, ManualUploadSide as N, IAnalyticsCapability as O, ManualUploadTab as P, DeviceWalletOutput as R, IdCapturedImageData as S, IdErrorCode as T, DigitalIdDocumentType as U, DIGITAL_ID_DOCUMENT_TYPES as V, DigitalIdFunnelEntry as W, FailureReason as X, DigitalIdProviderId as Y, RedirectReturnParams as Z, IdCaptureInput as _, CaptureOnlyResponse as a, IdCaptureOutput as b, DetectionStatus as c, IdCaptureContext as d, IdCaptureDependencies as f, IdCaptureGeometry as g, IdCaptureEvent as h, CaptureIdResponse as i, MANUAL_UPLOAD_MAX_RETRIES as j, MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS as k, ID_ERROR_CODES as l, IdCaptureDigitalIdMethod as m, AcceptedDocumentType as n, CapturedImage as o, IdCaptureDigitalIdFlowType as p, isRedirectFlowType as q, AddBarcodeV3Response as r, DetectionArea as s, AcceptedDocument as t, IdCaptureConfig as u, IdCaptureMode as v, IdError as w, IdCaptureThresholds as x, IdCaptureOnlyConfig as y, DeviceWalletPlatform as z };
@@ -1,10 +1,24 @@
1
- import { n as WasmPipeline } from "./warmup-Dv2alr2-.js";
1
+ import { c as WasmPipeline } from "./warmup-Cis2p6O0.js";
2
2
  import { A as StateMachine, _ as MachineContext, c as AnyEventObject, p as EventObject, v as MetaObject, y as NonReducibleUnknown } from "./spawn-D9jgw9pW.js";
3
3
  import "./StateMachine-EDpYWy0i.js";
4
4
  import "./Actor-iTq7YY48.js";
5
+ import { t as IVisibilityObserverCapability } from "./IVisibilityObserverCapability-D4tvIB5v.js";
5
6
  import { t as CameraStream } from "./camera-9wWD-pwg.js";
6
- import { t as DetectionOrientation } from "./IIdCaptureCapability-DHTT3FC2.js";
7
- import { a as FacingMode, i as CameraCompositor, n as VideoSelfieDetectionStatus, o as VideoSelfieConfig, r as VideoSelfieValidationFailure, s as VideoSelfieStep, t as StepDetector } from "./videoSelfieStepDetector-D3oo2ofo.js";
7
+ import { t as DetectionOrientation } from "./IIdCaptureCapability-RNiFhvXR.js";
8
+ import { a as FacingMode, i as CameraCompositor, n as VideoSelfieDetectionStatus, o as VideoSelfieConfig, r as VideoSelfieValidationFailure, s as VideoSelfieStep, t as StepDetector } from "./videoSelfieStepDetector-Co0Gu2k2.js";
9
+ //#region ../infra/src/capabilities/ITimerCapability.d.ts
10
+ type TimerHandle = ReturnType<typeof setTimeout>;
11
+ type ITimerCapability = {
12
+ setTimeout(callback: () => void, delayMs: number): TimerHandle;
13
+ setInterval(callback: () => void, delayMs: number): TimerHandle;
14
+ clearTimeout(handle: TimerHandle): void;
15
+ clearInterval(handle: TimerHandle): void;
16
+ };
17
+ //#endregion
18
+ //#region src/internal/recordings/videoSelfieUploadService.d.ts
19
+ /** What the multipart upload records. Must be sent on every protocol call. */
20
+ type VideoUploadScope = 'videoselfie' | 'selfie' | 'frontId' | 'backId';
21
+ //#endregion
8
22
  //#region src/internal/recordings/multipartRecordingService.d.ts
9
23
  type MultipartRecordingResult = {
10
24
  /**
@@ -19,12 +33,10 @@ type MultipartRecordingResult = {
19
33
  * captured, using the video-selfie-service multipart upload protocol
20
34
  * (`/v1/video-upload/*`).
21
35
  *
22
- * This is the Video Selfie module's client-side recorder and is deliberately
23
- * independent of the face-capture recording services (`LocalRecordingService`
24
- * / `OpenViduRecordingService`) — it is the replacement for server-side
25
- * (OpenVidu) recording, not a sibling of it.
36
+ * This is the client-side recorder for Video Selfie and for scoped regular
37
+ * Selfie and ID recordings. It replaces the former server-side recording path.
26
38
  *
27
- * Every ~1 s recorder blob uploads as its own chunk, concurrently with
39
+ * Every ~0.5 s recorder blob uploads as its own chunk, concurrently with
28
40
  * recording, through {@link VideoSelfieChunkUploader} (keep-until-ack +
29
41
  * retry with backoff — see its doc for the full policy). The service stages
30
42
  * sub-5 MiB chunks and combines them server-side, so `stop()` only drains
@@ -33,14 +45,23 @@ type MultipartRecordingResult = {
33
45
  * (S3 SSE-AES-256).
34
46
  */
35
47
  declare class MultipartRecordingService {
48
+ private readonly scope;
36
49
  private recorder;
37
50
  private timer;
38
51
  private session;
39
52
  private uploader;
40
53
  private chunksEmitted;
54
+ private stopPromise;
55
+ private abandonRequested;
56
+ constructor(scope?: VideoUploadScope);
41
57
  get isRecording(): boolean;
42
58
  start(stream: MediaStream): Promise<void>;
59
+ /** Pause the current media container without finalizing its upload. */
60
+ pause(): boolean;
61
+ /** Resume the same media container after its video source has recovered. */
62
+ resume(): boolean;
43
63
  stop(): Promise<MultipartRecordingResult>;
64
+ private finalizeRecording;
44
65
  cleanup(): void;
45
66
  /**
46
67
  * `complete` is idempotent server-side ("safe to repeat if the response
@@ -66,21 +87,31 @@ type VideoSelfieRecordingDependencies = {
66
87
  acquireCamera?: (facingMode: FacingMode, withAudio: boolean) => Promise<CameraStream>;
67
88
  /** Runs WASM detection + backend validation per step; resolves to advance. */
68
89
  detect?: StepDetector;
90
+ /** Timer used by the whole-session maximum recording duration. */
91
+ timer?: ITimerCapability;
92
+ /**
93
+ * Overrides the page-visibility source used to pause capture. The manager
94
+ * promotes this dependency to the machine's required top-level input.
95
+ */
96
+ visibilityObserver?: IVisibilityObserverCapability;
69
97
  /** Minimum time to hold the switching-camera screen before resuming capture. */
70
98
  switchingCameraMinDwellMs?: number;
71
99
  };
72
100
  /**
73
101
  * Why the module errored: `connection` means a transport-level failure the
74
102
  * user can fix by getting back online (the UI shows the connection-error
75
- * copy); `technical` is everything else (raw detail stays in `error` for
76
- * diagnostics/hosts, the UI shows its generic fallback).
103
+ * copy); `technical` is every other recoverable failure (raw detail stays in
104
+ * `error` for diagnostics/hosts, the UI shows its generic fallback);
105
+ * `maxVideoLengthReached` is the configured recording limit; and
106
+ * `validationAttemptsExhausted` terminates the module after the last allowed
107
+ * ID or selfie validation failure.
77
108
  */
78
- type VideoSelfieErrorKind = 'connection' | 'technical';
109
+ type VideoSelfieErrorKind = 'connection' | 'technical' | 'maxVideoLengthReached' | 'validationAttemptsExhausted';
79
110
  //#endregion
80
111
  //#region src/modules/video-selfie/videoSelfieRecordingActor.d.ts
81
112
  type CreateVideoSelfieRecordingActorOptions = {
82
- /** Module config; its flags determine the active capture steps + validations. */
83
113
  config?: VideoSelfieConfig;
114
+ steps?: VideoSelfieStep[];
84
115
  dependencies?: VideoSelfieRecordingDependencies;
85
116
  };
86
117
  //#endregion
@@ -116,12 +147,19 @@ type VideoSelfieRecordingState = {
116
147
  attemptsRemaining: number;
117
148
  /** The completed upload id, available during `success` and `finished`. */
118
149
  recordingId: string | null;
119
- /** Failure detail, set when `status === 'error'`. */
150
+ /**
151
+ * Failure detail for diagnostics, or the stable
152
+ * `maxVideoLengthReached` reason when the configured limit expires.
153
+ * Set when `status === 'error'`.
154
+ */
120
155
  error: string | undefined;
121
156
  /**
122
157
  * Why the module errored: `connection` (transport failure — the UI shows
123
158
  * the connection-error copy; raw detail stays in `error` for diagnostics)
124
- * or `technical` (everything else). Set when `status === 'error'`.
159
+ * or `technical` (recoverable technical failures), or
160
+ * `maxVideoLengthReached` (the configured recording limit), or
161
+ * `validationAttemptsExhausted` (terminal ID/selfie validation failure).
162
+ * Set when `status === 'error'`.
125
163
  */
126
164
  errorKind: VideoSelfieErrorKind | undefined;
127
165
  };
@@ -172,27 +210,10 @@ declare function facingModeForStep(step: VideoSelfieStep): 'user' | 'environment
172
210
  * the first well-framed frame.
173
211
  */
174
212
  declare function resolveVideoSelfieSteps(config: VideoSelfieConfig): VideoSelfieStep[];
175
- /**
176
- * The WASM pipelines a Video Selfie session loads. The selfie step always runs
177
- * face detection (`videoSelfie`); the ID steps run the simplified ID-capture
178
- * pipeline (`videoSelfieId`), gated by `checkIdScan`. Used both for the
179
- * flow-level eager warmup ({@link getRequiredWasmPipelines}) and the
180
- * tutorial-time lazy warmup (`warmupVideoSelfieWasm`).
181
- */
182
- declare function videoSelfieWasmPipelines(config: VideoSelfieConfig): WasmPipeline[];
213
+ declare function videoSelfieWasmPipelines(config: VideoSelfieConfig, steps?: VideoSelfieStep[]): WasmPipeline[];
183
214
  //#endregion
184
215
  //#region src/modules/video-selfie/videoSelfieWasm.d.ts
185
- /**
186
- * Warms the WASM pipelines the Video Selfie flow needs (face detection, plus the
187
- * ID-capture pipeline when `checkIdScan` is on), reusing the WASM config stored
188
- * by `setup({ wasm })`.
189
- *
190
- * Idempotent and safe to call eagerly — the UI invokes it when the tutorial
191
- * mounts so the models finish loading while the user reads the instructions, and
192
- * detection is ready the instant recording starts (mirrors how the selfie and ID
193
- * modules warm up during their tutorials). No-op when WASM was not configured.
194
- */
195
- declare function warmupVideoSelfieWasm(config: VideoSelfieConfig): Promise<void>;
216
+ declare function warmupVideoSelfieWasm(config: VideoSelfieConfig, steps?: VideoSelfieStep[]): Promise<void>;
196
217
  //#endregion
197
218
  //#region src/modules/video-selfie/videoSelfieCameraWarmer.d.ts
198
219
  /**
@@ -230,7 +251,7 @@ type VideoSelfieCameraWarmer = {
230
251
  * camera (and whether it needs audio) is derived from the resolved step order —
231
252
  * the same first acquire the recording machine performs on `START`.
232
253
  */
233
- declare function createVideoSelfieCameraWarmer(config: VideoSelfieConfig): VideoSelfieCameraWarmer;
254
+ declare function createVideoSelfieCameraWarmer(config: VideoSelfieConfig, steps?: VideoSelfieStep[]): VideoSelfieCameraWarmer;
234
255
  //#endregion
235
256
  //#region src/modules/video-selfie/videoSelfieSpeechService.d.ts
236
257
  /** A single random question (and its expected answer) for the challenge step. */
@@ -304,4 +325,7 @@ declare const videoSelfieFlowModuleMachine: StateMachine<MachineContext, AnyEven
304
325
  };
305
326
  }>;
306
327
  //#endregion
307
- export { type ConsentRecorder, type CreateVideoSelfieRecordingActorOptions, type VideoSelfieCameraWarmer, type VideoSelfieConfig, type VideoSelfieQuestion, type VideoSelfieRecordingManager, type VideoSelfieRecordingState, type VideoSelfieRecordingStatus, type VideoSelfieStep, createConsentRecorder, createVideoSelfieCameraWarmer, createVideoSelfieRecordingManager, facingModeForStep, getVideoSelfieQuestions, getVoiceConsentPhrase, resolveVideoSelfieSteps, videoSelfieFlowModuleMachine, videoSelfieWasmPipelines, warmupVideoSelfieWasm };
328
+ //#region src/internal/orchestration/advanceableErrors.d.ts
329
+ declare const VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE = "VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED";
330
+ //#endregion
331
+ export { type ConsentRecorder, type CreateVideoSelfieRecordingActorOptions, VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE, type VideoSelfieCameraWarmer, type VideoSelfieConfig, type VideoSelfieQuestion, type VideoSelfieRecordingManager, type VideoSelfieRecordingState, type VideoSelfieRecordingStatus, type VideoSelfieStep, createConsentRecorder, createVideoSelfieCameraWarmer, createVideoSelfieRecordingManager, facingModeForStep, getVideoSelfieQuestions, getVoiceConsentPhrase, resolveVideoSelfieSteps, videoSelfieFlowModuleMachine, videoSelfieWasmPipelines, warmupVideoSelfieWasm };