@mikashboks/capture-intelligence-core 0.2.16 → 0.2.18
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/cjs/__fixtures__/metadata-review.fixtures.d.ts.map +1 -1
- package/dist/cjs/__fixtures__/metadata-review.fixtures.js +32 -0
- package/dist/cjs/__fixtures__/metadata-review.fixtures.js.map +1 -1
- package/dist/cjs/capture-envelope.d.ts +4 -1
- package/dist/cjs/capture-envelope.d.ts.map +1 -1
- package/dist/cjs/capture-envelope.js +3 -0
- package/dist/cjs/capture-envelope.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +23 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/metadata-review.d.ts +2 -2
- package/dist/cjs/metadata-review.d.ts.map +1 -1
- package/dist/cjs/metadata-review.js +12 -3
- package/dist/cjs/metadata-review.js.map +1 -1
- package/dist/cjs/pre-review-policy.d.ts +73 -0
- package/dist/cjs/pre-review-policy.d.ts.map +1 -0
- package/dist/cjs/pre-review-policy.js +189 -0
- package/dist/cjs/pre-review-policy.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/__fixtures__/metadata-review.fixtures.d.ts.map +1 -1
- package/dist/esm/__fixtures__/metadata-review.fixtures.js +32 -0
- package/dist/esm/__fixtures__/metadata-review.fixtures.js.map +1 -1
- package/dist/esm/capture-envelope.d.ts +4 -1
- package/dist/esm/capture-envelope.d.ts.map +1 -1
- package/dist/esm/capture-envelope.js +3 -0
- package/dist/esm/capture-envelope.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/metadata-review.d.ts +2 -2
- package/dist/esm/metadata-review.d.ts.map +1 -1
- package/dist/esm/metadata-review.js +12 -3
- package/dist/esm/metadata-review.js.map +1 -1
- package/dist/esm/pre-review-policy.d.ts +73 -0
- package/dist/esm/pre-review-policy.d.ts.map +1 -0
- package/dist/esm/pre-review-policy.js +175 -0
- package/dist/esm/pre-review-policy.js.map +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { getCapturePageRecognitionText, hasMarginSafeReliableCaptureQuad, hasTrustedMrzCaptureEvidence, hasUnsafeInsetReliableCaptureQuad, } from './document-crop-arbitration.js';
|
|
2
|
+
import { getDocumentProfile } from './document-profiles.js';
|
|
3
|
+
export const PRE_REVIEW_STRUCTURAL_RETAKE_REASONS = [
|
|
4
|
+
'cut_off',
|
|
5
|
+
'too_small',
|
|
6
|
+
'bad_aspect',
|
|
7
|
+
'document_not_found',
|
|
8
|
+
];
|
|
9
|
+
export const PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS = [
|
|
10
|
+
'too_blurry',
|
|
11
|
+
'glare',
|
|
12
|
+
'too_dark',
|
|
13
|
+
'weak_back_text',
|
|
14
|
+
'weak_readable_text',
|
|
15
|
+
];
|
|
16
|
+
export const PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS = [
|
|
17
|
+
'too_small',
|
|
18
|
+
'too_large',
|
|
19
|
+
'bad_aspect',
|
|
20
|
+
'clamped_edge',
|
|
21
|
+
'nearly_full_frame',
|
|
22
|
+
'document_not_found',
|
|
23
|
+
];
|
|
24
|
+
export const PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE = [
|
|
25
|
+
'same_candidate',
|
|
26
|
+
'review_auto_crop',
|
|
27
|
+
'still_redetect',
|
|
28
|
+
];
|
|
29
|
+
export const PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN = 0.45;
|
|
30
|
+
export const PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD = 45;
|
|
31
|
+
export const PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD = 42;
|
|
32
|
+
const STRUCTURAL_PRE_REVIEW_RETAKE_REASONS = new Set(PRE_REVIEW_STRUCTURAL_RETAKE_REASONS);
|
|
33
|
+
const RECOVERABLE_PRE_REVIEW_SEND_FOR_REVIEW_REASONS = new Set(PRE_REVIEW_RECOVERABLE_SEND_FOR_REVIEW_REASONS);
|
|
34
|
+
const STRUCTURAL_PRE_REVIEW_METADATA_UNSAFE_REASONS = new Set(PRE_REVIEW_STRUCTURAL_UNSAFE_REASONS);
|
|
35
|
+
const DOCUMENT_PRESENT_PRE_REVIEW_CROP_PROVENANCE = new Set(PRE_REVIEW_DOCUMENT_PRESENT_CROP_PROVENANCE);
|
|
36
|
+
export const normalizePreReviewReasonCode = (reasonCode) => {
|
|
37
|
+
const normalized = reasonCode?.trim().toLowerCase().replace(/[\s-]+/g, '_');
|
|
38
|
+
return normalized || undefined;
|
|
39
|
+
};
|
|
40
|
+
export const isStructuralPreReviewRetakeReason = (reasonCode) => {
|
|
41
|
+
const normalized = normalizePreReviewReasonCode(reasonCode);
|
|
42
|
+
return Boolean(normalized && STRUCTURAL_PRE_REVIEW_RETAKE_REASONS.has(normalized));
|
|
43
|
+
};
|
|
44
|
+
export const isRecoverablePreReviewSendForReviewReason = (reasonCode) => {
|
|
45
|
+
const normalized = normalizePreReviewReasonCode(reasonCode);
|
|
46
|
+
return Boolean(normalized && RECOVERABLE_PRE_REVIEW_SEND_FOR_REVIEW_REASONS.has(normalized));
|
|
47
|
+
};
|
|
48
|
+
const hasFiniteValueAtLeast = (value, threshold) => typeof value === 'number' && Number.isFinite(value) && value >= threshold;
|
|
49
|
+
const isPassportFrontContext = (context) => getDocumentProfile(context?.documentType).family === 'passport' &&
|
|
50
|
+
context?.documentSide === 'front';
|
|
51
|
+
const toDocumentCropMetadata = (metadata) => metadata;
|
|
52
|
+
export const hasAcceptedPassportPageRecognition = (metadata, recognitionText) => {
|
|
53
|
+
if (metadata?.liveRecognitionAccepted !== true)
|
|
54
|
+
return false;
|
|
55
|
+
const text = getCapturePageRecognitionText(metadata, recognitionText);
|
|
56
|
+
return text.includes('mrz') || text.includes('quad');
|
|
57
|
+
};
|
|
58
|
+
export const hasCorroboratedPassportPageEvidence = (metadata, options = {}) => hasAcceptedPassportPageRecognition(metadata, options.recognitionText) ||
|
|
59
|
+
hasMarginSafeReliableCaptureQuad(toDocumentCropMetadata(metadata));
|
|
60
|
+
export const hasTrustedPassportMrzPageEvidence = (metadata, options = {}) => {
|
|
61
|
+
if (!metadata)
|
|
62
|
+
return false;
|
|
63
|
+
if (hasUnsafeInsetReliableCaptureQuad(toDocumentCropMetadata(metadata)))
|
|
64
|
+
return false;
|
|
65
|
+
if (!hasTrustedMrzCaptureEvidence(toDocumentCropMetadata(metadata), options.recognitionText)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (metadata.cutOffRisk === 'high') {
|
|
69
|
+
// Book-continuation tolerance: cut-off risk grades the OUTER detected
|
|
70
|
+
// bounds, and for an open passport book that is the book. The second page
|
|
71
|
+
// can run past the frame even when the photo/MRZ page is framed well, so
|
|
72
|
+
// a confirmed MRZ plus an accepted mrz/quad recognition path is page-level
|
|
73
|
+
// evidence that outranks the book-level bbox. Unsafe page quads still veto
|
|
74
|
+
// above because that quad describes the page itself.
|
|
75
|
+
return hasAcceptedPassportPageRecognition(metadata, options.recognitionText);
|
|
76
|
+
}
|
|
77
|
+
return hasCorroboratedPassportPageEvidence(metadata, options);
|
|
78
|
+
};
|
|
79
|
+
export const canTrustPassportPageEvidenceOverBadAspect = (metadata, context, options = {}) => isPassportFrontContext(context) && hasTrustedPassportMrzPageEvidence(metadata, options);
|
|
80
|
+
export const hasStructuralPreReviewMetadataSignal = (metadata) => {
|
|
81
|
+
if (!metadata)
|
|
82
|
+
return false;
|
|
83
|
+
if (isStructuralPreReviewRetakeReason(metadata.preReviewRetakeReason))
|
|
84
|
+
return true;
|
|
85
|
+
if (metadata.cutOffRisk === 'high')
|
|
86
|
+
return true;
|
|
87
|
+
if (metadata.clamped === true)
|
|
88
|
+
return true;
|
|
89
|
+
if (metadata.liveMrzUnexpectedForSide === true)
|
|
90
|
+
return true;
|
|
91
|
+
const unsafeReason = normalizePreReviewReasonCode(metadata.unsafeReason);
|
|
92
|
+
return Boolean(unsafeReason && STRUCTURAL_PRE_REVIEW_METADATA_UNSAFE_REASONS.has(unsafeReason));
|
|
93
|
+
};
|
|
94
|
+
export const hasDocumentPresentPreReviewEvidence = (metadata) => {
|
|
95
|
+
if (!metadata)
|
|
96
|
+
return false;
|
|
97
|
+
const cropProvenance = normalizePreReviewReasonCode(metadata.cropProvenance);
|
|
98
|
+
if (metadata.cropVerified === true &&
|
|
99
|
+
metadata.cropSelectable !== false &&
|
|
100
|
+
cropProvenance &&
|
|
101
|
+
DOCUMENT_PRESENT_PRE_REVIEW_CROP_PROVENANCE.has(cropProvenance)) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
if (metadata.liveQuadPresent === true &&
|
|
105
|
+
metadata.liveBoundsReliable !== false &&
|
|
106
|
+
hasFiniteValueAtLeast(metadata.liveQuadInsetMin, 0.02)) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
if (metadata.liveMrzValidated === true ||
|
|
110
|
+
metadata.liveMrzCheckDigitsValid === true ||
|
|
111
|
+
(hasFiniteValueAtLeast(metadata.liveMrzConfidence, PRE_REVIEW_MRZ_CONFIRMED_CONFIDENCE_MIN) &&
|
|
112
|
+
metadata.liveMrzUnexpectedForSide !== true)) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
if (metadata.documentEvidenceLevel === 'high' ||
|
|
116
|
+
metadata.documentEvidenceLevel === 'medium' ||
|
|
117
|
+
hasFiniteValueAtLeast(metadata.documentEvidenceScore, PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD) ||
|
|
118
|
+
hasFiniteValueAtLeast(metadata.classifierConfidence, PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD)) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
return (metadata.qualityViews?.some(view => hasFiniteValueAtLeast(view.evidenceScore, PRE_REVIEW_DOCUMENT_EVIDENCE_MEDIUM_THRESHOLD) ||
|
|
122
|
+
hasFiniteValueAtLeast(view.classifierConfidence, PRE_REVIEW_DOCUMENT_EVIDENCE_LOW_CLASSIFIER_THRESHOLD)) === true);
|
|
123
|
+
};
|
|
124
|
+
export const isReviewUncertainDocumentPresentMetadata = (metadata) => {
|
|
125
|
+
if (!metadata || hasStructuralPreReviewMetadataSignal(metadata))
|
|
126
|
+
return false;
|
|
127
|
+
return hasDocumentPresentPreReviewEvidence(metadata);
|
|
128
|
+
};
|
|
129
|
+
export function resolveReviewRetakeDecisionPolicy(input) {
|
|
130
|
+
const reasonCode = normalizePreReviewReasonCode(input.preReviewReasonCode);
|
|
131
|
+
const hasPreReviewWarning = Boolean(input.preReviewReason?.trim() || reasonCode);
|
|
132
|
+
if (input.reviewHardFailureActive) {
|
|
133
|
+
return hasPreReviewWarning ? { kind: 'retake', source: 'review' } : { kind: 'none' };
|
|
134
|
+
}
|
|
135
|
+
if (hasPreReviewWarning) {
|
|
136
|
+
if (isStructuralPreReviewRetakeReason(reasonCode) ||
|
|
137
|
+
input.preReviewStructuralMetadataSignal === true) {
|
|
138
|
+
if (input.reviewClearsStructuralPreReviewRetake === true) {
|
|
139
|
+
return { kind: 'none' };
|
|
140
|
+
}
|
|
141
|
+
if (input.reviewRescuesStructuralPreReviewRetake === true) {
|
|
142
|
+
return {
|
|
143
|
+
kind: 'warn',
|
|
144
|
+
source: 'pre_review_retake',
|
|
145
|
+
bannerStatus: 'warn',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
return { kind: 'retake', source: 'pre_review_retake' };
|
|
149
|
+
}
|
|
150
|
+
if (input.preReviewOverrideAllowed === true &&
|
|
151
|
+
isRecoverablePreReviewSendForReviewReason(reasonCode)) {
|
|
152
|
+
return {
|
|
153
|
+
kind: 'warn',
|
|
154
|
+
source: 'pre_review_retake',
|
|
155
|
+
bannerStatus: input.preReviewSeverity === 'likely_rejected' ? 'fail' : 'warn',
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (input.preReviewOverrideAllowed === true &&
|
|
159
|
+
input.preReviewDocumentPresentReviewUncertain === true) {
|
|
160
|
+
return {
|
|
161
|
+
kind: 'warn',
|
|
162
|
+
source: 'pre_review_retake',
|
|
163
|
+
bannerStatus: input.preReviewSeverity === 'likely_rejected' ? 'fail' : 'warn',
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
return { kind: 'retake', source: 'pre_review_retake' };
|
|
167
|
+
}
|
|
168
|
+
if (!input.anyExplicitFail || input.hardBlockingReviewFailure) {
|
|
169
|
+
return { kind: 'none' };
|
|
170
|
+
}
|
|
171
|
+
const failCount = input.failCount ?? 0;
|
|
172
|
+
const threshold = input.submitAnywayThreshold ?? Number.POSITIVE_INFINITY;
|
|
173
|
+
return failCount >= threshold ? { kind: 'warn', source: 'legacy_review' } : { kind: 'none' };
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=pre-review-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pre-review-policy.js","sourceRoot":"","sources":["../../src/pre-review-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* version.json). Must match package.json — test-locked in
|
|
4
4
|
* test/capture-guidance.test.mjs. Bump both together.
|
|
5
5
|
*/
|
|
6
|
-
export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.
|
|
6
|
+
export declare const CAPTURE_INTELLIGENCE_CORE_VERSION = "0.2.18";
|
|
7
7
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/esm/version.js
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* version.json). Must match package.json — test-locked in
|
|
4
4
|
* test/capture-guidance.test.mjs. Bump both together.
|
|
5
5
|
*/
|
|
6
|
-
export const CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.
|
|
6
|
+
export const CAPTURE_INTELLIGENCE_CORE_VERSION = '0.2.18';
|
|
7
7
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikashboks/capture-intelligence-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.18",
|
|
4
4
|
"description": "DOM-free algorithmic core for capture intelligence: document classification, edge detection, frame metrics, and quality checks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|