doc-detective-common 3.6.0 → 3.7.0-preview.0

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 (67) hide show
  1. package/dist/schemas/config_v3.schema.json +3880 -40
  2. package/dist/schemas/report_v3.schema.json +3991 -69
  3. package/dist/schemas/resolvedTests_v3.schema.json +7925 -163
  4. package/dist/schemas/sourceLocation_v3.schema.json +106 -0
  5. package/dist/schemas/spec_v3.schema.json +3991 -69
  6. package/dist/schemas/step_v3.schema.json +1915 -7
  7. package/dist/schemas/test_v3.schema.json +3995 -73
  8. package/package.json +6 -2
  9. package/src/ai.js +532 -0
  10. package/src/index.js +8 -0
  11. package/src/refineStep.js +267 -0
  12. package/src/schemas/build/checkLink_v2.schema.json +1 -1
  13. package/src/schemas/build/checkLink_v3.schema.json +1 -1
  14. package/src/schemas/build/click_v3.schema.json +1 -1
  15. package/src/schemas/build/config_v2.schema.json +14 -14
  16. package/src/schemas/build/config_v3.schema.json +30 -6
  17. package/src/schemas/build/context_v2.schema.json +1 -1
  18. package/src/schemas/build/context_v3.schema.json +1 -1
  19. package/src/schemas/build/dragAndDrop_v3.schema.json +1 -1
  20. package/src/schemas/build/find_v2.schema.json +3 -3
  21. package/src/schemas/build/find_v3.schema.json +4 -4
  22. package/src/schemas/build/goTo_v2.schema.json +1 -1
  23. package/src/schemas/build/goTo_v3.schema.json +1 -1
  24. package/src/schemas/build/httpRequest_v2.schema.json +2 -2
  25. package/src/schemas/build/httpRequest_v3.schema.json +3 -3
  26. package/src/schemas/build/loadCookie_v3.schema.json +1 -1
  27. package/src/schemas/build/loadVariables_v3.schema.json +1 -1
  28. package/src/schemas/build/moveTo_v2.schema.json +1 -1
  29. package/src/schemas/build/openApi_v2.schema.json +1 -1
  30. package/src/schemas/build/openApi_v3.schema.json +1 -1
  31. package/src/schemas/build/record_v3.schema.json +1 -1
  32. package/src/schemas/build/report_v3.schema.json +5 -5
  33. package/src/schemas/build/resolvedTests_v3.schema.json +3 -3
  34. package/src/schemas/build/runCode_v2.schema.json +1 -1
  35. package/src/schemas/build/runCode_v3.schema.json +1 -1
  36. package/src/schemas/build/runShell_v2.schema.json +1 -1
  37. package/src/schemas/build/runShell_v3.schema.json +1 -1
  38. package/src/schemas/build/saveCookie_v3.schema.json +1 -1
  39. package/src/schemas/build/saveScreenshot_v2.schema.json +1 -1
  40. package/src/schemas/build/screenshot_v3.schema.json +1 -1
  41. package/src/schemas/build/setVariables_v2.schema.json +1 -1
  42. package/src/schemas/build/sourceLocation_v3.schema.json +107 -0
  43. package/src/schemas/build/spec_v2.schema.json +4 -4
  44. package/src/schemas/build/spec_v3.schema.json +4 -4
  45. package/src/schemas/build/startRecording_v2.schema.json +1 -1
  46. package/src/schemas/build/step_v3.schema.json +45 -38
  47. package/src/schemas/build/stopRecord_v3.schema.json +1 -1
  48. package/src/schemas/build/stopRecording_v2.schema.json +1 -1
  49. package/src/schemas/build/test_v2.schema.json +15 -15
  50. package/src/schemas/build/test_v3.schema.json +10 -6
  51. package/src/schemas/build/typeKeys_v2.schema.json +1 -1
  52. package/src/schemas/build/type_v3.schema.json +1 -1
  53. package/src/schemas/build/wait_v2.schema.json +1 -1
  54. package/src/schemas/build/wait_v3.schema.json +1 -1
  55. package/src/schemas/dereferenceSchemas.js +1 -0
  56. package/src/schemas/output_schemas/config_v3.schema.json +3880 -40
  57. package/src/schemas/output_schemas/report_v3.schema.json +3991 -69
  58. package/src/schemas/output_schemas/resolvedTests_v3.schema.json +7925 -163
  59. package/src/schemas/output_schemas/sourceLocation_v3.schema.json +106 -0
  60. package/src/schemas/output_schemas/spec_v3.schema.json +3991 -69
  61. package/src/schemas/output_schemas/step_v3.schema.json +1915 -7
  62. package/src/schemas/output_schemas/test_v3.schema.json +3995 -73
  63. package/src/schemas/schemas.json +25978 -596
  64. package/src/schemas/src_schemas/config_v3.schema.json +24 -0
  65. package/src/schemas/src_schemas/sourceLocation_v3.schema.json +106 -0
  66. package/src/schemas/src_schemas/step_v3.schema.json +7 -0
  67. package/src/schemas/src_schemas/test_v3.schema.json +4 -0
@@ -8,6 +8,112 @@
8
8
  "type": "string",
9
9
  "description": "Unique identifier for the test."
10
10
  },
11
+ "sourceLocation": {
12
+ "description": "Source location information for inline tests. Read-only, populated during detection.",
13
+ "$schema": "http://json-schema.org/draft-07/schema#",
14
+ "title": "sourceLocation",
15
+ "type": "object",
16
+ "readOnly": true,
17
+ "additionalProperties": false,
18
+ "properties": {
19
+ "file": {
20
+ "type": "string",
21
+ "description": "Absolute path to the source file containing this test or step.",
22
+ "readOnly": true
23
+ },
24
+ "startLine": {
25
+ "type": "integer",
26
+ "description": "1-based line number where this test or step starts.",
27
+ "minimum": 1,
28
+ "readOnly": true
29
+ },
30
+ "endLine": {
31
+ "type": "integer",
32
+ "description": "1-based line number where this test or step ends.",
33
+ "minimum": 1,
34
+ "readOnly": true
35
+ },
36
+ "startColumn": {
37
+ "type": "integer",
38
+ "description": "1-based column number where this test or step starts on startLine.",
39
+ "minimum": 1,
40
+ "readOnly": true
41
+ },
42
+ "endColumn": {
43
+ "type": "integer",
44
+ "description": "1-based column number where this test or step ends on endLine.",
45
+ "minimum": 1,
46
+ "readOnly": true
47
+ },
48
+ "startOffset": {
49
+ "type": "integer",
50
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
51
+ "minimum": 0,
52
+ "readOnly": true
53
+ },
54
+ "endOffset": {
55
+ "type": "integer",
56
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
57
+ "minimum": 0,
58
+ "readOnly": true
59
+ },
60
+ "originalText": {
61
+ "type": "string",
62
+ "description": "The original text content of this test or step as found in the source file.",
63
+ "readOnly": true
64
+ },
65
+ "isInline": {
66
+ "type": "boolean",
67
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
68
+ "default": false,
69
+ "readOnly": true
70
+ },
71
+ "isAutoDetected": {
72
+ "type": "boolean",
73
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
74
+ "default": false,
75
+ "readOnly": true
76
+ },
77
+ "commentFormat": {
78
+ "type": "string",
79
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
80
+ "enum": [
81
+ "htmlComment",
82
+ "jsxComment",
83
+ "linkReference"
84
+ ],
85
+ "readOnly": true
86
+ }
87
+ },
88
+ "examples": [
89
+ {
90
+ "file": "/path/to/docs/getting-started.md",
91
+ "startLine": 42,
92
+ "endLine": 45,
93
+ "startColumn": 1,
94
+ "endColumn": 3,
95
+ "startOffset": 1250,
96
+ "endOffset": 1350,
97
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
98
+ "isInline": true,
99
+ "isAutoDetected": false,
100
+ "commentFormat": "htmlComment"
101
+ },
102
+ {
103
+ "file": "/path/to/docs/tutorial.md",
104
+ "startLine": 78,
105
+ "endLine": 78,
106
+ "startColumn": 1,
107
+ "endColumn": 45,
108
+ "startOffset": 2100,
109
+ "endOffset": 2145,
110
+ "originalText": "[example link](https://example.com)",
111
+ "isInline": true,
112
+ "isAutoDetected": true,
113
+ "commentFormat": "htmlComment"
114
+ }
115
+ ]
116
+ },
11
117
  "description": {
12
118
  "type": "string",
13
119
  "description": "Description of the test."
@@ -621,6 +727,112 @@
621
727
  "type": "string",
622
728
  "description": "ID of the step."
623
729
  },
730
+ "sourceLocation": {
731
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
732
+ "$schema": "http://json-schema.org/draft-07/schema#",
733
+ "title": "sourceLocation",
734
+ "type": "object",
735
+ "readOnly": true,
736
+ "additionalProperties": false,
737
+ "properties": {
738
+ "file": {
739
+ "type": "string",
740
+ "description": "Absolute path to the source file containing this test or step.",
741
+ "readOnly": true
742
+ },
743
+ "startLine": {
744
+ "type": "integer",
745
+ "description": "1-based line number where this test or step starts.",
746
+ "minimum": 1,
747
+ "readOnly": true
748
+ },
749
+ "endLine": {
750
+ "type": "integer",
751
+ "description": "1-based line number where this test or step ends.",
752
+ "minimum": 1,
753
+ "readOnly": true
754
+ },
755
+ "startColumn": {
756
+ "type": "integer",
757
+ "description": "1-based column number where this test or step starts on startLine.",
758
+ "minimum": 1,
759
+ "readOnly": true
760
+ },
761
+ "endColumn": {
762
+ "type": "integer",
763
+ "description": "1-based column number where this test or step ends on endLine.",
764
+ "minimum": 1,
765
+ "readOnly": true
766
+ },
767
+ "startOffset": {
768
+ "type": "integer",
769
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
770
+ "minimum": 0,
771
+ "readOnly": true
772
+ },
773
+ "endOffset": {
774
+ "type": "integer",
775
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
776
+ "minimum": 0,
777
+ "readOnly": true
778
+ },
779
+ "originalText": {
780
+ "type": "string",
781
+ "description": "The original text content of this test or step as found in the source file.",
782
+ "readOnly": true
783
+ },
784
+ "isInline": {
785
+ "type": "boolean",
786
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
787
+ "default": false,
788
+ "readOnly": true
789
+ },
790
+ "isAutoDetected": {
791
+ "type": "boolean",
792
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
793
+ "default": false,
794
+ "readOnly": true
795
+ },
796
+ "commentFormat": {
797
+ "type": "string",
798
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
799
+ "enum": [
800
+ "htmlComment",
801
+ "jsxComment",
802
+ "linkReference"
803
+ ],
804
+ "readOnly": true
805
+ }
806
+ },
807
+ "examples": [
808
+ {
809
+ "file": "/path/to/docs/getting-started.md",
810
+ "startLine": 42,
811
+ "endLine": 45,
812
+ "startColumn": 1,
813
+ "endColumn": 3,
814
+ "startOffset": 1250,
815
+ "endOffset": 1350,
816
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
817
+ "isInline": true,
818
+ "isAutoDetected": false,
819
+ "commentFormat": "htmlComment"
820
+ },
821
+ {
822
+ "file": "/path/to/docs/tutorial.md",
823
+ "startLine": 78,
824
+ "endLine": 78,
825
+ "startColumn": 1,
826
+ "endColumn": 45,
827
+ "startOffset": 2100,
828
+ "endOffset": 2145,
829
+ "originalText": "[example link](https://example.com)",
830
+ "isInline": true,
831
+ "isAutoDetected": true,
832
+ "commentFormat": "htmlComment"
833
+ }
834
+ ]
835
+ },
624
836
  "description": {
625
837
  "type": "string",
626
838
  "description": "Description of the step."
@@ -673,6 +885,112 @@
673
885
  "type": "string",
674
886
  "description": "ID of the step."
675
887
  },
888
+ "sourceLocation": {
889
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
890
+ "$schema": "http://json-schema.org/draft-07/schema#",
891
+ "title": "sourceLocation",
892
+ "type": "object",
893
+ "readOnly": true,
894
+ "additionalProperties": false,
895
+ "properties": {
896
+ "file": {
897
+ "type": "string",
898
+ "description": "Absolute path to the source file containing this test or step.",
899
+ "readOnly": true
900
+ },
901
+ "startLine": {
902
+ "type": "integer",
903
+ "description": "1-based line number where this test or step starts.",
904
+ "minimum": 1,
905
+ "readOnly": true
906
+ },
907
+ "endLine": {
908
+ "type": "integer",
909
+ "description": "1-based line number where this test or step ends.",
910
+ "minimum": 1,
911
+ "readOnly": true
912
+ },
913
+ "startColumn": {
914
+ "type": "integer",
915
+ "description": "1-based column number where this test or step starts on startLine.",
916
+ "minimum": 1,
917
+ "readOnly": true
918
+ },
919
+ "endColumn": {
920
+ "type": "integer",
921
+ "description": "1-based column number where this test or step ends on endLine.",
922
+ "minimum": 1,
923
+ "readOnly": true
924
+ },
925
+ "startOffset": {
926
+ "type": "integer",
927
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
928
+ "minimum": 0,
929
+ "readOnly": true
930
+ },
931
+ "endOffset": {
932
+ "type": "integer",
933
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
934
+ "minimum": 0,
935
+ "readOnly": true
936
+ },
937
+ "originalText": {
938
+ "type": "string",
939
+ "description": "The original text content of this test or step as found in the source file.",
940
+ "readOnly": true
941
+ },
942
+ "isInline": {
943
+ "type": "boolean",
944
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
945
+ "default": false,
946
+ "readOnly": true
947
+ },
948
+ "isAutoDetected": {
949
+ "type": "boolean",
950
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
951
+ "default": false,
952
+ "readOnly": true
953
+ },
954
+ "commentFormat": {
955
+ "type": "string",
956
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
957
+ "enum": [
958
+ "htmlComment",
959
+ "jsxComment",
960
+ "linkReference"
961
+ ],
962
+ "readOnly": true
963
+ }
964
+ },
965
+ "examples": [
966
+ {
967
+ "file": "/path/to/docs/getting-started.md",
968
+ "startLine": 42,
969
+ "endLine": 45,
970
+ "startColumn": 1,
971
+ "endColumn": 3,
972
+ "startOffset": 1250,
973
+ "endOffset": 1350,
974
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
975
+ "isInline": true,
976
+ "isAutoDetected": false,
977
+ "commentFormat": "htmlComment"
978
+ },
979
+ {
980
+ "file": "/path/to/docs/tutorial.md",
981
+ "startLine": 78,
982
+ "endLine": 78,
983
+ "startColumn": 1,
984
+ "endColumn": 45,
985
+ "startOffset": 2100,
986
+ "endOffset": 2145,
987
+ "originalText": "[example link](https://example.com)",
988
+ "isInline": true,
989
+ "isAutoDetected": true,
990
+ "commentFormat": "htmlComment"
991
+ }
992
+ ]
993
+ },
676
994
  "description": {
677
995
  "type": "string",
678
996
  "description": "Description of the step."
@@ -733,6 +1051,112 @@
733
1051
  "type": "string",
734
1052
  "description": "ID of the step."
735
1053
  },
1054
+ "sourceLocation": {
1055
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1056
+ "$schema": "http://json-schema.org/draft-07/schema#",
1057
+ "title": "sourceLocation",
1058
+ "type": "object",
1059
+ "readOnly": true,
1060
+ "additionalProperties": false,
1061
+ "properties": {
1062
+ "file": {
1063
+ "type": "string",
1064
+ "description": "Absolute path to the source file containing this test or step.",
1065
+ "readOnly": true
1066
+ },
1067
+ "startLine": {
1068
+ "type": "integer",
1069
+ "description": "1-based line number where this test or step starts.",
1070
+ "minimum": 1,
1071
+ "readOnly": true
1072
+ },
1073
+ "endLine": {
1074
+ "type": "integer",
1075
+ "description": "1-based line number where this test or step ends.",
1076
+ "minimum": 1,
1077
+ "readOnly": true
1078
+ },
1079
+ "startColumn": {
1080
+ "type": "integer",
1081
+ "description": "1-based column number where this test or step starts on startLine.",
1082
+ "minimum": 1,
1083
+ "readOnly": true
1084
+ },
1085
+ "endColumn": {
1086
+ "type": "integer",
1087
+ "description": "1-based column number where this test or step ends on endLine.",
1088
+ "minimum": 1,
1089
+ "readOnly": true
1090
+ },
1091
+ "startOffset": {
1092
+ "type": "integer",
1093
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1094
+ "minimum": 0,
1095
+ "readOnly": true
1096
+ },
1097
+ "endOffset": {
1098
+ "type": "integer",
1099
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1100
+ "minimum": 0,
1101
+ "readOnly": true
1102
+ },
1103
+ "originalText": {
1104
+ "type": "string",
1105
+ "description": "The original text content of this test or step as found in the source file.",
1106
+ "readOnly": true
1107
+ },
1108
+ "isInline": {
1109
+ "type": "boolean",
1110
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1111
+ "default": false,
1112
+ "readOnly": true
1113
+ },
1114
+ "isAutoDetected": {
1115
+ "type": "boolean",
1116
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1117
+ "default": false,
1118
+ "readOnly": true
1119
+ },
1120
+ "commentFormat": {
1121
+ "type": "string",
1122
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1123
+ "enum": [
1124
+ "htmlComment",
1125
+ "jsxComment",
1126
+ "linkReference"
1127
+ ],
1128
+ "readOnly": true
1129
+ }
1130
+ },
1131
+ "examples": [
1132
+ {
1133
+ "file": "/path/to/docs/getting-started.md",
1134
+ "startLine": 42,
1135
+ "endLine": 45,
1136
+ "startColumn": 1,
1137
+ "endColumn": 3,
1138
+ "startOffset": 1250,
1139
+ "endOffset": 1350,
1140
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1141
+ "isInline": true,
1142
+ "isAutoDetected": false,
1143
+ "commentFormat": "htmlComment"
1144
+ },
1145
+ {
1146
+ "file": "/path/to/docs/tutorial.md",
1147
+ "startLine": 78,
1148
+ "endLine": 78,
1149
+ "startColumn": 1,
1150
+ "endColumn": 45,
1151
+ "startOffset": 2100,
1152
+ "endOffset": 2145,
1153
+ "originalText": "[example link](https://example.com)",
1154
+ "isInline": true,
1155
+ "isAutoDetected": true,
1156
+ "commentFormat": "htmlComment"
1157
+ }
1158
+ ]
1159
+ },
736
1160
  "description": {
737
1161
  "type": "string",
738
1162
  "description": "Description of the step."
@@ -949,6 +1373,112 @@
949
1373
  "type": "string",
950
1374
  "description": "ID of the step."
951
1375
  },
1376
+ "sourceLocation": {
1377
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1378
+ "$schema": "http://json-schema.org/draft-07/schema#",
1379
+ "title": "sourceLocation",
1380
+ "type": "object",
1381
+ "readOnly": true,
1382
+ "additionalProperties": false,
1383
+ "properties": {
1384
+ "file": {
1385
+ "type": "string",
1386
+ "description": "Absolute path to the source file containing this test or step.",
1387
+ "readOnly": true
1388
+ },
1389
+ "startLine": {
1390
+ "type": "integer",
1391
+ "description": "1-based line number where this test or step starts.",
1392
+ "minimum": 1,
1393
+ "readOnly": true
1394
+ },
1395
+ "endLine": {
1396
+ "type": "integer",
1397
+ "description": "1-based line number where this test or step ends.",
1398
+ "minimum": 1,
1399
+ "readOnly": true
1400
+ },
1401
+ "startColumn": {
1402
+ "type": "integer",
1403
+ "description": "1-based column number where this test or step starts on startLine.",
1404
+ "minimum": 1,
1405
+ "readOnly": true
1406
+ },
1407
+ "endColumn": {
1408
+ "type": "integer",
1409
+ "description": "1-based column number where this test or step ends on endLine.",
1410
+ "minimum": 1,
1411
+ "readOnly": true
1412
+ },
1413
+ "startOffset": {
1414
+ "type": "integer",
1415
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1416
+ "minimum": 0,
1417
+ "readOnly": true
1418
+ },
1419
+ "endOffset": {
1420
+ "type": "integer",
1421
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1422
+ "minimum": 0,
1423
+ "readOnly": true
1424
+ },
1425
+ "originalText": {
1426
+ "type": "string",
1427
+ "description": "The original text content of this test or step as found in the source file.",
1428
+ "readOnly": true
1429
+ },
1430
+ "isInline": {
1431
+ "type": "boolean",
1432
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1433
+ "default": false,
1434
+ "readOnly": true
1435
+ },
1436
+ "isAutoDetected": {
1437
+ "type": "boolean",
1438
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1439
+ "default": false,
1440
+ "readOnly": true
1441
+ },
1442
+ "commentFormat": {
1443
+ "type": "string",
1444
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1445
+ "enum": [
1446
+ "htmlComment",
1447
+ "jsxComment",
1448
+ "linkReference"
1449
+ ],
1450
+ "readOnly": true
1451
+ }
1452
+ },
1453
+ "examples": [
1454
+ {
1455
+ "file": "/path/to/docs/getting-started.md",
1456
+ "startLine": 42,
1457
+ "endLine": 45,
1458
+ "startColumn": 1,
1459
+ "endColumn": 3,
1460
+ "startOffset": 1250,
1461
+ "endOffset": 1350,
1462
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1463
+ "isInline": true,
1464
+ "isAutoDetected": false,
1465
+ "commentFormat": "htmlComment"
1466
+ },
1467
+ {
1468
+ "file": "/path/to/docs/tutorial.md",
1469
+ "startLine": 78,
1470
+ "endLine": 78,
1471
+ "startColumn": 1,
1472
+ "endColumn": 45,
1473
+ "startOffset": 2100,
1474
+ "endOffset": 2145,
1475
+ "originalText": "[example link](https://example.com)",
1476
+ "isInline": true,
1477
+ "isAutoDetected": true,
1478
+ "commentFormat": "htmlComment"
1479
+ }
1480
+ ]
1481
+ },
952
1482
  "description": {
953
1483
  "type": "string",
954
1484
  "description": "Description of the step."
@@ -1272,6 +1802,112 @@
1272
1802
  "type": "string",
1273
1803
  "description": "ID of the step."
1274
1804
  },
1805
+ "sourceLocation": {
1806
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1807
+ "$schema": "http://json-schema.org/draft-07/schema#",
1808
+ "title": "sourceLocation",
1809
+ "type": "object",
1810
+ "readOnly": true,
1811
+ "additionalProperties": false,
1812
+ "properties": {
1813
+ "file": {
1814
+ "type": "string",
1815
+ "description": "Absolute path to the source file containing this test or step.",
1816
+ "readOnly": true
1817
+ },
1818
+ "startLine": {
1819
+ "type": "integer",
1820
+ "description": "1-based line number where this test or step starts.",
1821
+ "minimum": 1,
1822
+ "readOnly": true
1823
+ },
1824
+ "endLine": {
1825
+ "type": "integer",
1826
+ "description": "1-based line number where this test or step ends.",
1827
+ "minimum": 1,
1828
+ "readOnly": true
1829
+ },
1830
+ "startColumn": {
1831
+ "type": "integer",
1832
+ "description": "1-based column number where this test or step starts on startLine.",
1833
+ "minimum": 1,
1834
+ "readOnly": true
1835
+ },
1836
+ "endColumn": {
1837
+ "type": "integer",
1838
+ "description": "1-based column number where this test or step ends on endLine.",
1839
+ "minimum": 1,
1840
+ "readOnly": true
1841
+ },
1842
+ "startOffset": {
1843
+ "type": "integer",
1844
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1845
+ "minimum": 0,
1846
+ "readOnly": true
1847
+ },
1848
+ "endOffset": {
1849
+ "type": "integer",
1850
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1851
+ "minimum": 0,
1852
+ "readOnly": true
1853
+ },
1854
+ "originalText": {
1855
+ "type": "string",
1856
+ "description": "The original text content of this test or step as found in the source file.",
1857
+ "readOnly": true
1858
+ },
1859
+ "isInline": {
1860
+ "type": "boolean",
1861
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1862
+ "default": false,
1863
+ "readOnly": true
1864
+ },
1865
+ "isAutoDetected": {
1866
+ "type": "boolean",
1867
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1868
+ "default": false,
1869
+ "readOnly": true
1870
+ },
1871
+ "commentFormat": {
1872
+ "type": "string",
1873
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1874
+ "enum": [
1875
+ "htmlComment",
1876
+ "jsxComment",
1877
+ "linkReference"
1878
+ ],
1879
+ "readOnly": true
1880
+ }
1881
+ },
1882
+ "examples": [
1883
+ {
1884
+ "file": "/path/to/docs/getting-started.md",
1885
+ "startLine": 42,
1886
+ "endLine": 45,
1887
+ "startColumn": 1,
1888
+ "endColumn": 3,
1889
+ "startOffset": 1250,
1890
+ "endOffset": 1350,
1891
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1892
+ "isInline": true,
1893
+ "isAutoDetected": false,
1894
+ "commentFormat": "htmlComment"
1895
+ },
1896
+ {
1897
+ "file": "/path/to/docs/tutorial.md",
1898
+ "startLine": 78,
1899
+ "endLine": 78,
1900
+ "startColumn": 1,
1901
+ "endColumn": 45,
1902
+ "startOffset": 2100,
1903
+ "endOffset": 2145,
1904
+ "originalText": "[example link](https://example.com)",
1905
+ "isInline": true,
1906
+ "isAutoDetected": true,
1907
+ "commentFormat": "htmlComment"
1908
+ }
1909
+ ]
1910
+ },
1275
1911
  "description": {
1276
1912
  "type": "string",
1277
1913
  "description": "Description of the step."
@@ -2692,6 +3328,112 @@
2692
3328
  "type": "string",
2693
3329
  "description": "ID of the step."
2694
3330
  },
3331
+ "sourceLocation": {
3332
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
3333
+ "$schema": "http://json-schema.org/draft-07/schema#",
3334
+ "title": "sourceLocation",
3335
+ "type": "object",
3336
+ "readOnly": true,
3337
+ "additionalProperties": false,
3338
+ "properties": {
3339
+ "file": {
3340
+ "type": "string",
3341
+ "description": "Absolute path to the source file containing this test or step.",
3342
+ "readOnly": true
3343
+ },
3344
+ "startLine": {
3345
+ "type": "integer",
3346
+ "description": "1-based line number where this test or step starts.",
3347
+ "minimum": 1,
3348
+ "readOnly": true
3349
+ },
3350
+ "endLine": {
3351
+ "type": "integer",
3352
+ "description": "1-based line number where this test or step ends.",
3353
+ "minimum": 1,
3354
+ "readOnly": true
3355
+ },
3356
+ "startColumn": {
3357
+ "type": "integer",
3358
+ "description": "1-based column number where this test or step starts on startLine.",
3359
+ "minimum": 1,
3360
+ "readOnly": true
3361
+ },
3362
+ "endColumn": {
3363
+ "type": "integer",
3364
+ "description": "1-based column number where this test or step ends on endLine.",
3365
+ "minimum": 1,
3366
+ "readOnly": true
3367
+ },
3368
+ "startOffset": {
3369
+ "type": "integer",
3370
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
3371
+ "minimum": 0,
3372
+ "readOnly": true
3373
+ },
3374
+ "endOffset": {
3375
+ "type": "integer",
3376
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
3377
+ "minimum": 0,
3378
+ "readOnly": true
3379
+ },
3380
+ "originalText": {
3381
+ "type": "string",
3382
+ "description": "The original text content of this test or step as found in the source file.",
3383
+ "readOnly": true
3384
+ },
3385
+ "isInline": {
3386
+ "type": "boolean",
3387
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
3388
+ "default": false,
3389
+ "readOnly": true
3390
+ },
3391
+ "isAutoDetected": {
3392
+ "type": "boolean",
3393
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
3394
+ "default": false,
3395
+ "readOnly": true
3396
+ },
3397
+ "commentFormat": {
3398
+ "type": "string",
3399
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
3400
+ "enum": [
3401
+ "htmlComment",
3402
+ "jsxComment",
3403
+ "linkReference"
3404
+ ],
3405
+ "readOnly": true
3406
+ }
3407
+ },
3408
+ "examples": [
3409
+ {
3410
+ "file": "/path/to/docs/getting-started.md",
3411
+ "startLine": 42,
3412
+ "endLine": 45,
3413
+ "startColumn": 1,
3414
+ "endColumn": 3,
3415
+ "startOffset": 1250,
3416
+ "endOffset": 1350,
3417
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
3418
+ "isInline": true,
3419
+ "isAutoDetected": false,
3420
+ "commentFormat": "htmlComment"
3421
+ },
3422
+ {
3423
+ "file": "/path/to/docs/tutorial.md",
3424
+ "startLine": 78,
3425
+ "endLine": 78,
3426
+ "startColumn": 1,
3427
+ "endColumn": 45,
3428
+ "startOffset": 2100,
3429
+ "endOffset": 2145,
3430
+ "originalText": "[example link](https://example.com)",
3431
+ "isInline": true,
3432
+ "isAutoDetected": true,
3433
+ "commentFormat": "htmlComment"
3434
+ }
3435
+ ]
3436
+ },
2695
3437
  "description": {
2696
3438
  "type": "string",
2697
3439
  "description": "Description of the step."
@@ -3182,25 +3924,131 @@
3182
3924
  "type": "string",
3183
3925
  "description": "ID of the step."
3184
3926
  },
3185
- "description": {
3186
- "type": "string",
3187
- "description": "Description of the step."
3188
- },
3189
- "unsafe": {
3190
- "type": "boolean",
3191
- "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
3192
- "default": false
3193
- },
3194
- "outputs": {
3927
+ "sourceLocation": {
3928
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
3929
+ "$schema": "http://json-schema.org/draft-07/schema#",
3930
+ "title": "sourceLocation",
3195
3931
  "type": "object",
3196
- "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
3197
- "default": {},
3198
- "patternProperties": {
3199
- "^[A-Za-z0-9_]+$": {
3932
+ "readOnly": true,
3933
+ "additionalProperties": false,
3934
+ "properties": {
3935
+ "file": {
3200
3936
  "type": "string",
3201
- "description": "Runtime expression for a user-defined output value."
3202
- }
3203
- },
3937
+ "description": "Absolute path to the source file containing this test or step.",
3938
+ "readOnly": true
3939
+ },
3940
+ "startLine": {
3941
+ "type": "integer",
3942
+ "description": "1-based line number where this test or step starts.",
3943
+ "minimum": 1,
3944
+ "readOnly": true
3945
+ },
3946
+ "endLine": {
3947
+ "type": "integer",
3948
+ "description": "1-based line number where this test or step ends.",
3949
+ "minimum": 1,
3950
+ "readOnly": true
3951
+ },
3952
+ "startColumn": {
3953
+ "type": "integer",
3954
+ "description": "1-based column number where this test or step starts on startLine.",
3955
+ "minimum": 1,
3956
+ "readOnly": true
3957
+ },
3958
+ "endColumn": {
3959
+ "type": "integer",
3960
+ "description": "1-based column number where this test or step ends on endLine.",
3961
+ "minimum": 1,
3962
+ "readOnly": true
3963
+ },
3964
+ "startOffset": {
3965
+ "type": "integer",
3966
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
3967
+ "minimum": 0,
3968
+ "readOnly": true
3969
+ },
3970
+ "endOffset": {
3971
+ "type": "integer",
3972
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
3973
+ "minimum": 0,
3974
+ "readOnly": true
3975
+ },
3976
+ "originalText": {
3977
+ "type": "string",
3978
+ "description": "The original text content of this test or step as found in the source file.",
3979
+ "readOnly": true
3980
+ },
3981
+ "isInline": {
3982
+ "type": "boolean",
3983
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
3984
+ "default": false,
3985
+ "readOnly": true
3986
+ },
3987
+ "isAutoDetected": {
3988
+ "type": "boolean",
3989
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
3990
+ "default": false,
3991
+ "readOnly": true
3992
+ },
3993
+ "commentFormat": {
3994
+ "type": "string",
3995
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
3996
+ "enum": [
3997
+ "htmlComment",
3998
+ "jsxComment",
3999
+ "linkReference"
4000
+ ],
4001
+ "readOnly": true
4002
+ }
4003
+ },
4004
+ "examples": [
4005
+ {
4006
+ "file": "/path/to/docs/getting-started.md",
4007
+ "startLine": 42,
4008
+ "endLine": 45,
4009
+ "startColumn": 1,
4010
+ "endColumn": 3,
4011
+ "startOffset": 1250,
4012
+ "endOffset": 1350,
4013
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
4014
+ "isInline": true,
4015
+ "isAutoDetected": false,
4016
+ "commentFormat": "htmlComment"
4017
+ },
4018
+ {
4019
+ "file": "/path/to/docs/tutorial.md",
4020
+ "startLine": 78,
4021
+ "endLine": 78,
4022
+ "startColumn": 1,
4023
+ "endColumn": 45,
4024
+ "startOffset": 2100,
4025
+ "endOffset": 2145,
4026
+ "originalText": "[example link](https://example.com)",
4027
+ "isInline": true,
4028
+ "isAutoDetected": true,
4029
+ "commentFormat": "htmlComment"
4030
+ }
4031
+ ]
4032
+ },
4033
+ "description": {
4034
+ "type": "string",
4035
+ "description": "Description of the step."
4036
+ },
4037
+ "unsafe": {
4038
+ "type": "boolean",
4039
+ "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
4040
+ "default": false
4041
+ },
4042
+ "outputs": {
4043
+ "type": "object",
4044
+ "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
4045
+ "default": {},
4046
+ "patternProperties": {
4047
+ "^[A-Za-z0-9_]+$": {
4048
+ "type": "string",
4049
+ "description": "Runtime expression for a user-defined output value."
4050
+ }
4051
+ },
3204
4052
  "title": "Outputs (step)"
3205
4053
  },
3206
4054
  "variables": {
@@ -4247,6 +5095,112 @@
4247
5095
  "type": "string",
4248
5096
  "description": "ID of the step."
4249
5097
  },
5098
+ "sourceLocation": {
5099
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
5100
+ "$schema": "http://json-schema.org/draft-07/schema#",
5101
+ "title": "sourceLocation",
5102
+ "type": "object",
5103
+ "readOnly": true,
5104
+ "additionalProperties": false,
5105
+ "properties": {
5106
+ "file": {
5107
+ "type": "string",
5108
+ "description": "Absolute path to the source file containing this test or step.",
5109
+ "readOnly": true
5110
+ },
5111
+ "startLine": {
5112
+ "type": "integer",
5113
+ "description": "1-based line number where this test or step starts.",
5114
+ "minimum": 1,
5115
+ "readOnly": true
5116
+ },
5117
+ "endLine": {
5118
+ "type": "integer",
5119
+ "description": "1-based line number where this test or step ends.",
5120
+ "minimum": 1,
5121
+ "readOnly": true
5122
+ },
5123
+ "startColumn": {
5124
+ "type": "integer",
5125
+ "description": "1-based column number where this test or step starts on startLine.",
5126
+ "minimum": 1,
5127
+ "readOnly": true
5128
+ },
5129
+ "endColumn": {
5130
+ "type": "integer",
5131
+ "description": "1-based column number where this test or step ends on endLine.",
5132
+ "minimum": 1,
5133
+ "readOnly": true
5134
+ },
5135
+ "startOffset": {
5136
+ "type": "integer",
5137
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
5138
+ "minimum": 0,
5139
+ "readOnly": true
5140
+ },
5141
+ "endOffset": {
5142
+ "type": "integer",
5143
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
5144
+ "minimum": 0,
5145
+ "readOnly": true
5146
+ },
5147
+ "originalText": {
5148
+ "type": "string",
5149
+ "description": "The original text content of this test or step as found in the source file.",
5150
+ "readOnly": true
5151
+ },
5152
+ "isInline": {
5153
+ "type": "boolean",
5154
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
5155
+ "default": false,
5156
+ "readOnly": true
5157
+ },
5158
+ "isAutoDetected": {
5159
+ "type": "boolean",
5160
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
5161
+ "default": false,
5162
+ "readOnly": true
5163
+ },
5164
+ "commentFormat": {
5165
+ "type": "string",
5166
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
5167
+ "enum": [
5168
+ "htmlComment",
5169
+ "jsxComment",
5170
+ "linkReference"
5171
+ ],
5172
+ "readOnly": true
5173
+ }
5174
+ },
5175
+ "examples": [
5176
+ {
5177
+ "file": "/path/to/docs/getting-started.md",
5178
+ "startLine": 42,
5179
+ "endLine": 45,
5180
+ "startColumn": 1,
5181
+ "endColumn": 3,
5182
+ "startOffset": 1250,
5183
+ "endOffset": 1350,
5184
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
5185
+ "isInline": true,
5186
+ "isAutoDetected": false,
5187
+ "commentFormat": "htmlComment"
5188
+ },
5189
+ {
5190
+ "file": "/path/to/docs/tutorial.md",
5191
+ "startLine": 78,
5192
+ "endLine": 78,
5193
+ "startColumn": 1,
5194
+ "endColumn": 45,
5195
+ "startOffset": 2100,
5196
+ "endOffset": 2145,
5197
+ "originalText": "[example link](https://example.com)",
5198
+ "isInline": true,
5199
+ "isAutoDetected": true,
5200
+ "commentFormat": "htmlComment"
5201
+ }
5202
+ ]
5203
+ },
4250
5204
  "description": {
4251
5205
  "type": "string",
4252
5206
  "description": "Description of the step."
@@ -4554,6 +5508,112 @@
4554
5508
  "type": "string",
4555
5509
  "description": "ID of the step."
4556
5510
  },
5511
+ "sourceLocation": {
5512
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
5513
+ "$schema": "http://json-schema.org/draft-07/schema#",
5514
+ "title": "sourceLocation",
5515
+ "type": "object",
5516
+ "readOnly": true,
5517
+ "additionalProperties": false,
5518
+ "properties": {
5519
+ "file": {
5520
+ "type": "string",
5521
+ "description": "Absolute path to the source file containing this test or step.",
5522
+ "readOnly": true
5523
+ },
5524
+ "startLine": {
5525
+ "type": "integer",
5526
+ "description": "1-based line number where this test or step starts.",
5527
+ "minimum": 1,
5528
+ "readOnly": true
5529
+ },
5530
+ "endLine": {
5531
+ "type": "integer",
5532
+ "description": "1-based line number where this test or step ends.",
5533
+ "minimum": 1,
5534
+ "readOnly": true
5535
+ },
5536
+ "startColumn": {
5537
+ "type": "integer",
5538
+ "description": "1-based column number where this test or step starts on startLine.",
5539
+ "minimum": 1,
5540
+ "readOnly": true
5541
+ },
5542
+ "endColumn": {
5543
+ "type": "integer",
5544
+ "description": "1-based column number where this test or step ends on endLine.",
5545
+ "minimum": 1,
5546
+ "readOnly": true
5547
+ },
5548
+ "startOffset": {
5549
+ "type": "integer",
5550
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
5551
+ "minimum": 0,
5552
+ "readOnly": true
5553
+ },
5554
+ "endOffset": {
5555
+ "type": "integer",
5556
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
5557
+ "minimum": 0,
5558
+ "readOnly": true
5559
+ },
5560
+ "originalText": {
5561
+ "type": "string",
5562
+ "description": "The original text content of this test or step as found in the source file.",
5563
+ "readOnly": true
5564
+ },
5565
+ "isInline": {
5566
+ "type": "boolean",
5567
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
5568
+ "default": false,
5569
+ "readOnly": true
5570
+ },
5571
+ "isAutoDetected": {
5572
+ "type": "boolean",
5573
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
5574
+ "default": false,
5575
+ "readOnly": true
5576
+ },
5577
+ "commentFormat": {
5578
+ "type": "string",
5579
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
5580
+ "enum": [
5581
+ "htmlComment",
5582
+ "jsxComment",
5583
+ "linkReference"
5584
+ ],
5585
+ "readOnly": true
5586
+ }
5587
+ },
5588
+ "examples": [
5589
+ {
5590
+ "file": "/path/to/docs/getting-started.md",
5591
+ "startLine": 42,
5592
+ "endLine": 45,
5593
+ "startColumn": 1,
5594
+ "endColumn": 3,
5595
+ "startOffset": 1250,
5596
+ "endOffset": 1350,
5597
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
5598
+ "isInline": true,
5599
+ "isAutoDetected": false,
5600
+ "commentFormat": "htmlComment"
5601
+ },
5602
+ {
5603
+ "file": "/path/to/docs/tutorial.md",
5604
+ "startLine": 78,
5605
+ "endLine": 78,
5606
+ "startColumn": 1,
5607
+ "endColumn": 45,
5608
+ "startOffset": 2100,
5609
+ "endOffset": 2145,
5610
+ "originalText": "[example link](https://example.com)",
5611
+ "isInline": true,
5612
+ "isAutoDetected": true,
5613
+ "commentFormat": "htmlComment"
5614
+ }
5615
+ ]
5616
+ },
4557
5617
  "description": {
4558
5618
  "type": "string",
4559
5619
  "description": "Description of the step."
@@ -4847,6 +5907,112 @@
4847
5907
  "type": "string",
4848
5908
  "description": "ID of the step."
4849
5909
  },
5910
+ "sourceLocation": {
5911
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
5912
+ "$schema": "http://json-schema.org/draft-07/schema#",
5913
+ "title": "sourceLocation",
5914
+ "type": "object",
5915
+ "readOnly": true,
5916
+ "additionalProperties": false,
5917
+ "properties": {
5918
+ "file": {
5919
+ "type": "string",
5920
+ "description": "Absolute path to the source file containing this test or step.",
5921
+ "readOnly": true
5922
+ },
5923
+ "startLine": {
5924
+ "type": "integer",
5925
+ "description": "1-based line number where this test or step starts.",
5926
+ "minimum": 1,
5927
+ "readOnly": true
5928
+ },
5929
+ "endLine": {
5930
+ "type": "integer",
5931
+ "description": "1-based line number where this test or step ends.",
5932
+ "minimum": 1,
5933
+ "readOnly": true
5934
+ },
5935
+ "startColumn": {
5936
+ "type": "integer",
5937
+ "description": "1-based column number where this test or step starts on startLine.",
5938
+ "minimum": 1,
5939
+ "readOnly": true
5940
+ },
5941
+ "endColumn": {
5942
+ "type": "integer",
5943
+ "description": "1-based column number where this test or step ends on endLine.",
5944
+ "minimum": 1,
5945
+ "readOnly": true
5946
+ },
5947
+ "startOffset": {
5948
+ "type": "integer",
5949
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
5950
+ "minimum": 0,
5951
+ "readOnly": true
5952
+ },
5953
+ "endOffset": {
5954
+ "type": "integer",
5955
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
5956
+ "minimum": 0,
5957
+ "readOnly": true
5958
+ },
5959
+ "originalText": {
5960
+ "type": "string",
5961
+ "description": "The original text content of this test or step as found in the source file.",
5962
+ "readOnly": true
5963
+ },
5964
+ "isInline": {
5965
+ "type": "boolean",
5966
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
5967
+ "default": false,
5968
+ "readOnly": true
5969
+ },
5970
+ "isAutoDetected": {
5971
+ "type": "boolean",
5972
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
5973
+ "default": false,
5974
+ "readOnly": true
5975
+ },
5976
+ "commentFormat": {
5977
+ "type": "string",
5978
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
5979
+ "enum": [
5980
+ "htmlComment",
5981
+ "jsxComment",
5982
+ "linkReference"
5983
+ ],
5984
+ "readOnly": true
5985
+ }
5986
+ },
5987
+ "examples": [
5988
+ {
5989
+ "file": "/path/to/docs/getting-started.md",
5990
+ "startLine": 42,
5991
+ "endLine": 45,
5992
+ "startColumn": 1,
5993
+ "endColumn": 3,
5994
+ "startOffset": 1250,
5995
+ "endOffset": 1350,
5996
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
5997
+ "isInline": true,
5998
+ "isAutoDetected": false,
5999
+ "commentFormat": "htmlComment"
6000
+ },
6001
+ {
6002
+ "file": "/path/to/docs/tutorial.md",
6003
+ "startLine": 78,
6004
+ "endLine": 78,
6005
+ "startColumn": 1,
6006
+ "endColumn": 45,
6007
+ "startOffset": 2100,
6008
+ "endOffset": 2145,
6009
+ "originalText": "[example link](https://example.com)",
6010
+ "isInline": true,
6011
+ "isAutoDetected": true,
6012
+ "commentFormat": "htmlComment"
6013
+ }
6014
+ ]
6015
+ },
4850
6016
  "description": {
4851
6017
  "type": "string",
4852
6018
  "description": "Description of the step."
@@ -5162,6 +6328,112 @@
5162
6328
  "type": "string",
5163
6329
  "description": "ID of the step."
5164
6330
  },
6331
+ "sourceLocation": {
6332
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
6333
+ "$schema": "http://json-schema.org/draft-07/schema#",
6334
+ "title": "sourceLocation",
6335
+ "type": "object",
6336
+ "readOnly": true,
6337
+ "additionalProperties": false,
6338
+ "properties": {
6339
+ "file": {
6340
+ "type": "string",
6341
+ "description": "Absolute path to the source file containing this test or step.",
6342
+ "readOnly": true
6343
+ },
6344
+ "startLine": {
6345
+ "type": "integer",
6346
+ "description": "1-based line number where this test or step starts.",
6347
+ "minimum": 1,
6348
+ "readOnly": true
6349
+ },
6350
+ "endLine": {
6351
+ "type": "integer",
6352
+ "description": "1-based line number where this test or step ends.",
6353
+ "minimum": 1,
6354
+ "readOnly": true
6355
+ },
6356
+ "startColumn": {
6357
+ "type": "integer",
6358
+ "description": "1-based column number where this test or step starts on startLine.",
6359
+ "minimum": 1,
6360
+ "readOnly": true
6361
+ },
6362
+ "endColumn": {
6363
+ "type": "integer",
6364
+ "description": "1-based column number where this test or step ends on endLine.",
6365
+ "minimum": 1,
6366
+ "readOnly": true
6367
+ },
6368
+ "startOffset": {
6369
+ "type": "integer",
6370
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
6371
+ "minimum": 0,
6372
+ "readOnly": true
6373
+ },
6374
+ "endOffset": {
6375
+ "type": "integer",
6376
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
6377
+ "minimum": 0,
6378
+ "readOnly": true
6379
+ },
6380
+ "originalText": {
6381
+ "type": "string",
6382
+ "description": "The original text content of this test or step as found in the source file.",
6383
+ "readOnly": true
6384
+ },
6385
+ "isInline": {
6386
+ "type": "boolean",
6387
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
6388
+ "default": false,
6389
+ "readOnly": true
6390
+ },
6391
+ "isAutoDetected": {
6392
+ "type": "boolean",
6393
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
6394
+ "default": false,
6395
+ "readOnly": true
6396
+ },
6397
+ "commentFormat": {
6398
+ "type": "string",
6399
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
6400
+ "enum": [
6401
+ "htmlComment",
6402
+ "jsxComment",
6403
+ "linkReference"
6404
+ ],
6405
+ "readOnly": true
6406
+ }
6407
+ },
6408
+ "examples": [
6409
+ {
6410
+ "file": "/path/to/docs/getting-started.md",
6411
+ "startLine": 42,
6412
+ "endLine": 45,
6413
+ "startColumn": 1,
6414
+ "endColumn": 3,
6415
+ "startOffset": 1250,
6416
+ "endOffset": 1350,
6417
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
6418
+ "isInline": true,
6419
+ "isAutoDetected": false,
6420
+ "commentFormat": "htmlComment"
6421
+ },
6422
+ {
6423
+ "file": "/path/to/docs/tutorial.md",
6424
+ "startLine": 78,
6425
+ "endLine": 78,
6426
+ "startColumn": 1,
6427
+ "endColumn": 45,
6428
+ "startOffset": 2100,
6429
+ "endOffset": 2145,
6430
+ "originalText": "[example link](https://example.com)",
6431
+ "isInline": true,
6432
+ "isAutoDetected": true,
6433
+ "commentFormat": "htmlComment"
6434
+ }
6435
+ ]
6436
+ },
5165
6437
  "description": {
5166
6438
  "type": "string",
5167
6439
  "description": "Description of the step."
@@ -5814,6 +7086,112 @@
5814
7086
  "type": "string",
5815
7087
  "description": "ID of the step."
5816
7088
  },
7089
+ "sourceLocation": {
7090
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
7091
+ "$schema": "http://json-schema.org/draft-07/schema#",
7092
+ "title": "sourceLocation",
7093
+ "type": "object",
7094
+ "readOnly": true,
7095
+ "additionalProperties": false,
7096
+ "properties": {
7097
+ "file": {
7098
+ "type": "string",
7099
+ "description": "Absolute path to the source file containing this test or step.",
7100
+ "readOnly": true
7101
+ },
7102
+ "startLine": {
7103
+ "type": "integer",
7104
+ "description": "1-based line number where this test or step starts.",
7105
+ "minimum": 1,
7106
+ "readOnly": true
7107
+ },
7108
+ "endLine": {
7109
+ "type": "integer",
7110
+ "description": "1-based line number where this test or step ends.",
7111
+ "minimum": 1,
7112
+ "readOnly": true
7113
+ },
7114
+ "startColumn": {
7115
+ "type": "integer",
7116
+ "description": "1-based column number where this test or step starts on startLine.",
7117
+ "minimum": 1,
7118
+ "readOnly": true
7119
+ },
7120
+ "endColumn": {
7121
+ "type": "integer",
7122
+ "description": "1-based column number where this test or step ends on endLine.",
7123
+ "minimum": 1,
7124
+ "readOnly": true
7125
+ },
7126
+ "startOffset": {
7127
+ "type": "integer",
7128
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
7129
+ "minimum": 0,
7130
+ "readOnly": true
7131
+ },
7132
+ "endOffset": {
7133
+ "type": "integer",
7134
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
7135
+ "minimum": 0,
7136
+ "readOnly": true
7137
+ },
7138
+ "originalText": {
7139
+ "type": "string",
7140
+ "description": "The original text content of this test or step as found in the source file.",
7141
+ "readOnly": true
7142
+ },
7143
+ "isInline": {
7144
+ "type": "boolean",
7145
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
7146
+ "default": false,
7147
+ "readOnly": true
7148
+ },
7149
+ "isAutoDetected": {
7150
+ "type": "boolean",
7151
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
7152
+ "default": false,
7153
+ "readOnly": true
7154
+ },
7155
+ "commentFormat": {
7156
+ "type": "string",
7157
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
7158
+ "enum": [
7159
+ "htmlComment",
7160
+ "jsxComment",
7161
+ "linkReference"
7162
+ ],
7163
+ "readOnly": true
7164
+ }
7165
+ },
7166
+ "examples": [
7167
+ {
7168
+ "file": "/path/to/docs/getting-started.md",
7169
+ "startLine": 42,
7170
+ "endLine": 45,
7171
+ "startColumn": 1,
7172
+ "endColumn": 3,
7173
+ "startOffset": 1250,
7174
+ "endOffset": 1350,
7175
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
7176
+ "isInline": true,
7177
+ "isAutoDetected": false,
7178
+ "commentFormat": "htmlComment"
7179
+ },
7180
+ {
7181
+ "file": "/path/to/docs/tutorial.md",
7182
+ "startLine": 78,
7183
+ "endLine": 78,
7184
+ "startColumn": 1,
7185
+ "endColumn": 45,
7186
+ "startOffset": 2100,
7187
+ "endOffset": 2145,
7188
+ "originalText": "[example link](https://example.com)",
7189
+ "isInline": true,
7190
+ "isAutoDetected": true,
7191
+ "commentFormat": "htmlComment"
7192
+ }
7193
+ ]
7194
+ },
5817
7195
  "description": {
5818
7196
  "type": "string",
5819
7197
  "description": "Description of the step."
@@ -6130,31 +7508,137 @@
6130
7508
  "type": "string",
6131
7509
  "description": "ID of the step."
6132
7510
  },
6133
- "description": {
6134
- "type": "string",
6135
- "description": "Description of the step."
6136
- },
6137
- "unsafe": {
6138
- "type": "boolean",
6139
- "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
6140
- "default": false
6141
- },
6142
- "outputs": {
7511
+ "sourceLocation": {
7512
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
7513
+ "$schema": "http://json-schema.org/draft-07/schema#",
7514
+ "title": "sourceLocation",
6143
7515
  "type": "object",
6144
- "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
6145
- "default": {},
6146
- "patternProperties": {
6147
- "^[A-Za-z0-9_]+$": {
7516
+ "readOnly": true,
7517
+ "additionalProperties": false,
7518
+ "properties": {
7519
+ "file": {
6148
7520
  "type": "string",
6149
- "description": "Runtime expression for a user-defined output value."
6150
- }
6151
- },
6152
- "title": "Outputs (step)"
6153
- },
6154
- "variables": {
6155
- "type": "object",
6156
- "description": "Environment variables to set from user-defined expressions.",
6157
- "default": {},
7521
+ "description": "Absolute path to the source file containing this test or step.",
7522
+ "readOnly": true
7523
+ },
7524
+ "startLine": {
7525
+ "type": "integer",
7526
+ "description": "1-based line number where this test or step starts.",
7527
+ "minimum": 1,
7528
+ "readOnly": true
7529
+ },
7530
+ "endLine": {
7531
+ "type": "integer",
7532
+ "description": "1-based line number where this test or step ends.",
7533
+ "minimum": 1,
7534
+ "readOnly": true
7535
+ },
7536
+ "startColumn": {
7537
+ "type": "integer",
7538
+ "description": "1-based column number where this test or step starts on startLine.",
7539
+ "minimum": 1,
7540
+ "readOnly": true
7541
+ },
7542
+ "endColumn": {
7543
+ "type": "integer",
7544
+ "description": "1-based column number where this test or step ends on endLine.",
7545
+ "minimum": 1,
7546
+ "readOnly": true
7547
+ },
7548
+ "startOffset": {
7549
+ "type": "integer",
7550
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
7551
+ "minimum": 0,
7552
+ "readOnly": true
7553
+ },
7554
+ "endOffset": {
7555
+ "type": "integer",
7556
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
7557
+ "minimum": 0,
7558
+ "readOnly": true
7559
+ },
7560
+ "originalText": {
7561
+ "type": "string",
7562
+ "description": "The original text content of this test or step as found in the source file.",
7563
+ "readOnly": true
7564
+ },
7565
+ "isInline": {
7566
+ "type": "boolean",
7567
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
7568
+ "default": false,
7569
+ "readOnly": true
7570
+ },
7571
+ "isAutoDetected": {
7572
+ "type": "boolean",
7573
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
7574
+ "default": false,
7575
+ "readOnly": true
7576
+ },
7577
+ "commentFormat": {
7578
+ "type": "string",
7579
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
7580
+ "enum": [
7581
+ "htmlComment",
7582
+ "jsxComment",
7583
+ "linkReference"
7584
+ ],
7585
+ "readOnly": true
7586
+ }
7587
+ },
7588
+ "examples": [
7589
+ {
7590
+ "file": "/path/to/docs/getting-started.md",
7591
+ "startLine": 42,
7592
+ "endLine": 45,
7593
+ "startColumn": 1,
7594
+ "endColumn": 3,
7595
+ "startOffset": 1250,
7596
+ "endOffset": 1350,
7597
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
7598
+ "isInline": true,
7599
+ "isAutoDetected": false,
7600
+ "commentFormat": "htmlComment"
7601
+ },
7602
+ {
7603
+ "file": "/path/to/docs/tutorial.md",
7604
+ "startLine": 78,
7605
+ "endLine": 78,
7606
+ "startColumn": 1,
7607
+ "endColumn": 45,
7608
+ "startOffset": 2100,
7609
+ "endOffset": 2145,
7610
+ "originalText": "[example link](https://example.com)",
7611
+ "isInline": true,
7612
+ "isAutoDetected": true,
7613
+ "commentFormat": "htmlComment"
7614
+ }
7615
+ ]
7616
+ },
7617
+ "description": {
7618
+ "type": "string",
7619
+ "description": "Description of the step."
7620
+ },
7621
+ "unsafe": {
7622
+ "type": "boolean",
7623
+ "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
7624
+ "default": false
7625
+ },
7626
+ "outputs": {
7627
+ "type": "object",
7628
+ "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
7629
+ "default": {},
7630
+ "patternProperties": {
7631
+ "^[A-Za-z0-9_]+$": {
7632
+ "type": "string",
7633
+ "description": "Runtime expression for a user-defined output value."
7634
+ }
7635
+ },
7636
+ "title": "Outputs (step)"
7637
+ },
7638
+ "variables": {
7639
+ "type": "object",
7640
+ "description": "Environment variables to set from user-defined expressions.",
7641
+ "default": {},
6158
7642
  "patternProperties": {
6159
7643
  "^[A-Za-z0-9_]+$": {
6160
7644
  "type": "string",
@@ -6302,6 +7786,112 @@
6302
7786
  "type": "string",
6303
7787
  "description": "ID of the step."
6304
7788
  },
7789
+ "sourceLocation": {
7790
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
7791
+ "$schema": "http://json-schema.org/draft-07/schema#",
7792
+ "title": "sourceLocation",
7793
+ "type": "object",
7794
+ "readOnly": true,
7795
+ "additionalProperties": false,
7796
+ "properties": {
7797
+ "file": {
7798
+ "type": "string",
7799
+ "description": "Absolute path to the source file containing this test or step.",
7800
+ "readOnly": true
7801
+ },
7802
+ "startLine": {
7803
+ "type": "integer",
7804
+ "description": "1-based line number where this test or step starts.",
7805
+ "minimum": 1,
7806
+ "readOnly": true
7807
+ },
7808
+ "endLine": {
7809
+ "type": "integer",
7810
+ "description": "1-based line number where this test or step ends.",
7811
+ "minimum": 1,
7812
+ "readOnly": true
7813
+ },
7814
+ "startColumn": {
7815
+ "type": "integer",
7816
+ "description": "1-based column number where this test or step starts on startLine.",
7817
+ "minimum": 1,
7818
+ "readOnly": true
7819
+ },
7820
+ "endColumn": {
7821
+ "type": "integer",
7822
+ "description": "1-based column number where this test or step ends on endLine.",
7823
+ "minimum": 1,
7824
+ "readOnly": true
7825
+ },
7826
+ "startOffset": {
7827
+ "type": "integer",
7828
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
7829
+ "minimum": 0,
7830
+ "readOnly": true
7831
+ },
7832
+ "endOffset": {
7833
+ "type": "integer",
7834
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
7835
+ "minimum": 0,
7836
+ "readOnly": true
7837
+ },
7838
+ "originalText": {
7839
+ "type": "string",
7840
+ "description": "The original text content of this test or step as found in the source file.",
7841
+ "readOnly": true
7842
+ },
7843
+ "isInline": {
7844
+ "type": "boolean",
7845
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
7846
+ "default": false,
7847
+ "readOnly": true
7848
+ },
7849
+ "isAutoDetected": {
7850
+ "type": "boolean",
7851
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
7852
+ "default": false,
7853
+ "readOnly": true
7854
+ },
7855
+ "commentFormat": {
7856
+ "type": "string",
7857
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
7858
+ "enum": [
7859
+ "htmlComment",
7860
+ "jsxComment",
7861
+ "linkReference"
7862
+ ],
7863
+ "readOnly": true
7864
+ }
7865
+ },
7866
+ "examples": [
7867
+ {
7868
+ "file": "/path/to/docs/getting-started.md",
7869
+ "startLine": 42,
7870
+ "endLine": 45,
7871
+ "startColumn": 1,
7872
+ "endColumn": 3,
7873
+ "startOffset": 1250,
7874
+ "endOffset": 1350,
7875
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
7876
+ "isInline": true,
7877
+ "isAutoDetected": false,
7878
+ "commentFormat": "htmlComment"
7879
+ },
7880
+ {
7881
+ "file": "/path/to/docs/tutorial.md",
7882
+ "startLine": 78,
7883
+ "endLine": 78,
7884
+ "startColumn": 1,
7885
+ "endColumn": 45,
7886
+ "startOffset": 2100,
7887
+ "endOffset": 2145,
7888
+ "originalText": "[example link](https://example.com)",
7889
+ "isInline": true,
7890
+ "isAutoDetected": true,
7891
+ "commentFormat": "htmlComment"
7892
+ }
7893
+ ]
7894
+ },
6305
7895
  "description": {
6306
7896
  "type": "string",
6307
7897
  "description": "Description of the step."
@@ -6387,6 +7977,112 @@
6387
7977
  "type": "string",
6388
7978
  "description": "ID of the step."
6389
7979
  },
7980
+ "sourceLocation": {
7981
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
7982
+ "$schema": "http://json-schema.org/draft-07/schema#",
7983
+ "title": "sourceLocation",
7984
+ "type": "object",
7985
+ "readOnly": true,
7986
+ "additionalProperties": false,
7987
+ "properties": {
7988
+ "file": {
7989
+ "type": "string",
7990
+ "description": "Absolute path to the source file containing this test or step.",
7991
+ "readOnly": true
7992
+ },
7993
+ "startLine": {
7994
+ "type": "integer",
7995
+ "description": "1-based line number where this test or step starts.",
7996
+ "minimum": 1,
7997
+ "readOnly": true
7998
+ },
7999
+ "endLine": {
8000
+ "type": "integer",
8001
+ "description": "1-based line number where this test or step ends.",
8002
+ "minimum": 1,
8003
+ "readOnly": true
8004
+ },
8005
+ "startColumn": {
8006
+ "type": "integer",
8007
+ "description": "1-based column number where this test or step starts on startLine.",
8008
+ "minimum": 1,
8009
+ "readOnly": true
8010
+ },
8011
+ "endColumn": {
8012
+ "type": "integer",
8013
+ "description": "1-based column number where this test or step ends on endLine.",
8014
+ "minimum": 1,
8015
+ "readOnly": true
8016
+ },
8017
+ "startOffset": {
8018
+ "type": "integer",
8019
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8020
+ "minimum": 0,
8021
+ "readOnly": true
8022
+ },
8023
+ "endOffset": {
8024
+ "type": "integer",
8025
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8026
+ "minimum": 0,
8027
+ "readOnly": true
8028
+ },
8029
+ "originalText": {
8030
+ "type": "string",
8031
+ "description": "The original text content of this test or step as found in the source file.",
8032
+ "readOnly": true
8033
+ },
8034
+ "isInline": {
8035
+ "type": "boolean",
8036
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8037
+ "default": false,
8038
+ "readOnly": true
8039
+ },
8040
+ "isAutoDetected": {
8041
+ "type": "boolean",
8042
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8043
+ "default": false,
8044
+ "readOnly": true
8045
+ },
8046
+ "commentFormat": {
8047
+ "type": "string",
8048
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8049
+ "enum": [
8050
+ "htmlComment",
8051
+ "jsxComment",
8052
+ "linkReference"
8053
+ ],
8054
+ "readOnly": true
8055
+ }
8056
+ },
8057
+ "examples": [
8058
+ {
8059
+ "file": "/path/to/docs/getting-started.md",
8060
+ "startLine": 42,
8061
+ "endLine": 45,
8062
+ "startColumn": 1,
8063
+ "endColumn": 3,
8064
+ "startOffset": 1250,
8065
+ "endOffset": 1350,
8066
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8067
+ "isInline": true,
8068
+ "isAutoDetected": false,
8069
+ "commentFormat": "htmlComment"
8070
+ },
8071
+ {
8072
+ "file": "/path/to/docs/tutorial.md",
8073
+ "startLine": 78,
8074
+ "endLine": 78,
8075
+ "startColumn": 1,
8076
+ "endColumn": 45,
8077
+ "startOffset": 2100,
8078
+ "endOffset": 2145,
8079
+ "originalText": "[example link](https://example.com)",
8080
+ "isInline": true,
8081
+ "isAutoDetected": true,
8082
+ "commentFormat": "htmlComment"
8083
+ }
8084
+ ]
8085
+ },
6390
8086
  "description": {
6391
8087
  "type": "string",
6392
8088
  "description": "Description of the step."
@@ -6467,6 +8163,112 @@
6467
8163
  "type": "string",
6468
8164
  "description": "ID of the step."
6469
8165
  },
8166
+ "sourceLocation": {
8167
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8168
+ "$schema": "http://json-schema.org/draft-07/schema#",
8169
+ "title": "sourceLocation",
8170
+ "type": "object",
8171
+ "readOnly": true,
8172
+ "additionalProperties": false,
8173
+ "properties": {
8174
+ "file": {
8175
+ "type": "string",
8176
+ "description": "Absolute path to the source file containing this test or step.",
8177
+ "readOnly": true
8178
+ },
8179
+ "startLine": {
8180
+ "type": "integer",
8181
+ "description": "1-based line number where this test or step starts.",
8182
+ "minimum": 1,
8183
+ "readOnly": true
8184
+ },
8185
+ "endLine": {
8186
+ "type": "integer",
8187
+ "description": "1-based line number where this test or step ends.",
8188
+ "minimum": 1,
8189
+ "readOnly": true
8190
+ },
8191
+ "startColumn": {
8192
+ "type": "integer",
8193
+ "description": "1-based column number where this test or step starts on startLine.",
8194
+ "minimum": 1,
8195
+ "readOnly": true
8196
+ },
8197
+ "endColumn": {
8198
+ "type": "integer",
8199
+ "description": "1-based column number where this test or step ends on endLine.",
8200
+ "minimum": 1,
8201
+ "readOnly": true
8202
+ },
8203
+ "startOffset": {
8204
+ "type": "integer",
8205
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8206
+ "minimum": 0,
8207
+ "readOnly": true
8208
+ },
8209
+ "endOffset": {
8210
+ "type": "integer",
8211
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8212
+ "minimum": 0,
8213
+ "readOnly": true
8214
+ },
8215
+ "originalText": {
8216
+ "type": "string",
8217
+ "description": "The original text content of this test or step as found in the source file.",
8218
+ "readOnly": true
8219
+ },
8220
+ "isInline": {
8221
+ "type": "boolean",
8222
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8223
+ "default": false,
8224
+ "readOnly": true
8225
+ },
8226
+ "isAutoDetected": {
8227
+ "type": "boolean",
8228
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8229
+ "default": false,
8230
+ "readOnly": true
8231
+ },
8232
+ "commentFormat": {
8233
+ "type": "string",
8234
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8235
+ "enum": [
8236
+ "htmlComment",
8237
+ "jsxComment",
8238
+ "linkReference"
8239
+ ],
8240
+ "readOnly": true
8241
+ }
8242
+ },
8243
+ "examples": [
8244
+ {
8245
+ "file": "/path/to/docs/getting-started.md",
8246
+ "startLine": 42,
8247
+ "endLine": 45,
8248
+ "startColumn": 1,
8249
+ "endColumn": 3,
8250
+ "startOffset": 1250,
8251
+ "endOffset": 1350,
8252
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8253
+ "isInline": true,
8254
+ "isAutoDetected": false,
8255
+ "commentFormat": "htmlComment"
8256
+ },
8257
+ {
8258
+ "file": "/path/to/docs/tutorial.md",
8259
+ "startLine": 78,
8260
+ "endLine": 78,
8261
+ "startColumn": 1,
8262
+ "endColumn": 45,
8263
+ "startOffset": 2100,
8264
+ "endOffset": 2145,
8265
+ "originalText": "[example link](https://example.com)",
8266
+ "isInline": true,
8267
+ "isAutoDetected": true,
8268
+ "commentFormat": "htmlComment"
8269
+ }
8270
+ ]
8271
+ },
6470
8272
  "description": {
6471
8273
  "type": "string",
6472
8274
  "description": "Description of the step."
@@ -7034,6 +8836,112 @@
7034
8836
  "type": "string",
7035
8837
  "description": "ID of the step."
7036
8838
  },
8839
+ "sourceLocation": {
8840
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8841
+ "$schema": "http://json-schema.org/draft-07/schema#",
8842
+ "title": "sourceLocation",
8843
+ "type": "object",
8844
+ "readOnly": true,
8845
+ "additionalProperties": false,
8846
+ "properties": {
8847
+ "file": {
8848
+ "type": "string",
8849
+ "description": "Absolute path to the source file containing this test or step.",
8850
+ "readOnly": true
8851
+ },
8852
+ "startLine": {
8853
+ "type": "integer",
8854
+ "description": "1-based line number where this test or step starts.",
8855
+ "minimum": 1,
8856
+ "readOnly": true
8857
+ },
8858
+ "endLine": {
8859
+ "type": "integer",
8860
+ "description": "1-based line number where this test or step ends.",
8861
+ "minimum": 1,
8862
+ "readOnly": true
8863
+ },
8864
+ "startColumn": {
8865
+ "type": "integer",
8866
+ "description": "1-based column number where this test or step starts on startLine.",
8867
+ "minimum": 1,
8868
+ "readOnly": true
8869
+ },
8870
+ "endColumn": {
8871
+ "type": "integer",
8872
+ "description": "1-based column number where this test or step ends on endLine.",
8873
+ "minimum": 1,
8874
+ "readOnly": true
8875
+ },
8876
+ "startOffset": {
8877
+ "type": "integer",
8878
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8879
+ "minimum": 0,
8880
+ "readOnly": true
8881
+ },
8882
+ "endOffset": {
8883
+ "type": "integer",
8884
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8885
+ "minimum": 0,
8886
+ "readOnly": true
8887
+ },
8888
+ "originalText": {
8889
+ "type": "string",
8890
+ "description": "The original text content of this test or step as found in the source file.",
8891
+ "readOnly": true
8892
+ },
8893
+ "isInline": {
8894
+ "type": "boolean",
8895
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8896
+ "default": false,
8897
+ "readOnly": true
8898
+ },
8899
+ "isAutoDetected": {
8900
+ "type": "boolean",
8901
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8902
+ "default": false,
8903
+ "readOnly": true
8904
+ },
8905
+ "commentFormat": {
8906
+ "type": "string",
8907
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8908
+ "enum": [
8909
+ "htmlComment",
8910
+ "jsxComment",
8911
+ "linkReference"
8912
+ ],
8913
+ "readOnly": true
8914
+ }
8915
+ },
8916
+ "examples": [
8917
+ {
8918
+ "file": "/path/to/docs/getting-started.md",
8919
+ "startLine": 42,
8920
+ "endLine": 45,
8921
+ "startColumn": 1,
8922
+ "endColumn": 3,
8923
+ "startOffset": 1250,
8924
+ "endOffset": 1350,
8925
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8926
+ "isInline": true,
8927
+ "isAutoDetected": false,
8928
+ "commentFormat": "htmlComment"
8929
+ },
8930
+ {
8931
+ "file": "/path/to/docs/tutorial.md",
8932
+ "startLine": 78,
8933
+ "endLine": 78,
8934
+ "startColumn": 1,
8935
+ "endColumn": 45,
8936
+ "startOffset": 2100,
8937
+ "endOffset": 2145,
8938
+ "originalText": "[example link](https://example.com)",
8939
+ "isInline": true,
8940
+ "isAutoDetected": true,
8941
+ "commentFormat": "htmlComment"
8942
+ }
8943
+ ]
8944
+ },
7037
8945
  "description": {
7038
8946
  "type": "string",
7039
8947
  "description": "Description of the step."
@@ -7333,6 +9241,112 @@
7333
9241
  "type": "string",
7334
9242
  "description": "ID of the step."
7335
9243
  },
9244
+ "sourceLocation": {
9245
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
9246
+ "$schema": "http://json-schema.org/draft-07/schema#",
9247
+ "title": "sourceLocation",
9248
+ "type": "object",
9249
+ "readOnly": true,
9250
+ "additionalProperties": false,
9251
+ "properties": {
9252
+ "file": {
9253
+ "type": "string",
9254
+ "description": "Absolute path to the source file containing this test or step.",
9255
+ "readOnly": true
9256
+ },
9257
+ "startLine": {
9258
+ "type": "integer",
9259
+ "description": "1-based line number where this test or step starts.",
9260
+ "minimum": 1,
9261
+ "readOnly": true
9262
+ },
9263
+ "endLine": {
9264
+ "type": "integer",
9265
+ "description": "1-based line number where this test or step ends.",
9266
+ "minimum": 1,
9267
+ "readOnly": true
9268
+ },
9269
+ "startColumn": {
9270
+ "type": "integer",
9271
+ "description": "1-based column number where this test or step starts on startLine.",
9272
+ "minimum": 1,
9273
+ "readOnly": true
9274
+ },
9275
+ "endColumn": {
9276
+ "type": "integer",
9277
+ "description": "1-based column number where this test or step ends on endLine.",
9278
+ "minimum": 1,
9279
+ "readOnly": true
9280
+ },
9281
+ "startOffset": {
9282
+ "type": "integer",
9283
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
9284
+ "minimum": 0,
9285
+ "readOnly": true
9286
+ },
9287
+ "endOffset": {
9288
+ "type": "integer",
9289
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
9290
+ "minimum": 0,
9291
+ "readOnly": true
9292
+ },
9293
+ "originalText": {
9294
+ "type": "string",
9295
+ "description": "The original text content of this test or step as found in the source file.",
9296
+ "readOnly": true
9297
+ },
9298
+ "isInline": {
9299
+ "type": "boolean",
9300
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
9301
+ "default": false,
9302
+ "readOnly": true
9303
+ },
9304
+ "isAutoDetected": {
9305
+ "type": "boolean",
9306
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
9307
+ "default": false,
9308
+ "readOnly": true
9309
+ },
9310
+ "commentFormat": {
9311
+ "type": "string",
9312
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
9313
+ "enum": [
9314
+ "htmlComment",
9315
+ "jsxComment",
9316
+ "linkReference"
9317
+ ],
9318
+ "readOnly": true
9319
+ }
9320
+ },
9321
+ "examples": [
9322
+ {
9323
+ "file": "/path/to/docs/getting-started.md",
9324
+ "startLine": 42,
9325
+ "endLine": 45,
9326
+ "startColumn": 1,
9327
+ "endColumn": 3,
9328
+ "startOffset": 1250,
9329
+ "endOffset": 1350,
9330
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
9331
+ "isInline": true,
9332
+ "isAutoDetected": false,
9333
+ "commentFormat": "htmlComment"
9334
+ },
9335
+ {
9336
+ "file": "/path/to/docs/tutorial.md",
9337
+ "startLine": 78,
9338
+ "endLine": 78,
9339
+ "startColumn": 1,
9340
+ "endColumn": 45,
9341
+ "startOffset": 2100,
9342
+ "endOffset": 2145,
9343
+ "originalText": "[example link](https://example.com)",
9344
+ "isInline": true,
9345
+ "isAutoDetected": true,
9346
+ "commentFormat": "htmlComment"
9347
+ }
9348
+ ]
9349
+ },
7336
9350
  "description": {
7337
9351
  "type": "string",
7338
9352
  "description": "Description of the step."
@@ -8098,26 +10112,132 @@
8098
10112
  "type": "string",
8099
10113
  "description": "ID of the step."
8100
10114
  },
8101
- "description": {
8102
- "type": "string",
8103
- "description": "Description of the step."
8104
- },
8105
- "unsafe": {
8106
- "type": "boolean",
8107
- "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
8108
- "default": false
8109
- },
8110
- "outputs": {
10115
+ "sourceLocation": {
10116
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10117
+ "$schema": "http://json-schema.org/draft-07/schema#",
10118
+ "title": "sourceLocation",
8111
10119
  "type": "object",
8112
- "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
8113
- "default": {},
8114
- "patternProperties": {
8115
- "^[A-Za-z0-9_]+$": {
10120
+ "readOnly": true,
10121
+ "additionalProperties": false,
10122
+ "properties": {
10123
+ "file": {
8116
10124
  "type": "string",
8117
- "description": "Runtime expression for a user-defined output value."
8118
- }
8119
- },
8120
- "title": "Outputs (step)"
10125
+ "description": "Absolute path to the source file containing this test or step.",
10126
+ "readOnly": true
10127
+ },
10128
+ "startLine": {
10129
+ "type": "integer",
10130
+ "description": "1-based line number where this test or step starts.",
10131
+ "minimum": 1,
10132
+ "readOnly": true
10133
+ },
10134
+ "endLine": {
10135
+ "type": "integer",
10136
+ "description": "1-based line number where this test or step ends.",
10137
+ "minimum": 1,
10138
+ "readOnly": true
10139
+ },
10140
+ "startColumn": {
10141
+ "type": "integer",
10142
+ "description": "1-based column number where this test or step starts on startLine.",
10143
+ "minimum": 1,
10144
+ "readOnly": true
10145
+ },
10146
+ "endColumn": {
10147
+ "type": "integer",
10148
+ "description": "1-based column number where this test or step ends on endLine.",
10149
+ "minimum": 1,
10150
+ "readOnly": true
10151
+ },
10152
+ "startOffset": {
10153
+ "type": "integer",
10154
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10155
+ "minimum": 0,
10156
+ "readOnly": true
10157
+ },
10158
+ "endOffset": {
10159
+ "type": "integer",
10160
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10161
+ "minimum": 0,
10162
+ "readOnly": true
10163
+ },
10164
+ "originalText": {
10165
+ "type": "string",
10166
+ "description": "The original text content of this test or step as found in the source file.",
10167
+ "readOnly": true
10168
+ },
10169
+ "isInline": {
10170
+ "type": "boolean",
10171
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10172
+ "default": false,
10173
+ "readOnly": true
10174
+ },
10175
+ "isAutoDetected": {
10176
+ "type": "boolean",
10177
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10178
+ "default": false,
10179
+ "readOnly": true
10180
+ },
10181
+ "commentFormat": {
10182
+ "type": "string",
10183
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10184
+ "enum": [
10185
+ "htmlComment",
10186
+ "jsxComment",
10187
+ "linkReference"
10188
+ ],
10189
+ "readOnly": true
10190
+ }
10191
+ },
10192
+ "examples": [
10193
+ {
10194
+ "file": "/path/to/docs/getting-started.md",
10195
+ "startLine": 42,
10196
+ "endLine": 45,
10197
+ "startColumn": 1,
10198
+ "endColumn": 3,
10199
+ "startOffset": 1250,
10200
+ "endOffset": 1350,
10201
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10202
+ "isInline": true,
10203
+ "isAutoDetected": false,
10204
+ "commentFormat": "htmlComment"
10205
+ },
10206
+ {
10207
+ "file": "/path/to/docs/tutorial.md",
10208
+ "startLine": 78,
10209
+ "endLine": 78,
10210
+ "startColumn": 1,
10211
+ "endColumn": 45,
10212
+ "startOffset": 2100,
10213
+ "endOffset": 2145,
10214
+ "originalText": "[example link](https://example.com)",
10215
+ "isInline": true,
10216
+ "isAutoDetected": true,
10217
+ "commentFormat": "htmlComment"
10218
+ }
10219
+ ]
10220
+ },
10221
+ "description": {
10222
+ "type": "string",
10223
+ "description": "Description of the step."
10224
+ },
10225
+ "unsafe": {
10226
+ "type": "boolean",
10227
+ "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
10228
+ "default": false
10229
+ },
10230
+ "outputs": {
10231
+ "type": "object",
10232
+ "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
10233
+ "default": {},
10234
+ "patternProperties": {
10235
+ "^[A-Za-z0-9_]+$": {
10236
+ "type": "string",
10237
+ "description": "Runtime expression for a user-defined output value."
10238
+ }
10239
+ },
10240
+ "title": "Outputs (step)"
8121
10241
  },
8122
10242
  "variables": {
8123
10243
  "type": "object",
@@ -8150,6 +10270,112 @@
8150
10270
  "type": "string",
8151
10271
  "description": "ID of the step."
8152
10272
  },
10273
+ "sourceLocation": {
10274
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10275
+ "$schema": "http://json-schema.org/draft-07/schema#",
10276
+ "title": "sourceLocation",
10277
+ "type": "object",
10278
+ "readOnly": true,
10279
+ "additionalProperties": false,
10280
+ "properties": {
10281
+ "file": {
10282
+ "type": "string",
10283
+ "description": "Absolute path to the source file containing this test or step.",
10284
+ "readOnly": true
10285
+ },
10286
+ "startLine": {
10287
+ "type": "integer",
10288
+ "description": "1-based line number where this test or step starts.",
10289
+ "minimum": 1,
10290
+ "readOnly": true
10291
+ },
10292
+ "endLine": {
10293
+ "type": "integer",
10294
+ "description": "1-based line number where this test or step ends.",
10295
+ "minimum": 1,
10296
+ "readOnly": true
10297
+ },
10298
+ "startColumn": {
10299
+ "type": "integer",
10300
+ "description": "1-based column number where this test or step starts on startLine.",
10301
+ "minimum": 1,
10302
+ "readOnly": true
10303
+ },
10304
+ "endColumn": {
10305
+ "type": "integer",
10306
+ "description": "1-based column number where this test or step ends on endLine.",
10307
+ "minimum": 1,
10308
+ "readOnly": true
10309
+ },
10310
+ "startOffset": {
10311
+ "type": "integer",
10312
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10313
+ "minimum": 0,
10314
+ "readOnly": true
10315
+ },
10316
+ "endOffset": {
10317
+ "type": "integer",
10318
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10319
+ "minimum": 0,
10320
+ "readOnly": true
10321
+ },
10322
+ "originalText": {
10323
+ "type": "string",
10324
+ "description": "The original text content of this test or step as found in the source file.",
10325
+ "readOnly": true
10326
+ },
10327
+ "isInline": {
10328
+ "type": "boolean",
10329
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10330
+ "default": false,
10331
+ "readOnly": true
10332
+ },
10333
+ "isAutoDetected": {
10334
+ "type": "boolean",
10335
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10336
+ "default": false,
10337
+ "readOnly": true
10338
+ },
10339
+ "commentFormat": {
10340
+ "type": "string",
10341
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10342
+ "enum": [
10343
+ "htmlComment",
10344
+ "jsxComment",
10345
+ "linkReference"
10346
+ ],
10347
+ "readOnly": true
10348
+ }
10349
+ },
10350
+ "examples": [
10351
+ {
10352
+ "file": "/path/to/docs/getting-started.md",
10353
+ "startLine": 42,
10354
+ "endLine": 45,
10355
+ "startColumn": 1,
10356
+ "endColumn": 3,
10357
+ "startOffset": 1250,
10358
+ "endOffset": 1350,
10359
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10360
+ "isInline": true,
10361
+ "isAutoDetected": false,
10362
+ "commentFormat": "htmlComment"
10363
+ },
10364
+ {
10365
+ "file": "/path/to/docs/tutorial.md",
10366
+ "startLine": 78,
10367
+ "endLine": 78,
10368
+ "startColumn": 1,
10369
+ "endColumn": 45,
10370
+ "startOffset": 2100,
10371
+ "endOffset": 2145,
10372
+ "originalText": "[example link](https://example.com)",
10373
+ "isInline": true,
10374
+ "isAutoDetected": true,
10375
+ "commentFormat": "htmlComment"
10376
+ }
10377
+ ]
10378
+ },
8153
10379
  "description": {
8154
10380
  "type": "string",
8155
10381
  "description": "Description of the step."
@@ -8210,6 +10436,112 @@
8210
10436
  "type": "string",
8211
10437
  "description": "ID of the step."
8212
10438
  },
10439
+ "sourceLocation": {
10440
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10441
+ "$schema": "http://json-schema.org/draft-07/schema#",
10442
+ "title": "sourceLocation",
10443
+ "type": "object",
10444
+ "readOnly": true,
10445
+ "additionalProperties": false,
10446
+ "properties": {
10447
+ "file": {
10448
+ "type": "string",
10449
+ "description": "Absolute path to the source file containing this test or step.",
10450
+ "readOnly": true
10451
+ },
10452
+ "startLine": {
10453
+ "type": "integer",
10454
+ "description": "1-based line number where this test or step starts.",
10455
+ "minimum": 1,
10456
+ "readOnly": true
10457
+ },
10458
+ "endLine": {
10459
+ "type": "integer",
10460
+ "description": "1-based line number where this test or step ends.",
10461
+ "minimum": 1,
10462
+ "readOnly": true
10463
+ },
10464
+ "startColumn": {
10465
+ "type": "integer",
10466
+ "description": "1-based column number where this test or step starts on startLine.",
10467
+ "minimum": 1,
10468
+ "readOnly": true
10469
+ },
10470
+ "endColumn": {
10471
+ "type": "integer",
10472
+ "description": "1-based column number where this test or step ends on endLine.",
10473
+ "minimum": 1,
10474
+ "readOnly": true
10475
+ },
10476
+ "startOffset": {
10477
+ "type": "integer",
10478
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10479
+ "minimum": 0,
10480
+ "readOnly": true
10481
+ },
10482
+ "endOffset": {
10483
+ "type": "integer",
10484
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10485
+ "minimum": 0,
10486
+ "readOnly": true
10487
+ },
10488
+ "originalText": {
10489
+ "type": "string",
10490
+ "description": "The original text content of this test or step as found in the source file.",
10491
+ "readOnly": true
10492
+ },
10493
+ "isInline": {
10494
+ "type": "boolean",
10495
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10496
+ "default": false,
10497
+ "readOnly": true
10498
+ },
10499
+ "isAutoDetected": {
10500
+ "type": "boolean",
10501
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10502
+ "default": false,
10503
+ "readOnly": true
10504
+ },
10505
+ "commentFormat": {
10506
+ "type": "string",
10507
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10508
+ "enum": [
10509
+ "htmlComment",
10510
+ "jsxComment",
10511
+ "linkReference"
10512
+ ],
10513
+ "readOnly": true
10514
+ }
10515
+ },
10516
+ "examples": [
10517
+ {
10518
+ "file": "/path/to/docs/getting-started.md",
10519
+ "startLine": 42,
10520
+ "endLine": 45,
10521
+ "startColumn": 1,
10522
+ "endColumn": 3,
10523
+ "startOffset": 1250,
10524
+ "endOffset": 1350,
10525
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10526
+ "isInline": true,
10527
+ "isAutoDetected": false,
10528
+ "commentFormat": "htmlComment"
10529
+ },
10530
+ {
10531
+ "file": "/path/to/docs/tutorial.md",
10532
+ "startLine": 78,
10533
+ "endLine": 78,
10534
+ "startColumn": 1,
10535
+ "endColumn": 45,
10536
+ "startOffset": 2100,
10537
+ "endOffset": 2145,
10538
+ "originalText": "[example link](https://example.com)",
10539
+ "isInline": true,
10540
+ "isAutoDetected": true,
10541
+ "commentFormat": "htmlComment"
10542
+ }
10543
+ ]
10544
+ },
8213
10545
  "description": {
8214
10546
  "type": "string",
8215
10547
  "description": "Description of the step."
@@ -8426,6 +10758,112 @@
8426
10758
  "type": "string",
8427
10759
  "description": "ID of the step."
8428
10760
  },
10761
+ "sourceLocation": {
10762
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10763
+ "$schema": "http://json-schema.org/draft-07/schema#",
10764
+ "title": "sourceLocation",
10765
+ "type": "object",
10766
+ "readOnly": true,
10767
+ "additionalProperties": false,
10768
+ "properties": {
10769
+ "file": {
10770
+ "type": "string",
10771
+ "description": "Absolute path to the source file containing this test or step.",
10772
+ "readOnly": true
10773
+ },
10774
+ "startLine": {
10775
+ "type": "integer",
10776
+ "description": "1-based line number where this test or step starts.",
10777
+ "minimum": 1,
10778
+ "readOnly": true
10779
+ },
10780
+ "endLine": {
10781
+ "type": "integer",
10782
+ "description": "1-based line number where this test or step ends.",
10783
+ "minimum": 1,
10784
+ "readOnly": true
10785
+ },
10786
+ "startColumn": {
10787
+ "type": "integer",
10788
+ "description": "1-based column number where this test or step starts on startLine.",
10789
+ "minimum": 1,
10790
+ "readOnly": true
10791
+ },
10792
+ "endColumn": {
10793
+ "type": "integer",
10794
+ "description": "1-based column number where this test or step ends on endLine.",
10795
+ "minimum": 1,
10796
+ "readOnly": true
10797
+ },
10798
+ "startOffset": {
10799
+ "type": "integer",
10800
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10801
+ "minimum": 0,
10802
+ "readOnly": true
10803
+ },
10804
+ "endOffset": {
10805
+ "type": "integer",
10806
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10807
+ "minimum": 0,
10808
+ "readOnly": true
10809
+ },
10810
+ "originalText": {
10811
+ "type": "string",
10812
+ "description": "The original text content of this test or step as found in the source file.",
10813
+ "readOnly": true
10814
+ },
10815
+ "isInline": {
10816
+ "type": "boolean",
10817
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10818
+ "default": false,
10819
+ "readOnly": true
10820
+ },
10821
+ "isAutoDetected": {
10822
+ "type": "boolean",
10823
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10824
+ "default": false,
10825
+ "readOnly": true
10826
+ },
10827
+ "commentFormat": {
10828
+ "type": "string",
10829
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10830
+ "enum": [
10831
+ "htmlComment",
10832
+ "jsxComment",
10833
+ "linkReference"
10834
+ ],
10835
+ "readOnly": true
10836
+ }
10837
+ },
10838
+ "examples": [
10839
+ {
10840
+ "file": "/path/to/docs/getting-started.md",
10841
+ "startLine": 42,
10842
+ "endLine": 45,
10843
+ "startColumn": 1,
10844
+ "endColumn": 3,
10845
+ "startOffset": 1250,
10846
+ "endOffset": 1350,
10847
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10848
+ "isInline": true,
10849
+ "isAutoDetected": false,
10850
+ "commentFormat": "htmlComment"
10851
+ },
10852
+ {
10853
+ "file": "/path/to/docs/tutorial.md",
10854
+ "startLine": 78,
10855
+ "endLine": 78,
10856
+ "startColumn": 1,
10857
+ "endColumn": 45,
10858
+ "startOffset": 2100,
10859
+ "endOffset": 2145,
10860
+ "originalText": "[example link](https://example.com)",
10861
+ "isInline": true,
10862
+ "isAutoDetected": true,
10863
+ "commentFormat": "htmlComment"
10864
+ }
10865
+ ]
10866
+ },
8429
10867
  "description": {
8430
10868
  "type": "string",
8431
10869
  "description": "Description of the step."
@@ -8749,6 +11187,112 @@
8749
11187
  "type": "string",
8750
11188
  "description": "ID of the step."
8751
11189
  },
11190
+ "sourceLocation": {
11191
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
11192
+ "$schema": "http://json-schema.org/draft-07/schema#",
11193
+ "title": "sourceLocation",
11194
+ "type": "object",
11195
+ "readOnly": true,
11196
+ "additionalProperties": false,
11197
+ "properties": {
11198
+ "file": {
11199
+ "type": "string",
11200
+ "description": "Absolute path to the source file containing this test or step.",
11201
+ "readOnly": true
11202
+ },
11203
+ "startLine": {
11204
+ "type": "integer",
11205
+ "description": "1-based line number where this test or step starts.",
11206
+ "minimum": 1,
11207
+ "readOnly": true
11208
+ },
11209
+ "endLine": {
11210
+ "type": "integer",
11211
+ "description": "1-based line number where this test or step ends.",
11212
+ "minimum": 1,
11213
+ "readOnly": true
11214
+ },
11215
+ "startColumn": {
11216
+ "type": "integer",
11217
+ "description": "1-based column number where this test or step starts on startLine.",
11218
+ "minimum": 1,
11219
+ "readOnly": true
11220
+ },
11221
+ "endColumn": {
11222
+ "type": "integer",
11223
+ "description": "1-based column number where this test or step ends on endLine.",
11224
+ "minimum": 1,
11225
+ "readOnly": true
11226
+ },
11227
+ "startOffset": {
11228
+ "type": "integer",
11229
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
11230
+ "minimum": 0,
11231
+ "readOnly": true
11232
+ },
11233
+ "endOffset": {
11234
+ "type": "integer",
11235
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
11236
+ "minimum": 0,
11237
+ "readOnly": true
11238
+ },
11239
+ "originalText": {
11240
+ "type": "string",
11241
+ "description": "The original text content of this test or step as found in the source file.",
11242
+ "readOnly": true
11243
+ },
11244
+ "isInline": {
11245
+ "type": "boolean",
11246
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
11247
+ "default": false,
11248
+ "readOnly": true
11249
+ },
11250
+ "isAutoDetected": {
11251
+ "type": "boolean",
11252
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
11253
+ "default": false,
11254
+ "readOnly": true
11255
+ },
11256
+ "commentFormat": {
11257
+ "type": "string",
11258
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
11259
+ "enum": [
11260
+ "htmlComment",
11261
+ "jsxComment",
11262
+ "linkReference"
11263
+ ],
11264
+ "readOnly": true
11265
+ }
11266
+ },
11267
+ "examples": [
11268
+ {
11269
+ "file": "/path/to/docs/getting-started.md",
11270
+ "startLine": 42,
11271
+ "endLine": 45,
11272
+ "startColumn": 1,
11273
+ "endColumn": 3,
11274
+ "startOffset": 1250,
11275
+ "endOffset": 1350,
11276
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
11277
+ "isInline": true,
11278
+ "isAutoDetected": false,
11279
+ "commentFormat": "htmlComment"
11280
+ },
11281
+ {
11282
+ "file": "/path/to/docs/tutorial.md",
11283
+ "startLine": 78,
11284
+ "endLine": 78,
11285
+ "startColumn": 1,
11286
+ "endColumn": 45,
11287
+ "startOffset": 2100,
11288
+ "endOffset": 2145,
11289
+ "originalText": "[example link](https://example.com)",
11290
+ "isInline": true,
11291
+ "isAutoDetected": true,
11292
+ "commentFormat": "htmlComment"
11293
+ }
11294
+ ]
11295
+ },
8752
11296
  "description": {
8753
11297
  "type": "string",
8754
11298
  "description": "Description of the step."
@@ -10169,6 +12713,112 @@
10169
12713
  "type": "string",
10170
12714
  "description": "ID of the step."
10171
12715
  },
12716
+ "sourceLocation": {
12717
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
12718
+ "$schema": "http://json-schema.org/draft-07/schema#",
12719
+ "title": "sourceLocation",
12720
+ "type": "object",
12721
+ "readOnly": true,
12722
+ "additionalProperties": false,
12723
+ "properties": {
12724
+ "file": {
12725
+ "type": "string",
12726
+ "description": "Absolute path to the source file containing this test or step.",
12727
+ "readOnly": true
12728
+ },
12729
+ "startLine": {
12730
+ "type": "integer",
12731
+ "description": "1-based line number where this test or step starts.",
12732
+ "minimum": 1,
12733
+ "readOnly": true
12734
+ },
12735
+ "endLine": {
12736
+ "type": "integer",
12737
+ "description": "1-based line number where this test or step ends.",
12738
+ "minimum": 1,
12739
+ "readOnly": true
12740
+ },
12741
+ "startColumn": {
12742
+ "type": "integer",
12743
+ "description": "1-based column number where this test or step starts on startLine.",
12744
+ "minimum": 1,
12745
+ "readOnly": true
12746
+ },
12747
+ "endColumn": {
12748
+ "type": "integer",
12749
+ "description": "1-based column number where this test or step ends on endLine.",
12750
+ "minimum": 1,
12751
+ "readOnly": true
12752
+ },
12753
+ "startOffset": {
12754
+ "type": "integer",
12755
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
12756
+ "minimum": 0,
12757
+ "readOnly": true
12758
+ },
12759
+ "endOffset": {
12760
+ "type": "integer",
12761
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
12762
+ "minimum": 0,
12763
+ "readOnly": true
12764
+ },
12765
+ "originalText": {
12766
+ "type": "string",
12767
+ "description": "The original text content of this test or step as found in the source file.",
12768
+ "readOnly": true
12769
+ },
12770
+ "isInline": {
12771
+ "type": "boolean",
12772
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
12773
+ "default": false,
12774
+ "readOnly": true
12775
+ },
12776
+ "isAutoDetected": {
12777
+ "type": "boolean",
12778
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
12779
+ "default": false,
12780
+ "readOnly": true
12781
+ },
12782
+ "commentFormat": {
12783
+ "type": "string",
12784
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
12785
+ "enum": [
12786
+ "htmlComment",
12787
+ "jsxComment",
12788
+ "linkReference"
12789
+ ],
12790
+ "readOnly": true
12791
+ }
12792
+ },
12793
+ "examples": [
12794
+ {
12795
+ "file": "/path/to/docs/getting-started.md",
12796
+ "startLine": 42,
12797
+ "endLine": 45,
12798
+ "startColumn": 1,
12799
+ "endColumn": 3,
12800
+ "startOffset": 1250,
12801
+ "endOffset": 1350,
12802
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
12803
+ "isInline": true,
12804
+ "isAutoDetected": false,
12805
+ "commentFormat": "htmlComment"
12806
+ },
12807
+ {
12808
+ "file": "/path/to/docs/tutorial.md",
12809
+ "startLine": 78,
12810
+ "endLine": 78,
12811
+ "startColumn": 1,
12812
+ "endColumn": 45,
12813
+ "startOffset": 2100,
12814
+ "endOffset": 2145,
12815
+ "originalText": "[example link](https://example.com)",
12816
+ "isInline": true,
12817
+ "isAutoDetected": true,
12818
+ "commentFormat": "htmlComment"
12819
+ }
12820
+ ]
12821
+ },
10172
12822
  "description": {
10173
12823
  "type": "string",
10174
12824
  "description": "Description of the step."
@@ -10659,22 +13309,128 @@
10659
13309
  "type": "string",
10660
13310
  "description": "ID of the step."
10661
13311
  },
10662
- "description": {
10663
- "type": "string",
10664
- "description": "Description of the step."
10665
- },
10666
- "unsafe": {
10667
- "type": "boolean",
10668
- "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
10669
- "default": false
10670
- },
10671
- "outputs": {
13312
+ "sourceLocation": {
13313
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
13314
+ "$schema": "http://json-schema.org/draft-07/schema#",
13315
+ "title": "sourceLocation",
10672
13316
  "type": "object",
10673
- "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
10674
- "default": {},
10675
- "patternProperties": {
10676
- "^[A-Za-z0-9_]+$": {
10677
- "type": "string",
13317
+ "readOnly": true,
13318
+ "additionalProperties": false,
13319
+ "properties": {
13320
+ "file": {
13321
+ "type": "string",
13322
+ "description": "Absolute path to the source file containing this test or step.",
13323
+ "readOnly": true
13324
+ },
13325
+ "startLine": {
13326
+ "type": "integer",
13327
+ "description": "1-based line number where this test or step starts.",
13328
+ "minimum": 1,
13329
+ "readOnly": true
13330
+ },
13331
+ "endLine": {
13332
+ "type": "integer",
13333
+ "description": "1-based line number where this test or step ends.",
13334
+ "minimum": 1,
13335
+ "readOnly": true
13336
+ },
13337
+ "startColumn": {
13338
+ "type": "integer",
13339
+ "description": "1-based column number where this test or step starts on startLine.",
13340
+ "minimum": 1,
13341
+ "readOnly": true
13342
+ },
13343
+ "endColumn": {
13344
+ "type": "integer",
13345
+ "description": "1-based column number where this test or step ends on endLine.",
13346
+ "minimum": 1,
13347
+ "readOnly": true
13348
+ },
13349
+ "startOffset": {
13350
+ "type": "integer",
13351
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
13352
+ "minimum": 0,
13353
+ "readOnly": true
13354
+ },
13355
+ "endOffset": {
13356
+ "type": "integer",
13357
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
13358
+ "minimum": 0,
13359
+ "readOnly": true
13360
+ },
13361
+ "originalText": {
13362
+ "type": "string",
13363
+ "description": "The original text content of this test or step as found in the source file.",
13364
+ "readOnly": true
13365
+ },
13366
+ "isInline": {
13367
+ "type": "boolean",
13368
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
13369
+ "default": false,
13370
+ "readOnly": true
13371
+ },
13372
+ "isAutoDetected": {
13373
+ "type": "boolean",
13374
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
13375
+ "default": false,
13376
+ "readOnly": true
13377
+ },
13378
+ "commentFormat": {
13379
+ "type": "string",
13380
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
13381
+ "enum": [
13382
+ "htmlComment",
13383
+ "jsxComment",
13384
+ "linkReference"
13385
+ ],
13386
+ "readOnly": true
13387
+ }
13388
+ },
13389
+ "examples": [
13390
+ {
13391
+ "file": "/path/to/docs/getting-started.md",
13392
+ "startLine": 42,
13393
+ "endLine": 45,
13394
+ "startColumn": 1,
13395
+ "endColumn": 3,
13396
+ "startOffset": 1250,
13397
+ "endOffset": 1350,
13398
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
13399
+ "isInline": true,
13400
+ "isAutoDetected": false,
13401
+ "commentFormat": "htmlComment"
13402
+ },
13403
+ {
13404
+ "file": "/path/to/docs/tutorial.md",
13405
+ "startLine": 78,
13406
+ "endLine": 78,
13407
+ "startColumn": 1,
13408
+ "endColumn": 45,
13409
+ "startOffset": 2100,
13410
+ "endOffset": 2145,
13411
+ "originalText": "[example link](https://example.com)",
13412
+ "isInline": true,
13413
+ "isAutoDetected": true,
13414
+ "commentFormat": "htmlComment"
13415
+ }
13416
+ ]
13417
+ },
13418
+ "description": {
13419
+ "type": "string",
13420
+ "description": "Description of the step."
13421
+ },
13422
+ "unsafe": {
13423
+ "type": "boolean",
13424
+ "description": "Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.",
13425
+ "default": false
13426
+ },
13427
+ "outputs": {
13428
+ "type": "object",
13429
+ "description": "Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.",
13430
+ "default": {},
13431
+ "patternProperties": {
13432
+ "^[A-Za-z0-9_]+$": {
13433
+ "type": "string",
10678
13434
  "description": "Runtime expression for a user-defined output value."
10679
13435
  }
10680
13436
  },
@@ -11724,6 +14480,112 @@
11724
14480
  "type": "string",
11725
14481
  "description": "ID of the step."
11726
14482
  },
14483
+ "sourceLocation": {
14484
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
14485
+ "$schema": "http://json-schema.org/draft-07/schema#",
14486
+ "title": "sourceLocation",
14487
+ "type": "object",
14488
+ "readOnly": true,
14489
+ "additionalProperties": false,
14490
+ "properties": {
14491
+ "file": {
14492
+ "type": "string",
14493
+ "description": "Absolute path to the source file containing this test or step.",
14494
+ "readOnly": true
14495
+ },
14496
+ "startLine": {
14497
+ "type": "integer",
14498
+ "description": "1-based line number where this test or step starts.",
14499
+ "minimum": 1,
14500
+ "readOnly": true
14501
+ },
14502
+ "endLine": {
14503
+ "type": "integer",
14504
+ "description": "1-based line number where this test or step ends.",
14505
+ "minimum": 1,
14506
+ "readOnly": true
14507
+ },
14508
+ "startColumn": {
14509
+ "type": "integer",
14510
+ "description": "1-based column number where this test or step starts on startLine.",
14511
+ "minimum": 1,
14512
+ "readOnly": true
14513
+ },
14514
+ "endColumn": {
14515
+ "type": "integer",
14516
+ "description": "1-based column number where this test or step ends on endLine.",
14517
+ "minimum": 1,
14518
+ "readOnly": true
14519
+ },
14520
+ "startOffset": {
14521
+ "type": "integer",
14522
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
14523
+ "minimum": 0,
14524
+ "readOnly": true
14525
+ },
14526
+ "endOffset": {
14527
+ "type": "integer",
14528
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
14529
+ "minimum": 0,
14530
+ "readOnly": true
14531
+ },
14532
+ "originalText": {
14533
+ "type": "string",
14534
+ "description": "The original text content of this test or step as found in the source file.",
14535
+ "readOnly": true
14536
+ },
14537
+ "isInline": {
14538
+ "type": "boolean",
14539
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
14540
+ "default": false,
14541
+ "readOnly": true
14542
+ },
14543
+ "isAutoDetected": {
14544
+ "type": "boolean",
14545
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
14546
+ "default": false,
14547
+ "readOnly": true
14548
+ },
14549
+ "commentFormat": {
14550
+ "type": "string",
14551
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
14552
+ "enum": [
14553
+ "htmlComment",
14554
+ "jsxComment",
14555
+ "linkReference"
14556
+ ],
14557
+ "readOnly": true
14558
+ }
14559
+ },
14560
+ "examples": [
14561
+ {
14562
+ "file": "/path/to/docs/getting-started.md",
14563
+ "startLine": 42,
14564
+ "endLine": 45,
14565
+ "startColumn": 1,
14566
+ "endColumn": 3,
14567
+ "startOffset": 1250,
14568
+ "endOffset": 1350,
14569
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
14570
+ "isInline": true,
14571
+ "isAutoDetected": false,
14572
+ "commentFormat": "htmlComment"
14573
+ },
14574
+ {
14575
+ "file": "/path/to/docs/tutorial.md",
14576
+ "startLine": 78,
14577
+ "endLine": 78,
14578
+ "startColumn": 1,
14579
+ "endColumn": 45,
14580
+ "startOffset": 2100,
14581
+ "endOffset": 2145,
14582
+ "originalText": "[example link](https://example.com)",
14583
+ "isInline": true,
14584
+ "isAutoDetected": true,
14585
+ "commentFormat": "htmlComment"
14586
+ }
14587
+ ]
14588
+ },
11727
14589
  "description": {
11728
14590
  "type": "string",
11729
14591
  "description": "Description of the step."
@@ -12031,6 +14893,112 @@
12031
14893
  "type": "string",
12032
14894
  "description": "ID of the step."
12033
14895
  },
14896
+ "sourceLocation": {
14897
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
14898
+ "$schema": "http://json-schema.org/draft-07/schema#",
14899
+ "title": "sourceLocation",
14900
+ "type": "object",
14901
+ "readOnly": true,
14902
+ "additionalProperties": false,
14903
+ "properties": {
14904
+ "file": {
14905
+ "type": "string",
14906
+ "description": "Absolute path to the source file containing this test or step.",
14907
+ "readOnly": true
14908
+ },
14909
+ "startLine": {
14910
+ "type": "integer",
14911
+ "description": "1-based line number where this test or step starts.",
14912
+ "minimum": 1,
14913
+ "readOnly": true
14914
+ },
14915
+ "endLine": {
14916
+ "type": "integer",
14917
+ "description": "1-based line number where this test or step ends.",
14918
+ "minimum": 1,
14919
+ "readOnly": true
14920
+ },
14921
+ "startColumn": {
14922
+ "type": "integer",
14923
+ "description": "1-based column number where this test or step starts on startLine.",
14924
+ "minimum": 1,
14925
+ "readOnly": true
14926
+ },
14927
+ "endColumn": {
14928
+ "type": "integer",
14929
+ "description": "1-based column number where this test or step ends on endLine.",
14930
+ "minimum": 1,
14931
+ "readOnly": true
14932
+ },
14933
+ "startOffset": {
14934
+ "type": "integer",
14935
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
14936
+ "minimum": 0,
14937
+ "readOnly": true
14938
+ },
14939
+ "endOffset": {
14940
+ "type": "integer",
14941
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
14942
+ "minimum": 0,
14943
+ "readOnly": true
14944
+ },
14945
+ "originalText": {
14946
+ "type": "string",
14947
+ "description": "The original text content of this test or step as found in the source file.",
14948
+ "readOnly": true
14949
+ },
14950
+ "isInline": {
14951
+ "type": "boolean",
14952
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
14953
+ "default": false,
14954
+ "readOnly": true
14955
+ },
14956
+ "isAutoDetected": {
14957
+ "type": "boolean",
14958
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
14959
+ "default": false,
14960
+ "readOnly": true
14961
+ },
14962
+ "commentFormat": {
14963
+ "type": "string",
14964
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
14965
+ "enum": [
14966
+ "htmlComment",
14967
+ "jsxComment",
14968
+ "linkReference"
14969
+ ],
14970
+ "readOnly": true
14971
+ }
14972
+ },
14973
+ "examples": [
14974
+ {
14975
+ "file": "/path/to/docs/getting-started.md",
14976
+ "startLine": 42,
14977
+ "endLine": 45,
14978
+ "startColumn": 1,
14979
+ "endColumn": 3,
14980
+ "startOffset": 1250,
14981
+ "endOffset": 1350,
14982
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
14983
+ "isInline": true,
14984
+ "isAutoDetected": false,
14985
+ "commentFormat": "htmlComment"
14986
+ },
14987
+ {
14988
+ "file": "/path/to/docs/tutorial.md",
14989
+ "startLine": 78,
14990
+ "endLine": 78,
14991
+ "startColumn": 1,
14992
+ "endColumn": 45,
14993
+ "startOffset": 2100,
14994
+ "endOffset": 2145,
14995
+ "originalText": "[example link](https://example.com)",
14996
+ "isInline": true,
14997
+ "isAutoDetected": true,
14998
+ "commentFormat": "htmlComment"
14999
+ }
15000
+ ]
15001
+ },
12034
15002
  "description": {
12035
15003
  "type": "string",
12036
15004
  "description": "Description of the step."
@@ -12324,6 +15292,112 @@
12324
15292
  "type": "string",
12325
15293
  "description": "ID of the step."
12326
15294
  },
15295
+ "sourceLocation": {
15296
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15297
+ "$schema": "http://json-schema.org/draft-07/schema#",
15298
+ "title": "sourceLocation",
15299
+ "type": "object",
15300
+ "readOnly": true,
15301
+ "additionalProperties": false,
15302
+ "properties": {
15303
+ "file": {
15304
+ "type": "string",
15305
+ "description": "Absolute path to the source file containing this test or step.",
15306
+ "readOnly": true
15307
+ },
15308
+ "startLine": {
15309
+ "type": "integer",
15310
+ "description": "1-based line number where this test or step starts.",
15311
+ "minimum": 1,
15312
+ "readOnly": true
15313
+ },
15314
+ "endLine": {
15315
+ "type": "integer",
15316
+ "description": "1-based line number where this test or step ends.",
15317
+ "minimum": 1,
15318
+ "readOnly": true
15319
+ },
15320
+ "startColumn": {
15321
+ "type": "integer",
15322
+ "description": "1-based column number where this test or step starts on startLine.",
15323
+ "minimum": 1,
15324
+ "readOnly": true
15325
+ },
15326
+ "endColumn": {
15327
+ "type": "integer",
15328
+ "description": "1-based column number where this test or step ends on endLine.",
15329
+ "minimum": 1,
15330
+ "readOnly": true
15331
+ },
15332
+ "startOffset": {
15333
+ "type": "integer",
15334
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15335
+ "minimum": 0,
15336
+ "readOnly": true
15337
+ },
15338
+ "endOffset": {
15339
+ "type": "integer",
15340
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15341
+ "minimum": 0,
15342
+ "readOnly": true
15343
+ },
15344
+ "originalText": {
15345
+ "type": "string",
15346
+ "description": "The original text content of this test or step as found in the source file.",
15347
+ "readOnly": true
15348
+ },
15349
+ "isInline": {
15350
+ "type": "boolean",
15351
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15352
+ "default": false,
15353
+ "readOnly": true
15354
+ },
15355
+ "isAutoDetected": {
15356
+ "type": "boolean",
15357
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15358
+ "default": false,
15359
+ "readOnly": true
15360
+ },
15361
+ "commentFormat": {
15362
+ "type": "string",
15363
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15364
+ "enum": [
15365
+ "htmlComment",
15366
+ "jsxComment",
15367
+ "linkReference"
15368
+ ],
15369
+ "readOnly": true
15370
+ }
15371
+ },
15372
+ "examples": [
15373
+ {
15374
+ "file": "/path/to/docs/getting-started.md",
15375
+ "startLine": 42,
15376
+ "endLine": 45,
15377
+ "startColumn": 1,
15378
+ "endColumn": 3,
15379
+ "startOffset": 1250,
15380
+ "endOffset": 1350,
15381
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
15382
+ "isInline": true,
15383
+ "isAutoDetected": false,
15384
+ "commentFormat": "htmlComment"
15385
+ },
15386
+ {
15387
+ "file": "/path/to/docs/tutorial.md",
15388
+ "startLine": 78,
15389
+ "endLine": 78,
15390
+ "startColumn": 1,
15391
+ "endColumn": 45,
15392
+ "startOffset": 2100,
15393
+ "endOffset": 2145,
15394
+ "originalText": "[example link](https://example.com)",
15395
+ "isInline": true,
15396
+ "isAutoDetected": true,
15397
+ "commentFormat": "htmlComment"
15398
+ }
15399
+ ]
15400
+ },
12327
15401
  "description": {
12328
15402
  "type": "string",
12329
15403
  "description": "Description of the step."
@@ -12639,6 +15713,112 @@
12639
15713
  "type": "string",
12640
15714
  "description": "ID of the step."
12641
15715
  },
15716
+ "sourceLocation": {
15717
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15718
+ "$schema": "http://json-schema.org/draft-07/schema#",
15719
+ "title": "sourceLocation",
15720
+ "type": "object",
15721
+ "readOnly": true,
15722
+ "additionalProperties": false,
15723
+ "properties": {
15724
+ "file": {
15725
+ "type": "string",
15726
+ "description": "Absolute path to the source file containing this test or step.",
15727
+ "readOnly": true
15728
+ },
15729
+ "startLine": {
15730
+ "type": "integer",
15731
+ "description": "1-based line number where this test or step starts.",
15732
+ "minimum": 1,
15733
+ "readOnly": true
15734
+ },
15735
+ "endLine": {
15736
+ "type": "integer",
15737
+ "description": "1-based line number where this test or step ends.",
15738
+ "minimum": 1,
15739
+ "readOnly": true
15740
+ },
15741
+ "startColumn": {
15742
+ "type": "integer",
15743
+ "description": "1-based column number where this test or step starts on startLine.",
15744
+ "minimum": 1,
15745
+ "readOnly": true
15746
+ },
15747
+ "endColumn": {
15748
+ "type": "integer",
15749
+ "description": "1-based column number where this test or step ends on endLine.",
15750
+ "minimum": 1,
15751
+ "readOnly": true
15752
+ },
15753
+ "startOffset": {
15754
+ "type": "integer",
15755
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15756
+ "minimum": 0,
15757
+ "readOnly": true
15758
+ },
15759
+ "endOffset": {
15760
+ "type": "integer",
15761
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15762
+ "minimum": 0,
15763
+ "readOnly": true
15764
+ },
15765
+ "originalText": {
15766
+ "type": "string",
15767
+ "description": "The original text content of this test or step as found in the source file.",
15768
+ "readOnly": true
15769
+ },
15770
+ "isInline": {
15771
+ "type": "boolean",
15772
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15773
+ "default": false,
15774
+ "readOnly": true
15775
+ },
15776
+ "isAutoDetected": {
15777
+ "type": "boolean",
15778
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15779
+ "default": false,
15780
+ "readOnly": true
15781
+ },
15782
+ "commentFormat": {
15783
+ "type": "string",
15784
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15785
+ "enum": [
15786
+ "htmlComment",
15787
+ "jsxComment",
15788
+ "linkReference"
15789
+ ],
15790
+ "readOnly": true
15791
+ }
15792
+ },
15793
+ "examples": [
15794
+ {
15795
+ "file": "/path/to/docs/getting-started.md",
15796
+ "startLine": 42,
15797
+ "endLine": 45,
15798
+ "startColumn": 1,
15799
+ "endColumn": 3,
15800
+ "startOffset": 1250,
15801
+ "endOffset": 1350,
15802
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
15803
+ "isInline": true,
15804
+ "isAutoDetected": false,
15805
+ "commentFormat": "htmlComment"
15806
+ },
15807
+ {
15808
+ "file": "/path/to/docs/tutorial.md",
15809
+ "startLine": 78,
15810
+ "endLine": 78,
15811
+ "startColumn": 1,
15812
+ "endColumn": 45,
15813
+ "startOffset": 2100,
15814
+ "endOffset": 2145,
15815
+ "originalText": "[example link](https://example.com)",
15816
+ "isInline": true,
15817
+ "isAutoDetected": true,
15818
+ "commentFormat": "htmlComment"
15819
+ }
15820
+ ]
15821
+ },
12642
15822
  "description": {
12643
15823
  "type": "string",
12644
15824
  "description": "Description of the step."
@@ -13291,6 +16471,112 @@
13291
16471
  "type": "string",
13292
16472
  "description": "ID of the step."
13293
16473
  },
16474
+ "sourceLocation": {
16475
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
16476
+ "$schema": "http://json-schema.org/draft-07/schema#",
16477
+ "title": "sourceLocation",
16478
+ "type": "object",
16479
+ "readOnly": true,
16480
+ "additionalProperties": false,
16481
+ "properties": {
16482
+ "file": {
16483
+ "type": "string",
16484
+ "description": "Absolute path to the source file containing this test or step.",
16485
+ "readOnly": true
16486
+ },
16487
+ "startLine": {
16488
+ "type": "integer",
16489
+ "description": "1-based line number where this test or step starts.",
16490
+ "minimum": 1,
16491
+ "readOnly": true
16492
+ },
16493
+ "endLine": {
16494
+ "type": "integer",
16495
+ "description": "1-based line number where this test or step ends.",
16496
+ "minimum": 1,
16497
+ "readOnly": true
16498
+ },
16499
+ "startColumn": {
16500
+ "type": "integer",
16501
+ "description": "1-based column number where this test or step starts on startLine.",
16502
+ "minimum": 1,
16503
+ "readOnly": true
16504
+ },
16505
+ "endColumn": {
16506
+ "type": "integer",
16507
+ "description": "1-based column number where this test or step ends on endLine.",
16508
+ "minimum": 1,
16509
+ "readOnly": true
16510
+ },
16511
+ "startOffset": {
16512
+ "type": "integer",
16513
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
16514
+ "minimum": 0,
16515
+ "readOnly": true
16516
+ },
16517
+ "endOffset": {
16518
+ "type": "integer",
16519
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
16520
+ "minimum": 0,
16521
+ "readOnly": true
16522
+ },
16523
+ "originalText": {
16524
+ "type": "string",
16525
+ "description": "The original text content of this test or step as found in the source file.",
16526
+ "readOnly": true
16527
+ },
16528
+ "isInline": {
16529
+ "type": "boolean",
16530
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
16531
+ "default": false,
16532
+ "readOnly": true
16533
+ },
16534
+ "isAutoDetected": {
16535
+ "type": "boolean",
16536
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
16537
+ "default": false,
16538
+ "readOnly": true
16539
+ },
16540
+ "commentFormat": {
16541
+ "type": "string",
16542
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
16543
+ "enum": [
16544
+ "htmlComment",
16545
+ "jsxComment",
16546
+ "linkReference"
16547
+ ],
16548
+ "readOnly": true
16549
+ }
16550
+ },
16551
+ "examples": [
16552
+ {
16553
+ "file": "/path/to/docs/getting-started.md",
16554
+ "startLine": 42,
16555
+ "endLine": 45,
16556
+ "startColumn": 1,
16557
+ "endColumn": 3,
16558
+ "startOffset": 1250,
16559
+ "endOffset": 1350,
16560
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
16561
+ "isInline": true,
16562
+ "isAutoDetected": false,
16563
+ "commentFormat": "htmlComment"
16564
+ },
16565
+ {
16566
+ "file": "/path/to/docs/tutorial.md",
16567
+ "startLine": 78,
16568
+ "endLine": 78,
16569
+ "startColumn": 1,
16570
+ "endColumn": 45,
16571
+ "startOffset": 2100,
16572
+ "endOffset": 2145,
16573
+ "originalText": "[example link](https://example.com)",
16574
+ "isInline": true,
16575
+ "isAutoDetected": true,
16576
+ "commentFormat": "htmlComment"
16577
+ }
16578
+ ]
16579
+ },
13294
16580
  "description": {
13295
16581
  "type": "string",
13296
16582
  "description": "Description of the step."
@@ -13607,6 +16893,112 @@
13607
16893
  "type": "string",
13608
16894
  "description": "ID of the step."
13609
16895
  },
16896
+ "sourceLocation": {
16897
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
16898
+ "$schema": "http://json-schema.org/draft-07/schema#",
16899
+ "title": "sourceLocation",
16900
+ "type": "object",
16901
+ "readOnly": true,
16902
+ "additionalProperties": false,
16903
+ "properties": {
16904
+ "file": {
16905
+ "type": "string",
16906
+ "description": "Absolute path to the source file containing this test or step.",
16907
+ "readOnly": true
16908
+ },
16909
+ "startLine": {
16910
+ "type": "integer",
16911
+ "description": "1-based line number where this test or step starts.",
16912
+ "minimum": 1,
16913
+ "readOnly": true
16914
+ },
16915
+ "endLine": {
16916
+ "type": "integer",
16917
+ "description": "1-based line number where this test or step ends.",
16918
+ "minimum": 1,
16919
+ "readOnly": true
16920
+ },
16921
+ "startColumn": {
16922
+ "type": "integer",
16923
+ "description": "1-based column number where this test or step starts on startLine.",
16924
+ "minimum": 1,
16925
+ "readOnly": true
16926
+ },
16927
+ "endColumn": {
16928
+ "type": "integer",
16929
+ "description": "1-based column number where this test or step ends on endLine.",
16930
+ "minimum": 1,
16931
+ "readOnly": true
16932
+ },
16933
+ "startOffset": {
16934
+ "type": "integer",
16935
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
16936
+ "minimum": 0,
16937
+ "readOnly": true
16938
+ },
16939
+ "endOffset": {
16940
+ "type": "integer",
16941
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
16942
+ "minimum": 0,
16943
+ "readOnly": true
16944
+ },
16945
+ "originalText": {
16946
+ "type": "string",
16947
+ "description": "The original text content of this test or step as found in the source file.",
16948
+ "readOnly": true
16949
+ },
16950
+ "isInline": {
16951
+ "type": "boolean",
16952
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
16953
+ "default": false,
16954
+ "readOnly": true
16955
+ },
16956
+ "isAutoDetected": {
16957
+ "type": "boolean",
16958
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
16959
+ "default": false,
16960
+ "readOnly": true
16961
+ },
16962
+ "commentFormat": {
16963
+ "type": "string",
16964
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
16965
+ "enum": [
16966
+ "htmlComment",
16967
+ "jsxComment",
16968
+ "linkReference"
16969
+ ],
16970
+ "readOnly": true
16971
+ }
16972
+ },
16973
+ "examples": [
16974
+ {
16975
+ "file": "/path/to/docs/getting-started.md",
16976
+ "startLine": 42,
16977
+ "endLine": 45,
16978
+ "startColumn": 1,
16979
+ "endColumn": 3,
16980
+ "startOffset": 1250,
16981
+ "endOffset": 1350,
16982
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
16983
+ "isInline": true,
16984
+ "isAutoDetected": false,
16985
+ "commentFormat": "htmlComment"
16986
+ },
16987
+ {
16988
+ "file": "/path/to/docs/tutorial.md",
16989
+ "startLine": 78,
16990
+ "endLine": 78,
16991
+ "startColumn": 1,
16992
+ "endColumn": 45,
16993
+ "startOffset": 2100,
16994
+ "endOffset": 2145,
16995
+ "originalText": "[example link](https://example.com)",
16996
+ "isInline": true,
16997
+ "isAutoDetected": true,
16998
+ "commentFormat": "htmlComment"
16999
+ }
17000
+ ]
17001
+ },
13610
17002
  "description": {
13611
17003
  "type": "string",
13612
17004
  "description": "Description of the step."
@@ -13779,6 +17171,112 @@
13779
17171
  "type": "string",
13780
17172
  "description": "ID of the step."
13781
17173
  },
17174
+ "sourceLocation": {
17175
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17176
+ "$schema": "http://json-schema.org/draft-07/schema#",
17177
+ "title": "sourceLocation",
17178
+ "type": "object",
17179
+ "readOnly": true,
17180
+ "additionalProperties": false,
17181
+ "properties": {
17182
+ "file": {
17183
+ "type": "string",
17184
+ "description": "Absolute path to the source file containing this test or step.",
17185
+ "readOnly": true
17186
+ },
17187
+ "startLine": {
17188
+ "type": "integer",
17189
+ "description": "1-based line number where this test or step starts.",
17190
+ "minimum": 1,
17191
+ "readOnly": true
17192
+ },
17193
+ "endLine": {
17194
+ "type": "integer",
17195
+ "description": "1-based line number where this test or step ends.",
17196
+ "minimum": 1,
17197
+ "readOnly": true
17198
+ },
17199
+ "startColumn": {
17200
+ "type": "integer",
17201
+ "description": "1-based column number where this test or step starts on startLine.",
17202
+ "minimum": 1,
17203
+ "readOnly": true
17204
+ },
17205
+ "endColumn": {
17206
+ "type": "integer",
17207
+ "description": "1-based column number where this test or step ends on endLine.",
17208
+ "minimum": 1,
17209
+ "readOnly": true
17210
+ },
17211
+ "startOffset": {
17212
+ "type": "integer",
17213
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17214
+ "minimum": 0,
17215
+ "readOnly": true
17216
+ },
17217
+ "endOffset": {
17218
+ "type": "integer",
17219
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17220
+ "minimum": 0,
17221
+ "readOnly": true
17222
+ },
17223
+ "originalText": {
17224
+ "type": "string",
17225
+ "description": "The original text content of this test or step as found in the source file.",
17226
+ "readOnly": true
17227
+ },
17228
+ "isInline": {
17229
+ "type": "boolean",
17230
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17231
+ "default": false,
17232
+ "readOnly": true
17233
+ },
17234
+ "isAutoDetected": {
17235
+ "type": "boolean",
17236
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17237
+ "default": false,
17238
+ "readOnly": true
17239
+ },
17240
+ "commentFormat": {
17241
+ "type": "string",
17242
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17243
+ "enum": [
17244
+ "htmlComment",
17245
+ "jsxComment",
17246
+ "linkReference"
17247
+ ],
17248
+ "readOnly": true
17249
+ }
17250
+ },
17251
+ "examples": [
17252
+ {
17253
+ "file": "/path/to/docs/getting-started.md",
17254
+ "startLine": 42,
17255
+ "endLine": 45,
17256
+ "startColumn": 1,
17257
+ "endColumn": 3,
17258
+ "startOffset": 1250,
17259
+ "endOffset": 1350,
17260
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17261
+ "isInline": true,
17262
+ "isAutoDetected": false,
17263
+ "commentFormat": "htmlComment"
17264
+ },
17265
+ {
17266
+ "file": "/path/to/docs/tutorial.md",
17267
+ "startLine": 78,
17268
+ "endLine": 78,
17269
+ "startColumn": 1,
17270
+ "endColumn": 45,
17271
+ "startOffset": 2100,
17272
+ "endOffset": 2145,
17273
+ "originalText": "[example link](https://example.com)",
17274
+ "isInline": true,
17275
+ "isAutoDetected": true,
17276
+ "commentFormat": "htmlComment"
17277
+ }
17278
+ ]
17279
+ },
13782
17280
  "description": {
13783
17281
  "type": "string",
13784
17282
  "description": "Description of the step."
@@ -13864,6 +17362,112 @@
13864
17362
  "type": "string",
13865
17363
  "description": "ID of the step."
13866
17364
  },
17365
+ "sourceLocation": {
17366
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17367
+ "$schema": "http://json-schema.org/draft-07/schema#",
17368
+ "title": "sourceLocation",
17369
+ "type": "object",
17370
+ "readOnly": true,
17371
+ "additionalProperties": false,
17372
+ "properties": {
17373
+ "file": {
17374
+ "type": "string",
17375
+ "description": "Absolute path to the source file containing this test or step.",
17376
+ "readOnly": true
17377
+ },
17378
+ "startLine": {
17379
+ "type": "integer",
17380
+ "description": "1-based line number where this test or step starts.",
17381
+ "minimum": 1,
17382
+ "readOnly": true
17383
+ },
17384
+ "endLine": {
17385
+ "type": "integer",
17386
+ "description": "1-based line number where this test or step ends.",
17387
+ "minimum": 1,
17388
+ "readOnly": true
17389
+ },
17390
+ "startColumn": {
17391
+ "type": "integer",
17392
+ "description": "1-based column number where this test or step starts on startLine.",
17393
+ "minimum": 1,
17394
+ "readOnly": true
17395
+ },
17396
+ "endColumn": {
17397
+ "type": "integer",
17398
+ "description": "1-based column number where this test or step ends on endLine.",
17399
+ "minimum": 1,
17400
+ "readOnly": true
17401
+ },
17402
+ "startOffset": {
17403
+ "type": "integer",
17404
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17405
+ "minimum": 0,
17406
+ "readOnly": true
17407
+ },
17408
+ "endOffset": {
17409
+ "type": "integer",
17410
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17411
+ "minimum": 0,
17412
+ "readOnly": true
17413
+ },
17414
+ "originalText": {
17415
+ "type": "string",
17416
+ "description": "The original text content of this test or step as found in the source file.",
17417
+ "readOnly": true
17418
+ },
17419
+ "isInline": {
17420
+ "type": "boolean",
17421
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17422
+ "default": false,
17423
+ "readOnly": true
17424
+ },
17425
+ "isAutoDetected": {
17426
+ "type": "boolean",
17427
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17428
+ "default": false,
17429
+ "readOnly": true
17430
+ },
17431
+ "commentFormat": {
17432
+ "type": "string",
17433
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17434
+ "enum": [
17435
+ "htmlComment",
17436
+ "jsxComment",
17437
+ "linkReference"
17438
+ ],
17439
+ "readOnly": true
17440
+ }
17441
+ },
17442
+ "examples": [
17443
+ {
17444
+ "file": "/path/to/docs/getting-started.md",
17445
+ "startLine": 42,
17446
+ "endLine": 45,
17447
+ "startColumn": 1,
17448
+ "endColumn": 3,
17449
+ "startOffset": 1250,
17450
+ "endOffset": 1350,
17451
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17452
+ "isInline": true,
17453
+ "isAutoDetected": false,
17454
+ "commentFormat": "htmlComment"
17455
+ },
17456
+ {
17457
+ "file": "/path/to/docs/tutorial.md",
17458
+ "startLine": 78,
17459
+ "endLine": 78,
17460
+ "startColumn": 1,
17461
+ "endColumn": 45,
17462
+ "startOffset": 2100,
17463
+ "endOffset": 2145,
17464
+ "originalText": "[example link](https://example.com)",
17465
+ "isInline": true,
17466
+ "isAutoDetected": true,
17467
+ "commentFormat": "htmlComment"
17468
+ }
17469
+ ]
17470
+ },
13867
17471
  "description": {
13868
17472
  "type": "string",
13869
17473
  "description": "Description of the step."
@@ -13944,6 +17548,112 @@
13944
17548
  "type": "string",
13945
17549
  "description": "ID of the step."
13946
17550
  },
17551
+ "sourceLocation": {
17552
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17553
+ "$schema": "http://json-schema.org/draft-07/schema#",
17554
+ "title": "sourceLocation",
17555
+ "type": "object",
17556
+ "readOnly": true,
17557
+ "additionalProperties": false,
17558
+ "properties": {
17559
+ "file": {
17560
+ "type": "string",
17561
+ "description": "Absolute path to the source file containing this test or step.",
17562
+ "readOnly": true
17563
+ },
17564
+ "startLine": {
17565
+ "type": "integer",
17566
+ "description": "1-based line number where this test or step starts.",
17567
+ "minimum": 1,
17568
+ "readOnly": true
17569
+ },
17570
+ "endLine": {
17571
+ "type": "integer",
17572
+ "description": "1-based line number where this test or step ends.",
17573
+ "minimum": 1,
17574
+ "readOnly": true
17575
+ },
17576
+ "startColumn": {
17577
+ "type": "integer",
17578
+ "description": "1-based column number where this test or step starts on startLine.",
17579
+ "minimum": 1,
17580
+ "readOnly": true
17581
+ },
17582
+ "endColumn": {
17583
+ "type": "integer",
17584
+ "description": "1-based column number where this test or step ends on endLine.",
17585
+ "minimum": 1,
17586
+ "readOnly": true
17587
+ },
17588
+ "startOffset": {
17589
+ "type": "integer",
17590
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17591
+ "minimum": 0,
17592
+ "readOnly": true
17593
+ },
17594
+ "endOffset": {
17595
+ "type": "integer",
17596
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17597
+ "minimum": 0,
17598
+ "readOnly": true
17599
+ },
17600
+ "originalText": {
17601
+ "type": "string",
17602
+ "description": "The original text content of this test or step as found in the source file.",
17603
+ "readOnly": true
17604
+ },
17605
+ "isInline": {
17606
+ "type": "boolean",
17607
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17608
+ "default": false,
17609
+ "readOnly": true
17610
+ },
17611
+ "isAutoDetected": {
17612
+ "type": "boolean",
17613
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17614
+ "default": false,
17615
+ "readOnly": true
17616
+ },
17617
+ "commentFormat": {
17618
+ "type": "string",
17619
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17620
+ "enum": [
17621
+ "htmlComment",
17622
+ "jsxComment",
17623
+ "linkReference"
17624
+ ],
17625
+ "readOnly": true
17626
+ }
17627
+ },
17628
+ "examples": [
17629
+ {
17630
+ "file": "/path/to/docs/getting-started.md",
17631
+ "startLine": 42,
17632
+ "endLine": 45,
17633
+ "startColumn": 1,
17634
+ "endColumn": 3,
17635
+ "startOffset": 1250,
17636
+ "endOffset": 1350,
17637
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17638
+ "isInline": true,
17639
+ "isAutoDetected": false,
17640
+ "commentFormat": "htmlComment"
17641
+ },
17642
+ {
17643
+ "file": "/path/to/docs/tutorial.md",
17644
+ "startLine": 78,
17645
+ "endLine": 78,
17646
+ "startColumn": 1,
17647
+ "endColumn": 45,
17648
+ "startOffset": 2100,
17649
+ "endOffset": 2145,
17650
+ "originalText": "[example link](https://example.com)",
17651
+ "isInline": true,
17652
+ "isAutoDetected": true,
17653
+ "commentFormat": "htmlComment"
17654
+ }
17655
+ ]
17656
+ },
13947
17657
  "description": {
13948
17658
  "type": "string",
13949
17659
  "description": "Description of the step."
@@ -14511,6 +18221,112 @@
14511
18221
  "type": "string",
14512
18222
  "description": "ID of the step."
14513
18223
  },
18224
+ "sourceLocation": {
18225
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
18226
+ "$schema": "http://json-schema.org/draft-07/schema#",
18227
+ "title": "sourceLocation",
18228
+ "type": "object",
18229
+ "readOnly": true,
18230
+ "additionalProperties": false,
18231
+ "properties": {
18232
+ "file": {
18233
+ "type": "string",
18234
+ "description": "Absolute path to the source file containing this test or step.",
18235
+ "readOnly": true
18236
+ },
18237
+ "startLine": {
18238
+ "type": "integer",
18239
+ "description": "1-based line number where this test or step starts.",
18240
+ "minimum": 1,
18241
+ "readOnly": true
18242
+ },
18243
+ "endLine": {
18244
+ "type": "integer",
18245
+ "description": "1-based line number where this test or step ends.",
18246
+ "minimum": 1,
18247
+ "readOnly": true
18248
+ },
18249
+ "startColumn": {
18250
+ "type": "integer",
18251
+ "description": "1-based column number where this test or step starts on startLine.",
18252
+ "minimum": 1,
18253
+ "readOnly": true
18254
+ },
18255
+ "endColumn": {
18256
+ "type": "integer",
18257
+ "description": "1-based column number where this test or step ends on endLine.",
18258
+ "minimum": 1,
18259
+ "readOnly": true
18260
+ },
18261
+ "startOffset": {
18262
+ "type": "integer",
18263
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18264
+ "minimum": 0,
18265
+ "readOnly": true
18266
+ },
18267
+ "endOffset": {
18268
+ "type": "integer",
18269
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18270
+ "minimum": 0,
18271
+ "readOnly": true
18272
+ },
18273
+ "originalText": {
18274
+ "type": "string",
18275
+ "description": "The original text content of this test or step as found in the source file.",
18276
+ "readOnly": true
18277
+ },
18278
+ "isInline": {
18279
+ "type": "boolean",
18280
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18281
+ "default": false,
18282
+ "readOnly": true
18283
+ },
18284
+ "isAutoDetected": {
18285
+ "type": "boolean",
18286
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18287
+ "default": false,
18288
+ "readOnly": true
18289
+ },
18290
+ "commentFormat": {
18291
+ "type": "string",
18292
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18293
+ "enum": [
18294
+ "htmlComment",
18295
+ "jsxComment",
18296
+ "linkReference"
18297
+ ],
18298
+ "readOnly": true
18299
+ }
18300
+ },
18301
+ "examples": [
18302
+ {
18303
+ "file": "/path/to/docs/getting-started.md",
18304
+ "startLine": 42,
18305
+ "endLine": 45,
18306
+ "startColumn": 1,
18307
+ "endColumn": 3,
18308
+ "startOffset": 1250,
18309
+ "endOffset": 1350,
18310
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18311
+ "isInline": true,
18312
+ "isAutoDetected": false,
18313
+ "commentFormat": "htmlComment"
18314
+ },
18315
+ {
18316
+ "file": "/path/to/docs/tutorial.md",
18317
+ "startLine": 78,
18318
+ "endLine": 78,
18319
+ "startColumn": 1,
18320
+ "endColumn": 45,
18321
+ "startOffset": 2100,
18322
+ "endOffset": 2145,
18323
+ "originalText": "[example link](https://example.com)",
18324
+ "isInline": true,
18325
+ "isAutoDetected": true,
18326
+ "commentFormat": "htmlComment"
18327
+ }
18328
+ ]
18329
+ },
14514
18330
  "description": {
14515
18331
  "type": "string",
14516
18332
  "description": "Description of the step."
@@ -14810,6 +18626,112 @@
14810
18626
  "type": "string",
14811
18627
  "description": "ID of the step."
14812
18628
  },
18629
+ "sourceLocation": {
18630
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
18631
+ "$schema": "http://json-schema.org/draft-07/schema#",
18632
+ "title": "sourceLocation",
18633
+ "type": "object",
18634
+ "readOnly": true,
18635
+ "additionalProperties": false,
18636
+ "properties": {
18637
+ "file": {
18638
+ "type": "string",
18639
+ "description": "Absolute path to the source file containing this test or step.",
18640
+ "readOnly": true
18641
+ },
18642
+ "startLine": {
18643
+ "type": "integer",
18644
+ "description": "1-based line number where this test or step starts.",
18645
+ "minimum": 1,
18646
+ "readOnly": true
18647
+ },
18648
+ "endLine": {
18649
+ "type": "integer",
18650
+ "description": "1-based line number where this test or step ends.",
18651
+ "minimum": 1,
18652
+ "readOnly": true
18653
+ },
18654
+ "startColumn": {
18655
+ "type": "integer",
18656
+ "description": "1-based column number where this test or step starts on startLine.",
18657
+ "minimum": 1,
18658
+ "readOnly": true
18659
+ },
18660
+ "endColumn": {
18661
+ "type": "integer",
18662
+ "description": "1-based column number where this test or step ends on endLine.",
18663
+ "minimum": 1,
18664
+ "readOnly": true
18665
+ },
18666
+ "startOffset": {
18667
+ "type": "integer",
18668
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18669
+ "minimum": 0,
18670
+ "readOnly": true
18671
+ },
18672
+ "endOffset": {
18673
+ "type": "integer",
18674
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18675
+ "minimum": 0,
18676
+ "readOnly": true
18677
+ },
18678
+ "originalText": {
18679
+ "type": "string",
18680
+ "description": "The original text content of this test or step as found in the source file.",
18681
+ "readOnly": true
18682
+ },
18683
+ "isInline": {
18684
+ "type": "boolean",
18685
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18686
+ "default": false,
18687
+ "readOnly": true
18688
+ },
18689
+ "isAutoDetected": {
18690
+ "type": "boolean",
18691
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18692
+ "default": false,
18693
+ "readOnly": true
18694
+ },
18695
+ "commentFormat": {
18696
+ "type": "string",
18697
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18698
+ "enum": [
18699
+ "htmlComment",
18700
+ "jsxComment",
18701
+ "linkReference"
18702
+ ],
18703
+ "readOnly": true
18704
+ }
18705
+ },
18706
+ "examples": [
18707
+ {
18708
+ "file": "/path/to/docs/getting-started.md",
18709
+ "startLine": 42,
18710
+ "endLine": 45,
18711
+ "startColumn": 1,
18712
+ "endColumn": 3,
18713
+ "startOffset": 1250,
18714
+ "endOffset": 1350,
18715
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18716
+ "isInline": true,
18717
+ "isAutoDetected": false,
18718
+ "commentFormat": "htmlComment"
18719
+ },
18720
+ {
18721
+ "file": "/path/to/docs/tutorial.md",
18722
+ "startLine": 78,
18723
+ "endLine": 78,
18724
+ "startColumn": 1,
18725
+ "endColumn": 45,
18726
+ "startOffset": 2100,
18727
+ "endOffset": 2145,
18728
+ "originalText": "[example link](https://example.com)",
18729
+ "isInline": true,
18730
+ "isAutoDetected": true,
18731
+ "commentFormat": "htmlComment"
18732
+ }
18733
+ ]
18734
+ },
14813
18735
  "description": {
14814
18736
  "type": "string",
14815
18737
  "description": "Description of the step."