@kaeawc/auto-mobile 0.0.13 → 0.0.15
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/README.md +5 -5
- package/README.md.backup +5 -5
- package/dist/schemas/tool-definitions.json +20 -90
- package/dist/src/index.js +230 -288
- package/dist/src/index.js.map +1 -1
- package/package.json +45 -40
- package/schemas/tool-definitions.json +130 -92
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaeawc/auto-mobile",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "Mobile device interaction automation via MCP",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "bun test",
|
|
@@ -10,13 +10,6 @@
|
|
|
10
10
|
"watch": "bun --watch src/index.ts",
|
|
11
11
|
"build": "bun build.ts && chmod +x dist/src/index.js",
|
|
12
12
|
"clean": "rm -rf dist",
|
|
13
|
-
"start": "bun run src/index.ts --transport streamable",
|
|
14
|
-
"dev": "bun --watch src/index.ts --transport streamable",
|
|
15
|
-
"dev:port": "bun --watch src/index.ts --transport streamable --port",
|
|
16
|
-
"dev:stdio": "bun run src/index.ts",
|
|
17
|
-
"dev:sse": "bun --watch src/index.ts --transport sse",
|
|
18
|
-
"dev:streamable": "bun --watch src/index.ts --transport streamable",
|
|
19
|
-
"dev:streamable:port": "bun --watch src/index.ts --transport streamable --port",
|
|
20
13
|
"dev:android": "bash scripts/local-dev/android-hot-reload.sh --skip-ai",
|
|
21
14
|
"dev:android:hot-reload": "bash scripts/local-dev/android-hot-reload.sh",
|
|
22
15
|
"dev:ios": "bash scripts/local-dev/ios-hot-reload.sh --skip-ai",
|
|
@@ -30,10 +23,14 @@
|
|
|
30
23
|
"profile:heap": "node --expose-gc --heap-prof --import tsx scripts/stress-test.ts",
|
|
31
24
|
"validate:yaml": "bun scripts/validate-yaml.ts",
|
|
32
25
|
"dead-code:ts": "bash scripts/detect-dead-code-ts.sh",
|
|
33
|
-
"dead-code:ts:prune": "
|
|
34
|
-
"dead-code:ts:knip": "
|
|
26
|
+
"dead-code:ts:prune": "bash -o pipefail -c 'bunx ts-prune --project tsconfig.dead-code.json -i src/db/migrations | (grep -v \"(used in module)\" || true) | bash scripts/filter-ts-prune-allowlist.sh'",
|
|
27
|
+
"dead-code:ts:knip": "bunx knip",
|
|
35
28
|
"prepublishOnly": "cp README.md README.md.backup && bun scripts/npm/transform-readme.js",
|
|
36
|
-
"postpublish": "mv README.md.backup README.md || true"
|
|
29
|
+
"postpublish": "mv README.md.backup README.md || true",
|
|
30
|
+
"turbo:validate": "turbo run lint build test",
|
|
31
|
+
"turbo:build": "turbo run build",
|
|
32
|
+
"turbo:lint": "turbo run lint",
|
|
33
|
+
"turbo:test": "turbo run test"
|
|
37
34
|
},
|
|
38
35
|
"packageManager": "bun@1.3.6",
|
|
39
36
|
"engines": {
|
|
@@ -76,69 +73,77 @@
|
|
|
76
73
|
"access": "public"
|
|
77
74
|
},
|
|
78
75
|
"dependencies": {
|
|
79
|
-
"@anthropic-ai/sdk": "^0.
|
|
80
|
-
"@huggingface/transformers": "^3.8.1",
|
|
76
|
+
"@anthropic-ai/sdk": "^0.80.0",
|
|
81
77
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
82
|
-
"@types/js-yaml": "^4.0.9",
|
|
83
|
-
"@types/uuid": "^11.0.0",
|
|
84
|
-
"@types/ws": "^8.18.1",
|
|
85
78
|
"adm-zip": "^0.5.16",
|
|
86
|
-
"ajv": "^8.
|
|
79
|
+
"ajv": "^8.18.0",
|
|
87
80
|
"ajv-formats": "^3.0.1",
|
|
88
81
|
"async-mutex": "^0.5.0",
|
|
89
|
-
"fs-extra": "^11.3.3",
|
|
90
|
-
"glob": "^13.0.1",
|
|
91
|
-
"hono": "4.11.9",
|
|
92
82
|
"jimp": "^1.6.0",
|
|
93
83
|
"js-tiktoken": "^1.0.21",
|
|
94
84
|
"js-yaml": "^4.1.1",
|
|
95
85
|
"kysely": "^0.28.9",
|
|
96
|
-
"onnxruntime-node": "^1.23.2",
|
|
97
86
|
"pixelmatch": "^7.1.0",
|
|
98
87
|
"pngjs": "^7.0.0",
|
|
99
|
-
"
|
|
100
|
-
"sharp": "^0.34.5",
|
|
101
|
-
"uuid": "^13.0.0",
|
|
88
|
+
"sharp": "0.34.5",
|
|
102
89
|
"ws": "^8.19.0",
|
|
103
90
|
"xml2js": "^0.6.2",
|
|
104
91
|
"zod": "^4.3.5"
|
|
105
92
|
},
|
|
106
93
|
"//overrides": {
|
|
107
94
|
"lodash": "CVE-2025-13465: prototype pollution in _.unset and _.omit",
|
|
108
|
-
"tar": "CVE-2026-
|
|
95
|
+
"tar": "CVE-2026-26960 (GHSA-83g3-92jg-28cx): Arbitrary file read/write via hardlink target escape through symlink chain",
|
|
96
|
+
"hono": "GHSA-gq3j-xvxp-8hrf: timing comparison hardening in basicAuth and bearerAuth",
|
|
97
|
+
"qs": "CVE-2026-2391 (GHSA-w7fw-mjwx-w883): arrayLimit bypass in comma parsing allows denial of service"
|
|
109
98
|
},
|
|
110
99
|
"overrides": {
|
|
111
100
|
"lodash": "^4.17.23",
|
|
112
|
-
"tar": "7.5.
|
|
101
|
+
"tar": "^7.5.8",
|
|
102
|
+
"hono": "^4.11.10",
|
|
103
|
+
"qs": "^6.14.2",
|
|
104
|
+
"@ts-morph/common": {
|
|
105
|
+
"minimatch": "3.1.5"
|
|
106
|
+
},
|
|
107
|
+
"eslint-plugin-import": {
|
|
108
|
+
"minimatch": "3.1.5"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"optionalDependencies": {
|
|
112
|
+
"@img/sharp-darwin-arm64": "0.34.5",
|
|
113
|
+
"@img/sharp-darwin-x64": "0.34.5",
|
|
114
|
+
"@img/sharp-libvips-darwin-arm64": "1.2.4",
|
|
115
|
+
"@img/sharp-libvips-darwin-x64": "1.2.4",
|
|
116
|
+
"@img/sharp-libvips-linux-arm64": "1.2.4",
|
|
117
|
+
"@img/sharp-libvips-linux-x64": "1.2.4",
|
|
118
|
+
"@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
|
|
119
|
+
"@img/sharp-libvips-linuxmusl-x64": "1.2.4",
|
|
120
|
+
"@img/sharp-linux-arm64": "0.34.5",
|
|
121
|
+
"@img/sharp-linux-x64": "0.34.5",
|
|
122
|
+
"@img/sharp-linuxmusl-arm64": "0.34.5",
|
|
123
|
+
"@img/sharp-linuxmusl-x64": "0.34.5",
|
|
124
|
+
"@img/sharp-win32-arm64": "0.34.5",
|
|
125
|
+
"@img/sharp-win32-ia32": "0.34.5",
|
|
126
|
+
"@img/sharp-win32-x64": "0.34.5"
|
|
113
127
|
},
|
|
114
128
|
"devDependencies": {
|
|
115
|
-
"@eslint/eslintrc": "^3.3.3",
|
|
116
|
-
"@eslint/js": "^10.0.1",
|
|
117
129
|
"@faker-js/faker": "^10.2.0",
|
|
118
130
|
"@stylistic/eslint-plugin": "^5.7.0",
|
|
119
|
-
"@types/
|
|
120
|
-
"@types/fs-extra": "^11.0.4",
|
|
131
|
+
"@types/js-yaml": "^4.0.9",
|
|
121
132
|
"@types/node": "^25.0.9",
|
|
122
133
|
"@types/pixelmatch": "^5.2.6",
|
|
123
134
|
"@types/pngjs": "^6.0.5",
|
|
124
|
-
"@types/
|
|
135
|
+
"@types/ws": "^8.18.1",
|
|
125
136
|
"@types/xml2js": "^0.4.14",
|
|
126
137
|
"@typescript-eslint/eslint-plugin": "^8.53.0",
|
|
127
138
|
"@typescript-eslint/parser": "^8.53.0",
|
|
128
|
-
"@typescript-eslint/utils": "^8.53.0",
|
|
129
|
-
"esbuild": "^0.27.2",
|
|
130
139
|
"eslint": "^10.0.0",
|
|
131
|
-
"eslint-plugin": "^1.0.1",
|
|
132
140
|
"eslint-plugin-import": "^2.31.0",
|
|
133
|
-
"eslint-plugin-notice": "^1.0.0",
|
|
134
141
|
"heapdump": "^0.3.15",
|
|
135
|
-
"knip": "^
|
|
142
|
+
"knip": "^6.0.0",
|
|
136
143
|
"memwatch-next": "^0.3.0",
|
|
137
|
-
"proxyquire": "^2.1.3",
|
|
138
|
-
"ts-node": "^10.9.2",
|
|
139
|
-
"ts-node-dev": "^2.0.0",
|
|
140
144
|
"ts-prune": "^0.10.3",
|
|
141
145
|
"tsx": "^4.21.0",
|
|
142
|
-
"
|
|
146
|
+
"turbo": "^2.8.10",
|
|
147
|
+
"typescript": "^6.0.2"
|
|
143
148
|
}
|
|
144
149
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"name": "biometricAuth",
|
|
4
|
-
"description": "Simulate biometric authentication (fingerprint) on Android emulators.
|
|
4
|
+
"description": "Simulate biometric authentication (fingerprint) on Android emulators, or inject a deterministic result via the AutoMobile SDK on any device. Supports match/fail/cancel/error actions. The SDK broadcast path requires the app to integrate AutoMobileBiometrics.consumeOverride().",
|
|
5
5
|
"inputSchema": {
|
|
6
6
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
7
7
|
"type": "object",
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
"enum": [
|
|
12
12
|
"match",
|
|
13
13
|
"fail",
|
|
14
|
-
"cancel"
|
|
14
|
+
"cancel",
|
|
15
|
+
"error"
|
|
15
16
|
],
|
|
16
|
-
"description": "Biometric action: 'match' triggers successful authentication, 'fail' simulates non-matching biometric, 'cancel' cancels the prompt"
|
|
17
|
+
"description": "Biometric action: 'match' triggers successful authentication, 'fail' simulates a non-matching biometric, 'cancel' cancels the prompt, 'error' injects a hard error (requires AutoMobileBiometrics SDK integration in the app)."
|
|
17
18
|
},
|
|
18
19
|
"modality": {
|
|
19
20
|
"description": "Biometric modality (default: 'any'). Currently only 'fingerprint' is reliably supported on Android emulators. 'face' is not consistently supported.",
|
|
@@ -25,7 +26,15 @@
|
|
|
25
26
|
]
|
|
26
27
|
},
|
|
27
28
|
"fingerprintId": {
|
|
28
|
-
"description": "Fingerprint ID to simulate (default: 1 for 'match', 2 for 'fail'). Use enrolled ID (typically 1) for match, non-enrolled ID (typically 2) for fail.",
|
|
29
|
+
"description": "Fingerprint ID to simulate (default: 1 for 'match'/'error', 2 for 'fail'/'cancel'). Use enrolled ID (typically 1) for match/error, non-enrolled ID (typically 2) for fail/cancel.",
|
|
30
|
+
"type": "number"
|
|
31
|
+
},
|
|
32
|
+
"errorCode": {
|
|
33
|
+
"description": "BiometricPrompt error code to inject (e.g. 7 for ERROR_LOCKOUT, 1 for ERROR_HW_UNAVAILABLE). Only valid when action is 'error'; providing it with any other action is a validation error.",
|
|
34
|
+
"type": "number"
|
|
35
|
+
},
|
|
36
|
+
"ttlMs": {
|
|
37
|
+
"description": "How long the SDK override remains active in milliseconds (default: 5000). The override is cleared after the first authentication callback or when the TTL expires.",
|
|
29
38
|
"type": "number"
|
|
30
39
|
},
|
|
31
40
|
"sessionUuid": {
|
|
@@ -39,6 +48,10 @@
|
|
|
39
48
|
"device": {
|
|
40
49
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
41
50
|
"type": "string"
|
|
51
|
+
},
|
|
52
|
+
"deviceId": {
|
|
53
|
+
"description": "Device identifier for targeting a specific device",
|
|
54
|
+
"type": "string"
|
|
42
55
|
}
|
|
43
56
|
},
|
|
44
57
|
"required": [
|
|
@@ -99,6 +112,10 @@
|
|
|
99
112
|
"device": {
|
|
100
113
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
101
114
|
"type": "string"
|
|
115
|
+
},
|
|
116
|
+
"deviceId": {
|
|
117
|
+
"description": "Device identifier for targeting a specific device",
|
|
118
|
+
"type": "string"
|
|
102
119
|
}
|
|
103
120
|
},
|
|
104
121
|
"required": [
|
|
@@ -133,6 +150,10 @@
|
|
|
133
150
|
"device": {
|
|
134
151
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
135
152
|
"type": "string"
|
|
153
|
+
},
|
|
154
|
+
"deviceId": {
|
|
155
|
+
"description": "Device identifier for targeting a specific device",
|
|
156
|
+
"type": "string"
|
|
136
157
|
}
|
|
137
158
|
},
|
|
138
159
|
"required": [
|
|
@@ -181,6 +202,10 @@
|
|
|
181
202
|
"device": {
|
|
182
203
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
183
204
|
"type": "string"
|
|
205
|
+
},
|
|
206
|
+
"deviceId": {
|
|
207
|
+
"description": "Device identifier for targeting a specific device",
|
|
208
|
+
"type": "string"
|
|
184
209
|
}
|
|
185
210
|
},
|
|
186
211
|
"required": [
|
|
@@ -252,91 +277,6 @@
|
|
|
252
277
|
"additionalProperties": false
|
|
253
278
|
}
|
|
254
279
|
},
|
|
255
|
-
{
|
|
256
|
-
"name": "demoMode",
|
|
257
|
-
"description": "Enable or disable demo mode for screenshots and screen recordings",
|
|
258
|
-
"inputSchema": {
|
|
259
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
260
|
-
"type": "object",
|
|
261
|
-
"properties": {
|
|
262
|
-
"action": {
|
|
263
|
-
"type": "string",
|
|
264
|
-
"enum": [
|
|
265
|
-
"enable",
|
|
266
|
-
"disable"
|
|
267
|
-
],
|
|
268
|
-
"description": "Demo mode action"
|
|
269
|
-
},
|
|
270
|
-
"time": {
|
|
271
|
-
"description": "Time in HHMM (e.g., 1000)",
|
|
272
|
-
"type": "string"
|
|
273
|
-
},
|
|
274
|
-
"batteryLevel": {
|
|
275
|
-
"description": "Battery % (0-100)",
|
|
276
|
-
"type": "number",
|
|
277
|
-
"minimum": 0,
|
|
278
|
-
"maximum": 100
|
|
279
|
-
},
|
|
280
|
-
"batteryPlugged": {
|
|
281
|
-
"description": "Charging status",
|
|
282
|
-
"type": "boolean"
|
|
283
|
-
},
|
|
284
|
-
"wifiLevel": {
|
|
285
|
-
"description": "WiFi strength (0-4)",
|
|
286
|
-
"type": "number",
|
|
287
|
-
"minimum": 0,
|
|
288
|
-
"maximum": 4
|
|
289
|
-
},
|
|
290
|
-
"mobileDataType": {
|
|
291
|
-
"description": "Data type",
|
|
292
|
-
"type": "string",
|
|
293
|
-
"enum": [
|
|
294
|
-
"4g",
|
|
295
|
-
"5g",
|
|
296
|
-
"lte",
|
|
297
|
-
"3g",
|
|
298
|
-
"edge",
|
|
299
|
-
"none"
|
|
300
|
-
]
|
|
301
|
-
},
|
|
302
|
-
"mobileSignalLevel": {
|
|
303
|
-
"description": "Signal strength (0-4)",
|
|
304
|
-
"type": "number",
|
|
305
|
-
"minimum": 0,
|
|
306
|
-
"maximum": 4
|
|
307
|
-
},
|
|
308
|
-
"hideNotifications": {
|
|
309
|
-
"description": "Hide notifications",
|
|
310
|
-
"type": "boolean"
|
|
311
|
-
},
|
|
312
|
-
"platform": {
|
|
313
|
-
"type": "string",
|
|
314
|
-
"enum": [
|
|
315
|
-
"android",
|
|
316
|
-
"ios"
|
|
317
|
-
],
|
|
318
|
-
"description": "Platform"
|
|
319
|
-
},
|
|
320
|
-
"sessionUuid": {
|
|
321
|
-
"description": "Session UUID for device targeting",
|
|
322
|
-
"type": "string"
|
|
323
|
-
},
|
|
324
|
-
"keepScreenAwake": {
|
|
325
|
-
"description": "Keep physical Android devices awake during the session (default: true)",
|
|
326
|
-
"type": "boolean"
|
|
327
|
-
},
|
|
328
|
-
"device": {
|
|
329
|
-
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
330
|
-
"type": "string"
|
|
331
|
-
}
|
|
332
|
-
},
|
|
333
|
-
"required": [
|
|
334
|
-
"action",
|
|
335
|
-
"platform"
|
|
336
|
-
],
|
|
337
|
-
"additionalProperties": false
|
|
338
|
-
}
|
|
339
|
-
},
|
|
340
280
|
{
|
|
341
281
|
"name": "deviceSnapshot",
|
|
342
282
|
"description": "Capture or restore a device snapshot for the active device.",
|
|
@@ -406,6 +346,10 @@
|
|
|
406
346
|
"device": {
|
|
407
347
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
408
348
|
"type": "string"
|
|
349
|
+
},
|
|
350
|
+
"deviceId": {
|
|
351
|
+
"description": "Device identifier for targeting a specific device",
|
|
352
|
+
"type": "string"
|
|
409
353
|
}
|
|
410
354
|
},
|
|
411
355
|
"required": [
|
|
@@ -547,6 +491,10 @@
|
|
|
547
491
|
"device": {
|
|
548
492
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
549
493
|
"type": "string"
|
|
494
|
+
},
|
|
495
|
+
"deviceId": {
|
|
496
|
+
"description": "Device identifier for targeting a specific device",
|
|
497
|
+
"type": "string"
|
|
550
498
|
}
|
|
551
499
|
},
|
|
552
500
|
"required": [
|
|
@@ -883,6 +831,10 @@
|
|
|
883
831
|
"device": {
|
|
884
832
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
885
833
|
"type": "string"
|
|
834
|
+
},
|
|
835
|
+
"deviceId": {
|
|
836
|
+
"description": "Device identifier for targeting a specific device",
|
|
837
|
+
"type": "string"
|
|
886
838
|
}
|
|
887
839
|
},
|
|
888
840
|
"required": [
|
|
@@ -907,7 +859,7 @@
|
|
|
907
859
|
"description": "Target platform"
|
|
908
860
|
},
|
|
909
861
|
"deviceId": {
|
|
910
|
-
"description": "
|
|
862
|
+
"description": "Device identifier for targeting a specific device",
|
|
911
863
|
"type": "string"
|
|
912
864
|
},
|
|
913
865
|
"timeoutMs": {
|
|
@@ -1582,6 +1534,10 @@
|
|
|
1582
1534
|
"device": {
|
|
1583
1535
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
1584
1536
|
"type": "string"
|
|
1537
|
+
},
|
|
1538
|
+
"deviceId": {
|
|
1539
|
+
"description": "Device identifier for targeting a specific device",
|
|
1540
|
+
"type": "string"
|
|
1585
1541
|
}
|
|
1586
1542
|
},
|
|
1587
1543
|
"required": [
|
|
@@ -1628,6 +1584,10 @@
|
|
|
1628
1584
|
"device": {
|
|
1629
1585
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
1630
1586
|
"type": "string"
|
|
1587
|
+
},
|
|
1588
|
+
"deviceId": {
|
|
1589
|
+
"description": "Device identifier for targeting a specific device",
|
|
1590
|
+
"type": "string"
|
|
1631
1591
|
}
|
|
1632
1592
|
},
|
|
1633
1593
|
"required": [
|
|
@@ -1679,6 +1639,10 @@
|
|
|
1679
1639
|
"device": {
|
|
1680
1640
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
1681
1641
|
"type": "string"
|
|
1642
|
+
},
|
|
1643
|
+
"deviceId": {
|
|
1644
|
+
"description": "Device identifier for targeting a specific device",
|
|
1645
|
+
"type": "string"
|
|
1682
1646
|
}
|
|
1683
1647
|
},
|
|
1684
1648
|
"required": [
|
|
@@ -1710,6 +1674,10 @@
|
|
|
1710
1674
|
"device": {
|
|
1711
1675
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
1712
1676
|
"type": "string"
|
|
1677
|
+
},
|
|
1678
|
+
"deviceId": {
|
|
1679
|
+
"description": "Device identifier for targeting a specific device",
|
|
1680
|
+
"type": "string"
|
|
1713
1681
|
}
|
|
1714
1682
|
},
|
|
1715
1683
|
"required": [
|
|
@@ -1753,6 +1721,10 @@
|
|
|
1753
1721
|
"device": {
|
|
1754
1722
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
1755
1723
|
"type": "string"
|
|
1724
|
+
},
|
|
1725
|
+
"deviceId": {
|
|
1726
|
+
"description": "Device identifier for targeting a specific device",
|
|
1727
|
+
"type": "string"
|
|
1756
1728
|
}
|
|
1757
1729
|
},
|
|
1758
1730
|
"required": [
|
|
@@ -1833,6 +1805,10 @@
|
|
|
1833
1805
|
"device": {
|
|
1834
1806
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
1835
1807
|
"type": "string"
|
|
1808
|
+
},
|
|
1809
|
+
"deviceId": {
|
|
1810
|
+
"description": "Device identifier for targeting a specific device",
|
|
1811
|
+
"type": "string"
|
|
1836
1812
|
}
|
|
1837
1813
|
},
|
|
1838
1814
|
"required": [
|
|
@@ -1946,6 +1922,10 @@
|
|
|
1946
1922
|
}
|
|
1947
1923
|
]
|
|
1948
1924
|
},
|
|
1925
|
+
"raw": {
|
|
1926
|
+
"description": "When true, include unprocessed view hierarchy in response alongside normal output (default: false)",
|
|
1927
|
+
"type": "boolean"
|
|
1928
|
+
},
|
|
1949
1929
|
"sessionUuid": {
|
|
1950
1930
|
"description": "Session UUID for device targeting",
|
|
1951
1931
|
"type": "string"
|
|
@@ -1957,6 +1937,10 @@
|
|
|
1957
1937
|
"device": {
|
|
1958
1938
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
1959
1939
|
"type": "string"
|
|
1940
|
+
},
|
|
1941
|
+
"deviceId": {
|
|
1942
|
+
"description": "Device identifier for targeting a specific device",
|
|
1943
|
+
"type": "string"
|
|
1960
1944
|
}
|
|
1961
1945
|
},
|
|
1962
1946
|
"required": [
|
|
@@ -3583,6 +3567,7 @@
|
|
|
3583
3567
|
"type": "string",
|
|
3584
3568
|
"enum": [
|
|
3585
3569
|
"talkback",
|
|
3570
|
+
"voiceover",
|
|
3586
3571
|
"unknown"
|
|
3587
3572
|
]
|
|
3588
3573
|
}
|
|
@@ -3592,7 +3577,8 @@
|
|
|
3592
3577
|
"service"
|
|
3593
3578
|
],
|
|
3594
3579
|
"additionalProperties": {}
|
|
3595
|
-
}
|
|
3580
|
+
},
|
|
3581
|
+
"rawViewHierarchy": {}
|
|
3596
3582
|
},
|
|
3597
3583
|
"required": [
|
|
3598
3584
|
"updatedAt",
|
|
@@ -3632,6 +3618,10 @@
|
|
|
3632
3618
|
"device": {
|
|
3633
3619
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
3634
3620
|
"type": "string"
|
|
3621
|
+
},
|
|
3622
|
+
"deviceId": {
|
|
3623
|
+
"description": "Device identifier for targeting a specific device",
|
|
3624
|
+
"type": "string"
|
|
3635
3625
|
}
|
|
3636
3626
|
},
|
|
3637
3627
|
"required": [
|
|
@@ -3734,6 +3724,10 @@
|
|
|
3734
3724
|
"device": {
|
|
3735
3725
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
3736
3726
|
"type": "string"
|
|
3727
|
+
},
|
|
3728
|
+
"deviceId": {
|
|
3729
|
+
"description": "Device identifier for targeting a specific device",
|
|
3730
|
+
"type": "string"
|
|
3737
3731
|
}
|
|
3738
3732
|
},
|
|
3739
3733
|
"required": [
|
|
@@ -3819,6 +3813,10 @@
|
|
|
3819
3813
|
"device": {
|
|
3820
3814
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
3821
3815
|
"type": "string"
|
|
3816
|
+
},
|
|
3817
|
+
"deviceId": {
|
|
3818
|
+
"description": "Device identifier for targeting a specific device",
|
|
3819
|
+
"type": "string"
|
|
3822
3820
|
}
|
|
3823
3821
|
},
|
|
3824
3822
|
"required": [
|
|
@@ -3868,6 +3866,10 @@
|
|
|
3868
3866
|
"device": {
|
|
3869
3867
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
3870
3868
|
"type": "string"
|
|
3869
|
+
},
|
|
3870
|
+
"deviceId": {
|
|
3871
|
+
"description": "Device identifier for targeting a specific device",
|
|
3872
|
+
"type": "string"
|
|
3871
3873
|
}
|
|
3872
3874
|
},
|
|
3873
3875
|
"required": [
|
|
@@ -3916,6 +3918,10 @@
|
|
|
3916
3918
|
"device": {
|
|
3917
3919
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
3918
3920
|
"type": "string"
|
|
3921
|
+
},
|
|
3922
|
+
"deviceId": {
|
|
3923
|
+
"description": "Device identifier for targeting a specific device",
|
|
3924
|
+
"type": "string"
|
|
3919
3925
|
}
|
|
3920
3926
|
},
|
|
3921
3927
|
"required": [
|
|
@@ -3951,6 +3957,10 @@
|
|
|
3951
3957
|
"device": {
|
|
3952
3958
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
3953
3959
|
"type": "string"
|
|
3960
|
+
},
|
|
3961
|
+
"deviceId": {
|
|
3962
|
+
"description": "Device identifier for targeting a specific device",
|
|
3963
|
+
"type": "string"
|
|
3954
3964
|
}
|
|
3955
3965
|
},
|
|
3956
3966
|
"required": [
|
|
@@ -3993,6 +4003,10 @@
|
|
|
3993
4003
|
"device": {
|
|
3994
4004
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
3995
4005
|
"type": "string"
|
|
4006
|
+
},
|
|
4007
|
+
"deviceId": {
|
|
4008
|
+
"description": "Device identifier for targeting a specific device",
|
|
4009
|
+
"type": "string"
|
|
3996
4010
|
}
|
|
3997
4011
|
},
|
|
3998
4012
|
"required": [
|
|
@@ -4028,6 +4042,10 @@
|
|
|
4028
4042
|
"device": {
|
|
4029
4043
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
4030
4044
|
"type": "string"
|
|
4045
|
+
},
|
|
4046
|
+
"deviceId": {
|
|
4047
|
+
"description": "Device identifier for targeting a specific device",
|
|
4048
|
+
"type": "string"
|
|
4031
4049
|
}
|
|
4032
4050
|
},
|
|
4033
4051
|
"required": [
|
|
@@ -4105,6 +4123,10 @@
|
|
|
4105
4123
|
"device": {
|
|
4106
4124
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
4107
4125
|
"type": "string"
|
|
4126
|
+
},
|
|
4127
|
+
"deviceId": {
|
|
4128
|
+
"description": "Device identifier for targeting a specific device",
|
|
4129
|
+
"type": "string"
|
|
4108
4130
|
}
|
|
4109
4131
|
},
|
|
4110
4132
|
"required": [
|
|
@@ -4343,6 +4365,10 @@
|
|
|
4343
4365
|
"device": {
|
|
4344
4366
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
4345
4367
|
"type": "string"
|
|
4368
|
+
},
|
|
4369
|
+
"deviceId": {
|
|
4370
|
+
"description": "Device identifier for targeting a specific device",
|
|
4371
|
+
"type": "string"
|
|
4346
4372
|
}
|
|
4347
4373
|
},
|
|
4348
4374
|
"required": [
|
|
@@ -5261,6 +5287,10 @@
|
|
|
5261
5287
|
"device": {
|
|
5262
5288
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
5263
5289
|
"type": "string"
|
|
5290
|
+
},
|
|
5291
|
+
"deviceId": {
|
|
5292
|
+
"description": "Device identifier for targeting a specific device",
|
|
5293
|
+
"type": "string"
|
|
5264
5294
|
}
|
|
5265
5295
|
},
|
|
5266
5296
|
"required": [
|
|
@@ -5370,6 +5400,10 @@
|
|
|
5370
5400
|
"device": {
|
|
5371
5401
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
5372
5402
|
"type": "string"
|
|
5403
|
+
},
|
|
5404
|
+
"deviceId": {
|
|
5405
|
+
"description": "Device identifier for targeting a specific device",
|
|
5406
|
+
"type": "string"
|
|
5373
5407
|
}
|
|
5374
5408
|
},
|
|
5375
5409
|
"required": [
|
|
@@ -6375,6 +6409,10 @@
|
|
|
6375
6409
|
"device": {
|
|
6376
6410
|
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
|
|
6377
6411
|
"type": "string"
|
|
6412
|
+
},
|
|
6413
|
+
"deviceId": {
|
|
6414
|
+
"description": "Device identifier for targeting a specific device",
|
|
6415
|
+
"type": "string"
|
|
6378
6416
|
}
|
|
6379
6417
|
},
|
|
6380
6418
|
"required": [
|
|
@@ -6407,7 +6445,7 @@
|
|
|
6407
6445
|
"description": "Target platform"
|
|
6408
6446
|
},
|
|
6409
6447
|
"deviceId": {
|
|
6410
|
-
"description": "
|
|
6448
|
+
"description": "Device identifier for targeting a specific device",
|
|
6411
6449
|
"type": "string"
|
|
6412
6450
|
},
|
|
6413
6451
|
"recordingId": {
|