@kaeawc/auto-mobile 0.0.13 → 0.0.14

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 CHANGED
@@ -8,9 +8,9 @@
8
8
  ![Platform: macOS](https://img.shields.io/badge/platform-macOS-lightgrey)
9
9
  ![Platform: Linux](https://img.shields.io/badge/platform-Linux-lightgrey)
10
10
 
11
- ![TypeScript tests: 2,715](https://img.shields.io/badge/TypeScript_tests-2%2C715-3178C6)
12
- ![Kotlin tests: 572](https://img.shields.io/badge/Kotlin_tests-572-7F52FF)
13
- ![Swift tests: 79](https://img.shields.io/badge/Swift_tests-79-F05138)
11
+ ![TypeScript tests: 3,123](https://img.shields.io/badge/TypeScript_tests-3%2C123-3178C6)
12
+ ![Kotlin tests: 749](https://img.shields.io/badge/Kotlin_tests-749-7F52FF)
13
+ ![Swift tests: 146](https://img.shields.io/badge/Swift_tests-146-F05138)
14
14
  ![TS coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/ts-coverage-badge.json)
15
15
  ![Kotlin coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/kotlin-coverage-badge.json)
16
16
  ![Swift coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/swift-coverage-badge.json)
@@ -32,7 +32,7 @@ It can do all this by being an MCP server that uses standard platform tools like
32
32
  | Task | What it does |
33
33
  |------|-------------|
34
34
  | **[Explore app UX](https://github.com/kaeawc/auto-mobile/blob/main/docs/using/ux-exploration.md)** | Navigate your app, discover screens, map user flows, identify confusing interactions |
35
- | **[Reproduce bugs](https://github.com/kaeawc/auto-mobile/blob/main/docs/using/reproducting-bugs.md)** | Paste a bug report and get exact reproduction steps with screenshots |
35
+ | **[Reproduce bugs](https://github.com/kaeawc/auto-mobile/blob/main/docs/using/reproducing-bugs.md)** | Paste a bug report and get exact reproduction steps with screenshots |
36
36
  | **[Create UI tests](https://github.com/kaeawc/auto-mobile/blob/main/docs/using/ui-tests.md)** | Describe test scenarios in plain English, get executable test plans |
37
37
  | **[Measure startup time](https://github.com/kaeawc/auto-mobile/blob/main/docs/using/perf-analysis/startup.md)** | Profile cold and warm launch performance |
38
38
  | **[Check scroll performance](https://github.com/kaeawc/auto-mobile/blob/main/docs/using/perf-analysis/scroll-framerate.md)** | Detect jank and dropped frames |
@@ -44,7 +44,7 @@ It can do all this by being an MCP server that uses standard platform tools like
44
44
  - 🤖 **Fast UX Inspection** Kotlin Accessibility Service and Swift XCTestService to enable fast, accurate observations. 10x faster than the next fastest observation toolkit.
45
45
  - 🦾 **Full Touch Injection** Tap, Swipe, Pinch, Drag & Drop, Shake with automatic element targeting.
46
46
  - ♻️ **Tool Feedback** [Observations](https://github.com/kaeawc/auto-mobile/blob/main/docs/design-docs/mcp/observe/index.md) drive the [interaction loop](https://github.com/kaeawc/auto-mobile/blob/main/docs/design-docs/mcp/interaction-loop.md) for all [tool calls](https://github.com/kaeawc/auto-mobile/blob/main/docs/design-docs/mcp/tools.md).
47
- - 🧪 **Test Execution** [Kotlin JUnitRunner](https://github.com/kaeawc/auto-mobile/blob/main/docs/design-docs/plat/android/junitrunner.md) & [Swift XCTestRunner](https://github.com/kaeawc/auto-mobile/blob/main/docs/design-docs/plat/ios/xctestrunner.md) execute tests natively handling device pooling, multi-device tests, and automatically optimizing test timing.
47
+ - 🧪 **Test Execution** [Kotlin JUnitRunner](https://github.com/kaeawc/auto-mobile/blob/main/docs/design-docs/plat/android/junit-runner/index.md) & [Swift XCTestRunner](https://github.com/kaeawc/auto-mobile/blob/main/docs/design-docs/plat/ios/xctestrunner/index.md) execute tests natively handling device pooling, multi-device tests, and automatically optimizing test timing.
48
48
 
49
49
  ## Get Started
50
50
 
package/README.md.backup CHANGED
@@ -8,9 +8,9 @@
8
8
  ![Platform: macOS](https://img.shields.io/badge/platform-macOS-lightgrey)
9
9
  ![Platform: Linux](https://img.shields.io/badge/platform-Linux-lightgrey)
10
10
 
11
- ![TypeScript tests: 2,715](https://img.shields.io/badge/TypeScript_tests-2%2C715-3178C6)
12
- ![Kotlin tests: 572](https://img.shields.io/badge/Kotlin_tests-572-7F52FF)
13
- ![Swift tests: 79](https://img.shields.io/badge/Swift_tests-79-F05138)
11
+ ![TypeScript tests: 3,123](https://img.shields.io/badge/TypeScript_tests-3%2C123-3178C6)
12
+ ![Kotlin tests: 749](https://img.shields.io/badge/Kotlin_tests-749-7F52FF)
13
+ ![Swift tests: 146](https://img.shields.io/badge/Swift_tests-146-F05138)
14
14
  ![TS coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/ts-coverage-badge.json)
15
15
  ![Kotlin coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/kotlin-coverage-badge.json)
16
16
  ![Swift coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/swift-coverage-badge.json)
@@ -32,7 +32,7 @@ It can do all this by being an MCP server that uses standard platform tools like
32
32
  | Task | What it does |
33
33
  |------|-------------|
34
34
  | **[Explore app UX](docs/using/ux-exploration.md)** | Navigate your app, discover screens, map user flows, identify confusing interactions |
35
- | **[Reproduce bugs](docs/using/reproducting-bugs.md)** | Paste a bug report and get exact reproduction steps with screenshots |
35
+ | **[Reproduce bugs](docs/using/reproducing-bugs.md)** | Paste a bug report and get exact reproduction steps with screenshots |
36
36
  | **[Create UI tests](docs/using/ui-tests.md)** | Describe test scenarios in plain English, get executable test plans |
37
37
  | **[Measure startup time](docs/using/perf-analysis/startup.md)** | Profile cold and warm launch performance |
38
38
  | **[Check scroll performance](docs/using/perf-analysis/scroll-framerate.md)** | Detect jank and dropped frames |
@@ -44,7 +44,7 @@ It can do all this by being an MCP server that uses standard platform tools like
44
44
  - 🤖 **Fast UX Inspection** Kotlin Accessibility Service and Swift XCTestService to enable fast, accurate observations. 10x faster than the next fastest observation toolkit.
45
45
  - 🦾 **Full Touch Injection** Tap, Swipe, Pinch, Drag & Drop, Shake with automatic element targeting.
46
46
  - ♻️ **Tool Feedback** [Observations](docs/design-docs/mcp/observe/index.md) drive the [interaction loop](docs/design-docs/mcp/interaction-loop.md) for all [tool calls](docs/design-docs/mcp/tools.md).
47
- - 🧪 **Test Execution** [Kotlin JUnitRunner](docs/design-docs/plat/android/junitrunner.md) & [Swift XCTestRunner](docs/design-docs/plat/ios/xctestrunner.md) execute tests natively handling device pooling, multi-device tests, and automatically optimizing test timing.
47
+ - 🧪 **Test Execution** [Kotlin JUnitRunner](docs/design-docs/plat/android/junit-runner/index.md) & [Swift XCTestRunner](docs/design-docs/plat/ios/xctestrunner/index.md) execute tests natively handling device pooling, multi-device tests, and automatically optimizing test timing.
48
48
 
49
49
  ## Get Started
50
50
 
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "name": "biometricAuth",
4
- "description": "Simulate biometric authentication (fingerprint) on Android emulators. Trigger match/fail/cancel actions for testing biometric prompts.",
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": {
@@ -252,91 +261,6 @@
252
261
  "additionalProperties": false
253
262
  }
254
263
  },
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
264
  {
341
265
  "name": "deviceSnapshot",
342
266
  "description": "Capture or restore a device snapshot for the active device.",
@@ -1946,6 +1870,10 @@
1946
1870
  }
1947
1871
  ]
1948
1872
  },
1873
+ "raw": {
1874
+ "description": "When true, include unprocessed view hierarchy in response alongside normal output (default: false)",
1875
+ "type": "boolean"
1876
+ },
1949
1877
  "sessionUuid": {
1950
1878
  "description": "Session UUID for device targeting",
1951
1879
  "type": "string"
@@ -3583,6 +3511,7 @@
3583
3511
  "type": "string",
3584
3512
  "enum": [
3585
3513
  "talkback",
3514
+ "voiceover",
3586
3515
  "unknown"
3587
3516
  ]
3588
3517
  }
@@ -3592,7 +3521,8 @@
3592
3521
  "service"
3593
3522
  ],
3594
3523
  "additionalProperties": {}
3595
- }
3524
+ },
3525
+ "rawViewHierarchy": {}
3596
3526
  },
3597
3527
  "required": [
3598
3528
  "updatedAt",