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

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 (223) hide show
  1. package/dist/{BrowserStorageProvider-BpJM-gIl.esm.js → BrowserStorageProvider-D5xc7Lqo.esm.js} +18 -1
  2. package/dist/{Manager-BHn8wH8K.d.ts → Manager-B2OEDYqf.d.ts} +4 -1
  3. package/dist/{OpenViduRecordingProvider-O4GjBseO.esm.js → OpenViduRecordingProvider-DF7A4ZNJ.esm.js} +1 -1
  4. package/dist/{StreamCanvasCapture-yyl20qd9.d.ts → StreamCanvasCapture-Ctgyx-oD.d.ts} +1 -1
  5. package/dist/{StreamCanvasCapture-ImiDQdVA.esm.js → StreamCanvasCapture-Dr5n_iK1.esm.js} +1 -1
  6. package/dist/{WasmUtilProvider-BKWm8rSA.esm.js → WasmUtilProvider-CIu373BZ.esm.js} +10 -1
  7. package/dist/{addressSearch-DvmWXKZg.esm.js → addressSearch-BH96a3fq.esm.js} +4 -4
  8. package/dist/{ae-signature-BFZta3TZ.esm.js → ae-signature-CDEN8y-w.esm.js} +1 -1
  9. package/dist/ae-signature.d.ts +3 -3
  10. package/dist/ae-signature.esm.js +9 -7
  11. package/dist/antifraud.d.ts +3 -3
  12. package/dist/antifraud.esm.js +6 -6
  13. package/dist/{antifraudManager-CznnhyvD.d.ts → antifraudManager-B7WQTIdu.d.ts} +2 -2
  14. package/dist/antifraudManager-DZifA5zX.esm.js +83 -0
  15. package/dist/{antifraudStateMachine-Ccrb-Jxc.esm.js → antifraudStateMachine-DlKrK2hL.esm.js} +3 -3
  16. package/dist/authentication.d.ts +12 -13
  17. package/dist/authentication.esm.js +27 -27
  18. package/dist/{authenticationManager-BlR6mSaG.esm.js → authenticationManager-BM4LzyV7.esm.js} +17 -8
  19. package/dist/{authenticationManager-CaiQbp-q.d.ts → authenticationManager-Dve7mGLe.d.ts} +13 -3
  20. package/dist/{authenticationStateMachine-DkcGUMw5.esm.js → authenticationStateMachine-Chx3ySdT.esm.js} +20 -23
  21. package/dist/{backCameraStream-D7Wo4Nbx.esm.js → backCameraStream-iftkf3rd.esm.js} +3 -3
  22. package/dist/browser-DlFgHpoC-7tbRR1aR.esm.js +1425 -0
  23. package/dist/{browserSimulation-B1dWiXp7.esm.js → browserSimulation-CGjpdNA1.esm.js} +2 -2
  24. package/dist/camera.d.ts +1 -1
  25. package/dist/camera.esm.js +4 -4
  26. package/dist/certificate-issuance.d.ts +311 -0
  27. package/dist/certificate-issuance.esm.js +73 -0
  28. package/dist/certificateIssuanceStateMachine-CLNXtXaC.esm.js +127 -0
  29. package/dist/consent.d.ts +3 -3
  30. package/dist/consent.esm.js +6 -6
  31. package/dist/{consentManager-Cg5Sk2tv.d.ts → consentManager-BqUGU_YD.d.ts} +52 -52
  32. package/dist/{consentManager-BYo9Nu1r.esm.js → consentManager-psDCeJ0E.esm.js} +29 -5
  33. package/dist/{consentStateMachine-BG3yL8aC.esm.js → consentStateMachine-DRsFFSHE.esm.js} +3 -3
  34. package/dist/cpf-ocr.d.ts +3 -3
  35. package/dist/cpf-ocr.esm.js +6 -6
  36. package/dist/{cpfOcrManager-Dg1s_TY5.d.ts → cpfOcrManager-B2u9hMzd.d.ts} +19 -19
  37. package/dist/{cpfOcrManager-sSKegxox.esm.js → cpfOcrManager-BxcgxvgO.esm.js} +5 -5
  38. package/dist/cross-document-data-match.d.ts +1 -1
  39. package/dist/cross-document-data-match.esm.js +5 -5
  40. package/dist/curp-validation.d.ts +7 -7
  41. package/dist/curp-validation.esm.js +6 -6
  42. package/dist/{curpValidationManager-CFem6zP9.esm.js → curpValidationManager-BgLDw0Ub.esm.js} +51 -5
  43. package/dist/{curpValidationManager-RttixpIc.d.ts → curpValidationManager-Bt6CVD8b.d.ts} +4 -3
  44. package/dist/{curpValidationStateMachine-B7V_qp66.esm.js → curpValidationStateMachine-BK_wJ48C.esm.js} +3 -3
  45. package/dist/custom-fields.d.ts +3 -2
  46. package/dist/custom-fields.esm.js +48 -6
  47. package/dist/custom-watchlist.d.ts +1 -1
  48. package/dist/custom-watchlist.esm.js +26 -6
  49. package/dist/{customWatchlistStateMachine-HmFybXLX.esm.js → customWatchlistStateMachine-Bi4P59HM.esm.js} +3 -3
  50. package/dist/{deepsightLoader-8tnddNx-.esm.js → deepsightLoader-BMmvk0X6.esm.js} +13 -13
  51. package/dist/{deepsightService-Dh5P-hLf.d.ts → deepsightService-ByNKY5Jv.d.ts} +13 -2
  52. package/dist/{deepsightService-CrHmvx8X.esm.js → deepsightService-CEZrdiW0.esm.js} +7 -7
  53. package/dist/device.esm.js +4 -4
  54. package/dist/document-capture.d.ts +177 -177
  55. package/dist/document-capture.esm.js +77 -14
  56. package/dist/document-upload.d.ts +47 -47
  57. package/dist/document-upload.esm.js +9 -9
  58. package/dist/{documentCaptureStateMachine-CUTUzUw_.esm.js → documentCaptureStateMachine-MpwpJO7t.esm.js} +7 -7
  59. package/dist/dynamic-forms.d.ts +2 -2
  60. package/dist/dynamic-forms.esm.js +35 -285
  61. package/dist/dynamicFormsStateMachine-Do84A4uU.esm.js +284 -0
  62. package/dist/ekyb.d.ts +7 -6
  63. package/dist/ekyb.esm.js +59 -17
  64. package/dist/{ekybStateMachine-klc-AImJ.esm.js → ekybStateMachine-nsuPOw3f.esm.js} +5 -5
  65. package/dist/ekyc.d.ts +4 -3
  66. package/dist/ekyc.esm.js +54 -9
  67. package/dist/{ekycStateMachine-CXbpaJJn.esm.js → ekycStateMachine-DcynX0rj.esm.js} +5 -5
  68. package/dist/electronic-signature.d.ts +3 -3
  69. package/dist/electronic-signature.esm.js +8 -6
  70. package/dist/{electronicSignatureManager-BaECdJ1u.esm.js → electronicSignatureManager-B63aAuI5.esm.js} +103 -23
  71. package/dist/email.d.ts +4 -4
  72. package/dist/email.esm.js +8 -8
  73. package/dist/{emailManager-lAzDoQOs.d.ts → emailManager-C6D2u4mQ.d.ts} +4 -3
  74. package/dist/{emailManager--D5G3ChB.esm.js → emailManager-DxHjAe5u.esm.js} +46 -6
  75. package/dist/{emailStateMachine-CxTOMAjC.esm.js → emailStateMachine-758f34gg.esm.js} +5 -5
  76. package/dist/{endpoints-BeTK0Mlt.esm.js → endpoints-BM2_j_IE.esm.js} +2 -0
  77. package/dist/{events-Dvvriq9l.esm.js → events-DN-u67gb.esm.js} +110 -43
  78. package/dist/events.d.ts +21 -16
  79. package/dist/events.esm.js +2 -2
  80. package/dist/extensibility.d.ts +25 -26
  81. package/dist/extensibility.esm.js +58 -56
  82. package/dist/externalFetch-crimxkN9.esm.js +22 -0
  83. package/dist/face-match.d.ts +1 -1
  84. package/dist/face-match.esm.js +5 -5
  85. package/dist/{faceCaptureManagerFactory-ej2j1LMr.esm.js → faceCaptureManagerFactory-BNXZchWX.esm.js} +94 -13
  86. package/dist/{faceCaptureManagerFactory-CjdBUS6s.d.ts → faceCaptureManagerFactory-CL-7T_vH.d.ts} +20 -10
  87. package/dist/{faceCaptureSetup-B9t6bYze.esm.js → faceCaptureSetup-Dqb09D24.esm.js} +7 -7
  88. package/dist/{faceMatchStateMachine-DeXXzSuz.esm.js → faceMatchStateMachine-FikRaUZH.esm.js} +3 -3
  89. package/dist/field-comparison.d.ts +3 -3
  90. package/dist/field-comparison.esm.js +5 -5
  91. package/dist/{fieldComparisonManager-Bu5TaSr3.d.ts → fieldComparisonManager-BXc6-DJv.d.ts} +2 -2
  92. package/dist/{fieldComparisonManager-COGI2ARD.esm.js → fieldComparisonManager-Dic0DVgl.esm.js} +4 -4
  93. package/dist/fiscal-qr.d.ts +3 -3
  94. package/dist/fiscal-qr.esm.js +12 -12
  95. package/dist/flow-events.d.ts +6 -6
  96. package/dist/flow.d.ts +25 -15
  97. package/dist/flow.esm.js +43 -29
  98. package/dist/{flowCompletionService-BdR2cGgB.d.ts → flowCompletionService-CdGDKv0z.d.ts} +9 -1
  99. package/dist/flowCompletionService-D_CsiDZM.esm.js +42 -0
  100. package/dist/{flowServices-ChgTNggJ.esm.js → flowServices-ar5DXv71.esm.js} +4 -4
  101. package/dist/geolocation.d.ts +3 -2
  102. package/dist/geolocation.esm.js +35 -7
  103. package/dist/{geolocationStateMachine-Dvh7X0wF.esm.js → geolocationStateMachine-BWjrMGS_.esm.js} +4 -4
  104. package/dist/{getDeviceClass-C8Do2qYu.esm.js → getDeviceClass-rXKlXywy.esm.js} +1 -1
  105. package/dist/government-validation.d.ts +3 -3
  106. package/dist/government-validation.esm.js +42 -8
  107. package/dist/{governmentValidationStateMachine-DcJ-BfsC.esm.js → governmentValidationStateMachine-BoF7U1of.esm.js} +5 -5
  108. package/dist/home.d.ts +15 -15
  109. package/dist/home.esm.js +4 -4
  110. package/dist/http.d.ts +1 -0
  111. package/dist/http.esm.js +2 -2
  112. package/dist/id-ocr.d.ts +57 -57
  113. package/dist/id-ocr.esm.js +6 -6
  114. package/dist/id-verification.d.ts +27 -27
  115. package/dist/id-verification.esm.js +5 -5
  116. package/dist/id.d.ts +19 -13
  117. package/dist/id.esm.js +41 -33
  118. package/dist/{idCaptureManager-D3pwWutw.esm.js → idCaptureManager-Bm6Wm6Qv.esm.js} +91 -9
  119. package/dist/{idCaptureManager-ChCNmgBj.d.ts → idCaptureManager-BvGUSN2e.d.ts} +14 -9
  120. package/dist/{idCaptureStateMachine-B3AiDIsT.esm.js → idCaptureStateMachine-D1YhOj6n.esm.js} +155 -82
  121. package/dist/{idOcrStateMachine-CDQ5d_VM.esm.js → idOcrStateMachine-YMCDGplq.esm.js} +5 -5
  122. package/dist/{idVerificationStateMachine-kRxwImzO.esm.js → idVerificationStateMachine-Bo1IYuZH.esm.js} +3 -3
  123. package/dist/identity-reuse.d.ts +3 -3
  124. package/dist/identity-reuse.esm.js +6 -6
  125. package/dist/{identityReuseManager-C6n_97dw.esm.js → identityReuseManager-D0knIrOy.esm.js} +3 -3
  126. package/dist/{identityReuseManager-Cww-NDtd.d.ts → identityReuseManager-DcWSvC-A.d.ts} +33 -33
  127. package/dist/{identityReuseStateMachine-BfE5YiEr.esm.js → identityReuseStateMachine-CSQfZOqD.esm.js} +3 -3
  128. package/dist/index-52_qi4bd.d.ts +93 -0
  129. package/dist/{index-B5hPA0Bg.d.ts → index-BgxYUYuD.d.ts} +2 -2
  130. package/dist/{index-B9NysVDB.d.ts → index-DV134v62.d.ts} +169 -169
  131. package/dist/index.d.ts +3 -2
  132. package/dist/index.esm.js +13 -12
  133. package/dist/{invokeOnCaptureCallback-ygByVdnn.esm.js → invokeOnCaptureCallback-Dzemudhk.esm.js} +1 -1
  134. package/dist/{lib-BY67lgbq.esm.js → lib-7ZQ9BdKH.esm.js} +1 -1
  135. package/dist/mandatory-consent.d.ts +7 -7
  136. package/dist/mandatory-consent.esm.js +6 -6
  137. package/dist/{mandatoryConsentManager-H6D18cZB.esm.js → mandatoryConsentManager-Lon46nPQ.esm.js} +3 -3
  138. package/dist/{mandatoryConsentManager-Dq6WiOZh.d.ts → mandatoryConsentManager-Tzl5Qd35.d.ts} +50 -50
  139. package/dist/{mandatoryConsentStateMachine-DtQNW1ji.esm.js → mandatoryConsentStateMachine-D_dZ7IF6.esm.js} +3 -3
  140. package/dist/openviduLazy-B_s6jnEk.esm.js +3 -0
  141. package/dist/{openviduLazy-Dh14JNJc.esm.js → openviduLazy-oAXXI9w_.esm.js} +2 -2
  142. package/dist/{permissionGuards-D0wGddy7.esm.js → permissionGuards-D-Z-lgNj.esm.js} +1 -1
  143. package/dist/{permissionServices-Doec4X5L.esm.js → permissionServices-CPDboRoE.esm.js} +3 -3
  144. package/dist/phone.d.ts +4 -4
  145. package/dist/phone.esm.js +8 -8
  146. package/dist/{phoneManager-BmF-0Ez4.esm.js → phoneManager-Blt4Oc2P.esm.js} +47 -6
  147. package/dist/{phoneManager-fPmIBYQK.d.ts → phoneManager-TSq1Ief6.d.ts} +4 -3
  148. package/dist/{phoneStateMachine-BiV0yoEx.esm.js → phoneStateMachine-W3c6Z8sj.esm.js} +5 -5
  149. package/dist/{qe-signature-CUYPcHVo.esm.js → qe-signature-CQLK6LKE.esm.js} +1 -1
  150. package/dist/qe-signature.d.ts +3 -3
  151. package/dist/qe-signature.esm.js +9 -7
  152. package/dist/{recordingService-yRw7hfzU.esm.js → recordingService-CxMJP4tQ.esm.js} +15 -15
  153. package/dist/redirect-to-mobile.d.ts +3 -3
  154. package/dist/redirect-to-mobile.esm.js +8 -7
  155. package/dist/{redirectToMobileManager-Dy3t7o0C.esm.js → redirectToMobileManager-DCvpKdkD.esm.js} +4 -4
  156. package/dist/{redirectToMobileManager-BNe3IzC_.d.ts → redirectToMobileManager-yOHAmwg-.d.ts} +2 -2
  157. package/dist/{redirectToMobileStateMachine-DyAdRxfP.esm.js → redirectToMobileStateMachine-DC9z4Vfu.esm.js} +11 -21
  158. package/dist/{runChildModule-CuoHZ1cx.esm.js → runChildModule-C9G0wfVC.esm.js} +14 -24
  159. package/dist/selfie.d.ts +20 -14
  160. package/dist/selfie.esm.js +37 -30
  161. package/dist/{selfieManager-BNuTIGAz.esm.js → selfieManager-BRL6c_Oc.esm.js} +17 -8
  162. package/dist/{selfieManager-C2y_t6DG.d.ts → selfieManager-imY2dAcH.d.ts} +13 -3
  163. package/dist/{selfieStateMachine-Bv99bZJE.esm.js → selfieStateMachine-D2Q0uwDK.esm.js} +4 -4
  164. package/dist/{session-DoVb-OcB.esm.js → session-Be_IA1e0.esm.js} +3 -3
  165. package/dist/session.d.ts +9 -8
  166. package/dist/session.esm.js +14 -12
  167. package/dist/{sessionInitializer-DRB-hgbV.esm.js → sessionInitializer-CaiGA8GP.esm.js} +13 -10
  168. package/dist/{setup-BwCluiw3.d.ts → setup-BJZAkajt.d.ts} +47 -1
  169. package/dist/{setup-CUO4mErT.esm.js → setup-C7tintPc.esm.js} +34 -7
  170. package/dist/signature.d.ts +3 -2
  171. package/dist/signature.esm.js +48 -6
  172. package/dist/{signatureStateMachine-C5qqYLRz.esm.js → signatureStateMachine-DAxXmMrk.esm.js} +21 -39
  173. package/dist/{stats-BMNUG1AU.esm.js → stats-DntyIiGr.esm.js} +2 -2
  174. package/dist/stats.esm.js +3 -3
  175. package/dist/tri-CtxWthxz.esm.js +389 -0
  176. package/dist/tri.d.ts +2 -0
  177. package/dist/tri.esm-CrWAulDi.esm.js +2589 -0
  178. package/dist/tri.esm.js +4 -0
  179. package/dist/trust-graph.d.ts +3 -3
  180. package/dist/trust-graph.esm.js +3 -3
  181. package/dist/{types-DsnEVMhr.esm.js → types-BdVOWGGW.esm.js} +2 -1
  182. package/dist/{types-NuT8ftBV.d.ts → types-DpTWgfKY.d.ts} +2 -1
  183. package/dist/{types-DOUhndhT.d.ts → types-Dv-9WPJX.d.ts} +2 -2
  184. package/dist/{types-Bj9hdFjU.d.ts → types-Z9wv19v2.d.ts} +1 -1
  185. package/dist/urlUtils-8RNHyW3x.esm.js +16 -0
  186. package/dist/wasm.d.ts +3 -2
  187. package/dist/wasm.esm.js +13 -12
  188. package/dist/watchlist-for-business.d.ts +1 -1
  189. package/dist/watchlist-for-business.esm.js +29 -7
  190. package/dist/watchlist.d.ts +1 -1
  191. package/dist/watchlist.esm.js +27 -6
  192. package/dist/{watchlistForBusinessStateMachine-DMl8j2Ov.esm.js → watchlistForBusinessStateMachine-DtefJb-D.esm.js} +3 -3
  193. package/dist/{watchlistStateMachine-DmQlqI6L.esm.js → watchlistStateMachine-B0aIS2_n.esm.js} +3 -3
  194. package/dist/workflow.d.ts +161 -100
  195. package/dist/workflow.esm.js +85 -66
  196. package/dist/{xstate.esm-C9wncMQa.esm.js → xstate.esm-Dkm1jy5u.esm.js} +13 -4
  197. package/package.json +11 -1
  198. package/dist/StateMachine-BC_nGvrc.d.ts +0 -2
  199. package/dist/antifraudManager-CkV4u-LE.esm.js +0 -55
  200. package/dist/flowCompletionService-DdGojV9K.esm.js +0 -20
  201. package/dist/openviduLazy-B8L--0oe.esm.js +0 -3
  202. /package/dist/{Actor-Y0_Fj-KL.d.ts → Actor-fIPLXfoi.d.ts} +0 -0
  203. /package/dist/{BrowserTimerProvider-DhNc_x02.esm.js → BrowserTimerProvider-BVgutW_b.esm.js} +0 -0
  204. /package/dist/{ITimerCapability-CB0I1Uf2.esm.js → ITimerCapability-BvH0pDwp.esm.js} +0 -0
  205. /package/dist/{IpifyProvider-D4LWD15E.esm.js → IpifyProvider-oZf7Ke1O.esm.js} +0 -0
  206. /package/dist/{MotionSensorProvider-Bx7Mpzt0.esm.js → MotionSensorProvider-C9fPAJdS.esm.js} +0 -0
  207. /package/dist/{api-CESGtpbH.esm.js → api-DUZwyz0o.esm.js} +0 -0
  208. /package/dist/{apiError-B-j-gyDx.esm.js → apiError-D-GTvFrH.esm.js} +0 -0
  209. /package/dist/{camera-SRBpPq2X.d.ts → camera-biGPWlmx.d.ts} +0 -0
  210. /package/dist/{camera-DJWm3V4g.esm.js → camera-x4LjGTjZ.esm.js} +0 -0
  211. /package/dist/{canvas-SKcRBxsk.esm.js → canvas-7uX2izHb.esm.js} +0 -0
  212. /package/dist/{chunk-CMUKZ2uL.esm.js → chunk-BK1xu56N.esm.js} +0 -0
  213. /package/dist/{cpf-BRzggV8G.esm.js → cpf-xBg-DFNn.esm.js} +0 -0
  214. /package/dist/{dateUtils-AksLQmgV.esm.js → dateUtils-8dCcuArE.esm.js} +0 -0
  215. /package/dist/{getBrowser-C8DP7oTB.esm.js → getBrowser-Dv8LZyHE.esm.js} +0 -0
  216. /package/dist/{getDeviceClass-C0olyNFS.esm.js → getDeviceClass-C0zrM97a.esm.js} +0 -0
  217. /package/dist/{http-Cai3IoLS.esm.js → http-CfVTgMfU.esm.js} +0 -0
  218. /package/dist/{otp-DF5A0sFx.d.ts → otp-BHJnjEEc.d.ts} +0 -0
  219. /package/dist/{otp-CGMdUzBC.esm.js → otp-D87RTwrx.esm.js} +0 -0
  220. /package/dist/{platform-SKvEfCBh.esm.js → platform-BfoqeM61.esm.js} +0 -0
  221. /package/dist/{types-DvGZI7BF.d.ts → types-DYZja-k9.d.ts} +0 -0
  222. /package/dist/{types-ya0LN_MX.d.ts → types-F0IXbaCB.d.ts} +0 -0
  223. /package/dist/{warmup-Dg8Lh-50.d.ts → warmup--6HA3yUR.d.ts} +0 -0
@@ -1,10 +1,11 @@
1
- import { a as WasmWebClientError, c as setWebApiHttpTransport, f as deriveSiblingJsPath, l as setupWasmConnection, o as executeWasmRequest, r as warmupWasm, s as initializeWasmWebClient, t as WasmUtilProvider } from "./WasmUtilProvider-BKWm8rSA.esm.js";
2
- import { t as BrowserTimerProvider } from "./BrowserTimerProvider-DhNc_x02.esm.js";
3
- import { a as resetApi, i as isApiConfigured, n as getApi, o as setClient, r as getToken, t as api } from "./api-CESGtpbH.esm.js";
4
- import { _ as resetAnalyticsBatcher, g as getAnalyticsBatcher, m as createAnalyticsBatchingService, v as setAnalyticsBatcher } from "./events-Dvvriq9l.esm.js";
5
- import { t as endpoints } from "./endpoints-BeTK0Mlt.esm.js";
6
- import { r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-BMNUG1AU.esm.js";
7
- import { a as setClientIpLookupEnabled, i as resetSessionInit, r as initializeSession } from "./sessionInitializer-DRB-hgbV.esm.js";
1
+ import { a as WasmWebClientError, c as setWebApiHttpTransport, f as deriveSiblingJsPath, l as setupWasmConnection, o as executeWasmRequest, r as warmupWasm, s as initializeWasmWebClient, t as WasmUtilProvider } from "./WasmUtilProvider-CIu373BZ.esm.js";
2
+ import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BVgutW_b.esm.js";
3
+ import { a as resetApi, i as isApiConfigured, n as getApi, o as setClient, r as getToken, t as api } from "./api-DUZwyz0o.esm.js";
4
+ import { _ as getAnalyticsBatcher, h as createAnalyticsBatchingService, v as resetAnalyticsBatcher, y as setAnalyticsBatcher } from "./events-DN-u67gb.esm.js";
5
+ import { t as endpoints } from "./endpoints-BM2_j_IE.esm.js";
6
+ import { r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-DntyIiGr.esm.js";
7
+ import { a as setClientIpLookupEnabled, i as resetSessionInit, r as initializeSession } from "./sessionInitializer-CaiGA8GP.esm.js";
8
+ import { a as resetTRI, n as initializeTRI, o as resetTRIProviderInstance } from "./tri-CtxWthxz.esm.js";
8
9
 
9
10
  //#region ../infra/src/wasm/wasmDefaults.ts
10
11
  const WASM_CDN_BASE_URL = "https://cdn.incodesmile.com/ml-wasm-kit-release";
@@ -922,6 +923,29 @@ let configured = false;
922
923
  * devMode: true, // skip the devtools detector (don't ship this in prod)
923
924
  * });
924
925
  * ```
926
+ * @example Enable TRI — exchange the API key for an SDK token first, then pass it to setup
927
+ * ```ts
928
+ * const session = await createTRISession(process.env.INCODE_API_KEY, {
929
+ * apiURL: process.env.INCODE_TRI_API_URL,
930
+ * });
931
+ *
932
+ * await setup({
933
+ * apiURL: 'https://api.incode.com',
934
+ * tri: { token: session.token, apiURL: process.env.INCODE_TRI_API_URL },
935
+ * });
936
+ * ```
937
+ *
938
+ * @example Defer TRI collection until after a consent gate
939
+ * ```ts
940
+ * // Boot without starting collectors:
941
+ * await setup({
942
+ * apiURL: 'https://api.incode.com',
943
+ * tri: { token: session.token, apiURL: process.env.INCODE_TRI_API_URL, autostart: false },
944
+ * });
945
+ *
946
+ * // somewhere else in the code
947
+ * await startTRI();
948
+ * ```
925
949
  */
926
950
  async function setup(options) {
927
951
  if (options.ipLookup !== void 0) setClientIpLookupEnabled(options.ipLookup);
@@ -963,6 +987,7 @@ async function setup(options) {
963
987
  await provider.setProductionMode(!showWasmLogs);
964
988
  if (!options.devMode) startDevtoolsDetector();
965
989
  }
990
+ if (options.tri) await initializeTRI(options.tri, { sessionToken: options.token });
966
991
  }
967
992
  /**
968
993
  * Sets the WASM configuration without performing warmup.
@@ -1028,9 +1053,11 @@ function reset() {
1028
1053
  setClientIpLookupEnabled(true);
1029
1054
  resetAnalyticsBatcher();
1030
1055
  resetHttpClientState();
1056
+ resetTRI();
1031
1057
  configured = false;
1032
1058
  wasmConfig = void 0;
1033
1059
  WasmUtilProvider.resetInstance();
1060
+ resetTRIProviderInstance();
1034
1061
  }
1035
1062
 
1036
1063
  //#endregion
@@ -1,5 +1,5 @@
1
- import { t as Manager } from "./Manager-BHn8wH8K.js";
2
- import "./Actor-Y0_Fj-KL.js";
1
+ import { t as Manager } from "./Manager-B2OEDYqf.js";
2
+ import "./Actor-fIPLXfoi.js";
3
3
 
4
4
  //#region src/modules/signature/types.d.ts
5
5
  /**
@@ -59,6 +59,7 @@ type CreateSignatureActorOptions = {
59
59
  };
60
60
  //#endregion
61
61
  //#region src/modules/signature/signatureManager.d.ts
62
+
62
63
  type SignatureIdleState = {
63
64
  status: 'idle';
64
65
  };
@@ -1,8 +1,8 @@
1
- import "./api-CESGtpbH.esm.js";
2
- import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-Dvvriq9l.esm.js";
3
- import "./endpoints-BeTK0Mlt.esm.js";
4
- import { c as createManager, s as createActor } from "./xstate.esm-C9wncMQa.esm.js";
5
- import { t as signatureMachine } from "./signatureStateMachine-C5qqYLRz.esm.js";
1
+ import "./api-DUZwyz0o.esm.js";
2
+ import { n as eventModuleNames, o as topLevelStateName, s as createManagerInstrumentation } from "./events-DN-u67gb.esm.js";
3
+ import "./endpoints-BM2_j_IE.esm.js";
4
+ import { c as createManager, s as createActor } from "./xstate.esm-Dkm1jy5u.esm.js";
5
+ import { t as signatureMachine } from "./signatureStateMachine-DAxXmMrk.esm.js";
6
6
 
7
7
  //#region src/modules/signature/signatureActor.ts
8
8
  function createSignatureActor(options) {
@@ -11,6 +11,48 @@ function createSignatureActor(options) {
11
11
 
12
12
  //#endregion
13
13
  //#region src/modules/signature/signatureManager.ts
14
+ /**
15
+ * Maps a signature state-machine snapshot to the exact Figma "Tracked
16
+ * Events" screen name. Returned strings are the Figma-verbatim absolute
17
+ * analytics path (module prefix included), emitted as-is on `event.screen`
18
+ * by `createManagerInstrumentation`'s `getEventScreenName` path. See
19
+ * `docs/patterns/INSTRUMENTATION.md`.
20
+ *
21
+ * Source of truth: Electronic Signature Figma file → Tracked Events canvas
22
+ * (`https://www.figma.com/design/kUsDigsC8Mq1WobTewF0R6/Electronic-Signature---Latest-Design?node-id=4268-3602`).
23
+ * Section names are taken as canonical — note the canvas mixes
24
+ * `eSign.writeSignature.*` for the `default`/`completed` screens with
25
+ * `eSign.writeYourSignature.success` (without the `Signature` collapse) for
26
+ * the success surface; both spellings are preserved verbatim.
27
+ *
28
+ * State → screen mapping rationale:
29
+ *
30
+ * - `idle`/`captureSignature` collapse to `eSign.writeSignature.default` —
31
+ * the state machine stays in `captureSignature` throughout drawing (stroke
32
+ * validity changes via `SIGNATURE_CHANGED` are context-only and don't fire
33
+ * a new `screenOpened`). The `eSign.writeSignature.completed` Figma surface
34
+ * is therefore the post-submit "signed canvas while we wait for the API"
35
+ * surface, mapped to `submittingSignature`.
36
+ * - `success`/`finished` both map to `eSign.writeYourSignature.success` so
37
+ * the terminal `finished` state stays on the visible success canvas rather
38
+ * than falling back to the generic `<module>.finished` default.
39
+ * - `error` is intentionally unmapped — the Figma canvas does not define a
40
+ * dedicated error screen yet. The adapter falls back to the generic
41
+ * `eSign.error` default, which `errorTriggered` consumers can still
42
+ * correlate against the error payload.
43
+ */
44
+ function getSignatureScreenName(snapshot) {
45
+ const stateName = topLevelStateName(snapshot.value);
46
+ if (stateName === void 0) return void 0;
47
+ switch (stateName) {
48
+ case "idle":
49
+ case "captureSignature": return "eSign.writeSignature.default";
50
+ case "submittingSignature": return "eSign.writeSignature.completed";
51
+ case "success":
52
+ case "finished": return "eSign.writeYourSignature.success";
53
+ default: return;
54
+ }
55
+ }
14
56
  function mapState(snapshot) {
15
57
  const typedSnapshot = snapshot;
16
58
  const { context } = typedSnapshot;
@@ -58,7 +100,7 @@ function createSignatureManager(options) {
58
100
  actor: createSignatureActor(options),
59
101
  mapState,
60
102
  createApi,
61
- instrumentation: createManagerInstrumentation(eventModuleNames.signature)
103
+ instrumentation: createManagerInstrumentation(eventModuleNames.signature, { getEventScreenName: getSignatureScreenName })
62
104
  });
63
105
  }
64
106
 
@@ -1,7 +1,6 @@
1
- import { t as api } from "./api-CESGtpbH.esm.js";
2
- import { h as addEvent, n as eventModuleNames, r as eventScreenNames } from "./events-Dvvriq9l.esm.js";
3
- import { t as endpoints } from "./endpoints-BeTK0Mlt.esm.js";
4
- import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-C9wncMQa.esm.js";
1
+ import { t as api } from "./api-DUZwyz0o.esm.js";
2
+ import { t as endpoints } from "./endpoints-BM2_j_IE.esm.js";
3
+ import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-Dkm1jy5u.esm.js";
5
4
 
6
5
  //#region src/modules/signature/signatureServices.ts
7
6
  /**
@@ -68,21 +67,7 @@ const signatureMachine = setup({
68
67
  isValid: () => false,
69
68
  image: () => void 0,
70
69
  error: () => void 0
71
- }),
72
- trackSubmitAttempt: () => {
73
- addEvent({
74
- code: "continue",
75
- module: eventModuleNames.signature,
76
- screen: eventScreenNames.signatureInput
77
- });
78
- },
79
- trackError: ({ context }) => {
80
- addEvent({
81
- code: "verificationError",
82
- module: eventModuleNames.signature,
83
- payload: context.error ? { error: context.error } : void 0
84
- });
85
- }
70
+ })
86
71
  },
87
72
  guards: { canContinue: ({ context, event }) => context.isValid && event.type === "CONTINUE" && !!event.image }
88
73
  }).createMachine({
@@ -102,29 +87,26 @@ const signatureMachine = setup({
102
87
  actions: "assignImageForSubmit"
103
88
  }
104
89
  } },
105
- submittingSignature: {
106
- entry: "trackSubmitAttempt",
107
- invoke: {
108
- id: "submitSignature",
109
- src: "submitSignature",
110
- input: ({ context }) => ({
111
- image: context.image,
112
- type: context.config.type,
113
- sendBase64: context.config.sendBase64 ?? false
114
- }),
115
- onDone: {
116
- target: "success",
117
- actions: "setSignatureSubmitResult"
118
- },
119
- onError: {
120
- target: "error",
121
- actions: "setErrorFromInvoke"
122
- }
90
+ submittingSignature: { invoke: {
91
+ id: "submitSignature",
92
+ src: "submitSignature",
93
+ input: ({ context }) => ({
94
+ image: context.image,
95
+ type: context.config.type,
96
+ sendBase64: context.config.sendBase64 ?? false
97
+ }),
98
+ onDone: {
99
+ target: "success",
100
+ actions: "setSignatureSubmitResult"
101
+ },
102
+ onError: {
103
+ target: "error",
104
+ actions: "setErrorFromInvoke"
123
105
  }
124
- },
106
+ } },
125
107
  success: { after: { 3e3: "finished" } },
126
108
  finished: { type: "final" },
127
- error: { entry: "trackError" }
109
+ error: {}
128
110
  }
129
111
  });
130
112
 
@@ -1,5 +1,5 @@
1
- import { r as getToken, t as api } from "./api-CESGtpbH.esm.js";
2
- import { t as endpoints } from "./endpoints-BeTK0Mlt.esm.js";
1
+ import { r as getToken, t as api } from "./api-DUZwyz0o.esm.js";
2
+ import { t as endpoints } from "./endpoints-BM2_j_IE.esm.js";
3
3
 
4
4
  //#region src/modules/stats/statsServices.ts
5
5
  const deviceStatsQueue = [];
package/dist/stats.esm.js CHANGED
@@ -1,5 +1,5 @@
1
- import "./api-CESGtpbH.esm.js";
2
- import "./endpoints-BeTK0Mlt.esm.js";
3
- import { n as flushDeviceStatsQueue, r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-BMNUG1AU.esm.js";
1
+ import "./api-DUZwyz0o.esm.js";
2
+ import "./endpoints-BM2_j_IE.esm.js";
3
+ import { n as flushDeviceStatsQueue, r as resetDeviceStatsQueue, t as addDeviceStats } from "./stats-DntyIiGr.esm.js";
4
4
 
5
5
  export { addDeviceStats, flushDeviceStatsQueue, resetDeviceStatsQueue };
@@ -0,0 +1,389 @@
1
+ import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BVgutW_b.esm.js";
2
+
3
+ //#region ../infra/src/providers/browser/BrowserLazyImportProvider.ts
4
+ /**
5
+ * Per-module {@link LazyImport} handle.
6
+ *
7
+ * Encapsulates the caching, deduplication, and optional-timeout logic for a
8
+ * single lazily-imported module:
9
+ * - Caches the resolved module (via a dedicated `loaded` flag, so a module
10
+ * that legitimately resolves `undefined` is still cached) and returns it
11
+ * immediately on subsequent calls.
12
+ * - Deduplicates concurrent `load()` calls behind a single in-flight promise.
13
+ * - Optionally races the dynamic import against a configurable timeout (ms).
14
+ * - On timeout or import error: emits a `console.warn`, clears the in-flight
15
+ * promise so the next `load()` call retries, and resolves `undefined`.
16
+ *
17
+ * An attempt-generation token (`attempt`) guards against a stale import
18
+ * mutating state after it has been superseded: when a load times out (or the
19
+ * handle is `reset()`), the token is bumped so the still-pending import can no
20
+ * longer write to `cachedValue` / `loaded`.
21
+ */
22
+ var LazyImportHandle = class {
23
+ constructor(_loader, _options, _timer) {
24
+ this._loader = _loader;
25
+ this._options = _options;
26
+ this._timer = _timer;
27
+ this._loaded = false;
28
+ this._attempt = 0;
29
+ }
30
+ get() {
31
+ return this._cachedValue;
32
+ }
33
+ load() {
34
+ if (this._loaded) return Promise.resolve(this._cachedValue);
35
+ if (!this._inFlight) this._inFlight = this.startLoad();
36
+ return this._inFlight;
37
+ }
38
+ reset() {
39
+ this._cachedValue = void 0;
40
+ this._loaded = false;
41
+ this._inFlight = void 0;
42
+ this._attempt++;
43
+ }
44
+ startLoad() {
45
+ const attempt = ++this._attempt;
46
+ const { timeoutMs } = this._options;
47
+ let loaderResult;
48
+ try {
49
+ loaderResult = this._loader();
50
+ } catch (err) {
51
+ loaderResult = Promise.reject(err);
52
+ }
53
+ const loadPromise = loaderResult.then((value) => {
54
+ if (attempt === this._attempt) {
55
+ this._cachedValue = value;
56
+ this._loaded = true;
57
+ }
58
+ return value;
59
+ }, (err) => {
60
+ if (attempt === this._attempt) {
61
+ this.warnFailure(err);
62
+ this._inFlight = void 0;
63
+ }
64
+ });
65
+ if (timeoutMs === void 0) return loadPromise;
66
+ let timeoutHandle;
67
+ const timeoutPromise = new Promise((resolve) => {
68
+ timeoutHandle = this._timer.setTimeout(() => {
69
+ if (attempt === this._attempt) {
70
+ this.warnTimeout(timeoutMs);
71
+ this._inFlight = void 0;
72
+ this._attempt++;
73
+ }
74
+ resolve(void 0);
75
+ }, timeoutMs);
76
+ });
77
+ return Promise.race([loadPromise, timeoutPromise]).finally(() => {
78
+ if (timeoutHandle !== void 0) this._timer.clearTimeout(timeoutHandle);
79
+ });
80
+ }
81
+ warnFailure(err) {
82
+ const { label, moduleName } = this._options;
83
+ console.warn(`[${label}] Failed to load ${moduleName}; ${this.fallback()}`, err);
84
+ }
85
+ warnTimeout(timeoutMs) {
86
+ const { label, moduleName } = this._options;
87
+ console.warn(`[${label}] ${moduleName} failed to load within ${timeoutMs / 1e3}s; ${this.fallback()}`);
88
+ }
89
+ fallback() {
90
+ return this._options.disabledMessage ?? "module will be unavailable.";
91
+ }
92
+ };
93
+ /**
94
+ * Concrete implementation of {@link ILazyImportCapability}.
95
+ *
96
+ * `create()` returns a per-module {@link LazyImportHandle}. The
97
+ * {@link ITimerCapability} is injected so tests can replace the real
98
+ * `setTimeout`/`clearTimeout` with a controllable fake.
99
+ */
100
+ var BrowserLazyImportProvider = class BrowserLazyImportProvider {
101
+ constructor(timer) {
102
+ this._timer = timer ?? BrowserTimerProvider.getInstance();
103
+ }
104
+ static getInstance() {
105
+ return this._instance ??= new BrowserLazyImportProvider();
106
+ }
107
+ static resetInstance() {
108
+ this._instance = void 0;
109
+ }
110
+ create(loader, options) {
111
+ return new LazyImportHandle(loader, options, this._timer);
112
+ }
113
+ };
114
+
115
+ //#endregion
116
+ //#region ../infra/src/providers/browser/TransactionalRiskIntelligenceProvider.ts
117
+ const LAZY_IMPORT_OPTIONS = {
118
+ label: "TRI",
119
+ moduleName: "@incodetech/tri-sdk",
120
+ timeoutMs: 1e4,
121
+ disabledMessage: "TRI will be disabled for this session."
122
+ };
123
+ const importSdk = () => import("./tri.esm-CrWAulDi.esm.js");
124
+ /**
125
+ * Concrete implementation of {@link ITransactionalRiskIntelligenceCapability}.
126
+ *
127
+ * This is the **only** file in the repo that references `@incodetech/tri-sdk`.
128
+ * The third-party module is loaded via a dynamic `import()` the first time
129
+ * {@link setup} is called, so consumers that never opt into TRI (i.e. never
130
+ * pass `tri` to `setup()`) do not pay the bundle cost.
131
+ *
132
+ * `start()`, `stop()`, `reset()`, and `linkInterview()` require a prior
133
+ * successful `setup()` call. The SDK cannot start without the foundation,
134
+ * collection-status check, and managers that `setup()` establishes. Calling
135
+ * these methods before `setup()` is a no-op that returns `'init-failed'` or
136
+ * `false` respectively.
137
+ *
138
+ * The dynamic `import('@incodetech/tri-sdk')` is managed by
139
+ * {@link BrowserLazyImportProvider}, which races the import against a
140
+ * {@link LOAD_TIMEOUT_MS}-ms timeout. On timeout the provider warns, clears
141
+ * the cached promise (so a subsequent `setup()` can retry), and resolves
142
+ * `undefined`, gracefully disabling TRI for the session.
143
+ */
144
+ var TransactionalRiskIntelligenceProvider = class TransactionalRiskIntelligenceProvider {
145
+ constructor() {
146
+ this._isStarted = false;
147
+ this._lazySdk = BrowserLazyImportProvider.getInstance().create(importSdk, LAZY_IMPORT_OPTIONS);
148
+ }
149
+ static getInstance() {
150
+ return this._instance ??= new TransactionalRiskIntelligenceProvider();
151
+ }
152
+ static resetInstance() {
153
+ this._instance = void 0;
154
+ }
155
+ get isStarted() {
156
+ return this._isStarted;
157
+ }
158
+ /**
159
+ * Lazy-loads `@incodetech/tri-sdk` (shared lazy handle) and exchanges the
160
+ * organization API key for a short-lived SDK token via the module's
161
+ * `createSession`. On a load timeout/failure returns an error-shaped session
162
+ * rather than throwing, so the boot path is never blocked.
163
+ */
164
+ async createSession(apiKey, options) {
165
+ const module = await this._lazySdk.load();
166
+ if (!module) return {
167
+ token: null,
168
+ expiresAt: null,
169
+ tokenType: null,
170
+ eventsCollectionEnabled: false,
171
+ error: {
172
+ status: 0,
173
+ message: "TRI SDK failed to load"
174
+ }
175
+ };
176
+ return module.createSession(apiKey, options);
177
+ }
178
+ /**
179
+ * Lazy-loads `@incodetech/tri-sdk` on first call (with a {@link LOAD_TIMEOUT_MS}-ms
180
+ * timeout), then delegates to its `setup()`. Returns a promise that resolves
181
+ * once the SDK module has been fetched and the backend collection-status
182
+ * check has completed.
183
+ *
184
+ * When `config.autostart` is `true` (the default), the underlying `setup()`
185
+ * also calls `start()` and returns `'started'` on success. `_isStarted` is
186
+ * updated to reflect the resulting state so that `isTRIStarted()` is
187
+ * accurate immediately after `setup()` returns.
188
+ */
189
+ async setup(config) {
190
+ try {
191
+ const module = await this._lazySdk.load();
192
+ if (!module) return "init-failed";
193
+ const state = await module.default.setup(config);
194
+ if (state === "started") this._isStarted = true;
195
+ return state;
196
+ } catch {
197
+ return "init-failed";
198
+ }
199
+ }
200
+ /**
201
+ * Begins behavioral data collection. Requires a prior successful `setup()`.
202
+ * Returns `'init-failed'` without starting if called before `setup()`.
203
+ */
204
+ async start() {
205
+ const state = await (this._getSdk()?.start() ?? Promise.resolve("init-failed"));
206
+ this._isStarted = state === "started";
207
+ return state;
208
+ }
209
+ /**
210
+ * Stops all collectors and managers. No-op when called before `setup()`.
211
+ */
212
+ async stop() {
213
+ const state = await (this._getSdk()?.stop() ?? Promise.resolve("init-failed"));
214
+ this._isStarted = false;
215
+ return state;
216
+ }
217
+ /**
218
+ * Resets the TRI SDK to its initial state. No-op when called before `setup()`.
219
+ */
220
+ async reset() {
221
+ const state = await (this._getSdk()?.reset() ?? Promise.resolve("init-failed"));
222
+ this._isStarted = false;
223
+ return state;
224
+ }
225
+ /**
226
+ * Links an interview to the current TRI activity. Returns `false` when
227
+ * called before `setup()` or when the backend request fails. Never throws,
228
+ * so the boot/flow path is never blocked by a failed link.
229
+ *
230
+ * @param sessionToken - The Incode session token to link.
231
+ */
232
+ async linkInterview(sessionToken) {
233
+ try {
234
+ return await this._getSdk()?.linkInterview(sessionToken) ?? false;
235
+ } catch {
236
+ return false;
237
+ }
238
+ }
239
+ _getSdk() {
240
+ return this._lazySdk.get()?.default ?? null;
241
+ }
242
+ };
243
+
244
+ //#endregion
245
+ //#region src/integrations/tri/tri.ts
246
+ /**
247
+ * Returns the active TRI capability implementation.
248
+ *
249
+ * Core functions depend on {@link ITransactionalRiskIntelligenceCapability}
250
+ * (the interface) rather than the concrete provider class. The provider is
251
+ * referenced here only to supply the default singleton. This integration
252
+ * module is the single owner of the concrete provider reference — the rest of
253
+ * core goes through these functions ({@link isTRIStarted},
254
+ * {@link resetTRIProviderInstance}, etc.) instead of importing the provider.
255
+ */
256
+ function getProvider() {
257
+ return TransactionalRiskIntelligenceProvider.getInstance();
258
+ }
259
+ /**
260
+ * Returns `true` when TRI collectors are currently running (a successful
261
+ * `setupTRI()` autostart or explicit `startTRI()`, with no subsequent
262
+ * `stopTRI()`/`resetTRI()`). Returns `false` before setup or after teardown.
263
+ */
264
+ function isTRIStarted() {
265
+ return getProvider().isStarted;
266
+ }
267
+ /**
268
+ * Discards the cached TRI provider singleton so the next access constructs a
269
+ * fresh instance. Call from the SDK's `reset()` after `resetTRI()` to clear
270
+ * the `isStarted` flag and lazy-import state.
271
+ */
272
+ function resetTRIProviderInstance() {
273
+ TransactionalRiskIntelligenceProvider.resetInstance();
274
+ }
275
+ /**
276
+ * Exchanges an organization API key for a short-lived TRI SDK token. This is
277
+ * the entry point that triggers the lazy-load of `@incodetech/tri-sdk` (via the
278
+ * provider's dynamic `import()`); the cached lazy handle is reused by a
279
+ * subsequent `setupTRI()`.
280
+ *
281
+ * In production the exchange should happen server-side. On a load timeout or
282
+ * failure the returned session carries `token: null` and an `error`, rather
283
+ * than throwing.
284
+ *
285
+ * @param apiKey - Organization API key.
286
+ * @param options - Optional `apiURL`, `signal`, and `timeout` overrides.
287
+ */
288
+ async function createTRISession(apiKey, options) {
289
+ return getProvider().createSession(apiKey, options);
290
+ }
291
+ /**
292
+ * Initializes TRI in a single step: resolves the config, calls `setupTRI`
293
+ * (which autostarts unless `config.autostart` is `false`), and optionally
294
+ * links the current Incode session.
295
+ *
296
+ * Returns the resolved {@link TransactionalRiskIntelligenceState}. If the
297
+ * config cannot be resolved (e.g. missing `token` or `apiURL`), returns
298
+ * `'init-failed'` after emitting a `[TRI]` warning.
299
+ *
300
+ * When `config.autostart` is `false`, the underlying `setupTRI` returns
301
+ * `'ready'` without starting collection — call `startTRI()` explicitly when
302
+ * ready (e.g. after a consent gate). Linking is skipped in that case since
303
+ * TRI has not started.
304
+ *
305
+ * @param config - TRI setup config (must include `token` and `apiURL`).
306
+ * @param options - Optional session-linking hints (`sessionToken`).
307
+ */
308
+ async function initializeTRI(config, options = {}) {
309
+ const resolvedTriConfig = resolveTRIConfig(config);
310
+ if (!resolvedTriConfig) return "init-failed";
311
+ const state = await setupTRI(resolvedTriConfig);
312
+ if (isTRIStarted() && options.sessionToken) await linkSessionWithTRI(options.sessionToken);
313
+ return state;
314
+ }
315
+ /**
316
+ * Calls the provider's `setup()` with the given config. This is the step that
317
+ * lazy-loads `@incodetech/tri-sdk`, validates the config, and checks the
318
+ * backend collection-status endpoint. When `config.autostart` is `true` (the
319
+ * default), also calls `start()` internally and returns `'started'` on
320
+ * success. Pass `autostart: false` to receive `'ready'` and start explicitly.
321
+ *
322
+ * @param config - Resolved TRI config (`token` and `apiURL` required).
323
+ * @returns The resulting {@link TransactionalRiskIntelligenceState}.
324
+ */
325
+ async function setupTRI(config) {
326
+ return getProvider().setup(config);
327
+ }
328
+ /**
329
+ * Begins behavioral data collection. Requires a prior successful `setupTRI()`
330
+ * call with `autostart: false`. Returns `'init-failed'` without starting if
331
+ * called before setup, or is a no-op if already started.
332
+ *
333
+ * @returns The resulting {@link TransactionalRiskIntelligenceState}.
334
+ */
335
+ async function startTRI() {
336
+ return getProvider().start();
337
+ }
338
+ /**
339
+ * Stops all TRI collectors and managers. Idempotent. No-op if TRI was never
340
+ * set up.
341
+ */
342
+ async function stopTRI() {
343
+ return getProvider().stop();
344
+ }
345
+ /**
346
+ * Resets the TRI SDK to its initial state. Call this from the SDK's `reset()`
347
+ * so that a subsequent `setupTRI` / `startTRI` can begin fresh.
348
+ */
349
+ async function resetTRI() {
350
+ return getProvider().reset();
351
+ }
352
+ /**
353
+ * Links the current Incode interview session to the active TRI activity.
354
+ *
355
+ * Returns `false` when the session token is missing or TRI has not been set up.
356
+ *
357
+ * @param sessionToken - Incode session JWT.
358
+ */
359
+ async function linkSessionWithTRI(sessionToken) {
360
+ if (!sessionToken) return false;
361
+ return getProvider().linkInterview(sessionToken);
362
+ }
363
+ /**
364
+ * @private This function is not used outside of this file.
365
+ *
366
+ * Validates and narrows a {@link TransactionalRiskIntelligenceSetupConfig}
367
+ * into a {@link TransactionalRiskIntelligenceConfig} suitable for passing to
368
+ * the provider's `setup()`.
369
+ *
370
+ * Returns `null` (with a `[TRI]` warning) when a required field is missing.
371
+ * Returns `null` silently when `config` is `undefined` (intentional opt-out).
372
+ *
373
+ * @param config - Raw setup-time config from `SetupOptions.tri`.
374
+ */
375
+ function resolveTRIConfig(config) {
376
+ if (!config) return null;
377
+ if (!config.token) {
378
+ console.warn("[TRI] Not initialized: token is required.");
379
+ return null;
380
+ }
381
+ if (!config.apiURL) {
382
+ console.warn("[TRI] Not initialized: apiURL is required.");
383
+ return null;
384
+ }
385
+ return config;
386
+ }
387
+
388
+ //#endregion
389
+ export { resetTRI as a, startTRI as c, linkSessionWithTRI as i, stopTRI as l, initializeTRI as n, resetTRIProviderInstance as o, isTRIStarted as r, setupTRI as s, createTRISession as t };
package/dist/tri.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { a as startTRI, i as setupTRI, n as isTRIStarted, o as stopTRI, r as resetTRI, s as TransactionalRiskIntelligenceSetupConfig, t as createTRISession } from "./index-52_qi4bd.js";
2
+ export { TransactionalRiskIntelligenceSetupConfig, createTRISession, isTRIStarted, resetTRI, setupTRI, startTRI, stopTRI };