@midscene/shared 1.7.10-beta-20260508024212.0 → 1.7.10

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.
@@ -5,7 +5,7 @@ import { assert } from "../utils.mjs";
5
5
  import { maskConfig, parseJson } from "./helper.mjs";
6
6
  import { initDebugConfig } from "./init-debug.mjs";
7
7
  const MODEL_CONFIG_DOC_URL = 'https://midscenejs.com/model-common-config.html';
8
- const getCurrentVersion = ()=>"1.7.10-beta-20260508024212.0";
8
+ const getCurrentVersion = ()=>"1.7.10";
9
9
  const getInvalidModelFamilyMessage = (modelFamily)=>`Invalid MIDSCENE_MODEL_FAMILY value: ${modelFamily}. Current version v${getCurrentVersion()} accepts the following model families: ${MODEL_FAMILY_VALUES.join(', ')}. You can also visit ${MODEL_CONFIG_DOC_URL} for the latest configuration information.`;
10
10
  const KEYS_MAP = {
11
11
  insight: INSIGHT_MODEL_CONFIG_KEYS,
@@ -1,4 +1,4 @@
1
- import { imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer } from "./info.mjs";
1
+ import { imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer, validateScreenshotBuffer } from "./info.mjs";
2
2
  import { createImgBase64ByFormat, cropByRect, httpImg2Base64, localImg2Base64, paddingToMatchBlockByBase64, parseBase64, preProcessImageUrl, resizeAndConvertImgBuffer, resizeImgBase64, saveBase64Image, scaleImage, zoomForGPT4o } from "./transform.mjs";
3
3
  import { annotateRects, compositeElementInfoImg, processImageElementInfo } from "./box-select.mjs";
4
- export { annotateRects, compositeElementInfoImg, createImgBase64ByFormat, cropByRect, httpImg2Base64, imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer, localImg2Base64, paddingToMatchBlockByBase64, parseBase64, preProcessImageUrl, processImageElementInfo, resizeAndConvertImgBuffer, resizeImgBase64, saveBase64Image, scaleImage, zoomForGPT4o };
4
+ export { annotateRects, compositeElementInfoImg, createImgBase64ByFormat, cropByRect, httpImg2Base64, imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer, localImg2Base64, paddingToMatchBlockByBase64, parseBase64, preProcessImageUrl, processImageElementInfo, resizeAndConvertImgBuffer, resizeImgBase64, saveBase64Image, scaleImage, validateScreenshotBuffer, zoomForGPT4o };
@@ -26,4 +26,10 @@ function isValidJPEGImageBuffer(buffer) {
26
26
  function isValidImageBuffer(buffer) {
27
27
  return isValidPNGImageBuffer(buffer) || isValidJPEGImageBuffer(buffer);
28
28
  }
29
- export { imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer };
29
+ function validateScreenshotBuffer(screenshotBuffer, { label, minBufferSize = 0 }) {
30
+ const bufferSize = screenshotBuffer?.length ?? 0;
31
+ if (!screenshotBuffer || 0 === bufferSize) throw new Error(`${label} validation failed: buffer size ${bufferSize} bytes`);
32
+ if (!isValidImageBuffer(screenshotBuffer)) throw new Error(`${label} buffer has invalid image format`);
33
+ if (minBufferSize > 0 && bufferSize < minBufferSize) throw new Error(`${label} validation failed: buffer size ${bufferSize} bytes (minimum: ${minBufferSize})`);
34
+ }
35
+ export { imageInfoOfBase64, isValidImageBuffer, isValidJPEGImageBuffer, isValidPNGImageBuffer, validateScreenshotBuffer };
@@ -37,7 +37,7 @@ const external_utils_js_namespaceObject = require("../utils.js");
37
37
  const external_helper_js_namespaceObject = require("./helper.js");
38
38
  const external_init_debug_js_namespaceObject = require("./init-debug.js");
39
39
  const MODEL_CONFIG_DOC_URL = 'https://midscenejs.com/model-common-config.html';
40
- const getCurrentVersion = ()=>"1.7.10-beta-20260508024212.0";
40
+ const getCurrentVersion = ()=>"1.7.10";
41
41
  const getInvalidModelFamilyMessage = (modelFamily)=>`Invalid MIDSCENE_MODEL_FAMILY value: ${modelFamily}. Current version v${getCurrentVersion()} accepts the following model families: ${external_types_js_namespaceObject.MODEL_FAMILY_VALUES.join(', ')}. You can also visit ${MODEL_CONFIG_DOC_URL} for the latest configuration information.`;
42
42
  const KEYS_MAP = {
43
43
  insight: external_constants_js_namespaceObject.INSIGHT_MODEL_CONFIG_KEYS,
@@ -31,6 +31,7 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  resizeImgBase64: ()=>external_transform_js_namespaceObject.resizeImgBase64,
32
32
  saveBase64Image: ()=>external_transform_js_namespaceObject.saveBase64Image,
33
33
  isValidImageBuffer: ()=>external_info_js_namespaceObject.isValidImageBuffer,
34
+ validateScreenshotBuffer: ()=>external_info_js_namespaceObject.validateScreenshotBuffer,
34
35
  preProcessImageUrl: ()=>external_transform_js_namespaceObject.preProcessImageUrl,
35
36
  annotateRects: ()=>external_box_select_js_namespaceObject.annotateRects,
36
37
  compositeElementInfoImg: ()=>external_box_select_js_namespaceObject.compositeElementInfoImg,
@@ -65,6 +66,7 @@ exports.resizeAndConvertImgBuffer = __webpack_exports__.resizeAndConvertImgBuffe
65
66
  exports.resizeImgBase64 = __webpack_exports__.resizeImgBase64;
66
67
  exports.saveBase64Image = __webpack_exports__.saveBase64Image;
67
68
  exports.scaleImage = __webpack_exports__.scaleImage;
69
+ exports.validateScreenshotBuffer = __webpack_exports__.validateScreenshotBuffer;
68
70
  exports.zoomForGPT4o = __webpack_exports__.zoomForGPT4o;
69
71
  for(var __rspack_i in __webpack_exports__)if (-1 === [
70
72
  "annotateRects",
@@ -85,6 +87,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
85
87
  "resizeImgBase64",
86
88
  "saveBase64Image",
87
89
  "scaleImage",
90
+ "validateScreenshotBuffer",
88
91
  "zoomForGPT4o"
89
92
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
90
93
  Object.defineProperty(exports, '__esModule', {
@@ -35,6 +35,7 @@ __webpack_require__.r(__webpack_exports__);
35
35
  __webpack_require__.d(__webpack_exports__, {
36
36
  isValidPNGImageBuffer: ()=>isValidPNGImageBuffer,
37
37
  isValidImageBuffer: ()=>isValidImageBuffer,
38
+ validateScreenshotBuffer: ()=>validateScreenshotBuffer,
38
39
  imageInfoOfBase64: ()=>imageInfoOfBase64,
39
40
  isValidJPEGImageBuffer: ()=>isValidJPEGImageBuffer
40
41
  });
@@ -68,15 +69,23 @@ function isValidJPEGImageBuffer(buffer) {
68
69
  function isValidImageBuffer(buffer) {
69
70
  return isValidPNGImageBuffer(buffer) || isValidJPEGImageBuffer(buffer);
70
71
  }
72
+ function validateScreenshotBuffer(screenshotBuffer, { label, minBufferSize = 0 }) {
73
+ const bufferSize = screenshotBuffer?.length ?? 0;
74
+ if (!screenshotBuffer || 0 === bufferSize) throw new Error(`${label} validation failed: buffer size ${bufferSize} bytes`);
75
+ if (!isValidImageBuffer(screenshotBuffer)) throw new Error(`${label} buffer has invalid image format`);
76
+ if (minBufferSize > 0 && bufferSize < minBufferSize) throw new Error(`${label} validation failed: buffer size ${bufferSize} bytes (minimum: ${minBufferSize})`);
77
+ }
71
78
  exports.imageInfoOfBase64 = __webpack_exports__.imageInfoOfBase64;
72
79
  exports.isValidImageBuffer = __webpack_exports__.isValidImageBuffer;
73
80
  exports.isValidJPEGImageBuffer = __webpack_exports__.isValidJPEGImageBuffer;
74
81
  exports.isValidPNGImageBuffer = __webpack_exports__.isValidPNGImageBuffer;
82
+ exports.validateScreenshotBuffer = __webpack_exports__.validateScreenshotBuffer;
75
83
  for(var __rspack_i in __webpack_exports__)if (-1 === [
76
84
  "imageInfoOfBase64",
77
85
  "isValidImageBuffer",
78
86
  "isValidJPEGImageBuffer",
79
- "isValidPNGImageBuffer"
87
+ "isValidPNGImageBuffer",
88
+ "validateScreenshotBuffer"
80
89
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
81
90
  Object.defineProperty(exports, '__esModule', {
82
91
  value: true
@@ -1,3 +1,3 @@
1
- export { imageInfoOfBase64, isValidPNGImageBuffer, isValidJPEGImageBuffer, isValidImageBuffer, } from './info';
1
+ export { imageInfoOfBase64, isValidPNGImageBuffer, isValidJPEGImageBuffer, isValidImageBuffer, validateScreenshotBuffer, type ValidateScreenshotBufferOptions, } from './info';
2
2
  export { resizeAndConvertImgBuffer, resizeImgBase64, zoomForGPT4o, saveBase64Image, paddingToMatchBlockByBase64, cropByRect, scaleImage, localImg2Base64, httpImg2Base64, preProcessImageUrl, parseBase64, createImgBase64ByFormat, } from './transform';
3
3
  export { processImageElementInfo, compositeElementInfoImg, annotateRects, } from './box-select';
@@ -27,3 +27,8 @@ export declare function isValidJPEGImageBuffer(buffer: Buffer): boolean;
27
27
  * @returns true if the Buffer is a valid PNG or JPEG image, otherwise false
28
28
  */
29
29
  export declare function isValidImageBuffer(buffer: Buffer): boolean;
30
+ export interface ValidateScreenshotBufferOptions {
31
+ label: string;
32
+ minBufferSize?: number;
33
+ }
34
+ export declare function validateScreenshotBuffer(screenshotBuffer: Buffer | undefined, { label, minBufferSize }: ValidateScreenshotBufferOptions): asserts screenshotBuffer is Buffer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midscene/shared",
3
- "version": "1.7.10-beta-20260508024212.0",
3
+ "version": "1.7.10",
4
4
  "repository": "https://github.com/web-infra-dev/midscene",
5
5
  "homepage": "https://midscenejs.com/",
6
6
  "types": "./dist/types/index.d.ts",
package/src/img/index.ts CHANGED
@@ -3,6 +3,8 @@ export {
3
3
  isValidPNGImageBuffer,
4
4
  isValidJPEGImageBuffer,
5
5
  isValidImageBuffer,
6
+ validateScreenshotBuffer,
7
+ type ValidateScreenshotBufferOptions,
6
8
  } from './info';
7
9
  export {
8
10
  resizeAndConvertImgBuffer,
package/src/img/info.ts CHANGED
@@ -73,3 +73,30 @@ export function isValidJPEGImageBuffer(buffer: Buffer): boolean {
73
73
  export function isValidImageBuffer(buffer: Buffer): boolean {
74
74
  return isValidPNGImageBuffer(buffer) || isValidJPEGImageBuffer(buffer);
75
75
  }
76
+
77
+ export interface ValidateScreenshotBufferOptions {
78
+ label: string;
79
+ minBufferSize?: number;
80
+ }
81
+
82
+ export function validateScreenshotBuffer(
83
+ screenshotBuffer: Buffer | undefined,
84
+ { label, minBufferSize = 0 }: ValidateScreenshotBufferOptions,
85
+ ): asserts screenshotBuffer is Buffer {
86
+ const bufferSize = screenshotBuffer?.length ?? 0;
87
+ if (!screenshotBuffer || bufferSize === 0) {
88
+ throw new Error(
89
+ `${label} validation failed: buffer size ${bufferSize} bytes`,
90
+ );
91
+ }
92
+
93
+ if (!isValidImageBuffer(screenshotBuffer)) {
94
+ throw new Error(`${label} buffer has invalid image format`);
95
+ }
96
+
97
+ if (minBufferSize > 0 && bufferSize < minBufferSize) {
98
+ throw new Error(
99
+ `${label} validation failed: buffer size ${bufferSize} bytes (minimum: ${minBufferSize})`,
100
+ );
101
+ }
102
+ }