@incodetech/core 0.0.0-dev-20260512-e44bacb → 0.0.0-dev-20260512-cffbe28
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.
- package/dist/{BaseWasmProvider-C2cw9STp.esm.js → BaseWasmProvider-IiHnsP8E.esm.js} +17 -17
- package/dist/{WasmUtilProvider-B8VtGgvF.esm.js → WasmUtilProvider-BrEYcdhY.esm.js} +1 -1
- package/dist/ae-signature.d.ts +1 -1
- package/dist/authentication.esm.js +6 -6
- package/dist/{authenticationManager-D0Yv5R02.esm.js → authenticationManager-CKDxnLtG.esm.js} +2 -2
- package/dist/{authenticationStateMachine-CFiP6P_V.esm.js → authenticationStateMachine-BNs4VCxh.esm.js} +2 -2
- package/dist/consent.d.ts +50 -50
- package/dist/cpf-ocr.d.ts +17 -17
- package/dist/{deepsightLoader-CFNSfs2N.esm.js → deepsightLoader-BMeAmiNh.esm.js} +2 -2
- package/dist/document-capture.d.ts +76 -76
- package/dist/document-upload.d.ts +49 -49
- package/dist/ekyb.esm.js +3 -3
- package/dist/{ekybStateMachine-Cq7M50sN.esm.js → ekybStateMachine-tZ1_L9vE.esm.js} +1 -1
- package/dist/electronic-signature.d.ts +1 -1
- package/dist/extensibility.d.ts +1 -1
- package/dist/extensibility.esm.js +11 -11
- package/dist/{faceCaptureSetup-zLRBv0-5.esm.js → faceCaptureSetup-CUzqUwkP.esm.js} +1 -1
- package/dist/flow.esm.js +2 -2
- package/dist/{flowServices-CLnM71N7.esm.js → flowServices-CLo2qihS.esm.js} +1 -1
- package/dist/home.d.ts +10 -10
- package/dist/id-ocr.d.ts +55 -55
- package/dist/id.d.ts +1 -1
- package/dist/id.esm.js +5 -5
- package/dist/{idCaptureManager-C4xBRJNt.d.ts → idCaptureManager-DiFBYm7h.d.ts} +43 -1
- package/dist/{idCaptureManager-vkJ6QLuk.esm.js → idCaptureManager-ZtfBOR6V.esm.js} +64 -1
- package/dist/{idCaptureStateMachine-C94NHeR2.esm.js → idCaptureStateMachine-BuX1-VlB.esm.js} +358 -14
- package/dist/identity-reuse.d.ts +40 -40
- package/dist/{index-CNrrk1gH.d.ts → index-BRdxM5zm.d.ts} +119 -119
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +4 -4
- package/dist/mandatory-consent.d.ts +50 -50
- package/dist/qe-signature.d.ts +1 -1
- package/dist/{recordingService-BsYjkILQ.esm.js → recordingService-DMaVUhWY.esm.js} +2 -2
- package/dist/selfie.esm.js +6 -6
- package/dist/{selfieManager-ByCKxpZC.esm.js → selfieManager-DC9hKgt7.esm.js} +2 -2
- package/dist/{selfieStateMachine-ecwZ7tWK.esm.js → selfieStateMachine-DvOTE42w.esm.js} +2 -2
- package/dist/{session-DWFMKdX6.esm.js → session-DAspZUCj.esm.js} +1 -1
- package/dist/session.esm.js +1 -1
- package/dist/{setup-D3rE3N3K.d.ts → setup-DM301Lyz.d.ts} +39 -5
- package/dist/{setup-h75-vL1d.esm.js → setup-DyspWyTY.esm.js} +326 -169
- package/dist/wasm.d.ts +1 -1
- package/dist/wasm.esm.js +4 -4
- package/dist/workflow.d.ts +84 -84
- package/dist/workflow.esm.js +9 -9
- package/package.json +3 -3
package/dist/{idCaptureStateMachine-C94NHeR2.esm.js → idCaptureStateMachine-BuX1-VlB.esm.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as WasmPipelineType, o as IdCaptureModelType, r as mlWasmJSApi_default, t as BaseWasmProvider } from "./BaseWasmProvider-IiHnsP8E.esm.js";
|
|
2
2
|
import { t as BrowserTimerProvider } from "./BrowserTimerProvider-BZGH3sYJ.esm.js";
|
|
3
3
|
import { r as getToken, t as api } from "./api-eqRXuVG-.esm.js";
|
|
4
4
|
import { S as revokeObjectURL } from "./events-Bt1azl2B.esm.js";
|
|
5
5
|
import { t as endpoints } from "./endpoints-B3V1U9Dg.esm.js";
|
|
6
|
-
import { t as getDisableIpify } from "./session-
|
|
6
|
+
import { t as getDisableIpify } from "./session-DAspZUCj.esm.js";
|
|
7
7
|
import { a as fromPromise, i as fromCallback, n as sendTo, r as assign, t as setup } from "./xstate.esm-7GmmAwg6.esm.js";
|
|
8
|
-
import { _ as StreamCanvasCapture, d as createRecordingSession, f as startRecording, g as flagIdManualReview, m as StreamCanvasProcessingSession, n as preloadOpenViduProvider, p as stopRecording$1 } from "./recordingService-
|
|
8
|
+
import { _ as StreamCanvasCapture, d as createRecordingSession, f as startRecording, g as flagIdManualReview, m as StreamCanvasProcessingSession, n as preloadOpenViduProvider, p as stopRecording$1 } from "./recordingService-DMaVUhWY.esm.js";
|
|
9
9
|
import { n as IncodeCanvas } from "./deepsightService-IxmrmdKl.esm.js";
|
|
10
10
|
import { r as getWindowDimensions } from "./getBrowser-Y88tNVud.esm.js";
|
|
11
11
|
import { t as addDeviceStats } from "./stats-Bqq9IKre.esm.js";
|
|
@@ -591,7 +591,7 @@ const uploadManualFileActor = fromPromise(async ({ input, signal }) => {
|
|
|
591
591
|
signal
|
|
592
592
|
});
|
|
593
593
|
});
|
|
594
|
-
const getUploadResponseFromEvent = (event) => {
|
|
594
|
+
const getUploadResponseFromEvent$1 = (event) => {
|
|
595
595
|
if ("output" in event) return event.output;
|
|
596
596
|
};
|
|
597
597
|
const _manualUploadMachine = setup({
|
|
@@ -682,7 +682,7 @@ const _manualUploadMachine = setup({
|
|
|
682
682
|
},
|
|
683
683
|
canContinueFromPassportTab: ({ context }) => context.activeTab === "passport" && context.passportUploaded,
|
|
684
684
|
manualUploadResponseHasError: ({ context, event }) => {
|
|
685
|
-
const response = getUploadResponseFromEvent(event);
|
|
685
|
+
const response = getUploadResponseFromEvent$1(event);
|
|
686
686
|
if (!response) return false;
|
|
687
687
|
return mapFailReasonToErrorKey(response, context.activeTab) !== null;
|
|
688
688
|
}
|
|
@@ -835,6 +835,300 @@ const _manualUploadMachine = setup({
|
|
|
835
835
|
});
|
|
836
836
|
const manualUploadMachine = _manualUploadMachine;
|
|
837
837
|
|
|
838
|
+
//#endregion
|
|
839
|
+
//#region src/modules/id/digitalUpload/digitalUploadErrors.ts
|
|
840
|
+
const TERMINAL_FAIL_REASONS = new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
|
|
841
|
+
function isKnownFailReason(reason) {
|
|
842
|
+
return reason === "DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED" || reason === "ID_TYPE_UNACCEPTABLE" || reason === "FILE_CHANGED_ERROR" || reason === "NETWORK_ERROR" || reason === "GENERIC";
|
|
843
|
+
}
|
|
844
|
+
function mapDigitalIdFailReason(response) {
|
|
845
|
+
const failReason = response?.failReason;
|
|
846
|
+
if (typeof failReason !== "string" || failReason.length === 0) return null;
|
|
847
|
+
if (isKnownFailReason(failReason)) return failReason;
|
|
848
|
+
return "GENERIC";
|
|
849
|
+
}
|
|
850
|
+
function isTerminalDigitalIdFailReason(response) {
|
|
851
|
+
return typeof response?.failReason === "string" && TERMINAL_FAIL_REASONS.has(response.failReason);
|
|
852
|
+
}
|
|
853
|
+
function classifyNetworkError(err) {
|
|
854
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
855
|
+
if (message.includes("ERR_UPLOAD_FILE_CHANGED") || message.includes("file changed") || message.includes("FILE_CHANGED")) return "FILE_CHANGED_ERROR";
|
|
856
|
+
return "NETWORK_ERROR";
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
//#endregion
|
|
860
|
+
//#region src/modules/id/digitalUpload/digitalUploadServices.ts
|
|
861
|
+
const DIGITAL_ID_UPLOAD_PATH = "/omni/add/front-id";
|
|
862
|
+
async function uploadDigitalIdFile(params) {
|
|
863
|
+
const { file, signal, onProgress } = params;
|
|
864
|
+
const response = await api.post(DIGITAL_ID_UPLOAD_PATH, file, {
|
|
865
|
+
query: { idType: "DigitalId" },
|
|
866
|
+
headers: { "Content-Type": file.type || "application/pdf" },
|
|
867
|
+
onUploadProgress: onProgress,
|
|
868
|
+
signal
|
|
869
|
+
});
|
|
870
|
+
if (!response.ok) throw new Error(`POST ${DIGITAL_ID_UPLOAD_PATH} failed: ${response.status}`);
|
|
871
|
+
return {
|
|
872
|
+
...response.data,
|
|
873
|
+
uploadDurationMs: 0
|
|
874
|
+
};
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
//#endregion
|
|
878
|
+
//#region src/modules/id/digitalUpload/types.ts
|
|
879
|
+
const DIGITAL_UPLOAD_MAX_RETRIES = 3;
|
|
880
|
+
const DIGITAL_UPLOAD_MAX_FILE_SIZE_BYTES = 5 * 1024 * 1024;
|
|
881
|
+
const DIGITAL_UPLOAD_HOLDING_TIMEOUT_MS = 8e3;
|
|
882
|
+
const DIGITAL_UPLOAD_ALLOWED_MIME_TYPES = ["application/pdf"];
|
|
883
|
+
|
|
884
|
+
//#endregion
|
|
885
|
+
//#region src/modules/id/digitalUpload/digitalUploadStateMachine.ts
|
|
886
|
+
const uploadDigitalIdActor = fromPromise(async ({ input, signal }) => {
|
|
887
|
+
return uploadDigitalIdFile({
|
|
888
|
+
file: input.file,
|
|
889
|
+
signal: input.signal ?? signal,
|
|
890
|
+
onProgress: input.onProgress
|
|
891
|
+
});
|
|
892
|
+
});
|
|
893
|
+
const getUploadResponseFromEvent = (event) => {
|
|
894
|
+
if (!("output" in event)) return;
|
|
895
|
+
return event.output;
|
|
896
|
+
};
|
|
897
|
+
const _digitalUploadMachine = setup({
|
|
898
|
+
types: {
|
|
899
|
+
context: {},
|
|
900
|
+
events: {},
|
|
901
|
+
input: {},
|
|
902
|
+
output: {}
|
|
903
|
+
},
|
|
904
|
+
actors: { uploadDigitalId: uploadDigitalIdActor },
|
|
905
|
+
actions: {
|
|
906
|
+
requestPickerIfPending: assign(({ context }) => {
|
|
907
|
+
if (!context.pendingPickerAutoOpen) return {};
|
|
908
|
+
return {
|
|
909
|
+
pickerRequestId: context.pickerRequestId + 1,
|
|
910
|
+
pendingPickerAutoOpen: false
|
|
911
|
+
};
|
|
912
|
+
}),
|
|
913
|
+
setPendingPickerAutoOpen: assign(() => ({ pendingPickerAutoOpen: true })),
|
|
914
|
+
storeSelectedFile: assign(({ event }) => {
|
|
915
|
+
if (event.type !== "FILE_PICKED") return {};
|
|
916
|
+
return {
|
|
917
|
+
file: event.file,
|
|
918
|
+
failReason: null
|
|
919
|
+
};
|
|
920
|
+
}),
|
|
921
|
+
clearSelectedFile: assign(() => ({
|
|
922
|
+
file: null,
|
|
923
|
+
uploadProgress: 0,
|
|
924
|
+
failReason: null,
|
|
925
|
+
response: void 0,
|
|
926
|
+
uploadDurationMs: void 0
|
|
927
|
+
})),
|
|
928
|
+
setInvalidFileTypeError: assign(() => ({ failReason: "INVALID_FILE_TYPE" })),
|
|
929
|
+
setUploadProgressCapped: assign(({ event }) => {
|
|
930
|
+
if (event.type !== "UPLOAD_PROGRESS") return {};
|
|
931
|
+
return { uploadProgress: Math.min(90, Math.max(0, event.progress)) };
|
|
932
|
+
}),
|
|
933
|
+
setUploadProgressCompleted: assign(() => ({ uploadProgress: 100 })),
|
|
934
|
+
storeUploadResponse: assign(({ event }) => {
|
|
935
|
+
if (!("output" in event)) return {};
|
|
936
|
+
const output = event;
|
|
937
|
+
return {
|
|
938
|
+
response: output.output,
|
|
939
|
+
uploadDurationMs: output.output.uploadDurationMs
|
|
940
|
+
};
|
|
941
|
+
}),
|
|
942
|
+
setFailReasonFromResponse: assign(({ event }) => {
|
|
943
|
+
if (!("output" in event)) return {};
|
|
944
|
+
const response = event.output;
|
|
945
|
+
return { failReason: mapDigitalIdFailReason(response) ?? "GENERIC" };
|
|
946
|
+
}),
|
|
947
|
+
setFailReasonFromNetworkError: assign(({ event }) => {
|
|
948
|
+
if (!("error" in event)) return {};
|
|
949
|
+
return { failReason: classifyNetworkError(event.error) };
|
|
950
|
+
}),
|
|
951
|
+
decrementAttemptOnRetry: assign(({ context }) => {
|
|
952
|
+
if (!(context.failReason !== "INVALID_FILE_TYPE" && context.failReason !== null && context.failReason !== "DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED" && context.failReason !== "ID_TYPE_UNACCEPTABLE")) return {};
|
|
953
|
+
return { attemptsRemaining: Math.max(0, context.attemptsRemaining - 1) };
|
|
954
|
+
})
|
|
955
|
+
},
|
|
956
|
+
guards: {
|
|
957
|
+
isSelectedFileTooLarge: ({ event }) => event.type === "FILE_PICKED" && event.file.size > DIGITAL_UPLOAD_MAX_FILE_SIZE_BYTES,
|
|
958
|
+
isSelectedFileMimeInvalid: ({ event }) => event.type === "FILE_PICKED" && !DIGITAL_UPLOAD_ALLOWED_MIME_TYPES.includes(event.file.type),
|
|
959
|
+
hasSelectedFile: ({ context }) => context.file !== null,
|
|
960
|
+
responseHasFailReason: ({ event }) => mapDigitalIdFailReason(getUploadResponseFromEvent(event)) !== null,
|
|
961
|
+
hasAttemptsRemaining: ({ context }) => context.attemptsRemaining > 0,
|
|
962
|
+
isTerminalFailReason: ({ event }) => {
|
|
963
|
+
return isTerminalDigitalIdFailReason(getUploadResponseFromEvent(event));
|
|
964
|
+
},
|
|
965
|
+
isCurrentFailReasonTerminal: ({ context }) => {
|
|
966
|
+
const terminalReasons = new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
|
|
967
|
+
return context.failReason !== null && terminalReasons.has(context.failReason);
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
}).createMachine({
|
|
971
|
+
id: "digitalUpload",
|
|
972
|
+
initial: "decideStart",
|
|
973
|
+
context: ({ input }) => ({
|
|
974
|
+
showTutorial: input.showTutorial,
|
|
975
|
+
file: null,
|
|
976
|
+
uploadProgress: 0,
|
|
977
|
+
attemptsRemaining: DIGITAL_UPLOAD_MAX_RETRIES,
|
|
978
|
+
failReason: null,
|
|
979
|
+
response: void 0,
|
|
980
|
+
uploadDurationMs: void 0,
|
|
981
|
+
pickerRequestId: 0,
|
|
982
|
+
pendingPickerAutoOpen: !input.showTutorial,
|
|
983
|
+
resultType: null
|
|
984
|
+
}),
|
|
985
|
+
output: ({ context }) => ({ result: context.resultType ?? "exhausted" }),
|
|
986
|
+
states: {
|
|
987
|
+
decideStart: { always: [{
|
|
988
|
+
guard: ({ context }) => context.showTutorial,
|
|
989
|
+
target: "tutorial"
|
|
990
|
+
}, { target: "selecting" }] },
|
|
991
|
+
tutorial: { on: { NEXT_STEP: {
|
|
992
|
+
target: "selecting",
|
|
993
|
+
actions: ["setPendingPickerAutoOpen"]
|
|
994
|
+
} } },
|
|
995
|
+
selecting: {
|
|
996
|
+
entry: ["requestPickerIfPending"],
|
|
997
|
+
on: { FILE_PICKED: [
|
|
998
|
+
{
|
|
999
|
+
guard: "isSelectedFileTooLarge",
|
|
1000
|
+
target: "fileTooLarge",
|
|
1001
|
+
actions: ["clearSelectedFile"]
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
guard: "isSelectedFileMimeInvalid",
|
|
1005
|
+
target: "error",
|
|
1006
|
+
actions: ["setInvalidFileTypeError"]
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
target: "reviewing",
|
|
1010
|
+
actions: ["storeSelectedFile"]
|
|
1011
|
+
}
|
|
1012
|
+
] }
|
|
1013
|
+
},
|
|
1014
|
+
fileTooLarge: { on: { CHOOSE_ANOTHER: {
|
|
1015
|
+
target: "selecting",
|
|
1016
|
+
actions: ["clearSelectedFile", "setPendingPickerAutoOpen"]
|
|
1017
|
+
} } },
|
|
1018
|
+
reviewing: { on: {
|
|
1019
|
+
CONFIRM: {
|
|
1020
|
+
target: "uploading",
|
|
1021
|
+
guard: "hasSelectedFile"
|
|
1022
|
+
},
|
|
1023
|
+
REPLACE: {
|
|
1024
|
+
target: "selecting",
|
|
1025
|
+
actions: ["setPendingPickerAutoOpen"]
|
|
1026
|
+
}
|
|
1027
|
+
} },
|
|
1028
|
+
uploading: {
|
|
1029
|
+
invoke: {
|
|
1030
|
+
id: "uploadDigitalId",
|
|
1031
|
+
src: "uploadDigitalId",
|
|
1032
|
+
input: ({ context, self }) => ({
|
|
1033
|
+
file: context.file,
|
|
1034
|
+
onProgress: (progress) => {
|
|
1035
|
+
self.send({
|
|
1036
|
+
type: "UPLOAD_PROGRESS",
|
|
1037
|
+
progress
|
|
1038
|
+
});
|
|
1039
|
+
}
|
|
1040
|
+
}),
|
|
1041
|
+
onDone: [
|
|
1042
|
+
{
|
|
1043
|
+
guard: "isTerminalFailReason",
|
|
1044
|
+
target: "retriesExhausted",
|
|
1045
|
+
actions: ["storeUploadResponse", "setFailReasonFromResponse"]
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
guard: "responseHasFailReason",
|
|
1049
|
+
target: "checkRetries",
|
|
1050
|
+
actions: ["storeUploadResponse", "setFailReasonFromResponse"]
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
target: "success",
|
|
1054
|
+
actions: ["storeUploadResponse", "setUploadProgressCompleted"]
|
|
1055
|
+
}
|
|
1056
|
+
],
|
|
1057
|
+
onError: {
|
|
1058
|
+
target: "checkRetries",
|
|
1059
|
+
actions: ["setFailReasonFromNetworkError"]
|
|
1060
|
+
}
|
|
1061
|
+
},
|
|
1062
|
+
initial: "analyzing",
|
|
1063
|
+
states: {
|
|
1064
|
+
analyzing: { after: { [DIGITAL_UPLOAD_HOLDING_TIMEOUT_MS]: { target: "holding" } } },
|
|
1065
|
+
holding: {}
|
|
1066
|
+
},
|
|
1067
|
+
on: { UPLOAD_PROGRESS: { actions: ["setUploadProgressCapped"] } }
|
|
1068
|
+
},
|
|
1069
|
+
checkRetries: { always: [
|
|
1070
|
+
{
|
|
1071
|
+
guard: "isCurrentFailReasonTerminal",
|
|
1072
|
+
target: "retriesExhausted"
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
guard: "hasAttemptsRemaining",
|
|
1076
|
+
target: "error"
|
|
1077
|
+
},
|
|
1078
|
+
{ target: "retriesExhausted" }
|
|
1079
|
+
] },
|
|
1080
|
+
error: { on: {
|
|
1081
|
+
RETRY: {
|
|
1082
|
+
target: "selecting",
|
|
1083
|
+
actions: [
|
|
1084
|
+
"decrementAttemptOnRetry",
|
|
1085
|
+
"setPendingPickerAutoOpen",
|
|
1086
|
+
"clearSelectedFile"
|
|
1087
|
+
]
|
|
1088
|
+
},
|
|
1089
|
+
SCAN_INSTEAD: { target: "closed" }
|
|
1090
|
+
} },
|
|
1091
|
+
retriesExhausted: {
|
|
1092
|
+
type: "final",
|
|
1093
|
+
entry: assign({ resultType: "exhausted" })
|
|
1094
|
+
},
|
|
1095
|
+
closed: {
|
|
1096
|
+
type: "final",
|
|
1097
|
+
entry: assign({ resultType: "closed" })
|
|
1098
|
+
},
|
|
1099
|
+
success: { on: { NEXT_STEP: { target: "completed" } } },
|
|
1100
|
+
completed: {
|
|
1101
|
+
type: "final",
|
|
1102
|
+
entry: assign({ resultType: "success" })
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
});
|
|
1106
|
+
const digitalUploadMachine = _digitalUploadMachine;
|
|
1107
|
+
|
|
1108
|
+
//#endregion
|
|
1109
|
+
//#region src/modules/id/digitalUpload/instrumentation.ts
|
|
1110
|
+
const TERMINAL_REASONS = new Set(["DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED", "ID_TYPE_UNACCEPTABLE"]);
|
|
1111
|
+
function isHoldingState(value) {
|
|
1112
|
+
if (value === "holding") return true;
|
|
1113
|
+
if (typeof value !== "object" || value === null) return false;
|
|
1114
|
+
const uploadingState = value.uploading;
|
|
1115
|
+
if (uploadingState === "holding") return true;
|
|
1116
|
+
if (typeof uploadingState === "object" && uploadingState !== null) return Object.prototype.hasOwnProperty.call(uploadingState, "holding");
|
|
1117
|
+
return false;
|
|
1118
|
+
}
|
|
1119
|
+
function mapDigitalIdScreenName(value, failReason) {
|
|
1120
|
+
if (value === "tutorial") return "uploadDigitalid.tutorial.default";
|
|
1121
|
+
if (value === "selecting" || value === "reviewing") return "uploadDigitalid.review.default";
|
|
1122
|
+
if (value === "uploading" || isHoldingState(value)) return "uploadDigitalid.analyzing.default";
|
|
1123
|
+
if (value === "success") return "uploadDigitalid.success.default";
|
|
1124
|
+
if (value === "fileTooLarge") return "uploadDigitalid.error.filetoolarge";
|
|
1125
|
+
if (value === "error") {
|
|
1126
|
+
if (failReason !== null && TERMINAL_REASONS.has(failReason)) return "uploadDigitalid.error.notaccepted";
|
|
1127
|
+
return "uploadDigitalid.error.default";
|
|
1128
|
+
}
|
|
1129
|
+
return "uploadDigitalid.review.default";
|
|
1130
|
+
}
|
|
1131
|
+
|
|
838
1132
|
//#endregion
|
|
839
1133
|
//#region ../infra/src/wasm/idCaptureDefaults.ts
|
|
840
1134
|
/**
|
|
@@ -1175,7 +1469,7 @@ const checkMotionSensorActor = fromCallback(({ input, sendBack }) => {
|
|
|
1175
1469
|
});
|
|
1176
1470
|
const initializeDeepsightSessionActor = fromPromise(async ({ input }) => {
|
|
1177
1471
|
if (!input.dependencies) return;
|
|
1178
|
-
const { loadDeepsightSession } = await import("./deepsightLoader-
|
|
1472
|
+
const { loadDeepsightSession } = await import("./deepsightLoader-BMeAmiNh.esm.js");
|
|
1179
1473
|
return loadDeepsightSession({
|
|
1180
1474
|
ds: input.ds,
|
|
1181
1475
|
storage: input.dependencies.storage,
|
|
@@ -1480,6 +1774,7 @@ const isDeepsightReadyGuard = ({ context }) => context.deepsightService !== void
|
|
|
1480
1774
|
const needsDeepsightInitGuard = ({ context }) => context.dependencies !== void 0 && context.deepsightService === void 0 && !context.deepsightInitAttempted;
|
|
1481
1775
|
const hasOnlyManualUploadAvailableGuard = ({ context }) => context.availableDocumentTypes.length === 1 && context.availableDocumentTypes[0] === "manualIdUpload";
|
|
1482
1776
|
const isManualIdUploadSelectedGuard = ({ event }) => event.type === "SELECT_DOCUMENT" && event.documentType === "manualIdUpload";
|
|
1777
|
+
const isDigitalIdUploadSelectedGuard = ({ event }) => event.type === "SELECT_DOCUMENT" && event.documentType === "digitalIdUpload";
|
|
1483
1778
|
|
|
1484
1779
|
//#endregion
|
|
1485
1780
|
//#region src/modules/id/idCaptureStateMachine.ts
|
|
@@ -1506,7 +1801,8 @@ const _idCaptureMachine = setup({
|
|
|
1506
1801
|
checkMotionSensor: checkMotionSensorActor,
|
|
1507
1802
|
initializeDeepsightSession: initializeDeepsightSessionActor,
|
|
1508
1803
|
checkVirtualCamera: checkVirtualCameraActor,
|
|
1509
|
-
manualUploadMachine
|
|
1804
|
+
manualUploadMachine,
|
|
1805
|
+
digitalUploadMachine
|
|
1510
1806
|
},
|
|
1511
1807
|
actions: {
|
|
1512
1808
|
stopMediaStream: assign(({ context }) => {
|
|
@@ -1680,7 +1976,11 @@ const _idCaptureMachine = setup({
|
|
|
1680
1976
|
needsDeepsightInit: needsDeepsightInitGuard,
|
|
1681
1977
|
hasOnlyManualUploadAvailable: hasOnlyManualUploadAvailableGuard,
|
|
1682
1978
|
isManualIdUploadSelected: isManualIdUploadSelectedGuard,
|
|
1683
|
-
|
|
1979
|
+
isDigitalIdUploadSelected: isDigitalIdUploadSelectedGuard,
|
|
1980
|
+
isManualUploadExhausted: ({ event }) => event.output?.result === "exhausted",
|
|
1981
|
+
isDigitalUploadExhausted: ({ event }) => event.output?.result === "exhausted",
|
|
1982
|
+
isDigitalUploadClosed: ({ event }) => event.output?.result === "closed",
|
|
1983
|
+
isDigitalUploadSuccessful: ({ event }) => event.output?.result === "success"
|
|
1684
1984
|
}
|
|
1685
1985
|
}).createMachine({
|
|
1686
1986
|
id: "idCapture",
|
|
@@ -1749,6 +2049,11 @@ const _idCaptureMachine = setup({
|
|
|
1749
2049
|
{ target: "loading" }
|
|
1750
2050
|
] } },
|
|
1751
2051
|
chooser: { on: { SELECT_DOCUMENT: [
|
|
2052
|
+
{
|
|
2053
|
+
target: "digitalIdUpload",
|
|
2054
|
+
guard: "isDigitalIdUploadSelected",
|
|
2055
|
+
actions: ["setSelectedDocument"]
|
|
2056
|
+
},
|
|
1752
2057
|
{
|
|
1753
2058
|
target: "manualIdUpload",
|
|
1754
2059
|
guard: "isManualIdUploadSelected",
|
|
@@ -2355,10 +2660,7 @@ const _idCaptureMachine = setup({
|
|
|
2355
2660
|
id: "processId",
|
|
2356
2661
|
src: "processId",
|
|
2357
2662
|
input: ({ context }) => ({ isSecondId: context.config.isSecondId ?? false }),
|
|
2358
|
-
onDone:
|
|
2359
|
-
target: "expired",
|
|
2360
|
-
guard: ({ event }) => event.output.isDocumentExpired
|
|
2361
|
-
}, { target: "finished" }],
|
|
2663
|
+
onDone: { target: "finished" },
|
|
2362
2664
|
onError: { target: "finished" }
|
|
2363
2665
|
}
|
|
2364
2666
|
},
|
|
@@ -2437,10 +2739,52 @@ const _idCaptureMachine = setup({
|
|
|
2437
2739
|
MANUAL_UPLOAD_RESET: { actions: sendTo("manualIdUpload", ({ event }) => event) }
|
|
2438
2740
|
}
|
|
2439
2741
|
},
|
|
2440
|
-
digitalIdUpload: {
|
|
2742
|
+
digitalIdUpload: {
|
|
2743
|
+
invoke: {
|
|
2744
|
+
id: "digitalIdUpload",
|
|
2745
|
+
src: "digitalUploadMachine",
|
|
2746
|
+
input: ({ context }) => ({ showTutorial: context.config.showTutorial }),
|
|
2747
|
+
onSnapshot: { actions: () => {} },
|
|
2748
|
+
onDone: [
|
|
2749
|
+
{
|
|
2750
|
+
guard: "isDigitalUploadExhausted",
|
|
2751
|
+
target: "#idCapture.finished"
|
|
2752
|
+
},
|
|
2753
|
+
{
|
|
2754
|
+
guard: "isDigitalUploadClosed",
|
|
2755
|
+
target: "#idCapture.chooser"
|
|
2756
|
+
},
|
|
2757
|
+
{
|
|
2758
|
+
guard: "isDigitalUploadSuccessful",
|
|
2759
|
+
target: "#idCapture.processing"
|
|
2760
|
+
},
|
|
2761
|
+
{
|
|
2762
|
+
target: "#idCapture.error",
|
|
2763
|
+
actions: assign({ error: () => "Digital upload finished without output" })
|
|
2764
|
+
}
|
|
2765
|
+
],
|
|
2766
|
+
onError: {
|
|
2767
|
+
target: "#idCapture.error",
|
|
2768
|
+
actions: assign({ error: ({ event }) => String(event.error) })
|
|
2769
|
+
}
|
|
2770
|
+
},
|
|
2771
|
+
on: {
|
|
2772
|
+
QUIT: { target: "closed" },
|
|
2773
|
+
DIGITAL_UPLOAD_NEXT_STEP: { actions: sendTo("digitalIdUpload", { type: "NEXT_STEP" }) },
|
|
2774
|
+
DIGITAL_UPLOAD_FILE_PICKED: { actions: sendTo("digitalIdUpload", ({ event }) => ({
|
|
2775
|
+
type: "FILE_PICKED",
|
|
2776
|
+
file: event.file
|
|
2777
|
+
})) },
|
|
2778
|
+
DIGITAL_UPLOAD_CONFIRM: { actions: sendTo("digitalIdUpload", { type: "CONFIRM" }) },
|
|
2779
|
+
DIGITAL_UPLOAD_REPLACE: { actions: sendTo("digitalIdUpload", { type: "REPLACE" }) },
|
|
2780
|
+
DIGITAL_UPLOAD_RETRY: { actions: sendTo("digitalIdUpload", { type: "RETRY" }) },
|
|
2781
|
+
DIGITAL_UPLOAD_SCAN_INSTEAD: { actions: sendTo("digitalIdUpload", { type: "SCAN_INSTEAD" }) },
|
|
2782
|
+
DIGITAL_UPLOAD_CHOOSE_ANOTHER: { actions: sendTo("digitalIdUpload", { type: "CHOOSE_ANOTHER" }) }
|
|
2783
|
+
}
|
|
2784
|
+
}
|
|
2441
2785
|
}
|
|
2442
2786
|
});
|
|
2443
2787
|
const idCaptureMachine = _idCaptureMachine;
|
|
2444
2788
|
|
|
2445
2789
|
//#endregion
|
|
2446
|
-
export {
|
|
2790
|
+
export { preloadIdRecordingProvider as a, stopRecording as c, uploadManualIdFile as d, validateUploadResponse as f, MANUAL_UPLOAD_MAX_RETRIES as g, MANUAL_UPLOAD_MAX_FILE_SIZE_BYTES as h, initializeIdCapture as i, stopStream as l, MANUAL_UPLOAD_EXHAUSTION_FORWARD_MS as m, mapDigitalIdScreenName as n, processId as o, ID_ERROR_CODES as p, DIGITAL_UPLOAD_MAX_RETRIES as r, startRecordingSession as s, idCaptureMachine as t, uploadIdImage as u };
|
package/dist/identity-reuse.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as Manager } from "./Manager-D9pehGyp.js";
|
|
2
2
|
import { t as ActorRefFrom } from "./Actor-YjWTo26u.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as xstate322 from "xstate";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/identity-reuse/types.d.ts
|
|
6
6
|
|
|
@@ -32,7 +32,7 @@ type IdentityReuseContext = {
|
|
|
32
32
|
type IdentityReuseInput = {
|
|
33
33
|
config: IdentityReuseConfig;
|
|
34
34
|
};
|
|
35
|
-
declare const identityReuseMachine:
|
|
35
|
+
declare const identityReuseMachine: xstate322.StateMachine<IdentityReuseContext, {
|
|
36
36
|
type: "LOAD";
|
|
37
37
|
} | {
|
|
38
38
|
type: "START_SELECTION";
|
|
@@ -48,49 +48,49 @@ declare const identityReuseMachine: xstate157.StateMachine<IdentityReuseContext,
|
|
|
48
48
|
} | {
|
|
49
49
|
type: "RETRY";
|
|
50
50
|
}, {
|
|
51
|
-
[x: string]:
|
|
52
|
-
},
|
|
51
|
+
[x: string]: xstate322.ActorRefFromLogic<xstate322.PromiseActorLogic<FetchCandidatesResponse, void, xstate322.EventObject>> | xstate322.ActorRefFromLogic<xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>> | undefined;
|
|
52
|
+
}, xstate322.Values<{
|
|
53
53
|
fetchCandidates: {
|
|
54
54
|
src: "fetchCandidates";
|
|
55
|
-
logic:
|
|
55
|
+
logic: xstate322.PromiseActorLogic<FetchCandidatesResponse, void, xstate322.EventObject>;
|
|
56
56
|
id: string | undefined;
|
|
57
57
|
};
|
|
58
58
|
submitContinue: {
|
|
59
59
|
src: "submitContinue";
|
|
60
|
-
logic:
|
|
60
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
61
61
|
id: string | undefined;
|
|
62
62
|
};
|
|
63
63
|
submitSkip: {
|
|
64
64
|
src: "submitSkip";
|
|
65
|
-
logic:
|
|
65
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
66
66
|
id: string | undefined;
|
|
67
67
|
};
|
|
68
|
-
}>,
|
|
68
|
+
}>, xstate322.Values<{
|
|
69
69
|
setError: {
|
|
70
70
|
type: "setError";
|
|
71
|
-
params:
|
|
71
|
+
params: xstate322.NonReducibleUnknown;
|
|
72
72
|
};
|
|
73
73
|
clearError: {
|
|
74
74
|
type: "clearError";
|
|
75
|
-
params:
|
|
75
|
+
params: xstate322.NonReducibleUnknown;
|
|
76
76
|
};
|
|
77
77
|
setCandidates: {
|
|
78
78
|
type: "setCandidates";
|
|
79
|
-
params:
|
|
79
|
+
params: xstate322.NonReducibleUnknown;
|
|
80
80
|
};
|
|
81
81
|
setSelectedCandidate: {
|
|
82
82
|
type: "setSelectedCandidate";
|
|
83
|
-
params:
|
|
83
|
+
params: xstate322.NonReducibleUnknown;
|
|
84
84
|
};
|
|
85
85
|
autoSelectSingleCandidate: {
|
|
86
86
|
type: "autoSelectSingleCandidate";
|
|
87
|
-
params:
|
|
87
|
+
params: xstate322.NonReducibleUnknown;
|
|
88
88
|
};
|
|
89
89
|
clearSelection: {
|
|
90
90
|
type: "clearSelection";
|
|
91
|
-
params:
|
|
91
|
+
params: xstate322.NonReducibleUnknown;
|
|
92
92
|
};
|
|
93
|
-
}>,
|
|
93
|
+
}>, xstate322.Values<{
|
|
94
94
|
hasMultipleCandidates: {
|
|
95
95
|
type: "hasMultipleCandidates";
|
|
96
96
|
params: unknown;
|
|
@@ -105,7 +105,7 @@ declare const identityReuseMachine: xstate157.StateMachine<IdentityReuseContext,
|
|
|
105
105
|
};
|
|
106
106
|
}>, never, "error" | "idle" | "finished" | "loading" | "submitContinue" | "submitSkip" | "oneCandidateFound" | "noCandidatesFound" | {
|
|
107
107
|
multiCandidatesFound: "noCandidateSelected" | "choosingCandidate" | "candidateSelected";
|
|
108
|
-
}, string, IdentityReuseInput,
|
|
108
|
+
}, string, IdentityReuseInput, xstate322.NonReducibleUnknown, xstate322.EventObject, xstate322.MetaObject, {
|
|
109
109
|
readonly id: "identityReuse";
|
|
110
110
|
readonly initial: "idle";
|
|
111
111
|
readonly context: ({
|
|
@@ -114,75 +114,75 @@ declare const identityReuseMachine: xstate157.StateMachine<IdentityReuseContext,
|
|
|
114
114
|
spawn: {
|
|
115
115
|
<TSrc extends "fetchCandidates" | "submitContinue" | "submitSkip">(logic: TSrc, ...[options]: ({
|
|
116
116
|
src: "fetchCandidates";
|
|
117
|
-
logic:
|
|
117
|
+
logic: xstate322.PromiseActorLogic<FetchCandidatesResponse, void, xstate322.EventObject>;
|
|
118
118
|
id: string | undefined;
|
|
119
119
|
} extends infer T ? T extends {
|
|
120
120
|
src: "fetchCandidates";
|
|
121
|
-
logic:
|
|
121
|
+
logic: xstate322.PromiseActorLogic<FetchCandidatesResponse, void, xstate322.EventObject>;
|
|
122
122
|
id: string | undefined;
|
|
123
123
|
} ? T extends {
|
|
124
124
|
src: TSrc;
|
|
125
|
-
} ?
|
|
125
|
+
} ? xstate322.ConditionalRequired<[options?: ({
|
|
126
126
|
id?: T["id"] | undefined;
|
|
127
127
|
systemId?: string;
|
|
128
|
-
input?:
|
|
128
|
+
input?: xstate322.InputFrom<T["logic"]> | undefined;
|
|
129
129
|
syncSnapshot?: boolean;
|
|
130
|
-
} & { [K in
|
|
130
|
+
} & { [K in xstate322.RequiredActorOptions<T>]: unknown }) | undefined], xstate322.IsNotNever<xstate322.RequiredActorOptions<T>>> : never : never : never) | ({
|
|
131
131
|
src: "submitContinue";
|
|
132
|
-
logic:
|
|
132
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
133
133
|
id: string | undefined;
|
|
134
134
|
} extends infer T_1 ? T_1 extends {
|
|
135
135
|
src: "submitContinue";
|
|
136
|
-
logic:
|
|
136
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
137
137
|
id: string | undefined;
|
|
138
138
|
} ? T_1 extends {
|
|
139
139
|
src: TSrc;
|
|
140
|
-
} ?
|
|
140
|
+
} ? xstate322.ConditionalRequired<[options?: ({
|
|
141
141
|
id?: T_1["id"] | undefined;
|
|
142
142
|
systemId?: string;
|
|
143
|
-
input?:
|
|
143
|
+
input?: xstate322.InputFrom<T_1["logic"]> | undefined;
|
|
144
144
|
syncSnapshot?: boolean;
|
|
145
|
-
} & { [K_1 in
|
|
145
|
+
} & { [K_1 in xstate322.RequiredActorOptions<T_1>]: unknown }) | undefined], xstate322.IsNotNever<xstate322.RequiredActorOptions<T_1>>> : never : never : never) | ({
|
|
146
146
|
src: "submitSkip";
|
|
147
|
-
logic:
|
|
147
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
148
148
|
id: string | undefined;
|
|
149
149
|
} extends infer T_2 ? T_2 extends {
|
|
150
150
|
src: "submitSkip";
|
|
151
|
-
logic:
|
|
151
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
152
152
|
id: string | undefined;
|
|
153
153
|
} ? T_2 extends {
|
|
154
154
|
src: TSrc;
|
|
155
|
-
} ?
|
|
155
|
+
} ? xstate322.ConditionalRequired<[options?: ({
|
|
156
156
|
id?: T_2["id"] | undefined;
|
|
157
157
|
systemId?: string;
|
|
158
|
-
input?:
|
|
158
|
+
input?: xstate322.InputFrom<T_2["logic"]> | undefined;
|
|
159
159
|
syncSnapshot?: boolean;
|
|
160
|
-
} & { [K_2 in
|
|
160
|
+
} & { [K_2 in xstate322.RequiredActorOptions<T_2>]: unknown }) | undefined], xstate322.IsNotNever<xstate322.RequiredActorOptions<T_2>>> : never : never : never)): xstate322.ActorRefFromLogic<xstate322.GetConcreteByKey<xstate322.Values<{
|
|
161
161
|
fetchCandidates: {
|
|
162
162
|
src: "fetchCandidates";
|
|
163
|
-
logic:
|
|
163
|
+
logic: xstate322.PromiseActorLogic<FetchCandidatesResponse, void, xstate322.EventObject>;
|
|
164
164
|
id: string | undefined;
|
|
165
165
|
};
|
|
166
166
|
submitContinue: {
|
|
167
167
|
src: "submitContinue";
|
|
168
|
-
logic:
|
|
168
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
169
169
|
id: string | undefined;
|
|
170
170
|
};
|
|
171
171
|
submitSkip: {
|
|
172
172
|
src: "submitSkip";
|
|
173
|
-
logic:
|
|
173
|
+
logic: xstate322.PromiseActorLogic<SubmitResponse, void, xstate322.EventObject>;
|
|
174
174
|
id: string | undefined;
|
|
175
175
|
};
|
|
176
176
|
}>, "src", TSrc>["logic"]>;
|
|
177
|
-
<TLogic extends
|
|
177
|
+
<TLogic extends xstate322.AnyActorLogic>(src: TLogic, ...[options]: xstate322.ConditionalRequired<[options?: ({
|
|
178
178
|
id?: never;
|
|
179
179
|
systemId?: string;
|
|
180
|
-
input?:
|
|
180
|
+
input?: xstate322.InputFrom<TLogic> | undefined;
|
|
181
181
|
syncSnapshot?: boolean;
|
|
182
|
-
} & { [K in
|
|
182
|
+
} & { [K in xstate322.RequiredLogicInput<TLogic>]: unknown }) | undefined], xstate322.IsNotNever<xstate322.RequiredLogicInput<TLogic>>>): xstate322.ActorRefFromLogic<TLogic>;
|
|
183
183
|
};
|
|
184
184
|
input: IdentityReuseInput;
|
|
185
|
-
self:
|
|
185
|
+
self: xstate322.ActorRef<xstate322.MachineSnapshot<IdentityReuseContext, {
|
|
186
186
|
type: "LOAD";
|
|
187
187
|
} | {
|
|
188
188
|
type: "START_SELECTION";
|
|
@@ -197,7 +197,7 @@ declare const identityReuseMachine: xstate157.StateMachine<IdentityReuseContext,
|
|
|
197
197
|
type: "SKIP";
|
|
198
198
|
} | {
|
|
199
199
|
type: "RETRY";
|
|
200
|
-
}, Record<string,
|
|
200
|
+
}, Record<string, xstate322.AnyActorRef | undefined>, xstate322.StateValue, string, unknown, any, any>, {
|
|
201
201
|
type: "LOAD";
|
|
202
202
|
} | {
|
|
203
203
|
type: "START_SELECTION";
|
|
@@ -212,7 +212,7 @@ declare const identityReuseMachine: xstate157.StateMachine<IdentityReuseContext,
|
|
|
212
212
|
type: "SKIP";
|
|
213
213
|
} | {
|
|
214
214
|
type: "RETRY";
|
|
215
|
-
},
|
|
215
|
+
}, xstate322.AnyEventObject>;
|
|
216
216
|
}) => {
|
|
217
217
|
config: IdentityReuseConfig;
|
|
218
218
|
currentOrganizationName: undefined;
|