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
@@ -6,7 +6,7 @@
6
6
  {
7
7
  "title": "Find element (simple)",
8
8
  "type": "string",
9
- "description": "Display text or selector of the element to find."
9
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
10
10
  },
11
11
  {
12
12
  "title": "Find element (detailed)",
@@ -21,17 +21,85 @@
21
21
  "required": [
22
22
  "elementText"
23
23
  ]
24
+ },
25
+ {
26
+ "required": [
27
+ "elementId"
28
+ ]
29
+ },
30
+ {
31
+ "required": [
32
+ "elementTestId"
33
+ ]
34
+ },
35
+ {
36
+ "required": [
37
+ "elementClass"
38
+ ]
39
+ },
40
+ {
41
+ "required": [
42
+ "elementAttribute"
43
+ ]
44
+ },
45
+ {
46
+ "required": [
47
+ "elementAria"
48
+ ]
24
49
  }
25
50
  ],
26
51
  "additionalProperties": false,
27
52
  "properties": {
28
53
  "elementText": {
29
54
  "type": "string",
30
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
55
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
31
56
  },
32
57
  "selector": {
33
58
  "type": "string",
34
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
59
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
60
+ },
61
+ "elementId": {
62
+ "type": "string",
63
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
64
+ },
65
+ "elementTestId": {
66
+ "type": "string",
67
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
68
+ },
69
+ "elementClass": {
70
+ "oneOf": [
71
+ {
72
+ "type": "string"
73
+ },
74
+ {
75
+ "type": "array",
76
+ "items": {
77
+ "type": "string"
78
+ }
79
+ }
80
+ ],
81
+ "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."
82
+ },
83
+ "elementAttribute": {
84
+ "type": "object",
85
+ "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.",
86
+ "additionalProperties": {
87
+ "oneOf": [
88
+ {
89
+ "type": "string"
90
+ },
91
+ {
92
+ "type": "number"
93
+ },
94
+ {
95
+ "type": "boolean"
96
+ }
97
+ ]
98
+ }
99
+ },
100
+ "elementAria": {
101
+ "type": "string",
102
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
35
103
  },
36
104
  "timeout": {
37
105
  "type": "integer",
@@ -54,7 +122,7 @@
54
122
  {
55
123
  "title": "Click element (simple)",
56
124
  "type": "string",
57
- "description": "Display text or selector of the element to find."
125
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
58
126
  },
59
127
  {
60
128
  "title": "Click element (detailed)",
@@ -69,6 +137,31 @@
69
137
  "required": [
70
138
  "elementText"
71
139
  ]
140
+ },
141
+ {
142
+ "required": [
143
+ "elementId"
144
+ ]
145
+ },
146
+ {
147
+ "required": [
148
+ "elementTestId"
149
+ ]
150
+ },
151
+ {
152
+ "required": [
153
+ "elementClass"
154
+ ]
155
+ },
156
+ {
157
+ "required": [
158
+ "elementAttribute"
159
+ ]
160
+ },
161
+ {
162
+ "required": [
163
+ "elementAria"
164
+ ]
72
165
  }
73
166
  ],
74
167
  "properties": {
@@ -83,11 +176,54 @@
83
176
  },
84
177
  "elementText": {
85
178
  "type": "string",
86
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
179
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
87
180
  },
88
181
  "selector": {
89
182
  "type": "string",
90
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
183
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
184
+ },
185
+ "elementId": {
186
+ "type": "string",
187
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
188
+ },
189
+ "elementTestId": {
190
+ "type": "string",
191
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
192
+ },
193
+ "elementClass": {
194
+ "oneOf": [
195
+ {
196
+ "type": "string"
197
+ },
198
+ {
199
+ "type": "array",
200
+ "items": {
201
+ "type": "string"
202
+ }
203
+ }
204
+ ],
205
+ "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."
206
+ },
207
+ "elementAttribute": {
208
+ "type": "object",
209
+ "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.",
210
+ "additionalProperties": {
211
+ "oneOf": [
212
+ {
213
+ "type": "string"
214
+ },
215
+ {
216
+ "type": "number"
217
+ },
218
+ {
219
+ "type": "boolean"
220
+ }
221
+ ]
222
+ }
223
+ },
224
+ "elementAria": {
225
+ "type": "string",
226
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
91
227
  }
92
228
  }
93
229
  },
@@ -100,7 +236,7 @@
100
236
  "string": {
101
237
  "title": "Click element (simple)",
102
238
  "type": "string",
103
- "description": "Display text or selector of the element to find."
239
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
104
240
  },
105
241
  "button": {
106
242
  "description": "Kind of click to perform.",
@@ -124,6 +260,31 @@
124
260
  "required": [
125
261
  "elementText"
126
262
  ]
263
+ },
264
+ {
265
+ "required": [
266
+ "elementId"
267
+ ]
268
+ },
269
+ {
270
+ "required": [
271
+ "elementTestId"
272
+ ]
273
+ },
274
+ {
275
+ "required": [
276
+ "elementClass"
277
+ ]
278
+ },
279
+ {
280
+ "required": [
281
+ "elementAttribute"
282
+ ]
283
+ },
284
+ {
285
+ "required": [
286
+ "elementAria"
287
+ ]
127
288
  }
128
289
  ],
129
290
  "properties": {
@@ -138,11 +299,54 @@
138
299
  },
139
300
  "elementText": {
140
301
  "type": "string",
141
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
302
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
142
303
  },
143
304
  "selector": {
144
305
  "type": "string",
145
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
306
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
307
+ },
308
+ "elementId": {
309
+ "type": "string",
310
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
311
+ },
312
+ "elementTestId": {
313
+ "type": "string",
314
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
315
+ },
316
+ "elementClass": {
317
+ "oneOf": [
318
+ {
319
+ "type": "string"
320
+ },
321
+ {
322
+ "type": "array",
323
+ "items": {
324
+ "type": "string"
325
+ }
326
+ }
327
+ ],
328
+ "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."
329
+ },
330
+ "elementAttribute": {
331
+ "type": "object",
332
+ "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.",
333
+ "additionalProperties": {
334
+ "oneOf": [
335
+ {
336
+ "type": "string"
337
+ },
338
+ {
339
+ "type": "number"
340
+ },
341
+ {
342
+ "type": "boolean"
343
+ }
344
+ ]
345
+ }
346
+ },
347
+ "elementAria": {
348
+ "type": "string",
349
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
146
350
  }
147
351
  }
148
352
  }
@@ -237,6 +441,53 @@
237
441
  "selector": {
238
442
  "type": "string",
239
443
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
444
+ },
445
+ "elementText": {
446
+ "type": "string",
447
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
448
+ },
449
+ "elementId": {
450
+ "type": "string",
451
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
452
+ },
453
+ "elementTestId": {
454
+ "type": "string",
455
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
456
+ },
457
+ "elementClass": {
458
+ "oneOf": [
459
+ {
460
+ "type": "string"
461
+ },
462
+ {
463
+ "type": "array",
464
+ "items": {
465
+ "type": "string"
466
+ }
467
+ }
468
+ ],
469
+ "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."
470
+ },
471
+ "elementAttribute": {
472
+ "type": "object",
473
+ "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.",
474
+ "additionalProperties": {
475
+ "oneOf": [
476
+ {
477
+ "type": "string"
478
+ },
479
+ {
480
+ "type": "number"
481
+ },
482
+ {
483
+ "type": "boolean"
484
+ }
485
+ ]
486
+ }
487
+ },
488
+ "elementAria": {
489
+ "type": "string",
490
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
240
491
  }
241
492
  },
242
493
  "required": [
@@ -297,6 +548,53 @@
297
548
  "selector": {
298
549
  "type": "string",
299
550
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
551
+ },
552
+ "elementText": {
553
+ "type": "string",
554
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
555
+ },
556
+ "elementId": {
557
+ "type": "string",
558
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
559
+ },
560
+ "elementTestId": {
561
+ "type": "string",
562
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
563
+ },
564
+ "elementClass": {
565
+ "oneOf": [
566
+ {
567
+ "type": "string"
568
+ },
569
+ {
570
+ "type": "array",
571
+ "items": {
572
+ "type": "string"
573
+ }
574
+ }
575
+ ],
576
+ "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."
577
+ },
578
+ "elementAttribute": {
579
+ "type": "object",
580
+ "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.",
581
+ "additionalProperties": {
582
+ "oneOf": [
583
+ {
584
+ "type": "string"
585
+ },
586
+ {
587
+ "type": "number"
588
+ },
589
+ {
590
+ "type": "boolean"
591
+ }
592
+ ]
593
+ }
594
+ },
595
+ "elementAria": {
596
+ "type": "string",
597
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
300
598
  }
301
599
  },
302
600
  "required": [
@@ -337,7 +635,12 @@
337
635
  "type": "object",
338
636
  "required": [
339
637
  "selector",
340
- "elementText"
638
+ "elementText",
639
+ "elementId",
640
+ "elementTestId",
641
+ "elementClass",
642
+ "elementAttribute",
643
+ "elementAria"
341
644
  ],
342
645
  "title": "Find element and type"
343
646
  }
@@ -352,7 +655,7 @@
352
655
  "string": {
353
656
  "title": "Find element (simple)",
354
657
  "type": "string",
355
- "description": "Display text or selector of the element to find."
658
+ "description": "Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID."
356
659
  },
357
660
  "object": {
358
661
  "title": "Find element (detailed)",
@@ -367,17 +670,85 @@
367
670
  "required": [
368
671
  "elementText"
369
672
  ]
673
+ },
674
+ {
675
+ "required": [
676
+ "elementId"
677
+ ]
678
+ },
679
+ {
680
+ "required": [
681
+ "elementTestId"
682
+ ]
683
+ },
684
+ {
685
+ "required": [
686
+ "elementClass"
687
+ ]
688
+ },
689
+ {
690
+ "required": [
691
+ "elementAttribute"
692
+ ]
693
+ },
694
+ {
695
+ "required": [
696
+ "elementAria"
697
+ ]
370
698
  }
371
699
  ],
372
700
  "additionalProperties": false,
373
701
  "properties": {
374
702
  "elementText": {
375
703
  "type": "string",
376
- "description": "Display text of the element to find. If combined with `selector`, the element must match both the text and the selector."
704
+ "description": "Display text of the element to find. If combined with other element finding fields, the element must match all specified criteria."
377
705
  },
378
706
  "selector": {
379
707
  "type": "string",
380
- "description": "Selector of the element to find. If combined with `elementText`, the element must match both the text and the selector."
708
+ "description": "Selector of the element to find. If combined with other element finding fields, the element must match all specified criteria."
709
+ },
710
+ "elementId": {
711
+ "type": "string",
712
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
713
+ },
714
+ "elementTestId": {
715
+ "type": "string",
716
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
717
+ },
718
+ "elementClass": {
719
+ "oneOf": [
720
+ {
721
+ "type": "string"
722
+ },
723
+ {
724
+ "type": "array",
725
+ "items": {
726
+ "type": "string"
727
+ }
728
+ }
729
+ ],
730
+ "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."
731
+ },
732
+ "elementAttribute": {
733
+ "type": "object",
734
+ "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.",
735
+ "additionalProperties": {
736
+ "oneOf": [
737
+ {
738
+ "type": "string"
739
+ },
740
+ {
741
+ "type": "number"
742
+ },
743
+ {
744
+ "type": "boolean"
745
+ }
746
+ ]
747
+ }
748
+ },
749
+ "elementAria": {
750
+ "type": "string",
751
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
381
752
  },
382
753
  "timeout": {
383
754
  "type": "integer",
@@ -400,7 +771,7 @@
400
771
  {
401
772
  "title": "Click element (simple)",
402
773
  "type": "string",
403
- "description": "Display text or selector of the element to find."
774
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
404
775
  },
405
776
  {
406
777
  "title": "Click element (detailed)",
@@ -415,6 +786,31 @@
415
786
  "required": [
416
787
  "elementText"
417
788
  ]
789
+ },
790
+ {
791
+ "required": [
792
+ "elementId"
793
+ ]
794
+ },
795
+ {
796
+ "required": [
797
+ "elementTestId"
798
+ ]
799
+ },
800
+ {
801
+ "required": [
802
+ "elementClass"
803
+ ]
804
+ },
805
+ {
806
+ "required": [
807
+ "elementAttribute"
808
+ ]
809
+ },
810
+ {
811
+ "required": [
812
+ "elementAria"
813
+ ]
418
814
  }
419
815
  ],
420
816
  "properties": {
@@ -429,11 +825,54 @@
429
825
  },
430
826
  "elementText": {
431
827
  "type": "string",
432
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
828
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
433
829
  },
434
830
  "selector": {
435
831
  "type": "string",
436
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
832
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
833
+ },
834
+ "elementId": {
835
+ "type": "string",
836
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
837
+ },
838
+ "elementTestId": {
839
+ "type": "string",
840
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
841
+ },
842
+ "elementClass": {
843
+ "oneOf": [
844
+ {
845
+ "type": "string"
846
+ },
847
+ {
848
+ "type": "array",
849
+ "items": {
850
+ "type": "string"
851
+ }
852
+ }
853
+ ],
854
+ "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."
855
+ },
856
+ "elementAttribute": {
857
+ "type": "object",
858
+ "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.",
859
+ "additionalProperties": {
860
+ "oneOf": [
861
+ {
862
+ "type": "string"
863
+ },
864
+ {
865
+ "type": "number"
866
+ },
867
+ {
868
+ "type": "boolean"
869
+ }
870
+ ]
871
+ }
872
+ },
873
+ "elementAria": {
874
+ "type": "string",
875
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
437
876
  }
438
877
  }
439
878
  },
@@ -446,7 +885,7 @@
446
885
  "string": {
447
886
  "title": "Click element (simple)",
448
887
  "type": "string",
449
- "description": "Display text or selector of the element to find."
888
+ "description": "Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID."
450
889
  },
451
890
  "button": {
452
891
  "description": "Kind of click to perform.",
@@ -470,6 +909,31 @@
470
909
  "required": [
471
910
  "elementText"
472
911
  ]
912
+ },
913
+ {
914
+ "required": [
915
+ "elementId"
916
+ ]
917
+ },
918
+ {
919
+ "required": [
920
+ "elementTestId"
921
+ ]
922
+ },
923
+ {
924
+ "required": [
925
+ "elementClass"
926
+ ]
927
+ },
928
+ {
929
+ "required": [
930
+ "elementAttribute"
931
+ ]
932
+ },
933
+ {
934
+ "required": [
935
+ "elementAria"
936
+ ]
473
937
  }
474
938
  ],
475
939
  "properties": {
@@ -484,11 +948,54 @@
484
948
  },
485
949
  "elementText": {
486
950
  "type": "string",
487
- "description": "Display text of the element to click. If combined with `selector`, the element must match both the text and the selector."
951
+ "description": "Display text of the element to click. If combined with other element finding fields, the element must match all specified criteria."
488
952
  },
489
953
  "selector": {
490
954
  "type": "string",
491
- "description": "Selector of the element to click. If combined with `elementText`, the element must match both the text and the selector."
955
+ "description": "Selector of the element to click. If combined with other element finding fields, the element must match all specified criteria."
956
+ },
957
+ "elementId": {
958
+ "type": "string",
959
+ "description": "ID attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
960
+ },
961
+ "elementTestId": {
962
+ "type": "string",
963
+ "description": "data-testid attribute of the element to click. Supports exact match or regex pattern using /pattern/ syntax."
964
+ },
965
+ "elementClass": {
966
+ "oneOf": [
967
+ {
968
+ "type": "string"
969
+ },
970
+ {
971
+ "type": "array",
972
+ "items": {
973
+ "type": "string"
974
+ }
975
+ }
976
+ ],
977
+ "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."
978
+ },
979
+ "elementAttribute": {
980
+ "type": "object",
981
+ "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.",
982
+ "additionalProperties": {
983
+ "oneOf": [
984
+ {
985
+ "type": "string"
986
+ },
987
+ {
988
+ "type": "number"
989
+ },
990
+ {
991
+ "type": "boolean"
992
+ }
993
+ ]
994
+ }
995
+ },
996
+ "elementAria": {
997
+ "type": "string",
998
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
492
999
  }
493
1000
  }
494
1001
  }
@@ -583,6 +1090,53 @@
583
1090
  "selector": {
584
1091
  "type": "string",
585
1092
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1093
+ },
1094
+ "elementText": {
1095
+ "type": "string",
1096
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1097
+ },
1098
+ "elementId": {
1099
+ "type": "string",
1100
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1101
+ },
1102
+ "elementTestId": {
1103
+ "type": "string",
1104
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1105
+ },
1106
+ "elementClass": {
1107
+ "oneOf": [
1108
+ {
1109
+ "type": "string"
1110
+ },
1111
+ {
1112
+ "type": "array",
1113
+ "items": {
1114
+ "type": "string"
1115
+ }
1116
+ }
1117
+ ],
1118
+ "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."
1119
+ },
1120
+ "elementAttribute": {
1121
+ "type": "object",
1122
+ "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.",
1123
+ "additionalProperties": {
1124
+ "oneOf": [
1125
+ {
1126
+ "type": "string"
1127
+ },
1128
+ {
1129
+ "type": "number"
1130
+ },
1131
+ {
1132
+ "type": "boolean"
1133
+ }
1134
+ ]
1135
+ }
1136
+ },
1137
+ "elementAria": {
1138
+ "type": "string",
1139
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
586
1140
  }
587
1141
  },
588
1142
  "required": [
@@ -643,6 +1197,53 @@
643
1197
  "selector": {
644
1198
  "type": "string",
645
1199
  "description": "Selector for the element to type into. If not specified, the typing occurs in the active element."
1200
+ },
1201
+ "elementText": {
1202
+ "type": "string",
1203
+ "description": "Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria."
1204
+ },
1205
+ "elementId": {
1206
+ "type": "string",
1207
+ "description": "ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1208
+ },
1209
+ "elementTestId": {
1210
+ "type": "string",
1211
+ "description": "data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax."
1212
+ },
1213
+ "elementClass": {
1214
+ "oneOf": [
1215
+ {
1216
+ "type": "string"
1217
+ },
1218
+ {
1219
+ "type": "array",
1220
+ "items": {
1221
+ "type": "string"
1222
+ }
1223
+ }
1224
+ ],
1225
+ "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."
1226
+ },
1227
+ "elementAttribute": {
1228
+ "type": "object",
1229
+ "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.",
1230
+ "additionalProperties": {
1231
+ "oneOf": [
1232
+ {
1233
+ "type": "string"
1234
+ },
1235
+ {
1236
+ "type": "number"
1237
+ },
1238
+ {
1239
+ "type": "boolean"
1240
+ }
1241
+ ]
1242
+ }
1243
+ },
1244
+ "elementAria": {
1245
+ "type": "string",
1246
+ "description": "Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax."
646
1247
  }
647
1248
  },
648
1249
  "required": [
@@ -683,7 +1284,12 @@
683
1284
  "type": "object",
684
1285
  "required": [
685
1286
  "selector",
686
- "elementText"
1287
+ "elementText",
1288
+ "elementId",
1289
+ "elementTestId",
1290
+ "elementClass",
1291
+ "elementAttribute",
1292
+ "elementAria"
687
1293
  ],
688
1294
  "title": "Find element and type"
689
1295
  }