@xiuchang-midscene/shared 2.0.2 → 2.0.3

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 (166) hide show
  1. package/dist/es/oss/index.mjs +1 -1
  2. package/dist/lib/oss/index.js +1 -1
  3. package/package.json +1 -1
  4. package/src/oss/index.ts +1 -1
  5. package/dist/es/baseDB.mjs.bak +0 -109
  6. package/dist/es/build/copy-static.mjs.bak +0 -31
  7. package/dist/es/build/rspack-config.mjs.bak +0 -4
  8. package/dist/es/cli/cli-runner.mjs.bak +0 -140
  9. package/dist/es/cli/index.mjs.bak +0 -2
  10. package/dist/es/common.mjs.bak +0 -37
  11. package/dist/es/constants/example-code.mjs.bak +0 -223
  12. package/dist/es/constants/index.mjs.bak +0 -23
  13. package/dist/es/env/basic.mjs.bak +0 -6
  14. package/dist/es/env/constants.mjs.bak +0 -70
  15. package/dist/es/env/global-config-manager.mjs.bak +0 -94
  16. package/dist/es/env/helper.mjs.bak +0 -43
  17. package/dist/es/env/index.mjs.bak +0 -5
  18. package/dist/es/env/init-debug.mjs.bak +0 -18
  19. package/dist/es/env/model-config-manager.mjs.bak +0 -79
  20. package/dist/es/env/parse-model-config.mjs.bak +0 -132
  21. package/dist/es/env/types.mjs.bak +0 -220
  22. package/dist/es/env/utils.mjs.bak +0 -26
  23. package/dist/es/extractor/constants.mjs.bak +0 -2
  24. package/dist/es/extractor/debug.mjs.bak +0 -6
  25. package/dist/es/extractor/dom-util.mjs.bak +0 -92
  26. package/dist/es/extractor/index.mjs.bak +0 -5
  27. package/dist/es/extractor/locator.mjs.bak +0 -250
  28. package/dist/es/extractor/tree.mjs.bak +0 -78
  29. package/dist/es/extractor/util.mjs.bak +0 -245
  30. package/dist/es/extractor/web-extractor.mjs.bak +0 -303
  31. package/dist/es/img/box-select.mjs.bak +0 -824
  32. package/dist/es/img/canvas-fallback.mjs.bak +0 -238
  33. package/dist/es/img/get-photon.mjs.bak +0 -45
  34. package/dist/es/img/get-sharp.mjs.bak +0 -11
  35. package/dist/es/img/index.mjs.bak +0 -4
  36. package/dist/es/img/info.mjs.bak +0 -29
  37. package/dist/es/img/transform.mjs.bak +0 -295
  38. package/dist/es/index.mjs.bak +0 -4
  39. package/dist/es/logger.mjs.bak +0 -64
  40. package/dist/es/mcp/base-server.mjs.bak +0 -281
  41. package/dist/es/mcp/base-tools.mjs.bak +0 -91
  42. package/dist/es/mcp/chrome-path.mjs.bak +0 -35
  43. package/dist/es/mcp/index.mjs.bak +0 -7
  44. package/dist/es/mcp/inject-report-html-plugin.mjs.bak +0 -53
  45. package/dist/es/mcp/launcher-helper.mjs.bak +0 -52
  46. package/dist/es/mcp/tool-generator.mjs.bak +0 -297
  47. package/dist/es/mcp/types.mjs.bak +0 -3
  48. package/dist/es/node/fs.mjs.bak +0 -44
  49. package/dist/es/node/index.mjs.bak +0 -2
  50. package/dist/es/node/port.mjs.bak +0 -24
  51. package/dist/es/oss/demo.mjs.bak +0 -30
  52. package/dist/es/oss/index.mjs.bak +0 -90
  53. package/dist/es/polyfills/async-hooks.mjs.bak +0 -2
  54. package/dist/es/polyfills/index.mjs.bak +0 -1
  55. package/dist/es/types/index.mjs.bak +0 -3
  56. package/dist/es/us-keyboard-layout.mjs.bak +0 -1414
  57. package/dist/es/utils.mjs.bak +0 -72
  58. package/dist/es/zod-schema-utils.mjs.bak +0 -54
  59. package/dist/lib/baseDB.js.bak +0 -149
  60. package/dist/lib/build/copy-static.js.bak +0 -79
  61. package/dist/lib/build/rspack-config.js.bak +0 -38
  62. package/dist/lib/cli/cli-runner.js.bak +0 -196
  63. package/dist/lib/cli/index.js.bak +0 -48
  64. package/dist/lib/common.js.bak +0 -93
  65. package/dist/lib/constants/example-code.js.bak +0 -260
  66. package/dist/lib/constants/index.js.bak +0 -96
  67. package/dist/lib/env/basic.js.bak +0 -40
  68. package/dist/lib/env/constants.js.bak +0 -113
  69. package/dist/lib/env/global-config-manager.js.bak +0 -128
  70. package/dist/lib/env/helper.js.bak +0 -80
  71. package/dist/lib/env/index.js.bak +0 -90
  72. package/dist/lib/env/init-debug.js.bak +0 -52
  73. package/dist/lib/env/model-config-manager.js.bak +0 -113
  74. package/dist/lib/env/parse-model-config.js.bak +0 -178
  75. package/dist/lib/env/types.js.bak +0 -554
  76. package/dist/lib/env/utils.js.bak +0 -72
  77. package/dist/lib/extractor/constants.js.bak +0 -42
  78. package/dist/lib/extractor/debug.js.bak +0 -12
  79. package/dist/lib/extractor/dom-util.js.bak +0 -153
  80. package/dist/lib/extractor/index.js.bak +0 -81
  81. package/dist/lib/extractor/locator.js.bak +0 -296
  82. package/dist/lib/extractor/tree.js.bak +0 -124
  83. package/dist/lib/extractor/util.js.bak +0 -336
  84. package/dist/lib/extractor/web-extractor.js.bak +0 -349
  85. package/dist/lib/img/box-select.js.bak +0 -875
  86. package/dist/lib/img/canvas-fallback.js.bak +0 -305
  87. package/dist/lib/img/get-photon.js.bak +0 -82
  88. package/dist/lib/img/get-sharp.js.bak +0 -45
  89. package/dist/lib/img/index.js.bak +0 -95
  90. package/dist/lib/img/info.js.bak +0 -83
  91. package/dist/lib/img/transform.js.bak +0 -387
  92. package/dist/lib/index.js.bak +0 -47
  93. package/dist/lib/logger.js.bak +0 -114
  94. package/dist/lib/mcp/base-server.js.bak +0 -331
  95. package/dist/lib/mcp/base-tools.js.bak +0 -125
  96. package/dist/lib/mcp/chrome-path.js.bak +0 -72
  97. package/dist/lib/mcp/index.js.bak +0 -100
  98. package/dist/lib/mcp/inject-report-html-plugin.js.bak +0 -98
  99. package/dist/lib/mcp/launcher-helper.js.bak +0 -86
  100. package/dist/lib/mcp/tool-generator.js.bak +0 -334
  101. package/dist/lib/mcp/types.js.bak +0 -40
  102. package/dist/lib/node/fs.js.bak +0 -97
  103. package/dist/lib/node/index.js.bak +0 -65
  104. package/dist/lib/node/port.js.bak +0 -61
  105. package/dist/lib/oss/demo.js.bak +0 -36
  106. package/dist/lib/oss/index.js.bak +0 -138
  107. package/dist/lib/polyfills/async-hooks.js.bak +0 -36
  108. package/dist/lib/polyfills/index.js.bak +0 -58
  109. package/dist/lib/types/index.js.bak +0 -37
  110. package/dist/lib/us-keyboard-layout.js.bak +0 -1457
  111. package/dist/lib/utils.js.bak +0 -148
  112. package/dist/lib/zod-schema-utils.js.bak +0 -97
  113. package/dist/types/baseDB.d.ts.bak +0 -25
  114. package/dist/types/build/copy-static.d.ts.bak +0 -31
  115. package/dist/types/build/rspack-config.d.ts.bak +0 -8
  116. package/dist/types/cli/cli-runner.d.ts.bak +0 -14
  117. package/dist/types/cli/index.d.ts.bak +0 -2
  118. package/dist/types/common.d.ts.bak +0 -12
  119. package/dist/types/constants/example-code.d.ts.bak +0 -2
  120. package/dist/types/constants/index.d.ts.bak +0 -21
  121. package/dist/types/env/basic.d.ts.bak +0 -6
  122. package/dist/types/env/constants.d.ts.bak +0 -40
  123. package/dist/types/env/global-config-manager.d.ts.bak +0 -32
  124. package/dist/types/env/helper.d.ts.bak +0 -4
  125. package/dist/types/env/index.d.ts.bak +0 -4
  126. package/dist/types/env/init-debug.d.ts.bak +0 -1
  127. package/dist/types/env/model-config-manager.d.ts.bak +0 -25
  128. package/dist/types/env/parse-model-config.d.ts.bak +0 -31
  129. package/dist/types/env/types.d.ts.bak +0 -318
  130. package/dist/types/env/utils.d.ts.bak +0 -38
  131. package/dist/types/extractor/constants.d.ts.bak +0 -1
  132. package/dist/types/extractor/debug.d.ts.bak +0 -1
  133. package/dist/types/extractor/dom-util.d.ts.bak +0 -56
  134. package/dist/types/extractor/index.d.ts.bak +0 -32
  135. package/dist/types/extractor/locator.d.ts.bak +0 -9
  136. package/dist/types/extractor/tree.d.ts.bak +0 -6
  137. package/dist/types/extractor/util.d.ts.bak +0 -47
  138. package/dist/types/extractor/web-extractor.d.ts.bak +0 -19
  139. package/dist/types/img/box-select.d.ts.bak +0 -26
  140. package/dist/types/img/canvas-fallback.d.ts.bak +0 -105
  141. package/dist/types/img/get-photon.d.ts.bak +0 -19
  142. package/dist/types/img/get-sharp.d.ts.bak +0 -3
  143. package/dist/types/img/index.d.ts.bak +0 -3
  144. package/dist/types/img/info.d.ts.bak +0 -29
  145. package/dist/types/img/transform.d.ts.bak +0 -107
  146. package/dist/types/index.d.ts.bak +0 -4
  147. package/dist/types/logger.d.ts.bak +0 -5
  148. package/dist/types/mcp/base-server.d.ts.bak +0 -93
  149. package/dist/types/mcp/base-tools.d.ts.bak +0 -79
  150. package/dist/types/mcp/chrome-path.d.ts.bak +0 -2
  151. package/dist/types/mcp/index.d.ts.bak +0 -7
  152. package/dist/types/mcp/inject-report-html-plugin.d.ts.bak +0 -18
  153. package/dist/types/mcp/launcher-helper.d.ts.bak +0 -94
  154. package/dist/types/mcp/tool-generator.d.ts.bak +0 -10
  155. package/dist/types/mcp/types.d.ts.bak +0 -103
  156. package/dist/types/node/fs.d.ts.bak +0 -15
  157. package/dist/types/node/index.d.ts.bak +0 -2
  158. package/dist/types/node/port.d.ts.bak +0 -8
  159. package/dist/types/oss/demo.d.ts.bak +0 -1
  160. package/dist/types/oss/index.d.ts.bak +0 -34
  161. package/dist/types/polyfills/async-hooks.d.ts.bak +0 -6
  162. package/dist/types/polyfills/index.d.ts.bak +0 -4
  163. package/dist/types/types/index.d.ts.bak +0 -34
  164. package/dist/types/us-keyboard-layout.d.ts.bak +0 -32
  165. package/dist/types/utils.d.ts.bak +0 -34
  166. package/dist/types/zod-schema-utils.d.ts.bak +0 -23
@@ -1,70 +0,0 @@
1
- import { MIDSCENE_INSIGHT_MODEL_API_KEY, MIDSCENE_INSIGHT_MODEL_BASE_URL, MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON, MIDSCENE_INSIGHT_MODEL_FAMILY, MIDSCENE_INSIGHT_MODEL_HTTP_PROXY, MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON, MIDSCENE_INSIGHT_MODEL_NAME, MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET, MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT, MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED, MIDSCENE_INSIGHT_MODEL_RETRY_COUNT, MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL, MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY, MIDSCENE_INSIGHT_MODEL_TEMPERATURE, MIDSCENE_INSIGHT_MODEL_TIMEOUT, MIDSCENE_MODEL_API_KEY, MIDSCENE_MODEL_BASE_URL, MIDSCENE_MODEL_EXTRA_BODY_JSON, MIDSCENE_MODEL_FAMILY, MIDSCENE_MODEL_HTTP_PROXY, MIDSCENE_MODEL_INIT_CONFIG_JSON, MIDSCENE_MODEL_NAME, MIDSCENE_MODEL_REASONING_BUDGET, MIDSCENE_MODEL_REASONING_EFFORT, MIDSCENE_MODEL_REASONING_ENABLED, MIDSCENE_MODEL_RETRY_COUNT, MIDSCENE_MODEL_RETRY_INTERVAL, MIDSCENE_MODEL_SOCKS_PROXY, MIDSCENE_MODEL_TEMPERATURE, MIDSCENE_MODEL_TIMEOUT, MIDSCENE_OPENAI_HTTP_PROXY, MIDSCENE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_OPENAI_SOCKS_PROXY, MIDSCENE_PLANNING_MODEL_API_KEY, MIDSCENE_PLANNING_MODEL_BASE_URL, MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON, MIDSCENE_PLANNING_MODEL_FAMILY, MIDSCENE_PLANNING_MODEL_HTTP_PROXY, MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON, MIDSCENE_PLANNING_MODEL_NAME, MIDSCENE_PLANNING_MODEL_REASONING_BUDGET, MIDSCENE_PLANNING_MODEL_REASONING_EFFORT, MIDSCENE_PLANNING_MODEL_REASONING_ENABLED, MIDSCENE_PLANNING_MODEL_RETRY_COUNT, MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL, MIDSCENE_PLANNING_MODEL_SOCKS_PROXY, MIDSCENE_PLANNING_MODEL_TEMPERATURE, MIDSCENE_PLANNING_MODEL_TIMEOUT, OPENAI_API_KEY, OPENAI_BASE_URL } from "./types.mjs";
2
- const INSIGHT_MODEL_CONFIG_KEYS = {
3
- modelName: MIDSCENE_INSIGHT_MODEL_NAME,
4
- socksProxy: MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY,
5
- httpProxy: MIDSCENE_INSIGHT_MODEL_HTTP_PROXY,
6
- openaiBaseURL: MIDSCENE_INSIGHT_MODEL_BASE_URL,
7
- openaiApiKey: MIDSCENE_INSIGHT_MODEL_API_KEY,
8
- openaiExtraConfig: MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON,
9
- extraBody: MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON,
10
- modelFamily: MIDSCENE_INSIGHT_MODEL_FAMILY,
11
- timeout: MIDSCENE_INSIGHT_MODEL_TIMEOUT,
12
- temperature: MIDSCENE_INSIGHT_MODEL_TEMPERATURE,
13
- retryCount: MIDSCENE_INSIGHT_MODEL_RETRY_COUNT,
14
- retryInterval: MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL,
15
- reasoningEffort: MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT,
16
- reasoningEnabled: MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED,
17
- reasoningBudget: MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET
18
- };
19
- const PLANNING_MODEL_CONFIG_KEYS = {
20
- modelName: MIDSCENE_PLANNING_MODEL_NAME,
21
- socksProxy: MIDSCENE_PLANNING_MODEL_SOCKS_PROXY,
22
- httpProxy: MIDSCENE_PLANNING_MODEL_HTTP_PROXY,
23
- openaiBaseURL: MIDSCENE_PLANNING_MODEL_BASE_URL,
24
- openaiApiKey: MIDSCENE_PLANNING_MODEL_API_KEY,
25
- openaiExtraConfig: MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON,
26
- extraBody: MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON,
27
- modelFamily: MIDSCENE_PLANNING_MODEL_FAMILY,
28
- timeout: MIDSCENE_PLANNING_MODEL_TIMEOUT,
29
- temperature: MIDSCENE_PLANNING_MODEL_TEMPERATURE,
30
- retryCount: MIDSCENE_PLANNING_MODEL_RETRY_COUNT,
31
- retryInterval: MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL,
32
- reasoningEffort: MIDSCENE_PLANNING_MODEL_REASONING_EFFORT,
33
- reasoningEnabled: MIDSCENE_PLANNING_MODEL_REASONING_ENABLED,
34
- reasoningBudget: MIDSCENE_PLANNING_MODEL_REASONING_BUDGET
35
- };
36
- const DEFAULT_MODEL_CONFIG_KEYS = {
37
- modelName: MIDSCENE_MODEL_NAME,
38
- socksProxy: MIDSCENE_MODEL_SOCKS_PROXY,
39
- httpProxy: MIDSCENE_MODEL_HTTP_PROXY,
40
- openaiBaseURL: MIDSCENE_MODEL_BASE_URL,
41
- openaiApiKey: MIDSCENE_MODEL_API_KEY,
42
- openaiExtraConfig: MIDSCENE_MODEL_INIT_CONFIG_JSON,
43
- extraBody: MIDSCENE_MODEL_EXTRA_BODY_JSON,
44
- modelFamily: MIDSCENE_MODEL_FAMILY,
45
- timeout: MIDSCENE_MODEL_TIMEOUT,
46
- temperature: MIDSCENE_MODEL_TEMPERATURE,
47
- retryCount: MIDSCENE_MODEL_RETRY_COUNT,
48
- retryInterval: MIDSCENE_MODEL_RETRY_INTERVAL,
49
- reasoningEffort: MIDSCENE_MODEL_REASONING_EFFORT,
50
- reasoningEnabled: MIDSCENE_MODEL_REASONING_ENABLED,
51
- reasoningBudget: MIDSCENE_MODEL_REASONING_BUDGET
52
- };
53
- const DEFAULT_MODEL_CONFIG_KEYS_LEGACY = {
54
- modelName: MIDSCENE_MODEL_NAME,
55
- socksProxy: MIDSCENE_OPENAI_SOCKS_PROXY,
56
- httpProxy: MIDSCENE_OPENAI_HTTP_PROXY,
57
- openaiBaseURL: OPENAI_BASE_URL,
58
- openaiApiKey: OPENAI_API_KEY,
59
- openaiExtraConfig: MIDSCENE_OPENAI_INIT_CONFIG_JSON,
60
- extraBody: MIDSCENE_MODEL_EXTRA_BODY_JSON,
61
- modelFamily: 'DEFAULT_MODEL_CONFIG_KEYS has no modelFamily key',
62
- timeout: MIDSCENE_MODEL_TIMEOUT,
63
- temperature: MIDSCENE_MODEL_TEMPERATURE,
64
- retryCount: MIDSCENE_MODEL_RETRY_COUNT,
65
- retryInterval: MIDSCENE_MODEL_RETRY_INTERVAL,
66
- reasoningEffort: MIDSCENE_MODEL_REASONING_EFFORT,
67
- reasoningEnabled: MIDSCENE_MODEL_REASONING_ENABLED,
68
- reasoningBudget: MIDSCENE_MODEL_REASONING_BUDGET
69
- };
70
- export { DEFAULT_MODEL_CONFIG_KEYS, DEFAULT_MODEL_CONFIG_KEYS_LEGACY, INSIGHT_MODEL_CONFIG_KEYS, PLANNING_MODEL_CONFIG_KEYS };
@@ -1,94 +0,0 @@
1
- import { initDebugConfig } from "./init-debug.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
- function _define_property(obj, key, value) {
4
- if (key in obj) Object.defineProperty(obj, key, {
5
- value: value,
6
- enumerable: true,
7
- configurable: true,
8
- writable: true
9
- });
10
- else obj[key] = value;
11
- return obj;
12
- }
13
- class GlobalConfigManager {
14
- getAllEnvConfig() {
15
- const envConfig = ALL_ENV_KEYS.reduce((p, name)=>{
16
- p[name] = process.env[name];
17
- return p;
18
- }, Object.create(null));
19
- if (!this.override) return envConfig;
20
- {
21
- const { newConfig, extendMode } = this.override;
22
- if (extendMode) return {
23
- ...envConfig,
24
- ...newConfig
25
- };
26
- return {
27
- ...newConfig
28
- };
29
- }
30
- }
31
- getEnvConfigValue(key) {
32
- const allConfig = this.getAllEnvConfig();
33
- if (key === MATCH_BY_POSITION) throw new Error('MATCH_BY_POSITION is discarded, use MIDSCENE_MODEL_FAMILY instead');
34
- if (!STRING_ENV_KEYS.includes(key)) throw new Error(`getEnvConfigValue with key ${key} is not supported.`);
35
- const value = allConfig[key];
36
- this.keysHaveBeenRead[key] = true;
37
- if ('string' == typeof value) return value.trim();
38
- return value;
39
- }
40
- getEnvConfigInBoolean(key) {
41
- const allConfig = this.getAllEnvConfig();
42
- if (!BOOLEAN_ENV_KEYS.includes(key)) throw new Error(`getEnvConfigInBoolean with key ${key} is not supported`);
43
- const value = allConfig[key];
44
- this.keysHaveBeenRead[key] = true;
45
- if (!value) return false;
46
- if (/^(true|1)$/i.test(value)) return true;
47
- if (/^(false|0)$/i.test(value)) return false;
48
- return !!value.trim();
49
- }
50
- getEnvConfigValueAsNumber(key) {
51
- if (!STRING_ENV_KEYS.includes(key) && !NUMBER_ENV_KEYS.includes(key)) throw new Error(`getEnvConfigValueAsNumber with key ${key} is not supported.`);
52
- const allConfig = this.getAllEnvConfig();
53
- const value = allConfig[key];
54
- this.keysHaveBeenRead[key] = true;
55
- if ('string' != typeof value) return;
56
- const trimmed = value.trim();
57
- if (!trimmed) return;
58
- const numValue = Number(trimmed);
59
- return Number.isNaN(numValue) ? void 0 : numValue;
60
- }
61
- registerModelConfigManager(globalModelConfigManager) {
62
- this.globalModelConfigManager = globalModelConfigManager;
63
- }
64
- overrideAIConfig(newConfig, extendMode = false) {
65
- for(const key in newConfig){
66
- if (![
67
- ...GLOBAL_ENV_KEYS,
68
- ...MODEL_ENV_KEYS
69
- ].includes(key)) throw new Error(`Failed to override AI config, invalid key: ${key}`);
70
- const value = newConfig[key];
71
- 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}`);
72
- if (this.keysHaveBeenRead[key]) console.warn(`Warning: try to override AI config with key ${key} ,but it has been read.`);
73
- }
74
- const savedNewConfig = extendMode ? {
75
- ...this.override?.newConfig,
76
- ...newConfig
77
- } : newConfig;
78
- this.override = {
79
- newConfig: {
80
- ...savedNewConfig
81
- },
82
- extendMode
83
- };
84
- if (!this.globalModelConfigManager) throw new Error('globalModelConfigManager is not registered, which should not happen');
85
- this.globalModelConfigManager.clearModelConfigMap();
86
- }
87
- constructor(){
88
- _define_property(this, "override", void 0);
89
- _define_property(this, "keysHaveBeenRead", {});
90
- _define_property(this, "globalModelConfigManager", void 0);
91
- initDebugConfig();
92
- }
93
- }
94
- export { GlobalConfigManager };
@@ -1,43 +0,0 @@
1
- const maskKey = (key, maskChar = '*')=>{
2
- if ('string' != typeof key || 0 === key.length) return key;
3
- const prefixLen = 3;
4
- const suffixLen = 3;
5
- const keepLength = prefixLen + suffixLen;
6
- if (key.length <= keepLength) return key;
7
- const prefix = key.substring(0, prefixLen);
8
- const suffix = key.substring(key.length - suffixLen);
9
- const maskLength = key.length - keepLength;
10
- const mask = maskChar.repeat(maskLength);
11
- return `${prefix}${mask}${suffix}`;
12
- };
13
- const maskConfig = (config)=>Object.fromEntries(Object.entries(config).map(([key, value])=>{
14
- if (!value) return [
15
- key,
16
- value
17
- ];
18
- if ('string' == typeof value && /key/i.test(key)) return [
19
- key,
20
- maskKey(value)
21
- ];
22
- if ('object' == typeof value) {
23
- const valueStr = JSON.stringify(value);
24
- if (/key/i.test(valueStr)) return [
25
- key,
26
- maskKey(valueStr)
27
- ];
28
- }
29
- return [
30
- key,
31
- value
32
- ];
33
- }));
34
- const parseJson = (key, value)=>{
35
- if (value) try {
36
- return JSON.parse(value);
37
- } catch (e) {
38
- throw new Error(`Failed to parse ${key} as a JSON. ${e.message}`, {
39
- cause: e
40
- });
41
- }
42
- };
43
- export { maskConfig, parseJson };
@@ -1,5 +0,0 @@
1
- import { ModelConfigManager } from "./model-config-manager.mjs";
2
- import { GlobalConfigManager } from "./global-config-manager.mjs";
3
- export * from "./utils.mjs";
4
- export * from "./types.mjs";
5
- export { GlobalConfigManager, ModelConfigManager };
@@ -1,18 +0,0 @@
1
- import { enableDebug } from "../logger.mjs";
2
- import { getBasicEnvValue } from "./basic.mjs";
3
- import { MIDSCENE_DEBUG_MODEL_PROFILE, MIDSCENE_DEBUG_MODEL_RESPONSE } from "./types.mjs";
4
- const initDebugConfig = ()=>{
5
- const shouldPrintTiming = getBasicEnvValue(MIDSCENE_DEBUG_MODEL_PROFILE);
6
- let debugConfig = '';
7
- if (shouldPrintTiming) {
8
- console.warn('MIDSCENE_DEBUG_MODEL_PROFILE is deprecated, use DEBUG=midscene:ai:profile instead');
9
- debugConfig = 'ai:profile';
10
- }
11
- const shouldPrintModelResponse = getBasicEnvValue(MIDSCENE_DEBUG_MODEL_RESPONSE);
12
- if (shouldPrintModelResponse) {
13
- console.warn('MIDSCENE_DEBUG_MODEL_RESPONSE is deprecated, use DEBUG=midscene:ai:response instead');
14
- debugConfig = debugConfig ? 'ai:*' : 'ai:call';
15
- }
16
- if (debugConfig) enableDebug(debugConfig);
17
- };
18
- export { initDebugConfig };
@@ -1,79 +0,0 @@
1
- import { decideModelConfigFromIntentConfig } from "./parse-model-config.mjs";
2
- function _define_property(obj, key, value) {
3
- if (key in obj) Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- else obj[key] = value;
10
- return obj;
11
- }
12
- class ModelConfigManager {
13
- initialize() {
14
- if (this.isInitialized) return;
15
- let configMap;
16
- if (this.modelConfig) {
17
- this.isolatedMode = true;
18
- configMap = this.normalizeModelConfig(this.modelConfig);
19
- } else configMap = this.globalConfigManager?.getAllEnvConfig() || {};
20
- const defaultConfig = decideModelConfigFromIntentConfig('default', configMap);
21
- if (!defaultConfig) throw new Error('Model configuration is incomplete: model name (MIDSCENE_MODEL_NAME) is required. See https://midscenejs.com/model-strategy.html');
22
- const insightConfig = decideModelConfigFromIntentConfig('insight', configMap);
23
- const planningConfig = decideModelConfigFromIntentConfig('planning', configMap);
24
- this.modelConfigMap = {
25
- default: {
26
- ...defaultConfig,
27
- createOpenAIClient: this.createOpenAIClientFn
28
- },
29
- insight: {
30
- ...insightConfig || defaultConfig,
31
- createOpenAIClient: this.createOpenAIClientFn
32
- },
33
- planning: {
34
- ...planningConfig || defaultConfig,
35
- createOpenAIClient: this.createOpenAIClientFn
36
- }
37
- };
38
- this.isInitialized = true;
39
- }
40
- normalizeModelConfig(config) {
41
- return Object.entries(config).reduce((acc, [key, value])=>{
42
- if (null == value) return acc;
43
- acc[key] = String(value);
44
- return acc;
45
- }, Object.create(null));
46
- }
47
- clearModelConfigMap() {
48
- if (this.isolatedMode) throw new Error('ModelConfigManager work in isolated mode, so clearModelConfigMap should not be called');
49
- this.isInitialized = false;
50
- }
51
- getModelConfig(intent) {
52
- if (!this.isInitialized) this.initialize();
53
- if (!this.modelConfigMap) throw new Error('modelConfigMap is not initialized, which should not happen');
54
- return this.modelConfigMap[intent];
55
- }
56
- getUploadTestServerUrl() {
57
- const { openaiExtraConfig } = this.getModelConfig('default');
58
- const serverUrl = openaiExtraConfig?.REPORT_SERVER_URL;
59
- return serverUrl;
60
- }
61
- registerGlobalConfigManager(globalConfigManager) {
62
- this.globalConfigManager = globalConfigManager;
63
- }
64
- throwErrorIfNonVLModel() {
65
- const modelConfig = this.getModelConfig('default');
66
- if (!modelConfig.modelFamily) throw new Error('MIDSCENE_MODEL_FAMILY is not set to a visual language model (VL model), the element localization can not be achieved. Check your model configuration. See https://midscenejs.com/model-strategy.html');
67
- }
68
- constructor(modelConfig, createOpenAIClientFn){
69
- _define_property(this, "modelConfigMap", void 0);
70
- _define_property(this, "isInitialized", false);
71
- _define_property(this, "isolatedMode", false);
72
- _define_property(this, "globalConfigManager", void 0);
73
- _define_property(this, "modelConfig", void 0);
74
- _define_property(this, "createOpenAIClientFn", void 0);
75
- this.modelConfig = modelConfig;
76
- this.createOpenAIClientFn = createOpenAIClientFn;
77
- }
78
- }
79
- export { ModelConfigManager };
@@ -1,132 +0,0 @@
1
- import { DEFAULT_MODEL_CONFIG_KEYS, INSIGHT_MODEL_CONFIG_KEYS, PLANNING_MODEL_CONFIG_KEYS } from "./constants.mjs";
2
- import { MIDSCENE_OPENAI_HTTP_PROXY, MIDSCENE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_OPENAI_SOCKS_PROXY, MIDSCENE_USE_DOUBAO_VISION, MIDSCENE_USE_GEMINI, MIDSCENE_USE_QWEN3_VL, MIDSCENE_USE_QWEN_VL, MIDSCENE_USE_VLM_UI_TARS, MODEL_FAMILY_VALUES, OPENAI_API_KEY, OPENAI_BASE_URL, UITarsModelVersion } from "./types.mjs";
3
- import { getDebug } from "../logger.mjs";
4
- import { assert } from "../utils.mjs";
5
- import { maskConfig, parseJson } from "./helper.mjs";
6
- import { initDebugConfig } from "./init-debug.mjs";
7
- const KEYS_MAP = {
8
- insight: INSIGHT_MODEL_CONFIG_KEYS,
9
- planning: PLANNING_MODEL_CONFIG_KEYS,
10
- default: DEFAULT_MODEL_CONFIG_KEYS
11
- };
12
- const getUITarsModelVersion = (modelFamily)=>{
13
- if ('vlm-ui-tars' === modelFamily) return UITarsModelVersion.V1_0;
14
- if ('vlm-ui-tars-doubao' === modelFamily || 'vlm-ui-tars-doubao-1.5' === modelFamily) return UITarsModelVersion.DOUBAO_1_5_20B;
15
- };
16
- const validateModelFamily = (modelFamily)=>{
17
- if (modelFamily && !MODEL_FAMILY_VALUES.includes(modelFamily)) throw new Error(`Invalid MIDSCENE_MODEL_FAMILY value: ${modelFamily}`);
18
- };
19
- const legacyConfigToModelFamily = (provider)=>{
20
- const isDoubao = provider[MIDSCENE_USE_DOUBAO_VISION];
21
- const isQwen = provider[MIDSCENE_USE_QWEN_VL];
22
- const isQwen3 = provider[MIDSCENE_USE_QWEN3_VL];
23
- const isUiTars = provider[MIDSCENE_USE_VLM_UI_TARS];
24
- const isGemini = provider[MIDSCENE_USE_GEMINI];
25
- const enabledModes = [
26
- isDoubao && MIDSCENE_USE_DOUBAO_VISION,
27
- isQwen && MIDSCENE_USE_QWEN_VL,
28
- isQwen3 && MIDSCENE_USE_QWEN3_VL,
29
- isUiTars && MIDSCENE_USE_VLM_UI_TARS,
30
- isGemini && MIDSCENE_USE_GEMINI
31
- ].filter(Boolean);
32
- if (enabledModes.length > 1) throw new Error(`Only one vision mode can be enabled at a time. Currently enabled modes: ${enabledModes.join(', ')}. Please disable all but one mode.`);
33
- if (isQwen3) return 'qwen3-vl';
34
- if (isQwen) return 'qwen2.5-vl';
35
- if (isDoubao) return 'doubao-vision';
36
- if (isGemini) return 'gemini';
37
- if (isUiTars) if ('1' === isUiTars) return 'vlm-ui-tars';
38
- else if ('DOUBAO' === isUiTars || 'DOUBAO-1.5' === isUiTars) return 'vlm-ui-tars-doubao-1.5';
39
- else return 'vlm-ui-tars-doubao';
40
- };
41
- const getModelDescription = (modelFamily, uiTarsModelVersion)=>{
42
- if (uiTarsModelVersion) return `UI-TARS=${uiTarsModelVersion}`;
43
- if (modelFamily) return `${modelFamily} mode`;
44
- return '';
45
- };
46
- const parseOpenaiSdkConfig = ({ keys, provider, useLegacyLogic = false })=>{
47
- initDebugConfig();
48
- const debugLog = getDebug('ai:config');
49
- debugLog('enter parseOpenaiSdkConfig with keys:', keys);
50
- const legacyAPIKey = useLegacyLogic ? provider[OPENAI_API_KEY] : void 0;
51
- const legacyBaseURL = useLegacyLogic ? provider[OPENAI_BASE_URL] : void 0;
52
- const legacySocksProxy = useLegacyLogic ? provider[MIDSCENE_OPENAI_SOCKS_PROXY] : void 0;
53
- const legacyHttpProxy = useLegacyLogic ? provider[MIDSCENE_OPENAI_HTTP_PROXY] : void 0;
54
- const legacyOpenaiExtraConfig = useLegacyLogic ? provider[MIDSCENE_OPENAI_INIT_CONFIG_JSON] : void 0;
55
- const legacyModelFamily = useLegacyLogic ? legacyConfigToModelFamily(provider) : void 0;
56
- const modelFamilyRaw = provider[keys.modelFamily] || legacyModelFamily;
57
- const openaiApiKey = provider[keys.openaiApiKey] || legacyAPIKey;
58
- const openaiBaseURL = provider[keys.openaiBaseURL] || legacyBaseURL;
59
- const socksProxy = provider[keys.socksProxy] || legacySocksProxy;
60
- const httpProxy = provider[keys.httpProxy] || legacyHttpProxy;
61
- const modelName = provider[keys.modelName];
62
- const openaiExtraConfigStr = provider[keys.openaiExtraConfig];
63
- const openaiExtraConfig = parseJson(keys.openaiExtraConfig, openaiExtraConfigStr || legacyOpenaiExtraConfig);
64
- const extraBodyStr = provider[keys.extraBody];
65
- const extraBody = parseJson(keys.extraBody, extraBodyStr);
66
- const temperature = provider[keys.temperature] ? Number(provider[keys.temperature]) : 0;
67
- const modelFamily = modelFamilyRaw;
68
- validateModelFamily(modelFamily);
69
- const uiTarsModelVersion = getUITarsModelVersion(modelFamily);
70
- const modelDescription = getModelDescription(modelFamily, uiTarsModelVersion);
71
- return {
72
- socksProxy,
73
- httpProxy,
74
- openaiBaseURL,
75
- openaiApiKey,
76
- openaiExtraConfig,
77
- extraBody,
78
- modelFamily,
79
- uiTarsModelVersion,
80
- modelName: modelName,
81
- modelDescription,
82
- intent: '-',
83
- timeout: provider[keys.timeout] ? Number(provider[keys.timeout]) : void 0,
84
- temperature,
85
- retryCount: (()=>{
86
- if (!provider[keys.retryCount]) return 1;
87
- const val = Number(provider[keys.retryCount]);
88
- if (!Number.isFinite(val)) return 1;
89
- if (val < 0) throw new Error(`${keys.retryCount} must be non-negative, got ${val}`);
90
- return val;
91
- })(),
92
- retryInterval: (()=>{
93
- if (!provider[keys.retryInterval]) return 2000;
94
- const val = Number(provider[keys.retryInterval]);
95
- if (!Number.isFinite(val)) return 2000;
96
- if (val < 0) throw new Error(`${keys.retryInterval} must be non-negative, got ${val}`);
97
- return val;
98
- })(),
99
- reasoningEffort: provider[keys.reasoningEffort]?.trim() || void 0,
100
- reasoningEnabled: (()=>{
101
- const val = provider[keys.reasoningEnabled]?.trim()?.toLowerCase();
102
- if ('true' === val || '1' === val) return true;
103
- if ('false' === val || '0' === val) return false;
104
- })(),
105
- reasoningBudget: (()=>{
106
- const val = provider[keys.reasoningBudget]?.trim();
107
- if (!val) return;
108
- const num = Number(val);
109
- return Number.isFinite(num) ? num : void 0;
110
- })()
111
- };
112
- };
113
- const decideModelConfigFromIntentConfig = (intent, configMap)=>{
114
- const debugLog = getDebug('ai:config');
115
- debugLog('will decideModelConfig base on agent.modelConfig()', intent, maskConfig(configMap));
116
- const keysForFn = KEYS_MAP[intent];
117
- const modelName = configMap[keysForFn.modelName];
118
- if (!modelName) return void debugLog('no modelName found for intent', intent);
119
- const finalResult = parseOpenaiSdkConfig({
120
- keys: keysForFn,
121
- provider: configMap,
122
- useLegacyLogic: 'default' === intent
123
- });
124
- finalResult.intent = intent;
125
- debugLog('decideModelConfig result by agent.modelConfig() with intent', intent, maskConfig({
126
- ...finalResult
127
- }));
128
- assert(finalResult.openaiBaseURL, `failed to get base URL of model (intent=${intent}). See https://midscenejs.com/model-strategy`);
129
- if (!finalResult.modelName) console.warn(`modelName is not set for intent ${intent}, this may cause unexpected behavior. See https://midscenejs.com/model-strategy`);
130
- return finalResult;
131
- };
132
- export { decideModelConfigFromIntentConfig, getUITarsModelVersion, legacyConfigToModelFamily, parseOpenaiSdkConfig, validateModelFamily };
@@ -1,220 +0,0 @@
1
- const MIDSCENE_MODEL_INIT_CONFIG_JSON = 'MIDSCENE_MODEL_INIT_CONFIG_JSON';
2
- const MIDSCENE_MODEL_EXTRA_BODY_JSON = 'MIDSCENE_MODEL_EXTRA_BODY_JSON';
3
- const MIDSCENE_MODEL_NAME = 'MIDSCENE_MODEL_NAME';
4
- const MIDSCENE_DEBUG_MODEL_PROFILE = 'MIDSCENE_DEBUG_MODEL_PROFILE';
5
- const MIDSCENE_DEBUG_MODEL_RESPONSE = 'MIDSCENE_DEBUG_MODEL_RESPONSE';
6
- const MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG = 'MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG';
7
- const MIDSCENE_DEBUG_MODE = 'MIDSCENE_DEBUG_MODE';
8
- const MIDSCENE_MCP_USE_PUPPETEER_MODE = 'MIDSCENE_MCP_USE_PUPPETEER_MODE';
9
- const MIDSCENE_MCP_CHROME_PATH = 'MIDSCENE_MCP_CHROME_PATH';
10
- const MIDSCENE_MCP_ANDROID_MODE = 'MIDSCENE_MCP_ANDROID_MODE';
11
- const DOCKER_CONTAINER = 'DOCKER_CONTAINER';
12
- const MIDSCENE_LANGSMITH_DEBUG = 'MIDSCENE_LANGSMITH_DEBUG';
13
- const MIDSCENE_LANGFUSE_DEBUG = 'MIDSCENE_LANGFUSE_DEBUG';
14
- const MIDSCENE_MODEL_SOCKS_PROXY = 'MIDSCENE_MODEL_SOCKS_PROXY';
15
- const MIDSCENE_MODEL_HTTP_PROXY = 'MIDSCENE_MODEL_HTTP_PROXY';
16
- const MIDSCENE_MODEL_API_KEY = 'MIDSCENE_MODEL_API_KEY';
17
- const MIDSCENE_MODEL_BASE_URL = 'MIDSCENE_MODEL_BASE_URL';
18
- const MIDSCENE_MODEL_MAX_TOKENS = 'MIDSCENE_MODEL_MAX_TOKENS';
19
- const MIDSCENE_MODEL_TIMEOUT = 'MIDSCENE_MODEL_TIMEOUT';
20
- const MIDSCENE_MODEL_TEMPERATURE = 'MIDSCENE_MODEL_TEMPERATURE';
21
- const MIDSCENE_MODEL_RETRY_COUNT = 'MIDSCENE_MODEL_RETRY_COUNT';
22
- const MIDSCENE_MODEL_RETRY_INTERVAL = 'MIDSCENE_MODEL_RETRY_INTERVAL';
23
- const MIDSCENE_MODEL_REASONING_EFFORT = 'MIDSCENE_MODEL_REASONING_EFFORT';
24
- const MIDSCENE_MODEL_REASONING_ENABLED = 'MIDSCENE_MODEL_REASONING_ENABLED';
25
- const MIDSCENE_MODEL_REASONING_BUDGET = 'MIDSCENE_MODEL_REASONING_BUDGET';
26
- const OPENAI_API_KEY = 'OPENAI_API_KEY';
27
- const OPENAI_BASE_URL = 'OPENAI_BASE_URL';
28
- const MIDSCENE_OPENAI_INIT_CONFIG_JSON = 'MIDSCENE_OPENAI_INIT_CONFIG_JSON';
29
- const MIDSCENE_OPENAI_HTTP_PROXY = 'MIDSCENE_OPENAI_HTTP_PROXY';
30
- const MIDSCENE_OPENAI_SOCKS_PROXY = 'MIDSCENE_OPENAI_SOCKS_PROXY';
31
- const OPENAI_MAX_TOKENS = 'OPENAI_MAX_TOKENS';
32
- const MIDSCENE_ADB_PATH = 'MIDSCENE_ADB_PATH';
33
- const MIDSCENE_ADB_REMOTE_HOST = 'MIDSCENE_ADB_REMOTE_HOST';
34
- const MIDSCENE_ADB_REMOTE_PORT = 'MIDSCENE_ADB_REMOTE_PORT';
35
- const MIDSCENE_ANDROID_IME_STRATEGY = 'MIDSCENE_ANDROID_IME_STRATEGY';
36
- const MIDSCENE_IOS_DEVICE_UDID = 'MIDSCENE_IOS_DEVICE_UDID';
37
- const MIDSCENE_IOS_SIMULATOR_UDID = 'MIDSCENE_IOS_SIMULATOR_UDID';
38
- const MIDSCENE_CACHE = 'MIDSCENE_CACHE';
39
- const MIDSCENE_USE_VLM_UI_TARS = 'MIDSCENE_USE_VLM_UI_TARS';
40
- const MIDSCENE_USE_QWEN_VL = 'MIDSCENE_USE_QWEN_VL';
41
- const MIDSCENE_USE_QWEN3_VL = 'MIDSCENE_USE_QWEN3_VL';
42
- const MIDSCENE_USE_DOUBAO_VISION = 'MIDSCENE_USE_DOUBAO_VISION';
43
- const MIDSCENE_USE_GEMINI = 'MIDSCENE_USE_GEMINI';
44
- const MIDSCENE_USE_VL_MODEL = 'MIDSCENE_USE_VL_MODEL';
45
- const MATCH_BY_POSITION = 'MATCH_BY_POSITION';
46
- const MIDSCENE_REPORT_TAG_NAME = 'MIDSCENE_REPORT_TAG_NAME';
47
- const MIDSCENE_REPORT_QUIET = 'MIDSCENE_REPORT_QUIET';
48
- const MIDSCENE_PREFERRED_LANGUAGE = 'MIDSCENE_PREFERRED_LANGUAGE';
49
- const MIDSCENE_CACHE_MAX_FILENAME_LENGTH = 'MIDSCENE_CACHE_MAX_FILENAME_LENGTH';
50
- const MIDSCENE_REPLANNING_CYCLE_LIMIT = 'MIDSCENE_REPLANNING_CYCLE_LIMIT';
51
- const MIDSCENE_RUN_DIR = 'MIDSCENE_RUN_DIR';
52
- const MIDSCENE_OSS_ENABLE = 'MIDSCENE_OSS_ENABLE';
53
- const MIDSCENE_OSS_TOKEN_URL = 'MIDSCENE_OSS_TOKEN_URL';
54
- const MIDSCENE_OSS_TOKEN_RESPONSE_PATH = 'MIDSCENE_OSS_TOKEN_RESPONSE_PATH';
55
- const MIDSCENE_OSS_REGION = 'MIDSCENE_OSS_REGION';
56
- const MIDSCENE_OSS_BUCKET = 'MIDSCENE_OSS_BUCKET';
57
- const MIDSCENE_OSS_ENDPOINT = 'MIDSCENE_OSS_ENDPOINT';
58
- const MIDSCENE_OSS_PREFIX = 'MIDSCENE_OSS_PREFIX';
59
- const MIDSCENE_OSS_DOMAIN = 'MIDSCENE_OSS_DOMAIN';
60
- const MIDSCENE_REPORT_JPEG_QUALITY = 'MIDSCENE_REPORT_JPEG_QUALITY';
61
- const MIDSCENE_INSIGHT_MODEL_NAME = 'MIDSCENE_INSIGHT_MODEL_NAME';
62
- const MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY = 'MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY';
63
- const MIDSCENE_INSIGHT_MODEL_HTTP_PROXY = 'MIDSCENE_INSIGHT_MODEL_HTTP_PROXY';
64
- const MIDSCENE_INSIGHT_MODEL_BASE_URL = 'MIDSCENE_INSIGHT_MODEL_BASE_URL';
65
- const MIDSCENE_INSIGHT_MODEL_API_KEY = 'MIDSCENE_INSIGHT_MODEL_API_KEY';
66
- const MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON = 'MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON';
67
- const MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON = 'MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON';
68
- const MIDSCENE_INSIGHT_MODEL_TIMEOUT = 'MIDSCENE_INSIGHT_MODEL_TIMEOUT';
69
- const MIDSCENE_INSIGHT_MODEL_TEMPERATURE = 'MIDSCENE_INSIGHT_MODEL_TEMPERATURE';
70
- const MIDSCENE_INSIGHT_MODEL_RETRY_COUNT = 'MIDSCENE_INSIGHT_MODEL_RETRY_COUNT';
71
- const MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL = 'MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL';
72
- const MIDSCENE_INSIGHT_MODEL_FAMILY = 'MIDSCENE_INSIGHT_MODEL_FAMILY';
73
- const MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT = 'MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT';
74
- const MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED = 'MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED';
75
- const MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET = 'MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET';
76
- const MIDSCENE_PLANNING_MODEL_NAME = 'MIDSCENE_PLANNING_MODEL_NAME';
77
- const MIDSCENE_PLANNING_MODEL_SOCKS_PROXY = 'MIDSCENE_PLANNING_MODEL_SOCKS_PROXY';
78
- const MIDSCENE_PLANNING_MODEL_HTTP_PROXY = 'MIDSCENE_PLANNING_MODEL_HTTP_PROXY';
79
- const MIDSCENE_PLANNING_MODEL_BASE_URL = 'MIDSCENE_PLANNING_MODEL_BASE_URL';
80
- const MIDSCENE_PLANNING_MODEL_API_KEY = 'MIDSCENE_PLANNING_MODEL_API_KEY';
81
- const MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON = 'MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON';
82
- const MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON = 'MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON';
83
- const MIDSCENE_PLANNING_MODEL_TIMEOUT = 'MIDSCENE_PLANNING_MODEL_TIMEOUT';
84
- const MIDSCENE_PLANNING_MODEL_TEMPERATURE = 'MIDSCENE_PLANNING_MODEL_TEMPERATURE';
85
- const MIDSCENE_PLANNING_MODEL_RETRY_COUNT = 'MIDSCENE_PLANNING_MODEL_RETRY_COUNT';
86
- const MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL = 'MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL';
87
- const MIDSCENE_PLANNING_MODEL_FAMILY = 'MIDSCENE_PLANNING_MODEL_FAMILY';
88
- const MIDSCENE_PLANNING_MODEL_REASONING_EFFORT = 'MIDSCENE_PLANNING_MODEL_REASONING_EFFORT';
89
- const MIDSCENE_PLANNING_MODEL_REASONING_ENABLED = 'MIDSCENE_PLANNING_MODEL_REASONING_ENABLED';
90
- const MIDSCENE_PLANNING_MODEL_REASONING_BUDGET = 'MIDSCENE_PLANNING_MODEL_REASONING_BUDGET';
91
- const MIDSCENE_MODEL_FAMILY = 'MIDSCENE_MODEL_FAMILY';
92
- const UNUSED_ENV_KEYS = [
93
- MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG
94
- ];
95
- const BASIC_ENV_KEYS = [
96
- MIDSCENE_DEBUG_MODE,
97
- MIDSCENE_DEBUG_MODEL_PROFILE,
98
- MIDSCENE_DEBUG_MODEL_RESPONSE,
99
- MIDSCENE_RUN_DIR
100
- ];
101
- const BOOLEAN_ENV_KEYS = [
102
- MIDSCENE_CACHE,
103
- MIDSCENE_MCP_USE_PUPPETEER_MODE,
104
- MIDSCENE_MCP_ANDROID_MODE,
105
- MIDSCENE_LANGSMITH_DEBUG,
106
- MIDSCENE_LANGFUSE_DEBUG,
107
- MIDSCENE_REPORT_QUIET
108
- ];
109
- const NUMBER_ENV_KEYS = [
110
- MIDSCENE_MODEL_MAX_TOKENS,
111
- MIDSCENE_CACHE_MAX_FILENAME_LENGTH,
112
- MIDSCENE_REPLANNING_CYCLE_LIMIT
113
- ];
114
- const STRING_ENV_KEYS = [
115
- MIDSCENE_MODEL_MAX_TOKENS,
116
- OPENAI_MAX_TOKENS,
117
- MIDSCENE_ADB_PATH,
118
- MIDSCENE_ADB_REMOTE_HOST,
119
- MIDSCENE_ADB_REMOTE_PORT,
120
- MIDSCENE_ANDROID_IME_STRATEGY,
121
- MIDSCENE_IOS_DEVICE_UDID,
122
- MIDSCENE_IOS_SIMULATOR_UDID,
123
- MIDSCENE_REPORT_TAG_NAME,
124
- MIDSCENE_PREFERRED_LANGUAGE,
125
- MATCH_BY_POSITION,
126
- MIDSCENE_MCP_CHROME_PATH,
127
- DOCKER_CONTAINER
128
- ];
129
- const GLOBAL_ENV_KEYS = [
130
- ...BOOLEAN_ENV_KEYS,
131
- ...NUMBER_ENV_KEYS,
132
- ...STRING_ENV_KEYS
133
- ];
134
- const MODEL_ENV_KEYS = [
135
- MIDSCENE_MODEL_NAME,
136
- MIDSCENE_MODEL_INIT_CONFIG_JSON,
137
- MIDSCENE_MODEL_EXTRA_BODY_JSON,
138
- MIDSCENE_MODEL_API_KEY,
139
- MIDSCENE_MODEL_BASE_URL,
140
- MIDSCENE_MODEL_SOCKS_PROXY,
141
- MIDSCENE_MODEL_HTTP_PROXY,
142
- MIDSCENE_MODEL_TIMEOUT,
143
- MIDSCENE_MODEL_TEMPERATURE,
144
- MIDSCENE_MODEL_RETRY_COUNT,
145
- MIDSCENE_MODEL_RETRY_INTERVAL,
146
- MIDSCENE_MODEL_REASONING_EFFORT,
147
- MIDSCENE_MODEL_REASONING_ENABLED,
148
- MIDSCENE_MODEL_REASONING_BUDGET,
149
- MIDSCENE_USE_VLM_UI_TARS,
150
- MIDSCENE_USE_QWEN_VL,
151
- MIDSCENE_USE_QWEN3_VL,
152
- MIDSCENE_USE_DOUBAO_VISION,
153
- MIDSCENE_USE_GEMINI,
154
- MIDSCENE_USE_VL_MODEL,
155
- OPENAI_API_KEY,
156
- OPENAI_BASE_URL,
157
- MIDSCENE_OPENAI_INIT_CONFIG_JSON,
158
- MIDSCENE_OPENAI_HTTP_PROXY,
159
- MIDSCENE_OPENAI_SOCKS_PROXY,
160
- MIDSCENE_INSIGHT_MODEL_NAME,
161
- MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY,
162
- MIDSCENE_INSIGHT_MODEL_HTTP_PROXY,
163
- MIDSCENE_INSIGHT_MODEL_BASE_URL,
164
- MIDSCENE_INSIGHT_MODEL_API_KEY,
165
- MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON,
166
- MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON,
167
- MIDSCENE_INSIGHT_MODEL_TIMEOUT,
168
- MIDSCENE_INSIGHT_MODEL_TEMPERATURE,
169
- MIDSCENE_INSIGHT_MODEL_RETRY_COUNT,
170
- MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL,
171
- MIDSCENE_INSIGHT_MODEL_FAMILY,
172
- MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT,
173
- MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED,
174
- MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET,
175
- MIDSCENE_PLANNING_MODEL_NAME,
176
- MIDSCENE_PLANNING_MODEL_SOCKS_PROXY,
177
- MIDSCENE_PLANNING_MODEL_HTTP_PROXY,
178
- MIDSCENE_PLANNING_MODEL_BASE_URL,
179
- MIDSCENE_PLANNING_MODEL_API_KEY,
180
- MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON,
181
- MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON,
182
- MIDSCENE_PLANNING_MODEL_TIMEOUT,
183
- MIDSCENE_PLANNING_MODEL_TEMPERATURE,
184
- MIDSCENE_PLANNING_MODEL_RETRY_COUNT,
185
- MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL,
186
- MIDSCENE_PLANNING_MODEL_FAMILY,
187
- MIDSCENE_PLANNING_MODEL_REASONING_EFFORT,
188
- MIDSCENE_PLANNING_MODEL_REASONING_ENABLED,
189
- MIDSCENE_PLANNING_MODEL_REASONING_BUDGET,
190
- MIDSCENE_MODEL_FAMILY
191
- ];
192
- const ALL_ENV_KEYS = [
193
- ...UNUSED_ENV_KEYS,
194
- ...BASIC_ENV_KEYS,
195
- ...GLOBAL_ENV_KEYS,
196
- ...MODEL_ENV_KEYS
197
- ];
198
- const MODEL_FAMILY_VALUES = [
199
- 'doubao-vision',
200
- 'doubao-seed',
201
- 'gemini',
202
- 'qwen2.5-vl',
203
- 'qwen3-vl',
204
- 'qwen3.5',
205
- 'vlm-ui-tars',
206
- 'vlm-ui-tars-doubao',
207
- 'vlm-ui-tars-doubao-1.5',
208
- 'glm-v',
209
- 'auto-glm',
210
- 'auto-glm-multilingual',
211
- 'gpt-5'
212
- ];
213
- var types_UITarsModelVersion = /*#__PURE__*/ function(UITarsModelVersion) {
214
- UITarsModelVersion["V1_0"] = "1.0";
215
- UITarsModelVersion["V1_5"] = "1.5";
216
- UITarsModelVersion["DOUBAO_1_5_15B"] = "doubao-1.5-15B";
217
- UITarsModelVersion["DOUBAO_1_5_20B"] = "doubao-1.5-20B";
218
- return UITarsModelVersion;
219
- }({});
220
- 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_MODE, MIDSCENE_DEBUG_MODEL_PROFILE, MIDSCENE_DEBUG_MODEL_RESPONSE, MIDSCENE_INSIGHT_MODEL_API_KEY, MIDSCENE_INSIGHT_MODEL_BASE_URL, MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON, MIDSCENE_INSIGHT_MODEL_FAMILY, MIDSCENE_INSIGHT_MODEL_HTTP_PROXY, MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON, MIDSCENE_INSIGHT_MODEL_NAME, MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET, MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT, MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED, MIDSCENE_INSIGHT_MODEL_RETRY_COUNT, MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL, MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY, MIDSCENE_INSIGHT_MODEL_TEMPERATURE, MIDSCENE_INSIGHT_MODEL_TIMEOUT, MIDSCENE_IOS_DEVICE_UDID, MIDSCENE_IOS_SIMULATOR_UDID, MIDSCENE_LANGFUSE_DEBUG, MIDSCENE_LANGSMITH_DEBUG, MIDSCENE_MCP_ANDROID_MODE, MIDSCENE_MCP_CHROME_PATH, MIDSCENE_MCP_USE_PUPPETEER_MODE, MIDSCENE_MODEL_API_KEY, MIDSCENE_MODEL_BASE_URL, MIDSCENE_MODEL_EXTRA_BODY_JSON, MIDSCENE_MODEL_FAMILY, MIDSCENE_MODEL_HTTP_PROXY, MIDSCENE_MODEL_INIT_CONFIG_JSON, MIDSCENE_MODEL_MAX_TOKENS, MIDSCENE_MODEL_NAME, MIDSCENE_MODEL_REASONING_BUDGET, MIDSCENE_MODEL_REASONING_EFFORT, MIDSCENE_MODEL_REASONING_ENABLED, MIDSCENE_MODEL_RETRY_COUNT, MIDSCENE_MODEL_RETRY_INTERVAL, MIDSCENE_MODEL_SOCKS_PROXY, MIDSCENE_MODEL_TEMPERATURE, MIDSCENE_MODEL_TIMEOUT, MIDSCENE_OPENAI_HTTP_PROXY, MIDSCENE_OPENAI_INIT_CONFIG_JSON, MIDSCENE_OPENAI_SOCKS_PROXY, MIDSCENE_OSS_BUCKET, MIDSCENE_OSS_DOMAIN, MIDSCENE_OSS_ENABLE, MIDSCENE_OSS_ENDPOINT, MIDSCENE_OSS_PREFIX, MIDSCENE_OSS_REGION, MIDSCENE_OSS_TOKEN_RESPONSE_PATH, MIDSCENE_OSS_TOKEN_URL, MIDSCENE_PLANNING_MODEL_API_KEY, MIDSCENE_PLANNING_MODEL_BASE_URL, MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON, MIDSCENE_PLANNING_MODEL_FAMILY, MIDSCENE_PLANNING_MODEL_HTTP_PROXY, MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON, MIDSCENE_PLANNING_MODEL_NAME, MIDSCENE_PLANNING_MODEL_REASONING_BUDGET, MIDSCENE_PLANNING_MODEL_REASONING_EFFORT, MIDSCENE_PLANNING_MODEL_REASONING_ENABLED, MIDSCENE_PLANNING_MODEL_RETRY_COUNT, MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL, MIDSCENE_PLANNING_MODEL_SOCKS_PROXY, MIDSCENE_PLANNING_MODEL_TEMPERATURE, MIDSCENE_PLANNING_MODEL_TIMEOUT, MIDSCENE_PREFERRED_LANGUAGE, MIDSCENE_REPLANNING_CYCLE_LIMIT, MIDSCENE_REPORT_JPEG_QUALITY, MIDSCENE_REPORT_QUIET, 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, MODEL_ENV_KEYS, MODEL_FAMILY_VALUES, NUMBER_ENV_KEYS, OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MAX_TOKENS, STRING_ENV_KEYS, types_UITarsModelVersion as UITarsModelVersion, UNUSED_ENV_KEYS };