@mseep/local-api-mcp-typescript
Version:
A Model Context Protocol server that AdsPower browser LocalAPI. This server enables LLMs to interact with start browser, create browser, update browser fingerprint config ...
58 lines (57 loc) • 1.83 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildRequestBody = buildRequestBody;
function buildRequestBody(params) {
const requestBody = {};
const basicFields = {
domainName: 'domain_name',
openUrls: 'open_urls',
cookie: 'cookie',
username: 'username',
password: 'password',
groupId: 'group_id',
name: 'name',
country: 'country',
sysAppCateId: 'sys_app_cate_id',
userId: 'user_id'
};
Object.entries(basicFields).forEach(([paramKey, key]) => {
const value = params[paramKey];
if (value !== undefined) {
requestBody[key] = value;
}
});
if (params.userProxyConfig) {
const proxyConfig = buildNestedConfig(params.userProxyConfig);
if (Object.keys(proxyConfig).length > 0) {
requestBody.user_proxy_config = proxyConfig;
}
}
if (params.fingerprintConfig) {
const fpConfig = buildNestedConfig(params.fingerprintConfig);
if (Object.keys(fpConfig).length > 0) {
requestBody.fingerprint_config = fpConfig;
}
}
if (params.storageStrategy !== undefined) {
requestBody.storage_strategy = params.storageStrategy;
}
return requestBody;
}
function buildNestedConfig(config) {
const result = {};
Object.entries(config).forEach(([key, value]) => {
if (value !== undefined) {
if (typeof value === 'object' && value !== null) {
const nestedConfig = buildNestedConfig(value);
if (Object.keys(nestedConfig).length > 0) {
result[key] = nestedConfig;
}
}
else {
result[key] = value;
}
}
});
return result;
}
;