@kaeawc/auto-mobile 0.0.14 → 0.0.16

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.
@@ -48,6 +48,10 @@
48
48
  "device": {
49
49
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
50
50
  "type": "string"
51
+ },
52
+ "deviceId": {
53
+ "description": "Device identifier for targeting a specific device",
54
+ "type": "string"
51
55
  }
52
56
  },
53
57
  "required": [
@@ -58,7 +62,7 @@
58
62
  },
59
63
  {
60
64
  "name": "changeLocalization",
61
- "description": "Change locale, time zone, text direction, and time format",
65
+ "description": "Change locale, time zone, text direction, time format, and calendar system",
62
66
  "inputSchema": {
63
67
  "$schema": "https://json-schema.org/draft/2020-12/schema",
64
68
  "type": "object",
@@ -69,7 +73,7 @@
69
73
  "android",
70
74
  "ios"
71
75
  ],
72
- "description": "Platform"
76
+ "description": "Target platform"
73
77
  },
74
78
  "locale": {
75
79
  "description": "Locale tag (e.g., ar-SA, ja-JP)",
@@ -97,6 +101,16 @@
97
101
  "24"
98
102
  ]
99
103
  },
104
+ "calendarSystem": {
105
+ "description": "Calendar system (e.g., gregory, japanese, buddhist, islamic-civil)",
106
+ "type": "string",
107
+ "minLength": 1
108
+ },
109
+ "restartApp": {
110
+ "description": "Bundle ID of app to terminate and relaunch after locale change (iOS only). Running apps cache locale at launch, so restart is needed for the app to pick up new settings.",
111
+ "type": "string",
112
+ "minLength": 1
113
+ },
100
114
  "sessionUuid": {
101
115
  "description": "Session UUID for device targeting",
102
116
  "type": "string"
@@ -108,6 +122,10 @@
108
122
  "device": {
109
123
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
110
124
  "type": "string"
125
+ },
126
+ "deviceId": {
127
+ "description": "Device identifier for targeting a specific device",
128
+ "type": "string"
111
129
  }
112
130
  },
113
131
  "required": [
@@ -129,7 +147,7 @@
129
147
  "android",
130
148
  "ios"
131
149
  ],
132
- "description": "Platform"
150
+ "description": "Target platform"
133
151
  },
134
152
  "sessionUuid": {
135
153
  "description": "Session UUID for device targeting",
@@ -142,6 +160,10 @@
142
160
  "device": {
143
161
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
144
162
  "type": "string"
163
+ },
164
+ "deviceId": {
165
+ "description": "Device identifier for targeting a specific device",
166
+ "type": "string"
145
167
  }
146
168
  },
147
169
  "required": [
@@ -177,7 +199,7 @@
177
199
  "android",
178
200
  "ios"
179
201
  ],
180
- "description": "Platform"
202
+ "description": "Target platform"
181
203
  },
182
204
  "sessionUuid": {
183
205
  "description": "Session UUID for device targeting",
@@ -190,6 +212,10 @@
190
212
  "device": {
191
213
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
192
214
  "type": "string"
215
+ },
216
+ "deviceId": {
217
+ "description": "Device identifier for targeting a specific device",
218
+ "type": "string"
193
219
  }
194
220
  },
195
221
  "required": [
@@ -330,6 +356,10 @@
330
356
  "device": {
331
357
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
332
358
  "type": "string"
359
+ },
360
+ "deviceId": {
361
+ "description": "Device identifier for targeting a specific device",
362
+ "type": "string"
333
363
  }
334
364
  },
335
365
  "required": [
@@ -458,7 +488,7 @@
458
488
  "android",
459
489
  "ios"
460
490
  ],
461
- "description": "Platform"
491
+ "description": "Target platform"
462
492
  },
463
493
  "sessionUuid": {
464
494
  "description": "Session UUID for device targeting",
@@ -471,6 +501,10 @@
471
501
  "device": {
472
502
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
473
503
  "type": "string"
504
+ },
505
+ "deviceId": {
506
+ "description": "Device identifier for targeting a specific device",
507
+ "type": "string"
474
508
  }
475
509
  },
476
510
  "required": [
@@ -503,7 +537,7 @@
503
537
  "android",
504
538
  "ios"
505
539
  ],
506
- "description": "Platform"
540
+ "description": "Target platform"
507
541
  },
508
542
  "sessionUuid": {
509
543
  "description": "Session UUID for parallel execution",
@@ -650,7 +684,8 @@
650
684
  "enum": [
651
685
  "android",
652
686
  "ios"
653
- ]
687
+ ],
688
+ "description": "Target platform"
654
689
  },
655
690
  "deviceId": {
656
691
  "type": "string"
@@ -807,6 +842,10 @@
807
842
  "device": {
808
843
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
809
844
  "type": "string"
845
+ },
846
+ "deviceId": {
847
+ "description": "Device identifier for targeting a specific device",
848
+ "type": "string"
810
849
  }
811
850
  },
812
851
  "required": [
@@ -831,7 +870,7 @@
831
870
  "description": "Target platform"
832
871
  },
833
872
  "deviceId": {
834
- "description": "Optional device ID override",
873
+ "description": "Device identifier for targeting a specific device",
835
874
  "type": "string"
836
875
  },
837
876
  "timeoutMs": {
@@ -1493,7 +1532,7 @@
1493
1532
  "android",
1494
1533
  "ios"
1495
1534
  ],
1496
- "description": "Platform"
1535
+ "description": "Target platform"
1497
1536
  },
1498
1537
  "sessionUuid": {
1499
1538
  "description": "Session UUID for device targeting",
@@ -1506,6 +1545,10 @@
1506
1545
  "device": {
1507
1546
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
1508
1547
  "type": "string"
1548
+ },
1549
+ "deviceId": {
1550
+ "description": "Device identifier for targeting a specific device",
1551
+ "type": "string"
1509
1552
  }
1510
1553
  },
1511
1554
  "required": [
@@ -1539,7 +1582,7 @@
1539
1582
  "android",
1540
1583
  "ios"
1541
1584
  ],
1542
- "description": "Platform"
1585
+ "description": "Target platform"
1543
1586
  },
1544
1587
  "sessionUuid": {
1545
1588
  "description": "Session UUID for device targeting",
@@ -1552,6 +1595,10 @@
1552
1595
  "device": {
1553
1596
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
1554
1597
  "type": "string"
1598
+ },
1599
+ "deviceId": {
1600
+ "description": "Device identifier for targeting a specific device",
1601
+ "type": "string"
1555
1602
  }
1556
1603
  },
1557
1604
  "required": [
@@ -1570,6 +1617,7 @@
1570
1617
  "properties": {
1571
1618
  "text": {
1572
1619
  "type": "string",
1620
+ "minLength": 1,
1573
1621
  "description": "Text to input"
1574
1622
  },
1575
1623
  "imeAction": {
@@ -1584,13 +1632,17 @@
1584
1632
  "previous"
1585
1633
  ]
1586
1634
  },
1635
+ "dismissKeyboard": {
1636
+ "description": "(Android only) Dismiss soft keyboard after input (default: false). Ignored on iOS.",
1637
+ "type": "boolean"
1638
+ },
1587
1639
  "platform": {
1588
1640
  "type": "string",
1589
1641
  "enum": [
1590
1642
  "android",
1591
1643
  "ios"
1592
1644
  ],
1593
- "description": "Platform"
1645
+ "description": "Target platform"
1594
1646
  },
1595
1647
  "sessionUuid": {
1596
1648
  "description": "Session UUID for device targeting",
@@ -1603,6 +1655,10 @@
1603
1655
  "device": {
1604
1656
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
1605
1657
  "type": "string"
1658
+ },
1659
+ "deviceId": {
1660
+ "description": "Device identifier for targeting a specific device",
1661
+ "type": "string"
1606
1662
  }
1607
1663
  },
1608
1664
  "required": [
@@ -1634,6 +1690,10 @@
1634
1690
  "device": {
1635
1691
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
1636
1692
  "type": "string"
1693
+ },
1694
+ "deviceId": {
1695
+ "description": "Device identifier for targeting a specific device",
1696
+ "type": "string"
1637
1697
  }
1638
1698
  },
1639
1699
  "required": [
@@ -1664,7 +1724,7 @@
1664
1724
  "android",
1665
1725
  "ios"
1666
1726
  ],
1667
- "description": "Platform"
1727
+ "description": "Target platform"
1668
1728
  },
1669
1729
  "sessionUuid": {
1670
1730
  "description": "Session UUID for device targeting",
@@ -1677,6 +1737,10 @@
1677
1737
  "device": {
1678
1738
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
1679
1739
  "type": "string"
1740
+ },
1741
+ "deviceId": {
1742
+ "description": "Device identifier for targeting a specific device",
1743
+ "type": "string"
1680
1744
  }
1681
1745
  },
1682
1746
  "required": [
@@ -1710,7 +1774,7 @@
1710
1774
  "android",
1711
1775
  "ios"
1712
1776
  ],
1713
- "description": "Platform"
1777
+ "description": "Target platform"
1714
1778
  }
1715
1779
  },
1716
1780
  "required": [
@@ -1757,6 +1821,10 @@
1757
1821
  "device": {
1758
1822
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
1759
1823
  "type": "string"
1824
+ },
1825
+ "deviceId": {
1826
+ "description": "Device identifier for targeting a specific device",
1827
+ "type": "string"
1760
1828
  }
1761
1829
  },
1762
1830
  "required": [
@@ -1788,7 +1856,7 @@
1788
1856
  "android",
1789
1857
  "ios"
1790
1858
  ],
1791
- "description": "Platform"
1859
+ "description": "Target platform"
1792
1860
  }
1793
1861
  },
1794
1862
  "required": [
@@ -1805,12 +1873,12 @@
1805
1873
  "type": "object",
1806
1874
  "properties": {
1807
1875
  "platform": {
1808
- "description": "Platform",
1809
1876
  "type": "string",
1810
1877
  "enum": [
1811
1878
  "android",
1812
1879
  "ios"
1813
- ]
1880
+ ],
1881
+ "description": "Target platform"
1814
1882
  }
1815
1883
  },
1816
1884
  "additionalProperties": false
@@ -1829,7 +1897,7 @@
1829
1897
  "android",
1830
1898
  "ios"
1831
1899
  ],
1832
- "description": "Platform"
1900
+ "description": "Target platform"
1833
1901
  },
1834
1902
  "waitFor": {
1835
1903
  "description": "Wait for element to appear before returning observation",
@@ -1885,6 +1953,10 @@
1885
1953
  "device": {
1886
1954
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
1887
1955
  "type": "string"
1956
+ },
1957
+ "deviceId": {
1958
+ "description": "Device identifier for targeting a specific device",
1959
+ "type": "string"
1888
1960
  }
1889
1961
  },
1890
1962
  "required": [
@@ -2598,12 +2670,78 @@
2598
2670
  ],
2599
2671
  "additionalProperties": {}
2600
2672
  }
2673
+ },
2674
+ "media": {
2675
+ "type": "array",
2676
+ "items": {
2677
+ "type": "object",
2678
+ "properties": {
2679
+ "viewId": {
2680
+ "type": "string"
2681
+ },
2682
+ "className": {
2683
+ "type": "string"
2684
+ },
2685
+ "mediaType": {
2686
+ "type": "string",
2687
+ "enum": [
2688
+ "image",
2689
+ "video",
2690
+ "loading",
2691
+ "mixed"
2692
+ ]
2693
+ },
2694
+ "bounds": {
2695
+ "type": "object",
2696
+ "properties": {
2697
+ "left": {
2698
+ "type": "number"
2699
+ },
2700
+ "top": {
2701
+ "type": "number"
2702
+ },
2703
+ "right": {
2704
+ "type": "number"
2705
+ },
2706
+ "bottom": {
2707
+ "type": "number"
2708
+ }
2709
+ },
2710
+ "required": [
2711
+ "left",
2712
+ "top",
2713
+ "right",
2714
+ "bottom"
2715
+ ],
2716
+ "additionalProperties": false
2717
+ },
2718
+ "contentDescription": {
2719
+ "type": "string"
2720
+ },
2721
+ "resourceId": {
2722
+ "type": "string"
2723
+ },
2724
+ "sourceUrl": {
2725
+ "type": "string"
2726
+ },
2727
+ "isLoading": {
2728
+ "type": "boolean"
2729
+ }
2730
+ },
2731
+ "required": [
2732
+ "className",
2733
+ "mediaType",
2734
+ "bounds"
2735
+ ],
2736
+ "additionalProperties": false
2737
+ }
2601
2738
  }
2602
2739
  },
2603
2740
  "required": [
2604
2741
  "clickable",
2605
2742
  "scrollable",
2606
- "text"
2743
+ "text",
2744
+ "media"
2607
2745
  ],
2608
2746
  "additionalProperties": false
2609
2747
  },
@@ -3549,7 +3687,7 @@
3549
3687
  "android",
3550
3688
  "ios"
3551
3689
  ],
3552
- "description": "Platform"
3690
+ "description": "Target platform"
3553
3691
  },
3554
3692
  "sessionUuid": {
3555
3693
  "description": "Session UUID for device targeting",
@@ -3562,6 +3700,10 @@
3562
3700
  "device": {
3563
3701
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3564
3702
  "type": "string"
3703
+ },
3704
+ "deviceId": {
3705
+ "description": "Device identifier for targeting a specific device",
3706
+ "type": "string"
3565
3707
  }
3566
3708
  },
3567
3709
  "required": [
@@ -3651,7 +3793,7 @@
3651
3793
  "android",
3652
3794
  "ios"
3653
3795
  ],
3654
- "description": "Platform"
3796
+ "description": "Target platform"
3655
3797
  },
3656
3798
  "sessionUuid": {
3657
3799
  "description": "Session UUID for device targeting",
@@ -3664,6 +3806,10 @@
3664
3806
  "device": {
3665
3807
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3666
3808
  "type": "string"
3809
+ },
3810
+ "deviceId": {
3811
+ "description": "Device identifier for targeting a specific device",
3812
+ "type": "string"
3667
3813
  }
3668
3814
  },
3669
3815
  "required": [
@@ -3736,7 +3882,7 @@
3736
3882
  "android",
3737
3883
  "ios"
3738
3884
  ],
3739
- "description": "Platform"
3885
+ "description": "Target platform"
3740
3886
  },
3741
3887
  "sessionUuid": {
3742
3888
  "description": "Session UUID for device targeting",
@@ -3749,6 +3895,10 @@
3749
3895
  "device": {
3750
3896
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3751
3897
  "type": "string"
3898
+ },
3899
+ "deviceId": {
3900
+ "description": "Device identifier for targeting a specific device",
3901
+ "type": "string"
3752
3902
  }
3753
3903
  },
3754
3904
  "required": [
@@ -3785,7 +3935,7 @@
3785
3935
  "android",
3786
3936
  "ios"
3787
3937
  ],
3788
- "description": "Platform"
3938
+ "description": "Target platform"
3789
3939
  },
3790
3940
  "sessionUuid": {
3791
3941
  "description": "Session UUID for device targeting",
@@ -3798,6 +3948,10 @@
3798
3948
  "device": {
3799
3949
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3800
3950
  "type": "string"
3951
+ },
3952
+ "deviceId": {
3953
+ "description": "Device identifier for targeting a specific device",
3954
+ "type": "string"
3801
3955
  }
3802
3956
  },
3803
3957
  "required": [
@@ -3833,7 +3987,7 @@
3833
3987
  "android",
3834
3988
  "ios"
3835
3989
  ],
3836
- "description": "Platform"
3990
+ "description": "Target platform"
3837
3991
  },
3838
3992
  "sessionUuid": {
3839
3993
  "description": "Session UUID for device targeting",
@@ -3846,6 +4000,10 @@
3846
4000
  "device": {
3847
4001
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3848
4002
  "type": "string"
4003
+ },
4004
+ "deviceId": {
4005
+ "description": "Device identifier for targeting a specific device",
4006
+ "type": "string"
3849
4007
  }
3850
4008
  },
3851
4009
  "required": [
@@ -3868,7 +4026,7 @@
3868
4026
  "android",
3869
4027
  "ios"
3870
4028
  ],
3871
- "description": "Platform"
4029
+ "description": "Target platform"
3872
4030
  },
3873
4031
  "sessionUuid": {
3874
4032
  "description": "Session UUID for device targeting",
@@ -3881,6 +4039,10 @@
3881
4039
  "device": {
3882
4040
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3883
4041
  "type": "string"
4042
+ },
4043
+ "deviceId": {
4044
+ "description": "Device identifier for targeting a specific device",
4045
+ "type": "string"
3884
4046
  }
3885
4047
  },
3886
4048
  "required": [
@@ -3889,6 +4051,81 @@
3889
4051
  "additionalProperties": false
3890
4052
  }
3891
4053
  },
4054
+ {
4055
+ "name": "recordSteps",
4056
+ "description": "Record MCP tool calls as a replayable YAML test plan. Actions: 'begin' starts capturing plan-relevant tool calls, 'end' stops and exports the plan as YAML (both require the 'mcp-recording' feature flag), 'status' checks if a recording session is active (always available, even when the flag is off).",
4057
+ "inputSchema": {
4058
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4059
+ "type": "object",
4060
+ "properties": {
4061
+ "action": {
4062
+ "type": "string",
4063
+ "enum": [
4064
+ "begin",
4065
+ "end",
4066
+ "status"
4067
+ ],
4068
+ "description": "begin: start capturing tool calls. end: stop and export the recorded plan as YAML. status: check if a recording session is active."
4069
+ },
4070
+ "planName": {
4071
+ "description": "Name for the exported plan (kebab-case recommended, auto-generated if not specified). Only used with action 'end'.",
4072
+ "type": "string"
4073
+ }
4074
+ },
4075
+ "required": [
4076
+ "action"
4077
+ ],
4078
+ "additionalProperties": false
4079
+ },
4080
+ "outputSchema": {
4081
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4082
+ "type": "object",
4083
+ "properties": {
4084
+ "success": {
4085
+ "type": "boolean"
4086
+ },
4087
+ "action": {
4088
+ "type": "string",
4089
+ "enum": [
4090
+ "begin",
4091
+ "end",
4092
+ "status"
4093
+ ]
4094
+ },
4095
+ "recording": {
4096
+ "type": "boolean"
4097
+ },
4098
+ "startedAt": {
4099
+ "type": "string"
4100
+ },
4101
+ "alreadyActive": {
4102
+ "type": "boolean"
4103
+ },
4104
+ "currentStepCount": {
4105
+ "type": "number"
4106
+ },
4107
+ "planName": {
4108
+ "type": "string"
4109
+ },
4110
+ "planContent": {
4111
+ "type": "string"
4112
+ },
4113
+ "stepCount": {
4114
+ "type": "number"
4115
+ },
4116
+ "durationMs": {
4117
+ "type": "number"
4118
+ },
4119
+ "error": {
4120
+ "type": "string"
4121
+ }
4122
+ },
4123
+ "required": [
4124
+ "success"
4125
+ ],
4126
+ "additionalProperties": false
4127
+ }
4128
+ },
3892
4129
  {
3893
4130
  "name": "rotate",
3894
4131
  "description": "Rotate device orientation",
@@ -3910,7 +4147,7 @@
3910
4147
  "android",
3911
4148
  "ios"
3912
4149
  ],
3913
- "description": "Platform"
4150
+ "description": "Target platform"
3914
4151
  },
3915
4152
  "sessionUuid": {
3916
4153
  "description": "Session UUID for device targeting",
@@ -3923,6 +4160,10 @@
3923
4160
  "device": {
3924
4161
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3925
4162
  "type": "string"
4163
+ },
4164
+ "deviceId": {
4165
+ "description": "Device identifier for targeting a specific device",
4166
+ "type": "string"
3926
4167
  }
3927
4168
  },
3928
4169
  "required": [
@@ -3945,7 +4186,7 @@
3945
4186
  "android",
3946
4187
  "ios"
3947
4188
  ],
3948
- "description": "Platform"
4189
+ "description": "Target platform"
3949
4190
  },
3950
4191
  "sessionUuid": {
3951
4192
  "description": "Session UUID for device targeting",
@@ -3958,6 +4199,10 @@
3958
4199
  "device": {
3959
4200
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
3960
4201
  "type": "string"
4202
+ },
4203
+ "deviceId": {
4204
+ "description": "Device identifier for targeting a specific device",
4205
+ "type": "string"
3961
4206
  }
3962
4207
  },
3963
4208
  "required": [
@@ -3983,7 +4228,7 @@
3983
4228
  "android",
3984
4229
  "ios"
3985
4230
  ],
3986
- "description": "Platform"
4231
+ "description": "Target platform"
3987
4232
  },
3988
4233
  "sessionUuid": {
3989
4234
  "description": "Session UUID for device targeting",
@@ -4022,7 +4267,7 @@
4022
4267
  "android",
4023
4268
  "ios"
4024
4269
  ],
4025
- "description": "Platform"
4270
+ "description": "Target platform"
4026
4271
  },
4027
4272
  "sessionUuid": {
4028
4273
  "description": "Session UUID for device targeting",
@@ -4035,6 +4280,10 @@
4035
4280
  "device": {
4036
4281
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
4037
4282
  "type": "string"
4283
+ },
4284
+ "deviceId": {
4285
+ "description": "Device identifier for targeting a specific device",
4286
+ "type": "string"
4038
4287
  }
4039
4288
  },
4040
4289
  "required": [
@@ -4063,7 +4312,7 @@
4063
4312
  "android",
4064
4313
  "ios"
4065
4314
  ],
4066
- "description": "Platform"
4315
+ "description": "Target platform"
4067
4316
  },
4068
4317
  "deviceId": {
4069
4318
  "description": "Device ID",
@@ -4260,7 +4509,7 @@
4260
4509
  "android",
4261
4510
  "ios"
4262
4511
  ],
4263
- "description": "Platform"
4512
+ "description": "Target platform"
4264
4513
  },
4265
4514
  "sessionUuid": {
4266
4515
  "description": "Session UUID for device targeting",
@@ -4273,6 +4522,10 @@
4273
4522
  "device": {
4274
4523
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
4275
4524
  "type": "string"
4525
+ },
4526
+ "deviceId": {
4527
+ "description": "Device identifier for targeting a specific device",
4528
+ "type": "string"
4276
4529
  }
4277
4530
  },
4278
4531
  "required": [
@@ -5178,7 +5431,7 @@
5178
5431
  "android",
5179
5432
  "ios"
5180
5433
  ],
5181
- "description": "Platform"
5434
+ "description": "Target platform"
5182
5435
  },
5183
5436
  "sessionUuid": {
5184
5437
  "description": "Session UUID for device targeting",
@@ -5191,6 +5444,10 @@
5191
5444
  "device": {
5192
5445
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
5193
5446
  "type": "string"
5447
+ },
5448
+ "deviceId": {
5449
+ "description": "Device identifier for targeting a specific device",
5450
+ "type": "string"
5194
5451
  }
5195
5452
  },
5196
5453
  "required": [
@@ -5239,14 +5496,15 @@
5239
5496
  ]
5240
5497
  },
5241
5498
  "action": {
5499
+ "default": "tap",
5500
+ "description": "Action type (default: tap)",
5242
5501
  "type": "string",
5243
5502
  "enum": [
5244
5503
  "tap",
5245
5504
  "doubleTap",
5246
5505
  "longPress",
5247
5506
  "focus"
5248
- ],
5249
- "description": "Action type"
5507
+ ]
5250
5508
  },
5251
5509
  "selectionStrategy": {
5252
5510
  "description": "Element selection strategy when multiple matches are found (default: first)",
@@ -5279,7 +5537,7 @@
5279
5537
  "android",
5280
5538
  "ios"
5281
5539
  ],
5282
- "description": "Platform"
5540
+ "description": "Target platform"
5283
5541
  },
5284
5542
  "elementId": {
5285
5543
  "type": "string",
@@ -5300,12 +5558,30 @@
5300
5558
  "device": {
5301
5559
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
5302
5560
  "type": "string"
5561
+ },
5562
+ "deviceId": {
5563
+ "description": "Device identifier for targeting a specific device",
5564
+ "type": "string"
5565
+ },
5566
+ "tapClickableParent": {
5567
+ "description": "Tap the nearest clickable parent that contains the text element. Useful for list items where the clickable row doesn't have a resource-id but contains children with text.",
5568
+ "type": "boolean"
5569
+ },
5570
+ "clickable": {
5571
+ "type": "boolean",
5572
+ "const": true,
5573
+ "description": "Select clickable elements. Use with selectionStrategy: 'first' to tap the first clickable item in a list without knowing its text or ID."
5574
+ },
5575
+ "scrollableContainer": {
5576
+ "description": "Only search within scrollable containers (lists/RecyclerViews). Use this to avoid tapping search bars or other clickable UI elements when you want the first list item.",
5577
+ "type": "boolean"
5578
+ },
5579
+ "siblingOfText": {
5580
+ "type": "string",
5581
+ "minLength": 1,
5582
+ "description": "Find a clickable element that is a sibling of an element containing this text. Useful for tapping checkboxes, icons, or buttons next to a specific text label."
5303
5583
  }
5304
5584
  },
5305
- "required": [
5306
- "action",
5307
- "platform"
5308
- ],
5309
5585
  "additionalProperties": false
5310
5586
  },
5311
5587
  "outputSchema": {
@@ -6305,6 +6581,10 @@
6305
6581
  "device": {
6306
6582
  "description": "Device label for multi-device plans (e.g., \"A\", \"B\")",
6307
6583
  "type": "string"
6584
+ },
6585
+ "deviceId": {
6586
+ "description": "Device identifier for targeting a specific device",
6587
+ "type": "string"
6308
6588
  }
6309
6589
  },
6310
6590
  "required": [
@@ -6337,7 +6617,7 @@
6337
6617
  "description": "Target platform"
6338
6618
  },
6339
6619
  "deviceId": {
6340
- "description": "Optional device ID override",
6620
+ "description": "Device identifier for targeting a specific device",
6341
6621
  "type": "string"
6342
6622
  },
6343
6623
  "recordingId": {