verant_id_cloud_scan 1.4.5-beta.5 → 1.4.5-beta.6

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/Api.js CHANGED
@@ -83,6 +83,17 @@ function getDmvServerAddress() {
83
83
  : "https://dmv.verantid.com/api/v1/dmv_check";
84
84
  }
85
85
 
86
+ /**
87
+ * Get Face Comparison server address based on current environment
88
+ * @returns {string}
89
+ */
90
+ export function getFaceComparisonServerAddress() {
91
+ const env = getEnvironment();
92
+ return env === 'staging'
93
+ ? "https://staging.face.verantid.bluerocket.us/compare_id_and_face"
94
+ : "https://faceid.verantid.com/compare_id_and_face";
95
+ }
96
+
86
97
  export const dmvCheck = async (clientId, scannerType, licenseData) => {
87
98
  const url = getDmvServerAddress();
88
99
 
package/CHANGELOG.md ADDED
@@ -0,0 +1,66 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.4.5-beta.6] - 2026-04-15
9
+
10
+ ### Added
11
+ - UV/IR image support for IDXpressPlus scanner profile
12
+ - Added `licenseFrontUvBase64`, `licenseBackUvBase64`, `licenseFrontIrBase64`, and `licenseBackIrBase64` fields to scan results
13
+ - Scanner now captures and returns ultraviolet (UV) and infrared (IR) images alongside standard color images
14
+ - Image types supported: fclr (front color), rclr (rear color), fclruv (front UV), rclruv (rear UV), fgsir (front IR), rgsir (rear IR)
15
+
16
+ ### Fixed
17
+ - UV/IR parameters no longer restored to disabled state after scanning
18
+ - Removed `fclrUvEnabled`, `rclrUvEnabled`, `fgsIrEnabled`, and `rgsIrEnabled` from `restoreParamKeys` in IDXpressPlus profile
19
+ - Image extraction logic now captures all image types from scanner response instead of only front/back color images
20
+
21
+ ### Changed
22
+ - Updated `ScannerApi.js` to extract UV/IR images from GetDocument response
23
+ - Updated `CloudScan.js` public API functions (`scanId`, `localScanId`, `localContinueScanId`) to return UV/IR image data
24
+
25
+ ## [1.4.5-beta.5] - 2026-04-14
26
+
27
+ ### Changed
28
+ - Applied dynamic environment URLs to face comparison feature
29
+
30
+ ## [1.4.5-beta.4] - 2026-04-14
31
+
32
+ ### Added
33
+ - Error validation for invalid environment type
34
+
35
+ ### Changed
36
+ - Updated default server URLs to production endpoints
37
+
38
+ ## [1.4.5-beta.3] - 2026-04-13
39
+
40
+ ### Fixed
41
+ - Various bug fixes and code quality improvements
42
+
43
+ ## [1.4.5-beta.2] - 2026-04-12
44
+
45
+ ### Added
46
+ - Dynamic environment detection for server URLs
47
+ - Support for multiple deployment environments
48
+
49
+ ### Changed
50
+ - Server address handling now supports trailing slashes
51
+ - Code improvements based on Copilot suggestions
52
+
53
+ ## [1.4.5-beta.1] - 2026-04-11
54
+
55
+ ### Added
56
+ - IDXpress scanner profiles support
57
+ - New scanner profile configuration options
58
+
59
+ ---
60
+
61
+ ## Version Number Guide
62
+
63
+ - **Major** (1.x.x): Breaking changes
64
+ - **Minor** (x.4.x): New features, backwards compatible
65
+ - **Patch** (x.x.5): Bug fixes, backwards compatible
66
+ - **Beta** (x.x.x-beta.x): Pre-release versions for testing
package/CloudScan.js CHANGED
@@ -119,6 +119,10 @@ export const scanId = async (
119
119
  barcodeResultsObject,
120
120
  licenseFrontBase64: "",
121
121
  licenseBackBase64: "",
122
+ licenseFrontUvBase64: "",
123
+ licenseBackUvBase64: "",
124
+ licenseFrontIrBase64: "",
125
+ licenseBackIrBase64: "",
122
126
  errorMessages: "",
123
127
  };
124
128
  let barcodelicenseKey = await getBarcodeLicenseKey();
@@ -148,6 +152,10 @@ export const scanId = async (
148
152
 
149
153
  returnObj.licenseFrontBase64 = scannerResponseObj.licenseFrontBase64;
150
154
  returnObj.licenseBackBase64 = scannerResponseObj.licenseBackBase64;
155
+ returnObj.licenseFrontUvBase64 = scannerResponseObj.licenseFrontUvBase64;
156
+ returnObj.licenseBackUvBase64 = scannerResponseObj.licenseBackUvBase64;
157
+ returnObj.licenseFrontIrBase64 = scannerResponseObj.licenseFrontIrBase64;
158
+ returnObj.licenseBackIrBase64 = scannerResponseObj.licenseBackIrBase64;
151
159
 
152
160
  if (includeData && scannerResponseObj.licenseBackBase64) {
153
161
  var img = document.createElement("img");
@@ -357,6 +365,10 @@ export const localScanId = async (scannerAddress, clientId) => {
357
365
  barcodeResultsObject,
358
366
  licenseFrontBase64: "",
359
367
  licenseBackBase64: "",
368
+ licenseFrontUvBase64: "",
369
+ licenseBackUvBase64: "",
370
+ licenseFrontIrBase64: "",
371
+ licenseBackIrBase64: "",
360
372
  errorMessages: "",
361
373
  };
362
374
 
@@ -381,6 +393,10 @@ export const localContinueScanId = async (scannerAddress, includeData, clientId
381
393
  barcodeResultsObject,
382
394
  licenseFrontBase64: "",
383
395
  licenseBackBase64: "",
396
+ licenseFrontUvBase64: "",
397
+ licenseBackUvBase64: "",
398
+ licenseFrontIrBase64: "",
399
+ licenseBackIrBase64: "",
384
400
  errorMessages: "",
385
401
  };
386
402
 
package/FaceComparison.js CHANGED
@@ -1,7 +1,4 @@
1
- //prod
2
- const faceComparisonAddress = "https://faceid.verantid.com/compare_id_and_face";
3
- //staging
4
- // const faceComparisonAddress = "https://staging.face.verantid.bluerocket.us/compare_id_and_face";
1
+ import { getFaceComparisonServerAddress } from "./Api.js";
5
2
 
6
3
 
7
4
  export async function compressImage(source, maxSize = 2 * 1024 * 1024) {
@@ -42,6 +39,7 @@ export async function compressImage(source, maxSize = 2 * 1024 * 1024) {
42
39
  }
43
40
 
44
41
  const startComparison = async (commandObj) => {
42
+ const faceComparisonAddress = getFaceComparisonServerAddress();
45
43
  return fetch(faceComparisonAddress, {
46
44
  method: "POST",
47
45
  headers: { "Content-Type": "application/json" },
package/ScannerApi.js CHANGED
@@ -178,11 +178,19 @@ export async function scannerChain(
178
178
  scanDataResults: resultData,
179
179
  licenseFrontBase64: frontBase64,
180
180
  licenseBackBase64: backBase64,
181
+ licenseFrontUvBase64: frontUvBase64,
182
+ licenseBackUvBase64: backUvBase64,
183
+ licenseFrontIrBase64: frontIrBase64,
184
+ licenseBackIrBase64: backIrBase64,
181
185
  } = await startScanDocument(currentSessionId, profile, optGetDocumentParams);
182
186
 
183
187
  scanDataResults = resultData;
184
188
  licenseFrontBase64 = frontBase64;
185
189
  licenseBackBase64 = backBase64;
190
+ const licenseFrontUvBase64 = frontUvBase64;
191
+ const licenseBackUvBase64 = backUvBase64;
192
+ const licenseFrontIrBase64 = frontIrBase64;
193
+ const licenseBackIrBase64 = backIrBase64;
186
194
 
187
195
  if (!scanSuccess) {
188
196
  await closeScannerConnection(currentSessionId);
@@ -221,6 +229,10 @@ export async function scannerChain(
221
229
  scanDataResults,
222
230
  licenseFrontBase64: licenseFrontBase64,
223
231
  licenseBackBase64: licenseBackBase64,
232
+ licenseFrontUvBase64: licenseFrontUvBase64,
233
+ licenseBackUvBase64: licenseBackUvBase64,
234
+ licenseFrontIrBase64: licenseFrontIrBase64,
235
+ licenseBackIrBase64: licenseBackIrBase64,
224
236
  scannerProfile: profileName,
225
237
  errorMessages,
226
238
  };
@@ -390,16 +402,30 @@ async function startScanDocument(
390
402
  let scanDataResults = responseData;
391
403
  let licenseFrontBase64 = "";
392
404
  let licenseBackBase64 = "";
405
+ let licenseFrontUvBase64 = "";
406
+ let licenseBackUvBase64 = "";
407
+ let licenseFrontIrBase64 = "";
408
+ let licenseBackIrBase64 = "";
393
409
 
394
410
  const images = responseData.Images || [];
395
411
 
396
412
  // Check and set image data using profile-defined image types
397
413
  images.forEach((element) => {
398
- if (element["ImageType"] === profile.frontImageType) {
399
- licenseFrontBase64 = element["data"];
400
- }
401
- if (element["ImageType"] === profile.backImageType) {
402
- licenseBackBase64 = element["data"];
414
+ const imageType = element["ImageType"];
415
+ const imageData = element["data"];
416
+
417
+ if (imageType === profile.frontImageType) {
418
+ licenseFrontBase64 = imageData;
419
+ } else if (imageType === profile.backImageType) {
420
+ licenseBackBase64 = imageData;
421
+ } else if (imageType === "fclruv") {
422
+ licenseFrontUvBase64 = imageData;
423
+ } else if (imageType === "rclruv") {
424
+ licenseBackUvBase64 = imageData;
425
+ } else if (imageType === "fgsir") {
426
+ licenseFrontIrBase64 = imageData;
427
+ } else if (imageType === "rgsir") {
428
+ licenseBackIrBase64 = imageData;
403
429
  }
404
430
  });
405
431
 
@@ -408,6 +434,10 @@ async function startScanDocument(
408
434
  scanDataResults,
409
435
  licenseFrontBase64,
410
436
  licenseBackBase64,
437
+ licenseFrontUvBase64,
438
+ licenseBackUvBase64,
439
+ licenseFrontIrBase64,
440
+ licenseBackIrBase64,
411
441
  };
412
442
  }
413
443
 
@@ -416,6 +446,10 @@ async function startScanDocument(
416
446
  scanDataResults: null,
417
447
  licenseFrontBase64: "",
418
448
  licenseBackBase64: "",
449
+ licenseFrontUvBase64: "",
450
+ licenseBackUvBase64: "",
451
+ licenseFrontIrBase64: "",
452
+ licenseBackIrBase64: "",
419
453
  };
420
454
  }
421
455
 
@@ -80,6 +80,11 @@ const PROFILES = {
80
80
  fclrEnabled: "true",
81
81
  rgsEnabled: "false",
82
82
  rclrEnabled: "true",
83
+ clrUvIrResolution: "600dpi",
84
+ fclrUvEnabled: "true",
85
+ rclrUvEnabled: "true",
86
+ fgsIrEnabled: "true",
87
+ rgsIrEnabled: "true",
83
88
  },
84
89
  restoreParamKeys: [
85
90
  "FeedType",
@@ -93,6 +98,11 @@ const PROFILES = {
93
98
  "rgsEnabled",
94
99
  "rgsResolution",
95
100
  "rclrCompressionQuality",
101
+ "clrUvIrResolution",
102
+ "fclrUvEnabled",
103
+ "rclrUvEnabled",
104
+ "fgsIrEnabled",
105
+ "rgsIrEnabled",
96
106
  ],
97
107
  frontImageType: "fclr",
98
108
  backImageType: "rclr",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verant_id_cloud_scan",
3
- "version": "1.4.5-beta.5",
3
+ "version": "1.4.5-beta.6",
4
4
  "description": "Verant ID Cloud Scan NPM Library",
5
5
  "main": "CloudScan.js",
6
6
  "types": "index.d.ts",