@midscene/shared 0.28.2 → 0.28.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 (36) hide show
  1. package/dist/es/env/{model-config.mjs → decide-model-config.mjs} +52 -50
  2. package/dist/es/env/global-config-manager.mjs +91 -0
  3. package/dist/es/env/index.mjs +3 -2
  4. package/dist/es/env/model-config-manager.mjs +95 -0
  5. package/dist/es/env/parse.mjs +8 -23
  6. package/dist/es/env/types.mjs +16 -1
  7. package/dist/es/env/utils.mjs +7 -52
  8. package/dist/lib/env/{model-config.js → decide-model-config.js} +57 -52
  9. package/dist/lib/env/global-config-manager.js +125 -0
  10. package/dist/lib/env/index.js +17 -8
  11. package/dist/lib/env/model-config-manager.js +129 -0
  12. package/dist/lib/env/parse.js +9 -27
  13. package/dist/lib/env/types.js +23 -2
  14. package/dist/lib/env/utils.js +12 -69
  15. package/dist/types/env/decide-model-config.d.ts +14 -0
  16. package/dist/types/env/global-config-manager.d.ts +32 -0
  17. package/dist/types/env/helper.d.ts +1 -1
  18. package/dist/types/env/index.d.ts +2 -1
  19. package/dist/types/env/model-config-manager.d.ts +23 -0
  20. package/dist/types/env/parse.d.ts +2 -13
  21. package/dist/types/env/types.d.ts +52 -2
  22. package/dist/types/env/utils.d.ts +4 -8
  23. package/package.json +1 -1
  24. package/src/env/{model-config.ts → decide-model-config.ts} +91 -139
  25. package/src/env/global-config-manager.ts +174 -0
  26. package/src/env/helper.ts +1 -1
  27. package/src/env/index.ts +2 -1
  28. package/src/env/model-config-manager.ts +135 -0
  29. package/src/env/parse.ts +5 -24
  30. package/src/env/types.ts +61 -3
  31. package/src/env/utils.ts +7 -98
  32. package/dist/es/env/global-config.mjs +0 -192
  33. package/dist/lib/env/global-config.js +0 -229
  34. package/dist/types/env/global-config.d.ts +0 -52
  35. package/dist/types/env/model-config.d.ts +0 -70
  36. package/src/env/global-config.ts +0 -329
@@ -24,8 +24,9 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- decideOpenaiSdkConfig: ()=>decideOpenaiSdkConfig,
28
- decideModelConfig: ()=>decideModelConfig
27
+ decideModelConfigFromEnv: ()=>decideModelConfigFromEnv,
28
+ decideModelConfigFromIntentConfig: ()=>decideModelConfigFromIntentConfig,
29
+ decideOpenaiSdkConfig: ()=>decideOpenaiSdkConfig
29
30
  });
30
31
  const external_constants_js_namespaceObject = require("./constants.js");
31
32
  const external_logger_js_namespaceObject = require("../logger.js");
@@ -41,7 +42,7 @@ const KEYS_MAP = {
41
42
  };
42
43
  const decideOpenaiSdkConfig = ({ keys, provider, valueAssert })=>{
43
44
  (0, external_init_debug_js_namespaceObject.initDebugConfig)();
44
- const debugLog = (0, external_logger_js_namespaceObject.getDebug)('ai:global:config');
45
+ const debugLog = (0, external_logger_js_namespaceObject.getDebug)('ai:config');
45
46
  const socksProxy = provider[keys.socksProxy];
46
47
  const httpProxy = provider[keys.httpProxy];
47
48
  const vlMode = provider[keys.vlMode];
@@ -118,61 +119,62 @@ const getModelDescription = (vlMode, uiTarsVersion)=>{
118
119
  else return `${vlMode} mode`;
119
120
  return '';
120
121
  };
121
- const decideModelConfig = ({ intent, modelConfigFromFn, allConfig })=>{
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)=>{
122
157
  (0, external_init_debug_js_namespaceObject.initDebugConfig)();
123
- const debugLog = (0, external_logger_js_namespaceObject.getDebug)('ai:globalConfig');
124
- if (modelConfigFromFn) {
125
- debugLog('decideModelConfig base on agent.modelConfig()');
126
- const keysForFn = KEYS_MAP[intent];
127
- const candidateModelNameFromConfig = modelConfigFromFn[keysForFn.modelName];
128
- debugLog('Got modelName from modelConfigFn', candidateModelNameFromConfig);
129
- const chosenKeys = (()=>{
130
- if (candidateModelNameFromConfig) {
131
- debugLog('query modelConfig from fn by intent got corresponding modelName, will get other corresponding keys');
132
- return keysForFn;
133
- }
134
- debugLog('query modelConfig from fn by intent got no corresponding modelName, will get other keys by default');
135
- (0, external_utils_js_namespaceObject.assert)(modelConfigFromFn[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}.`);
136
- return external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS;
137
- })();
138
- const result = decideOpenaiSdkConfig({
139
- keys: chosenKeys,
140
- provider: modelConfigFromFn,
141
- valueAssert: (0, external_helper_js_namespaceObject.createAssert)(chosenKeys.modelName, 'modelConfig', candidateModelNameFromConfig)
142
- });
143
- const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsFromRaw)(result.vlModeRaw);
144
- const modelDescription = getModelDescription(vlMode, uiTarsVersion);
145
- const finalResult = {
146
- ...result,
147
- modelName: modelConfigFromFn[chosenKeys.modelName],
148
- vlMode,
149
- uiTarsVersion,
150
- modelDescription,
151
- from: 'modelConfig'
152
- };
153
- debugLog(`decideModelConfig result by agent.modelConfig() with intent ${intent}:`, (0, external_helper_js_namespaceObject.maskConfig)(finalResult));
154
- return finalResult;
155
- }
158
+ const debugLog = (0, external_logger_js_namespaceObject.getDebug)('ai:config');
156
159
  const keysForEnv = 'default' === intent ? external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY : KEYS_MAP[intent];
157
- const candidateModelNameFromEnv = allConfig[keysForEnv.modelName];
158
- debugLog(`Get value of ${keysForEnv.modelName} from globalConfig`, candidateModelNameFromEnv);
159
- if ('default' !== intent && allConfig[keysForEnv.modelName]) {
160
- const modelName = allConfig[keysForEnv.modelName];
160
+ if ('default' !== intent && allEnvConfig[keysForEnv.modelName]) {
161
+ const modelName = allEnvConfig[keysForEnv.modelName];
161
162
  debugLog(`Got intent ${intent} corresponding modelName ${modelName} by key ${keysForEnv.modelName} from globalConfig, will get other config by intent.`);
162
163
  const result = decideOpenaiSdkConfig({
163
164
  keys: keysForEnv,
164
- provider: allConfig,
165
+ provider: allEnvConfig,
165
166
  valueAssert: (0, external_helper_js_namespaceObject.createAssert)(keysForEnv.modelName, 'process.env', modelName)
166
167
  });
167
- const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsFromRaw)(result.vlModeRaw);
168
+ const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsModelVersionFromRawValue)(result.vlModeRaw);
168
169
  const modelDescription = getModelDescription(vlMode, uiTarsVersion);
169
170
  const finalResult = {
170
171
  ...result,
171
172
  modelName,
172
173
  vlMode,
173
- uiTarsVersion,
174
+ uiTarsModelVersion: uiTarsVersion,
174
175
  modelDescription,
175
- from: 'env'
176
+ from: 'env',
177
+ intent
176
178
  };
177
179
  debugLog(`decideModelConfig result by process.env with intent ${intent}:`, (0, external_helper_js_namespaceObject.maskConfig)(finalResult));
178
180
  return finalResult;
@@ -180,26 +182,29 @@ const decideModelConfig = ({ intent, modelConfigFromFn, allConfig })=>{
180
182
  debugLog(`decideModelConfig as legacy logic with intent ${intent}.`);
181
183
  const result = decideOpenaiSdkConfig({
182
184
  keys: external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY,
183
- provider: allConfig,
185
+ provider: allEnvConfig,
184
186
  valueAssert: (0, external_helper_js_namespaceObject.createAssert)(external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY.modelName, 'process.env')
185
187
  });
186
- const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsFromGlobalConfig)(allConfig);
188
+ const { vlMode, uiTarsVersion } = (0, external_parse_js_namespaceObject.parseVlModeAndUiTarsFromGlobalConfig)(allEnvConfig);
187
189
  const modelDescription = getModelDescription(vlMode, uiTarsVersion);
188
190
  const finalResult = {
189
191
  ...result,
190
- modelName: allConfig[external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY.modelName] || 'gpt-4o',
192
+ modelName: allEnvConfig[external_constants_js_namespaceObject.DEFAULT_MODEL_CONFIG_KEYS_LEGACY.modelName] || 'gpt-4o',
191
193
  vlMode,
192
- uiTarsVersion,
194
+ uiTarsModelVersion: uiTarsVersion,
193
195
  modelDescription,
194
- from: 'legacy-env'
196
+ from: 'legacy-env',
197
+ intent
195
198
  };
196
199
  debugLog(`decideModelConfig result by legacy logic with intent ${intent}:`, (0, external_helper_js_namespaceObject.maskConfig)(finalResult));
197
200
  return finalResult;
198
201
  };
199
- exports.decideModelConfig = __webpack_exports__.decideModelConfig;
202
+ exports.decideModelConfigFromEnv = __webpack_exports__.decideModelConfigFromEnv;
203
+ exports.decideModelConfigFromIntentConfig = __webpack_exports__.decideModelConfigFromIntentConfig;
200
204
  exports.decideOpenaiSdkConfig = __webpack_exports__.decideOpenaiSdkConfig;
201
205
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
202
- "decideModelConfig",
206
+ "decideModelConfigFromEnv",
207
+ "decideModelConfigFromIntentConfig",
203
208
  "decideOpenaiSdkConfig"
204
209
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
205
210
  Object.defineProperty(exports, '__esModule', {
@@ -0,0 +1,125 @@
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
+ GlobalConfigManager: ()=>GlobalConfigManager
28
+ });
29
+ const external_init_debug_js_namespaceObject = require("./init-debug.js");
30
+ const external_types_js_namespaceObject = require("./types.js");
31
+ function _define_property(obj, key, value) {
32
+ if (key in obj) Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ else obj[key] = value;
39
+ return obj;
40
+ }
41
+ class GlobalConfigManager {
42
+ getAllEnvConfig() {
43
+ const envConfig = external_types_js_namespaceObject.ALL_ENV_KEYS.reduce((p, name)=>{
44
+ p[name] = process.env[name];
45
+ return p;
46
+ }, Object.create(null));
47
+ if (!this.override) return envConfig;
48
+ {
49
+ const { newConfig, extendMode } = this.override;
50
+ if (extendMode) return {
51
+ ...envConfig,
52
+ ...newConfig
53
+ };
54
+ return {
55
+ ...newConfig
56
+ };
57
+ }
58
+ }
59
+ getEnvConfigValue(key) {
60
+ const allConfig = this.getAllEnvConfig();
61
+ if (!external_types_js_namespaceObject.STRING_ENV_KEYS.includes(key)) throw new Error(`getEnvConfigValue with key ${key} is not supported.`);
62
+ if (key === external_types_js_namespaceObject.MATCH_BY_POSITION) throw new Error('MATCH_BY_POSITION is deprecated, use MIDSCENE_USE_VL_MODEL instead');
63
+ const value = allConfig[key];
64
+ this.keysHaveBeenRead[key] = true;
65
+ if ('string' == typeof value) return value.trim();
66
+ return value;
67
+ }
68
+ getEnvConfigInNumber(key) {
69
+ const allConfig = this.getAllEnvConfig();
70
+ if (!external_types_js_namespaceObject.NUMBER_ENV_KEYS.includes(key)) throw new Error(`getEnvConfigInNumber with key ${key} is not supported`);
71
+ const value = allConfig[key];
72
+ this.keysHaveBeenRead[key] = true;
73
+ return Number(value || '');
74
+ }
75
+ getEnvConfigInBoolean(key) {
76
+ const allConfig = this.getAllEnvConfig();
77
+ if (!external_types_js_namespaceObject.BOOLEAN_ENV_KEYS.includes(key)) throw new Error(`getEnvConfigInBoolean with key ${key} is not supported`);
78
+ const value = allConfig[key];
79
+ this.keysHaveBeenRead[key] = true;
80
+ if (!value) return false;
81
+ if (/^(true|1)$/i.test(value)) return true;
82
+ if (/^(false|0)$/i.test(value)) return false;
83
+ return !!value.trim();
84
+ }
85
+ registerModelConfigManager(globalModelConfigManager) {
86
+ this.globalModelConfigManager = globalModelConfigManager;
87
+ }
88
+ overrideAIConfig(newConfig, extendMode = false) {
89
+ var _this_override;
90
+ for(const key in newConfig){
91
+ if (![
92
+ ...external_types_js_namespaceObject.GLOBAL_ENV_KEYS,
93
+ ...external_types_js_namespaceObject.MODEL_ENV_KEYS
94
+ ].includes(key)) throw new Error(`Failed to override AI config, invalid key: ${key}`);
95
+ const value = newConfig[key];
96
+ 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}`);
97
+ if (this.keysHaveBeenRead[key]) console.warn(`Warning: try to override AI config with key ${key} ,but it has been read.`);
98
+ }
99
+ const savedNewConfig = extendMode ? {
100
+ ...null == (_this_override = this.override) ? void 0 : _this_override.newConfig,
101
+ ...newConfig
102
+ } : newConfig;
103
+ this.override = {
104
+ newConfig: {
105
+ ...savedNewConfig
106
+ },
107
+ extendMode
108
+ };
109
+ if (!this.globalModelConfigManager) throw new Error('globalModelConfigManager is not registered, which should not happen');
110
+ this.globalModelConfigManager.clearModelConfigMap();
111
+ }
112
+ constructor(){
113
+ _define_property(this, "override", void 0);
114
+ _define_property(this, "keysHaveBeenRead", {});
115
+ _define_property(this, "globalModelConfigManager", void 0);
116
+ (0, external_init_debug_js_namespaceObject.initDebugConfig)();
117
+ }
118
+ }
119
+ exports.GlobalConfigManager = __webpack_exports__.GlobalConfigManager;
120
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
121
+ "GlobalConfigManager"
122
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
123
+ Object.defineProperty(exports, '__esModule', {
124
+ value: true
125
+ });
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  var __webpack_modules__ = {
3
- "./parse": function(module) {
4
- module.exports = require("./parse.js");
3
+ "./global-config-manager": function(module) {
4
+ module.exports = require("./global-config-manager.js");
5
+ },
6
+ "./model-config-manager": function(module) {
7
+ module.exports = require("./model-config-manager.js");
5
8
  },
6
9
  "./types": function(module) {
7
10
  module.exports = require("./types.js");
@@ -54,13 +57,15 @@ var __webpack_exports__ = {};
54
57
  (()=>{
55
58
  __webpack_require__.r(__webpack_exports__);
56
59
  __webpack_require__.d(__webpack_exports__, {
57
- UITarsModelVersion: ()=>_parse__WEBPACK_IMPORTED_MODULE_2__.UITarsModelVersion
60
+ GlobalConfigManager: ()=>_global_config_manager__WEBPACK_IMPORTED_MODULE_3__.GlobalConfigManager,
61
+ ModelConfigManager: ()=>_model_config_manager__WEBPACK_IMPORTED_MODULE_2__.ModelConfigManager
58
62
  });
59
63
  var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./utils");
60
64
  var __WEBPACK_REEXPORT_OBJECT__ = {};
61
65
  for(var __WEBPACK_IMPORT_KEY__ in _utils__WEBPACK_IMPORTED_MODULE_0__)if ([
62
66
  "default",
63
- "UITarsModelVersion"
67
+ "GlobalConfigManager",
68
+ "ModelConfigManager"
64
69
  ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
65
70
  return _utils__WEBPACK_IMPORTED_MODULE_0__[key];
66
71
  }).bind(0, __WEBPACK_IMPORT_KEY__);
@@ -69,16 +74,20 @@ var __webpack_exports__ = {};
69
74
  var __WEBPACK_REEXPORT_OBJECT__ = {};
70
75
  for(var __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_1__)if ([
71
76
  "default",
72
- "UITarsModelVersion"
77
+ "GlobalConfigManager",
78
+ "ModelConfigManager"
73
79
  ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
74
80
  return _types__WEBPACK_IMPORTED_MODULE_1__[key];
75
81
  }).bind(0, __WEBPACK_IMPORT_KEY__);
76
82
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
77
- var _parse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./parse");
83
+ var _model_config_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./model-config-manager");
84
+ var _global_config_manager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./global-config-manager");
78
85
  })();
79
- exports.UITarsModelVersion = __webpack_exports__.UITarsModelVersion;
86
+ exports.GlobalConfigManager = __webpack_exports__.GlobalConfigManager;
87
+ exports.ModelConfigManager = __webpack_exports__.ModelConfigManager;
80
88
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
81
- "UITarsModelVersion"
89
+ "GlobalConfigManager",
90
+ "ModelConfigManager"
82
91
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
83
92
  Object.defineProperty(exports, '__esModule', {
84
93
  value: true
@@ -0,0 +1,129 @@
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
+ ModelConfigManager: ()=>ModelConfigManager
28
+ });
29
+ const external_decide_model_config_js_namespaceObject = require("./decide-model-config.js");
30
+ function _define_property(obj, key, value) {
31
+ if (key in obj) Object.defineProperty(obj, key, {
32
+ value: value,
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true
36
+ });
37
+ else obj[key] = value;
38
+ return obj;
39
+ }
40
+ const ALL_INTENTS = [
41
+ 'VQA',
42
+ 'default',
43
+ 'grounding',
44
+ 'planning'
45
+ ];
46
+ class ModelConfigManager {
47
+ calcIntentConfigMap(modelConfigFn) {
48
+ const intentConfigMap = {
49
+ VQA: void 0,
50
+ default: void 0,
51
+ grounding: void 0,
52
+ planning: void 0
53
+ };
54
+ for (const i of ALL_INTENTS){
55
+ const result = modelConfigFn({
56
+ intent: i
57
+ });
58
+ if (!result) throw new Error(`The agent has an option named modelConfig is a function, but it return ${result} when call with intent ${i}, which should be a object.`);
59
+ intentConfigMap[i] = result;
60
+ }
61
+ return intentConfigMap;
62
+ }
63
+ calcModelConfigMapBaseOnIntent(intentConfigMap) {
64
+ const modelConfigMap = {
65
+ VQA: void 0,
66
+ default: void 0,
67
+ grounding: void 0,
68
+ planning: void 0
69
+ };
70
+ for (const i of ALL_INTENTS){
71
+ const result = (0, external_decide_model_config_js_namespaceObject.decideModelConfigFromIntentConfig)(i, intentConfigMap[i]);
72
+ modelConfigMap[i] = result;
73
+ }
74
+ return modelConfigMap;
75
+ }
76
+ calcModelConfigMapBaseOnEnv(allEnvConfig) {
77
+ const modelConfigMap = {
78
+ VQA: void 0,
79
+ default: void 0,
80
+ grounding: void 0,
81
+ planning: void 0
82
+ };
83
+ for (const i of ALL_INTENTS){
84
+ const result = (0, external_decide_model_config_js_namespaceObject.decideModelConfigFromEnv)(i, allEnvConfig);
85
+ modelConfigMap[i] = result;
86
+ }
87
+ return modelConfigMap;
88
+ }
89
+ clearModelConfigMap() {
90
+ if (this.isolatedMode) throw new Error('ModelConfigManager work in isolated mode, so clearModelConfigMap should not be called');
91
+ this.modelConfigMap = void 0;
92
+ }
93
+ getModelConfig(intent) {
94
+ if (this.isolatedMode) {
95
+ if (!this.modelConfigMap) throw new Error('modelConfigMap is not initialized in isolated mode, which should not happen');
96
+ return this.modelConfigMap[intent];
97
+ }
98
+ if (!this.modelConfigMap) {
99
+ if (!this.globalConfigManager) throw new Error('globalConfigManager is not registered, which should not happen');
100
+ this.modelConfigMap = this.calcModelConfigMapBaseOnEnv(this.globalConfigManager.getAllEnvConfig());
101
+ }
102
+ return this.modelConfigMap[intent];
103
+ }
104
+ getUploadTestServerUrl() {
105
+ const { openaiExtraConfig } = this.getModelConfig('default');
106
+ const serverUrl = null == openaiExtraConfig ? void 0 : openaiExtraConfig.REPORT_SERVER_URL;
107
+ return serverUrl;
108
+ }
109
+ registerGlobalConfigManager(globalConfigManager) {
110
+ this.globalConfigManager = globalConfigManager;
111
+ }
112
+ constructor(modelConfigFn){
113
+ _define_property(this, "modelConfigMap", void 0);
114
+ _define_property(this, "isolatedMode", false);
115
+ _define_property(this, "globalConfigManager", void 0);
116
+ if (modelConfigFn) {
117
+ this.isolatedMode = true;
118
+ const intentConfigMap = this.calcIntentConfigMap(modelConfigFn);
119
+ this.modelConfigMap = this.calcModelConfigMapBaseOnIntent(intentConfigMap);
120
+ }
121
+ }
122
+ }
123
+ exports.ModelConfigManager = __webpack_exports__.ModelConfigManager;
124
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
125
+ "ModelConfigManager"
126
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
127
+ Object.defineProperty(exports, '__esModule', {
128
+ value: true
129
+ });
@@ -24,40 +24,24 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- parseVlModeAndUiTarsFromRaw: ()=>parseVlModeAndUiTarsFromRaw,
28
27
  parseVlModeAndUiTarsFromGlobalConfig: ()=>parseVlModeAndUiTarsFromGlobalConfig,
29
- UITarsModelVersion: ()=>parse_UITarsModelVersion
28
+ parseVlModeAndUiTarsModelVersionFromRawValue: ()=>parseVlModeAndUiTarsModelVersionFromRawValue
30
29
  });
31
30
  const external_types_js_namespaceObject = require("./types.js");
32
- var parse_UITarsModelVersion = /*#__PURE__*/ function(UITarsModelVersion) {
33
- UITarsModelVersion["V1_0"] = "1.0";
34
- UITarsModelVersion["V1_5"] = "1.5";
35
- UITarsModelVersion["DOUBAO_1_5_15B"] = "doubao-1.5-15B";
36
- UITarsModelVersion["DOUBAO_1_5_20B"] = "doubao-1.5-20B";
37
- return UITarsModelVersion;
38
- }({});
39
- const vlModeRawValidValues = [
40
- 'doubao-vision',
41
- 'gemini',
42
- 'qwen-vl',
43
- 'vlm-ui-tars',
44
- 'vlm-ui-tars-doubao',
45
- 'vlm-ui-tars-doubao-1.5'
46
- ];
47
- const parseVlModeAndUiTarsFromRaw = (vlModeRaw)=>{
31
+ const parseVlModeAndUiTarsModelVersionFromRawValue = (vlModeRaw)=>{
48
32
  if (!vlModeRaw) return {
49
33
  vlMode: void 0,
50
34
  uiTarsVersion: void 0
51
35
  };
52
- if (!vlModeRawValidValues.includes(vlModeRaw)) throw new Error(`the value ${vlModeRaw} is not a valid VL_MODE value, must be one of ${vlModeRawValidValues}`);
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}`);
53
37
  const raw = vlModeRaw;
54
38
  if ('vlm-ui-tars' === raw) return {
55
39
  vlMode: 'vlm-ui-tars',
56
- uiTarsVersion: "1.0"
40
+ uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.V1_0
57
41
  };
58
42
  if ('vlm-ui-tars-doubao' === raw || 'vlm-ui-tars-doubao-1.5' === raw) return {
59
43
  vlMode: 'vlm-ui-tars',
60
- uiTarsVersion: "doubao-1.5-20B"
44
+ uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.DOUBAO_1_5_20B
61
45
  };
62
46
  return {
63
47
  vlMode: raw,
@@ -90,11 +74,11 @@ const parseVlModeAndUiTarsFromGlobalConfig = (provider)=>{
90
74
  };
91
75
  if (isUiTars) if ('1' === isUiTars) return {
92
76
  vlMode: 'vlm-ui-tars',
93
- uiTarsVersion: "1.0"
77
+ uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.V1_0
94
78
  };
95
79
  else if ('DOUBAO' === isUiTars || 'DOUBAO-1.5' === isUiTars) return {
96
80
  vlMode: 'vlm-ui-tars',
97
- uiTarsVersion: "doubao-1.5-20B"
81
+ uiTarsVersion: external_types_js_namespaceObject.UITarsModelVersion.DOUBAO_1_5_20B
98
82
  };
99
83
  else return {
100
84
  vlMode: 'vlm-ui-tars',
@@ -105,13 +89,11 @@ const parseVlModeAndUiTarsFromGlobalConfig = (provider)=>{
105
89
  uiTarsVersion: void 0
106
90
  };
107
91
  };
108
- exports.UITarsModelVersion = __webpack_exports__.UITarsModelVersion;
109
92
  exports.parseVlModeAndUiTarsFromGlobalConfig = __webpack_exports__.parseVlModeAndUiTarsFromGlobalConfig;
110
- exports.parseVlModeAndUiTarsFromRaw = __webpack_exports__.parseVlModeAndUiTarsFromRaw;
93
+ exports.parseVlModeAndUiTarsModelVersionFromRawValue = __webpack_exports__.parseVlModeAndUiTarsModelVersionFromRawValue;
111
94
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
112
- "UITarsModelVersion",
113
95
  "parseVlModeAndUiTarsFromGlobalConfig",
114
- "parseVlModeAndUiTarsFromRaw"
96
+ "parseVlModeAndUiTarsModelVersionFromRawValue"
115
97
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
116
98
  Object.defineProperty(exports, '__esModule', {
117
99
  value: true
@@ -135,7 +135,9 @@ __webpack_require__.d(__webpack_exports__, {
135
135
  OPENAI_MAX_TOKENS: ()=>OPENAI_MAX_TOKENS,
136
136
  OPENAI_USE_AZURE: ()=>OPENAI_USE_AZURE,
137
137
  STRING_ENV_KEYS: ()=>STRING_ENV_KEYS,
138
- UNUSED_ENV_KEYS: ()=>UNUSED_ENV_KEYS
138
+ UITarsModelVersion: ()=>UITarsModelVersion,
139
+ UNUSED_ENV_KEYS: ()=>UNUSED_ENV_KEYS,
140
+ VL_MODE_RAW_VALID_VALUES: ()=>VL_MODE_RAW_VALID_VALUES
139
141
  });
140
142
  const MIDSCENE_OPENAI_INIT_CONFIG_JSON = 'MIDSCENE_OPENAI_INIT_CONFIG_JSON';
141
143
  const MIDSCENE_MODEL_NAME = 'MIDSCENE_MODEL_NAME';
@@ -367,6 +369,21 @@ const ALL_ENV_KEYS = [
367
369
  ...GLOBAL_ENV_KEYS,
368
370
  ...MODEL_ENV_KEYS
369
371
  ];
372
+ var UITarsModelVersion = /*#__PURE__*/ function(UITarsModelVersion) {
373
+ UITarsModelVersion["V1_0"] = "1.0";
374
+ UITarsModelVersion["V1_5"] = "1.5";
375
+ UITarsModelVersion["DOUBAO_1_5_15B"] = "doubao-1.5-15B";
376
+ UITarsModelVersion["DOUBAO_1_5_20B"] = "doubao-1.5-20B";
377
+ return UITarsModelVersion;
378
+ }({});
379
+ const VL_MODE_RAW_VALID_VALUES = [
380
+ 'doubao-vision',
381
+ 'gemini',
382
+ 'qwen-vl',
383
+ 'vlm-ui-tars',
384
+ 'vlm-ui-tars-doubao',
385
+ 'vlm-ui-tars-doubao-1.5'
386
+ ];
370
387
  exports.ALL_ENV_KEYS = __webpack_exports__.ALL_ENV_KEYS;
371
388
  exports.ANTHROPIC_API_KEY = __webpack_exports__.ANTHROPIC_API_KEY;
372
389
  exports.AZURE_OPENAI_API_VERSION = __webpack_exports__.AZURE_OPENAI_API_VERSION;
@@ -478,7 +495,9 @@ exports.OPENAI_BASE_URL = __webpack_exports__.OPENAI_BASE_URL;
478
495
  exports.OPENAI_MAX_TOKENS = __webpack_exports__.OPENAI_MAX_TOKENS;
479
496
  exports.OPENAI_USE_AZURE = __webpack_exports__.OPENAI_USE_AZURE;
480
497
  exports.STRING_ENV_KEYS = __webpack_exports__.STRING_ENV_KEYS;
498
+ exports.UITarsModelVersion = __webpack_exports__.UITarsModelVersion;
481
499
  exports.UNUSED_ENV_KEYS = __webpack_exports__.UNUSED_ENV_KEYS;
500
+ exports.VL_MODE_RAW_VALID_VALUES = __webpack_exports__.VL_MODE_RAW_VALID_VALUES;
482
501
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
483
502
  "ALL_ENV_KEYS",
484
503
  "ANTHROPIC_API_KEY",
@@ -591,7 +610,9 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
591
610
  "OPENAI_MAX_TOKENS",
592
611
  "OPENAI_USE_AZURE",
593
612
  "STRING_ENV_KEYS",
594
- "UNUSED_ENV_KEYS"
613
+ "UITarsModelVersion",
614
+ "UNUSED_ENV_KEYS",
615
+ "VL_MODE_RAW_VALID_VALUES"
595
616
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
596
617
  Object.defineProperty(exports, '__esModule', {
597
618
  value: true