@incodetech/core 0.0.0-dev-20260313-486e658 → 0.0.0-dev-20260313-bc2dab4

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 (80) hide show
  1. package/dist/Actor-BAf9LRYf.d.ts +2 -0
  2. package/dist/StateMachine-DJpZF_HP.d.ts +2 -0
  3. package/dist/authentication.d.ts +10 -78
  4. package/dist/authentication.esm.js +11 -195
  5. package/dist/authenticationManager-4j4j8ac9.esm.js +197 -0
  6. package/dist/authenticationManager-DQL9XsaI.d.ts +66 -0
  7. package/dist/{backCameraStream-B57NWDGu.esm.js → backCameraStream-4aLwsDOv.esm.js} +1 -1
  8. package/dist/curp-validation.d.ts +4 -4
  9. package/dist/curp-validation.esm.js +5 -5
  10. package/dist/{deepsightLoader-BXTRzhYx.esm.js → deepsightLoader-C-Xil8cg.esm.js} +4 -4
  11. package/dist/{deepsightService-CTK55DG8.esm.js → deepsightService-BgqD33AH.esm.js} +3 -3
  12. package/dist/{deepsightService-CYCDsan2.d.ts → deepsightService-UhtHJCFb.d.ts} +131 -3
  13. package/dist/document-capture.d.ts +49 -49
  14. package/dist/document-capture.esm.js +6 -6
  15. package/dist/document-upload.d.ts +49 -49
  16. package/dist/document-upload.esm.js +5 -5
  17. package/dist/ekyb.d.ts +2 -2
  18. package/dist/ekyb.esm.js +6 -6
  19. package/dist/ekyc.d.ts +2 -2
  20. package/dist/ekyc.esm.js +6 -6
  21. package/dist/email.d.ts +3 -263
  22. package/dist/email.esm.js +6 -477
  23. package/dist/emailManager-DZeOYBQ6.d.ts +335 -0
  24. package/dist/emailManager-e7j__XBB.esm.js +486 -0
  25. package/dist/{events-b4_xvENs.esm.js → events-3HzCcoEy.esm.js} +2 -2
  26. package/dist/extensibility.d.ts +95 -0
  27. package/dist/extensibility.esm.js +17 -0
  28. package/dist/face-match.d.ts +1 -1
  29. package/dist/face-match.esm.js +5 -5
  30. package/dist/faceCaptureManagerFactory-CiQWYHp2.d.ts +610 -0
  31. package/dist/{faceCaptureSetup-10lCb_yE.esm.js → faceCaptureSetup-CF9TJlsc.esm.js} +11 -11
  32. package/dist/flow.d.ts +7 -7
  33. package/dist/flow.esm.js +5 -5
  34. package/dist/{flowCompletionService-DHXqHOAk.esm.js → flowCompletionService-CV8Ywiut.esm.js} +2 -2
  35. package/dist/geolocation.d.ts +1 -1
  36. package/dist/geolocation.esm.js +5 -5
  37. package/dist/government-validation.d.ts +1 -1
  38. package/dist/government-validation.esm.js +4 -4
  39. package/dist/id-A_upgNRR.esm.js +0 -0
  40. package/dist/id.d.ts +9 -9
  41. package/dist/id.esm.js +11 -10
  42. package/dist/{id-TUJyOPso.esm.js → idCaptureManager-B9BsU7-M.esm.js} +18 -11
  43. package/dist/{index-5ZEjz-8I.d.ts → idCaptureManager-D8FwP0TW.d.ts} +30 -8
  44. package/dist/index-BtQzTfU9.d.ts +1 -0
  45. package/dist/index.d.ts +21 -12
  46. package/dist/index.esm.js +33 -21
  47. package/dist/{lib-V3Lo-Jit.esm.js → lib-COh1FH9n.esm.js} +1 -1
  48. package/dist/phone.d.ts +3 -291
  49. package/dist/phone.esm.js +6 -551
  50. package/dist/phoneManager-B6fNmxhw.esm.js +560 -0
  51. package/dist/phoneManager-BsamACjL.d.ts +370 -0
  52. package/dist/redirect-to-mobile.d.ts +1 -1
  53. package/dist/redirect-to-mobile.esm.js +4 -4
  54. package/dist/selfie.d.ts +10 -408
  55. package/dist/selfie.esm.js +11 -118
  56. package/dist/selfieManager-ByV0akn-.esm.js +117 -0
  57. package/dist/selfieManager-Czysy-lv.d.ts +68 -0
  58. package/dist/session.d.ts +1 -1
  59. package/dist/session.esm.js +3 -3
  60. package/dist/{src-D3v6I2la.esm.js → src-BmVrWkLJ.esm.js} +2 -2
  61. package/dist/{stats-D76Thmqp.esm.js → stats-kLtQIgsA.esm.js} +1 -1
  62. package/dist/stats.esm.js +2 -2
  63. package/dist/{streamingEvents-CQq5fJCL.esm.js → streamingEvents-Cw6kqXEh.esm.js} +3 -3
  64. package/dist/{types-DnrAr9fb.d.ts → types-BugcSDaO.d.ts} +1 -1
  65. package/dist/{types-Bn54lmeM.d.ts → types-C9Jo2XOb.d.ts} +1 -1
  66. package/package.json +5 -1
  67. package/dist/Actor-B6Lr-x6S.d.ts +0 -2
  68. package/dist/StateMachine-WHeQE3lC.d.ts +0 -2
  69. package/dist/faceCaptureManagerFactory-D1NUo68Z.d.ts +0 -231
  70. package/dist/types-B4KNFqC4.d.ts +0 -130
  71. /package/dist/{Manager-CG5CQ1kY.d.ts → Manager-CXnC-tN_.d.ts} +0 -0
  72. /package/dist/{api-3fZO5bmj.esm.js → api-C2uzxrpN.esm.js} +0 -0
  73. /package/dist/{camera-D7zu0Mls.d.ts → camera-DDn9ILon.d.ts} +0 -0
  74. /package/dist/{chunk-B1Ox1Owh.esm.js → chunk-C4_ANvih.esm.js} +0 -0
  75. /package/dist/{endpoints-5sPFFmaB.esm.js → endpoints-IAlXA1zN.esm.js} +0 -0
  76. /package/dist/{flowCompletionService-DeWKduBI.d.ts → flowCompletionService-D4YDcHQR.d.ts} +0 -0
  77. /package/dist/{types-BYYaKde4.d.ts → types-DTieLton.d.ts} +0 -0
  78. /package/dist/{usStates-D4SmlpeT.esm.js → usStates-vWM_ZgEH.esm.js} +0 -0
  79. /package/dist/{warmup-Da5qDIWZ.d.ts → warmup-Bp_1oXoL.d.ts} +0 -0
  80. /package/dist/{xstate.esm-07M59Cte.esm.js → xstate.esm-CcoTezCZ.esm.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { t as api } from "./api-3fZO5bmj.esm.js";
2
- import { t as endpoints } from "./endpoints-5sPFFmaB.esm.js";
1
+ import { t as api } from "./api-C2uzxrpN.esm.js";
2
+ import { t as endpoints } from "./endpoints-IAlXA1zN.esm.js";
3
3
 
4
4
  //#region src/modules/flow/flowCompletionService.ts
5
5
  const getFinishStatus = async (flowId, signal) => {
@@ -1,4 +1,4 @@
1
- import { t as Manager } from "./Manager-CG5CQ1kY.js";
1
+ import { t as Manager } from "./Manager-CXnC-tN_.js";
2
2
 
3
3
  //#region ../infra/src/capabilities/IGeolocationCapability.d.ts
4
4
  type GeolocationCoords = {
@@ -1,8 +1,8 @@
1
- import { d as addEvent, n as eventModuleNames } from "./events-b4_xvENs.esm.js";
2
- import { A as createManager, F as isAndroid, L as isIOS, b as BrowserGeolocationProvider } from "./src-D3v6I2la.esm.js";
3
- import { a as createActor, i as fromPromise, n as assign, t as setup } from "./xstate.esm-07M59Cte.esm.js";
4
- import { t as api } from "./api-3fZO5bmj.esm.js";
5
- import { t as endpoints } from "./endpoints-5sPFFmaB.esm.js";
1
+ import { d as addEvent, n as eventModuleNames } from "./events-3HzCcoEy.esm.js";
2
+ import { A as createManager, F as isAndroid, L as isIOS, b as BrowserGeolocationProvider } from "./src-BmVrWkLJ.esm.js";
3
+ import { a as createActor, i as fromPromise, n as assign, t as setup } from "./xstate.esm-CcoTezCZ.esm.js";
4
+ import { t as api } from "./api-C2uzxrpN.esm.js";
5
+ import { t as endpoints } from "./endpoints-IAlXA1zN.esm.js";
6
6
 
7
7
  //#region src/modules/geolocation/geolocationServices.ts
8
8
  async function addGeolocation(params, signal) {
@@ -1,4 +1,4 @@
1
- import { t as Manager } from "./Manager-CG5CQ1kY.js";
1
+ import { t as Manager } from "./Manager-CXnC-tN_.js";
2
2
 
3
3
  //#region src/modules/government-validation/types.d.ts
4
4
  type GovernmentValidationConfig = {
@@ -1,7 +1,7 @@
1
- import { A as createManager, g as BrowserTimerProvider } from "./src-D3v6I2la.esm.js";
2
- import { a as createActor, i as fromPromise, n as assign, r as fromCallback, t as setup } from "./xstate.esm-07M59Cte.esm.js";
3
- import { t as api } from "./api-3fZO5bmj.esm.js";
4
- import { t as endpoints } from "./endpoints-5sPFFmaB.esm.js";
1
+ import { A as createManager, g as BrowserTimerProvider } from "./src-BmVrWkLJ.esm.js";
2
+ import { a as createActor, i as fromPromise, n as assign, r as fromCallback, t as setup } from "./xstate.esm-CcoTezCZ.esm.js";
3
+ import { t as api } from "./api-C2uzxrpN.esm.js";
4
+ import { t as endpoints } from "./endpoints-IAlXA1zN.esm.js";
5
5
 
6
6
  //#region src/modules/government-validation/governmentValidationServices.ts
7
7
  async function processGovernmentValidation(signal) {
File without changes
package/dist/id.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { A as IdCaptureGeometry, B as DetectionOrientation, C as DetectionArea, D as IdCaptureContext, E as IdCaptureConfig, F as IdError, I as IdErrorCode, L as IdFlowStep, M as IdCaptureMode, N as IdCaptureThresholds, O as IdCaptureDependencies, P as IdDocumentType, R as RecordingSession, S as CapturedImage, T as ID_ERROR_CODES, V as IdCaptureSettings, _ as IdCaptureActor, a as InitializeIdCaptureParams, b as idCaptureMachine, c as ValidationError, d as startRecordingSession, f as stopRecording, g as CreateIdCaptureActorOptions, h as validateUploadResponse, i as IdCaptureInitResult, j as IdCaptureInput, k as IdCaptureEvent, l as initializeIdCapture, m as uploadIdImage, n as IdCaptureState, o as StartRecordingParams, p as stopStream, r as createIdCaptureManager, s as UploadIdImageParams, t as IdCaptureManager, u as processId, v as createIdCaptureActor, w as DetectionStatus, x as CaptureIdResponse, y as IdCaptureMachine, z as UploadIdResponse } from "./index-5ZEjz-8I.js";
2
- import "./deepsightService-CYCDsan2.js";
3
- import { n as PermissionStatus, t as PermissionResult } from "./types-B4KNFqC4.js";
4
- import "./Manager-CG5CQ1kY.js";
5
- import { t as CameraStream } from "./camera-D7zu0Mls.js";
6
- import "./Actor-B6Lr-x6S.js";
7
- import "./StateMachine-WHeQE3lC.js";
8
- import "./types-DnrAr9fb.js";
9
- import "./types-Bn54lmeM.js";
1
+ import { A as IdCaptureEvent, B as UploadIdResponse, C as CapturedImage, D as IdCaptureConfig, E as ID_ERROR_CODES, F as IdDocumentType, H as IdCaptureSettings, I as IdError, L as IdErrorCode, M as IdCaptureInput, N as IdCaptureMode, O as IdCaptureContext, P as IdCaptureThresholds, R as IdFlowStep, S as CaptureIdResponse, T as DetectionStatus, V as DetectionOrientation, _ as CreateIdCaptureActorOptions, a as IdCaptureInitResult, b as IdCaptureMachine, c as UploadIdImageParams, d as processId, f as startRecordingSession, g as validateUploadResponse, h as uploadIdImage, j as IdCaptureGeometry, k as IdCaptureDependencies, l as ValidationError, m as stopStream, n as IdCaptureState, o as InitializeIdCaptureParams, p as stopRecording, r as createIdCaptureManager, s as StartRecordingParams, t as IdCaptureManager, u as initializeIdCapture, v as IdCaptureActor, w as DetectionArea, x as idCaptureMachine, y as createIdCaptureActor, z as RecordingSession } from "./idCaptureManager-D8FwP0TW.js";
2
+ import { n as PermissionResult, r as PermissionStatus } from "./deepsightService-UhtHJCFb.js";
3
+ import "./Manager-CXnC-tN_.js";
4
+ import { t as CameraStream } from "./camera-DDn9ILon.js";
5
+ import "./Actor-BAf9LRYf.js";
6
+ import "./StateMachine-DJpZF_HP.js";
7
+ import "./types-BugcSDaO.js";
8
+ import "./types-C9Jo2XOb.js";
9
+ import "./index-BtQzTfU9.js";
10
10
  export { CameraStream, CaptureIdResponse, CapturedImage, CreateIdCaptureActorOptions, DetectionArea, DetectionOrientation, DetectionStatus, ID_ERROR_CODES, IdCaptureActor, IdCaptureConfig, IdCaptureContext, IdCaptureDependencies, IdCaptureEvent, IdCaptureGeometry, IdCaptureInitResult, IdCaptureInput, IdCaptureMachine, IdCaptureManager, IdCaptureMode, IdCaptureSettings, IdCaptureState, IdCaptureThresholds, IdDocumentType, IdError, IdErrorCode, IdFlowStep, InitializeIdCaptureParams, PermissionResult, PermissionStatus, RecordingSession, StartRecordingParams, UploadIdImageParams, UploadIdResponse, ValidationError, createIdCaptureActor, createIdCaptureManager, idCaptureMachine, initializeIdCapture, processId, startRecordingSession, stopRecording, stopStream, uploadIdImage, validateUploadResponse };
package/dist/id.esm.js CHANGED
@@ -1,12 +1,13 @@
1
- import "./events-b4_xvENs.esm.js";
2
- import "./backCameraStream-B57NWDGu.esm.js";
3
- import "./src-D3v6I2la.esm.js";
4
- import "./xstate.esm-07M59Cte.esm.js";
5
- import "./streamingEvents-CQq5fJCL.esm.js";
6
- import "./deepsightService-CTK55DG8.esm.js";
7
- import "./api-3fZO5bmj.esm.js";
8
- import "./endpoints-5sPFFmaB.esm.js";
9
- import { a as processId, c as stopStream, d as ID_ERROR_CODES, i as initializeIdCapture, l as uploadIdImage, n as createIdCaptureActor, o as startRecordingSession, r as idCaptureMachine, s as stopRecording, t as createIdCaptureManager, u as validateUploadResponse } from "./id-TUJyOPso.esm.js";
10
- import "./stats-D76Thmqp.esm.js";
1
+ import "./events-3HzCcoEy.esm.js";
2
+ import "./backCameraStream-4aLwsDOv.esm.js";
3
+ import "./src-BmVrWkLJ.esm.js";
4
+ import "./xstate.esm-CcoTezCZ.esm.js";
5
+ import "./streamingEvents-Cw6kqXEh.esm.js";
6
+ import "./deepsightService-BgqD33AH.esm.js";
7
+ import "./api-C2uzxrpN.esm.js";
8
+ import "./endpoints-IAlXA1zN.esm.js";
9
+ import { a as initializeIdCapture, c as stopRecording, d as validateUploadResponse, f as ID_ERROR_CODES, i as idCaptureMachine, l as stopStream, o as processId, r as createIdCaptureActor, s as startRecordingSession, t as createIdCaptureManager, u as uploadIdImage } from "./idCaptureManager-B9BsU7-M.esm.js";
10
+ import "./stats-kLtQIgsA.esm.js";
11
+ import "./id-A_upgNRR.esm.js";
11
12
 
12
13
  export { ID_ERROR_CODES, createIdCaptureActor, createIdCaptureManager, idCaptureMachine, initializeIdCapture, processId, startRecordingSession, stopRecording, stopStream, uploadIdImage, validateUploadResponse };
@@ -1,12 +1,12 @@
1
- import { d as addEvent, m as revokeObjectURL, n as eventModuleNames } from "./events-b4_xvENs.esm.js";
2
- import { t as getBackCameraStream } from "./backCameraStream-B57NWDGu.esm.js";
3
- import { A as createManager, I as isDesktop, N as getWindowDimensions, S as StreamCanvasCapture, T as IncodeCanvas, _ as BrowserStorageProvider, d as OpenViduRecordingProvider, g as BrowserTimerProvider, h as FingerprintProvider, i as DEFAULT_ID_CAPTURE_THRESHOLDS, m as IpifyProvider, o as IdCaptureProvider, r as DEFAULT_ID_CAPTURE_MODEL_VERSION, v as BrowserInfoProvider, x as StreamCanvasProcessingSession, y as BrowserEnvironmentProvider } from "./src-D3v6I2la.esm.js";
4
- import { a as createActor, i as fromPromise, n as assign, r as fromCallback, t as setup } from "./xstate.esm-07M59Cte.esm.js";
5
- import { i as stopRecording$1, l as getDeviceClass, n as createRecordingSession, o as checkPermission, r as startRecording, s as requestPermission, t as streamingEvents } from "./streamingEvents-CQq5fJCL.esm.js";
6
- import { n as isBrowserSimulation } from "./deepsightService-CTK55DG8.esm.js";
7
- import { n as getApi, r as getToken, t as api } from "./api-3fZO5bmj.esm.js";
8
- import { t as endpoints } from "./endpoints-5sPFFmaB.esm.js";
9
- import { t as addDeviceStats } from "./stats-D76Thmqp.esm.js";
1
+ import { d as addEvent, m as revokeObjectURL, n as eventModuleNames } from "./events-3HzCcoEy.esm.js";
2
+ import { t as getBackCameraStream } from "./backCameraStream-4aLwsDOv.esm.js";
3
+ import { A as createManager, I as isDesktop, N as getWindowDimensions, S as StreamCanvasCapture, T as IncodeCanvas, _ as BrowserStorageProvider, d as OpenViduRecordingProvider, g as BrowserTimerProvider, h as FingerprintProvider, i as DEFAULT_ID_CAPTURE_THRESHOLDS, m as IpifyProvider, o as IdCaptureProvider, r as DEFAULT_ID_CAPTURE_MODEL_VERSION, v as BrowserInfoProvider, x as StreamCanvasProcessingSession, y as BrowserEnvironmentProvider } from "./src-BmVrWkLJ.esm.js";
4
+ import { a as createActor, i as fromPromise, n as assign, r as fromCallback, t as setup } from "./xstate.esm-CcoTezCZ.esm.js";
5
+ import { i as stopRecording$1, l as getDeviceClass, n as createRecordingSession, o as checkPermission, r as startRecording, s as requestPermission, t as streamingEvents } from "./streamingEvents-Cw6kqXEh.esm.js";
6
+ import { n as isBrowserSimulation } from "./deepsightService-BgqD33AH.esm.js";
7
+ import { n as getApi, r as getToken, t as api } from "./api-C2uzxrpN.esm.js";
8
+ import { t as endpoints } from "./endpoints-IAlXA1zN.esm.js";
9
+ import { t as addDeviceStats } from "./stats-kLtQIgsA.esm.js";
10
10
 
11
11
  //#region src/internal/session/sessionService.ts
12
12
  /**
@@ -898,7 +898,7 @@ const checkMotionSensorActor = fromCallback(({ input, sendBack }) => {
898
898
  });
899
899
  const initializeDeepsightSessionActor = fromPromise(async ({ input }) => {
900
900
  if (!input.dependencies) return;
901
- const { loadDeepsightSession } = await import("./deepsightLoader-BXTRzhYx.esm.js");
901
+ const { loadDeepsightSession } = await import("./deepsightLoader-C-Xil8cg.esm.js");
902
902
  return loadDeepsightSession({
903
903
  ds: input.ds,
904
904
  storage: input.dependencies.storage,
@@ -2240,6 +2240,13 @@ function createIdCaptureManager(options) {
2240
2240
  createApi
2241
2241
  });
2242
2242
  }
2243
+ function createIdCaptureManagerFromActor(actor) {
2244
+ return createManager({
2245
+ actor,
2246
+ mapState,
2247
+ createApi
2248
+ });
2249
+ }
2243
2250
 
2244
2251
  //#endregion
2245
- export { createSession as _, processId as a, stopStream as c, ID_ERROR_CODES as d, getDisableIpify as f, resetSessionInit as g, isSessionInitialized as h, initializeIdCapture as i, uploadIdImage as l, initializeSession as m, createIdCaptureActor as n, startRecordingSession as o, getSessionFeatures as p, idCaptureMachine as r, stopRecording as s, createIdCaptureManager as t, validateUploadResponse as u };
2252
+ export { resetSessionInit as _, initializeIdCapture as a, stopRecording as c, validateUploadResponse as d, ID_ERROR_CODES as f, isSessionInitialized as g, initializeSession as h, idCaptureMachine as i, stopStream as l, getSessionFeatures as m, createIdCaptureManagerFromActor as n, processId as o, getDisableIpify as p, createIdCaptureActor as r, startRecordingSession as s, createIdCaptureManager as t, uploadIdImage as u, createSession as v };
@@ -1,10 +1,9 @@
1
- import { i as IncodeCanvas, n as StreamCanvasCapture, r as IMotionSensorCapability, t as DeepsightService } from "./deepsightService-CYCDsan2.js";
2
- import { a as RecordingConnection, i as IRecordingCapability, n as PermissionStatus, o as IMLProviderCapability, r as IStorageCapability, s as MLProviderConfig, t as PermissionResult } from "./types-B4KNFqC4.js";
3
- import { t as Manager } from "./Manager-CG5CQ1kY.js";
4
- import { t as CameraStream } from "./camera-D7zu0Mls.js";
5
- import { t as ActorRefFrom } from "./Actor-B6Lr-x6S.js";
6
- import { n as StateMachine, t as AnyStateMachine } from "./StateMachine-WHeQE3lC.js";
7
- import { i as TutorialIdConfig, t as Flow } from "./types-Bn54lmeM.js";
1
+ import { a as IStorageCapability, c as IMotionSensorCapability, d as IncodeCanvas, i as StreamCanvasCapture, l as IMLProviderCapability, n as PermissionResult, o as IRecordingCapability, r as PermissionStatus, s as RecordingConnection, t as DeepsightService, u as MLProviderConfig } from "./deepsightService-UhtHJCFb.js";
2
+ import { t as Manager } from "./Manager-CXnC-tN_.js";
3
+ import { t as CameraStream } from "./camera-DDn9ILon.js";
4
+ import { t as ActorRefFrom } from "./Actor-BAf9LRYf.js";
5
+ import { n as StateMachine, t as AnyStateMachine } from "./StateMachine-DJpZF_HP.js";
6
+ import { i as TutorialIdConfig, t as Flow } from "./types-C9Jo2XOb.js";
8
7
 
9
8
  //#region ../infra/src/capabilities/IAnalyticsCapability.d.ts
10
9
  interface IAnalyticsCapability {
@@ -588,6 +587,29 @@ declare function createIdCaptureManager(options: CreateIdCaptureActorOptions): M
588
587
  */
589
588
  updateDetectionArea(detectionArea: DetectionArea): void;
590
589
  };
590
+ declare function createIdCaptureManagerFromActor(actor: IdCaptureActor): Manager<IdCaptureState> & {
591
+ load(): void;
592
+ selectDocument(documentType: IdDocumentType): void;
593
+ nextStep(): void;
594
+ requestPermission(): void;
595
+ goToLearnMore(): void;
596
+ back(): void;
597
+ close(): void;
598
+ reset(): void;
599
+ retryCapture(): void;
600
+ continueFromError(): void;
601
+ capture(): void;
602
+ switchToManualCapture(): void;
603
+ continueToBack(): void;
604
+ continueToFront(): void;
605
+ skipBack(): void;
606
+ /**
607
+ * Updates the detection area used for WASM geometry calculation.
608
+ * Call this when the UI detection area dimensions change (e.g., on resize or orientation change).
609
+ * @param detectionArea - The detection area in canvas coordinates
610
+ */
611
+ updateDetectionArea(detectionArea: DetectionArea): void;
612
+ };
591
613
  type IdCaptureManager = ReturnType<typeof createIdCaptureManager>;
592
614
  //#endregion
593
- export { IdCaptureGeometry as A, DetectionOrientation as B, DetectionArea as C, IdCaptureContext as D, IdCaptureConfig as E, IdError as F, IdErrorCode as I, IdFlowStep as L, IdCaptureMode as M, IdCaptureThresholds as N, IdCaptureDependencies as O, IdDocumentType as P, RecordingSession as R, CapturedImage as S, ID_ERROR_CODES as T, IdCaptureSettings as V, IdCaptureActor as _, InitializeIdCaptureParams as a, idCaptureMachine as b, ValidationError as c, startRecordingSession as d, stopRecording as f, CreateIdCaptureActorOptions as g, validateUploadResponse as h, IdCaptureInitResult as i, IdCaptureInput as j, IdCaptureEvent as k, initializeIdCapture as l, uploadIdImage as m, IdCaptureState as n, StartRecordingParams as o, stopStream as p, createIdCaptureManager as r, UploadIdImageParams as s, IdCaptureManager as t, processId as u, createIdCaptureActor as v, DetectionStatus as w, CaptureIdResponse as x, IdCaptureMachine as y, UploadIdResponse as z };
615
+ export { IdCaptureEvent as A, UploadIdResponse as B, CapturedImage as C, IdCaptureConfig as D, ID_ERROR_CODES as E, IdDocumentType as F, IdCaptureSettings as H, IdError as I, IdErrorCode as L, IdCaptureInput as M, IdCaptureMode as N, IdCaptureContext as O, IdCaptureThresholds as P, IdFlowStep as R, CaptureIdResponse as S, DetectionStatus as T, DetectionOrientation as V, CreateIdCaptureActorOptions as _, IdCaptureInitResult as a, IdCaptureMachine as b, UploadIdImageParams as c, processId as d, startRecordingSession as f, validateUploadResponse as g, uploadIdImage as h, createIdCaptureManagerFromActor as i, IdCaptureGeometry as j, IdCaptureDependencies as k, ValidationError as l, stopStream as m, IdCaptureState as n, InitializeIdCaptureParams as o, stopRecording as p, createIdCaptureManager as r, StartRecordingParams as s, IdCaptureManager as t, initializeIdCapture as u, IdCaptureActor as v, DetectionArea as w, idCaptureMachine as x, createIdCaptureActor as y, RecordingSession as z };
@@ -0,0 +1 @@
1
+ export { };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { A as IdCaptureGeometry, B as DetectionOrientation, C as DetectionArea, D as IdCaptureContext, E as IdCaptureConfig, F as IdError, I as IdErrorCode, L as IdFlowStep, M as IdCaptureMode, N as IdCaptureThresholds, O as IdCaptureDependencies, P as IdDocumentType, R as RecordingSession, S as CapturedImage, T as ID_ERROR_CODES, V as IdCaptureSettings, _ as IdCaptureActor, a as InitializeIdCaptureParams, b as idCaptureMachine, c as ValidationError, d as startRecordingSession, f as stopRecording, g as CreateIdCaptureActorOptions, h as validateUploadResponse, i as IdCaptureInitResult, j as IdCaptureInput, k as IdCaptureEvent, l as initializeIdCapture, m as uploadIdImage, n as IdCaptureState, o as StartRecordingParams, p as stopStream, r as createIdCaptureManager, s as UploadIdImageParams, t as IdCaptureManager, u as processId, v as createIdCaptureActor, w as DetectionStatus, x as CaptureIdResponse, y as IdCaptureMachine, z as UploadIdResponse } from "./index-5ZEjz-8I.js";
2
- import "./deepsightService-CYCDsan2.js";
3
- import { n as PermissionStatus, t as PermissionResult } from "./types-B4KNFqC4.js";
4
- import { n as WasmPipeline, r as warmupWasm, t as WarmupConfig } from "./warmup-Da5qDIWZ.js";
5
- import "./Manager-CG5CQ1kY.js";
6
- import { t as CameraStream } from "./camera-D7zu0Mls.js";
7
- import "./Actor-B6Lr-x6S.js";
8
- import "./StateMachine-WHeQE3lC.js";
9
- import "./types-DnrAr9fb.js";
10
- import "./types-Bn54lmeM.js";
1
+ import { A as IdCaptureEvent, B as UploadIdResponse, C as CapturedImage, D as IdCaptureConfig, E as ID_ERROR_CODES, F as IdDocumentType, H as IdCaptureSettings, I as IdError, L as IdErrorCode, M as IdCaptureInput, N as IdCaptureMode, O as IdCaptureContext, P as IdCaptureThresholds, R as IdFlowStep, S as CaptureIdResponse, T as DetectionStatus, V as DetectionOrientation, _ as CreateIdCaptureActorOptions, a as IdCaptureInitResult, b as IdCaptureMachine, c as UploadIdImageParams, d as processId, f as startRecordingSession, g as validateUploadResponse, h as uploadIdImage, j as IdCaptureGeometry, k as IdCaptureDependencies, l as ValidationError, m as stopStream, n as IdCaptureState, o as InitializeIdCaptureParams, p as stopRecording, r as createIdCaptureManager, s as StartRecordingParams, t as IdCaptureManager, u as initializeIdCapture, v as IdCaptureActor, w as DetectionArea, x as idCaptureMachine, y as createIdCaptureActor, z as RecordingSession } from "./idCaptureManager-D8FwP0TW.js";
2
+ import { n as PermissionResult, r as PermissionStatus } from "./deepsightService-UhtHJCFb.js";
3
+ import { n as WasmPipeline, r as warmupWasm, t as WarmupConfig } from "./warmup-Bp_1oXoL.js";
4
+ import "./Manager-CXnC-tN_.js";
5
+ import { t as CameraStream } from "./camera-DDn9ILon.js";
6
+ import "./Actor-BAf9LRYf.js";
7
+ import "./StateMachine-DJpZF_HP.js";
8
+ import "./types-BugcSDaO.js";
9
+ import "./types-C9Jo2XOb.js";
10
+ import "./index-BtQzTfU9.js";
11
11
 
12
12
  //#region ../infra/src/capabilities/IScreenOrientationCapability.d.ts
13
13
  type ScreenOrientationState = 'portrait' | 'landscape';
@@ -273,8 +273,8 @@ type WasmConfig = {
273
273
  * Configuration options for the SDK setup.
274
274
  */
275
275
  type SetupOptions = {
276
- /** The base URL for the API */
277
- apiURL: string;
276
+ /** The base URL for the API. When omitted, no HTTP client is created — useful when all API actors are overridden via .provide(). */
277
+ apiURL?: string;
278
278
  /** The session token for API requests (optional - can be set later or omitted for createSession calls) */
279
279
  token?: string;
280
280
  /** Custom headers to include in all requests */
@@ -318,6 +318,15 @@ type SetupOptions = {
318
318
  * glueCodePath: '/my-cdn/webLib.js',
319
319
  * },
320
320
  * });
321
+ *
322
+ * // Sessionless setup (all API actors overridden via .provide())
323
+ * await setup({
324
+ * wasm: {
325
+ * wasmPath: '/wasm/ml-wasm.wasm',
326
+ * glueCodePath: '/wasm/ml-wasm.js',
327
+ * pipelines: ['selfie'],
328
+ * },
329
+ * });
321
330
  * ```
322
331
  */
323
332
  declare function setup(options: SetupOptions): Promise<void>;
package/dist/index.esm.js CHANGED
@@ -1,13 +1,14 @@
1
- import { a as videoSelfieEvents, c as screenClosed, d as addEvent, f as flushEventQueue, i as tutorialScreenNamesMapper, l as screenEvent, n as eventModuleNames, o as moduleClosed, p as subscribeEvent, r as eventScreenNames, s as moduleOpened, t as cameraScreenNamesMapper, u as screenOpened } from "./events-b4_xvENs.esm.js";
2
- import "./backCameraStream-B57NWDGu.esm.js";
3
- import { R as isIPad, a as WasmUtilProvider, c as warmupWasm, j as createApi_default, n as buildDefaultWasmConfig, t as DEFAULT_WASM_VERSION, u as ScreenOrientationProvider } from "./src-D3v6I2la.esm.js";
4
- import "./xstate.esm-07M59Cte.esm.js";
5
- import { c as createScreenOrientationObserver, l as getDeviceClass, o as checkPermission, s as requestPermission, u as getBrowser } from "./streamingEvents-CQq5fJCL.esm.js";
6
- import "./deepsightService-CTK55DG8.esm.js";
7
- import { a as resetApi, n as getApi, o as setClient, s as setToken, t as api } from "./api-3fZO5bmj.esm.js";
8
- import "./endpoints-5sPFFmaB.esm.js";
9
- import { _ as createSession, a as processId, c as stopStream, d as ID_ERROR_CODES, f as getDisableIpify, g as resetSessionInit, h as isSessionInitialized, i as initializeIdCapture, l as uploadIdImage, m as initializeSession, n as createIdCaptureActor, o as startRecordingSession, p as getSessionFeatures, r as idCaptureMachine, s as stopRecording, t as createIdCaptureManager, u as validateUploadResponse } from "./id-TUJyOPso.esm.js";
10
- import "./stats-D76Thmqp.esm.js";
1
+ import { a as videoSelfieEvents, c as screenClosed, d as addEvent, f as flushEventQueue, i as tutorialScreenNamesMapper, l as screenEvent, n as eventModuleNames, o as moduleClosed, p as subscribeEvent, r as eventScreenNames, s as moduleOpened, t as cameraScreenNamesMapper, u as screenOpened } from "./events-3HzCcoEy.esm.js";
2
+ import "./backCameraStream-4aLwsDOv.esm.js";
3
+ import { R as isIPad, a as WasmUtilProvider, c as warmupWasm, j as createApi_default, n as buildDefaultWasmConfig, t as DEFAULT_WASM_VERSION, u as ScreenOrientationProvider } from "./src-BmVrWkLJ.esm.js";
4
+ import "./xstate.esm-CcoTezCZ.esm.js";
5
+ import { c as createScreenOrientationObserver, l as getDeviceClass, o as checkPermission, s as requestPermission, u as getBrowser } from "./streamingEvents-Cw6kqXEh.esm.js";
6
+ import "./deepsightService-BgqD33AH.esm.js";
7
+ import { a as resetApi, n as getApi, o as setClient, s as setToken, t as api } from "./api-C2uzxrpN.esm.js";
8
+ import "./endpoints-IAlXA1zN.esm.js";
9
+ import { _ as resetSessionInit, a as initializeIdCapture, c as stopRecording, d as validateUploadResponse, f as ID_ERROR_CODES, g as isSessionInitialized, h as initializeSession, i as idCaptureMachine, l as stopStream, m as getSessionFeatures, o as processId, p as getDisableIpify, r as createIdCaptureActor, s as startRecordingSession, t as createIdCaptureManager, u as uploadIdImage, v as createSession } from "./idCaptureManager-B9BsU7-M.esm.js";
10
+ import "./stats-kLtQIgsA.esm.js";
11
+ import "./id-A_upgNRR.esm.js";
11
12
 
12
13
  //#region src/setup.ts
13
14
  let wasmConfig;
@@ -39,20 +40,31 @@ let configured = false;
39
40
  * glueCodePath: '/my-cdn/webLib.js',
40
41
  * },
41
42
  * });
43
+ *
44
+ * // Sessionless setup (all API actors overridden via .provide())
45
+ * await setup({
46
+ * wasm: {
47
+ * wasmPath: '/wasm/ml-wasm.wasm',
48
+ * glueCodePath: '/wasm/ml-wasm.js',
49
+ * pipelines: ['selfie'],
50
+ * },
51
+ * });
42
52
  * ```
43
53
  */
44
54
  async function setup(options) {
45
- setClient(createApi_default({
46
- apiURL: options.apiURL,
47
- customHeaders: options.customHeaders,
48
- timeout: options.timeout
49
- }));
50
- if (options.token) {
51
- setToken(options.token);
52
- flushEventQueue();
53
- initializeSession({ hostingApp: options.hostingApp }).catch((error) => {
54
- console.warn("Session initialization failed:", error);
55
- });
55
+ if (options.apiURL) {
56
+ setClient(createApi_default({
57
+ apiURL: options.apiURL,
58
+ customHeaders: options.customHeaders,
59
+ timeout: options.timeout
60
+ }));
61
+ if (options.token) {
62
+ setToken(options.token);
63
+ flushEventQueue();
64
+ initializeSession({ hostingApp: options.hostingApp }).catch((error) => {
65
+ console.warn("Session initialization failed:", error);
66
+ });
67
+ }
56
68
  }
57
69
  configured = true;
58
70
  const effectiveWasm = options.wasm === false ? void 0 : options.wasm ?? buildDefaultWasmConfig();
@@ -1,4 +1,4 @@
1
- import { i as __toCommonJS, n as __esm, r as __export, t as __commonJS } from "./chunk-B1Ox1Owh.esm.js";
1
+ import { i as __toCommonJS, n as __esm, r as __export, t as __commonJS } from "./chunk-C4_ANvih.esm.js";
2
2
 
3
3
  //#region ../../node_modules/.pnpm/jsnlog@2.30.0/node_modules/jsnlog/jsnlog.js
4
4
  var require_jsnlog = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/jsnlog@2.30.0/node_modules/jsnlog/jsnlog.js": ((exports) => {
package/dist/phone.d.ts CHANGED
@@ -1,292 +1,4 @@
1
- import { t as Manager } from "./Manager-CG5CQ1kY.js";
2
-
3
- //#region src/modules/phone/types.d.ts
4
-
5
- /**
6
- * Configuration options for phone verification.
7
- *
8
- * @example Standard OTP verification
9
- * ```typescript
10
- * const config: PhoneConfig = {
11
- * otpVerification: true,
12
- * otpExpirationInMinutes: 5,
13
- * prefill: false,
14
- * };
15
- * ```
16
- *
17
- * @example With all options
18
- * ```typescript
19
- * const config: PhoneConfig = {
20
- * otpVerification: true,
21
- * otpExpirationInMinutes: 10,
22
- * prefill: true,
23
- * isInstantVerify: false,
24
- * optinEnabled: true,
25
- * maxOtpAttempts: 3,
26
- * };
27
- * ```
28
- */
29
- type PhoneConfig = {
30
- /**
31
- * Whether to require OTP (SMS code) verification.
32
- * If false, phone is verified immediately after submission.
33
- */
34
- otpVerification: boolean;
35
- /**
36
- * How long the OTP code remains valid, in minutes.
37
- * After expiration, user must request a new code.
38
- */
39
- otpExpirationInMinutes: number;
40
- /**
41
- * Whether to pre-populate with user's previously stored phone number.
42
- * Useful for returning users.
43
- */
44
- prefill: boolean;
45
- /**
46
- * Use carrier-based instant verification instead of OTP.
47
- * Not available in all regions.
48
- * @default false
49
- */
50
- isInstantVerify?: boolean;
51
- /**
52
- * Show a marketing opt-in checkbox in the UI.
53
- * User's preference is sent with the phone submission.
54
- * @default false
55
- */
56
- optinEnabled?: boolean;
57
- /**
58
- * Maximum number of OTP verification attempts before lockout.
59
- * After exhausting attempts, user sees an error state.
60
- * @default 3
61
- */
62
- maxOtpAttempts?: number;
63
- };
64
- //#endregion
65
- //#region src/modules/phone/phoneStateMachine.d.ts
66
-
67
- declare const phoneMachine: any;
68
- //#endregion
69
- //#region src/modules/phone/phoneActor.d.ts
70
- type CreatePhoneActorOptions = {
71
- config: PhoneConfig;
72
- };
73
- //#endregion
74
- //#region src/modules/phone/phoneManager.d.ts
75
- /** Phone manager is in initial state, waiting for `load()` to be called */
76
- type PhoneIdleState = {
77
- status: 'idle';
78
- };
79
- /** Loading prefilled phone number from backend (if prefill is enabled) */
80
- type PhoneLoadingPrefillState = {
81
- status: 'loadingPrefill';
82
- };
83
- /**
84
- * Ready for phone input - use `setPhoneNumber()` and `submit()`
85
- * @property countryCode - ISO country code (e.g., 'US', 'MX')
86
- * @property phonePrefix - International dialing prefix (e.g., '+1', '+52')
87
- * @property prefilledPhone - Pre-populated phone number (if prefill enabled)
88
- * @property phoneError - Validation error message if phone was rejected
89
- */
90
- type PhoneInputtingState = {
91
- status: 'inputting';
92
- countryCode: string;
93
- phonePrefix: string;
94
- prefilledPhone?: string;
95
- phoneError?: string;
96
- };
97
- /** Phone number is being submitted to the backend */
98
- type PhoneSubmittingState = {
99
- status: 'submitting';
100
- };
101
- /** OTP is being sent to the phone number */
102
- type PhoneSendingOtpState = {
103
- status: 'sendingOtp';
104
- };
105
- /**
106
- * Waiting for OTP code - use `submitOtp()`, `resendOtp()`, or `back()`
107
- * @property resendTimer - Seconds remaining before resend is allowed
108
- * @property canResend - Whether the resend button should be enabled
109
- * @property attemptsRemaining - Number of OTP verification attempts left
110
- */
111
- type PhoneAwaitingOtpState = {
112
- status: 'awaitingOtp';
113
- resendTimer: number;
114
- canResend: boolean;
115
- attemptsRemaining: number;
116
- };
117
- /** OTP code is being verified against the backend */
118
- type PhoneVerifyingOtpState = {
119
- status: 'verifyingOtp';
120
- };
121
- /**
122
- * OTP verification failed - user can retry with `submitOtp()`
123
- * @property error - Error message describing why verification failed
124
- * @property attemptsRemaining - Number of remaining attempts before lockout
125
- */
126
- type PhoneOtpErrorState = {
127
- status: 'otpError';
128
- error: string;
129
- attemptsRemaining: number;
130
- };
131
- /** Phone verification completed successfully */
132
- type PhoneFinishedState = {
133
- status: 'finished';
134
- };
135
- /**
136
- * Fatal error occurred - call `reset()` to start over
137
- * @property error - Error message describing what went wrong
138
- */
139
- type PhoneErrorState = {
140
- status: 'error';
141
- error: string;
142
- };
143
- /**
144
- * Union of all possible phone manager states.
145
- * Use discriminated union pattern to narrow the type:
146
- *
147
- * @example
148
- * ```typescript
149
- * const state = phoneManager.getState();
150
- * if (state.status === 'inputting') {
151
- * // TypeScript knows state has countryCode, phonePrefix, etc.
152
- * console.log(state.countryCode);
153
- * }
154
- * ```
155
- */
156
- type PhoneState = PhoneIdleState | PhoneLoadingPrefillState | PhoneInputtingState | PhoneSubmittingState | PhoneSendingOtpState | PhoneAwaitingOtpState | PhoneVerifyingOtpState | PhoneOtpErrorState | PhoneFinishedState | PhoneErrorState;
157
- /**
158
- * Creates a phone verification manager for headless or UI-driven usage.
159
- *
160
- * The manager provides a state machine-based API for phone number verification
161
- * with optional OTP (one-time password) verification.
162
- *
163
- * @param options - Configuration options
164
- * @param options.config - Phone verification configuration
165
- * @param options.config.otpVerification - Whether to require OTP verification
166
- * @param options.config.otpExpirationInMinutes - How long the OTP is valid
167
- * @param options.config.prefill - Whether to fetch a pre-filled phone number
168
- * @param options.config.isInstantVerify - Use instant verification API
169
- * @param options.config.optinEnabled - Show marketing opt-in checkbox
170
- * @param options.config.maxOtpAttempts - Maximum OTP verification attempts (default: 3)
171
- *
172
- * @returns Phone manager with state, API methods, and subscription
173
- *
174
- * @example Headless usage
175
- * ```typescript
176
- * const manager = createPhoneManager({
177
- * config: { otpVerification: true, otpExpirationInMinutes: 5, prefill: false },
178
- * });
179
- *
180
- * manager.subscribe((state) => console.log(state.status));
181
- * manager.load();
182
- * manager.setPhoneNumber('+14155551234', true);
183
- * manager.submit();
184
- * // ... wait for 'awaitingOtp' state ...
185
- * manager.submitOtp('ABC123');
186
- * manager.stop();
187
- * ```
188
- *
189
- * @example With React/Preact UI hook
190
- * ```tsx
191
- * const [state, manager] = useManager(() => createPhoneManager({ config }));
192
- *
193
- * if (state.status === 'inputting') {
194
- * return <input onChange={(e) => manager.setPhoneNumber(e.target.value, true)} />;
195
- * }
196
- * ```
197
- */
198
- declare function createPhoneManager(options: CreatePhoneActorOptions): Manager<PhoneState> & {
199
- /**
200
- * Initializes the phone verification flow.
201
- * Transitions from 'idle' to 'loadingPrefill' or 'inputting'.
202
- * Must be called before any other method.
203
- */
204
- load(): void;
205
- /**
206
- * Sets the phone number for verification.
207
- * Should be called when state is 'inputting'.
208
- *
209
- * @param phone - Full phone number with country code (e.g., '+14155551234')
210
- * @param isValid - Whether the phone number passes validation
211
- *
212
- * @example
213
- * ```typescript
214
- * // Using libphonenumber-js for validation
215
- * import { isValidPhoneNumber } from 'libphonenumber-js';
216
- * const phone = '+14155551234';
217
- * phoneManager.setPhoneNumber(phone, isValidPhoneNumber(phone));
218
- * ```
219
- */
220
- setPhoneNumber(phone: string, isValid: boolean): void;
221
- /**
222
- * Sets the marketing opt-in preference.
223
- * Only relevant if `config.optinEnabled` is true.
224
- *
225
- * @param granted - Whether the user consented to receive marketing messages
226
- */
227
- setOptInGranted(granted: boolean): void;
228
- /**
229
- * Submits the phone number for verification.
230
- * Requires a valid phone number to be set via `setPhoneNumber()`.
231
- * Transitions to 'submitting', then to 'sendingOtp' or 'success' (if no OTP).
232
- */
233
- submit(): void;
234
- /**
235
- * Sets the OTP code without submitting.
236
- * Use this for controlled input components.
237
- *
238
- * @param code - The OTP code entered by the user
239
- */
240
- setOtpCode(code: string): void;
241
- /**
242
- * Sets and submits the OTP code in one call.
243
- * Should be called when state is 'awaitingOtp' or 'otpError'.
244
- *
245
- * @param code - The complete OTP code (typically 6 alphanumeric characters)
246
- *
247
- * @example
248
- * ```typescript
249
- * // Submit OTP when user completes entry
250
- * phoneManager.submitOtp('HH36LP');
251
- * ```
252
- */
253
- submitOtp(code: string): void;
254
- /**
255
- * Requests a new OTP code to be sent.
256
- * Only works when state is 'awaitingOtp' and `canResend` is true.
257
- * Resets the resend timer.
258
- */
259
- resendOtp(): void;
260
- /**
261
- * Returns to the phone input screen from OTP entry.
262
- * Allows the user to change their phone number.
263
- * Transitions from 'awaitingOtp' or 'otpError' back to 'inputting'.
264
- */
265
- back(): void;
266
- /**
267
- * Resets the manager to initial state.
268
- * Can be called from 'success' or 'error' states to start over.
269
- * Clears all stored data including phone number and OTP.
270
- */
271
- reset(): void;
272
- };
273
- /**
274
- * Type representing a phone manager instance.
275
- * Includes state access, API methods, and lifecycle management.
276
- *
277
- * @property getState - Returns the current PhoneState
278
- * @property subscribe - Subscribes to state changes, returns unsubscribe function
279
- * @property stop - Stops the manager and cleans up resources
280
- * @property load - Initializes the verification flow
281
- * @property setPhoneNumber - Sets the phone number
282
- * @property setOptInGranted - Sets marketing opt-in preference
283
- * @property submit - Submits the phone number
284
- * @property setOtpCode - Sets OTP code without submitting
285
- * @property submitOtp - Sets and submits OTP code
286
- * @property resendOtp - Requests new OTP code
287
- * @property back - Returns to phone input from OTP screen
288
- * @property reset - Resets to initial state
289
- */
290
- type PhoneManager = ReturnType<typeof createPhoneManager>;
291
- //#endregion
1
+ import "./Manager-CXnC-tN_.js";
2
+ import "./Actor-BAf9LRYf.js";
3
+ import { a as phoneMachine, n as PhoneState, o as PhoneConfig, r as createPhoneManager, t as PhoneManager } from "./phoneManager-BsamACjL.js";
292
4
  export { type PhoneConfig, type PhoneManager, type PhoneState, createPhoneManager, phoneMachine };