import { MIDSCENE_INSIGHT_MODEL_API_KEY, MIDSCENE_INSIGHT_MODEL_AUTH_MODE, 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_PROTOCOL, MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET, MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT, MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED, MIDSCENE_INSIGHT_MODEL_RESPONSE_FORMAT, MIDSCENE_INSIGHT_MODEL_RETRY_COUNT, MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL, MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY, MIDSCENE_INSIGHT_MODEL_STREAM_MODE, MIDSCENE_INSIGHT_MODEL_TEMPERATURE, MIDSCENE_INSIGHT_MODEL_TIMEOUT, MIDSCENE_LOCATE_MODEL_API_KEY, MIDSCENE_LOCATE_MODEL_AUTH_MODE, MIDSCENE_LOCATE_MODEL_BASE_URL, MIDSCENE_LOCATE_MODEL_EXTRA_BODY_JSON, MIDSCENE_LOCATE_MODEL_FAMILY, MIDSCENE_LOCATE_MODEL_HTTP_PROXY, MIDSCENE_LOCATE_MODEL_INIT_CONFIG_JSON, MIDSCENE_LOCATE_MODEL_NAME, MIDSCENE_LOCATE_MODEL_PROTOCOL, MIDSCENE_LOCATE_MODEL_REASONING_BUDGET, MIDSCENE_LOCATE_MODEL_REASONING_EFFORT, MIDSCENE_LOCATE_MODEL_REASONING_ENABLED, MIDSCENE_LOCATE_MODEL_RESPONSE_FORMAT, MIDSCENE_LOCATE_MODEL_RETRY_COUNT, MIDSCENE_LOCATE_MODEL_RETRY_INTERVAL, MIDSCENE_LOCATE_MODEL_SOCKS_PROXY, MIDSCENE_LOCATE_MODEL_STREAM_MODE, MIDSCENE_LOCATE_MODEL_TEMPERATURE, MIDSCENE_LOCATE_MODEL_TIMEOUT, MIDSCENE_MODEL_API_KEY, MIDSCENE_MODEL_AUTH_MODE, 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_PROTOCOL, MIDSCENE_MODEL_REASONING_BUDGET, MIDSCENE_MODEL_REASONING_EFFORT, MIDSCENE_MODEL_REASONING_ENABLED, MIDSCENE_MODEL_RESPONSE_FORMAT, MIDSCENE_MODEL_RETRY_COUNT, MIDSCENE_MODEL_RETRY_INTERVAL, MIDSCENE_MODEL_SOCKS_PROXY, MIDSCENE_MODEL_STREAM_MODE, 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_AUTH_MODE, 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_PROTOCOL, MIDSCENE_PLANNING_MODEL_REASONING_BUDGET, MIDSCENE_PLANNING_MODEL_REASONING_EFFORT, MIDSCENE_PLANNING_MODEL_REASONING_ENABLED, MIDSCENE_PLANNING_MODEL_RESPONSE_FORMAT, MIDSCENE_PLANNING_MODEL_RETRY_COUNT, MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL, MIDSCENE_PLANNING_MODEL_SOCKS_PROXY, MIDSCENE_PLANNING_MODEL_STREAM_MODE, MIDSCENE_PLANNING_MODEL_TEMPERATURE, MIDSCENE_PLANNING_MODEL_TIMEOUT, OPENAI_API_KEY, OPENAI_BASE_URL, } from './types'; interface IModelConfigKeys { modelName: string; /** * proxy */ socksProxy: string; httpProxy: string; /** * OpenAI */ openaiBaseURL: string; openaiApiKey: string; openaiExtraConfig: string; extraBody: string; protocol: string; streamMode: string; authMode: string; /** * Extra */ modelFamily: string; /** * Timeout */ timeout: string; /** * Temperature */ temperature: string; /** * Retry */ retryCount: string; retryInterval: string; reasoningEffort: string; reasoningEnabled: string; reasoningBudget: string; responseFormat: string; } export const INSIGHT_MODEL_CONFIG_KEYS: IModelConfigKeys = { modelName: MIDSCENE_INSIGHT_MODEL_NAME, /** * proxy */ socksProxy: MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY, httpProxy: MIDSCENE_INSIGHT_MODEL_HTTP_PROXY, /** * OpenAI */ openaiBaseURL: MIDSCENE_INSIGHT_MODEL_BASE_URL, openaiApiKey: MIDSCENE_INSIGHT_MODEL_API_KEY, openaiExtraConfig: MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON, extraBody: MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON, protocol: MIDSCENE_INSIGHT_MODEL_PROTOCOL, streamMode: MIDSCENE_INSIGHT_MODEL_STREAM_MODE, authMode: MIDSCENE_INSIGHT_MODEL_AUTH_MODE, /** * Extra */ modelFamily: MIDSCENE_INSIGHT_MODEL_FAMILY, /** * Timeout */ timeout: MIDSCENE_INSIGHT_MODEL_TIMEOUT, /** * Temperature */ temperature: MIDSCENE_INSIGHT_MODEL_TEMPERATURE, /** * Retry */ retryCount: MIDSCENE_INSIGHT_MODEL_RETRY_COUNT, retryInterval: MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL, reasoningEffort: MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT, reasoningEnabled: MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED, reasoningBudget: MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET, responseFormat: MIDSCENE_INSIGHT_MODEL_RESPONSE_FORMAT, } as const; export const LOCATE_MODEL_CONFIG_KEYS: IModelConfigKeys = { modelName: MIDSCENE_LOCATE_MODEL_NAME, /** * proxy */ socksProxy: MIDSCENE_LOCATE_MODEL_SOCKS_PROXY, httpProxy: MIDSCENE_LOCATE_MODEL_HTTP_PROXY, /** * OpenAI */ openaiBaseURL: MIDSCENE_LOCATE_MODEL_BASE_URL, openaiApiKey: MIDSCENE_LOCATE_MODEL_API_KEY, openaiExtraConfig: MIDSCENE_LOCATE_MODEL_INIT_CONFIG_JSON, extraBody: MIDSCENE_LOCATE_MODEL_EXTRA_BODY_JSON, protocol: MIDSCENE_LOCATE_MODEL_PROTOCOL, streamMode: MIDSCENE_LOCATE_MODEL_STREAM_MODE, authMode: MIDSCENE_LOCATE_MODEL_AUTH_MODE, /** * Extra */ modelFamily: MIDSCENE_LOCATE_MODEL_FAMILY, /** * Timeout */ timeout: MIDSCENE_LOCATE_MODEL_TIMEOUT, /** * Temperature */ temperature: MIDSCENE_LOCATE_MODEL_TEMPERATURE, /** * Retry */ retryCount: MIDSCENE_LOCATE_MODEL_RETRY_COUNT, retryInterval: MIDSCENE_LOCATE_MODEL_RETRY_INTERVAL, reasoningEffort: MIDSCENE_LOCATE_MODEL_REASONING_EFFORT, reasoningEnabled: MIDSCENE_LOCATE_MODEL_REASONING_ENABLED, reasoningBudget: MIDSCENE_LOCATE_MODEL_REASONING_BUDGET, responseFormat: MIDSCENE_LOCATE_MODEL_RESPONSE_FORMAT, } as const; export const PLANNING_MODEL_CONFIG_KEYS: IModelConfigKeys = { modelName: MIDSCENE_PLANNING_MODEL_NAME, /** * proxy */ socksProxy: MIDSCENE_PLANNING_MODEL_SOCKS_PROXY, httpProxy: MIDSCENE_PLANNING_MODEL_HTTP_PROXY, /** * OpenAI */ openaiBaseURL: MIDSCENE_PLANNING_MODEL_BASE_URL, openaiApiKey: MIDSCENE_PLANNING_MODEL_API_KEY, openaiExtraConfig: MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON, extraBody: MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON, protocol: MIDSCENE_PLANNING_MODEL_PROTOCOL, streamMode: MIDSCENE_PLANNING_MODEL_STREAM_MODE, authMode: MIDSCENE_PLANNING_MODEL_AUTH_MODE, /** * Extra */ modelFamily: MIDSCENE_PLANNING_MODEL_FAMILY, /** * Timeout */ timeout: MIDSCENE_PLANNING_MODEL_TIMEOUT, /** * Temperature */ temperature: MIDSCENE_PLANNING_MODEL_TEMPERATURE, /** * Retry */ retryCount: MIDSCENE_PLANNING_MODEL_RETRY_COUNT, retryInterval: MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL, reasoningEffort: MIDSCENE_PLANNING_MODEL_REASONING_EFFORT, reasoningEnabled: MIDSCENE_PLANNING_MODEL_REASONING_ENABLED, reasoningBudget: MIDSCENE_PLANNING_MODEL_REASONING_BUDGET, responseFormat: MIDSCENE_PLANNING_MODEL_RESPONSE_FORMAT, } as const; // modelConfig return default export const DEFAULT_MODEL_CONFIG_KEYS: IModelConfigKeys = { modelName: MIDSCENE_MODEL_NAME, /** * proxy */ socksProxy: MIDSCENE_MODEL_SOCKS_PROXY, httpProxy: MIDSCENE_MODEL_HTTP_PROXY, /** * OpenAI */ openaiBaseURL: MIDSCENE_MODEL_BASE_URL, openaiApiKey: MIDSCENE_MODEL_API_KEY, openaiExtraConfig: MIDSCENE_MODEL_INIT_CONFIG_JSON, extraBody: MIDSCENE_MODEL_EXTRA_BODY_JSON, protocol: MIDSCENE_MODEL_PROTOCOL, streamMode: MIDSCENE_MODEL_STREAM_MODE, authMode: MIDSCENE_MODEL_AUTH_MODE, /** * Extra */ modelFamily: MIDSCENE_MODEL_FAMILY, /** * Timeout */ timeout: MIDSCENE_MODEL_TIMEOUT, /** * Temperature */ temperature: MIDSCENE_MODEL_TEMPERATURE, /** * Retry */ retryCount: MIDSCENE_MODEL_RETRY_COUNT, retryInterval: MIDSCENE_MODEL_RETRY_INTERVAL, reasoningEffort: MIDSCENE_MODEL_REASONING_EFFORT, reasoningEnabled: MIDSCENE_MODEL_REASONING_ENABLED, reasoningBudget: MIDSCENE_MODEL_REASONING_BUDGET, responseFormat: MIDSCENE_MODEL_RESPONSE_FORMAT, } as const; // read from process.env export const DEFAULT_MODEL_CONFIG_KEYS_LEGACY: IModelConfigKeys = { modelName: MIDSCENE_MODEL_NAME, /** * proxy - Uses legacy MIDSCENE_OPENAI_* variables for backward compatibility */ socksProxy: MIDSCENE_OPENAI_SOCKS_PROXY, httpProxy: MIDSCENE_OPENAI_HTTP_PROXY, /** * Model API - Uses legacy OPENAI_* variables for backward compatibility */ openaiBaseURL: OPENAI_BASE_URL, openaiApiKey: OPENAI_API_KEY, openaiExtraConfig: MIDSCENE_OPENAI_INIT_CONFIG_JSON, extraBody: MIDSCENE_MODEL_EXTRA_BODY_JSON, protocol: MIDSCENE_MODEL_PROTOCOL, streamMode: MIDSCENE_MODEL_STREAM_MODE, authMode: MIDSCENE_MODEL_AUTH_MODE, /** * Extra */ modelFamily: 'DEFAULT_MODEL_CONFIG_KEYS has no modelFamily key', /** * Timeout - use the new key for legacy mode too */ timeout: MIDSCENE_MODEL_TIMEOUT, /** * Temperature - use the new key for legacy mode too */ temperature: MIDSCENE_MODEL_TEMPERATURE, /** * Retry - use the new key for legacy mode too */ retryCount: MIDSCENE_MODEL_RETRY_COUNT, retryInterval: MIDSCENE_MODEL_RETRY_INTERVAL, reasoningEffort: MIDSCENE_MODEL_REASONING_EFFORT, reasoningEnabled: MIDSCENE_MODEL_REASONING_ENABLED, reasoningBudget: MIDSCENE_MODEL_REASONING_BUDGET, responseFormat: MIDSCENE_MODEL_RESPONSE_FORMAT, } as const;