@rpascene/shared 0.30.11 → 0.30.13
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/dist/es/constants/index.mjs +73 -27
- package/dist/es/env/constants.mjs +50 -5
- package/dist/es/env/global-config-manager.mjs +10 -1
- package/dist/es/env/types.mjs +18 -15
- package/dist/es/env/utils.mjs +5 -1
- package/dist/es/extractor/index.mjs +2 -2
- package/dist/es/extractor/web-extractor.mjs +61 -1
- package/dist/es/node/fs.mjs +1 -1
- package/dist/lib/constants/index.js +79 -27
- package/dist/lib/env/constants.js +50 -5
- package/dist/lib/env/global-config-manager.js +9 -0
- package/dist/lib/env/types.js +23 -17
- package/dist/lib/env/utils.js +5 -1
- package/dist/lib/extractor/index.js +4 -0
- package/dist/lib/extractor/web-extractor.js +63 -0
- package/dist/lib/node/fs.js +1 -1
- package/dist/types/constants/index.d.ts +34 -0
- package/dist/types/env/constants.d.ts +9 -0
- package/dist/types/env/types.d.ts +4 -3
- package/dist/types/env/utils.d.ts +1 -1
- package/dist/types/extractor/index.d.ts +1 -1
- package/dist/types/extractor/web-extractor.d.ts +5 -0
- package/package.json +1 -1
- package/src/constants/index.ts +77 -26
- package/src/env/constants.ts +72 -1
- package/src/env/decide-model-config.ts +6 -5
- package/src/env/global-config-manager.ts +20 -16
- package/src/env/types.ts +19 -14
- package/src/env/utils.ts +11 -2
- package/src/extractor/index.ts +1 -1
- package/src/extractor/web-extractor.ts +66 -0
|
@@ -21,54 +21,100 @@ const DEFAULT_WAIT_FOR_NAVIGATION_TIMEOUT = 5000;
|
|
|
21
21
|
const DEFAULT_WAIT_FOR_NETWORK_IDLE_TIMEOUT = 2000;
|
|
22
22
|
const DEFAULT_WAIT_FOR_NETWORK_IDLE_TIME = 300;
|
|
23
23
|
const DEFAULT_WAIT_FOR_NETWORK_IDLE_CONCURRENCY = 2;
|
|
24
|
+
const rpasceneCommand = {
|
|
25
|
+
Tap: "Tap",
|
|
26
|
+
RightClick: "RightClick",
|
|
27
|
+
DoubleClick: "DoubleClick",
|
|
28
|
+
Hover: "Hover",
|
|
29
|
+
Input: "Input",
|
|
30
|
+
KeyboardPress: "KeyboardPress",
|
|
31
|
+
Scroll: "Scroll",
|
|
32
|
+
DragAndDrop: "DragAndDrop",
|
|
33
|
+
ClearInput: "ClearInput",
|
|
34
|
+
Sleep: "Sleep",
|
|
35
|
+
LongPress: "LongPress",
|
|
36
|
+
Swipe: "Swipe",
|
|
37
|
+
Reload: "Reload",
|
|
38
|
+
GoBack: "GoBack",
|
|
39
|
+
Navigate: 'Navigate'
|
|
40
|
+
};
|
|
41
|
+
const rpastudioCommand = {
|
|
42
|
+
SeleniumClickCommand: "SeleniumClickCommand",
|
|
43
|
+
SeleniumRightClickCommand: "SeleniumRightClickCommand",
|
|
44
|
+
SeleniumDoubleClickCommand: "SeleniumDoubleClickCommand",
|
|
45
|
+
SeleniumMouseHoverCommand: "SeleniumMouseHoverCommand",
|
|
46
|
+
SeleniumSetValueCommand: "SeleniumSetValueCommand",
|
|
47
|
+
SeleniumElementSendKeysCommand: "SeleniumElementSendKeysCommand",
|
|
48
|
+
SeleniumSendKeysCommand: "SeleniumSendKeysCommand",
|
|
49
|
+
SeleniumElementScrollCommand: 'SeleniumElementScrollCommand',
|
|
50
|
+
SeleniumWindowScrollCommand: 'SeleniumWindowScrollCommand',
|
|
51
|
+
SeleniumDragAndDropCommand: 'SeleniumDragAndDropCommand',
|
|
52
|
+
SeleniumClearValueCommand: "SeleniumClearValueCommand",
|
|
53
|
+
PauseCommand: "PauseCommand",
|
|
54
|
+
SeleniumBrowserRefreshCommand: "SeleniumBrowserRefreshCommand",
|
|
55
|
+
SeleniumBrowserNavigateBackCommand: 'SeleniumBrowserNavigateBackCommand',
|
|
56
|
+
SeleniumBrowserNavigateCommand: 'SeleniumBrowserNavigateCommand'
|
|
57
|
+
};
|
|
24
58
|
const commandMap = {
|
|
25
|
-
Tap: {
|
|
26
|
-
CommandName:
|
|
59
|
+
[rpasceneCommand.Tap]: {
|
|
60
|
+
CommandName: rpastudioCommand.SeleniumClickCommand,
|
|
27
61
|
DisplayName: "\u5143\u7D20\u70B9\u51FB"
|
|
28
62
|
},
|
|
29
|
-
RightClick: {
|
|
30
|
-
CommandName:
|
|
63
|
+
[rpasceneCommand.RightClick]: {
|
|
64
|
+
CommandName: rpastudioCommand.SeleniumRightClickCommand,
|
|
31
65
|
DisplayName: "\u5143\u7D20\u53F3\u952E\u70B9\u51FB"
|
|
32
66
|
},
|
|
33
|
-
DoubleClick: {
|
|
34
|
-
CommandName:
|
|
67
|
+
[rpasceneCommand.DoubleClick]: {
|
|
68
|
+
CommandName: rpastudioCommand.SeleniumDoubleClickCommand,
|
|
35
69
|
DisplayName: "\u5143\u7D20\u53CC\u51FB"
|
|
36
70
|
},
|
|
37
|
-
Hover: {
|
|
38
|
-
CommandName:
|
|
71
|
+
[rpasceneCommand.Hover]: {
|
|
72
|
+
CommandName: rpastudioCommand.SeleniumMouseHoverCommand,
|
|
39
73
|
DisplayName: "\u9F20\u6807\u60AC\u505C"
|
|
40
74
|
},
|
|
41
|
-
Input: {
|
|
42
|
-
CommandName:
|
|
75
|
+
[rpasceneCommand.Input]: {
|
|
76
|
+
CommandName: rpastudioCommand.SeleniumSetValueCommand,
|
|
43
77
|
DisplayName: "\u8BBE\u7F6E\u6587\u672C"
|
|
44
78
|
},
|
|
45
|
-
KeyboardPress: {
|
|
46
|
-
CommandName:
|
|
79
|
+
[rpasceneCommand.KeyboardPress]: {
|
|
80
|
+
CommandName: rpastudioCommand.SeleniumElementSendKeysCommand,
|
|
47
81
|
DisplayName: "\u6A21\u62DF\u6309\u952E"
|
|
48
82
|
},
|
|
49
|
-
Scroll: {
|
|
50
|
-
CommandName:
|
|
83
|
+
[rpasceneCommand.Scroll]: {
|
|
84
|
+
CommandName: rpastudioCommand.SeleniumElementScrollCommand,
|
|
51
85
|
DisplayName: "\u5143\u7D20\u6EDA\u52A8"
|
|
52
86
|
},
|
|
53
|
-
DragAndDrop: {
|
|
54
|
-
CommandName:
|
|
87
|
+
[rpasceneCommand.DragAndDrop]: {
|
|
88
|
+
CommandName: rpastudioCommand.SeleniumDragAndDropCommand,
|
|
55
89
|
DisplayName: "\u5143\u7D20\u62D6\u62FD\uFF08\u81F3\u6307\u5B9A\u5143\u7D20\uFF09"
|
|
56
90
|
},
|
|
57
|
-
ClearInput: {
|
|
58
|
-
CommandName:
|
|
91
|
+
[rpasceneCommand.ClearInput]: {
|
|
92
|
+
CommandName: rpastudioCommand.SeleniumClearValueCommand,
|
|
59
93
|
DisplayName: "\u6E05\u7A7A\u6587\u672C"
|
|
60
94
|
},
|
|
61
|
-
Sleep: {
|
|
62
|
-
CommandName:
|
|
95
|
+
[rpasceneCommand.Sleep]: {
|
|
96
|
+
CommandName: rpastudioCommand.PauseCommand,
|
|
63
97
|
DisplayName: "\u6682\u505C\u811A\u672C"
|
|
64
98
|
},
|
|
65
|
-
LongPress: {
|
|
66
|
-
CommandName: "
|
|
67
|
-
DisplayName: "
|
|
99
|
+
[rpasceneCommand.LongPress]: {
|
|
100
|
+
CommandName: "",
|
|
101
|
+
DisplayName: ""
|
|
68
102
|
},
|
|
69
|
-
Swipe: {
|
|
70
|
-
CommandName: "
|
|
71
|
-
DisplayName: "
|
|
103
|
+
[rpasceneCommand.Swipe]: {
|
|
104
|
+
CommandName: "",
|
|
105
|
+
DisplayName: ""
|
|
106
|
+
},
|
|
107
|
+
[rpasceneCommand.Reload]: {
|
|
108
|
+
CommandName: rpastudioCommand.SeleniumBrowserRefreshCommand,
|
|
109
|
+
DisplayName: "\u5237\u65B0"
|
|
110
|
+
},
|
|
111
|
+
[rpasceneCommand.GoBack]: {
|
|
112
|
+
CommandName: rpastudioCommand.SeleniumBrowserNavigateBackCommand,
|
|
113
|
+
DisplayName: "\u540E\u9000"
|
|
114
|
+
},
|
|
115
|
+
[rpasceneCommand.Navigate]: {
|
|
116
|
+
CommandName: rpastudioCommand.SeleniumBrowserNavigateCommand,
|
|
117
|
+
DisplayName: "\u6253\u5F00\u9875\u9762"
|
|
72
118
|
}
|
|
73
119
|
};
|
|
74
|
-
export { CONTAINER_MINI_HEIGHT, CONTAINER_MINI_WIDTH, DEFAULT_WAIT_FOR_NAVIGATION_TIMEOUT, DEFAULT_WAIT_FOR_NETWORK_IDLE_CONCURRENCY, DEFAULT_WAIT_FOR_NETWORK_IDLE_TIME, DEFAULT_WAIT_FOR_NETWORK_IDLE_TIMEOUT, DEFAULT_WDA_PORT, constants_NodeType as NodeType, PLAYGROUND_SERVER_PORT, PLAYWRIGHT_EXAMPLE_CODE, SCRCPY_SERVER_PORT, TEXT_MAX_SIZE, TEXT_SIZE_THRESHOLD, WEBDRIVER_ELEMENT_ID_KEY, YAML_EXAMPLE_CODE, commandMap };
|
|
120
|
+
export { CONTAINER_MINI_HEIGHT, CONTAINER_MINI_WIDTH, DEFAULT_WAIT_FOR_NAVIGATION_TIMEOUT, DEFAULT_WAIT_FOR_NETWORK_IDLE_CONCURRENCY, DEFAULT_WAIT_FOR_NETWORK_IDLE_TIME, DEFAULT_WAIT_FOR_NETWORK_IDLE_TIMEOUT, DEFAULT_WDA_PORT, constants_NodeType as NodeType, PLAYGROUND_SERVER_PORT, PLAYWRIGHT_EXAMPLE_CODE, SCRCPY_SERVER_PORT, TEXT_MAX_SIZE, TEXT_SIZE_THRESHOLD, WEBDRIVER_ELEMENT_ID_KEY, YAML_EXAMPLE_CODE, commandMap, rpasceneCommand, rpastudioCommand };
|
|
@@ -16,7 +16,16 @@ const VQA_MODEL_CONFIG_KEYS = {
|
|
|
16
16
|
azureExtraConfig: MIDSCENE_VQA_AZURE_OPENAI_INIT_CONFIG_JSON,
|
|
17
17
|
useAnthropicSdk: MIDSCENE_VQA_USE_ANTHROPIC_SDK,
|
|
18
18
|
anthropicApiKey: MIDSCENE_VQA_ANTHROPIC_API_KEY,
|
|
19
|
-
vlMode: MIDSCENE_VQA_VL_MODE
|
|
19
|
+
vlMode: MIDSCENE_VQA_VL_MODE,
|
|
20
|
+
domain: 'domain',
|
|
21
|
+
yht_access_token: 'yht_access_token',
|
|
22
|
+
model: 'model',
|
|
23
|
+
baseURL: 'baseURL',
|
|
24
|
+
chatType: 'chatType',
|
|
25
|
+
modelCategory: 'modelCategory',
|
|
26
|
+
stream: 'stream',
|
|
27
|
+
temperature: 'temperature',
|
|
28
|
+
top_p: 'top_p'
|
|
20
29
|
};
|
|
21
30
|
const GROUNDING_MODEL_CONFIG_KEYS = {
|
|
22
31
|
modelName: MIDSCENE_GROUNDING_MODEL_NAME,
|
|
@@ -35,7 +44,16 @@ const GROUNDING_MODEL_CONFIG_KEYS = {
|
|
|
35
44
|
azureExtraConfig: MIDSCENE_GROUNDING_AZURE_OPENAI_INIT_CONFIG_JSON,
|
|
36
45
|
useAnthropicSdk: MIDSCENE_GROUNDING_USE_ANTHROPIC_SDK,
|
|
37
46
|
anthropicApiKey: MIDSCENE_GROUNDING_ANTHROPIC_API_KEY,
|
|
38
|
-
vlMode: MIDSCENE_GROUNDING_VL_MODE
|
|
47
|
+
vlMode: MIDSCENE_GROUNDING_VL_MODE,
|
|
48
|
+
domain: 'domain',
|
|
49
|
+
yht_access_token: 'yht_access_token',
|
|
50
|
+
model: 'model',
|
|
51
|
+
baseURL: 'baseURL',
|
|
52
|
+
chatType: 'chatType',
|
|
53
|
+
modelCategory: 'modelCategory',
|
|
54
|
+
stream: 'stream',
|
|
55
|
+
temperature: 'temperature',
|
|
56
|
+
top_p: 'top_p'
|
|
39
57
|
};
|
|
40
58
|
const PLANNING_MODEL_CONFIG_KEYS = {
|
|
41
59
|
modelName: MIDSCENE_PLANNING_MODEL_NAME,
|
|
@@ -54,7 +72,16 @@ const PLANNING_MODEL_CONFIG_KEYS = {
|
|
|
54
72
|
azureExtraConfig: MIDSCENE_PLANNING_AZURE_OPENAI_INIT_CONFIG_JSON,
|
|
55
73
|
useAnthropicSdk: MIDSCENE_PLANNING_USE_ANTHROPIC_SDK,
|
|
56
74
|
anthropicApiKey: MIDSCENE_PLANNING_ANTHROPIC_API_KEY,
|
|
57
|
-
vlMode: MIDSCENE_PLANNING_VL_MODE
|
|
75
|
+
vlMode: MIDSCENE_PLANNING_VL_MODE,
|
|
76
|
+
domain: 'domain',
|
|
77
|
+
yht_access_token: 'yht_access_token',
|
|
78
|
+
model: 'model',
|
|
79
|
+
baseURL: 'baseURL',
|
|
80
|
+
chatType: 'chatType',
|
|
81
|
+
modelCategory: 'modelCategory',
|
|
82
|
+
stream: 'stream',
|
|
83
|
+
temperature: 'temperature',
|
|
84
|
+
top_p: 'top_p'
|
|
58
85
|
};
|
|
59
86
|
const DEFAULT_MODEL_CONFIG_KEYS = {
|
|
60
87
|
modelName: MIDSCENE_MODEL_NAME,
|
|
@@ -73,7 +100,16 @@ const DEFAULT_MODEL_CONFIG_KEYS = {
|
|
|
73
100
|
azureExtraConfig: MIDSCENE_AZURE_OPENAI_INIT_CONFIG_JSON,
|
|
74
101
|
useAnthropicSdk: MIDSCENE_USE_ANTHROPIC_SDK,
|
|
75
102
|
anthropicApiKey: MIDSCENE_ANTHROPIC_API_KEY,
|
|
76
|
-
vlMode: MIDSCENE_VL_MODE
|
|
103
|
+
vlMode: MIDSCENE_VL_MODE,
|
|
104
|
+
domain: 'domain',
|
|
105
|
+
yht_access_token: 'yht_access_token',
|
|
106
|
+
model: 'model',
|
|
107
|
+
baseURL: 'baseURL',
|
|
108
|
+
chatType: 'chatType',
|
|
109
|
+
modelCategory: 'modelCategory',
|
|
110
|
+
stream: 'stream',
|
|
111
|
+
temperature: 'temperature',
|
|
112
|
+
top_p: 'top_p'
|
|
77
113
|
};
|
|
78
114
|
const DEFAULT_MODEL_CONFIG_KEYS_LEGACY = {
|
|
79
115
|
modelName: MIDSCENE_MODEL_NAME,
|
|
@@ -92,6 +128,15 @@ const DEFAULT_MODEL_CONFIG_KEYS_LEGACY = {
|
|
|
92
128
|
azureExtraConfig: MIDSCENE_AZURE_OPENAI_INIT_CONFIG_JSON,
|
|
93
129
|
useAnthropicSdk: MIDSCENE_USE_ANTHROPIC_SDK,
|
|
94
130
|
anthropicApiKey: ANTHROPIC_API_KEY,
|
|
95
|
-
vlMode: 'DEFAULT_MODEL_CONFIG_KEYS has no vlMode key'
|
|
131
|
+
vlMode: 'DEFAULT_MODEL_CONFIG_KEYS has no vlMode key',
|
|
132
|
+
domain: 'domain',
|
|
133
|
+
yht_access_token: 'yht_access_token',
|
|
134
|
+
model: 'model',
|
|
135
|
+
baseURL: 'baseURL',
|
|
136
|
+
chatType: 'chatType',
|
|
137
|
+
modelCategory: 'modelCategory',
|
|
138
|
+
stream: 'stream',
|
|
139
|
+
temperature: 'temperature',
|
|
140
|
+
top_p: 'top_p'
|
|
96
141
|
};
|
|
97
142
|
export { DEFAULT_MODEL_CONFIG_KEYS, DEFAULT_MODEL_CONFIG_KEYS_LEGACY, GROUNDING_MODEL_CONFIG_KEYS, PLANNING_MODEL_CONFIG_KEYS, VQA_MODEL_CONFIG_KEYS };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { initDebugConfig } from "./init-debug.mjs";
|
|
2
|
-
import { ALL_ENV_KEYS, BOOLEAN_ENV_KEYS, MATCH_BY_POSITION, NUMBER_ENV_KEYS, STRING_ENV_KEYS } from "./types.mjs";
|
|
2
|
+
import { ALL_ENV_KEYS, BOOLEAN_ENV_KEYS, GLOBAL_ENV_KEYS, MATCH_BY_POSITION, MODEL_ENV_KEYS, NUMBER_ENV_KEYS, STRING_ENV_KEYS } from "./types.mjs";
|
|
3
3
|
function _define_property(obj, key, value) {
|
|
4
4
|
if (key in obj) Object.defineProperty(obj, key, {
|
|
5
5
|
value: value,
|
|
@@ -59,6 +59,15 @@ class GlobalConfigManager {
|
|
|
59
59
|
}
|
|
60
60
|
overrideAIConfig(newConfig, extendMode = false) {
|
|
61
61
|
var _this_override;
|
|
62
|
+
for(const key in newConfig){
|
|
63
|
+
if (![
|
|
64
|
+
...GLOBAL_ENV_KEYS,
|
|
65
|
+
...MODEL_ENV_KEYS
|
|
66
|
+
].includes(key)) throw new Error(`Failed to override AI config, invalid key: ${key}`);
|
|
67
|
+
const value = newConfig[key];
|
|
68
|
+
if ('string' != typeof value) throw new Error(`Failed to override AI config, value for key ${key} must be a string, but got with type ${typeof value}`);
|
|
69
|
+
if (this.keysHaveBeenRead[key]) console.warn(`Warning: try to override AI config with key ${key} ,but it has been read.`);
|
|
70
|
+
}
|
|
62
71
|
const savedNewConfig = extendMode ? {
|
|
63
72
|
...null == (_this_override = this.override) ? void 0 : _this_override.newConfig,
|
|
64
73
|
...newConfig
|
package/dist/es/env/types.mjs
CHANGED
|
@@ -144,6 +144,19 @@ const GLOBAL_ENV_KEYS = [
|
|
|
144
144
|
...NUMBER_ENV_KEYS,
|
|
145
145
|
...STRING_ENV_KEYS
|
|
146
146
|
];
|
|
147
|
+
const YHT_STRING_ENV_KEYS = [
|
|
148
|
+
'domain',
|
|
149
|
+
'yht_access_token',
|
|
150
|
+
'model',
|
|
151
|
+
'baseURL'
|
|
152
|
+
];
|
|
153
|
+
const YHT_NUMBER_ENV_KEYS = [
|
|
154
|
+
'chatType',
|
|
155
|
+
'modelCategory',
|
|
156
|
+
'stream',
|
|
157
|
+
'temperature',
|
|
158
|
+
'top_p'
|
|
159
|
+
];
|
|
147
160
|
const MODEL_ENV_KEYS = [
|
|
148
161
|
MIDSCENE_MODEL_NAME,
|
|
149
162
|
MIDSCENE_OPENAI_INIT_CONFIG_JSON,
|
|
@@ -226,25 +239,15 @@ const MODEL_ENV_KEYS = [
|
|
|
226
239
|
MIDSCENE_GROUNDING_AZURE_OPENAI_INIT_CONFIG_JSON,
|
|
227
240
|
MIDSCENE_GROUNDING_USE_ANTHROPIC_SDK,
|
|
228
241
|
MIDSCENE_GROUNDING_ANTHROPIC_API_KEY,
|
|
229
|
-
MIDSCENE_GROUNDING_VL_MODE
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
'domain',
|
|
233
|
-
'yht_access_token',
|
|
234
|
-
'chatType',
|
|
235
|
-
'model',
|
|
236
|
-
'modelCategory',
|
|
237
|
-
'stream',
|
|
238
|
-
'temperature',
|
|
239
|
-
'top_p',
|
|
240
|
-
'baseURL'
|
|
242
|
+
MIDSCENE_GROUNDING_VL_MODE,
|
|
243
|
+
...YHT_STRING_ENV_KEYS,
|
|
244
|
+
...YHT_NUMBER_ENV_KEYS
|
|
241
245
|
];
|
|
242
246
|
const ALL_ENV_KEYS = [
|
|
243
247
|
...UNUSED_ENV_KEYS,
|
|
244
248
|
...BASIC_ENV_KEYS,
|
|
245
249
|
...GLOBAL_ENV_KEYS,
|
|
246
|
-
...MODEL_ENV_KEYS
|
|
247
|
-
...Yht_ENV_KEYS
|
|
250
|
+
...MODEL_ENV_KEYS
|
|
248
251
|
];
|
|
249
252
|
var types_UITarsModelVersion = /*#__PURE__*/ function(UITarsModelVersion) {
|
|
250
253
|
UITarsModelVersion["V1_0"] = "1.0";
|
|
@@ -262,4 +265,4 @@ const VL_MODE_RAW_VALID_VALUES = [
|
|
|
262
265
|
'vlm-ui-tars-doubao',
|
|
263
266
|
'vlm-ui-tars-doubao-1.5'
|
|
264
267
|
];
|
|
265
|
-
export { ALL_ENV_KEYS, ANTHROPIC_API_KEY, AZURE_OPENAI_API_VERSION, AZURE_OPENAI_DEPLOYMENT, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_KEY, BASIC_ENV_KEYS, BOOLEAN_ENV_KEYS, DOCKER_CONTAINER, GLOBAL_ENV_KEYS, MATCH_BY_POSITION, MIDSCENE_ADB_PATH, MIDSCENE_ADB_REMOTE_HOST, MIDSCENE_ADB_REMOTE_PORT, MIDSCENE_ANDROID_IME_STRATEGY, MIDSCENE_ANTHROPIC_API_KEY, MIDSCENE_API_TYPE, MIDSCENE_AZURE_OPENAI_API_VERSION, MIDSCENE_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_AZURE_OPENAI_ENDPOINT, MIDSCENE_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_AZURE_OPENAI_KEY, MIDSCENE_AZURE_OPENAI_SCOPE, MIDSCENE_CACHE, MIDSCENE_CACHE_MAX_FILENAME_LENGTH, MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG, MIDSCENE_DEBUG_AI_PROFILE, MIDSCENE_DEBUG_AI_RESPONSE, MIDSCENE_DEBUG_MODE, MIDSCENE_FORCE_DEEP_THINK, MIDSCENE_GROUNDING_ANTHROPIC_API_KEY, MIDSCENE_GROUNDING_AZURE_OPENAI_API_VERSION, MIDSCENE_GROUNDING_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_GROUNDING_AZURE_OPENAI_ENDPOINT, MIDSCENE_GROUNDING_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_GROUNDING_AZURE_OPENAI_KEY, MIDSCENE_GROUNDING_AZURE_OPENAI_SCOPE, MIDSCENE_GROUNDING_MODEL_NAME, MIDSCENE_GROUNDING_OPENAI_API_KEY, MIDSCENE_GROUNDING_OPENAI_BASE_URL, MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY, MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON, MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY, MIDSCENE_GROUNDING_OPENAI_USE_AZURE, MIDSCENE_GROUNDING_USE_ANTHROPIC_SDK, MIDSCENE_GROUNDING_USE_AZURE_OPENAI, MIDSCENE_GROUNDING_VL_MODE, MIDSCENE_IOS_DEVICE_UDID, MIDSCENE_IOS_SIMULATOR_UDID, MIDSCENE_LANGSMITH_DEBUG, MIDSCENE_MCP_ANDROID_MODE, MIDSCENE_MCP_CHROME_PATH, MIDSCENE_MCP_USE_PUPPETEER_MODE, MIDSCENE_MODEL_NAME, MIDSCENE_OPENAI_API_KEY, MIDSCENE_OPENAI_BASE_URL, MIDSCENE_OPENAI_HTTP_PROXY, MIDSCENE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_OPENAI_SOCKS_PROXY, MIDSCENE_OPENAI_USE_AZURE, MIDSCENE_PLANNING_ANTHROPIC_API_KEY, MIDSCENE_PLANNING_AZURE_OPENAI_API_VERSION, MIDSCENE_PLANNING_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_PLANNING_AZURE_OPENAI_ENDPOINT, MIDSCENE_PLANNING_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_PLANNING_AZURE_OPENAI_KEY, MIDSCENE_PLANNING_AZURE_OPENAI_SCOPE, MIDSCENE_PLANNING_MODEL_NAME, MIDSCENE_PLANNING_OPENAI_API_KEY, MIDSCENE_PLANNING_OPENAI_BASE_URL, MIDSCENE_PLANNING_OPENAI_HTTP_PROXY, MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON, MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY, MIDSCENE_PLANNING_OPENAI_USE_AZURE, MIDSCENE_PLANNING_USE_ANTHROPIC_SDK, MIDSCENE_PLANNING_USE_AZURE_OPENAI, MIDSCENE_PLANNING_VL_MODE, MIDSCENE_PREFERRED_LANGUAGE, MIDSCENE_REPLANNING_CYCLE_LIMIT, MIDSCENE_REPORT_TAG_NAME, MIDSCENE_RUN_DIR, MIDSCENE_USE_ANTHROPIC_SDK, MIDSCENE_USE_AZURE_OPENAI, MIDSCENE_USE_DOUBAO_VISION, MIDSCENE_USE_GEMINI, MIDSCENE_USE_QWEN3_VL, MIDSCENE_USE_QWEN_VL, MIDSCENE_USE_VLM_UI_TARS, MIDSCENE_USE_VL_MODEL, MIDSCENE_VL_MODE, MIDSCENE_VQA_ANTHROPIC_API_KEY, MIDSCENE_VQA_AZURE_OPENAI_API_VERSION, MIDSCENE_VQA_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_VQA_AZURE_OPENAI_ENDPOINT, MIDSCENE_VQA_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_VQA_AZURE_OPENAI_KEY, MIDSCENE_VQA_AZURE_OPENAI_SCOPE, MIDSCENE_VQA_MODEL_NAME, MIDSCENE_VQA_OPENAI_API_KEY, MIDSCENE_VQA_OPENAI_BASE_URL, MIDSCENE_VQA_OPENAI_HTTP_PROXY, MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON, MIDSCENE_VQA_OPENAI_SOCKS_PROXY, MIDSCENE_VQA_OPENAI_USE_AZURE, MIDSCENE_VQA_USE_ANTHROPIC_SDK, MIDSCENE_VQA_USE_AZURE_OPENAI, MIDSCENE_VQA_VL_MODE, MODEL_ENV_KEYS, NUMBER_ENV_KEYS, OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MAX_TOKENS, OPENAI_USE_AZURE, STRING_ENV_KEYS, types_UITarsModelVersion as UITarsModelVersion, UNUSED_ENV_KEYS, VL_MODE_RAW_VALID_VALUES,
|
|
268
|
+
export { ALL_ENV_KEYS, ANTHROPIC_API_KEY, AZURE_OPENAI_API_VERSION, AZURE_OPENAI_DEPLOYMENT, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_KEY, BASIC_ENV_KEYS, BOOLEAN_ENV_KEYS, DOCKER_CONTAINER, GLOBAL_ENV_KEYS, MATCH_BY_POSITION, MIDSCENE_ADB_PATH, MIDSCENE_ADB_REMOTE_HOST, MIDSCENE_ADB_REMOTE_PORT, MIDSCENE_ANDROID_IME_STRATEGY, MIDSCENE_ANTHROPIC_API_KEY, MIDSCENE_API_TYPE, MIDSCENE_AZURE_OPENAI_API_VERSION, MIDSCENE_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_AZURE_OPENAI_ENDPOINT, MIDSCENE_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_AZURE_OPENAI_KEY, MIDSCENE_AZURE_OPENAI_SCOPE, MIDSCENE_CACHE, MIDSCENE_CACHE_MAX_FILENAME_LENGTH, MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG, MIDSCENE_DEBUG_AI_PROFILE, MIDSCENE_DEBUG_AI_RESPONSE, MIDSCENE_DEBUG_MODE, MIDSCENE_FORCE_DEEP_THINK, MIDSCENE_GROUNDING_ANTHROPIC_API_KEY, MIDSCENE_GROUNDING_AZURE_OPENAI_API_VERSION, MIDSCENE_GROUNDING_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_GROUNDING_AZURE_OPENAI_ENDPOINT, MIDSCENE_GROUNDING_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_GROUNDING_AZURE_OPENAI_KEY, MIDSCENE_GROUNDING_AZURE_OPENAI_SCOPE, MIDSCENE_GROUNDING_MODEL_NAME, MIDSCENE_GROUNDING_OPENAI_API_KEY, MIDSCENE_GROUNDING_OPENAI_BASE_URL, MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY, MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON, MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY, MIDSCENE_GROUNDING_OPENAI_USE_AZURE, MIDSCENE_GROUNDING_USE_ANTHROPIC_SDK, MIDSCENE_GROUNDING_USE_AZURE_OPENAI, MIDSCENE_GROUNDING_VL_MODE, MIDSCENE_IOS_DEVICE_UDID, MIDSCENE_IOS_SIMULATOR_UDID, MIDSCENE_LANGSMITH_DEBUG, MIDSCENE_MCP_ANDROID_MODE, MIDSCENE_MCP_CHROME_PATH, MIDSCENE_MCP_USE_PUPPETEER_MODE, MIDSCENE_MODEL_NAME, MIDSCENE_OPENAI_API_KEY, MIDSCENE_OPENAI_BASE_URL, MIDSCENE_OPENAI_HTTP_PROXY, MIDSCENE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_OPENAI_SOCKS_PROXY, MIDSCENE_OPENAI_USE_AZURE, MIDSCENE_PLANNING_ANTHROPIC_API_KEY, MIDSCENE_PLANNING_AZURE_OPENAI_API_VERSION, MIDSCENE_PLANNING_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_PLANNING_AZURE_OPENAI_ENDPOINT, MIDSCENE_PLANNING_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_PLANNING_AZURE_OPENAI_KEY, MIDSCENE_PLANNING_AZURE_OPENAI_SCOPE, MIDSCENE_PLANNING_MODEL_NAME, MIDSCENE_PLANNING_OPENAI_API_KEY, MIDSCENE_PLANNING_OPENAI_BASE_URL, MIDSCENE_PLANNING_OPENAI_HTTP_PROXY, MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON, MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY, MIDSCENE_PLANNING_OPENAI_USE_AZURE, MIDSCENE_PLANNING_USE_ANTHROPIC_SDK, MIDSCENE_PLANNING_USE_AZURE_OPENAI, MIDSCENE_PLANNING_VL_MODE, MIDSCENE_PREFERRED_LANGUAGE, MIDSCENE_REPLANNING_CYCLE_LIMIT, MIDSCENE_REPORT_TAG_NAME, MIDSCENE_RUN_DIR, MIDSCENE_USE_ANTHROPIC_SDK, MIDSCENE_USE_AZURE_OPENAI, MIDSCENE_USE_DOUBAO_VISION, MIDSCENE_USE_GEMINI, MIDSCENE_USE_QWEN3_VL, MIDSCENE_USE_QWEN_VL, MIDSCENE_USE_VLM_UI_TARS, MIDSCENE_USE_VL_MODEL, MIDSCENE_VL_MODE, MIDSCENE_VQA_ANTHROPIC_API_KEY, MIDSCENE_VQA_AZURE_OPENAI_API_VERSION, MIDSCENE_VQA_AZURE_OPENAI_DEPLOYMENT, MIDSCENE_VQA_AZURE_OPENAI_ENDPOINT, MIDSCENE_VQA_AZURE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_VQA_AZURE_OPENAI_KEY, MIDSCENE_VQA_AZURE_OPENAI_SCOPE, MIDSCENE_VQA_MODEL_NAME, MIDSCENE_VQA_OPENAI_API_KEY, MIDSCENE_VQA_OPENAI_BASE_URL, MIDSCENE_VQA_OPENAI_HTTP_PROXY, MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON, MIDSCENE_VQA_OPENAI_SOCKS_PROXY, MIDSCENE_VQA_OPENAI_USE_AZURE, MIDSCENE_VQA_USE_ANTHROPIC_SDK, MIDSCENE_VQA_USE_AZURE_OPENAI, MIDSCENE_VQA_VL_MODE, MODEL_ENV_KEYS, NUMBER_ENV_KEYS, OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MAX_TOKENS, OPENAI_USE_AZURE, STRING_ENV_KEYS, types_UITarsModelVersion as UITarsModelVersion, UNUSED_ENV_KEYS, VL_MODE_RAW_VALID_VALUES, YHT_NUMBER_ENV_KEYS, YHT_STRING_ENV_KEYS };
|
package/dist/es/env/utils.mjs
CHANGED
|
@@ -13,6 +13,10 @@ const getPreferredLanguage = ()=>{
|
|
|
13
13
|
return isChina ? 'Chinese' : 'English';
|
|
14
14
|
};
|
|
15
15
|
const overrideAIConfig = (newConfig, extendMode = false)=>{
|
|
16
|
-
|
|
16
|
+
const config = Object.entries(newConfig).reduce((pre, [key, value])=>({
|
|
17
|
+
...pre,
|
|
18
|
+
[key]: String(value)
|
|
19
|
+
}), {});
|
|
20
|
+
globalConfigManager.overrideAIConfig(config, extendMode);
|
|
17
21
|
};
|
|
18
22
|
export { getPreferredLanguage, globalConfigManager, globalModelConfigManager, overrideAIConfig };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { descriptionOfTree, traverseTree, treeToList, trimAttributes, truncateText } from "./tree.mjs";
|
|
2
|
-
import { extractTextWithPosition, extractTreeNode, extractTreeNodeAsString } from "./web-extractor.mjs";
|
|
2
|
+
import { extractTextWithPosition, extractTreeNode, extractTreeNodeAsString, getElementFromPoint } from "./web-extractor.mjs";
|
|
3
3
|
import { getNodeFromCacheList, setNodeHashCacheListOnWindow } from "./util.mjs";
|
|
4
4
|
import { getElementInfoByXpath, getElementXpath, getNodeInfoByXpath, getXpathsById, getXpathsByPoint } from "./locator.mjs";
|
|
5
5
|
import { generateElementByPosition, isNotContainerElement } from "./dom-util.mjs";
|
|
6
6
|
export * from "./customLocator.mjs";
|
|
7
|
-
export { descriptionOfTree, generateElementByPosition, getElementInfoByXpath, getElementXpath, getNodeFromCacheList, getNodeInfoByXpath, getXpathsById, getXpathsByPoint, isNotContainerElement, setNodeHashCacheListOnWindow, traverseTree, treeToList, trimAttributes, truncateText, extractTreeNode as webExtractNodeTree, extractTreeNodeAsString as webExtractNodeTreeAsString, extractTextWithPosition as webExtractTextWithPosition };
|
|
7
|
+
export { descriptionOfTree, generateElementByPosition, getElementFromPoint, getElementInfoByXpath, getElementXpath, getNodeFromCacheList, getNodeInfoByXpath, getXpathsById, getXpathsByPoint, isNotContainerElement, setNodeHashCacheListOnWindow, traverseTree, treeToList, trimAttributes, truncateText, extractTreeNode as webExtractNodeTree, extractTreeNodeAsString as webExtractNodeTreeAsString, extractTextWithPosition as webExtractTextWithPosition };
|
|
@@ -357,5 +357,65 @@ if ('undefined' != typeof window) onWindowMessage(window, async ({ action, data
|
|
|
357
357
|
error: 'error message'
|
|
358
358
|
};
|
|
359
359
|
}
|
|
360
|
+
if ('getElementFromPoint' === action) try {
|
|
361
|
+
return await getElementFromPoint({
|
|
362
|
+
x: data.x,
|
|
363
|
+
y: data.y,
|
|
364
|
+
containerPaths: data.containerPaths
|
|
365
|
+
});
|
|
366
|
+
} catch (error) {
|
|
367
|
+
return {
|
|
368
|
+
error: 'error message'
|
|
369
|
+
};
|
|
370
|
+
}
|
|
360
371
|
});
|
|
361
|
-
|
|
372
|
+
const getElementOffset = (element)=>{
|
|
373
|
+
const pLeft = parseInt(window.getComputedStyle(element, null).getPropertyValue('padding-left'), 10) || 0;
|
|
374
|
+
const pTop = parseInt(window.getComputedStyle(element, null).getPropertyValue('padding-top'), 10) || 0;
|
|
375
|
+
const bLeft = parseInt(window.getComputedStyle(element, null).getPropertyValue('border-left-width'), 10) || 0;
|
|
376
|
+
const bTop = parseInt(window.getComputedStyle(element, null).getPropertyValue('border-top-width'), 10) || 0;
|
|
377
|
+
return {
|
|
378
|
+
x: pLeft + bLeft,
|
|
379
|
+
y: pTop + bTop
|
|
380
|
+
};
|
|
381
|
+
};
|
|
382
|
+
const web_extractor_getCssScale = (element)=>{
|
|
383
|
+
try {
|
|
384
|
+
const { width, height } = element.getBoundingClientRect();
|
|
385
|
+
return {
|
|
386
|
+
cssScaleX: Number((width / element.offsetWidth).toFixed(1)),
|
|
387
|
+
cssScaleY: Number((height / element.offsetHeight).toFixed(1))
|
|
388
|
+
};
|
|
389
|
+
} catch (error) {
|
|
390
|
+
return {
|
|
391
|
+
cssScaleX: 1,
|
|
392
|
+
cssScaleY: 1
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
const getElementFromPoint = async (args)=>{
|
|
397
|
+
if (!args.containerPaths) args.containerPaths = [];
|
|
398
|
+
const dom = document.elementFromPoint(args.x, args.y);
|
|
399
|
+
if ((null == dom ? void 0 : dom.nodeName) === 'IFRAME') {
|
|
400
|
+
const containerPath = getContainerPath(dom);
|
|
401
|
+
const bounding = dom.getBoundingClientRect();
|
|
402
|
+
const offset = getElementOffset(dom);
|
|
403
|
+
const { cssScaleX, cssScaleY } = web_extractor_getCssScale(dom);
|
|
404
|
+
return await postWindowMessage(dom.contentWindow, window, {
|
|
405
|
+
action: 'getElementFromPoint',
|
|
406
|
+
data: {
|
|
407
|
+
x: (args.x - bounding.x - offset.x) / cssScaleX,
|
|
408
|
+
y: (args.y - bounding.y - offset.y) / cssScaleY,
|
|
409
|
+
containerPaths: args.containerPaths.concat(containerPath)
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
{
|
|
414
|
+
const elementInfo = {
|
|
415
|
+
allPaths: getLocators(dom),
|
|
416
|
+
containerPaths: args.containerPaths
|
|
417
|
+
};
|
|
418
|
+
return elementInfo;
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
export { collectElementInfo, extractTextWithPosition, extractTreeNode, extractTreeNodeAsString, getElementFromPoint, mergeElementAndChildrenRects };
|