@midscene/android 1.7.5-beta-20260420052829.0 → 1.7.5-beta-20260420061332.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/cli.mjs +6 -28
- package/dist/es/index.mjs +5 -27
- package/dist/es/mcp-server.mjs +6 -29
- package/dist/lib/cli.js +7 -29
- package/dist/lib/index.js +6 -28
- package/dist/lib/mcp-server.js +6 -29
- package/dist/types/index.d.ts +3 -5
- package/dist/types/mcp-server.d.ts +3 -5
- package/package.json +4 -4
package/dist/es/cli.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as __rspack_external_node_module_ab9f2194 from "node:module";
|
|
|
4
4
|
import * as __rspack_external_node_path_c5b9b54f from "node:path";
|
|
5
5
|
import { createReportCliCommands, getMidsceneLocationSchema, z } from "@midscene/core";
|
|
6
6
|
import { CLIError, runToolsCLI } from "@midscene/shared/cli";
|
|
7
|
-
import { BaseMidsceneTools } from "@midscene/shared/mcp
|
|
7
|
+
import { BaseMidsceneTools } from "@midscene/shared/mcp";
|
|
8
8
|
import { Agent } from "@midscene/core/agent";
|
|
9
9
|
import { mergeAndNormalizeAppNameMapping, normalizeForComparison, repeat } from "@midscene/shared/utils";
|
|
10
10
|
import node_assert from "node:assert";
|
|
@@ -1929,16 +1929,6 @@ async function agentFromAdbDevice(deviceId, opts) {
|
|
|
1929
1929
|
await device.connect();
|
|
1930
1930
|
return new AndroidAgent(device, opts);
|
|
1931
1931
|
}
|
|
1932
|
-
function mcp_tools_define_property(obj, key, value) {
|
|
1933
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
1934
|
-
value: value,
|
|
1935
|
-
enumerable: true,
|
|
1936
|
-
configurable: true,
|
|
1937
|
-
writable: true
|
|
1938
|
-
});
|
|
1939
|
-
else obj[key] = value;
|
|
1940
|
-
return obj;
|
|
1941
|
-
}
|
|
1942
1932
|
const debug = (0, logger_.getDebug)('mcp:android-tools');
|
|
1943
1933
|
class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
1944
1934
|
createTemporaryDevice() {
|
|
@@ -1966,10 +1956,10 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
|
1966
1956
|
{
|
|
1967
1957
|
name: 'android_connect',
|
|
1968
1958
|
description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
|
|
1969
|
-
schema:
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1959
|
+
schema: {
|
|
1960
|
+
deviceId: z.string().optional().describe('Android device ID (from adb devices)')
|
|
1961
|
+
},
|
|
1962
|
+
handler: async ({ deviceId })=>{
|
|
1973
1963
|
const agent = await this.ensureAgent(deviceId);
|
|
1974
1964
|
const screenshot = await agent.page.screenshotBase64();
|
|
1975
1965
|
return {
|
|
@@ -1992,23 +1982,11 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
|
1992
1982
|
}
|
|
1993
1983
|
];
|
|
1994
1984
|
}
|
|
1995
|
-
constructor(...args){
|
|
1996
|
-
super(...args), mcp_tools_define_property(this, "initArgSpec", {
|
|
1997
|
-
namespace: 'android',
|
|
1998
|
-
shape: {
|
|
1999
|
-
deviceId: z.string().optional().describe('Android device ID (from adb devices)')
|
|
2000
|
-
},
|
|
2001
|
-
cli: {
|
|
2002
|
-
preferBareKeys: true
|
|
2003
|
-
},
|
|
2004
|
-
adapt: (extracted)=>extracted?.deviceId
|
|
2005
|
-
});
|
|
2006
|
-
}
|
|
2007
1985
|
}
|
|
2008
1986
|
const tools = new AndroidMidsceneTools();
|
|
2009
1987
|
runToolsCLI(tools, 'midscene-android', {
|
|
2010
1988
|
stripPrefix: 'android_',
|
|
2011
|
-
version: "1.7.5-beta-
|
|
1989
|
+
version: "1.7.5-beta-20260420061332.0",
|
|
2012
1990
|
extraCommands: createReportCliCommands()
|
|
2013
1991
|
}).catch((e)=>{
|
|
2014
1992
|
if (!(e instanceof CLIError)) console.error(e);
|
package/dist/es/index.mjs
CHANGED
|
@@ -12,7 +12,7 @@ import { createImgBase64ByFormat, isValidImageBuffer } from "@midscene/shared/im
|
|
|
12
12
|
import { mergeAndNormalizeAppNameMapping, normalizeForComparison, repeat } from "@midscene/shared/utils";
|
|
13
13
|
import { ADB } from "appium-adb";
|
|
14
14
|
import { Agent } from "@midscene/core/agent";
|
|
15
|
-
import { BaseMidsceneTools } from "@midscene/shared/mcp
|
|
15
|
+
import { BaseMidsceneTools } from "@midscene/shared/mcp";
|
|
16
16
|
var __webpack_modules__ = {
|
|
17
17
|
"./src/scrcpy-manager.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
18
18
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -1995,16 +1995,6 @@ async function agentFromAdbDevice(deviceId, opts) {
|
|
|
1995
1995
|
await device.connect();
|
|
1996
1996
|
return new AndroidAgent(device, opts);
|
|
1997
1997
|
}
|
|
1998
|
-
function mcp_tools_define_property(obj, key, value) {
|
|
1999
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
2000
|
-
value: value,
|
|
2001
|
-
enumerable: true,
|
|
2002
|
-
configurable: true,
|
|
2003
|
-
writable: true
|
|
2004
|
-
});
|
|
2005
|
-
else obj[key] = value;
|
|
2006
|
-
return obj;
|
|
2007
|
-
}
|
|
2008
1998
|
const debug = (0, logger_.getDebug)('mcp:android-tools');
|
|
2009
1999
|
class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
2010
2000
|
createTemporaryDevice() {
|
|
@@ -2032,10 +2022,10 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
|
2032
2022
|
{
|
|
2033
2023
|
name: 'android_connect',
|
|
2034
2024
|
description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
|
|
2035
|
-
schema:
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2025
|
+
schema: {
|
|
2026
|
+
deviceId: z.string().optional().describe('Android device ID (from adb devices)')
|
|
2027
|
+
},
|
|
2028
|
+
handler: async ({ deviceId })=>{
|
|
2039
2029
|
const agent = await this.ensureAgent(deviceId);
|
|
2040
2030
|
const screenshot = await agent.page.screenshotBase64();
|
|
2041
2031
|
return {
|
|
@@ -2058,17 +2048,5 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
|
2058
2048
|
}
|
|
2059
2049
|
];
|
|
2060
2050
|
}
|
|
2061
|
-
constructor(...args){
|
|
2062
|
-
super(...args), mcp_tools_define_property(this, "initArgSpec", {
|
|
2063
|
-
namespace: 'android',
|
|
2064
|
-
shape: {
|
|
2065
|
-
deviceId: z.string().optional().describe('Android device ID (from adb devices)')
|
|
2066
|
-
},
|
|
2067
|
-
cli: {
|
|
2068
|
-
preferBareKeys: true
|
|
2069
|
-
},
|
|
2070
|
-
adapt: (extracted)=>extracted?.deviceId
|
|
2071
|
-
});
|
|
2072
|
-
}
|
|
2073
2051
|
}
|
|
2074
2052
|
export { AndroidAgent, AndroidDevice, AndroidMidsceneTools, ScrcpyDeviceAdapter, agentFromAdbDevice, getConnectedDevices, getConnectedDevicesWithDetails, overrideAIConfig };
|
package/dist/es/mcp-server.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import * as __rspack_external__midscene_shared_logger_b1dc2426 from "@midscene/s
|
|
|
2
2
|
import * as __rspack_external_node_fs_5ea92f0c from "node:fs";
|
|
3
3
|
import * as __rspack_external_node_module_ab9f2194 from "node:module";
|
|
4
4
|
import * as __rspack_external_node_path_c5b9b54f from "node:path";
|
|
5
|
-
import { BaseMCPServer, createMCPServerLauncher } from "@midscene/shared/mcp";
|
|
5
|
+
import { BaseMCPServer, BaseMidsceneTools, createMCPServerLauncher } from "@midscene/shared/mcp";
|
|
6
6
|
import { Agent } from "@midscene/core/agent";
|
|
7
7
|
import { mergeAndNormalizeAppNameMapping, normalizeForComparison, repeat } from "@midscene/shared/utils";
|
|
8
8
|
import node_assert from "node:assert";
|
|
@@ -13,7 +13,6 @@ import { getTmpFile, sleep } from "@midscene/core/utils";
|
|
|
13
13
|
import { MIDSCENE_ADB_PATH, MIDSCENE_ADB_REMOTE_HOST, MIDSCENE_ADB_REMOTE_PORT, MIDSCENE_ANDROID_IME_STRATEGY, globalConfigManager } from "@midscene/shared/env";
|
|
14
14
|
import { createImgBase64ByFormat, isValidImageBuffer } from "@midscene/shared/img";
|
|
15
15
|
import { ADB as external_appium_adb_ADB } from "appium-adb";
|
|
16
|
-
import { BaseMidsceneTools } from "@midscene/shared/mcp/base-tools";
|
|
17
16
|
var __webpack_modules__ = {
|
|
18
17
|
"./src/scrcpy-manager.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
19
18
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -1929,16 +1928,6 @@ async function agentFromAdbDevice(deviceId, opts) {
|
|
|
1929
1928
|
await device.connect();
|
|
1930
1929
|
return new AndroidAgent(device, opts);
|
|
1931
1930
|
}
|
|
1932
|
-
function mcp_tools_define_property(obj, key, value) {
|
|
1933
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
1934
|
-
value: value,
|
|
1935
|
-
enumerable: true,
|
|
1936
|
-
configurable: true,
|
|
1937
|
-
writable: true
|
|
1938
|
-
});
|
|
1939
|
-
else obj[key] = value;
|
|
1940
|
-
return obj;
|
|
1941
|
-
}
|
|
1942
1931
|
const debug = (0, logger_.getDebug)('mcp:android-tools');
|
|
1943
1932
|
class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
1944
1933
|
createTemporaryDevice() {
|
|
@@ -1966,10 +1955,10 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
|
1966
1955
|
{
|
|
1967
1956
|
name: 'android_connect',
|
|
1968
1957
|
description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
|
|
1969
|
-
schema:
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1958
|
+
schema: {
|
|
1959
|
+
deviceId: z.string().optional().describe('Android device ID (from adb devices)')
|
|
1960
|
+
},
|
|
1961
|
+
handler: async ({ deviceId })=>{
|
|
1973
1962
|
const agent = await this.ensureAgent(deviceId);
|
|
1974
1963
|
const screenshot = await agent.page.screenshotBase64();
|
|
1975
1964
|
return {
|
|
@@ -1992,18 +1981,6 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
|
1992
1981
|
}
|
|
1993
1982
|
];
|
|
1994
1983
|
}
|
|
1995
|
-
constructor(...args){
|
|
1996
|
-
super(...args), mcp_tools_define_property(this, "initArgSpec", {
|
|
1997
|
-
namespace: 'android',
|
|
1998
|
-
shape: {
|
|
1999
|
-
deviceId: z.string().optional().describe('Android device ID (from adb devices)')
|
|
2000
|
-
},
|
|
2001
|
-
cli: {
|
|
2002
|
-
preferBareKeys: true
|
|
2003
|
-
},
|
|
2004
|
-
adapt: (extracted)=>extracted?.deviceId
|
|
2005
|
-
});
|
|
2006
|
-
}
|
|
2007
1984
|
}
|
|
2008
1985
|
class AndroidMCPServer extends BaseMCPServer {
|
|
2009
1986
|
createToolsManager() {
|
|
@@ -2012,7 +1989,7 @@ class AndroidMCPServer extends BaseMCPServer {
|
|
|
2012
1989
|
constructor(toolsManager){
|
|
2013
1990
|
super({
|
|
2014
1991
|
name: '@midscene/android-mcp',
|
|
2015
|
-
version: "1.7.5-beta-
|
|
1992
|
+
version: "1.7.5-beta-20260420061332.0",
|
|
2016
1993
|
description: 'Control the Android device using natural language commands'
|
|
2017
1994
|
}, toolsManager);
|
|
2018
1995
|
}
|
package/dist/lib/cli.js
CHANGED
|
@@ -449,7 +449,7 @@ var __webpack_exports__ = {};
|
|
|
449
449
|
const core_namespaceObject = require("@midscene/core");
|
|
450
450
|
const cli_namespaceObject = require("@midscene/shared/cli");
|
|
451
451
|
var logger_ = __webpack_require__("@midscene/shared/logger");
|
|
452
|
-
const
|
|
452
|
+
const mcp_namespaceObject = require("@midscene/shared/mcp");
|
|
453
453
|
const agent_namespaceObject = require("@midscene/core/agent");
|
|
454
454
|
const utils_namespaceObject = require("@midscene/shared/utils");
|
|
455
455
|
const defaultAppNameMapping = {
|
|
@@ -1944,18 +1944,8 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1944
1944
|
await device.connect();
|
|
1945
1945
|
return new AndroidAgent(device, opts);
|
|
1946
1946
|
}
|
|
1947
|
-
function mcp_tools_define_property(obj, key, value) {
|
|
1948
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
1949
|
-
value: value,
|
|
1950
|
-
enumerable: true,
|
|
1951
|
-
configurable: true,
|
|
1952
|
-
writable: true
|
|
1953
|
-
});
|
|
1954
|
-
else obj[key] = value;
|
|
1955
|
-
return obj;
|
|
1956
|
-
}
|
|
1957
1947
|
const debug = (0, logger_.getDebug)('mcp:android-tools');
|
|
1958
|
-
class AndroidMidsceneTools extends
|
|
1948
|
+
class AndroidMidsceneTools extends mcp_namespaceObject.BaseMidsceneTools {
|
|
1959
1949
|
createTemporaryDevice() {
|
|
1960
1950
|
return new AndroidDevice('temp-for-action-space', {});
|
|
1961
1951
|
}
|
|
@@ -1981,10 +1971,10 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1981
1971
|
{
|
|
1982
1972
|
name: 'android_connect',
|
|
1983
1973
|
description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
|
|
1984
|
-
schema:
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1974
|
+
schema: {
|
|
1975
|
+
deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
|
|
1976
|
+
},
|
|
1977
|
+
handler: async ({ deviceId })=>{
|
|
1988
1978
|
const agent = await this.ensureAgent(deviceId);
|
|
1989
1979
|
const screenshot = await agent.page.screenshotBase64();
|
|
1990
1980
|
return {
|
|
@@ -2007,23 +1997,11 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
2007
1997
|
}
|
|
2008
1998
|
];
|
|
2009
1999
|
}
|
|
2010
|
-
constructor(...args){
|
|
2011
|
-
super(...args), mcp_tools_define_property(this, "initArgSpec", {
|
|
2012
|
-
namespace: 'android',
|
|
2013
|
-
shape: {
|
|
2014
|
-
deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
|
|
2015
|
-
},
|
|
2016
|
-
cli: {
|
|
2017
|
-
preferBareKeys: true
|
|
2018
|
-
},
|
|
2019
|
-
adapt: (extracted)=>extracted?.deviceId
|
|
2020
|
-
});
|
|
2021
|
-
}
|
|
2022
2000
|
}
|
|
2023
2001
|
const tools = new AndroidMidsceneTools();
|
|
2024
2002
|
(0, cli_namespaceObject.runToolsCLI)(tools, 'midscene-android', {
|
|
2025
2003
|
stripPrefix: 'android_',
|
|
2026
|
-
version: "1.7.5-beta-
|
|
2004
|
+
version: "1.7.5-beta-20260420061332.0",
|
|
2027
2005
|
extraCommands: (0, core_namespaceObject.createReportCliCommands)()
|
|
2028
2006
|
}).catch((e)=>{
|
|
2029
2007
|
if (!(e instanceof cli_namespaceObject.CLIError)) console.error(e);
|
package/dist/lib/index.js
CHANGED
|
@@ -2030,19 +2030,9 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
2030
2030
|
await device.connect();
|
|
2031
2031
|
return new AndroidAgent(device, opts);
|
|
2032
2032
|
}
|
|
2033
|
-
const
|
|
2034
|
-
function mcp_tools_define_property(obj, key, value) {
|
|
2035
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
2036
|
-
value: value,
|
|
2037
|
-
enumerable: true,
|
|
2038
|
-
configurable: true,
|
|
2039
|
-
writable: true
|
|
2040
|
-
});
|
|
2041
|
-
else obj[key] = value;
|
|
2042
|
-
return obj;
|
|
2043
|
-
}
|
|
2033
|
+
const mcp_namespaceObject = require("@midscene/shared/mcp");
|
|
2044
2034
|
const debug = (0, logger_.getDebug)('mcp:android-tools');
|
|
2045
|
-
class AndroidMidsceneTools extends
|
|
2035
|
+
class AndroidMidsceneTools extends mcp_namespaceObject.BaseMidsceneTools {
|
|
2046
2036
|
createTemporaryDevice() {
|
|
2047
2037
|
return new AndroidDevice('temp-for-action-space', {});
|
|
2048
2038
|
}
|
|
@@ -2068,10 +2058,10 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
2068
2058
|
{
|
|
2069
2059
|
name: 'android_connect',
|
|
2070
2060
|
description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
|
|
2071
|
-
schema:
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2061
|
+
schema: {
|
|
2062
|
+
deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
|
|
2063
|
+
},
|
|
2064
|
+
handler: async ({ deviceId })=>{
|
|
2075
2065
|
const agent = await this.ensureAgent(deviceId);
|
|
2076
2066
|
const screenshot = await agent.page.screenshotBase64();
|
|
2077
2067
|
return {
|
|
@@ -2094,18 +2084,6 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
2094
2084
|
}
|
|
2095
2085
|
];
|
|
2096
2086
|
}
|
|
2097
|
-
constructor(...args){
|
|
2098
|
-
super(...args), mcp_tools_define_property(this, "initArgSpec", {
|
|
2099
|
-
namespace: 'android',
|
|
2100
|
-
shape: {
|
|
2101
|
-
deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
|
|
2102
|
-
},
|
|
2103
|
-
cli: {
|
|
2104
|
-
preferBareKeys: true
|
|
2105
|
-
},
|
|
2106
|
-
adapt: (extracted)=>extracted?.deviceId
|
|
2107
|
-
});
|
|
2108
|
-
}
|
|
2109
2087
|
}
|
|
2110
2088
|
})();
|
|
2111
2089
|
exports.AndroidAgent = __webpack_exports__.AndroidAgent;
|
package/dist/lib/mcp-server.js
CHANGED
|
@@ -1959,19 +1959,8 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1959
1959
|
await device.connect();
|
|
1960
1960
|
return new AndroidAgent(device, opts);
|
|
1961
1961
|
}
|
|
1962
|
-
const base_tools_namespaceObject = require("@midscene/shared/mcp/base-tools");
|
|
1963
|
-
function mcp_tools_define_property(obj, key, value) {
|
|
1964
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
1965
|
-
value: value,
|
|
1966
|
-
enumerable: true,
|
|
1967
|
-
configurable: true,
|
|
1968
|
-
writable: true
|
|
1969
|
-
});
|
|
1970
|
-
else obj[key] = value;
|
|
1971
|
-
return obj;
|
|
1972
|
-
}
|
|
1973
1962
|
const debug = (0, logger_.getDebug)('mcp:android-tools');
|
|
1974
|
-
class AndroidMidsceneTools extends
|
|
1963
|
+
class AndroidMidsceneTools extends mcp_namespaceObject.BaseMidsceneTools {
|
|
1975
1964
|
createTemporaryDevice() {
|
|
1976
1965
|
return new AndroidDevice('temp-for-action-space', {});
|
|
1977
1966
|
}
|
|
@@ -1997,10 +1986,10 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1997
1986
|
{
|
|
1998
1987
|
name: 'android_connect',
|
|
1999
1988
|
description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
|
|
2000
|
-
schema:
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
1989
|
+
schema: {
|
|
1990
|
+
deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
|
|
1991
|
+
},
|
|
1992
|
+
handler: async ({ deviceId })=>{
|
|
2004
1993
|
const agent = await this.ensureAgent(deviceId);
|
|
2005
1994
|
const screenshot = await agent.page.screenshotBase64();
|
|
2006
1995
|
return {
|
|
@@ -2023,18 +2012,6 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
2023
2012
|
}
|
|
2024
2013
|
];
|
|
2025
2014
|
}
|
|
2026
|
-
constructor(...args){
|
|
2027
|
-
super(...args), mcp_tools_define_property(this, "initArgSpec", {
|
|
2028
|
-
namespace: 'android',
|
|
2029
|
-
shape: {
|
|
2030
|
-
deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
|
|
2031
|
-
},
|
|
2032
|
-
cli: {
|
|
2033
|
-
preferBareKeys: true
|
|
2034
|
-
},
|
|
2035
|
-
adapt: (extracted)=>extracted?.deviceId
|
|
2036
|
-
});
|
|
2037
|
-
}
|
|
2038
2015
|
}
|
|
2039
2016
|
class AndroidMCPServer extends mcp_namespaceObject.BaseMCPServer {
|
|
2040
2017
|
createToolsManager() {
|
|
@@ -2043,7 +2020,7 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
2043
2020
|
constructor(toolsManager){
|
|
2044
2021
|
super({
|
|
2045
2022
|
name: '@midscene/android-mcp',
|
|
2046
|
-
version: "1.7.5-beta-
|
|
2023
|
+
version: "1.7.5-beta-20260420061332.0",
|
|
2047
2024
|
description: 'Control the Android device using natural language commands'
|
|
2048
2025
|
}, toolsManager);
|
|
2049
2026
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,16 +7,15 @@ import { Agent } from '@midscene/core/agent';
|
|
|
7
7
|
import { AgentOpt } from '@midscene/core/agent';
|
|
8
8
|
import { AndroidDeviceInputOpt } from '@midscene/core/device';
|
|
9
9
|
import { AndroidDeviceOpt } from '@midscene/core/device';
|
|
10
|
-
import { BaseMidsceneTools } from '@midscene/shared/mcp
|
|
10
|
+
import { BaseMidsceneTools } from '@midscene/shared/mcp';
|
|
11
11
|
import { Device } from 'appium-adb';
|
|
12
12
|
import { DeviceAction } from '@midscene/core';
|
|
13
13
|
import type { ElementInfo } from '@midscene/shared/extractor';
|
|
14
|
-
import { InitArgSpec } from '@midscene/shared/mcp/base-tools';
|
|
15
14
|
import { InterfaceType } from '@midscene/core';
|
|
16
15
|
import { overrideAIConfig } from '@midscene/shared/env';
|
|
17
16
|
import { Point } from '@midscene/core';
|
|
18
17
|
import { Size } from '@midscene/core';
|
|
19
|
-
import
|
|
18
|
+
import { ToolDefinition } from '@midscene/shared/mcp';
|
|
20
19
|
|
|
21
20
|
declare type ActionArgs<T extends DeviceAction> = [ActionParam<T>] extends [undefined] ? [] : [ActionParam<T>];
|
|
22
21
|
|
|
@@ -238,8 +237,7 @@ export declare class AndroidDevice implements AbstractInterface {
|
|
|
238
237
|
* Android-specific tools manager
|
|
239
238
|
* Extends BaseMidsceneTools to provide Android ADB device connection tools
|
|
240
239
|
*/
|
|
241
|
-
export declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent
|
|
242
|
-
protected readonly initArgSpec: InitArgSpec<string>;
|
|
240
|
+
export declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent> {
|
|
243
241
|
protected createTemporaryDevice(): AndroidDevice;
|
|
244
242
|
protected ensureAgent(deviceId?: string): Promise<AndroidAgent>;
|
|
245
243
|
/**
|
|
@@ -7,17 +7,16 @@ import { AgentOpt } from '@midscene/core/agent';
|
|
|
7
7
|
import { AndroidDeviceInputOpt } from '@midscene/core/device';
|
|
8
8
|
import { AndroidDeviceOpt } from '@midscene/core/device';
|
|
9
9
|
import { BaseMCPServer } from '@midscene/shared/mcp';
|
|
10
|
-
import { BaseMidsceneTools } from '@midscene/shared/mcp
|
|
10
|
+
import { BaseMidsceneTools } from '@midscene/shared/mcp';
|
|
11
11
|
import { DeviceAction } from '@midscene/core';
|
|
12
12
|
import type { ElementInfo } from '@midscene/shared/extractor';
|
|
13
|
-
import { InitArgSpec } from '@midscene/shared/mcp/base-tools';
|
|
14
13
|
import { InterfaceType } from '@midscene/core';
|
|
15
14
|
import { LaunchMCPServerOptions } from '@midscene/shared/mcp';
|
|
16
15
|
import { LaunchMCPServerResult } from '@midscene/shared/mcp';
|
|
17
16
|
import { Point } from '@midscene/core';
|
|
18
17
|
import { Size } from '@midscene/core';
|
|
19
18
|
import { Tool } from '@midscene/shared/mcp';
|
|
20
|
-
import
|
|
19
|
+
import { ToolDefinition } from '@midscene/shared/mcp';
|
|
21
20
|
|
|
22
21
|
declare type ActionArgs<T extends DeviceAction> = [ActionParam<T>] extends [undefined] ? [] : [ActionParam<T>];
|
|
23
22
|
|
|
@@ -239,8 +238,7 @@ export declare class AndroidMCPServer extends BaseMCPServer {
|
|
|
239
238
|
* Android-specific tools manager
|
|
240
239
|
* Extends BaseMidsceneTools to provide Android ADB device connection tools
|
|
241
240
|
*/
|
|
242
|
-
declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent
|
|
243
|
-
protected readonly initArgSpec: InitArgSpec<string>;
|
|
241
|
+
declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent> {
|
|
244
242
|
protected createTemporaryDevice(): AndroidDevice;
|
|
245
243
|
protected ensureAgent(deviceId?: string): Promise<AndroidAgent>;
|
|
246
244
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midscene/android",
|
|
3
|
-
"version": "1.7.5-beta-
|
|
3
|
+
"version": "1.7.5-beta-20260420061332.0",
|
|
4
4
|
"description": "Android automation library for Midscene",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Android UI automation",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"@yume-chan/stream-extra": "2.1.0",
|
|
42
42
|
"appium-adb": "12.12.1",
|
|
43
43
|
"sharp": "^0.34.3",
|
|
44
|
-
"@midscene/
|
|
45
|
-
"@midscene/
|
|
44
|
+
"@midscene/shared": "1.7.5-beta-20260420061332.0",
|
|
45
|
+
"@midscene/core": "1.7.5-beta-20260420061332.0"
|
|
46
46
|
},
|
|
47
47
|
"optionalDependencies": {
|
|
48
48
|
"@ffmpeg-installer/ffmpeg": "^1.1.0"
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"undici": "^6.0.0",
|
|
57
57
|
"vitest": "3.0.5",
|
|
58
58
|
"zod": "^3.25.1",
|
|
59
|
-
"@midscene/playground": "1.7.5-beta-
|
|
59
|
+
"@midscene/playground": "1.7.5-beta-20260420061332.0"
|
|
60
60
|
},
|
|
61
61
|
"license": "MIT",
|
|
62
62
|
"scripts": {
|