@midscene/shared 0.30.10 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/build/rspack-config.mjs +4 -0
- package/dist/es/constants/example-code.mjs +4 -4
- package/dist/es/env/constants.mjs +27 -82
- package/dist/es/env/global-config-manager.mjs +2 -3
- package/dist/es/env/helper.mjs +12 -17
- package/dist/es/env/init-debug.mjs +6 -6
- package/dist/es/env/model-config-manager.mjs +45 -65
- package/dist/es/env/parse-model-config.mjs +112 -0
- package/dist/es/env/types.mjs +70 -162
- package/dist/es/extractor/dom-util.mjs +10 -18
- package/dist/es/extractor/index.mjs +2 -3
- package/dist/es/extractor/locator.mjs +8 -15
- package/dist/es/extractor/tree.mjs +2 -5
- package/dist/es/extractor/util.mjs +4 -28
- package/dist/es/extractor/web-extractor.mjs +7 -14
- package/dist/es/index.mjs +2 -1
- package/dist/es/mcp/base-server.mjs +250 -0
- package/dist/es/mcp/base-tools.mjs +84 -0
- package/dist/es/mcp/index.mjs +5 -0
- package/dist/es/mcp/inject-report-html-plugin.mjs +53 -0
- package/dist/es/mcp/tool-generator.mjs +207 -0
- package/dist/es/mcp/types.mjs +3 -0
- package/dist/es/node/fs.mjs +2 -2
- package/dist/es/utils.mjs +2 -3
- package/dist/es/zod-schema-utils.mjs +54 -0
- package/dist/lib/baseDB.js +2 -2
- package/dist/lib/build/copy-static.js +4 -4
- package/dist/lib/build/rspack-config.js +38 -0
- package/dist/lib/common.js +4 -4
- package/dist/lib/constants/example-code.js +6 -6
- package/dist/lib/constants/index.js +13 -13
- package/dist/lib/env/basic.js +2 -2
- package/dist/lib/env/constants.js +32 -90
- package/dist/lib/env/global-config-manager.js +4 -5
- package/dist/lib/env/helper.js +13 -22
- package/dist/lib/env/index.js +24 -28
- package/dist/lib/env/init-debug.js +7 -7
- package/dist/lib/env/model-config-manager.js +47 -67
- package/dist/lib/env/parse-model-config.js +155 -0
- package/dist/lib/env/types.js +146 -379
- package/dist/lib/env/utils.js +4 -4
- package/dist/lib/extractor/constants.js +4 -4
- package/dist/lib/extractor/debug.js +1 -1
- package/dist/lib/extractor/dom-util.js +18 -26
- package/dist/lib/extractor/index.js +11 -21
- package/dist/lib/extractor/locator.js +10 -20
- package/dist/lib/extractor/tree.js +4 -7
- package/dist/lib/extractor/util.js +17 -50
- package/dist/lib/extractor/web-extractor.js +12 -19
- package/dist/lib/img/box-select.js +4 -4
- package/dist/lib/img/draw-box.js +2 -2
- package/dist/lib/img/get-jimp.js +16 -34
- package/dist/lib/img/get-photon.js +24 -47
- package/dist/lib/img/get-sharp.js +16 -34
- package/dist/lib/img/index.js +18 -18
- package/dist/lib/img/info.js +4 -4
- package/dist/lib/img/transform.js +10 -10
- package/dist/lib/index.js +8 -4
- package/dist/lib/logger.js +4 -4
- package/dist/lib/mcp/base-server.js +300 -0
- package/dist/lib/mcp/base-tools.js +118 -0
- package/dist/lib/mcp/index.js +86 -0
- package/dist/lib/mcp/inject-report-html-plugin.js +98 -0
- package/dist/lib/mcp/tool-generator.js +244 -0
- package/dist/lib/mcp/types.js +40 -0
- package/dist/lib/node/fs.js +6 -6
- package/dist/lib/node/index.js +6 -8
- package/dist/lib/polyfills/async-hooks.js +2 -2
- package/dist/lib/polyfills/index.js +6 -8
- package/dist/lib/types/index.js +2 -2
- package/dist/lib/us-keyboard-layout.js +2 -2
- package/dist/lib/utils.js +13 -14
- package/dist/lib/zod-schema-utils.js +97 -0
- package/dist/types/build/rspack-config.d.ts +8 -0
- package/dist/types/constants/example-code.d.ts +1 -1
- package/dist/types/env/constants.d.ts +5 -18
- package/dist/types/env/global-config-manager.d.ts +1 -2
- package/dist/types/env/helper.d.ts +2 -4
- package/dist/types/env/model-config-manager.d.ts +8 -7
- package/dist/types/env/parse-model-config.d.ts +28 -0
- package/dist/types/env/types.d.ts +152 -191
- package/dist/types/extractor/dom-util.d.ts +2 -15
- package/dist/types/extractor/index.d.ts +1 -2
- package/dist/types/extractor/locator.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/index.d.ts +1 -0
- package/dist/types/mcp/base-server.d.ts +77 -0
- package/dist/types/mcp/base-tools.d.ts +55 -0
- package/dist/types/mcp/index.d.ts +5 -0
- package/dist/types/mcp/inject-report-html-plugin.d.ts +18 -0
- package/dist/types/mcp/tool-generator.d.ts +11 -0
- package/dist/types/mcp/types.d.ts +100 -0
- package/dist/types/types/index.d.ts +5 -2
- package/dist/types/zod-schema-utils.d.ts +23 -0
- package/package.json +19 -4
- package/src/build/rspack-config.ts +12 -0
- package/src/constants/example-code.ts +4 -4
- package/src/env/constants.ts +58 -203
- package/src/env/global-config-manager.ts +7 -7
- package/src/env/helper.ts +10 -31
- package/src/env/init-debug.ts +11 -6
- package/src/env/model-config-manager.ts +91 -87
- package/src/env/parse-model-config.ts +265 -0
- package/src/env/types.ts +212 -344
- package/src/extractor/dom-util.ts +15 -12
- package/src/extractor/index.ts +0 -3
- package/src/extractor/locator.ts +3 -12
- package/src/extractor/tree.ts +4 -4
- package/src/extractor/util.ts +0 -32
- package/src/index.ts +2 -0
- package/src/mcp/base-server.ts +435 -0
- package/src/mcp/base-tools.ts +196 -0
- package/src/mcp/index.ts +5 -0
- package/src/mcp/inject-report-html-plugin.ts +119 -0
- package/src/mcp/tool-generator.ts +330 -0
- package/src/mcp/types.ts +108 -0
- package/src/node/fs.ts +1 -1
- package/src/types/index.ts +8 -2
- package/src/utils.ts +1 -1
- package/src/zod-schema-utils.ts +133 -0
- package/dist/es/env/decide-model-config.mjs +0 -172
- package/dist/es/env/parse.mjs +0 -69
- package/dist/lib/env/decide-model-config.js +0 -212
- package/dist/lib/env/parse.js +0 -106
- package/dist/types/env/decide-model-config.d.ts +0 -14
- package/dist/types/env/parse.d.ts +0 -12
- package/src/env/decide-model-config.ts +0 -319
- package/src/env/parse.ts +0 -131
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: definition[key]
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
})();
|
|
11
|
-
(()=>{
|
|
12
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
-
})();
|
|
14
|
-
(()=>{
|
|
15
|
-
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
-
value: 'Module'
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
-
value: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
var __webpack_exports__ = {};
|
|
25
|
-
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
decideModelConfigFromEnv: ()=>decideModelConfigFromEnv,
|
|
28
|
-
decideModelConfigFromIntentConfig: ()=>decideModelConfigFromIntentConfig,
|
|
29
|
-
decideOpenaiSdkConfig: ()=>decideOpenaiSdkConfig
|
|
30
|
-
});
|
|
31
|
-
const external_constants_js_namespaceObject = require("./constants.js");
|
|
32
|
-
const external_logger_js_namespaceObject = require("../logger.js");
|
|
33
|
-
const external_utils_js_namespaceObject = require("../utils.js");
|
|
34
|
-
const external_helper_js_namespaceObject = require("./helper.js");
|
|
35
|
-
const external_init_debug_js_namespaceObject = require("./init-debug.js");
|
|
36
|
-
const external_parse_js_namespaceObject = require("./parse.js");
|
|
37
|
-
const KEYS_MAP = {
|
|
38
|
-
VQA: external_constants_js_namespaceObject.VQA_MODEL_CONFIG_KEYS,
|
|
39
|
-
grounding: external_constants_js_namespaceObject.GROUNDING_MODEL_CONFIG_KEYS,
|
|
40
|
-
planning: external_constants_js_namespaceObject.PLANNING_MODEL_CONFIG_KEYS,
|
|
41
|
-
default: external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS
|
|
42
|
-
};
|
|
43
|
-
const decideOpenaiSdkConfig = ({ keys, provider, valueAssert })=>{
|
|
44
|
-
(0, external_init_debug_js_namespaceObject.initDebugConfig)();
|
|
45
|
-
const debugLog = (0, external_logger_js_namespaceObject.getDebug)('ai:config');
|
|
46
|
-
const socksProxy = provider[keys.socksProxy];
|
|
47
|
-
const httpProxy = provider[keys.httpProxy];
|
|
48
|
-
const vlMode = provider[keys.vlMode];
|
|
49
|
-
debugLog('enter decideOpenaiSdkConfig with keys:', keys);
|
|
50
|
-
if (provider[keys.openaiUseAzureDeprecated]) {
|
|
51
|
-
debugLog(`provider has ${keys.openaiUseAzureDeprecated} with value${provider[keys.openaiUseAzureDeprecated]}`);
|
|
52
|
-
const openaiBaseURL = provider[keys.openaiBaseURL];
|
|
53
|
-
const openaiApiKey = provider[keys.openaiApiKey];
|
|
54
|
-
const openaiExtraConfig = (0, external_helper_js_namespaceObject.parseJson)(keys.openaiExtraConfig, provider[keys.openaiExtraConfig]);
|
|
55
|
-
valueAssert(openaiApiKey, keys.openaiApiKey, keys.openaiUseAzureDeprecated);
|
|
56
|
-
return {
|
|
57
|
-
socksProxy,
|
|
58
|
-
httpProxy,
|
|
59
|
-
vlModeRaw: vlMode,
|
|
60
|
-
openaiUseAzureDeprecated: true,
|
|
61
|
-
openaiApiKey,
|
|
62
|
-
openaiBaseURL,
|
|
63
|
-
openaiExtraConfig
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
if (provider[keys.useAzureOpenai]) {
|
|
67
|
-
debugLog(`provider has ${keys.useAzureOpenai} with value ${provider[keys.useAzureOpenai]}`);
|
|
68
|
-
const azureOpenaiScope = provider[keys.azureOpenaiScope];
|
|
69
|
-
const azureOpenaiKey = provider[keys.azureOpenaiKey];
|
|
70
|
-
const azureOpenaiEndpoint = provider[keys.azureOpenaiEndpoint];
|
|
71
|
-
const azureOpenaiDeployment = provider[keys.azureOpenaiDeployment];
|
|
72
|
-
const azureOpenaiApiVersion = provider[keys.azureOpenaiApiVersion];
|
|
73
|
-
const azureExtraConfig = (0, external_helper_js_namespaceObject.parseJson)(keys.azureExtraConfig, provider[keys.azureExtraConfig]);
|
|
74
|
-
const openaiExtraConfig = (0, external_helper_js_namespaceObject.parseJson)(keys.openaiExtraConfig, provider[keys.openaiExtraConfig]);
|
|
75
|
-
valueAssert(azureOpenaiKey, keys.azureOpenaiKey, keys.useAzureOpenai);
|
|
76
|
-
return {
|
|
77
|
-
socksProxy,
|
|
78
|
-
httpProxy,
|
|
79
|
-
vlModeRaw: vlMode,
|
|
80
|
-
useAzureOpenai: true,
|
|
81
|
-
azureOpenaiScope,
|
|
82
|
-
azureOpenaiKey,
|
|
83
|
-
azureOpenaiEndpoint,
|
|
84
|
-
azureOpenaiDeployment,
|
|
85
|
-
azureOpenaiApiVersion,
|
|
86
|
-
azureExtraConfig,
|
|
87
|
-
openaiExtraConfig
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
if (provider[keys.useAnthropicSdk]) {
|
|
91
|
-
debugLog(`provider has ${keys.useAnthropicSdk} with value ${provider[keys.useAnthropicSdk]}`);
|
|
92
|
-
const anthropicApiKey = provider[keys.anthropicApiKey];
|
|
93
|
-
valueAssert(anthropicApiKey, keys.anthropicApiKey, keys.useAnthropicSdk);
|
|
94
|
-
return {
|
|
95
|
-
socksProxy,
|
|
96
|
-
httpProxy,
|
|
97
|
-
useAnthropicSdk: true,
|
|
98
|
-
anthropicApiKey
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
{
|
|
102
|
-
debugLog('provider has no specific model SDK declared');
|
|
103
|
-
const openaiBaseURL = provider[keys.openaiBaseURL];
|
|
104
|
-
const openaiApiKey = provider[keys.openaiApiKey];
|
|
105
|
-
const openaiExtraConfig = (0, external_helper_js_namespaceObject.parseJson)(keys.openaiExtraConfig, provider[keys.openaiExtraConfig]);
|
|
106
|
-
valueAssert(openaiApiKey, keys.openaiApiKey);
|
|
107
|
-
return {
|
|
108
|
-
socksProxy,
|
|
109
|
-
httpProxy,
|
|
110
|
-
vlModeRaw: vlMode,
|
|
111
|
-
openaiBaseURL,
|
|
112
|
-
openaiApiKey,
|
|
113
|
-
openaiExtraConfig
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
const getModelDescription = (vlMode, uiTarsVersion)=>{
|
|
118
|
-
if (vlMode) if (uiTarsVersion) return `UI-TARS=${uiTarsVersion}`;
|
|
119
|
-
else return `${vlMode} mode`;
|
|
120
|
-
return '';
|
|
121
|
-
};
|
|
122
|
-
const decideModelConfigFromIntentConfig = (intent, intentConfig)=>{
|
|
123
|
-
const debugLog = (0, external_logger_js_namespaceObject.getDebug)('ai:config');
|
|
124
|
-
debugLog('decideModelConfig base on agent.modelConfig()');
|
|
125
|
-
const keysForFn = KEYS_MAP[intent];
|
|
126
|
-
const candidateModelNameFromConfig = intentConfig[keysForFn.modelName];
|
|
127
|
-
debugLog('Got modelName from modelConfigFn', candidateModelNameFromConfig);
|
|
128
|
-
const chosenKeys = (()=>{
|
|
129
|
-
if (candidateModelNameFromConfig) {
|
|
130
|
-
debugLog('query modelConfig from fn by intent got corresponding modelName, will get other corresponding keys');
|
|
131
|
-
return keysForFn;
|
|
132
|
-
}
|
|
133
|
-
debugLog('query modelConfig from fn by intent got no corresponding modelName, will get other keys by default');
|
|
134
|
-
(0, external_utils_js_namespaceObject.assert)(intentConfig[external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS.modelName], `The return value of agent.modelConfig do not have a valid value with key ${external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS.modelName}.`);
|
|
135
|
-
return external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS;
|
|
136
|
-
})();
|
|
137
|
-
const result = decideOpenaiSdkConfig({
|
|
138
|
-
keys: chosenKeys,
|
|
139
|
-
provider: intentConfig,
|
|
140
|
-
valueAssert: (0, external_helper_js_namespaceObject.createAssert)(chosenKeys.modelName, 'modelConfig', candidateModelNameFromConfig)
|
|
141
|
-
});
|
|
142
|
-
const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsModelVersionFromRawValue)(result.vlModeRaw);
|
|
143
|
-
const modelDescription = getModelDescription(vlMode, uiTarsVersion);
|
|
144
|
-
const finalResult = {
|
|
145
|
-
...result,
|
|
146
|
-
modelName: intentConfig[chosenKeys.modelName],
|
|
147
|
-
vlMode,
|
|
148
|
-
uiTarsModelVersion: uiTarsVersion,
|
|
149
|
-
modelDescription,
|
|
150
|
-
from: 'modelConfig',
|
|
151
|
-
intent
|
|
152
|
-
};
|
|
153
|
-
debugLog(`decideModelConfig result by agent.modelConfig() with intent ${intent}:`, (0, external_helper_js_namespaceObject.maskConfig)(finalResult));
|
|
154
|
-
return finalResult;
|
|
155
|
-
};
|
|
156
|
-
const decideModelConfigFromEnv = (intent, allEnvConfig)=>{
|
|
157
|
-
(0, external_init_debug_js_namespaceObject.initDebugConfig)();
|
|
158
|
-
const debugLog = (0, external_logger_js_namespaceObject.getDebug)('ai:config');
|
|
159
|
-
const keysForEnv = 'default' === intent ? external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY : KEYS_MAP[intent];
|
|
160
|
-
if ('default' !== intent && allEnvConfig[keysForEnv.modelName]) {
|
|
161
|
-
const modelName = allEnvConfig[keysForEnv.modelName];
|
|
162
|
-
debugLog(`Got intent ${intent} corresponding modelName ${modelName} by key ${keysForEnv.modelName} from globalConfig, will get other config by intent.`);
|
|
163
|
-
const result = decideOpenaiSdkConfig({
|
|
164
|
-
keys: keysForEnv,
|
|
165
|
-
provider: allEnvConfig,
|
|
166
|
-
valueAssert: (0, external_helper_js_namespaceObject.createAssert)(keysForEnv.modelName, 'process.env', modelName)
|
|
167
|
-
});
|
|
168
|
-
const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsModelVersionFromRawValue)(result.vlModeRaw);
|
|
169
|
-
const modelDescription = getModelDescription(vlMode, uiTarsVersion);
|
|
170
|
-
const finalResult = {
|
|
171
|
-
...result,
|
|
172
|
-
modelName,
|
|
173
|
-
vlMode,
|
|
174
|
-
uiTarsModelVersion: uiTarsVersion,
|
|
175
|
-
modelDescription,
|
|
176
|
-
from: 'env',
|
|
177
|
-
intent
|
|
178
|
-
};
|
|
179
|
-
debugLog(`decideModelConfig result by process.env with intent ${intent}:`, (0, external_helper_js_namespaceObject.maskConfig)(finalResult));
|
|
180
|
-
return finalResult;
|
|
181
|
-
}
|
|
182
|
-
debugLog(`decideModelConfig as legacy logic with intent ${intent}.`);
|
|
183
|
-
const result = decideOpenaiSdkConfig({
|
|
184
|
-
keys: external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY,
|
|
185
|
-
provider: allEnvConfig,
|
|
186
|
-
valueAssert: (0, external_helper_js_namespaceObject.createAssert)(external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY.modelName, 'process.env')
|
|
187
|
-
});
|
|
188
|
-
const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsFromGlobalConfig)(allEnvConfig);
|
|
189
|
-
const modelDescription = getModelDescription(vlMode, uiTarsVersion);
|
|
190
|
-
const finalResult = {
|
|
191
|
-
...result,
|
|
192
|
-
modelName: allEnvConfig[external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY.modelName] || 'gpt-4o',
|
|
193
|
-
vlMode,
|
|
194
|
-
uiTarsModelVersion: uiTarsVersion,
|
|
195
|
-
modelDescription,
|
|
196
|
-
from: 'legacy-env',
|
|
197
|
-
intent
|
|
198
|
-
};
|
|
199
|
-
debugLog(`decideModelConfig result by legacy logic with intent ${intent}:`, (0, external_helper_js_namespaceObject.maskConfig)(finalResult));
|
|
200
|
-
return finalResult;
|
|
201
|
-
};
|
|
202
|
-
exports.decideModelConfigFromEnv = __webpack_exports__.decideModelConfigFromEnv;
|
|
203
|
-
exports.decideModelConfigFromIntentConfig = __webpack_exports__.decideModelConfigFromIntentConfig;
|
|
204
|
-
exports.decideOpenaiSdkConfig = __webpack_exports__.decideOpenaiSdkConfig;
|
|
205
|
-
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
206
|
-
"decideModelConfigFromEnv",
|
|
207
|
-
"decideModelConfigFromIntentConfig",
|
|
208
|
-
"decideOpenaiSdkConfig"
|
|
209
|
-
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
210
|
-
Object.defineProperty(exports, '__esModule', {
|
|
211
|
-
value: true
|
|
212
|
-
});
|
package/dist/lib/env/parse.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: definition[key]
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
})();
|
|
11
|
-
(()=>{
|
|
12
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
-
})();
|
|
14
|
-
(()=>{
|
|
15
|
-
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
-
value: 'Module'
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
-
value: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
var __webpack_exports__ = {};
|
|
25
|
-
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
parseVlModeAndUiTarsFromGlobalConfig: ()=>parseVlModeAndUiTarsFromGlobalConfig,
|
|
28
|
-
parseVlModeAndUiTarsModelVersionFromRawValue: ()=>parseVlModeAndUiTarsModelVersionFromRawValue
|
|
29
|
-
});
|
|
30
|
-
const external_types_js_namespaceObject = require("./types.js");
|
|
31
|
-
const parseVlModeAndUiTarsModelVersionFromRawValue = (vlModeRaw)=>{
|
|
32
|
-
if (!vlModeRaw) return {
|
|
33
|
-
vlMode: void 0,
|
|
34
|
-
uiTarsVersion: void 0
|
|
35
|
-
};
|
|
36
|
-
if (!external_types_js_namespaceObject.VL_MODE_RAW_VALID_VALUES.includes(vlModeRaw)) throw new Error(`the value ${vlModeRaw} is not a valid VL_MODE value, must be one of ${external_types_js_namespaceObject.VL_MODE_RAW_VALID_VALUES}`);
|
|
37
|
-
const raw = vlModeRaw;
|
|
38
|
-
if ('vlm-ui-tars' === raw) return {
|
|
39
|
-
vlMode: 'vlm-ui-tars',
|
|
40
|
-
uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.V1_0
|
|
41
|
-
};
|
|
42
|
-
if ('vlm-ui-tars-doubao' === raw || 'vlm-ui-tars-doubao-1.5' === raw) return {
|
|
43
|
-
vlMode: 'vlm-ui-tars',
|
|
44
|
-
uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.DOUBAO_1_5_20B
|
|
45
|
-
};
|
|
46
|
-
return {
|
|
47
|
-
vlMode: raw,
|
|
48
|
-
uiTarsVersion: void 0
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
const parseVlModeAndUiTarsFromGlobalConfig = (provider)=>{
|
|
52
|
-
const isDoubao = provider[external_types_js_namespaceObject.MIDSCENE_USE_DOUBAO_VISION];
|
|
53
|
-
const isQwen = provider[external_types_js_namespaceObject.MIDSCENE_USE_QWEN_VL];
|
|
54
|
-
const isQwen3 = provider[external_types_js_namespaceObject.MIDSCENE_USE_QWEN3_VL];
|
|
55
|
-
const isUiTars = provider[external_types_js_namespaceObject.MIDSCENE_USE_VLM_UI_TARS];
|
|
56
|
-
const isGemini = provider[external_types_js_namespaceObject.MIDSCENE_USE_GEMINI];
|
|
57
|
-
const enabledModes = [
|
|
58
|
-
isDoubao && external_types_js_namespaceObject.MIDSCENE_USE_DOUBAO_VISION,
|
|
59
|
-
isQwen && external_types_js_namespaceObject.MIDSCENE_USE_QWEN_VL,
|
|
60
|
-
isQwen3 && external_types_js_namespaceObject.MIDSCENE_USE_QWEN3_VL,
|
|
61
|
-
isUiTars && external_types_js_namespaceObject.MIDSCENE_USE_VLM_UI_TARS,
|
|
62
|
-
isGemini && external_types_js_namespaceObject.MIDSCENE_USE_GEMINI
|
|
63
|
-
].filter(Boolean);
|
|
64
|
-
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.`);
|
|
65
|
-
if (isQwen3) return {
|
|
66
|
-
vlMode: 'qwen3-vl',
|
|
67
|
-
uiTarsVersion: void 0
|
|
68
|
-
};
|
|
69
|
-
if (isQwen) return {
|
|
70
|
-
vlMode: 'qwen-vl',
|
|
71
|
-
uiTarsVersion: void 0
|
|
72
|
-
};
|
|
73
|
-
if (isDoubao) return {
|
|
74
|
-
vlMode: 'doubao-vision',
|
|
75
|
-
uiTarsVersion: void 0
|
|
76
|
-
};
|
|
77
|
-
if (isGemini) return {
|
|
78
|
-
vlMode: 'gemini',
|
|
79
|
-
uiTarsVersion: void 0
|
|
80
|
-
};
|
|
81
|
-
if (isUiTars) if ('1' === isUiTars) return {
|
|
82
|
-
vlMode: 'vlm-ui-tars',
|
|
83
|
-
uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.V1_0
|
|
84
|
-
};
|
|
85
|
-
else if ('DOUBAO' === isUiTars || 'DOUBAO-1.5' === isUiTars) return {
|
|
86
|
-
vlMode: 'vlm-ui-tars',
|
|
87
|
-
uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.DOUBAO_1_5_20B
|
|
88
|
-
};
|
|
89
|
-
else return {
|
|
90
|
-
vlMode: 'vlm-ui-tars',
|
|
91
|
-
uiTarsVersion: `${isUiTars}`
|
|
92
|
-
};
|
|
93
|
-
return {
|
|
94
|
-
vlMode: void 0,
|
|
95
|
-
uiTarsVersion: void 0
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
exports.parseVlModeAndUiTarsFromGlobalConfig = __webpack_exports__.parseVlModeAndUiTarsFromGlobalConfig;
|
|
99
|
-
exports.parseVlModeAndUiTarsModelVersionFromRawValue = __webpack_exports__.parseVlModeAndUiTarsModelVersionFromRawValue;
|
|
100
|
-
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
101
|
-
"parseVlModeAndUiTarsFromGlobalConfig",
|
|
102
|
-
"parseVlModeAndUiTarsModelVersionFromRawValue"
|
|
103
|
-
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
104
|
-
Object.defineProperty(exports, '__esModule', {
|
|
105
|
-
value: true
|
|
106
|
-
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { IModelConfig, TIntent } from './types';
|
|
2
|
-
import { DEFAULT_MODEL_CONFIG_KEYS, DEFAULT_MODEL_CONFIG_KEYS_LEGACY, GROUNDING_MODEL_CONFIG_KEYS, PLANNING_MODEL_CONFIG_KEYS, VQA_MODEL_CONFIG_KEYS } from './constants';
|
|
3
|
-
type TModelConfigKeys = typeof VQA_MODEL_CONFIG_KEYS | typeof GROUNDING_MODEL_CONFIG_KEYS | typeof PLANNING_MODEL_CONFIG_KEYS | typeof DEFAULT_MODEL_CONFIG_KEYS | typeof DEFAULT_MODEL_CONFIG_KEYS_LEGACY;
|
|
4
|
-
/**
|
|
5
|
-
* Choose OpenAI SDK config, such as OpenAI, AzureOpenAI, AnthropicSDK, etc.
|
|
6
|
-
*/
|
|
7
|
-
export declare const decideOpenaiSdkConfig: ({ keys, provider, valueAssert, }: {
|
|
8
|
-
keys: TModelConfigKeys;
|
|
9
|
-
provider: Record<string, string | undefined>;
|
|
10
|
-
valueAssert: (value: string | undefined, key: string, modelVendorFlag?: string) => void;
|
|
11
|
-
}) => Omit<IModelConfig, "modelName" | "from" | "vlMode" | "uiTarsVersion" | "modelDescription" | "intent">;
|
|
12
|
-
export declare const decideModelConfigFromIntentConfig: (intent: TIntent, intentConfig: Record<string, string | undefined>) => IModelConfig;
|
|
13
|
-
export declare const decideModelConfigFromEnv: (intent: TIntent, allEnvConfig: Record<string, string | undefined>) => IModelConfig;
|
|
14
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type TVlModeTypes, UITarsModelVersion } from './types';
|
|
2
|
-
export declare const parseVlModeAndUiTarsModelVersionFromRawValue: (vlModeRaw?: string) => {
|
|
3
|
-
vlMode?: TVlModeTypes;
|
|
4
|
-
uiTarsVersion?: UITarsModelVersion;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* legacy logic of how to detect vlMode from process.env without intent
|
|
8
|
-
*/
|
|
9
|
-
export declare const parseVlModeAndUiTarsFromGlobalConfig: (provider: Record<string, string | undefined>) => {
|
|
10
|
-
vlMode?: TVlModeTypes;
|
|
11
|
-
uiTarsVersion?: UITarsModelVersion;
|
|
12
|
-
};
|
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
IModelConfig,
|
|
3
|
-
TIntent,
|
|
4
|
-
TVlModeTypes,
|
|
5
|
-
UITarsModelVersion,
|
|
6
|
-
} from './types';
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
DEFAULT_MODEL_CONFIG_KEYS,
|
|
10
|
-
DEFAULT_MODEL_CONFIG_KEYS_LEGACY,
|
|
11
|
-
GROUNDING_MODEL_CONFIG_KEYS,
|
|
12
|
-
PLANNING_MODEL_CONFIG_KEYS,
|
|
13
|
-
VQA_MODEL_CONFIG_KEYS,
|
|
14
|
-
} from './constants';
|
|
15
|
-
|
|
16
|
-
import { getDebug } from '../logger';
|
|
17
|
-
import { assert } from '../utils';
|
|
18
|
-
import { createAssert, maskConfig, parseJson } from './helper';
|
|
19
|
-
import { initDebugConfig } from './init-debug';
|
|
20
|
-
import {
|
|
21
|
-
parseVlModeAndUiTarsFromGlobalConfig,
|
|
22
|
-
parseVlModeAndUiTarsModelVersionFromRawValue,
|
|
23
|
-
} from './parse';
|
|
24
|
-
|
|
25
|
-
type TModelConfigKeys =
|
|
26
|
-
| typeof VQA_MODEL_CONFIG_KEYS
|
|
27
|
-
| typeof GROUNDING_MODEL_CONFIG_KEYS
|
|
28
|
-
| typeof PLANNING_MODEL_CONFIG_KEYS
|
|
29
|
-
| typeof DEFAULT_MODEL_CONFIG_KEYS
|
|
30
|
-
| typeof DEFAULT_MODEL_CONFIG_KEYS_LEGACY;
|
|
31
|
-
|
|
32
|
-
const KEYS_MAP: Record<TIntent, TModelConfigKeys> = {
|
|
33
|
-
VQA: VQA_MODEL_CONFIG_KEYS,
|
|
34
|
-
grounding: GROUNDING_MODEL_CONFIG_KEYS,
|
|
35
|
-
planning: PLANNING_MODEL_CONFIG_KEYS,
|
|
36
|
-
default: DEFAULT_MODEL_CONFIG_KEYS,
|
|
37
|
-
} as const;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Choose OpenAI SDK config, such as OpenAI, AzureOpenAI, AnthropicSDK, etc.
|
|
41
|
-
*/
|
|
42
|
-
export const decideOpenaiSdkConfig = ({
|
|
43
|
-
keys,
|
|
44
|
-
provider,
|
|
45
|
-
valueAssert,
|
|
46
|
-
}: {
|
|
47
|
-
keys: TModelConfigKeys;
|
|
48
|
-
provider: Record<string, string | undefined>;
|
|
49
|
-
valueAssert: (
|
|
50
|
-
value: string | undefined,
|
|
51
|
-
key: string,
|
|
52
|
-
modelVendorFlag?: string,
|
|
53
|
-
) => void;
|
|
54
|
-
}): Omit<
|
|
55
|
-
IModelConfig,
|
|
56
|
-
| 'modelName'
|
|
57
|
-
| 'from'
|
|
58
|
-
| 'vlMode'
|
|
59
|
-
| 'uiTarsVersion'
|
|
60
|
-
| 'modelDescription'
|
|
61
|
-
| 'intent'
|
|
62
|
-
> => {
|
|
63
|
-
initDebugConfig();
|
|
64
|
-
const debugLog = getDebug('ai:config');
|
|
65
|
-
|
|
66
|
-
const socksProxy = provider[keys.socksProxy];
|
|
67
|
-
const httpProxy = provider[keys.httpProxy];
|
|
68
|
-
const vlMode = provider[keys.vlMode];
|
|
69
|
-
|
|
70
|
-
debugLog('enter decideOpenaiSdkConfig with keys:', keys);
|
|
71
|
-
if (provider[keys.openaiUseAzureDeprecated]) {
|
|
72
|
-
debugLog(
|
|
73
|
-
`provider has ${keys.openaiUseAzureDeprecated} with value${provider[keys.openaiUseAzureDeprecated]}`,
|
|
74
|
-
);
|
|
75
|
-
const openaiBaseURL = provider[keys.openaiBaseURL];
|
|
76
|
-
const openaiApiKey = provider[keys.openaiApiKey];
|
|
77
|
-
const openaiExtraConfig = parseJson(
|
|
78
|
-
keys.openaiExtraConfig,
|
|
79
|
-
provider[keys.openaiExtraConfig],
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
valueAssert(openaiApiKey, keys.openaiApiKey, keys.openaiUseAzureDeprecated);
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
socksProxy,
|
|
86
|
-
httpProxy,
|
|
87
|
-
vlModeRaw: vlMode,
|
|
88
|
-
openaiUseAzureDeprecated: true,
|
|
89
|
-
openaiApiKey,
|
|
90
|
-
openaiBaseURL,
|
|
91
|
-
openaiExtraConfig,
|
|
92
|
-
};
|
|
93
|
-
} else if (provider[keys.useAzureOpenai]) {
|
|
94
|
-
debugLog(
|
|
95
|
-
`provider has ${keys.useAzureOpenai} with value ${provider[keys.useAzureOpenai]}`,
|
|
96
|
-
);
|
|
97
|
-
const azureOpenaiScope = provider[keys.azureOpenaiScope];
|
|
98
|
-
|
|
99
|
-
const azureOpenaiKey = provider[keys.azureOpenaiKey];
|
|
100
|
-
const azureOpenaiEndpoint = provider[keys.azureOpenaiEndpoint];
|
|
101
|
-
const azureOpenaiDeployment = provider[keys.azureOpenaiDeployment];
|
|
102
|
-
const azureOpenaiApiVersion = provider[keys.azureOpenaiApiVersion];
|
|
103
|
-
|
|
104
|
-
const azureExtraConfig = parseJson(
|
|
105
|
-
keys.azureExtraConfig,
|
|
106
|
-
provider[keys.azureExtraConfig],
|
|
107
|
-
);
|
|
108
|
-
const openaiExtraConfig = parseJson(
|
|
109
|
-
keys.openaiExtraConfig,
|
|
110
|
-
provider[keys.openaiExtraConfig],
|
|
111
|
-
);
|
|
112
|
-
|
|
113
|
-
valueAssert(azureOpenaiKey, keys.azureOpenaiKey, keys.useAzureOpenai);
|
|
114
|
-
|
|
115
|
-
return {
|
|
116
|
-
socksProxy,
|
|
117
|
-
httpProxy,
|
|
118
|
-
vlModeRaw: vlMode,
|
|
119
|
-
useAzureOpenai: true,
|
|
120
|
-
azureOpenaiScope,
|
|
121
|
-
azureOpenaiKey,
|
|
122
|
-
azureOpenaiEndpoint,
|
|
123
|
-
azureOpenaiDeployment,
|
|
124
|
-
azureOpenaiApiVersion,
|
|
125
|
-
azureExtraConfig,
|
|
126
|
-
openaiExtraConfig,
|
|
127
|
-
};
|
|
128
|
-
} else if (provider[keys.useAnthropicSdk]) {
|
|
129
|
-
debugLog(
|
|
130
|
-
`provider has ${keys.useAnthropicSdk} with value ${provider[keys.useAnthropicSdk]}`,
|
|
131
|
-
);
|
|
132
|
-
const anthropicApiKey = provider[keys.anthropicApiKey];
|
|
133
|
-
valueAssert(anthropicApiKey, keys.anthropicApiKey, keys.useAnthropicSdk);
|
|
134
|
-
|
|
135
|
-
return {
|
|
136
|
-
socksProxy,
|
|
137
|
-
httpProxy,
|
|
138
|
-
useAnthropicSdk: true,
|
|
139
|
-
anthropicApiKey,
|
|
140
|
-
};
|
|
141
|
-
} else {
|
|
142
|
-
debugLog('provider has no specific model SDK declared');
|
|
143
|
-
const openaiBaseURL = provider[keys.openaiBaseURL];
|
|
144
|
-
const openaiApiKey = provider[keys.openaiApiKey];
|
|
145
|
-
const openaiExtraConfig = parseJson(
|
|
146
|
-
keys.openaiExtraConfig,
|
|
147
|
-
provider[keys.openaiExtraConfig],
|
|
148
|
-
);
|
|
149
|
-
|
|
150
|
-
valueAssert(openaiApiKey, keys.openaiApiKey);
|
|
151
|
-
|
|
152
|
-
return {
|
|
153
|
-
socksProxy,
|
|
154
|
-
httpProxy,
|
|
155
|
-
vlModeRaw: vlMode,
|
|
156
|
-
openaiBaseURL,
|
|
157
|
-
openaiApiKey,
|
|
158
|
-
openaiExtraConfig,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
const getModelDescription = (
|
|
164
|
-
vlMode: TVlModeTypes | undefined,
|
|
165
|
-
uiTarsVersion: UITarsModelVersion | undefined,
|
|
166
|
-
) => {
|
|
167
|
-
if (vlMode) {
|
|
168
|
-
if (uiTarsVersion) {
|
|
169
|
-
return `UI-TARS=${uiTarsVersion}`;
|
|
170
|
-
} else {
|
|
171
|
-
return `${vlMode} mode`;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return '';
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
export const decideModelConfigFromIntentConfig = (
|
|
178
|
-
intent: TIntent,
|
|
179
|
-
intentConfig: Record<string, string | undefined>,
|
|
180
|
-
): IModelConfig => {
|
|
181
|
-
const debugLog = getDebug('ai:config');
|
|
182
|
-
|
|
183
|
-
debugLog('decideModelConfig base on agent.modelConfig()');
|
|
184
|
-
|
|
185
|
-
const keysForFn = KEYS_MAP[intent];
|
|
186
|
-
|
|
187
|
-
const candidateModelNameFromConfig = intentConfig[keysForFn.modelName];
|
|
188
|
-
|
|
189
|
-
debugLog('Got modelName from modelConfigFn', candidateModelNameFromConfig);
|
|
190
|
-
|
|
191
|
-
const chosenKeys = (() => {
|
|
192
|
-
if (candidateModelNameFromConfig) {
|
|
193
|
-
debugLog(
|
|
194
|
-
'query modelConfig from fn by intent got corresponding modelName, will get other corresponding keys',
|
|
195
|
-
);
|
|
196
|
-
return keysForFn;
|
|
197
|
-
} else {
|
|
198
|
-
debugLog(
|
|
199
|
-
'query modelConfig from fn by intent got no corresponding modelName, will get other keys by default',
|
|
200
|
-
);
|
|
201
|
-
assert(
|
|
202
|
-
intentConfig[DEFAULT_MODEL_CONFIG_KEYS.modelName],
|
|
203
|
-
`The return value of agent.modelConfig do not have a valid value with key ${DEFAULT_MODEL_CONFIG_KEYS.modelName}.`,
|
|
204
|
-
);
|
|
205
|
-
return DEFAULT_MODEL_CONFIG_KEYS;
|
|
206
|
-
}
|
|
207
|
-
})();
|
|
208
|
-
|
|
209
|
-
const result = decideOpenaiSdkConfig({
|
|
210
|
-
keys: chosenKeys,
|
|
211
|
-
provider: intentConfig,
|
|
212
|
-
valueAssert: createAssert(
|
|
213
|
-
chosenKeys.modelName,
|
|
214
|
-
'modelConfig',
|
|
215
|
-
candidateModelNameFromConfig,
|
|
216
|
-
),
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
const { vlMode, uiTarsVersion } =
|
|
220
|
-
parseVlModeAndUiTarsModelVersionFromRawValue(result.vlModeRaw);
|
|
221
|
-
|
|
222
|
-
const modelDescription = getModelDescription(vlMode, uiTarsVersion);
|
|
223
|
-
|
|
224
|
-
const finalResult: IModelConfig = {
|
|
225
|
-
...result,
|
|
226
|
-
modelName: intentConfig[chosenKeys.modelName]!,
|
|
227
|
-
vlMode,
|
|
228
|
-
uiTarsModelVersion: uiTarsVersion,
|
|
229
|
-
modelDescription,
|
|
230
|
-
from: 'modelConfig',
|
|
231
|
-
intent,
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
debugLog(
|
|
235
|
-
`decideModelConfig result by agent.modelConfig() with intent ${intent}:`,
|
|
236
|
-
maskConfig(finalResult),
|
|
237
|
-
);
|
|
238
|
-
return finalResult;
|
|
239
|
-
};
|
|
240
|
-
|
|
241
|
-
export const decideModelConfigFromEnv = (
|
|
242
|
-
intent: TIntent,
|
|
243
|
-
allEnvConfig: Record<string, string | undefined>,
|
|
244
|
-
): IModelConfig => {
|
|
245
|
-
initDebugConfig();
|
|
246
|
-
const debugLog = getDebug('ai:config');
|
|
247
|
-
|
|
248
|
-
const keysForEnv =
|
|
249
|
-
intent === 'default' ? DEFAULT_MODEL_CONFIG_KEYS_LEGACY : KEYS_MAP[intent];
|
|
250
|
-
|
|
251
|
-
if (intent !== 'default' && allEnvConfig[keysForEnv.modelName]) {
|
|
252
|
-
const modelName = allEnvConfig[keysForEnv.modelName]!;
|
|
253
|
-
|
|
254
|
-
debugLog(
|
|
255
|
-
`Got intent ${intent} corresponding modelName ${modelName} by key ${keysForEnv.modelName} from globalConfig, will get other config by intent.`,
|
|
256
|
-
);
|
|
257
|
-
|
|
258
|
-
const result = decideOpenaiSdkConfig({
|
|
259
|
-
keys: keysForEnv,
|
|
260
|
-
provider: allEnvConfig,
|
|
261
|
-
valueAssert: createAssert(keysForEnv.modelName, 'process.env', modelName),
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
const { vlMode, uiTarsVersion } =
|
|
265
|
-
parseVlModeAndUiTarsModelVersionFromRawValue(result.vlModeRaw);
|
|
266
|
-
const modelDescription = getModelDescription(vlMode, uiTarsVersion);
|
|
267
|
-
|
|
268
|
-
const finalResult: IModelConfig = {
|
|
269
|
-
...result,
|
|
270
|
-
modelName,
|
|
271
|
-
vlMode,
|
|
272
|
-
uiTarsModelVersion: uiTarsVersion,
|
|
273
|
-
modelDescription,
|
|
274
|
-
from: 'env',
|
|
275
|
-
intent,
|
|
276
|
-
};
|
|
277
|
-
|
|
278
|
-
debugLog(
|
|
279
|
-
`decideModelConfig result by process.env with intent ${intent}:`,
|
|
280
|
-
maskConfig(finalResult),
|
|
281
|
-
);
|
|
282
|
-
return finalResult;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
debugLog(`decideModelConfig as legacy logic with intent ${intent}.`);
|
|
286
|
-
|
|
287
|
-
// TODO: when fallback to legacy logic, prefer to read MIDSCENE_OPENAI_API_KEY rather than OPENAI_API_KEY
|
|
288
|
-
const result = decideOpenaiSdkConfig({
|
|
289
|
-
keys: DEFAULT_MODEL_CONFIG_KEYS_LEGACY,
|
|
290
|
-
provider: allEnvConfig,
|
|
291
|
-
valueAssert: createAssert(
|
|
292
|
-
DEFAULT_MODEL_CONFIG_KEYS_LEGACY.modelName,
|
|
293
|
-
'process.env',
|
|
294
|
-
),
|
|
295
|
-
});
|
|
296
|
-
|
|
297
|
-
const { vlMode, uiTarsVersion } =
|
|
298
|
-
parseVlModeAndUiTarsFromGlobalConfig(allEnvConfig);
|
|
299
|
-
|
|
300
|
-
const modelDescription = getModelDescription(vlMode, uiTarsVersion);
|
|
301
|
-
|
|
302
|
-
const finalResult: IModelConfig = {
|
|
303
|
-
...result,
|
|
304
|
-
// In the legacy logic, GPT-4o is the default model.
|
|
305
|
-
modelName:
|
|
306
|
-
allEnvConfig[DEFAULT_MODEL_CONFIG_KEYS_LEGACY.modelName] || 'gpt-4o',
|
|
307
|
-
vlMode,
|
|
308
|
-
uiTarsModelVersion: uiTarsVersion,
|
|
309
|
-
modelDescription,
|
|
310
|
-
from: 'legacy-env',
|
|
311
|
-
intent,
|
|
312
|
-
};
|
|
313
|
-
|
|
314
|
-
debugLog(
|
|
315
|
-
`decideModelConfig result by legacy logic with intent ${intent}:`,
|
|
316
|
-
maskConfig(finalResult),
|
|
317
|
-
);
|
|
318
|
-
return finalResult;
|
|
319
|
-
};
|