mobridge-mcp 0.12.0 → 0.12.2

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/integrity.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "buildId": "e0bbc2c-20261110142320",
3
- "bundleSha256": "92e57d7648cacf2c0d427f7fc9a8b1a2ba7f2bc1480c148d843eea24b5f015bd"
2
+ "buildId": "b704084-20261111144850",
3
+ "bundleSha256": "18462deb2ccc5e554561c36e95c56306e321fb113d2fce01e61e897b260a4665"
4
4
  }
package/loader.cjs CHANGED
@@ -14,7 +14,7 @@ const os = require("node:os");
14
14
  const path = require("node:path");
15
15
  const crypto = require("node:crypto");
16
16
 
17
- const BUILD_ID = "e0bbc2c-20261110142320"; // pack-npx stamps the real build id
17
+ const BUILD_ID = "b704084-20261111144850"; // pack-npx stamps the real build id
18
18
  const ROOT = __dirname; // package root (loader.cjs sits here)
19
19
  const DIST = path.join(ROOT, "dist");
20
20
  const BUNDLE = path.join(DIST, "main.obf.cjs");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobridge-mcp",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
4
4
  "description": "MoBridge MCP — a stdio MCP server exposing on-device Android UIs as fast semantic read / observe / find / act / verify tools plus screenshots. Ships an installer that wires it into Claude Code, Claude Desktop, Cursor and Codex.",
5
5
  "keywords": [
6
6
  "mcp",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "mobridge-adb": {
3
- "version": "1.0.0",
4
- "digest": "faccf79f7b33c80d"
3
+ "version": "1.0.1",
4
+ "digest": "17d400b50d0f7f7f"
5
5
  },
6
6
  "mobridge-app-control": {
7
7
  "version": "1.1.0",
@@ -28,8 +28,8 @@
28
28
  "digest": "e8b6c272c3b7e122"
29
29
  },
30
30
  "mobridge-recipes": {
31
- "version": "1.5.0",
32
- "digest": "0892a6221d403c95"
31
+ "version": "1.6.0",
32
+ "digest": "d4edd906f0cb29d8"
33
33
  },
34
34
  "mobridge-surfaces": {
35
35
  "version": "1.2.0",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: mobridge-adb
3
3
  description: Use when you would reach for adb - logs, files, intents, settings, keys, power, ports, shell - use MoBridge instead
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  ---
6
6
 
7
7
  # MoBridge instead of adb
@@ -72,7 +72,7 @@ Reference with every flag and result field: `references/commands.md`.
72
72
  - `rotate` and `stay-awake` also persist: undo them (`device rotate auto`, `device stay-awake false`).
73
73
  - Tapping an ad or a WebView has no node to click: use `mobridge gesture '{"kind":"TAP","x":540,"y":1200}'` with coordinates from a fresh `capture` (old coordinates go stale quickly). Never tap the ad itself; follow `mobridge-surfaces`.
74
74
  - When a step only needs "sent" (a second BACK, a tap whose effect you read later), say so: `mobridge key BACK --verify DISPATCH_ONLY` returns in ~200 ms instead of ~740 ms; in a plan add `"verify":"DISPATCH_ONLY"`.
75
- - Quote the whole command when it holds `|`, `;` or `>`: `mobridge shell -- "ls /sdcard | head"`.
75
+ - Quote the whole command when it holds `|`, `;` or `>`: `mobridge shell -d <id> -- "ls /sdcard | head"`. Put `-d`, `--json` and `--timeout` before `--`: everything after it goes to the phone untouched.
76
76
 
77
77
  ## Over MCP
78
78
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: mobridge-recipes
3
3
  description: Use when chaining MoBridge steps, writing a JSONL plan, mixing CLI with MCP or saving and replaying a flow
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  ---
6
6
 
7
7
  # MoBridge recipes
@@ -156,6 +156,9 @@ In a plan they are steps (`logcat`, `op:"file"|"intent"|"settings"|"prop"|"shell
156
156
  `"verify":"DISPATCH_ONLY"` (two BACKs in a row need it). Query fields: `text` is the visible words, `label` is the
157
157
  content description (a node with only `text` is not found by `label`); a partial match is
158
158
  `{"text":{"value":"x","match":"CONTAINS"}}`. Every action needs a new `operationId`. SCROLL takes `direction` FORWARD or BACKWARD.
159
+ A later step may use an earlier result: `{"id":"b","op":"shell","action":"run","command":"echo ${a.stdout}"}` or `"${w1.elapsedMs}"` (whole-string reference keeps its type; unknown step/path is ACTION_REJECTED).
160
+ `{"expect":{"value":"${a.stdout}","pattern":"^ok","timeoutMs":1000}}` checks output with a regex (EXPECT_FAILED on no match, EXPECT_TIMEOUT on a pathological pattern).
161
+ Cancelling a running plan (Ctrl-C / cancel) returns CANCELED or RESULT_UNKNOWN: undispatched steps are dropped, dispatched ones are never resent; resume with the same workflowId and plan.
159
162
  Ads and WebView surfaces expose no nodes: use `act GESTURE` with `args:{kind:"TAP",x,y}` from a fresh capture.
160
163
 
161
164
  ## Pitfalls