@beeos-ai/device-mcp-server 0.3.0 → 0.4.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.
Files changed (56) hide show
  1. package/dist/backends/android-adb.d.ts +147 -6
  2. package/dist/backends/android-adb.js +776 -40
  3. package/dist/backends/android-adb.js.map +1 -1
  4. package/dist/backends/base.d.ts +243 -7
  5. package/dist/backends/base.js +81 -2
  6. package/dist/backends/base.js.map +1 -1
  7. package/dist/backends/desktop.d.ts +3 -2
  8. package/dist/backends/desktop.js +9 -3
  9. package/dist/backends/desktop.js.map +1 -1
  10. package/dist/backends/linux.js +3 -0
  11. package/dist/backends/linux.js.map +1 -1
  12. package/dist/backends/mac.d.ts +11 -2
  13. package/dist/backends/mac.js +39 -1
  14. package/dist/backends/mac.js.map +1 -1
  15. package/dist/backends/stubs/windows.js +3 -0
  16. package/dist/backends/stubs/windows.js.map +1 -1
  17. package/dist/cli.d.ts +40 -26
  18. package/dist/cli.js +118 -84
  19. package/dist/cli.js.map +1 -1
  20. package/dist/index.d.ts +9 -6
  21. package/dist/index.js +9 -6
  22. package/dist/index.js.map +1 -1
  23. package/dist/server/app.d.ts +60 -17
  24. package/dist/server/app.js +182 -138
  25. package/dist/server/app.js.map +1 -1
  26. package/dist/server/mcp-server.d.ts +25 -0
  27. package/dist/server/mcp-server.js +33 -0
  28. package/dist/server/mcp-server.js.map +1 -0
  29. package/dist/server/registry.d.ts +111 -0
  30. package/dist/server/registry.js +191 -0
  31. package/dist/server/registry.js.map +1 -0
  32. package/dist/server/stdio.d.ts +29 -0
  33. package/dist/server/stdio.js +35 -0
  34. package/dist/server/stdio.js.map +1 -0
  35. package/dist/server/tool-registry.d.ts +60 -35
  36. package/dist/server/tool-registry.js +911 -434
  37. package/dist/server/tool-registry.js.map +1 -1
  38. package/dist/util/adb-files.d.ts +25 -1
  39. package/dist/util/adb-files.js +95 -0
  40. package/dist/util/adb-files.js.map +1 -1
  41. package/dist/util/locale.d.ts +16 -0
  42. package/dist/util/locale.js +31 -0
  43. package/dist/util/locale.js.map +1 -0
  44. package/dist/util/logger.d.ts +27 -0
  45. package/dist/util/logger.js +27 -0
  46. package/dist/util/logger.js.map +1 -0
  47. package/dist/util/output-path.d.ts +60 -0
  48. package/dist/util/output-path.js +123 -0
  49. package/dist/util/output-path.js.map +1 -0
  50. package/dist/util/package-name.d.ts +26 -0
  51. package/dist/util/package-name.js +41 -0
  52. package/dist/util/package-name.js.map +1 -0
  53. package/package.json +5 -3
  54. package/dist/server/action-mapping.d.ts +0 -21
  55. package/dist/server/action-mapping.js +0 -153
  56. package/dist/server/action-mapping.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/server/tool-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/server/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -63,8 +63,32 @@ export declare function adbPull(runner: AdbRunner, serial: string | undefined, r
63
63
  * `adb push <hostTmp> <remote>`. The buffer is written to a temp file
64
64
  * first because `adb push` reads from disk; piping into stdin is not
65
65
  * supported by the file-sync protocol.
66
+ *
67
+ * v3 install-link review (P2-3) hardening:
68
+ *
69
+ * 1. **Pre-flight daemon probe**: `adb get-state` before the push so
70
+ * a dead adb-server fails the push within ~1.5s with
71
+ * `subtype: daemon_died` instead of waiting for the file-IO
72
+ * timeout to fire (default 60s).
73
+ * 2. **Push-size cap**: refuse buffers above 256 MiB (configurable
74
+ * via `opts.maxPushBytes`). Pushing larger blobs through this
75
+ * path means double memory pressure + a disk fsync round-trip;
76
+ * callers should be using a streaming installer instead.
77
+ * 3. **Post-flight daemon probe** on failure: if the runner threw,
78
+ * re-probe the daemon. A failure here promotes the original
79
+ * generic `adb_failed` to `daemon_died`, which is the actionable
80
+ * class — caller knows to kill-and-restart the adb server rather
81
+ * than retry the push.
82
+ *
83
+ * Note: a TRUE in-flight watchdog (kill the push if the daemon dies
84
+ * mid-transfer) requires access to the child PID, which the runner
85
+ * abstraction deliberately hides. The pre/post-flight pair catches the
86
+ * dominant cases ("daemon was already dead" and "daemon died during
87
+ * push, the runner is now hanging") at very low cost.
66
88
  */
67
- export declare function adbPush(runner: AdbRunner, serial: string | undefined, remote: string, content: Buffer, opts: AdbFileOpOptions): Promise<void>;
89
+ export declare function adbPush(runner: AdbRunner, serial: string | undefined, remote: string, content: Buffer, opts: AdbFileOpOptions & {
90
+ maxPushBytes?: number;
91
+ }): Promise<void>;
68
92
  /**
69
93
  * `ls -laL <path>` over `adb shell` (single-string command, properly
70
94
  * quoted via `sh\`...\``). The `-L` flag dereferences symlinks so callers
@@ -41,6 +41,24 @@ import * as path from "node:path";
41
41
  import { DeviceError } from "@beeos-ai/device-common";
42
42
  import { sh } from "./adb-shell.js";
43
43
  const DEFAULT_PULL_CAP_BYTES = 64 * 1024 * 1024;
44
+ /**
45
+ * Hard ceiling for `adbPush`. Pushing a 1 GiB buffer through this code
46
+ * path means: hold the buffer in memory, fsync it to a host tmp file,
47
+ * THEN ship it over the file-sync protocol. The two-copy memory
48
+ * pressure plus disk space is almost always a sign the caller is
49
+ * doing something wrong (e.g. trying to install an APK without
50
+ * streaming, or a runaway test). 256 MiB is generous for APK / video /
51
+ * scrcpy-bridge install scenarios while bounded enough to fail loud
52
+ * before OOM.
53
+ *
54
+ * v3 install-link review (P2-3): pre-flight cap + daemon-liveness
55
+ * pre/post-flight checks are the KISS cure for "卡死在 adb push" —
56
+ * `adb push` itself does not support stdin pipe (file-sync protocol
57
+ * needs a host-side path with seek), so a true streaming path requires
58
+ * upstream changes outside this module. We instead make every failure
59
+ * mode fail FAST with an actionable error code.
60
+ */
61
+ const DEFAULT_PUSH_CAP_BYTES = 256 * 1024 * 1024;
44
62
  /**
45
63
  * Prepend `["-s", serial]` when a serial is set. Mirrors the private
46
64
  * `adbArgs()` helper in the backend so the helpers here can build their
@@ -84,8 +102,39 @@ export async function adbPull(runner, serial, remote, opts) {
84
102
  * `adb push <hostTmp> <remote>`. The buffer is written to a temp file
85
103
  * first because `adb push` reads from disk; piping into stdin is not
86
104
  * supported by the file-sync protocol.
105
+ *
106
+ * v3 install-link review (P2-3) hardening:
107
+ *
108
+ * 1. **Pre-flight daemon probe**: `adb get-state` before the push so
109
+ * a dead adb-server fails the push within ~1.5s with
110
+ * `subtype: daemon_died` instead of waiting for the file-IO
111
+ * timeout to fire (default 60s).
112
+ * 2. **Push-size cap**: refuse buffers above 256 MiB (configurable
113
+ * via `opts.maxPushBytes`). Pushing larger blobs through this
114
+ * path means double memory pressure + a disk fsync round-trip;
115
+ * callers should be using a streaming installer instead.
116
+ * 3. **Post-flight daemon probe** on failure: if the runner threw,
117
+ * re-probe the daemon. A failure here promotes the original
118
+ * generic `adb_failed` to `daemon_died`, which is the actionable
119
+ * class — caller knows to kill-and-restart the adb server rather
120
+ * than retry the push.
121
+ *
122
+ * Note: a TRUE in-flight watchdog (kill the push if the daemon dies
123
+ * mid-transfer) requires access to the child PID, which the runner
124
+ * abstraction deliberately hides. The pre/post-flight pair catches the
125
+ * dominant cases ("daemon was already dead" and "daemon died during
126
+ * push, the runner is now hanging") at very low cost.
87
127
  */
88
128
  export async function adbPush(runner, serial, remote, content, opts) {
129
+ const cap = opts.maxPushBytes ?? DEFAULT_PUSH_CAP_BYTES;
130
+ if (content.byteLength > cap) {
131
+ throw new DeviceError(`adb push refused: buffer is ${content.byteLength} bytes, cap is ${cap}. ` +
132
+ `Set opts.maxPushBytes to override, or stream the install via 'adb install' / 'pm install -S' instead.`, { subtype: "adb_failed", retriable: false });
133
+ }
134
+ // Pre-flight daemon probe. ~1.5s. If the daemon is already wedged,
135
+ // fail now with a clear cause instead of letting the runner's full
136
+ // timeout fire.
137
+ await assertAdbDaemonAlive(runner, serial, "before push");
89
138
  const tmpdir = opts.tmpdir?.() ?? os.tmpdir();
90
139
  const stagingDir = await mkdtemp(path.join(tmpdir, "beeos-adb-push-"));
91
140
  const local = path.join(stagingDir, "data.bin");
@@ -97,6 +146,14 @@ export async function adbPush(runner, serial, remote, content, opts) {
97
146
  });
98
147
  }
99
148
  catch (e) {
149
+ // Post-flight probe: if the runner failure correlates with a dead
150
+ // daemon, surface the more actionable error code. The probe itself
151
+ // has its own short timeout so we don't compound failures.
152
+ const daemonDeadAfter = await isAdbDaemonDead(runner, serial);
153
+ if (daemonDeadAfter) {
154
+ throw new DeviceError(`adb push failed: daemon died during transfer of ${remote}. ` +
155
+ `Try 'adb kill-server && adb start-server'.`, { subtype: "daemon_died", retriable: true, cause: e });
156
+ }
100
157
  throw wrapPullPushFailure("push", remote, e, opts.timeoutMs);
101
158
  }
102
159
  finally {
@@ -104,6 +161,44 @@ export async function adbPush(runner, serial, remote, content, opts) {
104
161
  await rm(stagingDir, { recursive: true, force: true }).catch(() => undefined);
105
162
  }
106
163
  }
164
+ /**
165
+ * Throw `DeviceError(daemon_died)` when `adb get-state` either errors
166
+ * or returns a non-`device` state within 1.5s. Used as a pre-flight
167
+ * before a long-running file IO call so we surface a wedged daemon
168
+ * before the caller's timeout has to fire.
169
+ */
170
+ async function assertAdbDaemonAlive(runner, serial, phase) {
171
+ if (await isAdbDaemonDead(runner, serial)) {
172
+ throw new DeviceError(`adb daemon unreachable (${phase}). Try 'adb kill-server && adb start-server'.`, { subtype: "daemon_died", retriable: true });
173
+ }
174
+ }
175
+ /**
176
+ * Returns true when `adb get-state` for the (optional) serial does
177
+ * not respond within 1.5s, throws, or returns a non-`device` state.
178
+ *
179
+ * Best-effort: any unexpected runner failure also counts as "dead"
180
+ * since the caller is about to make a longer call that would also
181
+ * fail, and surfacing the kinder daemon_died error is more useful
182
+ * than waiting for the longer call's generic adb_failed.
183
+ */
184
+ async function isAdbDaemonDead(runner, serial) {
185
+ try {
186
+ const result = await runner("adb", withSerial(serial, ["get-state"]), {
187
+ encoding: "utf8",
188
+ timeoutMs: 1_500,
189
+ });
190
+ const state = typeof result.stdout === "string"
191
+ ? result.stdout.trim()
192
+ : result.stdout.toString("utf8").trim();
193
+ // The healthy reply is the literal token "device". Any other
194
+ // value (`offline`, `unauthorized`, empty) means the daemon is
195
+ // unable to drive a transfer right now.
196
+ return state !== "device";
197
+ }
198
+ catch {
199
+ return true;
200
+ }
201
+ }
107
202
  /* ----------------------------------------------------------------------- */
108
203
  /* List directory */
109
204
  /* ----------------------------------------------------------------------- */
@@ -1 +1 @@
1
- {"version":3,"file":"adb-files.js","sourceRoot":"","sources":["../../src/util/adb-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adb-files.js","sourceRoot":"","sources":["../../src/util/adb-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * BCP-47-ish locale-tag validation.
3
+ *
4
+ * mobile-mcp parity (round 3): mirrors `validateLocale` from
5
+ * `mobile-mcp/src/utils.ts` — `[a-zA-Z0-9,\- ]` only. The character class is
6
+ * deliberately permissive (BCP-47 allows tags like `zh-Hant-TW`, lists like
7
+ * `fr-FR,en-US`, and Android's `cmd locale set-app-locales` accepts space-
8
+ * delimited preference lists), but tight enough to keep shell metachars
9
+ * (`$`, `` ` ``, `;`, `|`) and path separators (`/`, `\`) out.
10
+ *
11
+ * Used at the MCP tool boundary (`launch_app({ locale })`) so a prompt-
12
+ * injected `locale: "$(rm -rf /)"` is rejected before reaching `adb shell`
13
+ * — `sh\`...\`` template literal in `android-adb.ts` already escapes the
14
+ * value, so this is defence-in-depth (and a faster, clearer error).
15
+ */
16
+ export declare function assertValidLocale(s: string): string;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * BCP-47-ish locale-tag validation.
3
+ *
4
+ * mobile-mcp parity (round 3): mirrors `validateLocale` from
5
+ * `mobile-mcp/src/utils.ts` — `[a-zA-Z0-9,\- ]` only. The character class is
6
+ * deliberately permissive (BCP-47 allows tags like `zh-Hant-TW`, lists like
7
+ * `fr-FR,en-US`, and Android's `cmd locale set-app-locales` accepts space-
8
+ * delimited preference lists), but tight enough to keep shell metachars
9
+ * (`$`, `` ` ``, `;`, `|`) and path separators (`/`, `\`) out.
10
+ *
11
+ * Used at the MCP tool boundary (`launch_app({ locale })`) so a prompt-
12
+ * injected `locale: "$(rm -rf /)"` is rejected before reaching `adb shell`
13
+ * — `sh\`...\`` template literal in `android-adb.ts` already escapes the
14
+ * value, so this is defence-in-depth (and a faster, clearer error).
15
+ */
16
+ import { DeviceError } from "@beeos-ai/device-common";
17
+ const LOCALE_RE = /^[a-zA-Z0-9,\- ]+$/;
18
+ const MAX_LOCALE_LENGTH = 256;
19
+ export function assertValidLocale(s) {
20
+ if (typeof s !== "string" || s.length === 0) {
21
+ throw new DeviceError("locale must be a non-empty string", { subtype: "invalid_args", retriable: false });
22
+ }
23
+ if (s.length > MAX_LOCALE_LENGTH) {
24
+ throw new DeviceError(`locale '${s.slice(0, 32)}…' exceeds ${MAX_LOCALE_LENGTH} chars`, { subtype: "invalid_args", retriable: false });
25
+ }
26
+ if (!LOCALE_RE.test(s)) {
27
+ throw new DeviceError(`locale '${s}' contains invalid characters (allowed: a-z A-Z 0-9 , - space)`, { subtype: "invalid_args", retriable: false });
28
+ }
29
+ return s;
30
+ }
31
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/util/locale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,SAAS,GAAG,oBAAoB,CAAC;AACvC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,WAAW,CACnB,mCAAmC,EACnC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,WAAW,CACnB,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,iBAAiB,QAAQ,EAChE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,WAAW,CACnB,WAAW,CAAC,gEAAgE,EAC5E,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Stderr-only structured logger used by both transports.
3
+ *
4
+ * Stdio mode requires that the `stdout` channel carries ONLY MCP JSON-RPC
5
+ * frames — anything else corrupts the protocol. The default pino logger
6
+ * also writes to stdout. We pin it to stderr explicitly here and re-use
7
+ * the same instance from the HTTP transport so both modes log
8
+ * consistently.
9
+ *
10
+ * Consumers can plug in any pino-shaped logger via `BuildAppOptions.logger`
11
+ * / `RunStdioOptions.logger`. The bundled instance is intentionally
12
+ * minimal — no transports, no formatting, no rotation. Operators who
13
+ * want more should bring their own pino instance with the destination of
14
+ * their choice (also pinned to stderr — never stdout).
15
+ *
16
+ * Why not `console.error`? `console.*` ends up in different streams on
17
+ * different runtimes (especially when wrapped by libraries like jest /
18
+ * vitest) and the pino instance avoids that surprise — it always goes
19
+ * to fd 2 directly.
20
+ */
21
+ export interface Logger {
22
+ info?: (obj: unknown, msg?: string) => void;
23
+ warn?: (obj: unknown, msg?: string) => void;
24
+ error?: (obj: unknown, msg?: string) => void;
25
+ debug?: (obj: unknown, msg?: string) => void;
26
+ }
27
+ export declare const stderrLogger: Logger;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Stderr-only structured logger used by both transports.
3
+ *
4
+ * Stdio mode requires that the `stdout` channel carries ONLY MCP JSON-RPC
5
+ * frames — anything else corrupts the protocol. The default pino logger
6
+ * also writes to stdout. We pin it to stderr explicitly here and re-use
7
+ * the same instance from the HTTP transport so both modes log
8
+ * consistently.
9
+ *
10
+ * Consumers can plug in any pino-shaped logger via `BuildAppOptions.logger`
11
+ * / `RunStdioOptions.logger`. The bundled instance is intentionally
12
+ * minimal — no transports, no formatting, no rotation. Operators who
13
+ * want more should bring their own pino instance with the destination of
14
+ * their choice (also pinned to stderr — never stdout).
15
+ *
16
+ * Why not `console.error`? `console.*` ends up in different streams on
17
+ * different runtimes (especially when wrapped by libraries like jest /
18
+ * vitest) and the pino instance avoids that surprise — it always goes
19
+ * to fd 2 directly.
20
+ */
21
+ import pino from "pino";
22
+ export const stderrLogger = pino({
23
+ level: process.env.LOG_LEVEL ?? "info",
24
+ base: { component: "device-mcp-server" },
25
+ timestamp: pino.stdTimeFunctions.isoTime,
26
+ }, pino.destination(2));
27
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,MAAM,CAAC,MAAM,YAAY,GAAW,IAAI,CACtC;IACE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IACtC,IAAI,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE;IACxC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;CACzC,EACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACpB,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Output-path sandbox for tools that write to the host filesystem.
3
+ *
4
+ * `screenshot_to_file({ path })` and `screen_record_stop({ path })` accept a
5
+ * caller-supplied destination path and previously fed it directly to
6
+ * `writeFile` / `adb pull <local>`. A prompt-injected LLM could therefore
7
+ * write `/etc/hosts` or `~/.ssh/authorized_keys` (subject only to OS file
8
+ * permissions), which is not the security posture we want for a tool
9
+ * loaded into Cursor / Claude Desktop / production agents.
10
+ *
11
+ * The resolution mirrors mobile-mcp's `validateOutputPath` (see
12
+ * `mobile-mcp/src/utils.ts` L18-L87): allow the caller-supplied path only
13
+ * if it resolves under one of the trusted roots:
14
+ *
15
+ * 1. `process.cwd()` — the operator's working directory at server start
16
+ * 2. `os.tmpdir()` — the system temp directory (and its `/private/tmp`
17
+ * alias on macOS, where `os.tmpdir()` reports `/var/folders/.../T/`
18
+ * but `/tmp` is the symlinked entry point most users type)
19
+ * 3. Each comma- or colon-separated entry of `BEEOS_DEVICE_OUTPUT_DIRS`
20
+ * (operator opt-in escape hatch for mounted volumes / shared dirs)
21
+ *
22
+ * Anything outside the trusted set throws a `DeviceError("invalid_args")`
23
+ * before the destructive operation runs.
24
+ */
25
+ /**
26
+ * Returns the absolute, resolved form of `target` if it sits under one of
27
+ * the trusted roots. Otherwise throws `DeviceError("invalid_args")` —
28
+ * never returns a path that escaped the sandbox.
29
+ *
30
+ * Symlinks are NOT followed: we only canonicalise via `path.resolve` so a
31
+ * legitimate symlink under cwd that points outside is still considered
32
+ * inside (the kernel will enforce real permissions at write time).
33
+ * Following symlinks here would surprise operators who deliberately link
34
+ * a writable cwd entry to an external mount.
35
+ */
36
+ export declare function assertSafeOutputPath(target: string, opts?: {
37
+ extraRoots?: string;
38
+ }): string;
39
+ /**
40
+ * Same as {@link assertSafeOutputPath}, but ALSO restricts the file
41
+ * extension to a fixed allow-list. Used by tools that need both sandbox
42
+ * and codec consistency:
43
+ *
44
+ * - `screenshot_to_file({ path })` — `.png` / `.jpg` / `.jpeg`
45
+ * - `screen_record_start({ output })` — `.mp4`
46
+ * - `screen_record_stop({ path })` — `.mp4`
47
+ *
48
+ * mobile-mcp parity (round 3): mirrors `validateFileExtension` from
49
+ * `mobile-mcp/src/utils.ts` — without it, a prompt-injected agent could
50
+ * write a screenshot to `~/Downloads/cute.png.exe` (cwd-relative) and
51
+ * have the OS treat it as an executable on platforms that key on file
52
+ * extension. We do the extension check AFTER the path is sandboxed, so
53
+ * the sandbox failure mode (clearer) still wins on outright bad paths.
54
+ *
55
+ * `allowedExts` should be lowercase and dot-prefixed (`[".png", ".jpg"]`).
56
+ * Comparison is case-insensitive.
57
+ */
58
+ export declare function assertSafeOutputPathWithExt(target: string, allowedExts: readonly string[], opts?: {
59
+ extraRoots?: string;
60
+ }): string;
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Output-path sandbox for tools that write to the host filesystem.
3
+ *
4
+ * `screenshot_to_file({ path })` and `screen_record_stop({ path })` accept a
5
+ * caller-supplied destination path and previously fed it directly to
6
+ * `writeFile` / `adb pull <local>`. A prompt-injected LLM could therefore
7
+ * write `/etc/hosts` or `~/.ssh/authorized_keys` (subject only to OS file
8
+ * permissions), which is not the security posture we want for a tool
9
+ * loaded into Cursor / Claude Desktop / production agents.
10
+ *
11
+ * The resolution mirrors mobile-mcp's `validateOutputPath` (see
12
+ * `mobile-mcp/src/utils.ts` L18-L87): allow the caller-supplied path only
13
+ * if it resolves under one of the trusted roots:
14
+ *
15
+ * 1. `process.cwd()` — the operator's working directory at server start
16
+ * 2. `os.tmpdir()` — the system temp directory (and its `/private/tmp`
17
+ * alias on macOS, where `os.tmpdir()` reports `/var/folders/.../T/`
18
+ * but `/tmp` is the symlinked entry point most users type)
19
+ * 3. Each comma- or colon-separated entry of `BEEOS_DEVICE_OUTPUT_DIRS`
20
+ * (operator opt-in escape hatch for mounted volumes / shared dirs)
21
+ *
22
+ * Anything outside the trusted set throws a `DeviceError("invalid_args")`
23
+ * before the destructive operation runs.
24
+ */
25
+ import * as path from "node:path";
26
+ import * as os from "node:os";
27
+ import { DeviceError } from "@beeos-ai/device-common";
28
+ /** Resolve and freeze the trusted-roots list once per call. */
29
+ function trustedRoots(extraRootsRaw) {
30
+ // process.cwd() may shift across calls (rare, but tests exercise it),
31
+ // so we recompute on every invocation — micro-perf is negligible.
32
+ const cwd = path.resolve(process.cwd());
33
+ const tmp = path.resolve(os.tmpdir());
34
+ const roots = new Set([cwd, tmp]);
35
+ // macOS `os.tmpdir()` resolves to `/var/folders/.../T/` but the canonical
36
+ // user-visible path is `/private/tmp` (and the bare `/tmp` symlink). Add
37
+ // both aliases explicitly so `--output-dir /tmp/foo` callers don't get
38
+ // a misleading "outside sandbox" error on macOS.
39
+ if (process.platform === "darwin") {
40
+ roots.add("/private/tmp");
41
+ roots.add("/tmp");
42
+ }
43
+ // Operator opt-in extras. Comma OR colon separated to match the
44
+ // convention used elsewhere in BeeOS (`PATH`-like colons on POSIX,
45
+ // commas in env-style lists).
46
+ const raw = extraRootsRaw ?? process.env.BEEOS_DEVICE_OUTPUT_DIRS ?? "";
47
+ for (const entry of raw.split(/[,:]/)) {
48
+ const trimmed = entry.trim();
49
+ if (trimmed.length > 0)
50
+ roots.add(path.resolve(trimmed));
51
+ }
52
+ return [...roots];
53
+ }
54
+ /**
55
+ * Returns the absolute, resolved form of `target` if it sits under one of
56
+ * the trusted roots. Otherwise throws `DeviceError("invalid_args")` —
57
+ * never returns a path that escaped the sandbox.
58
+ *
59
+ * Symlinks are NOT followed: we only canonicalise via `path.resolve` so a
60
+ * legitimate symlink under cwd that points outside is still considered
61
+ * inside (the kernel will enforce real permissions at write time).
62
+ * Following symlinks here would surprise operators who deliberately link
63
+ * a writable cwd entry to an external mount.
64
+ */
65
+ export function assertSafeOutputPath(target, opts = {}) {
66
+ if (typeof target !== "string" || target.length === 0) {
67
+ throw new DeviceError("output path must be a non-empty string", {
68
+ subtype: "invalid_args",
69
+ retriable: false,
70
+ });
71
+ }
72
+ const resolved = path.resolve(target);
73
+ const roots = trustedRoots(opts.extraRoots);
74
+ for (const root of roots) {
75
+ if (isUnder(root, resolved))
76
+ return resolved;
77
+ }
78
+ throw new DeviceError(`output path '${target}' is outside the sandbox (allowed roots: ${roots.join(", ")}). Set BEEOS_DEVICE_OUTPUT_DIRS to widen the allow-list.`, { subtype: "invalid_args", retriable: false });
79
+ }
80
+ /**
81
+ * Same as {@link assertSafeOutputPath}, but ALSO restricts the file
82
+ * extension to a fixed allow-list. Used by tools that need both sandbox
83
+ * and codec consistency:
84
+ *
85
+ * - `screenshot_to_file({ path })` — `.png` / `.jpg` / `.jpeg`
86
+ * - `screen_record_start({ output })` — `.mp4`
87
+ * - `screen_record_stop({ path })` — `.mp4`
88
+ *
89
+ * mobile-mcp parity (round 3): mirrors `validateFileExtension` from
90
+ * `mobile-mcp/src/utils.ts` — without it, a prompt-injected agent could
91
+ * write a screenshot to `~/Downloads/cute.png.exe` (cwd-relative) and
92
+ * have the OS treat it as an executable on platforms that key on file
93
+ * extension. We do the extension check AFTER the path is sandboxed, so
94
+ * the sandbox failure mode (clearer) still wins on outright bad paths.
95
+ *
96
+ * `allowedExts` should be lowercase and dot-prefixed (`[".png", ".jpg"]`).
97
+ * Comparison is case-insensitive.
98
+ */
99
+ export function assertSafeOutputPathWithExt(target, allowedExts, opts = {}) {
100
+ const safe = assertSafeOutputPath(target, opts);
101
+ const ext = path.extname(safe).toLowerCase();
102
+ if (!allowedExts.includes(ext)) {
103
+ throw new DeviceError(`output path '${target}' has unsupported extension '${ext || "(none)"}' (allowed: ${allowedExts.join(", ")})`, { subtype: "invalid_args", retriable: false });
104
+ }
105
+ return safe;
106
+ }
107
+ /** True iff `child` is `root` or a descendant. Both inputs must be resolved. */
108
+ function isUnder(root, child) {
109
+ if (child === root)
110
+ return true;
111
+ const rel = path.relative(root, child);
112
+ // `path.relative` returns "" for identity, "..[/...]" when `child`
113
+ // escapes upward, or an absolute path on Windows when crossing drive
114
+ // letters. All three escape cases are filtered out below.
115
+ if (rel === "" || rel === ".")
116
+ return true;
117
+ if (rel.startsWith(".."))
118
+ return false;
119
+ if (path.isAbsolute(rel))
120
+ return false;
121
+ return true;
122
+ }
123
+ //# sourceMappingURL=output-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-path.js","sourceRoot":"","sources":["../../src/util/output-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,+DAA+D;AAC/D,SAAS,YAAY,CAAC,aAAsB;IAC1C,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAE1C,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,iDAAiD;IACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,gEAAgE;IAChE,mEAAmE;IACnE,8BAA8B;IAC9B,MAAM,GAAG,GACP,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,OAAgC,EAAE;IAElC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,WAAW,CAAC,wCAAwC,EAAE;YAC9D,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC/C,CAAC;IACD,MAAM,IAAI,WAAW,CACnB,gBAAgB,MAAM,4CAA4C,KAAK,CAAC,IAAI,CAC1E,IAAI,CACL,0DAA0D,EAC3D,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAC9C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAc,EACd,WAA8B,EAC9B,OAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,WAAW,CACnB,gBAAgB,MAAM,gCACpB,GAAG,IAAI,QACT,eAAe,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACxC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,mEAAmE;IACnE,qEAAqE;IACrE,0DAA0D;IAC1D,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Android package-name validation.
3
+ *
4
+ * mobile-mcp parity (round 3): mirrors `validatePackageName` from
5
+ * `mobile-mcp/src/utils.ts` — `[a-zA-Z0-9._]` only, with no leading dot
6
+ * relaxation since Android's own package-name grammar (RFC-1034 segments
7
+ * separated by `.`) maps cleanly onto this character class.
8
+ *
9
+ * Used at the MCP tool boundary (`terminate_app`, `uninstall_app`) to fail
10
+ * a malformed input EARLY — before it travels through the runner, gets
11
+ * shell-escaped by `sh\`...\``, and produces a confusing "package not
12
+ * found" error from `pm uninstall`. We deliberately do NOT call this in
13
+ * `launch_app` because that handler accepts user-friendly display names
14
+ * (e.g. "WeChat" -> `com.tencent.mm`) which are mapped to package ids
15
+ * inside the backend.
16
+ */
17
+ /**
18
+ * Throw `DeviceError({ subtype: "invalid_args" })` if `name` doesn't match
19
+ * the Android package-name grammar. Returns `name` unchanged on success so
20
+ * callers can write `assertValidPackageName(args.pkg)` inline.
21
+ *
22
+ * Empty / non-string / over-length inputs all reject. Defaults inherit
23
+ * `userActionable=true` from the `invalid_args` subtype so the LLM sees a
24
+ * plain-text actionable response instead of an `isError` protocol failure.
25
+ */
26
+ export declare function assertValidPackageName(name: string): string;