@mikashboks/capture-intelligence-core 0.1.6 → 0.1.8

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 (43) hide show
  1. package/dist/cjs/document-classifier.d.ts.map +1 -1
  2. package/dist/cjs/document-classifier.js +73 -21
  3. package/dist/cjs/document-classifier.js.map +1 -1
  4. package/dist/cjs/index.d.ts +3 -1
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +17 -2
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/metrics.d.ts.map +1 -1
  9. package/dist/cjs/metrics.js +6 -6
  10. package/dist/cjs/metrics.js.map +1 -1
  11. package/dist/cjs/mrz-band-detector.d.ts +84 -0
  12. package/dist/cjs/mrz-band-detector.d.ts.map +1 -0
  13. package/dist/cjs/mrz-band-detector.js +284 -0
  14. package/dist/cjs/mrz-band-detector.js.map +1 -0
  15. package/dist/cjs/quality-checks.d.ts.map +1 -1
  16. package/dist/cjs/quality-checks.js +55 -4
  17. package/dist/cjs/quality-checks.js.map +1 -1
  18. package/dist/cjs/types.d.ts +4 -0
  19. package/dist/cjs/types.d.ts.map +1 -1
  20. package/dist/cjs/types.js +6 -1
  21. package/dist/cjs/types.js.map +1 -1
  22. package/dist/esm/document-classifier.d.ts.map +1 -1
  23. package/dist/esm/document-classifier.js +73 -21
  24. package/dist/esm/document-classifier.js.map +1 -1
  25. package/dist/esm/index.d.ts +3 -1
  26. package/dist/esm/index.d.ts.map +1 -1
  27. package/dist/esm/index.js +2 -1
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/metrics.d.ts.map +1 -1
  30. package/dist/esm/metrics.js +7 -7
  31. package/dist/esm/metrics.js.map +1 -1
  32. package/dist/esm/mrz-band-detector.d.ts +84 -0
  33. package/dist/esm/mrz-band-detector.d.ts.map +1 -0
  34. package/dist/esm/mrz-band-detector.js +280 -0
  35. package/dist/esm/mrz-band-detector.js.map +1 -0
  36. package/dist/esm/quality-checks.d.ts.map +1 -1
  37. package/dist/esm/quality-checks.js +56 -5
  38. package/dist/esm/quality-checks.js.map +1 -1
  39. package/dist/esm/types.d.ts +4 -0
  40. package/dist/esm/types.d.ts.map +1 -1
  41. package/dist/esm/types.js +5 -0
  42. package/dist/esm/types.js.map +1 -1
  43. package/package.json +2 -1
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Passport MRZ-band detector — pure JS, no OpenCV.
3
+ *
4
+ * The Machine Readable Zone of a passport is a uniquely identifiable signature
5
+ * that no other document type carries: 2 (TD3) or 3 (TD2/TD1) lines of
6
+ * fixed-width OCR-B characters at the bottom of the photo page. Each character
7
+ * has multiple vertical strokes, so the MRZ band shows up in any frame as a
8
+ * very dense cluster of horizontal-gradient pixels in a wide, thin
9
+ * horizontal slab in the lower portion of the document.
10
+ *
11
+ * This detector is the Phase 2 positive signal: if it fires, the passport
12
+ * photo page is unambiguously present in the frame, regardless of whether
13
+ * the contour detector found a clean quad.
14
+ *
15
+ * Algorithm (cheap enough for 15 fps on 320×240 mid-range Android):
16
+ * 1. Restrict search to the bottom ~40% and mirrored top ~40% of the overlay
17
+ * region so upside-down passports still surface the MRZ signal.
18
+ * 2. For each row in that slice, count pixels where the absolute
19
+ * horizontal gradient |I(x+1) − I(x−1)| exceeds a fixed threshold,
20
+ * and record the leftmost / rightmost strong-gradient column.
21
+ * 3. Find the longest run of consecutive rows whose density exceeds
22
+ * a fraction of the slice's max row density.
23
+ * 4. If the run is in the expected band-height range AND the union of
24
+ * its strong-gradient columns covers a wide-enough horizontal span
25
+ * AND the band's aspect ratio (width / height) is in MRZ range
26
+ * (typically 4:1 – 25:1), report it as found.
27
+ *
28
+ * Inspired by Adrian Rosebrock, "Detecting machine-readable zones in passport
29
+ * images" (PyImageSearch, 2015) — adapted to a per-row density profile to
30
+ * avoid the expensive bottom-hat morphology while keeping the same intuition.
31
+ */
32
+ export const MRZ_HORIZONTAL_GRADIENT_THRESHOLD = 30;
33
+ export const MRZ_ROW_DENSITY_RATIO_THRESHOLD = 0.55;
34
+ export const MRZ_MIN_BAND_HEIGHT = 6;
35
+ export const MRZ_MAX_BAND_HEIGHT = 50;
36
+ export const MRZ_MIN_LINE_HEIGHT = 3;
37
+ export const MRZ_MAX_LINE_GAP = 8;
38
+ export const MRZ_MIN_BAND_WIDTH_FRAC = 0.4;
39
+ export const MRZ_MIN_BAND_ASPECT = 4;
40
+ export const MRZ_MAX_BAND_ASPECT = 30;
41
+ /** MRZ search window: bottom 0.55 → 1.0 of the overlay region (excludes the photo half). */
42
+ export const MRZ_SEARCH_TOP_FRAC = 0.55;
43
+ /** Density at which the row-density score saturates (1.0). */
44
+ export const MRZ_DENSITY_SCORE_SATURATION = 0.45;
45
+ const EMPTY_RESULT = Object.freeze({
46
+ found: false,
47
+ confidence: 0,
48
+ bbox: null,
49
+ peakRowDensity: 0,
50
+ bandWidthFraction: 0,
51
+ bandAspectRatio: 0,
52
+ });
53
+ function chooseMrzDetectionResult(results) {
54
+ const [best] = results.sort((a, b) => {
55
+ if (Number(a.found) !== Number(b.found))
56
+ return Number(b.found) - Number(a.found);
57
+ if (a.confidence !== b.confidence)
58
+ return b.confidence - a.confidence;
59
+ return b.peakRowDensity - a.peakRowDensity;
60
+ });
61
+ return best ?? EMPTY_RESULT;
62
+ }
63
+ export function detectPassportMrzBand(input) {
64
+ const { grey, greyW, greyH, region } = input;
65
+ if (!grey || grey.length < greyW * greyH)
66
+ return EMPTY_RESULT;
67
+ const rx1 = Math.max(1, Math.min(greyW - 2, Math.round(region.x1)));
68
+ const ry1 = Math.max(1, Math.min(greyH - 2, Math.round(region.y1)));
69
+ const rx2 = Math.max(rx1 + 2, Math.min(greyW - 1, Math.round(region.x2)));
70
+ const ry2 = Math.max(ry1 + 2, Math.min(greyH - 1, Math.round(region.y2)));
71
+ const regionW = rx2 - rx1;
72
+ const regionH = ry2 - ry1;
73
+ if (regionW < 32 || regionH < 18)
74
+ return EMPTY_RESULT;
75
+ const bottomSliceY1 = ry1 + Math.floor(regionH * MRZ_SEARCH_TOP_FRAC);
76
+ const bottomSliceY2 = ry2;
77
+ const sliceHeight = bottomSliceY2 - bottomSliceY1;
78
+ const topSliceY1 = ry1;
79
+ const topSliceY2 = Math.min(ry2, topSliceY1 + sliceHeight);
80
+ return chooseMrzDetectionResult([
81
+ detectPassportMrzBandInSlice({
82
+ grey,
83
+ greyW,
84
+ rx1,
85
+ rx2,
86
+ regionW,
87
+ sliceY1: bottomSliceY1,
88
+ sliceY2: bottomSliceY2,
89
+ }),
90
+ detectPassportMrzBandInSlice({
91
+ grey,
92
+ greyW,
93
+ rx1,
94
+ rx2,
95
+ regionW,
96
+ sliceY1: topSliceY1,
97
+ sliceY2: topSliceY2,
98
+ }),
99
+ ]);
100
+ }
101
+ function detectPassportMrzBandInSlice(input) {
102
+ const { grey, greyW, rx1, rx2, regionW, sliceY1, sliceY2 } = input;
103
+ const sliceH = sliceY2 - sliceY1;
104
+ if (sliceH < MRZ_MIN_BAND_HEIGHT)
105
+ return EMPTY_RESULT;
106
+ const rowDensity = new Float32Array(sliceH);
107
+ const rowFirst = new Int32Array(sliceH);
108
+ const rowLast = new Int32Array(sliceH);
109
+ rowFirst.fill(-1);
110
+ rowLast.fill(-1);
111
+ let maxDensity = 0;
112
+ for (let dy = 0; dy < sliceH; dy++) {
113
+ const y = sliceY1 + dy;
114
+ const rowOffset = y * greyW;
115
+ let count = 0;
116
+ let first = -1;
117
+ let last = -1;
118
+ for (let x = rx1; x < rx2; x++) {
119
+ const gx = Math.abs(grey[rowOffset + x + 1] - grey[rowOffset + x - 1]);
120
+ if (gx > MRZ_HORIZONTAL_GRADIENT_THRESHOLD) {
121
+ count++;
122
+ if (first === -1)
123
+ first = x;
124
+ last = x;
125
+ }
126
+ }
127
+ // Density measures the strong-edge ratio WITHIN the detected text span,
128
+ // not across the full region. Real MRZ text rarely spans the entire
129
+ // overlay width (margins, hand position) — normalizing by the text span
130
+ // gives a truer "how dense are the strokes here" signal that's
131
+ // comparable across different overlay sizes and document positions.
132
+ //
133
+ // Falls back to region-width normalization when:
134
+ // - no edges fired (blank rows stay at 0 density), OR
135
+ // - the detected span is too narrow / count is too low to be a
136
+ // credible MRZ row. Without this guard, a single isolated noise
137
+ // pixel would produce density=1/1=1.0, saturating the trace's
138
+ // `peakRowDensity` field with a misleading "MRZ-strong" reading.
139
+ // The bandWidthFraction / bandAspectRatio gates further down would
140
+ // still reject the candidate, but the trace would lie about why.
141
+ const span = first === -1 ? regionW : Math.max(1, last - first + 1);
142
+ const isPlausibleTextRow = count >= 6 && last - first >= 8;
143
+ const density = isPlausibleTextRow ? count / span : count / regionW;
144
+ rowDensity[dy] = density;
145
+ rowFirst[dy] = first;
146
+ rowLast[dy] = last;
147
+ if (density > maxDensity)
148
+ maxDensity = density;
149
+ }
150
+ if (maxDensity <= 0)
151
+ return { ...EMPTY_RESULT, peakRowDensity: 0 };
152
+ // Find runs of "dense" rows. Real TD3 passport MRZs are usually two OCR
153
+ // rows with a small interline gap, not one continuous slab. We therefore
154
+ // keep every plausible run and score either a single run or two adjacent
155
+ // runs merged across a small gap.
156
+ const denseThreshold = Math.max(0.05, maxDensity * MRZ_ROW_DENSITY_RATIO_THRESHOLD);
157
+ const runs = [];
158
+ let curStart = -1;
159
+ for (let i = 0; i <= sliceH; i++) {
160
+ const isDense = i < sliceH && rowDensity[i] >= denseThreshold;
161
+ if (isDense) {
162
+ if (curStart === -1)
163
+ curStart = i;
164
+ }
165
+ else if (curStart !== -1) {
166
+ const start = curStart;
167
+ const end = i - 1;
168
+ let left = Infinity;
169
+ let right = -Infinity;
170
+ let peakDensity = 0;
171
+ for (let r = start; r <= end; r++) {
172
+ if (rowFirst[r] >= 0 && rowFirst[r] < left)
173
+ left = rowFirst[r];
174
+ if (rowLast[r] > right)
175
+ right = rowLast[r];
176
+ if (rowDensity[r] > peakDensity)
177
+ peakDensity = rowDensity[r];
178
+ }
179
+ if (end - start + 1 >= MRZ_MIN_LINE_HEIGHT && Number.isFinite(left) && right >= left) {
180
+ runs.push({
181
+ start,
182
+ end,
183
+ denseRows: end - start + 1,
184
+ left,
185
+ right,
186
+ peakDensity,
187
+ });
188
+ }
189
+ curStart = -1;
190
+ }
191
+ }
192
+ if (runs.length === 0) {
193
+ return { ...EMPTY_RESULT, peakRowDensity: maxDensity };
194
+ }
195
+ const scoreBand = (band) => {
196
+ const visualHeight = band.end - band.start + 1;
197
+ const bandW = band.right - band.left + 1;
198
+ const bandWFrac = bandW / regionW;
199
+ const bandAspect = bandW / Math.max(1, visualHeight);
200
+ const heightOk = band.denseRows >= MRZ_MIN_BAND_HEIGHT &&
201
+ visualHeight >= MRZ_MIN_BAND_HEIGHT &&
202
+ visualHeight <= MRZ_MAX_BAND_HEIGHT;
203
+ const widthOk = bandWFrac >= MRZ_MIN_BAND_WIDTH_FRAC;
204
+ const aspectOk = bandAspect >= MRZ_MIN_BAND_ASPECT && bandAspect <= MRZ_MAX_BAND_ASPECT;
205
+ const densityScore = Math.min(1, band.peakDensity / MRZ_DENSITY_SCORE_SATURATION);
206
+ const widthScore = Math.min(1, Math.max(0, (bandWFrac - MRZ_MIN_BAND_WIDTH_FRAC) / 0.4));
207
+ const aspectScore = bandAspect >= 6 && bandAspect <= 20 ? 1 : 0.6;
208
+ const hasTwoLines = band.lineCount >= 2;
209
+ const lineScore = hasTwoLines ? 1 : 0;
210
+ const rawConfidence = Math.max(0, Math.min(1, 0.34 * densityScore + 0.26 * widthScore + 0.24 * aspectScore + 0.16 * lineScore));
211
+ const confidence = hasTwoLines ? rawConfidence : Math.min(rawConfidence, 0.42);
212
+ return {
213
+ ...band,
214
+ visualHeight,
215
+ bandW,
216
+ bandWFrac,
217
+ bandAspect,
218
+ found: hasTwoLines && heightOk && widthOk && aspectOk,
219
+ confidence,
220
+ };
221
+ };
222
+ const candidates = [];
223
+ for (let i = 0; i < runs.length; i++) {
224
+ const run = runs[i];
225
+ candidates.push(scoreBand({
226
+ start: run.start,
227
+ end: run.end,
228
+ denseRows: run.denseRows,
229
+ left: run.left,
230
+ right: run.right,
231
+ lineCount: 1,
232
+ peakDensity: run.peakDensity,
233
+ }));
234
+ const next = runs[i + 1];
235
+ if (!next)
236
+ continue;
237
+ const gap = next.start - run.end - 1;
238
+ if (gap < 0 || gap > MRZ_MAX_LINE_GAP)
239
+ continue;
240
+ candidates.push(scoreBand({
241
+ start: run.start,
242
+ end: next.end,
243
+ denseRows: run.denseRows + next.denseRows,
244
+ left: Math.min(run.left, next.left),
245
+ right: Math.max(run.right, next.right),
246
+ lineCount: 2,
247
+ peakDensity: Math.max(run.peakDensity, next.peakDensity),
248
+ }));
249
+ }
250
+ candidates.sort((a, b) => {
251
+ if (Number(a.found) !== Number(b.found))
252
+ return Number(b.found) - Number(a.found);
253
+ return b.confidence - a.confidence;
254
+ });
255
+ const best = candidates[0];
256
+ if (!best)
257
+ return { ...EMPTY_RESULT, peakRowDensity: maxDensity };
258
+ if (!best.found) {
259
+ return {
260
+ ...EMPTY_RESULT,
261
+ peakRowDensity: maxDensity,
262
+ bandWidthFraction: best.bandWFrac,
263
+ bandAspectRatio: best.bandAspect,
264
+ };
265
+ }
266
+ return {
267
+ found: true,
268
+ confidence: best.confidence,
269
+ bbox: {
270
+ x: best.left,
271
+ y: sliceY1 + best.start,
272
+ w: best.bandW,
273
+ h: best.visualHeight,
274
+ },
275
+ peakRowDensity: maxDensity,
276
+ bandWidthFraction: best.bandWFrac,
277
+ bandAspectRatio: best.bandAspect,
278
+ };
279
+ }
280
+ //# sourceMappingURL=mrz-band-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrz-band-detector.js","sourceRoot":"","sources":["../../src/mrz-band-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-checks.d.ts","sourceRoot":"","sources":["../../src/quality-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-checks.d.ts","sourceRoot":"","sources":["../../src/quality-checks.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,56 @@
10
10
  * Node.js environments.
11
11
  */
12
12
  import { CAM_BRIGHTNESS_MIN, CAM_BRIGHTNESS_MAX, DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD, SELFIE_SUBMIT_ANYWAY_FAILURE_THRESHOLD, ADDRESS_SUBMIT_ANYWAY_FAILURE_THRESHOLD, } from './types.js';
13
- import { checkDocumentLikelihood } from './document-classifier.js';
13
+ import { checkDocumentLikelihood, getDocumentReviewProfile } from './document-classifier.js';
14
+ const DOCUMENT_GEOMETRY_SUPPORT_CONFIDENCE_FLOOR = 45;
15
+ const DOCUMENT_GEOMETRY_SUPPORT_THRESHOLD_MARGIN = 16;
16
+ const DEFAULT_DOCUMENT_SHARPNESS_MIN = 60;
17
+ const SIERRA_LEONE_CARD_DOCUMENT_SHARPNESS_MIN = 50;
18
+ function normalizeDocumentTypeHint(documentType) {
19
+ return String(documentType || '')
20
+ .trim()
21
+ .toLowerCase()
22
+ .replace(/[\s-]+/g, '_');
23
+ }
24
+ function isSierraLeoneCardDocument(documentType) {
25
+ switch (normalizeDocumentTypeHint(documentType)) {
26
+ case 'id_card':
27
+ case 'national_id':
28
+ case 'national_id_card':
29
+ case 'sierraleone_national_id':
30
+ case 'sierraleone_national_id_card':
31
+ case 'voter_id':
32
+ case 'voter_card':
33
+ case 'sierraleone_voter_id':
34
+ case 'driver_license':
35
+ case 'drivers_license':
36
+ case 'driver_licence':
37
+ case 'drivers_licence':
38
+ case 'sierraleone_driver_license':
39
+ case 'sierraleone_drivers_license':
40
+ case 'market_association':
41
+ case 'market_association_card':
42
+ return true;
43
+ default:
44
+ return false;
45
+ }
46
+ }
47
+ function getDocumentSharpnessMinimum(documentType, isAddressProof) {
48
+ if (isAddressProof)
49
+ return DEFAULT_DOCUMENT_SHARPNESS_MIN;
50
+ return isSierraLeoneCardDocument(documentType)
51
+ ? SIERRA_LEONE_CARD_DOCUMENT_SHARPNESS_MIN
52
+ : DEFAULT_DOCUMENT_SHARPNESS_MIN;
53
+ }
54
+ function hasSupportedDocumentEvidence(result, documentType, cornersOk) {
55
+ if (result.isLikelyDoc)
56
+ return true;
57
+ if (cornersOk !== true)
58
+ return false;
59
+ const reviewProfile = getDocumentReviewProfile(documentType);
60
+ const supportedConfidence = Math.max(DOCUMENT_GEOMETRY_SUPPORT_CONFIDENCE_FLOOR, reviewProfile.threshold - DOCUMENT_GEOMETRY_SUPPORT_THRESHOLD_MARGIN);
61
+ return result.confidence >= supportedConfidence;
62
+ }
14
63
  /* -- Quality bucket classification ---------------------------------------- */
15
64
  /**
16
65
  * Map a step signature string and optional review mode to a quality bucket.
@@ -185,7 +234,8 @@ function setFailureCount(state, bucket, value) {
185
234
  export function runDocumentQualityChecks(input) {
186
235
  const checks = {};
187
236
  const brightnessOk = input.avgBrightness >= CAM_BRIGHTNESS_MIN && input.avgBrightness <= CAM_BRIGHTNESS_MAX;
188
- const sharpnessOk = input.laplacianVariance >= 60;
237
+ const sharpnessOk = input.laplacianVariance >=
238
+ getDocumentSharpnessMinimum(input.documentType, input.isAddressProof);
189
239
  if (input.isAddressProof) {
190
240
  const docResult = checkDocumentLikelihood(input.grey, input.imgData, input.w, input.h, input.documentType || 'utility_bill');
191
241
  checks['address_document_present'] = docResult.isLikelyDoc;
@@ -203,13 +253,14 @@ export function runDocumentQualityChecks(input) {
203
253
  }
204
254
  // Canvas heuristic: does this look like the submitted document type?
205
255
  const docResult = checkDocumentLikelihood(input.grey, input.imgData, input.w, input.h, input.documentType);
206
- const docLooksValid = docResult.isLikelyDoc && input.cornersOk !== false;
256
+ const hasDocumentEvidence = hasSupportedDocumentEvidence(docResult, input.documentType, input.cornersOk);
257
+ const docLooksValid = hasDocumentEvidence && input.cornersOk !== false;
207
258
  checks['content_valid'] = docLooksValid;
208
259
  // Surface glare detection
209
260
  if (docResult.glareDetected) {
210
261
  checks['glare_free'] = false;
211
262
  }
212
- if (!docResult.isLikelyDoc) {
263
+ if (!hasDocumentEvidence || !docResult.isLikelyDoc) {
213
264
  checks['text_readable'] = false;
214
265
  }
215
266
  else if (input.cornersOk === false) {
@@ -443,7 +494,7 @@ export function getNextButtonDisabledReason(checks, isSelfieOrOptions, isAddress
443
494
  */
444
495
  export function getOverrideButtonText(stepSig) {
445
496
  const bucket = getQualityBucket(stepSig);
446
- return bucket === 'selfie' ? 'Continue With This Selfie' : 'Continue With This Photo';
497
+ return bucket === 'selfie' ? 'Continue with this Selfie' : 'Continue';
447
498
  }
448
499
  /**
449
500
  * Get the override banner message based on failure count and bucket.
@@ -1 +1 @@
1
- {"version":3,"file":"quality-checks.js","sourceRoot":"","sources":["../../src/quality-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-checks.js","sourceRoot":"","sources":["../../src/quality-checks.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,10 @@ export declare const CAM_FRAME_DIFF_THRESHOLD = 15;
89
89
  export declare const CAM_EDGE_PIXEL_THRESHOLD = 60;
90
90
  export declare const CAM_EDGE_COVERAGE_THRESHOLD = 0.02;
91
91
  export declare const CAM_DOC_CENTER_OFFSET_MAX = 0.25;
92
+ export declare const CAPTURE_DOCUMENT_SHARPNESS_MIN = 50;
93
+ export declare const CAPTURE_DOCUMENT_MANUAL_FALLBACK_SECS = 6;
94
+ export declare const CAPTURE_DOCUMENT_AREA_MIN = 0.1;
95
+ export declare const CAPTURE_DOCUMENT_EDGE_READY_MULTIPLIER = 1.35;
92
96
  export declare const DOC_GALLERY_FAILURE_THRESHOLD = 1;
93
97
  export declare const DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
94
98
  export declare const SELFIE_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/esm/types.js CHANGED
@@ -24,6 +24,11 @@ export const CAM_FRAME_DIFF_THRESHOLD = 15;
24
24
  export const CAM_EDGE_PIXEL_THRESHOLD = 60;
25
25
  export const CAM_EDGE_COVERAGE_THRESHOLD = 0.02;
26
26
  export const CAM_DOC_CENTER_OFFSET_MAX = 0.25;
27
+ /* -- Shared mobile capture policy thresholds ------------------------------ */
28
+ export const CAPTURE_DOCUMENT_SHARPNESS_MIN = 50;
29
+ export const CAPTURE_DOCUMENT_MANUAL_FALLBACK_SECS = 6;
30
+ export const CAPTURE_DOCUMENT_AREA_MIN = 0.1;
31
+ export const CAPTURE_DOCUMENT_EDGE_READY_MULTIPLIER = 1.35;
27
32
  /* -- Retry escalation thresholds ------------------------------------------ */
28
33
  export const DOC_GALLERY_FAILURE_THRESHOLD = 1;
29
34
  export const DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;CACC,CAAC;AA+GX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,kBAAkB;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,+EAA+E;AAE/E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAEzD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;CACC,CAAC;AA+GX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,kBAAkB;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,+EAA+E;AAE/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAC7C,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAE3D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAEzD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikashboks/capture-intelligence-core",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
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",
@@ -41,6 +41,7 @@
41
41
  "build:esm": "tsc --project tsconfig.esm.json",
42
42
  "build:cjs": "tsc --project tsconfig.cjs.json",
43
43
  "typecheck": "tsc --noEmit",
44
+ "test": "npm run build && node --test ./test/*.test.mjs",
44
45
  "test:package-entrypoint": "npm run build && node --test ./test/package-entrypoint.test.mjs ./test/kyc-mobile-contract.test.mjs",
45
46
  "check:dist": "npm run build && node ./scripts/check-dist-clean.mjs dist",
46
47
  "clean": "rm -rf dist",