@incodetech/web 0.0.0-dev-20260917-1176b73f → 0.0.0-dev-20260918-2ea5eb33

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 (229) hide show
  1. package/dist/ae-signature/ae-signature.es.js +3 -3
  2. package/dist/{af-ZA-DmmrcQP_.js → af-ZA-BfFA-73t.js} +5 -1
  3. package/dist/{am-SmKt8V4z.js → am-86O9vQfo.js} +5 -1
  4. package/dist/antifraud/antifraud.es.js +3 -3
  5. package/dist/{ar-AE-DY9xUJr9.js → ar-AE-D6WWGMaR.js} +6 -2
  6. package/dist/{ar-WPzC_zpw.js → ar-CSV1WkDr.js} +6 -2
  7. package/dist/{ar-EG-BgrA461G.js → ar-EG-B52sSbMt.js} +5 -1
  8. package/dist/authentication/authentication.es.js +4 -4
  9. package/dist/{autoFocusTitle-CLL6_ZUS.js → autoFocusTitle-DlCuVRy0.js} +1 -1
  10. package/dist/{az-8ilAuTNz.js → az-CYe41nhK.js} +5 -1
  11. package/dist/base.css +4 -0
  12. package/dist/{baseTutorial-OhjVzcAt.js → baseTutorial-gnuDmWZu.js} +3 -3
  13. package/dist/{bn-BMTIe4X-.js → bn-qFhQOo2c.js} +5 -1
  14. package/dist/{bottomSheet-CVZGrdQw.js → bottomSheet-Cx-a2e87.js} +1 -1
  15. package/dist/{bs-8e1MGcBs.js → bs-CF_-tOJf.js} +5 -1
  16. package/dist/{ca-DiV9W25J.js → ca-I6BUI5uG.js} +5 -1
  17. package/dist/cameraOverlay-CFRDEX0q.js +2 -0
  18. package/dist/{cameraOverlayHeader-nlevm08C.js → cameraOverlayHeader-Dp_W_2pM.js} +3 -3
  19. package/dist/{cameraView-Dquo1xOJ.js → cameraView-DBwfS6-n.js} +2 -2
  20. package/dist/{ceb-D8k4G0Uk.js → ceb-WUG7wtG_.js} +5 -1
  21. package/dist/certificate-issuance/certificate-issuance.es.js +8 -8
  22. package/dist/{checkbox-CiB15eSu.js → checkbox-Br1BZgyW.js} +2 -2
  23. package/dist/{connectionError-BHmmESyy.js → connectionError-DI5hSA73.js} +3 -3
  24. package/dist/consent/consent.es.js +6 -6
  25. package/dist/{countrySelector-Dgy0zp0e.js → countrySelector-B4tmudxi.js} +2 -2
  26. package/dist/cross-document-data-match/cross-document-data-match.es.js +3 -3
  27. package/dist/{cs-CZ-B2enobPu.js → cs-CZ-BeRE76LT.js} +5 -1
  28. package/dist/{cs-BtZAKXkI.js → cs-CqJtRA_e.js} +5 -1
  29. package/dist/curp-validation/curp-validation.es.js +11 -11
  30. package/dist/{customFields-t5hWidwA.js → customFields-BM9JzdYV.js} +9 -9
  31. package/dist/{customWatchlist-Dqrj_ifl.js → customWatchlist-5cm1k6Az.js} +6 -6
  32. package/dist/{da-DK-Bg0oZ0np.js → da-DK-0yqqnpB2.js} +5 -1
  33. package/dist/{dashboardTheme-BRfByCop.js → dashboardTheme-BCtyI2So.js} +1 -1
  34. package/dist/dateInputComposed-B-mEQHwD.js +1 -0
  35. package/dist/{dateInputComposed-0sgVTVDS.js → dateInputComposed-mIXvCuo6.js} +4 -4
  36. package/dist/{de-C2dDH_5u.js → de-BzY0kWmR.js} +5 -1
  37. package/dist/{denied-5I0K3X1V.js → denied-Cd_jJ2fB.js} +4 -4
  38. package/dist/document-capture/document-capture.es.js +1 -1
  39. package/dist/documentCapture-Bfnu2aJ7.js +2 -0
  40. package/dist/{documentCapture-DVyNrAaa.js → documentCapture-DAq4Lc4f.js} +15 -15
  41. package/dist/{dropdownComposed-Nr4ooxq9.js → dropdownComposed-CF9fQIkg.js} +2 -2
  42. package/dist/dropdownComposed-DCEDlVED.js +1 -0
  43. package/dist/dynamic-forms/dynamic-forms.es.js +10 -10
  44. package/dist/ekyb/ekyb.es.js +1 -1
  45. package/dist/ekybModule-Bz_QFp8k.js +2 -0
  46. package/dist/{ekybModule-BXiNK957.js → ekybModule-DtA6xzMt.js} +12 -12
  47. package/dist/ekyc/ekyc.es.js +1 -1
  48. package/dist/{ekycModule-CEZTJeRG.js → ekycModule-BYnSsGfI.js} +12 -12
  49. package/dist/ekycModule-tIAaZn0o.js +2 -0
  50. package/dist/{el-C4tUaDVo.js → el-4VUzRvt_.js} +6 -2
  51. package/dist/{el-GR-gHmmh1m6.js → el-GR-BkaZS0R8.js} +5 -1
  52. package/dist/electronic-signature/electronic-signature.es.js +1 -1
  53. package/dist/{electronic-signature-DA0424TH.js → electronic-signature-C8JySzre.js} +10 -9
  54. package/dist/email/email.es.js +7 -7
  55. package/dist/{emailInput-BOSd36i6.js → emailInput-Cf9kkMwy.js} +3 -3
  56. package/dist/{en-Cv48UBOv.js → en-BoIY2a0U.js} +5 -1
  57. package/dist/{en-DG-DlWakiDv.js → en-DG-Cbxeo9xl.js} +5 -1
  58. package/dist/{errorContent-BigJWZzO.js → errorContent-fEkNWTui.js} +5 -5
  59. package/dist/{es-419-B5kyejuM.js → es-419-CUrAk3Os.js} +5 -1
  60. package/dist/{es-BQocmnOt.js → es-DF4yy8NI.js} +5 -1
  61. package/dist/{es-ES-CV7_24H6.js → es-ES-Bp37Qwzs.js} +5 -1
  62. package/dist/{es-MX-CDNiFYB1.js → es-MX-Bl_WxaY5.js} +5 -1
  63. package/dist/{et-DOU37VZj.js → et-B-4T5J1Y.js} +5 -1
  64. package/dist/{expiredId-CZRW7Ybn.js → expiredId-DBeIK41y.js} +5 -5
  65. package/dist/extensibility.es.js +34 -34
  66. package/dist/{fa-IR-CKX4ttr2.js → fa-IR-CMHAH07z.js} +5 -1
  67. package/dist/face-match/face-match.es.js +1 -1
  68. package/dist/{faceMatch-CIOPXTmy.js → faceMatch-5EYqqbpq.js} +6 -6
  69. package/dist/faceMatch-D1RbSbvf.js +2 -0
  70. package/dist/{fi-FI-DjM3a4dh.js → fi-FI-DjYP8RPz.js} +5 -1
  71. package/dist/field-comparison/field-comparison.es.js +1 -1
  72. package/dist/fieldComparison-Dt2fM2M2.js +2 -0
  73. package/dist/{fieldComparison-Bc_Sb5DW.js → fieldComparison-Ne3VXgex.js} +7 -7
  74. package/dist/{finalSuccessScreen-C9Mjs8Se.js → finalSuccessScreen-DZGfmiDk.js} +9 -9
  75. package/dist/fiscal-qr/fiscal-qr.es.js +10 -10
  76. package/dist/{flipAnimation-ntts3556.js → flipAnimation-CgZPA_-M.js} +13 -13
  77. package/dist/flow/flow.es.js +10 -9
  78. package/dist/{formField-CRTjuNIn.js → formField-BqFQHW2R.js} +2 -2
  79. package/dist/{fr-UicwP0Xf.js → fr-BVK_ZR3Z.js} +5 -1
  80. package/dist/{fr-CA-DSKVQet1.js → fr-CA-BHVRzG8e.js} +5 -1
  81. package/dist/geolocation/geolocation.es.js +7 -7
  82. package/dist/government-validation/government-validation.es.js +3 -3
  83. package/dist/{he-4VZRy5s_.js → he-ChuAfDCe.js} +5 -1
  84. package/dist/{hi-BBTNqCra.js → hi-Zw4sM-qw.js} +5 -1
  85. package/dist/{hmn-Cqq58Jhl.js → hmn-Bh7tYVCA.js} +5 -1
  86. package/dist/{homeScreen-DPDkRuUj.js → homeScreen-D2gcxVZl.js} +6 -6
  87. package/dist/{hr-BkWpIuVF.js → hr-D3ieYUZT.js} +5 -1
  88. package/dist/{ht-BXinER2s.js → ht-BE4x5OD_.js} +5 -1
  89. package/dist/{hu-V8Z3BcQL.js → hu-B890xXad.js} +5 -1
  90. package/dist/{icons-ChbeiU1F.js → icons-CoR-lNt8.js} +1 -1
  91. package/dist/id/id.es.js +20 -20
  92. package/dist/{id-BdeD3LRn.js → id--E-Nhwjq.js} +5 -1
  93. package/dist/id-selfie-flow/id-selfie-flow.es.js +10 -9
  94. package/dist/id-verification/id-verification.es.js +6 -5
  95. package/dist/{idOcr-xqxBKhkH.js → idOcr-sf5u2qVK.js} +11 -11
  96. package/dist/identity-reuse/identity-reuse.es.js +7 -6
  97. package/dist/{incodeComponent-BXv-ZUvM.js → incodeComponent-C_gndce_.js} +86 -13
  98. package/dist/{incodeModule-D4WcMjSz.js → incodeModule-CnL68MWv.js} +1 -1
  99. package/dist/index.es.js +2 -2
  100. package/dist/{inputComposed-B3HKwHUe.js → inputComposed-DygKmx9b.js} +2 -2
  101. package/dist/inputComposed-lQ2lMWfH.js +1 -0
  102. package/dist/{it-BdWa4B_R.js → it-4g4pUWWn.js} +6 -2
  103. package/dist/{ja-dPxfcwiw.js → ja-BmJcal40.js} +5 -1
  104. package/dist/{ja-JP-F94t25a8.js → ja-JP-CJMc2JMu.js} +5 -1
  105. package/dist/{jv-CJAjqhgV.js → jv-D4npMIqL.js} +5 -1
  106. package/dist/{ka-D0dS7apI.js → ka-ap1iUsWy.js} +5 -1
  107. package/dist/{kk-D72DztAI.js → kk-DEuCnG3y.js} +5 -1
  108. package/dist/{km-BOq5twXe.js → km-Ct2KYi8P.js} +11 -7
  109. package/dist/{ko-KP-CE7rKRI5.js → ko-KP-DTpiWAq0.js} +5 -1
  110. package/dist/{ko-B4FP6-ld.js → ko-Tr6206NP.js} +5 -1
  111. package/dist/{ky-D6GXd3uW.js → ky-L0coJye9.js} +5 -1
  112. package/dist/{lo-BzwFkpRV.js → lo-D5ODs3jt.js} +5 -1
  113. package/dist/{lt-hYCw2Wxr.js → lt-C92jAcu_.js} +6 -2
  114. package/dist/{lv-Dzr48SpJ.js → lv-DVrj3SeJ.js} +5 -1
  115. package/dist/{mandatoryConsent-DFHk3udM.js → mandatoryConsent-C4kzzUFt.js} +6 -6
  116. package/dist/{manualCaptureButton-C_xl28Dq.js → manualCaptureButton-CofG7dAU.js} +3 -3
  117. package/dist/{manualCaptureButton-iNAMKfNQ.js → manualCaptureButton-y6LtzHJu.js} +3 -3
  118. package/dist/{mk-BquI4cFU.js → mk-CYQ4kqNe.js} +5 -1
  119. package/dist/{mn-BiuhSfFg.js → mn-BcBCo89D.js} +5 -1
  120. package/dist/{modal-DkFsdSC8.js → modal-CHLkFh7q.js} +2 -2
  121. package/dist/{ms-DtMkDM7f.js → ms-D2EfQ2aC.js} +5 -1
  122. package/dist/{my-BUt_VMls.js → my-iIf1KTFT.js} +5 -1
  123. package/dist/{nb-NO-CnkqifLA.js → nb-NO-CiEFEldo.js} +5 -1
  124. package/dist/{ne-B45P09m7.js → ne-_eKk5i8t.js} +5 -1
  125. package/dist/{nl-sdA7N8LX.js → nl-Cadpfdjb.js} +6 -2
  126. package/dist/{optionAccessibleLabel-Bvxbm3h7.js → optionAccessibleLabel-D2GU44LI.js} +5 -5
  127. package/dist/{otpInput-BXacbIjj.js → otpInput-kKJqezXt.js} +6 -6
  128. package/dist/{passwordInputComposed-V8PZXj4w.js → passwordInputComposed-bQsGMr5q.js} +4 -4
  129. package/dist/pdfViewer-DtIjnnol.js +2 -0
  130. package/dist/{pdfViewer-BnNIXkbM.js → pdfViewer-pnH5iVr3.js} +2 -2
  131. package/dist/{permissions-Im1wwvAx.js → permissions-BCe18yuZ.js} +8 -8
  132. package/dist/phone/phone.es.js +8 -8
  133. package/dist/{phoneInputComposed-33AAWge8.js → phoneInputComposed-CG6KlSdp.js} +3 -3
  134. package/dist/{pl-Ow8xo1iP.js → pl-DvWr6ucO.js} +5 -1
  135. package/dist/{processing-BvkU2cgP.js → processing-huTtclBq.js} +1 -1
  136. package/dist/{pt-BR-COOIb6-y.js → pt-BR-BzvqWyB-.js} +5 -1
  137. package/dist/{pt-DcYhKN01.js → pt-Crvg0eYx.js} +5 -1
  138. package/dist/{pt-PT-DAajD5DI.js → pt-PT-Cb_9ysep.js} +5 -1
  139. package/dist/qe-signature/qe-signature.es.js +3 -3
  140. package/dist/radioGroupComposed-CvLp5FzR.js +1 -0
  141. package/dist/{radioGroupComposed-zFPuAjVe.js → radioGroupComposed-F3KZT9wU.js} +2 -2
  142. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +7 -7
  143. package/dist/{resendTimer-zjZwgWGg.js → resendTimer-Dk_OuJY4.js} +1 -1
  144. package/dist/{resolveApiKey-BBWLeik4.js → resolveApiKey-TTkYo040.js} +18 -18
  145. package/dist/{richText-CYUpc36o.js → richText-BPjLSvr_.js} +1 -1
  146. package/dist/{ro-Bejk1v9i.js → ro-BaBCqOY0.js} +5 -1
  147. package/dist/{ru-KP7UT7ZQ.js → ru-D6FA0Mai.js} +5 -1
  148. package/dist/{ru-RU-CedWTDru.js → ru-RU-D0DG8hcN.js} +5 -1
  149. package/dist/selfie/selfie.es.js +9 -9
  150. package/dist/signature/signature.es.js +6 -6
  151. package/dist/{sk-DZ_6nYfa.js → sk-BZH236jz.js} +8 -4
  152. package/dist/{sl-BthoPfrz.js → sl-NcBodyaq.js} +5 -1
  153. package/dist/{smsTabContent-D7Pbftyw.js → smsTabContent-Bts-X2hg.js} +6 -6
  154. package/dist/{so-CvMd2jGv.js → so-mALb5PIF.js} +5 -1
  155. package/dist/{spacer-CPt4HyL0.js → spacer-BOHKKZQS.js} +1 -1
  156. package/dist/{spinner-CfMsNujU.js → spinner-Bx8ZPiHm.js} +2 -2
  157. package/dist/{sr-Latn-B1BVSu4X.js → sr-Latn-DNNQJ0xN.js} +12 -8
  158. package/dist/{sr-D0reHH_x.js → sr-RbAwlogP.js} +5 -1
  159. package/dist/{sr-YU-D-Y29iGg.js → sr-YU-BXyNH_Bz.js} +5 -1
  160. package/dist/{statusPage-Cid6zFEq.js → statusPage-BRMErqIi.js} +3 -3
  161. package/dist/{sv-SE-DGUEps4k.js → sv-SE-i1fopW4V.js} +5 -1
  162. package/dist/{sw-CQqWEGxr.js → sw-CZwYYTBq.js} +5 -1
  163. package/dist/{tabs-nofQVDZH.js → tabs-Dl0_VwWh.js} +1 -1
  164. package/dist/{th-CHCtn72G.js → th-BwPR5bwC.js} +5 -1
  165. package/dist/{th-TH-CYZLwOUf.js → th-TH-BV10SXDr.js} +5 -1
  166. package/dist/{tl-DlzBzg--.js → tl-CCK8d3_e.js} +5 -1
  167. package/dist/{tl-PH-CDmXEWrc.js → tl-PH-DDKtyCRc.js} +5 -1
  168. package/dist/{tr-CPxhALj2.js → tr-j1GBQw1w.js} +7 -3
  169. package/dist/{tutorial-qTeHmK5f.js → tutorial-Czl-LbZA.js} +10 -10
  170. package/dist/types/ae-signature.d.ts +10 -2
  171. package/dist/types/antifraud.d.ts +10 -2
  172. package/dist/types/authentication.d.ts +10 -2
  173. package/dist/types/certificate-issuance.d.ts +10 -2
  174. package/dist/types/consent.d.ts +10 -2
  175. package/dist/types/cross-document-data-match.d.ts +10 -2
  176. package/dist/types/curp-validation.d.ts +10 -2
  177. package/dist/types/document-capture.d.ts +10 -2
  178. package/dist/types/dynamic-forms.d.ts +10 -2
  179. package/dist/types/ekyb.d.ts +10 -2
  180. package/dist/types/ekyc.d.ts +10 -2
  181. package/dist/types/electronic-signature.d.ts +10 -2
  182. package/dist/types/email.d.ts +10 -2
  183. package/dist/types/extensibility.d.ts +15 -2
  184. package/dist/types/face-match.d.ts +10 -2
  185. package/dist/types/field-comparison.d.ts +10 -2
  186. package/dist/types/fiscal-qr.d.ts +10 -2
  187. package/dist/types/flow.d.ts +10 -2
  188. package/dist/types/geolocation.d.ts +10 -2
  189. package/dist/types/government-validation.d.ts +10 -2
  190. package/dist/types/id-selfie-flow.d.ts +10 -13
  191. package/dist/types/id-verification.d.ts +10 -2
  192. package/dist/types/id.d.ts +10 -2
  193. package/dist/types/identity-reuse.d.ts +10 -2
  194. package/dist/types/phone.d.ts +10 -2
  195. package/dist/types/qe-signature.d.ts +10 -2
  196. package/dist/types/selfie.d.ts +10 -2
  197. package/dist/types/signature.d.ts +10 -2
  198. package/dist/types/video-selfie.d.ts +4 -1
  199. package/dist/types/watchlist.d.ts +10 -2
  200. package/dist/types/workflow.d.ts +10 -2
  201. package/dist/{typography-Bd5_vWx-.js → typography-DlD8BV4O.js} +1 -1
  202. package/dist/{uiConfig-CDrg5a4l.js → uiConfig-l--oejse.js} +83 -83
  203. package/dist/{uk-xyS0IiQT.js → uk-DQ4BZcYy.js} +5 -1
  204. package/dist/{uk-UA-BICmVckA.js → uk-UA-Bo6eVu_r.js} +5 -1
  205. package/dist/{ur-5ji5zzeY.js → ur-CnSGCZqe.js} +5 -1
  206. package/dist/{useCaptureHelpButton-D7viKbWI.js → useCaptureHelpButton-DXnfkutk.js} +4 -4
  207. package/dist/{uz-DXYcYA-2.js → uz-DE-WWaVQ.js} +5 -1
  208. package/dist/{verificationResult-Og71vbzN.js → verificationResult-2eP0SSLa.js} +6 -6
  209. package/dist/{vi-CtRa1sur.js → vi-Cf-VH4l2.js} +5 -1
  210. package/dist/video-selfie/video-selfie.es.js +10 -10
  211. package/dist/watchlist/watchlist.es.js +6 -6
  212. package/dist/{watchlistForBusiness-D_hnbA3-.js → watchlistForBusiness-Dnt4NHG8.js} +8 -8
  213. package/dist/workflow/workflow.es.js +10 -9
  214. package/dist/{zh-CN-DbLERlYY.js → zh-CN-CN89N6NM.js} +6 -2
  215. package/dist/{zh-C3m48BR9.js → zh-CxYqEti3.js} +5 -1
  216. package/dist/{zh-HANT-Cx-orZcq.js → zh-HANT-CEticZ-9.js} +5 -1
  217. package/dist/{zh-TW-CSkhn9XP.js → zh-TW-BjVsMNfE.js} +5 -1
  218. package/package.json +2 -2
  219. package/dist/cameraOverlay-BaWF8SJQ.js +0 -2
  220. package/dist/dateInputComposed-DL1Sy-oV.js +0 -1
  221. package/dist/documentCapture-BwjP0oSt.js +0 -2
  222. package/dist/dropdownComposed-BMGUsBEM.js +0 -1
  223. package/dist/ekybModule-CkgPRkOG.js +0 -2
  224. package/dist/ekycModule-BHctZRnI.js +0 -2
  225. package/dist/faceMatch-DQUlJejg.js +0 -2
  226. package/dist/fieldComparison-BTYIFKdx.js +0 -2
  227. package/dist/inputComposed-DmzpSYEl.js +0 -1
  228. package/dist/pdfViewer-Bd3GuOdX.js +0 -2
  229. package/dist/radioGroupComposed-ReViqCTL.js +0 -1
@@ -19,6 +19,7 @@ import { RefObject } from 'preact';
19
19
  import { RefObject as RefObject_2 } from 'preact/compat';
20
20
  import { SelfieManager } from '@incodetech/core/selfie';
21
21
  import { SelfieState } from '@incodetech/core/selfie';
22
+ import { SessionExpiredError } from '@incodetech/core/session';
22
23
  import { SVGProps } from 'preact/compat';
23
24
  import { TargetedEvent } from 'preact';
24
25
  import { VNode } from 'preact';
@@ -612,7 +613,10 @@ export declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknow
612
613
  */
613
614
  config?: TConfigInput;
614
615
  /**
615
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
616
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
617
+ * Session expiry always stops it to release capture resources, even when
618
+ * supplied by the host. Create a new manager for a replacement session;
619
+ * do not reuse the stopped instance in another mounted module.
616
620
  */
617
621
  manager?: TManager;
618
622
  /**
@@ -632,8 +636,10 @@ export declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknow
632
636
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
633
637
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
634
638
  * branch on the specific terminal error without parsing the message string.
639
+ * @param details - Structured session-expiry error with statusCode 401 and
640
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
635
641
  */
636
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
642
+ onError?: ModuleErrorHandler;
637
643
  };
638
644
 
639
645
  declare type InferState<T> = T extends {
@@ -825,6 +831,8 @@ declare type ModalTitleSectionProps = {
825
831
  align?: 'center' | 'left';
826
832
  };
827
833
 
834
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
835
+
828
836
  export declare const OtpInput: FC<OtpInputProps>;
829
837
 
830
838
  declare type OtpInputProps = {
@@ -1260,6 +1268,11 @@ export declare function useManager<TManager extends {
1260
1268
 
1261
1269
  declare type UseManagerOptions = {
1262
1270
  autoLoad?: boolean;
1271
+ /**
1272
+ * False leaves ordinary lifecycle ownership with the caller. Session expiry
1273
+ * always stops the manager to release capture resources; use a new manager
1274
+ * when mounting a replacement session.
1275
+ */
1263
1276
  manageLifecycle?: boolean;
1264
1277
  };
1265
1278
 
@@ -3,6 +3,7 @@ import { FaceMatchConfig } from '@incodetech/core/face-match';
3
3
  import { FaceMatchManager } from '@incodetech/core/face-match';
4
4
  import { FC } from 'preact/compat';
5
5
  import { FunctionComponent } from 'preact';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -95,7 +96,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
95
96
  */
96
97
  config?: TConfigInput;
97
98
  /**
98
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
99
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
100
+ * Session expiry always stops it to release capture resources, even when
101
+ * supplied by the host. Create a new manager for a replacement session;
102
+ * do not reuse the stopped instance in another mounted module.
99
103
  */
100
104
  manager?: TManager;
101
105
  /**
@@ -115,8 +119,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
115
119
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
116
120
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
117
121
  * branch on the specific terminal error without parsing the message string.
122
+ * @param details - Structured session-expiry error with statusCode 401 and
123
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
118
124
  */
119
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
125
+ onError?: ModuleErrorHandler;
120
126
  };
121
127
 
122
128
  /**
@@ -142,6 +148,8 @@ declare type LottieAnimationData = {
142
148
  h: number;
143
149
  };
144
150
 
151
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
152
+
145
153
  /**
146
154
  * Host-facing loader presentation, settable globally via
147
155
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FieldComparisonConfig } from '@incodetech/core/field-comparison';
4
4
  import { FieldComparisonManager } from '@incodetech/core/field-comparison';
5
5
  import { FunctionComponent } from 'preact';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -92,7 +93,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
92
93
  */
93
94
  config?: TConfigInput;
94
95
  /**
95
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
96
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
97
+ * Session expiry always stops it to release capture resources, even when
98
+ * supplied by the host. Create a new manager for a replacement session;
99
+ * do not reuse the stopped instance in another mounted module.
96
100
  */
97
101
  manager?: TManager;
98
102
  /**
@@ -112,8 +116,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
112
116
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
113
117
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
114
118
  * branch on the specific terminal error without parsing the message string.
119
+ * @param details - Structured session-expiry error with statusCode 401 and
120
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
115
121
  */
116
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
122
+ onError?: ModuleErrorHandler;
117
123
  };
118
124
 
119
125
  /**
@@ -139,6 +145,8 @@ declare type LottieAnimationData = {
139
145
  h: number;
140
146
  };
141
147
 
148
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
149
+
142
150
  /**
143
151
  * Host-facing loader presentation, settable globally via
144
152
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FiscalQrConfig } from '@incodetech/core/fiscal-qr';
4
4
  import { FiscalQrManager } from '@incodetech/core/fiscal-qr';
5
5
  import { FunctionComponent } from 'preact';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -92,7 +93,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
92
93
  */
93
94
  config?: TConfigInput;
94
95
  /**
95
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
96
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
97
+ * Session expiry always stops it to release capture resources, even when
98
+ * supplied by the host. Create a new manager for a replacement session;
99
+ * do not reuse the stopped instance in another mounted module.
96
100
  */
97
101
  manager?: TManager;
98
102
  /**
@@ -112,8 +116,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
112
116
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
113
117
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
114
118
  * branch on the specific terminal error without parsing the message string.
119
+ * @param details - Structured session-expiry error with statusCode 401 and
120
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
115
121
  */
116
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
122
+ onError?: ModuleErrorHandler;
117
123
  };
118
124
 
119
125
  /**
@@ -139,6 +145,8 @@ declare type LottieAnimationData = {
139
145
  h: number;
140
146
  };
141
147
 
148
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
149
+
142
150
  /**
143
151
  * Host-facing loader presentation, settable globally via
144
152
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -4,6 +4,7 @@ import { FinishStatus } from '@incodetech/core/flow';
4
4
  import { FlowEvent } from '@incodetech/core/flow-events';
5
5
  import { FunctionComponent } from 'preact';
6
6
  import { RedirectReturnParams } from '@incodetech/core/id';
7
+ import { SessionExpiredError } from '@incodetech/core/session';
7
8
  import { SVGProps } from 'preact/compat';
8
9
  import { WasmConfig } from '@incodetech/core/wasm';
9
10
 
@@ -184,7 +185,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
184
185
  */
185
186
  config?: TConfigInput;
186
187
  /**
187
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
188
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
189
+ * Session expiry always stops it to release capture resources, even when
190
+ * supplied by the host. Create a new manager for a replacement session;
191
+ * do not reuse the stopped instance in another mounted module.
188
192
  */
189
193
  manager?: TManager;
190
194
  /**
@@ -204,8 +208,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
204
208
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
205
209
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
206
210
  * branch on the specific terminal error without parsing the message string.
211
+ * @param details - Structured session-expiry error with statusCode 401 and
212
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
207
213
  */
208
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
214
+ onError?: ModuleErrorHandler;
209
215
  };
210
216
 
211
217
  /**
@@ -231,6 +237,8 @@ declare type LottieAnimationData = {
231
237
  h: number;
232
238
  };
233
239
 
240
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
241
+
234
242
  /**
235
243
  * Preload runs before the Flow component mounts and only prefetches the flow
236
244
  * config + theme — it never burns a urlUuid. Allowing one would silently skip
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FunctionComponent } from 'preact';
4
4
  import { GeolocationConfig } from '@incodetech/core/geolocation';
5
5
  import { GeolocationManager } from '@incodetech/core/geolocation';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -95,7 +96,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
95
96
  */
96
97
  config?: TConfigInput;
97
98
  /**
98
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
99
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
100
+ * Session expiry always stops it to release capture resources, even when
101
+ * supplied by the host. Create a new manager for a replacement session;
102
+ * do not reuse the stopped instance in another mounted module.
99
103
  */
100
104
  manager?: TManager;
101
105
  /**
@@ -115,8 +119,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
115
119
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
116
120
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
117
121
  * branch on the specific terminal error without parsing the message string.
122
+ * @param details - Structured session-expiry error with statusCode 401 and
123
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
118
124
  */
119
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
125
+ onError?: ModuleErrorHandler;
120
126
  };
121
127
 
122
128
  /**
@@ -142,6 +148,8 @@ declare type LottieAnimationData = {
142
148
  h: number;
143
149
  };
144
150
 
151
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
152
+
145
153
  /**
146
154
  * Host-facing loader presentation, settable globally via
147
155
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FunctionComponent } from 'preact';
4
4
  import { GovernmentValidationConfig } from '@incodetech/core/government-validation';
5
5
  import { GovernmentValidationManager } from '@incodetech/core/government-validation';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -92,7 +93,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
92
93
  */
93
94
  config?: TConfigInput;
94
95
  /**
95
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
96
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
97
+ * Session expiry always stops it to release capture resources, even when
98
+ * supplied by the host. Create a new manager for a replacement session;
99
+ * do not reuse the stopped instance in another mounted module.
96
100
  */
97
101
  manager?: TManager;
98
102
  /**
@@ -112,8 +116,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
112
116
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
113
117
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
114
118
  * branch on the specific terminal error without parsing the message string.
119
+ * @param details - Structured session-expiry error with statusCode 401 and
120
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
115
121
  */
116
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
122
+ onError?: ModuleErrorHandler;
117
123
  };
118
124
 
119
125
  /**
@@ -139,6 +145,8 @@ declare type LottieAnimationData = {
139
145
  h: number;
140
146
  };
141
147
 
148
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
149
+
142
150
  /**
143
151
  * Host-facing loader presentation, settable globally via
144
152
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -2,6 +2,7 @@ import { FC } from 'preact/compat';
2
2
  import { FinishStatus } from '@incodetech/core/flow';
3
3
  import { FunctionComponent } from 'preact';
4
4
  import { IdSelfieFlowConfig } from '@incodetech/core/id-selfie-flow';
5
+ import { SessionExpiredError } from '@incodetech/core/session';
5
6
  import { SVGProps } from 'preact/compat';
6
7
 
7
8
  /**
@@ -54,17 +55,6 @@ declare type AssetOverrides = Partial<Record<AssetKey, AssetOverride>>;
54
55
  */
55
56
  declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
56
57
 
57
- /**
58
- * ID + Selfie flow UI component (PoC). Runs the regular ID + selfie capture
59
- * pipeline behind the Video Selfie continuous-camera UX.
60
- *
61
- * Config is resolved from the active session's FLOW configuration (the same
62
- * dashboard config the regular ID and SELFIE modules read — steps, attempts,
63
- * tutorial, selfie validations); any `config` prop values win over the
64
- * flow-derived ones.
65
- *
66
- * @see {@link createIdSelfieFlowManager} for headless usage.
67
- */
68
58
  export declare const IdSelfieFlow: FC<IdSelfieFlowProps>;
69
59
 
70
60
  /** Props for the {@link IdSelfieFlow} component. */
@@ -104,7 +94,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
104
94
  */
105
95
  config?: TConfigInput;
106
96
  /**
107
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
97
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
98
+ * Session expiry always stops it to release capture resources, even when
99
+ * supplied by the host. Create a new manager for a replacement session;
100
+ * do not reuse the stopped instance in another mounted module.
108
101
  */
109
102
  manager?: TManager;
110
103
  /**
@@ -124,8 +117,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
124
117
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
125
118
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
126
119
  * branch on the specific terminal error without parsing the message string.
120
+ * @param details - Structured session-expiry error with statusCode 401 and
121
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
127
122
  */
128
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
123
+ onError?: ModuleErrorHandler;
129
124
  };
130
125
 
131
126
  /**
@@ -151,6 +146,8 @@ declare type LottieAnimationData = {
151
146
  h: number;
152
147
  };
153
148
 
149
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
150
+
154
151
  /**
155
152
  * Host-facing loader presentation, settable globally via
156
153
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -2,6 +2,7 @@ import { FC } from 'preact/compat';
2
2
  import { FunctionComponent } from 'preact';
3
3
  import { IdVerificationConfig } from '@incodetech/core/id-verification';
4
4
  import { IdVerificationManager } from '@incodetech/core/id-verification';
5
+ import { SessionExpiredError } from '@incodetech/core/session';
5
6
  import { SVGProps } from 'preact/compat';
6
7
 
7
8
  /**
@@ -89,7 +90,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
89
90
  */
90
91
  config?: TConfigInput;
91
92
  /**
92
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
93
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
94
+ * Session expiry always stops it to release capture resources, even when
95
+ * supplied by the host. Create a new manager for a replacement session;
96
+ * do not reuse the stopped instance in another mounted module.
93
97
  */
94
98
  manager?: TManager;
95
99
  /**
@@ -109,8 +113,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
109
113
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
110
114
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
111
115
  * branch on the specific terminal error without parsing the message string.
116
+ * @param details - Structured session-expiry error with statusCode 401 and
117
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
112
118
  */
113
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
119
+ onError?: ModuleErrorHandler;
114
120
  };
115
121
 
116
122
  /**
@@ -136,6 +142,8 @@ declare type LottieAnimationData = {
136
142
  h: number;
137
143
  };
138
144
 
145
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
146
+
139
147
  /**
140
148
  * Host-facing loader presentation, settable globally via
141
149
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FunctionComponent } from 'preact';
4
4
  import { IdCaptureConfig } from '@incodetech/core/id';
5
5
  import { IdCaptureManager } from '@incodetech/core/id';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -92,7 +93,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
92
93
  */
93
94
  config?: TConfigInput;
94
95
  /**
95
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
96
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
97
+ * Session expiry always stops it to release capture resources, even when
98
+ * supplied by the host. Create a new manager for a replacement session;
99
+ * do not reuse the stopped instance in another mounted module.
96
100
  */
97
101
  manager?: TManager;
98
102
  /**
@@ -112,8 +116,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
112
116
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
113
117
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
114
118
  * branch on the specific terminal error without parsing the message string.
119
+ * @param details - Structured session-expiry error with statusCode 401 and
120
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
115
121
  */
116
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
122
+ onError?: ModuleErrorHandler;
117
123
  };
118
124
 
119
125
  /**
@@ -139,6 +145,8 @@ declare type LottieAnimationData = {
139
145
  h: number;
140
146
  };
141
147
 
148
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
149
+
142
150
  /**
143
151
  * Host-facing loader presentation, settable globally via
144
152
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -2,6 +2,7 @@ import { FC } from 'preact/compat';
2
2
  import { FunctionComponent } from 'preact';
3
3
  import { IdentityReuseConfig } from '@incodetech/core/identity-reuse';
4
4
  import { IdentityReuseManager } from '@incodetech/core/identity-reuse';
5
+ import { SessionExpiredError } from '@incodetech/core/session';
5
6
  import { SVGProps } from 'preact/compat';
6
7
 
7
8
  /**
@@ -89,7 +90,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
89
90
  */
90
91
  config?: TConfigInput;
91
92
  /**
92
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
93
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
94
+ * Session expiry always stops it to release capture resources, even when
95
+ * supplied by the host. Create a new manager for a replacement session;
96
+ * do not reuse the stopped instance in another mounted module.
93
97
  */
94
98
  manager?: TManager;
95
99
  /**
@@ -109,8 +113,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
109
113
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
110
114
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
111
115
  * branch on the specific terminal error without parsing the message string.
116
+ * @param details - Structured session-expiry error with statusCode 401 and
117
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
112
118
  */
113
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
119
+ onError?: ModuleErrorHandler;
114
120
  };
115
121
 
116
122
  /**
@@ -136,6 +142,8 @@ declare type LottieAnimationData = {
136
142
  h: number;
137
143
  };
138
144
 
145
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
146
+
139
147
  /**
140
148
  * Host-facing loader presentation, settable globally via
141
149
  * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FunctionComponent } from 'preact';
4
4
  import { PhoneConfig } from '@incodetech/core/phone';
5
5
  import { PhoneManager } from '@incodetech/core/phone';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -86,7 +87,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
86
87
  */
87
88
  config?: TConfigInput;
88
89
  /**
89
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
90
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
91
+ * Session expiry always stops it to release capture resources, even when
92
+ * supplied by the host. Create a new manager for a replacement session;
93
+ * do not reuse the stopped instance in another mounted module.
90
94
  */
91
95
  manager?: TManager;
92
96
  /**
@@ -106,8 +110,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
106
110
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
107
111
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
108
112
  * branch on the specific terminal error without parsing the message string.
113
+ * @param details - Structured session-expiry error with statusCode 401 and
114
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
109
115
  */
110
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
116
+ onError?: ModuleErrorHandler;
111
117
  };
112
118
 
113
119
  /**
@@ -133,6 +139,8 @@ declare type LottieAnimationData = {
133
139
  h: number;
134
140
  };
135
141
 
142
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
143
+
136
144
  export declare const Phone: FC<Omit<PhoneProps, "config"> & {
137
145
  config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
138
146
  }>;
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FunctionComponent } from 'preact';
4
4
  import { QeSignatureConfig } from '@incodetech/core/qe-signature';
5
5
  import { QeSignatureManager } from '@incodetech/core/qe-signature';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -86,7 +87,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
86
87
  */
87
88
  config?: TConfigInput;
88
89
  /**
89
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
90
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
91
+ * Session expiry always stops it to release capture resources, even when
92
+ * supplied by the host. Create a new manager for a replacement session;
93
+ * do not reuse the stopped instance in another mounted module.
90
94
  */
91
95
  manager?: TManager;
92
96
  /**
@@ -106,8 +110,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
106
110
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
107
111
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
108
112
  * branch on the specific terminal error without parsing the message string.
113
+ * @param details - Structured session-expiry error with statusCode 401 and
114
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
109
115
  */
110
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
116
+ onError?: ModuleErrorHandler;
111
117
  };
112
118
 
113
119
  /**
@@ -133,6 +139,8 @@ declare type LottieAnimationData = {
133
139
  h: number;
134
140
  };
135
141
 
142
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
143
+
136
144
  export declare const QeSignature: FC<Omit<QeSignatureModuleProps, "config"> & {
137
145
  config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
138
146
  }>;
@@ -3,6 +3,7 @@ import { FC } from 'preact/compat';
3
3
  import { FunctionComponent } from 'preact';
4
4
  import { SelfieConfig } from '@incodetech/core/selfie';
5
5
  import { SelfieManager } from '@incodetech/core/selfie';
6
+ import { SessionExpiredError } from '@incodetech/core/session';
6
7
  import { SVGProps } from 'preact/compat';
7
8
 
8
9
  /**
@@ -86,7 +87,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
86
87
  */
87
88
  config?: TConfigInput;
88
89
  /**
89
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
90
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
91
+ * Session expiry always stops it to release capture resources, even when
92
+ * supplied by the host. Create a new manager for a replacement session;
93
+ * do not reuse the stopped instance in another mounted module.
90
94
  */
91
95
  manager?: TManager;
92
96
  /**
@@ -106,8 +110,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
106
110
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
107
111
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
108
112
  * branch on the specific terminal error without parsing the message string.
113
+ * @param details - Structured session-expiry error with statusCode 401 and
114
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
109
115
  */
110
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
116
+ onError?: ModuleErrorHandler;
111
117
  };
112
118
 
113
119
  /**
@@ -133,6 +139,8 @@ declare type LottieAnimationData = {
133
139
  h: number;
134
140
  };
135
141
 
142
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
143
+
136
144
  export declare const Selfie: FC<Omit<SelfieProps, "config"> & {
137
145
  config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
138
146
  }>;
@@ -1,6 +1,7 @@
1
1
  import { DeepPartial } from '@incodetech/core/flow';
2
2
  import { FC } from 'preact/compat';
3
3
  import { FunctionComponent } from 'preact';
4
+ import { SessionExpiredError } from '@incodetech/core/session';
4
5
  import { SignatureConfig } from '@incodetech/core/signature';
5
6
  import { SignatureManager } from '@incodetech/core/signature';
6
7
  import { SVGProps } from 'preact/compat';
@@ -86,7 +87,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
86
87
  */
87
88
  config?: TConfigInput;
88
89
  /**
89
- * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
90
+ * Optional pre-built manager. The host owns its ordinary lifecycle.
91
+ * Session expiry always stops it to release capture resources, even when
92
+ * supplied by the host. Create a new manager for a replacement session;
93
+ * do not reuse the stopped instance in another mounted module.
90
94
  */
91
95
  manager?: TManager;
92
96
  /**
@@ -106,8 +110,10 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
106
110
  * @param moduleErrorCode - Optional machine-readable error code (e.g. a
107
111
  * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
108
112
  * branch on the specific terminal error without parsing the message string.
113
+ * @param details - Structured session-expiry error with statusCode 401 and
114
+ * code/type SESSION_EXPIRED. The first three arguments stay compatible.
109
115
  */
110
- onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
116
+ onError?: ModuleErrorHandler;
111
117
  };
112
118
 
113
119
  /**
@@ -133,6 +139,8 @@ declare type LottieAnimationData = {
133
139
  h: number;
134
140
  };
135
141
 
142
+ declare type ModuleErrorHandler = (message: string | undefined, errorCode?: number, moduleErrorCode?: string, details?: SessionExpiredError) => void;
143
+
136
144
  export declare const Signature: FC<Omit<SignatureProps, "config"> & {
137
145
  config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
138
146
  }>;