@incodetech/core 0.0.0-dev-20260910-30fb659a → 0.0.0-dev-20260911-d4e8be9f

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 (69) hide show
  1. package/dist/{BrowserDiagnosticsCryptoProvider-BCbOmuXk.esm.js → BrowserDiagnosticsCryptoProvider-DGdx3emH.esm.js} +1 -1
  2. package/dist/{MotionSensorProvider-nnSH-kVd.esm.js → MotionSensorProvider-Vlyhbcty.esm.js} +1 -1
  3. package/dist/ae-signature.esm.js +1 -1
  4. package/dist/{apiError-CaZfzHR5.esm.js → apiError-DsGq8I1L.esm.js} +1 -1
  5. package/dist/authentication.esm.js +2 -2
  6. package/dist/{authenticationManager-DGbFYQEa.esm.js → authenticationManager-C1kut8FN.esm.js} +4 -4
  7. package/dist/{authenticationStateMachine-ChM9tVwT.esm.js → authenticationStateMachine-CTCuMCty.esm.js} +2 -2
  8. package/dist/camera.esm.js +1 -1
  9. package/dist/{deepsightLoader-CgAY2Xik.esm.js → deepsightLoader-HcpfFvrJ.esm.js} +5 -5
  10. package/dist/document-capture.d.ts +1 -1
  11. package/dist/document-capture.esm.js +2 -2
  12. package/dist/{documentCaptureManager-BqY_B0Ii.esm.js → documentCaptureManager-BTpHZMgW.esm.js} +1 -1
  13. package/dist/{documentCaptureManager-DD0qtFdE.d.ts → documentCaptureManager-DensIj5F.d.ts} +1 -1
  14. package/dist/{documentCaptureStateMachine-D_9dw5b1.esm.js → documentCaptureStateMachine-CPizkpcg.esm.js} +2 -2
  15. package/dist/dynamic-forms.esm.js +2 -2
  16. package/dist/{dynamicFormsManager-DbJ2sx60.esm.js → dynamicFormsManager-CIODOItK.esm.js} +1 -1
  17. package/dist/{dynamicFormsStateMachine-DdOXUivK.esm.js → dynamicFormsStateMachine-Dz0LqEEn.esm.js} +1 -1
  18. package/dist/ekyb.esm.js +3 -3
  19. package/dist/{ekybManager-DQb_i9cC.esm.js → ekybManager-BQb_E24w.esm.js} +1 -1
  20. package/dist/{ekybStateMachine-CbK8tAgd.esm.js → ekybStateMachine-Dzf-Pbdt.esm.js} +1 -1
  21. package/dist/electronic-signature.esm.js +1 -1
  22. package/dist/{electronicSignatureManager-BO07Vfiv.esm.js → electronicSignatureManager-Bf6B6pEU.esm.js} +1 -1
  23. package/dist/extensibility.d.ts +3 -3
  24. package/dist/extensibility.esm.js +12 -12
  25. package/dist/{faceCaptureManagerFactory-DgAdH1KT.esm.js → faceCaptureManagerFactory-CoWc6zH_.esm.js} +3 -3
  26. package/dist/{faceCaptureSetup-DdCkYn9V.esm.js → faceCaptureSetup-C209BNIm.esm.js} +3 -3
  27. package/dist/{feature-management-B1auhoHt.esm.js → feature-management-DJHtBpsz.esm.js} +1 -1
  28. package/dist/feature-management.esm.js +1 -1
  29. package/dist/flow.d.ts +193 -187
  30. package/dist/flow.esm.js +4 -4
  31. package/dist/{flowCompletionService-DJNQBnYX.esm.js → flowCompletionService-CTbI_iTT.esm.js} +1 -1
  32. package/dist/{flowServices-B6Dn_OP0.esm.js → flowServices-Nv0vz_a6.esm.js} +30 -5
  33. package/dist/geolocation.esm.js +2 -2
  34. package/dist/{geolocationManager-B9Fpz7LU.esm.js → geolocationManager-C4qEcTWe.esm.js} +1 -1
  35. package/dist/{geolocationStateMachine-iLoEsywE.esm.js → geolocationStateMachine-DIZOaCem.esm.js} +1 -1
  36. package/dist/id-selfie-flow.esm.js +8 -8
  37. package/dist/id.esm.js +4 -4
  38. package/dist/{idCaptureDefaults-R53rpPfW.esm.js → idCaptureDefaults-DO_iW674.esm.js} +3 -2
  39. package/dist/{idCaptureManager-CvDHZ2YE.esm.js → idCaptureManager-oNVoPND4.esm.js} +5 -5
  40. package/dist/{idCaptureServices-D_mcjCtz.esm.js → idCaptureServices-0b3RJwM_.esm.js} +4 -4
  41. package/dist/{idCaptureStateMachine-CL_f4BrG.esm.js → idCaptureStateMachine-CBELAdUH.esm.js} +9 -9
  42. package/dist/identity-reuse.d.ts +1 -1
  43. package/dist/{identityReuseManager-BFDI7iFK.d.ts → identityReuseManager-v2TH5g7e.d.ts} +4 -4
  44. package/dist/index.esm.js +1 -1
  45. package/dist/mandatory-consent.d.ts +1 -1
  46. package/dist/{mandatoryConsentManager-CSh8HjSF.d.ts → mandatoryConsentManager-BxrRrlBs.d.ts} +4 -4
  47. package/dist/{onDeviceFaceResults-BtD_Dij3.esm.js → onDeviceFaceResults-C10QzrYa.esm.js} +6 -53
  48. package/dist/{permissionGuards-BHw_SD3h.esm.js → permissionGuards-DxbvOoZJ.esm.js} +1 -1
  49. package/dist/{permissionServices-J5S1dEIf.esm.js → permissionServices-f7nBnW5P.esm.js} +2 -2
  50. package/dist/personhood.esm.js +6 -6
  51. package/dist/qe-signature.esm.js +1 -1
  52. package/dist/{runChildModule-DL_BwJt5.esm.js → runChildModule-BvxjSxjZ.esm.js} +1 -1
  53. package/dist/safeStorage-Dp9m6aOh.esm.js +422 -0
  54. package/dist/{sdkVersion-CeUGP0Pv.esm.js → sdkVersion-BRy4YQdU.esm.js} +1 -1
  55. package/dist/selfie.esm.js +6 -6
  56. package/dist/{selfieManager-CiVA7398.esm.js → selfieManager-C680J2y6.esm.js} +4 -4
  57. package/dist/{selfieStateMachine-BCbLR8OJ.esm.js → selfieStateMachine-CV3OsU5z.esm.js} +2 -2
  58. package/dist/{session-B-b1IjuR.esm.js → session-BxzK5bo1.esm.js} +3 -3
  59. package/dist/session.esm.js +4 -4
  60. package/dist/{sessionInitializer-Gw37lpQ_.esm.js → sessionInitializer-BpyJ5y2B.esm.js} +82 -14
  61. package/dist/{setup-CxO2a0J_.esm.js → setup-BQ5-0CB6.esm.js} +6 -5
  62. package/dist/{trueSightService-BTf2KSpq.esm.js → trueSightService-CGUA9dm6.esm.js} +2 -2
  63. package/dist/video-selfie.esm.js +5 -5
  64. package/dist/{videoSelfieCameraWarmer-C0GHxpmK.esm.js → videoSelfieCameraWarmer-Dn4l6XzJ.esm.js} +4 -4
  65. package/dist/{safeStorage-0bZuUtSP.esm.js → warmup-BOM-sD-6.esm.js} +14 -434
  66. package/dist/wasm.esm.js +2 -2
  67. package/dist/{wasmDsFlagSync-CyCdsfox.esm.js → wasmDsFlagSync-C3k_VK9o.esm.js} +1 -1
  68. package/dist/workflow.esm.js +15 -15
  69. package/package.json +1 -1
package/dist/flow.d.ts CHANGED
@@ -16,6 +16,192 @@ import { t as RedirectToMobileConfig } from "./types-DPIDuhut.js";
16
16
  import { a as TotalScore, c as getTotalScoreStatus, n as FinishStatus, o as classifyScoreStatus, r as GetFinishStatusFn, t as FinishScreenVariant } from "./flowCompletionService-BlAHsKyv.js";
17
17
  import { o as FlowEventSubscribable } from "./index-1PoJuUJ-.js";
18
18
  import { n as ModuleRegistry } from "./types-BfgmV7s7.js";
19
+ //#region src/modules/flow/orchestratedFlowStateMachine.d.ts
20
+ type GetFlowFn = (signal: AbortSignal) => Promise<Flow>;
21
+ type LazyModuleRegistry = {
22
+ [key: string]: (() => Promise<AnyStateMachine | {
23
+ default: AnyStateMachine;
24
+ }>) | undefined;
25
+ };
26
+ type OrchestratedFlowInput = {
27
+ getFlow: GetFlowFn;
28
+ modules?: ModuleRegistry;
29
+ lazyModules?: LazyModuleRegistry;
30
+ getFinishStatus?: GetFinishStatusFn;
31
+ enableHome?: boolean;
32
+ /**
33
+ * The flow was fetched with `getFlow(..., { deferActivation: true })`: the
34
+ * machine completes activation itself (feature-management flow id, then
35
+ * MANDATORY_CONSENT from the device fingerprint) right before the first
36
+ * module runs — on the Start tap when there is a home screen — so neither
37
+ * the flow fetch nor the home screen waits for feature-config, Statsig or
38
+ * the fingerprint.
39
+ */
40
+ deferActivation?: boolean;
41
+ };
42
+ type OrchestratedFlowEvent = {
43
+ type: 'LOAD';
44
+ } | {
45
+ type: 'CANCEL';
46
+ } | {
47
+ type: 'RESET';
48
+ } | {
49
+ type: 'MODULE_COMPLETE';
50
+ output?: unknown;
51
+ } | {
52
+ type: 'COMPLETE_FLOW';
53
+ } | {
54
+ type: 'FINISH_FLOW';
55
+ } | {
56
+ type: 'HOME_CONTINUE';
57
+ } | {
58
+ type: '*';
59
+ [key: string]: unknown;
60
+ } | {
61
+ type: string;
62
+ [key: string]: unknown;
63
+ };
64
+ //#endregion
65
+ //#region src/modules/flow/orchestratedFlowManager.d.ts
66
+ type OrchestratedFlowHomeScreen = {
67
+ visible: boolean;
68
+ isContinueLoading: boolean;
69
+ };
70
+ type OrchestratedFlowPresentation = {
71
+ isAwaitingReady: boolean;
72
+ lazyModuleKey: string | undefined;
73
+ shouldPrefetchHome: boolean;
74
+ };
75
+ type OrchestratedFlowIdleState = {
76
+ status: 'idle';
77
+ homeScreen: OrchestratedFlowHomeScreen;
78
+ presentation: OrchestratedFlowPresentation;
79
+ };
80
+ type OrchestratedFlowLoadingState = {
81
+ status: 'loading';
82
+ homeScreen: OrchestratedFlowHomeScreen;
83
+ presentation: OrchestratedFlowPresentation;
84
+ };
85
+ type OrchestratedFlowCompletingState = {
86
+ status: 'completing';
87
+ homeScreen: OrchestratedFlowHomeScreen;
88
+ presentation: OrchestratedFlowPresentation;
89
+ };
90
+ type OrchestratedFlowReadyState = {
91
+ status: 'ready';
92
+ flow: Flow;
93
+ steps: string[];
94
+ currentStepIndex: number;
95
+ currentStep: string | undefined;
96
+ config: unknown;
97
+ moduleState: unknown;
98
+ homeScreen: OrchestratedFlowHomeScreen;
99
+ presentation: OrchestratedFlowPresentation;
100
+ };
101
+ type OrchestratedFlowFinishedState = {
102
+ status: 'finished';
103
+ flow: Flow;
104
+ finishStatus: {
105
+ redirectionUrl: string;
106
+ action: 'approved' | 'rejected' | 'none';
107
+ scoreStatus: 'OK' | 'WARN' | 'MANUAL_OK' | 'FAIL' | 'UNKNOWN' | 'MANUAL_FAIL';
108
+ endScreenTitle: string | null;
109
+ endScreenText: string | null;
110
+ };
111
+ homeScreen: OrchestratedFlowHomeScreen;
112
+ presentation: OrchestratedFlowPresentation;
113
+ };
114
+ type OrchestratedFlowErrorState = {
115
+ status: 'error';
116
+ error?: string;
117
+ errorCode?: number;
118
+ moduleErrorCode?: string;
119
+ homeScreen: OrchestratedFlowHomeScreen;
120
+ presentation: OrchestratedFlowPresentation;
121
+ };
122
+ type OrchestratedFlowState = OrchestratedFlowIdleState | OrchestratedFlowLoadingState | OrchestratedFlowCompletingState | OrchestratedFlowReadyState | OrchestratedFlowFinishedState | OrchestratedFlowErrorState;
123
+ type CreateOrchestratedFlowActorOptions = {
124
+ getFlow?: GetFlowFn;
125
+ modules?: ModuleRegistry;
126
+ lazyModules?: LazyModuleRegistry;
127
+ getFinishStatus?: OrchestratedFlowInput['getFinishStatus'];
128
+ enableHome?: boolean;
129
+ deferActivation?: OrchestratedFlowInput['deferActivation'];
130
+ };
131
+ declare function createOrchestratedFlowManager(options: CreateOrchestratedFlowActorOptions): Manager<OrchestratedFlowState> & {
132
+ /**
133
+ * Start loading the flow configuration from the backend.
134
+ */
135
+ load(): void;
136
+ /**
137
+ * Cancel an in-progress flow load.
138
+ */
139
+ cancel(): void;
140
+ /**
141
+ * Reset the flow to its initial idle state.
142
+ */
143
+ reset(): void;
144
+ /**
145
+ * Signal that the current module has completed successfully.
146
+ * Call this from your UI component's `onFinish` callback.
147
+ *
148
+ * @example
149
+ * ```tsx
150
+ * <Phone
151
+ * config={config}
152
+ * onFinish={() => flowManager.completeModule()}
153
+ * />
154
+ * ```
155
+ */
156
+ completeModule(output?: unknown): void;
157
+ /**
158
+ * Skip all remaining modules and complete the flow now, notifying the
159
+ * backend (getFinishStatus) on the way to the completion step.
160
+ */
161
+ completeFlow(): void;
162
+ /**
163
+ * Finish the flow because the onboarding was already completed externally —
164
+ * e.g. the REDIRECT_TO_MOBILE handoff finished end-to-end on mobile. Lands
165
+ * on the completion screen WITHOUT calling getFinishStatus: mobile already
166
+ * notified the backend, and the desktop never reached its own finish.
167
+ * Use this (not `completeFlow`) from REDIRECT_TO_MOBILE's `onFinish`.
168
+ */
169
+ finishFlow(): void;
170
+ /**
171
+ * Signal that the current module encountered a terminal error, optionally
172
+ * with its machine-readable `moduleErrorCode`. The flow machine decides what
173
+ * to do: an advanceable terminal error (e.g. `NONEXISTENT_CUSTOMER`,
174
+ * `HINT_NOT_PROVIDED`) advances to the next step; any other error transitions
175
+ * to the terminal error state. Callers always forward the code and let core
176
+ * classify — no per-module branching in the UI.
177
+ *
178
+ * @param error - Error message describing what went wrong. Omit it to let
179
+ * the UI fall back to its own generic error copy (e.g. TerminalErrorPage's
180
+ * `common.unexpectedError`) instead of surfacing a raw/technical string.
181
+ * @param moduleErrorCode - Optional machine-readable error code (a
182
+ * `FaceErrorCode`) used by the flow machine to decide advance vs terminate
183
+ */
184
+ errorModule(error?: string, moduleErrorCode?: string): void;
185
+ /**
186
+ * Send a raw event to the flow state machine.
187
+ * Prefer using the typed methods (completeModule, errorModule) when possible.
188
+ */
189
+ send(event: OrchestratedFlowEvent): void;
190
+ readonly canNext: boolean;
191
+ getModuleConfig: <T = unknown>(moduleKey: string) => T | undefined;
192
+ isModuleEnabled: (moduleKey: string) => boolean;
193
+ isAwaitingOrchestratorReady(): boolean;
194
+ /**
195
+ * Resolve once the orchestrator has finished loading the flow and the first
196
+ * module is ready to render. Useful for gating an initialization spinner
197
+ * alongside other parallel async work (e.g. theme fetching).
198
+ */
199
+ waitForReady(): Promise<void>;
200
+ getLazyModuleKey(): string | undefined;
201
+ shouldRenderHomeScreen(): boolean;
202
+ continueFromHome(): Promise<void>;
203
+ } & FlowEventSubscribable;
204
+ //#endregion
19
205
  //#region src/modules/flow/flowUtils.d.ts
20
206
  type NormalizeFlowModulesOptions = {
21
207
  isDesktop?: boolean;
@@ -45,6 +231,12 @@ declare function enrichFlowModuleConfig(module: FlowModule, flow: Flow): Record<
45
231
  * ```
46
232
  */
47
233
  declare function getRequiredWasmPipelines(flow: Flow): WasmPipeline[];
234
+ /**
235
+ * The current capture requirement, then one capture ahead once it is ready.
236
+ * Home never looks past its first capture, and redirects stop lookahead.
237
+ * @internal Used by the shared flow shell after rendering.
238
+ */
239
+ declare function getNextRequiredWasmPipelines(state: Pick<OrchestratedFlowReadyState, 'flow' | 'currentStepIndex' | 'homeScreen'>, loadedPipelines?: readonly WasmPipeline[]): WasmPipeline[];
48
240
  /**
49
241
  * Normalizes flow modules by expanding TUTORIAL_ID into ID + SECOND_ID
50
242
  * based on configuration flags. Matches legacy flowService behavior.
@@ -254,190 +446,4 @@ interface ModuleLoader {
254
446
  }
255
447
  declare function createModuleLoader(registry: ModuleLoaderRegistry): ModuleLoader;
256
448
  //#endregion
257
- //#region src/modules/flow/orchestratedFlowStateMachine.d.ts
258
- type GetFlowFn = (signal: AbortSignal) => Promise<Flow>;
259
- type LazyModuleRegistry = {
260
- [key: string]: (() => Promise<AnyStateMachine | {
261
- default: AnyStateMachine;
262
- }>) | undefined;
263
- };
264
- type OrchestratedFlowInput = {
265
- getFlow: GetFlowFn;
266
- modules?: ModuleRegistry;
267
- lazyModules?: LazyModuleRegistry;
268
- getFinishStatus?: GetFinishStatusFn;
269
- enableHome?: boolean;
270
- /**
271
- * The flow was fetched with `getFlow(..., { deferActivation: true })`: the
272
- * machine completes activation itself (feature-management flow id, then
273
- * MANDATORY_CONSENT from the device fingerprint) right before the first
274
- * module runs — on the Start tap when there is a home screen — so neither
275
- * the flow fetch nor the home screen waits for feature-config, Statsig or
276
- * the fingerprint.
277
- */
278
- deferActivation?: boolean;
279
- };
280
- type OrchestratedFlowEvent = {
281
- type: 'LOAD';
282
- } | {
283
- type: 'CANCEL';
284
- } | {
285
- type: 'RESET';
286
- } | {
287
- type: 'MODULE_COMPLETE';
288
- output?: unknown;
289
- } | {
290
- type: 'COMPLETE_FLOW';
291
- } | {
292
- type: 'FINISH_FLOW';
293
- } | {
294
- type: 'HOME_CONTINUE';
295
- } | {
296
- type: '*';
297
- [key: string]: unknown;
298
- } | {
299
- type: string;
300
- [key: string]: unknown;
301
- };
302
- //#endregion
303
- //#region src/modules/flow/orchestratedFlowManager.d.ts
304
- type OrchestratedFlowHomeScreen = {
305
- visible: boolean;
306
- isContinueLoading: boolean;
307
- };
308
- type OrchestratedFlowPresentation = {
309
- isAwaitingReady: boolean;
310
- lazyModuleKey: string | undefined;
311
- shouldPrefetchHome: boolean;
312
- };
313
- type OrchestratedFlowIdleState = {
314
- status: 'idle';
315
- homeScreen: OrchestratedFlowHomeScreen;
316
- presentation: OrchestratedFlowPresentation;
317
- };
318
- type OrchestratedFlowLoadingState = {
319
- status: 'loading';
320
- homeScreen: OrchestratedFlowHomeScreen;
321
- presentation: OrchestratedFlowPresentation;
322
- };
323
- type OrchestratedFlowCompletingState = {
324
- status: 'completing';
325
- homeScreen: OrchestratedFlowHomeScreen;
326
- presentation: OrchestratedFlowPresentation;
327
- };
328
- type OrchestratedFlowReadyState = {
329
- status: 'ready';
330
- flow: Flow;
331
- steps: string[];
332
- currentStepIndex: number;
333
- currentStep: string | undefined;
334
- config: unknown;
335
- moduleState: unknown;
336
- homeScreen: OrchestratedFlowHomeScreen;
337
- presentation: OrchestratedFlowPresentation;
338
- };
339
- type OrchestratedFlowFinishedState = {
340
- status: 'finished';
341
- flow: Flow;
342
- finishStatus: {
343
- redirectionUrl: string;
344
- action: 'approved' | 'rejected' | 'none';
345
- scoreStatus: 'OK' | 'WARN' | 'MANUAL_OK' | 'FAIL' | 'UNKNOWN' | 'MANUAL_FAIL';
346
- endScreenTitle: string | null;
347
- endScreenText: string | null;
348
- };
349
- homeScreen: OrchestratedFlowHomeScreen;
350
- presentation: OrchestratedFlowPresentation;
351
- };
352
- type OrchestratedFlowErrorState = {
353
- status: 'error';
354
- error?: string;
355
- errorCode?: number;
356
- moduleErrorCode?: string;
357
- homeScreen: OrchestratedFlowHomeScreen;
358
- presentation: OrchestratedFlowPresentation;
359
- };
360
- type OrchestratedFlowState = OrchestratedFlowIdleState | OrchestratedFlowLoadingState | OrchestratedFlowCompletingState | OrchestratedFlowReadyState | OrchestratedFlowFinishedState | OrchestratedFlowErrorState;
361
- type CreateOrchestratedFlowActorOptions = {
362
- getFlow?: GetFlowFn;
363
- modules?: ModuleRegistry;
364
- lazyModules?: LazyModuleRegistry;
365
- getFinishStatus?: OrchestratedFlowInput['getFinishStatus'];
366
- enableHome?: boolean;
367
- deferActivation?: OrchestratedFlowInput['deferActivation'];
368
- };
369
- declare function createOrchestratedFlowManager(options: CreateOrchestratedFlowActorOptions): Manager<OrchestratedFlowState> & {
370
- /**
371
- * Start loading the flow configuration from the backend.
372
- */
373
- load(): void;
374
- /**
375
- * Cancel an in-progress flow load.
376
- */
377
- cancel(): void;
378
- /**
379
- * Reset the flow to its initial idle state.
380
- */
381
- reset(): void;
382
- /**
383
- * Signal that the current module has completed successfully.
384
- * Call this from your UI component's `onFinish` callback.
385
- *
386
- * @example
387
- * ```tsx
388
- * <Phone
389
- * config={config}
390
- * onFinish={() => flowManager.completeModule()}
391
- * />
392
- * ```
393
- */
394
- completeModule(output?: unknown): void;
395
- /**
396
- * Skip all remaining modules and complete the flow now, notifying the
397
- * backend (getFinishStatus) on the way to the completion step.
398
- */
399
- completeFlow(): void;
400
- /**
401
- * Finish the flow because the onboarding was already completed externally —
402
- * e.g. the REDIRECT_TO_MOBILE handoff finished end-to-end on mobile. Lands
403
- * on the completion screen WITHOUT calling getFinishStatus: mobile already
404
- * notified the backend, and the desktop never reached its own finish.
405
- * Use this (not `completeFlow`) from REDIRECT_TO_MOBILE's `onFinish`.
406
- */
407
- finishFlow(): void;
408
- /**
409
- * Signal that the current module encountered a terminal error, optionally
410
- * with its machine-readable `moduleErrorCode`. The flow machine decides what
411
- * to do: an advanceable terminal error (e.g. `NONEXISTENT_CUSTOMER`,
412
- * `HINT_NOT_PROVIDED`) advances to the next step; any other error transitions
413
- * to the terminal error state. Callers always forward the code and let core
414
- * classify — no per-module branching in the UI.
415
- *
416
- * @param error - Error message describing what went wrong. Omit it to let
417
- * the UI fall back to its own generic error copy (e.g. TerminalErrorPage's
418
- * `common.unexpectedError`) instead of surfacing a raw/technical string.
419
- * @param moduleErrorCode - Optional machine-readable error code (a
420
- * `FaceErrorCode`) used by the flow machine to decide advance vs terminate
421
- */
422
- errorModule(error?: string, moduleErrorCode?: string): void;
423
- /**
424
- * Send a raw event to the flow state machine.
425
- * Prefer using the typed methods (completeModule, errorModule) when possible.
426
- */
427
- send(event: OrchestratedFlowEvent): void;
428
- readonly canNext: boolean;
429
- getModuleConfig: <T = unknown>(moduleKey: string) => T | undefined;
430
- isModuleEnabled: (moduleKey: string) => boolean;
431
- isAwaitingOrchestratorReady(): boolean;
432
- /**
433
- * Resolve once the orchestrator has finished loading the flow and the first
434
- * module is ready to render. Useful for gating an initialization spinner
435
- * alongside other parallel async work (e.g. theme fetching).
436
- */
437
- waitForReady(): Promise<void>;
438
- getLazyModuleKey(): string | undefined;
439
- shouldRenderHomeScreen(): boolean;
440
- continueFromHome(): Promise<void>;
441
- } & FlowEventSubscribable;
442
- //#endregion
443
- export { type DeepPartial, type FinishScreenVariant, type FinishStatus, type Flow, type FlowModule, type FlowModuleConfig, type FlowReadyState, type FlowState, type LazyModule, type LazyModuleRegistry, type ModuleLoader, type ModuleLoaderRegistry, type ModuleRegistry, type OrchestratedFlowCompletingState, type OrchestratedFlowFinishedState, type OrchestratedFlowHomeScreen, type OrchestratedFlowInput, type OrchestratedFlowPresentation, type OrchestratedFlowReadyState, type OrchestratedFlowState, type ResolveDashboardModuleConfigOptions, type ResolvedDashboardModuleConfig, type TotalScore, classifyScoreStatus, createFlowManager, createModuleLoader, createOrchestratedFlowManager, enrichFlowModuleConfig, getFlow, getRequiredWasmPipelines, getTotalScoreStatus, mergeDashboardConfig, noOpFlowModuleMachine, normalizeFlowModules, preloadDashboardFlow, resolveDashboardModuleConfig };
449
+ export { type DeepPartial, type FinishScreenVariant, type FinishStatus, type Flow, type FlowModule, type FlowModuleConfig, type FlowReadyState, type FlowState, type LazyModule, type LazyModuleRegistry, type ModuleLoader, type ModuleLoaderRegistry, type ModuleRegistry, type OrchestratedFlowCompletingState, type OrchestratedFlowFinishedState, type OrchestratedFlowHomeScreen, type OrchestratedFlowInput, type OrchestratedFlowPresentation, type OrchestratedFlowReadyState, type OrchestratedFlowState, type ResolveDashboardModuleConfigOptions, type ResolvedDashboardModuleConfig, type TotalScore, classifyScoreStatus, createFlowManager, createModuleLoader, createOrchestratedFlowManager, enrichFlowModuleConfig, getFlow, getNextRequiredWasmPipelines, getRequiredWasmPipelines, getTotalScoreStatus, mergeDashboardConfig, noOpFlowModuleMachine, normalizeFlowModules, preloadDashboardFlow, resolveDashboardModuleConfig };
package/dist/flow.esm.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { v as addEvent } from "./events-ijlbX_Wx.esm.js";
2
- import { A as mergeDashboardConfig, a as resolveDashboardModuleConfig, c as normalizeFlowModules, l as resolveFlowModuleConfig, n as getFlow, o as enrichFlowModuleConfig, r as preloadDashboardFlow, s as getRequiredWasmPipelines, t as completeDeferredActivation } from "./flowServices-B6Dn_OP0.esm.js";
2
+ import { a as resolveDashboardModuleConfig, c as getRequiredWasmPipelines, j as mergeDashboardConfig, l as normalizeFlowModules, n as getFlow, o as enrichFlowModuleConfig, r as preloadDashboardFlow, s as getNextRequiredWasmPipelines, t as completeDeferredActivation, u as resolveFlowModuleConfig } from "./flowServices-Nv0vz_a6.esm.js";
3
3
  import { i as assign, s as createActor, t as setup, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
4
4
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
5
- import { n as getFinishStatus, r as getTotalScoreStatus, t as classifyScoreStatus } from "./flowCompletionService-DJNQBnYX.esm.js";
6
- import { n as attachFlowEventEmitter, t as runChildModule } from "./runChildModule-DL_BwJt5.esm.js";
5
+ import { n as getFinishStatus, r as getTotalScoreStatus, t as classifyScoreStatus } from "./flowCompletionService-CTbI_iTT.esm.js";
6
+ import { n as attachFlowEventEmitter, t as runChildModule } from "./runChildModule-BvxjSxjZ.esm.js";
7
7
  import { n as isAdvanceableError } from "./advanceableErrors-CpF2cBy6.esm.js";
8
8
  //#region src/modules/flow/noOpFlowModuleMachine.ts
9
9
  const noOpFlowModuleMachine = setup({}).createMachine({
@@ -1066,4 +1066,4 @@ function createOrchestratedFlowManager(options) {
1066
1066
  }));
1067
1067
  }
1068
1068
  //#endregion
1069
- export { classifyScoreStatus, createFlowManager, createModuleLoader, createOrchestratedFlowManager, enrichFlowModuleConfig, getFlow, getRequiredWasmPipelines, getTotalScoreStatus, mergeDashboardConfig, noOpFlowModuleMachine, normalizeFlowModules, preloadDashboardFlow, resolveDashboardModuleConfig };
1069
+ export { classifyScoreStatus, createFlowManager, createModuleLoader, createOrchestratedFlowManager, enrichFlowModuleConfig, getFlow, getNextRequiredWasmPipelines, getRequiredWasmPipelines, getTotalScoreStatus, mergeDashboardConfig, noOpFlowModuleMachine, normalizeFlowModules, preloadDashboardFlow, resolveDashboardModuleConfig };
@@ -1,6 +1,6 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
2
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
3
- import { i as toIncodeApiError } from "./apiError-CaZfzHR5.esm.js";
3
+ import { i as toIncodeApiError } from "./apiError-DsGq8I1L.esm.js";
4
4
  //#region src/modules/flow/flowCompletionService.ts
5
5
  const getFinishStatus = async (flowId, signal) => {
6
6
  const url = `${endpoints.finishStatus}${flowId ? `?flowId=${flowId}` : ""}`;
@@ -1,9 +1,10 @@
1
- import { E as updateFeatureManagementUser } from "./feature-management-B1auhoHt.esm.js";
1
+ import { n as getWasmStatus } from "./warmup-BOM-sD-6.esm.js";
2
+ import { E as updateFeatureManagementUser } from "./feature-management-DJHtBpsz.esm.js";
2
3
  import { r as getToken, t as api } from "./api-Bx3gKW_y.esm.js";
3
- import { c as whenSessionFingerprintSettled, i as initializeSession, l as getStandaloneFlowPolicy, r as getSessionFingerprintResult } from "./sessionInitializer-Gw37lpQ_.esm.js";
4
+ import { c as whenSessionFingerprintSettled, i as initializeSession, l as getStandaloneFlowPolicy, r as getSessionFingerprintResult } from "./sessionInitializer-BpyJ5y2B.esm.js";
4
5
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
5
- import { i as toIncodeApiError } from "./apiError-CaZfzHR5.esm.js";
6
- import "./session-B-b1IjuR.esm.js";
6
+ import { i as toIncodeApiError } from "./apiError-DsGq8I1L.esm.js";
7
+ import "./session-BxzK5bo1.esm.js";
7
8
  import { i as toEkycConfig } from "./ekycUtils-Dew1rBG0.esm.js";
8
9
  //#region src/modules/flow/dashboardConfig.ts
9
10
  function isPlainObject(value) {
@@ -348,6 +349,30 @@ function getRequiredWasmPipelines(flow) {
348
349
  return [...pipelines];
349
350
  }
350
351
  /**
352
+ * The current capture requirement, then one capture ahead once it is ready.
353
+ * Home never looks past its first capture, and redirects stop lookahead.
354
+ * @internal Used by the shared flow shell after rendering.
355
+ */
356
+ function getNextRequiredWasmPipelines(state, loadedPipelines = getWasmStatus().loadedPipelines) {
357
+ const { flow, currentStepIndex, homeScreen } = state;
358
+ if (currentStepIndex < 0) return [];
359
+ let currentPipelines = [];
360
+ for (let index = currentStepIndex; index < flow.flowModules.length; index++) {
361
+ const module = flow.flowModules[index];
362
+ if (module.key === "REDIRECT_TO_MOBILE") return [];
363
+ const required = getRequiredWasmPipelines({
364
+ ...flow,
365
+ flowModules: [module]
366
+ });
367
+ if (index === currentStepIndex && !homeScreen.visible) currentPipelines = required;
368
+ if (required.length === 0) continue;
369
+ const missing = required.filter((pipeline) => !loadedPipelines.includes(pipeline));
370
+ if (missing.length > 0) return missing;
371
+ if (homeScreen.visible || required.some((pipeline) => !currentPipelines.includes(pipeline))) return [];
372
+ }
373
+ return [];
374
+ }
375
+ /**
351
376
  * Normalizes flow modules by expanding TUTORIAL_ID into ID + SECOND_ID
352
377
  * based on configuration flags. Matches legacy flowService behavior.
353
378
  *
@@ -657,4 +682,4 @@ async function resolveDashboardModuleConfig(options) {
657
682
  return flowConfig;
658
683
  }
659
684
  //#endregion
660
- export { mergeDashboardConfig as A, DEV_ONLY_COUNTRIES as C, SUPPORTED_COUNTRIES as D, INVALID_CNPJ_PATTERNS as E, UBO_FIELD_LABELS as O, COUNTRIES_WITH_CNPJ_VALIDATION as S, FIELD_ORDER as T, toEkybConfig as _, resolveDashboardModuleConfig as a, CNPJ_FIRST_DIGIT_FACTORS as b, normalizeFlowModules as c, resolveVideoSelfieSteps as d, videoSelfieWasmPipelines as f, sortModulesByOrder as g, requiresAddressValidation as h, resetDashboardFlowCache as i, isSupportedCountry as k, resolveFlowModuleConfig as l, isFieldOptional as m, getFlow as n, enrichFlowModuleConfig as o, hasAtLeastOneAddressField as p, preloadDashboardFlow as r, getRequiredWasmPipelines as s, completeDeferredActivation as t, facingModeForStep as u, ADDRESS_FIELDS as v, FIELD_NAME_MAPPING as w, CNPJ_SECOND_DIGIT_FACTORS as x, ALL_COUNTRIES as y };
685
+ export { isSupportedCountry as A, COUNTRIES_WITH_CNPJ_VALIDATION as C, INVALID_CNPJ_PATTERNS as D, FIELD_ORDER as E, SUPPORTED_COUNTRIES as O, CNPJ_SECOND_DIGIT_FACTORS as S, FIELD_NAME_MAPPING as T, sortModulesByOrder as _, resolveDashboardModuleConfig as a, ALL_COUNTRIES as b, getRequiredWasmPipelines as c, facingModeForStep as d, resolveVideoSelfieSteps as f, requiresAddressValidation as g, isFieldOptional as h, resetDashboardFlowCache as i, mergeDashboardConfig as j, UBO_FIELD_LABELS as k, normalizeFlowModules as l, hasAtLeastOneAddressField as m, getFlow as n, enrichFlowModuleConfig as o, videoSelfieWasmPipelines as p, preloadDashboardFlow as r, getNextRequiredWasmPipelines as s, completeDeferredActivation as t, resolveFlowModuleConfig as u, toEkybConfig as v, DEV_ONLY_COUNTRIES as w, CNPJ_FIRST_DIGIT_FACTORS as x, ADDRESS_FIELDS as y };
@@ -1,3 +1,3 @@
1
- import { t as createGeolocationManager } from "./geolocationManager-B9Fpz7LU.esm.js";
2
- import { t as geolocationMachine } from "./geolocationStateMachine-iLoEsywE.esm.js";
1
+ import { t as createGeolocationManager } from "./geolocationManager-C4qEcTWe.esm.js";
2
+ import { t as geolocationMachine } from "./geolocationStateMachine-DIZOaCem.esm.js";
3
3
  export { createGeolocationManager, geolocationMachine };
@@ -1,6 +1,6 @@
1
1
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
2
2
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
3
- import { t as geolocationMachine } from "./geolocationStateMachine-iLoEsywE.esm.js";
3
+ import { t as geolocationMachine } from "./geolocationStateMachine-DIZOaCem.esm.js";
4
4
  //#region ../infra/src/providers/browser/BrowserGeolocationProvider.ts
5
5
  var BrowserGeolocationProvider = class {
6
6
  getCurrentPosition() {
@@ -1,7 +1,7 @@
1
1
  import { t as api } from "./api-Bx3gKW_y.esm.js";
2
2
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
3
3
  import { a as isIOS, t as isAndroid } from "./platform-DkcRc9JV.esm.js";
4
- import { n as isConnectivityError } from "./apiError-CaZfzHR5.esm.js";
4
+ import { n as isConnectivityError } from "./apiError-DsGq8I1L.esm.js";
5
5
  import { i as assign, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
6
6
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
7
7
  //#region src/modules/geolocation/geolocationServices.ts
@@ -1,18 +1,18 @@
1
- import { t as ensureWasmPipelines } from "./setup-CxO2a0J_.esm.js";
2
- import { r as WasmUtilProvider } from "./safeStorage-0bZuUtSP.esm.js";
1
+ import { t as ensureWasmPipelines } from "./setup-BQ5-0CB6.esm.js";
2
+ import { r as WasmUtilProvider } from "./safeStorage-Dp9m6aOh.esm.js";
3
3
  import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BXhgNxLt.esm.js";
4
- import { a as resolveDashboardModuleConfig, u as facingModeForStep } from "./flowServices-B6Dn_OP0.esm.js";
4
+ import { a as resolveDashboardModuleConfig, d as facingModeForStep } from "./flowServices-Nv0vz_a6.esm.js";
5
5
  import { i as assign, r as sendTo, s as createActor, t as setup, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
6
6
  import { n as fromPromise, t as fromCallback } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
7
- import { a as encryptSelfieImage, l as startDetection, p as FaceDetectionProvider } from "./onDeviceFaceResults-BtD_Dij3.esm.js";
7
+ import { a as encryptSelfieImage, l as startDetection, p as FaceDetectionProvider } from "./onDeviceFaceResults-C10QzrYa.esm.js";
8
8
  import { a as StreamCanvasProcessingSession } from "./recordingsRepository-CCWy13M-.esm.js";
9
9
  import { n as getWindowDimensions } from "./getDeviceClass-CeBiEayS.esm.js";
10
10
  import { a as uploadSelfie, r as processFace } from "./selfieErrorUtils-C6gC06J7.esm.js";
11
11
  import { t as StreamCanvasCapture } from "./StreamCanvasCapture-D2XcXCZ4.esm.js";
12
- import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider, t as DEFAULT_ID_CAPTURE_GEOMETRY } from "./idCaptureDefaults-R53rpPfW.esm.js";
13
- import { d as uploadIdImage, m as ID_ERROR_CODES, p as validateUploadResponse, s as processId } from "./idCaptureServices-D_mcjCtz.esm.js";
14
- import { n as getFinishStatus } from "./flowCompletionService-DJNQBnYX.esm.js";
15
- import { i as delay, n as defaultAcquireCamera, o as isSelfieValidationError, s as isWrongVideoSelfieIdSide } from "./videoSelfieCameraWarmer-C0GHxpmK.esm.js";
12
+ import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider, t as DEFAULT_ID_CAPTURE_GEOMETRY } from "./idCaptureDefaults-DO_iW674.esm.js";
13
+ import { d as uploadIdImage, m as ID_ERROR_CODES, p as validateUploadResponse, s as processId } from "./idCaptureServices-0b3RJwM_.esm.js";
14
+ import { n as getFinishStatus } from "./flowCompletionService-CTbI_iTT.esm.js";
15
+ import { i as delay, n as defaultAcquireCamera, o as isSelfieValidationError, s as isWrongVideoSelfieIdSide } from "./videoSelfieCameraWarmer-Dn4l6XzJ.esm.js";
16
16
  //#region src/modules/id-selfie-flow/idSelfieFlowStepDetector.ts
17
17
  /** Default autocapture window for the selfie step. */
18
18
  const SELFIE_AUTOCAPTURE_MS = 1e4;
package/dist/id.esm.js CHANGED
@@ -1,10 +1,10 @@
1
- import { l as BrowserStorageProvider } from "./setup-CxO2a0J_.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-BQ5-0CB6.esm.js";
2
2
  import { n as eventModuleNames } from "./events-ijlbX_Wx.esm.js";
3
3
  import { i as assign, s as createActor } from "./xstate.esm-BuFLFuzz.esm.js";
4
4
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
5
- import { a as isRedirectFlowType, c as MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, i as DIGITAL_ID_REGISTRY, l as MANUAL_UPLOAD_MAX_RETRIES, o as resolveDigitalIdImplementation, r as DIGITAL_ID_DOCUMENT_TYPES, s as MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, t as idCaptureMachine, u as resolveWalletPlatform } from "./idCaptureStateMachine-CL_f4BrG.esm.js";
6
- import { n as createIdCaptureActor, r as createIdCaptureManagerFromActor, t as createIdCaptureManager } from "./idCaptureManager-CvDHZ2YE.esm.js";
7
- import { a as preloadIdRecordingProvider, c as startRecordingSession, d as uploadIdImage, f as uploadManualIdFile, g as resolveIdCaptureThresholds, i as pauseRecordingForAttempt, l as stopRecording, m as ID_ERROR_CODES, n as barcodeToBase64, o as prepareRecordingForCameraRetry, p as validateUploadResponse, r as initializeIdCapture, s as processId, t as addBarcode, u as stopStream } from "./idCaptureServices-D_mcjCtz.esm.js";
5
+ import { a as isRedirectFlowType, c as MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES, i as DIGITAL_ID_REGISTRY, l as MANUAL_UPLOAD_MAX_RETRIES, o as resolveDigitalIdImplementation, r as DIGITAL_ID_DOCUMENT_TYPES, s as MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS, t as idCaptureMachine, u as resolveWalletPlatform } from "./idCaptureStateMachine-CBELAdUH.esm.js";
6
+ import { n as createIdCaptureActor, r as createIdCaptureManagerFromActor, t as createIdCaptureManager } from "./idCaptureManager-oNVoPND4.esm.js";
7
+ import { a as preloadIdRecordingProvider, c as startRecordingSession, d as uploadIdImage, f as uploadManualIdFile, g as resolveIdCaptureThresholds, i as pauseRecordingForAttempt, l as stopRecording, m as ID_ERROR_CODES, n as barcodeToBase64, o as prepareRecordingForCameraRetry, p as validateUploadResponse, r as initializeIdCapture, s as processId, t as addBarcode, u as stopStream } from "./idCaptureServices-0b3RJwM_.esm.js";
8
8
  import { t as invokeOnCaptureCallback } from "./invokeOnCaptureCallback-BjzPjJ_p.esm.js";
9
9
  //#region src/modules/id/deviceWallet/deviceWalletErrors.ts
10
10
  /**
@@ -1,6 +1,7 @@
1
1
  import { _ as resolveWasmSource, f as WASM_MODEL_FILES } from "./wasmWebClient-BJCaFeBL.esm.js";
2
- import { p as getBarcodeEnhanceModelUrl } from "./setup-CxO2a0J_.esm.js";
3
- import { i as BaseWasmProvider, l as wasmRuntime, o as getResolvedModelSource } from "./safeStorage-0bZuUtSP.esm.js";
2
+ import { p as getBarcodeEnhanceModelUrl } from "./setup-BQ5-0CB6.esm.js";
3
+ import { s as wasmRuntime, t as getResolvedModelSource } from "./warmup-BOM-sD-6.esm.js";
4
+ import { i as BaseWasmProvider } from "./safeStorage-Dp9m6aOh.esm.js";
4
5
  import { t as IncodeCanvas } from "./canvas-E1zGkel4.esm.js";
5
6
  //#region ../infra/src/media/CameraCompositor.ts
6
7
  const MAX_COMPOSITE_LONG_EDGE = 1280;
@@ -1,12 +1,12 @@
1
- import { l as BrowserStorageProvider } from "./setup-CxO2a0J_.esm.js";
1
+ import { l as BrowserStorageProvider } from "./setup-BQ5-0CB6.esm.js";
2
2
  import { n as eventModuleNames, o as createManagerInstrumentation } from "./events-ijlbX_Wx.esm.js";
3
3
  import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
4
4
  import { s as createActor, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
5
- import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-CyCdsfox.esm.js";
5
+ import { t as setWasmDsFlagSync } from "./wasmDsFlagSync-C3k_VK9o.esm.js";
6
6
  import { t as BrowserVisibilityObserverProvider } from "./BrowserVisibilityObserverProvider-BrJN1B8A.esm.js";
7
- import { o as resetWasmMotionPrimedForModule, r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-J5S1dEIf.esm.js";
8
- import { n as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-CL_f4BrG.esm.js";
9
- import { g as resolveIdCaptureThresholds, h as resolveCaptureOptimizingTreatment } from "./idCaptureServices-D_mcjCtz.esm.js";
7
+ import { o as resetWasmMotionPrimedForModule, r as primeMotionFromUserGestureIfNeeded } from "./permissionServices-f7nBnW5P.esm.js";
8
+ import { n as getManualUploadTabs, t as idCaptureMachine } from "./idCaptureStateMachine-CBELAdUH.esm.js";
9
+ import { g as resolveIdCaptureThresholds, h as resolveCaptureOptimizingTreatment } from "./idCaptureServices-0b3RJwM_.esm.js";
10
10
  //#region src/modules/id/digitalUpload/instrumentation.ts
11
11
  const TERMINAL_REASONS = /* @__PURE__ */ new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
12
12
  function isHoldingState(value) {
@@ -1,16 +1,16 @@
1
- import { t as ensureWasmPipelines } from "./setup-CxO2a0J_.esm.js";
2
- import { i as numberParam, n as defineExperimentParams, t as booleanParam, u as resolveExperimentOnce } from "./feature-management-B1auhoHt.esm.js";
1
+ import { t as ensureWasmPipelines } from "./setup-BQ5-0CB6.esm.js";
2
+ import { i as numberParam, n as defineExperimentParams, t as booleanParam, u as resolveExperimentOnce } from "./feature-management-DJHtBpsz.esm.js";
3
3
  import { t as api } from "./api-Bx3gKW_y.esm.js";
4
4
  import { t as endpoints } from "./endpoints-D3B9mUHh.esm.js";
5
5
  import { i as isDesktop } from "./platform-DkcRc9JV.esm.js";
6
6
  import { i as assign, t as setup } from "./xstate.esm-BuFLFuzz.esm.js";
7
7
  import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
8
- import { s as queryCameraPermission } from "./permissionServices-J5S1dEIf.esm.js";
8
+ import { s as queryCameraPermission } from "./permissionServices-f7nBnW5P.esm.js";
9
9
  import { n as startRecording, r as stopRecording$1, t as createRecordingSession } from "./recordingsRepository-CCWy13M-.esm.js";
10
10
  import { a as isBackFacingTrack, n as getBackCameraStream } from "./backCameraStream-DE_5qY04.esm.js";
11
11
  import { t as getDeviceClass } from "./getDeviceClass-5NYZg9s6.esm.js";
12
12
  import { t as MultipartRecordingService } from "./multipartRecordingService-B3C_zlev.esm.js";
13
- import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-R53rpPfW.esm.js";
13
+ import { i as CameraCompositor, n as DEFAULT_ID_CAPTURE_THRESHOLDS, r as IdCaptureProvider } from "./idCaptureDefaults-DO_iW674.esm.js";
14
14
  //#region src/internal/camera/cameraServices.ts
15
15
  function createCameraServices(camera) {
16
16
  return {