@mikashboks/capture-intelligence-core 0.1.10 → 0.1.19

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 (83) hide show
  1. package/dist/cjs/capture-normalization.d.ts +21 -1
  2. package/dist/cjs/capture-normalization.d.ts.map +1 -1
  3. package/dist/cjs/capture-normalization.js +85 -13
  4. package/dist/cjs/capture-normalization.js.map +1 -1
  5. package/dist/cjs/document-classifier.d.ts.map +1 -1
  6. package/dist/cjs/document-classifier.js +59 -2
  7. package/dist/cjs/document-classifier.js.map +1 -1
  8. package/dist/cjs/document-placement.d.ts +21 -0
  9. package/dist/cjs/document-placement.d.ts.map +1 -0
  10. package/dist/cjs/document-placement.js +69 -0
  11. package/dist/cjs/document-placement.js.map +1 -0
  12. package/dist/cjs/index.d.ts +12 -4
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +27 -2
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/issuing-country.d.ts +16 -0
  17. package/dist/cjs/issuing-country.d.ts.map +1 -0
  18. package/dist/cjs/issuing-country.js +77 -0
  19. package/dist/cjs/issuing-country.js.map +1 -0
  20. package/dist/cjs/kyc-mobile-contract.d.ts +13 -1
  21. package/dist/cjs/kyc-mobile-contract.d.ts.map +1 -1
  22. package/dist/cjs/kyc-mobile-contract.js +64 -6
  23. package/dist/cjs/kyc-mobile-contract.js.map +1 -1
  24. package/dist/cjs/mrz-band-detector.d.ts +12 -5
  25. package/dist/cjs/mrz-band-detector.d.ts.map +1 -1
  26. package/dist/cjs/mrz-band-detector.js +29 -14
  27. package/dist/cjs/mrz-band-detector.js.map +1 -1
  28. package/dist/cjs/mrz-check-digits.d.ts +74 -0
  29. package/dist/cjs/mrz-check-digits.d.ts.map +1 -0
  30. package/dist/cjs/mrz-check-digits.js +478 -0
  31. package/dist/cjs/mrz-check-digits.js.map +1 -0
  32. package/dist/cjs/mrz-policy.d.ts +18 -0
  33. package/dist/cjs/mrz-policy.d.ts.map +1 -0
  34. package/dist/cjs/mrz-policy.js +90 -0
  35. package/dist/cjs/mrz-policy.js.map +1 -0
  36. package/dist/cjs/quality-checks.d.ts +14 -0
  37. package/dist/cjs/quality-checks.d.ts.map +1 -1
  38. package/dist/cjs/quality-checks.js +43 -5
  39. package/dist/cjs/quality-checks.js.map +1 -1
  40. package/dist/cjs/types.d.ts +2 -2
  41. package/dist/cjs/types.js +2 -2
  42. package/dist/esm/capture-normalization.d.ts +21 -1
  43. package/dist/esm/capture-normalization.d.ts.map +1 -1
  44. package/dist/esm/capture-normalization.js +84 -13
  45. package/dist/esm/capture-normalization.js.map +1 -1
  46. package/dist/esm/document-classifier.d.ts.map +1 -1
  47. package/dist/esm/document-classifier.js +59 -2
  48. package/dist/esm/document-classifier.js.map +1 -1
  49. package/dist/esm/document-placement.d.ts +21 -0
  50. package/dist/esm/document-placement.d.ts.map +1 -0
  51. package/dist/esm/document-placement.js +65 -0
  52. package/dist/esm/document-placement.js.map +1 -0
  53. package/dist/esm/index.d.ts +12 -4
  54. package/dist/esm/index.d.ts.map +1 -1
  55. package/dist/esm/index.js +7 -3
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/issuing-country.d.ts +16 -0
  58. package/dist/esm/issuing-country.d.ts.map +1 -0
  59. package/dist/esm/issuing-country.js +71 -0
  60. package/dist/esm/issuing-country.js.map +1 -0
  61. package/dist/esm/kyc-mobile-contract.d.ts +13 -1
  62. package/dist/esm/kyc-mobile-contract.d.ts.map +1 -1
  63. package/dist/esm/kyc-mobile-contract.js +63 -5
  64. package/dist/esm/kyc-mobile-contract.js.map +1 -1
  65. package/dist/esm/mrz-band-detector.d.ts +12 -5
  66. package/dist/esm/mrz-band-detector.d.ts.map +1 -1
  67. package/dist/esm/mrz-band-detector.js +29 -14
  68. package/dist/esm/mrz-band-detector.js.map +1 -1
  69. package/dist/esm/mrz-check-digits.d.ts +74 -0
  70. package/dist/esm/mrz-check-digits.d.ts.map +1 -0
  71. package/dist/esm/mrz-check-digits.js +471 -0
  72. package/dist/esm/mrz-check-digits.js.map +1 -0
  73. package/dist/esm/mrz-policy.d.ts +18 -0
  74. package/dist/esm/mrz-policy.d.ts.map +1 -0
  75. package/dist/esm/mrz-policy.js +87 -0
  76. package/dist/esm/mrz-policy.js.map +1 -0
  77. package/dist/esm/quality-checks.d.ts +14 -0
  78. package/dist/esm/quality-checks.d.ts.map +1 -1
  79. package/dist/esm/quality-checks.js +42 -5
  80. package/dist/esm/quality-checks.js.map +1 -1
  81. package/dist/esm/types.d.ts +2 -2
  82. package/dist/esm/types.js +2 -2
  83. package/package.json +8 -4
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveDocumentMrzPolicy = resolveDocumentMrzPolicy;
4
+ const PASSPORT_POLICY = Object.freeze({
5
+ expected: true,
6
+ expectation: 'expected',
7
+ formats: ['TD3'],
8
+ placement: 'passport_data_page',
9
+ reason: 'passport_data_page',
10
+ });
11
+ const CARD_BACK_POLICY = Object.freeze({
12
+ expected: true,
13
+ expectation: 'expected',
14
+ formats: ['TD1', 'TD2'],
15
+ placement: 'card_back',
16
+ reason: 'card_back',
17
+ });
18
+ const NO_MRZ_POLICY = Object.freeze({
19
+ expected: false,
20
+ expectation: 'none',
21
+ formats: [],
22
+ placement: null,
23
+ reason: 'not_expected',
24
+ });
25
+ const MRZ_CARD_BASE_TYPES = new Set([
26
+ 'card',
27
+ 'card_back',
28
+ 'id_card',
29
+ 'identity_card',
30
+ 'national_id',
31
+ 'national_id_card',
32
+ 'sierraleone_national_id',
33
+ 'sierraleone_national_id_card',
34
+ 'ghana_card',
35
+ ]);
36
+ function normalizeToken(value) {
37
+ return String(value || '')
38
+ .trim()
39
+ .toLowerCase()
40
+ .replace(/[\s-]+/g, '_');
41
+ }
42
+ function resolveDocumentSide(input, documentType) {
43
+ const explicitSide = normalizeToken(input.documentSide);
44
+ if (explicitSide === 'front' || explicitSide === 'back')
45
+ return explicitSide;
46
+ const captureMode = normalizeToken(input.captureMode);
47
+ if (captureMode.includes('back'))
48
+ return 'back';
49
+ if (captureMode.includes('front'))
50
+ return 'front';
51
+ if (documentType.endsWith('_back'))
52
+ return 'back';
53
+ return null;
54
+ }
55
+ function stripBackSuffix(documentType) {
56
+ return documentType.endsWith('_back') ? documentType.slice(0, -'_back'.length) : documentType;
57
+ }
58
+ function isAddressOrSelfieType(documentType, overlayVariant) {
59
+ return (overlayVariant === 'a4' ||
60
+ documentType.includes('address') ||
61
+ documentType.includes('proof_of_address') ||
62
+ documentType.includes('utility_bill') ||
63
+ documentType.includes('selfie') ||
64
+ documentType.includes('liveness') ||
65
+ documentType.includes('mobile_money') ||
66
+ documentType.includes('business_registration'));
67
+ }
68
+ function resolveDocumentMrzPolicy(input = {}) {
69
+ const documentType = normalizeToken(input.documentType);
70
+ const overlayVariant = normalizeToken(input.overlayVariant);
71
+ if (isAddressOrSelfieType(documentType, overlayVariant)) {
72
+ return NO_MRZ_POLICY;
73
+ }
74
+ if (documentType.includes('passport') || overlayVariant === 'passport') {
75
+ return PASSPORT_POLICY;
76
+ }
77
+ const side = resolveDocumentSide(input, documentType);
78
+ if (side !== 'back') {
79
+ return NO_MRZ_POLICY;
80
+ }
81
+ const baseType = stripBackSuffix(documentType);
82
+ if (MRZ_CARD_BASE_TYPES.has(documentType) || MRZ_CARD_BASE_TYPES.has(baseType)) {
83
+ return CARD_BACK_POLICY;
84
+ }
85
+ if (!documentType && overlayVariant === 'card') {
86
+ return CARD_BACK_POLICY;
87
+ }
88
+ return NO_MRZ_POLICY;
89
+ }
90
+ //# sourceMappingURL=mrz-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrz-policy.js","sourceRoot":"","sources":["../../src/mrz-policy.ts"],"names":[],"mappings":";;AAgGA,4DA2BC;AAvGD,MAAM,eAAe,GAAsB,MAAM,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,CAAC,KAAK,CAAU;IACzB,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,oBAAoB;CAC7B,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACxD,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAU;IAChC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,WAAW;CACpB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAsB,MAAM,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,EAAW;IACpB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,cAAc;CACvB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,MAAM;IACN,WAAW;IACX,SAAS;IACT,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,yBAAyB;IACzB,8BAA8B;IAC9B,YAAY;CACb,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAgC;IACtD,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAA6B,EAC7B,YAAoB;IAEpB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC;IAE7E,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAChD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAElD,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,YAAoB;IAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAChG,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB,EAAE,cAAsB;IACzE,OAAO,CACL,cAAc,KAAK,IAAI;QACvB,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;QAChC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACzC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;QACrC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/B,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;QACrC,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,QAAgC,EAAE;IACzE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE5D,IAAI,qBAAqB,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;QACxD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QACvE,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACtD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/E,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -57,6 +57,20 @@ export declare function shouldShowSubmitAnyway(state: QualityFailureState, stepS
57
57
  * missing face from the submitted asset.
58
58
  */
59
59
  export declare function hasHardBlockingQualityFailure(checks: QualityCheckResults, reviewMode?: ReviewMode): boolean;
60
+ /**
61
+ * A document corner failure is "retry-escapable" when there is no confident
62
+ * cut-off evidence. The live detector (especially the sobel fallback on iOS
63
+ * Safari) can under-bound a document that is fully in frame and report
64
+ * corners_visible=false — the off-center "Show all 4 corners of the ID."
65
+ * loop-trap, where the user is stuck on Retake forever.
66
+ *
67
+ * This lets the bounded Submit-Anyway override (only after the retry threshold)
68
+ * apply to those false positives, while a genuine cut-off (cutOffRisk 'high' —
69
+ * a truly clipped ID missing data/MRZ) stays non-escapable. The submitted image
70
+ * is the uncropped original and the case is still routed for manual review, so
71
+ * this is bounded relief, not blind trust.
72
+ */
73
+ export declare function isRetryEscapableDocumentCornerFailure(checks: QualityCheckResults, cutOffRisk?: string | null, reviewMode?: ReviewMode): boolean;
60
74
  /**
61
75
  * Infer the non-ID review mode from the submitted document/proof type.
62
76
  *
@@ -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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"}
@@ -17,6 +17,7 @@ exports.createQualityFailureState = createQualityFailureState;
17
17
  exports.countFailedReview = countFailedReview;
18
18
  exports.shouldShowSubmitAnyway = shouldShowSubmitAnyway;
19
19
  exports.hasHardBlockingQualityFailure = hasHardBlockingQualityFailure;
20
+ exports.isRetryEscapableDocumentCornerFailure = isRetryEscapableDocumentCornerFailure;
20
21
  exports.getReviewModeFromDocumentType = getReviewModeFromDocumentType;
21
22
  exports.runDocumentQualityChecks = runDocumentQualityChecks;
22
23
  exports.runSelfieQualityChecks = runSelfieQualityChecks;
@@ -44,21 +45,37 @@ function normalizeDocumentTypeHint(documentType) {
44
45
  function isSierraLeoneCardDocument(documentType) {
45
46
  switch (normalizeDocumentTypeHint(documentType)) {
46
47
  case 'id_card':
48
+ case 'id_card_back':
47
49
  case 'national_id':
50
+ case 'national_id_back':
48
51
  case 'national_id_card':
52
+ case 'national_id_card_back':
49
53
  case 'sierraleone_national_id':
54
+ case 'sierraleone_national_id_back':
50
55
  case 'sierraleone_national_id_card':
56
+ case 'sierraleone_national_id_card_back':
51
57
  case 'voter_id':
58
+ case 'voter_id_back':
52
59
  case 'voter_card':
60
+ case 'voter_card_back':
53
61
  case 'sierraleone_voter_id':
62
+ case 'sierraleone_voter_id_back':
54
63
  case 'driver_license':
64
+ case 'driver_license_back':
55
65
  case 'drivers_license':
66
+ case 'drivers_license_back':
56
67
  case 'driver_licence':
68
+ case 'driver_licence_back':
57
69
  case 'drivers_licence':
70
+ case 'drivers_licence_back':
58
71
  case 'sierraleone_driver_license':
72
+ case 'sierraleone_driver_license_back':
59
73
  case 'sierraleone_drivers_license':
74
+ case 'sierraleone_drivers_license_back':
60
75
  case 'market_association':
76
+ case 'market_association_back':
61
77
  case 'market_association_card':
78
+ case 'market_association_card_back':
62
79
  return true;
63
80
  default:
64
81
  return false;
@@ -187,6 +204,27 @@ function hasHardBlockingQualityFailure(checks, reviewMode = 'document') {
187
204
  return ((checks.hasOwnProperty('corners_visible') && checks['corners_visible'] === false) ||
188
205
  (checks.hasOwnProperty('content_valid') && checks['content_valid'] === false));
189
206
  }
207
+ /**
208
+ * A document corner failure is "retry-escapable" when there is no confident
209
+ * cut-off evidence. The live detector (especially the sobel fallback on iOS
210
+ * Safari) can under-bound a document that is fully in frame and report
211
+ * corners_visible=false — the off-center "Show all 4 corners of the ID."
212
+ * loop-trap, where the user is stuck on Retake forever.
213
+ *
214
+ * This lets the bounded Submit-Anyway override (only after the retry threshold)
215
+ * apply to those false positives, while a genuine cut-off (cutOffRisk 'high' —
216
+ * a truly clipped ID missing data/MRZ) stays non-escapable. The submitted image
217
+ * is the uncropped original and the case is still routed for manual review, so
218
+ * this is bounded relief, not blind trust.
219
+ */
220
+ function isRetryEscapableDocumentCornerFailure(checks, cutOffRisk, reviewMode = 'document') {
221
+ if (reviewMode !== 'document')
222
+ return false;
223
+ if (!(checks.hasOwnProperty('corners_visible') && checks['corners_visible'] === false)) {
224
+ return false;
225
+ }
226
+ return (cutOffRisk ?? 'low') !== 'high';
227
+ }
190
228
  /**
191
229
  * Infer the non-ID review mode from the submitted document/proof type.
192
230
  *
@@ -389,13 +427,13 @@ function evaluateDocumentFailure(checks, isAddressProof) {
389
427
  }
390
428
  else if (checks.hasOwnProperty('address_readable') && !checks['address_readable']) {
391
429
  anyFail = true;
392
- failMessage = 'Can\u2019t read the text. Try again in better light.';
430
+ failMessage = 'Move closer and reduce glare so the address text is readable.';
393
431
  }
394
432
  }
395
433
  else {
396
434
  if (checks.hasOwnProperty('corners_visible') && !checks['corners_visible']) {
397
435
  anyFail = true;
398
- failMessage = 'Full document is not visible. Show all edges.';
436
+ failMessage = 'Show all 4 corners of the ID.';
399
437
  }
400
438
  else if (checks.hasOwnProperty('content_valid') && !checks['content_valid']) {
401
439
  anyFail = true;
@@ -403,15 +441,15 @@ function evaluateDocumentFailure(checks, isAddressProof) {
403
441
  }
404
442
  else if (checks.hasOwnProperty('good_lighting') && !checks['good_lighting']) {
405
443
  anyFail = true;
406
- failMessage = 'Too dark or blurry. Try again in better light.';
444
+ failMessage = 'Reduce glare or use brighter light.';
407
445
  }
408
446
  else if (checks.hasOwnProperty('text_readable') && !checks['text_readable']) {
409
447
  anyFail = true;
410
- failMessage = 'Text is hard to read. Hold steady and try again.';
448
+ failMessage = 'Move closer and hold phone still.';
411
449
  }
412
450
  else if (checks.hasOwnProperty('glare_free') && !checks['glare_free']) {
413
451
  anyFail = true;
414
- failMessage = 'Glare on the ID. Tilt away from light and try again.';
452
+ failMessage = 'Reduce glare. Tilt the ID away from the light.';
415
453
  }
416
454
  }
417
455
  return { anyFail, failMessage };
@@ -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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"}
@@ -93,8 +93,8 @@ export declare const CAPTURE_DOCUMENT_SHARPNESS_MIN = 50;
93
93
  export declare const CAPTURE_DOCUMENT_MANUAL_FALLBACK_SECS = 6;
94
94
  export declare const CAPTURE_DOCUMENT_AREA_MIN = 0.1;
95
95
  export declare const CAPTURE_DOCUMENT_EDGE_READY_MULTIPLIER = 1.35;
96
- export declare const DOC_GALLERY_FAILURE_THRESHOLD = 1;
97
- export declare const DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
96
+ export declare const DOC_GALLERY_FAILURE_THRESHOLD = 2;
97
+ export declare const DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 3;
98
98
  export declare const SELFIE_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
99
99
  export declare const ADDRESS_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
100
100
  export declare const PICO_ANALYSIS_W = 240;
package/dist/cjs/types.js CHANGED
@@ -33,8 +33,8 @@ exports.CAPTURE_DOCUMENT_MANUAL_FALLBACK_SECS = 6;
33
33
  exports.CAPTURE_DOCUMENT_AREA_MIN = 0.1;
34
34
  exports.CAPTURE_DOCUMENT_EDGE_READY_MULTIPLIER = 1.35;
35
35
  /* -- Retry escalation thresholds ------------------------------------------ */
36
- exports.DOC_GALLERY_FAILURE_THRESHOLD = 1;
37
- exports.DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
36
+ exports.DOC_GALLERY_FAILURE_THRESHOLD = 2;
37
+ exports.DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 3;
38
38
  exports.SELFIE_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
39
39
  exports.ADDRESS_SUBMIT_ANYWAY_FAILURE_THRESHOLD = 2;
40
40
  /* -- Pico.js analysis dimensions ------------------------------------------ */
@@ -16,6 +16,21 @@ export interface CaptureCropRect {
16
16
  }
17
17
  export type CapturePreviewResizeMode = 'cover' | 'contain';
18
18
  export type CaptureRotationDegrees = 0 | 90 | 180 | 270;
19
+ export type CaptureNormalizationUnsafeReason = 'clamped_edge' | 'too_small' | 'too_large' | 'bad_aspect' | 'nearly_full_frame';
20
+ export interface CaptureClampedEdges {
21
+ left: boolean;
22
+ top: boolean;
23
+ right: boolean;
24
+ bottom: boolean;
25
+ }
26
+ export interface CaptureNormalizationDiagnostics {
27
+ paddingRatio: number;
28
+ clampedEdges: CaptureClampedEdges;
29
+ clamped: boolean;
30
+ areaRatio: number;
31
+ aspectRatio: number;
32
+ unsafeReason: CaptureNormalizationUnsafeReason | null;
33
+ }
19
34
  export interface PreviewRectToImageCropInput {
20
35
  imageSize: CaptureImageSize;
21
36
  previewSize: CaptureImageSize;
@@ -41,9 +56,14 @@ export interface CaptureNormalizationPlan {
41
56
  rotate: CaptureRotationDegrees;
42
57
  resize?: CaptureResizePlan;
43
58
  outputSize: CaptureImageSize;
59
+ diagnostics: CaptureNormalizationDiagnostics;
44
60
  }
45
61
  export type CaptureFrameMode = 'document' | 'address-document' | 'front-door' | 'selfie';
46
- export declare function mapPreviewRectToImageCrop({ imageSize, previewSize, previewRect, resizeMode, paddingRatio, }: PreviewRectToImageCropInput): CaptureCropRect;
62
+ export declare function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, resizeMode, paddingRatio, }: PreviewRectToImageCropInput): {
63
+ crop: CaptureCropRect;
64
+ diagnostics: CaptureNormalizationDiagnostics;
65
+ };
66
+ export declare function mapPreviewRectToImageCrop(input: PreviewRectToImageCropInput): CaptureCropRect;
47
67
  export declare function getRotationToExpectedOrientation({ width, height, documentType, }: ExpectedOrientationInput): CaptureRotationDegrees;
48
68
  export declare function buildCaptureNormalizationPlan(input: CaptureNormalizationPlanInput): CaptureNormalizationPlan;
49
69
  export declare function getDocumentCaptureFrameAspectRatio(documentType: string | null | undefined, mode: CaptureFrameMode): number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"capture-normalization.d.ts","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;AAExD,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,kBAAkB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAsBzF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAoB,EACpB,YAAmB,GACpB,EAAE,2BAA2B,GAAG,eAAe,CAmD/C;AAED,wBAAgB,gCAAgC,CAAC,EAC/C,KAAK,EACL,MAAM,EACN,YAAY,GACb,EAAE,wBAAwB,GAAG,sBAAsB,CAYnD;AASD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,6BAA6B,GACnC,wBAAwB,CAkB1B;AAED,wBAAgB,kCAAkC,CAChD,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,IAAI,EAAE,gBAAgB,GACrB,MAAM,GAAG,IAAI,CAiBf"}
1
+ {"version":3,"file":"capture-normalization.d.ts","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,55 @@
1
1
  import { getDocumentReviewProfile } from './document-classifier.js';
2
2
  const CARD_CAPTURE_FRAME_ASPECT_RATIO = 1.585;
3
3
  const ADDRESS_DOCUMENT_CAPTURE_FRAME_ASPECT_RATIO = 0.72;
4
+ const CAPTURE_NORMALIZATION_MIN_AREA_RATIO = 0.04;
5
+ const CAPTURE_NORMALIZATION_MAX_AREA_RATIO = 0.92;
6
+ const CAPTURE_NORMALIZATION_NEAR_FULL_FRAME_AREA_RATIO = 0.9;
7
+ const CAPTURE_NORMALIZATION_MIN_ASPECT_RATIO = 0.35;
8
+ const CAPTURE_NORMALIZATION_MAX_ASPECT_RATIO = 2.4;
4
9
  function clamp(value, min, max) {
5
10
  return Math.min(max, Math.max(min, value));
6
11
  }
7
12
  function hasPositiveSize(size) {
8
13
  return size.width > 0 && size.height > 0;
9
14
  }
15
+ const NO_CLAMPED_EDGES = {
16
+ left: false,
17
+ top: false,
18
+ right: false,
19
+ bottom: false,
20
+ };
21
+ function getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges = NO_CLAMPED_EDGES) {
22
+ const sourceArea = Math.max(1, imageSize.width * imageSize.height);
23
+ const cropArea = crop.width * crop.height;
24
+ const areaRatio = cropArea / sourceArea;
25
+ const aspectRatio = crop.height > 0 ? crop.width / crop.height : 0;
26
+ const clamped = clampedEdges.left || clampedEdges.top || clampedEdges.right || clampedEdges.bottom;
27
+ let unsafeReason = null;
28
+ if (clamped) {
29
+ unsafeReason = 'clamped_edge';
30
+ }
31
+ else if (areaRatio < CAPTURE_NORMALIZATION_MIN_AREA_RATIO) {
32
+ unsafeReason = 'too_small';
33
+ }
34
+ else if (areaRatio > CAPTURE_NORMALIZATION_MAX_AREA_RATIO) {
35
+ unsafeReason = 'too_large';
36
+ }
37
+ else if (aspectRatio < CAPTURE_NORMALIZATION_MIN_ASPECT_RATIO ||
38
+ aspectRatio > CAPTURE_NORMALIZATION_MAX_ASPECT_RATIO) {
39
+ unsafeReason = 'bad_aspect';
40
+ }
41
+ else if (areaRatio >= CAPTURE_NORMALIZATION_NEAR_FULL_FRAME_AREA_RATIO) {
42
+ unsafeReason = 'nearly_full_frame';
43
+ }
44
+ return {
45
+ paddingRatio,
46
+ clampedEdges,
47
+ clamped,
48
+ areaRatio,
49
+ aspectRatio,
50
+ unsafeReason,
51
+ };
52
+ }
10
53
  function fullImageCrop(imageSize) {
11
54
  return {
12
55
  x: 0,
@@ -15,9 +58,13 @@ function fullImageCrop(imageSize) {
15
58
  height: Math.max(1, Math.round(imageSize.height)),
16
59
  };
17
60
  }
18
- export function mapPreviewRectToImageCrop({ imageSize, previewSize, previewRect, resizeMode = 'cover', paddingRatio = 0.04, }) {
61
+ export function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, resizeMode = 'cover', paddingRatio = 0.04, }) {
19
62
  if (!hasPositiveSize(imageSize) || !hasPositiveSize(previewSize)) {
20
- return fullImageCrop(imageSize);
63
+ const crop = fullImageCrop(imageSize);
64
+ return {
65
+ crop,
66
+ diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio),
67
+ };
21
68
  }
22
69
  const imageWidth = imageSize.width;
23
70
  const imageHeight = imageSize.height;
@@ -25,7 +72,11 @@ export function mapPreviewRectToImageCrop({ imageSize, previewSize, previewRect,
25
72
  ? Math.min(previewSize.width / imageWidth, previewSize.height / imageHeight)
26
73
  : Math.max(previewSize.width / imageWidth, previewSize.height / imageHeight);
27
74
  if (!Number.isFinite(scale) || scale <= 0) {
28
- return fullImageCrop(imageSize);
75
+ const crop = fullImageCrop(imageSize);
76
+ return {
77
+ crop,
78
+ diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio),
79
+ };
29
80
  }
30
81
  const renderedWidth = imageWidth * scale;
31
82
  const renderedHeight = imageHeight * scale;
@@ -42,20 +93,39 @@ export function mapPreviewRectToImageCrop({ imageSize, previewSize, previewRect,
42
93
  const baseWidth = Math.max(1, right - left);
43
94
  const baseHeight = Math.max(1, bottom - top);
44
95
  const padding = Math.max(0, Math.round(Math.min(baseWidth, baseHeight) * paddingRatio));
45
- left -= padding;
46
- top -= padding;
47
- right += padding;
48
- bottom += padding;
49
- left = clamp(left, 0, Math.max(0, Math.round(imageWidth) - 1));
50
- top = clamp(top, 0, Math.max(0, Math.round(imageHeight) - 1));
51
- right = clamp(right, left + 1, Math.round(imageWidth));
52
- bottom = clamp(bottom, top + 1, Math.round(imageHeight));
53
- return {
96
+ const paddedLeft = left - padding;
97
+ const paddedTop = top - padding;
98
+ const paddedRight = right + padding;
99
+ const paddedBottom = bottom + padding;
100
+ const roundedImageWidth = Math.round(imageWidth);
101
+ const roundedImageHeight = Math.round(imageHeight);
102
+ left = paddedLeft;
103
+ top = paddedTop;
104
+ right = paddedRight;
105
+ bottom = paddedBottom;
106
+ const clampedEdges = {
107
+ left: paddedLeft < 0,
108
+ top: paddedTop < 0,
109
+ right: paddedRight > roundedImageWidth,
110
+ bottom: paddedBottom > roundedImageHeight,
111
+ };
112
+ left = clamp(left, 0, Math.max(0, roundedImageWidth - 1));
113
+ top = clamp(top, 0, Math.max(0, roundedImageHeight - 1));
114
+ right = clamp(right, left + 1, roundedImageWidth);
115
+ bottom = clamp(bottom, top + 1, roundedImageHeight);
116
+ const crop = {
54
117
  x: left,
55
118
  y: top,
56
119
  width: right - left,
57
120
  height: bottom - top,
58
121
  };
122
+ return {
123
+ crop,
124
+ diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges),
125
+ };
126
+ }
127
+ export function mapPreviewRectToImageCrop(input) {
128
+ return mapPreviewRectToImageCropWithDiagnostics(input).crop;
59
129
  }
60
130
  export function getRotationToExpectedOrientation({ width, height, documentType, }) {
61
131
  const expectedOrientation = getDocumentReviewProfile(documentType).expectedOrientation;
@@ -76,7 +146,7 @@ function getResizePlan(size, maxLongEdge) {
76
146
  return size.width >= size.height ? { width: maxLongEdge } : { height: maxLongEdge };
77
147
  }
78
148
  export function buildCaptureNormalizationPlan(input) {
79
- const crop = mapPreviewRectToImageCrop(input);
149
+ const { crop, diagnostics } = mapPreviewRectToImageCropWithDiagnostics(input);
80
150
  const rotate = getRotationToExpectedOrientation({
81
151
  width: crop.width,
82
152
  height: crop.height,
@@ -90,6 +160,7 @@ export function buildCaptureNormalizationPlan(input) {
90
160
  rotate,
91
161
  resize: getResizePlan(outputSize, input.maxLongEdge),
92
162
  outputSize,
163
+ diagnostics,
93
164
  };
94
165
  }
95
166
  export function getDocumentCaptureFrameAspectRatio(documentType, mode) {
@@ -1 +1 @@
1
- {"version":3,"file":"capture-normalization.js","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture-normalization.js","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-classifier.d.ts","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA+BlF,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,qBAAqB,CAkDvB;AAID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,wBAAwB,CA6K1B"}
1
+ {"version":3,"file":"document-classifier.d.ts","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA8ElF,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,qBAAqB,CA4DvB;AAID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,wBAAwB,CA6K1B"}