@metamask/device-mcp 0.3.0 → 0.3.1

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/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.1]
11
+
12
+ ### Changed
13
+
14
+ - Export generateLocators/formatLocators ([#17](https://github.com/MetaMask/device-mcp/pull/17))
15
+
10
16
  ## [0.3.0]
11
17
 
12
18
  ### Added
@@ -43,7 +49,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
43
49
  - `.device-session` file for attaching to existing Appium sessions or creating new ones
44
50
  - 16 MCP tools: `device_snapshot`, `device_screenshot`, `device_info`, `device_tap_element`, `device_tap_coordinates`, `device_type`, `device_swipe`, `device_long_press`, `device_wait_for`, `device_app_state`, `device_open_app`, `device_close_app`, `device_press_button`, `device_dismiss_keyboard`, `device_dismiss_alert`, `device_logs`
45
51
 
46
- [Unreleased]: https://github.com/MetaMask/device-mcp/compare/v0.3.0...HEAD
52
+ [Unreleased]: https://github.com/MetaMask/device-mcp/compare/v0.3.1...HEAD
53
+ [0.3.1]: https://github.com/MetaMask/device-mcp/compare/v0.3.0...v0.3.1
47
54
  [0.3.0]: https://github.com/MetaMask/device-mcp/compare/v0.2.0...v0.3.0
48
55
  [0.2.0]: https://github.com/MetaMask/device-mcp/compare/v0.1.0...v0.2.0
49
56
  [0.1.0]: https://github.com/MetaMask/device-mcp/releases/tag/v0.1.0
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_METRO_PORT = exports.DEFAULT_ANDROID_APP_ID = exports.DEFAULT_IOS_APP_ID = exports.defaultAppIdForPlatform = exports.resetHermesSession = exports.getHermesSession = exports.HermesSession = exports.LEGACY_SYNTHETIC_TITLE = exports.validateWebSocketUrl = exports.hasAmbiguousTarget = exports.selectHermesTarget = exports.fetchDiscoveryTargets = exports.runHermesCdp = exports.MultipleDevicesError = exports.detectAllDevices = exports.createMcpServer = exports.createLazyBackend = exports.createBackend = void 0;
3
+ exports.describeElement = exports.findElement = exports.formatLocators = exports.generateLocators = exports.DEFAULT_METRO_PORT = exports.DEFAULT_ANDROID_APP_ID = exports.DEFAULT_IOS_APP_ID = exports.defaultAppIdForPlatform = exports.resetHermesSession = exports.getHermesSession = exports.HermesSession = exports.LEGACY_SYNTHETIC_TITLE = exports.validateWebSocketUrl = exports.hasAmbiguousTarget = exports.selectHermesTarget = exports.fetchDiscoveryTargets = exports.runHermesCdp = exports.MultipleDevicesError = exports.detectAllDevices = exports.createMcpServer = exports.createLazyBackend = exports.createBackend = void 0;
4
4
  var index_js_1 = require("./backends/index.cjs");
5
5
  Object.defineProperty(exports, "createBackend", { enumerable: true, get: function () { return index_js_1.createBackend; } });
6
6
  Object.defineProperty(exports, "createLazyBackend", { enumerable: true, get: function () { return index_js_1.createLazyBackend; } });
@@ -24,4 +24,9 @@ Object.defineProperty(exports, "defaultAppIdForPlatform", { enumerable: true, ge
24
24
  Object.defineProperty(exports, "DEFAULT_IOS_APP_ID", { enumerable: true, get: function () { return session_js_1.DEFAULT_IOS_APP_ID; } });
25
25
  Object.defineProperty(exports, "DEFAULT_ANDROID_APP_ID", { enumerable: true, get: function () { return session_js_1.DEFAULT_ANDROID_APP_ID; } });
26
26
  Object.defineProperty(exports, "DEFAULT_METRO_PORT", { enumerable: true, get: function () { return session_js_1.DEFAULT_METRO_PORT; } });
27
+ var element_js_1 = require("./utils/element.cjs");
28
+ Object.defineProperty(exports, "generateLocators", { enumerable: true, get: function () { return element_js_1.generateLocators; } });
29
+ Object.defineProperty(exports, "formatLocators", { enumerable: true, get: function () { return element_js_1.formatLocators; } });
30
+ Object.defineProperty(exports, "findElement", { enumerable: true, get: function () { return element_js_1.findElement; } });
31
+ Object.defineProperty(exports, "describeElement", { enumerable: true, get: function () { return element_js_1.describeElement; } });
27
32
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuE;AAA9D,yGAAA,aAAa,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAEzC,0CAA8C;AAArC,4GAAA,eAAe,OAAA;AAExB,oDAA6E;AAApE,+GAAA,gBAAgB,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAsB/C,yDAOgC;AAN9B,6GAAA,YAAY,OAAA;AACZ,sHAAA,qBAAqB,OAAA;AACrB,mHAAA,kBAAkB,OAAA;AAClB,mHAAA,kBAAkB,OAAA;AAClB,qHAAA,oBAAoB,OAAA;AACpB,uHAAA,sBAAsB,OAAA;AAQxB,mDAQ6B;AAP3B,2GAAA,aAAa,OAAA;AACb,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,qHAAA,uBAAuB,OAAA;AACvB,gHAAA,kBAAkB,OAAA;AAClB,oHAAA,sBAAsB,OAAA;AACtB,gHAAA,kBAAkB,OAAA","sourcesContent":["export { createBackend, createLazyBackend } from './backends/index.js';\nexport type { LazyDeviceBackend } from './backends/index.js';\nexport { createMcpServer } from './server.js';\n\nexport { detectAllDevices, MultipleDevicesError } from './utils/platform.js';\nexport type { DetectedDevice } from './utils/platform.js';\n\nexport type {\n DeviceBackend,\n DeviceButton,\n DeviceInfo,\n UIElement,\n ElementQuery,\n SnapshotResult,\n ScreenshotResult,\n ScreenshotFileResult,\n ScreenshotOptions,\n LogsResult,\n TapResult,\n AppStateResult,\n Platform,\n WindowSize,\n} from './backends/types.js';\n\nexport type { SessionConfig } from './backends/session-file.js';\n\nexport {\n runHermesCdp,\n fetchDiscoveryTargets,\n selectHermesTarget,\n hasAmbiguousTarget,\n validateWebSocketUrl,\n LEGACY_SYNTHETIC_TITLE,\n} from './hermes/hermes-cdp.js';\nexport type {\n HermesTarget,\n HermesCdpResult,\n RunHermesCdpInput,\n} from './hermes/hermes-cdp.js';\n\nexport {\n HermesSession,\n getHermesSession,\n resetHermesSession,\n defaultAppIdForPlatform,\n DEFAULT_IOS_APP_ID,\n DEFAULT_ANDROID_APP_ID,\n DEFAULT_METRO_PORT,\n} from './hermes/session.js';\nexport type {\n HermesPlatform,\n HermesSessionOptions,\n HermesSessionResolved,\n HermesSessionResolveInput,\n} from './hermes/session.js';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuE;AAA9D,yGAAA,aAAa,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAEzC,0CAA8C;AAArC,4GAAA,eAAe,OAAA;AAExB,oDAA6E;AAApE,+GAAA,gBAAgB,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAsB/C,yDAOgC;AAN9B,6GAAA,YAAY,OAAA;AACZ,sHAAA,qBAAqB,OAAA;AACrB,mHAAA,kBAAkB,OAAA;AAClB,mHAAA,kBAAkB,OAAA;AAClB,qHAAA,oBAAoB,OAAA;AACpB,uHAAA,sBAAsB,OAAA;AAQxB,mDAQ6B;AAP3B,2GAAA,aAAa,OAAA;AACb,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,qHAAA,uBAAuB,OAAA;AACvB,gHAAA,kBAAkB,OAAA;AAClB,oHAAA,sBAAsB,OAAA;AACtB,gHAAA,kBAAkB,OAAA;AASpB,kDAK4B;AAJ1B,8GAAA,gBAAgB,OAAA;AAChB,4GAAA,cAAc,OAAA;AACd,yGAAA,WAAW,OAAA;AACX,6GAAA,eAAe,OAAA","sourcesContent":["export { createBackend, createLazyBackend } from './backends/index.js';\nexport type { LazyDeviceBackend } from './backends/index.js';\nexport { createMcpServer } from './server.js';\n\nexport { detectAllDevices, MultipleDevicesError } from './utils/platform.js';\nexport type { DetectedDevice } from './utils/platform.js';\n\nexport type {\n DeviceBackend,\n DeviceButton,\n DeviceInfo,\n UIElement,\n ElementQuery,\n SnapshotResult,\n ScreenshotResult,\n ScreenshotFileResult,\n ScreenshotOptions,\n LogsResult,\n TapResult,\n AppStateResult,\n Platform,\n WindowSize,\n} from './backends/types.js';\n\nexport type { SessionConfig } from './backends/session-file.js';\n\nexport {\n runHermesCdp,\n fetchDiscoveryTargets,\n selectHermesTarget,\n hasAmbiguousTarget,\n validateWebSocketUrl,\n LEGACY_SYNTHETIC_TITLE,\n} from './hermes/hermes-cdp.js';\nexport type {\n HermesTarget,\n HermesCdpResult,\n RunHermesCdpInput,\n} from './hermes/hermes-cdp.js';\n\nexport {\n HermesSession,\n getHermesSession,\n resetHermesSession,\n defaultAppIdForPlatform,\n DEFAULT_IOS_APP_ID,\n DEFAULT_ANDROID_APP_ID,\n DEFAULT_METRO_PORT,\n} from './hermes/session.js';\nexport type {\n HermesPlatform,\n HermesSessionOptions,\n HermesSessionResolved,\n HermesSessionResolveInput,\n} from './hermes/session.js';\n\nexport {\n generateLocators,\n formatLocators,\n findElement,\n describeElement,\n} from './utils/element.js';\nexport type { ElementLocator, LocatorSuggestion } from './utils/element.js';\n"]}
package/dist/index.d.cts CHANGED
@@ -9,4 +9,6 @@ export { runHermesCdp, fetchDiscoveryTargets, selectHermesTarget, hasAmbiguousTa
9
9
  export type { HermesTarget, HermesCdpResult, RunHermesCdpInput, } from "./hermes/hermes-cdp.cjs";
10
10
  export { HermesSession, getHermesSession, resetHermesSession, defaultAppIdForPlatform, DEFAULT_IOS_APP_ID, DEFAULT_ANDROID_APP_ID, DEFAULT_METRO_PORT, } from "./hermes/session.cjs";
11
11
  export type { HermesPlatform, HermesSessionOptions, HermesSessionResolved, HermesSessionResolveInput, } from "./hermes/session.cjs";
12
+ export { generateLocators, formatLocators, findElement, describeElement, } from "./utils/element.cjs";
13
+ export type { ElementLocator, LocatorSuggestion } from "./utils/element.cjs";
12
14
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,6BAA4B;AACvE,YAAY,EAAE,iBAAiB,EAAE,6BAA4B;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAoB;AAE9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA4B;AAC7E,YAAY,EAAE,cAAc,EAAE,6BAA4B;AAE1D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,UAAU,GACX,6BAA4B;AAE7B,YAAY,EAAE,aAAa,EAAE,oCAAmC;AAEhE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,gCAA+B;AAChC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,gCAA+B;AAEhC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,6BAA4B;AAC7B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,6BAA4B"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,6BAA4B;AACvE,YAAY,EAAE,iBAAiB,EAAE,6BAA4B;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAoB;AAE9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA4B;AAC7E,YAAY,EAAE,cAAc,EAAE,6BAA4B;AAE1D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,UAAU,GACX,6BAA4B;AAE7B,YAAY,EAAE,aAAa,EAAE,oCAAmC;AAEhE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,gCAA+B;AAChC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,gCAA+B;AAEhC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,6BAA4B;AAC7B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,6BAA4B;AAE7B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,GAChB,4BAA2B;AAC5B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,4BAA2B"}
package/dist/index.d.mts CHANGED
@@ -9,4 +9,6 @@ export { runHermesCdp, fetchDiscoveryTargets, selectHermesTarget, hasAmbiguousTa
9
9
  export type { HermesTarget, HermesCdpResult, RunHermesCdpInput, } from "./hermes/hermes-cdp.mjs";
10
10
  export { HermesSession, getHermesSession, resetHermesSession, defaultAppIdForPlatform, DEFAULT_IOS_APP_ID, DEFAULT_ANDROID_APP_ID, DEFAULT_METRO_PORT, } from "./hermes/session.mjs";
11
11
  export type { HermesPlatform, HermesSessionOptions, HermesSessionResolved, HermesSessionResolveInput, } from "./hermes/session.mjs";
12
+ export { generateLocators, formatLocators, findElement, describeElement, } from "./utils/element.mjs";
13
+ export type { ElementLocator, LocatorSuggestion } from "./utils/element.mjs";
12
14
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,6BAA4B;AACvE,YAAY,EAAE,iBAAiB,EAAE,6BAA4B;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAoB;AAE9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA4B;AAC7E,YAAY,EAAE,cAAc,EAAE,6BAA4B;AAE1D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,UAAU,GACX,6BAA4B;AAE7B,YAAY,EAAE,aAAa,EAAE,oCAAmC;AAEhE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,gCAA+B;AAChC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,gCAA+B;AAEhC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,6BAA4B;AAC7B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,6BAA4B"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,6BAA4B;AACvE,YAAY,EAAE,iBAAiB,EAAE,6BAA4B;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAoB;AAE9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA4B;AAC7E,YAAY,EAAE,cAAc,EAAE,6BAA4B;AAE1D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,UAAU,GACX,6BAA4B;AAE7B,YAAY,EAAE,aAAa,EAAE,oCAAmC;AAEhE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,gCAA+B;AAChC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,gCAA+B;AAEhC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,6BAA4B;AAC7B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,6BAA4B;AAE7B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,GAChB,4BAA2B;AAC5B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,4BAA2B"}
package/dist/index.mjs CHANGED
@@ -3,4 +3,5 @@ export { createMcpServer } from "./server.mjs";
3
3
  export { detectAllDevices, MultipleDevicesError } from "./utils/platform.mjs";
4
4
  export { runHermesCdp, fetchDiscoveryTargets, selectHermesTarget, hasAmbiguousTarget, validateWebSocketUrl, LEGACY_SYNTHETIC_TITLE } from "./hermes/hermes-cdp.mjs";
5
5
  export { HermesSession, getHermesSession, resetHermesSession, defaultAppIdForPlatform, DEFAULT_IOS_APP_ID, DEFAULT_ANDROID_APP_ID, DEFAULT_METRO_PORT } from "./hermes/session.mjs";
6
+ export { generateLocators, formatLocators, findElement, describeElement } from "./utils/element.mjs";
6
7
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,6BAA4B;AAEvE,OAAO,EAAE,eAAe,EAAE,qBAAoB;AAE9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA4B;AAsB7E,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,gCAA+B;AAOhC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EACnB,6BAA4B","sourcesContent":["export { createBackend, createLazyBackend } from './backends/index.js';\nexport type { LazyDeviceBackend } from './backends/index.js';\nexport { createMcpServer } from './server.js';\n\nexport { detectAllDevices, MultipleDevicesError } from './utils/platform.js';\nexport type { DetectedDevice } from './utils/platform.js';\n\nexport type {\n DeviceBackend,\n DeviceButton,\n DeviceInfo,\n UIElement,\n ElementQuery,\n SnapshotResult,\n ScreenshotResult,\n ScreenshotFileResult,\n ScreenshotOptions,\n LogsResult,\n TapResult,\n AppStateResult,\n Platform,\n WindowSize,\n} from './backends/types.js';\n\nexport type { SessionConfig } from './backends/session-file.js';\n\nexport {\n runHermesCdp,\n fetchDiscoveryTargets,\n selectHermesTarget,\n hasAmbiguousTarget,\n validateWebSocketUrl,\n LEGACY_SYNTHETIC_TITLE,\n} from './hermes/hermes-cdp.js';\nexport type {\n HermesTarget,\n HermesCdpResult,\n RunHermesCdpInput,\n} from './hermes/hermes-cdp.js';\n\nexport {\n HermesSession,\n getHermesSession,\n resetHermesSession,\n defaultAppIdForPlatform,\n DEFAULT_IOS_APP_ID,\n DEFAULT_ANDROID_APP_ID,\n DEFAULT_METRO_PORT,\n} from './hermes/session.js';\nexport type {\n HermesPlatform,\n HermesSessionOptions,\n HermesSessionResolved,\n HermesSessionResolveInput,\n} from './hermes/session.js';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,6BAA4B;AAEvE,OAAO,EAAE,eAAe,EAAE,qBAAoB;AAE9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA4B;AAsB7E,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,gCAA+B;AAOhC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EACnB,6BAA4B;AAQ7B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EAChB,4BAA2B","sourcesContent":["export { createBackend, createLazyBackend } from './backends/index.js';\nexport type { LazyDeviceBackend } from './backends/index.js';\nexport { createMcpServer } from './server.js';\n\nexport { detectAllDevices, MultipleDevicesError } from './utils/platform.js';\nexport type { DetectedDevice } from './utils/platform.js';\n\nexport type {\n DeviceBackend,\n DeviceButton,\n DeviceInfo,\n UIElement,\n ElementQuery,\n SnapshotResult,\n ScreenshotResult,\n ScreenshotFileResult,\n ScreenshotOptions,\n LogsResult,\n TapResult,\n AppStateResult,\n Platform,\n WindowSize,\n} from './backends/types.js';\n\nexport type { SessionConfig } from './backends/session-file.js';\n\nexport {\n runHermesCdp,\n fetchDiscoveryTargets,\n selectHermesTarget,\n hasAmbiguousTarget,\n validateWebSocketUrl,\n LEGACY_SYNTHETIC_TITLE,\n} from './hermes/hermes-cdp.js';\nexport type {\n HermesTarget,\n HermesCdpResult,\n RunHermesCdpInput,\n} from './hermes/hermes-cdp.js';\n\nexport {\n HermesSession,\n getHermesSession,\n resetHermesSession,\n defaultAppIdForPlatform,\n DEFAULT_IOS_APP_ID,\n DEFAULT_ANDROID_APP_ID,\n DEFAULT_METRO_PORT,\n} from './hermes/session.js';\nexport type {\n HermesPlatform,\n HermesSessionOptions,\n HermesSessionResolved,\n HermesSessionResolveInput,\n} from './hermes/session.js';\n\nexport {\n generateLocators,\n formatLocators,\n findElement,\n describeElement,\n} from './utils/element.js';\nexport type { ElementLocator, LocatorSuggestion } from './utils/element.js';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/device-mcp",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "MCP server for mobile device interaction — iOS (IDB), Android (ADB), and Appium/BrowserStack",
5
5
  "homepage": "https://github.com/MetaMask/device-mcp#readme",
6
6
  "bugs": {