@midscene/shared 1.0.1-beta-20251024063839.0 → 1.0.1-beta-20251024064637.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.
- package/dist/es/env/constants.mjs +28 -28
- package/dist/es/env/decide-model-config.mjs +2 -5
- package/dist/es/env/init-debug.mjs +6 -6
- package/dist/es/env/model-config-manager.mjs +1 -2
- package/dist/es/env/types.mjs +53 -57
- package/dist/es/extractor/dom-util.mjs +7 -9
- package/dist/es/extractor/index.mjs +1 -2
- package/dist/es/extractor/tree.mjs +1 -3
- package/dist/es/extractor/util.mjs +1 -25
- package/dist/es/node/fs.mjs +2 -2
- package/dist/lib/env/constants.js +27 -27
- package/dist/lib/env/decide-model-config.js +2 -5
- package/dist/lib/env/init-debug.js +5 -5
- package/dist/lib/env/model-config-manager.js +1 -2
- package/dist/lib/env/types.js +130 -140
- package/dist/lib/extractor/dom-util.js +7 -9
- package/dist/lib/extractor/index.js +7 -14
- package/dist/lib/extractor/tree.js +1 -3
- package/dist/lib/extractor/util.js +0 -33
- package/dist/lib/node/fs.js +2 -2
- package/dist/types/env/model-config-manager.d.ts +2 -2
- package/dist/types/env/types.d.ts +59 -76
- package/dist/types/extractor/dom-util.d.ts +2 -15
- package/dist/types/extractor/index.d.ts +0 -1
- package/dist/types/extractor/tree.d.ts +1 -4
- package/dist/types/extractor/util.d.ts +0 -3
- package/dist/types/types/index.d.ts +6 -2
- package/package.json +1 -1
- package/src/env/constants.ts +52 -54
- package/src/env/decide-model-config.ts +2 -20
- package/src/env/init-debug.ts +6 -11
- package/src/env/model-config-manager.ts +3 -9
- package/src/env/types.ts +95 -122
- package/src/extractor/dom-util.ts +12 -8
- package/src/extractor/index.ts +0 -2
- package/src/extractor/locator.ts +0 -1
- package/src/extractor/tree.ts +4 -4
- package/src/extractor/util.ts +0 -32
- package/src/node/fs.ts +1 -1
- package/src/types/index.ts +9 -2
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { 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_VL_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_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_VL_MODE, MIDSCENE_VL_MODE, 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_VL_MODE, OPENAI_API_KEY, OPENAI_BASE_URL } from "./types.mjs";
|
|
2
2
|
const VQA_MODEL_CONFIG_KEYS = {
|
|
3
3
|
modelName: MIDSCENE_VQA_MODEL_NAME,
|
|
4
|
-
socksProxy:
|
|
5
|
-
httpProxy:
|
|
6
|
-
openaiBaseURL:
|
|
7
|
-
openaiApiKey:
|
|
8
|
-
openaiExtraConfig:
|
|
9
|
-
vlMode:
|
|
4
|
+
socksProxy: MIDSCENE_VQA_OPENAI_SOCKS_PROXY,
|
|
5
|
+
httpProxy: MIDSCENE_VQA_OPENAI_HTTP_PROXY,
|
|
6
|
+
openaiBaseURL: MIDSCENE_VQA_OPENAI_BASE_URL,
|
|
7
|
+
openaiApiKey: MIDSCENE_VQA_OPENAI_API_KEY,
|
|
8
|
+
openaiExtraConfig: MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON,
|
|
9
|
+
vlMode: MIDSCENE_VQA_VL_MODE
|
|
10
10
|
};
|
|
11
11
|
const GROUNDING_MODEL_CONFIG_KEYS = {
|
|
12
12
|
modelName: MIDSCENE_GROUNDING_MODEL_NAME,
|
|
13
|
-
socksProxy:
|
|
14
|
-
httpProxy:
|
|
15
|
-
openaiBaseURL:
|
|
16
|
-
openaiApiKey:
|
|
17
|
-
openaiExtraConfig:
|
|
18
|
-
vlMode:
|
|
13
|
+
socksProxy: MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY,
|
|
14
|
+
httpProxy: MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY,
|
|
15
|
+
openaiBaseURL: MIDSCENE_GROUNDING_OPENAI_BASE_URL,
|
|
16
|
+
openaiApiKey: MIDSCENE_GROUNDING_OPENAI_API_KEY,
|
|
17
|
+
openaiExtraConfig: MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON,
|
|
18
|
+
vlMode: MIDSCENE_GROUNDING_VL_MODE
|
|
19
19
|
};
|
|
20
20
|
const PLANNING_MODEL_CONFIG_KEYS = {
|
|
21
21
|
modelName: MIDSCENE_PLANNING_MODEL_NAME,
|
|
22
|
-
socksProxy:
|
|
23
|
-
httpProxy:
|
|
24
|
-
openaiBaseURL:
|
|
25
|
-
openaiApiKey:
|
|
26
|
-
openaiExtraConfig:
|
|
27
|
-
vlMode:
|
|
22
|
+
socksProxy: MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY,
|
|
23
|
+
httpProxy: MIDSCENE_PLANNING_OPENAI_HTTP_PROXY,
|
|
24
|
+
openaiBaseURL: MIDSCENE_PLANNING_OPENAI_BASE_URL,
|
|
25
|
+
openaiApiKey: MIDSCENE_PLANNING_OPENAI_API_KEY,
|
|
26
|
+
openaiExtraConfig: MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON,
|
|
27
|
+
vlMode: MIDSCENE_PLANNING_VL_MODE
|
|
28
28
|
};
|
|
29
29
|
const DEFAULT_MODEL_CONFIG_KEYS = {
|
|
30
30
|
modelName: MIDSCENE_MODEL_NAME,
|
|
31
|
-
socksProxy:
|
|
32
|
-
httpProxy:
|
|
33
|
-
openaiBaseURL:
|
|
34
|
-
openaiApiKey:
|
|
35
|
-
openaiExtraConfig:
|
|
36
|
-
vlMode:
|
|
31
|
+
socksProxy: MIDSCENE_OPENAI_SOCKS_PROXY,
|
|
32
|
+
httpProxy: MIDSCENE_OPENAI_HTTP_PROXY,
|
|
33
|
+
openaiBaseURL: MIDSCENE_OPENAI_BASE_URL,
|
|
34
|
+
openaiApiKey: MIDSCENE_OPENAI_API_KEY,
|
|
35
|
+
openaiExtraConfig: MIDSCENE_OPENAI_INIT_CONFIG_JSON,
|
|
36
|
+
vlMode: MIDSCENE_VL_MODE
|
|
37
37
|
};
|
|
38
38
|
const DEFAULT_MODEL_CONFIG_KEYS_LEGACY = {
|
|
39
39
|
modelName: MIDSCENE_MODEL_NAME,
|
|
40
|
-
socksProxy:
|
|
41
|
-
httpProxy:
|
|
40
|
+
socksProxy: MIDSCENE_OPENAI_SOCKS_PROXY,
|
|
41
|
+
httpProxy: MIDSCENE_OPENAI_HTTP_PROXY,
|
|
42
42
|
openaiBaseURL: OPENAI_BASE_URL,
|
|
43
43
|
openaiApiKey: OPENAI_API_KEY,
|
|
44
|
-
openaiExtraConfig:
|
|
44
|
+
openaiExtraConfig: MIDSCENE_OPENAI_INIT_CONFIG_JSON,
|
|
45
45
|
vlMode: 'DEFAULT_MODEL_CONFIG_KEYS has no vlMode key'
|
|
46
46
|
};
|
|
47
47
|
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,4 @@
|
|
|
1
1
|
import { DEFAULT_MODEL_CONFIG_KEYS, DEFAULT_MODEL_CONFIG_KEYS_LEGACY, GROUNDING_MODEL_CONFIG_KEYS, PLANNING_MODEL_CONFIG_KEYS, VQA_MODEL_CONFIG_KEYS } from "./constants.mjs";
|
|
2
|
-
import { MODEL_API_KEY, MODEL_BASE_URL } from "./types.mjs";
|
|
3
2
|
import { getDebug } from "../logger.mjs";
|
|
4
3
|
import { assert } from "../utils.mjs";
|
|
5
4
|
import { createAssert, maskConfig, parseJson } from "./helper.mjs";
|
|
@@ -18,10 +17,8 @@ const decideOpenaiSdkConfig = ({ keys, provider, valueAssert })=>{
|
|
|
18
17
|
const httpProxy = provider[keys.httpProxy];
|
|
19
18
|
const vlMode = provider[keys.vlMode];
|
|
20
19
|
debugLog('enter decideOpenaiSdkConfig with keys:', keys);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
openaiBaseURL = 'OPENAI_BASE_URL' === keys.openaiBaseURL ? provider[MODEL_BASE_URL] || provider[keys.openaiBaseURL] : provider[keys.openaiBaseURL];
|
|
24
|
-
openaiApiKey = 'OPENAI_API_KEY' === keys.openaiApiKey ? provider[MODEL_API_KEY] || provider[keys.openaiApiKey] : provider[keys.openaiApiKey];
|
|
20
|
+
const openaiBaseURL = provider[keys.openaiBaseURL];
|
|
21
|
+
const openaiApiKey = provider[keys.openaiApiKey];
|
|
25
22
|
const openaiExtraConfig = parseJson(keys.openaiExtraConfig, provider[keys.openaiExtraConfig]);
|
|
26
23
|
valueAssert(openaiApiKey, keys.openaiApiKey);
|
|
27
24
|
return {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { enableDebug } from "../logger.mjs";
|
|
2
2
|
import { getBasicEnvValue } from "./basic.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { MIDSCENE_DEBUG_AI_PROFILE, MIDSCENE_DEBUG_AI_RESPONSE } from "./types.mjs";
|
|
4
4
|
const initDebugConfig = ()=>{
|
|
5
|
-
const shouldPrintTiming = getBasicEnvValue(
|
|
5
|
+
const shouldPrintTiming = getBasicEnvValue(MIDSCENE_DEBUG_AI_PROFILE);
|
|
6
6
|
let debugConfig = '';
|
|
7
7
|
if (shouldPrintTiming) {
|
|
8
|
-
console.warn('
|
|
8
|
+
console.warn('MIDSCENE_DEBUG_AI_PROFILE is deprecated, use DEBUG=midscene:ai:profile instead');
|
|
9
9
|
debugConfig = 'ai:profile';
|
|
10
10
|
}
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
13
|
-
console.warn('
|
|
11
|
+
const shouldPrintAIResponse = getBasicEnvValue(MIDSCENE_DEBUG_AI_RESPONSE);
|
|
12
|
+
if (shouldPrintAIResponse) {
|
|
13
|
+
console.warn('MIDSCENE_DEBUG_AI_RESPONSE is deprecated, use DEBUG=midscene:ai:response instead');
|
|
14
14
|
debugConfig = debugConfig ? 'ai:*' : 'ai:call';
|
|
15
15
|
}
|
|
16
16
|
if (debugConfig) enableDebug(debugConfig);
|
|
@@ -113,8 +113,7 @@ Learn more: https://midscenejs.com/choose-a-model`);
|
|
|
113
113
|
this.createOpenAIClientFn = createOpenAIClientFn;
|
|
114
114
|
if (modelConfigFn) {
|
|
115
115
|
this.isolatedMode = true;
|
|
116
|
-
const
|
|
117
|
-
const intentConfigMap = this.calcIntentConfigMap(internalFn);
|
|
116
|
+
const intentConfigMap = this.calcIntentConfigMap(modelConfigFn);
|
|
118
117
|
this.modelConfigMap = this.calcModelConfigMapBaseOnIntent(intentConfigMap);
|
|
119
118
|
}
|
|
120
119
|
}
|
package/dist/es/env/types.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const
|
|
1
|
+
const MIDSCENE_OPENAI_INIT_CONFIG_JSON = 'MIDSCENE_OPENAI_INIT_CONFIG_JSON';
|
|
2
2
|
const MIDSCENE_MODEL_NAME = 'MIDSCENE_MODEL_NAME';
|
|
3
3
|
const MIDSCENE_LANGSMITH_DEBUG = 'MIDSCENE_LANGSMITH_DEBUG';
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const MIDSCENE_DEBUG_AI_PROFILE = 'MIDSCENE_DEBUG_AI_PROFILE';
|
|
5
|
+
const MIDSCENE_DEBUG_AI_RESPONSE = 'MIDSCENE_DEBUG_AI_RESPONSE';
|
|
6
6
|
const MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG = 'MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG';
|
|
7
7
|
const MIDSCENE_DEBUG_MODE = 'MIDSCENE_DEBUG_MODE';
|
|
8
8
|
const MIDSCENE_MCP_USE_PUPPETEER_MODE = 'MIDSCENE_MCP_USE_PUPPETEER_MODE';
|
|
@@ -10,10 +10,8 @@ const MIDSCENE_MCP_CHROME_PATH = 'MIDSCENE_MCP_CHROME_PATH';
|
|
|
10
10
|
const MIDSCENE_MCP_ANDROID_MODE = 'MIDSCENE_MCP_ANDROID_MODE';
|
|
11
11
|
const DOCKER_CONTAINER = 'DOCKER_CONTAINER';
|
|
12
12
|
const MIDSCENE_FORCE_DEEP_THINK = 'MIDSCENE_FORCE_DEEP_THINK';
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const MODEL_API_KEY = 'MODEL_API_KEY';
|
|
16
|
-
const MODEL_BASE_URL = 'MODEL_BASE_URL';
|
|
13
|
+
const MIDSCENE_OPENAI_SOCKS_PROXY = 'MIDSCENE_OPENAI_SOCKS_PROXY';
|
|
14
|
+
const MIDSCENE_OPENAI_HTTP_PROXY = 'MIDSCENE_OPENAI_HTTP_PROXY';
|
|
17
15
|
const OPENAI_API_KEY = 'OPENAI_API_KEY';
|
|
18
16
|
const OPENAI_BASE_URL = 'OPENAI_BASE_URL';
|
|
19
17
|
const OPENAI_MAX_TOKENS = 'OPENAI_MAX_TOKENS';
|
|
@@ -36,37 +34,37 @@ const MIDSCENE_REPLANNING_CYCLE_LIMIT = 'MIDSCENE_REPLANNING_CYCLE_LIMIT';
|
|
|
36
34
|
const MIDSCENE_PREFERRED_LANGUAGE = 'MIDSCENE_PREFERRED_LANGUAGE';
|
|
37
35
|
const MIDSCENE_CACHE_MAX_FILENAME_LENGTH = 'MIDSCENE_CACHE_MAX_FILENAME_LENGTH';
|
|
38
36
|
const MIDSCENE_RUN_DIR = 'MIDSCENE_RUN_DIR';
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
37
|
+
const MIDSCENE_OPENAI_BASE_URL = 'MIDSCENE_OPENAI_BASE_URL';
|
|
38
|
+
const MIDSCENE_OPENAI_API_KEY = 'MIDSCENE_OPENAI_API_KEY';
|
|
39
|
+
const MIDSCENE_VL_MODE = 'MIDSCENE_VL_MODE';
|
|
42
40
|
const MIDSCENE_VQA_MODEL_NAME = 'MIDSCENE_VQA_MODEL_NAME';
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const
|
|
41
|
+
const MIDSCENE_VQA_OPENAI_SOCKS_PROXY = 'MIDSCENE_VQA_OPENAI_SOCKS_PROXY';
|
|
42
|
+
const MIDSCENE_VQA_OPENAI_HTTP_PROXY = 'MIDSCENE_VQA_OPENAI_HTTP_PROXY';
|
|
43
|
+
const MIDSCENE_VQA_OPENAI_BASE_URL = 'MIDSCENE_VQA_OPENAI_BASE_URL';
|
|
44
|
+
const MIDSCENE_VQA_OPENAI_API_KEY = 'MIDSCENE_VQA_OPENAI_API_KEY';
|
|
45
|
+
const MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON = 'MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON';
|
|
46
|
+
const MIDSCENE_VQA_VL_MODE = 'MIDSCENE_VQA_VL_MODE';
|
|
49
47
|
const MIDSCENE_PLANNING_MODEL_NAME = 'MIDSCENE_PLANNING_MODEL_NAME';
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const
|
|
48
|
+
const MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY = 'MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY';
|
|
49
|
+
const MIDSCENE_PLANNING_OPENAI_HTTP_PROXY = 'MIDSCENE_PLANNING_OPENAI_HTTP_PROXY';
|
|
50
|
+
const MIDSCENE_PLANNING_OPENAI_BASE_URL = 'MIDSCENE_PLANNING_OPENAI_BASE_URL';
|
|
51
|
+
const MIDSCENE_PLANNING_OPENAI_API_KEY = 'MIDSCENE_PLANNING_OPENAI_API_KEY';
|
|
52
|
+
const MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON = 'MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON';
|
|
53
|
+
const MIDSCENE_PLANNING_VL_MODE = 'MIDSCENE_PLANNING_VL_MODE';
|
|
56
54
|
const MIDSCENE_GROUNDING_MODEL_NAME = 'MIDSCENE_GROUNDING_MODEL_NAME';
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
const
|
|
55
|
+
const MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY = 'MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY';
|
|
56
|
+
const MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY = 'MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY';
|
|
57
|
+
const MIDSCENE_GROUNDING_OPENAI_BASE_URL = 'MIDSCENE_GROUNDING_OPENAI_BASE_URL';
|
|
58
|
+
const MIDSCENE_GROUNDING_OPENAI_API_KEY = 'MIDSCENE_GROUNDING_OPENAI_API_KEY';
|
|
59
|
+
const MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON = 'MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON';
|
|
60
|
+
const MIDSCENE_GROUNDING_VL_MODE = 'MIDSCENE_GROUNDING_VL_MODE';
|
|
63
61
|
const UNUSED_ENV_KEYS = [
|
|
64
62
|
MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG
|
|
65
63
|
];
|
|
66
64
|
const BASIC_ENV_KEYS = [
|
|
67
65
|
MIDSCENE_DEBUG_MODE,
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
MIDSCENE_DEBUG_AI_PROFILE,
|
|
67
|
+
MIDSCENE_DEBUG_AI_RESPONSE,
|
|
70
68
|
MIDSCENE_RUN_DIR
|
|
71
69
|
];
|
|
72
70
|
const BOOLEAN_ENV_KEYS = [
|
|
@@ -101,43 +99,41 @@ const GLOBAL_ENV_KEYS = [
|
|
|
101
99
|
];
|
|
102
100
|
const MODEL_ENV_KEYS = [
|
|
103
101
|
MIDSCENE_MODEL_NAME,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
102
|
+
MIDSCENE_OPENAI_INIT_CONFIG_JSON,
|
|
103
|
+
MIDSCENE_OPENAI_API_KEY,
|
|
104
|
+
MIDSCENE_OPENAI_BASE_URL,
|
|
105
|
+
MIDSCENE_OPENAI_SOCKS_PROXY,
|
|
106
|
+
MIDSCENE_OPENAI_HTTP_PROXY,
|
|
109
107
|
MIDSCENE_USE_VLM_UI_TARS,
|
|
110
108
|
MIDSCENE_USE_QWEN_VL,
|
|
111
109
|
MIDSCENE_USE_QWEN3_VL,
|
|
112
110
|
MIDSCENE_USE_DOUBAO_VISION,
|
|
113
111
|
MIDSCENE_USE_GEMINI,
|
|
114
112
|
MIDSCENE_USE_VL_MODEL,
|
|
115
|
-
|
|
113
|
+
MIDSCENE_VL_MODE,
|
|
116
114
|
OPENAI_API_KEY,
|
|
117
115
|
OPENAI_BASE_URL,
|
|
118
|
-
MODEL_API_KEY,
|
|
119
|
-
MODEL_BASE_URL,
|
|
120
116
|
MIDSCENE_VQA_MODEL_NAME,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
117
|
+
MIDSCENE_VQA_OPENAI_SOCKS_PROXY,
|
|
118
|
+
MIDSCENE_VQA_OPENAI_HTTP_PROXY,
|
|
119
|
+
MIDSCENE_VQA_OPENAI_BASE_URL,
|
|
120
|
+
MIDSCENE_VQA_OPENAI_API_KEY,
|
|
121
|
+
MIDSCENE_VQA_OPENAI_INIT_CONFIG_JSON,
|
|
122
|
+
MIDSCENE_VQA_VL_MODE,
|
|
127
123
|
MIDSCENE_PLANNING_MODEL_NAME,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
124
|
+
MIDSCENE_PLANNING_OPENAI_SOCKS_PROXY,
|
|
125
|
+
MIDSCENE_PLANNING_OPENAI_HTTP_PROXY,
|
|
126
|
+
MIDSCENE_PLANNING_OPENAI_BASE_URL,
|
|
127
|
+
MIDSCENE_PLANNING_OPENAI_API_KEY,
|
|
128
|
+
MIDSCENE_PLANNING_OPENAI_INIT_CONFIG_JSON,
|
|
129
|
+
MIDSCENE_PLANNING_VL_MODE,
|
|
134
130
|
MIDSCENE_GROUNDING_MODEL_NAME,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
131
|
+
MIDSCENE_GROUNDING_OPENAI_SOCKS_PROXY,
|
|
132
|
+
MIDSCENE_GROUNDING_OPENAI_HTTP_PROXY,
|
|
133
|
+
MIDSCENE_GROUNDING_OPENAI_BASE_URL,
|
|
134
|
+
MIDSCENE_GROUNDING_OPENAI_API_KEY,
|
|
135
|
+
MIDSCENE_GROUNDING_OPENAI_INIT_CONFIG_JSON,
|
|
136
|
+
MIDSCENE_GROUNDING_VL_MODE
|
|
141
137
|
];
|
|
142
138
|
const ALL_ENV_KEYS = [
|
|
143
139
|
...UNUSED_ENV_KEYS,
|
|
@@ -161,4 +157,4 @@ const VL_MODE_RAW_VALID_VALUES = [
|
|
|
161
157
|
'vlm-ui-tars-doubao',
|
|
162
158
|
'vlm-ui-tars-doubao-1.5'
|
|
163
159
|
];
|
|
164
|
-
export { ALL_ENV_KEYS, 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_CACHE, MIDSCENE_CACHE_MAX_FILENAME_LENGTH, MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG,
|
|
160
|
+
export { ALL_ENV_KEYS, 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_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_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_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_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_VL_MODE, MIDSCENE_PREFERRED_LANGUAGE, MIDSCENE_REPLANNING_CYCLE_LIMIT, MIDSCENE_REPORT_TAG_NAME, MIDSCENE_RUN_DIR, 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_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_VL_MODE, MODEL_ENV_KEYS, NUMBER_ENV_KEYS, OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MAX_TOKENS, STRING_ENV_KEYS, types_UITarsModelVersion as UITarsModelVersion, UNUSED_ENV_KEYS, VL_MODE_RAW_VALID_VALUES };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { NodeType } from "../constants/index.mjs";
|
|
2
1
|
import { generateHashId } from "../utils.mjs";
|
|
3
2
|
function isFormElement(node) {
|
|
4
3
|
return node instanceof HTMLElement && ('input' === node.tagName.toLowerCase() || 'textarea' === node.tagName.toLowerCase() || 'select' === node.tagName.toLowerCase() || 'option' === node.tagName.toLowerCase());
|
|
@@ -68,24 +67,23 @@ function includeBaseElement(node) {
|
|
|
68
67
|
return false;
|
|
69
68
|
}
|
|
70
69
|
function generateElementByPosition(position) {
|
|
70
|
+
const edgeSize = 8;
|
|
71
71
|
const rect = {
|
|
72
|
-
left: Math.max(position.x -
|
|
73
|
-
top: Math.max(position.y -
|
|
74
|
-
width:
|
|
75
|
-
height:
|
|
72
|
+
left: Math.round(Math.max(position.x - edgeSize / 2, 0)),
|
|
73
|
+
top: Math.round(Math.max(position.y - edgeSize / 2, 0)),
|
|
74
|
+
width: edgeSize,
|
|
75
|
+
height: edgeSize
|
|
76
76
|
};
|
|
77
77
|
const id = generateHashId(rect);
|
|
78
78
|
const element = {
|
|
79
79
|
id,
|
|
80
|
-
attributes: {
|
|
81
|
-
nodeType: NodeType.POSITION
|
|
82
|
-
},
|
|
83
80
|
rect,
|
|
84
81
|
content: '',
|
|
85
82
|
center: [
|
|
86
83
|
position.x,
|
|
87
84
|
position.y
|
|
88
|
-
]
|
|
85
|
+
],
|
|
86
|
+
isOrderSensitive: false
|
|
89
87
|
};
|
|
90
88
|
return element;
|
|
91
89
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { descriptionOfTree, traverseTree, treeToList, trimAttributes, truncateText } from "./tree.mjs";
|
|
2
2
|
import { extractTextWithPosition, extractTreeNode, extractTreeNodeAsString } from "./web-extractor.mjs";
|
|
3
|
-
import { getNodeFromCacheList, setNodeHashCacheListOnWindow } from "./util.mjs";
|
|
4
3
|
import { getElementInfoByXpath, getElementXpath, getNodeInfoByXpath, getXpathsByPoint } from "./locator.mjs";
|
|
5
4
|
import { generateElementByPosition, isNotContainerElement } from "./dom-util.mjs";
|
|
6
|
-
export { descriptionOfTree, generateElementByPosition, getElementInfoByXpath, getElementXpath,
|
|
5
|
+
export { descriptionOfTree, generateElementByPosition, getElementInfoByXpath, getElementXpath, getNodeInfoByXpath, getXpathsByPoint, isNotContainerElement, traverseTree, treeToList, trimAttributes, truncateText, extractTreeNode as webExtractNodeTree, extractTreeNodeAsString as webExtractNodeTreeAsString, extractTextWithPosition as webExtractTextWithPosition };
|
|
@@ -34,15 +34,13 @@ function descriptionOfTree(tree, truncateTextLength, filterNonTextContent = fals
|
|
|
34
34
|
emptyNode = false;
|
|
35
35
|
let nodeTypeString;
|
|
36
36
|
nodeTypeString = (null == (_node_node_attributes = node.node.attributes) ? void 0 : _node_node_attributes.htmlTagName) ? node.node.attributes.htmlTagName.replace(/[<>]/g, '') : node.node.attributes.nodeType.replace(/\sNode$/, '').toLowerCase();
|
|
37
|
-
const markerId = node.node.indexId;
|
|
38
|
-
const markerIdString = markerId ? `markerId="${markerId}"` : '';
|
|
39
37
|
const rectAttribute = node.node.rect ? {
|
|
40
38
|
left: node.node.rect.left,
|
|
41
39
|
top: node.node.rect.top,
|
|
42
40
|
width: node.node.rect.width,
|
|
43
41
|
height: node.node.rect.height
|
|
44
42
|
} : {};
|
|
45
|
-
before = `<${nodeTypeString} id="${node.node.id}" ${
|
|
43
|
+
before = `<${nodeTypeString} id="${node.node.id}" ${attributesString(trimAttributes(node.node.attributes || {}, truncateTextLength))} ${attributesString(rectAttribute)}>`;
|
|
46
44
|
const content = truncateText(node.node.content, truncateTextLength);
|
|
47
45
|
contentWithIndent = content ? `\n${indentStr} ${content}` : '';
|
|
48
46
|
after = `</${nodeTypeString}>`;
|
|
@@ -199,32 +199,8 @@ function getNodeAttributes(node, currentWindow) {
|
|
|
199
199
|
}
|
|
200
200
|
function midsceneGenerateHash(node, content, rect) {
|
|
201
201
|
const slicedHash = generateHashId(rect, content);
|
|
202
|
-
if (node) {
|
|
203
|
-
if (!window.midsceneNodeHashCacheList) setNodeHashCacheListOnWindow();
|
|
204
|
-
setNodeToCacheList(node, slicedHash);
|
|
205
|
-
}
|
|
206
202
|
return slicedHash;
|
|
207
203
|
}
|
|
208
|
-
function setNodeHashCacheListOnWindow() {
|
|
209
|
-
if ('undefined' != typeof window) window.midsceneNodeHashCacheList = [];
|
|
210
|
-
}
|
|
211
|
-
function setNodeToCacheList(node, id) {
|
|
212
|
-
if ('undefined' != typeof window) {
|
|
213
|
-
var _window_midsceneNodeHashCacheList;
|
|
214
|
-
if (getNodeFromCacheList(id)) return;
|
|
215
|
-
null == (_window_midsceneNodeHashCacheList = window.midsceneNodeHashCacheList) || _window_midsceneNodeHashCacheList.push({
|
|
216
|
-
node,
|
|
217
|
-
id
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
function getNodeFromCacheList(id) {
|
|
222
|
-
if ('undefined' != typeof window) {
|
|
223
|
-
var _window_midsceneNodeHashCacheList_find, _window_midsceneNodeHashCacheList;
|
|
224
|
-
return null == (_window_midsceneNodeHashCacheList = window.midsceneNodeHashCacheList) ? void 0 : null == (_window_midsceneNodeHashCacheList_find = _window_midsceneNodeHashCacheList.find((item)=>item.id === id)) ? void 0 : _window_midsceneNodeHashCacheList_find.node;
|
|
225
|
-
}
|
|
226
|
-
return null;
|
|
227
|
-
}
|
|
228
204
|
function generateId(numberId) {
|
|
229
205
|
return `${numberId}`;
|
|
230
206
|
}
|
|
@@ -241,4 +217,4 @@ function getTopDocument() {
|
|
|
241
217
|
const container = document.body || document;
|
|
242
218
|
return container;
|
|
243
219
|
}
|
|
244
|
-
export { elementRect, generateId, getDebugMode, getNodeAttributes,
|
|
220
|
+
export { elementRect, generateId, getDebugMode, getNodeAttributes, getPseudoElementContent, getRect, getTopDocument, hasOverflowY, isElementPartiallyInViewport, logger, midsceneGenerateHash, overlappedRect, setDebugMode, setExtractTextWithPositionOnWindow, setGenerateHashOnWindow, setMidsceneVisibleRectOnWindow, validTextNodeContent };
|