@midscene/android 1.7.5-beta-20260421030751.0 → 1.7.5

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 CHANGED
@@ -3,8 +3,8 @@ 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
5
  import { createReportCliCommands, getMidsceneLocationSchema, z } from "@midscene/core";
6
- import { CLIError, runToolsCLI } from "@midscene/shared/cli";
7
- import { BaseMidsceneTools } from "@midscene/shared/mcp";
6
+ import { reportCLIError, runToolsCLI } from "@midscene/shared/cli";
7
+ import { BaseMidsceneTools } from "@midscene/shared/mcp/base-tools";
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,6 +1929,16 @@ 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
+ }
1932
1942
  const debug = (0, logger_.getDebug)('mcp:android-tools');
1933
1943
  class AndroidMidsceneTools extends BaseMidsceneTools {
1934
1944
  createTemporaryDevice() {
@@ -1956,10 +1966,10 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
1956
1966
  {
1957
1967
  name: 'android_connect',
1958
1968
  description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
1959
- schema: {
1960
- deviceId: z.string().optional().describe('Android device ID (from adb devices)')
1961
- },
1962
- handler: async ({ deviceId })=>{
1969
+ schema: this.getAgentInitArgSchema(),
1970
+ cli: this.getAgentInitArgCliMetadata(),
1971
+ handler: async (args)=>{
1972
+ const deviceId = this.extractAgentInitParam(args);
1963
1973
  const agent = await this.ensureAgent(deviceId);
1964
1974
  const screenshot = await agent.page.screenshotBase64();
1965
1975
  return {
@@ -1982,13 +1992,24 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
1982
1992
  }
1983
1993
  ];
1984
1994
  }
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
+ }
1985
2007
  }
1986
2008
  const tools = new AndroidMidsceneTools();
1987
2009
  runToolsCLI(tools, 'midscene-android', {
1988
2010
  stripPrefix: 'android_',
1989
- version: "1.7.5-beta-20260421030751.0",
2011
+ version: "1.7.5",
1990
2012
  extraCommands: createReportCliCommands()
1991
2013
  }).catch((e)=>{
1992
- if (!(e instanceof CLIError)) console.error(e);
1993
- process.exit(e instanceof CLIError ? e.exitCode : 1);
2014
+ process.exit(reportCLIError(e));
1994
2015
  });
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/base-tools";
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,6 +1995,16 @@ 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
+ }
1998
2008
  const debug = (0, logger_.getDebug)('mcp:android-tools');
1999
2009
  class AndroidMidsceneTools extends BaseMidsceneTools {
2000
2010
  createTemporaryDevice() {
@@ -2022,10 +2032,10 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
2022
2032
  {
2023
2033
  name: 'android_connect',
2024
2034
  description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
2025
- schema: {
2026
- deviceId: z.string().optional().describe('Android device ID (from adb devices)')
2027
- },
2028
- handler: async ({ deviceId })=>{
2035
+ schema: this.getAgentInitArgSchema(),
2036
+ cli: this.getAgentInitArgCliMetadata(),
2037
+ handler: async (args)=>{
2038
+ const deviceId = this.extractAgentInitParam(args);
2029
2039
  const agent = await this.ensureAgent(deviceId);
2030
2040
  const screenshot = await agent.page.screenshotBase64();
2031
2041
  return {
@@ -2048,5 +2058,17 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
2048
2058
  }
2049
2059
  ];
2050
2060
  }
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
+ }
2051
2073
  }
2052
2074
  export { AndroidAgent, AndroidDevice, AndroidMidsceneTools, ScrcpyDeviceAdapter, agentFromAdbDevice, getConnectedDevices, getConnectedDevicesWithDetails, overrideAIConfig };
@@ -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, BaseMidsceneTools, createMCPServerLauncher } from "@midscene/shared/mcp";
5
+ import { BaseMCPServer, 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,6 +13,7 @@ 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";
16
17
  var __webpack_modules__ = {
17
18
  "./src/scrcpy-manager.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
18
19
  __webpack_require__.d(__webpack_exports__, {
@@ -1928,6 +1929,16 @@ async function agentFromAdbDevice(deviceId, opts) {
1928
1929
  await device.connect();
1929
1930
  return new AndroidAgent(device, opts);
1930
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
+ }
1931
1942
  const debug = (0, logger_.getDebug)('mcp:android-tools');
1932
1943
  class AndroidMidsceneTools extends BaseMidsceneTools {
1933
1944
  createTemporaryDevice() {
@@ -1955,10 +1966,10 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
1955
1966
  {
1956
1967
  name: 'android_connect',
1957
1968
  description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
1958
- schema: {
1959
- deviceId: z.string().optional().describe('Android device ID (from adb devices)')
1960
- },
1961
- handler: async ({ deviceId })=>{
1969
+ schema: this.getAgentInitArgSchema(),
1970
+ cli: this.getAgentInitArgCliMetadata(),
1971
+ handler: async (args)=>{
1972
+ const deviceId = this.extractAgentInitParam(args);
1962
1973
  const agent = await this.ensureAgent(deviceId);
1963
1974
  const screenshot = await agent.page.screenshotBase64();
1964
1975
  return {
@@ -1981,6 +1992,18 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
1981
1992
  }
1982
1993
  ];
1983
1994
  }
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
+ }
1984
2007
  }
1985
2008
  class AndroidMCPServer extends BaseMCPServer {
1986
2009
  createToolsManager() {
@@ -1989,7 +2012,7 @@ class AndroidMCPServer extends BaseMCPServer {
1989
2012
  constructor(toolsManager){
1990
2013
  super({
1991
2014
  name: '@midscene/android-mcp',
1992
- version: "1.7.5-beta-20260421030751.0",
2015
+ version: "1.7.5",
1993
2016
  description: 'Control the Android device using natural language commands'
1994
2017
  }, toolsManager);
1995
2018
  }
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 mcp_namespaceObject = require("@midscene/shared/mcp");
452
+ const base_tools_namespaceObject = require("@midscene/shared/mcp/base-tools");
453
453
  const agent_namespaceObject = require("@midscene/core/agent");
454
454
  const utils_namespaceObject = require("@midscene/shared/utils");
455
455
  const defaultAppNameMapping = {
@@ -1944,8 +1944,18 @@ ${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
+ }
1947
1957
  const debug = (0, logger_.getDebug)('mcp:android-tools');
1948
- class AndroidMidsceneTools extends mcp_namespaceObject.BaseMidsceneTools {
1958
+ class AndroidMidsceneTools extends base_tools_namespaceObject.BaseMidsceneTools {
1949
1959
  createTemporaryDevice() {
1950
1960
  return new AndroidDevice('temp-for-action-space', {});
1951
1961
  }
@@ -1971,10 +1981,10 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
1971
1981
  {
1972
1982
  name: 'android_connect',
1973
1983
  description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
1974
- schema: {
1975
- deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
1976
- },
1977
- handler: async ({ deviceId })=>{
1984
+ schema: this.getAgentInitArgSchema(),
1985
+ cli: this.getAgentInitArgCliMetadata(),
1986
+ handler: async (args)=>{
1987
+ const deviceId = this.extractAgentInitParam(args);
1978
1988
  const agent = await this.ensureAgent(deviceId);
1979
1989
  const screenshot = await agent.page.screenshotBase64();
1980
1990
  return {
@@ -1997,15 +2007,26 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
1997
2007
  }
1998
2008
  ];
1999
2009
  }
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
+ }
2000
2022
  }
2001
2023
  const tools = new AndroidMidsceneTools();
2002
2024
  (0, cli_namespaceObject.runToolsCLI)(tools, 'midscene-android', {
2003
2025
  stripPrefix: 'android_',
2004
- version: "1.7.5-beta-20260421030751.0",
2026
+ version: "1.7.5",
2005
2027
  extraCommands: (0, core_namespaceObject.createReportCliCommands)()
2006
2028
  }).catch((e)=>{
2007
- if (!(e instanceof cli_namespaceObject.CLIError)) console.error(e);
2008
- process.exit(e instanceof cli_namespaceObject.CLIError ? e.exitCode : 1);
2029
+ process.exit((0, cli_namespaceObject.reportCLIError)(e));
2009
2030
  });
2010
2031
  })();
2011
2032
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
package/dist/lib/index.js CHANGED
@@ -2030,9 +2030,19 @@ ${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 mcp_namespaceObject = require("@midscene/shared/mcp");
2033
+ const base_tools_namespaceObject = require("@midscene/shared/mcp/base-tools");
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
+ }
2034
2044
  const debug = (0, logger_.getDebug)('mcp:android-tools');
2035
- class AndroidMidsceneTools extends mcp_namespaceObject.BaseMidsceneTools {
2045
+ class AndroidMidsceneTools extends base_tools_namespaceObject.BaseMidsceneTools {
2036
2046
  createTemporaryDevice() {
2037
2047
  return new AndroidDevice('temp-for-action-space', {});
2038
2048
  }
@@ -2058,10 +2068,10 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
2058
2068
  {
2059
2069
  name: 'android_connect',
2060
2070
  description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
2061
- schema: {
2062
- deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
2063
- },
2064
- handler: async ({ deviceId })=>{
2071
+ schema: this.getAgentInitArgSchema(),
2072
+ cli: this.getAgentInitArgCliMetadata(),
2073
+ handler: async (args)=>{
2074
+ const deviceId = this.extractAgentInitParam(args);
2065
2075
  const agent = await this.ensureAgent(deviceId);
2066
2076
  const screenshot = await agent.page.screenshotBase64();
2067
2077
  return {
@@ -2084,6 +2094,18 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
2084
2094
  }
2085
2095
  ];
2086
2096
  }
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
+ }
2087
2109
  }
2088
2110
  })();
2089
2111
  exports.AndroidAgent = __webpack_exports__.AndroidAgent;
@@ -1959,8 +1959,19 @@ ${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
+ }
1962
1973
  const debug = (0, logger_.getDebug)('mcp:android-tools');
1963
- class AndroidMidsceneTools extends mcp_namespaceObject.BaseMidsceneTools {
1974
+ class AndroidMidsceneTools extends base_tools_namespaceObject.BaseMidsceneTools {
1964
1975
  createTemporaryDevice() {
1965
1976
  return new AndroidDevice('temp-for-action-space', {});
1966
1977
  }
@@ -1986,10 +1997,10 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
1986
1997
  {
1987
1998
  name: 'android_connect',
1988
1999
  description: 'Connect to Android device via ADB. If deviceId not provided, uses the first available device.',
1989
- schema: {
1990
- deviceId: core_namespaceObject.z.string().optional().describe('Android device ID (from adb devices)')
1991
- },
1992
- handler: async ({ deviceId })=>{
2000
+ schema: this.getAgentInitArgSchema(),
2001
+ cli: this.getAgentInitArgCliMetadata(),
2002
+ handler: async (args)=>{
2003
+ const deviceId = this.extractAgentInitParam(args);
1993
2004
  const agent = await this.ensureAgent(deviceId);
1994
2005
  const screenshot = await agent.page.screenshotBase64();
1995
2006
  return {
@@ -2012,6 +2023,18 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
2012
2023
  }
2013
2024
  ];
2014
2025
  }
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
+ }
2015
2038
  }
2016
2039
  class AndroidMCPServer extends mcp_namespaceObject.BaseMCPServer {
2017
2040
  createToolsManager() {
@@ -2020,7 +2043,7 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
2020
2043
  constructor(toolsManager){
2021
2044
  super({
2022
2045
  name: '@midscene/android-mcp',
2023
- version: "1.7.5-beta-20260421030751.0",
2046
+ version: "1.7.5",
2024
2047
  description: 'Control the Android device using natural language commands'
2025
2048
  }, toolsManager);
2026
2049
  }
@@ -7,15 +7,16 @@ 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/base-tools';
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';
14
15
  import { InterfaceType } from '@midscene/core';
15
16
  import { overrideAIConfig } from '@midscene/shared/env';
16
17
  import { Point } from '@midscene/core';
17
18
  import { Size } from '@midscene/core';
18
- import { ToolDefinition } from '@midscene/shared/mcp';
19
+ import type { ToolDefinition } from '@midscene/shared/mcp/types';
19
20
 
20
21
  declare type ActionArgs<T extends DeviceAction> = [ActionParam<T>] extends [undefined] ? [] : [ActionParam<T>];
21
22
 
@@ -237,7 +238,8 @@ export declare class AndroidDevice implements AbstractInterface {
237
238
  * Android-specific tools manager
238
239
  * Extends BaseMidsceneTools to provide Android ADB device connection tools
239
240
  */
240
- export declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent> {
241
+ export declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent, string> {
242
+ protected readonly initArgSpec: InitArgSpec<string>;
241
243
  protected createTemporaryDevice(): AndroidDevice;
242
244
  protected ensureAgent(deviceId?: string): Promise<AndroidAgent>;
243
245
  /**
@@ -7,16 +7,17 @@ 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/base-tools';
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';
13
14
  import { InterfaceType } from '@midscene/core';
14
15
  import { LaunchMCPServerOptions } from '@midscene/shared/mcp';
15
16
  import { LaunchMCPServerResult } from '@midscene/shared/mcp';
16
17
  import { Point } from '@midscene/core';
17
18
  import { Size } from '@midscene/core';
18
19
  import { Tool } from '@midscene/shared/mcp';
19
- import { ToolDefinition } from '@midscene/shared/mcp';
20
+ import type { ToolDefinition } from '@midscene/shared/mcp/types';
20
21
 
21
22
  declare type ActionArgs<T extends DeviceAction> = [ActionParam<T>] extends [undefined] ? [] : [ActionParam<T>];
22
23
 
@@ -238,7 +239,8 @@ export declare class AndroidMCPServer extends BaseMCPServer {
238
239
  * Android-specific tools manager
239
240
  * Extends BaseMidsceneTools to provide Android ADB device connection tools
240
241
  */
241
- declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent> {
242
+ declare class AndroidMidsceneTools extends BaseMidsceneTools<AndroidAgent, string> {
243
+ protected readonly initArgSpec: InitArgSpec<string>;
242
244
  protected createTemporaryDevice(): AndroidDevice;
243
245
  protected ensureAgent(deviceId?: string): Promise<AndroidAgent>;
244
246
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midscene/android",
3
- "version": "1.7.5-beta-20260421030751.0",
3
+ "version": "1.7.5",
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/core": "1.7.5-beta-20260421030751.0",
45
- "@midscene/shared": "1.7.5-beta-20260421030751.0"
44
+ "@midscene/core": "1.7.5",
45
+ "@midscene/shared": "1.7.5"
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-20260421030751.0"
59
+ "@midscene/playground": "1.7.5"
60
60
  },
61
61
  "license": "MIT",
62
62
  "scripts": {