@incodetech/core 2.0.1 → 2.1.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 (218) hide show
  1. package/dist/{BrowserStorageProvider-CuOW1Er2.esm.js → BrowserStorageProvider-BpJM-gIl.esm.js} +8 -1
  2. package/dist/{IpifyProvider-D7jx52AL.esm.js → IpifyProvider-D4LWD15E.esm.js} +28 -0
  3. package/dist/{MotionSensorProvider-4v7xkqAp.esm.js → MotionSensorProvider-Bx7Mpzt0.esm.js} +63 -13
  4. package/dist/{OpenViduRecordingProvider-CMu6XVdc.esm.js → OpenViduRecordingProvider-O4GjBseO.esm.js} +1 -1
  5. package/dist/StateMachine-BC_nGvrc.d.ts +2 -0
  6. package/dist/StreamCanvasCapture-ImiDQdVA.esm.js +118 -0
  7. package/dist/StreamCanvasCapture-yyl20qd9.d.ts +152 -0
  8. package/dist/{BaseWasmProvider-C_DLEI40.esm.js → WasmUtilProvider-BKWm8rSA.esm.js} +202 -11
  9. package/dist/{addressSearch-BpTbTWCa.esm.js → addressSearch-DvmWXKZg.esm.js} +63 -57
  10. package/dist/{ae-signature-DDDZmWXj.esm.js → ae-signature-BFZta3TZ.esm.js} +1 -1
  11. package/dist/ae-signature.d.ts +3 -3
  12. package/dist/ae-signature.esm.js +6 -5
  13. package/dist/antifraud.d.ts +5 -46
  14. package/dist/antifraud.esm.js +6 -43
  15. package/dist/antifraudManager-CkV4u-LE.esm.js +55 -0
  16. package/dist/antifraudManager-CznnhyvD.d.ts +63 -0
  17. package/dist/{antifraudStateMachine-O0TMf6yc.esm.js → antifraudStateMachine-Ccrb-Jxc.esm.js} +2 -2
  18. package/dist/apiError-B-j-gyDx.esm.js +51 -0
  19. package/dist/authentication.d.ts +13 -11
  20. package/dist/authentication.esm.js +26 -22
  21. package/dist/{authenticationManager-5M-fKzXx.esm.js → authenticationManager-BlR6mSaG.esm.js} +6 -6
  22. package/dist/{authenticationManager-C83GNIhl.d.ts → authenticationManager-CaiQbp-q.d.ts} +4 -4
  23. package/dist/{authenticationStateMachine-BMZqatiF.esm.js → authenticationStateMachine-DkcGUMw5.esm.js} +21 -9
  24. package/dist/{backCameraStream-DMdMeGk2.esm.js → backCameraStream-D7Wo4Nbx.esm.js} +95 -7
  25. package/dist/{session-CrkWAs-q.esm.js → browserSimulation-B1dWiXp7.esm.js} +61 -476
  26. package/dist/camera.d.ts +4 -3
  27. package/dist/camera.esm.js +4 -3
  28. package/dist/canvas-SKcRBxsk.esm.js +230 -0
  29. package/dist/consent.d.ts +4 -398
  30. package/dist/consent.esm.js +6 -77
  31. package/dist/consentManager-BYo9Nu1r.esm.js +90 -0
  32. package/dist/consentManager-Cg5Sk2tv.d.ts +419 -0
  33. package/dist/{consentStateMachine-CCT-B60O.esm.js → consentStateMachine-BG3yL8aC.esm.js} +9 -6
  34. package/dist/cpf-ocr.d.ts +4 -199
  35. package/dist/cpf-ocr.esm.js +8 -177
  36. package/dist/cpfOcrManager-Dg1s_TY5.d.ts +216 -0
  37. package/dist/cpfOcrManager-sSKegxox.esm.js +190 -0
  38. package/dist/cross-document-data-match.d.ts +1 -1
  39. package/dist/cross-document-data-match.esm.js +4 -4
  40. package/dist/curp-validation.d.ts +8 -158
  41. package/dist/curp-validation.esm.js +6 -108
  42. package/dist/curpValidationManager-CFem6zP9.esm.js +122 -0
  43. package/dist/curpValidationManager-RttixpIc.d.ts +184 -0
  44. package/dist/{curpValidationStateMachine-CitWLr2c.esm.js → curpValidationStateMachine-B7V_qp66.esm.js} +20 -13
  45. package/dist/custom-fields.d.ts +2 -2
  46. package/dist/custom-fields.esm.js +4 -4
  47. package/dist/custom-watchlist.d.ts +1 -1
  48. package/dist/custom-watchlist.esm.js +4 -41
  49. package/dist/customWatchlistStateMachine-HmFybXLX.esm.js +50 -0
  50. package/dist/{deepsightLoader-Cm4JIT_z.esm.js → deepsightLoader-8tnddNx-.esm.js} +19 -10
  51. package/dist/deepsightService-CrHmvx8X.esm.js +276 -0
  52. package/dist/{deepsightService-CEVxzehb.d.ts → deepsightService-Dh5P-hLf.d.ts} +13 -160
  53. package/dist/device.esm.js +4 -3
  54. package/dist/document-capture.d.ts +989 -80
  55. package/dist/document-capture.esm.js +34 -8
  56. package/dist/document-upload.d.ts +44 -44
  57. package/dist/document-upload.esm.js +7 -7
  58. package/dist/{documentCaptureStateMachine-BqzTDy9k.esm.js → documentCaptureStateMachine-CUTUzUw_.esm.js} +90 -6
  59. package/dist/dynamic-forms.d.ts +20 -5
  60. package/dist/dynamic-forms.esm.js +150 -61
  61. package/dist/ekyb.d.ts +32 -13
  62. package/dist/ekyb.esm.js +25 -15
  63. package/dist/{ekybStateMachine-CyMx_kg-.esm.js → ekybStateMachine-klc-AImJ.esm.js} +319 -207
  64. package/dist/ekyc.d.ts +10 -78
  65. package/dist/ekyc.esm.js +17 -12
  66. package/dist/{ekycStateMachine-oeO0Iekd.esm.js → ekycStateMachine-CXbpaJJn.esm.js} +201 -113
  67. package/dist/electronic-signature.d.ts +3 -3
  68. package/dist/electronic-signature.esm.js +5 -4
  69. package/dist/{electronicSignatureManager-D9OHzTpG.esm.js → electronicSignatureManager-BaECdJ1u.esm.js} +91 -23
  70. package/dist/email.d.ts +4 -3
  71. package/dist/email.esm.js +6 -5
  72. package/dist/{emailManager-wAV0LE-H.esm.js → emailManager--D5G3ChB.esm.js} +30 -7
  73. package/dist/{emailManager-DIfnS5g1.d.ts → emailManager-lAzDoQOs.d.ts} +66 -8
  74. package/dist/{emailStateMachine-DOf4j58N.esm.js → emailStateMachine-CxTOMAjC.esm.js} +46 -11
  75. package/dist/{endpoints-CnN3SyDa.esm.js → endpoints-BeTK0Mlt.esm.js} +6 -3
  76. package/dist/{events-D6-e4vok.esm.js → events-Dvvriq9l.esm.js} +3 -1
  77. package/dist/events.d.ts +2 -0
  78. package/dist/events.esm.js +1 -1
  79. package/dist/extensibility.d.ts +41 -16
  80. package/dist/extensibility.esm.js +55 -33
  81. package/dist/face-match.d.ts +21 -2
  82. package/dist/face-match.esm.js +5 -5
  83. package/dist/{faceCaptureManagerFactory-yqtpxjnN.d.ts → faceCaptureManagerFactory-CjdBUS6s.d.ts} +48 -17
  84. package/dist/{faceCaptureManagerFactory-Dh2PdGlF.esm.js → faceCaptureManagerFactory-ej2j1LMr.esm.js} +21 -5
  85. package/dist/{faceCaptureSetup-B3faSpYA.esm.js → faceCaptureSetup-B9t6bYze.esm.js} +68 -183
  86. package/dist/{faceMatchStateMachine-DNFrxTFS.esm.js → faceMatchStateMachine-DeXXzSuz.esm.js} +62 -6
  87. package/dist/field-comparison.d.ts +4 -0
  88. package/dist/field-comparison.esm.js +7 -0
  89. package/dist/fieldComparisonManager-Bu5TaSr3.d.ts +76 -0
  90. package/dist/fieldComparisonManager-COGI2ARD.esm.js +162 -0
  91. package/dist/fiscal-qr.d.ts +59 -0
  92. package/dist/fiscal-qr.esm.js +323 -0
  93. package/dist/flow-events.d.ts +6 -5
  94. package/dist/flow.d.ts +23 -15
  95. package/dist/flow.esm.js +56 -17
  96. package/dist/flowCompletionService-BdR2cGgB.d.ts +19 -0
  97. package/dist/flowCompletionService-DdGojV9K.esm.js +20 -0
  98. package/dist/{flowServices-PiNsxLfK.esm.js → flowServices-ChgTNggJ.esm.js} +10 -5
  99. package/dist/geolocation.d.ts +4 -4
  100. package/dist/geolocation.esm.js +6 -6
  101. package/dist/{geolocationStateMachine-asasuHY2.esm.js → geolocationStateMachine-Dvh7X0wF.esm.js} +5 -5
  102. package/dist/getBrowser-C8DP7oTB.esm.js +8 -0
  103. package/dist/{getBrowser-BSXUTWXw.esm.js → getDeviceClass-C0olyNFS.esm.js} +1 -8
  104. package/dist/{getDeviceClass-BSntT9_j.esm.js → getDeviceClass-C8Do2qYu.esm.js} +1 -1
  105. package/dist/government-validation.d.ts +28 -8
  106. package/dist/government-validation.esm.js +19 -8
  107. package/dist/{governmentValidationStateMachine-BDDYrJTo.esm.js → governmentValidationStateMachine-DcJ-BfsC.esm.js} +35 -77
  108. package/dist/home.d.ts +15 -14
  109. package/dist/home.esm.js +2 -2
  110. package/dist/http-Cai3IoLS.esm.js +0 -0
  111. package/dist/http.esm.js +1 -0
  112. package/dist/id-ocr.d.ts +54 -54
  113. package/dist/id-ocr.esm.js +5 -5
  114. package/dist/id-verification.d.ts +27 -27
  115. package/dist/id-verification.esm.js +4 -4
  116. package/dist/id.d.ts +12 -10
  117. package/dist/id.esm.js +70 -27
  118. package/dist/{idCaptureManager-Fyd0eam-.d.ts → idCaptureManager-ChCNmgBj.d.ts} +40 -20
  119. package/dist/{idCaptureManager-D0ktk7Hh.esm.js → idCaptureManager-D3pwWutw.esm.js} +22 -7
  120. package/dist/{idCaptureStateMachine-dwlBUjbC.esm.js → idCaptureStateMachine-B3AiDIsT.esm.js} +172 -123
  121. package/dist/{idOcrStateMachine-YbjjC_Gg.esm.js → idOcrStateMachine-CDQ5d_VM.esm.js} +4 -4
  122. package/dist/{idVerificationStateMachine-xbw9HP1Z.esm.js → idVerificationStateMachine-kRxwImzO.esm.js} +2 -2
  123. package/dist/identity-reuse.d.ts +4 -530
  124. package/dist/identity-reuse.esm.js +8 -274
  125. package/dist/identityReuseManager-C6n_97dw.esm.js +95 -0
  126. package/dist/identityReuseManager-Cww-NDtd.d.ts +428 -0
  127. package/dist/identityReuseStateMachine-BfE5YiEr.esm.js +148 -0
  128. package/dist/{index-BcRG8rtJ.d.ts → index-B5hPA0Bg.d.ts} +2 -2
  129. package/dist/{index-ChHWNH48.d.ts → index-B9NysVDB.d.ts} +469 -195
  130. package/dist/index.d.ts +2 -2
  131. package/dist/index.esm.js +10 -8
  132. package/dist/{invokeOnCaptureCallback-rc6kBHo5.esm.js → invokeOnCaptureCallback-ygByVdnn.esm.js} +1 -1
  133. package/dist/{lib-BB0B_qQX.esm.js → lib-BY67lgbq.esm.js} +1 -1
  134. package/dist/mandatory-consent.d.ts +8 -412
  135. package/dist/mandatory-consent.esm.js +6 -76
  136. package/dist/mandatoryConsentManager-Dq6WiOZh.d.ts +429 -0
  137. package/dist/mandatoryConsentManager-H6D18cZB.esm.js +89 -0
  138. package/dist/{mandatoryConsentStateMachine-Cnco1jvn.esm.js → mandatoryConsentStateMachine-DtQNW1ji.esm.js} +6 -6
  139. package/dist/openviduLazy-B8L--0oe.esm.js +3 -0
  140. package/dist/{openviduLazy-Cok70ZSg.esm.js → openviduLazy-Dh14JNJc.esm.js} +2 -2
  141. package/dist/otp-CGMdUzBC.esm.js +33 -0
  142. package/dist/otp-DF5A0sFx.d.ts +8 -0
  143. package/dist/permissionGuards-D0wGddy7.esm.js +23 -0
  144. package/dist/permissionServices-Doec4X5L.esm.js +130 -0
  145. package/dist/phone.d.ts +4 -3
  146. package/dist/phone.esm.js +6 -5
  147. package/dist/{phoneManager-DAJbGhlY.esm.js → phoneManager-BmF-0Ez4.esm.js} +30 -7
  148. package/dist/{phoneManager-B6M30hKE.d.ts → phoneManager-fPmIBYQK.d.ts} +65 -7
  149. package/dist/{phoneStateMachine-CuPARRaT.esm.js → phoneStateMachine-BiV0yoEx.esm.js} +46 -11
  150. package/dist/{qe-signature-DFo_Cc-I.esm.js → qe-signature-CUYPcHVo.esm.js} +1 -1
  151. package/dist/qe-signature.d.ts +3 -3
  152. package/dist/qe-signature.esm.js +6 -5
  153. package/dist/{recordingService-Ig2UgbLv.esm.js → recordingService-yRw7hfzU.esm.js} +197 -179
  154. package/dist/redirect-to-mobile.d.ts +6 -104
  155. package/dist/redirect-to-mobile.esm.js +6 -99
  156. package/dist/redirectToMobileManager-BNe3IzC_.d.ts +178 -0
  157. package/dist/redirectToMobileManager-Dy3t7o0C.esm.js +159 -0
  158. package/dist/{redirectToMobileStateMachine-BOEqe46A.esm.js → redirectToMobileStateMachine-DyAdRxfP.esm.js} +28 -19
  159. package/dist/{runChildModule-CqqwqAkW.esm.js → runChildModule-CuoHZ1cx.esm.js} +35 -3
  160. package/dist/selfie.d.ts +13 -11
  161. package/dist/selfie.esm.js +53 -24
  162. package/dist/{selfieManager-Duisl7qN.esm.js → selfieManager-BNuTIGAz.esm.js} +6 -6
  163. package/dist/{selfieManager-D0lSgd-J.d.ts → selfieManager-C2y_t6DG.d.ts} +4 -4
  164. package/dist/{selfieStateMachine-D76whWEf.esm.js → selfieStateMachine-Bv99bZJE.esm.js} +5 -3
  165. package/dist/session-DoVb-OcB.esm.js +152 -0
  166. package/dist/session.d.ts +37 -5
  167. package/dist/session.esm.js +12 -7
  168. package/dist/sessionInitializer-DRB-hgbV.esm.js +366 -0
  169. package/dist/{setup-C5AITV8m.d.ts → setup-BwCluiw3.d.ts} +86 -6
  170. package/dist/{setup-DPPAxmXf.esm.js → setup-CUO4mErT.esm.js} +175 -25
  171. package/dist/signature.d.ts +2 -2
  172. package/dist/signature.esm.js +4 -4
  173. package/dist/{signatureStateMachine-B5-QVUve.esm.js → signatureStateMachine-C5qqYLRz.esm.js} +3 -3
  174. package/dist/stats-BMNUG1AU.esm.js +41 -0
  175. package/dist/stats.d.ts +13 -2
  176. package/dist/stats.esm.js +3 -2
  177. package/dist/trust-graph.d.ts +33 -4
  178. package/dist/trust-graph.esm.js +21 -15
  179. package/dist/{types-CFV9G_7j.d.ts → types-Bj9hdFjU.d.ts} +1 -1
  180. package/dist/{types-BP1m8VRw.d.ts → types-DOUhndhT.d.ts} +14 -2
  181. package/dist/types-DsnEVMhr.esm.js +34 -0
  182. package/dist/types-DvGZI7BF.d.ts +131 -0
  183. package/dist/{types-B06Ypu2F.d.ts → types-NuT8ftBV.d.ts} +1 -1
  184. package/dist/types-ya0LN_MX.d.ts +5 -0
  185. package/dist/{warmup-CEcppFiS.d.ts → warmup-Dg8Lh-50.d.ts} +8 -0
  186. package/dist/wasm.d.ts +6 -4
  187. package/dist/wasm.esm.js +11 -9
  188. package/dist/watchlist-for-business.d.ts +1 -1
  189. package/dist/watchlist-for-business.esm.js +5 -73
  190. package/dist/watchlist.d.ts +1 -1
  191. package/dist/watchlist.esm.js +4 -41
  192. package/dist/watchlistForBusinessStateMachine-DMl8j2Ov.esm.js +74 -0
  193. package/dist/watchlistStateMachine-DmQlqI6L.esm.js +50 -0
  194. package/dist/workflow.d.ts +146 -100
  195. package/dist/workflow.esm.js +116 -66
  196. package/package.json +19 -1
  197. package/dist/StateMachine-BCQrZJhf.d.ts +0 -2
  198. package/dist/WasmUtilProvider-j98OJf-S.esm.js +0 -114
  199. package/dist/browserSimulation-gxD8cSpM.esm.js +0 -20
  200. package/dist/deepsightService-O74l4Y__.esm.js +0 -489
  201. package/dist/displayErrors-DqJ_IbsG.d.ts +0 -39
  202. package/dist/flowCompletionService-DhkT4SRY.d.ts +0 -10
  203. package/dist/flowCompletionService-P54yzGvA.esm.js +0 -13
  204. package/dist/openviduLazy-Cm0XFh_v.esm.js +0 -3
  205. package/dist/permissionServices-D_i6nzEw.esm.js +0 -50
  206. package/dist/stats-CIfiPzb1.esm.js +0 -16
  207. package/dist/types-CAD4va6a.d.ts +0 -5
  208. package/dist/watchlistServices-DMbUhkBX.esm.js +0 -12
  209. /package/dist/{Actor-CI32dTbG.d.ts → Actor-Y0_Fj-KL.d.ts} +0 -0
  210. /package/dist/{ITimerCapability-C67ZRskg.esm.js → ITimerCapability-CB0I1Uf2.esm.js} +0 -0
  211. /package/dist/{Manager-C8PrhBOx.d.ts → Manager-BHn8wH8K.d.ts} +0 -0
  212. /package/dist/{camera-PA2Ljri3.esm.js → camera-DJWm3V4g.esm.js} +0 -0
  213. /package/dist/{camera-DBSxa6ML.d.ts → camera-SRBpPq2X.d.ts} +0 -0
  214. /package/dist/{chunk-CRF6K_H_.esm.js → chunk-CMUKZ2uL.esm.js} +0 -0
  215. /package/dist/{cpf-PPz2Njto.esm.js → cpf-BRzggV8G.esm.js} +0 -0
  216. /package/dist/{dateUtils-UoN5xswP.esm.js → dateUtils-AksLQmgV.esm.js} +0 -0
  217. /package/dist/{platform-CfrjKhmi.esm.js → platform-SKvEfCBh.esm.js} +0 -0
  218. /package/dist/{xstate.esm-B70JrNqo.esm.js → xstate.esm-C9wncMQa.esm.js} +0 -0
@@ -0,0 +1,184 @@
1
+ import { t as Manager } from "./Manager-BHn8wH8K.js";
2
+ import { t as ActorRefFrom } from "./Actor-Y0_Fj-KL.js";
3
+ import { i as FlowModuleConfig } from "./types-DOUhndhT.js";
4
+
5
+ //#region src/modules/curp-validation/types.d.ts
6
+ type CurpValidationConfig = FlowModuleConfig['CURP_VALIDATION'] & {
7
+ /** Maximum validation retries before auto-advancing. @default 1 */
8
+ maxRetries?: number;
9
+ /** Whether to attempt OCR pre-fill on load. @default true */
10
+ prefillFromOcr?: boolean;
11
+ };
12
+ /** CURP generation form data */
13
+ type GenerateCurpForm = {
14
+ name: string;
15
+ firstLastName: string;
16
+ secondLastName: string;
17
+ gender: 'H' | 'M' | 'X' | '';
18
+ birthDate: string;
19
+ birthState: string;
20
+ };
21
+ type GenerateCurpFieldType = 'text' | 'date' | 'dropdown';
22
+ /**
23
+ * Discriminated union of validation rules supported across both CURP screens.
24
+ * `required` is used by Generate-CURP fields; `curpFormat` is used by the
25
+ * single-field CURP entry.
26
+ */
27
+ type CurpValidationRule = {
28
+ type: 'required';
29
+ } | {
30
+ type: 'curpFormat';
31
+ };
32
+ type GenerateCurpFieldDef = {
33
+ key: keyof GenerateCurpForm;
34
+ labelKey: string;
35
+ type: GenerateCurpFieldType;
36
+ required: boolean;
37
+ autoComplete?: string;
38
+ /**
39
+ * Validation rules evaluated by the state machine on blur (per-field) and
40
+ * on submit (full form). Required fields should include `{ type: 'required' }`.
41
+ * Optional fields (e.g. `secondLastName`) omit this entirely.
42
+ */
43
+ validation?: CurpValidationRule[];
44
+ };
45
+ /**
46
+ * Configuration for the single CURP-entry field on the gateway screen.
47
+ * Intentionally has no `required` rule: the user can leave it empty and
48
+ * use the "I don't have my CURP" escape-hatch button instead.
49
+ */
50
+ type EnterCurpFieldDef = {
51
+ key: 'curp';
52
+ labelKey: string;
53
+ validation?: CurpValidationRule[];
54
+ };
55
+ /**
56
+ * Map of field-key → i18n error key currently displayed for that field.
57
+ * Empty/undefined means no errors are currently shown. The state machine
58
+ * is the single source of truth for which entries exist here — UI must
59
+ * render this map as-is without further gating.
60
+ */
61
+ type CurpValidationErrors = Partial<Record<string, string>>;
62
+ //#endregion
63
+ //#region src/modules/curp-validation/curpValidationStateMachine.d.ts
64
+
65
+ declare const curpValidationMachine: any;
66
+ type CurpValidationMachine = typeof curpValidationMachine;
67
+ //#endregion
68
+ //#region src/modules/curp-validation/curpValidationActor.d.ts
69
+ type CreateCurpValidationActorOptions = {
70
+ config: CurpValidationConfig;
71
+ };
72
+ type CurpValidationActor = ActorRefFrom<CurpValidationMachine>;
73
+ //#endregion
74
+ //#region src/modules/curp-validation/curpValidationManager.d.ts
75
+ type CurpValidationIdleState = {
76
+ status: 'idle';
77
+ };
78
+ type CurpValidationLoadingState = {
79
+ status: 'loading';
80
+ };
81
+ /**
82
+ * State exposed to UI for the CURP entry gateway screen.
83
+ *
84
+ * `isValid` is **derived** from `validationErrors`: it is `true` whenever
85
+ * no errors are currently displayed (including the initial empty render).
86
+ * The UI must not treat `isValid` as "the form would pass full validation
87
+ * right now" — that was the old pessimistic semantic. Use the absence of
88
+ * errors plus an additional `curp.length === 0` no-op guard on the submit
89
+ * button instead.
90
+ */
91
+ type CurpValidationEnterCurpState = {
92
+ status: 'enterCurp';
93
+ curp: string;
94
+ isValid: boolean;
95
+ validationErrors?: CurpValidationErrors;
96
+ };
97
+ type CurpValidationVerifyingState = {
98
+ status: 'verifying';
99
+ };
100
+ type CurpValidationSuccessState = {
101
+ status: 'success';
102
+ };
103
+ type CurpValidationFailureState = {
104
+ status: 'failure';
105
+ retriesLeft: number;
106
+ /** True for auto OCR-prefilled failures; UI shows "Verify manually". */
107
+ fromAutoVerify: boolean;
108
+ };
109
+ /**
110
+ * State exposed to UI for the multi-field Generate CURP form.
111
+ *
112
+ * `isValid` is derived: `true` when no errors are currently displayed.
113
+ * Validation runs on blur (single field) and on submit (full form);
114
+ * `validationErrors` reflects exactly what should be rendered next
115
+ * to each input.
116
+ */
117
+ type CurpValidationGenerateCurpState = {
118
+ status: 'generateCurp';
119
+ form: GenerateCurpForm;
120
+ isValid: boolean;
121
+ validationErrors?: CurpValidationErrors;
122
+ };
123
+ type CurpValidationGeneratingState = {
124
+ status: 'generating';
125
+ };
126
+ type CurpValidationConfirmCurpState = {
127
+ status: 'confirmCurp';
128
+ curp: string;
129
+ };
130
+ type CurpValidationGenerateErrorState = {
131
+ status: 'generateError';
132
+ retriesLeft: number;
133
+ };
134
+ type CurpValidationFinishedState = {
135
+ status: 'finished';
136
+ };
137
+ type CurpValidationClosedState = {
138
+ status: 'closed';
139
+ };
140
+ type CurpValidationState = CurpValidationIdleState | CurpValidationLoadingState | CurpValidationEnterCurpState | CurpValidationVerifyingState | CurpValidationSuccessState | CurpValidationFailureState | CurpValidationGenerateCurpState | CurpValidationGeneratingState | CurpValidationConfirmCurpState | CurpValidationGenerateErrorState | CurpValidationFinishedState | CurpValidationClosedState;
141
+ declare function createCurpValidationManager(options: CreateCurpValidationActorOptions): Manager<CurpValidationState> & {
142
+ load(): void;
143
+ setCurp(curp: string): void;
144
+ /**
145
+ * Triggers single-field on-blur validation. The state machine routes
146
+ * the event to the validator for the currently active screen and
147
+ * updates the corresponding `validationErrors` map. Sending a field
148
+ * key that does not belong to the active screen is a no-op.
149
+ */
150
+ validateField(field: "curp" | keyof GenerateCurpForm): void;
151
+ verify(): void;
152
+ switchToGenerate(): void;
153
+ setGenerateForm(form: Partial<GenerateCurpForm>): void;
154
+ generate(): void;
155
+ confirmGenerated(): void;
156
+ retry(): void;
157
+ close(): void;
158
+ };
159
+ /**
160
+ * Creates a CURP-validation manager from a pre-built actor.
161
+ * Use this when overriding the machine via `.provide()` for custom backends
162
+ * or for story-isolation testing.
163
+ */
164
+ declare function createCurpValidationManagerFromActor(actor: CurpValidationActor): Manager<CurpValidationState> & {
165
+ load(): void;
166
+ setCurp(curp: string): void;
167
+ /**
168
+ * Triggers single-field on-blur validation. The state machine routes
169
+ * the event to the validator for the currently active screen and
170
+ * updates the corresponding `validationErrors` map. Sending a field
171
+ * key that does not belong to the active screen is a no-op.
172
+ */
173
+ validateField(field: "curp" | keyof GenerateCurpForm): void;
174
+ verify(): void;
175
+ switchToGenerate(): void;
176
+ setGenerateForm(form: Partial<GenerateCurpForm>): void;
177
+ generate(): void;
178
+ confirmGenerated(): void;
179
+ retry(): void;
180
+ close(): void;
181
+ };
182
+ type CurpValidationManager = ReturnType<typeof createCurpValidationManager>;
183
+ //#endregion
184
+ export { CurpValidationActor as a, CurpValidationErrors as c, GenerateCurpFieldDef as d, GenerateCurpFieldType as f, createCurpValidationManagerFromActor as i, CurpValidationRule as l, CurpValidationState as n, curpValidationMachine as o, GenerateCurpForm as p, createCurpValidationManager as r, CurpValidationConfig as s, CurpValidationManager as t, EnterCurpFieldDef as u };
@@ -1,6 +1,6 @@
1
1
  import { t as api } from "./api-CESGtpbH.esm.js";
2
- import { t as endpoints } from "./endpoints-CnN3SyDa.esm.js";
3
- import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-B70JrNqo.esm.js";
2
+ import { t as endpoints } from "./endpoints-BeTK0Mlt.esm.js";
3
+ import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-C9wncMQa.esm.js";
4
4
 
5
5
  //#region src/modules/curp-validation/curpValidationUtils.ts
6
6
  const CURP_PATTERN = /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[HMX](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/;
@@ -196,6 +196,7 @@ const GENERATE_CURP_FIELDS = [
196
196
  labelKey: "curp.labels.firstLast",
197
197
  type: "text",
198
198
  required: true,
199
+ autoComplete: "family-name",
199
200
  validation: [{ type: "required" }]
200
201
  },
201
202
  {
@@ -216,6 +217,7 @@ const GENERATE_CURP_FIELDS = [
216
217
  labelKey: "curp.labels.dob",
217
218
  type: "date",
218
219
  required: true,
220
+ autoComplete: "bday",
219
221
  validation: [{ type: "required" }]
220
222
  },
221
223
  {
@@ -392,6 +394,8 @@ const curpValidationMachine = setup({
392
394
  decrementRetries: assign(({ context }) => ({ retriesLeft: Math.max(0, context.retriesLeft - 1) })),
393
395
  setFromGenerate: assign({ fromGenerate: () => true }),
394
396
  clearFromGenerate: assign({ fromGenerate: () => false }),
397
+ setAutoVerify: assign({ fromAutoVerify: () => true }),
398
+ clearAutoVerify: assign({ fromAutoVerify: () => false }),
395
399
  setError: assign(({ event }) => ({ error: String(event.error) }))
396
400
  },
397
401
  guards: {
@@ -426,7 +430,8 @@ const curpValidationMachine = setup({
426
430
  retriesLeft: input.config.maxRetries ?? 1,
427
431
  generatedCurp: void 0,
428
432
  error: void 0,
429
- fromGenerate: false
433
+ fromGenerate: false,
434
+ fromAutoVerify: false
430
435
  }),
431
436
  states: {
432
437
  idle: { on: {
@@ -443,7 +448,7 @@ const curpValidationMachine = setup({
443
448
  onDone: [{
444
449
  target: "verifying",
445
450
  guard: "hasOcrCurp",
446
- actions: "setCurpFromOcr"
451
+ actions: ["setCurpFromOcr", "setAutoVerify"]
447
452
  }, { target: "enterCurp" }],
448
453
  onError: { target: "enterCurp" }
449
454
  },
@@ -469,7 +474,8 @@ const curpValidationMachine = setup({
469
474
  entry: "computeEnterCurpValidationResult",
470
475
  always: [{
471
476
  guard: "shouldVerify",
472
- target: "#curpValidation.verifying"
477
+ target: "#curpValidation.verifying",
478
+ actions: "clearAutoVerify"
473
479
  }, { target: "inputting" }]
474
480
  }
475
481
  },
@@ -483,13 +489,10 @@ const curpValidationMachine = setup({
483
489
  onDone: [{
484
490
  target: "success",
485
491
  guard: "isVerifySuccess"
486
- }, {
487
- target: "failure",
488
- actions: "decrementRetries"
489
- }],
492
+ }, { target: "failure" }],
490
493
  onError: {
491
494
  target: "failure",
492
- actions: ["decrementRetries", "setError"]
495
+ actions: "setError"
493
496
  }
494
497
  },
495
498
  on: { CLOSE: "closed" }
@@ -502,11 +505,12 @@ const curpValidationMachine = setup({
502
505
  on: {
503
506
  RETRY: [{
504
507
  target: "generateCurp",
505
- guard: ({ context }) => context.retriesLeft > 0 && context.fromGenerate
508
+ guard: ({ context }) => context.retriesLeft > 0 && context.fromGenerate,
509
+ actions: "decrementRetries"
506
510
  }, {
507
511
  target: "enterCurp",
508
512
  guard: ({ context }) => context.retriesLeft > 0 && !context.fromGenerate,
509
- actions: "clearFromGenerate"
513
+ actions: ["decrementRetries", "clearFromGenerate"]
510
514
  }],
511
515
  CLOSE: "closed"
512
516
  },
@@ -569,7 +573,10 @@ const curpValidationMachine = setup({
569
573
  on: { CLOSE: "closed" }
570
574
  },
571
575
  confirmCurp: { on: {
572
- CONFIRM: { target: "verifying" },
576
+ CONFIRM: {
577
+ target: "verifying",
578
+ actions: "clearAutoVerify"
579
+ },
573
580
  CLOSE: "closed"
574
581
  } },
575
582
  generateError: {
@@ -1,5 +1,5 @@
1
- import { t as Manager } from "./Manager-C8PrhBOx.js";
2
- import "./Actor-CI32dTbG.js";
1
+ import { t as Manager } from "./Manager-BHn8wH8K.js";
2
+ import "./Actor-Y0_Fj-KL.js";
3
3
 
4
4
  //#region src/modules/custom-fields/types.d.ts
5
5
  type CustomFieldType = 'INTEGER' | 'DOUBLE' | 'BOOLEAN' | 'STRING' | 'DATE';
@@ -1,8 +1,8 @@
1
1
  import { t as api } from "./api-CESGtpbH.esm.js";
2
- import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-D6-e4vok.esm.js";
3
- import { t as endpoints } from "./endpoints-CnN3SyDa.esm.js";
4
- import { a as fromPromise, c as createManager, r as assign, s as createActor, t as setup } from "./xstate.esm-B70JrNqo.esm.js";
5
- import { t as isoDateToMs } from "./dateUtils-UoN5xswP.esm.js";
2
+ import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-Dvvriq9l.esm.js";
3
+ import { t as endpoints } from "./endpoints-BeTK0Mlt.esm.js";
4
+ import { a as fromPromise, c as createManager, r as assign, s as createActor, t as setup } from "./xstate.esm-C9wncMQa.esm.js";
5
+ import { t as isoDateToMs } from "./dateUtils-AksLQmgV.esm.js";
6
6
 
7
7
  //#region src/modules/custom-fields/customFieldsServices.ts
8
8
  async function submitCustomFields(params, signal) {
@@ -1,4 +1,4 @@
1
- import { t as Manager } from "./Manager-C8PrhBOx.js";
1
+ import { t as Manager } from "./Manager-BHn8wH8K.js";
2
2
 
3
3
  //#region src/modules/custom-watchlist/customWatchlistStateMachine.d.ts
4
4
  type CustomWatchlistResult = 'success' | 'skipped';
@@ -1,46 +1,9 @@
1
1
  import "./api-CESGtpbH.esm.js";
2
- import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-D6-e4vok.esm.js";
3
- import "./endpoints-CnN3SyDa.esm.js";
4
- import { a as fromPromise, c as createManager, r as assign, s as createActor, t as setup } from "./xstate.esm-B70JrNqo.esm.js";
5
- import { t as processWatchlist } from "./watchlistServices-DMbUhkBX.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 customWatchlistMachine } from "./customWatchlistStateMachine-HmFybXLX.esm.js";
6
6
 
7
- //#region src/modules/custom-watchlist/customWatchlistStateMachine.ts
8
- const customWatchlistMachine = setup({
9
- types: {
10
- context: {},
11
- events: {}
12
- },
13
- actors: { processWatchlist: fromPromise(async ({ signal }) => {
14
- await processWatchlist(signal);
15
- }) },
16
- actions: {
17
- markSuccess: assign({ result: "success" }),
18
- markSkipped: assign({ result: "skipped" })
19
- }
20
- }).createMachine({
21
- id: "customWatchlist",
22
- initial: "idle",
23
- context: { result: null },
24
- states: {
25
- idle: { on: { LOAD: { target: "processing" } } },
26
- processing: { invoke: {
27
- id: "processWatchlist",
28
- src: "processWatchlist",
29
- onDone: { target: "success" },
30
- onError: {
31
- target: "finished",
32
- actions: "markSkipped"
33
- }
34
- } },
35
- success: { after: { 3e3: {
36
- target: "finished",
37
- actions: "markSuccess"
38
- } } },
39
- finished: { type: "final" }
40
- }
41
- });
42
-
43
- //#endregion
44
7
  //#region src/modules/custom-watchlist/customWatchlistActor.ts
45
8
  function createCustomWatchlistActor() {
46
9
  return createActor(customWatchlistMachine).start();
@@ -0,0 +1,50 @@
1
+ import { t as api } from "./api-CESGtpbH.esm.js";
2
+ import { t as endpoints } from "./endpoints-BeTK0Mlt.esm.js";
3
+ import { a as fromPromise, r as assign, t as setup } from "./xstate.esm-C9wncMQa.esm.js";
4
+
5
+ //#region src/modules/custom-watchlist/customWatchlistServices.ts
6
+ async function processWatchlist(signal) {
7
+ const res = await api.post(endpoints.processWatchlist, {}, { signal });
8
+ if (!res.ok) throw new Error(`POST ${endpoints.processWatchlist} failed: ${res.status} ${res.statusText}`);
9
+ return res.data;
10
+ }
11
+
12
+ //#endregion
13
+ //#region src/modules/custom-watchlist/customWatchlistStateMachine.ts
14
+ const customWatchlistMachine = setup({
15
+ types: {
16
+ context: {},
17
+ events: {}
18
+ },
19
+ actors: { processWatchlist: fromPromise(async ({ signal }) => {
20
+ await processWatchlist(signal);
21
+ }) },
22
+ actions: {
23
+ markSuccess: assign({ result: "success" }),
24
+ markSkipped: assign({ result: "skipped" })
25
+ }
26
+ }).createMachine({
27
+ id: "customWatchlist",
28
+ initial: "idle",
29
+ context: { result: null },
30
+ states: {
31
+ idle: { on: { LOAD: { target: "processing" } } },
32
+ processing: { invoke: {
33
+ id: "processWatchlist",
34
+ src: "processWatchlist",
35
+ onDone: { target: "success" },
36
+ onError: {
37
+ target: "finished",
38
+ actions: "markSkipped"
39
+ }
40
+ } },
41
+ success: { after: { 3e3: {
42
+ target: "finished",
43
+ actions: "markSuccess"
44
+ } } },
45
+ finished: { type: "final" }
46
+ }
47
+ });
48
+
49
+ //#endregion
50
+ export { customWatchlistMachine as t };
@@ -1,13 +1,16 @@
1
- import "./BaseWasmProvider-C_DLEI40.esm.js";
2
- import { t as WasmUtilProvider } from "./WasmUtilProvider-j98OJf-S.esm.js";
1
+ import { t as WasmUtilProvider } from "./WasmUtilProvider-BKWm8rSA.esm.js";
3
2
  import "./api-CESGtpbH.esm.js";
4
- import { r as BrowserEnvironmentProvider, t as IpifyProvider } from "./IpifyProvider-D7jx52AL.esm.js";
5
- import "./browserSimulation-gxD8cSpM.esm.js";
6
- import "./camera-PA2Ljri3.esm.js";
7
- import { t as createDeepsightService } from "./deepsightService-O74l4Y__.esm.js";
8
- import "./getBrowser-BSXUTWXw.esm.js";
9
- import "./stats-CIfiPzb1.esm.js";
10
- import { t as MotionSensorProvider } from "./MotionSensorProvider-4v7xkqAp.esm.js";
3
+ import "./endpoints-BeTK0Mlt.esm.js";
4
+ import "./stats-BMNUG1AU.esm.js";
5
+ import { r as BrowserEnvironmentProvider, t as IpifyProvider } from "./IpifyProvider-D4LWD15E.esm.js";
6
+ import "./browserSimulation-B1dWiXp7.esm.js";
7
+ import "./platform-SKvEfCBh.esm.js";
8
+ import "./getBrowser-C8DP7oTB.esm.js";
9
+ import { t as MotionSensorProvider } from "./MotionSensorProvider-Bx7Mpzt0.esm.js";
10
+ import "./camera-DJWm3V4g.esm.js";
11
+ import "./canvas-SKcRBxsk.esm.js";
12
+ import { t as createDeepsightService } from "./deepsightService-CrHmvx8X.esm.js";
13
+ import "./getDeviceClass-C0olyNFS.esm.js";
11
14
 
12
15
  //#region ../infra/src/providers/browser/VisibilityProvider.ts
13
16
  var VisibilityProvider = class {
@@ -30,11 +33,17 @@ var VisibilityProvider = class {
30
33
  }
31
34
  };
32
35
 
36
+ //#endregion
37
+ //#region src/internal/deepsight/wasmDsFlag.ts
38
+ async function setWasmDsFlag(storage, enabled) {
39
+ await storage.set("ds", enabled ? 1 : 0);
40
+ }
41
+
33
42
  //#endregion
34
43
  //#region src/internal/deepsight/deepsightLoader.ts
35
44
  const SDK_VERSION = "2.0.0";
36
45
  async function loadDeepsightSession(options) {
37
- await options.storage.set("ds", options.ds ? 1 : 0);
46
+ await setWasmDsFlag(options.storage, options.ds === true);
38
47
  const service = createDeepsightService({
39
48
  sdkVersion: SDK_VERSION,
40
49
  wasmUtil: await WasmUtilProvider.getInstance(),