doc-detective-common 3.4.1-dev.1 → 3.4.1-dev.3

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 (31) hide show
  1. package/dist/schemas/click_v3.schema.json +142 -6
  2. package/dist/schemas/config_v3.schema.json +2146 -66
  3. package/dist/schemas/find_v3.schema.json +626 -20
  4. package/dist/schemas/report_v3.schema.json +2139 -59
  5. package/dist/schemas/resolvedTests_v3.schema.json +4304 -144
  6. package/dist/schemas/screenshot_v3.schema.json +204 -0
  7. package/dist/schemas/spec_v3.schema.json +2139 -59
  8. package/dist/schemas/step_v3.schema.json +1075 -35
  9. package/dist/schemas/test_v3.schema.json +2139 -59
  10. package/dist/schemas/type_v3.schema.json +94 -0
  11. package/package.json +1 -1
  12. package/src/resolvePaths.js +5 -0
  13. package/src/schemas/build/click_v3.schema.json +71 -3
  14. package/src/schemas/build/find_v3.schema.json +77 -4
  15. package/src/schemas/build/screenshot_v3.schema.json +68 -0
  16. package/src/schemas/build/type_v3.schema.json +47 -0
  17. package/src/schemas/output_schemas/click_v3.schema.json +142 -6
  18. package/src/schemas/output_schemas/config_v3.schema.json +2146 -66
  19. package/src/schemas/output_schemas/find_v3.schema.json +626 -20
  20. package/src/schemas/output_schemas/report_v3.schema.json +2139 -59
  21. package/src/schemas/output_schemas/resolvedTests_v3.schema.json +4304 -144
  22. package/src/schemas/output_schemas/screenshot_v3.schema.json +204 -0
  23. package/src/schemas/output_schemas/spec_v3.schema.json +2139 -59
  24. package/src/schemas/output_schemas/step_v3.schema.json +1075 -35
  25. package/src/schemas/output_schemas/test_v3.schema.json +2139 -59
  26. package/src/schemas/output_schemas/type_v3.schema.json +94 -0
  27. package/src/schemas/schemas.json +14926 -366
  28. package/src/schemas/src_schemas/click_v3.schema.json +71 -3
  29. package/src/schemas/src_schemas/find_v3.schema.json +77 -4
  30. package/src/schemas/src_schemas/screenshot_v3.schema.json +68 -0
  31. package/src/schemas/src_schemas/type_v3.schema.json +47 -0
@@ -405,7 +405,7 @@
405
405
  {
406
406
  "title": "Click element (simple)",
407
407
  "type": "string",
408
- "description": "Display text or selector of the element to find."
408
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
409
409
  },
410
410
  {
411
411
  "title": "Click element (detailed)",
@@ -420,6 +420,31 @@
420
420
  "required": [
421
421
  "elementText"
422
422
  ]
423
+ },
424
+ {
425
+ "required": [
426
+ "elementId"
427
+ ]
428
+ },
429
+ {
430
+ "required": [
431
+ "elementTestId"
432
+ ]
433
+ },
434
+ {
435
+ "required": [
436
+ "elementClass"
437
+ ]
438
+ },
439
+ {
440
+ "required": [
441
+ "elementAttribute"
442
+ ]
443
+ },
444
+ {
445
+ "required": [
446
+ "elementAria"
447
+ ]
423
448
  }
424
449
  ],
425
450
  "properties": {
@@ -434,11 +459,54 @@
434
459
  },
435
460
  "elementText": {
436
461
  "type": "string",
437
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
462
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
438
463
  },
439
464
  "selector": {
440
465
  "type": "string",
441
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
466
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
467
+ },
468
+ "elementId": {
469
+ "type": "string",
470
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
471
+ },
472
+ "elementTestId": {
473
+ "type": "string",
474
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
475
+ },
476
+ "elementClass": {
477
+ "oneOf": [
478
+ {
479
+ "type": "string"
480
+ },
481
+ {
482
+ "type": "array",
483
+ "items": {
484
+ "type": "string"
485
+ }
486
+ }
487
+ ],
488
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
489
+ },
490
+ "elementAttribute": {
491
+ "type": "object",
492
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
493
+ "additionalProperties": {
494
+ "oneOf": [
495
+ {
496
+ "type": "string"
497
+ },
498
+ {
499
+ "type": "number"
500
+ },
501
+ {
502
+ "type": "boolean"
503
+ }
504
+ ]
505
+ }
506
+ },
507
+ "elementAria": {
508
+ "type": "string",
509
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
442
510
  }
443
511
  }
444
512
  },
@@ -451,7 +519,7 @@
451
519
  "string": {
452
520
  "title": "Click element (simple)",
453
521
  "type": "string",
454
- "description": "Display text or selector of the element to find."
522
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
455
523
  },
456
524
  "button": {
457
525
  "description": "Kind of click to perform.",
@@ -475,6 +543,31 @@
475
543
  "required": [
476
544
  "elementText"
477
545
  ]
546
+ },
547
+ {
548
+ "required": [
549
+ "elementId"
550
+ ]
551
+ },
552
+ {
553
+ "required": [
554
+ "elementTestId"
555
+ ]
556
+ },
557
+ {
558
+ "required": [
559
+ "elementClass"
560
+ ]
561
+ },
562
+ {
563
+ "required": [
564
+ "elementAttribute"
565
+ ]
566
+ },
567
+ {
568
+ "required": [
569
+ "elementAria"
570
+ ]
478
571
  }
479
572
  ],
480
573
  "properties": {
@@ -489,11 +582,54 @@
489
582
  },
490
583
  "elementText": {
491
584
  "type": "string",
492
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
585
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
493
586
  },
494
587
  "selector": {
495
588
  "type": "string",
496
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
589
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
590
+ },
591
+ "elementId": {
592
+ "type": "string",
593
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
594
+ },
595
+ "elementTestId": {
596
+ "type": "string",
597
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
598
+ },
599
+ "elementClass": {
600
+ "oneOf": [
601
+ {
602
+ "type": "string"
603
+ },
604
+ {
605
+ "type": "array",
606
+ "items": {
607
+ "type": "string"
608
+ }
609
+ }
610
+ ],
611
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
612
+ },
613
+ "elementAttribute": {
614
+ "type": "object",
615
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
616
+ "additionalProperties": {
617
+ "oneOf": [
618
+ {
619
+ "type": "string"
620
+ },
621
+ {
622
+ "type": "number"
623
+ },
624
+ {
625
+ "type": "boolean"
626
+ }
627
+ ]
628
+ }
629
+ },
630
+ "elementAria": {
631
+ "type": "string",
632
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
497
633
  }
498
634
  }
499
635
  }
@@ -592,7 +728,7 @@
592
728
  {
593
729
  "title": "Find element (simple)",
594
730
  "type": "string",
595
- "description": "Display text or selector of the element to find."
731
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
596
732
  },
597
733
  {
598
734
  "title": "Find element (detailed)",
@@ -607,17 +743,85 @@
607
743
  "required": [
608
744
  "elementText"
609
745
  ]
746
+ },
747
+ {
748
+ "required": [
749
+ "elementId"
750
+ ]
751
+ },
752
+ {
753
+ "required": [
754
+ "elementTestId"
755
+ ]
756
+ },
757
+ {
758
+ "required": [
759
+ "elementClass"
760
+ ]
761
+ },
762
+ {
763
+ "required": [
764
+ "elementAttribute"
765
+ ]
766
+ },
767
+ {
768
+ "required": [
769
+ "elementAria"
770
+ ]
610
771
  }
611
772
  ],
612
773
  "additionalProperties": false,
613
774
  "properties": {
614
775
  "elementText": {
615
776
  "type": "string",
616
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
777
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
617
778
  },
618
779
  "selector": {
619
780
  "type": "string",
620
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
781
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
782
+ },
783
+ "elementId": {
784
+ "type": "string",
785
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
786
+ },
787
+ "elementTestId": {
788
+ "type": "string",
789
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
790
+ },
791
+ "elementClass": {
792
+ "oneOf": [
793
+ {
794
+ "type": "string"
795
+ },
796
+ {
797
+ "type": "array",
798
+ "items": {
799
+ "type": "string"
800
+ }
801
+ }
802
+ ],
803
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
804
+ },
805
+ "elementAttribute": {
806
+ "type": "object",
807
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
808
+ "additionalProperties": {
809
+ "oneOf": [
810
+ {
811
+ "type": "string"
812
+ },
813
+ {
814
+ "type": "number"
815
+ },
816
+ {
817
+ "type": "boolean"
818
+ }
819
+ ]
820
+ }
821
+ },
822
+ "elementAria": {
823
+ "type": "string",
824
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
621
825
  },
622
826
  "timeout": {
623
827
  "type": "integer",
@@ -640,7 +844,7 @@
640
844
  {
641
845
  "title": "Click element (simple)",
642
846
  "type": "string",
643
- "description": "Display text or selector of the element to find."
847
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
644
848
  },
645
849
  {
646
850
  "title": "Click element (detailed)",
@@ -655,6 +859,31 @@
655
859
  "required": [
656
860
  "elementText"
657
861
  ]
862
+ },
863
+ {
864
+ "required": [
865
+ "elementId"
866
+ ]
867
+ },
868
+ {
869
+ "required": [
870
+ "elementTestId"
871
+ ]
872
+ },
873
+ {
874
+ "required": [
875
+ "elementClass"
876
+ ]
877
+ },
878
+ {
879
+ "required": [
880
+ "elementAttribute"
881
+ ]
882
+ },
883
+ {
884
+ "required": [
885
+ "elementAria"
886
+ ]
658
887
  }
659
888
  ],
660
889
  "properties": {
@@ -669,11 +898,54 @@
669
898
  },
670
899
  "elementText": {
671
900
  "type": "string",
672
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
901
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
673
902
  },
674
903
  "selector": {
675
904
  "type": "string",
676
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
905
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
906
+ },
907
+ "elementId": {
908
+ "type": "string",
909
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
910
+ },
911
+ "elementTestId": {
912
+ "type": "string",
913
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
914
+ },
915
+ "elementClass": {
916
+ "oneOf": [
917
+ {
918
+ "type": "string"
919
+ },
920
+ {
921
+ "type": "array",
922
+ "items": {
923
+ "type": "string"
924
+ }
925
+ }
926
+ ],
927
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
928
+ },
929
+ "elementAttribute": {
930
+ "type": "object",
931
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
932
+ "additionalProperties": {
933
+ "oneOf": [
934
+ {
935
+ "type": "string"
936
+ },
937
+ {
938
+ "type": "number"
939
+ },
940
+ {
941
+ "type": "boolean"
942
+ }
943
+ ]
944
+ }
945
+ },
946
+ "elementAria": {
947
+ "type": "string",
948
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
677
949
  }
678
950
  }
679
951
  },
@@ -686,7 +958,7 @@
686
958
  "string": {
687
959
  "title": "Click element (simple)",
688
960
  "type": "string",
689
- "description": "Display text or selector of the element to find."
961
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
690
962
  },
691
963
  "button": {
692
964
  "description": "Kind of click to perform.",
@@ -710,6 +982,31 @@
710
982
  "required": [
711
983
  "elementText"
712
984
  ]
985
+ },
986
+ {
987
+ "required": [
988
+ "elementId"
989
+ ]
990
+ },
991
+ {
992
+ "required": [
993
+ "elementTestId"
994
+ ]
995
+ },
996
+ {
997
+ "required": [
998
+ "elementClass"
999
+ ]
1000
+ },
1001
+ {
1002
+ "required": [
1003
+ "elementAttribute"
1004
+ ]
1005
+ },
1006
+ {
1007
+ "required": [
1008
+ "elementAria"
1009
+ ]
713
1010
  }
714
1011
  ],
715
1012
  "properties": {
@@ -724,11 +1021,54 @@
724
1021
  },
725
1022
  "elementText": {
726
1023
  "type": "string",
727
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
1024
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
728
1025
  },
729
1026
  "selector": {
730
1027
  "type": "string",
731
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
1028
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1029
+ },
1030
+ "elementId": {
1031
+ "type": "string",
1032
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1033
+ },
1034
+ "elementTestId": {
1035
+ "type": "string",
1036
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1037
+ },
1038
+ "elementClass": {
1039
+ "oneOf": [
1040
+ {
1041
+ "type": "string"
1042
+ },
1043
+ {
1044
+ "type": "array",
1045
+ "items": {
1046
+ "type": "string"
1047
+ }
1048
+ }
1049
+ ],
1050
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1051
+ },
1052
+ "elementAttribute": {
1053
+ "type": "object",
1054
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1055
+ "additionalProperties": {
1056
+ "oneOf": [
1057
+ {
1058
+ "type": "string"
1059
+ },
1060
+ {
1061
+ "type": "number"
1062
+ },
1063
+ {
1064
+ "type": "boolean"
1065
+ }
1066
+ ]
1067
+ }
1068
+ },
1069
+ "elementAria": {
1070
+ "type": "string",
1071
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
732
1072
  }
733
1073
  }
734
1074
  }
@@ -823,6 +1163,53 @@
823
1163
  "selector": {
824
1164
  "type": "string",
825
1165
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1166
+ },
1167
+ "elementText": {
1168
+ "type": "string",
1169
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1170
+ },
1171
+ "elementId": {
1172
+ "type": "string",
1173
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1174
+ },
1175
+ "elementTestId": {
1176
+ "type": "string",
1177
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1178
+ },
1179
+ "elementClass": {
1180
+ "oneOf": [
1181
+ {
1182
+ "type": "string"
1183
+ },
1184
+ {
1185
+ "type": "array",
1186
+ "items": {
1187
+ "type": "string"
1188
+ }
1189
+ }
1190
+ ],
1191
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1192
+ },
1193
+ "elementAttribute": {
1194
+ "type": "object",
1195
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1196
+ "additionalProperties": {
1197
+ "oneOf": [
1198
+ {
1199
+ "type": "string"
1200
+ },
1201
+ {
1202
+ "type": "number"
1203
+ },
1204
+ {
1205
+ "type": "boolean"
1206
+ }
1207
+ ]
1208
+ }
1209
+ },
1210
+ "elementAria": {
1211
+ "type": "string",
1212
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
826
1213
  }
827
1214
  },
828
1215
  "required": [
@@ -883,6 +1270,53 @@
883
1270
  "selector": {
884
1271
  "type": "string",
885
1272
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1273
+ },
1274
+ "elementText": {
1275
+ "type": "string",
1276
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1277
+ },
1278
+ "elementId": {
1279
+ "type": "string",
1280
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1281
+ },
1282
+ "elementTestId": {
1283
+ "type": "string",
1284
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1285
+ },
1286
+ "elementClass": {
1287
+ "oneOf": [
1288
+ {
1289
+ "type": "string"
1290
+ },
1291
+ {
1292
+ "type": "array",
1293
+ "items": {
1294
+ "type": "string"
1295
+ }
1296
+ }
1297
+ ],
1298
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1299
+ },
1300
+ "elementAttribute": {
1301
+ "type": "object",
1302
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1303
+ "additionalProperties": {
1304
+ "oneOf": [
1305
+ {
1306
+ "type": "string"
1307
+ },
1308
+ {
1309
+ "type": "number"
1310
+ },
1311
+ {
1312
+ "type": "boolean"
1313
+ }
1314
+ ]
1315
+ }
1316
+ },
1317
+ "elementAria": {
1318
+ "type": "string",
1319
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
886
1320
  }
887
1321
  },
888
1322
  "required": [
@@ -923,7 +1357,12 @@
923
1357
  "type": "object",
924
1358
  "required": [
925
1359
  "selector",
926
- "elementText"
1360
+ "elementText",
1361
+ "elementId",
1362
+ "elementTestId",
1363
+ "elementClass",
1364
+ "elementAttribute",
1365
+ "elementAria"
927
1366
  ],
928
1367
  "title": "Find element and type"
929
1368
  }
@@ -938,7 +1377,7 @@
938
1377
  "string": {
939
1378
  "title": "Find element (simple)",
940
1379
  "type": "string",
941
- "description": "Display text or selector of the element to find."
1380
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
942
1381
  },
943
1382
  "object": {
944
1383
  "title": "Find element (detailed)",
@@ -953,17 +1392,85 @@
953
1392
  "required": [
954
1393
  "elementText"
955
1394
  ]
1395
+ },
1396
+ {
1397
+ "required": [
1398
+ "elementId"
1399
+ ]
1400
+ },
1401
+ {
1402
+ "required": [
1403
+ "elementTestId"
1404
+ ]
1405
+ },
1406
+ {
1407
+ "required": [
1408
+ "elementClass"
1409
+ ]
1410
+ },
1411
+ {
1412
+ "required": [
1413
+ "elementAttribute"
1414
+ ]
1415
+ },
1416
+ {
1417
+ "required": [
1418
+ "elementAria"
1419
+ ]
956
1420
  }
957
1421
  ],
958
1422
  "additionalProperties": false,
959
1423
  "properties": {
960
1424
  "elementText": {
961
1425
  "type": "string",
962
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
1426
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
963
1427
  },
964
1428
  "selector": {
965
1429
  "type": "string",
966
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
1430
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
1431
+ },
1432
+ "elementId": {
1433
+ "type": "string",
1434
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1435
+ },
1436
+ "elementTestId": {
1437
+ "type": "string",
1438
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1439
+ },
1440
+ "elementClass": {
1441
+ "oneOf": [
1442
+ {
1443
+ "type": "string"
1444
+ },
1445
+ {
1446
+ "type": "array",
1447
+ "items": {
1448
+ "type": "string"
1449
+ }
1450
+ }
1451
+ ],
1452
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1453
+ },
1454
+ "elementAttribute": {
1455
+ "type": "object",
1456
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1457
+ "additionalProperties": {
1458
+ "oneOf": [
1459
+ {
1460
+ "type": "string"
1461
+ },
1462
+ {
1463
+ "type": "number"
1464
+ },
1465
+ {
1466
+ "type": "boolean"
1467
+ }
1468
+ ]
1469
+ }
1470
+ },
1471
+ "elementAria": {
1472
+ "type": "string",
1473
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
967
1474
  },
968
1475
  "timeout": {
969
1476
  "type": "integer",
@@ -986,7 +1493,7 @@
986
1493
  {
987
1494
  "title": "Click element (simple)",
988
1495
  "type": "string",
989
- "description": "Display text or selector of the element to find."
1496
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
990
1497
  },
991
1498
  {
992
1499
  "title": "Click element (detailed)",
@@ -1001,6 +1508,31 @@
1001
1508
  "required": [
1002
1509
  "elementText"
1003
1510
  ]
1511
+ },
1512
+ {
1513
+ "required": [
1514
+ "elementId"
1515
+ ]
1516
+ },
1517
+ {
1518
+ "required": [
1519
+ "elementTestId"
1520
+ ]
1521
+ },
1522
+ {
1523
+ "required": [
1524
+ "elementClass"
1525
+ ]
1526
+ },
1527
+ {
1528
+ "required": [
1529
+ "elementAttribute"
1530
+ ]
1531
+ },
1532
+ {
1533
+ "required": [
1534
+ "elementAria"
1535
+ ]
1004
1536
  }
1005
1537
  ],
1006
1538
  "properties": {
@@ -1015,11 +1547,54 @@
1015
1547
  },
1016
1548
  "elementText": {
1017
1549
  "type": "string",
1018
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
1550
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1019
1551
  },
1020
1552
  "selector": {
1021
1553
  "type": "string",
1022
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
1554
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1555
+ },
1556
+ "elementId": {
1557
+ "type": "string",
1558
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1559
+ },
1560
+ "elementTestId": {
1561
+ "type": "string",
1562
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1563
+ },
1564
+ "elementClass": {
1565
+ "oneOf": [
1566
+ {
1567
+ "type": "string"
1568
+ },
1569
+ {
1570
+ "type": "array",
1571
+ "items": {
1572
+ "type": "string"
1573
+ }
1574
+ }
1575
+ ],
1576
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1577
+ },
1578
+ "elementAttribute": {
1579
+ "type": "object",
1580
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1581
+ "additionalProperties": {
1582
+ "oneOf": [
1583
+ {
1584
+ "type": "string"
1585
+ },
1586
+ {
1587
+ "type": "number"
1588
+ },
1589
+ {
1590
+ "type": "boolean"
1591
+ }
1592
+ ]
1593
+ }
1594
+ },
1595
+ "elementAria": {
1596
+ "type": "string",
1597
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1023
1598
  }
1024
1599
  }
1025
1600
  },
@@ -1032,7 +1607,7 @@
1032
1607
  "string": {
1033
1608
  "title": "Click element (simple)",
1034
1609
  "type": "string",
1035
- "description": "Display text or selector of the element to find."
1610
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
1036
1611
  },
1037
1612
  "button": {
1038
1613
  "description": "Kind of click to perform.",
@@ -1056,6 +1631,31 @@
1056
1631
  "required": [
1057
1632
  "elementText"
1058
1633
  ]
1634
+ },
1635
+ {
1636
+ "required": [
1637
+ "elementId"
1638
+ ]
1639
+ },
1640
+ {
1641
+ "required": [
1642
+ "elementTestId"
1643
+ ]
1644
+ },
1645
+ {
1646
+ "required": [
1647
+ "elementClass"
1648
+ ]
1649
+ },
1650
+ {
1651
+ "required": [
1652
+ "elementAttribute"
1653
+ ]
1654
+ },
1655
+ {
1656
+ "required": [
1657
+ "elementAria"
1658
+ ]
1059
1659
  }
1060
1660
  ],
1061
1661
  "properties": {
@@ -1070,11 +1670,54 @@
1070
1670
  },
1071
1671
  "elementText": {
1072
1672
  "type": "string",
1073
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
1673
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1074
1674
  },
1075
1675
  "selector": {
1076
1676
  "type": "string",
1077
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
1677
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
1678
+ },
1679
+ "elementId": {
1680
+ "type": "string",
1681
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1682
+ },
1683
+ "elementTestId": {
1684
+ "type": "string",
1685
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
1686
+ },
1687
+ "elementClass": {
1688
+ "oneOf": [
1689
+ {
1690
+ "type": "string"
1691
+ },
1692
+ {
1693
+ "type": "array",
1694
+ "items": {
1695
+ "type": "string"
1696
+ }
1697
+ }
1698
+ ],
1699
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1700
+ },
1701
+ "elementAttribute": {
1702
+ "type": "object",
1703
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1704
+ "additionalProperties": {
1705
+ "oneOf": [
1706
+ {
1707
+ "type": "string"
1708
+ },
1709
+ {
1710
+ "type": "number"
1711
+ },
1712
+ {
1713
+ "type": "boolean"
1714
+ }
1715
+ ]
1716
+ }
1717
+ },
1718
+ "elementAria": {
1719
+ "type": "string",
1720
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1078
1721
  }
1079
1722
  }
1080
1723
  }
@@ -1158,17 +1801,64 @@
1158
1801
  }
1159
1802
  ]
1160
1803
  }
1161
- }
1162
- ]
1163
- },
1164
- "inputDelay": {
1165
- "type": "number",
1166
- "description": "Delay in milliseconds between each key press during a recording",
1167
- "default": 100
1804
+ }
1805
+ ]
1806
+ },
1807
+ "inputDelay": {
1808
+ "type": "number",
1809
+ "description": "Delay in milliseconds between each key press during a recording",
1810
+ "default": 100
1811
+ },
1812
+ "selector": {
1813
+ "type": "string",
1814
+ "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1815
+ },
1816
+ "elementText": {
1817
+ "type": "string",
1818
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1819
+ },
1820
+ "elementId": {
1821
+ "type": "string",
1822
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1823
+ },
1824
+ "elementTestId": {
1825
+ "type": "string",
1826
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1827
+ },
1828
+ "elementClass": {
1829
+ "oneOf": [
1830
+ {
1831
+ "type": "string"
1832
+ },
1833
+ {
1834
+ "type": "array",
1835
+ "items": {
1836
+ "type": "string"
1837
+ }
1838
+ }
1839
+ ],
1840
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1841
+ },
1842
+ "elementAttribute": {
1843
+ "type": "object",
1844
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1845
+ "additionalProperties": {
1846
+ "oneOf": [
1847
+ {
1848
+ "type": "string"
1849
+ },
1850
+ {
1851
+ "type": "number"
1852
+ },
1853
+ {
1854
+ "type": "boolean"
1855
+ }
1856
+ ]
1857
+ }
1168
1858
  },
1169
- "selector": {
1859
+ "elementAria": {
1170
1860
  "type": "string",
1171
- "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1861
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1172
1862
  }
1173
1863
  },
1174
1864
  "required": [
@@ -1229,6 +1919,53 @@
1229
1919
  "selector": {
1230
1920
  "type": "string",
1231
1921
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1922
+ },
1923
+ "elementText": {
1924
+ "type": "string",
1925
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1926
+ },
1927
+ "elementId": {
1928
+ "type": "string",
1929
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1930
+ },
1931
+ "elementTestId": {
1932
+ "type": "string",
1933
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1934
+ },
1935
+ "elementClass": {
1936
+ "oneOf": [
1937
+ {
1938
+ "type": "string"
1939
+ },
1940
+ {
1941
+ "type": "array",
1942
+ "items": {
1943
+ "type": "string"
1944
+ }
1945
+ }
1946
+ ],
1947
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
1948
+ },
1949
+ "elementAttribute": {
1950
+ "type": "object",
1951
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
1952
+ "additionalProperties": {
1953
+ "oneOf": [
1954
+ {
1955
+ "type": "string"
1956
+ },
1957
+ {
1958
+ "type": "number"
1959
+ },
1960
+ {
1961
+ "type": "boolean"
1962
+ }
1963
+ ]
1964
+ }
1965
+ },
1966
+ "elementAria": {
1967
+ "type": "string",
1968
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
1232
1969
  }
1233
1970
  },
1234
1971
  "required": [
@@ -1269,7 +2006,12 @@
1269
2006
  "type": "object",
1270
2007
  "required": [
1271
2008
  "selector",
1272
- "elementText"
2009
+ "elementText",
2010
+ "elementId",
2011
+ "elementTestId",
2012
+ "elementClass",
2013
+ "elementAttribute",
2014
+ "elementAria"
1273
2015
  ],
1274
2016
  "title": "Find element and type"
1275
2017
  }
@@ -3267,6 +4009,53 @@
3267
4009
  "selector": {
3268
4010
  "type": "string",
3269
4011
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
4012
+ },
4013
+ "elementText": {
4014
+ "type": "string",
4015
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
4016
+ },
4017
+ "elementId": {
4018
+ "type": "string",
4019
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4020
+ },
4021
+ "elementTestId": {
4022
+ "type": "string",
4023
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4024
+ },
4025
+ "elementClass": {
4026
+ "oneOf": [
4027
+ {
4028
+ "type": "string"
4029
+ },
4030
+ {
4031
+ "type": "array",
4032
+ "items": {
4033
+ "type": "string"
4034
+ }
4035
+ }
4036
+ ],
4037
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
4038
+ },
4039
+ "elementAttribute": {
4040
+ "type": "object",
4041
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
4042
+ "additionalProperties": {
4043
+ "oneOf": [
4044
+ {
4045
+ "type": "string"
4046
+ },
4047
+ {
4048
+ "type": "number"
4049
+ },
4050
+ {
4051
+ "type": "boolean"
4052
+ }
4053
+ ]
4054
+ }
4055
+ },
4056
+ "elementAria": {
4057
+ "type": "string",
4058
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
3270
4059
  }
3271
4060
  },
3272
4061
  "required": [
@@ -3327,6 +4116,53 @@
3327
4116
  "selector": {
3328
4117
  "type": "string",
3329
4118
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
4119
+ },
4120
+ "elementText": {
4121
+ "type": "string",
4122
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
4123
+ },
4124
+ "elementId": {
4125
+ "type": "string",
4126
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4127
+ },
4128
+ "elementTestId": {
4129
+ "type": "string",
4130
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4131
+ },
4132
+ "elementClass": {
4133
+ "oneOf": [
4134
+ {
4135
+ "type": "string"
4136
+ },
4137
+ {
4138
+ "type": "array",
4139
+ "items": {
4140
+ "type": "string"
4141
+ }
4142
+ }
4143
+ ],
4144
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
4145
+ },
4146
+ "elementAttribute": {
4147
+ "type": "object",
4148
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
4149
+ "additionalProperties": {
4150
+ "oneOf": [
4151
+ {
4152
+ "type": "string"
4153
+ },
4154
+ {
4155
+ "type": "number"
4156
+ },
4157
+ {
4158
+ "type": "boolean"
4159
+ }
4160
+ ]
4161
+ }
4162
+ },
4163
+ "elementAria": {
4164
+ "type": "string",
4165
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
3330
4166
  }
3331
4167
  },
3332
4168
  "required": [
@@ -3506,6 +4342,31 @@
3506
4342
  "required": [
3507
4343
  "elementText"
3508
4344
  ]
4345
+ },
4346
+ {
4347
+ "required": [
4348
+ "elementId"
4349
+ ]
4350
+ },
4351
+ {
4352
+ "required": [
4353
+ "elementTestId"
4354
+ ]
4355
+ },
4356
+ {
4357
+ "required": [
4358
+ "elementClass"
4359
+ ]
4360
+ },
4361
+ {
4362
+ "required": [
4363
+ "elementAttribute"
4364
+ ]
4365
+ },
4366
+ {
4367
+ "required": [
4368
+ "elementAria"
4369
+ ]
3509
4370
  }
3510
4371
  ],
3511
4372
  "properties": {
@@ -3517,6 +4378,49 @@
3517
4378
  "type": "string",
3518
4379
  "description": "Selector of the element to screenshot."
3519
4380
  },
4381
+ "elementId": {
4382
+ "type": "string",
4383
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4384
+ },
4385
+ "elementTestId": {
4386
+ "type": "string",
4387
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4388
+ },
4389
+ "elementClass": {
4390
+ "oneOf": [
4391
+ {
4392
+ "type": "string"
4393
+ },
4394
+ {
4395
+ "type": "array",
4396
+ "items": {
4397
+ "type": "string"
4398
+ }
4399
+ }
4400
+ ],
4401
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
4402
+ },
4403
+ "elementAttribute": {
4404
+ "type": "object",
4405
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
4406
+ "additionalProperties": {
4407
+ "oneOf": [
4408
+ {
4409
+ "type": "string"
4410
+ },
4411
+ {
4412
+ "type": "number"
4413
+ },
4414
+ {
4415
+ "type": "boolean"
4416
+ }
4417
+ ]
4418
+ }
4419
+ },
4420
+ "elementAria": {
4421
+ "type": "string",
4422
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
4423
+ },
3520
4424
  "padding": {
3521
4425
  "anyOf": [
3522
4426
  {
@@ -3634,6 +4538,31 @@
3634
4538
  "required": [
3635
4539
  "elementText"
3636
4540
  ]
4541
+ },
4542
+ {
4543
+ "required": [
4544
+ "elementId"
4545
+ ]
4546
+ },
4547
+ {
4548
+ "required": [
4549
+ "elementTestId"
4550
+ ]
4551
+ },
4552
+ {
4553
+ "required": [
4554
+ "elementClass"
4555
+ ]
4556
+ },
4557
+ {
4558
+ "required": [
4559
+ "elementAttribute"
4560
+ ]
4561
+ },
4562
+ {
4563
+ "required": [
4564
+ "elementAria"
4565
+ ]
3637
4566
  }
3638
4567
  ],
3639
4568
  "properties": {
@@ -3645,6 +4574,49 @@
3645
4574
  "type": "string",
3646
4575
  "description": "Selector of the element to screenshot."
3647
4576
  },
4577
+ "elementId": {
4578
+ "type": "string",
4579
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4580
+ },
4581
+ "elementTestId": {
4582
+ "type": "string",
4583
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4584
+ },
4585
+ "elementClass": {
4586
+ "oneOf": [
4587
+ {
4588
+ "type": "string"
4589
+ },
4590
+ {
4591
+ "type": "array",
4592
+ "items": {
4593
+ "type": "string"
4594
+ }
4595
+ }
4596
+ ],
4597
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
4598
+ },
4599
+ "elementAttribute": {
4600
+ "type": "object",
4601
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
4602
+ "additionalProperties": {
4603
+ "oneOf": [
4604
+ {
4605
+ "type": "string"
4606
+ },
4607
+ {
4608
+ "type": "number"
4609
+ },
4610
+ {
4611
+ "type": "boolean"
4612
+ }
4613
+ ]
4614
+ }
4615
+ },
4616
+ "elementAria": {
4617
+ "type": "string",
4618
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
4619
+ },
3648
4620
  "padding": {
3649
4621
  "anyOf": [
3650
4622
  {
@@ -3701,6 +4673,31 @@
3701
4673
  "required": [
3702
4674
  "elementText"
3703
4675
  ]
4676
+ },
4677
+ {
4678
+ "required": [
4679
+ "elementId"
4680
+ ]
4681
+ },
4682
+ {
4683
+ "required": [
4684
+ "elementTestId"
4685
+ ]
4686
+ },
4687
+ {
4688
+ "required": [
4689
+ "elementClass"
4690
+ ]
4691
+ },
4692
+ {
4693
+ "required": [
4694
+ "elementAttribute"
4695
+ ]
4696
+ },
4697
+ {
4698
+ "required": [
4699
+ "elementAria"
4700
+ ]
3704
4701
  }
3705
4702
  ],
3706
4703
  "properties": {
@@ -3712,6 +4709,49 @@
3712
4709
  "type": "string",
3713
4710
  "description": "Selector of the element to screenshot."
3714
4711
  },
4712
+ "elementId": {
4713
+ "type": "string",
4714
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4715
+ },
4716
+ "elementTestId": {
4717
+ "type": "string",
4718
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
4719
+ },
4720
+ "elementClass": {
4721
+ "oneOf": [
4722
+ {
4723
+ "type": "string"
4724
+ },
4725
+ {
4726
+ "type": "array",
4727
+ "items": {
4728
+ "type": "string"
4729
+ }
4730
+ }
4731
+ ],
4732
+ "description": "Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes."
4733
+ },
4734
+ "elementAttribute": {
4735
+ "type": "object",
4736
+ "description": "Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.",
4737
+ "additionalProperties": {
4738
+ "oneOf": [
4739
+ {
4740
+ "type": "string"
4741
+ },
4742
+ {
4743
+ "type": "number"
4744
+ },
4745
+ {
4746
+ "type": "boolean"
4747
+ }
4748
+ ]
4749
+ }
4750
+ },
4751
+ "elementAria": {
4752
+ "type": "string",
4753
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
4754
+ },
3715
4755
  "padding": {
3716
4756
  "anyOf": [
3717
4757
  {