@midscene/shared 0.30.10 → 1.0.0

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 (129) hide show
  1. package/dist/es/build/rspack-config.mjs +4 -0
  2. package/dist/es/constants/example-code.mjs +4 -4
  3. package/dist/es/env/constants.mjs +27 -82
  4. package/dist/es/env/global-config-manager.mjs +2 -3
  5. package/dist/es/env/helper.mjs +12 -17
  6. package/dist/es/env/init-debug.mjs +6 -6
  7. package/dist/es/env/model-config-manager.mjs +45 -65
  8. package/dist/es/env/parse-model-config.mjs +112 -0
  9. package/dist/es/env/types.mjs +70 -162
  10. package/dist/es/extractor/dom-util.mjs +10 -18
  11. package/dist/es/extractor/index.mjs +2 -3
  12. package/dist/es/extractor/locator.mjs +8 -15
  13. package/dist/es/extractor/tree.mjs +2 -5
  14. package/dist/es/extractor/util.mjs +4 -28
  15. package/dist/es/extractor/web-extractor.mjs +7 -14
  16. package/dist/es/index.mjs +2 -1
  17. package/dist/es/mcp/base-server.mjs +250 -0
  18. package/dist/es/mcp/base-tools.mjs +84 -0
  19. package/dist/es/mcp/index.mjs +5 -0
  20. package/dist/es/mcp/inject-report-html-plugin.mjs +53 -0
  21. package/dist/es/mcp/tool-generator.mjs +207 -0
  22. package/dist/es/mcp/types.mjs +3 -0
  23. package/dist/es/node/fs.mjs +2 -2
  24. package/dist/es/utils.mjs +2 -3
  25. package/dist/es/zod-schema-utils.mjs +54 -0
  26. package/dist/lib/baseDB.js +2 -2
  27. package/dist/lib/build/copy-static.js +4 -4
  28. package/dist/lib/build/rspack-config.js +38 -0
  29. package/dist/lib/common.js +4 -4
  30. package/dist/lib/constants/example-code.js +6 -6
  31. package/dist/lib/constants/index.js +13 -13
  32. package/dist/lib/env/basic.js +2 -2
  33. package/dist/lib/env/constants.js +32 -90
  34. package/dist/lib/env/global-config-manager.js +4 -5
  35. package/dist/lib/env/helper.js +13 -22
  36. package/dist/lib/env/index.js +24 -28
  37. package/dist/lib/env/init-debug.js +7 -7
  38. package/dist/lib/env/model-config-manager.js +47 -67
  39. package/dist/lib/env/parse-model-config.js +155 -0
  40. package/dist/lib/env/types.js +146 -379
  41. package/dist/lib/env/utils.js +4 -4
  42. package/dist/lib/extractor/constants.js +4 -4
  43. package/dist/lib/extractor/debug.js +1 -1
  44. package/dist/lib/extractor/dom-util.js +18 -26
  45. package/dist/lib/extractor/index.js +11 -21
  46. package/dist/lib/extractor/locator.js +10 -20
  47. package/dist/lib/extractor/tree.js +4 -7
  48. package/dist/lib/extractor/util.js +17 -50
  49. package/dist/lib/extractor/web-extractor.js +12 -19
  50. package/dist/lib/img/box-select.js +4 -4
  51. package/dist/lib/img/draw-box.js +2 -2
  52. package/dist/lib/img/get-jimp.js +16 -34
  53. package/dist/lib/img/get-photon.js +24 -47
  54. package/dist/lib/img/get-sharp.js +16 -34
  55. package/dist/lib/img/index.js +18 -18
  56. package/dist/lib/img/info.js +4 -4
  57. package/dist/lib/img/transform.js +10 -10
  58. package/dist/lib/index.js +8 -4
  59. package/dist/lib/logger.js +4 -4
  60. package/dist/lib/mcp/base-server.js +300 -0
  61. package/dist/lib/mcp/base-tools.js +118 -0
  62. package/dist/lib/mcp/index.js +86 -0
  63. package/dist/lib/mcp/inject-report-html-plugin.js +98 -0
  64. package/dist/lib/mcp/tool-generator.js +244 -0
  65. package/dist/lib/mcp/types.js +40 -0
  66. package/dist/lib/node/fs.js +6 -6
  67. package/dist/lib/node/index.js +6 -8
  68. package/dist/lib/polyfills/async-hooks.js +2 -2
  69. package/dist/lib/polyfills/index.js +6 -8
  70. package/dist/lib/types/index.js +2 -2
  71. package/dist/lib/us-keyboard-layout.js +2 -2
  72. package/dist/lib/utils.js +13 -14
  73. package/dist/lib/zod-schema-utils.js +97 -0
  74. package/dist/types/build/rspack-config.d.ts +8 -0
  75. package/dist/types/constants/example-code.d.ts +1 -1
  76. package/dist/types/env/constants.d.ts +5 -18
  77. package/dist/types/env/global-config-manager.d.ts +1 -2
  78. package/dist/types/env/helper.d.ts +2 -4
  79. package/dist/types/env/model-config-manager.d.ts +8 -7
  80. package/dist/types/env/parse-model-config.d.ts +28 -0
  81. package/dist/types/env/types.d.ts +152 -191
  82. package/dist/types/extractor/dom-util.d.ts +2 -15
  83. package/dist/types/extractor/index.d.ts +1 -2
  84. package/dist/types/extractor/locator.d.ts +0 -1
  85. package/dist/types/extractor/tree.d.ts +1 -4
  86. package/dist/types/extractor/util.d.ts +0 -3
  87. package/dist/types/index.d.ts +1 -0
  88. package/dist/types/mcp/base-server.d.ts +77 -0
  89. package/dist/types/mcp/base-tools.d.ts +55 -0
  90. package/dist/types/mcp/index.d.ts +5 -0
  91. package/dist/types/mcp/inject-report-html-plugin.d.ts +18 -0
  92. package/dist/types/mcp/tool-generator.d.ts +11 -0
  93. package/dist/types/mcp/types.d.ts +100 -0
  94. package/dist/types/types/index.d.ts +5 -2
  95. package/dist/types/zod-schema-utils.d.ts +23 -0
  96. package/package.json +19 -4
  97. package/src/build/rspack-config.ts +12 -0
  98. package/src/constants/example-code.ts +4 -4
  99. package/src/env/constants.ts +58 -203
  100. package/src/env/global-config-manager.ts +7 -7
  101. package/src/env/helper.ts +10 -31
  102. package/src/env/init-debug.ts +11 -6
  103. package/src/env/model-config-manager.ts +91 -87
  104. package/src/env/parse-model-config.ts +265 -0
  105. package/src/env/types.ts +212 -344
  106. package/src/extractor/dom-util.ts +15 -12
  107. package/src/extractor/index.ts +0 -3
  108. package/src/extractor/locator.ts +3 -12
  109. package/src/extractor/tree.ts +4 -4
  110. package/src/extractor/util.ts +0 -32
  111. package/src/index.ts +2 -0
  112. package/src/mcp/base-server.ts +435 -0
  113. package/src/mcp/base-tools.ts +196 -0
  114. package/src/mcp/index.ts +5 -0
  115. package/src/mcp/inject-report-html-plugin.ts +119 -0
  116. package/src/mcp/tool-generator.ts +330 -0
  117. package/src/mcp/types.ts +108 -0
  118. package/src/node/fs.ts +1 -1
  119. package/src/types/index.ts +8 -2
  120. package/src/utils.ts +1 -1
  121. package/src/zod-schema-utils.ts +133 -0
  122. package/dist/es/env/decide-model-config.mjs +0 -172
  123. package/dist/es/env/parse.mjs +0 -69
  124. package/dist/lib/env/decide-model-config.js +0 -212
  125. package/dist/lib/env/parse.js +0 -106
  126. package/dist/types/env/decide-model-config.d.ts +0 -14
  127. package/dist/types/env/parse.d.ts +0 -12
  128. package/src/env/decide-model-config.ts +0 -319
  129. package/src/env/parse.ts +0 -131
package/src/env/parse.ts DELETED
@@ -1,131 +0,0 @@
1
- import {
2
- MIDSCENE_USE_DOUBAO_VISION,
3
- MIDSCENE_USE_GEMINI,
4
- MIDSCENE_USE_QWEN3_VL,
5
- MIDSCENE_USE_QWEN_VL,
6
- MIDSCENE_USE_VLM_UI_TARS,
7
- type TVlModeTypes,
8
- type TVlModeValues,
9
- UITarsModelVersion,
10
- VL_MODE_RAW_VALID_VALUES,
11
- } from './types';
12
-
13
- export const parseVlModeAndUiTarsModelVersionFromRawValue = (
14
- vlModeRaw?: string,
15
- ): {
16
- vlMode?: TVlModeTypes;
17
- uiTarsVersion?: UITarsModelVersion;
18
- } => {
19
- if (!vlModeRaw) {
20
- return {
21
- vlMode: undefined,
22
- uiTarsVersion: undefined,
23
- };
24
- }
25
-
26
- if (!VL_MODE_RAW_VALID_VALUES.includes(vlModeRaw as never)) {
27
- throw new Error(
28
- `the value ${vlModeRaw} is not a valid VL_MODE value, must be one of ${VL_MODE_RAW_VALID_VALUES}`,
29
- );
30
- }
31
- const raw = vlModeRaw as TVlModeValues;
32
-
33
- if (raw === 'vlm-ui-tars') {
34
- return {
35
- vlMode: 'vlm-ui-tars',
36
- uiTarsVersion: UITarsModelVersion.V1_0,
37
- };
38
- } else if (raw === 'vlm-ui-tars-doubao' || raw === 'vlm-ui-tars-doubao-1.5') {
39
- return {
40
- vlMode: 'vlm-ui-tars',
41
- uiTarsVersion: UITarsModelVersion.DOUBAO_1_5_20B,
42
- };
43
- }
44
-
45
- return {
46
- vlMode: raw as TVlModeTypes,
47
- uiTarsVersion: undefined,
48
- };
49
- };
50
-
51
- /**
52
- * legacy logic of how to detect vlMode from process.env without intent
53
- */
54
- export const parseVlModeAndUiTarsFromGlobalConfig = (
55
- provider: Record<string, string | undefined>,
56
- ): {
57
- vlMode?: TVlModeTypes;
58
- uiTarsVersion?: UITarsModelVersion;
59
- } => {
60
- const isDoubao = provider[MIDSCENE_USE_DOUBAO_VISION];
61
- const isQwen = provider[MIDSCENE_USE_QWEN_VL];
62
- const isQwen3 = provider[MIDSCENE_USE_QWEN3_VL];
63
- const isUiTars = provider[MIDSCENE_USE_VLM_UI_TARS];
64
- const isGemini = provider[MIDSCENE_USE_GEMINI];
65
-
66
- const enabledModes = [
67
- isDoubao && MIDSCENE_USE_DOUBAO_VISION,
68
- isQwen && MIDSCENE_USE_QWEN_VL,
69
- isQwen3 && MIDSCENE_USE_QWEN3_VL,
70
- isUiTars && MIDSCENE_USE_VLM_UI_TARS,
71
- isGemini && MIDSCENE_USE_GEMINI,
72
- ].filter(Boolean);
73
-
74
- if (enabledModes.length > 1) {
75
- throw new Error(
76
- `Only one vision mode can be enabled at a time. Currently enabled modes: ${enabledModes.join(', ')}. Please disable all but one mode.`,
77
- );
78
- }
79
-
80
- if (isQwen3) {
81
- return {
82
- vlMode: 'qwen3-vl',
83
- uiTarsVersion: undefined,
84
- };
85
- }
86
-
87
- if (isQwen) {
88
- return {
89
- vlMode: 'qwen-vl',
90
- uiTarsVersion: undefined,
91
- };
92
- }
93
-
94
- if (isDoubao) {
95
- return {
96
- vlMode: 'doubao-vision',
97
- uiTarsVersion: undefined,
98
- };
99
- }
100
-
101
- if (isGemini) {
102
- return {
103
- vlMode: 'gemini',
104
- uiTarsVersion: undefined,
105
- };
106
- }
107
-
108
- if (isUiTars) {
109
- if (isUiTars === '1') {
110
- return {
111
- vlMode: 'vlm-ui-tars',
112
- uiTarsVersion: UITarsModelVersion.V1_0,
113
- };
114
- } else if (isUiTars === 'DOUBAO' || isUiTars === 'DOUBAO-1.5') {
115
- return {
116
- vlMode: 'vlm-ui-tars',
117
- uiTarsVersion: UITarsModelVersion.DOUBAO_1_5_20B,
118
- };
119
- } else {
120
- return {
121
- vlMode: 'vlm-ui-tars',
122
- uiTarsVersion: `${isUiTars}` as UITarsModelVersion,
123
- };
124
- }
125
- }
126
-
127
- return {
128
- vlMode: undefined,
129
- uiTarsVersion: undefined,
130
- };
131
- };